@tessar/core 0.1.0-alpha.0 → 0.1.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/README.md +168 -31
- package/dist/agent.d.ts +37 -87
- package/dist/agent.js +101 -1116
- package/dist/agent.js.map +1 -1
- package/dist/controller.d.ts +13 -4
- package/dist/controller.js +184 -19
- package/dist/controller.js.map +1 -1
- package/dist/engine/call.d.ts +8 -0
- package/dist/engine/call.js +136 -0
- package/dist/engine/call.js.map +1 -0
- package/dist/engine/checkpoint.d.ts +11 -0
- package/dist/engine/checkpoint.js +187 -0
- package/dist/engine/checkpoint.js.map +1 -0
- package/dist/engine/delivery.js +6 -13
- package/dist/engine/delivery.js.map +1 -1
- package/dist/engine/execution.d.ts +5 -0
- package/dist/engine/execution.js +292 -0
- package/dist/engine/execution.js.map +1 -0
- package/dist/engine/frame.d.ts +77 -0
- package/dist/engine/frame.js +83 -0
- package/dist/engine/frame.js.map +1 -0
- package/dist/engine/hooks.d.ts +4 -0
- package/dist/engine/hooks.js +138 -0
- package/dist/engine/hooks.js.map +1 -0
- package/dist/engine/interrupt.d.ts +1 -1
- package/dist/engine/lineage.d.ts +1 -1
- package/dist/engine/recovery.d.ts +1 -2
- package/dist/engine/recovery.js +4 -2
- package/dist/engine/recovery.js.map +1 -1
- package/dist/engine/resume.d.ts +12 -1
- package/dist/engine/resume.js +189 -0
- package/dist/engine/resume.js.map +1 -1
- package/dist/engine/runtime.d.ts +16 -0
- package/dist/engine/runtime.js +29 -0
- package/dist/engine/runtime.js.map +1 -0
- package/dist/engine/services.d.ts +3 -0
- package/dist/engine/services.js +125 -0
- package/dist/engine/services.js.map +1 -0
- package/dist/engine/tool-executor.d.ts +8 -2
- package/dist/engine/tool-executor.js +266 -3
- package/dist/engine/tool-executor.js.map +1 -1
- package/dist/engine/tracked-effects.js +5 -6
- package/dist/engine/tracked-effects.js.map +1 -1
- package/dist/errors.js +24 -9
- package/dist/errors.js.map +1 -1
- package/dist/events/definition.d.ts +2 -0
- package/dist/events/definition.js +2 -0
- package/dist/events/definition.js.map +1 -1
- package/dist/events/dispatcher.d.ts +1 -1
- package/dist/events/dispatcher.js +35 -4
- package/dist/events/dispatcher.js.map +1 -1
- package/dist/events/observer.d.ts +3 -0
- package/dist/events/observer.js +13 -0
- package/dist/events/observer.js.map +1 -0
- package/dist/events/{catalog.d.ts → type.d.ts} +170 -47
- package/dist/events/type.js +175 -0
- package/dist/events/type.js.map +1 -0
- package/dist/identity.d.ts +1 -0
- package/dist/identity.js +23 -0
- package/dist/identity.js.map +1 -0
- package/dist/index.d.ts +4 -2
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/instructions/instruction.d.ts +2 -0
- package/dist/instructions/instruction.js +10 -3
- package/dist/instructions/instruction.js.map +1 -1
- package/dist/loop.d.ts +5 -5
- package/dist/loop.js +44 -204
- package/dist/loop.js.map +1 -1
- package/dist/messages/codec.js +4 -2
- package/dist/messages/codec.js.map +1 -1
- package/dist/messages/message.d.ts +2 -3
- package/dist/messages/message.js +3 -3
- package/dist/messages/message.js.map +1 -1
- package/dist/models/contract.d.ts +15 -0
- package/dist/models/options.d.ts +3 -0
- package/dist/models/options.js +13 -0
- package/dist/models/options.js.map +1 -0
- package/dist/models/registry.d.ts +2 -0
- package/dist/models/registry.js +18 -1
- package/dist/models/registry.js.map +1 -1
- package/dist/models/resolver.d.ts +4 -2
- package/dist/models/resolver.js +9 -4
- package/dist/models/resolver.js.map +1 -1
- package/dist/models/stream.d.ts +6 -0
- package/dist/models/stream.js +61 -2
- package/dist/models/stream.js.map +1 -1
- package/dist/plugins/context.d.ts +27 -2
- package/dist/plugins/host.d.ts +5 -1
- package/dist/plugins/host.js +33 -11
- package/dist/plugins/host.js.map +1 -1
- package/dist/plugins/registry.d.ts +1 -1
- package/dist/plugins/registry.js +18 -10
- package/dist/plugins/registry.js.map +1 -1
- package/dist/session.d.ts +16 -6
- package/dist/session.js +126 -55
- package/dist/session.js.map +1 -1
- package/dist/state/commit.d.ts +5 -0
- package/dist/state/commit.js +50 -5
- package/dist/state/commit.js.map +1 -1
- package/dist/state/fork.js +27 -6
- package/dist/state/fork.js.map +1 -1
- package/dist/state/memory-backend.js +307 -38
- package/dist/state/memory-backend.js.map +1 -1
- package/dist/state/plugin-state.js +73 -18
- package/dist/state/plugin-state.js.map +1 -1
- package/dist/state/queries.d.ts +14 -14
- package/dist/state/queries.js +150 -48
- package/dist/state/queries.js.map +1 -1
- package/dist/state/schema.d.ts +47 -6
- package/dist/state/schema.js +9 -1
- package/dist/state/schema.js.map +1 -1
- package/dist/state/scope.js +3 -2
- package/dist/state/scope.js.map +1 -1
- package/dist/state/sessions.d.ts +2 -0
- package/dist/state/sessions.js +21 -0
- package/dist/state/sessions.js.map +1 -0
- package/dist/state/storage-ports.d.ts +16 -2
- package/dist/state/threads.d.ts +1 -0
- package/dist/state/threads.js +77 -12
- package/dist/state/threads.js.map +1 -1
- package/dist/testing/harness.d.ts +2 -1
- package/dist/testing/harness.js +6 -4
- package/dist/testing/harness.js.map +1 -1
- package/dist/testing/scripted-provider.d.ts +1 -0
- package/dist/testing/scripted-provider.js +7 -0
- package/dist/testing/scripted-provider.js.map +1 -1
- package/dist/testing/storage-conformance.js +111 -0
- package/dist/testing/storage-conformance.js.map +1 -1
- package/dist/thread.d.ts +4 -2
- package/dist/thread.js +14 -6
- package/dist/thread.js.map +1 -1
- package/dist/tools/tool.d.ts +11 -12
- package/dist/tools/tool.js +27 -10
- package/dist/tools/tool.js.map +1 -1
- package/dist/trace/records.d.ts +11 -6
- package/dist/trace/records.js +28 -1
- package/dist/trace/records.js.map +1 -1
- package/package.json +7 -1
- package/dist/events/catalog.js +0 -89
- package/dist/events/catalog.js.map +0 -1
- package/dist/models/cache.d.ts +0 -12
- package/dist/models/cache.js +0 -17
- package/dist/models/cache.js.map +0 -1
- package/dist/session-events.d.ts +0 -60
- package/dist/session-events.js +0 -14
- package/dist/session-events.js.map +0 -1
package/dist/tools/tool.js
CHANGED
|
@@ -1,27 +1,44 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { fail, requireId } from "../errors.js";
|
|
3
|
+
import { assertJson, immutable, } from "../json.js";
|
|
4
|
+
import { ToolMessage } from "../messages/message.js";
|
|
4
5
|
export class Tool {
|
|
5
6
|
name;
|
|
6
7
|
description;
|
|
7
|
-
|
|
8
|
+
schema;
|
|
9
|
+
jsonSchema;
|
|
8
10
|
execute;
|
|
9
11
|
recovery;
|
|
10
12
|
constructor(definition) {
|
|
11
13
|
this.name = requireId(definition.name, "tool name");
|
|
12
14
|
this.description = definition.description;
|
|
13
|
-
this.
|
|
14
|
-
|
|
15
|
+
this.schema = definition.schema;
|
|
16
|
+
// Zod attaches a non-enumerable Standard Schema validator; keep only JSON.
|
|
17
|
+
this.jsonSchema = immutable(JSON.parse(JSON.stringify(z.toJSONSchema(definition.schema, { io: "input" }))));
|
|
18
|
+
this.execute = async (input, context) => normalizeToolOutput(await definition.execute(input, context));
|
|
15
19
|
this.recovery = definition.recovery;
|
|
16
20
|
}
|
|
17
21
|
}
|
|
18
22
|
export function createTool(definition) {
|
|
19
23
|
return new Tool(definition);
|
|
20
24
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
+
/** @internal Normalize developer results and bind runtime correlation. */
|
|
26
|
+
export function normalizeToolOutput(value, toolCallId) {
|
|
27
|
+
if (!(value instanceof ToolMessage)) {
|
|
28
|
+
if (value === undefined)
|
|
29
|
+
fail("InvalidToolResult", "Tool execute must return a result");
|
|
30
|
+
assertJson(value);
|
|
31
|
+
value = new ToolMessage(typeof value === "string" ? value : [{ type: "data", data: value }]);
|
|
32
|
+
}
|
|
33
|
+
if (toolCallId === undefined || value.toolCallId === toolCallId)
|
|
34
|
+
return value;
|
|
35
|
+
if (value.toolCallId !== undefined)
|
|
36
|
+
fail("InvalidMessage", "Tool result belongs to a different tool call");
|
|
37
|
+
return new ToolMessage(value.content, {
|
|
38
|
+
id: value.id,
|
|
39
|
+
metadata: value.metadata,
|
|
40
|
+
providerState: value.providerState,
|
|
41
|
+
toolCallId,
|
|
25
42
|
});
|
|
26
43
|
}
|
|
27
44
|
//# sourceMappingURL=tool.js.map
|
package/dist/tools/tool.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../../src/tools/tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../../src/tools/tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EACL,UAAU,EACV,SAAS,GAGV,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAiCrD,MAAM,OAAO,IAAI;IACN,IAAI,CAAS;IACb,WAAW,CAAS;IACpB,MAAM,CAAe;IACrB,UAAU,CAAa;IACvB,OAAO,CAGU;IACjB,QAAQ,CAAmB;IACpC,YAAY,UAA6B;QACvC,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;QAC1C,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;QAChC,2EAA2E;QAC3E,IAAI,CAAC,UAAU,GAAG,SAAS,CACzB,IAAI,CAAC,KAAK,CACR,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CACnE,CACY,CAAC;QAChB,IAAI,CAAC,OAAO,GAAG,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CACtC,mBAAmB,CAAC,MAAM,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;QAChE,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;IACtC,CAAC;CACF;AACD,MAAM,UAAU,UAAU,CAAI,UAA6B;IACzD,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;AAC9B,CAAC;AACD,0EAA0E;AAC1E,MAAM,UAAU,mBAAmB,CACjC,KAAiB,EACjB,UAAmB;IAEnB,IAAI,CAAC,CAAC,KAAK,YAAY,WAAW,CAAC,EAAE,CAAC;QACpC,IAAI,KAAK,KAAK,SAAS;YACrB,IAAI,CAAC,mBAAmB,EAAE,mCAAmC,CAAC,CAAC;QACjE,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,KAAK,GAAG,IAAI,WAAW,CACrB,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CACpE,CAAC;IACJ,CAAC;IACD,IAAI,UAAU,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,KAAK,UAAU;QAAE,OAAO,KAAK,CAAC;IAC9E,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS;QAChC,IAAI,CAAC,gBAAgB,EAAE,8CAA8C,CAAC,CAAC;IACzE,OAAO,IAAI,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE;QACpC,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,UAAU;KACX,CAAC,CAAC;AACL,CAAC"}
|
package/dist/trace/records.d.ts
CHANGED
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
import type { ErrorInfo } from "../errors.js";
|
|
2
|
-
import type { JsonObject } from "../json.js";
|
|
3
|
-
import type {
|
|
4
|
-
import type
|
|
2
|
+
import type { JsonObject, Clock, IdGenerator } from "../json.js";
|
|
3
|
+
import type { MessageData } from "../messages/message.js";
|
|
4
|
+
import { type ModelUsage, type UsageSummary } from "./usage.js";
|
|
5
|
+
import type { Checkpoint } from "../state/schema.js";
|
|
6
|
+
import type { ModelRef } from "../models/contract.js";
|
|
7
|
+
/** @internal Creates a record only within an active turn. */
|
|
8
|
+
export declare function createModelAttempt(context: {
|
|
9
|
+
ids: IdGenerator;
|
|
10
|
+
clock: Clock;
|
|
11
|
+
}, checkpoint: Checkpoint, model: ModelRef, purpose: ModelAttemptRecord["purpose"], parentToolExecutionId?: string | null): ModelAttemptRecord;
|
|
5
12
|
export type StreamStatus = "pending" | "running" | "suspended" | "interrupted" | "completed" | "stopped" | "failed" | "cancelled";
|
|
6
13
|
export interface StreamRecord {
|
|
7
14
|
outputMessageIds: readonly string[];
|
|
@@ -49,7 +56,6 @@ export interface ModelAttemptRecord {
|
|
|
49
56
|
providerRequestId: string | null;
|
|
50
57
|
responseMessageId: string | null;
|
|
51
58
|
contextRevision: number;
|
|
52
|
-
requestSnapshotRef: string | null;
|
|
53
59
|
startedAt: string;
|
|
54
60
|
firstOutputAt: string | null;
|
|
55
61
|
endedAt: string | null;
|
|
@@ -78,8 +84,7 @@ export interface ToolExecutionRecord {
|
|
|
78
84
|
endedAt: string | null;
|
|
79
85
|
durationMs: number | null;
|
|
80
86
|
resultMessageId: string | null;
|
|
81
|
-
|
|
82
|
-
result: ToolResult | null;
|
|
87
|
+
result: MessageData | null;
|
|
83
88
|
error: ErrorInfo | null;
|
|
84
89
|
idempotencyKey: string | null;
|
|
85
90
|
}
|
package/dist/trace/records.js
CHANGED
|
@@ -1,2 +1,29 @@
|
|
|
1
|
-
|
|
1
|
+
import { normalizeUsage } from "./usage.js";
|
|
2
|
+
/** @internal Creates a record only within an active turn. */
|
|
3
|
+
export function createModelAttempt(context, checkpoint, model, purpose, parentToolExecutionId = null) {
|
|
4
|
+
return {
|
|
5
|
+
id: context.ids.next("attempt"),
|
|
6
|
+
turnId: checkpoint.execution.turnId,
|
|
7
|
+
streamId: checkpoint.execution.streamId,
|
|
8
|
+
scope: checkpoint.state.scope,
|
|
9
|
+
callId: context.ids.next("call"),
|
|
10
|
+
attemptIndex: 0,
|
|
11
|
+
purpose,
|
|
12
|
+
parentToolExecutionId,
|
|
13
|
+
providerId: model.providerId,
|
|
14
|
+
modelId: model.modelId,
|
|
15
|
+
providerRequestId: null,
|
|
16
|
+
responseMessageId: null,
|
|
17
|
+
contextRevision: checkpoint.revision,
|
|
18
|
+
startedAt: context.clock.now(),
|
|
19
|
+
firstOutputAt: null,
|
|
20
|
+
endedAt: null,
|
|
21
|
+
durationMs: null,
|
|
22
|
+
timeToFirstOutputMs: null,
|
|
23
|
+
status: "running",
|
|
24
|
+
finishReason: null,
|
|
25
|
+
error: null,
|
|
26
|
+
usage: normalizeUsage({}),
|
|
27
|
+
};
|
|
28
|
+
}
|
|
2
29
|
//# sourceMappingURL=records.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"records.js","sourceRoot":"","sources":["../../src/trace/records.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"records.js","sourceRoot":"","sources":["../../src/trace/records.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAsC,MAAM,YAAY,CAAC;AAIhF,6DAA6D;AAC7D,MAAM,UAAU,kBAAkB,CAChC,OAA2C,EAC3C,UAAsB,EACtB,KAAe,EACf,OAAsC,EACtC,qBAAqB,GAAkB,IAAI;IAE3C,OAAO;QACL,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;QAC/B,MAAM,EAAE,UAAU,CAAC,SAAU,CAAC,MAAO;QACrC,QAAQ,EAAE,UAAU,CAAC,SAAU,CAAC,QAAQ;QACxC,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK;QAC7B,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;QAChC,YAAY,EAAE,CAAC;QACf,OAAO;QACP,qBAAqB;QACrB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,iBAAiB,EAAE,IAAI;QACvB,iBAAiB,EAAE,IAAI;QACvB,eAAe,EAAE,UAAU,CAAC,QAAQ;QACpC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE;QAC9B,aAAa,EAAE,IAAI;QACnB,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,IAAI;QAChB,mBAAmB,EAAE,IAAI;QACzB,MAAM,EAAE,SAAS;QACjB,YAAY,EAAE,IAAI;QAClB,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,cAAc,CAAC,EAAE,CAAC;KAC1B,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tessar/core",
|
|
3
|
-
"version": "0.1.0
|
|
3
|
+
"version": "0.1.0",
|
|
4
4
|
"description": "Minimal agent execution, sessions, hooks, state and checkpoints.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|
|
@@ -37,6 +37,12 @@
|
|
|
37
37
|
"dist",
|
|
38
38
|
"src/models/catalog.LICENSE"
|
|
39
39
|
],
|
|
40
|
+
"devDependencies": {
|
|
41
|
+
"zod": "^4.6.7"
|
|
42
|
+
},
|
|
43
|
+
"peerDependencies": {
|
|
44
|
+
"zod": "^4.6.7"
|
|
45
|
+
},
|
|
40
46
|
"scripts": {
|
|
41
47
|
"build": "tsc -p tsconfig.json",
|
|
42
48
|
"typecheck": "tsc --noEmit -p tsconfig.json"
|
package/dist/events/catalog.js
DELETED
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
export const AgentEvents = {
|
|
2
|
-
Diagnostic: "diagnostic",
|
|
3
|
-
Ready: "ready",
|
|
4
|
-
Shutdown: "shutdown",
|
|
5
|
-
ThreadPrepare: "thread.prepare",
|
|
6
|
-
ThreadStarted: "thread.started",
|
|
7
|
-
ThreadBeforeShutdown: "thread.before-shutdown",
|
|
8
|
-
ThreadShutdown: "thread.shutdown",
|
|
9
|
-
ThreadUpdated: "thread.updated",
|
|
10
|
-
InputPrepare: "input.prepare",
|
|
11
|
-
InputReceived: "input.received",
|
|
12
|
-
BeforeStream: "stream.before",
|
|
13
|
-
StreamStarted: "stream.started",
|
|
14
|
-
StreamBeforeEnd: "stream.before-end",
|
|
15
|
-
StreamEnd: "stream.end",
|
|
16
|
-
StreamError: "stream.error",
|
|
17
|
-
StreamSuspended: "stream.suspended",
|
|
18
|
-
StreamResumed: "stream.resumed",
|
|
19
|
-
TurnStart: "turn.start",
|
|
20
|
-
TurnEnd: "turn.end",
|
|
21
|
-
TurnDecision: "turn.decision",
|
|
22
|
-
ContextPrepare: "context.prepare",
|
|
23
|
-
ToolsSelect: "tools.select",
|
|
24
|
-
ModelSelect: "model.select",
|
|
25
|
-
ModelRequest: "model.request",
|
|
26
|
-
ModelStart: "model.start",
|
|
27
|
-
ModelEnd: "model.end",
|
|
28
|
-
ModelResponse: "model.response",
|
|
29
|
-
ModelUsage: "model.usage",
|
|
30
|
-
ModelError: "model.error",
|
|
31
|
-
ModelRecover: "model.recover",
|
|
32
|
-
MessagePrepare: "message.prepare",
|
|
33
|
-
MessageBeforeCommit: "message.before-commit",
|
|
34
|
-
MessageDelta: "message.delta",
|
|
35
|
-
MessageCommitted: "message.committed",
|
|
36
|
-
ToolPrepare: "tool.prepare",
|
|
37
|
-
BeforeTool: "tool.before",
|
|
38
|
-
ToolStart: "tool.start",
|
|
39
|
-
ToolUpdate: "tool.update",
|
|
40
|
-
ToolEnd: "tool.end",
|
|
41
|
-
ToolError: "tool.error",
|
|
42
|
-
ToolResult: "tool.result",
|
|
43
|
-
StreamCancel: "stream.cancel",
|
|
44
|
-
CheckpointCommitted: "checkpoint.committed",
|
|
45
|
-
};
|
|
46
|
-
/** Dispatch behavior is internal metadata; public event identifiers are strings. */
|
|
47
|
-
export const hookKinds = Object.freeze({
|
|
48
|
-
shutdown: "barrier",
|
|
49
|
-
"thread.prepare": "transformation",
|
|
50
|
-
"thread.before-shutdown": "barrier",
|
|
51
|
-
"session.before-close": "barrier",
|
|
52
|
-
"input.prepare": "transformation",
|
|
53
|
-
"stream.before": "decision",
|
|
54
|
-
"stream.before-end": "barrier",
|
|
55
|
-
"turn.decision": "decision",
|
|
56
|
-
"context.prepare": "transformation",
|
|
57
|
-
"tools.select": "transformation",
|
|
58
|
-
"model.select": "decision",
|
|
59
|
-
"model.request": "transformation",
|
|
60
|
-
"model.response": "transformation",
|
|
61
|
-
"model.recover": "decision",
|
|
62
|
-
"message.prepare": "transformation",
|
|
63
|
-
"message.before-commit": "barrier",
|
|
64
|
-
"tool.prepare": "transformation",
|
|
65
|
-
"tool.before": "decision",
|
|
66
|
-
"tool.result": "transformation",
|
|
67
|
-
});
|
|
68
|
-
export const ToolDecision = {
|
|
69
|
-
allow: () => ({ decision: "allow" }),
|
|
70
|
-
deny: (reason) => ({ decision: "deny", reason }),
|
|
71
|
-
};
|
|
72
|
-
export const TurnDecision = {
|
|
73
|
-
continue: () => ({ decision: "continue" }),
|
|
74
|
-
stop: (reason) => ({ decision: "stop", reason }),
|
|
75
|
-
};
|
|
76
|
-
export const InputDecision = {
|
|
77
|
-
continue: (messages) => ({
|
|
78
|
-
messages,
|
|
79
|
-
}),
|
|
80
|
-
handled: (outcome) => ({
|
|
81
|
-
messages: [],
|
|
82
|
-
handled: outcome,
|
|
83
|
-
}),
|
|
84
|
-
reject: (error) => ({
|
|
85
|
-
messages: [],
|
|
86
|
-
rejected: error,
|
|
87
|
-
}),
|
|
88
|
-
};
|
|
89
|
-
//# sourceMappingURL=catalog.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/events/catalog.ts"],"names":[],"mappings":"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"}
|
package/dist/models/cache.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { ModelProfile } from "./profile.js";
|
|
2
|
-
export declare const PROFILE_TTL_MS: number;
|
|
3
|
-
export declare class ProfileCache {
|
|
4
|
-
private readonly values;
|
|
5
|
-
key(provider: string, model: string, endpoint: string, partition: string): string;
|
|
6
|
-
get(key: string): {
|
|
7
|
-
profile: ModelProfile;
|
|
8
|
-
fetchedAt: number;
|
|
9
|
-
} | undefined;
|
|
10
|
-
set(key: string, profile: ModelProfile, fetchedAt: number): void;
|
|
11
|
-
clear(): void;
|
|
12
|
-
}
|
package/dist/models/cache.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export const PROFILE_TTL_MS = 24 * 60 * 60 * 1000;
|
|
2
|
-
export class ProfileCache {
|
|
3
|
-
values = new Map();
|
|
4
|
-
key(provider, model, endpoint, partition) {
|
|
5
|
-
return JSON.stringify([provider, model, endpoint, partition]);
|
|
6
|
-
}
|
|
7
|
-
get(key) {
|
|
8
|
-
return this.values.get(key);
|
|
9
|
-
}
|
|
10
|
-
set(key, profile, fetchedAt) {
|
|
11
|
-
this.values.set(key, { profile, fetchedAt });
|
|
12
|
-
}
|
|
13
|
-
clear() {
|
|
14
|
-
this.values.clear();
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=cache.js.map
|
package/dist/models/cache.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/models/cache.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAClD,MAAM,OAAO,YAAY;IACN,MAAM,GAAG,IAAI,GAAG,EAG9B,CAAC;IACJ,GAAG,CACD,QAAgB,EAChB,KAAa,EACb,QAAgB,EAChB,SAAiB;QAEjB,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;IAChE,CAAC;IACD,GAAG,CAAC,GAAW;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IACD,GAAG,CAAC,GAAW,EAAE,OAAqB,EAAE,SAAiB;QACvD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;IAC/C,CAAC;IACD,KAAK;QACH,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;CACF"}
|
package/dist/session-events.d.ts
DELETED
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import type { ModelRef } from "./models/contract.js";
|
|
2
|
-
export interface QueuedInputReceipt {
|
|
3
|
-
id: string;
|
|
4
|
-
threadId: string;
|
|
5
|
-
}
|
|
6
|
-
export interface ExecutionReceipt {
|
|
7
|
-
streamId: string;
|
|
8
|
-
threadId: string;
|
|
9
|
-
}
|
|
10
|
-
export declare const SessionEvents: {
|
|
11
|
-
readonly Created: "session.created";
|
|
12
|
-
readonly ModelChanged: "session.model-changed";
|
|
13
|
-
readonly ThreadCreated: "session.thread-created";
|
|
14
|
-
readonly ThreadSwitched: "session.thread-switched";
|
|
15
|
-
readonly ThreadRenamed: "session.thread-renamed";
|
|
16
|
-
readonly ThreadForked: "session.thread-forked";
|
|
17
|
-
readonly ThreadDeleted: "session.thread-deleted";
|
|
18
|
-
readonly InputQueued: "session.input-queued";
|
|
19
|
-
readonly InputDiscarded: "session.input-discarded";
|
|
20
|
-
readonly BeforeClose: "session.before-close";
|
|
21
|
-
readonly Closed: "session.closed";
|
|
22
|
-
};
|
|
23
|
-
declare module "./events/definition.js" {
|
|
24
|
-
interface EventMap {
|
|
25
|
-
"session.created": HookSpec<{
|
|
26
|
-
model: ModelRef;
|
|
27
|
-
}>;
|
|
28
|
-
"session.model-changed": HookSpec<{
|
|
29
|
-
previous: ModelRef;
|
|
30
|
-
model: ModelRef;
|
|
31
|
-
}>;
|
|
32
|
-
"session.thread-created": HookSpec<{
|
|
33
|
-
threadId: string;
|
|
34
|
-
}>;
|
|
35
|
-
"session.thread-switched": HookSpec<{
|
|
36
|
-
previousThreadId: string | null;
|
|
37
|
-
threadId: string;
|
|
38
|
-
}>;
|
|
39
|
-
"session.thread-renamed": HookSpec<{
|
|
40
|
-
threadId: string;
|
|
41
|
-
title: string;
|
|
42
|
-
}>;
|
|
43
|
-
"session.thread-forked": HookSpec<{
|
|
44
|
-
sourceThreadId: string;
|
|
45
|
-
threadId: string;
|
|
46
|
-
}>;
|
|
47
|
-
"session.thread-deleted": HookSpec<{
|
|
48
|
-
threadId: string;
|
|
49
|
-
}>;
|
|
50
|
-
"session.input-queued": HookSpec<{
|
|
51
|
-
receipt: QueuedInputReceipt;
|
|
52
|
-
}>;
|
|
53
|
-
"session.input-discarded": HookSpec<{
|
|
54
|
-
receipt: QueuedInputReceipt;
|
|
55
|
-
cause: string;
|
|
56
|
-
}>;
|
|
57
|
-
"session.before-close": HookSpec<{}>;
|
|
58
|
-
"session.closed": HookSpec<{}>;
|
|
59
|
-
}
|
|
60
|
-
}
|
package/dist/session-events.js
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export const SessionEvents = {
|
|
2
|
-
Created: "session.created",
|
|
3
|
-
ModelChanged: "session.model-changed",
|
|
4
|
-
ThreadCreated: "session.thread-created",
|
|
5
|
-
ThreadSwitched: "session.thread-switched",
|
|
6
|
-
ThreadRenamed: "session.thread-renamed",
|
|
7
|
-
ThreadForked: "session.thread-forked",
|
|
8
|
-
ThreadDeleted: "session.thread-deleted",
|
|
9
|
-
InputQueued: "session.input-queued",
|
|
10
|
-
InputDiscarded: "session.input-discarded",
|
|
11
|
-
BeforeClose: "session.before-close",
|
|
12
|
-
Closed: "session.closed",
|
|
13
|
-
};
|
|
14
|
-
//# sourceMappingURL=session-events.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"session-events.js","sourceRoot":"","sources":["../src/session-events.ts"],"names":[],"mappings":"AAUA,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,OAAO,EAAE,iBAAiB;IAC1B,YAAY,EAAE,uBAAuB;IACrC,aAAa,EAAE,wBAAwB;IACvC,cAAc,EAAE,yBAAyB;IACzC,aAAa,EAAE,wBAAwB;IACvC,YAAY,EAAE,uBAAuB;IACrC,aAAa,EAAE,wBAAwB;IACvC,WAAW,EAAE,sBAAsB;IACnC,cAAc,EAAE,yBAAyB;IACzC,WAAW,EAAE,sBAAsB;IACnC,MAAM,EAAE,gBAAgB;CAChB,CAAC"}
|