@grackle-ai/plugin-core 0.103.0 → 0.105.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"grpc-service.d.ts","sourceRoot":"","sources":["../src/grpc-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAA0B,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACjF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAYzD;;;;;GAKG;AACH,wBAAgB,sBAAsB,IAAI,gBAAgB,CAazD;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,IAAI,gBAAgB,CAStD;AAED;;;;;;GAMG;AACH,wBAAgB,4BAA4B,IAAI,gBAAgB,CAO/D;AAED,iFAAiF;AACjF,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAEjE"}
1
+ {"version":3,"file":"grpc-service.d.ts","sourceRoot":"","sources":["../src/grpc-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAA0B,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACjF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAazD;;;;;GAKG;AACH,wBAAgB,sBAAsB,IAAI,gBAAgB,CAczD;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,IAAI,gBAAgB,CAUtD;AAED;;;;;;GAMG;AACH,wBAAgB,4BAA4B,IAAI,gBAAgB,CAO/D;AAED,iFAAiF;AACjF,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAEjE"}
@@ -19,6 +19,7 @@ import * as findings from "./finding-handlers.js";
19
19
  import * as escalations from "./escalation-handlers.js";
20
20
  import * as codespaces from "./codespace-handlers.js";
21
21
  import * as settings from "./settings-handlers.js";
22
+ import * as pluginHandlers from "./plugin-handlers.js";
22
23
  /**
23
24
  * Create a `ServiceCollector` pre-loaded with all built-in Grackle handler groups.
24
25
  *
@@ -37,6 +38,7 @@ export function createDefaultCollector() {
37
38
  collector.addHandlers(grackle.GrackleOrchestration, escalations);
38
39
  collector.addHandlers(grackle.GrackleCore, codespaces);
39
40
  collector.addHandlers(grackle.GrackleCore, settings);
41
+ collector.addHandlers(grackle.GrackleCore, pluginHandlers);
40
42
  return collector;
41
43
  }
42
44
  /**
@@ -57,6 +59,7 @@ export function createCoreCollector() {
57
59
  collector.addHandlers(grackle.GrackleCore, tokens);
58
60
  collector.addHandlers(grackle.GrackleCore, codespaces);
59
61
  collector.addHandlers(grackle.GrackleCore, settings);
62
+ collector.addHandlers(grackle.GrackleCore, pluginHandlers);
60
63
  return collector;
61
64
  }
62
65
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"grpc-service.js","sourceRoot":"","sources":["../src/grpc-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"grpc-service.js","sourceRoot":"","sources":["../src/grpc-service.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -12,6 +12,8 @@ export type { OrphanPhaseDeps } from "./orphan-phase.js";
12
12
  export { lifecycleCleanupPhase } from "./lifecycle-cleanup.js";
13
13
  export { createEnvironmentReconciliationPhase } from "./environment-reconciliation.js";
14
14
  export type { EnvironmentReconciliationDeps } from "./environment-reconciliation.js";
15
+ export { setLoadedPluginNames, PLUGIN_REGISTRY } from "./plugin-registry.js";
16
+ export type { PluginRegistryEntry } from "./plugin-registry.js";
15
17
  export { killSessionAndCleanup } from "./grpc-shared.js";
16
18
  export { cleanupLifecycleStream, ensureLifecycleStream } from "./lifecycle.js";
17
19
  export { toDialableHost, validatePipeInputs, resolveAncestorEnvironmentId, VALID_PIPE_MODES } from "./grpc-shared.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,4BAA4B,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAGrI,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,EAAE,8BAA8B,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AAC5G,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AACnE,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAG5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,oCAAoC,EAAE,MAAM,iCAAiC,CAAC;AACvF,YAAY,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAGrF,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAGzD,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,4BAA4B,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAGrI,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,EAAE,8BAA8B,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AAC5G,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AACnE,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAG5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,oCAAoC,EAAE,MAAM,iCAAiC,CAAC;AACvF,YAAY,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAGrF,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC7E,YAAY,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAGhE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAGzD,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC"}
package/dist/index.js CHANGED
@@ -11,6 +11,8 @@ export { createDispatchPhase } from "./dispatch-phase.js";
11
11
  export { createOrphanPhase } from "./orphan-phase.js";
12
12
  export { lifecycleCleanupPhase } from "./lifecycle-cleanup.js";
13
13
  export { createEnvironmentReconciliationPhase } from "./environment-reconciliation.js";
14
+ // ─── Plugin Registry ────────────────────────────────────────
15
+ export { setLoadedPluginNames, PLUGIN_REGISTRY } from "./plugin-registry.js";
14
16
  // ─── Handler Utilities ──────────────────────────────────────
15
17
  export { killSessionAndCleanup } from "./grpc-shared.js";
16
18
  // ─── Re-exports from other modules ──────────────────────────
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,OAAO,EAAE,mBAAmB,EAAE,4BAA4B,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAErI,+DAA+D;AAC/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,EAAE,8BAA8B,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AAC5G,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AAGnE,+DAA+D;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,oCAAoC,EAAE,MAAM,iCAAiC,CAAC;AAGvF,+DAA+D;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,+DAA+D;AAC/D,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,OAAO,EAAE,mBAAmB,EAAE,4BAA4B,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAErI,+DAA+D;AAC/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,EAAE,8BAA8B,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AAC5G,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AAGnE,+DAA+D;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,oCAAoC,EAAE,MAAM,iCAAiC,CAAC;AAGvF,+DAA+D;AAC/D,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAG7E,+DAA+D;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,+DAA+D;AAC/D,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { grackle } from "@grackle-ai/common";
2
+ /** List all known plugins with their current state. */
3
+ export declare function listPlugins(): Promise<grackle.PluginList>;
4
+ /** Enable or disable a plugin. Core (required) plugins cannot be disabled. */
5
+ export declare function setPluginEnabled(req: grackle.SetPluginEnabledRequest): Promise<grackle.PluginInfo>;
6
+ //# sourceMappingURL=plugin-handlers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-handlers.d.ts","sourceRoot":"","sources":["../src/plugin-handlers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAsB7C,uDAAuD;AACvD,wBAAsB,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAG/D;AAED,8EAA8E;AAC9E,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC,uBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAgBxG"}
@@ -0,0 +1,39 @@
1
+ import { ConnectError, Code } from "@connectrpc/connect";
2
+ import { create } from "@bufbuild/protobuf";
3
+ import { grackle } from "@grackle-ai/common";
4
+ import { pluginStore } from "@grackle-ai/database";
5
+ import { emit } from "@grackle-ai/core";
6
+ import { PLUGIN_REGISTRY, isPluginLoaded } from "./plugin-registry.js";
7
+ /** Build a PluginInfo message from registry metadata and DB state. */
8
+ function buildPluginInfo(name) {
9
+ const entry = PLUGIN_REGISTRY.find((p) => p.name === name);
10
+ const row = pluginStore.getPlugin(name);
11
+ // For required plugins (core), enabled is always true; no DB row needed
12
+ const enabled = entry?.required ? true : (row?.enabled ?? entry?.defaultEnabled ?? true);
13
+ return create(grackle.PluginInfoSchema, {
14
+ name,
15
+ description: entry?.description ?? "",
16
+ enabled,
17
+ required: entry?.required ?? false,
18
+ loaded: isPluginLoaded(name),
19
+ });
20
+ }
21
+ /** List all known plugins with their current state. */
22
+ export async function listPlugins() {
23
+ const plugins = PLUGIN_REGISTRY.map((entry) => buildPluginInfo(entry.name));
24
+ return create(grackle.PluginListSchema, { plugins });
25
+ }
26
+ /** Enable or disable a plugin. Core (required) plugins cannot be disabled. */
27
+ export async function setPluginEnabled(req) {
28
+ const entry = PLUGIN_REGISTRY.find((p) => p.name === req.name);
29
+ if (!entry) {
30
+ throw new ConnectError(`Unknown plugin: ${req.name}`, Code.NotFound);
31
+ }
32
+ if (entry.required) {
33
+ throw new ConnectError(`Plugin "${req.name}" is required and cannot be disabled`, Code.FailedPrecondition);
34
+ }
35
+ pluginStore.setPluginEnabled(req.name, req.enabled);
36
+ emit("plugin.changed", { name: req.name, enabled: req.enabled });
37
+ return buildPluginInfo(req.name);
38
+ }
39
+ //# sourceMappingURL=plugin-handlers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-handlers.js","sourceRoot":"","sources":["../src/plugin-handlers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEvE,sEAAsE;AACtE,SAAS,eAAe,CAAC,IAAY;IACnC,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAC3D,MAAM,GAAG,GAAG,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAExC,wEAAwE;IACxE,MAAM,OAAO,GAAG,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,OAAO,IAAI,KAAK,EAAE,cAAc,IAAI,IAAI,CAAC,CAAC;IAEzF,OAAO,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE;QACtC,IAAI;QACJ,WAAW,EAAE,KAAK,EAAE,WAAW,IAAI,EAAE;QACrC,OAAO;QACP,QAAQ,EAAE,KAAK,EAAE,QAAQ,IAAI,KAAK;QAClC,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC;KAC7B,CAAC,CAAC;AACL,CAAC;AAED,uDAAuD;AACvD,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5E,OAAO,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;AACvD,CAAC;AAED,8EAA8E;AAC9E,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,GAAoC;IACzE,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/D,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,YAAY,CAAC,mBAAmB,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACnB,MAAM,IAAI,YAAY,CACpB,WAAW,GAAG,CAAC,IAAI,sCAAsC,EACzD,IAAI,CAAC,kBAAkB,CACxB,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACpD,IAAI,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAEjE,OAAO,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Server-side plugin registry — static metadata for all known plugins, plus
3
+ * runtime tracking of which plugins are currently loaded.
4
+ *
5
+ * @module
6
+ */
7
+ /** Metadata for a single plugin known to the server. */
8
+ export interface PluginRegistryEntry {
9
+ /** Plugin name (matches the name used in `loadPlugins` and the `plugins` DB table). */
10
+ name: string;
11
+ /** Human-readable description shown in the UI and CLI. */
12
+ description: string;
13
+ /** True for the core plugin — required and cannot be disabled. */
14
+ required: boolean;
15
+ /** Default enabled state (used as fallback when no DB row exists). */
16
+ defaultEnabled: boolean;
17
+ }
18
+ /**
19
+ * Static registry of all plugins known to the server.
20
+ *
21
+ * The order determines display order in list outputs.
22
+ */
23
+ export declare const PLUGIN_REGISTRY: ReadonlyArray<PluginRegistryEntry>;
24
+ /**
25
+ * Update the set of loaded plugin names.
26
+ * Called by the server after `loadPlugins()` completes.
27
+ *
28
+ * @param names - The set of plugin names that successfully loaded.
29
+ */
30
+ export declare function setLoadedPluginNames(names: Set<string>): void;
31
+ /**
32
+ * Check whether a plugin is currently loaded (running) in this server instance.
33
+ *
34
+ * @param name - Plugin name to check.
35
+ */
36
+ export declare function isPluginLoaded(name: string): boolean;
37
+ //# sourceMappingURL=plugin-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-registry.d.ts","sourceRoot":"","sources":["../src/plugin-registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,wDAAwD;AACxD,MAAM,WAAW,mBAAmB;IAClC,uFAAuF;IACvF,IAAI,EAAE,MAAM,CAAC;IACb,0DAA0D;IAC1D,WAAW,EAAE,MAAM,CAAC;IACpB,kEAAkE;IAClE,QAAQ,EAAE,OAAO,CAAC;IAClB,sEAAsE;IACtE,cAAc,EAAE,OAAO,CAAC;CACzB;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,aAAa,CAAC,mBAAmB,CAyB9D,CAAC;AAKF;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAE7D;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEpD"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Server-side plugin registry — static metadata for all known plugins, plus
3
+ * runtime tracking of which plugins are currently loaded.
4
+ *
5
+ * @module
6
+ */
7
+ /**
8
+ * Static registry of all plugins known to the server.
9
+ *
10
+ * The order determines display order in list outputs.
11
+ */
12
+ export const PLUGIN_REGISTRY = [
13
+ {
14
+ name: "core",
15
+ description: "Core infrastructure — environments, sessions, workspaces, tokens, settings",
16
+ required: true,
17
+ defaultEnabled: true,
18
+ },
19
+ {
20
+ name: "orchestration",
21
+ description: "Task orchestration — tasks, personas, findings, escalations",
22
+ required: false,
23
+ defaultEnabled: true,
24
+ },
25
+ {
26
+ name: "scheduling",
27
+ description: "Scheduled triggers — cron and interval-based task automation",
28
+ required: false,
29
+ defaultEnabled: true,
30
+ },
31
+ {
32
+ name: "knowledge",
33
+ description: "Knowledge graph — semantic search and relationship mapping",
34
+ required: false,
35
+ defaultEnabled: true,
36
+ },
37
+ ];
38
+ /** Set of plugin names that are currently loaded (running) in this server instance. */
39
+ let loadedPluginNames = new Set();
40
+ /**
41
+ * Update the set of loaded plugin names.
42
+ * Called by the server after `loadPlugins()` completes.
43
+ *
44
+ * @param names - The set of plugin names that successfully loaded.
45
+ */
46
+ export function setLoadedPluginNames(names) {
47
+ loadedPluginNames = names;
48
+ }
49
+ /**
50
+ * Check whether a plugin is currently loaded (running) in this server instance.
51
+ *
52
+ * @param name - Plugin name to check.
53
+ */
54
+ export function isPluginLoaded(name) {
55
+ return loadedPluginNames.has(name);
56
+ }
57
+ //# sourceMappingURL=plugin-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-registry.js","sourceRoot":"","sources":["../src/plugin-registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAcH;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAuC;IACjE;QACE,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,4EAA4E;QACzF,QAAQ,EAAE,IAAI;QACd,cAAc,EAAE,IAAI;KACrB;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,6DAA6D;QAC1E,QAAQ,EAAE,KAAK;QACf,cAAc,EAAE,IAAI;KACrB;IACD;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,8DAA8D;QAC3E,QAAQ,EAAE,KAAK;QACf,cAAc,EAAE,IAAI;KACrB;IACD;QACE,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,4DAA4D;QACzE,QAAQ,EAAE,KAAK;QACf,cAAc,EAAE,IAAI;KACrB;CACF,CAAC;AAEF,uFAAuF;AACvF,IAAI,iBAAiB,GAAgB,IAAI,GAAG,EAAE,CAAC;AAE/C;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAkB;IACrD,iBAAiB,GAAG,KAAK,CAAC;AAC5B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@grackle-ai/plugin-core",
3
- "version": "0.103.0",
3
+ "version": "0.105.0",
4
4
  "description": "Core plugin for Grackle — gRPC handlers, reconciliation phases, and event subscribers",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -33,14 +33,14 @@
33
33
  "pino": "^10.3.1",
34
34
  "ulid": "^2.3.0",
35
35
  "uuid": "^11.0.0",
36
- "@grackle-ai/adapter-sdk": "0.103.0",
37
- "@grackle-ai/database": "0.103.0",
38
- "@grackle-ai/common": "0.103.0",
39
- "@grackle-ai/core": "0.103.0",
40
- "@grackle-ai/auth": "0.103.0",
41
- "@grackle-ai/plugin-sdk": "0.103.0",
42
- "@grackle-ai/knowledge": "0.103.0",
43
- "@grackle-ai/prompt": "0.103.0"
36
+ "@grackle-ai/adapter-sdk": "0.105.0",
37
+ "@grackle-ai/auth": "0.105.0",
38
+ "@grackle-ai/core": "0.105.0",
39
+ "@grackle-ai/database": "0.105.0",
40
+ "@grackle-ai/common": "0.105.0",
41
+ "@grackle-ai/plugin-sdk": "0.105.0",
42
+ "@grackle-ai/knowledge": "0.105.0",
43
+ "@grackle-ai/prompt": "0.105.0"
44
44
  },
45
45
  "devDependencies": {
46
46
  "@rushstack/heft": "1.2.7",