@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
|
@@ -15,10 +15,19 @@ var __require = /* @__PURE__ */ createRequire(import.meta.url);
|
|
|
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)}`;
|
|
@@ -15,10 +15,19 @@ var __require = /* @__PURE__ */ createRequire(import.meta.url);
|
|
|
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)}`;
|