@dot-ai/core 0.9.0 → 0.11.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.
Files changed (50) hide show
  1. package/dist/boot-cache.d.ts +1 -1
  2. package/dist/boot-cache.d.ts.map +1 -1
  3. package/dist/extension-api.d.ts +10 -9
  4. package/dist/extension-api.d.ts.map +1 -1
  5. package/dist/extension-loader.d.ts +9 -2
  6. package/dist/extension-loader.d.ts.map +1 -1
  7. package/dist/extension-loader.js +179 -55
  8. package/dist/extension-loader.js.map +1 -1
  9. package/dist/extension-runner.d.ts +9 -4
  10. package/dist/extension-runner.d.ts.map +1 -1
  11. package/dist/extension-runner.js +34 -13
  12. package/dist/extension-runner.js.map +1 -1
  13. package/dist/extension-types.d.ts +15 -115
  14. package/dist/extension-types.d.ts.map +1 -1
  15. package/dist/extension-types.js +1 -88
  16. package/dist/extension-types.js.map +1 -1
  17. package/dist/format.d.ts +21 -0
  18. package/dist/format.d.ts.map +1 -1
  19. package/dist/format.js +74 -0
  20. package/dist/format.js.map +1 -1
  21. package/dist/index.d.ts +6 -7
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +3 -4
  24. package/dist/index.js.map +1 -1
  25. package/dist/package-manager.d.ts +28 -5
  26. package/dist/package-manager.d.ts.map +1 -1
  27. package/dist/package-manager.js +126 -20
  28. package/dist/package-manager.js.map +1 -1
  29. package/dist/runtime.d.ts +31 -43
  30. package/dist/runtime.d.ts.map +1 -1
  31. package/dist/runtime.js +79 -177
  32. package/dist/runtime.js.map +1 -1
  33. package/package.json +1 -1
  34. package/src/__tests__/extension-loader.test.ts +154 -11
  35. package/src/__tests__/extension-runner.test.ts +245 -32
  36. package/src/__tests__/fixtures/extensions/ctx-aware.js +12 -3
  37. package/src/__tests__/fixtures/extensions/smart-context.js +12 -3
  38. package/src/__tests__/format.test.ts +178 -1
  39. package/src/__tests__/package-manager.test.ts +237 -0
  40. package/src/__tests__/runtime.test.ts +38 -10
  41. package/src/boot-cache.ts +1 -1
  42. package/src/extension-api.ts +10 -15
  43. package/src/extension-loader.ts +187 -57
  44. package/src/extension-runner.ts +44 -15
  45. package/src/extension-types.ts +26 -195
  46. package/src/format.ts +100 -0
  47. package/src/index.ts +5 -13
  48. package/src/package-manager.ts +146 -23
  49. package/src/runtime.ts +96 -222
  50. package/tsconfig.tsbuildinfo +1 -1
@@ -7,7 +7,7 @@ export interface BootCacheData {
7
7
  version: 1;
8
8
  /** Checksum of inputs that produced this cache */
9
9
  checksum: string;
10
- /** Label vocabulary from resources_discover */
10
+ /** Label vocabulary from registered resources */
11
11
  vocabulary: string[];
12
12
  /** Extension paths that were loaded */
13
13
  extensionPaths: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"boot-cache.d.ts","sourceRoot":"","sources":["../src/boot-cache.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,2BAA2B;IAC3B,OAAO,EAAE,CAAC,CAAC;IACX,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,+CAA+C;IAC/C,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,uCAAuC;IACvC,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,sDAAsD;IACtD,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpD,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAC;CACnB;AAKD;;;GAGG;AACH,wBAAsB,eAAe,CACnC,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,EAAE,GACvB,OAAO,CAAC,MAAM,CAAC,CA0BjB;AAED;;;GAGG;AACH,wBAAsB,aAAa,CACjC,aAAa,EAAE,MAAM,EACrB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAa/B;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,IAAI,CAAC,CAKf;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIzE"}
1
+ {"version":3,"file":"boot-cache.d.ts","sourceRoot":"","sources":["../src/boot-cache.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,2BAA2B;IAC3B,OAAO,EAAE,CAAC,CAAC;IACX,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,uCAAuC;IACvC,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,sDAAsD;IACtD,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpD,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAC;CACnB;AAKD;;;GAGG;AACH,wBAAsB,eAAe,CACnC,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,EAAE,GACvB,OAAO,CAAC,MAAM,CAAC,CA0BjB;AAED;;;GAGG;AACH,wBAAsB,aAAa,CACjC,aAAa,EAAE,MAAM,EACrB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAa/B;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,IAAI,CAAC,CAKf;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIzE"}
@@ -1,7 +1,7 @@
1
- import type { ContextInjectEvent, ContextInjectResult, ContextModifyEvent, ContextModifyResult, ToolCallEvent, ToolCallResult, ToolResultEvent, AgentEndEvent, ToolDefinition, ExtensionContext, ResourcesDiscoverResult, LabelExtractEvent, ContextEnrichEvent, ContextEnrichResult, RouteEvent, RouteResult, InputEvent, InputResult, CommandDefinition } from './extension-types.js';
2
- import type { Label } from './types.js';
1
+ import type { ToolCallEvent, ToolCallResult, ToolResultEvent, AgentEndEvent, ToolDefinition, ExtensionContext, LabelExtractEvent, ContextEnrichEvent, ContextEnrichResult, RouteEvent, RouteResult, InputEvent, InputResult, CommandDefinition } from './extension-types.js';
2
+ import type { Label, Skill, Identity } from './types.js';
3
3
  /**
4
- * v6 Extension Context — passed as second argument to every event handler.
4
+ * v7 Extension Context — passed as second argument to every event handler.
5
5
  * Extends the base ExtensionContext with labels and optional agent capabilities.
6
6
  */
7
7
  export interface ExtensionContextV6 extends ExtensionContext {
@@ -23,8 +23,6 @@ export interface ExtensionContextV6 extends ExtensionContext {
23
23
  * Pi-compatible: same on(event) + registerTool() + registerCommand() pattern.
24
24
  */
25
25
  export interface ExtensionAPI {
26
- /** Resource discovery: extensions declare resources and contribute labels */
27
- on(event: 'resources_discover', handler: (e: undefined, ctx: ExtensionContextV6) => Promise<ResourcesDiscoverResult | void>): void;
28
26
  /** Label extraction: extensions can add custom labels (chain-transform) */
29
27
  on(event: 'label_extract', handler: (e: LabelExtractEvent, ctx: ExtensionContextV6) => Promise<Label[] | void>): void;
30
28
  /** Context enrichment: extensions return sections for context injection */
@@ -39,19 +37,22 @@ export interface ExtensionAPI {
39
37
  on(event: 'tool_result', handler: (e: ToolResultEvent, ctx: ExtensionContextV6) => Promise<void>): void;
40
38
  on(event: 'session_start', handler: (e: undefined, ctx: ExtensionContextV6) => Promise<void>): void;
41
39
  on(event: 'session_end', handler: (e: undefined, ctx: ExtensionContextV6) => Promise<void>): void;
40
+ on(event: 'session_compact', handler: (e: undefined, ctx: ExtensionContextV6) => Promise<void>): void;
42
41
  on(event: 'agent_start', handler: (e: undefined, ctx: ExtensionContextV6) => Promise<void>): void;
43
42
  on(event: 'agent_end', handler: (e: AgentEndEvent, ctx: ExtensionContextV6) => Promise<void>): void;
44
43
  on(event: 'turn_start', handler: (e: undefined, ctx: ExtensionContextV6) => Promise<void>): void;
45
44
  on(event: 'turn_end', handler: (e: undefined, ctx: ExtensionContextV6) => Promise<void>): void;
46
- /** @deprecated Use context_enrich instead */
47
- on(event: 'context_inject', handler: (e: ContextInjectEvent, ctx: ExtensionContextV6) => Promise<ContextInjectResult | void>): void;
48
- /** @deprecated Use context_enrich instead */
49
- on(event: 'context_modify', handler: (e: ContextModifyEvent, ctx: ExtensionContextV6) => Promise<ContextModifyResult | void>): void;
50
45
  on(event: string, handler: (e: any, ctx: ExtensionContextV6) => Promise<any>): void;
51
46
  /** Register a tool that the agent can invoke */
52
47
  registerTool(tool: ToolDefinition): void;
53
48
  /** Register a command (slash command, etc.) */
54
49
  registerCommand(command: CommandDefinition): void;
50
+ /** Register a skill for context enrichment and discovery */
51
+ registerSkill(skill: Skill): void;
52
+ /** Register an identity document */
53
+ registerIdentity(identity: Identity): void;
54
+ /** Contribute labels to the global vocabulary (for label matching) */
55
+ contributeLabels(labels: string[]): void;
55
56
  events: {
56
57
  on(event: string, handler: (...args: unknown[]) => void): void;
57
58
  off(event: string, handler: (...args: unknown[]) => void): void;
@@ -1 +1 @@
1
- {"version":3,"file":"extension-api.d.ts","sourceRoot":"","sources":["../src/extension-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extension-api.d.ts","sourceRoot":"","sources":["../src/extension-api.ts"],"names":[],"mappings":"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"}
@@ -2,11 +2,18 @@ import type { ExtensionAPI } from './extension-api.js';
2
2
  import type { LoadedExtension } from './extension-types.js';
3
3
  import type { ExtensionsConfig } from './types.js';
4
4
  /**
5
- * Discover extension file paths from configured locations.
5
+ * Discover extension file paths from all sources.
6
+ *
7
+ * Sources (in order):
8
+ * 1. Auto-discovery: .ai/extensions/ (project-local)
9
+ * 2. Auto-discovery: ~/.ai/extensions/ (global)
10
+ * 3. Installed packages: .ai/packages/node_modules/ (installed via dot-ai install)
11
+ * 4. Configured paths: settings.json "extensions" array (explicit paths/dirs)
12
+ * 5. Configured packages: settings.json "packages" array (npm package names resolved from workspace node_modules)
6
13
  */
7
14
  export declare function discoverExtensions(workspaceRoot: string, config?: ExtensionsConfig): Promise<string[]>;
8
15
  /**
9
- * Create a v6 ExtensionAPI instance that collects registrations into a LoadedExtension.
16
+ * Create an ExtensionAPI instance that collects registrations into a LoadedExtension.
10
17
  * Extensions communicate via events only — no provider access.
11
18
  */
12
19
  export declare function createV6CollectorAPI(extensionPath: string, config: Record<string, unknown>, eventBus?: {
@@ -1 +1 @@
1
- {"version":3,"file":"extension-loader.d.ts","sourceRoot":"","sources":["../src/extension-loader.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAoD,MAAM,sBAAsB,CAAC;AAE9G,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,aAAa,EAAE,MAAM,EACrB,MAAM,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,MAAM,EAAE,CAAC,CAiEnB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,QAAQ,CAAC,EAAE;IAAE,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,KAAK,IAAI,CAAC;IAAC,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;CAAE,EACpI,aAAa,CAAC,EAAE,MAAM,GACrB;IAAE,GAAG,EAAE,YAAY,CAAC;IAAC,SAAS,EAAE,eAAe,CAAA;CAAE,CAoCnD"}
1
+ {"version":3,"file":"extension-loader.d.ts","sourceRoot":"","sources":["../src/extension-loader.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAqC,MAAM,sBAAsB,CAAC;AAC/F,OAAO,KAAK,EAAE,gBAAgB,EAAmB,MAAM,YAAY,CAAC;AAmHpE;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CACtC,aAAa,EAAE,MAAM,EACrB,MAAM,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,MAAM,EAAE,CAAC,CAkEnB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,QAAQ,CAAC,EAAE;IAAE,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,KAAK,IAAI,CAAC;IAAC,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;CAAE,EACpI,aAAa,CAAC,EAAE,MAAM,GACrB;IAAE,GAAG,EAAE,YAAY,CAAC;IAAC,SAAS,EAAE,eAAe,CAAA;CAAE,CA8CnD"}
@@ -1,79 +1,189 @@
1
1
  import { readdir, readFile, stat } from 'node:fs/promises';
2
2
  import { join, resolve } from 'node:path';
3
3
  import { homedir } from 'node:os';
4
- import { EVENT_TIERS } from './extension-types.js';
4
+ function isExtensionFile(name) {
5
+ return name.endsWith('.ts') || name.endsWith('.js');
6
+ }
5
7
  /**
6
- * Discover extension file paths from configured locations.
8
+ * Resolve extension entry points from a directory.
9
+ *
10
+ * Checks for:
11
+ * 1. package.json with "dot-ai.extensions" field -> returns declared paths
12
+ * 2. index.ts or index.js -> returns the index file
13
+ *
14
+ * Returns resolved paths or null if no entry points found.
7
15
  */
8
- export async function discoverExtensions(workspaceRoot, config) {
9
- const paths = new Set();
10
- // Default discovery paths
11
- const searchDirs = [
12
- join(workspaceRoot, '.ai', 'extensions'),
13
- join(homedir(), '.ai', 'extensions'),
14
- ...(config?.paths ?? []).map(p => resolve(workspaceRoot, p)),
15
- ];
16
- for (const dir of searchDirs) {
16
+ async function resolveExtensionEntries(dir) {
17
+ // Check for package.json with "dot-ai" field first
18
+ try {
19
+ const pkgPath = join(dir, 'package.json');
20
+ const pkgRaw = await readFile(pkgPath, 'utf-8');
21
+ const pkg = JSON.parse(pkgRaw);
22
+ const dotAi = pkg['dot-ai'];
23
+ if (dotAi?.extensions && Array.isArray(dotAi.extensions)) {
24
+ const entries = [];
25
+ for (const ext of dotAi.extensions) {
26
+ const resolvedPath = resolve(dir, ext);
27
+ try {
28
+ await stat(resolvedPath);
29
+ entries.push(resolvedPath);
30
+ }
31
+ catch { /* entry doesn't exist */ }
32
+ }
33
+ if (entries.length > 0)
34
+ return entries;
35
+ }
36
+ }
37
+ catch { /* no package.json or invalid */ }
38
+ // Check for index.ts or index.js
39
+ for (const indexName of ['index.ts', 'index.js']) {
40
+ const indexPath = join(dir, indexName);
17
41
  try {
18
- const entries = await readdir(dir, { withFileTypes: true });
19
- for (const entry of entries) {
20
- const fullPath = join(dir, entry.name);
21
- if (entry.isFile() && (entry.name.endsWith('.ts') || entry.name.endsWith('.js'))) {
22
- paths.add(fullPath);
42
+ await stat(indexPath);
43
+ return [indexPath];
44
+ }
45
+ catch { /* not found */ }
46
+ }
47
+ return null;
48
+ }
49
+ /**
50
+ * Scan a directory for extensions.
51
+ *
52
+ * Discovery rules:
53
+ * 1. Direct files: `dir/*.ts` or `*.js` -> load
54
+ * 2. Subdirectory with package.json: `dir/sub/package.json` with "dot-ai" field -> load what it declares
55
+ * 3. Subdirectory with index: `dir/sub/index.ts` or `index.js` -> load
56
+ *
57
+ * No recursion beyond one level. Complex packages must use package.json manifest.
58
+ */
59
+ async function discoverExtensionsInDir(dir) {
60
+ const discovered = [];
61
+ try {
62
+ const entries = await readdir(dir, { withFileTypes: true });
63
+ for (const entry of entries) {
64
+ const entryPath = join(dir, entry.name);
65
+ // 1. Direct files: *.ts or *.js
66
+ if (entry.isFile() && isExtensionFile(entry.name)) {
67
+ discovered.push(entryPath);
68
+ continue;
69
+ }
70
+ // 2 & 3. Subdirectories: package.json or index file
71
+ if (entry.isDirectory()) {
72
+ const resolved = await resolveExtensionEntries(entryPath);
73
+ if (resolved) {
74
+ discovered.push(...resolved);
23
75
  }
24
- else if (entry.isDirectory()) {
25
- // Check for index.ts or index.js
26
- for (const indexName of ['index.ts', 'index.js']) {
27
- const indexPath = join(fullPath, indexName);
28
- try {
29
- await stat(indexPath);
30
- paths.add(indexPath);
31
- break;
32
- }
33
- catch { /* not found */ }
76
+ }
77
+ }
78
+ }
79
+ catch { /* directory doesn't exist — skip */ }
80
+ return discovered;
81
+ }
82
+ /**
83
+ * Resolve extensions from installed packages in .ai/packages/.
84
+ *
85
+ * Reads the package.json created by `npm --prefix .ai/packages/` and resolves
86
+ * extension entry points from each installed package's "dot-ai.extensions" field.
87
+ */
88
+ async function resolveInstalledPackages(workspaceRoot) {
89
+ const packagesDir = join(workspaceRoot, '.ai', 'packages');
90
+ const pkgJsonPath = join(packagesDir, 'package.json');
91
+ try {
92
+ const raw = await readFile(pkgJsonPath, 'utf-8');
93
+ const pkg = JSON.parse(raw);
94
+ const deps = pkg.dependencies;
95
+ if (!deps)
96
+ return [];
97
+ const paths = [];
98
+ for (const name of Object.keys(deps)) {
99
+ const pkgDir = join(packagesDir, 'node_modules', name);
100
+ const entries = await resolveExtensionEntries(pkgDir);
101
+ if (entries) {
102
+ paths.push(...entries);
103
+ }
104
+ }
105
+ return paths;
106
+ }
107
+ catch {
108
+ return [];
109
+ }
110
+ }
111
+ /**
112
+ * Discover extension file paths from all sources.
113
+ *
114
+ * Sources (in order):
115
+ * 1. Auto-discovery: .ai/extensions/ (project-local)
116
+ * 2. Auto-discovery: ~/.ai/extensions/ (global)
117
+ * 3. Installed packages: .ai/packages/node_modules/ (installed via dot-ai install)
118
+ * 4. Configured paths: settings.json "extensions" array (explicit paths/dirs)
119
+ * 5. Configured packages: settings.json "packages" array (npm package names resolved from workspace node_modules)
120
+ */
121
+ export async function discoverExtensions(workspaceRoot, config) {
122
+ const seen = new Set();
123
+ const allPaths = [];
124
+ const addPaths = (paths) => {
125
+ for (const p of paths) {
126
+ const resolved = resolve(p);
127
+ if (!seen.has(resolved)) {
128
+ seen.add(resolved);
129
+ allPaths.push(resolved);
130
+ }
131
+ }
132
+ };
133
+ // 1. Project-local extensions: .ai/extensions/
134
+ addPaths(await discoverExtensionsInDir(join(workspaceRoot, '.ai', 'extensions')));
135
+ // 2. Global extensions: ~/.ai/extensions/
136
+ addPaths(await discoverExtensionsInDir(join(homedir(), '.ai', 'extensions')));
137
+ // 3. Installed packages: .ai/packages/node_modules/
138
+ addPaths(await resolveInstalledPackages(workspaceRoot));
139
+ // 4. Explicitly configured paths from settings.json "extensions" array
140
+ if (config?.paths) {
141
+ for (const p of config.paths) {
142
+ const resolved = resolve(workspaceRoot, p);
143
+ try {
144
+ const s = await stat(resolved);
145
+ if (s.isDirectory()) {
146
+ // Check for package.json or index file first
147
+ const entries = await resolveExtensionEntries(resolved);
148
+ if (entries) {
149
+ addPaths(entries);
34
150
  }
35
- // Check for package.json with dot-ai field
36
- try {
37
- const pkgPath = join(fullPath, 'package.json');
38
- const pkgRaw = await readFile(pkgPath, 'utf-8');
39
- const pkg = JSON.parse(pkgRaw);
40
- const dotAi = pkg['dot-ai'];
41
- if (dotAi?.extensions && Array.isArray(dotAi.extensions)) {
42
- for (const ext of dotAi.extensions) {
43
- paths.add(resolve(fullPath, ext));
44
- }
45
- }
151
+ else {
152
+ // Discover individual files in directory
153
+ addPaths(await discoverExtensionsInDir(resolved));
46
154
  }
47
- catch { /* no package.json or no dot-ai field */ }
155
+ }
156
+ else if (s.isFile()) {
157
+ addPaths([resolved]);
48
158
  }
49
159
  }
160
+ catch {
161
+ // Path doesn't exist — add anyway (will fail at load time with clear error)
162
+ addPaths([resolved]);
163
+ }
50
164
  }
51
- catch { /* directory doesn't exist — skip */ }
52
165
  }
53
- // Also resolve npm packages from config
166
+ // 5. Configured npm packages from settings.json "packages" array
167
+ // These are resolved from the workspace's own node_modules
54
168
  if (config?.packages) {
55
169
  for (const pkg of config.packages) {
56
170
  try {
57
171
  const { createRequire } = await import('node:module');
58
172
  const require = createRequire(join(workspaceRoot, 'package.json'));
59
173
  const pkgJsonPath = require.resolve(`${pkg}/package.json`);
60
- const pkgRaw = await readFile(pkgJsonPath, 'utf-8');
61
- const pkgJson = JSON.parse(pkgRaw);
62
- const dotAi = pkgJson['dot-ai'];
63
- if (dotAi?.extensions && Array.isArray(dotAi.extensions)) {
64
- const pkgDir = join(pkgJsonPath, '..');
65
- for (const ext of dotAi.extensions) {
66
- paths.add(resolve(pkgDir, ext));
67
- }
174
+ const pkgDir = join(pkgJsonPath, '..');
175
+ const entries = await resolveExtensionEntries(pkgDir);
176
+ if (entries) {
177
+ addPaths(entries);
68
178
  }
69
179
  }
70
180
  catch { /* package not found */ }
71
181
  }
72
182
  }
73
- return Array.from(paths);
183
+ return allPaths;
74
184
  }
75
185
  /**
76
- * Create a v6 ExtensionAPI instance that collects registrations into a LoadedExtension.
186
+ * Create an ExtensionAPI instance that collects registrations into a LoadedExtension.
77
187
  * Extensions communicate via events only — no provider access.
78
188
  */
79
189
  export function createV6CollectorAPI(extensionPath, config, eventBus, workspaceRoot) {
@@ -82,7 +192,9 @@ export function createV6CollectorAPI(extensionPath, config, eventBus, workspaceR
82
192
  handlers: new Map(),
83
193
  tools: new Map(),
84
194
  commands: new Map(),
85
- tiers: new Set(),
195
+ skills: new Map(),
196
+ identities: new Map(),
197
+ labels: new Set(),
86
198
  };
87
199
  const api = {
88
200
  on(event, handler) {
@@ -90,10 +202,6 @@ export function createV6CollectorAPI(extensionPath, config, eventBus, workspaceR
90
202
  extension.handlers.set(event, []);
91
203
  }
92
204
  extension.handlers.get(event).push(handler);
93
- const tier = EVENT_TIERS[event];
94
- if (tier) {
95
- extension.tiers.add(tier);
96
- }
97
205
  },
98
206
  registerTool(tool) {
99
207
  extension.tools.set(tool.name, tool);
@@ -101,6 +209,22 @@ export function createV6CollectorAPI(extensionPath, config, eventBus, workspaceR
101
209
  registerCommand(command) {
102
210
  extension.commands.set(command.name, command);
103
211
  },
212
+ registerSkill(skill) {
213
+ extension.skills.set(skill.name, skill);
214
+ // Skills contribute their labels and triggers to vocabulary
215
+ for (const label of skill.labels)
216
+ extension.labels.add(label);
217
+ for (const trigger of skill.triggers ?? [])
218
+ extension.labels.add(trigger);
219
+ },
220
+ registerIdentity(identity) {
221
+ const key = `${identity.type}:${identity.node ?? 'root'}`;
222
+ extension.identities.set(key, identity);
223
+ },
224
+ contributeLabels(labels) {
225
+ for (const label of labels)
226
+ extension.labels.add(label);
227
+ },
104
228
  events: eventBus ?? {
105
229
  on: () => { },
106
230
  emit: () => { },
@@ -1 +1 @@
1
- {"version":3,"file":"extension-loader.js","sourceRoot":"","sources":["../src/extension-loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extension-loader.js","sourceRoot":"","sources":["../src/extension-loader.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { Logger } from './logger.js';
2
- import type { LoadedExtension, ToolDefinition, ExtensionTier, ToolCallEvent, ToolCallResult, ExtensionDiagnostic, ExtensionContext, CollectedSections, CommandDefinition } from './extension-types.js';
2
+ import type { LoadedExtension, ToolDefinition, ToolCallEvent, ToolCallResult, ExtensionDiagnostic, ExtensionContext, CollectedSections, CommandDefinition } from './extension-types.js';
3
+ import type { Skill, Identity } from './types.js';
3
4
  /**
4
5
  * Simple event bus for inter-extension communication.
5
6
  * In-memory only, no persistence.
@@ -42,7 +43,7 @@ export declare class ExtensionRunner {
42
43
  fireFirstResult<T>(event: string, data?: unknown, ctx?: ExtensionContext): Promise<T | null>;
43
44
  /**
44
45
  * Fire an event as a transform chain — each handler receives the previous handler's output.
45
- * Used for `label_extract`, `input`, `context_modify`.
46
+ * Used for `label_extract`, `input`, `tool_result`.
46
47
  *
47
48
  * - Initial value is `data`.
48
49
  * - If a handler returns undefined/null, the previous value is kept (no-op).
@@ -53,10 +54,14 @@ export declare class ExtensionRunner {
53
54
  get tools(): ToolDefinition[];
54
55
  /** Get all registered commands across extensions (last-wins for overrides) */
55
56
  get commands(): CommandDefinition[];
57
+ /** Get all registered skills across extensions (last-wins for overrides) */
58
+ get skills(): Skill[];
59
+ /** Get all registered identities across extensions */
60
+ get identities(): Identity[];
61
+ /** Get all vocabulary labels contributed by extensions */
62
+ get vocabularyLabels(): string[];
56
63
  /** Get diagnostic info */
57
64
  get diagnostics(): ExtensionDiagnostic[];
58
- /** Which tiers are used by loaded extensions */
59
- get usedTiers(): Set<ExtensionTier>;
60
65
  private logHandlerError;
61
66
  }
62
67
  //# sourceMappingURL=extension-runner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"extension-runner.d.ts","sourceRoot":"","sources":["../src/extension-runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,aAAa,EACb,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAGhB,iBAAiB,EACjB,iBAAiB,EAElB,MAAM,sBAAsB,CAAC;AAE9B;;;GAGG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,SAAS,CAA0D;IAE3E,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,IAAI;IAO9D,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,IAAI;IAO/D,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;CAW9C;AAED;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,MAAM,CAAC,CAAS;gBAEZ,UAAU,EAAE,eAAe,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM;IAK1D;;;;OAIG;IACG,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAsBlF;;;OAGG;IACG,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAsBvH;;;;OAIG;IACG,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAuC5G;;;;OAIG;IACG,eAAe,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAoBlG;;;;;;;OAOG;IACG,kBAAkB,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,CAAC,CAAC;IA6BvF,2EAA2E;IAC3E,IAAI,KAAK,IAAI,cAAc,EAAE,CAmB5B;IAED,8EAA8E;IAC9E,IAAI,QAAQ,IAAI,iBAAiB,EAAE,CAWlC;IAED,0BAA0B;IAC1B,IAAI,WAAW,IAAI,mBAAmB,EAAE,CAUvC;IAED,gDAAgD;IAChD,IAAI,SAAS,IAAI,GAAG,CAAC,aAAa,CAAC,CAQlC;IAID,OAAO,CAAC,eAAe;CAaxB"}
1
+ {"version":3,"file":"extension-runner.d.ts","sourceRoot":"","sources":["../src/extension-runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAGhB,iBAAiB,EACjB,iBAAiB,EAElB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAElD;;;GAGG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,SAAS,CAA0D;IAE3E,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,IAAI;IAO9D,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,IAAI;IAO/D,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;CAW9C;AAED;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,MAAM,CAAC,CAAS;gBAEZ,UAAU,EAAE,eAAe,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM;IAK1D;;;;OAIG;IACG,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAsBlF;;;OAGG;IACG,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAsBvH;;;;OAIG;IACG,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAuC5G;;;;OAIG;IACG,eAAe,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAoBlG;;;;;;;OAOG;IACG,kBAAkB,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,CAAC,CAAC;IA6BvF,2EAA2E;IAC3E,IAAI,KAAK,IAAI,cAAc,EAAE,CAmB5B;IAED,8EAA8E;IAC9E,IAAI,QAAQ,IAAI,iBAAiB,EAAE,CAWlC;IAED,4EAA4E;IAC5E,IAAI,MAAM,IAAI,KAAK,EAAE,CAUpB;IAED,sDAAsD;IACtD,IAAI,UAAU,IAAI,QAAQ,EAAE,CAU3B;IAED,0DAA0D;IAC1D,IAAI,gBAAgB,IAAI,MAAM,EAAE,CAU/B;IAED,0BAA0B;IAC1B,IAAI,WAAW,IAAI,mBAAmB,EAAE,CAWvC;IAID,OAAO,CAAC,eAAe;CAaxB"}
@@ -90,7 +90,7 @@ export class ExtensionRunner {
90
90
  }
91
91
  return null;
92
92
  }
93
- // ── v6 Emission Patterns ──
93
+ // ── Emission Patterns ──
94
94
  /**
95
95
  * Fire an event and collect sections from all handlers.
96
96
  * Used for `context_enrich` — each handler returns sections and/or systemPrompt fragments.
@@ -160,7 +160,7 @@ export class ExtensionRunner {
160
160
  }
161
161
  /**
162
162
  * Fire an event as a transform chain — each handler receives the previous handler's output.
163
- * Used for `label_extract`, `input`, `context_modify`.
163
+ * Used for `label_extract`, `input`, `tool_result`.
164
164
  *
165
165
  * - Initial value is `data`.
166
166
  * - If a handler returns undefined/null, the previous value is kept (no-op).
@@ -222,6 +222,36 @@ export class ExtensionRunner {
222
222
  }
223
223
  return Array.from(cmdMap.values());
224
224
  }
225
+ /** Get all registered skills across extensions (last-wins for overrides) */
226
+ get skills() {
227
+ const skillMap = new Map();
228
+ for (const ext of this.extensions) {
229
+ for (const [name, skill] of ext.skills) {
230
+ skillMap.set(name, skill);
231
+ }
232
+ }
233
+ return Array.from(skillMap.values());
234
+ }
235
+ /** Get all registered identities across extensions */
236
+ get identities() {
237
+ const identityMap = new Map();
238
+ for (const ext of this.extensions) {
239
+ for (const [key, identity] of ext.identities) {
240
+ identityMap.set(key, identity);
241
+ }
242
+ }
243
+ return Array.from(identityMap.values());
244
+ }
245
+ /** Get all vocabulary labels contributed by extensions */
246
+ get vocabularyLabels() {
247
+ const labels = new Set();
248
+ for (const ext of this.extensions) {
249
+ for (const label of ext.labels) {
250
+ labels.add(label);
251
+ }
252
+ }
253
+ return Array.from(labels);
254
+ }
225
255
  /** Get diagnostic info */
226
256
  get diagnostics() {
227
257
  return this.extensions.map(ext => ({
@@ -229,19 +259,10 @@ export class ExtensionRunner {
229
259
  handlerCounts: Object.fromEntries(Array.from(ext.handlers.entries()).map(([k, v]) => [k, v.length])),
230
260
  toolNames: Array.from(ext.tools.keys()),
231
261
  commandNames: ext.commands ? Array.from(ext.commands.keys()) : [],
232
- tiers: Array.from(ext.tiers),
262
+ skillNames: Array.from(ext.skills.keys()),
263
+ identityNames: Array.from(ext.identities.keys()),
233
264
  }));
234
265
  }
235
- /** Which tiers are used by loaded extensions */
236
- get usedTiers() {
237
- const tiers = new Set();
238
- for (const ext of this.extensions) {
239
- for (const tier of ext.tiers) {
240
- tiers.add(tier);
241
- }
242
- }
243
- return tiers;
244
- }
245
266
  // ── Private Helpers ──
246
267
  logHandlerError(extPath, event, err) {
247
268
  this.logger?.log({
@@ -1 +1 @@
1
- {"version":3,"file":"extension-runner.js","sourceRoot":"","sources":["../src/extension-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extension-runner.js","sourceRoot":"","sources":["../src/extension-runner.ts"],"names":[],"mappings":"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"}