Conversation
d218b64 to
0c73331
Compare
chore: make plugin manifest required All plugins must now declare a static manifest property with their metadata and resource requirements. This simplifies the manifest loader and provides better error messages.
0c73331 to
eb19da1
Compare
Implement manifest loader with validation and error handling. All plugins must have a static manifest property. Features: - getPluginManifest() - loads and validates plugin manifests - getResourceRequirements() - extracts resource requirements - Comprehensive validation with clear error messages - Unit tests and integration tests with core plugins
780c458 to
14b339e
Compare
pkosiec
left a comment
There was a problem hiding this comment.
Overall LGTM, just small comments
There was a problem hiding this comment.
Something went wrong with displaying an icon near to the enum in the docs - it falls-back to the "other" category, but it should use enum:
appkit/docs/src/css/custom.css
Lines 112 to 116 in 8dceeb4
Lines 35 to 46 in b70ea1c
Could you please check? maybe it's just named "enumeration" or sth, and the fix will be easy. Thanks!
| ]); | ||
|
|
||
| /** Base abstract class for creating AppKit plugins */ | ||
| /** |
| timeout: { | ||
| type: "number", | ||
| default: 30000, | ||
| description: "Query execution timeout in milliseconds", | ||
| }, | ||
| queriesDir: { | ||
| type: "string", | ||
| description: "Directory containing SQL query files", | ||
| }, | ||
| cacheEnabled: { | ||
| type: "boolean", | ||
| default: true, | ||
| description: "Enable query result caching", | ||
| }, |
There was a problem hiding this comment.
Timeout is defined on the constructor level, but what about the other properties? 🤔
appkit/packages/appkit/src/plugins/analytics/types.ts
Lines 3 to 5 in 2e1be40
| * Configuration schema definition for plugin config. | ||
| * Uses JSON Schema format for validation and documentation. | ||
| */ | ||
| export interface ConfigSchema { |
There was a problem hiding this comment.
Maybe we should already use existing JSON schema types from some library? I believe at some point we'll use some lib to validate the configuration, right?
(totally fine to skip this comment)
This PR introduces the definition for manifests, resources and so on for plugins plus the manifests for both analytics and server plugin