@telora/daemon 0.16.21 → 0.16.27
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/build-info.json +6 -3
- package/dist/ai-inspection-runner.d.ts.map +1 -1
- package/dist/ai-inspection-runner.js +6 -0
- package/dist/ai-inspection-runner.js.map +1 -1
- package/dist/de-restatement.d.ts +80 -0
- package/dist/de-restatement.d.ts.map +1 -0
- package/dist/de-restatement.js +158 -0
- package/dist/de-restatement.js.map +1 -0
- package/dist/focus-executor.d.ts.map +1 -1
- package/dist/focus-executor.js +10 -3
- package/dist/focus-executor.js.map +1 -1
- package/dist/focus-loop.d.ts +11 -0
- package/dist/focus-loop.d.ts.map +1 -1
- package/dist/focus-loop.js +9 -8
- package/dist/focus-loop.js.map +1 -1
- package/dist/queries/verification.d.ts +12 -2
- package/dist/queries/verification.d.ts.map +1 -1
- package/dist/queries/verification.js +11 -3
- package/dist/queries/verification.js.map +1 -1
- package/dist/realign-apply.d.ts +7 -1
- package/dist/realign-apply.d.ts.map +1 -1
- package/dist/realign-apply.js +73 -4
- package/dist/realign-apply.js.map +1 -1
- package/dist/spawn-environment.d.ts +38 -2
- package/dist/spawn-environment.d.ts.map +1 -1
- package/dist/spawn-environment.js +17 -0
- package/dist/spawn-environment.js.map +1 -1
- package/dist/spawner-lifecycle.d.ts +23 -0
- package/dist/spawner-lifecycle.d.ts.map +1 -1
- package/dist/spawner-lifecycle.js +90 -5
- package/dist/spawner-lifecycle.js.map +1 -1
- package/dist/spawner.d.ts +1 -1
- package/dist/spawner.d.ts.map +1 -1
- package/dist/spawner.js +1 -1
- package/dist/spawner.js.map +1 -1
- package/dist/team-spawner.d.ts.map +1 -1
- package/dist/team-spawner.js +29 -4
- package/dist/team-spawner.js.map +1 -1
- package/dist/verification-engine.d.ts +11 -1
- package/dist/verification-engine.d.ts.map +1 -1
- package/dist/verification-engine.js +18 -1
- package/dist/verification-engine.js.map +1 -1
- package/dist/verify-restatement.d.ts +45 -0
- package/dist/verify-restatement.d.ts.map +1 -0
- package/dist/verify-restatement.js +85 -0
- package/dist/verify-restatement.js.map +1 -0
- package/package.json +1 -1
|
@@ -13,9 +13,17 @@ export async function getPendingVerifications(productId) {
|
|
|
13
13
|
export async function recordDeliveryVerificationOutcome(deliveryId, outcome) {
|
|
14
14
|
await callApi('daemon_record_delivery_verification_outcome', { deliveryId, outcome });
|
|
15
15
|
}
|
|
16
|
-
/**
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
/**
|
|
17
|
+
* Compound op: retires the injection and promotes its FRT overlay to CRT.
|
|
18
|
+
* Optional per-target restatements (authored on the passing verdict) are
|
|
19
|
+
* applied by the edge as each targeted UDE's new base statement; the edge
|
|
20
|
+
* never authors prose itself.
|
|
21
|
+
*/
|
|
22
|
+
export async function verifyInjectionOnPass(injectionNodeId, restatements) {
|
|
23
|
+
const body = { injectionNodeId };
|
|
24
|
+
if (restatements && restatements.length > 0)
|
|
25
|
+
body.restatements = restatements;
|
|
26
|
+
await callApi('reality_tree_verify_injection', body);
|
|
19
27
|
}
|
|
20
28
|
/**
|
|
21
29
|
* Same compound op as `verifyInjectionOnPass` but captures evidence text on
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verification.js","sourceRoot":"","sources":["../../src/queries/verification.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAiBtC,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,SAAkB;IAElB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAC5B,kCAAkC,EAClC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAC/B,CAAC;IACF,OAAO,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;AAC9B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACrD,UAAkB,EAClB,OAA4B;IAE5B,MAAM,OAAO,CAAC,6CAA6C,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;AACxF,CAAC;
|
|
1
|
+
{"version":3,"file":"verification.js","sourceRoot":"","sources":["../../src/queries/verification.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAiBtC,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,SAAkB;IAElB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAC5B,kCAAkC,EAClC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAC/B,CAAC;IACF,OAAO,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;AAC9B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACrD,UAAkB,EAClB,OAA4B;IAE5B,MAAM,OAAO,CAAC,6CAA6C,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;AACxF,CAAC;AAQD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,eAAuB,EACvB,YAAkC;IAElC,MAAM,IAAI,GAA4B,EAAE,eAAe,EAAE,CAAC;IAC1D,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC;QAAE,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IAC9E,MAAM,OAAO,CAAC,+BAA+B,EAAE,IAAI,CAAC,CAAC;AACvD,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,eAAuB,EACvB,QAAgB;IAEhB,MAAM,OAAO,CAAC,0BAA0B,EAAE;QACxC,MAAM,EAAE,eAAe;QACvB,QAAQ;KACT,CAAC,CAAC;IACH,MAAM,OAAO,CAAC,+BAA+B,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC;AACtE,CAAC"}
|
package/dist/realign-apply.d.ts
CHANGED
|
@@ -11,14 +11,16 @@
|
|
|
11
11
|
* - retire_node -- soft-retire node (cascade handled by edge function)
|
|
12
12
|
* - change_node_type -- update node_type
|
|
13
13
|
* - flip_ude_to_de -- promote UDE -> DE (constrained change_node_type)
|
|
14
|
+
* - demote_de_to_ude -- reverse a DE -> UDE (records a symmetric history snapshot)
|
|
14
15
|
*
|
|
15
16
|
* Failures on a single proposal MUST NOT abort the rest -- we collect the
|
|
16
17
|
* error and continue. The dispatcher only marks_applied on success.
|
|
17
18
|
*
|
|
18
19
|
* @module realign-apply
|
|
19
20
|
*/
|
|
21
|
+
import { type RestatementInputs, type RestatementOptions } from './de-restatement.js';
|
|
20
22
|
/** Local string-literal union -- intentionally not imported from supabase types. */
|
|
21
|
-
export type ProposalKind = 'update_statement' | 'add_node' | 'retire_node' | 'change_node_type' | 'flip_ude_to_de';
|
|
23
|
+
export type ProposalKind = 'update_statement' | 'add_node' | 'retire_node' | 'change_node_type' | 'flip_ude_to_de' | 'demote_de_to_ude';
|
|
22
24
|
export interface DriftProposal {
|
|
23
25
|
id: string;
|
|
24
26
|
organizationId: string;
|
|
@@ -37,8 +39,12 @@ export interface DriftProposal {
|
|
|
37
39
|
createdAt: string;
|
|
38
40
|
updatedAt: string;
|
|
39
41
|
}
|
|
42
|
+
/** Signature of the desired-effect restatement helper (injectable for tests). */
|
|
43
|
+
export type AuthorRestatementFn = (inputs: RestatementInputs, opts?: RestatementOptions) => Promise<string>;
|
|
40
44
|
export interface ApplyRatifiedDeps {
|
|
41
45
|
callApi?: <T>(action: string, params?: Record<string, unknown>) => Promise<T>;
|
|
46
|
+
/** Authors a positive desired-effect sentence. Defaults to the de-restatement helper. */
|
|
47
|
+
authorRestatement?: AuthorRestatementFn;
|
|
42
48
|
}
|
|
43
49
|
export interface ApplyRatifiedResult {
|
|
44
50
|
applied: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"realign-apply.d.ts","sourceRoot":"","sources":["../src/realign-apply.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"realign-apply.d.ts","sourceRoot":"","sources":["../src/realign-apply.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACxB,MAAM,qBAAqB,CAAC;AAqB7B,oFAAoF;AACpF,MAAM,MAAM,YAAY,GACpB,kBAAkB,GAClB,UAAU,GACV,aAAa,GACb,kBAAkB,GAClB,gBAAgB,GAChB,kBAAkB,CAAC;AAEvB,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACjD,MAAM,EAAE,UAAU,GAAG,UAAU,GAAG,WAAW,GAAG,SAAS,CAAC;IAC1D,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAOD,iFAAiF;AACjF,MAAM,MAAM,mBAAmB,GAAG,CAChC,MAAM,EAAE,iBAAiB,EACzB,IAAI,CAAC,EAAE,kBAAkB,KACtB,OAAO,CAAC,MAAM,CAAC,CAAC;AAErB,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9E,yFAAyF;IACzF,iBAAiB,CAAC,EAAE,mBAAmB,CAAC;CACzC;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAoPD;;;;;;;;;GASG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,iBAAsB,GAC3B,OAAO,CAAC,mBAAmB,CAAC,CAwC9B"}
|
package/dist/realign-apply.js
CHANGED
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
* - retire_node -- soft-retire node (cascade handled by edge function)
|
|
12
12
|
* - change_node_type -- update node_type
|
|
13
13
|
* - flip_ude_to_de -- promote UDE -> DE (constrained change_node_type)
|
|
14
|
+
* - demote_de_to_ude -- reverse a DE -> UDE (records a symmetric history snapshot)
|
|
14
15
|
*
|
|
15
16
|
* Failures on a single proposal MUST NOT abort the rest -- we collect the
|
|
16
17
|
* error and continue. The dispatcher only marks_applied on success.
|
|
@@ -18,6 +19,7 @@
|
|
|
18
19
|
* @module realign-apply
|
|
19
20
|
*/
|
|
20
21
|
import { callApi as defaultCallApi } from './queries/shared.js';
|
|
22
|
+
import { authorRestatement as defaultAuthorRestatement, } from './de-restatement.js';
|
|
21
23
|
// Legal CRT node types -- mirrored locally to avoid pulling in edge-function code.
|
|
22
24
|
const NODE_TYPES = ['entity', 'undesired_effect', 'desired_effect', 'injection'];
|
|
23
25
|
const VIEW_SCOPES = ['both', 'crt_only', 'frt_only'];
|
|
@@ -27,6 +29,21 @@ function isNodeType(value) {
|
|
|
27
29
|
function isViewScope(value) {
|
|
28
30
|
return typeof value === 'string' && VIEW_SCOPES.includes(value);
|
|
29
31
|
}
|
|
32
|
+
/**
|
|
33
|
+
* Fetch a node's current statement by id. The node CRUD surface has no
|
|
34
|
+
* get-by-id action, so we list the tree's active nodes and find the match.
|
|
35
|
+
* Used only by the flip fallback when no proposed_correction was supplied.
|
|
36
|
+
*/
|
|
37
|
+
async function fetchNodeStatement(treeId, nodeId, callApi) {
|
|
38
|
+
const res = await callApi('reality_tree_node_list', { treeId });
|
|
39
|
+
const node = (res.items ?? []).find((n) => n.id === nodeId);
|
|
40
|
+
if (!node)
|
|
41
|
+
return null;
|
|
42
|
+
return {
|
|
43
|
+
statement: typeof node.statement === 'string' ? node.statement : '',
|
|
44
|
+
evidence: typeof node.evidence === 'string' ? node.evidence : null,
|
|
45
|
+
};
|
|
46
|
+
}
|
|
30
47
|
/**
|
|
31
48
|
* update_statement -- patch reality_tree_nodes.statement.
|
|
32
49
|
*
|
|
@@ -115,7 +132,7 @@ const handleChangeNodeType = async (proposal, callApi) => {
|
|
|
115
132
|
* proposed_metadata.nodeType (or, by convention, the natural flip) is the
|
|
116
133
|
* TO type and must also be UDE or DE.
|
|
117
134
|
*/
|
|
118
|
-
const handleFlipUdeToDe = async (proposal, callApi) => {
|
|
135
|
+
const handleFlipUdeToDe = async (proposal, callApi, deps) => {
|
|
119
136
|
if (!proposal.nodeId) {
|
|
120
137
|
throw new Error('flip_ude_to_de: nodeId is required');
|
|
121
138
|
}
|
|
@@ -143,10 +160,58 @@ const handleFlipUdeToDe = async (proposal, callApi) => {
|
|
|
143
160
|
if (toType === fromType) {
|
|
144
161
|
throw new Error(`flip_ude_to_de: target node_type must differ from observed_state (${fromType})`);
|
|
145
162
|
}
|
|
146
|
-
|
|
163
|
+
const updates = {
|
|
147
164
|
nodeId: proposal.nodeId,
|
|
148
165
|
nodeType: toType,
|
|
149
|
-
}
|
|
166
|
+
};
|
|
167
|
+
// Couple type+text at the source: when flipping a UDE to a desired_effect,
|
|
168
|
+
// author the positive BASE statement in the same update so the former UDE
|
|
169
|
+
// never reads negatively. proposed_correction IS that restatement (the
|
|
170
|
+
// ai-inspection prompt instructs this for flip_ude_to_de); when it is blank
|
|
171
|
+
// we author it from the node's current UDE text via the helper, so no node
|
|
172
|
+
// is left with negative DE text via the source path. Base flips are
|
|
173
|
+
// observation-driven (no resolving injection), so we use observation mode.
|
|
174
|
+
if (toType === 'desired_effect') {
|
|
175
|
+
let baseStatement = proposal.proposedCorrection?.trim() ?? '';
|
|
176
|
+
if (!baseStatement) {
|
|
177
|
+
const node = await fetchNodeStatement(proposal.realityTreeId, proposal.nodeId, callApi);
|
|
178
|
+
if (node && node.statement.trim() !== '') {
|
|
179
|
+
baseStatement = (await deps.authorRestatement({
|
|
180
|
+
udeStatement: node.statement,
|
|
181
|
+
evidence: node.evidence ?? undefined,
|
|
182
|
+
})).trim();
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
if (baseStatement) {
|
|
186
|
+
updates.statement = baseStatement;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
await callApi('reality_tree_node_update', updates);
|
|
190
|
+
};
|
|
191
|
+
/**
|
|
192
|
+
* demote_de_to_ude -- reverse a desired_effect back to an undesired_effect.
|
|
193
|
+
* The inverse of the UDE->DE flip, for correcting an erroneous or regressed
|
|
194
|
+
* flip. Routes through the dedicated `reality_tree_node_demote` edge action so
|
|
195
|
+
* the demote records a symmetric reality_tree_node_history snapshot and clears
|
|
196
|
+
* the FRT overlay in one place. proposed_correction, when present, is the UDE
|
|
197
|
+
* statement to restore; proposed_metadata.injectionId, when present, attributes
|
|
198
|
+
* the history snapshot (else the edge resolves it from the node's flip history).
|
|
199
|
+
*
|
|
200
|
+
* Human/agent-triggered only: the audit/propose phase never emits this kind.
|
|
201
|
+
*/
|
|
202
|
+
const handleDemoteDeToUde = async (proposal, callApi) => {
|
|
203
|
+
if (!proposal.nodeId) {
|
|
204
|
+
throw new Error('demote_de_to_ude: nodeId is required');
|
|
205
|
+
}
|
|
206
|
+
const body = { nodeId: proposal.nodeId };
|
|
207
|
+
const udeStatement = proposal.proposedCorrection?.trim();
|
|
208
|
+
if (udeStatement)
|
|
209
|
+
body.statement = udeStatement;
|
|
210
|
+
const meta = proposal.proposedMetadata ?? {};
|
|
211
|
+
if (typeof meta.injectionId === 'string' && meta.injectionId) {
|
|
212
|
+
body.injectionId = meta.injectionId;
|
|
213
|
+
}
|
|
214
|
+
await callApi('reality_tree_node_demote', body);
|
|
150
215
|
};
|
|
151
216
|
const HANDLERS = {
|
|
152
217
|
update_statement: handleUpdateStatement,
|
|
@@ -154,6 +219,7 @@ const HANDLERS = {
|
|
|
154
219
|
retire_node: handleRetireNode,
|
|
155
220
|
change_node_type: handleChangeNodeType,
|
|
156
221
|
flip_ude_to_de: handleFlipUdeToDe,
|
|
222
|
+
demote_de_to_ude: handleDemoteDeToUde,
|
|
157
223
|
};
|
|
158
224
|
// ---------------------------------------------------------------------------
|
|
159
225
|
// Dispatcher
|
|
@@ -170,6 +236,9 @@ const HANDLERS = {
|
|
|
170
236
|
*/
|
|
171
237
|
export async function applyRatifiedProposals(focusId, deps = {}) {
|
|
172
238
|
const callApi = deps.callApi ?? defaultCallApi;
|
|
239
|
+
const handlerDeps = {
|
|
240
|
+
authorRestatement: deps.authorRestatement ?? defaultAuthorRestatement,
|
|
241
|
+
};
|
|
173
242
|
const list = await callApi('crt_drift_proposal_list', {
|
|
174
243
|
focusId,
|
|
175
244
|
status: 'ratified',
|
|
@@ -186,7 +255,7 @@ export async function applyRatifiedProposals(focusId, deps = {}) {
|
|
|
186
255
|
continue;
|
|
187
256
|
}
|
|
188
257
|
try {
|
|
189
|
-
await handler(proposal, callApi);
|
|
258
|
+
await handler(proposal, callApi, handlerDeps);
|
|
190
259
|
}
|
|
191
260
|
catch (err) {
|
|
192
261
|
failed += 1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"realign-apply.js","sourceRoot":"","sources":["../src/realign-apply.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"realign-apply.js","sourceRoot":"","sources":["../src/realign-apply.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,13 +12,22 @@
|
|
|
12
12
|
*/
|
|
13
13
|
import type { DaemonConfig } from './types.js';
|
|
14
14
|
/**
|
|
15
|
-
* IDs for OTEL resource attribute correlation.
|
|
16
|
-
*
|
|
15
|
+
* IDs for OTEL resource attribute correlation. The org/focus/session/delivery
|
|
16
|
+
* fields are optional -- not every spawn knows all of them.
|
|
17
17
|
*
|
|
18
18
|
* `phase` and `stage` tag the spend with the controllable lever: the
|
|
19
19
|
* loop/execution phase (audit/realign_crt/propose_injections/execute/gate/
|
|
20
20
|
* evaluate) and the workflow stage active at spawn. They flow through to the
|
|
21
21
|
* agent_telemetry_metrics.phase / .stage columns via the OTLP receiver.
|
|
22
|
+
*
|
|
23
|
+
* They are OPTIONAL on this base type and REQUIRED on `LeveredSpawnIds` (below).
|
|
24
|
+
* The contract is enforced through the type system rather than a post-hoc
|
|
25
|
+
* boundary lint (see the repo principle "prevent at source, not at boundary"):
|
|
26
|
+
* the levered spawn paths -- the focus team-lead, the audit assessor, and any
|
|
27
|
+
* future spawn that runs an attributable phase -- accept `LeveredSpawnIds`, so a
|
|
28
|
+
* caller that forgets phase or stage fails to TYPECHECK. The base `SpawnIds`
|
|
29
|
+
* variant remains only for spawns where a lever value is genuinely not
|
|
30
|
+
* applicable, and those call sites must document why.
|
|
22
31
|
*/
|
|
23
32
|
export interface SpawnIds {
|
|
24
33
|
orgId?: string;
|
|
@@ -28,6 +37,28 @@ export interface SpawnIds {
|
|
|
28
37
|
phase?: string;
|
|
29
38
|
stage?: string;
|
|
30
39
|
}
|
|
40
|
+
/**
|
|
41
|
+
* Spawn IDs for a LEVERED spawn path -- one that runs an attributable execution
|
|
42
|
+
* phase against a known workflow stage. `phase` and `stage` are REQUIRED here,
|
|
43
|
+
* so the compiler rejects any levered spawn that drops the lever. This is the
|
|
44
|
+
* type-level prevent-at-source guard that closes the live (non-legacy) share of
|
|
45
|
+
* the unattributed phase/stage telemetry bucket: the gap can no longer be
|
|
46
|
+
* reintroduced silently because it becomes a compile error.
|
|
47
|
+
*/
|
|
48
|
+
export interface LeveredSpawnIds extends SpawnIds {
|
|
49
|
+
phase: string;
|
|
50
|
+
stage: string;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Build a clean environment for a LEVERED spawn -- the focus team-lead, the
|
|
54
|
+
* audit assessor, or any spawn running an attributable execution phase against
|
|
55
|
+
* a known workflow stage. Delegates to buildSpawnEnvironment; the only
|
|
56
|
+
* difference is the parameter type: `LeveredSpawnIds` makes `phase` and `stage`
|
|
57
|
+
* REQUIRED, so a levered caller that forgets the lever fails to compile. This is
|
|
58
|
+
* the prevent-at-source guard for telemetry phase/stage coverage -- use this
|
|
59
|
+
* entry point for every spawn that has a sensible phase + stage.
|
|
60
|
+
*/
|
|
61
|
+
export declare function buildLeveredSpawnEnvironment(config: DaemonConfig, ids: LeveredSpawnIds): Record<string, string | undefined>;
|
|
31
62
|
/**
|
|
32
63
|
* Build a clean environment for a spawned agent or team lead process.
|
|
33
64
|
*
|
|
@@ -37,6 +68,11 @@ export interface SpawnIds {
|
|
|
37
68
|
* - Strips CLAUDECODE, CLAUDE_CODE_*, and CLAUDECODE_* (except CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS)
|
|
38
69
|
* - Injects OTel telemetry env vars when config.telemetry.enabled is true
|
|
39
70
|
* - Includes telora.delivery_id in OTEL_RESOURCE_ATTRIBUTES only when deliveryId is provided
|
|
71
|
+
*
|
|
72
|
+
* Accepts the base `SpawnIds` (phase/stage optional). Levered spawns should call
|
|
73
|
+
* buildLeveredSpawnEnvironment instead, which requires the lever fields. This
|
|
74
|
+
* base form remains for narrow spawns where a lever value is genuinely not
|
|
75
|
+
* applicable (and for tests that exercise the env plumbing without a phase).
|
|
40
76
|
*/
|
|
41
77
|
export declare function buildSpawnEnvironment(config: DaemonConfig, ids: SpawnIds): Record<string, string | undefined>;
|
|
42
78
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spawn-environment.d.ts","sourceRoot":"","sources":["../src/spawn-environment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAI/C
|
|
1
|
+
{"version":3,"file":"spawn-environment.d.ts","sourceRoot":"","sources":["../src/spawn-environment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAI/C;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,QAAQ;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,eAAgB,SAAQ,QAAQ;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,YAAY,EACpB,GAAG,EAAE,eAAe,GACnB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAEpC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,YAAY,EACpB,GAAG,EAAE,QAAQ,GACZ,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CA8BpC;AAED;;;;;;;;;GASG;AACH,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAcjC"}
|
|
@@ -12,6 +12,18 @@
|
|
|
12
12
|
*/
|
|
13
13
|
import { stripClaudeCodeEnvVars, buildOtelEnv } from '@telora/daemon-core';
|
|
14
14
|
import { callApi } from './queries/shared.js';
|
|
15
|
+
/**
|
|
16
|
+
* Build a clean environment for a LEVERED spawn -- the focus team-lead, the
|
|
17
|
+
* audit assessor, or any spawn running an attributable execution phase against
|
|
18
|
+
* a known workflow stage. Delegates to buildSpawnEnvironment; the only
|
|
19
|
+
* difference is the parameter type: `LeveredSpawnIds` makes `phase` and `stage`
|
|
20
|
+
* REQUIRED, so a levered caller that forgets the lever fails to compile. This is
|
|
21
|
+
* the prevent-at-source guard for telemetry phase/stage coverage -- use this
|
|
22
|
+
* entry point for every spawn that has a sensible phase + stage.
|
|
23
|
+
*/
|
|
24
|
+
export function buildLeveredSpawnEnvironment(config, ids) {
|
|
25
|
+
return buildSpawnEnvironment(config, ids);
|
|
26
|
+
}
|
|
15
27
|
/**
|
|
16
28
|
* Build a clean environment for a spawned agent or team lead process.
|
|
17
29
|
*
|
|
@@ -21,6 +33,11 @@ import { callApi } from './queries/shared.js';
|
|
|
21
33
|
* - Strips CLAUDECODE, CLAUDE_CODE_*, and CLAUDECODE_* (except CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS)
|
|
22
34
|
* - Injects OTel telemetry env vars when config.telemetry.enabled is true
|
|
23
35
|
* - Includes telora.delivery_id in OTEL_RESOURCE_ATTRIBUTES only when deliveryId is provided
|
|
36
|
+
*
|
|
37
|
+
* Accepts the base `SpawnIds` (phase/stage optional). Levered spawns should call
|
|
38
|
+
* buildLeveredSpawnEnvironment instead, which requires the lever fields. This
|
|
39
|
+
* base form remains for narrow spawns where a lever value is genuinely not
|
|
40
|
+
* applicable (and for tests that exercise the env plumbing without a phase).
|
|
24
41
|
*/
|
|
25
42
|
export function buildSpawnEnvironment(config, ids) {
|
|
26
43
|
// Start with a clean copy that has daemon-specific vars set,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spawn-environment.js","sourceRoot":"","sources":["../src/spawn-environment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"spawn-environment.js","sourceRoot":"","sources":["../src/spawn-environment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AA0C9C;;;;;;;;GAQG;AACH,MAAM,UAAU,4BAA4B,CAC1C,MAAoB,EACpB,GAAoB;IAEpB,OAAO,qBAAqB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAC5C,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAAoB,EACpB,GAAa;IAEb,6DAA6D;IAC7D,6EAA6E;IAC7E,MAAM,QAAQ,GAAG,sBAAsB,CACrC;QACE,GAAG,OAAO,CAAC,GAAG;QACd,mBAAmB,EAAE,GAAG;QACxB,kBAAkB,EAAE,WAAW;QAC/B,4DAA4D;QAC5D,oCAAoC,EAAE,GAAG;KAC1C,EACD,EAAE,QAAQ,EAAE,CAAC,sCAAsC,CAAC,EAAE,CACvD,CAAC;IAEF,2DAA2D;IAC3D,MAAM,OAAO,GAAG,YAAY,CAAC;QAC3B,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,OAAO;QACjC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI;QAC3B,kBAAkB,EAAE;YAClB,eAAe,EAAE,GAAG,CAAC,KAAK;YAC1B,iBAAiB,EAAE,GAAG,CAAC,OAAO;YAC9B,oBAAoB,EAAE,GAAG,CAAC,UAAU;YACpC,mBAAmB,EAAE,GAAG,CAAC,SAAS;YAClC,cAAc,EAAE,GAAG,CAAC,KAAK;YACzB,cAAc,EAAE,GAAG,CAAC,KAAK;SAC1B;KACF,CAAC,CAAC;IACH,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAEjC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,SAAiB;IAEjB,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAA4B,gBAAgB,EAAE;gBACxE,QAAQ,EAAE,QAAQ;aACnB,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;YAC1C,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,4EAA4E;QAC9E,CAAC;IACH,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC"}
|
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
* including termination, status queries, and merge conflict resolution agents.
|
|
6
6
|
*/
|
|
7
7
|
import type { DaemonConfig, RunningAgent } from './types.js';
|
|
8
|
+
import { type TokenUsage } from '@telora/daemon-core';
|
|
9
|
+
import { type TelemetryMetricRow } from './telemetry-writer.js';
|
|
8
10
|
/**
|
|
9
11
|
* Terminate a running agent.
|
|
10
12
|
* Sends a shutdown message via stdin, then escalates to SIGTERM/SIGKILL.
|
|
@@ -78,6 +80,27 @@ export interface AuditSpawnResult {
|
|
|
78
80
|
*/
|
|
79
81
|
sessionId?: string | null;
|
|
80
82
|
}
|
|
83
|
+
/**
|
|
84
|
+
* Build a telemetry metric row from an audit assessor's stream-json `result`
|
|
85
|
+
* event usage. Exported so the capture-path mapping is unit-testable WITHOUT
|
|
86
|
+
* spawning a process -- mirrors loop-llm-client's exported buildLoopMetricRow.
|
|
87
|
+
*
|
|
88
|
+
* --print one-shot sessions produce NO OTLP rows (the OTLP exporter only fires
|
|
89
|
+
* for long-lived interactive sessions), so without this the 509+ audit runs
|
|
90
|
+
* spend zero captured tokens despite being the live differential-loop LLM cost.
|
|
91
|
+
* This is the audit analogue of loop-llm-client's raw-fetch capture path.
|
|
92
|
+
*/
|
|
93
|
+
export declare function buildAuditMetricRow(params: {
|
|
94
|
+
organizationId: string;
|
|
95
|
+
focusId: string | null;
|
|
96
|
+
sessionId: string | null;
|
|
97
|
+
cycleNumber: number;
|
|
98
|
+
usage: TokenUsage;
|
|
99
|
+
/** result.total_cost_usd when the event carried one (finite); else null. */
|
|
100
|
+
totalCostUsd: number | null;
|
|
101
|
+
periodStart: string;
|
|
102
|
+
periodEnd: string;
|
|
103
|
+
}): TelemetryMetricRow;
|
|
81
104
|
/**
|
|
82
105
|
* Spawn the Claude Code CLI as the audit assessor (INJ-E: resumable).
|
|
83
106
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spawner-lifecycle.d.ts","sourceRoot":"","sources":["../src/spawner-lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"spawner-lifecycle.d.ts","sourceRoot":"","sources":["../src/spawner-lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE7D,OAAO,EAML,KAAK,UAAU,EAChB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAgB,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAG9E;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,GACvC,OAAO,CA2BT;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,GACvC,IAAI,CAIN;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,GACvC,OAAO,CAET;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,GACvC,MAAM,CAER;AAOD;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE;IACjD,MAAM,EAAE,YAAY,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kFAAkF;IAClF,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAmFhD;AAyBD,gEAAgE;AAChE,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,yCAAyC;AACzC,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB;;;;;OAKG;IACH,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAcD;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE;IAC1C,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,UAAU,CAAC;IAClB,4EAA4E;IAC5E,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,kBAAkB,CA4BrB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAwHxF"}
|
|
@@ -6,9 +6,11 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { spawn } from 'node:child_process';
|
|
8
8
|
import { runGitSync } from './git-types.js';
|
|
9
|
-
import { sendMessage, stripClaudeCodeEnvVars, StreamJsonParser } from '@telora/daemon-core';
|
|
9
|
+
import { sendMessage, stripClaudeCodeEnvVars, StreamJsonParser, } from '@telora/daemon-core';
|
|
10
10
|
import { safeSendSignal, safeCloseStdin } from './spawner-stream-handlers.js';
|
|
11
|
-
import {
|
|
11
|
+
import { buildLeveredSpawnEnvironment } from './spawn-environment.js';
|
|
12
|
+
import { bufferMetric } from './telemetry-writer.js';
|
|
13
|
+
import { estimateLoopCostUsd } from './loop-llm-client.js';
|
|
12
14
|
/**
|
|
13
15
|
* Terminate a running agent.
|
|
14
16
|
* Sends a shutdown message via stdin, then escalates to SIGTERM/SIGKILL.
|
|
@@ -151,6 +153,56 @@ export async function spawnResolutionAgent(params) {
|
|
|
151
153
|
});
|
|
152
154
|
});
|
|
153
155
|
}
|
|
156
|
+
/**
|
|
157
|
+
* Default model tag stamped onto audit-capture rows. The audit assessor spawns
|
|
158
|
+
* with audit-phase.ts AUDIT_DEFAULT_MODEL ('sonnet'); estimateLoopCostUsd matches
|
|
159
|
+
* the pricing table by substring ('sonnet'), so this drives the cost estimate
|
|
160
|
+
* when the result event omits total_cost_usd. Kept as a local literal so this
|
|
161
|
+
* module does not import audit-phase.ts (which imports spawner.ts -> cycle).
|
|
162
|
+
*
|
|
163
|
+
* MODEL PIN (checked 2026-05-27): 'sonnet' resolves to the current Sonnet family
|
|
164
|
+
* and is NOT retired; matches loop-llm-client DEFAULT_MODEL 'claude-sonnet-4-6'.
|
|
165
|
+
*/
|
|
166
|
+
const AUDIT_CAPTURE_MODEL = 'sonnet';
|
|
167
|
+
/**
|
|
168
|
+
* Build a telemetry metric row from an audit assessor's stream-json `result`
|
|
169
|
+
* event usage. Exported so the capture-path mapping is unit-testable WITHOUT
|
|
170
|
+
* spawning a process -- mirrors loop-llm-client's exported buildLoopMetricRow.
|
|
171
|
+
*
|
|
172
|
+
* --print one-shot sessions produce NO OTLP rows (the OTLP exporter only fires
|
|
173
|
+
* for long-lived interactive sessions), so without this the 509+ audit runs
|
|
174
|
+
* spend zero captured tokens despite being the live differential-loop LLM cost.
|
|
175
|
+
* This is the audit analogue of loop-llm-client's raw-fetch capture path.
|
|
176
|
+
*/
|
|
177
|
+
export function buildAuditMetricRow(params) {
|
|
178
|
+
const { organizationId, focusId, sessionId, cycleNumber, usage, totalCostUsd, periodStart, periodEnd } = params;
|
|
179
|
+
const start = Date.parse(periodStart);
|
|
180
|
+
const end = Date.parse(periodEnd);
|
|
181
|
+
const activeMs = Number.isFinite(start) && Number.isFinite(end) && end >= start ? end - start : 0;
|
|
182
|
+
const cost = totalCostUsd !== null && Number.isFinite(totalCostUsd)
|
|
183
|
+
? totalCostUsd
|
|
184
|
+
: estimateLoopCostUsd(AUDIT_CAPTURE_MODEL, usage);
|
|
185
|
+
return {
|
|
186
|
+
organization_id: organizationId,
|
|
187
|
+
focus_id: focusId,
|
|
188
|
+
delivery_id: null,
|
|
189
|
+
session_id: sessionId,
|
|
190
|
+
input_tokens: usage.input_tokens ?? 0,
|
|
191
|
+
output_tokens: usage.output_tokens ?? 0,
|
|
192
|
+
cache_read_tokens: usage.cache_read_input_tokens ?? 0,
|
|
193
|
+
cache_creation_tokens: usage.cache_creation_input_tokens ?? 0,
|
|
194
|
+
cost_usd: cost,
|
|
195
|
+
active_time_ms: activeMs,
|
|
196
|
+
tool_call_count: 0,
|
|
197
|
+
tool_error_count: 0,
|
|
198
|
+
model: AUDIT_CAPTURE_MODEL,
|
|
199
|
+
phase: 'audit',
|
|
200
|
+
stage: null,
|
|
201
|
+
metadata: { source: 'audit-assessor', cycleNumber },
|
|
202
|
+
period_start: periodStart,
|
|
203
|
+
period_end: periodEnd,
|
|
204
|
+
};
|
|
205
|
+
}
|
|
154
206
|
/**
|
|
155
207
|
* Spawn the Claude Code CLI as the audit assessor (INJ-E: resumable).
|
|
156
208
|
*
|
|
@@ -177,15 +229,21 @@ export async function spawnAuditAgent(opts) {
|
|
|
177
229
|
args.push(prompt);
|
|
178
230
|
// Build clean environment via buildSpawnEnvironment which strips any
|
|
179
231
|
// inherited Claude Code session markers that would otherwise hang us.
|
|
180
|
-
|
|
232
|
+
// Levered spawn: phase + stage are REQUIRED, so the audit assessor cannot
|
|
233
|
+
// drop the telemetry lever silently. The audit assessor runs the loop's audit
|
|
234
|
+
// phase against the reality tree (not a workflow stage), so stage mirrors the
|
|
235
|
+
// phase as 'audit' -- the audit pass has no workflow-stage dimension, and
|
|
236
|
+
// tagging it 'audit' keeps audit spend a self-contained, attributable bucket.
|
|
237
|
+
const spawnEnv = buildLeveredSpawnEnvironment(config, {
|
|
181
238
|
orgId: config.organizationId,
|
|
182
239
|
focusId,
|
|
183
|
-
// The audit assessor runs the loop's audit phase; tag its spend so audit
|
|
184
|
-
// cost (and no-op-audit spend) is attributable by phase.
|
|
185
240
|
phase: 'audit',
|
|
241
|
+
stage: 'audit',
|
|
186
242
|
});
|
|
187
243
|
// Distinguishes this from focus team sessions for downstream consumers.
|
|
188
244
|
spawnEnv.TELORA_DAEMON_AUDIT_CYCLE = String(cycleNumber);
|
|
245
|
+
// Bracket the spawn so the captured metric row carries a real active window.
|
|
246
|
+
const periodStart = new Date().toISOString();
|
|
189
247
|
return await new Promise((resolve) => {
|
|
190
248
|
let child;
|
|
191
249
|
try {
|
|
@@ -218,6 +276,33 @@ export async function spawnAuditAgent(opts) {
|
|
|
218
276
|
// Swallow parser errors (non-JSON lines from a stub) -- the raw-stdout
|
|
219
277
|
// fallback covers that case; we must not let an unhandled 'error' throw.
|
|
220
278
|
parser.on('error', () => { });
|
|
279
|
+
// Capture token/cost from the stream-json `result` event. --print one-shot
|
|
280
|
+
// sessions produce NO OTLP rows (the OTLP exporter only fires for long-lived
|
|
281
|
+
// interactive sessions), so without this the audit assessor's spend never
|
|
282
|
+
// reaches agent_telemetry_metrics -- this is the audit analogue of
|
|
283
|
+
// loop-llm-client's raw-fetch capture (loop-llm-client.ts:207-221).
|
|
284
|
+
// Best-effort: a capture failure must NEVER break the audit.
|
|
285
|
+
parser.on('result', (ev) => {
|
|
286
|
+
if (!ev.usage)
|
|
287
|
+
return;
|
|
288
|
+
try {
|
|
289
|
+
bufferMetric(buildAuditMetricRow({
|
|
290
|
+
organizationId: config.organizationId,
|
|
291
|
+
focusId,
|
|
292
|
+
sessionId: parser.sessionId ?? null,
|
|
293
|
+
cycleNumber,
|
|
294
|
+
usage: ev.usage,
|
|
295
|
+
totalCostUsd: typeof ev.total_cost_usd === 'number' && Number.isFinite(ev.total_cost_usd)
|
|
296
|
+
? ev.total_cost_usd
|
|
297
|
+
: null,
|
|
298
|
+
periodStart,
|
|
299
|
+
periodEnd: new Date().toISOString(),
|
|
300
|
+
}));
|
|
301
|
+
}
|
|
302
|
+
catch (err) {
|
|
303
|
+
console.log(`[audit] Telemetry capture failed (non-fatal): ${err instanceof Error ? err.message : String(err)}`);
|
|
304
|
+
}
|
|
305
|
+
});
|
|
221
306
|
child.stdout?.on('data', (chunk) => { rawStdout += chunk.toString('utf8'); });
|
|
222
307
|
child.stderr?.on('data', (chunk) => { stderr += chunk.toString('utf8'); });
|
|
223
308
|
const timer = setTimeout(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spawner-lifecycle.js","sourceRoot":"","sources":["../src/spawner-lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,EAAqB,MAAM,oBAAoB,CAAC;AAE9D,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,
|
|
1
|
+
{"version":3,"file":"spawner-lifecycle.js","sourceRoot":"","sources":["../src/spawner-lifecycle.ts"],"names":[],"mappings":"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"}
|
package/dist/spawner.d.ts
CHANGED
|
@@ -30,7 +30,7 @@ export declare function getRunningAgentCount(): number;
|
|
|
30
30
|
/** Re-export spawnResolutionAgent (no module state needed). */
|
|
31
31
|
export { spawnResolutionAgent } from './spawner-lifecycle.js';
|
|
32
32
|
/** Re-export spawnAuditAgent (one-shot audit assessor, no module state needed). */
|
|
33
|
-
export { spawnAuditAgent } from './spawner-lifecycle.js';
|
|
33
|
+
export { spawnAuditAgent, buildAuditMetricRow } from './spawner-lifecycle.js';
|
|
34
34
|
export type { AuditSpawnOptions, AuditSpawnResult } from './spawner-lifecycle.js';
|
|
35
35
|
/** Re-export stale agent liveness checks. */
|
|
36
36
|
export { isProcessAlive, checkAgentLiveness } from './spawner-liveness.js';
|
package/dist/spawner.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spawner.d.ts","sourceRoot":"","sources":["../src/spawner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAW5D,2FAA2F;AAC3F,wBAAgB,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI,CAAG;AAE7D;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAE5D;AAID,iCAAiC;AACjC,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED,oCAAoC;AACpC,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAED,kDAAkD;AAClD,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED,mCAAmC;AACnC,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAED,+DAA+D;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,mFAAmF;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"spawner.d.ts","sourceRoot":"","sources":["../src/spawner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAW5D,2FAA2F;AAC3F,wBAAgB,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI,CAAG;AAE7D;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAE5D;AAID,iCAAiC;AACjC,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED,oCAAoC;AACpC,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAED,kDAAkD;AAClD,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED,mCAAmC;AACnC,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAED,+DAA+D;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,mFAAmF;AACnF,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC9E,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAElF,6CAA6C;AAC7C,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC"}
|
package/dist/spawner.js
CHANGED
|
@@ -43,7 +43,7 @@ export function getRunningAgentCount() {
|
|
|
43
43
|
/** Re-export spawnResolutionAgent (no module state needed). */
|
|
44
44
|
export { spawnResolutionAgent } from './spawner-lifecycle.js';
|
|
45
45
|
/** Re-export spawnAuditAgent (one-shot audit assessor, no module state needed). */
|
|
46
|
-
export { spawnAuditAgent } from './spawner-lifecycle.js';
|
|
46
|
+
export { spawnAuditAgent, buildAuditMetricRow } from './spawner-lifecycle.js';
|
|
47
47
|
/** Re-export stale agent liveness checks. */
|
|
48
48
|
export { isProcessAlive, checkAgentLiveness } from './spawner-liveness.js';
|
|
49
49
|
//# sourceMappingURL=spawner.js.map
|
package/dist/spawner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spawner.js","sourceRoot":"","sources":["../src/spawner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,gBAAgB,IAAI,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAEzE,OAAO,EACL,cAAc,IAAI,eAAe,EACjC,kBAAkB,IAAI,mBAAmB,EACzC,cAAc,IAAI,eAAe,EACjC,oBAAoB,IAAI,qBAAqB,GAC9C,MAAM,wBAAwB,CAAC;AAEhC,oDAAoD;AACpD,MAAM,aAAa,GAAG,iBAAiB,EAAE,CAAC;AAE1C,2FAA2F;AAC3F,MAAM,UAAU,YAAY,CAAC,IAAsB,IAAS,CAAC;AAE7D;;;GAGG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,uEAAuE;AAEvE,iCAAiC;AACjC,MAAM,UAAU,cAAc,CAAC,SAAiB;IAC9C,OAAO,eAAe,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;AACnD,CAAC;AAED,oCAAoC;AACpC,MAAM,UAAU,kBAAkB;IAChC,mBAAmB,CAAC,aAAa,CAAC,CAAC;AACrC,CAAC;AAED,kDAAkD;AAClD,MAAM,UAAU,cAAc,CAAC,SAAiB;IAC9C,OAAO,eAAe,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;AACnD,CAAC;AAED,mCAAmC;AACnC,MAAM,UAAU,oBAAoB;IAClC,OAAO,qBAAqB,CAAC,aAAa,CAAC,CAAC;AAC9C,CAAC;AAED,+DAA+D;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,mFAAmF;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"spawner.js","sourceRoot":"","sources":["../src/spawner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,gBAAgB,IAAI,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAEzE,OAAO,EACL,cAAc,IAAI,eAAe,EACjC,kBAAkB,IAAI,mBAAmB,EACzC,cAAc,IAAI,eAAe,EACjC,oBAAoB,IAAI,qBAAqB,GAC9C,MAAM,wBAAwB,CAAC;AAEhC,oDAAoD;AACpD,MAAM,aAAa,GAAG,iBAAiB,EAAE,CAAC;AAE1C,2FAA2F;AAC3F,MAAM,UAAU,YAAY,CAAC,IAAsB,IAAS,CAAC;AAE7D;;;GAGG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,uEAAuE;AAEvE,iCAAiC;AACjC,MAAM,UAAU,cAAc,CAAC,SAAiB;IAC9C,OAAO,eAAe,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;AACnD,CAAC;AAED,oCAAoC;AACpC,MAAM,UAAU,kBAAkB;IAChC,mBAAmB,CAAC,aAAa,CAAC,CAAC;AACrC,CAAC;AAED,kDAAkD;AAClD,MAAM,UAAU,cAAc,CAAC,SAAiB;IAC9C,OAAO,eAAe,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;AACnD,CAAC;AAED,mCAAmC;AACnC,MAAM,UAAU,oBAAoB;IAClC,OAAO,qBAAqB,CAAC,aAAa,CAAC,CAAC;AAC9C,CAAC;AAED,+DAA+D;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,mFAAmF;AACnF,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAG9E,6CAA6C;AAC7C,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"team-spawner.d.ts","sourceRoot":"","sources":["../src/team-spawner.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EACV,YAAY,EACZ,SAAS,EAET,cAAc,EAEf,MAAM,YAAY,CAAC;AAQpB,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAe5D,OAAO,EAA8B,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAMzG,oEAAoE;AACpE,wBAAgB,YAAY,CAAC,GAAG,EAAE,gBAAgB,GAAG,IAAI,CAExD;AAED,wEAAwE;AACxE,wBAAgB,WAAW,IAAI,gBAAgB,GAAG,IAAI,CAErD;AAID;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAKnG;AAGD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,YAAY,EACpB,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,cAAc,GAAG,IAAI,EACrC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,GAC9B,MAAM,EAAE,CAKV;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,SAAS,CAAC;IAChB,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iFAAiF;IACjF,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IACjD;;;OAGG;IACH,cAAc,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IACvC,gFAAgF;IAChF,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AA6GD,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"team-spawner.d.ts","sourceRoot":"","sources":["../src/team-spawner.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EACV,YAAY,EACZ,SAAS,EAET,cAAc,EAEf,MAAM,YAAY,CAAC;AAQpB,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAe5D,OAAO,EAA8B,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAMzG,oEAAoE;AACpE,wBAAgB,YAAY,CAAC,GAAG,EAAE,gBAAgB,GAAG,IAAI,CAExD;AAED,wEAAwE;AACxE,wBAAgB,WAAW,IAAI,gBAAgB,GAAG,IAAI,CAErD;AAID;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAKnG;AAGD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,YAAY,EACpB,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,cAAc,GAAG,IAAI,EACrC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,GAC9B,MAAM,EAAE,CAKV;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,SAAS,CAAC;IAChB,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iFAAiF;IACjF,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IACjD;;;OAGG;IACH,cAAc,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IACvC,gFAAgF;IAChF,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AA6GD,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AA0G7C;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,IAAI,CAAC,CA+Qf"}
|