@contractspec/lib.ai-agent 7.0.7 → 8.0.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 (81) hide show
  1. package/README.md +45 -4
  2. package/dist/agent/agent-factory.d.ts +14 -3
  3. package/dist/agent/agent-factory.js +676 -111
  4. package/dist/agent/contract-spec-agent.d.ts +16 -2
  5. package/dist/agent/contract-spec-agent.js +672 -110
  6. package/dist/agent/index.js +685 -118
  7. package/dist/agent/json-runner.d.ts +1 -1
  8. package/dist/agent/json-runner.js +672 -110
  9. package/dist/agent/unified-agent.d.ts +2 -2
  10. package/dist/agent/unified-agent.js +685 -118
  11. package/dist/approval/index.js +6 -1
  12. package/dist/approval/workflow.js +5 -1
  13. package/dist/exporters/claude-agent-exporter.d.ts +1 -1
  14. package/dist/exporters/claude-agent-exporter.js +3 -51
  15. package/dist/exporters/index.js +8 -54
  16. package/dist/exporters/opencode-exporter.d.ts +1 -1
  17. package/dist/exporters/opencode-exporter.js +3 -51
  18. package/dist/exporters/types.d.ts +1 -1
  19. package/dist/index.d.ts +2 -1
  20. package/dist/index.js +3805 -71
  21. package/dist/interop/index.js +3 -51
  22. package/dist/interop/spec-consumer.d.ts +1 -1
  23. package/dist/interop/spec-consumer.js +3 -51
  24. package/dist/interop/tool-consumer.d.ts +1 -1
  25. package/dist/interop/types.d.ts +1 -1
  26. package/dist/knowledge/injector.d.ts +1 -1
  27. package/dist/node/agent/agent-factory.js +676 -111
  28. package/dist/node/agent/contract-spec-agent.js +672 -110
  29. package/dist/node/agent/index.js +685 -118
  30. package/dist/node/agent/json-runner.js +672 -110
  31. package/dist/node/agent/unified-agent.js +685 -118
  32. package/dist/node/approval/index.js +6 -1
  33. package/dist/node/approval/workflow.js +5 -1
  34. package/dist/node/exporters/claude-agent-exporter.js +3 -51
  35. package/dist/node/exporters/index.js +8 -54
  36. package/dist/node/exporters/opencode-exporter.js +3 -51
  37. package/dist/node/index.js +3805 -71
  38. package/dist/node/interop/index.js +3 -51
  39. package/dist/node/interop/spec-consumer.js +3 -51
  40. package/dist/node/providers/claude-agent-sdk/adapter.js +3 -51
  41. package/dist/node/providers/claude-agent-sdk/index.js +3 -51
  42. package/dist/node/providers/index.js +8 -53
  43. package/dist/node/providers/opencode-sdk/adapter.js +4 -51
  44. package/dist/node/providers/opencode-sdk/index.js +4 -51
  45. package/dist/node/session/index.js +26 -1
  46. package/dist/node/session/store.js +26 -1
  47. package/dist/node/telemetry/adapter.js +2 -0
  48. package/dist/node/telemetry/index.js +2 -0
  49. package/dist/providers/claude-agent-sdk/adapter.d.ts +1 -1
  50. package/dist/providers/claude-agent-sdk/adapter.js +3 -51
  51. package/dist/providers/claude-agent-sdk/index.js +3 -51
  52. package/dist/providers/claude-agent-sdk/tool-bridge.d.ts +1 -8
  53. package/dist/providers/index.js +8 -53
  54. package/dist/providers/opencode-sdk/adapter.d.ts +1 -13
  55. package/dist/providers/opencode-sdk/adapter.js +4 -51
  56. package/dist/providers/opencode-sdk/agent-bridge.d.ts +1 -10
  57. package/dist/providers/opencode-sdk/index.js +4 -51
  58. package/dist/providers/opencode-sdk/tool-bridge.d.ts +1 -4
  59. package/dist/providers/types.d.ts +1 -8
  60. package/dist/session/index.js +26 -1
  61. package/dist/session/store.d.ts +2 -2
  62. package/dist/session/store.js +26 -1
  63. package/dist/telemetry/adapter.d.ts +1 -0
  64. package/dist/telemetry/adapter.js +2 -0
  65. package/dist/telemetry/index.js +2 -0
  66. package/dist/tools/knowledge-tool.d.ts +1 -1
  67. package/dist/tools/mcp-server.d.ts +1 -1
  68. package/dist/tools/operation-tool-handler.d.ts +1 -1
  69. package/dist/tools/tool-adapter.d.ts +1 -1
  70. package/dist/types.d.ts +13 -0
  71. package/package.json +8 -44
  72. package/dist/node/spec/index.js +0 -2233
  73. package/dist/node/spec/registry.js +0 -2178
  74. package/dist/node/spec/spec.js +0 -2188
  75. package/dist/spec/index.d.ts +0 -2
  76. package/dist/spec/index.js +0 -2233
  77. package/dist/spec/registry.d.ts +0 -41
  78. package/dist/spec/registry.js +0 -2178
  79. package/dist/spec/spec.d.ts +0 -218
  80. package/dist/spec/spec.js +0 -2188
  81. /package/dist/{spec/spec.test.d.ts → session/store.test.d.ts} +0 -0
@@ -1,15 +1,17 @@
1
1
  import type { ModelSelector } from '@contractspec/lib.ai-providers/selector-types';
2
+ import { type AgentSpec } from '@contractspec/lib.contracts-spec/agent';
2
3
  import type { OperationSpecRegistry } from '@contractspec/lib.contracts-spec/operations/registry';
3
4
  import type { KnowledgeRetriever } from '@contractspec/lib.knowledge/retriever';
4
5
  import { type LanguageModel, type Tool, type ToolSet } from 'ai';
6
+ import { type ApprovalWorkflow } from '../approval/workflow';
7
+ import type { AgentRuntimeAdapterBundle } from '../interop/runtime-adapters';
5
8
  import { type AgentSessionStore } from '../session/store';
6
- import type { AgentSpec } from '../spec/spec';
7
9
  import { type TelemetryCollector } from '../telemetry/adapter';
8
10
  import type { PostHogLLMConfig, PostHogTracingOptions } from '../telemetry/posthog-types';
9
11
  import type { AgentMemoryStore } from '../tools/agent-memory-store';
10
12
  import { type McpClientConfig } from '../tools/mcp-client';
11
13
  import { type SubagentRegistry } from '../tools/tool-adapter';
12
- import type { AgentGenerateParams, AgentGenerateResult, AgentStreamParams, ToolHandler } from '../types';
14
+ import type { AgentEventEmitter, AgentGenerateParams, AgentGenerateResult, AgentSessionState, AgentStreamParams, ToolHandler } from '../types';
13
15
  /**
14
16
  * Type for tool with execute function (compatible with AI SDK Tool)
15
17
  */
@@ -47,6 +49,12 @@ export interface ContractSpecAgentConfig {
47
49
  mcpServers?: McpClientConfig[];
48
50
  /** Ranking-driven model selector for dynamic per-call routing */
49
51
  modelSelector?: ModelSelector;
52
+ /** Optional external adapter bundles keyed by runtime id. */
53
+ runtimeAdapters?: Partial<Record<string, AgentRuntimeAdapterBundle<AgentSessionState>>>;
54
+ /** Approval workflow used for escalations and tool approvals. */
55
+ approvalWorkflow?: ApprovalWorkflow;
56
+ /** Optional lifecycle/audit event emitter. */
57
+ eventEmitter?: AgentEventEmitter;
50
58
  }
51
59
  /**
52
60
  * ContractSpec Agent implementation using AI SDK v6.
@@ -90,6 +98,12 @@ export declare class ContractSpecAgent {
90
98
  * Handle step completion for persistence and telemetry.
91
99
  */
92
100
  private handleStepFinish;
101
+ private ensureSession;
102
+ private resolveRuntimeAdapter;
103
+ private syncSessionCheckpoint;
104
+ private runSessionMiddleware;
105
+ private requestApproval;
106
+ private emitAgentEvent;
93
107
  private createInnerAgent;
94
108
  private resolveModelForCall;
95
109
  }