@dsh-enhanced/assistant-automations 0.1.65 → 0.1.67

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.
Files changed (50) hide show
  1. package/README.md +34 -1
  2. package/lib/coordinator.d.ts +15 -0
  3. package/lib/coordinator.d.ts.map +1 -1
  4. package/lib/coordinator.js +12 -0
  5. package/lib/coordinator.js.map +1 -1
  6. package/lib/host-agent-execution.d.ts +24 -0
  7. package/lib/host-agent-execution.d.ts.map +1 -0
  8. package/lib/host-agent-execution.js +248 -0
  9. package/lib/host-agent-execution.js.map +1 -0
  10. package/lib/host-executors.d.ts +10 -1
  11. package/lib/host-executors.d.ts.map +1 -1
  12. package/lib/host-executors.js +37 -7
  13. package/lib/host-executors.js.map +1 -1
  14. package/lib/index.d.ts +3 -2
  15. package/lib/index.d.ts.map +1 -1
  16. package/lib/index.js +2 -1
  17. package/lib/index.js.map +1 -1
  18. package/lib/native-agent-execution.d.ts +123 -0
  19. package/lib/native-agent-execution.d.ts.map +1 -0
  20. package/lib/native-agent-execution.js +922 -0
  21. package/lib/native-agent-execution.js.map +1 -0
  22. package/lib/operator.d.ts +56 -2
  23. package/lib/operator.d.ts.map +1 -1
  24. package/lib/operator.js +307 -8
  25. package/lib/operator.js.map +1 -1
  26. package/lib/runner.d.ts +2 -86
  27. package/lib/runner.d.ts.map +1 -1
  28. package/lib/runner.js +2 -777
  29. package/lib/runner.js.map +1 -1
  30. package/lib/schedule.d.ts +2 -0
  31. package/lib/schedule.d.ts.map +1 -1
  32. package/lib/schedule.js +8 -1
  33. package/lib/schedule.js.map +1 -1
  34. package/lib/service.d.ts +38 -4
  35. package/lib/service.d.ts.map +1 -1
  36. package/lib/service.js +112 -8
  37. package/lib/service.js.map +1 -1
  38. package/lib/sqlite.d.ts +1 -1
  39. package/lib/sqlite.d.ts.map +1 -1
  40. package/lib/sqlite.js +53 -2
  41. package/lib/sqlite.js.map +1 -1
  42. package/lib/store.d.ts +47 -1
  43. package/lib/store.d.ts.map +1 -1
  44. package/lib/store.js +221 -10
  45. package/lib/store.js.map +1 -1
  46. package/lib/types.d.ts +59 -0
  47. package/lib/types.d.ts.map +1 -1
  48. package/lib/version.d.ts +1 -1
  49. package/lib/version.js +1 -1
  50. package/package.json +13 -13
@@ -0,0 +1,248 @@
1
+ import { types } from 'node:util';
2
+ import { acceptanceCanonicalJson, acceptanceDigest } from '@dsh-enhanced/task-acceptance-contract';
3
+ import { runHostNativeAgent } from './native-agent-execution.js';
4
+ /** Codepoint order, independent of host locale. Includes the complete schema objects. */
5
+ export function hostAgentToolSchemaDigest(schemas) {
6
+ const names = schemas.map(schema => schema.name);
7
+ if (names.some(name => typeof name !== 'string' || name.length === 0) || new Set(names).size !== names.length)
8
+ throw new Error('assistant-automations: invalid tool schema names');
9
+ return acceptanceDigest([...schemas].sort((a, b) => a.name < b.name ? -1 : a.name > b.name ? 1 : 0));
10
+ }
11
+ function contractSnapshot(value) {
12
+ const contract = structuredClone(value);
13
+ const keys = ['provider', 'model', 'reasoningEffort', 'prompt', 'allowedTools', 'toolSchemaDigest', 'maxModelCalls', 'maxToolCalls', 'maxOutputTokens', 'timeoutMs'];
14
+ if (Object.keys(contract).some(key => !keys.includes(key)) || typeof contract.provider !== 'string' || !contract.provider.trim()
15
+ || typeof contract.model !== 'string' || !contract.model.trim() || typeof contract.prompt !== 'string' || !contract.prompt.trim()
16
+ || Buffer.byteLength(contract.prompt) > 65536 || contract.reasoningEffort !== undefined && (typeof contract.reasoningEffort !== 'string' || !contract.reasoningEffort.trim())
17
+ || !Array.isArray(contract.allowedTools) || contract.allowedTools.some(name => typeof name !== 'string' || !name.trim())
18
+ || new Set(contract.allowedTools).size !== contract.allowedTools.length || !/^[a-f0-9]{64}$/u.test(contract.toolSchemaDigest)
19
+ || !Number.isSafeInteger(contract.maxModelCalls) || contract.maxModelCalls < 1 || contract.maxModelCalls > 100
20
+ || !Number.isSafeInteger(contract.maxToolCalls) || contract.maxToolCalls < 0 || contract.maxToolCalls > 1000
21
+ || !Number.isSafeInteger(contract.maxOutputTokens) || contract.maxOutputTokens < 1 || contract.maxOutputTokens > 131072
22
+ || !Number.isSafeInteger(contract.timeoutMs) || contract.timeoutMs < 1 || contract.timeoutMs > 3600000)
23
+ throw new Error('assistant-automations: invalid Host Agent contract');
24
+ const { reasoningEffort, ...required } = contract;
25
+ return Object.freeze({ ...required, ...(reasoningEffort === undefined ? {} : { reasoningEffort }), allowedTools: Object.freeze([...contract.allowedTools].sort()) });
26
+ }
27
+ function authorizationSnapshot(value) {
28
+ if (value === null || typeof value !== 'object' || types.isProxy(value) || Object.getPrototypeOf(value) !== Object.prototype)
29
+ throw new Error('assistant-automations: invalid authorization fence');
30
+ const descriptors = Object.getOwnPropertyDescriptors(value);
31
+ if (Reflect.ownKeys(value).length !== 2 || !['signal', 'assertCurrent'].every(key => descriptors[key]?.enumerable && Object.hasOwn(descriptors[key], 'value')))
32
+ throw new Error('assistant-automations: authorization fence requires own data fields');
33
+ const signal = descriptors.signal.value, callback = descriptors.assertCurrent.value;
34
+ if (typeof callback !== 'function' || types.isProxy(callback) || types.isAsyncFunction(callback))
35
+ throw new Error('assistant-automations: authorization fence must be synchronous');
36
+ try {
37
+ Object.getOwnPropertyDescriptor(AbortSignal.prototype, 'aborted').get.call(signal);
38
+ }
39
+ catch {
40
+ throw new Error('assistant-automations: authorization fence signal is invalid');
41
+ }
42
+ return Object.freeze({ signal: signal, assertCurrent: callback });
43
+ }
44
+ /** Internal capability owner. This object and its runner key never leave the service. */
45
+ export class HostAgentExecutions {
46
+ ctx;
47
+ policy;
48
+ #key = Object.freeze({});
49
+ #invocations = new WeakMap();
50
+ #live = new Set();
51
+ #active = true;
52
+ #accepting = true;
53
+ constructor(ctx, policy) {
54
+ this.ctx = ctx;
55
+ this.policy = policy;
56
+ }
57
+ runnerKey() { return this.#key; }
58
+ open(key, invocation, input, freshReservation, publish) {
59
+ if (key !== this.#key || !this.#active || !this.#accepting || !freshReservation || input.occurrence.dryRun || input.task.attemptCount !== 1
60
+ || input.automation.definition.retrySafety !== 'never' || input.automation.definition.maxRetries !== 0
61
+ || input.automation.definition.budgetId === undefined || input.signal.aborted || invocation.signal.aborted)
62
+ return undefined;
63
+ const controller = new AbortController();
64
+ const snapshot = JSON.parse(JSON.stringify({ automation: input.automation, occurrence: input.occurrence, task: input.task, sessionId: input.sessionId }));
65
+ const state = { input: { ...snapshot, signal: input.signal }, controller, signal: AbortSignal.any([invocation.signal, controller.signal]), active: true, consumed: false,
66
+ ...(input.markObjectiveUnverified === undefined ? {} : { markObjectiveUnverified: input.markObjectiveUnverified }) };
67
+ this.#invocations.set(invocation, state);
68
+ this.#live.add(state);
69
+ return async () => {
70
+ observeInvocation(state);
71
+ state.active = false;
72
+ this.#invocations.delete(invocation);
73
+ state.controller.abort('host-executor-ended');
74
+ try {
75
+ if (state.pending)
76
+ await drainInvocation(state);
77
+ if (state.consumed && !state.finished)
78
+ throw new Error('assistant-automations: executor abandoned its Agent execution');
79
+ return state.result;
80
+ }
81
+ finally {
82
+ observeInvocation(state);
83
+ const receipt = state.result ?? state.observed;
84
+ if (receipt !== undefined)
85
+ publish(receipt);
86
+ this.#live.delete(state);
87
+ }
88
+ };
89
+ }
90
+ run(invocation, value, authorization) {
91
+ const execution = this.execute(invocation, value, authorization);
92
+ void execution.catch(() => { });
93
+ return execution;
94
+ }
95
+ async execute(invocation, value, authorization) {
96
+ const state = this.#invocations.get(invocation);
97
+ if (!this.#active || !this.#accepting || !state?.active || state.consumed || state.signal.aborted)
98
+ throw new Error('assistant-automations: exact live reserved Host invocation is required');
99
+ const fence = authorization === undefined ? undefined : authorizationSnapshot(authorization);
100
+ const contract = contractSnapshot(value);
101
+ if (contract.timeoutMs > state.input.automation.definition.timeoutMs)
102
+ throw new Error('assistant-automations: Host Agent deadline exceeds occurrence contract');
103
+ const contractDigest = acceptanceDigest(contract);
104
+ const now = Date.now(), startedAt = state.input.task.updatedAt;
105
+ const occurrenceDeadlineAt = startedAt + state.input.automation.definition.timeoutMs;
106
+ if (!Number.isSafeInteger(startedAt) || startedAt > now || !Number.isSafeInteger(occurrenceDeadlineAt))
107
+ throw new Error('assistant-automations: Host occurrence start time is invalid');
108
+ const deadlineAt = Math.min(occurrenceDeadlineAt, now + contract.timeoutMs);
109
+ const deadline = new AbortController();
110
+ const signal = AbortSignal.any([state.signal, deadline.signal, ...(fence === undefined ? [] : [fence.signal])]);
111
+ // Contract cloning can invoke getters which synchronously consume or revoke this invocation.
112
+ if (!this.#active || !this.#accepting || this.#invocations.get(invocation) !== state
113
+ || !state.active || state.consumed || state.signal.aborted)
114
+ throw new Error('assistant-automations: exact live reserved Host invocation is required');
115
+ const check = () => {
116
+ if (Date.now() >= deadlineAt)
117
+ deadline.abort('host-agent-deadline');
118
+ signal.throwIfAborted();
119
+ if (!this.#active || !this.#accepting || this.#invocations.get(invocation) !== state || !state.active)
120
+ throw new Error('assistant-automations: Host Agent invocation is no longer active');
121
+ };
122
+ check();
123
+ state.consumed = true;
124
+ // Publish the monotonic reduction before any await/create/model call. The
125
+ // coordinator can commit an abort result before this invocation drains.
126
+ state.markObjectiveUnverified?.();
127
+ const authorize = fence === undefined ? undefined : () => {
128
+ try {
129
+ check();
130
+ const result = fence.assertCurrent();
131
+ // Best-effort rejection observation for ordinary built-in Promises, not hostile constructor/species objects.
132
+ if (types.isPromise(result))
133
+ void Promise.prototype.then.call(result, () => { }, () => { });
134
+ if (result !== undefined)
135
+ throw new Error('assistant-automations: authorization fence must return synchronously without a value');
136
+ check();
137
+ }
138
+ catch (error) {
139
+ state.active = false;
140
+ this.#invocations.delete(invocation);
141
+ state.controller.abort('host-agent-authorization-revoked');
142
+ throw error;
143
+ }
144
+ };
145
+ let timer;
146
+ let removeAbort;
147
+ try {
148
+ authorize?.();
149
+ timer = setTimeout(() => deadline.abort('host-agent-deadline'), Math.max(0, deadlineAt - Date.now()));
150
+ timer.unref?.();
151
+ const pending = runHostNativeAgent(this.ctx, this.policy, state.input, contract, contractDigest, signal, Object.freeze({ deadlineAt, check, ...(authorize === undefined ? {} : { authorize }),
152
+ observe: (read) => { if (state.active && !signal.aborted)
153
+ state.readObservation = read; } }));
154
+ state.pending = pending;
155
+ // Observe rejection even when a faulty executor drops its returned promise.
156
+ void pending.catch(() => { });
157
+ const cancelled = new Promise((_, reject) => {
158
+ const abort = () => reject(new Error('assistant-automations: Host Agent interrupted'));
159
+ if (signal.aborted)
160
+ abort();
161
+ else
162
+ signal.addEventListener('abort', abort, { once: true });
163
+ removeAbort = () => signal.removeEventListener('abort', abort);
164
+ });
165
+ const result = await Promise.race([pending, cancelled]);
166
+ authorize?.();
167
+ check();
168
+ const snapshot = snapshotResult(result);
169
+ check();
170
+ state.result = snapshot;
171
+ state.finished = true;
172
+ return Object.freeze({ ...snapshot, contractDigest });
173
+ }
174
+ finally {
175
+ removeAbort?.();
176
+ clearTimeout(timer);
177
+ if (signal.aborted)
178
+ await drainInvocation(state);
179
+ }
180
+ }
181
+ suspend() {
182
+ this.#accepting = false;
183
+ for (const state of this.#live) {
184
+ state.active = false;
185
+ state.controller.abort('automations-stopped');
186
+ }
187
+ }
188
+ resume() { if (this.#active)
189
+ this.#accepting = true; }
190
+ async drain() { await Promise.all([...this.#live].map(async (state) => { if (state.pending)
191
+ await drainInvocation(state); })); }
192
+ async dispose() { this.#active = false; this.suspend(); await this.drain(); }
193
+ }
194
+ /** Audit-only lower bound, sampled even when authorization or teardown is no longer confirmed. */
195
+ function observeInvocation(state) {
196
+ try {
197
+ const observation = state.readObservation?.();
198
+ if (!observation || observation.sessionId !== state.input.sessionId)
199
+ return;
200
+ const usage = { observedPartial: true };
201
+ for (const [key, value] of Object.entries(observation.usage)) {
202
+ if (typeof value !== 'number' || !Number.isSafeInteger(value) || value < 0)
203
+ continue;
204
+ const prior = state.observed?.usage[key];
205
+ usage[key] = typeof prior === 'number' ? Math.max(prior, value) : value;
206
+ }
207
+ state.observed = snapshotResult({ outcome: 'unknown', output: '', sessionId: observation.sessionId,
208
+ usage, quiescent: false });
209
+ }
210
+ catch { /* Retain any prior observation; missing audit data never authorizes success. */ }
211
+ }
212
+ function snapshotResult(result) {
213
+ const descriptors = Object.getOwnPropertyDescriptors(result);
214
+ const allowed = new Set(['outcome', 'output', 'usage', 'sessionId', 'diagnostic', 'quiescent']);
215
+ if (Reflect.ownKeys(result).some(key => typeof key !== 'string' || !allowed.has(key))
216
+ || Object.values(descriptors).some(descriptor => !descriptor.enumerable || !Object.hasOwn(descriptor, 'value'))
217
+ || !['outcome', 'output', 'usage'].every(key => Object.hasOwn(descriptors, key)))
218
+ throw new Error('assistant-automations: native receipt shape is invalid');
219
+ const body = Object.fromEntries(Object.entries(descriptors).filter(([key, descriptor]) => descriptor.value !== undefined || ['outcome', 'output', 'usage'].includes(key))
220
+ .map(([key, descriptor]) => [key, descriptor.value]));
221
+ const detached = JSON.parse(acceptanceCanonicalJson(body));
222
+ const freeze = (value) => {
223
+ if (value === null || typeof value !== 'object')
224
+ return;
225
+ for (const item of Object.values(value))
226
+ freeze(item);
227
+ Object.freeze(value);
228
+ };
229
+ freeze(detached);
230
+ return detached;
231
+ }
232
+ function drainInvocation(state) {
233
+ // Do not cache empty success: consumption may not have started yet.
234
+ if (!state.pending)
235
+ return Promise.resolve();
236
+ return state.drain ??= boundedDrain(state.pending);
237
+ }
238
+ async function boundedDrain(pending) {
239
+ let timer;
240
+ try {
241
+ await Promise.race([pending.then(() => { }, () => { }), new Promise((_, reject) => { timer = setTimeout(() => reject(new Error('assistant-automations: Host Agent teardown unconfirmed')), 2000); })]);
242
+ }
243
+ finally {
244
+ if (timer)
245
+ clearTimeout(timer);
246
+ }
247
+ }
248
+ //# sourceMappingURL=host-agent-execution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host-agent-execution.js","sourceRoot":"","sources":["../src/host-agent-execution.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ import type { HostAgentExecutions } from './host-agent-execution.js';
2
+ import type { AutomationRunnerInput, AutomationRunnerResult } from './coordinator.js';
1
3
  import type { HostAutomationExecutionSpec, HostAutomationExecutor, HostAutomationExecutorDescriptor, HostAutomationExecutorInput, HostAutomationExecutorResult } from './types.js';
2
4
  export type { HostAutomationExecutor } from './types.js';
3
5
  export type HostExecutorRegistryErrorCode = 'duplicate-descriptor' | 'invalid-descriptor' | 'invalid-result' | 'stale-registration';
@@ -17,9 +19,16 @@ export type HostExecutorProof = Readonly<{
17
19
  export declare function validateHostExecutorResult(value: HostAutomationExecutorResult): Readonly<HostAutomationExecutorResult>;
18
20
  /** Process-local registry. Durable definitions store descriptors, never callbacks. */
19
21
  export declare class HostAutomationExecutorRegistry {
22
+ #private;
20
23
  private readonly registrations;
24
+ constructor(agentOwner?: HostAgentExecutions);
21
25
  register(executor: HostAutomationExecutor): () => void;
22
26
  prove(spec: HostAutomationExecutionSpec): HostExecutorProof;
23
- execute(proof: HostExecutorProof, input: HostAutomationExecutorInput): Promise<Readonly<HostAutomationExecutorResult>>;
27
+ execute(proof: HostExecutorProof, input: HostAutomationExecutorInput, authorization?: {
28
+ key: object;
29
+ input: AutomationRunnerInput;
30
+ freshReservation: boolean;
31
+ onNativeResult: (result: AutomationRunnerResult) => void;
32
+ }): Promise<Readonly<HostAutomationExecutorResult>>;
24
33
  }
25
34
  //# sourceMappingURL=host-executors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"host-executors.d.ts","sourceRoot":"","sources":["../src/host-executors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,2BAA2B,EAC3B,sBAAsB,EACtB,gCAAgC,EAChC,2BAA2B,EAC3B,4BAA4B,EAC7B,MAAM,YAAY,CAAA;AAEnB,YAAY,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AAExD,MAAM,MAAM,6BAA6B,GACrC,sBAAsB,GACtB,oBAAoB,GACpB,gBAAgB,GAChB,oBAAoB,CAAA;AAExB,qBAAa,yBAA0B,SAAQ,KAAK;IACtC,QAAQ,CAAC,IAAI,EAAE,6BAA6B;gBAAnC,IAAI,EAAE,6BAA6B,EAAE,OAAO,EAAE,MAAM;CAI1E;AASD,MAAM,MAAM,iBAAiB,GACzB,QAAQ,CAAC;IACP,SAAS,EAAE,KAAK,CAAA;IAChB,UAAU,EACN,mCAAmC,GACnC,iCAAiC,GACjC,iCAAiC,GACjC,2BAA2B,CAAA;CAChC,CAAC,GACF,QAAQ,CAAC;IACP,SAAS,EAAE,IAAI,CAAA;IACf,UAAU,EAAE,QAAQ,CAAC,gCAAgC,CAAC,CAAA;IACtD,iBAAiB,EAAE,MAAM,CAAA;IACzB,eAAe,EAAE,WAAW,CAAA;CAC7B,CAAC,CAAA;AAiCN,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,4BAA4B,GAAG,QAAQ,CAAC,4BAA4B,CAAC,CAmDtH;AAED,sFAAsF;AACtF,qBAAa,8BAA8B;IACzC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkC;IAEhE,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,GAAG,MAAM,IAAI;IA2BtD,KAAK,CAAC,IAAI,EAAE,2BAA2B,GAAG,iBAAiB;IAmCrD,OAAO,CACX,KAAK,EAAE,iBAAiB,EACxB,KAAK,EAAE,2BAA2B,GACjC,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC;CA8BnD"}
1
+ {"version":3,"file":"host-executors.d.ts","sourceRoot":"","sources":["../src/host-executors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AACpE,OAAO,KAAK,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AACrF,OAAO,KAAK,EACV,2BAA2B,EAC3B,sBAAsB,EACtB,gCAAgC,EAChC,2BAA2B,EAC3B,4BAA4B,EAC7B,MAAM,YAAY,CAAA;AAEnB,YAAY,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AAExD,MAAM,MAAM,6BAA6B,GACrC,sBAAsB,GACtB,oBAAoB,GACpB,gBAAgB,GAChB,oBAAoB,CAAA;AAExB,qBAAa,yBAA0B,SAAQ,KAAK;IACtC,QAAQ,CAAC,IAAI,EAAE,6BAA6B;gBAAnC,IAAI,EAAE,6BAA6B,EAAE,OAAO,EAAE,MAAM;CAI1E;AASD,MAAM,MAAM,iBAAiB,GACzB,QAAQ,CAAC;IACP,SAAS,EAAE,KAAK,CAAA;IAChB,UAAU,EACN,mCAAmC,GACnC,iCAAiC,GACjC,iCAAiC,GACjC,2BAA2B,CAAA;CAChC,CAAC,GACF,QAAQ,CAAC;IACP,SAAS,EAAE,IAAI,CAAA;IACf,UAAU,EAAE,QAAQ,CAAC,gCAAgC,CAAC,CAAA;IACtD,iBAAiB,EAAE,MAAM,CAAA;IACzB,eAAe,EAAE,WAAW,CAAA;CAC7B,CAAC,CAAA;AAiCN,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,4BAA4B,GAAG,QAAQ,CAAC,4BAA4B,CAAC,CAmDtH;AAED,sFAAsF;AACtF,qBAAa,8BAA8B;;IACzC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkC;gBAEpD,UAAU,CAAC,EAAE,mBAAmB;IAE5C,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,GAAG,MAAM,IAAI;IA2BtD,KAAK,CAAC,IAAI,EAAE,2BAA2B,GAAG,iBAAiB;IAoCrD,OAAO,CACX,KAAK,EAAE,iBAAiB,EACxB,KAAK,EAAE,2BAA2B,EAClC,aAAa,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,qBAAqB,CAAC;QAAC,gBAAgB,EAAE,OAAO,CAAC;QAAC,cAAc,EAAE,CAAC,MAAM,EAAE,sBAAsB,KAAK,IAAI,CAAA;KAAE,GACjJ,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC;CAiDnD"}
@@ -85,6 +85,8 @@ export function validateHostExecutorResult(value) {
85
85
  /** Process-local registry. Durable definitions store descriptors, never callbacks. */
86
86
  export class HostAutomationExecutorRegistry {
87
87
  registrations = new Map();
88
+ #agentOwner;
89
+ constructor(agentOwner) { this.#agentOwner = agentOwner; }
88
90
  register(executor) {
89
91
  if (typeof executor !== 'object' || executor === null
90
92
  || typeof executor.accepts !== 'function' || typeof executor.execute !== 'function') {
@@ -115,9 +117,10 @@ export class HostAutomationExecutorRegistry {
115
117
  }
116
118
  prove(spec) {
117
119
  const accepted = [];
120
+ const candidate = Object.freeze({ ...spec, targetScope: Object.freeze({ ...spec.targetScope }) });
118
121
  for (const registration of this.registrations.values()) {
119
122
  try {
120
- if (registration.executor.accepts(spec))
123
+ if (registration.executor.accepts(candidate))
121
124
  accepted.push(registration);
122
125
  }
123
126
  catch {
@@ -149,7 +152,7 @@ export class HostAutomationExecutorRegistry {
149
152
  reasonCode: exact === undefined ? 'host-executor-unavailable' : 'host-executor-contract-rejected',
150
153
  });
151
154
  }
152
- async execute(proof, input) {
155
+ async execute(proof, input, authorization) {
153
156
  if (!proof.available) {
154
157
  throw new HostExecutorRegistryError('stale-registration', 'Host executor availability was not proven');
155
158
  }
@@ -160,21 +163,48 @@ export class HostAutomationExecutorRegistry {
160
163
  throw new HostExecutorRegistryError('stale-registration', 'Host executor registration is no longer exact');
161
164
  }
162
165
  const signal = AbortSignal.any([input.signal, registration.lifecycle.signal]);
163
- const execution = Promise.resolve().then(() => registration.executor.execute({ ...input, signal }));
166
+ const invocation = Object.freeze({ ...input, targetScope: Object.freeze({ ...input.targetScope }), signal });
167
+ const close = authorization === undefined ? undefined : this.#agentOwner?.open(authorization.key, invocation, authorization.input, authorization.freshReservation, authorization.onNativeResult);
168
+ const execution = Promise.resolve().then(() => registration.executor.execute(close === undefined ? { ...input, signal } : invocation));
164
169
  const settled = execution.then(result => ({ kind: 'result', result }), error => ({ kind: 'error', error }));
170
+ let removeUnloaded;
165
171
  const unloaded = new Promise(resolve => {
172
+ const abort = () => resolve({ kind: 'unloaded' });
166
173
  if (registration.lifecycle.signal.aborted)
167
- resolve({ kind: 'unloaded' });
174
+ abort();
168
175
  else
169
- registration.lifecycle.signal.addEventListener('abort', () => resolve({ kind: 'unloaded' }), { once: true });
176
+ registration.lifecycle.signal.addEventListener('abort', abort, { once: true });
177
+ removeUnloaded = () => registration.lifecycle.signal.removeEventListener('abort', abort);
170
178
  });
171
- const result = await Promise.race([settled, unloaded]);
179
+ let removeCancel;
180
+ const cancelled = new Promise(resolve => {
181
+ if (close === undefined)
182
+ return;
183
+ const abort = () => resolve({ kind: 'unloaded' });
184
+ if (signal.aborted)
185
+ abort();
186
+ else
187
+ signal.addEventListener('abort', abort, { once: true });
188
+ removeCancel = () => signal.removeEventListener('abort', abort);
189
+ });
190
+ let result;
191
+ try {
192
+ result = await Promise.race([settled, unloaded, cancelled]);
193
+ }
194
+ finally {
195
+ removeCancel?.();
196
+ removeUnloaded?.();
197
+ await close?.();
198
+ }
172
199
  void settled.then(() => { });
173
200
  if (result.kind === 'unloaded') {
174
201
  throw new HostExecutorRegistryError('stale-registration', 'Host executor unloaded during execution');
175
202
  }
176
- if (result.kind === 'error')
203
+ if (result.kind === 'error') {
204
+ if (close !== undefined)
205
+ throw new Error('assistant-automations: Host Agent executor failed', { cause: result.error });
177
206
  throw result.error;
207
+ }
178
208
  return validateHostExecutorResult(result.result);
179
209
  }
180
210
  }
@@ -1 +1 @@
1
- {"version":3,"file":"host-executors.js","sourceRoot":"","sources":["../src/host-executors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"host-executors.js","sourceRoot":"","sources":["../src/host-executors.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -9,8 +9,9 @@ export * from './types.js';
9
9
  export { externalEventDigest, parseExternalEventEnvelope } from './external-event.js';
10
10
  export type { ExternalEventEnvelope } from './external-event.js';
11
11
  export type { AcceptanceContract, AcceptedExecution, AcceptanceHandle, AcceptanceOwner, AcceptanceScope, AcceptanceTaskInput, TaskAcceptanceRegistration, } from './acceptance.js';
12
- export { AutomationOperatorSnapshotError, automationDefinitionDigest, inspectAutomationInventoryLocally, inspectAutomationsOperatorSnapshot, listActiveAutomationsForReadiness, listActiveAutomationsLocally, listAutomationsLocally, } from './operator.js';
13
- export type { AutomationOperatorFileIdentity, AutomationOperatorRecord, AutomationOperatorSnapshotErrorCode, AutomationsOperatorSnapshot, } from './operator.js';
12
+ export { AutomationOperatorSnapshotError, automationDefinitionDigest, automationRetirementSnapshotProtocol, inspectAutomationRetirementSnapshot, inspectAutomationInventoryLocally, inspectAutomationsOperatorSnapshot, listActiveAutomationsForReadiness, listActiveAutomationsLocally, listAutomationsLocally, } from './operator.js';
13
+ export type { AutomationOperatorFileIdentity, AutomationOperatorRecord, AutomationOperatorSnapshotErrorCode, AutomationsOperatorSnapshot, AutomationRetirementSnapshot, AutomationRetirementDefinitionRecord, AutomationRetirementReceipt, AutomationRetirementHistoryTable, AutomationRetirementSchemaEntry, } from './operator.js';
14
14
  export declare function apply(ctx: Context, config: import('./service.js').Config): void;
15
15
  export default AssistantAutomationsService;
16
+ export { hostAgentToolSchemaDigest } from './host-agent-execution.js';
16
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,2BAA2B,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,eAAO,MAAM,IAAI,uCAAuC,CAAA;AACxD,OAAO,EAAE,2BAA2B,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;AACvD,YAAY,EAAE,yBAAyB,EAAE,8BAA8B,EAAE,MAAM,cAAc,CAAA;AAC7F,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAC3E,cAAc,YAAY,CAAA;AAC1B,OAAO,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAA;AACrF,YAAY,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAChE,YAAY,EACV,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,0BAA0B,GAC3B,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACL,+BAA+B,EAC/B,0BAA0B,EAC1B,iCAAiC,EACjC,kCAAkC,EAClC,iCAAiC,EACjC,4BAA4B,EAC5B,sBAAsB,GACvB,MAAM,eAAe,CAAA;AACtB,YAAY,EACV,8BAA8B,EAC9B,wBAAwB,EACxB,mCAAmC,EACnC,2BAA2B,GAC5B,MAAM,eAAe,CAAA;AAEtB,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,cAAc,EAAE,MAAM,GAAG,IAAI,CAE/E;AAED,eAAe,2BAA2B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,2BAA2B,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,eAAO,MAAM,IAAI,uCAAuC,CAAA;AACxD,OAAO,EAAE,2BAA2B,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;AACvD,YAAY,EAAE,yBAAyB,EAAE,8BAA8B,EAAE,MAAM,cAAc,CAAA;AAC7F,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAC3E,cAAc,YAAY,CAAA;AAC1B,OAAO,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAA;AACrF,YAAY,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAChE,YAAY,EACV,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,0BAA0B,GAC3B,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACL,+BAA+B,EAC/B,0BAA0B,EAC1B,oCAAoC,EACpC,mCAAmC,EACnC,iCAAiC,EACjC,kCAAkC,EAClC,iCAAiC,EACjC,4BAA4B,EAC5B,sBAAsB,GACvB,MAAM,eAAe,CAAA;AACtB,YAAY,EACV,8BAA8B,EAC9B,wBAAwB,EACxB,mCAAmC,EACnC,2BAA2B,EAC3B,4BAA4B,EAC5B,oCAAoC,EACpC,2BAA2B,EAC3B,gCAAgC,EAChC,+BAA+B,GAChC,MAAM,eAAe,CAAA;AAEtB,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,cAAc,EAAE,MAAM,GAAG,IAAI,CAE/E;AAED,eAAe,2BAA2B,CAAA;AAE1C,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAA"}
package/lib/index.js CHANGED
@@ -4,9 +4,10 @@ export const name = 'dsh-enhanced-assistant-automations';
4
4
  export { AssistantAutomationsService, Config, version };
5
5
  export * from './types.js';
6
6
  export { externalEventDigest, parseExternalEventEnvelope } from './external-event.js';
7
- export { AutomationOperatorSnapshotError, automationDefinitionDigest, inspectAutomationInventoryLocally, inspectAutomationsOperatorSnapshot, listActiveAutomationsForReadiness, listActiveAutomationsLocally, listAutomationsLocally, } from './operator.js';
7
+ export { AutomationOperatorSnapshotError, automationDefinitionDigest, automationRetirementSnapshotProtocol, inspectAutomationRetirementSnapshot, inspectAutomationInventoryLocally, inspectAutomationsOperatorSnapshot, listActiveAutomationsForReadiness, listActiveAutomationsLocally, listAutomationsLocally, } from './operator.js';
8
8
  export function apply(ctx, config) {
9
9
  new AssistantAutomationsService(ctx, config);
10
10
  }
11
11
  export default AssistantAutomationsService;
12
+ export { hostAgentToolSchemaDigest } from './host-agent-execution.js';
12
13
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,MAAM,CAAC,MAAM,IAAI,GAAG,oCAAoC,CAAA;AACxD,OAAO,EAAE,2BAA2B,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;AAGvD,cAAc,YAAY,CAAA;AAC1B,OAAO,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAA;AAWrF,OAAO,EACL,+BAA+B,EAC/B,0BAA0B,EAC1B,iCAAiC,EACjC,kCAAkC,EAClC,iCAAiC,EACjC,4BAA4B,EAC5B,sBAAsB,GACvB,MAAM,eAAe,CAAA;AAQtB,MAAM,UAAU,KAAK,CAAC,GAAY,EAAE,MAAqC;IACvE,IAAI,2BAA2B,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;AAC9C,CAAC;AAED,eAAe,2BAA2B,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,MAAM,CAAC,MAAM,IAAI,GAAG,oCAAoC,CAAA;AACxD,OAAO,EAAE,2BAA2B,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;AAGvD,cAAc,YAAY,CAAA;AAC1B,OAAO,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAA;AAWrF,OAAO,EACL,+BAA+B,EAC/B,0BAA0B,EAC1B,oCAAoC,EACpC,mCAAmC,EACnC,iCAAiC,EACjC,kCAAkC,EAClC,iCAAiC,EACjC,4BAA4B,EAC5B,sBAAsB,GACvB,MAAM,eAAe,CAAA;AAatB,MAAM,UAAU,KAAK,CAAC,GAAY,EAAE,MAAqC;IACvE,IAAI,2BAA2B,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;AAC9C,CAAC;AAED,eAAe,2BAA2B,CAAA;AAE1C,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAA"}
@@ -0,0 +1,123 @@
1
+ import type { HostAgentExecutionContract } from './types.js';
2
+ declare module '@deepseek-ai/dsh-llm' {
3
+ interface MessageSourceMap {
4
+ 'assistant-automations': {
5
+ kind: 'assistant-automations';
6
+ form?: 'notice';
7
+ summary?: string;
8
+ };
9
+ }
10
+ }
11
+ import type { Context } from '@deepseek-ai/cordis';
12
+ import type { AssistantPolicyService, PolicyBudgetConfig } from '@dsh-enhanced/assistant-policy';
13
+ import { HostAutomationExecutorRegistry } from './host-executors.js';
14
+ import { AutomationRunnerFailureError, type AutomationRunner, type AutomationRunnerInput, type AutomationRunnerResult } from './coordinator.js';
15
+ import type { AutomationExecutionContext } from './types.js';
16
+ import type { AcceptanceOwner } from './acceptance.js';
17
+ declare module '@deepseek-ai/cordis' {
18
+ interface Context {
19
+ assistantAutomationExecution: AutomationExecutionContext;
20
+ }
21
+ }
22
+ export declare class AutomationBudgetReplayError extends AutomationRunnerFailureError {
23
+ readonly reservationStatus: 'finalized' | 'released' | 'reserved';
24
+ readonly code: "automation-budget-reservation-replayed";
25
+ constructor(reservationStatus: 'finalized' | 'released' | 'reserved');
26
+ }
27
+ export declare const AUTOMATION_RUN_BUDGET_METRIC = "automation-runs";
28
+ /** Prove the configured Policy budget uses the fixed per-run unit before reservation. */
29
+ export declare function assertAutomationRunBudget(policy: Pick<AssistantPolicyService, 'getBudgetConfig'>, budgetId: string): Readonly<PolicyBudgetConfig>;
30
+ export interface DshAutomationRunnerOptions {
31
+ /** Explicit escape hatch for deployments whose unattended routes have no configured Policy budget. */
32
+ readonly allowUnbudgetedExecution?: boolean;
33
+ /** Host-only pre-prompt boundary; no Agent/model payload can reach it. */
34
+ readonly prepareAcceptance?: (input: {
35
+ taskId: string;
36
+ automationId: string;
37
+ scope: {
38
+ workspace: string;
39
+ preset: string;
40
+ };
41
+ objective: string;
42
+ owner?: AcceptanceOwner;
43
+ binding?: {
44
+ id: string;
45
+ version: number;
46
+ generation: number;
47
+ };
48
+ }) => void;
49
+ readonly acceptanceEnabled?: () => boolean;
50
+ /** Host-only synchronous fence after setup and before the first model prompt. */
51
+ readonly beforePrompt?: () => void;
52
+ /** Optional hard cap on DSH model stream dispatches for one runner invocation. */
53
+ readonly maxModelCalls?: number;
54
+ /** Host-only model turn: no preset mount and no executable tool surface. */
55
+ readonly modelOnly?: boolean;
56
+ }
57
+ declare class NativeAgentExecution implements AutomationRunner {
58
+ private readonly ctx;
59
+ private readonly policy;
60
+ private readonly hostContract?;
61
+ private readonly allowUnbudgetedExecution;
62
+ private readonly prepareAcceptance;
63
+ private readonly acceptanceEnabled;
64
+ private readonly beforePrompt;
65
+ private readonly maxModelCalls;
66
+ private readonly modelOnly;
67
+ constructor(ctx: Context, policy: AssistantPolicyService, options?: DshAutomationRunnerOptions, hostContract?: Readonly<{
68
+ contract: Readonly<HostAgentExecutionContract>;
69
+ digest: string;
70
+ deadline: Readonly<{
71
+ deadlineAt: number;
72
+ check: () => void;
73
+ authorize?: () => void;
74
+ observe: (read: () => AutomationRunnerResult) => void;
75
+ }>;
76
+ }> | undefined);
77
+ run(input: AutomationRunnerInput): Promise<AutomationRunnerResult>;
78
+ }
79
+ declare module '@deepseek-ai/dsh-session' {
80
+ interface PluginRecordMap {
81
+ 'plugin:assistant-automations/host-agent-contract': {
82
+ protocol: 'assistant-automations/host-agent-contract/v1';
83
+ contract: Readonly<HostAgentExecutionContract>;
84
+ contractDigest: string;
85
+ automationId: string;
86
+ occurrenceId: string;
87
+ sessionId: string;
88
+ };
89
+ }
90
+ }
91
+ /** Original public runner options and acceptance/guidance/settlement behavior. */
92
+ export declare class DshAutomationRunner extends NativeAgentExecution {
93
+ constructor(ctx: Context, policy: AssistantPolicyService, options?: DshAutomationRunnerOptions);
94
+ }
95
+ /** Internal Host path: outer HostRunner alone reserves and settles the occurrence. */
96
+ export declare function runHostNativeAgent(ctx: Context, policy: AssistantPolicyService, input: AutomationRunnerInput, contract: Readonly<HostAgentExecutionContract>, contractDigest: string, signal: AbortSignal, deadline: Readonly<{
97
+ deadlineAt: number;
98
+ check: () => void;
99
+ authorize?: () => void;
100
+ observe: (read: () => AutomationRunnerResult) => void;
101
+ }>): Promise<AutomationRunnerResult>;
102
+ export interface HostAutomationRunnerOptions {
103
+ readonly allowUnbudgetedExecution?: boolean;
104
+ }
105
+ /** Executes immutable Host contracts without creating an Agent or model turn. */
106
+ export declare class HostAutomationRunner implements AutomationRunner {
107
+ #private;
108
+ private readonly registry;
109
+ private readonly policy;
110
+ private readonly allowUnbudgetedExecution;
111
+ constructor(registry: HostAutomationExecutorRegistry, policy: AssistantPolicyService, options?: HostAutomationRunnerOptions, hostAgentKey?: object);
112
+ run(input: AutomationRunnerInput): Promise<AutomationRunnerResult>;
113
+ private hostDiagnostic;
114
+ }
115
+ /** Preserves the legacy Agent runner while routing Host definitions explicitly. */
116
+ export declare class RoutedAutomationRunner implements AutomationRunner {
117
+ private readonly agent;
118
+ private readonly host;
119
+ constructor(agent: AutomationRunner, host: AutomationRunner);
120
+ run(input: AutomationRunnerInput): Promise<AutomationRunnerResult>;
121
+ }
122
+ export {};
123
+ //# sourceMappingURL=native-agent-execution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native-agent-execution.d.ts","sourceRoot":"","sources":["../src/native-agent-execution.ts"],"names":[],"mappings":"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"}