@alisio/sdk 0.1.0-alpha.10 → 0.1.0-alpha.12

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.
package/README.md CHANGED
@@ -67,6 +67,12 @@ returns an unregister function.
67
67
  `/connect` profiles.
68
68
  - **providers** — `providers.register(registration)` adds a selectable model provider to `/connect`;
69
69
  registrations coexist instead of competing.
70
+ - **categories** — declare `categories` on `Plugin`/`PluginMetadata` from the accepted set:
71
+ `model-provider`, `methodology-harness`, `memory`, `subagents`, `search`, `tools`, `security`,
72
+ `analytics`, `mcp`, `storage`, `ui` (see the
73
+ [plugin categories table](https://gustavogutierrez.github.io/alisio/plugins#plugin-categories)).
74
+ The TUI groups `/plugins` rows by the first category, falling back to "General"; the host
75
+ derives `model-provider` automatically when a plugin registers providers.
70
76
  - **storage** — `storage.sqlite(path)` opens a private (0600) SQLite file (FTS5 available); the
71
77
  host provides the driver, so plugins never depend on a specific runtime.
72
78
  - **sessions** — child sessions (`spawn`, `create`, `run`, `get`, `children`, `cancel`, `enqueue`,
package/dist/index.d.ts CHANGED
@@ -235,6 +235,12 @@ export interface ToolContext {
235
235
  session?: string;
236
236
  /** Who is asking, e.g. an agent path such as "general › explore" (child sessions only). */
237
237
  label?: string;
238
+ /**
239
+ * Resolves a tool path under the session's mediated path policy (workspace plus declared extra
240
+ * directories). Out-of-root paths ask for directory approval when the host allows it; hosts that
241
+ * do not inject this fall back to the workspace-only `safePath` policy.
242
+ */
243
+ resolvePath?: (path: string) => Promise<string>;
238
244
  }
239
245
  export interface ToolDefinition {
240
246
  name: string;
@@ -371,11 +377,22 @@ export interface MascotProvider {
371
377
  render(ctx: MascotContext): string | string[];
372
378
  }
373
379
  /**
374
- * Catalog grouping a plugin declares or the host derives from its registrations. Accepted
375
- * values: `"model-provider"` (registers model providers) and `"methodology-harness"` (bundles a
376
- * development-methodology workflow).
380
+ * Catalog grouping a plugin declares in its manifest; the host derives `"model-provider"` from
381
+ * provider registrations. The TUI groups `/plugins` by the first declared category. Accepted
382
+ * values:
383
+ * - `"model-provider"` — registers model providers.
384
+ * - `"methodology-harness"` — bundles a development-methodology workflow.
385
+ * - `"memory"` — persistent memory, recollection and session summaries.
386
+ * - `"subagents"` — delegation, child sessions and agent management.
387
+ * - `"search"` — web or vector search providers.
388
+ * - `"tools"` — general-purpose tool collections.
389
+ * - `"security"` — audit, sandbox or permission tooling.
390
+ * - `"analytics"` — usage/metrics instrumentation (session stats, cost tracking).
391
+ * - `"mcp"` — MCP-server management or bundling helpers.
392
+ * - `"storage"` — durable storage backends beyond the default SQLite state.
393
+ * - `"ui"` — TUI presentation providers (startup screens, mascots, panels).
377
394
  */
378
- export type PluginCategory = "model-provider" | "methodology-harness";
395
+ export type PluginCategory = "model-provider" | "methodology-harness" | "memory" | "subagents" | "search" | "tools" | "security" | "analytics" | "mcp" | "storage" | "ui";
379
396
  export interface PluginMetadata {
380
397
  id: string;
381
398
  version: string;
@@ -383,8 +400,8 @@ export interface PluginMetadata {
383
400
  name?: string;
384
401
  description?: string;
385
402
  /**
386
- * Categories declared by the plugin or derived by the host from its registrations
387
- * (`"model-provider"`, `"methodology-harness"`).
403
+ * Categories declared by the plugin or derived by the host from its registrations; any value of
404
+ * the `PluginCategory` union.
388
405
  */
389
406
  categories?: PluginCategory[];
390
407
  }
@@ -691,7 +708,7 @@ export interface Plugin {
691
708
  /** Provider-neutral catalog metadata. Hosts may derive additional categories from registrations. */
692
709
  name?: string;
693
710
  description?: string;
694
- /** Accepted values: `"model-provider"` and `"methodology-harness"` (see `PluginCategory`). */
711
+ /** Optional catalog categories; any value of the `PluginCategory` union. */
695
712
  categories?: PluginCategory[];
696
713
  /** Declarative sugar for `api.extensions.register(point, provider)` at priority 0. */
697
714
  extensions?: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alisio/sdk",
3
- "version": "0.1.0-alpha.10",
3
+ "version": "0.1.0-alpha.12",
4
4
  "description": "Typed plugin SDK for Alisio: the stable contract for tools, commands, context, compaction and session hooks, model completions and storage. Types only plus tiny helpers; zero runtime dependencies.",
5
5
  "author": "Gustavo Gutiérrez",
6
6
  "license": "MIT",