@theoremjs/agents 0.3.4-next.484.g20d8b9d → 0.3.4-next.522.g9e684cd
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 +61 -51
- package/esm/mod.d.ts +2 -2
- package/esm/mod.js +1 -1
- package/esm/src/guardrails/credential-scan.d.ts +1 -1
- package/esm/src/guardrails/credential-scan.js +41 -18
- package/esm/src/guardrails/destinations.js +6 -2
- package/esm/src/guardrails/detect-at.d.ts +5 -5
- package/esm/src/guardrails/detect-at.js +51 -41
- package/esm/src/guardrails/detect-reply.d.ts +1 -1
- package/esm/src/guardrails/detect-reply.js +4 -2
- package/esm/src/guardrails/egress-automata.js +203 -202
- package/esm/src/guardrails/egress-compiler.js +1 -4
- package/esm/src/guardrails/egress-stream.js +10 -3
- package/esm/src/guardrails/egress-urls.js +4 -2
- package/esm/src/guardrails/error.d.ts +1 -1
- package/esm/src/guardrails/error.js +19 -2
- package/esm/src/guardrails/host-patterns.d.ts +1 -4
- package/esm/src/guardrails/host-patterns.js +1 -10
- package/esm/src/guardrails/injection-patterns.d.ts +3 -1
- package/esm/src/guardrails/injection-patterns.js +87 -4
- package/esm/src/guardrails/labels.d.ts +2 -2
- package/esm/src/guardrails/labels.js +7 -5
- package/esm/src/guardrails/mod.d.ts +2 -2
- package/esm/src/guardrails/mod.js +1 -1
- package/esm/src/guardrails/normalize.js +4 -2
- package/esm/src/guardrails/prompt-echo.js +4 -2
- package/esm/src/guardrails/sanitize.d.ts +1 -1
- package/esm/src/guardrails/sanitize.js +4 -3
- package/esm/src/guardrails/sensitive.d.ts +2 -2
- package/esm/src/guardrails/sensitive.js +1 -1
- package/esm/src/host/client-turn.js +8 -1
- package/esm/src/interface/profile-interface.js +13 -0
- package/esm/src/kernel/answer-tool.d.ts +14 -0
- package/esm/src/kernel/answer-tool.js +26 -0
- package/esm/src/kernel/engine/decision-references.d.ts +14 -0
- package/esm/src/kernel/engine/decision-references.js +55 -0
- package/esm/src/kernel/engine/decision.d.ts +3 -3
- package/esm/src/kernel/engine/decision.js +38 -22
- package/esm/src/kernel/engine/embedding.js +0 -2
- package/esm/src/kernel/engine/runner/gates.js +40 -5
- package/esm/src/kernel/engine/runner/mod.js +13 -5
- package/esm/src/kernel/engine/runner/state.d.ts +9 -1
- package/esm/src/kernel/engine/runner/state.js +10 -1
- package/esm/src/kernel/engine/runner/steps.js +50 -13
- package/esm/src/kernel/engine/runner/stream.d.ts +14 -8
- package/esm/src/kernel/engine/runner/stream.js +25 -13
- package/esm/src/kernel/engine/turn-trace.js +2 -2
- package/esm/src/kernel/mod.d.ts +1 -1
- package/esm/src/kernel/mod.js +1 -1
- package/esm/src/kernel/profile-presence.js +12 -0
- package/esm/src/kernel/profile-scope.js +14 -14
- package/esm/src/kernel/protocols/binding.d.ts +3 -1
- package/esm/src/kernel/protocols/binding.js +6 -0
- package/esm/src/kernel/protocols/limits.d.ts +10 -11
- package/esm/src/kernel/protocols/limits.js +9 -23
- package/esm/src/kernel/protocols/runtime.d.ts +3 -2
- package/esm/src/kernel/protocols/runtime.js +3 -4
- package/esm/src/kernel/provider-budget.d.ts +2 -2
- package/esm/src/kernel/provider-budget.js +22 -12
- package/esm/src/kernel/provider-runtime.js +8 -5
- package/esm/src/kernel/registry/profiles.js +3 -3
- package/esm/src/kernel/registry/resolve.js +4 -0
- package/esm/src/kernel/registry/schemas.js +1 -1
- package/esm/src/kernel/schema.js +28 -2
- package/esm/src/kernel/tools/execute.js +3 -1
- package/esm/src/kernel/tools/image-fetch.d.ts +2 -4
- package/esm/src/kernel/tools/image-fetch.js +19 -20
- package/esm/src/kernel/tools/mcp-sessions.d.ts +7 -2
- package/esm/src/kernel/tools/mcp-sessions.js +21 -12
- package/esm/src/kernel/tools/registry.js +21 -0
- package/esm/src/kernel/tools/remote.d.ts +0 -2
- package/esm/src/kernel/tools/remote.js +28 -23
- package/esm/src/kernel/tools/types.d.ts +30 -4
- package/esm/src/kernel/turn-events.d.ts +2 -0
- package/esm/src/kernel/turn-events.js +1 -0
- package/esm/src/kernel/types.d.ts +4 -2
- package/esm/src/observability/spans.js +7 -8
- package/esm/src/observability/trace-catalog.js +1 -0
- package/esm/src/providers/embedding-limits.js +4 -4
- package/esm/src/providers/gemini/{embedding-protocol.d.ts → embeddings-protocol.d.ts} +3 -3
- package/esm/src/providers/gemini/{embedding-protocol.js → embeddings-protocol.js} +3 -3
- package/esm/src/providers/gemini/live-protocol.js +4 -1
- package/esm/src/providers/gemini/provider.js +2 -2
- package/esm/src/providers/local/embeddings-protocol.d.ts +7 -0
- package/esm/src/providers/local/{embedding-protocol.js → embeddings-protocol.js} +2 -2
- package/esm/src/providers/local/provider.js +2 -2
- package/esm/src/providers/mod.d.ts +3 -3
- package/esm/src/providers/mod.js +3 -3
- package/esm/src/providers/openrouter/decisions-protocol.js +11 -8
- package/esm/src/providers/openrouter/embeddings-protocol.d.ts +6 -0
- package/esm/src/providers/openrouter/{embedding-protocol.js → embeddings-protocol.js} +2 -2
- package/esm/src/providers/openrouter/provider.js +2 -2
- package/package.json +1 -1
- package/esm/src/providers/local/embedding-protocol.d.ts +0 -7
- package/esm/src/providers/openrouter/embedding-protocol.d.ts +0 -6
package/esm/src/providers/mod.js
CHANGED
|
@@ -8,15 +8,15 @@ export { jsonObjectSchema, jsonValueSchema } from '../kernel/json.js';
|
|
|
8
8
|
export { carriesTo, defineProtocol, extendProtocol, modelOptions, } from '../kernel/protocols/protocol.js';
|
|
9
9
|
export { bearer, createProviderRegistry, defineProvider, endpointUrlSchema, header, query, } from '../kernel/protocols/provider.js';
|
|
10
10
|
export { embeddingModelLimits } from './embedding-limits.js';
|
|
11
|
-
export {
|
|
11
|
+
export { geminiEmbeddings } from './gemini/embeddings-protocol.js';
|
|
12
12
|
export { geminiInteractions } from './gemini/interactions-protocol.js';
|
|
13
13
|
export { geminiLive } from './gemini/live-protocol.js';
|
|
14
14
|
export { geminiProvider } from './gemini/provider.js';
|
|
15
|
-
export {
|
|
15
|
+
export { ollamaEmbeddings } from './local/embeddings-protocol.js';
|
|
16
16
|
export { localProvider } from './local/provider.js';
|
|
17
17
|
export { openAi } from './open-ai/protocol.js';
|
|
18
18
|
export { openRouterDecisions } from './openrouter/decisions-protocol.js';
|
|
19
|
-
export {
|
|
19
|
+
export { openRouterEmbeddings } from './openrouter/embeddings-protocol.js';
|
|
20
20
|
export { openRouterImages } from './openrouter/images-protocol.js';
|
|
21
21
|
export { openRouterOpenAi } from './openrouter/protocol.js';
|
|
22
22
|
export { openRouterProvider } from './openrouter/provider.js';
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
import { splitReferences } from '../../kernel/engine/decision-references.js';
|
|
2
3
|
import { jsonObjectSchema } from '../../kernel/json.js';
|
|
3
4
|
import { defineProtocol } from '../../kernel/protocols/mod.js';
|
|
4
5
|
import { decisionAnswered } from '../system-one/protocol.js';
|
|
@@ -36,18 +37,17 @@ export const openRouterDecisions = defineProtocol({
|
|
|
36
37
|
},
|
|
37
38
|
});
|
|
38
39
|
/**
|
|
39
|
-
* Each reference becomes
|
|
40
|
+
* Each reference becomes its image, where the reference was, as TypeSafe reads references. A string
|
|
41
|
+
* that is one reference becomes the image part; a longer one becomes its text and images in order.
|
|
40
42
|
* why: OpenRouter ignores an `assets` map; it reads image parts in place.
|
|
41
43
|
*/
|
|
42
44
|
function withImages(value, assets) {
|
|
43
45
|
if (typeof value === 'string') {
|
|
44
|
-
const
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
]
|
|
50
|
-
: value;
|
|
46
|
+
const pieces = splitReferences(value, assets);
|
|
47
|
+
if (pieces.every((piece) => typeof piece === 'string'))
|
|
48
|
+
return value;
|
|
49
|
+
const parts = pieces.map((piece) => typeof piece === 'string' ? piece : imagePart(piece.asset));
|
|
50
|
+
return parts.length === 1 ? parts[0] : parts;
|
|
51
51
|
}
|
|
52
52
|
if (Array.isArray(value))
|
|
53
53
|
return value.map((item) => withImages(item, assets));
|
|
@@ -55,3 +55,6 @@ function withImages(value, assets) {
|
|
|
55
55
|
return Object.fromEntries(Object.entries(value).map(([key, item]) => [key, withImages(item, assets)]));
|
|
56
56
|
return value;
|
|
57
57
|
}
|
|
58
|
+
function imagePart({ mimeType, data }) {
|
|
59
|
+
return { type: 'image_url', image_url: { url: `data:${mimeType};base64,${data}` } };
|
|
60
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type Protocol } from '../../kernel/protocols/mod.js';
|
|
2
|
+
/** What an `openRouterEmbeddings` binding sets in `options`. */
|
|
3
|
+
export interface OpenRouterEmbeddingsOptions {
|
|
4
|
+
encodingFormat?: 'float' | 'base64';
|
|
5
|
+
}
|
|
6
|
+
export declare const openRouterEmbeddings: Protocol<OpenRouterEmbeddingsOptions>;
|
|
@@ -38,8 +38,8 @@ function embeddingValues(value) {
|
|
|
38
38
|
}
|
|
39
39
|
return Array.from(new Float32Array(bytes.buffer, bytes.byteOffset, bytes.byteLength / Float32Array.BYTES_PER_ELEMENT));
|
|
40
40
|
}
|
|
41
|
-
export const
|
|
42
|
-
id: '
|
|
41
|
+
export const openRouterEmbeddings = defineProtocol({
|
|
42
|
+
id: 'openRouterEmbeddings',
|
|
43
43
|
name: 'OpenRouter Embeddings',
|
|
44
44
|
description: 'OpenRouter embedding models, including supported multimodal models.',
|
|
45
45
|
endpoints: { embedding: '/embeddings' },
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { bearer, defineProvider, endpointUrlSchema, } from '../../kernel/protocols/provider.js';
|
|
3
3
|
import { openRouterDecisions } from './decisions-protocol.js';
|
|
4
|
-
import {
|
|
4
|
+
import { openRouterEmbeddings } from './embeddings-protocol.js';
|
|
5
5
|
import { openRouterImages } from './images-protocol.js';
|
|
6
6
|
import { openRouterOpenAi } from './protocol.js';
|
|
7
7
|
const connection = z.strictObject({
|
|
@@ -42,7 +42,7 @@ export const openRouterProvider = defineProvider({
|
|
|
42
42
|
const decisionUrl = at.decisionUrl ?? 'https://openrouter.ai/api/alpha/decisions';
|
|
43
43
|
return [
|
|
44
44
|
{ protocol: openRouterOpenAi, baseUrl, headers },
|
|
45
|
-
{ protocol:
|
|
45
|
+
{ protocol: openRouterEmbeddings, baseUrl, headers },
|
|
46
46
|
{ protocol: openRouterImages, baseUrl, headers },
|
|
47
47
|
{ protocol: openRouterDecisions, baseUrl: decisionUrl, url: () => decisionUrl, headers },
|
|
48
48
|
];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@theoremjs/agents",
|
|
3
|
-
"version": "0.3.4-next.
|
|
3
|
+
"version": "0.3.4-next.522.g9e684cd",
|
|
4
4
|
"description": "A flat TypeScript agent kernel for typed profiles, deterministic turn execution, registered tools, provider adapters, guardrails, and host-injected traces.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"agent",
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { type Protocol } from '../../kernel/protocols/mod.js';
|
|
2
|
-
/** What an `ollamaEmbedding` binding sets in `options`. */
|
|
3
|
-
export interface OllamaEmbeddingOptions {
|
|
4
|
-
truncate?: boolean;
|
|
5
|
-
dimensions?: number;
|
|
6
|
-
}
|
|
7
|
-
export declare const ollamaEmbedding: Protocol<OllamaEmbeddingOptions>;
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { type Protocol } from '../../kernel/protocols/mod.js';
|
|
2
|
-
/** What an `openRouterEmbedding` binding sets in `options`. */
|
|
3
|
-
export interface OpenRouterEmbeddingOptions {
|
|
4
|
-
encodingFormat?: 'float' | 'base64';
|
|
5
|
-
}
|
|
6
|
-
export declare const openRouterEmbedding: Protocol<OpenRouterEmbeddingOptions>;
|