@contractspec/lib.ai-agent 7.0.6 → 7.0.10
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/README.md +71 -130
- package/dist/agent/agent-factory.d.ts +8 -8
- package/dist/agent/agent-factory.js +1385 -1358
- package/dist/agent/contract-spec-agent.d.ts +8 -8
- package/dist/agent/contract-spec-agent.js +1385 -1358
- package/dist/agent/index.js +1646 -1619
- package/dist/agent/json-runner.d.ts +2 -2
- package/dist/agent/json-runner.js +1385 -1358
- package/dist/agent/unified-agent.d.ts +3 -3
- package/dist/agent/unified-agent.js +1646 -1619
- package/dist/approval/index.d.ts +1 -1
- package/dist/approval/index.js +618 -618
- package/dist/approval/workflow.js +618 -618
- package/dist/exporters/claude-agent-exporter.d.ts +1 -1
- package/dist/exporters/claude-agent-exporter.js +619 -619
- package/dist/exporters/index.d.ts +2 -2
- package/dist/exporters/index.js +626 -625
- package/dist/exporters/opencode-exporter.js +625 -625
- package/dist/exporters/types.d.ts +1 -1
- package/dist/i18n/catalogs/index.d.ts +1 -1
- package/dist/i18n/catalogs/index.js +587 -587
- package/dist/i18n/index.d.ts +7 -7
- package/dist/i18n/index.js +618 -618
- package/dist/i18n/locale.d.ts +1 -1
- package/dist/i18n/locale.js +2 -2
- package/dist/i18n/messages.js +587 -587
- package/dist/index.js +619 -619
- package/dist/interop/index.d.ts +2 -2
- package/dist/interop/index.js +619 -619
- package/dist/interop/spec-consumer.d.ts +1 -1
- package/dist/interop/spec-consumer.js +619 -619
- package/dist/interop/tool-consumer.d.ts +2 -2
- package/dist/interop/tool-consumer.js +619 -619
- package/dist/knowledge/index.js +618 -618
- package/dist/knowledge/injector.js +618 -618
- package/dist/memory/in-memory.d.ts +1 -1
- package/dist/memory/index.d.ts +1 -1
- package/dist/node/agent/agent-factory.js +1385 -1358
- package/dist/node/agent/contract-spec-agent.js +1385 -1358
- package/dist/node/agent/index.js +1646 -1619
- package/dist/node/agent/json-runner.js +1385 -1358
- package/dist/node/agent/unified-agent.js +1646 -1619
- package/dist/node/approval/index.js +618 -618
- package/dist/node/approval/workflow.js +618 -618
- package/dist/node/exporters/claude-agent-exporter.js +619 -619
- package/dist/node/exporters/index.js +626 -625
- package/dist/node/exporters/opencode-exporter.js +625 -625
- package/dist/node/i18n/catalogs/index.js +587 -587
- package/dist/node/i18n/index.js +618 -618
- package/dist/node/i18n/locale.js +2 -2
- package/dist/node/i18n/messages.js +587 -587
- package/dist/node/index.js +619 -619
- package/dist/node/interop/index.js +619 -619
- package/dist/node/interop/spec-consumer.js +619 -619
- package/dist/node/interop/tool-consumer.js +619 -619
- package/dist/node/knowledge/index.js +618 -618
- package/dist/node/knowledge/injector.js +618 -618
- package/dist/node/providers/claude-agent-sdk/adapter.js +799 -799
- package/dist/node/providers/claude-agent-sdk/index.js +799 -799
- package/dist/node/providers/claude-agent-sdk/tool-bridge.js +618 -618
- package/dist/node/providers/index.js +795 -795
- package/dist/node/providers/opencode-sdk/adapter.js +671 -671
- package/dist/node/providers/opencode-sdk/agent-bridge.js +619 -619
- package/dist/node/providers/opencode-sdk/index.js +673 -673
- package/dist/node/providers/opencode-sdk/tool-bridge.js +618 -618
- package/dist/node/providers/registry.js +619 -619
- package/dist/node/providers/types.js +618 -618
- package/dist/node/session/index.js +26 -1
- package/dist/node/session/store.js +26 -1
- package/dist/node/spec/index.js +619 -619
- package/dist/node/spec/registry.js +619 -619
- package/dist/node/spec/spec.js +618 -618
- package/dist/node/telemetry/index.js +622 -620
- package/dist/node/telemetry/posthog.js +622 -620
- package/dist/node/tools/index.js +902 -902
- package/dist/node/tools/knowledge-tool.js +618 -618
- package/dist/node/tools/mcp-server.js +619 -619
- package/dist/node/tools/tool-adapter.js +619 -619
- package/dist/providers/claude-agent-sdk/adapter.d.ts +1 -1
- package/dist/providers/claude-agent-sdk/adapter.js +799 -799
- package/dist/providers/claude-agent-sdk/index.d.ts +1 -1
- package/dist/providers/claude-agent-sdk/index.js +799 -799
- package/dist/providers/claude-agent-sdk/session-bridge.d.ts +1 -2
- package/dist/providers/claude-agent-sdk/tool-bridge.d.ts +1 -1
- package/dist/providers/claude-agent-sdk/tool-bridge.js +618 -618
- package/dist/providers/index.d.ts +1 -1
- package/dist/providers/index.js +795 -795
- package/dist/providers/opencode-sdk/adapter.d.ts +1 -1
- package/dist/providers/opencode-sdk/adapter.js +671 -671
- package/dist/providers/opencode-sdk/agent-bridge.js +619 -619
- package/dist/providers/opencode-sdk/index.d.ts +1 -1
- package/dist/providers/opencode-sdk/index.js +673 -673
- package/dist/providers/opencode-sdk/tool-bridge.d.ts +1 -1
- package/dist/providers/opencode-sdk/tool-bridge.js +618 -618
- package/dist/providers/registry.js +619 -619
- package/dist/providers/types.d.ts +1 -1
- package/dist/providers/types.js +618 -618
- package/dist/session/index.js +26 -1
- package/dist/session/store.js +26 -1
- package/dist/session/store.test.d.ts +1 -0
- package/dist/spec/index.d.ts +1 -1
- package/dist/spec/index.js +619 -619
- package/dist/spec/registry.d.ts +1 -1
- package/dist/spec/registry.js +619 -619
- package/dist/spec/spec.d.ts +1 -1
- package/dist/spec/spec.js +618 -618
- package/dist/telemetry/index.d.ts +1 -1
- package/dist/telemetry/index.js +622 -620
- package/dist/telemetry/posthog.d.ts +1 -1
- package/dist/telemetry/posthog.js +622 -620
- package/dist/tools/index.d.ts +5 -5
- package/dist/tools/index.js +902 -902
- package/dist/tools/knowledge-tool.d.ts +1 -1
- package/dist/tools/knowledge-tool.js +618 -618
- package/dist/tools/mcp-server.d.ts +1 -1
- package/dist/tools/mcp-server.js +619 -619
- package/dist/tools/tool-adapter.d.ts +2 -2
- package/dist/tools/tool-adapter.js +619 -619
- package/package.json +10 -10
|
@@ -119,8 +119,33 @@ class InMemorySessionStore {
|
|
|
119
119
|
function createInMemorySessionStore(options) {
|
|
120
120
|
return new InMemorySessionStore(options);
|
|
121
121
|
}
|
|
122
|
+
function createSecureSessionToken() {
|
|
123
|
+
const cryptoApi = globalThis.crypto;
|
|
124
|
+
if (typeof cryptoApi?.randomUUID === "function") {
|
|
125
|
+
return cryptoApi.randomUUID();
|
|
126
|
+
}
|
|
127
|
+
if (typeof cryptoApi?.getRandomValues === "function") {
|
|
128
|
+
const bytes = cryptoApi.getRandomValues(new Uint8Array(16));
|
|
129
|
+
const versionByte = bytes.at(6);
|
|
130
|
+
const variantByte = bytes.at(8);
|
|
131
|
+
if (versionByte === undefined || variantByte === undefined) {
|
|
132
|
+
throw new Error("Secure session token generation requires 16 random bytes.");
|
|
133
|
+
}
|
|
134
|
+
bytes[6] = versionByte & 15 | 64;
|
|
135
|
+
bytes[8] = variantByte & 63 | 128;
|
|
136
|
+
const hex = [...bytes].map((byte) => byte.toString(16).padStart(2, "0"));
|
|
137
|
+
return [
|
|
138
|
+
hex.slice(0, 4).join(""),
|
|
139
|
+
hex.slice(4, 6).join(""),
|
|
140
|
+
hex.slice(6, 8).join(""),
|
|
141
|
+
hex.slice(8, 10).join(""),
|
|
142
|
+
hex.slice(10, 16).join("")
|
|
143
|
+
].join("-");
|
|
144
|
+
}
|
|
145
|
+
throw new Error("Secure session IDs require Web Crypto support.");
|
|
146
|
+
}
|
|
122
147
|
function generateSessionId() {
|
|
123
|
-
return `sess_${
|
|
148
|
+
return `sess_${createSecureSessionToken()}`;
|
|
124
149
|
}
|
|
125
150
|
export {
|
|
126
151
|
generateSessionId,
|
|
@@ -119,8 +119,33 @@ class InMemorySessionStore {
|
|
|
119
119
|
function createInMemorySessionStore(options) {
|
|
120
120
|
return new InMemorySessionStore(options);
|
|
121
121
|
}
|
|
122
|
+
function createSecureSessionToken() {
|
|
123
|
+
const cryptoApi = globalThis.crypto;
|
|
124
|
+
if (typeof cryptoApi?.randomUUID === "function") {
|
|
125
|
+
return cryptoApi.randomUUID();
|
|
126
|
+
}
|
|
127
|
+
if (typeof cryptoApi?.getRandomValues === "function") {
|
|
128
|
+
const bytes = cryptoApi.getRandomValues(new Uint8Array(16));
|
|
129
|
+
const versionByte = bytes.at(6);
|
|
130
|
+
const variantByte = bytes.at(8);
|
|
131
|
+
if (versionByte === undefined || variantByte === undefined) {
|
|
132
|
+
throw new Error("Secure session token generation requires 16 random bytes.");
|
|
133
|
+
}
|
|
134
|
+
bytes[6] = versionByte & 15 | 64;
|
|
135
|
+
bytes[8] = variantByte & 63 | 128;
|
|
136
|
+
const hex = [...bytes].map((byte) => byte.toString(16).padStart(2, "0"));
|
|
137
|
+
return [
|
|
138
|
+
hex.slice(0, 4).join(""),
|
|
139
|
+
hex.slice(4, 6).join(""),
|
|
140
|
+
hex.slice(6, 8).join(""),
|
|
141
|
+
hex.slice(8, 10).join(""),
|
|
142
|
+
hex.slice(10, 16).join("")
|
|
143
|
+
].join("-");
|
|
144
|
+
}
|
|
145
|
+
throw new Error("Secure session IDs require Web Crypto support.");
|
|
146
|
+
}
|
|
122
147
|
function generateSessionId() {
|
|
123
|
-
return `sess_${
|
|
148
|
+
return `sess_${createSecureSessionToken()}`;
|
|
124
149
|
}
|
|
125
150
|
export {
|
|
126
151
|
generateSessionId,
|