@executioncontrolprotocol/runtime 0.3.0 → 0.4.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 (45) hide show
  1. package/README.md +14 -0
  2. package/dist/engine/runner.d.ts.map +1 -1
  3. package/dist/engine/runner.js +153 -10
  4. package/dist/engine/runner.js.map +1 -1
  5. package/dist/engine/types.d.ts +56 -1
  6. package/dist/engine/types.d.ts.map +1 -1
  7. package/dist/extensions/builtin.d.ts +6 -0
  8. package/dist/extensions/builtin.d.ts.map +1 -1
  9. package/dist/extensions/builtin.js +7 -0
  10. package/dist/extensions/builtin.js.map +1 -1
  11. package/dist/index.d.ts +1 -0
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +1 -0
  14. package/dist/index.js.map +1 -1
  15. package/dist/plugins/index.d.ts +8 -0
  16. package/dist/plugins/index.d.ts.map +1 -0
  17. package/dist/plugins/index.js +7 -0
  18. package/dist/plugins/index.js.map +1 -0
  19. package/dist/plugins/memory/index.d.ts +32 -0
  20. package/dist/plugins/memory/index.d.ts.map +1 -0
  21. package/dist/plugins/memory/index.js +34 -0
  22. package/dist/plugins/memory/index.js.map +1 -0
  23. package/dist/plugins/memory/sqlite-memory-store.d.ts +16 -0
  24. package/dist/plugins/memory/sqlite-memory-store.d.ts.map +1 -0
  25. package/dist/plugins/memory/sqlite-memory-store.js +215 -0
  26. package/dist/plugins/memory/sqlite-memory-store.js.map +1 -0
  27. package/dist/plugins/memory/types.d.ts +109 -0
  28. package/dist/plugins/memory/types.d.ts.map +1 -0
  29. package/dist/plugins/memory/types.js +11 -0
  30. package/dist/plugins/memory/types.js.map +1 -0
  31. package/dist/providers/index.d.ts +1 -0
  32. package/dist/providers/index.d.ts.map +1 -1
  33. package/dist/providers/index.js +1 -0
  34. package/dist/providers/index.js.map +1 -1
  35. package/dist/providers/openai/openai-provider.d.ts.map +1 -1
  36. package/dist/providers/openai/openai-provider.js +16 -5
  37. package/dist/providers/openai/openai-provider.js.map +1 -1
  38. package/dist/providers/provider-init-error.d.ts +11 -0
  39. package/dist/providers/provider-init-error.d.ts.map +1 -0
  40. package/dist/providers/provider-init-error.js +13 -0
  41. package/dist/providers/provider-init-error.js.map +1 -0
  42. package/dist/tracing/collector.d.ts.map +1 -1
  43. package/dist/tracing/collector.js +4 -1
  44. package/dist/tracing/collector.js.map +1 -1
  45. package/package.json +26 -3
package/README.md ADDED
@@ -0,0 +1,14 @@
1
+ # `@executioncontrolprotocol/runtime`
2
+
3
+ The **ECP runtime engine**: loads, validates, and executes ECP Context manifests.
4
+
5
+ ## Install
6
+
7
+ ```bash
8
+ npm install @executioncontrolprotocol/runtime
9
+ ```
10
+
11
+ ## Links
12
+
13
+ - **Repo**: `https://github.com/executioncontrolprotocol/executioncontrolprotocol`
14
+ - **Issues**: `https://github.com/executioncontrolprotocol/executioncontrolprotocol/issues`
@@ -1 +1 @@
1
- {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/engine/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,UAAU,EAOX,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,aAAa,EAAyC,MAAM,gCAAgC,CAAC;AAC3G,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAA2B,MAAM,iCAAiC,CAAC;AAC/F,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EAOhB,MAAM,YAAY,CAAC;AAMpB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAG9D;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,gEAAgE;IAChE,OAAO,CAAC,EAAE,UAAU,CAAC;IAErB,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IAEnD,qCAAqC;IACrC,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;;;;;;GAOG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAoB;IACvD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAoC;IACvE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuB;IAChD,OAAO,CAAC,cAAc,CAAC,CAAiB;gBAGtC,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,MAAM,GAAE,YAAiB;IAU3B;;;OAGG;IACH,iBAAiB,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI;IAIlD;;;;;OAKG;IACG,GAAG,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,eAAe,CAAC;YAsD1C,iBAAiB;YAyBjB,uBAAuB;YAiFvB,cAAc;YAoDd,YAAY;YAyCZ,WAAW;YAiMX,gBAAgB;YAyGhB,YAAY;YAoCZ,YAAY;IAe1B,OAAO,CAAC,QAAQ;IAKhB,oFAAoF;IACpF,OAAO,CAAC,gBAAgB;IAKxB,yFAAyF;IACzF,OAAO,CAAC,gBAAgB;YAKV,kBAAkB;YAclB,aAAa;IAkD3B,OAAO,CAAC,aAAa;YAqCP,iBAAiB;IAiC/B,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,GAAG;IAcX,OAAO,CAAC,WAAW;IA+CnB,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,mBAAmB;IA6B3B,OAAO,CAAC,oBAAoB;IAyC5B,OAAO,CAAC,yBAAyB;IAWjC,OAAO,CAAC,0BAA0B;IA4DlC,OAAO,CAAC,6BAA6B;CAqBtC"}
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/engine/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,UAAU,EAOX,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,aAAa,EAAyC,MAAM,gCAAgC,CAAC;AAC3G,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAA2B,MAAM,iCAAiC,CAAC;AAC/F,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EAOhB,MAAM,YAAY,CAAC;AAMpB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAI9D;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,gEAAgE;IAChE,OAAO,CAAC,EAAE,UAAU,CAAC;IAErB,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IAEnD,qCAAqC;IACrC,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;;;;;;GAOG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAoB;IACvD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAoC;IACvE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuB;IAChD,OAAO,CAAC,cAAc,CAAC,CAAiB;gBAGtC,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,MAAM,GAAE,YAAiB;IAU3B;;;OAGG;IACH,iBAAiB,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI;IAIlD;;;;;OAKG;IACG,GAAG,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,eAAe,CAAC;YAsD1C,iBAAiB;YAyBjB,uBAAuB;YAiFvB,cAAc;YAoDd,YAAY;YAyCZ,WAAW;YAiMX,gBAAgB;YA6LhB,YAAY;YAoCZ,YAAY;IAe1B,OAAO,CAAC,QAAQ;IAKhB,oFAAoF;IACpF,OAAO,CAAC,gBAAgB;IAKxB,yFAAyF;IACzF,OAAO,CAAC,gBAAgB;YAKV,kBAAkB;YAclB,aAAa;YAkDb,aAAa;YA+Db,iBAAiB;IAgF/B,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,GAAG;IAcX,OAAO,CAAC,WAAW;IA+CnB,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,mBAAmB;IA6B3B,OAAO,CAAC,oBAAoB;IAyC5B,OAAO,CAAC,yBAAyB;IAWjC,OAAO,CAAC,0BAA0B;IA4DlC,OAAO,CAAC,6BAA6B;CAqBtC"}
@@ -266,8 +266,8 @@ export class ECPEngine {
266
266
  type: "executor",
267
267
  executorName: executor.name,
268
268
  });
269
- const messages = this.buildMessages(executor, executorState, state.inputs, taskOverride);
270
- const tools = await this.getAvailableTools(executor, modelProvider, enforcer, state);
269
+ const messages = await this.buildMessages(executor, executorState, state.inputs, taskOverride);
270
+ const tools = await this.getAvailableTools(executor, modelProvider, enforcer, executorState, state);
271
271
  const model = this.config.modelOverride ?? executor.model?.name ?? this.config.defaultModel ?? "gpt-4o";
272
272
  const outputSchema = this.getOutputSchema(executor, state.context);
273
273
  const currentMessages = [...messages];
@@ -396,10 +396,89 @@ export class ECPEngine {
396
396
  }
397
397
  this.log(state, "info", `Executor "${executor.name}" ${executorState.status} (${executorState.budgetUsage.runtimeSeconds.toFixed(1)}s)`);
398
398
  }
399
- async executeToolCalls(toolCalls, _executor, enforcer, executorState, state, parentSpanId) {
399
+ async executeToolCalls(toolCalls, executor, enforcer, executorState, state, parentSpanId) {
400
400
  const results = [];
401
+ const store = this.config.memoryStore;
402
+ const memoryScope = executor.memory?.scope;
403
+ const allowRead = executor.policies?.memoryAccess?.allowRead === true;
404
+ const allowWrite = executor.policies?.memoryAccess?.allowWrite === true;
401
405
  for (const tc of toolCalls) {
402
406
  executorState.budgetUsage.toolCalls++;
407
+ if (store &&
408
+ memoryScope &&
409
+ (tc.name === "ecp:memory/store" || tc.name === "ecp:memory/delete" || tc.name === "ecp:memory/list")) {
410
+ const allowed = (tc.name === "ecp:memory/list" && allowRead) ||
411
+ ((tc.name === "ecp:memory/store" || tc.name === "ecp:memory/delete") && allowWrite);
412
+ if (!allowed) {
413
+ this.log(state, "warn", `Memory tool denied by policy: ${tc.name}`);
414
+ results.push({
415
+ role: "tool",
416
+ toolCallId: tc.id,
417
+ content: JSON.stringify({ error: "Memory access not allowed by policy." }),
418
+ });
419
+ continue;
420
+ }
421
+ const toolStepNum = this.nextStep(state);
422
+ await this.emitProgress(state, {
423
+ type: "step_start",
424
+ step: toolStepNum,
425
+ kind: "tool",
426
+ executorName: executorState.executor.name,
427
+ description: `Tool ${tc.name}`,
428
+ });
429
+ const toolStart = Date.now();
430
+ try {
431
+ const args = (typeof tc.arguments === "string" ? JSON.parse(tc.arguments || "{}") : tc.arguments);
432
+ let content;
433
+ if (tc.name === "ecp:memory/store") {
434
+ const summary = String(args.summary ?? "");
435
+ const payload = args.payload;
436
+ const record = await store.put(memoryScope, executor.name, summary, payload);
437
+ content = JSON.stringify({ ok: true, id: record.id, summary: record.summary });
438
+ }
439
+ else if (tc.name === "ecp:memory/delete") {
440
+ const id = args.id;
441
+ const ids = args.ids;
442
+ const olderThan = args.olderThan;
443
+ const { deleted } = await store.delete(memoryScope, { id, ids, olderThan });
444
+ content = JSON.stringify({ ok: true, deleted });
445
+ }
446
+ else {
447
+ const limit = typeof args.limit === "number" ? args.limit : 20;
448
+ const olderThan = args.olderThan;
449
+ const list = await store.list(memoryScope, { limit, olderThan, executorName: executor.name });
450
+ content = JSON.stringify({ items: list });
451
+ }
452
+ await this.emitProgress(state, {
453
+ type: "step_complete",
454
+ step: this.nextCompleteStep(state),
455
+ kind: "tool",
456
+ executorName: executorState.executor.name,
457
+ description: `Tool ${tc.name}`,
458
+ durationMs: Date.now() - toolStart,
459
+ });
460
+ results.push({ role: "tool", toolCallId: tc.id, content });
461
+ }
462
+ catch (err) {
463
+ this.log(state, "error", `Memory tool ${tc.name} failed: ${err instanceof Error ? err.message : String(err)}`);
464
+ await this.emitProgress(state, {
465
+ type: "step_complete",
466
+ step: this.nextCompleteStep(state),
467
+ kind: "tool",
468
+ executorName: executorState.executor.name,
469
+ description: `Tool ${tc.name}`,
470
+ durationMs: Date.now() - toolStart,
471
+ });
472
+ results.push({
473
+ role: "tool",
474
+ toolCallId: tc.id,
475
+ content: JSON.stringify({
476
+ error: err instanceof Error ? err.message : String(err),
477
+ }),
478
+ });
479
+ }
480
+ continue;
481
+ }
403
482
  const [serverName, toolName] = this.parseToolName(tc.name);
404
483
  const accessCheck = enforcer.checkToolAccess(tc.name);
405
484
  if (!accessCheck.allowed) {
@@ -588,7 +667,7 @@ export class ECPEngine {
588
667
  });
589
668
  }
590
669
  }
591
- buildMessages(executor, executorState, inputs, taskOverride) {
670
+ async buildMessages(executor, executorState, inputs, taskOverride) {
592
671
  const messages = [];
593
672
  if (executor.instructions) {
594
673
  messages.push({
@@ -600,25 +679,89 @@ export class ECPEngine {
600
679
  .filter((m) => m.itemCount > 0)
601
680
  .map((m) => `## ${m.mountName} (${m.stage}, ${m.itemCount} items)\n${JSON.stringify(m.data, null, 2)}`)
602
681
  .join("\n\n");
682
+ let memoryBlock = "";
683
+ const store = this.config.memoryStore;
684
+ if (store &&
685
+ executor.memory &&
686
+ (executor.policies?.memoryAccess?.allowRead === true)) {
687
+ const opts = {
688
+ maxItems: executor.memory.maxItems ?? 20,
689
+ maxTokens: executor.memory.maxTokens,
690
+ executorName: executor.name,
691
+ summariesOnly: true,
692
+ };
693
+ const memories = await store.get(executor.memory.scope, opts);
694
+ if (memories.length > 0) {
695
+ memoryBlock =
696
+ "\n\n## Long-term memory (relevant past context)\n" +
697
+ memories
698
+ .map((m) => `- [${m.createdAt}] ${m.summary}${m.payload ? ` (${JSON.stringify(m.payload)})` : ""}`)
699
+ .join("\n");
700
+ }
701
+ }
603
702
  const inputsBlock = Object.keys(inputs).length > 0
604
703
  ? `Context inputs:\n${JSON.stringify(inputs, null, 2)}\n\n`
605
704
  : "";
606
705
  const userContent = taskOverride
607
- ? `Task: ${taskOverride}\n\n${inputsBlock}Available data:\n${mountContext}`
608
- : `${inputsBlock}Execute your role using the following data:\n\n${mountContext}`.trim();
706
+ ? `Task: ${taskOverride}\n\n${inputsBlock}Available data:\n${mountContext}${memoryBlock}`
707
+ : `${inputsBlock}Execute your role using the following data:\n\n${mountContext}${memoryBlock}`.trim();
609
708
  messages.push({
610
709
  role: "user",
611
710
  content: userContent,
612
711
  });
613
712
  return messages;
614
713
  }
615
- async getAvailableTools(executor, modelProvider, _enforcer, _state) {
714
+ async getAvailableTools(executor, modelProvider, _enforcer, _executorState, _state) {
715
+ const tools = [];
716
+ const store = this.config.memoryStore;
717
+ if (store && executor.memory) {
718
+ const allowRead = executor.policies?.memoryAccess?.allowRead === true;
719
+ const allowWrite = executor.policies?.memoryAccess?.allowWrite === true;
720
+ if (allowWrite) {
721
+ tools.push({
722
+ name: "ecp:memory/store",
723
+ description: "Store a fact or summary in long-term memory for this executor. Use a short summary and optional JSON payload. Helps refine output across runs.",
724
+ parameters: {
725
+ type: "object",
726
+ properties: {
727
+ summary: { type: "string", description: "Short summary (used for retrieval; keep under 1-2 sentences)." },
728
+ payload: { type: "object", description: "Optional structured data to store." },
729
+ },
730
+ required: ["summary"],
731
+ },
732
+ });
733
+ tools.push({
734
+ name: "ecp:memory/delete",
735
+ description: "Delete one or more long-term memory entries by id, or by age (olderThan ISO-8601). Use for cleanup.",
736
+ parameters: {
737
+ type: "object",
738
+ properties: {
739
+ id: { type: "string", description: "Single memory id to delete." },
740
+ ids: { type: "array", items: { type: "string" }, description: "Multiple memory ids." },
741
+ olderThan: { type: "string", description: "Delete memories older than this ISO-8601 timestamp." },
742
+ },
743
+ },
744
+ });
745
+ }
746
+ if (allowRead) {
747
+ tools.push({
748
+ name: "ecp:memory/list",
749
+ description: "List recent long-term memory entries (ids and summaries) for this executor. Use to inspect or decide what to delete.",
750
+ parameters: {
751
+ type: "object",
752
+ properties: {
753
+ limit: { type: "number", description: "Max items to return (default 20)." },
754
+ olderThan: { type: "string", description: "Only list entries older than this ISO-8601 timestamp." },
755
+ },
756
+ },
757
+ });
758
+ }
759
+ }
616
760
  if (!modelProvider.supportsToolCalling())
617
- return [];
761
+ return tools;
618
762
  const allowed = executor.policies?.toolAccess?.allow ?? [];
619
763
  if (allowed.length === 0)
620
- return [];
621
- const tools = [];
764
+ return tools;
622
765
  for (const toolRef of allowed) {
623
766
  const [serverName, toolName] = this.parseToolName(toolRef);
624
767
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/engine/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/engine/runner.ts"],"names":[],"mappings":"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"}
@@ -6,8 +6,51 @@
6
6
  *
7
7
  * @category Engine
8
8
  */
9
- import type { ECPContext, Executor, ExtensionSecurityPolicy, MountStage } from "@executioncontrolprotocol/spec";
9
+ import type { ECPContext, Executor, ExtensionSecurityPolicy, MemoryScope, MountStage } from "@executioncontrolprotocol/spec";
10
10
  import type { ExtensionRegistry } from "../extensions/registry.js";
11
+ /**
12
+ * Minimal memory record shape used by the engine when injecting memory.
13
+ *
14
+ * @category Engine
15
+ */
16
+ export interface MemoryRecordLike {
17
+ id: string;
18
+ scope: MemoryScope;
19
+ executorName: string;
20
+ summary: string;
21
+ payload?: Record<string, unknown>;
22
+ createdAt: string;
23
+ updatedAt: string;
24
+ }
25
+ /**
26
+ * Minimal memory store contract used by the engine. Implementations
27
+ * are provided by the memory plugin (e.g. SQLite store).
28
+ *
29
+ * @category Engine
30
+ */
31
+ export interface MemoryStoreLike {
32
+ get(scope: MemoryScope, options?: {
33
+ maxItems?: number;
34
+ maxTokens?: number;
35
+ executorName?: string;
36
+ summariesOnly?: boolean;
37
+ }): Promise<MemoryRecordLike[]>;
38
+ put(scope: MemoryScope, executorName: string, summary: string, payload?: Record<string, unknown>, id?: string): Promise<MemoryRecordLike>;
39
+ list(scope: MemoryScope, options?: {
40
+ limit?: number;
41
+ executorName?: string;
42
+ olderThan?: string;
43
+ }): Promise<Pick<MemoryRecordLike, "id" | "summary" | "createdAt">[]>;
44
+ delete(scope: MemoryScope, options?: {
45
+ id?: string;
46
+ ids?: string[];
47
+ olderThan?: string;
48
+ executorName?: string;
49
+ }): Promise<{
50
+ deleted: number;
51
+ }>;
52
+ close(): Promise<void>;
53
+ }
11
54
  /**
12
55
  * Resolved input values for a Context run, keyed by input name.
13
56
  *
@@ -240,6 +283,12 @@ export interface EngineConfig {
240
283
  debug?: boolean;
241
284
  /** Enable execution tracing. When set, the engine emits trace spans. */
242
285
  trace?: boolean;
286
+ /**
287
+ * Optional long-term memory store. When set, executors that declare
288
+ * memory (and have memoryAccess policy) can read/write via injected
289
+ * context and tools.
290
+ */
291
+ memoryStore?: MemoryStoreLike;
243
292
  /**
244
293
  * Optional callback for real-time execution progress (phase, steps, reasoning).
245
294
  * May be a single callback or an array; all are invoked for each event.
@@ -320,5 +369,11 @@ export interface ECPSystemConfig {
320
369
  */
321
370
  config?: Record<string, Record<string, unknown>>;
322
371
  };
372
+ /**
373
+ * Tool server wiring for MCP connections.
374
+ * Maps logical server names (used in Context `mount.from.server` and tool refs)
375
+ * to engine tool-server connection details.
376
+ */
377
+ toolServers?: ToolServerRegistry;
323
378
  }
324
379
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/engine/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/engine/types.ts"],"names":[],"mappings":"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"}
@@ -41,4 +41,10 @@ export interface BuiltinProgressLoggerConfig {
41
41
  * Includes a file logger that writes to the user's ECP directory (~/.ecp/logs).
42
42
  */
43
43
  export declare function registerBuiltinProgressLoggers(registry: ExtensionRegistry, config?: BuiltinProgressLoggerConfig): void;
44
+ /**
45
+ * Register built-in plugin extensions (e.g. long-term memory store).
46
+ */
47
+ export declare function registerBuiltinPlugins(registry: ExtensionRegistry, config?: {
48
+ version?: ExtensionVersion;
49
+ }): void;
44
50
  //# sourceMappingURL=builtin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"builtin.d.ts","sourceRoot":"","sources":["../../src/extensions/builtin.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAEvE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAEnF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAEnF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAClF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEvD;;;;GAIG;AACH,MAAM,WAAW,0BAA0B;IACzC,8DAA8D;IAC9D,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAE3B,6CAA6C;IAC7C,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAE9B,6CAA6C;IAC7C,MAAM,CAAC,EAAE,oBAAoB,CAAC;CAC/B;AAOD;;GAEG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,iBAAiB,EAC3B,MAAM,GAAE,0BAA+B,GACtC,IAAI,CA8BN;AAED;;;;GAIG;AACH,MAAM,WAAW,2BAA2B;IAC1C,8DAA8D;IAC9D,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAE3B,uEAAuE;IACvE,IAAI,CAAC,EAAE,wBAAwB,CAAC;CACjC;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,iBAAiB,EAC3B,MAAM,GAAE,2BAAgC,GACvC,IAAI,CAgBN"}
1
+ {"version":3,"file":"builtin.d.ts","sourceRoot":"","sources":["../../src/extensions/builtin.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAEvE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAEnF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAEnF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAElF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEvD;;;;GAIG;AACH,MAAM,WAAW,0BAA0B;IACzC,8DAA8D;IAC9D,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAE3B,6CAA6C;IAC7C,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAE9B,6CAA6C;IAC7C,MAAM,CAAC,EAAE,oBAAoB,CAAC;CAC/B;AAOD;;GAEG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,iBAAiB,EAC3B,MAAM,GAAE,0BAA+B,GACtC,IAAI,CA8BN;AAED;;;;GAIG;AACH,MAAM,WAAW,2BAA2B;IAC1C,8DAA8D;IAC9D,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAE3B,uEAAuE;IACvE,IAAI,CAAC,EAAE,wBAAwB,CAAC;CACjC;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,iBAAiB,EAC3B,MAAM,GAAE,2BAAgC,GACvC,IAAI,CAgBN;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,iBAAiB,EAC3B,MAAM,GAAE;IAAE,OAAO,CAAC,EAAE,gBAAgB,CAAA;CAAO,GAC1C,IAAI,CAEN"}
@@ -6,6 +6,7 @@
6
6
  import { OpenAIProvider } from "../providers/openai/openai-provider.js";
7
7
  import { OllamaProvider } from "../providers/ollama/ollama-provider.js";
8
8
  import { createFileProgressLogger } from "./progress-loggers/file-logger.js";
9
+ import { registerBuiltinMemoryPlugin } from "../plugins/memory/index.js";
9
10
  function asRecord(value) {
10
11
  if (!value || typeof value !== "object")
11
12
  return {};
@@ -63,4 +64,10 @@ export function registerBuiltinProgressLoggers(registry, config = {}) {
63
64
  },
64
65
  });
65
66
  }
67
+ /**
68
+ * Register built-in plugin extensions (e.g. long-term memory store).
69
+ */
70
+ export function registerBuiltinPlugins(registry, config = {}) {
71
+ registerBuiltinMemoryPlugin(registry, config);
72
+ }
66
73
  //# sourceMappingURL=builtin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"builtin.js","sourceRoot":"","sources":["../../src/extensions/builtin.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAExE,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAExE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAoB7E,SAAS,QAAQ,CAAC,KAAc;IAC9B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACnD,OAAO,KAAgC,CAAC;AAC1C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,6BAA6B,CAC3C,QAA2B,EAC3B,SAAqC,EAAE;IAEvC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC;IAE1C,QAAQ,CAAC,qBAAqB,CAAC;QAC7B,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,gBAAgB;QACtB,UAAU,EAAE,SAAS;QACrB,OAAO;QACP,WAAW,EAAE,2CAA2C;QACxD,MAAM,CAAC,SAAS;YACd,OAAO,IAAI,cAAc,CAAC;gBACxB,GAAG,MAAM,CAAC,MAAM;gBAChB,GAAG,QAAQ,CAAC,SAAS,CAAC;aACvB,CAAC,CAAC;QACL,CAAC;KACF,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,CAAC;QAC7B,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,gBAAgB;QACtB,UAAU,EAAE,SAAS;QACrB,OAAO;QACP,WAAW,EAAE,2CAA2C;QACxD,MAAM,CAAC,SAAS;YACd,OAAO,IAAI,cAAc,CAAC;gBACxB,GAAG,MAAM,CAAC,MAAM;gBAChB,GAAG,QAAQ,CAAC,SAAS,CAAC;aACvB,CAAC,CAAC;QACL,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAeD;;;GAGG;AACH,MAAM,UAAU,8BAA8B,CAC5C,QAA2B,EAC3B,SAAsC,EAAE;IAExC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC;IAE1C,QAAQ,CAAC,sBAAsB,CAAC;QAC9B,EAAE,EAAE,MAAM;QACV,IAAI,EAAE,iBAAiB;QACvB,UAAU,EAAE,SAAS;QACrB,OAAO;QACP,WAAW,EAAE,mFAAmF;QAChG,MAAM,CAAC,SAAS;YACd,OAAO,wBAAwB,CAAC;gBAC9B,GAAG,MAAM,CAAC,IAAI;gBACd,GAAI,SAAsC;aAC3C,CAAC,CAAC;QACL,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"builtin.js","sourceRoot":"","sources":["../../src/extensions/builtin.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAExE,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAExE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAE7E,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAmBzE,SAAS,QAAQ,CAAC,KAAc;IAC9B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACnD,OAAO,KAAgC,CAAC;AAC1C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,6BAA6B,CAC3C,QAA2B,EAC3B,SAAqC,EAAE;IAEvC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC;IAE1C,QAAQ,CAAC,qBAAqB,CAAC;QAC7B,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,gBAAgB;QACtB,UAAU,EAAE,SAAS;QACrB,OAAO;QACP,WAAW,EAAE,2CAA2C;QACxD,MAAM,CAAC,SAAS;YACd,OAAO,IAAI,cAAc,CAAC;gBACxB,GAAG,MAAM,CAAC,MAAM;gBAChB,GAAG,QAAQ,CAAC,SAAS,CAAC;aACvB,CAAC,CAAC;QACL,CAAC;KACF,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,CAAC;QAC7B,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,gBAAgB;QACtB,UAAU,EAAE,SAAS;QACrB,OAAO;QACP,WAAW,EAAE,2CAA2C;QACxD,MAAM,CAAC,SAAS;YACd,OAAO,IAAI,cAAc,CAAC;gBACxB,GAAG,MAAM,CAAC,MAAM;gBAChB,GAAG,QAAQ,CAAC,SAAS,CAAC;aACvB,CAAC,CAAC;QACL,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAeD;;;GAGG;AACH,MAAM,UAAU,8BAA8B,CAC5C,QAA2B,EAC3B,SAAsC,EAAE;IAExC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC;IAE1C,QAAQ,CAAC,sBAAsB,CAAC;QAC9B,EAAE,EAAE,MAAM;QACV,IAAI,EAAE,iBAAiB;QACvB,UAAU,EAAE,SAAS;QACrB,OAAO;QACP,WAAW,EAAE,mFAAmF;QAChG,MAAM,CAAC,SAAS;YACd,OAAO,wBAAwB,CAAC;gBAC9B,GAAG,MAAM,CAAC,IAAI;gBACd,GAAI,SAAsC;aAC3C,CAAC,CAAC;QACL,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CACpC,QAA2B,EAC3B,SAAyC,EAAE;IAE3C,2BAA2B,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAChD,CAAC"}
package/dist/index.d.ts CHANGED
@@ -4,6 +4,7 @@ export * from "./extensions/index.js";
4
4
  export * from "./protocols/index.js";
5
5
  export * from "./mounts/index.js";
6
6
  export * from "./policies/index.js";
7
+ export * from "./plugins/index.js";
7
8
  export * from "./testing/index.js";
8
9
  export * from "./evals/index.js";
9
10
  export * from "./tracing/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC"}
package/dist/index.js CHANGED
@@ -4,6 +4,7 @@ export * from "./extensions/index.js";
4
4
  export * from "./protocols/index.js";
5
5
  export * from "./mounts/index.js";
6
6
  export * from "./policies/index.js";
7
+ export * from "./plugins/index.js";
7
8
  export * from "./testing/index.js";
8
9
  export * from "./evals/index.js";
9
10
  export * from "./tracing/index.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * ECP runtime plugins (storage, memory, etc.).
3
+ *
4
+ * @category Plugins
5
+ */
6
+ export { registerBuiltinMemoryPlugin, createSqliteMemoryStore, type MemoryPluginInstance, } from "./memory/index.js";
7
+ export type { MemoryStore, MemoryRecord, SqliteMemoryStoreConfig } from "./memory/types.js";
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,2BAA2B,EAC3B,uBAAuB,EACvB,KAAK,oBAAoB,GAC1B,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * ECP runtime plugins (storage, memory, etc.).
3
+ *
4
+ * @category Plugins
5
+ */
6
+ export { registerBuiltinMemoryPlugin, createSqliteMemoryStore, } from "./memory/index.js";
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,2BAA2B,EAC3B,uBAAuB,GAExB,MAAM,mBAAmB,CAAC"}