@contractspec/lib.ai-agent 1.61.0 → 2.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.
- package/dist/agent/agent-factory.d.ts +5 -1
- package/dist/agent/agent-factory.js +2293 -31
- package/dist/agent/agent.test.d.ts +0 -1
- package/dist/agent/contract-spec-agent.d.ts +6 -1
- package/dist/agent/contract-spec-agent.js +2292 -31
- package/dist/agent/index.d.ts +0 -1
- package/dist/agent/index.js +2408 -91
- package/dist/agent/json-runner.d.ts +1 -1
- package/dist/agent/json-runner.js +2326 -57
- package/dist/agent/json-runner.test.d.ts +0 -1
- package/dist/agent/unified-agent.d.ts +0 -1
- package/dist/agent/unified-agent.js +2374 -65
- package/dist/approval/index.d.ts +0 -1
- package/dist/approval/index.js +2122 -2
- package/dist/approval/workflow.d.ts +7 -2
- package/dist/approval/workflow.js +2122 -2
- package/dist/exporters/claude-agent-exporter.d.ts +0 -1
- package/dist/exporters/claude-agent-exporter.js +2144 -35
- package/dist/exporters/index.d.ts +0 -1
- package/dist/exporters/index.js +2193 -69
- package/dist/exporters/opencode-exporter.d.ts +0 -1
- package/dist/exporters/opencode-exporter.js +2152 -39
- package/dist/exporters/types.d.ts +0 -1
- package/dist/i18n/catalogs/en.d.ts +8 -0
- package/dist/i18n/catalogs/en.js +614 -0
- package/dist/i18n/catalogs/es.d.ts +8 -0
- package/dist/i18n/catalogs/es.js +663 -0
- package/dist/i18n/catalogs/fr.d.ts +8 -0
- package/dist/i18n/catalogs/fr.js +629 -0
- package/dist/i18n/catalogs/index.d.ts +8 -0
- package/dist/i18n/catalogs/index.js +1875 -0
- package/dist/i18n/i18n.test.d.ts +1 -0
- package/dist/i18n/index.d.ts +29 -0
- package/dist/i18n/index.js +2127 -0
- package/dist/i18n/keys.d.ts +552 -0
- package/dist/i18n/keys.js +188 -0
- package/dist/i18n/locale.d.ts +33 -0
- package/dist/i18n/locale.js +41 -0
- package/dist/i18n/messages.d.ts +65 -0
- package/dist/i18n/messages.js +1939 -0
- package/dist/index.d.ts +0 -13
- package/dist/index.js +2106 -3254
- package/dist/interop/index.d.ts +0 -1
- package/dist/interop/index.js +2182 -47
- package/dist/interop/spec-consumer.d.ts +0 -1
- package/dist/interop/spec-consumer.js +2151 -34
- package/dist/interop/tool-consumer.d.ts +0 -1
- package/dist/interop/tool-consumer.js +2122 -13
- package/dist/interop/types.d.ts +0 -1
- package/dist/knowledge/index.d.ts +0 -1
- package/dist/knowledge/index.js +2105 -7
- package/dist/knowledge/injector.d.ts +2 -3
- package/dist/knowledge/injector.js +2104 -7
- package/dist/memory/in-memory.d.ts +0 -1
- package/dist/memory/index.d.ts +0 -1
- package/dist/memory/manager.d.ts +0 -1
- package/dist/memory/memory.test.d.ts +0 -1
- package/dist/node/agent/agent-factory.js +2293 -31
- package/dist/node/agent/contract-spec-agent.js +2292 -31
- package/dist/node/agent/index.js +2408 -91
- package/dist/node/agent/json-runner.js +2326 -57
- package/dist/node/agent/unified-agent.js +2374 -65
- package/dist/node/approval/index.js +2122 -2
- package/dist/node/approval/workflow.js +2122 -2
- package/dist/node/exporters/claude-agent-exporter.js +2144 -35
- package/dist/node/exporters/index.js +2193 -69
- package/dist/node/exporters/opencode-exporter.js +2152 -39
- package/dist/node/i18n/catalogs/en.js +614 -0
- package/dist/node/i18n/catalogs/es.js +663 -0
- package/dist/node/i18n/catalogs/fr.js +629 -0
- package/dist/node/i18n/catalogs/index.js +1875 -0
- package/dist/node/i18n/index.js +2127 -0
- package/dist/node/i18n/keys.js +188 -0
- package/dist/node/i18n/locale.js +41 -0
- package/dist/node/i18n/messages.js +1939 -0
- package/dist/node/index.js +2106 -3254
- package/dist/node/interop/index.js +2182 -47
- package/dist/node/interop/spec-consumer.js +2151 -34
- package/dist/node/interop/tool-consumer.js +2122 -13
- package/dist/node/knowledge/index.js +2105 -7
- package/dist/node/knowledge/injector.js +2104 -7
- package/dist/node/providers/claude-agent-sdk/adapter.js +2143 -22
- package/dist/node/providers/claude-agent-sdk/index.js +2144 -22
- package/dist/node/providers/claude-agent-sdk/tool-bridge.js +2101 -3
- package/dist/node/providers/index.js +2182 -39
- package/dist/node/providers/opencode-sdk/adapter.js +2148 -27
- package/dist/node/providers/opencode-sdk/agent-bridge.js +2110 -10
- package/dist/node/providers/opencode-sdk/index.js +2149 -27
- package/dist/node/providers/opencode-sdk/tool-bridge.js +2101 -3
- package/dist/node/providers/registry.js +2094 -2
- package/dist/node/session/index.js +37 -2
- package/dist/node/session/store.js +37 -2
- package/dist/node/spec/index.js +2111 -7
- package/dist/node/spec/registry.js +2096 -2
- package/dist/node/spec/spec.js +2105 -5
- package/dist/node/telemetry/index.js +117 -1
- package/dist/node/telemetry/posthog-types.js +0 -0
- package/dist/node/telemetry/posthog.js +132 -0
- package/dist/node/tools/index.js +2117 -17
- package/dist/node/tools/knowledge-tool.js +2105 -11
- package/dist/node/tools/mcp-server.js +2101 -5
- package/dist/node/tools/tool-adapter.js +2093 -1
- package/dist/providers/claude-agent-sdk/adapter.d.ts +0 -1
- package/dist/providers/claude-agent-sdk/adapter.js +2143 -22
- package/dist/providers/claude-agent-sdk/index.d.ts +0 -1
- package/dist/providers/claude-agent-sdk/index.js +2144 -22
- package/dist/providers/claude-agent-sdk/session-bridge.d.ts +0 -1
- package/dist/providers/claude-agent-sdk/tool-bridge.d.ts +0 -1
- package/dist/providers/claude-agent-sdk/tool-bridge.js +2101 -3
- package/dist/providers/index.d.ts +0 -1
- package/dist/providers/index.js +2182 -39
- package/dist/providers/opencode-sdk/adapter.d.ts +0 -1
- package/dist/providers/opencode-sdk/adapter.js +2148 -27
- package/dist/providers/opencode-sdk/agent-bridge.d.ts +0 -1
- package/dist/providers/opencode-sdk/agent-bridge.js +2110 -10
- package/dist/providers/opencode-sdk/index.d.ts +0 -1
- package/dist/providers/opencode-sdk/index.js +2149 -27
- package/dist/providers/opencode-sdk/tool-bridge.d.ts +0 -1
- package/dist/providers/opencode-sdk/tool-bridge.js +2101 -3
- package/dist/providers/registry.d.ts +0 -1
- package/dist/providers/registry.js +2094 -2
- package/dist/providers/types.d.ts +0 -1
- package/dist/schema/index.d.ts +0 -1
- package/dist/schema/json-schema-to-zod.d.ts +0 -1
- package/dist/schema/schema-output.d.ts +0 -1
- package/dist/session/index.d.ts +0 -1
- package/dist/session/index.js +37 -2
- package/dist/session/store.d.ts +12 -2
- package/dist/session/store.js +37 -2
- package/dist/spec/index.d.ts +0 -1
- package/dist/spec/index.js +2111 -7
- package/dist/spec/registry.d.ts +1 -2
- package/dist/spec/registry.js +2096 -2
- package/dist/spec/spec.d.ts +5 -4
- package/dist/spec/spec.js +2105 -5
- package/dist/telemetry/adapter.d.ts +0 -1
- package/dist/telemetry/index.d.ts +2 -1
- package/dist/telemetry/index.js +117 -1
- package/dist/telemetry/posthog-types.d.ts +59 -0
- package/dist/telemetry/posthog-types.js +1 -0
- package/dist/telemetry/posthog.d.ts +80 -0
- package/dist/telemetry/posthog.js +132 -0
- package/dist/telemetry/posthog.test.d.ts +1 -0
- package/dist/tools/index.d.ts +0 -1
- package/dist/tools/index.js +2117 -17
- package/dist/tools/knowledge-tool.d.ts +1 -2
- package/dist/tools/knowledge-tool.js +2105 -11
- package/dist/tools/mcp-client.d.ts +0 -1
- package/dist/tools/mcp-server.d.ts +0 -1
- package/dist/tools/mcp-server.js +2101 -5
- package/dist/tools/tool-adapter.d.ts +0 -1
- package/dist/tools/tool-adapter.js +2093 -1
- package/dist/tools/tools.test.d.ts +0 -1
- package/dist/types.d.ts +4 -1
- package/package.json +166 -13
- package/dist/agent/agent-factory.d.ts.map +0 -1
- package/dist/agent/agent.test.d.ts.map +0 -1
- package/dist/agent/contract-spec-agent.d.ts.map +0 -1
- package/dist/agent/index.d.ts.map +0 -1
- package/dist/agent/json-runner.d.ts.map +0 -1
- package/dist/agent/json-runner.test.d.ts.map +0 -1
- package/dist/agent/unified-agent.d.ts.map +0 -1
- package/dist/approval/index.d.ts.map +0 -1
- package/dist/approval/workflow.d.ts.map +0 -1
- package/dist/exporters/claude-agent-exporter.d.ts.map +0 -1
- package/dist/exporters/index.d.ts.map +0 -1
- package/dist/exporters/opencode-exporter.d.ts.map +0 -1
- package/dist/exporters/types.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/interop/index.d.ts.map +0 -1
- package/dist/interop/spec-consumer.d.ts.map +0 -1
- package/dist/interop/tool-consumer.d.ts.map +0 -1
- package/dist/interop/types.d.ts.map +0 -1
- package/dist/knowledge/index.d.ts.map +0 -1
- package/dist/knowledge/injector.d.ts.map +0 -1
- package/dist/memory/in-memory.d.ts.map +0 -1
- package/dist/memory/index.d.ts.map +0 -1
- package/dist/memory/manager.d.ts.map +0 -1
- package/dist/memory/memory.test.d.ts.map +0 -1
- package/dist/providers/claude-agent-sdk/adapter.d.ts.map +0 -1
- package/dist/providers/claude-agent-sdk/index.d.ts.map +0 -1
- package/dist/providers/claude-agent-sdk/session-bridge.d.ts.map +0 -1
- package/dist/providers/claude-agent-sdk/tool-bridge.d.ts.map +0 -1
- package/dist/providers/index.d.ts.map +0 -1
- package/dist/providers/opencode-sdk/adapter.d.ts.map +0 -1
- package/dist/providers/opencode-sdk/agent-bridge.d.ts.map +0 -1
- package/dist/providers/opencode-sdk/index.d.ts.map +0 -1
- package/dist/providers/opencode-sdk/tool-bridge.d.ts.map +0 -1
- package/dist/providers/registry.d.ts.map +0 -1
- package/dist/providers/types.d.ts.map +0 -1
- package/dist/schema/index.d.ts.map +0 -1
- package/dist/schema/json-schema-to-zod.d.ts.map +0 -1
- package/dist/schema/schema-output.d.ts.map +0 -1
- package/dist/session/index.d.ts.map +0 -1
- package/dist/session/store.d.ts.map +0 -1
- package/dist/spec/index.d.ts.map +0 -1
- package/dist/spec/registry.d.ts.map +0 -1
- package/dist/spec/spec.d.ts.map +0 -1
- package/dist/telemetry/adapter.d.ts.map +0 -1
- package/dist/telemetry/index.d.ts.map +0 -1
- package/dist/tools/index.d.ts.map +0 -1
- package/dist/tools/knowledge-tool.d.ts.map +0 -1
- package/dist/tools/mcp-client.d.ts.map +0 -1
- package/dist/tools/mcp-server.d.ts.map +0 -1
- package/dist/tools/tool-adapter.d.ts.map +0 -1
- package/dist/tools/tools.test.d.ts.map +0 -1
- package/dist/types.d.ts.map +0 -1
|
@@ -242,4 +242,3 @@ export declare class ProviderExecutionError extends ExternalProviderError {
|
|
|
242
242
|
export declare class ContextCreationError extends ExternalProviderError {
|
|
243
243
|
constructor(provider: string, message: string, cause?: Error);
|
|
244
244
|
}
|
|
245
|
-
//# sourceMappingURL=types.d.ts.map
|
package/dist/schema/index.d.ts
CHANGED
package/dist/session/index.d.ts
CHANGED
package/dist/session/index.js
CHANGED
|
@@ -15,10 +15,19 @@ var __require = import.meta.require;
|
|
|
15
15
|
// src/session/store.ts
|
|
16
16
|
class InMemorySessionStore {
|
|
17
17
|
sessions = new Map;
|
|
18
|
+
maxSessions;
|
|
19
|
+
maxMessagesPerSession;
|
|
20
|
+
maxStepsPerSession;
|
|
21
|
+
constructor(options = {}) {
|
|
22
|
+
this.maxSessions = options.maxSessions ?? 500;
|
|
23
|
+
this.maxMessagesPerSession = options.maxMessagesPerSession ?? 200;
|
|
24
|
+
this.maxStepsPerSession = options.maxStepsPerSession ?? 200;
|
|
25
|
+
}
|
|
18
26
|
async get(sessionId) {
|
|
19
27
|
return this.sessions.get(sessionId) ?? null;
|
|
20
28
|
}
|
|
21
29
|
async create(session) {
|
|
30
|
+
this.evictIfNeeded();
|
|
22
31
|
const now = new Date;
|
|
23
32
|
const fullSession = {
|
|
24
33
|
...session,
|
|
@@ -32,6 +41,7 @@ class InMemorySessionStore {
|
|
|
32
41
|
const session = this.sessions.get(sessionId);
|
|
33
42
|
if (session) {
|
|
34
43
|
session.steps.push(step);
|
|
44
|
+
this.trimArray(session.steps, this.maxStepsPerSession);
|
|
35
45
|
session.updatedAt = new Date;
|
|
36
46
|
}
|
|
37
47
|
}
|
|
@@ -39,6 +49,7 @@ class InMemorySessionStore {
|
|
|
39
49
|
const session = this.sessions.get(sessionId);
|
|
40
50
|
if (session) {
|
|
41
51
|
session.messages.push(message);
|
|
52
|
+
this.trimArray(session.messages, this.maxMessagesPerSession);
|
|
42
53
|
session.updatedAt = new Date;
|
|
43
54
|
}
|
|
44
55
|
}
|
|
@@ -76,9 +87,33 @@ class InMemorySessionStore {
|
|
|
76
87
|
clear() {
|
|
77
88
|
this.sessions.clear();
|
|
78
89
|
}
|
|
90
|
+
evictIfNeeded() {
|
|
91
|
+
if (this.sessions.size < this.maxSessions) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
let oldestSessionId = null;
|
|
95
|
+
let oldestUpdatedAt = Number.POSITIVE_INFINITY;
|
|
96
|
+
for (const [sessionId, session] of this.sessions.entries()) {
|
|
97
|
+
const updatedAt = session.updatedAt.getTime();
|
|
98
|
+
if (updatedAt < oldestUpdatedAt) {
|
|
99
|
+
oldestUpdatedAt = updatedAt;
|
|
100
|
+
oldestSessionId = sessionId;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
if (oldestSessionId) {
|
|
104
|
+
this.sessions.delete(oldestSessionId);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
trimArray(items, maxItems) {
|
|
108
|
+
if (items.length <= maxItems) {
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
const overflow = items.length - maxItems;
|
|
112
|
+
items.splice(0, overflow);
|
|
113
|
+
}
|
|
79
114
|
}
|
|
80
|
-
function createInMemorySessionStore() {
|
|
81
|
-
return new InMemorySessionStore;
|
|
115
|
+
function createInMemorySessionStore(options) {
|
|
116
|
+
return new InMemorySessionStore(options);
|
|
82
117
|
}
|
|
83
118
|
function generateSessionId() {
|
|
84
119
|
return `sess_${Date.now()}_${Math.random().toString(36).slice(2, 11)}`;
|
package/dist/session/store.d.ts
CHANGED
|
@@ -40,11 +40,20 @@ export interface AgentSessionStore {
|
|
|
40
40
|
*/
|
|
41
41
|
listByTenant(tenantId: string, limit?: number): Promise<AgentSessionState[]>;
|
|
42
42
|
}
|
|
43
|
+
export interface InMemorySessionStoreOptions {
|
|
44
|
+
maxSessions?: number;
|
|
45
|
+
maxMessagesPerSession?: number;
|
|
46
|
+
maxStepsPerSession?: number;
|
|
47
|
+
}
|
|
43
48
|
/**
|
|
44
49
|
* In-memory session store for development and testing.
|
|
45
50
|
*/
|
|
46
51
|
export declare class InMemorySessionStore implements AgentSessionStore {
|
|
47
52
|
private readonly sessions;
|
|
53
|
+
private readonly maxSessions;
|
|
54
|
+
private readonly maxMessagesPerSession;
|
|
55
|
+
private readonly maxStepsPerSession;
|
|
56
|
+
constructor(options?: InMemorySessionStoreOptions);
|
|
48
57
|
get(sessionId: string): Promise<AgentSessionState | null>;
|
|
49
58
|
create(session: Omit<AgentSessionState, 'createdAt' | 'updatedAt'>): Promise<AgentSessionState>;
|
|
50
59
|
appendStep(sessionId: string, step: StepResult<ToolSet>): Promise<void>;
|
|
@@ -57,13 +66,14 @@ export declare class InMemorySessionStore implements AgentSessionStore {
|
|
|
57
66
|
* Clear all sessions (for testing).
|
|
58
67
|
*/
|
|
59
68
|
clear(): void;
|
|
69
|
+
private evictIfNeeded;
|
|
70
|
+
private trimArray;
|
|
60
71
|
}
|
|
61
72
|
/**
|
|
62
73
|
* Create an in-memory session store.
|
|
63
74
|
*/
|
|
64
|
-
export declare function createInMemorySessionStore(): AgentSessionStore;
|
|
75
|
+
export declare function createInMemorySessionStore(options?: InMemorySessionStoreOptions): AgentSessionStore;
|
|
65
76
|
/**
|
|
66
77
|
* Generate a unique session ID.
|
|
67
78
|
*/
|
|
68
79
|
export declare function generateSessionId(): string;
|
|
69
|
-
//# sourceMappingURL=store.d.ts.map
|
package/dist/session/store.js
CHANGED
|
@@ -15,10 +15,19 @@ var __require = import.meta.require;
|
|
|
15
15
|
// src/session/store.ts
|
|
16
16
|
class InMemorySessionStore {
|
|
17
17
|
sessions = new Map;
|
|
18
|
+
maxSessions;
|
|
19
|
+
maxMessagesPerSession;
|
|
20
|
+
maxStepsPerSession;
|
|
21
|
+
constructor(options = {}) {
|
|
22
|
+
this.maxSessions = options.maxSessions ?? 500;
|
|
23
|
+
this.maxMessagesPerSession = options.maxMessagesPerSession ?? 200;
|
|
24
|
+
this.maxStepsPerSession = options.maxStepsPerSession ?? 200;
|
|
25
|
+
}
|
|
18
26
|
async get(sessionId) {
|
|
19
27
|
return this.sessions.get(sessionId) ?? null;
|
|
20
28
|
}
|
|
21
29
|
async create(session) {
|
|
30
|
+
this.evictIfNeeded();
|
|
22
31
|
const now = new Date;
|
|
23
32
|
const fullSession = {
|
|
24
33
|
...session,
|
|
@@ -32,6 +41,7 @@ class InMemorySessionStore {
|
|
|
32
41
|
const session = this.sessions.get(sessionId);
|
|
33
42
|
if (session) {
|
|
34
43
|
session.steps.push(step);
|
|
44
|
+
this.trimArray(session.steps, this.maxStepsPerSession);
|
|
35
45
|
session.updatedAt = new Date;
|
|
36
46
|
}
|
|
37
47
|
}
|
|
@@ -39,6 +49,7 @@ class InMemorySessionStore {
|
|
|
39
49
|
const session = this.sessions.get(sessionId);
|
|
40
50
|
if (session) {
|
|
41
51
|
session.messages.push(message);
|
|
52
|
+
this.trimArray(session.messages, this.maxMessagesPerSession);
|
|
42
53
|
session.updatedAt = new Date;
|
|
43
54
|
}
|
|
44
55
|
}
|
|
@@ -76,9 +87,33 @@ class InMemorySessionStore {
|
|
|
76
87
|
clear() {
|
|
77
88
|
this.sessions.clear();
|
|
78
89
|
}
|
|
90
|
+
evictIfNeeded() {
|
|
91
|
+
if (this.sessions.size < this.maxSessions) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
let oldestSessionId = null;
|
|
95
|
+
let oldestUpdatedAt = Number.POSITIVE_INFINITY;
|
|
96
|
+
for (const [sessionId, session] of this.sessions.entries()) {
|
|
97
|
+
const updatedAt = session.updatedAt.getTime();
|
|
98
|
+
if (updatedAt < oldestUpdatedAt) {
|
|
99
|
+
oldestUpdatedAt = updatedAt;
|
|
100
|
+
oldestSessionId = sessionId;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
if (oldestSessionId) {
|
|
104
|
+
this.sessions.delete(oldestSessionId);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
trimArray(items, maxItems) {
|
|
108
|
+
if (items.length <= maxItems) {
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
const overflow = items.length - maxItems;
|
|
112
|
+
items.splice(0, overflow);
|
|
113
|
+
}
|
|
79
114
|
}
|
|
80
|
-
function createInMemorySessionStore() {
|
|
81
|
-
return new InMemorySessionStore;
|
|
115
|
+
function createInMemorySessionStore(options) {
|
|
116
|
+
return new InMemorySessionStore(options);
|
|
82
117
|
}
|
|
83
118
|
function generateSessionId() {
|
|
84
119
|
return `sess_${Date.now()}_${Math.random().toString(36).slice(2, 11)}`;
|
package/dist/spec/index.d.ts
CHANGED