@dsh-enhanced/event-triggers 0.1.24 → 0.1.31
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 +49 -4
- package/lib/config.d.ts +43 -4
- package/lib/config.d.ts.map +1 -1
- package/lib/config.js +42 -0
- package/lib/config.js.map +1 -1
- package/lib/github-sensor.d.ts +17 -0
- package/lib/github-sensor.d.ts.map +1 -0
- package/lib/github-sensor.js +87 -0
- package/lib/github-sensor.js.map +1 -0
- package/lib/index.d.ts +9 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +15 -3
- package/lib/index.js.map +1 -1
- package/lib/lark-calendar-sensor.d.ts +29 -0
- package/lib/lark-calendar-sensor.d.ts.map +1 -0
- package/lib/lark-calendar-sensor.js +99 -0
- package/lib/lark-calendar-sensor.js.map +1 -0
- package/lib/observer.d.ts +63 -0
- package/lib/observer.d.ts.map +1 -0
- package/lib/observer.js +350 -0
- package/lib/observer.js.map +1 -0
- package/lib/sensors.d.ts +14 -0
- package/lib/sensors.d.ts.map +1 -1
- package/lib/sensors.js +19 -21
- package/lib/sensors.js.map +1 -1
- package/lib/service.d.ts +38 -2
- package/lib/service.d.ts.map +1 -1
- package/lib/service.js +338 -40
- package/lib/service.js.map +1 -1
- package/lib/source.d.ts +24 -0
- package/lib/source.d.ts.map +1 -0
- package/lib/source.js +2 -0
- package/lib/source.js.map +1 -0
- package/lib/sqlite.d.ts +2 -2
- package/lib/sqlite.d.ts.map +1 -1
- package/lib/sqlite.js +106 -4
- package/lib/sqlite.js.map +1 -1
- package/lib/store.d.ts +65 -1
- package/lib/store.d.ts.map +1 -1
- package/lib/store.js +143 -8
- package/lib/store.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/package.json +18 -8
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lark-calendar-sensor.js","sourceRoot":"","sources":["../src/lark-calendar-sensor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type { Context } from '@deepseek-ai/cordis';
|
|
2
|
+
import type { GoalSourceClaim, EventTriggerStore } from './store.js';
|
|
3
|
+
import type { ObserverLifetime } from './config.js';
|
|
4
|
+
export interface EventObserverConfig {
|
|
5
|
+
workspace: string;
|
|
6
|
+
preset: string;
|
|
7
|
+
principalId: string;
|
|
8
|
+
principalRecordId: string;
|
|
9
|
+
principalVersion: number;
|
|
10
|
+
ownerRouteId: string;
|
|
11
|
+
expiresAt: number;
|
|
12
|
+
budgetId: string;
|
|
13
|
+
}
|
|
14
|
+
export declare const EVENT_OBSERVER_EXECUTOR: "event-triggers-observer/v1";
|
|
15
|
+
type Binding = Readonly<{
|
|
16
|
+
triggerId: string;
|
|
17
|
+
automationId: string;
|
|
18
|
+
configDigest: string;
|
|
19
|
+
owner: EventObserverConfig;
|
|
20
|
+
lifetime: ObserverLifetime;
|
|
21
|
+
}>;
|
|
22
|
+
/**
|
|
23
|
+
* Binds the existing durable event source to a finite, owner-authorized Host
|
|
24
|
+
* automation. It never reads an event body and never enters a model lane.
|
|
25
|
+
*/
|
|
26
|
+
export declare class EventSourceObservers {
|
|
27
|
+
private readonly ctx;
|
|
28
|
+
private readonly store;
|
|
29
|
+
private readonly bindings;
|
|
30
|
+
private readonly receipts;
|
|
31
|
+
private readonly definitionHashes;
|
|
32
|
+
private automations;
|
|
33
|
+
private policy;
|
|
34
|
+
private delivery;
|
|
35
|
+
private unregister;
|
|
36
|
+
private injection;
|
|
37
|
+
private active;
|
|
38
|
+
constructor(ctx: Context, bindings: readonly Binding[], store: EventTriggerStore);
|
|
39
|
+
assertCurrent: (triggerId: string) => void;
|
|
40
|
+
claimGoalSource(input: GoalSourceClaim): boolean;
|
|
41
|
+
retireGoalSource(input: GoalSourceClaim): boolean;
|
|
42
|
+
/** Read-only terminal settlement guard for an already retired dedicated source. */
|
|
43
|
+
canSettleGoalSource(input: GoalSourceClaim): boolean;
|
|
44
|
+
private accepts;
|
|
45
|
+
private activationNonce;
|
|
46
|
+
private definition;
|
|
47
|
+
private reconcile;
|
|
48
|
+
private execute;
|
|
49
|
+
private assertBinding;
|
|
50
|
+
private claimMatches;
|
|
51
|
+
private trustedComplete;
|
|
52
|
+
private sameClaimIdentity;
|
|
53
|
+
private assertGoalClaimCurrent;
|
|
54
|
+
private goalReader;
|
|
55
|
+
private routeReceipt;
|
|
56
|
+
private pauseCurrent;
|
|
57
|
+
private pause;
|
|
58
|
+
private requireAutomations;
|
|
59
|
+
private requirePolicy;
|
|
60
|
+
private requireDelivery;
|
|
61
|
+
}
|
|
62
|
+
export {};
|
|
63
|
+
//# sourceMappingURL=observer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"observer.d.ts","sourceRoot":"","sources":["../src/observer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAUlD,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAEnD,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;IACnB,iBAAiB,EAAE,MAAM,CAAA;IACzB,gBAAgB,EAAE,MAAM,CAAA;IACxB,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,eAAO,MAAM,uBAAuB,EAAG,4BAAqC,CAAA;AAM5E,KAAK,OAAO,GAAG,QAAQ,CAAC;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,mBAAmB,CAAA;IAC1B,QAAQ,EAAE,gBAAgB,CAAA;CAC3B,CAAC,CAAA;AA4BF;;;GAGG;AACH,qBAAa,oBAAoB;IAWnB,OAAO,CAAC,QAAQ,CAAC,GAAG;IAAyC,OAAO,CAAC,QAAQ,CAAC,KAAK;IAV/F,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6B;IACtD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2D;IACpF,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA4B;IAC7D,OAAO,CAAC,WAAW,CAAyC;IAC5D,OAAO,CAAC,MAAM,CAAoC;IAClD,OAAO,CAAC,QAAQ,CAAsC;IACtD,OAAO,CAAC,UAAU,CAA0B;IAC5C,OAAO,CAAC,SAAS,CAA0C;IAC3D,OAAO,CAAC,MAAM,CAAO;gBAEQ,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,OAAO,EAAE,EAAmB,KAAK,EAAE,iBAAiB;IAqClH,aAAa,GAAI,WAAW,MAAM,KAAG,IAAI,CAYxC;IAED,eAAe,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO;IAShD,gBAAgB,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO;IASjD,mFAAmF;IACnF,mBAAmB,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO;IAWpD,OAAO,CAAC,OAAO;IAUf,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,UAAU;IAgBlB,OAAO,CAAC,SAAS;IAuCjB,OAAO,CAAC,OAAO;IA4Bf,OAAO,CAAC,aAAa;IA2BrB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,sBAAsB;IAc9B,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,KAAK;IAKb,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,eAAe;CAIxB"}
|
package/lib/observer.js
ADDED
|
@@ -0,0 +1,350 @@
|
|
|
1
|
+
import { createHash } from 'node:crypto';
|
|
2
|
+
import { resolve } from 'node:path';
|
|
3
|
+
export const EVENT_OBSERVER_EXECUTOR = 'event-triggers-observer/v1';
|
|
4
|
+
const RUNBOOK_ID = 'observe-persisted-event-source';
|
|
5
|
+
const RUNBOOK_VERSION = 1;
|
|
6
|
+
const SYSTEM_OWNER = EVENT_OBSERVER_EXECUTOR;
|
|
7
|
+
const FUTURE_AT = '2099-01-01T00:00:00.000Z';
|
|
8
|
+
function digest(value) {
|
|
9
|
+
const canonical = (input) => {
|
|
10
|
+
if (input === null || typeof input !== 'object')
|
|
11
|
+
return JSON.stringify(input);
|
|
12
|
+
if (Array.isArray(input))
|
|
13
|
+
return `[${input.map(canonical).join(',')}]`;
|
|
14
|
+
const record = input;
|
|
15
|
+
return `{${Object.keys(record).sort().map(key => `${JSON.stringify(key)}:${canonical(record[key])}`).join(',')}}`;
|
|
16
|
+
};
|
|
17
|
+
return createHash('sha256').update(canonical(value)).digest('hex');
|
|
18
|
+
}
|
|
19
|
+
function scopeDigest(owner) {
|
|
20
|
+
return digest([resolve(owner.workspace), owner.preset]);
|
|
21
|
+
}
|
|
22
|
+
const sameScope = (left, right) => left.principalId === right.principalId
|
|
23
|
+
&& left.principalRecordId === right.principalRecordId && left.principalVersion === right.principalVersion
|
|
24
|
+
&& resolve(left.workspace) === resolve(right.workspace) && left.preset === right.preset;
|
|
25
|
+
function catalogDigest() {
|
|
26
|
+
return digest({ executor: EVENT_OBSERVER_EXECUTOR, contractVersion: 1, runbook: RUNBOOK_ID, version: RUNBOOK_VERSION });
|
|
27
|
+
}
|
|
28
|
+
const CATALOG_DIGEST = catalogDigest();
|
|
29
|
+
/**
|
|
30
|
+
* Binds the existing durable event source to a finite, owner-authorized Host
|
|
31
|
+
* automation. It never reads an event body and never enters a model lane.
|
|
32
|
+
*/
|
|
33
|
+
export class EventSourceObservers {
|
|
34
|
+
ctx;
|
|
35
|
+
store;
|
|
36
|
+
bindings = new Map();
|
|
37
|
+
receipts = new Map();
|
|
38
|
+
definitionHashes = new Map();
|
|
39
|
+
automations;
|
|
40
|
+
policy;
|
|
41
|
+
delivery;
|
|
42
|
+
unregister;
|
|
43
|
+
injection;
|
|
44
|
+
active = true;
|
|
45
|
+
constructor(ctx, bindings, store) {
|
|
46
|
+
this.ctx = ctx;
|
|
47
|
+
this.store = store;
|
|
48
|
+
const automationIds = new Set();
|
|
49
|
+
for (const binding of bindings) {
|
|
50
|
+
if (this.bindings.has(binding.triggerId))
|
|
51
|
+
throw new Error(`event-triggers: duplicate observer trigger ${binding.triggerId}`);
|
|
52
|
+
if (automationIds.has(binding.automationId))
|
|
53
|
+
throw new Error(`event-triggers: duplicate observer automation ${binding.automationId}`);
|
|
54
|
+
automationIds.add(binding.automationId);
|
|
55
|
+
this.bindings.set(binding.triggerId, Object.freeze({ ...binding, lifetime: binding.lifetime, owner: Object.freeze({ ...binding.owner }) }));
|
|
56
|
+
}
|
|
57
|
+
const activate = (runtime) => {
|
|
58
|
+
if (!this.active)
|
|
59
|
+
return;
|
|
60
|
+
this.unregister?.();
|
|
61
|
+
this.automations = runtime.get('assistantAutomations');
|
|
62
|
+
this.policy = runtime.get('assistantPolicy');
|
|
63
|
+
this.delivery = runtime.get('assistantDelivery');
|
|
64
|
+
if (this.automations === undefined || this.policy === undefined
|
|
65
|
+
|| (this.bindings.size > 0 && this.delivery === undefined))
|
|
66
|
+
return;
|
|
67
|
+
if (this.bindings.size > 0)
|
|
68
|
+
this.unregister = this.automations.registerHostExecutor({
|
|
69
|
+
descriptor: Object.freeze({ executorId: EVENT_OBSERVER_EXECUTOR, contractVersion: 1, catalogDigest: CATALOG_DIGEST }),
|
|
70
|
+
accepts: spec => this.accepts(spec),
|
|
71
|
+
execute: input => this.execute(input),
|
|
72
|
+
});
|
|
73
|
+
if (this.bindings.size > 0 || typeof this.automations.listSystemOwned === 'function')
|
|
74
|
+
this.reconcile();
|
|
75
|
+
return () => { this.unregister?.(); this.unregister = undefined; this.automations = undefined; this.policy = undefined; this.delivery = undefined; };
|
|
76
|
+
};
|
|
77
|
+
const dependencies = this.bindings.size === 0
|
|
78
|
+
? ['assistantAutomations', 'assistantPolicy']
|
|
79
|
+
: ['assistantAutomations', 'assistantPolicy', 'assistantDelivery'];
|
|
80
|
+
this.injection = ctx.inject(dependencies, activate);
|
|
81
|
+
activate(ctx);
|
|
82
|
+
ctx.effect(() => () => {
|
|
83
|
+
this.active = false;
|
|
84
|
+
this.unregister?.();
|
|
85
|
+
this.unregister = undefined;
|
|
86
|
+
void this.injection?.dispose();
|
|
87
|
+
}, 'event-triggers.observer');
|
|
88
|
+
}
|
|
89
|
+
assertCurrent = (triggerId) => {
|
|
90
|
+
const binding = this.bindings.get(triggerId);
|
|
91
|
+
if (binding === undefined)
|
|
92
|
+
return;
|
|
93
|
+
if (!this.assertGoalClaimCurrent(binding))
|
|
94
|
+
throw new Error('event-triggers: observer goal binding is retired or changed');
|
|
95
|
+
const receipt = this.assertBinding(binding), automations = this.requireAutomations();
|
|
96
|
+
const activation = automations.inspectSystemOwnedActivation({ owner: SYSTEM_OWNER, automationId: binding.automationId });
|
|
97
|
+
const current = automations.inspectSystemOwned({ owner: SYSTEM_OWNER, automationId: binding.automationId });
|
|
98
|
+
if (!activation || current.automationStatus !== 'active' || activation.definitionHash !== this.definitionHashes.get(triggerId)
|
|
99
|
+
|| activation.activationNonce !== this.activationNonce(binding, receipt) || activation.ownerRouteId !== binding.owner.ownerRouteId) {
|
|
100
|
+
this.pauseCurrent(binding.automationId, 'source-changed');
|
|
101
|
+
throw new Error('event-triggers: observer source is paused or changed');
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
claimGoalSource(input) {
|
|
105
|
+
const binding = this.bindings.get(input.triggerId);
|
|
106
|
+
if (binding === undefined || binding.lifetime === 'shared')
|
|
107
|
+
return false;
|
|
108
|
+
if (!this.claimMatches(binding, input))
|
|
109
|
+
throw new Error('event-triggers: observer goal binding does not match source configuration');
|
|
110
|
+
this.assertBinding(binding);
|
|
111
|
+
this.store.claimGoalSource(input);
|
|
112
|
+
return true;
|
|
113
|
+
}
|
|
114
|
+
retireGoalSource(input) {
|
|
115
|
+
const binding = this.bindings.get(input.triggerId);
|
|
116
|
+
if (binding === undefined || binding.lifetime === 'shared')
|
|
117
|
+
return false;
|
|
118
|
+
if (!this.claimMatches(binding, input) || !this.trustedComplete(input))
|
|
119
|
+
throw new Error('event-triggers: observer goal completion is not trusted');
|
|
120
|
+
this.store.retireGoalSource(input);
|
|
121
|
+
this.pauseCurrent(binding.automationId, 'goal-complete');
|
|
122
|
+
return true;
|
|
123
|
+
}
|
|
124
|
+
/** Read-only terminal settlement guard for an already retired dedicated source. */
|
|
125
|
+
canSettleGoalSource(input) {
|
|
126
|
+
try {
|
|
127
|
+
const binding = this.bindings.get(input.triggerId);
|
|
128
|
+
if (binding === undefined || binding.lifetime !== 'goal' || !this.claimMatches(binding, input))
|
|
129
|
+
return false;
|
|
130
|
+
const claim = this.store.goalSourceClaim(input.triggerId);
|
|
131
|
+
if (claim === undefined || claim.retiredAt === undefined || !this.sameClaimIdentity(claim, input))
|
|
132
|
+
return false;
|
|
133
|
+
this.assertBinding(binding);
|
|
134
|
+
return this.trustedComplete(input);
|
|
135
|
+
}
|
|
136
|
+
catch {
|
|
137
|
+
return false;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
accepts(spec) {
|
|
141
|
+
return spec.kind === 'host'
|
|
142
|
+
&& spec.executorId === EVENT_OBSERVER_EXECUTOR
|
|
143
|
+
&& spec.executorContractVersion === 1
|
|
144
|
+
&& spec.runbookId === RUNBOOK_ID
|
|
145
|
+
&& spec.runbookVersion === RUNBOOK_VERSION
|
|
146
|
+
&& spec.catalogDigest === CATALOG_DIGEST
|
|
147
|
+
&& spec.scopeDigest === digest([resolve(spec.targetScope.workspace), spec.targetScope.preset]);
|
|
148
|
+
}
|
|
149
|
+
activationNonce(binding, receipt) {
|
|
150
|
+
return digest({ contract: EVENT_OBSERVER_EXECUTOR, triggerId: binding.triggerId, automationId: binding.automationId,
|
|
151
|
+
configDigest: binding.configDigest, owner: binding.owner, route: receipt });
|
|
152
|
+
}
|
|
153
|
+
definition(binding, receipt) {
|
|
154
|
+
const owner = binding.owner;
|
|
155
|
+
return Object.freeze({
|
|
156
|
+
name: `Observe event source: ${binding.triggerId}`,
|
|
157
|
+
schedule: Object.freeze({ kind: 'at', at: FUTURE_AT }),
|
|
158
|
+
workspace: resolve(owner.workspace), agentPreset: owner.preset, timeoutMs: 30_000,
|
|
159
|
+
misfire: Object.freeze({ kind: 'latest' }), overlap: 'skip',
|
|
160
|
+
retrySafety: 'never', maxRetries: 0, principal: owner.principalId,
|
|
161
|
+
budgetId: owner.budgetId, budgetAmount: 1,
|
|
162
|
+
execution: Object.freeze({ kind: 'host', executorId: EVENT_OBSERVER_EXECUTOR,
|
|
163
|
+
executorContractVersion: 1, runbookId: RUNBOOK_ID, runbookVersion: RUNBOOK_VERSION,
|
|
164
|
+
catalogDigest: CATALOG_DIGEST, targetScope: Object.freeze({ workspace: resolve(owner.workspace), preset: owner.preset }),
|
|
165
|
+
scopeDigest: scopeDigest(owner), ownerRouteId: owner.ownerRouteId, activationNonce: this.activationNonce(binding, receipt) }),
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
reconcile() {
|
|
169
|
+
const automations = this.requireAutomations();
|
|
170
|
+
const desired = new Set([...this.bindings.values()].map(binding => binding.automationId));
|
|
171
|
+
const inventory = automations.listSystemOwned({ owner: SYSTEM_OWNER, limit: 1_000 });
|
|
172
|
+
if (inventory.length === 1_000)
|
|
173
|
+
throw new Error('event-triggers: observer inventory reached safe reconciliation bound');
|
|
174
|
+
for (const current of inventory) {
|
|
175
|
+
if (desired.has(current.automationId) || current.automationStatus !== 'active')
|
|
176
|
+
continue;
|
|
177
|
+
this.pause(current.automationId, current.definitionHash, current.definitionVersion, 'remove');
|
|
178
|
+
}
|
|
179
|
+
for (const binding of this.bindings.values()) {
|
|
180
|
+
if (!this.assertGoalClaimCurrent(binding))
|
|
181
|
+
continue;
|
|
182
|
+
let receipt;
|
|
183
|
+
try {
|
|
184
|
+
receipt = this.assertBinding(binding);
|
|
185
|
+
this.receipts.set(binding.triggerId, receipt);
|
|
186
|
+
}
|
|
187
|
+
catch {
|
|
188
|
+
this.pauseCurrent(binding.automationId, 'unattested');
|
|
189
|
+
continue;
|
|
190
|
+
}
|
|
191
|
+
const definition = this.definition(binding, receipt);
|
|
192
|
+
const existing = automations.inspectSystemOwnedActivation({ owner: SYSTEM_OWNER, automationId: binding.automationId });
|
|
193
|
+
// A restart must prove the route receipt already sealed in the durable
|
|
194
|
+
// definition before it can keep or reactivate that source.
|
|
195
|
+
if (existing !== undefined && (existing.ownerRouteId !== binding.owner.ownerRouteId
|
|
196
|
+
|| existing.activationNonce !== definition.execution.activationNonce)) {
|
|
197
|
+
this.pauseCurrent(binding.automationId, 'persistent-route-mismatch');
|
|
198
|
+
continue;
|
|
199
|
+
}
|
|
200
|
+
const bindingIdentity = binding.lifetime === 'shared'
|
|
201
|
+
? { triggerId: binding.triggerId, automationId: binding.automationId, configDigest: binding.configDigest, owner: binding.owner }
|
|
202
|
+
: binding;
|
|
203
|
+
const reconciled = automations.reconcileSystem({ owner: SYSTEM_OWNER, automationId: binding.automationId,
|
|
204
|
+
idempotencyKey: `event-observer:v1:${digest({ binding: bindingIdentity, definition })}`, desiredStatus: 'active', definition });
|
|
205
|
+
// Reconcile returns the original normalized definition on idempotent
|
|
206
|
+
// replay, including after another controller changes the current row.
|
|
207
|
+
this.definitionHashes.set(binding.triggerId, createHash('sha256').update(JSON.stringify(reconciled.definition)).digest('hex'));
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
execute(input) {
|
|
211
|
+
try {
|
|
212
|
+
if (!this.active || input.signal.aborted || input.executionMode !== 'production')
|
|
213
|
+
throw new Error('inactive');
|
|
214
|
+
const binding = [...this.bindings.values()].find(value => value.automationId === input.automationId);
|
|
215
|
+
if (binding === undefined)
|
|
216
|
+
throw new Error('unknown automation');
|
|
217
|
+
const receipt = this.assertBinding(binding);
|
|
218
|
+
this.receipts.set(binding.triggerId, receipt);
|
|
219
|
+
const definition = this.definition(binding, receipt);
|
|
220
|
+
const activation = this.requireAutomations().inspectSystemOwnedActivation({ owner: SYSTEM_OWNER, automationId: binding.automationId });
|
|
221
|
+
const health = this.requireAutomations().inspectSystemOwned({ owner: SYSTEM_OWNER, automationId: binding.automationId });
|
|
222
|
+
if (activation === undefined || health.automationStatus !== 'active'
|
|
223
|
+
|| activation.definitionHash !== this.definitionHashes.get(binding.triggerId)
|
|
224
|
+
|| activation.definitionHash !== input.definitionHash || activation.ownerRouteId !== binding.owner.ownerRouteId
|
|
225
|
+
|| activation.activationNonce !== definition.execution.activationNonce
|
|
226
|
+
|| input.definitionHash !== health.definitionHash
|
|
227
|
+
|| input.principal !== binding.owner.principalId || input.ownerRouteId !== binding.owner.ownerRouteId
|
|
228
|
+
|| input.activationNonce !== definition.execution.activationNonce
|
|
229
|
+
|| input.targetScope.workspace !== definition.execution.targetScope.workspace
|
|
230
|
+
|| input.targetScope.preset !== definition.execution.targetScope.preset)
|
|
231
|
+
throw new Error('stale definition');
|
|
232
|
+
return Promise.resolve(Object.freeze({ outcome: 'succeeded', failureClass: 'none',
|
|
233
|
+
failurePhase: 'none', failureCode: 'none', sideEffectState: 'none', retryability: 'safe' }));
|
|
234
|
+
}
|
|
235
|
+
catch {
|
|
236
|
+
return Promise.resolve(Object.freeze({ outcome: 'failed', failureClass: 'policy',
|
|
237
|
+
failurePhase: 'host-execution', failureCode: 'observer-authority', sideEffectState: 'none',
|
|
238
|
+
retryability: 'after-intervention' }));
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
assertBinding(binding) {
|
|
242
|
+
if (!this.active)
|
|
243
|
+
throw new Error('event-triggers: observer disposed');
|
|
244
|
+
if (Date.now() >= binding.owner.expiresAt) {
|
|
245
|
+
this.pauseCurrent(binding.automationId, 'expired');
|
|
246
|
+
throw new Error('event-triggers: observer authorization expired');
|
|
247
|
+
}
|
|
248
|
+
const receipt = this.routeReceipt(binding);
|
|
249
|
+
if (receipt.principalRecordId !== binding.owner.principalRecordId || receipt.principalVersion !== binding.owner.principalVersion
|
|
250
|
+
|| receipt.principalId !== binding.owner.principalId || receipt.workspace !== resolve(binding.owner.workspace)
|
|
251
|
+
|| receipt.agentPreset !== binding.owner.preset) {
|
|
252
|
+
this.pauseCurrent(binding.automationId, 'route-changed');
|
|
253
|
+
throw new Error('event-triggers: observer owner route changed');
|
|
254
|
+
}
|
|
255
|
+
const frozen = this.receipts.get(binding.triggerId);
|
|
256
|
+
if (frozen !== undefined && (receipt.authorityHash !== frozen.authorityHash || receipt.bindingVersion !== frozen.bindingVersion
|
|
257
|
+
|| receipt.generation !== frozen.generation)) {
|
|
258
|
+
this.pauseCurrent(binding.automationId, 'route-rebound');
|
|
259
|
+
throw new Error('event-triggers: observer owner route changed');
|
|
260
|
+
}
|
|
261
|
+
const decision = this.requirePolicy().evaluate({
|
|
262
|
+
subject: { kind: 'background', id: SYSTEM_OWNER, workspace: resolve(binding.owner.workspace), principal: binding.owner.principalId },
|
|
263
|
+
action: 'observe', resource: { kind: 'automation', id: binding.automationId }, context: { initiator: 'background' },
|
|
264
|
+
});
|
|
265
|
+
if (decision.effect !== 'allow')
|
|
266
|
+
throw new Error('event-triggers: observer policy denied');
|
|
267
|
+
return receipt;
|
|
268
|
+
}
|
|
269
|
+
claimMatches(binding, input) {
|
|
270
|
+
const owner = binding.owner;
|
|
271
|
+
return input.automationId === binding.automationId && input.configDigest === binding.configDigest
|
|
272
|
+
&& input.scope.principalId === owner.principalId && input.scope.principalRecordId === owner.principalRecordId
|
|
273
|
+
&& input.scope.principalVersion === owner.principalVersion && resolve(input.scope.workspace) === resolve(owner.workspace)
|
|
274
|
+
&& input.scope.preset === owner.preset;
|
|
275
|
+
}
|
|
276
|
+
trustedComplete(input) {
|
|
277
|
+
const goal = this.goalReader()?.inspectGoalLifecycle({ scope: input.scope, goalId: input.goalId });
|
|
278
|
+
return goal !== undefined && sameScope(goal.scope, input.scope) && goal.id === input.goalId
|
|
279
|
+
&& goal.definition.version === input.definition.version && goal.definition.digest === input.definition.digest
|
|
280
|
+
&& goal.native.sessionId === input.native.sessionId && goal.native.goalId === input.native.goalId
|
|
281
|
+
&& goal.native.revision >= input.native.revision && goal.native.phase === 'complete';
|
|
282
|
+
}
|
|
283
|
+
sameClaimIdentity(claim, input) {
|
|
284
|
+
return sameScope(claim.scope, input.scope) && claim.goalId === input.goalId
|
|
285
|
+
&& claim.definition.version === input.definition.version && claim.definition.digest === input.definition.digest
|
|
286
|
+
&& claim.native.sessionId === input.native.sessionId && claim.native.goalId === input.native.goalId
|
|
287
|
+
&& input.native.revision >= claim.native.revision && claim.configDigest === input.configDigest
|
|
288
|
+
&& claim.automationId === input.automationId;
|
|
289
|
+
}
|
|
290
|
+
assertGoalClaimCurrent(binding) {
|
|
291
|
+
if (binding.lifetime === 'shared')
|
|
292
|
+
return true;
|
|
293
|
+
const claim = this.store.goalSourceClaim(binding.triggerId);
|
|
294
|
+
if (!claim)
|
|
295
|
+
return true;
|
|
296
|
+
if (claim.retiredAt !== undefined || !this.claimMatches(binding, claim)) {
|
|
297
|
+
this.pauseCurrent(binding.automationId, 'goal-binding-changed');
|
|
298
|
+
return false;
|
|
299
|
+
}
|
|
300
|
+
const goal = this.goalReader()?.inspectGoalLifecycle({ scope: claim.scope, goalId: claim.goalId });
|
|
301
|
+
if (!goal || !sameScope(goal.scope, claim.scope) || goal.id !== claim.goalId
|
|
302
|
+
|| goal.definition.version !== claim.definition.version || goal.definition.digest !== claim.definition.digest
|
|
303
|
+
|| goal.native.sessionId !== claim.native.sessionId || goal.native.goalId !== claim.native.goalId
|
|
304
|
+
|| goal.native.revision < claim.native.revision) {
|
|
305
|
+
this.pauseCurrent(binding.automationId, 'goal-binding-changed');
|
|
306
|
+
return false;
|
|
307
|
+
}
|
|
308
|
+
if (goal.native.phase === 'complete') {
|
|
309
|
+
this.store.retireGoalSource(claim);
|
|
310
|
+
this.pauseCurrent(binding.automationId, 'goal-complete');
|
|
311
|
+
return false;
|
|
312
|
+
}
|
|
313
|
+
return true;
|
|
314
|
+
}
|
|
315
|
+
goalReader() {
|
|
316
|
+
return this.ctx.get('assistantGoals', false);
|
|
317
|
+
}
|
|
318
|
+
routeReceipt(binding) {
|
|
319
|
+
return this.requireDelivery().validateOwnerRoute({ authorityId: binding.owner.ownerRouteId,
|
|
320
|
+
principalId: binding.owner.principalId, workspace: resolve(binding.owner.workspace), agentPreset: binding.owner.preset });
|
|
321
|
+
}
|
|
322
|
+
pauseCurrent(automationId, reason) {
|
|
323
|
+
try {
|
|
324
|
+
const current = this.requireAutomations().inspectSystemOwned({ owner: SYSTEM_OWNER, automationId });
|
|
325
|
+
if (current.automationStatus === 'active')
|
|
326
|
+
this.pause(automationId, current.definitionHash, current.definitionVersion, reason);
|
|
327
|
+
}
|
|
328
|
+
catch { /* best effort: never rewrite a row we cannot prove is ours */ }
|
|
329
|
+
}
|
|
330
|
+
pause(automationId, definitionHash, expectedVersion, reason) {
|
|
331
|
+
this.requireAutomations().pauseSystemOwned({ owner: SYSTEM_OWNER, automationId, definitionHash, expectedVersion,
|
|
332
|
+
operationId: `event-observer:${reason}:v1:${digest({ automationId, definitionHash, expectedVersion })}` });
|
|
333
|
+
}
|
|
334
|
+
requireAutomations() {
|
|
335
|
+
if (this.automations === undefined)
|
|
336
|
+
throw new Error('event-triggers: observer dependencies are unavailable');
|
|
337
|
+
return this.automations;
|
|
338
|
+
}
|
|
339
|
+
requirePolicy() {
|
|
340
|
+
if (this.policy === undefined)
|
|
341
|
+
throw new Error('event-triggers: observer dependencies are unavailable');
|
|
342
|
+
return this.policy;
|
|
343
|
+
}
|
|
344
|
+
requireDelivery() {
|
|
345
|
+
if (this.delivery === undefined)
|
|
346
|
+
throw new Error('event-triggers: observer dependencies are unavailable');
|
|
347
|
+
return this.delivery;
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
//# sourceMappingURL=observer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"observer.js","sourceRoot":"","sources":["../src/observer.ts"],"names":[],"mappings":"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"}
|
package/lib/sensors.d.ts
CHANGED
|
@@ -36,6 +36,20 @@ export declare function defaultLookup(hostname: string): Promise<Array<{
|
|
|
36
36
|
address: string;
|
|
37
37
|
family: number;
|
|
38
38
|
}>>;
|
|
39
|
+
export declare function readHttpJsonValue(input: {
|
|
40
|
+
url: string;
|
|
41
|
+
maxBodyBytes: number;
|
|
42
|
+
timeoutMs: number;
|
|
43
|
+
allowedHosts?: ReadonlySet<string>;
|
|
44
|
+
allowedOrigins?: ReadonlySet<string>;
|
|
45
|
+
allowIpv6?: boolean;
|
|
46
|
+
fetcher?: Fetcher;
|
|
47
|
+
lookup?: Lookup;
|
|
48
|
+
trackOperation?: OperationTracker;
|
|
49
|
+
signal?: AbortSignal;
|
|
50
|
+
headers?: RequestInit['headers'];
|
|
51
|
+
rejectPagination?: boolean;
|
|
52
|
+
}): Promise<unknown>;
|
|
39
53
|
export declare function readHttpJsonObservation(input: {
|
|
40
54
|
url: string;
|
|
41
55
|
pointer: string;
|
package/lib/sensors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sensors.d.ts","sourceRoot":"","sources":["../src/sensors.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,OAAO,CAAA;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,MAAM,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAA;IAChB,gBAAgB,EAAE,MAAM,CAAA;IACxB,eAAe,EAAE,MAAM,CAAA;IACvB,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,eAAe;IAAG,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE;AACpE,MAAM,WAAW,cAAc;IAAG,SAAS,EAAE,SAAS,QAAQ,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAA;KAAE,CAAC,EAAE,CAAA;CAAE;AACtG,MAAM,MAAM,MAAM,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,eAAe,EAAE,CAAC,CAAA;AACrE,MAAM,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;AAClG,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;AAkBvE,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,cAAc,EAAE,CAoBhF;AAyBD,wBAAsB,mBAAmB,CAAC,KAAK,EAAE;IAC/C,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;IACxB,IAAI,EAAE,cAAc,GAAG,QAAQ,CAAA;IAC/B,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,SAAS,cAAc,EAAE,CAAA;IACvC,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CACjC,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAkD7B;AAkMD,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAEzG;AAyCD,wBAAsB,uBAAuB,CAAC,KAAK,EAAE;IACnD,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAClC,cAAc,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACpC,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,cAAc,CAAC,EAAE,gBAAgB,CAAA;IACjC,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB,GAAG,OAAO,CAAC,iBAAiB,CAAC,
|
|
1
|
+
{"version":3,"file":"sensors.d.ts","sourceRoot":"","sources":["../src/sensors.ts"],"names":[],"mappings":"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"}
|
package/lib/sensors.js
CHANGED
|
@@ -380,15 +380,13 @@ async function pinnedHttpsFetch(urlValue, init, route) {
|
|
|
380
380
|
request.end();
|
|
381
381
|
});
|
|
382
382
|
}
|
|
383
|
-
export async function
|
|
383
|
+
export async function readHttpJsonValue(input) {
|
|
384
384
|
const url = new URL(input.url);
|
|
385
385
|
if (url.protocol !== 'https:')
|
|
386
386
|
throw new Error('event-triggers: HTTP sensor requires HTTPS');
|
|
387
|
-
const legacyAllowed = (url.port === '' || url.port === '443')
|
|
388
|
-
|
|
389
|
-
if (url.username !== '' || url.password !== '' || (!legacyAllowed && !(input.allowedOrigins?.has(url.origin) ?? false))) {
|
|
387
|
+
const legacyAllowed = (url.port === '' || url.port === '443') && (input.allowedHosts?.has(url.hostname.toLowerCase()) ?? false);
|
|
388
|
+
if (url.username !== '' || url.password !== '' || (!legacyAllowed && !(input.allowedOrigins?.has(url.origin) ?? false)))
|
|
390
389
|
throw new Error('event-triggers: HTTP sensor host/origin is not allowlisted');
|
|
391
|
-
}
|
|
392
390
|
const controller = new AbortController();
|
|
393
391
|
const forwardAbort = () => controller.abort(input.signal?.reason ?? new Error('event-triggers: HTTP sensor was aborted'));
|
|
394
392
|
if (input.signal?.aborted)
|
|
@@ -398,17 +396,12 @@ export async function readHttpJsonObservation(input) {
|
|
|
398
396
|
const timer = setTimeout(() => controller.abort(new Error('event-triggers: HTTP sensor timeout')), input.timeoutMs);
|
|
399
397
|
timer.unref?.();
|
|
400
398
|
try {
|
|
401
|
-
const address = hostname(url);
|
|
402
|
-
const
|
|
403
|
-
const resolving = family === 0
|
|
404
|
-
? (input.lookup ?? defaultLookup)(address)
|
|
405
|
-
: Promise.resolve([{ address, family }]);
|
|
399
|
+
const address = hostname(url), family = isIP(address);
|
|
400
|
+
const resolving = family === 0 ? (input.lookup ?? defaultLookup)(address) : Promise.resolve([{ address, family }]);
|
|
406
401
|
const resolved = await raceWithAbort(tracked(resolving, input.trackOperation), controller.signal);
|
|
407
402
|
const addresses = validatedAddresses(resolved, input.allowIpv6 ?? false);
|
|
408
|
-
const fetching = (input.fetcher ?? pinnedHttpsFetch)(url.toString(), {
|
|
409
|
-
|
|
410
|
-
headers: { accept: 'application/json' },
|
|
411
|
-
}, { addresses });
|
|
403
|
+
const fetching = (input.fetcher ?? pinnedHttpsFetch)(url.toString(), { method: 'GET', redirect: 'manual', signal: controller.signal,
|
|
404
|
+
headers: input.headers ?? { accept: 'application/json' } }, { addresses });
|
|
412
405
|
const response = await raceWithAbort(tracked(fetching, input.trackOperation), controller.signal);
|
|
413
406
|
if (response.status >= 300 && response.status < 400) {
|
|
414
407
|
await cancelBody(response, controller.signal, input.trackOperation);
|
|
@@ -418,23 +411,28 @@ export async function readHttpJsonObservation(input) {
|
|
|
418
411
|
await cancelBody(response, controller.signal, input.trackOperation);
|
|
419
412
|
throw new Error(`event-triggers: HTTP sensor returned ${response.status}`);
|
|
420
413
|
}
|
|
414
|
+
if (input.rejectPagination && /(?:^|[;,\s])rel="?next"?/iu.test(response.headers.get('link') ?? '')) {
|
|
415
|
+
await cancelBody(response, controller.signal, input.trackOperation);
|
|
416
|
+
throw new Error('event-triggers: HTTP response is paginated');
|
|
417
|
+
}
|
|
421
418
|
const body = await boundedBody(response, input.maxBodyBytes, controller.signal, input.trackOperation);
|
|
422
|
-
let document;
|
|
423
419
|
try {
|
|
424
|
-
|
|
420
|
+
return JSON.parse(body.toString('utf8'));
|
|
425
421
|
}
|
|
426
422
|
catch {
|
|
427
423
|
throw new Error('event-triggers: HTTP body is not valid JSON');
|
|
428
424
|
}
|
|
429
|
-
const selected = pointer(document, input.pointer);
|
|
430
|
-
const serialized = JSON.stringify(selected);
|
|
431
|
-
if (serialized === undefined)
|
|
432
|
-
throw new Error('event-triggers: JSON pointer selected an unsupported value');
|
|
433
|
-
return { fingerprint: `sha256:${hash(serialized)}`, truthy: Boolean(selected) };
|
|
434
425
|
}
|
|
435
426
|
finally {
|
|
436
427
|
clearTimeout(timer);
|
|
437
428
|
input.signal?.removeEventListener('abort', forwardAbort);
|
|
438
429
|
}
|
|
439
430
|
}
|
|
431
|
+
export async function readHttpJsonObservation(input) {
|
|
432
|
+
const selected = pointer(await readHttpJsonValue(input), input.pointer);
|
|
433
|
+
const serialized = JSON.stringify(selected);
|
|
434
|
+
if (serialized === undefined)
|
|
435
|
+
throw new Error('event-triggers: JSON pointer selected an unsupported value');
|
|
436
|
+
return { fingerprint: `sha256:${hash(serialized)}`, truthy: Boolean(selected) };
|
|
437
|
+
}
|
|
440
438
|
//# sourceMappingURL=sensors.js.map
|