harnery 0.34.0 → 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 +91 -162
- 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 +2 -1
- package/dist/core/agents/session-name-display.d.ts.map +1 -1
- package/dist/core/agents/session-name-display.js +10 -3
- 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 +114 -38
- 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 +35 -17
- 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 +104 -152
- 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 +11 -3
- 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 +126 -41
- package/src/core/hooks/remediation-cap.ts +77 -0
- package/src/core/hooks/resolve/transcript.ts +49 -17
- 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
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { Adapter } from "../../adapter.js";
|
|
2
|
+
import { type CapabilitySupportV3, type CursorExecutionModeV3 } from "./capabilities.js";
|
|
3
|
+
export type RuntimeTelemetryChannelV3 = "context_usage" | "wait_spans" | "wait_completeness" | "response_latency" | "inference_timing";
|
|
4
|
+
export type RuntimeTelemetryCompletenessV3 = "exact" | "lower_bound" | "unknown";
|
|
5
|
+
export interface RuntimeTelemetryCapabilityValueV3 {
|
|
6
|
+
support: Exclude<CapabilitySupportV3, "unsupported">;
|
|
7
|
+
source: string;
|
|
8
|
+
completeness: RuntimeTelemetryCompletenessV3;
|
|
9
|
+
}
|
|
10
|
+
export type RuntimeTelemetryCapabilityObservationV3 = {
|
|
11
|
+
state: "observed";
|
|
12
|
+
value: RuntimeTelemetryCapabilityValueV3;
|
|
13
|
+
attestation: "native" | "derived";
|
|
14
|
+
confidence: "exact" | "high";
|
|
15
|
+
} | {
|
|
16
|
+
state: "expected_but_missing";
|
|
17
|
+
capability: string;
|
|
18
|
+
reason: string;
|
|
19
|
+
} | {
|
|
20
|
+
state: "unsupported";
|
|
21
|
+
capability: string;
|
|
22
|
+
};
|
|
23
|
+
export type RuntimeContextCapabilityEvidenceV3 = {
|
|
24
|
+
state: "observed";
|
|
25
|
+
source: string;
|
|
26
|
+
attestation: "native" | "derived";
|
|
27
|
+
confidence: "exact" | "high";
|
|
28
|
+
} | {
|
|
29
|
+
state: "partial";
|
|
30
|
+
reason: string;
|
|
31
|
+
} | {
|
|
32
|
+
state: "unsupported";
|
|
33
|
+
};
|
|
34
|
+
export interface RuntimeTelemetryCapabilityEvidenceV3 {
|
|
35
|
+
adapter: Adapter;
|
|
36
|
+
cursor_mode?: CursorExecutionModeV3;
|
|
37
|
+
context: RuntimeContextCapabilityEvidenceV3;
|
|
38
|
+
canonical_turn_boundaries: boolean;
|
|
39
|
+
independent_wait_completeness?: boolean;
|
|
40
|
+
}
|
|
41
|
+
export type RuntimeTelemetryCapabilitiesV3 = Record<RuntimeTelemetryChannelV3, RuntimeTelemetryCapabilityObservationV3>;
|
|
42
|
+
/**
|
|
43
|
+
* Resolve the telemetry support that one runtime session can actually prove.
|
|
44
|
+
*
|
|
45
|
+
* This is deliberately separate from AdapterCapabilityProfileV3. The static
|
|
46
|
+
* profile gates the event contract; this projection describes effective
|
|
47
|
+
* session evidence without moving a genesis-approved digest when a local
|
|
48
|
+
* source is missing, late, or unreadable.
|
|
49
|
+
*/
|
|
50
|
+
export declare function effectiveRuntimeTelemetryCapabilitiesV3(evidence: RuntimeTelemetryCapabilityEvidenceV3): RuntimeTelemetryCapabilitiesV3;
|
|
51
|
+
//# sourceMappingURL=runtime-telemetry-capabilities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-telemetry-capabilities.d.ts","sourceRoot":"","sources":["../../../../src/core/events/v3/runtime-telemetry-capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC3B,MAAM,mBAAmB,CAAC;AAE3B,MAAM,MAAM,yBAAyB,GACjC,eAAe,GACf,YAAY,GACZ,mBAAmB,GACnB,kBAAkB,GAClB,kBAAkB,CAAC;AAEvB,MAAM,MAAM,8BAA8B,GAAG,OAAO,GAAG,aAAa,GAAG,SAAS,CAAC;AAEjF,MAAM,WAAW,iCAAiC;IAChD,OAAO,EAAE,OAAO,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC;IACrD,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,8BAA8B,CAAC;CAC9C;AAED,MAAM,MAAM,uCAAuC,GAC/C;IACE,KAAK,EAAE,UAAU,CAAC;IAClB,KAAK,EAAE,iCAAiC,CAAC;IACzC,WAAW,EAAE,QAAQ,GAAG,SAAS,CAAC;IAClC,UAAU,EAAE,OAAO,GAAG,MAAM,CAAC;CAC9B,GACD;IAAE,KAAK,EAAE,sBAAsB,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACrE;IAAE,KAAK,EAAE,aAAa,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjD,MAAM,MAAM,kCAAkC,GAC1C;IACE,KAAK,EAAE,UAAU,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,QAAQ,GAAG,SAAS,CAAC;IAClC,UAAU,EAAE,OAAO,GAAG,MAAM,CAAC;CAC9B,GACD;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,KAAK,EAAE,aAAa,CAAA;CAAE,CAAC;AAE7B,MAAM,WAAW,oCAAoC;IACnD,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,qBAAqB,CAAC;IACpC,OAAO,EAAE,kCAAkC,CAAC;IAC5C,yBAAyB,EAAE,OAAO,CAAC;IACnC,6BAA6B,CAAC,EAAE,OAAO,CAAC;CACzC;AAED,MAAM,MAAM,8BAA8B,GAAG,MAAM,CACjD,yBAAyB,EACzB,uCAAuC,CACxC,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,uCAAuC,CACrD,QAAQ,EAAE,oCAAoC,GAC7C,8BAA8B,CAYhC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { adapterSignalSupportV3, } from "./capabilities.js";
|
|
2
|
+
/**
|
|
3
|
+
* Resolve the telemetry support that one runtime session can actually prove.
|
|
4
|
+
*
|
|
5
|
+
* This is deliberately separate from AdapterCapabilityProfileV3. The static
|
|
6
|
+
* profile gates the event contract; this projection describes effective
|
|
7
|
+
* session evidence without moving a genesis-approved digest when a local
|
|
8
|
+
* source is missing, late, or unreadable.
|
|
9
|
+
*/
|
|
10
|
+
export function effectiveRuntimeTelemetryCapabilitiesV3(evidence) {
|
|
11
|
+
return {
|
|
12
|
+
context_usage: contextCapability(evidence.context),
|
|
13
|
+
wait_spans: waitSpanCapability(evidence.adapter, evidence.cursor_mode),
|
|
14
|
+
wait_completeness: evidence.independent_wait_completeness
|
|
15
|
+
? observed("native", "runtime.wait_aggregate", "exact", "native", "exact")
|
|
16
|
+
: unsupported("wait_turn_completeness"),
|
|
17
|
+
response_latency: evidence.canonical_turn_boundaries
|
|
18
|
+
? observed("derived", "canonical.event_clocks", "exact", "derived", "exact")
|
|
19
|
+
: missing("response_latency", "turn_boundaries_not_delivered"),
|
|
20
|
+
inference_timing: unsupported("provider_inference_timing"),
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
function contextCapability(evidence) {
|
|
24
|
+
if (evidence.state === "observed") {
|
|
25
|
+
return observed(evidence.attestation === "native" ? "native" : "derived", evidence.source, "exact", evidence.attestation, evidence.confidence);
|
|
26
|
+
}
|
|
27
|
+
if (evidence.state === "partial") {
|
|
28
|
+
return missing("context_usage", evidence.reason);
|
|
29
|
+
}
|
|
30
|
+
return unsupported("context_usage");
|
|
31
|
+
}
|
|
32
|
+
function waitSpanCapability(adapter, cursorMode) {
|
|
33
|
+
if (adapter === "cursor" && cursorMode === "cloud") {
|
|
34
|
+
return unsupported("wait_span_delivery");
|
|
35
|
+
}
|
|
36
|
+
const support = adapterSignalSupportV3(adapter, "permission");
|
|
37
|
+
if (support === "unsupported")
|
|
38
|
+
return unsupported("wait_span_delivery");
|
|
39
|
+
return observed(support, adapter === "cursor" ? "cursor.permission_hooks" : `${adapter}.permission_hooks`, "lower_bound", support === "native" ? "native" : "derived", support === "native" ? "exact" : "high");
|
|
40
|
+
}
|
|
41
|
+
function observed(support, source, completeness, attestation, confidence) {
|
|
42
|
+
return {
|
|
43
|
+
state: "observed",
|
|
44
|
+
value: { support, source, completeness },
|
|
45
|
+
attestation,
|
|
46
|
+
confidence,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
function missing(capability, reason) {
|
|
50
|
+
return { state: "expected_but_missing", capability, reason };
|
|
51
|
+
}
|
|
52
|
+
function unsupported(capability) {
|
|
53
|
+
return { state: "unsupported", capability };
|
|
54
|
+
}
|
|
@@ -25,6 +25,15 @@ export interface TurnTelemetryV3 {
|
|
|
25
25
|
usage: TelemetryObservationV3<TurnUsageV3>;
|
|
26
26
|
inference: TelemetryObservationV3<TurnInferenceV3>;
|
|
27
27
|
context: TelemetryObservationV3<ContextMeasurementV3>;
|
|
28
|
+
/** Private producer metadata; the context event persists only its safe fields. */
|
|
29
|
+
context_provenance?: ContextTelemetryProvenanceV3;
|
|
30
|
+
}
|
|
31
|
+
export interface ContextTelemetryProvenanceV3 {
|
|
32
|
+
source_event: string;
|
|
33
|
+
source_witness?: string;
|
|
34
|
+
runtime_version?: string;
|
|
35
|
+
attestation: "native" | "derived";
|
|
36
|
+
confidence: "exact" | "high";
|
|
28
37
|
}
|
|
29
38
|
export type TurnTelemetryCapabilitySupportV3 = Partial<Pick<Record<AdapterSignalV3, CapabilitySupportV3>, "model_usage" | "inference_timing" | "context_usage">>;
|
|
30
39
|
export interface HarnessTimingAccumulatorV3 {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turn-telemetry.d.ts","sourceRoot":"","sources":["../../../../src/core/events/v3/turn-telemetry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EACL,KAAK,eAAe,EAEpB,KAAK,mBAAmB,EACzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjF,MAAM,MAAM,sBAAsB,CAAC,CAAC,IAChC;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,CAAC,CAAC;IAAC,WAAW,EAAE,QAAQ,GAAG,SAAS,CAAC;IAAC,UAAU,EAAE,OAAO,GAAG,MAAM,CAAA;CAAE,GAChG;IAAE,KAAK,EAAE,aAAa,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAC5C;IAAE,KAAK,EAAE,sBAAsB,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1E,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,sBAAsB,CAAC,WAAW,CAAC,CAAC;IAC3C,SAAS,EAAE,sBAAsB,CAAC,eAAe,CAAC,CAAC;IACnD,OAAO,EAAE,sBAAsB,CAAC,oBAAoB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"turn-telemetry.d.ts","sourceRoot":"","sources":["../../../../src/core/events/v3/turn-telemetry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EACL,KAAK,eAAe,EAEpB,KAAK,mBAAmB,EACzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjF,MAAM,MAAM,sBAAsB,CAAC,CAAC,IAChC;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,CAAC,CAAC;IAAC,WAAW,EAAE,QAAQ,GAAG,SAAS,CAAC;IAAC,UAAU,EAAE,OAAO,GAAG,MAAM,CAAA;CAAE,GAChG;IAAE,KAAK,EAAE,aAAa,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAC5C;IAAE,KAAK,EAAE,sBAAsB,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1E,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,sBAAsB,CAAC,WAAW,CAAC,CAAC;IAC3C,SAAS,EAAE,sBAAsB,CAAC,eAAe,CAAC,CAAC;IACnD,OAAO,EAAE,sBAAsB,CAAC,oBAAoB,CAAC,CAAC;IACtD,kFAAkF;IAClF,kBAAkB,CAAC,EAAE,4BAA4B,CAAC;CACnD;AAED,MAAM,WAAW,4BAA4B;IAC3C,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,QAAQ,GAAG,SAAS,CAAC;IAClC,UAAU,EAAE,OAAO,GAAG,MAAM,CAAC;CAC9B;AAED,MAAM,MAAM,gCAAgC,GAAG,OAAO,CACpD,IAAI,CACF,MAAM,CAAC,eAAe,EAAE,mBAAmB,CAAC,EAC5C,aAAa,GAAG,kBAAkB,GAAG,eAAe,CACrD,CACF,CAAC;AAEF,MAAM,WAAW,0BAA0B;IACzC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,2EAA2E;AAC3E,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,UAAU,SAA2B,EACrC,OAAO,GAAE,gCAAqC,GAC7C,eAAe,CAgFjB;AAwCD,wBAAgB,oBAAoB,IAAI,0BAA0B,CAEjE;AAED,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,0BAA0B,EACvC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,GACjB,0BAA0B,CAU5B;AAED,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,0BAA0B,GACtC,sBAAsB,CAAC,aAAa,CAAC,CAsBvC"}
|
|
@@ -23,6 +23,9 @@ export interface ParsedPayload {
|
|
|
23
23
|
cwd?: string;
|
|
24
24
|
pid?: number;
|
|
25
25
|
model?: string;
|
|
26
|
+
/** CC stamps the effective effort level ({level}) on tool hooks and Stop;
|
|
27
|
+
* absent on SessionStart/UserPromptSubmit and on models with no dial. */
|
|
28
|
+
effort?: string;
|
|
26
29
|
source?: string;
|
|
27
30
|
prompt?: string;
|
|
28
31
|
agent_message?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../../src/core/hooks/adapter/parse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEhD,MAAM,WAAW,aAAa;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qFAAqF;IACrF,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;IAC5C,uFAAuF;IACvF,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC9B;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,aAAa,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../../src/core/hooks/adapter/parse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEhD,MAAM,WAAW,aAAa;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;6EACyE;IACzE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qFAAqF;IACrF,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;IAC5C,uFAAuF;IACvF,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC9B;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,aAAa,GAAG,IAAI,CA6DhF;AAkDD;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,SAAS,EAAE,OAAO,GACjB,MAAM,GAAG,SAAS,CASpB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAO7E;AAmBD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,GAChB;IAAE,UAAU,EAAE,mBAAmB,CAAC;IAAC,UAAU,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAgCjE;AAED,MAAM,MAAM,mBAAmB,GAC3B,iBAAiB,GACjB,eAAe,GACf,cAAc,GACd,gBAAgB,GAChB,eAAe,GACf,iBAAiB,GACjB,gBAAgB,GAChB,cAAc,GACd,gBAAgB,GAChB,4BAA4B,GAC5B,8BAA8B,CAAC"}
|
|
@@ -57,6 +57,7 @@ export function parsePayload(raw, adapter) {
|
|
|
57
57
|
cwd: pickStr(json, "cwd"),
|
|
58
58
|
pid: pickNum(json, "pid"),
|
|
59
59
|
model: pickStr(json, "model"),
|
|
60
|
+
effort: pickEffortLevel(json),
|
|
60
61
|
source: pickStr(json, "source"),
|
|
61
62
|
prompt: pickStr(json, "prompt"),
|
|
62
63
|
agent_message: pickStr(json, "agent_message"),
|
|
@@ -72,6 +73,19 @@ export function parsePayload(raw, adapter) {
|
|
|
72
73
|
raw: normalizedRaw,
|
|
73
74
|
};
|
|
74
75
|
}
|
|
76
|
+
/** CC sends `effort` as an object ({"level":"high"}); tolerate a bare string
|
|
77
|
+
* in case an adapter flattens it. */
|
|
78
|
+
function pickEffortLevel(json) {
|
|
79
|
+
const effort = json.effort;
|
|
80
|
+
if (typeof effort === "string" && effort.length > 0)
|
|
81
|
+
return effort;
|
|
82
|
+
if (typeof effort === "object" && effort !== null && !Array.isArray(effort)) {
|
|
83
|
+
const level = effort.level;
|
|
84
|
+
if (typeof level === "string" && level.length > 0)
|
|
85
|
+
return level;
|
|
86
|
+
}
|
|
87
|
+
return undefined;
|
|
88
|
+
}
|
|
75
89
|
/**
|
|
76
90
|
* Cursor prefixes cloud/private-worker conversations with `bc-`. Current
|
|
77
91
|
* sessionStart payloads also expose `is_background_agent`; either native
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import type { Adapter } from "../../adapter.js";
|
|
2
|
+
export type RuntimeContextTelemetry = {
|
|
3
|
+
state: "observed";
|
|
4
|
+
used_tokens: number;
|
|
5
|
+
limit_tokens: number;
|
|
6
|
+
measured_at: string;
|
|
7
|
+
method: "codex_transcript_token_count";
|
|
8
|
+
source_event: string;
|
|
9
|
+
source_witness: string;
|
|
10
|
+
runtime_version?: string;
|
|
11
|
+
bytes_read: number;
|
|
12
|
+
io_duration_ms: number;
|
|
13
|
+
} | {
|
|
14
|
+
state: "partial";
|
|
15
|
+
reason: RuntimeContextMissingReason;
|
|
16
|
+
used_tokens?: number;
|
|
17
|
+
measured_at?: string;
|
|
18
|
+
bytes_read: number;
|
|
19
|
+
io_duration_ms: number;
|
|
20
|
+
} | {
|
|
21
|
+
state: "unsupported";
|
|
22
|
+
reason: RuntimeContextUnsupportedReason;
|
|
23
|
+
bytes_read: 0;
|
|
24
|
+
io_duration_ms: number;
|
|
25
|
+
};
|
|
26
|
+
export type RuntimeContextMissingReason = "codex_transcript_ambiguous" | "codex_transcript_session_mismatch" | "codex_transcript_unreadable" | "codex_transcript_turn_not_found" | "codex_transcript_turn_not_terminal" | "codex_transcript_token_count_missing" | "codex_transcript_sample_stale" | "context_used_tokens_not_reported" | "context_limit_tokens_not_reported" | "context_limit_tokens_invalid" | "claude_context_limit_tokens_not_reported" | "claude_transcript_session_mismatch" | "claude_transcript_turn_not_found" | "claude_transcript_unreadable";
|
|
27
|
+
export type RuntimeContextUnsupportedReason = "runtime_context_telemetry_unavailable" | "runtime_session_id_not_reported" | "runtime_turn_id_not_reported" | "runtime_adapter_not_supported";
|
|
28
|
+
export interface RuntimeContextRequest {
|
|
29
|
+
adapter: Adapter;
|
|
30
|
+
session_id?: string;
|
|
31
|
+
turn_id?: string;
|
|
32
|
+
transcript_path?: string;
|
|
33
|
+
/** Status callers may request the newest session sample without claiming turn attribution. */
|
|
34
|
+
mode: "turn" | "status";
|
|
35
|
+
}
|
|
36
|
+
export interface RuntimeTelemetryOptions {
|
|
37
|
+
codexRoots?: string[];
|
|
38
|
+
maxTailBytes?: number;
|
|
39
|
+
maxSampleAgeMs?: number;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Read privacy-safe context telemetry from a local runtime transcript.
|
|
43
|
+
*
|
|
44
|
+
* The returned union contains only numeric measurements, timestamps, bounded
|
|
45
|
+
* I/O counters, and a privacy-safe witness. Transcript bodies and paths never
|
|
46
|
+
* cross this interface.
|
|
47
|
+
*/
|
|
48
|
+
export declare function readRuntimeContextTelemetry(request: RuntimeContextRequest, options?: RuntimeTelemetryOptions): RuntimeContextTelemetry;
|
|
49
|
+
/**
|
|
50
|
+
* Locate a Codex rollout transcript for a session when the hook payload
|
|
51
|
+
* carries no transcript_path. Codex omits the path on its hook events, which
|
|
52
|
+
* leaves transcript-backed evidence unavailable unless Harnery resolves the
|
|
53
|
+
* rollout itself. Discovery reuses the telemetry scanner's roots (native
|
|
54
|
+
* ~/.codex plus WSL-mounted Windows homes) and its process cache, and returns
|
|
55
|
+
* undefined on zero or ambiguous matches.
|
|
56
|
+
*
|
|
57
|
+
* Callers on repeated hook paths must retain the verified result in their
|
|
58
|
+
* owner-only session state. The process cache bounds repeated reads inside one
|
|
59
|
+
* process, but hook processes are intentionally short-lived.
|
|
60
|
+
*/
|
|
61
|
+
export declare function discoverCodexSessionTranscript(sessionId: string | undefined, transcriptPath?: string, options?: RuntimeTelemetryOptions): string | undefined;
|
|
62
|
+
/** Status compatibility wrapper: exact pairs render; partial values do not. */
|
|
63
|
+
export declare function readRuntimeContextUsage(adapter: Adapter, sessionId: string, options?: RuntimeTelemetryOptions): {
|
|
64
|
+
used: number;
|
|
65
|
+
window: number;
|
|
66
|
+
} | null;
|
|
67
|
+
export declare function clearRuntimeTelemetryCachesForTest(): void;
|
|
68
|
+
export type RuntimeTuningMissingReason = "codex_transcript_ambiguous" | "codex_transcript_session_mismatch" | "codex_transcript_unreadable" | "codex_transcript_turn_context_missing" | "claude_transcript_unreadable" | "claude_transcript_assistant_row_missing";
|
|
69
|
+
/**
|
|
70
|
+
* Privacy-safe tuning identity read from a local runtime transcript.
|
|
71
|
+
*
|
|
72
|
+
* `observed` means the newest identity-bearing row was read: a Codex
|
|
73
|
+
* `turn_context` row or a CC assistant row with a real model id. An observed
|
|
74
|
+
* result with NO `effort` is itself evidence — CC omits the field exactly when
|
|
75
|
+
* the model has no effort dial — so callers must distinguish it from
|
|
76
|
+
* `partial`/`unsupported`, where nothing was established.
|
|
77
|
+
*/
|
|
78
|
+
export type RuntimeTuningTelemetry = {
|
|
79
|
+
state: "observed";
|
|
80
|
+
model?: string;
|
|
81
|
+
effort?: string;
|
|
82
|
+
speed?: string;
|
|
83
|
+
measured_at?: string;
|
|
84
|
+
method: "codex_transcript_turn_context" | "claude_transcript_assistant_row";
|
|
85
|
+
source_event: string;
|
|
86
|
+
bytes_read: number;
|
|
87
|
+
io_duration_ms: number;
|
|
88
|
+
} | {
|
|
89
|
+
state: "partial";
|
|
90
|
+
reason: RuntimeTuningMissingReason;
|
|
91
|
+
bytes_read: number;
|
|
92
|
+
io_duration_ms: number;
|
|
93
|
+
} | {
|
|
94
|
+
state: "unsupported";
|
|
95
|
+
reason: RuntimeContextUnsupportedReason;
|
|
96
|
+
bytes_read: 0;
|
|
97
|
+
io_duration_ms: number;
|
|
98
|
+
};
|
|
99
|
+
export interface RuntimeTuningRequest {
|
|
100
|
+
adapter: Adapter;
|
|
101
|
+
session_id?: string;
|
|
102
|
+
transcript_path?: string;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Read the newest observed tuning (effort, and speed where reported) for a
|
|
106
|
+
* session from its local runtime transcript.
|
|
107
|
+
*
|
|
108
|
+
* Codex: the newest `turn_context` row carries the EFFECTIVE per-turn effort,
|
|
109
|
+
* including `-c model_reasoning_effort` overrides (the config default is
|
|
110
|
+
* deliberately not consulted — it is the default, not the effective value).
|
|
111
|
+
* CC: the newest assistant row carries effort at the row's top level and
|
|
112
|
+
* speed inside `message.usage`; model, effort, and speed are read from the
|
|
113
|
+
* SAME row so a mid-session model swap cannot blend two rows' values.
|
|
114
|
+
*
|
|
115
|
+
* Same bounded tail-read and privacy posture as `readRuntimeContextTelemetry`:
|
|
116
|
+
* only tokens, timestamps, and I/O counters cross this interface.
|
|
117
|
+
*/
|
|
118
|
+
export declare function readRuntimeTuning(request: RuntimeTuningRequest, options?: RuntimeTelemetryOptions): RuntimeTuningTelemetry;
|
|
119
|
+
//# sourceMappingURL=runtime-telemetry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-telemetry.d.ts","sourceRoot":"","sources":["../../../../src/core/hooks/adapter/runtime-telemetry.ts"],"names":[],"mappings":"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"}
|