@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
@@ -1,4 +1,4 @@
1
- import type { Label, RoutingResult } from './types.js';
1
+ import type { Label, RoutingResult, Skill, Identity } from './types.js';
2
2
  /**
3
3
  * Base context passed to every event handler (second argument).
4
4
  * Adapters extend this with agent-specific state (providers, session control, etc.).
@@ -27,7 +27,7 @@ export interface Section {
27
27
  content: string;
28
28
  /**
29
29
  * Priority determines ordering and trim precedence.
30
- * 100 = identity, 80 = memory, 60 = skills, 50 = tasks, 40 = tools, 30 = routing.
30
+ * 100 = identity, 95 = system, 80 = memory, 60 = skills, 50 = tasks, 40 = tools, 30 = routing.
31
31
  */
32
32
  priority: number;
33
33
  /** Which extension produced this section */
@@ -40,34 +40,16 @@ export interface Section {
40
40
  */
41
41
  trimStrategy?: 'never' | 'truncate' | 'drop';
42
42
  }
43
- /** A single resource entry discovered by an extension */
44
- export interface ResourceEntry {
45
- /** Resource type: 'skill', 'identity', 'tool', 'prompt', etc. */
46
- type: string;
47
- /** Path to the resource (absolute or relative to workspace) */
48
- path: string;
49
- /** Labels for this specific resource */
50
- labels?: string[];
51
- /** Provider-specific metadata */
52
- metadata?: Record<string, unknown>;
53
- }
54
- /** Result returned by resources_discover handlers */
55
- export interface ResourcesDiscoverResult {
56
- /** Labels contributed to the global vocabulary */
57
- labels?: string[];
58
- /** Discovered resources (paths + metadata) */
59
- resources?: ResourceEntry[];
60
- }
61
43
  /** Event for label_extract -- handlers modify and return the labels array */
62
44
  export interface LabelExtractEvent {
63
45
  /** The user's prompt text */
64
46
  prompt: string;
65
- /** Known label vocabulary (from resources_discover) */
47
+ /** Known label vocabulary (from registered resources) */
66
48
  vocabulary: string[];
67
49
  /** Current labels -- handler returns modified array */
68
50
  labels: Label[];
69
51
  }
70
- /** Event for context_enrich -- replaces context_inject in v6 */
52
+ /** Event for context_enrich */
71
53
  export interface ContextEnrichEvent {
72
54
  /** The user's prompt text */
73
55
  prompt: string;
@@ -121,7 +103,7 @@ export interface CommandResult {
121
103
  }
122
104
  /**
123
105
  * A command definition -- aligned with Pi's /command pattern.
124
- * Extensions register commands via `exports.commands`.
106
+ * Extensions register commands via `api.registerCommand()`.
125
107
  */
126
108
  export interface CommandDefinition {
127
109
  /** Command name (without leading slash) */
@@ -141,7 +123,7 @@ export interface ToolDefinition {
141
123
  description: string;
142
124
  /** JSON Schema object describing tool parameters */
143
125
  parameters: Record<string, unknown>;
144
- /** Execute the tool. ctx is optional for backward compatibility with v5 extensions. */
126
+ /** Execute the tool. ctx is optional for backward compatibility. */
145
127
  execute(input: Record<string, unknown>, ctx?: ExtensionContext): Promise<{
146
128
  content: string;
147
129
  details?: unknown;
@@ -152,47 +134,6 @@ export interface ToolDefinition {
152
134
  /** Guidelines for the LLM when using this tool */
153
135
  promptGuidelines?: string;
154
136
  }
155
- /**
156
- * @deprecated Use ContextEnrichEvent + ContextEnrichResult instead.
157
- * Tier 1 (universal) -- context injection event.
158
- */
159
- export interface ContextInjectEvent {
160
- prompt: string;
161
- labels: Label[];
162
- usage?: {
163
- inputTokens: number;
164
- contextWindow: number;
165
- };
166
- }
167
- /**
168
- * @deprecated Use ContextEnrichResult instead.
169
- */
170
- export interface ContextInjectResult {
171
- inject?: string;
172
- }
173
- /**
174
- * @deprecated Use ContextEnrichEvent with context_modify support.
175
- * Tier 2 (rich agents only) -- message-level context modification.
176
- */
177
- export interface ContextModifyEvent {
178
- messages: Message[];
179
- usage?: {
180
- inputTokens: number;
181
- contextWindow: number;
182
- };
183
- }
184
- /**
185
- * @deprecated Use ContextEnrichResult instead.
186
- */
187
- export interface ContextModifyResult {
188
- messages?: Message[];
189
- inject?: string;
190
- }
191
- /** Message type for context_modify */
192
- export interface Message {
193
- role: 'user' | 'assistant' | 'system';
194
- content: string;
195
- }
196
137
  /** Tool call event -- fired before tool execution */
197
138
  export interface ToolCallEvent {
198
139
  tool: string;
@@ -214,10 +155,8 @@ export interface ToolResultEvent {
214
155
  export interface AgentEndEvent {
215
156
  response: string;
216
157
  }
217
- /** Union of all extension events (v5 legacy + v6) */
158
+ /** Union of all normalized extension events (v7) */
218
159
  export type ExtensionEvent = {
219
- type: 'resources_discover';
220
- } | {
221
160
  type: 'label_extract';
222
161
  data: LabelExtractEvent;
223
162
  } | {
@@ -229,9 +168,6 @@ export type ExtensionEvent = {
229
168
  } | {
230
169
  type: 'input';
231
170
  data: InputEvent;
232
- } | {
233
- type: 'context_modify';
234
- data: ContextModifyEvent;
235
171
  } | {
236
172
  type: 'tool_call';
237
173
  data: ToolCallEvent;
@@ -243,70 +179,34 @@ export type ExtensionEvent = {
243
179
  } | {
244
180
  type: 'agent_end';
245
181
  data: AgentEndEvent;
246
- } | {
247
- type: 'session_start';
248
- } | {
249
- type: 'session_end';
250
182
  } | {
251
183
  type: 'turn_start';
252
184
  } | {
253
185
  type: 'turn_end';
254
186
  } | {
255
- type: 'message_start';
256
- } | {
257
- type: 'message_update';
258
- } | {
259
- type: 'message_end';
260
- } | {
261
- type: 'model_select';
262
- } | {
263
- type: 'user_bash';
264
- } | {
265
- type: 'session_before_switch';
266
- } | {
267
- type: 'session_switch';
187
+ type: 'session_start';
268
188
  } | {
269
- type: 'session_before_compact';
189
+ type: 'session_end';
270
190
  } | {
271
191
  type: 'session_compact';
272
- } | {
273
- type: 'context_inject';
274
- data: ContextInjectEvent;
275
192
  };
276
- /** Extension tier metadata */
277
- export type ExtensionTier = 'universal' | 'rich';
278
- /** Event name to tier mapping */
279
- export declare const EVENT_TIERS: Record<string, ExtensionTier>;
280
- /** All valid event names */
281
- export type ExtensionEventName = keyof typeof EVENT_TIERS;
282
- /** A loaded extension with its handlers, tools, and commands */
193
+ /** A loaded extension with its handlers, tools, commands, skills, and identities */
283
194
  export interface LoadedExtension {
284
195
  path: string;
285
196
  handlers: Map<string, Function[]>;
286
197
  tools: Map<string, ToolDefinition>;
287
- /** Registered commands (v6) */
288
198
  commands: Map<string, CommandDefinition>;
289
- tiers: Set<ExtensionTier>;
199
+ skills: Map<string, Skill>;
200
+ identities: Map<string, Identity>;
201
+ labels: Set<string>;
290
202
  }
291
- /**
292
- * Adapter capability matrix -- which events each adapter supports.
293
- * v6 events listed first; legacy events marked with comments.
294
- */
295
- export declare const ADAPTER_CAPABILITIES: Record<string, Set<string>>;
296
- /**
297
- * Tool integration strategy per adapter.
298
- * - 'native': adapter can register tools natively (Pi, OpenClaw)
299
- * - 'cli': tools are exposed as CLI commands (Claude Code)
300
- * - 'text': tools are described in the system prompt only (Cursor, Copilot)
301
- */
302
- export declare const TOOL_STRATEGY: Record<string, 'native' | 'cli' | 'text'>;
303
203
  /** Extension diagnostics */
304
204
  export interface ExtensionDiagnostic {
305
205
  path: string;
306
206
  handlerCounts: Record<string, number>;
307
207
  toolNames: string[];
308
- /** Command names registered by this extension */
309
208
  commandNames: string[];
310
- tiers: ExtensionTier[];
209
+ skillNames: string[];
210
+ identityNames: string[];
311
211
  }
312
212
  //# sourceMappingURL=extension-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"extension-types.d.ts","sourceRoot":"","sources":["../src/extension-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extension-types.d.ts","sourceRoot":"","sources":["../src/extension-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAMxE;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,6BAA6B;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,gCAAgC;IAChC,MAAM,EAAE;QACN,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,IAAI,CAAC;QAC/D,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,IAAI,CAAC;QAChE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;KAC/C,CAAC;CACH;AAQD;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB,qFAAqF;IACrF,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,sBAAsB;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,uBAAuB;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,MAAM,CAAC;CAC9C;AAID,6EAA6E;AAC7E,MAAM,WAAW,iBAAiB;IAChC,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,uDAAuD;IACvD,MAAM,EAAE,KAAK,EAAE,CAAC;CACjB;AAID,+BAA+B;AAC/B,MAAM,WAAW,kBAAkB;IACjC,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,mCAAmC;IACnC,MAAM,EAAE,KAAK,EAAE,CAAC;CACjB;AAED,0CAA0C;AAC1C,MAAM,WAAW,mBAAmB;IAClC,mDAAmD;IACnD,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,oEAAoE;IACpE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,iDAAiD;AACjD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAID,8BAA8B;AAC9B,MAAM,WAAW,UAAU;IACzB,mCAAmC;IACnC,MAAM,EAAE,KAAK,EAAE,CAAC;CACjB;AAED,yEAAyE;AACzE,MAAM,MAAM,WAAW,GAAG,aAAa,CAAC;AAIxC,gDAAgD;AAChD,MAAM,WAAW,UAAU;IACzB,qBAAqB;IACrB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,iCAAiC;AACjC,MAAM,WAAW,WAAW;IAC1B,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAID,2CAA2C;AAC3C,MAAM,WAAW,gBAAgB;IAC/B,qBAAqB;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,2CAA2C;AAC3C,MAAM,WAAW,aAAa;IAC5B,6BAA6B;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,4BAA4B;IAC5B,UAAU,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAChC,0BAA0B;IAC1B,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAC5F,8BAA8B;IAC9B,WAAW,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CAC5D;AAID,wEAAwE;AACxE,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,oDAAoD;IACpD,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,oEAAoE;IACpE,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACpI,sDAAsD;IACtD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kDAAkD;IAClD,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAID,qDAAqD;AACrD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,sDAAsD;AACtD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,sBAAsB;AACtB,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAMD,oDAAoD;AACpD,MAAM,MAAM,cAAc,GAEtB;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,IAAI,EAAE,iBAAiB,CAAA;CAAE,GAClD;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,IAAI,EAAE,kBAAkB,CAAA;CAAE,GACpD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,GAEnC;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,aAAa,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,eAAe,CAAA;CAAE,GAE9C;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GACvB;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,aAAa,CAAA;CAAE,GAE1C;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,GACtB;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GAEpB;IAAE,IAAI,EAAE,eAAe,CAAA;CAAE,GACzB;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GACvB;IAAE,IAAI,EAAE,iBAAiB,CAAA;CAAE,CAAC;AAMhC,oFAAoF;AACpF,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IAClC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACnC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IACzC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC3B,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAClC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACrB;AAMD,4BAA4B;AAC5B,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB"}
@@ -1,89 +1,2 @@
1
- /** Event name to tier mapping */
2
- export const EVENT_TIERS = {
3
- // v6 events (all universal)
4
- resources_discover: 'universal',
5
- label_extract: 'universal',
6
- context_enrich: 'universal',
7
- route: 'universal',
8
- input: 'universal',
9
- // Shared events
10
- context_modify: 'rich',
11
- tool_call: 'universal',
12
- tool_result: 'rich',
13
- agent_start: 'rich',
14
- agent_end: 'universal',
15
- session_start: 'universal',
16
- session_end: 'universal',
17
- turn_start: 'rich',
18
- turn_end: 'rich',
19
- message_start: 'rich',
20
- message_update: 'rich',
21
- message_end: 'rich',
22
- model_select: 'rich',
23
- user_bash: 'rich',
24
- session_before_switch: 'rich',
25
- session_switch: 'rich',
26
- session_before_compact: 'rich',
27
- session_compact: 'rich',
28
- // v5 legacy (deprecated)
29
- context_inject: 'universal',
30
- };
31
- /**
32
- * Adapter capability matrix -- which events each adapter supports.
33
- * v6 events listed first; legacy events marked with comments.
34
- */
35
- export const ADAPTER_CAPABILITIES = {
36
- pi: new Set([
37
- 'session_start', 'session_end',
38
- 'resources_discover',
39
- 'label_extract', 'context_enrich', 'context_modify', 'route',
40
- 'input',
41
- 'tool_call', 'tool_result',
42
- 'agent_start', 'agent_end',
43
- 'turn_start', 'turn_end',
44
- 'message_start', 'message_update', 'message_end',
45
- 'session_before_switch', 'session_switch',
46
- 'session_before_compact', 'session_compact',
47
- 'model_select', 'user_bash',
48
- // Legacy (deprecated)
49
- 'context_inject',
50
- ]),
51
- 'claude-code': new Set([
52
- 'session_start', 'session_end',
53
- 'resources_discover',
54
- 'label_extract', 'context_enrich', 'route',
55
- 'tool_call', 'tool_result',
56
- 'agent_end',
57
- // Legacy (deprecated)
58
- 'context_inject',
59
- ]),
60
- openclaw: new Set([
61
- 'session_start', 'session_end',
62
- 'resources_discover',
63
- 'label_extract', 'context_enrich', 'route',
64
- 'agent_end',
65
- // Legacy (deprecated)
66
- 'context_inject',
67
- ]),
68
- sync: new Set([
69
- 'resources_discover',
70
- 'context_enrich', 'route',
71
- // Legacy (deprecated)
72
- 'context_inject',
73
- ]),
74
- };
75
- /**
76
- * Tool integration strategy per adapter.
77
- * - 'native': adapter can register tools natively (Pi, OpenClaw)
78
- * - 'cli': tools are exposed as CLI commands (Claude Code)
79
- * - 'text': tools are described in the system prompt only (Cursor, Copilot)
80
- */
81
- export const TOOL_STRATEGY = {
82
- pi: 'native',
83
- openclaw: 'native',
84
- 'claude-code': 'cli',
85
- sync: 'text',
86
- cursor: 'text',
87
- copilot: 'text',
88
- };
1
+ export {};
89
2
  //# sourceMappingURL=extension-types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"extension-types.js","sourceRoot":"","sources":["../src/extension-types.ts"],"names":[],"mappings":"AAuSA,iCAAiC;AACjC,MAAM,CAAC,MAAM,WAAW,GAAkC;IACxD,4BAA4B;IAC5B,kBAAkB,EAAE,WAAW;IAC/B,aAAa,EAAE,WAAW;IAC1B,cAAc,EAAE,WAAW;IAC3B,KAAK,EAAE,WAAW;IAClB,KAAK,EAAE,WAAW;IAClB,gBAAgB;IAChB,cAAc,EAAE,MAAM;IACtB,SAAS,EAAE,WAAW;IACtB,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,MAAM;IACnB,SAAS,EAAE,WAAW;IACtB,aAAa,EAAE,WAAW;IAC1B,WAAW,EAAE,WAAW;IACxB,UAAU,EAAE,MAAM;IAClB,QAAQ,EAAE,MAAM;IAChB,aAAa,EAAE,MAAM;IACrB,cAAc,EAAE,MAAM;IACtB,WAAW,EAAE,MAAM;IACnB,YAAY,EAAE,MAAM;IACpB,SAAS,EAAE,MAAM;IACjB,qBAAqB,EAAE,MAAM;IAC7B,cAAc,EAAE,MAAM;IACtB,sBAAsB,EAAE,MAAM;IAC9B,eAAe,EAAE,MAAM;IACvB,yBAAyB;IACzB,cAAc,EAAE,WAAW;CAC5B,CAAC;AAmBF;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAgC;IAC/D,EAAE,EAAE,IAAI,GAAG,CAAC;QACV,eAAe,EAAE,aAAa;QAC9B,oBAAoB;QACpB,eAAe,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,OAAO;QAC5D,OAAO;QACP,WAAW,EAAE,aAAa;QAC1B,aAAa,EAAE,WAAW;QAC1B,YAAY,EAAE,UAAU;QACxB,eAAe,EAAE,gBAAgB,EAAE,aAAa;QAChD,uBAAuB,EAAE,gBAAgB;QACzC,wBAAwB,EAAE,iBAAiB;QAC3C,cAAc,EAAE,WAAW;QAC3B,sBAAsB;QACtB,gBAAgB;KACjB,CAAC;IACF,aAAa,EAAE,IAAI,GAAG,CAAC;QACrB,eAAe,EAAE,aAAa;QAC9B,oBAAoB;QACpB,eAAe,EAAE,gBAAgB,EAAE,OAAO;QAC1C,WAAW,EAAE,aAAa;QAC1B,WAAW;QACX,sBAAsB;QACtB,gBAAgB;KACjB,CAAC;IACF,QAAQ,EAAE,IAAI,GAAG,CAAC;QAChB,eAAe,EAAE,aAAa;QAC9B,oBAAoB;QACpB,eAAe,EAAE,gBAAgB,EAAE,OAAO;QAC1C,WAAW;QACX,sBAAsB;QACtB,gBAAgB;KACjB,CAAC;IACF,IAAI,EAAE,IAAI,GAAG,CAAC;QACZ,oBAAoB;QACpB,gBAAgB,EAAE,OAAO;QACzB,sBAAsB;QACtB,gBAAgB;KACjB,CAAC;CACH,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAA8C;IACtE,EAAE,EAAE,QAAQ;IACZ,QAAQ,EAAE,QAAQ;IAClB,aAAa,EAAE,KAAK;IACpB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,MAAM;IACd,OAAO,EAAE,MAAM;CAChB,CAAC"}
1
+ {"version":3,"file":"extension-types.js","sourceRoot":"","sources":["../src/extension-types.ts"],"names":[],"mappings":""}
package/dist/format.d.ts CHANGED
@@ -1,6 +1,27 @@
1
1
  import type { EnrichedContext, BudgetWarning } from './types.js';
2
+ import type { Section } from './extension-types.js';
2
3
  import type { Logger } from './logger.js';
3
4
  import type { Capability } from './capabilities.js';
5
+ export interface FormatSectionsOptions {
6
+ /** Max estimated tokens (chars / 4). When exceeded, sections are trimmed. */
7
+ tokenBudget?: number;
8
+ /** Optional logger for tracing */
9
+ logger?: Logger;
10
+ }
11
+ /**
12
+ * Format sections into a single markdown string.
13
+ * Sections are sorted by priority DESC and optionally trimmed to fit a token budget.
14
+ */
15
+ export declare function formatSections(sections: Section[], options?: FormatSectionsOptions): string;
16
+ /**
17
+ * Assemble sorted sections into a single markdown string.
18
+ */
19
+ export declare function assembleSections(sections: Section[]): string;
20
+ /**
21
+ * Trim sections to fit within a token budget.
22
+ * Respects trimStrategy: 'never' sections are never removed.
23
+ */
24
+ export declare function trimSections(sections: Section[], budget: number, logger?: Logger): Section[];
4
25
  export interface FormatOptions {
5
26
  /** Skip identity sections (useful when already injected at session start) */
6
27
  skipIdentities?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAiD,aAAa,EAAE,MAAM,YAAY,CAAC;AAChH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,WAAW,aAAa;IAC5B,6EAA6E;IAC7E,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,oGAAoG;IACpG,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,8FAA8F;IAC9F,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6FAA6F;IAC7F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gFAAgF;IAChF,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,CAAC;IACpD,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oGAAoG;IACpG,eAAe,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC;CAC1C;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,MAAM,CA6InF;AAkDD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,YAAY,EAAE,UAAU,EAAE,GAAG,MAAM,CAYlE"}
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAiD,aAAa,EAAE,MAAM,YAAY,CAAC;AAChH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAMpD,MAAM,WAAW,qBAAqB;IACpC,6EAA6E;IAC7E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,MAAM,CAY3F;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CAW5D;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,EAAE,CA4C5F;AAMD,MAAM,WAAW,aAAa;IAC5B,6EAA6E;IAC7E,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,oGAAoG;IACpG,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,8FAA8F;IAC9F,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6FAA6F;IAC7F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gFAAgF;IAChF,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,CAAC;IACpD,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oGAAoG;IACpG,eAAe,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC;CAC1C;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,MAAM,CA6InF;AAkDD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,YAAY,EAAE,UAAU,EAAE,GAAG,MAAM,CAYlE"}
package/dist/format.js CHANGED
@@ -1,3 +1,77 @@
1
+ /**
2
+ * Format sections into a single markdown string.
3
+ * Sections are sorted by priority DESC and optionally trimmed to fit a token budget.
4
+ */
5
+ export function formatSections(sections, options) {
6
+ let result = [...sections];
7
+ // Sort by priority DESC
8
+ result.sort((a, b) => b.priority - a.priority);
9
+ // Trim if budget set
10
+ if (options?.tokenBudget) {
11
+ result = trimSections(result, options.tokenBudget, options.logger);
12
+ }
13
+ return assembleSections(result);
14
+ }
15
+ /**
16
+ * Assemble sorted sections into a single markdown string.
17
+ */
18
+ export function assembleSections(sections) {
19
+ if (sections.length === 0)
20
+ return '';
21
+ return sections
22
+ .map(s => {
23
+ if (s.title) {
24
+ return `## ${s.title}\n\n${s.content}`;
25
+ }
26
+ return s.content;
27
+ })
28
+ .join('\n\n---\n\n');
29
+ }
30
+ /**
31
+ * Trim sections to fit within a token budget.
32
+ * Respects trimStrategy: 'never' sections are never removed.
33
+ */
34
+ export function trimSections(sections, budget, logger) {
35
+ const estimateTokens = (secs) => Math.round(secs.map(s => `## ${s.title}\n\n${s.content}`).join('\n\n---\n\n').length / 4);
36
+ let current = estimateTokens(sections);
37
+ if (current <= budget)
38
+ return sections;
39
+ const result = [...sections];
40
+ const actions = [];
41
+ // Strategy 1: Truncate 'truncate' sections
42
+ for (let i = result.length - 1; i >= 0; i--) {
43
+ if (current <= budget)
44
+ break;
45
+ const s = result[i];
46
+ if (s.trimStrategy === 'truncate' && s.content.length > 2000) {
47
+ result[i] = { ...s, content: s.content.slice(0, 2000) + '\n\n[...truncated]' };
48
+ actions.push(`truncated section: ${s.id}`);
49
+ current = estimateTokens(result);
50
+ }
51
+ }
52
+ // Strategy 2: Drop non-'never' sections (lowest priority first)
53
+ for (let i = result.length - 1; i >= 0; i--) {
54
+ if (current <= budget)
55
+ break;
56
+ const s = result[i];
57
+ if (s.trimStrategy !== 'never') {
58
+ actions.push(`dropped section: ${s.id} (priority ${s.priority})`);
59
+ result.splice(i, 1);
60
+ current = estimateTokens(result);
61
+ }
62
+ }
63
+ if (actions.length > 0) {
64
+ const warning = { budget, actual: current, actions };
65
+ logger?.log({
66
+ timestamp: new Date().toISOString(),
67
+ level: current > budget ? 'warn' : 'info',
68
+ phase: 'format',
69
+ event: 'budget_trimmed',
70
+ data: warning,
71
+ });
72
+ }
73
+ return result;
74
+ }
1
75
  /**
2
76
  * Format an EnrichedContext into markdown sections for injection into agent context.
3
77
  * Sections are ordered by priority: identity > memory > skills > tools > routing.
@@ -1 +1 @@
1
- {"version":3,"file":"format.js","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,12 +1,11 @@
1
1
  /**
2
- * @dot-ai/core v6 — Headless Agent framework.
2
+ * @dot-ai/core v7 — Headless Agent framework.
3
3
  *
4
4
  * dot-ai = extensions (event-driven plugins) + adapters (agent integration).
5
5
  * Everything is an extension. Core orchestrates events, adapters map to agent runtimes.
6
6
  */
7
7
  export type { Label, Node, MemoryEntry, Skill, Identity, Task, Tool, RoutingResult, EnrichedContext, TaskFilter, DotAiConfig, DebugConfig, WorkspaceConfig, BudgetWarning, PromptTemplate, ExtensionsConfig, PromptsConfig, } from './types.js';
8
- export type { Section, ResourceEntry, ResourcesDiscoverResult, LabelExtractEvent, ContextEnrichEvent, ContextEnrichResult, CollectedSections, RouteEvent, RouteResult, InputEvent, InputResult, CommandParameter, CommandResult, CommandDefinition, ToolDefinition, ExtensionContext, ExtensionEvent, ExtensionTier, ExtensionEventName, LoadedExtension, ExtensionDiagnostic, ToolCallEvent, ToolCallResult, ToolResultEvent, AgentEndEvent, Message, ContextInjectEvent, ContextInjectResult, ContextModifyEvent, ContextModifyResult, } from './extension-types.js';
9
- export { EVENT_TIERS, ADAPTER_CAPABILITIES, TOOL_STRATEGY } from './extension-types.js';
8
+ export type { Section, LabelExtractEvent, ContextEnrichEvent, ContextEnrichResult, CollectedSections, RouteEvent, RouteResult, InputEvent, InputResult, CommandParameter, CommandResult, CommandDefinition, ToolDefinition, ExtensionContext, ExtensionEvent, LoadedExtension, ExtensionDiagnostic, ToolCallEvent, ToolCallResult, ToolResultEvent, AgentEndEvent, } from './extension-types.js';
10
9
  export { ExtensionRunner, EventBus } from './extension-runner.js';
11
10
  export type { ExtensionAPI, ExtensionContextV6 } from './extension-api.js';
12
11
  export { discoverExtensions, createV6CollectorAPI } from './extension-loader.js';
@@ -14,15 +13,15 @@ export { DotAiRuntime } from './runtime.js';
14
13
  export type { RuntimeOptions, ProcessResult, RuntimeDiagnostics } from './runtime.js';
15
14
  export { extractLabels, buildVocabulary } from './labels.js';
16
15
  export { discoverNodes, parseScanDirs } from './nodes.js';
17
- export { formatContext, formatToolHints } from './format.js';
18
- export type { FormatOptions } from './format.js';
16
+ export { formatContext, formatToolHints, formatSections, assembleSections, trimSections } from './format.js';
17
+ export type { FormatOptions, FormatSectionsOptions } from './format.js';
19
18
  export { toolDefinitionToCapability } from './capabilities.js';
20
19
  export type { Capability, CapabilityResult } from './capabilities.js';
21
20
  export type { LogLevel, LogEntry, Logger } from './logger.js';
22
21
  export { NoopLogger, JsonFileLogger, StderrLogger } from './logger.js';
23
22
  export { loadConfig, migrateConfig } from './config.js';
24
- export { install, remove, listPackages, resolvePackages } from './package-manager.js';
25
- 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';
26
25
  export { computeChecksum, loadBootCache, writeBootCache, clearBootCache } from './boot-cache.js';
27
26
  export type { BootCacheData } from './boot-cache.js';
28
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,aAAa,EACb,uBAAuB,EACvB,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,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,aAAa,EAAE,cAAc,EAC7B,eAAe,EACf,aAAa,EACb,OAAO,EACP,kBAAkB,EAAE,mBAAmB,EACvC,kBAAkB,EAAE,mBAAmB,GACxC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGxF,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,MAAM,aAAa,CAAC;AAC7D,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD,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
@@ -1,10 +1,9 @@
1
1
  /**
2
- * @dot-ai/core v6 — Headless Agent framework.
2
+ * @dot-ai/core v7 — Headless Agent framework.
3
3
  *
4
4
  * dot-ai = extensions (event-driven plugins) + adapters (agent integration).
5
5
  * Everything is an extension. Core orchestrates events, adapters map to agent runtimes.
6
6
  */
7
- export { EVENT_TIERS, ADAPTER_CAPABILITIES, TOOL_STRATEGY } from './extension-types.js';
8
7
  // ── Extension Runner ──
9
8
  export { ExtensionRunner, EventBus } from './extension-runner.js';
10
9
  // ── Extension Loader ──
@@ -16,14 +15,14 @@ export { extractLabels, buildVocabulary } from './labels.js';
16
15
  // ── Nodes ──
17
16
  export { discoverNodes, parseScanDirs } from './nodes.js';
18
17
  // ── Format ──
19
- export { formatContext, formatToolHints } from './format.js';
18
+ export { formatContext, formatToolHints, formatSections, assembleSections, trimSections } from './format.js';
20
19
  // ── Capabilities ──
21
20
  export { toolDefinitionToCapability } from './capabilities.js';
22
21
  export { NoopLogger, JsonFileLogger, StderrLogger } from './logger.js';
23
22
  // ── Config ──
24
23
  export { loadConfig, migrateConfig } from './config.js';
25
24
  // ── Package Manager ──
26
- export { install, remove, listPackages, resolvePackages } from './package-manager.js';
25
+ export { install, remove, listPackages, resolvePackages, ensurePackagesInstalled } from './package-manager.js';
27
26
  // ── Boot Cache ──
28
27
  export { computeChecksum, loadBootCache, writeBootCache, clearBootCache } from './boot-cache.js';
29
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;AAqDH,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAExF,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,MAAM,aAAa,CAAC;AAG7D,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