@felan-ai/daemon 0.0.0-stage → 0.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/LICENSE +21 -0
- package/NOTICE +69 -0
- package/README.md +61 -2
- package/dist/client.d.ts +5 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +4 -0
- package/dist/client.js.map +1 -0
- package/dist/daemon/admission.d.ts +39 -0
- package/dist/daemon/admission.d.ts.map +1 -0
- package/dist/daemon/admission.js +175 -0
- package/dist/daemon/admission.js.map +1 -0
- package/dist/daemon/agent-logs.d.ts +11 -0
- package/dist/daemon/agent-logs.d.ts.map +1 -0
- package/dist/daemon/agent-logs.js +31 -0
- package/dist/daemon/agent-logs.js.map +1 -0
- package/dist/daemon/bootstrap.d.ts +7 -0
- package/dist/daemon/bootstrap.d.ts.map +1 -0
- package/dist/daemon/bootstrap.js +4 -0
- package/dist/daemon/bootstrap.js.map +1 -0
- package/dist/daemon/broker.d.ts +94 -0
- package/dist/daemon/broker.d.ts.map +1 -0
- package/dist/daemon/broker.js +374 -0
- package/dist/daemon/broker.js.map +1 -0
- package/dist/daemon/commands.d.ts +47 -0
- package/dist/daemon/commands.d.ts.map +1 -0
- package/dist/daemon/commands.js +639 -0
- package/dist/daemon/commands.js.map +1 -0
- package/dist/daemon/control-recovery.d.ts +9 -0
- package/dist/daemon/control-recovery.d.ts.map +1 -0
- package/dist/daemon/control-recovery.js +68 -0
- package/dist/daemon/control-recovery.js.map +1 -0
- package/dist/daemon/control-state.d.ts +1915 -0
- package/dist/daemon/control-state.d.ts.map +1 -0
- package/dist/daemon/control-state.js +154 -0
- package/dist/daemon/control-state.js.map +1 -0
- package/dist/daemon/control-store.d.ts +113 -0
- package/dist/daemon/control-store.d.ts.map +1 -0
- package/dist/daemon/control-store.js +901 -0
- package/dist/daemon/control-store.js.map +1 -0
- package/dist/daemon/execution-policy.d.ts +15 -0
- package/dist/daemon/execution-policy.d.ts.map +1 -0
- package/dist/daemon/execution-policy.js +42 -0
- package/dist/daemon/execution-policy.js.map +1 -0
- package/dist/daemon/execution-services.d.ts +5 -0
- package/dist/daemon/execution-services.d.ts.map +1 -0
- package/dist/daemon/execution-services.js +73 -0
- package/dist/daemon/execution-services.js.map +1 -0
- package/dist/daemon/executions.d.ts +134 -0
- package/dist/daemon/executions.d.ts.map +1 -0
- package/dist/daemon/executions.js +486 -0
- package/dist/daemon/executions.js.map +1 -0
- package/dist/daemon/extension-ui.d.ts +24 -0
- package/dist/daemon/extension-ui.d.ts.map +1 -0
- package/dist/daemon/extension-ui.js +161 -0
- package/dist/daemon/extension-ui.js.map +1 -0
- package/dist/daemon/fanout.d.ts +40 -0
- package/dist/daemon/fanout.d.ts.map +1 -0
- package/dist/daemon/fanout.js +304 -0
- package/dist/daemon/fanout.js.map +1 -0
- package/dist/daemon/headless-json.d.ts +3 -0
- package/dist/daemon/headless-json.d.ts.map +1 -0
- package/dist/daemon/headless-json.js +20 -0
- package/dist/daemon/headless-json.js.map +1 -0
- package/dist/daemon/host-config.d.ts +61 -0
- package/dist/daemon/host-config.d.ts.map +1 -0
- package/dist/daemon/host-config.js +167 -0
- package/dist/daemon/host-config.js.map +1 -0
- package/dist/daemon/host-services.d.ts +61 -0
- package/dist/daemon/host-services.d.ts.map +1 -0
- package/dist/daemon/host-services.js +2 -0
- package/dist/daemon/host-services.js.map +1 -0
- package/dist/daemon/ipc.d.ts +14 -0
- package/dist/daemon/ipc.d.ts.map +1 -0
- package/dist/daemon/ipc.js +233 -0
- package/dist/daemon/ipc.js.map +1 -0
- package/dist/daemon/legacy-sessions.d.ts +48 -0
- package/dist/daemon/legacy-sessions.d.ts.map +1 -0
- package/dist/daemon/legacy-sessions.js +328 -0
- package/dist/daemon/legacy-sessions.js.map +1 -0
- package/dist/daemon/lifecycle.d.ts +44 -0
- package/dist/daemon/lifecycle.d.ts.map +1 -0
- package/dist/daemon/lifecycle.js +164 -0
- package/dist/daemon/lifecycle.js.map +1 -0
- package/dist/daemon/main.d.ts +3 -0
- package/dist/daemon/main.d.ts.map +1 -0
- package/dist/daemon/main.js +83 -0
- package/dist/daemon/main.js.map +1 -0
- package/dist/daemon/message-display.d.ts +4 -0
- package/dist/daemon/message-display.d.ts.map +1 -0
- package/dist/daemon/message-display.js +20 -0
- package/dist/daemon/message-display.js.map +1 -0
- package/dist/daemon/native-ownership.d.ts +13 -0
- package/dist/daemon/native-ownership.d.ts.map +1 -0
- package/dist/daemon/native-ownership.js +173 -0
- package/dist/daemon/native-ownership.js.map +1 -0
- package/dist/daemon/operational-log.d.ts +23 -0
- package/dist/daemon/operational-log.d.ts.map +1 -0
- package/dist/daemon/operational-log.js +79 -0
- package/dist/daemon/operational-log.js.map +1 -0
- package/dist/daemon/ownership.d.ts +35 -0
- package/dist/daemon/ownership.d.ts.map +1 -0
- package/dist/daemon/ownership.js +395 -0
- package/dist/daemon/ownership.js.map +1 -0
- package/dist/daemon/persistence.d.ts +110 -0
- package/dist/daemon/persistence.d.ts.map +1 -0
- package/dist/daemon/persistence.js +540 -0
- package/dist/daemon/persistence.js.map +1 -0
- package/dist/daemon/process-adapter.d.ts +23 -0
- package/dist/daemon/process-adapter.d.ts.map +1 -0
- package/dist/daemon/process-adapter.js +2 -0
- package/dist/daemon/process-adapter.js.map +1 -0
- package/dist/daemon/processes.d.ts +102 -0
- package/dist/daemon/processes.d.ts.map +1 -0
- package/dist/daemon/processes.js +691 -0
- package/dist/daemon/processes.js.map +1 -0
- package/dist/daemon/profile-storage.d.ts +16 -0
- package/dist/daemon/profile-storage.d.ts.map +1 -0
- package/dist/daemon/profile-storage.js +148 -0
- package/dist/daemon/profile-storage.js.map +1 -0
- package/dist/daemon/projection.d.ts +110 -0
- package/dist/daemon/projection.d.ts.map +1 -0
- package/dist/daemon/projection.js +661 -0
- package/dist/daemon/projection.js.map +1 -0
- package/dist/daemon/provider-loader.d.ts +28 -0
- package/dist/daemon/provider-loader.d.ts.map +1 -0
- package/dist/daemon/provider-loader.js +376 -0
- package/dist/daemon/provider-loader.js.map +1 -0
- package/dist/daemon/provider.d.ts +92 -0
- package/dist/daemon/provider.d.ts.map +1 -0
- package/dist/daemon/provider.js +31 -0
- package/dist/daemon/provider.js.map +1 -0
- package/dist/daemon/registry.d.ts +209 -0
- package/dist/daemon/registry.d.ts.map +1 -0
- package/dist/daemon/registry.js +1591 -0
- package/dist/daemon/registry.js.map +1 -0
- package/dist/daemon/runtime-dependencies.d.ts +5 -0
- package/dist/daemon/runtime-dependencies.d.ts.map +1 -0
- package/dist/daemon/runtime-dependencies.js +31 -0
- package/dist/daemon/runtime-dependencies.js.map +1 -0
- package/dist/daemon/server.d.ts +110 -0
- package/dist/daemon/server.d.ts.map +1 -0
- package/dist/daemon/server.js +556 -0
- package/dist/daemon/server.js.map +1 -0
- package/dist/daemon/service.d.ts +38 -0
- package/dist/daemon/service.d.ts.map +1 -0
- package/dist/daemon/service.js +275 -0
- package/dist/daemon/service.js.map +1 -0
- package/dist/daemon/session-cursor.d.ts +3 -0
- package/dist/daemon/session-cursor.d.ts.map +1 -0
- package/dist/daemon/session-cursor.js +4 -0
- package/dist/daemon/session-cursor.js.map +1 -0
- package/dist/daemon/session-execution.d.ts +88 -0
- package/dist/daemon/session-execution.d.ts.map +1 -0
- package/dist/daemon/session-execution.js +2 -0
- package/dist/daemon/session-execution.js.map +1 -0
- package/dist/daemon/session-executions.d.ts +5 -0
- package/dist/daemon/session-executions.d.ts.map +1 -0
- package/dist/daemon/session-executions.js +146 -0
- package/dist/daemon/session-executions.js.map +1 -0
- package/dist/daemon/session-files.d.ts +28 -0
- package/dist/daemon/session-files.d.ts.map +1 -0
- package/dist/daemon/session-files.js +189 -0
- package/dist/daemon/session-files.js.map +1 -0
- package/dist/daemon/session-lifecycle-contracts.d.ts +104 -0
- package/dist/daemon/session-lifecycle-contracts.d.ts.map +1 -0
- package/dist/daemon/session-lifecycle-contracts.js +2 -0
- package/dist/daemon/session-lifecycle-contracts.js.map +1 -0
- package/dist/daemon/session-lifecycle.d.ts +26 -0
- package/dist/daemon/session-lifecycle.d.ts.map +1 -0
- package/dist/daemon/session-lifecycle.js +246 -0
- package/dist/daemon/session-lifecycle.js.map +1 -0
- package/dist/daemon/session-runtime.d.ts +64 -0
- package/dist/daemon/session-runtime.d.ts.map +1 -0
- package/dist/daemon/session-runtime.js +3 -0
- package/dist/daemon/session-runtime.js.map +1 -0
- package/dist/daemon/session-services.d.ts +6 -0
- package/dist/daemon/session-services.d.ts.map +1 -0
- package/dist/daemon/session-services.js +144 -0
- package/dist/daemon/session-services.js.map +1 -0
- package/dist/daemon/shutdown-error.d.ts +12 -0
- package/dist/daemon/shutdown-error.d.ts.map +1 -0
- package/dist/daemon/shutdown-error.js +51 -0
- package/dist/daemon/shutdown-error.js.map +1 -0
- package/dist/daemon/supervisor.d.ts +28 -0
- package/dist/daemon/supervisor.d.ts.map +1 -0
- package/dist/daemon/supervisor.js +159 -0
- package/dist/daemon/supervisor.js.map +1 -0
- package/dist/daemon/target.d.ts +55 -0
- package/dist/daemon/target.d.ts.map +1 -0
- package/dist/daemon/target.js +191 -0
- package/dist/daemon/target.js.map +1 -0
- package/dist/daemon/tree.d.ts +7 -0
- package/dist/daemon/tree.d.ts.map +1 -0
- package/dist/daemon/tree.js +126 -0
- package/dist/daemon/tree.js.map +1 -0
- package/dist/daemon/ui-vocabulary.d.ts +29 -0
- package/dist/daemon/ui-vocabulary.d.ts.map +1 -0
- package/dist/daemon/ui-vocabulary.js +323 -0
- package/dist/daemon/ui-vocabulary.js.map +1 -0
- package/dist/daemon/worker.d.ts +5 -0
- package/dist/daemon/worker.d.ts.map +1 -0
- package/dist/daemon/worker.js +49 -0
- package/dist/daemon/worker.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -0
- package/dist/lock.d.ts +27 -0
- package/dist/lock.d.ts.map +1 -0
- package/dist/lock.js +432 -0
- package/dist/lock.js.map +1 -0
- package/dist/logger.d.ts +9 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +56 -0
- package/dist/logger.js.map +1 -0
- package/dist/remote/backoff.d.ts +17 -0
- package/dist/remote/backoff.d.ts.map +1 -0
- package/dist/remote/backoff.js +18 -0
- package/dist/remote/backoff.js.map +1 -0
- package/dist/remote/batch.d.ts +3 -0
- package/dist/remote/batch.d.ts.map +1 -0
- package/dist/remote/batch.js +27 -0
- package/dist/remote/batch.js.map +1 -0
- package/dist/remote/command-journal.d.ts +30 -0
- package/dist/remote/command-journal.d.ts.map +1 -0
- package/dist/remote/command-journal.js +72 -0
- package/dist/remote/command-journal.js.map +1 -0
- package/dist/remote/commands.d.ts +48 -0
- package/dist/remote/commands.d.ts.map +1 -0
- package/dist/remote/commands.js +145 -0
- package/dist/remote/commands.js.map +1 -0
- package/dist/remote/connector.d.ts +135 -0
- package/dist/remote/connector.d.ts.map +1 -0
- package/dist/remote/connector.js +1069 -0
- package/dist/remote/connector.js.map +1 -0
- package/dist/remote/content.d.ts +17 -0
- package/dist/remote/content.d.ts.map +1 -0
- package/dist/remote/content.js +116 -0
- package/dist/remote/content.js.map +1 -0
- package/dist/remote/outbox.d.ts +52 -0
- package/dist/remote/outbox.d.ts.map +1 -0
- package/dist/remote/outbox.js +321 -0
- package/dist/remote/outbox.js.map +1 -0
- package/dist/remote/platform.d.ts +53 -0
- package/dist/remote/platform.d.ts.map +1 -0
- package/dist/remote/platform.js +231 -0
- package/dist/remote/platform.js.map +1 -0
- package/dist/remote/realtime.d.ts +45 -0
- package/dist/remote/realtime.d.ts.map +1 -0
- package/dist/remote/realtime.js +265 -0
- package/dist/remote/realtime.js.map +1 -0
- package/dist/remote/sharing.d.ts +16 -0
- package/dist/remote/sharing.d.ts.map +1 -0
- package/dist/remote/sharing.js +24 -0
- package/dist/remote/sharing.js.map +1 -0
- package/dist/remote/state.d.ts +52 -0
- package/dist/remote/state.d.ts.map +1 -0
- package/dist/remote/state.js +156 -0
- package/dist/remote/state.js.map +1 -0
- package/dist/remote/text.d.ts +11 -0
- package/dist/remote/text.d.ts.map +1 -0
- package/dist/remote/text.js +188 -0
- package/dist/remote/text.js.map +1 -0
- package/dist/remote/token.d.ts +39 -0
- package/dist/remote/token.d.ts.map +1 -0
- package/dist/remote/token.js +238 -0
- package/dist/remote/token.js.map +1 -0
- package/dist/runtime-factory.d.ts +12 -0
- package/dist/runtime-factory.d.ts.map +1 -0
- package/dist/runtime-factory.js +12 -0
- package/dist/runtime-factory.js.map +1 -0
- package/dist/session-history.d.ts +29 -0
- package/dist/session-history.d.ts.map +1 -0
- package/dist/session-history.js +374 -0
- package/dist/session-history.js.map +1 -0
- package/dist/setup/dependencies.d.ts +15 -0
- package/dist/setup/dependencies.d.ts.map +1 -0
- package/dist/setup/dependencies.js +2 -0
- package/dist/setup/dependencies.js.map +1 -0
- package/dist/setup/open.d.ts +8 -0
- package/dist/setup/open.d.ts.map +1 -0
- package/dist/setup/open.js +16 -0
- package/dist/setup/open.js.map +1 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +4 -0
- package/dist/version.js.map +1 -0
- package/package.json +66 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"control-state.d.ts","sourceRoot":"","sources":["../../src/daemon/control-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import { isDeepStrictEqual } from 'node:util';
|
|
2
|
+
import { Type } from 'typebox';
|
|
3
|
+
import { AbsolutePathSchema, CounterSchema, IdSchema, InteractionSchema, JsonValueSchema, ModelSchema, PolicySchema, RunSchema, ThinkingSchema, UUID_V7_PATTERN, assertJson, parseSchema, enumOf, text, unboundedText } from '@felan-ai/session-protocol';
|
|
4
|
+
export const CONTROL_LIMITS = Object.freeze({
|
|
5
|
+
projections: 256,
|
|
6
|
+
projectionAgeMs: 7 * 24 * 60 * 60 * 1000,
|
|
7
|
+
});
|
|
8
|
+
export class ControlStoreError extends Error {
|
|
9
|
+
code;
|
|
10
|
+
constructor(code, message) {
|
|
11
|
+
super(message);
|
|
12
|
+
this.code = code;
|
|
13
|
+
this.name = 'ControlStoreError';
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export const DigestSchema = Type.String({ pattern: '^[a-f0-9]{64}$' });
|
|
17
|
+
export const IdentitySchema = Type.Object({ sha256: DigestSchema, bytes: CounterSchema });
|
|
18
|
+
export const SessionProfileSchema = Type.Object({
|
|
19
|
+
extensionPaths: Type.Optional(Type.Array(AbsolutePathSchema, { uniqueItems: true })),
|
|
20
|
+
allowedTools: Type.Optional(Type.Array(IdSchema, { minItems: 1, uniqueItems: true })),
|
|
21
|
+
extensionConfigOverrides: Type.Optional(Type.Array(Type.Object({ extensionId: IdSchema, source: text(128, 1),
|
|
22
|
+
values: Type.Record(Type.String(), JsonValueSchema),
|
|
23
|
+
}))),
|
|
24
|
+
});
|
|
25
|
+
const message = Type.Object({ type: Type.Literal('message'), id: IdSchema, entryId: IdSchema, state: enumOf(['observed', 'missing']) });
|
|
26
|
+
/** Durable view records: message identities and the pending queue. Tool and status views are live-only. */
|
|
27
|
+
const projection = Type.Object({
|
|
28
|
+
key: text(256, 1), updatedAt: CounterSchema,
|
|
29
|
+
value: Type.Union([
|
|
30
|
+
message,
|
|
31
|
+
Type.Object({ type: Type.Literal('queue'), ids: Type.Array(IdSchema, { maxItems: 256 }), identity: IdentitySchema }),
|
|
32
|
+
]),
|
|
33
|
+
});
|
|
34
|
+
export const ExecutionMetadataSchema = Type.Object({
|
|
35
|
+
request: Type.Object({
|
|
36
|
+
prompt: unboundedText(1), description: unboundedText(1), appendSystemPrompt: Type.Optional(unboundedText()),
|
|
37
|
+
model: Type.Optional(ModelSchema), thinking: Type.Optional(ThinkingSchema), label: Type.Optional(text(256, 1)),
|
|
38
|
+
maxTurns: Type.Optional(Type.Integer({ minimum: 1, maximum: 100 })),
|
|
39
|
+
timeoutMs: Type.Optional(Type.Integer({ minimum: 1, maximum: 86_400_000 })),
|
|
40
|
+
allowChildren: Type.Optional(Type.Boolean()), notifyOnCompletion: Type.Optional(Type.Boolean()),
|
|
41
|
+
excludedTools: Type.Optional(Type.Array(IdSchema, { maxItems: 256 })),
|
|
42
|
+
}),
|
|
43
|
+
createdAt: text(64, 1), startedAt: Type.Optional(text(64, 1)), completedAt: Type.Optional(text(64, 1)),
|
|
44
|
+
outcome: Type.Optional(enumOf(['completed', 'failed', 'timed_out', 'cancelled'])),
|
|
45
|
+
error: Type.Optional(Type.Object({ code: text(128, 1), message: unboundedText() })),
|
|
46
|
+
deliveryId: IdSchema, completionPending: Type.Boolean(),
|
|
47
|
+
message: Type.Optional(unboundedText()),
|
|
48
|
+
});
|
|
49
|
+
export const ControlSessionSchema = Type.Object({
|
|
50
|
+
id: IdSchema, root: IdSchema, parent: Type.Optional(IdSchema), cwd: AbsolutePathSchema, piPath: AbsolutePathSchema,
|
|
51
|
+
revision: CounterSchema, updatedAt: CounterSchema, state: enumOf(['open', 'closed']), residency: enumOf(['warm', 'evicted']),
|
|
52
|
+
run: RunSchema, policy: PolicySchema, title: unboundedText(), branch: Type.Optional(IdSchema), observedTip: Type.Optional(IdSchema),
|
|
53
|
+
model: Type.Optional(ModelSchema), thinking: Type.Optional(ThinkingSchema),
|
|
54
|
+
profile: Type.Optional(SessionProfileSchema), execution: Type.Optional(ExecutionMetadataSchema),
|
|
55
|
+
deletedAt: Type.Optional(CounterSchema),
|
|
56
|
+
draft: Type.Optional(Type.Boolean()),
|
|
57
|
+
projections: Type.Array(projection, { maxItems: CONTROL_LIMITS.projections }),
|
|
58
|
+
});
|
|
59
|
+
export const ControlSessionMetadataSchema = Type.Omit(ControlSessionSchema, ['projections']);
|
|
60
|
+
export const ControlProjectionRecordSchema = projection;
|
|
61
|
+
export const ControlRequestSchema = Type.Object({
|
|
62
|
+
id: Type.String({ pattern: UUID_V7_PATTERN }), principal: IdSchema, session: Type.Optional(IdSchema), op: IdSchema,
|
|
63
|
+
admittedAt: CounterSchema, retainUntil: CounterSchema, identity: IdentitySchema,
|
|
64
|
+
phase: enumOf(['intent', 'dispatch_intent', 'terminal']), response: Type.Optional(Type.Unknown()),
|
|
65
|
+
});
|
|
66
|
+
export const ControlContinuationSchema = Type.Object({
|
|
67
|
+
id: IdSchema, interaction: IdSchema, session: IdSchema,
|
|
68
|
+
phase: enumOf(['ready', 'dispatch_intent', 'completed', 'indeterminate', 'cancelled']),
|
|
69
|
+
createdAt: CounterSchema, updatedAt: CounterSchema,
|
|
70
|
+
});
|
|
71
|
+
export const ControlResourceSchema = Type.Object({
|
|
72
|
+
id: IdSchema, session: IdSchema, root: IdSchema, kind: enumOf(['foreground', 'pty', 'detached']),
|
|
73
|
+
state: enumOf(['running', 'exited', 'interrupted', 'missing', 'reconciling']),
|
|
74
|
+
reference: Type.Optional(AbsolutePathSchema), pid: Type.Optional(Type.Integer({ minimum: 1, maximum: 2_147_483_647 })),
|
|
75
|
+
startIdentity: Type.Optional(text(128, 1)), updatedAt: CounterSchema,
|
|
76
|
+
});
|
|
77
|
+
export const ControlStateSchema = Type.Object({
|
|
78
|
+
version: Type.Literal(1), namespace: IdSchema, agentDir: AbsolutePathSchema, clock: CounterSchema,
|
|
79
|
+
sessions: Type.Array(ControlSessionSchema),
|
|
80
|
+
requests: Type.Array(ControlRequestSchema),
|
|
81
|
+
interactions: Type.Array(InteractionSchema),
|
|
82
|
+
continuations: Type.Array(ControlContinuationSchema),
|
|
83
|
+
resources: Type.Array(ControlResourceSchema),
|
|
84
|
+
}, { additionalProperties: false });
|
|
85
|
+
export class ControlStateValidationError extends Error {
|
|
86
|
+
code;
|
|
87
|
+
constructor(code) {
|
|
88
|
+
super(code === 'unsupported_version' ? 'Control state version is unsupported.' : 'Control state is invalid.');
|
|
89
|
+
this.code = code;
|
|
90
|
+
this.name = 'ControlStateValidationError';
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
export function parseControlState(value) {
|
|
94
|
+
try {
|
|
95
|
+
checkObject(value);
|
|
96
|
+
if (value.version !== 1)
|
|
97
|
+
throw new ControlStateValidationError('unsupported_version');
|
|
98
|
+
return parseExact(ControlStateSchema, value);
|
|
99
|
+
}
|
|
100
|
+
catch (error) {
|
|
101
|
+
if (error instanceof ControlStateValidationError)
|
|
102
|
+
throw error;
|
|
103
|
+
throw new ControlStateValidationError('invalid_state');
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
const ROW_SCHEMAS = { sessions: ControlSessionMetadataSchema, requests: ControlRequestSchema, interactions: InteractionSchema, continuations: ControlContinuationSchema, resources: ControlResourceSchema, projections: ControlProjectionRecordSchema };
|
|
107
|
+
/** Validates one stored record (a session without its projections, or one projection) as `parseControlState` would. */
|
|
108
|
+
export function assertControlRow(table, value) {
|
|
109
|
+
try {
|
|
110
|
+
checkObject(value);
|
|
111
|
+
parseExact(ROW_SCHEMAS[table], value);
|
|
112
|
+
}
|
|
113
|
+
catch {
|
|
114
|
+
throw new ControlStateValidationError('invalid_state');
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
function parseExact(schema, value) {
|
|
118
|
+
assertJson(value);
|
|
119
|
+
checkJsonProperties(value);
|
|
120
|
+
const parsed = parseSchema(schema, value);
|
|
121
|
+
if (!isDeepStrictEqual(parsed, value))
|
|
122
|
+
throw new ControlStateValidationError('invalid_state');
|
|
123
|
+
return parsed;
|
|
124
|
+
}
|
|
125
|
+
function checkObject(value) {
|
|
126
|
+
if (value === null || typeof value !== 'object' || Array.isArray(value)
|
|
127
|
+
|| Object.getPrototypeOf(value) !== Object.prototype && Object.getPrototypeOf(value) !== null)
|
|
128
|
+
throw new ControlStateValidationError('invalid_state');
|
|
129
|
+
for (const key of Reflect.ownKeys(value)) {
|
|
130
|
+
const descriptor = Object.getOwnPropertyDescriptor(value, key);
|
|
131
|
+
if (typeof key !== 'string' || !descriptor.enumerable || !('value' in descriptor))
|
|
132
|
+
throw new ControlStateValidationError('invalid_state');
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
function checkJsonProperties(value) {
|
|
136
|
+
if (value === null || typeof value !== 'object')
|
|
137
|
+
return;
|
|
138
|
+
if (Array.isArray(value)) {
|
|
139
|
+
if (Object.getPrototypeOf(value) !== Array.prototype || Reflect.ownKeys(value).length !== value.length + 1)
|
|
140
|
+
throw new ControlStateValidationError('invalid_state');
|
|
141
|
+
for (let index = 0; index < value.length; index++) {
|
|
142
|
+
const descriptor = Object.getOwnPropertyDescriptor(value, String(index));
|
|
143
|
+
if (!descriptor?.enumerable || !('value' in descriptor))
|
|
144
|
+
throw new ControlStateValidationError('invalid_state');
|
|
145
|
+
checkJsonProperties(descriptor.value);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
checkObject(value);
|
|
150
|
+
for (const child of Object.values(value))
|
|
151
|
+
checkJsonProperties(child);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
//# sourceMappingURL=control-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"control-state.js","sourceRoot":"","sources":["../../src/daemon/control-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { type ControlContinuation, type ControlProjection, type ControlRequest, type ControlResource, type ControlSession, type ControlSessionMetadata, type ControlState, type SessionProfile } from './control-state.js';
|
|
2
|
+
import { type PersistenceBoundary, type RemoteDatabase } from './persistence.js';
|
|
3
|
+
import type { DaemonOwnership } from './ownership.js';
|
|
4
|
+
import { type RecoveryPlan } from './control-recovery.js';
|
|
5
|
+
import { type Interaction, type InteractionAnswer, type Response, type OperationParams } from '@felan-ai/session-protocol';
|
|
6
|
+
export interface ControlStoreOptions {
|
|
7
|
+
directory?: string;
|
|
8
|
+
now?: () => number;
|
|
9
|
+
fault?: (boundary: PersistenceBoundary) => void;
|
|
10
|
+
}
|
|
11
|
+
export interface ControlCommit<T> {
|
|
12
|
+
value: T;
|
|
13
|
+
revisions: Record<string, number>;
|
|
14
|
+
}
|
|
15
|
+
export declare class DaemonControlStore {
|
|
16
|
+
readonly owner: DaemonOwnership;
|
|
17
|
+
readonly directory: string;
|
|
18
|
+
private readonly file;
|
|
19
|
+
get database(): RemoteDatabase;
|
|
20
|
+
/** Committed rows are deep-frozen and shared with commit drafts, which replace a row before changing it. */
|
|
21
|
+
private state;
|
|
22
|
+
/** What the database holds for each row, so a commit writes only rows whose data or order changed. */
|
|
23
|
+
private persisted;
|
|
24
|
+
private maxOrd;
|
|
25
|
+
/** Whether the database holds this store's namespace; until then even an unchanged state is written. */
|
|
26
|
+
private initialized;
|
|
27
|
+
private readonly now;
|
|
28
|
+
private recoveryRequired;
|
|
29
|
+
private readonly unownedDirectories;
|
|
30
|
+
private readonly transientRevisionCeilings;
|
|
31
|
+
constructor(owner: DaemonOwnership, options?: ControlStoreOptions);
|
|
32
|
+
/** Only a foreign or structurally invalid file is discarded; individually inconsistent rows are dropped. */
|
|
33
|
+
private restore;
|
|
34
|
+
/**
|
|
35
|
+
* Session directories recorded outside the current store roots (for example after `daemon-store-roots.json` was lost)
|
|
36
|
+
* become owned roots again; rows whose directory cannot be owned are dropped individually.
|
|
37
|
+
*/
|
|
38
|
+
ownPersistedRoots(): Promise<void>;
|
|
39
|
+
close(): void;
|
|
40
|
+
get needsRecovery(): boolean;
|
|
41
|
+
snapshot(): ControlState;
|
|
42
|
+
session(id: string): ControlSession;
|
|
43
|
+
/** Copies a session without its projections, which dominate the stored size. */
|
|
44
|
+
sessionMetadata(id: string): ControlSessionMetadata;
|
|
45
|
+
sessionMetadatas(): ControlSessionMetadata[];
|
|
46
|
+
findSessionMetadata(id: string): ControlSessionMetadata | undefined;
|
|
47
|
+
interactions(): Interaction[];
|
|
48
|
+
request(id: string): ControlRequest | undefined;
|
|
49
|
+
resource(id: string): ControlResource | undefined;
|
|
50
|
+
resources(): ControlResource[];
|
|
51
|
+
assertCurrent(): void;
|
|
52
|
+
createSession(input: Omit<ControlSession, 'revision' | 'updatedAt' | 'projections'>): ControlCommit<ControlSession>;
|
|
53
|
+
updateSession(id: string, patch: Partial<Pick<ControlSession, 'state' | 'residency' | 'run' | 'policy' | 'title' | 'branch' | 'observedTip' | 'model' | 'thinking' | 'execution' | 'draft'>>): ControlCommit<ControlSession>;
|
|
54
|
+
/** Tombstones a draft that was never used. Unlike deletion, no client request backs it. */
|
|
55
|
+
discardDraft(id: string): ControlCommit<ControlSession>;
|
|
56
|
+
configureSession(requestId: string, values: OperationParams<'config.set'>['values'], overrides: NonNullable<SessionProfile['extensionConfigOverrides']>): ControlCommit<ControlSession>;
|
|
57
|
+
interruptSessionRun(id: string, runId: string): ControlCommit<ControlSession>;
|
|
58
|
+
transitionSessionForSafety(id: string, transition: 'cancelling' | 'idle' | 'closed' | 'evicted'): ControlCommit<ControlSession>;
|
|
59
|
+
advanceTransientRevision(id: string): number;
|
|
60
|
+
project(id: string, values: readonly ControlProjection[]): ControlCommit<ControlSession>;
|
|
61
|
+
reconcilePi(id: string, observation: {
|
|
62
|
+
present: {
|
|
63
|
+
id: string;
|
|
64
|
+
entryId: string;
|
|
65
|
+
}[];
|
|
66
|
+
absentEntryIds: string[];
|
|
67
|
+
}): ControlCommit<ControlSession>;
|
|
68
|
+
admit(value: unknown, principal: string): ControlCommit<ControlRequest>;
|
|
69
|
+
markDispatched(id: string): ControlCommit<ControlRequest>;
|
|
70
|
+
markSessionDeleted(requestId: string): ControlCommit<ControlSession>;
|
|
71
|
+
finishRequest(id: string, response: unknown): ControlCommit<Response>;
|
|
72
|
+
putInteraction(value: unknown): ControlCommit<Interaction>;
|
|
73
|
+
deferInteraction(id: string): ControlCommit<Interaction>;
|
|
74
|
+
cancelInteraction(id: string, reason: 'abort' | 'timeout' | 'unsupported' | 'drain' | 'restart'): ControlCommit<Interaction>;
|
|
75
|
+
answerInteraction(requestId: string, answer: InteractionAnswer | {
|
|
76
|
+
cancelled: true;
|
|
77
|
+
reason: 'user';
|
|
78
|
+
}, continuationId?: string, responder?: string): ControlCommit<Interaction>;
|
|
79
|
+
transitionContinuation(id: string, phase: 'dispatch_intent' | 'completed' | 'indeterminate'): ControlCommit<ControlContinuation>;
|
|
80
|
+
putResource(value: unknown): ControlCommit<ControlState['resources'][number]>;
|
|
81
|
+
recover(): ControlCommit<Omit<RecoveryPlan, 'changedSessions'>>;
|
|
82
|
+
compact(): ControlCommit<void>;
|
|
83
|
+
/** `deep` gives the change a fully editable copy, for changes that update rows in place. */
|
|
84
|
+
private commit;
|
|
85
|
+
/**
|
|
86
|
+
* Writes the rows whose committed object, data or position changed. Changed rows are validated individually;
|
|
87
|
+
* cross-row references are rechecked for every row because a change can invalidate rows that refer to it.
|
|
88
|
+
* A session whose committed object is unchanged also has unchanged projections, which are not visited.
|
|
89
|
+
*/
|
|
90
|
+
private persist;
|
|
91
|
+
/** The stored session row: metadata only, with any reserved transient revision ceiling. */
|
|
92
|
+
private durableSession;
|
|
93
|
+
private parseResponse;
|
|
94
|
+
private validate;
|
|
95
|
+
/** Drops individually inconsistent rows (and the rows that depend on them) from a structurally valid persisted state. */
|
|
96
|
+
private repair;
|
|
97
|
+
/** Records directories outside the current roots for re-ownership; a path whose canonical identity changed is unusable. */
|
|
98
|
+
private usablePersistedPath;
|
|
99
|
+
private dropSessions;
|
|
100
|
+
/** `structural` rechecks the record itself; unchanged committed records only need their references checked. */
|
|
101
|
+
private validRequest;
|
|
102
|
+
private validInteraction;
|
|
103
|
+
private validContinuation;
|
|
104
|
+
private validSession;
|
|
105
|
+
private validResource;
|
|
106
|
+
private prune;
|
|
107
|
+
private trimProjections;
|
|
108
|
+
private findSession;
|
|
109
|
+
private findRequest;
|
|
110
|
+
private findInteraction;
|
|
111
|
+
private time;
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=control-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"control-store.d.ts","sourceRoot":"","sources":["../../src/daemon/control-store.ts"],"names":[],"mappings":"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"}
|