@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
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import { type Clock } from "../json.js";
|
|
2
2
|
import type { ModelProfile, ProfilePatch } from "./profile.js";
|
|
3
3
|
import type { ModelRef, ModelProviderRegistration } from "./contract.js";
|
|
4
|
-
import { ProfileCache } from "./cache.js";
|
|
5
4
|
import { type CatalogSnapshot } from "./catalog.js";
|
|
6
5
|
export declare function emptyProfile(ref: ModelRef): ModelProfile;
|
|
7
6
|
export declare function applyPatch(base: ModelProfile, patch: ProfilePatch, source: string, now: string): ModelProfile;
|
|
8
7
|
export declare class ProfileResolver {
|
|
9
8
|
private readonly options;
|
|
10
9
|
catalog: CatalogSnapshot;
|
|
11
|
-
readonly cache:
|
|
10
|
+
readonly cache: Map<string, {
|
|
11
|
+
profile: ModelProfile;
|
|
12
|
+
fetchedAt: number;
|
|
13
|
+
}>;
|
|
12
14
|
private readonly pending;
|
|
13
15
|
constructor(options?: {
|
|
14
16
|
catalog?: CatalogSnapshot;
|
package/dist/models/resolver.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { immutable, systemClock } from "../json.js";
|
|
2
|
-
import { PROFILE_TTL_MS, ProfileCache } from "./cache.js";
|
|
3
2
|
import { bundledCatalog } from "./catalog.js";
|
|
4
3
|
export function emptyProfile(ref) {
|
|
5
4
|
return immutable({
|
|
@@ -70,10 +69,11 @@ export function applyPatch(base, patch, source, now) {
|
|
|
70
69
|
};
|
|
71
70
|
return immutable(next);
|
|
72
71
|
}
|
|
72
|
+
const PROFILE_TTL_MS = 24 * 60 * 60 * 1000;
|
|
73
73
|
export class ProfileResolver {
|
|
74
74
|
options;
|
|
75
75
|
catalog;
|
|
76
|
-
cache = new
|
|
76
|
+
cache = new Map();
|
|
77
77
|
pending = new Map();
|
|
78
78
|
constructor(options = {}) {
|
|
79
79
|
this.options = options;
|
|
@@ -83,7 +83,12 @@ export class ProfileResolver {
|
|
|
83
83
|
return (this.options.clock ?? systemClock).now();
|
|
84
84
|
}
|
|
85
85
|
key(provider, ref) {
|
|
86
|
-
return
|
|
86
|
+
return JSON.stringify([
|
|
87
|
+
ref.providerId,
|
|
88
|
+
ref.modelId,
|
|
89
|
+
provider.endpoint ?? "",
|
|
90
|
+
provider.metadataPartition ?? "registration",
|
|
91
|
+
]);
|
|
87
92
|
}
|
|
88
93
|
needsRefresh(ref, provider) {
|
|
89
94
|
const cached = this.cache.get(this.key(provider, ref));
|
|
@@ -140,7 +145,7 @@ export class ProfileResolver {
|
|
|
140
145
|
});
|
|
141
146
|
}
|
|
142
147
|
}
|
|
143
|
-
this.cache.set(key, profile, Date.parse(this.now()));
|
|
148
|
+
this.cache.set(key, { profile, fetchedAt: Date.parse(this.now()) });
|
|
144
149
|
return profile;
|
|
145
150
|
})();
|
|
146
151
|
this.pending.set(key, promise);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../src/models/resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAc,WAAW,EAAE,MAAM,YAAY,CAAC;AAGhE,OAAO,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../src/models/resolver.ts"],"names":[],"mappings":"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"}
|
package/dist/models/stream.d.ts
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
import type { ExecutionPosition } from "../state/schema.js";
|
|
2
|
+
import type { RegistryLease } from "../plugins/registry.js";
|
|
1
3
|
import type { ModelAdapter, ModelCallContext, ModelRef, ModelRequest } from "./contract.js";
|
|
4
|
+
export declare function isModelAdapter(value: unknown): value is ModelAdapter;
|
|
5
|
+
export declare function selectAdapter(registry: RegistryLease, ref: ModelRef, direct?: ModelAdapter): ModelAdapter;
|
|
6
|
+
/** Bind before continuation effects, including when no assistant history exists yet. */
|
|
7
|
+
export declare function bindExecutionModel(registry: RegistryLease, position: ExecutionPosition, direct?: ModelAdapter, override?: ModelRef): ModelAdapter;
|
|
2
8
|
export declare function providerCall<T>(ref: ModelRef, operation: () => T): T;
|
|
3
9
|
export declare function streamModel(adapter: ModelAdapter, request: ModelRequest, context: ModelCallContext): AsyncGenerator<import("./contract.js").ModelChunk, void, any>;
|
package/dist/models/stream.js
CHANGED
|
@@ -1,7 +1,62 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { canonicalJson } from "../state/commit.js";
|
|
2
|
+
import { errorInfo, fail, TessarError } from "../errors.js";
|
|
3
|
+
import { normalizeInstruction } from "../instructions/instruction.js";
|
|
4
|
+
export function isModelAdapter(value) {
|
|
5
|
+
return (!!value &&
|
|
6
|
+
typeof value === "object" &&
|
|
7
|
+
typeof value.stream === "function" &&
|
|
8
|
+
typeof value.validate === "function");
|
|
9
|
+
}
|
|
10
|
+
export function selectAdapter(registry, ref, direct) {
|
|
11
|
+
if (direct &&
|
|
12
|
+
direct.ref.providerId === ref.providerId &&
|
|
13
|
+
direct.ref.connectionId === ref.connectionId) {
|
|
14
|
+
if (direct.ref.modelId === ref.modelId)
|
|
15
|
+
return direct;
|
|
16
|
+
if (direct.withModel)
|
|
17
|
+
return providerCall(ref, () => direct.withModel(ref.modelId));
|
|
18
|
+
}
|
|
19
|
+
const provider = registry.find("provider", ref.providerId);
|
|
20
|
+
if (!provider)
|
|
21
|
+
fail("MissingProvider", "Model provider is not registered");
|
|
22
|
+
const adapter = providerCall(ref, () => provider.create(ref.modelId));
|
|
23
|
+
if (ref.connectionId !== undefined &&
|
|
24
|
+
adapter.ref.connectionId !== ref.connectionId)
|
|
25
|
+
fail("ModelContextIncompatible", "The selected connection is no longer available");
|
|
26
|
+
return adapter;
|
|
27
|
+
}
|
|
28
|
+
/** Bind before continuation effects, including when no assistant history exists yet. */
|
|
29
|
+
export function bindExecutionModel(registry, position, direct, override) {
|
|
30
|
+
const ref = override ?? position.modelRef;
|
|
31
|
+
const changed = ref.providerId !== position.modelRef.providerId ||
|
|
32
|
+
ref.connectionId !== position.modelRef.connectionId;
|
|
33
|
+
const adapter = selectAdapter(registry, ref, direct);
|
|
34
|
+
if (!changed &&
|
|
35
|
+
position.modelConnection &&
|
|
36
|
+
canonicalJson(position.modelConnection) !==
|
|
37
|
+
canonicalJson(adapter.connection ?? null))
|
|
38
|
+
fail("ModelContextIncompatible", "Execution model connection changed");
|
|
39
|
+
if (changed)
|
|
40
|
+
delete position.modelOptions;
|
|
41
|
+
position.modelRef = {
|
|
42
|
+
...ref,
|
|
43
|
+
...(adapter.ref.connectionId
|
|
44
|
+
? { connectionId: adapter.ref.connectionId }
|
|
45
|
+
: {}),
|
|
46
|
+
};
|
|
47
|
+
if (adapter.connection)
|
|
48
|
+
position.modelConnection = adapter.connection;
|
|
49
|
+
else
|
|
50
|
+
delete position.modelConnection;
|
|
51
|
+
return adapter;
|
|
52
|
+
}
|
|
2
53
|
function record(error, ref) {
|
|
3
54
|
if (!(error instanceof TessarError))
|
|
4
|
-
errorInfo(error, {
|
|
55
|
+
errorInfo(error, {
|
|
56
|
+
source: "provider",
|
|
57
|
+
providerId: ref.providerId,
|
|
58
|
+
modelId: ref.modelId,
|
|
59
|
+
});
|
|
5
60
|
}
|
|
6
61
|
export function providerCall(ref, operation) {
|
|
7
62
|
try {
|
|
@@ -13,6 +68,10 @@ export function providerCall(ref, operation) {
|
|
|
13
68
|
}
|
|
14
69
|
}
|
|
15
70
|
export async function* streamModel(adapter, request, context) {
|
|
71
|
+
request = {
|
|
72
|
+
...request,
|
|
73
|
+
instructions: normalizeInstruction(request.instructions),
|
|
74
|
+
};
|
|
16
75
|
try {
|
|
17
76
|
yield* adapter.stream(request, context);
|
|
18
77
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/models/stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/models/stream.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,13 +6,38 @@ import type { ModelProviderRegistration } from "../models/contract.js";
|
|
|
6
6
|
import type { StorageBackend } from "../state/storage-ports.js";
|
|
7
7
|
import type { PluginStateDefinition } from "../state/plugin-state.js";
|
|
8
8
|
import type { JsonValue } from "../json.js";
|
|
9
|
+
import type { Session } from "../session.js";
|
|
10
|
+
import type { Thread } from "../thread.js";
|
|
11
|
+
import type { Agent } from "../agent.js";
|
|
9
12
|
export type Disposer = () => void | Promise<void>;
|
|
13
|
+
/** Read access to capabilities captured for the current hook execution. */
|
|
14
|
+
export interface CapabilityRegistry {
|
|
15
|
+
get<T = unknown>(kind: string, id: string): T | undefined;
|
|
16
|
+
list<T = unknown>(kind: string): readonly T[];
|
|
17
|
+
}
|
|
18
|
+
/** Controls that do not wait for completion of the active execution. */
|
|
19
|
+
export type SessionHookHandle = Pick<Session, "id" | "scope" | "model" | "thread" | "setModel" | "followUp">;
|
|
20
|
+
export type ThreadHookHandle = Pick<Thread, "id" | "scope" | "snapshot" | "getHistory" | "getCheckpoint" | "listCheckpoints">;
|
|
10
21
|
export interface HookContext {
|
|
22
|
+
readonly registry: CapabilityRegistry;
|
|
23
|
+
readonly sessionId?: string;
|
|
11
24
|
readonly signal?: AbortSignal;
|
|
25
|
+
readonly session?: SessionHookHandle;
|
|
26
|
+
readonly thread?: ThreadHookHandle;
|
|
12
27
|
readonly [key: string]: unknown;
|
|
13
28
|
}
|
|
29
|
+
export interface SessionHookContext extends HookContext {
|
|
30
|
+
readonly session: SessionHookHandle;
|
|
31
|
+
}
|
|
32
|
+
export interface ThreadHookContext extends HookContext {
|
|
33
|
+
readonly thread: ThreadHookHandle;
|
|
34
|
+
}
|
|
14
35
|
export type EventHandler<D extends AnyEvent> = (event: EventEnvelope<PayloadOf<D>, D>, context: ContextOf<D>) => ResultOf<D> | void | Promise<ResultOf<D> | void>;
|
|
15
36
|
export interface PluginContext {
|
|
37
|
+
/** Registers an Agent owned by this plugin; shutdown follows plugin disposal. */
|
|
38
|
+
readonly agent: {
|
|
39
|
+
register(agent: Agent): void;
|
|
40
|
+
};
|
|
16
41
|
readonly effects: {
|
|
17
42
|
register(definition: EffectDefinition): void;
|
|
18
43
|
};
|
|
@@ -23,13 +48,13 @@ export interface PluginContext {
|
|
|
23
48
|
define<T extends JsonValue>(definition: Omit<PluginStateDefinition<T>, "pluginId">): PluginStateDefinition<T>;
|
|
24
49
|
};
|
|
25
50
|
readonly storage: {
|
|
26
|
-
|
|
51
|
+
register(backend: StorageBackend): void;
|
|
27
52
|
};
|
|
28
53
|
readonly tools: {
|
|
29
54
|
register(tool: Tool): void;
|
|
30
55
|
};
|
|
31
56
|
readonly models: {
|
|
32
|
-
|
|
57
|
+
register(provider: ModelProviderRegistration): void;
|
|
33
58
|
};
|
|
34
59
|
hook<D extends AnyEvent>(name: D, handler: EventHandler<D>, options?: HookOptions): Disposer;
|
|
35
60
|
emit<D extends AnyEvent>(definition: D, payload: PayloadOf<D>): Promise<ResultOf<D>>;
|
package/dist/plugins/host.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type ErrorInfo } from "../errors.js";
|
|
2
|
+
import { type OperationEvent } from "../events/type.js";
|
|
2
3
|
import type { AnyEvent, EventContext, PayloadOf, ResultOf, EventKind } from "../events/definition.js";
|
|
3
4
|
import type { HookContext, Plugin } from "./context.js";
|
|
4
5
|
import { RegistryLease, type ValueRegistration } from "./registry.js";
|
|
@@ -7,14 +8,17 @@ export declare class PluginHost {
|
|
|
7
8
|
private generation;
|
|
8
9
|
private definitions;
|
|
9
10
|
private storageSealed;
|
|
11
|
+
authorize<D extends OperationEvent>(name: D, payload: PayloadOf<D>, context: Partial<HookContext> & EventContext): Promise<void>;
|
|
10
12
|
sealStorage(): void;
|
|
11
13
|
kind(name: string): EventKind;
|
|
12
14
|
private mutation;
|
|
13
15
|
private closed;
|
|
14
16
|
private disposal?;
|
|
15
17
|
private readonly diagnostics;
|
|
18
|
+
private readonly values;
|
|
16
19
|
constructor(options?: {
|
|
17
20
|
diagnostics?: (error: ErrorInfo, context?: EventContext) => void;
|
|
21
|
+
values?: readonly ValueRegistration[];
|
|
18
22
|
});
|
|
19
23
|
initialize(plugins: readonly Plugin[]): Promise<void>;
|
|
20
24
|
private serialize;
|
|
@@ -22,7 +26,7 @@ export declare class PluginHost {
|
|
|
22
26
|
detach(id: string): Promise<void>;
|
|
23
27
|
private releaseSlot;
|
|
24
28
|
capture(): RegistryLease;
|
|
25
|
-
dispatch<D extends AnyEvent>(definition: D, payload: PayloadOf<D>, context?: HookContext & EventContext, captured?: RegistryLease): Promise<ResultOf<D>>;
|
|
29
|
+
dispatch<D extends AnyEvent>(definition: D, payload: PayloadOf<D>, context?: Partial<HookContext> & EventContext, captured?: RegistryLease): Promise<ResultOf<D>>;
|
|
26
30
|
registrations(): readonly ValueRegistration[];
|
|
27
31
|
dispose(): Promise<void>;
|
|
28
32
|
}
|
package/dist/plugins/host.js
CHANGED
|
@@ -1,14 +1,22 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { diagnostic as diagnosticHooks } from "../events/type.js";
|
|
2
|
+
import { TessarError, errorInfo, fail, requireId, } from "../errors.js";
|
|
2
3
|
import { dispatch } from "../events/dispatcher.js";
|
|
3
|
-
import {
|
|
4
|
-
import { SessionEvents } from "../session-events.js";
|
|
4
|
+
import { hookKinds } from "../events/type.js";
|
|
5
5
|
import { RegistryLease, } from "./registry.js";
|
|
6
6
|
import { definePluginState } from "../state/plugin-state.js";
|
|
7
7
|
export class PluginHost {
|
|
8
8
|
slots = [];
|
|
9
9
|
generation = 0;
|
|
10
|
-
definitions = new Map(
|
|
10
|
+
definitions = new Map(Object.entries(hookKinds).map(([name, kind]) => [
|
|
11
|
+
name,
|
|
12
|
+
{ kind, version: 1 },
|
|
13
|
+
]));
|
|
11
14
|
storageSealed = false;
|
|
15
|
+
async authorize(name, payload, context) {
|
|
16
|
+
const decision = await this.dispatch(name, payload, context);
|
|
17
|
+
if (decision?.decision === "deny")
|
|
18
|
+
fail("OperationDenied", decision.reason ?? "Operation denied by plugin policy");
|
|
19
|
+
}
|
|
12
20
|
sealStorage() {
|
|
13
21
|
this.storageSealed = true;
|
|
14
22
|
}
|
|
@@ -19,8 +27,10 @@ export class PluginHost {
|
|
|
19
27
|
closed = false;
|
|
20
28
|
disposal;
|
|
21
29
|
diagnostics;
|
|
30
|
+
values;
|
|
22
31
|
constructor(options = {}) {
|
|
23
32
|
this.diagnostics = options.diagnostics ?? (() => { });
|
|
33
|
+
this.values = options.values ?? [];
|
|
24
34
|
}
|
|
25
35
|
async initialize(plugins) {
|
|
26
36
|
try {
|
|
@@ -59,6 +69,7 @@ export class PluginHost {
|
|
|
59
69
|
if (kind === "storage" && this.storageSealed)
|
|
60
70
|
fail("InvalidTransition", "Storage backend is fixed after initialization");
|
|
61
71
|
if ([
|
|
72
|
+
...this.values,
|
|
62
73
|
...this.slots.filter((s) => !s.detached).flatMap((s) => s.values),
|
|
63
74
|
...slot.values,
|
|
64
75
|
].some((v) => v.kind === kind && v.id === id))
|
|
@@ -75,6 +86,12 @@ export class PluginHost {
|
|
|
75
86
|
};
|
|
76
87
|
const tessar = {
|
|
77
88
|
registry: { register },
|
|
89
|
+
agent: {
|
|
90
|
+
register: (agent) => {
|
|
91
|
+
register("agent", agent.id, agent);
|
|
92
|
+
tessar.defer(() => agent.shutdown());
|
|
93
|
+
},
|
|
94
|
+
},
|
|
78
95
|
effects: {
|
|
79
96
|
register: (definition) => {
|
|
80
97
|
const stateDefinition = definePluginState({
|
|
@@ -102,10 +119,10 @@ export class PluginHost {
|
|
|
102
119
|
},
|
|
103
120
|
tools: { register: (tool) => register("tool", tool.name, tool) },
|
|
104
121
|
models: {
|
|
105
|
-
|
|
122
|
+
register: (provider) => register("provider", provider.id, provider),
|
|
106
123
|
},
|
|
107
124
|
storage: {
|
|
108
|
-
|
|
125
|
+
register: (backend) => {
|
|
109
126
|
register("storage", "primary", backend);
|
|
110
127
|
tessar.defer(() => backend.close());
|
|
111
128
|
},
|
|
@@ -149,7 +166,9 @@ export class PluginHost {
|
|
|
149
166
|
this.generation++;
|
|
150
167
|
}
|
|
151
168
|
catch (error) {
|
|
152
|
-
this.diagnostics(errorInfo(error, error instanceof TessarError
|
|
169
|
+
this.diagnostics(errorInfo(error, error instanceof TessarError
|
|
170
|
+
? undefined
|
|
171
|
+
: { source: "plugin", pluginId: plugin.id }));
|
|
153
172
|
slot.detached = true;
|
|
154
173
|
await this.releaseSlot(slot);
|
|
155
174
|
throw error;
|
|
@@ -180,15 +199,15 @@ export class PluginHost {
|
|
|
180
199
|
}
|
|
181
200
|
}
|
|
182
201
|
capture() {
|
|
183
|
-
return new RegistryLease(this.generation, this.slots.filter((s) => !s.detached), (slot) => this.releaseSlot(slot));
|
|
202
|
+
return new RegistryLease(this.generation, this.slots.filter((s) => !s.detached), (slot) => this.releaseSlot(slot), this.values);
|
|
184
203
|
}
|
|
185
204
|
async dispatch(definition, payload, context = {}, captured) {
|
|
186
205
|
const lease = captured ?? this.capture();
|
|
187
206
|
try {
|
|
188
|
-
return await dispatch(lease, definition, payload, context, definition ===
|
|
207
|
+
return await dispatch(lease, definition, payload, context, definition === diagnosticHooks ? () => { } : this.diagnostics, this.kind(definition));
|
|
189
208
|
}
|
|
190
209
|
catch (error) {
|
|
191
|
-
if (definition !==
|
|
210
|
+
if (definition !== diagnosticHooks)
|
|
192
211
|
this.diagnostics(errorInfo(error), context);
|
|
193
212
|
throw error;
|
|
194
213
|
}
|
|
@@ -198,7 +217,10 @@ export class PluginHost {
|
|
|
198
217
|
}
|
|
199
218
|
}
|
|
200
219
|
registrations() {
|
|
201
|
-
return
|
|
220
|
+
return [
|
|
221
|
+
...this.values,
|
|
222
|
+
...this.slots.filter((s) => !s.detached).flatMap((s) => s.values),
|
|
223
|
+
];
|
|
202
224
|
}
|
|
203
225
|
dispose() {
|
|
204
226
|
this.closed = true;
|
package/dist/plugins/host.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host.js","sourceRoot":"","sources":["../../src/plugins/host.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"host.js","sourceRoot":"","sources":["../../src/plugins/host.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,7 +35,7 @@ export declare class RegistryLease {
|
|
|
35
35
|
readonly handlers: readonly HandlerRegistration[];
|
|
36
36
|
readonly values: readonly ValueRegistration[];
|
|
37
37
|
private released;
|
|
38
|
-
constructor(generation: number, slots: readonly PluginSlot[], releaseSlot: (slot: PluginSlot) => Promise<void
|
|
38
|
+
constructor(generation: number, slots: readonly PluginSlot[], releaseSlot: (slot: PluginSlot) => Promise<void>, values?: readonly ValueRegistration[]);
|
|
39
39
|
release(): Promise<void>;
|
|
40
40
|
find<T>(kind: string, id: string): T | undefined;
|
|
41
41
|
list<T>(kind: string): readonly T[];
|
package/dist/plugins/registry.js
CHANGED
|
@@ -5,21 +5,29 @@ export class RegistryLease {
|
|
|
5
5
|
handlers;
|
|
6
6
|
values;
|
|
7
7
|
released = false;
|
|
8
|
-
constructor(generation, slots, releaseSlot) {
|
|
8
|
+
constructor(generation, slots, releaseSlot, values = []) {
|
|
9
9
|
this.generation = generation;
|
|
10
10
|
this.slots = slots;
|
|
11
11
|
this.releaseSlot = releaseSlot;
|
|
12
|
-
this.handlers = slots.flatMap(s => s.handlers.slice());
|
|
13
|
-
this.values = slots.flatMap(s => s.values.slice());
|
|
12
|
+
this.handlers = slots.flatMap((s) => s.handlers.slice());
|
|
13
|
+
this.values = [...values, ...slots.flatMap((s) => s.values.slice())];
|
|
14
14
|
for (const slot of slots)
|
|
15
15
|
slot.references++;
|
|
16
16
|
}
|
|
17
|
-
async release() {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
17
|
+
async release() {
|
|
18
|
+
if (this.released)
|
|
19
|
+
return;
|
|
20
|
+
this.released = true;
|
|
21
|
+
for (const slot of this.slots) {
|
|
22
|
+
slot.references--;
|
|
23
|
+
await this.releaseSlot(slot);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
find(kind, id) {
|
|
27
|
+
return this.values.find((v) => v.kind === kind && v.id === id)?.value;
|
|
28
|
+
}
|
|
29
|
+
list(kind) {
|
|
30
|
+
return this.values.filter((v) => v.kind === kind).map((v) => v.value);
|
|
31
|
+
}
|
|
24
32
|
}
|
|
25
33
|
//# sourceMappingURL=registry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/plugins/registry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/plugins/registry.ts"],"names":[],"mappings":"AA8BA,MAAM,OAAO,aAAa;IAKb,UAAU;IACF,KAAK;IACL,WAAW;IANrB,QAAQ,CAAiC;IACzC,MAAM,CAA+B;IACtC,QAAQ,GAAG,KAAK,CAAC;IACzB,YACW,UAAkB,EACV,KAA4B,EAC5B,WAAgD,EACjE,MAAM,GAAiC,EAAE;0BAHhC,UAAU;qBACF,KAAK;2BACL,WAAW;QAG5B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACrE,KAAK,MAAM,IAAI,IAAI,KAAK;YAAE,IAAI,CAAC,UAAU,EAAE,CAAC;IAC9C,CAAC;IACD,KAAK,CAAC,OAAO;QACX,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IACD,IAAI,CAAI,IAAY,EAAE,EAAU;QAC9B,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAEnD,CAAC;IAChB,CAAC;IACD,IAAI,CAAI,IAAY;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAU,CAAC,CAAC;IAC7E,CAAC;CACF"}
|
package/dist/session.d.ts
CHANGED
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
import type { Controller } from "./controller.js";
|
|
2
2
|
import { Thread } from "./thread.js";
|
|
3
3
|
import { EventEnvelope, type AnyEvent, type PayloadOf, type StreamEvent } from "./events/definition.js";
|
|
4
|
-
import { type ExecutionReceipt, type QueuedInputReceipt } from "./
|
|
5
|
-
import { type JsonValue } from "./json.js";
|
|
4
|
+
import { type ExecutionReceipt, type QueuedInputReceipt } from "./events/type.js";
|
|
5
|
+
import { type JsonValue, type JsonObject } from "./json.js";
|
|
6
6
|
import type { Model } from "./models/profile.js";
|
|
7
7
|
import type { ModelRef } from "./models/contract.js";
|
|
8
8
|
import type { MessageData } from "./messages/message.js";
|
|
9
|
-
import type { Scope, PageOptions } from "./state/schema.js";
|
|
9
|
+
import type { Scope, PageOptions, SessionRecord } from "./state/schema.js";
|
|
10
10
|
import type { CreateThreadOptions } from "./state/threads.js";
|
|
11
11
|
import type { ForkOptions } from "./state/fork.js";
|
|
12
12
|
import type { HistoryOptions } from "./state/queries.js";
|
|
13
13
|
export interface SessionOptions {
|
|
14
14
|
scope?: Scope;
|
|
15
15
|
model?: Model | ModelRef;
|
|
16
|
+
metadata?: JsonObject;
|
|
16
17
|
}
|
|
17
18
|
export type SessionThreadOptions = Omit<CreateThreadOptions, "scope">;
|
|
18
19
|
export interface ThreadTarget {
|
|
@@ -21,8 +22,11 @@ export interface ThreadTarget {
|
|
|
21
22
|
type Observer = (event: StreamEvent) => unknown;
|
|
22
23
|
export declare class Session {
|
|
23
24
|
readonly controller: Controller;
|
|
24
|
-
|
|
25
|
+
private record;
|
|
26
|
+
readonly agent: import("./agent.js").Agent<import("./agent.js").ModelSelection>;
|
|
25
27
|
readonly scope: Scope;
|
|
28
|
+
readonly id: string;
|
|
29
|
+
get metadata(): JsonObject;
|
|
26
30
|
private selection;
|
|
27
31
|
private selectedModel;
|
|
28
32
|
private readonly observers;
|
|
@@ -33,14 +37,20 @@ export declare class Session {
|
|
|
33
37
|
private closing;
|
|
34
38
|
private disposal?;
|
|
35
39
|
private sequence;
|
|
36
|
-
|
|
40
|
+
private controlPending;
|
|
41
|
+
private control;
|
|
42
|
+
constructor(controller: Controller, record: SessionRecord, model: Model, thread?: Thread | null);
|
|
43
|
+
/** @internal Called only after durable creation, never on restoration. */
|
|
44
|
+
created(): void;
|
|
45
|
+
private persist;
|
|
46
|
+
private assertCurrent;
|
|
37
47
|
get model(): Model;
|
|
38
48
|
private check;
|
|
39
49
|
private get busy();
|
|
40
50
|
private checkSelectionChange;
|
|
41
51
|
private selected;
|
|
42
52
|
private target;
|
|
43
|
-
setModel(model: Model | ModelRef): void
|
|
53
|
+
setModel(model: Model | ModelRef): Promise<void>;
|
|
44
54
|
subscribe(observer: Observer): () => void;
|
|
45
55
|
subscribe<N extends AnyEvent>(name: N, observer: (event: EventEnvelope<PayloadOf<N>, N>) => unknown): () => void;
|
|
46
56
|
private emit;
|