harnery 0.34.1 → 0.35.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commander.d.ts.map +1 -1
- package/dist/commander.js +2 -0
- package/dist/commands/agents.d.ts +15 -4
- package/dist/commands/agents.d.ts.map +1 -1
- package/dist/commands/agents.js +89 -175
- package/dist/commands/browse.d.ts.map +1 -1
- package/dist/commands/browse.js +26 -2
- package/dist/commands/decision.d.ts.map +1 -1
- package/dist/commands/decision.js +2 -2
- package/dist/commands/events.d.ts.map +1 -1
- package/dist/commands/events.js +18 -1
- package/dist/commands/presence.d.ts.map +1 -1
- package/dist/commands/presence.js +2 -2
- package/dist/commands/semantic.d.ts +4 -0
- package/dist/commands/semantic.d.ts.map +1 -0
- package/dist/commands/semantic.js +147 -0
- package/dist/commands/web.d.ts.map +1 -1
- package/dist/commands/web.js +17 -0
- package/dist/core/agents/canonical-emit.d.ts +3 -0
- package/dist/core/agents/canonical-emit.d.ts.map +1 -1
- package/dist/core/agents/canonical-emit.js +12 -0
- package/dist/core/agents/claim-path.d.ts +11 -0
- package/dist/core/agents/claim-path.d.ts.map +1 -0
- package/dist/core/agents/claim-path.js +22 -0
- package/dist/core/agents/coord-client.d.ts +29 -3
- package/dist/core/agents/coord-client.d.ts.map +1 -1
- package/dist/core/agents/coord-client.js +88 -9
- package/dist/core/agents/live-authority-v3.d.ts.map +1 -1
- package/dist/core/agents/live-authority-v3.js +1 -3
- package/dist/core/agents/live-lifecycle-v3.js +3 -3
- package/dist/core/agents/live-observation-v3.d.ts.map +1 -1
- package/dist/core/agents/live-observation-v3.js +2 -2
- package/dist/core/agents/render/prompt-context.js +12 -10
- package/dist/core/agents/rules/stop-hook.d.ts.map +1 -1
- package/dist/core/agents/rules/stop-hook.js +23 -11
- package/dist/core/agents/session-name-display.d.ts +1 -0
- package/dist/core/agents/session-name-display.d.ts.map +1 -1
- package/dist/core/agents/session-name-display.js +8 -1
- package/dist/core/agents/state/heartbeat-reader.d.ts +46 -0
- package/dist/core/agents/state/heartbeat-reader.d.ts.map +1 -0
- package/dist/core/agents/state/heartbeat-reader.js +25 -0
- package/dist/core/agents/state/heartbeat-writer.d.ts +3 -48
- package/dist/core/agents/state/heartbeat-writer.d.ts.map +1 -1
- package/dist/core/agents/state/heartbeat-writer.js +16 -34
- package/dist/core/agents/state/live-coordination-view.d.ts +1 -1
- package/dist/core/agents/state/live-coordination-view.d.ts.map +1 -1
- package/dist/core/agents/state/live-coordination-view.js +25 -1
- package/dist/core/agents/state/names.d.ts +9 -1
- package/dist/core/agents/state/names.d.ts.map +1 -1
- package/dist/core/agents/state/names.js +190 -182
- package/dist/core/agents/state/stale-sweep.d.ts.map +1 -1
- package/dist/core/agents/state/stale-sweep.js +23 -5
- package/dist/core/artifacts/constants.d.ts +5 -0
- package/dist/core/artifacts/constants.d.ts.map +1 -0
- package/dist/core/artifacts/constants.js +4 -0
- package/dist/core/artifacts/index.d.ts +3 -3
- package/dist/core/artifacts/index.d.ts.map +1 -1
- package/dist/core/artifacts/index.js +50 -7
- package/dist/core/events/v3/base-contract.d.ts +795 -0
- package/dist/core/events/v3/base-contract.d.ts.map +1 -1
- package/dist/core/events/v3/base-contract.js +33 -0
- package/dist/core/events/v3/capabilities.d.ts +11 -0
- package/dist/core/events/v3/capabilities.d.ts.map +1 -1
- package/dist/core/events/v3/capabilities.js +23 -0
- package/dist/core/events/v3/generated.d.ts +1 -1
- package/dist/core/events/v3/generated.js +1 -1
- package/dist/core/events/v3/index.d.ts +4 -3
- package/dist/core/events/v3/index.d.ts.map +1 -1
- package/dist/core/events/v3/index.js +4 -3
- package/dist/core/events/v3/latency.d.ts +31 -1
- package/dist/core/events/v3/latency.d.ts.map +1 -1
- package/dist/core/events/v3/latency.js +127 -3
- package/dist/core/events/v3/live-routing.d.ts +30 -0
- package/dist/core/events/v3/live-routing.d.ts.map +1 -1
- package/dist/core/events/v3/live-routing.js +109 -1
- package/dist/core/events/v3/producers/command-recorder.d.ts.map +1 -1
- package/dist/core/events/v3/producers/command-recorder.js +10 -1
- package/dist/core/events/v3/producers/coordination-recorder.d.ts.map +1 -1
- package/dist/core/events/v3/producers/coordination-recorder.js +14 -3
- package/dist/core/events/v3/producers/hook-base.d.ts +17 -1
- package/dist/core/events/v3/producers/hook-base.d.ts.map +1 -1
- package/dist/core/events/v3/producers/hook-base.js +82 -1
- package/dist/core/events/v3/producers/intake.d.ts +6 -0
- package/dist/core/events/v3/producers/intake.d.ts.map +1 -1
- package/dist/core/events/v3/producers/intake.js +11 -0
- package/dist/core/events/v3/producers/recorder.d.ts +62 -0
- package/dist/core/events/v3/producers/recorder.d.ts.map +1 -1
- package/dist/core/events/v3/producers/recorder.js +654 -18
- package/dist/core/events/v3/runtime-telemetry-capabilities.d.ts +51 -0
- package/dist/core/events/v3/runtime-telemetry-capabilities.d.ts.map +1 -0
- package/dist/core/events/v3/runtime-telemetry-capabilities.js +54 -0
- package/dist/core/events/v3/turn-telemetry.d.ts +9 -0
- package/dist/core/events/v3/turn-telemetry.d.ts.map +1 -1
- package/dist/core/hooks/adapter/parse.d.ts +3 -0
- package/dist/core/hooks/adapter/parse.d.ts.map +1 -1
- package/dist/core/hooks/adapter/parse.js +14 -0
- package/dist/core/hooks/adapter/runtime-telemetry.d.ts +119 -0
- package/dist/core/hooks/adapter/runtime-telemetry.d.ts.map +1 -0
- package/dist/core/hooks/adapter/runtime-telemetry.js +568 -0
- package/dist/core/hooks/cli.js +111 -36
- package/dist/core/hooks/remediation-cap.d.ts +34 -0
- package/dist/core/hooks/remediation-cap.d.ts.map +1 -0
- package/dist/core/hooks/remediation-cap.js +71 -0
- package/dist/core/hooks/resolve/transcript.d.ts +25 -9
- package/dist/core/hooks/resolve/transcript.d.ts.map +1 -1
- package/dist/core/hooks/resolve/transcript.js +22 -10
- package/dist/core/semantic/adapters.d.ts +34 -0
- package/dist/core/semantic/adapters.d.ts.map +1 -0
- package/dist/core/semantic/adapters.js +222 -0
- package/dist/core/semantic/contract.d.ts +588 -0
- package/dist/core/semantic/contract.d.ts.map +1 -0
- package/dist/core/semantic/contract.js +230 -0
- package/dist/core/semantic/evidence.d.ts +11 -0
- package/dist/core/semantic/evidence.d.ts.map +1 -0
- package/dist/core/semantic/evidence.js +262 -0
- package/dist/core/semantic/index.d.ts +10 -0
- package/dist/core/semantic/index.d.ts.map +1 -0
- package/dist/core/semantic/index.js +9 -0
- package/dist/core/semantic/once.d.ts +33 -0
- package/dist/core/semantic/once.d.ts.map +1 -0
- package/dist/core/semantic/once.js +293 -0
- package/dist/core/semantic/prompt.d.ts +12 -0
- package/dist/core/semantic/prompt.d.ts.map +1 -0
- package/dist/core/semantic/prompt.js +70 -0
- package/dist/core/semantic/scheduler.d.ts +16 -0
- package/dist/core/semantic/scheduler.d.ts.map +1 -0
- package/dist/core/semantic/scheduler.js +67 -0
- package/dist/core/semantic/service-status.d.ts +31 -0
- package/dist/core/semantic/service-status.d.ts.map +1 -0
- package/dist/core/semantic/service-status.js +84 -0
- package/dist/core/semantic/service.d.ts +51 -0
- package/dist/core/semantic/service.d.ts.map +1 -0
- package/dist/core/semantic/service.js +470 -0
- package/dist/core/semantic/storage.d.ts +71 -0
- package/dist/core/semantic/storage.d.ts.map +1 -0
- package/dist/core/semantic/storage.js +179 -0
- package/dist/core/semantic/validate.d.ts +16 -0
- package/dist/core/semantic/validate.d.ts.map +1 -0
- package/dist/core/semantic/validate.js +174 -0
- package/dist/lib/browser/client.d.ts +11 -0
- package/dist/lib/browser/client.d.ts.map +1 -1
- package/dist/lib/browser/client.js +13 -0
- package/dist/lib/browser/index.d.ts +1 -0
- package/dist/lib/browser/index.d.ts.map +1 -1
- package/dist/lib/browser/standalone-html.d.ts +25 -0
- package/dist/lib/browser/standalone-html.d.ts.map +1 -0
- package/dist/lib/browser/standalone-html.js +284 -0
- package/dist/lib/instructions/apply.d.ts.map +1 -1
- package/dist/lib/instructions/apply.js +1 -0
- package/dist/lib/instructions/templates.d.ts +2 -0
- package/dist/lib/instructions/templates.d.ts.map +1 -1
- package/dist/lib/instructions/templates.js +144 -4
- package/package.json +6 -1
- package/schemas/event-v3.schema.json +2758 -478
- package/src/commander.ts +2 -0
- package/src/commands/agents.ts +102 -167
- package/src/commands/browse.ts +25 -2
- package/src/commands/decision.ts +8 -2
- package/src/commands/events.ts +21 -1
- package/src/commands/presence.ts +7 -2
- package/src/commands/semantic.ts +179 -0
- package/src/commands/web.ts +15 -0
- package/src/core/agents/canonical-emit.ts +15 -0
- package/src/core/agents/claim-path.ts +23 -0
- package/src/core/agents/coord-client.ts +92 -8
- package/src/core/agents/live-authority-v3.ts +1 -4
- package/src/core/agents/live-lifecycle-v3.ts +8 -3
- package/src/core/agents/live-observation-v3.ts +7 -2
- package/src/core/agents/render/prompt-context.ts +13 -10
- package/src/core/agents/rules/stop-hook.ts +24 -11
- package/src/core/agents/session-name-display.ts +9 -1
- package/src/core/agents/state/heartbeat-reader.ts +69 -0
- package/src/core/agents/state/heartbeat-writer.ts +20 -84
- package/src/core/agents/state/live-coordination-view.ts +26 -1
- package/src/core/agents/state/names.ts +190 -182
- package/src/core/agents/state/stale-sweep.ts +25 -5
- package/src/core/artifacts/constants.ts +4 -0
- package/src/core/artifacts/index.ts +49 -7
- package/src/core/events/v3/base-contract.ts +39 -0
- package/src/core/events/v3/capabilities.ts +34 -0
- package/src/core/events/v3/generated.ts +1 -1
- package/src/core/events/v3/index.ts +21 -0
- package/src/core/events/v3/latency.ts +213 -2
- package/src/core/events/v3/live-routing.ts +120 -1
- package/src/core/events/v3/producers/command-recorder.ts +10 -1
- package/src/core/events/v3/producers/coordination-recorder.ts +17 -5
- package/src/core/events/v3/producers/hook-base.ts +115 -1
- package/src/core/events/v3/producers/intake.ts +18 -0
- package/src/core/events/v3/producers/recorder.ts +856 -21
- package/src/core/events/v3/runtime-telemetry-capabilities.ts +137 -0
- package/src/core/events/v3/turn-telemetry.ts +10 -0
- package/src/core/hooks/adapter/parse.ts +16 -0
- package/src/core/hooks/adapter/runtime-telemetry.ts +805 -0
- package/src/core/hooks/cli.ts +123 -39
- package/src/core/hooks/remediation-cap.ts +77 -0
- package/src/core/hooks/resolve/transcript.ts +37 -11
- package/src/core/semantic/adapters.ts +293 -0
- package/src/core/semantic/contract.ts +298 -0
- package/src/core/semantic/evidence.ts +336 -0
- package/src/core/semantic/index.ts +127 -0
- package/src/core/semantic/once.ts +410 -0
- package/src/core/semantic/prompt.ts +84 -0
- package/src/core/semantic/scheduler.ts +107 -0
- package/src/core/semantic/service-status.ts +118 -0
- package/src/core/semantic/service.ts +580 -0
- package/src/core/semantic/storage.ts +286 -0
- package/src/core/semantic/validate.ts +212 -0
- package/src/lib/browser/client.ts +21 -0
- package/src/lib/browser/index.ts +4 -0
- package/src/lib/browser/standalone-html.ts +312 -0
- package/src/lib/instructions/apply.ts +1 -0
- package/src/lib/instructions/templates.ts +149 -4
|
@@ -70,15 +70,43 @@ export function hookSignalV3(eventName) {
|
|
|
70
70
|
return undefined;
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
|
+
/**
|
|
74
|
+
* Tool lifecycle hooks may stop after publishing their event to the durable
|
|
75
|
+
* ready WAL. The next non-tool hook drains the causal batch into the active
|
|
76
|
+
* ledger, avoiding one global append-lease cycle for every tool boundary.
|
|
77
|
+
*/
|
|
78
|
+
export function liveHookSignalDefersDrainV3(eventName, override) {
|
|
79
|
+
if (override === "1")
|
|
80
|
+
return true;
|
|
81
|
+
if (override === "0")
|
|
82
|
+
return false;
|
|
83
|
+
const signal = hookSignalV3(eventName);
|
|
84
|
+
return (signal === "pre-tool-use" || signal === "post-tool-use" || signal === "post-tool-use-failure");
|
|
85
|
+
}
|
|
73
86
|
export function recordLiveHookSignalV3(input) {
|
|
74
87
|
const signal = hookSignalV3(input.eventName);
|
|
75
88
|
if (!signal)
|
|
76
89
|
return { state: "ignored" };
|
|
90
|
+
const nativeChild = input.payload?.subagent_id ?? input.payload?.agent_id;
|
|
91
|
+
const childOwnsSignal = signal !== "sub-agent-start" &&
|
|
92
|
+
signal !== "sub-agent-stop" &&
|
|
93
|
+
nativeChild !== undefined &&
|
|
94
|
+
liveInstanceIdV3(input.instanceId) === liveInstanceIdV3(nativeChild);
|
|
95
|
+
const payload = input.payload
|
|
96
|
+
? childOwnsSignal
|
|
97
|
+
? {
|
|
98
|
+
...input.payload,
|
|
99
|
+
session_id: nativeChild,
|
|
100
|
+
conversation_id: undefined,
|
|
101
|
+
parent_session_id: input.payload.session_id ?? input.payload.conversation_id,
|
|
102
|
+
}
|
|
103
|
+
: input.payload
|
|
104
|
+
: { raw: {} };
|
|
77
105
|
return recordHookSignalV3({
|
|
78
106
|
coordRoot: input.coordRoot,
|
|
79
107
|
mode: input.route.mode,
|
|
80
108
|
signal,
|
|
81
|
-
payload
|
|
109
|
+
payload,
|
|
82
110
|
adapter: input.adapter,
|
|
83
111
|
instance_id: liveInstanceIdV3(input.instanceId),
|
|
84
112
|
run_id: input.run_id,
|
|
@@ -96,6 +124,86 @@ export function recordLiveHookSignalV3(input) {
|
|
|
96
124
|
...(input.defer_drain ? { writerOptions: { deferDrain: true } } : {}),
|
|
97
125
|
});
|
|
98
126
|
}
|
|
127
|
+
/**
|
|
128
|
+
* Open the child generation named by a native SubagentStart event.
|
|
129
|
+
*
|
|
130
|
+
* The parent producer owns the delegation span and mints its child generation
|
|
131
|
+
* id. This second crash-safe session-start gives that exact generation its own
|
|
132
|
+
* producer authority, so later child tool hooks can resolve away from the
|
|
133
|
+
* parent session and the disposable heartbeat projection has a real source.
|
|
134
|
+
*/
|
|
135
|
+
export function recordLiveDelegatedChildSessionV3(input) {
|
|
136
|
+
const nativeChild = input.payload.subagent_id ?? input.payload.agent_id;
|
|
137
|
+
if (!nativeChild)
|
|
138
|
+
return { state: "ignored" };
|
|
139
|
+
const parentGeneration = input.parentEvent.links
|
|
140
|
+
.parent_generation_id;
|
|
141
|
+
if (!parentGeneration)
|
|
142
|
+
return { state: "ignored" };
|
|
143
|
+
const nativeParent = input.payload.session_id ?? input.payload.conversation_id;
|
|
144
|
+
const childPayload = {
|
|
145
|
+
session_id: nativeChild,
|
|
146
|
+
agent_id: nativeChild,
|
|
147
|
+
parent_session_id: nativeParent,
|
|
148
|
+
source: "startup",
|
|
149
|
+
model: input.payload.model,
|
|
150
|
+
cwd: input.payload.cwd,
|
|
151
|
+
raw: {
|
|
152
|
+
session_id: nativeChild,
|
|
153
|
+
agent_id: nativeChild,
|
|
154
|
+
...(nativeParent ? { parent_session_id: nativeParent } : {}),
|
|
155
|
+
...(input.payload.raw.agent_type ? { agent_type: input.payload.raw.agent_type } : {}),
|
|
156
|
+
},
|
|
157
|
+
};
|
|
158
|
+
const started = recordHookSignalV3({
|
|
159
|
+
coordRoot: input.coordRoot,
|
|
160
|
+
mode: input.route.mode,
|
|
161
|
+
signal: "session-start",
|
|
162
|
+
payload: childPayload,
|
|
163
|
+
adapter: input.adapter,
|
|
164
|
+
instance_id: liveInstanceIdV3(nativeChild),
|
|
165
|
+
producer_id: LIVE_HOOK_V3_PRODUCER_ID,
|
|
166
|
+
build_id: input.route.build_id,
|
|
167
|
+
platform: livePlatformV3(),
|
|
168
|
+
...(input.bridge ? { bridge: input.bridge } : {}),
|
|
169
|
+
monotonic_ns: input.monotonic_ns,
|
|
170
|
+
hook_name: "sub-agent-start-child-session",
|
|
171
|
+
delegated_child: {
|
|
172
|
+
generation_id: input.parentEvent.payload.child_generation_id,
|
|
173
|
+
parent_generation_id: parentGeneration,
|
|
174
|
+
delegation_id: input.parentEvent.payload.delegation_id,
|
|
175
|
+
caused_by_event_id: input.parentEvent.event_id,
|
|
176
|
+
},
|
|
177
|
+
});
|
|
178
|
+
if (started.state !== "recorded" && started.state !== "already_started")
|
|
179
|
+
return started;
|
|
180
|
+
const childStartEventId = (started.state === "recorded" ? started.event.event_id : started.event_id);
|
|
181
|
+
recordHookSignalV3({
|
|
182
|
+
coordRoot: input.coordRoot,
|
|
183
|
+
mode: input.route.mode,
|
|
184
|
+
signal: "user-prompt-submit",
|
|
185
|
+
payload: {
|
|
186
|
+
...childPayload,
|
|
187
|
+
turn_id: `delegated:${nativeChild}`,
|
|
188
|
+
raw: { ...childPayload.raw, turn_id: `delegated:${nativeChild}` },
|
|
189
|
+
},
|
|
190
|
+
adapter: input.adapter,
|
|
191
|
+
instance_id: liveInstanceIdV3(nativeChild),
|
|
192
|
+
producer_id: LIVE_HOOK_V3_PRODUCER_ID,
|
|
193
|
+
build_id: input.route.build_id,
|
|
194
|
+
platform: livePlatformV3(),
|
|
195
|
+
...(input.bridge ? { bridge: input.bridge } : {}),
|
|
196
|
+
monotonic_ns: input.monotonic_ns,
|
|
197
|
+
hook_name: "sub-agent-start-child-turn",
|
|
198
|
+
delegated_child: {
|
|
199
|
+
generation_id: input.parentEvent.payload.child_generation_id,
|
|
200
|
+
parent_generation_id: parentGeneration,
|
|
201
|
+
delegation_id: input.parentEvent.payload.delegation_id,
|
|
202
|
+
caused_by_event_id: childStartEventId,
|
|
203
|
+
},
|
|
204
|
+
});
|
|
205
|
+
return started;
|
|
206
|
+
}
|
|
99
207
|
export function livePlatformV3() {
|
|
100
208
|
if (process.platform === "linux")
|
|
101
209
|
return "linux";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-recorder.d.ts","sourceRoot":"","sources":["../../../../../src/core/events/v3/producers/command-recorder.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAOnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,KAAK,gBAAgB,EAA2B,MAAM,eAAe,CAAC;AAM/E,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EAExB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,eAAe,EAErB,MAAM,cAAc,CAAC;AA0CtB,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,eAAe,CAAC;IACxB,WAAW,EAAE,oBAAoB,CAAC;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,QAAQ,MAAM,EAAE,CAAC;IAC9B,WAAW,EAAE,OAAO,MAAM,EAAE,CAAC;IAC7B,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;IACpD,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,mBAAmB,CAAC;CACrC;AAED,MAAM,MAAM,2BAA2B,GACnC;IAAE,KAAK,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACxC;IAAE,KAAK,EAAE,wBAAwB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,KAAK,EAAE,wBAAwB,CAAA;CAAE,GACnC;IAAE,KAAK,EAAE,wBAAwB,CAAA;CAAE,GACnC;IAAE,KAAK,EAAE,kBAAkB,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC/C;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,kBAAkB,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC;AAE9F;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,0BAA0B,GAChC,2BAA2B,
|
|
1
|
+
{"version":3,"file":"command-recorder.d.ts","sourceRoot":"","sources":["../../../../../src/core/events/v3/producers/command-recorder.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAOnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,KAAK,gBAAgB,EAA2B,MAAM,eAAe,CAAC;AAM/E,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EAExB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,eAAe,EAErB,MAAM,cAAc,CAAC;AA0CtB,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,eAAe,CAAC;IACxB,WAAW,EAAE,oBAAoB,CAAC;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,QAAQ,MAAM,EAAE,CAAC;IAC9B,WAAW,EAAE,OAAO,MAAM,EAAE,CAAC;IAC7B,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;IACpD,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,mBAAmB,CAAC;CACrC;AAED,MAAM,MAAM,2BAA2B,GACnC;IAAE,KAAK,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACxC;IAAE,KAAK,EAAE,wBAAwB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,KAAK,EAAE,wBAAwB,CAAA;CAAE,GACnC;IAAE,KAAK,EAAE,wBAAwB,CAAA;CAAE,GACnC;IAAE,KAAK,EAAE,kBAAkB,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC/C;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,kBAAkB,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC;AAE9F;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,0BAA0B,GAChC,2BAA2B,CAwI7B;AAED,MAAM,WAAW,iCAAiC;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,gBAAgB,CAAC;IACvB,aAAa,EAAE,OAAO,MAAM,EAAE,CAAC;IAC/B,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,mBAAmB,CAAC;CACrC;AAED,MAAM,WAAW,kCAAkC;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,iCAAiC,GACvC,kCAAkC,CA8HpC"}
|
|
@@ -51,6 +51,14 @@ export function recordCommandSignalV3(input) {
|
|
|
51
51
|
if (state && !matchesHookState(state, hook, input, epochId)) {
|
|
52
52
|
throw new Error("V3 command producer state does not match the joined hook generation");
|
|
53
53
|
}
|
|
54
|
+
if (state && state.attestation_id !== hook.attestation_id) {
|
|
55
|
+
// A mid-generation re-attestation (session.attestation_changed) moves
|
|
56
|
+
// the hook's attestation id without opening a new generation or turn. A
|
|
57
|
+
// command span that straddles the change keeps its span, sequence, and
|
|
58
|
+
// dedupe state; later events ride the live attestation, the same
|
|
59
|
+
// in-place adoption the hook producer performs.
|
|
60
|
+
state.attestation_id = hook.attestation_id;
|
|
61
|
+
}
|
|
54
62
|
let recovered = false;
|
|
55
63
|
if (state?.pending) {
|
|
56
64
|
const pending = state.pending;
|
|
@@ -309,7 +317,8 @@ function matchesHookState(state, hook, input, epochId) {
|
|
|
309
317
|
state.session_id === hook.session_id &&
|
|
310
318
|
state.generation_id === hook.generation_id &&
|
|
311
319
|
state.turn_id === hook.current_turn_id &&
|
|
312
|
-
|
|
320
|
+
// attestation_id is deliberately absent: a re-attestation within the
|
|
321
|
+
// generation is a continuation, adopted by the caller, not a mismatch.
|
|
313
322
|
state.privacy_epoch_id === epochId);
|
|
314
323
|
}
|
|
315
324
|
function observationSourceId(input, context) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coordination-recorder.d.ts","sourceRoot":"","sources":["../../../../../src/core/events/v3/producers/coordination-recorder.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAGnD,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAK3B,MAAM,wBAAwB,CAAC;AAGhC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,KAAK,gBAAgB,EAA2B,MAAM,eAAe,CAAC;AAK/E,OAAO,EACL,KAAK,6BAA6B,EAClC,KAAK,iCAAiC,EAEvC,MAAM,mBAAmB,CAAC;AAyC3B,MAAM,WAAW,kCAAkC,CACjD,CAAC,SAAS,6BAA6B,GAAG,6BAA6B;IAEvE,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,CAAC,CAAC;IACV,WAAW,EAAE,iCAAiC,CAAC,CAAC,CAAC,CAAC;IAClD,OAAO,EAAE,OAAO,CAAC;IACjB,uBAAuB,EAAE,MAAM,CAAC;IAChC,iBAAiB,EAAE,QAAQ,MAAM,EAAE,CAAC;IACpC,mBAAmB,EAAE,QAAQ,MAAM,EAAE,CAAC;IACtC,WAAW,EAAE,OAAO,MAAM,EAAE,CAAC;IAC7B,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;IACpD,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,2BAA2B,EAAE,UAAU,MAAM,EAAE,CAAC;IAChD,oBAAoB,EAAE,UAAU,MAAM,EAAE,CAAC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,qBAAqB,CAAC;CACnC;AAED,MAAM,MAAM,mCAAmC,GAC3C;IAAE,KAAK,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACxC;IAAE,KAAK,EAAE,wBAAwB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,KAAK,EAAE,kBAAkB,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,GACvE;IAAE,KAAK,EAAE,qBAAqB,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAC/E;IACE,KAAK,EAAE,UAAU,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,kBAAkB,CAAC;IAC5B,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEN;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAAC,CAAC,SAAS,6BAA6B,EACnF,KAAK,EAAE,kCAAkC,CAAC,CAAC,CAAC,GAC3C,mCAAmC,
|
|
1
|
+
{"version":3,"file":"coordination-recorder.d.ts","sourceRoot":"","sources":["../../../../../src/core/events/v3/producers/coordination-recorder.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAGnD,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAK3B,MAAM,wBAAwB,CAAC;AAGhC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,KAAK,gBAAgB,EAA2B,MAAM,eAAe,CAAC;AAK/E,OAAO,EACL,KAAK,6BAA6B,EAClC,KAAK,iCAAiC,EAEvC,MAAM,mBAAmB,CAAC;AAyC3B,MAAM,WAAW,kCAAkC,CACjD,CAAC,SAAS,6BAA6B,GAAG,6BAA6B;IAEvE,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,CAAC,CAAC;IACV,WAAW,EAAE,iCAAiC,CAAC,CAAC,CAAC,CAAC;IAClD,OAAO,EAAE,OAAO,CAAC;IACjB,uBAAuB,EAAE,MAAM,CAAC;IAChC,iBAAiB,EAAE,QAAQ,MAAM,EAAE,CAAC;IACpC,mBAAmB,EAAE,QAAQ,MAAM,EAAE,CAAC;IACtC,WAAW,EAAE,OAAO,MAAM,EAAE,CAAC;IAC7B,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;IACpD,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,2BAA2B,EAAE,UAAU,MAAM,EAAE,CAAC;IAChD,oBAAoB,EAAE,UAAU,MAAM,EAAE,CAAC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,qBAAqB,CAAC;CACnC;AAED,MAAM,MAAM,mCAAmC,GAC3C;IAAE,KAAK,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACxC;IAAE,KAAK,EAAE,wBAAwB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,KAAK,EAAE,kBAAkB,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,GACvE;IAAE,KAAK,EAAE,qBAAqB,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAC/E;IACE,KAAK,EAAE,UAAU,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,kBAAkB,CAAC;IAC5B,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEN;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAAC,CAAC,SAAS,6BAA6B,EACnF,KAAK,EAAE,kCAAkC,CAAC,CAAC,CAAC,GAC3C,mCAAmC,CAuMrC"}
|
|
@@ -13,7 +13,7 @@ import { clockIdV3, spanIdV3 } from "../ids.js";
|
|
|
13
13
|
import { closeSpanStateV3, openSpanStateV3 } from "../span-state.js";
|
|
14
14
|
import { EVENT_V3_LEDGER_RELATIVE_ROOT } from "../writer.js";
|
|
15
15
|
import { normalizeCoordinationAuthorityV3, } from "./coordination.js";
|
|
16
|
-
import {
|
|
16
|
+
import { readJoinableHookProducerStateV3 } from "./recorder.js";
|
|
17
17
|
const COORDINATION_STATE_FORMAT = "harnery-v3-coordination-producer";
|
|
18
18
|
const COORDINATION_STATE_VERSION = 2;
|
|
19
19
|
const MAX_OBSERVATIONS = 512;
|
|
@@ -28,7 +28,7 @@ export function recordCoordinationAuthorityV3(input) {
|
|
|
28
28
|
const control = readEventV3ControlState(input.coordRoot);
|
|
29
29
|
if (control.state !== input.mode)
|
|
30
30
|
return { state: "gate_closed", reason: control.state };
|
|
31
|
-
const hook =
|
|
31
|
+
const hook = readJoinableHookProducerStateV3(input.coordRoot, input.adapter, input.native_actor_session_id, input.actor_instance_id);
|
|
32
32
|
if (!hook ||
|
|
33
33
|
hook.terminal ||
|
|
34
34
|
hook.instance_id !== input.actor_instance_id ||
|
|
@@ -47,6 +47,16 @@ export function recordCoordinationAuthorityV3(input) {
|
|
|
47
47
|
if (state && !matchesHookState(state, hook, input, epochId)) {
|
|
48
48
|
throw new Error("V3 coordination producer state does not match the joined hook generation");
|
|
49
49
|
}
|
|
50
|
+
if (state && state.attestation_id !== hook.attestation_id) {
|
|
51
|
+
// A mid-generation re-attestation (session.attestation_changed) moves
|
|
52
|
+
// the hook's attestation id without opening a new generation. The
|
|
53
|
+
// producer keeps its one continuous sequence, clock, and observation
|
|
54
|
+
// dedupe for the generation and stamps later events with the live
|
|
55
|
+
// attestation — the same in-place adoption the hook producer performs.
|
|
56
|
+
// Refusing here would wedge the producer forever, since its state path
|
|
57
|
+
// is derived from the generation alone and can never be superseded.
|
|
58
|
+
state.attestation_id = hook.attestation_id;
|
|
59
|
+
}
|
|
50
60
|
if (state?.pending) {
|
|
51
61
|
if (state.pending.source_id !== sourceId) {
|
|
52
62
|
// A writer that died mid-commit leaves `pending` owned by an
|
|
@@ -206,7 +216,8 @@ function matchesHookState(state, hook, input, epochId) {
|
|
|
206
216
|
state.actor_instance_id === input.actor_instance_id &&
|
|
207
217
|
state.session_id === hook.session_id &&
|
|
208
218
|
state.generation_id === hook.generation_id &&
|
|
209
|
-
|
|
219
|
+
// attestation_id is deliberately absent: a re-attestation within the
|
|
220
|
+
// generation is a continuation, adopted by the caller, not a mismatch.
|
|
210
221
|
state.privacy_epoch_id === epochId &&
|
|
211
222
|
state.producer_id === input.producer_id &&
|
|
212
223
|
state.build_id === input.build_id &&
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import type { Adapter } from "../../../adapter.js";
|
|
2
2
|
import type { ParsedPayload } from "../../../hooks/adapter/parse.js";
|
|
3
|
-
import type { EventV3Base } from "../base-contract.js";
|
|
3
|
+
import type { EventV3Base, RuntimeAttestationV3Base } from "../base-contract.js";
|
|
4
4
|
import { type FingerprintContextV3 } from "../canonical.js";
|
|
5
|
+
import { type CursorExecutionModeV3 } from "../capabilities.js";
|
|
6
|
+
import { type RuntimeTelemetryCapabilitiesV3 } from "../runtime-telemetry-capabilities.js";
|
|
5
7
|
export type HookSignalV3Base = "session-start" | "session-end" | "user-prompt-submit" | "stop" | "stop-failure" | "pre-tool-use" | "post-tool-use" | "post-tool-use-failure" | "permission-request" | "sub-agent-start" | "sub-agent-stop" | "pre-compact" | "post-compact";
|
|
6
8
|
export interface HookProducerContextV3Base {
|
|
7
9
|
coordRoot: string;
|
|
@@ -22,6 +24,7 @@ export interface HookProducerContextV3Base {
|
|
|
22
24
|
platform: "linux" | "windows" | "macos" | "unknown";
|
|
23
25
|
bridge?: "codex-wsl";
|
|
24
26
|
capability_profile: `cap_${string}`;
|
|
27
|
+
cursor_mode?: CursorExecutionModeV3;
|
|
25
28
|
fingerprintContext: FingerprintContextV3;
|
|
26
29
|
turn_native_id?: string;
|
|
27
30
|
turn_id?: `tid_${string}`;
|
|
@@ -42,6 +45,12 @@ export interface HookProducerContextV3Base {
|
|
|
42
45
|
agent_role?: string;
|
|
43
46
|
stop_remediation?: boolean;
|
|
44
47
|
turn_ritual?: TurnRitualEvidenceV3;
|
|
48
|
+
/** Tuning read from a local runtime transcript by the recorder; hook-base
|
|
49
|
+
* itself performs no I/O. */
|
|
50
|
+
runtime_tuning?: RuntimeTuningContextV3;
|
|
51
|
+
/** Effective telemetry evidence resolved by the recorder. When absent, the
|
|
52
|
+
* session-start attestation records only what hook delivery can prove. */
|
|
53
|
+
runtime_telemetry?: RuntimeTelemetryCapabilitiesV3;
|
|
45
54
|
}
|
|
46
55
|
export interface TurnRitualEvidenceV3 {
|
|
47
56
|
status_box_present: boolean;
|
|
@@ -51,4 +60,11 @@ export interface TurnRitualEvidenceV3 {
|
|
|
51
60
|
}
|
|
52
61
|
/** Normalize one already-parsed hook payload directly into V3Base without retaining its raw fields. */
|
|
53
62
|
export declare function normalizeHookEventV3Base(signal: HookSignalV3Base, payload: ParsedPayload, context: HookProducerContextV3Base): EventV3Base | null;
|
|
63
|
+
export type RuntimeTuningObservationV3 = RuntimeAttestationV3Base["tuning"];
|
|
64
|
+
/** Recorder-supplied tuning read from a local runtime transcript. */
|
|
65
|
+
export interface RuntimeTuningContextV3 {
|
|
66
|
+
effort?: string;
|
|
67
|
+
speed?: string;
|
|
68
|
+
attestation: "native" | "derived";
|
|
69
|
+
}
|
|
54
70
|
//# sourceMappingURL=hook-base.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook-base.d.ts","sourceRoot":"","sources":["../../../../../src/core/events/v3/producers/hook-base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAErE,OAAO,KAAK,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"hook-base.d.ts","sourceRoot":"","sources":["../../../../../src/core/events/v3/producers/hook-base.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { buildEventV3Base } from "../base-builder.js";
|
|
2
2
|
import { fingerprintV3, normalizeNativeIdV3 } from "../canonical.js";
|
|
3
|
-
import { adapterSignalSupportV3, adapterTurnWaitCountSupportV3 } from "../capabilities.js";
|
|
3
|
+
import { adapterSignalSupportV3, adapterTurnWaitCountSupportV3, } from "../capabilities.js";
|
|
4
4
|
import { eventIdV3 } from "../ids.js";
|
|
5
|
+
import { effectiveRuntimeTelemetryCapabilitiesV3, } from "../runtime-telemetry-capabilities.js";
|
|
5
6
|
import { exactToolInputFingerprintV3, extractTargetsV3 } from "../targets.js";
|
|
6
7
|
/** Normalize one already-parsed hook payload directly into V3Base without retaining its raw fields. */
|
|
7
8
|
export function normalizeHookEventV3Base(signal, payload, context) {
|
|
@@ -81,6 +82,8 @@ export function normalizeHookEventV3Base(signal, payload, context) {
|
|
|
81
82
|
confidence: "exact",
|
|
82
83
|
}
|
|
83
84
|
: { state: "expected_but_missing", capability: "model_identity", reason: "not_reported" },
|
|
85
|
+
tuning: tuningObservation(context, payload),
|
|
86
|
+
telemetry: context.runtime_telemetry ?? initialTelemetryCapabilities(context),
|
|
84
87
|
capability_profile: context.capability_profile,
|
|
85
88
|
declared_by_event_id: eventId,
|
|
86
89
|
};
|
|
@@ -372,6 +375,84 @@ function plainRecord(value) {
|
|
|
372
375
|
? value
|
|
373
376
|
: undefined;
|
|
374
377
|
}
|
|
378
|
+
/** Cursor encodes tuning in its parameterized model ids (…-high-fast). Other
|
|
379
|
+
* adapters do not, so absent tuning stays honest instead of being guessed. */
|
|
380
|
+
const MODEL_ID_EFFORT_TOKENS = new Set([
|
|
381
|
+
"none",
|
|
382
|
+
"minimal",
|
|
383
|
+
"low",
|
|
384
|
+
"medium",
|
|
385
|
+
"high",
|
|
386
|
+
"xhigh",
|
|
387
|
+
"max",
|
|
388
|
+
"ultra",
|
|
389
|
+
]);
|
|
390
|
+
function initialTelemetryCapabilities(context) {
|
|
391
|
+
return effectiveRuntimeTelemetryCapabilitiesV3({
|
|
392
|
+
adapter: context.adapter,
|
|
393
|
+
...(context.cursor_mode ? { cursor_mode: context.cursor_mode } : {}),
|
|
394
|
+
context: context.adapter === "cursor"
|
|
395
|
+
? { state: "unsupported" }
|
|
396
|
+
: { state: "partial", reason: "context_source_not_ready" },
|
|
397
|
+
canonical_turn_boundaries: adapterSignalSupportV3(context.adapter, "turn_completion") !== "unsupported",
|
|
398
|
+
});
|
|
399
|
+
}
|
|
400
|
+
/**
|
|
401
|
+
* Attest the runtime's tuning identity for one generation.
|
|
402
|
+
*
|
|
403
|
+
* Precedence: a recorder-read transcript observation, then the native payload
|
|
404
|
+
* field (CC stamps `effort.level` on tool hooks and Stop, never on
|
|
405
|
+
* SessionStart), then Cursor's model-id tokens. A payload/transcript source
|
|
406
|
+
* that was READ but carried no effort is proof the model has no dial —
|
|
407
|
+
* `unsupported` with capability `effort_selection` — while nothing-read-yet
|
|
408
|
+
* stays `expected_but_missing` so a later attestation can still land.
|
|
409
|
+
*/
|
|
410
|
+
function tuningObservation(context, payload) {
|
|
411
|
+
const read = context.runtime_tuning;
|
|
412
|
+
if (read) {
|
|
413
|
+
if (read.effort || read.speed) {
|
|
414
|
+
return {
|
|
415
|
+
state: "observed",
|
|
416
|
+
value: {
|
|
417
|
+
...(read.effort ? { effort: safeToken(read.effort, "unknown-effort") } : {}),
|
|
418
|
+
...(read.speed ? { speed: safeToken(read.speed, "unknown-speed") } : {}),
|
|
419
|
+
},
|
|
420
|
+
attestation: read.attestation,
|
|
421
|
+
confidence: "exact",
|
|
422
|
+
};
|
|
423
|
+
}
|
|
424
|
+
return { state: "unsupported", capability: "effort_selection" };
|
|
425
|
+
}
|
|
426
|
+
if (payload.effort) {
|
|
427
|
+
return {
|
|
428
|
+
state: "observed",
|
|
429
|
+
value: { effort: safeToken(payload.effort, "unknown-effort") },
|
|
430
|
+
attestation: "native",
|
|
431
|
+
confidence: "exact",
|
|
432
|
+
};
|
|
433
|
+
}
|
|
434
|
+
if (context.adapter === "cursor" && payload.model) {
|
|
435
|
+
const tokens = payload.model.toLowerCase().split("-");
|
|
436
|
+
let effort;
|
|
437
|
+
for (let index = tokens.length - 1; index >= 0; index -= 1) {
|
|
438
|
+
const token = tokens[index];
|
|
439
|
+
if (token && MODEL_ID_EFFORT_TOKENS.has(token)) {
|
|
440
|
+
effort = token;
|
|
441
|
+
break;
|
|
442
|
+
}
|
|
443
|
+
}
|
|
444
|
+
const speed = tokens.includes("fast") ? "fast" : undefined;
|
|
445
|
+
if (effort || speed) {
|
|
446
|
+
return {
|
|
447
|
+
state: "observed",
|
|
448
|
+
value: { ...(effort ? { effort } : {}), ...(speed ? { speed } : {}) },
|
|
449
|
+
attestation: "derived",
|
|
450
|
+
confidence: "high",
|
|
451
|
+
};
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
return { state: "expected_but_missing", capability: "effort_selection", reason: "not_reported" };
|
|
455
|
+
}
|
|
375
456
|
function observedIdentity(id, version) {
|
|
376
457
|
return {
|
|
377
458
|
state: "observed",
|
|
@@ -37,6 +37,12 @@ export interface HookIntakeRecordV3 {
|
|
|
37
37
|
hook_duration_ms?: number;
|
|
38
38
|
stop_remediation?: boolean;
|
|
39
39
|
turn_ritual?: TurnRitualEvidenceV3;
|
|
40
|
+
delegated_child?: {
|
|
41
|
+
generation_id: `gen_${string}`;
|
|
42
|
+
parent_generation_id: `gen_${string}`;
|
|
43
|
+
delegation_id: `del_${string}`;
|
|
44
|
+
caused_by_event_id: `evt_${string}`;
|
|
45
|
+
};
|
|
40
46
|
}
|
|
41
47
|
export interface HookIntakeGroupV3 {
|
|
42
48
|
adapter: Adapter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intake.d.ts","sourceRoot":"","sources":["../../../../../src/core/events/v3/producers/intake.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAErE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAE3D;;;;;;;;;;;GAWG;AAEH,QAAA,MAAM,aAAa,EAAG,wBAAiC,CAAC;AACxD,QAAA,MAAM,cAAc,EAAG,CAAU,CAAC;AAwClC,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,OAAO,aAAa,CAAC;IAC7B,cAAc,EAAE,OAAO,cAAc,CAAC;IACtC,IAAI,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,aAAa,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,QAAQ,MAAM,EAAE,CAAC;IAC9B,WAAW,EAAE,OAAO,MAAM,EAAE,CAAC;IAC7B,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;IACpD,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,WAAW,CAAC,EAAE,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"intake.d.ts","sourceRoot":"","sources":["../../../../../src/core/events/v3/producers/intake.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAErE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAE3D;;;;;;;;;;;GAWG;AAEH,QAAA,MAAM,aAAa,EAAG,wBAAiC,CAAC;AACxD,QAAA,MAAM,cAAc,EAAG,CAAU,CAAC;AAwClC,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,OAAO,aAAa,CAAC;IAC7B,cAAc,EAAE,OAAO,cAAc,CAAC;IACtC,IAAI,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,aAAa,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,QAAQ,MAAM,EAAE,CAAC;IAC9B,WAAW,EAAE,OAAO,MAAM,EAAE,CAAC;IAC7B,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;IACpD,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,WAAW,CAAC,EAAE,oBAAoB,CAAC;IACnC,eAAe,CAAC,EAAE;QAChB,aAAa,EAAE,OAAO,MAAM,EAAE,CAAC;QAC/B,oBAAoB,EAAE,OAAO,MAAM,EAAE,CAAC;QACtC,aAAa,EAAE,OAAO,MAAM,EAAE,CAAC;QAC/B,kBAAkB,EAAE,OAAO,MAAM,EAAE,CAAC;KACrC,CAAC;CACH;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,OAAO,MAAM,EAAE,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,uEAAuE;IACvE,MAAM,EAAE,kBAAkB,GAAG,SAAS,CAAC;CACxC;AAUD,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,OAAO,MAAM,EAAE,GAC3B,MAAM,CAER;AA+BD,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,OAAO,MAAM,EAAE,EAC5B,MAAM,EAAE,kBAAkB,GACzB,MAAM,CAOR;AAED,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAsB7E;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAc9E;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAGvD;AAkED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,MAAM,GAAG,SAAS,CAiBpB"}
|
|
@@ -179,11 +179,22 @@ function readIntakeRecord(path) {
|
|
|
179
179
|
(record.hook_duration_ms !== undefined &&
|
|
180
180
|
(!Number.isSafeInteger(record.hook_duration_ms) || record.hook_duration_ms < 0)) ||
|
|
181
181
|
(record.stop_remediation !== undefined && typeof record.stop_remediation !== "boolean") ||
|
|
182
|
+
!validDelegatedChild(record.delegated_child) ||
|
|
182
183
|
!validTurnRitual(record.turn_ritual)) {
|
|
183
184
|
return undefined;
|
|
184
185
|
}
|
|
185
186
|
return record;
|
|
186
187
|
}
|
|
188
|
+
function validDelegatedChild(value) {
|
|
189
|
+
if (value === undefined)
|
|
190
|
+
return true;
|
|
191
|
+
if (!value || typeof value !== "object" || Array.isArray(value))
|
|
192
|
+
return false;
|
|
193
|
+
return (/^gen_[0-9a-f-]{36}$/.test(value.generation_id) &&
|
|
194
|
+
/^gen_[0-9a-f-]{36}$/.test(value.parent_generation_id) &&
|
|
195
|
+
/^del_[0-9a-f-]{36}$/.test(value.delegation_id) &&
|
|
196
|
+
/^evt_[0-9a-f-]{36}$/.test(value.caused_by_event_id));
|
|
197
|
+
}
|
|
187
198
|
function validTurnRitual(value) {
|
|
188
199
|
if (value === undefined)
|
|
189
200
|
return true;
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import type { Adapter } from "../../../adapter.js";
|
|
2
2
|
import { type ParsedPayload } from "../../../hooks/adapter/parse.js";
|
|
3
|
+
import { type RuntimeTelemetryOptions } from "../../../hooks/adapter/runtime-telemetry.js";
|
|
4
|
+
import type { RuntimeAttestationV3Base } from "../base-contract.js";
|
|
3
5
|
import { type CursorExecutionModeV3 } from "../capabilities.js";
|
|
4
6
|
import type { EventV3 } from "../contract.js";
|
|
5
7
|
import { type EventV3WriteMode } from "../control.js";
|
|
8
|
+
import { type RuntimeTelemetryCapabilitiesV3 } from "../runtime-telemetry-capabilities.js";
|
|
6
9
|
import { type OpenSpanStateV3 } from "../span-state.js";
|
|
7
10
|
import { type WriteEventV3Options, type WriteEventV3Result } from "../writer.js";
|
|
8
11
|
import { type HookSignalV3 } from "./hook.js";
|
|
@@ -40,6 +43,21 @@ interface PendingEventV3 {
|
|
|
40
43
|
source_id?: `hid_${string}`;
|
|
41
44
|
event: EventV3;
|
|
42
45
|
}
|
|
46
|
+
interface TurnContextTargetV3 {
|
|
47
|
+
terminal_event_id: `evt_${string}`;
|
|
48
|
+
terminal_observed_at: string;
|
|
49
|
+
turn_id: `tid_${string}`;
|
|
50
|
+
run_id?: `run_${string}`;
|
|
51
|
+
workflow_id?: `wf_${string}`;
|
|
52
|
+
workflow_agent_id?: string;
|
|
53
|
+
}
|
|
54
|
+
interface PendingRuntimeContextV3 extends TurnContextTargetV3 {
|
|
55
|
+
native_session_id: string;
|
|
56
|
+
native_turn_id: string;
|
|
57
|
+
transcript_path?: string;
|
|
58
|
+
runtime_version?: string;
|
|
59
|
+
attempts: number;
|
|
60
|
+
}
|
|
43
61
|
interface DelegationStateV3 extends OpenSpanStateV3 {
|
|
44
62
|
source_id: `hid_${string}`;
|
|
45
63
|
delegation_id: `del_${string}`;
|
|
@@ -61,6 +79,8 @@ export interface HookProducerStateV3 {
|
|
|
61
79
|
clock_id: `clk_${string}`;
|
|
62
80
|
next_sequence: number;
|
|
63
81
|
current_turn_id?: `tid_${string}`;
|
|
82
|
+
/** Native turn identity retained owner-only for transcript attribution. */
|
|
83
|
+
current_native_turn_id?: string;
|
|
64
84
|
tool_call_count: number;
|
|
65
85
|
tool_call_count_turn_id?: `tid_${string}`;
|
|
66
86
|
last_event_id?: `evt_${string}`;
|
|
@@ -78,6 +98,31 @@ export interface HookProducerStateV3 {
|
|
|
78
98
|
turn_harness: TurnHarnessTimingV3;
|
|
79
99
|
turn_ordinal: number;
|
|
80
100
|
pending?: PendingEventV3;
|
|
101
|
+
pending_runtime_contexts?: PendingRuntimeContextV3[];
|
|
102
|
+
/** Verified adapter-native transcript path retained only in owner-only state. */
|
|
103
|
+
runtime_transcript_path?: string;
|
|
104
|
+
/** Tuning carried by the current attestation; {} means attested-none.
|
|
105
|
+
* Absent on pre-upgrade state files, which seed silently on first sight. */
|
|
106
|
+
last_attested_tuning?: {
|
|
107
|
+
effort?: string;
|
|
108
|
+
speed?: string;
|
|
109
|
+
};
|
|
110
|
+
/** Model observation carried forward into a refreshed attestation when the
|
|
111
|
+
* change-time transcript read does not pair a model with the new tuning. */
|
|
112
|
+
last_attested_model?: {
|
|
113
|
+
provider: string;
|
|
114
|
+
id: string;
|
|
115
|
+
};
|
|
116
|
+
/** Telemetry evidence carried forward verbatim: a tuning change does not
|
|
117
|
+
* alter what telemetry the runtime proved it can deliver. */
|
|
118
|
+
last_attested_telemetry?: RuntimeTelemetryCapabilitiesV3;
|
|
119
|
+
/** Full observations preserve missing and unsupported states when a
|
|
120
|
+
* different attestation channel changes. */
|
|
121
|
+
last_attested_model_observation?: RuntimeAttestationV3Base["model"];
|
|
122
|
+
last_attested_tuning_observation?: RuntimeAttestationV3Base["tuning"];
|
|
123
|
+
/** Turn already probed for Codex tuning while effort is unknown; bounds the
|
|
124
|
+
* rollout forward-scan to one attempt per turn. */
|
|
125
|
+
tuning_probe_turn_id?: `tid_${string}`;
|
|
81
126
|
}
|
|
82
127
|
export interface RecordHookSignalV3Input {
|
|
83
128
|
coordRoot: string;
|
|
@@ -102,6 +147,14 @@ export interface RecordHookSignalV3Input {
|
|
|
102
147
|
stop_remediation?: boolean;
|
|
103
148
|
turn_ritual?: TurnRitualEvidenceV3;
|
|
104
149
|
session_start_derivation?: "approved_lifecycle_reopen";
|
|
150
|
+
delegated_child?: {
|
|
151
|
+
generation_id: `gen_${string}`;
|
|
152
|
+
parent_generation_id: `gen_${string}`;
|
|
153
|
+
delegation_id: `del_${string}`;
|
|
154
|
+
caused_by_event_id: `evt_${string}`;
|
|
155
|
+
};
|
|
156
|
+
/** Optional roots and read budgets for runtime telemetry adapters. */
|
|
157
|
+
runtimeTelemetryOptions?: RuntimeTelemetryOptions;
|
|
105
158
|
writerOptions?: WriteEventV3Options;
|
|
106
159
|
}
|
|
107
160
|
export type RecordHookSignalV3Result = {
|
|
@@ -236,5 +289,14 @@ export declare function readHookProducerStateV3(coordRoot: string, adapter: Adap
|
|
|
236
289
|
/** Resolve one terminal producer only when native session and instance identity agree. */
|
|
237
290
|
export declare function readTerminalHookProducerStateV3(coordRoot: string, nativeSessionId: string, instanceId: `inst_${string}`): HookProducerStateV3 | undefined;
|
|
238
291
|
export declare function readHookProducerStateByInstanceV3(coordRoot: string, instanceId: `inst_${string}`): HookProducerStateV3 | undefined;
|
|
292
|
+
/**
|
|
293
|
+
* Join a coordination actor to its hook producer.
|
|
294
|
+
*
|
|
295
|
+
* Native subagent commands can retain the parent's session id even after the
|
|
296
|
+
* child has its own canonical generation. Prefer the native session join, but
|
|
297
|
+
* when that points at a different instance accept only one exact live
|
|
298
|
+
* instance match for the same adapter.
|
|
299
|
+
*/
|
|
300
|
+
export declare function readJoinableHookProducerStateV3(coordRoot: string, adapter: Adapter, nativeSessionId: string, instanceId: `inst_${string}`): HookProducerStateV3 | undefined;
|
|
239
301
|
export {};
|
|
240
302
|
//# sourceMappingURL=recorder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recorder.d.ts","sourceRoot":"","sources":["../../../../../src/core/events/v3/producers/recorder.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAsB,KAAK,aAAa,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"recorder.d.ts","sourceRoot":"","sources":["../../../../../src/core/events/v3/producers/recorder.ts"],"names":[],"mappings":"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"}
|