@dot-ai/core 0.10.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.
@@ -2,7 +2,14 @@ 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
  /**
@@ -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,EAAqC,MAAM,sBAAsB,CAAC;AAC/F,OAAO,KAAK,EAAE,gBAAgB,EAAmB,MAAM,YAAY,CAAC;AAEpE;;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,CA8CnD"}
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,75 +1,186 @@
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
+ function isExtensionFile(name) {
5
+ return name.endsWith('.ts') || name.endsWith('.js');
6
+ }
4
7
  /**
5
- * 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.
6
15
  */
7
- export async function discoverExtensions(workspaceRoot, config) {
8
- const paths = new Set();
9
- // Default discovery paths
10
- const searchDirs = [
11
- join(workspaceRoot, '.ai', 'extensions'),
12
- join(homedir(), '.ai', 'extensions'),
13
- ...(config?.paths ?? []).map(p => resolve(workspaceRoot, p)),
14
- ];
15
- 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);
16
41
  try {
17
- const entries = await readdir(dir, { withFileTypes: true });
18
- for (const entry of entries) {
19
- const fullPath = join(dir, entry.name);
20
- if (entry.isFile() && (entry.name.endsWith('.ts') || entry.name.endsWith('.js'))) {
21
- 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);
22
75
  }
23
- else if (entry.isDirectory()) {
24
- // Check for index.ts or index.js
25
- for (const indexName of ['index.ts', 'index.js']) {
26
- const indexPath = join(fullPath, indexName);
27
- try {
28
- await stat(indexPath);
29
- paths.add(indexPath);
30
- break;
31
- }
32
- 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);
33
150
  }
34
- // Check for package.json with dot-ai field
35
- try {
36
- const pkgPath = join(fullPath, 'package.json');
37
- const pkgRaw = await readFile(pkgPath, 'utf-8');
38
- const pkg = JSON.parse(pkgRaw);
39
- const dotAi = pkg['dot-ai'];
40
- if (dotAi?.extensions && Array.isArray(dotAi.extensions)) {
41
- for (const ext of dotAi.extensions) {
42
- paths.add(resolve(fullPath, ext));
43
- }
44
- }
151
+ else {
152
+ // Discover individual files in directory
153
+ addPaths(await discoverExtensionsInDir(resolved));
45
154
  }
46
- catch { /* no package.json or no dot-ai field */ }
155
+ }
156
+ else if (s.isFile()) {
157
+ addPaths([resolved]);
47
158
  }
48
159
  }
160
+ catch {
161
+ // Path doesn't exist — add anyway (will fail at load time with clear error)
162
+ addPaths([resolved]);
163
+ }
49
164
  }
50
- catch { /* directory doesn't exist — skip */ }
51
165
  }
52
- // 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
53
168
  if (config?.packages) {
54
169
  for (const pkg of config.packages) {
55
170
  try {
56
171
  const { createRequire } = await import('node:module');
57
172
  const require = createRequire(join(workspaceRoot, 'package.json'));
58
173
  const pkgJsonPath = require.resolve(`${pkg}/package.json`);
59
- const pkgRaw = await readFile(pkgJsonPath, 'utf-8');
60
- const pkgJson = JSON.parse(pkgRaw);
61
- const dotAi = pkgJson['dot-ai'];
62
- if (dotAi?.extensions && Array.isArray(dotAi.extensions)) {
63
- const pkgDir = join(pkgJsonPath, '..');
64
- for (const ext of dotAi.extensions) {
65
- paths.add(resolve(pkgDir, ext));
66
- }
174
+ const pkgDir = join(pkgJsonPath, '..');
175
+ const entries = await resolveExtensionEntries(pkgDir);
176
+ if (entries) {
177
+ addPaths(entries);
67
178
  }
68
179
  }
69
180
  catch { /* package not found */ }
70
181
  }
71
182
  }
72
- return Array.from(paths);
183
+ return allPaths;
73
184
  }
74
185
  /**
75
186
  * Create an ExtensionAPI instance that collects registrations into a LoadedExtension.
@@ -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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"}
package/dist/index.d.ts CHANGED
@@ -20,8 +20,8 @@ export type { Capability, CapabilityResult } from './capabilities.js';
20
20
  export type { LogLevel, LogEntry, Logger } from './logger.js';
21
21
  export { NoopLogger, JsonFileLogger, StderrLogger } from './logger.js';
22
22
  export { loadConfig, migrateConfig } from './config.js';
23
- export { install, remove, listPackages, resolvePackages } from './package-manager.js';
24
- export type { PackageInfo } from './package-manager.js';
23
+ export { install, remove, listPackages, resolvePackages, ensurePackagesInstalled } from './package-manager.js';
24
+ export type { PackageInfo, MissingPackageAction } from './package-manager.js';
25
25
  export { computeChecksum, loadBootCache, writeBootCache, clearBootCache } from './boot-cache.js';
26
26
  export type { BootCacheData } from './boot-cache.js';
27
27
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EACV,KAAK,EACL,IAAI,EACJ,WAAW,EACX,KAAK,EACL,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,aAAa,EACb,eAAe,EACf,UAAU,EACV,WAAW,EACX,WAAW,EACX,eAAe,EACf,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,aAAa,GACd,MAAM,YAAY,CAAC;AAGpB,YAAY,EACV,OAAO,EACP,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,UAAU,EACV,WAAW,EACX,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,aAAa,EAAE,cAAc,EAC7B,eAAe,EACf,aAAa,GACd,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGlE,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAG3E,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAGjF,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAGtF,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAG7D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG1D,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC7G,YAAY,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAGxE,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAC/D,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAGtE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGvE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGxD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACtF,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGxD,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjG,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EACV,KAAK,EACL,IAAI,EACJ,WAAW,EACX,KAAK,EACL,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,aAAa,EACb,eAAe,EACf,UAAU,EACV,WAAW,EACX,WAAW,EACX,eAAe,EACf,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,aAAa,GACd,MAAM,YAAY,CAAC;AAGpB,YAAY,EACV,OAAO,EACP,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,UAAU,EACV,WAAW,EACX,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,aAAa,EAAE,cAAc,EAC7B,eAAe,EACf,aAAa,GACd,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGlE,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAG3E,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAGjF,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAGtF,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAG7D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG1D,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC7G,YAAY,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAGxE,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAC/D,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAGtE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGvE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGxD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/G,YAAY,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAG9E,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjG,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
package/dist/index.js CHANGED
@@ -22,7 +22,7 @@ export { NoopLogger, JsonFileLogger, StderrLogger } from './logger.js';
22
22
  // ── Config ──
23
23
  export { loadConfig, migrateConfig } from './config.js';
24
24
  // ── Package Manager ──
25
- export { install, remove, listPackages, resolvePackages } from './package-manager.js';
25
+ export { install, remove, listPackages, resolvePackages, ensurePackagesInstalled } from './package-manager.js';
26
26
  // ── Boot Cache ──
27
27
  export { computeChecksum, loadBootCache, writeBootCache, clearBootCache } from './boot-cache.js';
28
28
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA+CH,yBAAyB;AACzB,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAKlE,yBAAyB;AACzB,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAEjF,gBAAgB;AAChB,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAG5C,eAAe;AACf,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE7D,cAAc;AACd,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE1D,eAAe;AACf,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG7G,qBAAqB;AACrB,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAK/D,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEvE,eAAe;AACf,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAExD,wBAAwB;AACxB,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGtF,mBAAmB;AACnB,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA+CH,yBAAyB;AACzB,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAKlE,yBAAyB;AACzB,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAEjF,gBAAgB;AAChB,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAG5C,eAAe;AACf,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE7D,cAAc;AACd,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE1D,eAAe;AACf,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG7G,qBAAqB;AACrB,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAK/D,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEvE,eAAe;AACf,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAExD,wBAAwB;AACxB,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAG/G,mBAAmB;AACnB,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC"}
@@ -7,24 +7,47 @@ export interface PackageInfo {
7
7
  providers?: string[];
8
8
  };
9
9
  }
10
+ export type MissingPackageAction = 'install' | 'skip' | 'error';
10
11
  /**
11
- * Install a dot-ai package from npm or git.
12
+ * Install a dot-ai package from npm.
13
+ *
14
+ * Installs into `.ai/packages/node_modules/`.
12
15
  */
13
- export declare function install(source: string, targetDir: string): Promise<PackageInfo>;
16
+ export declare function install(source: string, workspaceRoot: string): Promise<PackageInfo>;
14
17
  /**
15
18
  * Remove an installed package.
16
19
  */
17
- export declare function remove(name: string, targetDir: string): Promise<void>;
20
+ export declare function remove(name: string, workspaceRoot: string): Promise<void>;
18
21
  /**
19
22
  * List installed dot-ai packages.
20
23
  */
21
- export declare function listPackages(targetDir: string): Promise<PackageInfo[]>;
24
+ export declare function listPackages(workspaceRoot: string): Promise<PackageInfo[]>;
22
25
  /**
23
26
  * Resolve dot-ai manifest from installed packages.
24
27
  */
25
- export declare function resolvePackages(targetDir: string): Promise<{
28
+ export declare function resolvePackages(workspaceRoot: string): Promise<{
26
29
  extensions: string[];
27
30
  skills: string[];
28
31
  providers: string[];
29
32
  }>;
33
+ /**
34
+ * Ensure all packages from settings.json are installed.
35
+ *
36
+ * Like Pi's `resolvePackageSources()` with auto-install:
37
+ * - Reads the `packages` array from settings.json config
38
+ * - For each package, checks if it's already installed in `.ai/packages/`
39
+ * - If not installed, auto-installs it via npm
40
+ * - The `onMissing` callback allows callers to control behavior (install/skip/error)
41
+ *
42
+ * This should be called BEFORE `discoverExtensions()` in the boot flow,
43
+ * so that installed packages are available for extension discovery.
44
+ */
45
+ export declare function ensurePackagesInstalled(workspaceRoot: string, packages: string[], onMissing?: (source: string) => Promise<MissingPackageAction>): Promise<{
46
+ installed: string[];
47
+ skipped: string[];
48
+ errors: Array<{
49
+ source: string;
50
+ error: string;
51
+ }>;
52
+ }>;
30
53
  //# sourceMappingURL=package-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"package-manager.d.ts","sourceRoot":"","sources":["../src/package-manager.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE;QACN,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC;CACH;AAED;;GAEG;AACH,wBAAsB,OAAO,CAC3B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,WAAW,CAAC,CActB;AAED;;GAEG;AACH,wBAAsB,MAAM,CAC1B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAMf;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,WAAW,EAAE,CAAC,CAuBxB;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,UAAU,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAqB1E"}
1
+ {"version":3,"file":"package-manager.d.ts","sourceRoot":"","sources":["../src/package-manager.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE;QACN,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC;CACH;AAED,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;AAgEhE;;;;GAIG;AACH,wBAAsB,OAAO,CAC3B,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,WAAW,CAAC,CAMtB;AAED;;GAEG;AACH,wBAAsB,MAAM,CAC1B,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC,CAMf;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,WAAW,EAAE,CAAC,CAuBxB;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC;IAAE,UAAU,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAqB1E;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,uBAAuB,CAC3C,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,EAAE,EAClB,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,oBAAoB,CAAC,GAC5D,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CA8CvG"}
@@ -1,27 +1,80 @@
1
1
  import { execSync } from 'node:child_process';
2
- import { readFile, mkdir } from 'node:fs/promises';
3
- import { join } from 'node:path';
2
+ import { readFile, mkdir, writeFile } from 'node:fs/promises';
3
+ import { existsSync } from 'node:fs';
4
+ import { join, resolve } from 'node:path';
4
5
  /**
5
- * Install a dot-ai package from npm or git.
6
+ * Parse a package source string into name and spec.
7
+ *
8
+ * Supported formats:
9
+ * - "npm:@dot-ai/ext-memory@1.0.0" → { name: "@dot-ai/ext-memory", spec: "@dot-ai/ext-memory@1.0.0" }
10
+ * - "npm:@dot-ai/ext-memory" → { name: "@dot-ai/ext-memory", spec: "@dot-ai/ext-memory" }
11
+ * - "@dot-ai/ext-memory@1.0.0" → { name: "@dot-ai/ext-memory", spec: "@dot-ai/ext-memory@1.0.0" }
12
+ * - "@dot-ai/ext-memory" → { name: "@dot-ai/ext-memory", spec: "@dot-ai/ext-memory" }
6
13
  */
7
- export async function install(source, targetDir) {
8
- const installDir = join(targetDir, '.ai', 'packages');
14
+ function parsePackageSource(source) {
15
+ // Strip npm: prefix
16
+ const raw = source.startsWith('npm:') ? source.slice(4) : source;
17
+ // Extract name (without version) for scoped packages
18
+ if (raw.startsWith('@')) {
19
+ // @scope/name@version → name = @scope/name
20
+ const slashIdx = raw.indexOf('/');
21
+ if (slashIdx === -1)
22
+ return { name: raw, spec: raw };
23
+ const afterSlash = raw.slice(slashIdx + 1);
24
+ const atIdx = afterSlash.indexOf('@');
25
+ if (atIdx === -1)
26
+ return { name: raw, spec: raw };
27
+ return { name: raw.slice(0, slashIdx + 1 + atIdx), spec: raw };
28
+ }
29
+ // name@version → name = name
30
+ const atIdx = raw.indexOf('@');
31
+ if (atIdx === -1)
32
+ return { name: raw, spec: raw };
33
+ return { name: raw.slice(0, atIdx), spec: raw };
34
+ }
35
+ /**
36
+ * Get the install directory for packages.
37
+ */
38
+ function getInstallDir(workspaceRoot) {
39
+ return join(workspaceRoot, '.ai', 'packages');
40
+ }
41
+ /**
42
+ * Check if a package is already installed in .ai/packages/.
43
+ */
44
+ function isPackageInstalled(installDir, name) {
45
+ return existsSync(join(installDir, 'node_modules', name, 'package.json'));
46
+ }
47
+ /**
48
+ * Install a single npm package into .ai/packages/.
49
+ */
50
+ async function installNpm(spec, installDir) {
9
51
  await mkdir(installDir, { recursive: true });
10
- execSync(`npm install --prefix "${installDir}" "${source}"`, {
52
+ // Ensure package.json exists (npm --prefix needs it)
53
+ const pkgJsonPath = join(installDir, 'package.json');
54
+ if (!existsSync(pkgJsonPath)) {
55
+ await writeFile(pkgJsonPath, JSON.stringify({ private: true, dependencies: {} }, null, 2) + '\n');
56
+ }
57
+ execSync(`npm install --prefix "${installDir}" "${spec}"`, {
11
58
  stdio: 'pipe',
12
59
  timeout: 60000,
13
60
  });
14
- // Read installed package info
15
- const name = source.startsWith('@') || !source.includes('/')
16
- ? source.replace(/@[^/]*$/, '')
17
- : source;
61
+ }
62
+ /**
63
+ * Install a dot-ai package from npm.
64
+ *
65
+ * Installs into `.ai/packages/node_modules/`.
66
+ */
67
+ export async function install(source, workspaceRoot) {
68
+ const installDir = getInstallDir(workspaceRoot);
69
+ const { name, spec } = parsePackageSource(source);
70
+ await installNpm(spec, installDir);
18
71
  return readPackageInfo(installDir, name);
19
72
  }
20
73
  /**
21
74
  * Remove an installed package.
22
75
  */
23
- export async function remove(name, targetDir) {
24
- const installDir = join(targetDir, '.ai', 'packages');
76
+ export async function remove(name, workspaceRoot) {
77
+ const installDir = getInstallDir(workspaceRoot);
25
78
  execSync(`npm uninstall --prefix "${installDir}" "${name}"`, {
26
79
  stdio: 'pipe',
27
80
  timeout: 60000,
@@ -30,8 +83,8 @@ export async function remove(name, targetDir) {
30
83
  /**
31
84
  * List installed dot-ai packages.
32
85
  */
33
- export async function listPackages(targetDir) {
34
- const installDir = join(targetDir, '.ai', 'packages');
86
+ export async function listPackages(workspaceRoot) {
87
+ const installDir = getInstallDir(workspaceRoot);
35
88
  const pkgJsonPath = join(installDir, 'package.json');
36
89
  try {
37
90
  const raw = await readFile(pkgJsonPath, 'utf-8');
@@ -58,22 +111,75 @@ export async function listPackages(targetDir) {
58
111
  /**
59
112
  * Resolve dot-ai manifest from installed packages.
60
113
  */
61
- export async function resolvePackages(targetDir) {
62
- const packages = await listPackages(targetDir);
114
+ export async function resolvePackages(workspaceRoot) {
115
+ const packages = await listPackages(workspaceRoot);
63
116
  const result = { extensions: [], skills: [], providers: [] };
64
- const installDir = join(targetDir, '.ai', 'packages');
117
+ const installDir = getInstallDir(workspaceRoot);
65
118
  for (const pkg of packages) {
66
119
  if (!pkg.dotAi)
67
120
  continue;
68
121
  const pkgDir = join(installDir, 'node_modules', pkg.name);
69
122
  if (pkg.dotAi.extensions) {
70
- result.extensions.push(...pkg.dotAi.extensions.map(e => join(pkgDir, e)));
123
+ result.extensions.push(...pkg.dotAi.extensions.map(e => resolve(pkgDir, e)));
71
124
  }
72
125
  if (pkg.dotAi.skills) {
73
- result.skills.push(...pkg.dotAi.skills.map(s => join(pkgDir, s)));
126
+ result.skills.push(...pkg.dotAi.skills.map(s => resolve(pkgDir, s)));
74
127
  }
75
128
  if (pkg.dotAi.providers) {
76
- result.providers.push(...pkg.dotAi.providers.map(p => join(pkgDir, p)));
129
+ result.providers.push(...pkg.dotAi.providers.map(p => resolve(pkgDir, p)));
130
+ }
131
+ }
132
+ return result;
133
+ }
134
+ /**
135
+ * Ensure all packages from settings.json are installed.
136
+ *
137
+ * Like Pi's `resolvePackageSources()` with auto-install:
138
+ * - Reads the `packages` array from settings.json config
139
+ * - For each package, checks if it's already installed in `.ai/packages/`
140
+ * - If not installed, auto-installs it via npm
141
+ * - The `onMissing` callback allows callers to control behavior (install/skip/error)
142
+ *
143
+ * This should be called BEFORE `discoverExtensions()` in the boot flow,
144
+ * so that installed packages are available for extension discovery.
145
+ */
146
+ export async function ensurePackagesInstalled(workspaceRoot, packages, onMissing) {
147
+ const installDir = getInstallDir(workspaceRoot);
148
+ const result = {
149
+ installed: [],
150
+ skipped: [],
151
+ errors: [],
152
+ };
153
+ for (const source of packages) {
154
+ const { name, spec } = parsePackageSource(source);
155
+ // Already installed? Skip.
156
+ if (isPackageInstalled(installDir, name)) {
157
+ result.skipped.push(source);
158
+ continue;
159
+ }
160
+ // Determine action for missing package
161
+ let action = 'install';
162
+ if (onMissing) {
163
+ action = await onMissing(source);
164
+ }
165
+ if (action === 'skip') {
166
+ result.skipped.push(source);
167
+ continue;
168
+ }
169
+ if (action === 'error') {
170
+ result.errors.push({ source, error: `Missing package: ${source}` });
171
+ continue;
172
+ }
173
+ // Auto-install
174
+ try {
175
+ await installNpm(spec, installDir);
176
+ result.installed.push(source);
177
+ }
178
+ catch (err) {
179
+ result.errors.push({
180
+ source,
181
+ error: err instanceof Error ? err.message : String(err),
182
+ });
77
183
  }
78
184
  }
79
185
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"package-manager.js","sourceRoot":"","sources":["../src/package-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"package-manager.js","sourceRoot":"","sources":["../src/package-manager.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}