@zihanw/pi-forge 0.5.4 → 0.5.6
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/CHANGELOG.md +83 -0
- package/README.md +67 -103
- package/README.zh-CN.md +67 -95
- package/assets/pi-forge-header-concept-1.png +0 -0
- package/assets/readme/PROVENANCE.md +95 -0
- package/assets/readme/en/capability-tools.gif +0 -0
- package/assets/readme/en/context-composition.gif +0 -0
- package/assets/readme/en/context-toggle.gif +0 -0
- package/assets/readme/en/draft-diff.png +0 -0
- package/assets/readme/en/edit-draft-diff.gif +0 -0
- package/assets/readme/en/editor-overview-v3.png +0 -0
- package/assets/readme/en/editor-overview.png +0 -0
- package/assets/readme/en/mode-tools.gif +0 -0
- package/assets/readme/en/regex-transforms.gif +0 -0
- package/assets/readme/en/tool-selection.gif +0 -0
- package/assets/readme/tui-quickstart.gif +0 -0
- package/assets/readme/zh-CN/capability-tools.gif +0 -0
- package/assets/readme/zh-CN/context-composition.gif +0 -0
- package/assets/readme/zh-CN/context-toggle.gif +0 -0
- package/assets/readme/zh-CN/draft-diff.png +0 -0
- package/assets/readme/zh-CN/edit-draft-diff.gif +0 -0
- package/assets/readme/zh-CN/editor-overview-v3.png +0 -0
- package/assets/readme/zh-CN/editor-overview.png +0 -0
- package/assets/readme/zh-CN/mode-tools.gif +0 -0
- package/assets/readme/zh-CN/regex-transforms.gif +0 -0
- package/assets/readme/zh-CN/tool-selection.gif +0 -0
- package/dist/active-state.d.ts +148 -0
- package/dist/active-state.d.ts.map +1 -0
- package/dist/active-state.js +374 -0
- package/dist/active-state.js.map +1 -0
- package/dist/agent-profile.d.ts +1 -0
- package/dist/agent-profile.d.ts.map +1 -1
- package/dist/agent-profile.js +20 -14
- package/dist/agent-profile.js.map +1 -1
- package/dist/capabilities.d.ts +39 -0
- package/dist/capabilities.d.ts.map +1 -0
- package/dist/capabilities.js +160 -0
- package/dist/capabilities.js.map +1 -0
- package/dist/capability-anchors.d.ts +45 -0
- package/dist/capability-anchors.d.ts.map +1 -0
- package/dist/capability-anchors.js +263 -0
- package/dist/capability-anchors.js.map +1 -0
- package/dist/capability-command.d.ts +4 -0
- package/dist/capability-command.d.ts.map +1 -0
- package/dist/capability-command.js +164 -0
- package/dist/capability-command.js.map +1 -0
- package/dist/capability-events.d.ts +79 -0
- package/dist/capability-events.d.ts.map +1 -0
- package/dist/capability-events.js +478 -0
- package/dist/capability-events.js.map +1 -0
- package/dist/capability-projection.d.ts +22 -0
- package/dist/capability-projection.d.ts.map +1 -0
- package/dist/capability-projection.js +273 -0
- package/dist/capability-projection.js.map +1 -0
- package/dist/capability-protocol.d.ts +21 -0
- package/dist/capability-protocol.d.ts.map +1 -0
- package/dist/capability-protocol.js +15 -0
- package/dist/capability-protocol.js.map +1 -0
- package/dist/capability-state.d.ts +74 -0
- package/dist/capability-state.d.ts.map +1 -0
- package/dist/capability-state.js +43 -0
- package/dist/capability-state.js.map +1 -0
- package/dist/capability-tool.d.ts +11 -0
- package/dist/capability-tool.d.ts.map +1 -0
- package/dist/capability-tool.js +25 -0
- package/dist/capability-tool.js.map +1 -0
- package/dist/capability-web-host.d.ts +11 -0
- package/dist/capability-web-host.d.ts.map +1 -0
- package/dist/capability-web-host.js +105 -0
- package/dist/capability-web-host.js.map +1 -0
- package/dist/codecs/capability.d.ts +71 -0
- package/dist/codecs/capability.d.ts.map +1 -0
- package/dist/codecs/capability.js +363 -0
- package/dist/codecs/capability.js.map +1 -0
- package/dist/codecs/prompt-stack.d.ts +1 -1
- package/dist/codecs/prompt-stack.d.ts.map +1 -1
- package/dist/codecs/prompt-stack.js +140 -13
- package/dist/codecs/prompt-stack.js.map +1 -1
- package/dist/command-contribution/index.d.ts +21 -0
- package/dist/command-contribution/index.d.ts.map +1 -0
- package/dist/command-contribution/index.js +14 -0
- package/dist/command-contribution/index.js.map +1 -0
- package/dist/compile-cycle.d.ts +1 -0
- package/dist/compile-cycle.d.ts.map +1 -1
- package/dist/compile-cycle.js.map +1 -1
- package/dist/compiler.d.ts.map +1 -1
- package/dist/compiler.js +81 -17
- package/dist/compiler.js.map +1 -1
- package/dist/forge-command.d.ts +10 -0
- package/dist/forge-command.d.ts.map +1 -0
- package/dist/forge-command.js +106 -0
- package/dist/forge-command.js.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +58 -5
- package/dist/index.js.map +1 -1
- package/dist/json-fingerprint.d.ts +11 -0
- package/dist/json-fingerprint.d.ts.map +1 -0
- package/dist/json-fingerprint.js +66 -0
- package/dist/json-fingerprint.js.map +1 -0
- package/dist/lifecycle.d.ts +14 -0
- package/dist/lifecycle.d.ts.map +1 -1
- package/dist/lifecycle.js +167 -67
- package/dist/lifecycle.js.map +1 -1
- package/dist/payload-command.d.ts +2 -2
- package/dist/payload-command.d.ts.map +1 -1
- package/dist/payload-command.js +80 -26
- package/dist/payload-command.js.map +1 -1
- package/dist/payload-state.d.ts +1 -0
- package/dist/payload-state.d.ts.map +1 -1
- package/dist/payload-state.js +1 -0
- package/dist/payload-state.js.map +1 -1
- package/dist/policy.d.ts +2 -1
- package/dist/policy.d.ts.map +1 -1
- package/dist/policy.js +3 -0
- package/dist/policy.js.map +1 -1
- package/dist/preset-command.d.ts +1 -0
- package/dist/preset-command.d.ts.map +1 -1
- package/dist/preset-command.js +94 -36
- package/dist/preset-command.js.map +1 -1
- package/dist/preview-text.d.ts +5 -0
- package/dist/preview-text.d.ts.map +1 -0
- package/dist/preview-text.js +27 -0
- package/dist/preview-text.js.map +1 -0
- package/dist/preview.d.ts +18 -1
- package/dist/preview.d.ts.map +1 -1
- package/dist/preview.js +132 -97
- package/dist/preview.js.map +1 -1
- package/dist/profile-command.js +68 -9
- package/dist/profile-command.js.map +1 -1
- package/dist/regex.d.ts.map +1 -1
- package/dist/regex.js +5 -0
- package/dist/regex.js.map +1 -1
- package/dist/render-helpers.d.ts.map +1 -1
- package/dist/render-helpers.js +2 -0
- package/dist/render-helpers.js.map +1 -1
- package/dist/repositories/capability.d.ts +53 -0
- package/dist/repositories/capability.d.ts.map +1 -0
- package/dist/repositories/capability.js +294 -0
- package/dist/repositories/capability.js.map +1 -0
- package/dist/runtime/capability-runtime.d.ts +93 -0
- package/dist/runtime/capability-runtime.d.ts.map +1 -0
- package/dist/runtime/capability-runtime.js +987 -0
- package/dist/runtime/capability-runtime.js.map +1 -0
- package/dist/runtime/profile-runtime.d.ts.map +1 -1
- package/dist/runtime/profile-runtime.js +10 -9
- package/dist/runtime/profile-runtime.js.map +1 -1
- package/dist/runtime/prompt-stack-runtime.d.ts +7 -4
- package/dist/runtime/prompt-stack-runtime.d.ts.map +1 -1
- package/dist/runtime/prompt-stack-runtime.js +47 -11
- package/dist/runtime/prompt-stack-runtime.js.map +1 -1
- package/dist/runtime/tool-policy-runtime.d.ts +10 -0
- package/dist/runtime/tool-policy-runtime.d.ts.map +1 -1
- package/dist/runtime/tool-policy-runtime.js +171 -30
- package/dist/runtime/tool-policy-runtime.js.map +1 -1
- package/dist/session-adapter.d.ts +13 -0
- package/dist/session-adapter.d.ts.map +1 -1
- package/dist/session-adapter.js +110 -0
- package/dist/session-adapter.js.map +1 -1
- package/dist/session-usage.d.ts +65 -0
- package/dist/session-usage.d.ts.map +1 -0
- package/dist/session-usage.js +134 -0
- package/dist/session-usage.js.map +1 -0
- package/dist/subagent/fingerprints.d.ts +3 -15
- package/dist/subagent/fingerprints.d.ts.map +1 -1
- package/dist/subagent/fingerprints.js +5 -69
- package/dist/subagent/fingerprints.js.map +1 -1
- package/dist/subagent/index.d.ts +2 -0
- package/dist/subagent/index.d.ts.map +1 -1
- package/dist/subagent/index.js +2 -0
- package/dist/subagent/index.js.map +1 -1
- package/dist/subagent-host.d.ts +2 -2
- package/dist/subagent-host.d.ts.map +1 -1
- package/dist/subagent-host.js +13 -1
- package/dist/subagent-host.js.map +1 -1
- package/dist/types.d.ts +6 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/web-editor/client-script.generated.d.ts.map +1 -1
- package/dist/web-editor/client-script.generated.js +1 -1
- package/dist/web-editor/client-script.generated.js.map +1 -1
- package/dist/web-editor/client-styles.generated.d.ts.map +1 -1
- package/dist/web-editor/client-styles.generated.js +1 -1
- package/dist/web-editor/client-styles.generated.js.map +1 -1
- package/dist/web-editor/server.d.ts.map +1 -1
- package/dist/web-editor/server.js +152 -4
- package/dist/web-editor/server.js.map +1 -1
- package/dist/web-editor/styles.d.ts.map +1 -1
- package/dist/web-editor/styles.js +573 -165
- package/dist/web-editor/styles.js.map +1 -1
- package/dist/web-editor/types.d.ts +81 -1
- package/dist/web-editor/types.d.ts.map +1 -1
- package/dist/web-host.d.ts +9 -0
- package/dist/web-host.d.ts.map +1 -1
- package/dist/web-host.js +210 -11
- package/dist/web-host.js.map +1 -1
- package/dist/workspace.d.ts +11 -0
- package/dist/workspace.d.ts.map +1 -1
- package/dist/workspace.js +63 -5
- package/dist/workspace.js.map +1 -1
- package/docs/README.md +4 -0
- package/docs/design/README.md +3 -1
- package/docs/design/architecture-0.5.md +22 -0
- package/docs/design/archive/2026-09-12-system-update-design.md +229 -0
- package/docs/design/pi-forge-system-update-design-notes.md +157 -229
- package/docs/development/release.md +20 -20
- package/docs/development/roadmap.md +21 -2
- package/docs/development/scoped-global-profiles-stacks.md +1 -1
- package/docs/development/setup.md +1 -1
- package/docs/getting-started.md +1 -1
- package/docs/guides/delegation.md +22 -20
- package/docs/guides/migrating-to-0.5.md +29 -0
- package/docs/guides/use-cases.md +6 -2
- package/docs/guides/web-editor.md +74 -5
- package/docs/reference/active-state.md +77 -0
- package/docs/reference/capabilities.md +259 -0
- package/docs/reference/commands.md +52 -24
- package/docs/reference/configuration.md +4 -2
- package/docs/reference/features.md +70 -4
- package/docs/reference/provider-support.md +67 -0
- package/docs/reference/public-api.md +49 -3
- package/docs/reference/session-cache.md +112 -0
- package/docs/reference/stack-schema.md +18 -4
- package/docs/reference/subagent-host-port.md +8 -0
- package/docs/zh-CN/README.md +3 -0
- package/docs/zh-CN/getting-started.md +1 -1
- package/docs/zh-CN/guides/delegation.md +22 -10
- package/docs/zh-CN/guides/migrating-to-0.5.md +29 -0
- package/docs/zh-CN/guides/web-editor.md +75 -7
- package/docs/zh-CN/reference/capabilities.md +259 -0
- package/docs/zh-CN/reference/commands.md +61 -33
- package/docs/zh-CN/reference/provider-support.md +67 -0
- package/docs/zh-CN/reference/session-cache.md +112 -0
- package/examples/capabilities/review.json +12 -0
- package/examples/capabilities/write-tools.json +15 -0
- package/examples/read-first-worker-prompt-stack.json +49 -0
- package/package.json +16 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-policy-runtime.js","sourceRoot":"","sources":["../../src/runtime/tool-policy-runtime.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tool-policy-runtime.js","sourceRoot":"","sources":["../../src/runtime/tool-policy-runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import type { ExtensionAPI, ExtensionContext } from "@earendil-works/pi-coding-agent";
|
|
2
2
|
import { type AgentProfileProvenance } from "./agent-profile.ts";
|
|
3
3
|
import type { PromptStackDiagnostic } from "./types.ts";
|
|
4
|
+
import { type CapabilityEvent } from "./capability-events.ts";
|
|
5
|
+
import { type CapabilityHistory } from "./capability-protocol.ts";
|
|
6
|
+
import type { ToolPolicySnapshot } from "./runtime/tool-policy-runtime.ts";
|
|
4
7
|
export declare const STATE_ENTRY_TYPE = "pi-forge-prompt-stack-state";
|
|
5
8
|
export declare const PROFILE_ENTRY_TYPE = "pi-forge-agent-profile-state";
|
|
6
9
|
/**
|
|
@@ -14,4 +17,14 @@ export declare function getRestoredProfileProvenance(ctx: ExtensionContext): Age
|
|
|
14
17
|
export declare function getLegacyVariableStateDiagnostic(ctx: ExtensionContext): PromptStackDiagnostic[];
|
|
15
18
|
export declare function persistActiveSelection(pi: ExtensionAPI, activeStackId: string): void;
|
|
16
19
|
export declare function persistProfileProvenance(pi: ExtensionAPI, provenance: AgentProfileProvenance | null): void;
|
|
20
|
+
export interface CapabilitySessionHistory extends CapabilityHistory {
|
|
21
|
+
tools?: ToolPolicySnapshot;
|
|
22
|
+
/** First-occurrence event index covered by a stored anchor, not a delivery acknowledgment. */
|
|
23
|
+
lastAnchoredIndex: number;
|
|
24
|
+
}
|
|
25
|
+
/** Branch-local semantic history; compaction positions, not wall clocks, cut the checkpoint. */
|
|
26
|
+
export declare function readCapabilitySession(ctx: ExtensionContext): CapabilitySessionHistory;
|
|
27
|
+
export declare function persistCapabilityDelivery(pi: ExtensionAPI, throughEventId: string): void;
|
|
28
|
+
export declare function persistCapabilityEvent(pi: ExtensionAPI, event: CapabilityEvent): void;
|
|
29
|
+
export declare function persistCapabilityTools(pi: ExtensionAPI, snapshot: ToolPolicySnapshot): void;
|
|
17
30
|
//# sourceMappingURL=session-adapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-adapter.d.ts","sourceRoot":"","sources":["../src/session-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACtF,OAAO,EAA4B,KAAK,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC3F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"session-adapter.d.ts","sourceRoot":"","sources":["../src/session-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACtF,OAAO,EAA4B,KAAK,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC3F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAiD,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC7G,OAAO,EAKN,KAAK,iBAAiB,EACtB,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAE3E,eAAO,MAAM,gBAAgB,gCAAgC,CAAC;AAC9D,eAAO,MAAM,kBAAkB,iCAAiC,CAAC;AAEjE;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,EAAE,CAQxE;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,gBAAgB,GAAG,MAAM,GAAG,SAAS,CAS7E;AAED,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,gBAAgB,GAAG,sBAAsB,GAAG,SAAS,CAStG;AAED,wBAAgB,gCAAgC,CAAC,GAAG,EAAE,gBAAgB,GAAG,qBAAqB,EAAE,CAW/F;AAED,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,CAEpF;AAED,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE,sBAAsB,GAAG,IAAI,GAAG,IAAI,CAE1G;AAED,MAAM,WAAW,wBAAyB,SAAQ,iBAAiB;IAClE,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,8FAA8F;IAC9F,iBAAiB,EAAE,MAAM,CAAC;CAC1B;AAED,gGAAgG;AAChG,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,gBAAgB,GAAG,wBAAwB,CAqErF;AAED,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI,CAOxF;AAED,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,GAAG,IAAI,CAIrF;AAED,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAI3F"}
|
package/dist/session-adapter.js
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { isAgentProfileProvenance } from "./agent-profile.js";
|
|
2
|
+
import { decodeCapabilityEvent, reduceCapabilityEvents } from "./capability-events.js";
|
|
3
|
+
import { CAPABILITY_DELIVERY_TYPE, CAPABILITY_EVENT_ENTRY, CAPABILITY_TOOLS_ENTRY, } from "./capability-protocol.js";
|
|
4
|
+
import { validateCapabilityAnchorData } from "./capability-anchors.js";
|
|
2
5
|
export const STATE_ENTRY_TYPE = "pi-forge-prompt-stack-state";
|
|
3
6
|
export const PROFILE_ENTRY_TYPE = "pi-forge-agent-profile-state";
|
|
4
7
|
/**
|
|
@@ -54,4 +57,111 @@ export function persistActiveSelection(pi, activeStackId) {
|
|
|
54
57
|
export function persistProfileProvenance(pi, provenance) {
|
|
55
58
|
pi.appendEntry(PROFILE_ENTRY_TYPE, { provenance });
|
|
56
59
|
}
|
|
60
|
+
/** Branch-local semantic history; compaction positions, not wall clocks, cut the checkpoint. */
|
|
61
|
+
export function readCapabilitySession(ctx) {
|
|
62
|
+
const events = [];
|
|
63
|
+
let checkpointThrough;
|
|
64
|
+
let toolsData;
|
|
65
|
+
let lastNewEventId;
|
|
66
|
+
const seenEvents = new Set();
|
|
67
|
+
const eventIndexMap = new Map();
|
|
68
|
+
let lastAnchoredIndex = -1;
|
|
69
|
+
for (const raw of getCurrentBranchEntries(ctx)) {
|
|
70
|
+
if (!raw || typeof raw !== "object")
|
|
71
|
+
continue;
|
|
72
|
+
const entry = raw;
|
|
73
|
+
if (entry.type === "compaction")
|
|
74
|
+
checkpointThrough = lastNewEventId;
|
|
75
|
+
if (entry.type === "custom") {
|
|
76
|
+
if (entry.customType === "pi-forge-instruction-event" || entry.customType === "pi-forge-instruction-tools" || entry.customType === "pi-forge-instruction-delivery") {
|
|
77
|
+
throw new Error("This session contains legacy pre-capability state. Start a new session; old capability state is not restored.");
|
|
78
|
+
}
|
|
79
|
+
if (entry.customType === CAPABILITY_EVENT_ENTRY) {
|
|
80
|
+
const decoded = decodeCapabilityEvent(entry.data);
|
|
81
|
+
if (!decoded.ok)
|
|
82
|
+
throw new Error(`Invalid Forge capability history: ${decoded.error}`);
|
|
83
|
+
events.push(decoded.event);
|
|
84
|
+
if (!seenEvents.has(decoded.event.eventId)) {
|
|
85
|
+
seenEvents.add(decoded.event.eventId);
|
|
86
|
+
lastNewEventId = decoded.event.eventId;
|
|
87
|
+
eventIndexMap.set(decoded.event.eventId, events.length - 1);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
else if (entry.customType === CAPABILITY_TOOLS_ENTRY) {
|
|
91
|
+
toolsData = entry.data;
|
|
92
|
+
}
|
|
93
|
+
else if (entry.customType === CAPABILITY_DELIVERY_TYPE) {
|
|
94
|
+
const anchorData = validateCapabilityAnchorData(entry.data);
|
|
95
|
+
const cursorIndex = eventIndexMap.get(anchorData.throughEventId);
|
|
96
|
+
if (cursorIndex === undefined) {
|
|
97
|
+
throw new Error(`Invalid Forge capability delivery anchor: unknown or future cursor "${anchorData.throughEventId}"`);
|
|
98
|
+
}
|
|
99
|
+
if (cursorIndex < lastAnchoredIndex) {
|
|
100
|
+
throw new Error(`Invalid Forge capability delivery anchor: out-of-order cursor "${anchorData.throughEventId}" (index ${cursorIndex} < ${lastAnchoredIndex})`);
|
|
101
|
+
}
|
|
102
|
+
lastAnchoredIndex = cursorIndex;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
else if (entry.type === "custom_message" && entry.customType === "pi-forge-instruction-delivery") {
|
|
106
|
+
throw new Error("This session contains legacy pre-capability delivery state. Start a new session; old capability state is not restored.");
|
|
107
|
+
}
|
|
108
|
+
else if (entry.type === "custom_message" && entry.customType === CAPABILITY_DELIVERY_TYPE) {
|
|
109
|
+
const details = entry.details;
|
|
110
|
+
if (details && typeof details === "object" && "throughEventId" in details) {
|
|
111
|
+
const cursorId = details.throughEventId;
|
|
112
|
+
if (typeof cursorId === "string") {
|
|
113
|
+
const cursorIndex = eventIndexMap.get(cursorId);
|
|
114
|
+
if (cursorIndex !== undefined) {
|
|
115
|
+
if (cursorIndex >= lastAnchoredIndex) {
|
|
116
|
+
lastAnchoredIndex = cursorIndex;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
const reduced = reduceCapabilityEvents(events);
|
|
124
|
+
if (!reduced.ok)
|
|
125
|
+
throw new Error(`Invalid Forge capability event ${reduced.index}: ${reduced.error}`);
|
|
126
|
+
return {
|
|
127
|
+
events,
|
|
128
|
+
checkpointThrough,
|
|
129
|
+
lastAnchoredIndex,
|
|
130
|
+
...(toolsData === undefined ? {} : { tools: decodeCapabilityTools(toolsData) }),
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
export function persistCapabilityDelivery(pi, throughEventId) {
|
|
134
|
+
const data = {
|
|
135
|
+
schemaVersion: 1,
|
|
136
|
+
throughEventId,
|
|
137
|
+
};
|
|
138
|
+
validateCapabilityAnchorData(data);
|
|
139
|
+
pi.appendEntry(CAPABILITY_DELIVERY_TYPE, data);
|
|
140
|
+
}
|
|
141
|
+
export function persistCapabilityEvent(pi, event) {
|
|
142
|
+
const decoded = decodeCapabilityEvent(event);
|
|
143
|
+
if (!decoded.ok)
|
|
144
|
+
throw new Error(decoded.error);
|
|
145
|
+
pi.appendEntry(CAPABILITY_EVENT_ENTRY, decoded.event);
|
|
146
|
+
}
|
|
147
|
+
export function persistCapabilityTools(pi, snapshot) {
|
|
148
|
+
const data = { schemaVersion: 1, baseline: [...snapshot.baseline], lastApplied: [...snapshot.lastApplied] };
|
|
149
|
+
decodeCapabilityTools(data);
|
|
150
|
+
pi.appendEntry(CAPABILITY_TOOLS_ENTRY, data);
|
|
151
|
+
}
|
|
152
|
+
function decodeCapabilityTools(raw) {
|
|
153
|
+
if (!raw || typeof raw !== "object" || Array.isArray(raw))
|
|
154
|
+
throw new Error("Invalid Forge tool baseline.");
|
|
155
|
+
const data = raw;
|
|
156
|
+
if (data.schemaVersion !== 1 || Object.keys(data).some((key) => !["schemaVersion", "baseline", "lastApplied"].includes(key))) {
|
|
157
|
+
throw new Error("Unsupported Forge tool baseline schema.");
|
|
158
|
+
}
|
|
159
|
+
for (const key of ["baseline", "lastApplied"]) {
|
|
160
|
+
if (!Array.isArray(data[key]) || data[key].length > 4096
|
|
161
|
+
|| data[key].some((value) => typeof value !== "string" || !value || value.length > 1024 || /[\x00-\x1f\x7f]/.test(value))) {
|
|
162
|
+
throw new Error(`Invalid Forge tool baseline ${key}.`);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
return { baseline: [...data.baseline], lastApplied: [...data.lastApplied] };
|
|
166
|
+
}
|
|
57
167
|
//# sourceMappingURL=session-adapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-adapter.js","sourceRoot":"","sources":["../src/session-adapter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAA+B,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"session-adapter.js","sourceRoot":"","sources":["../src/session-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Read-only prompt-cache usage for the current session branch.
|
|
3
|
+
*
|
|
4
|
+
* Everything here is derived from usage the provider already reported and Pi
|
|
5
|
+
* already persisted. It never changes requests, cache breakpoints, warming or
|
|
6
|
+
* session entries, and it starts no inference.
|
|
7
|
+
*/
|
|
8
|
+
/** `details` key a tool result may use to report model usage that ran inside the tool call. */
|
|
9
|
+
export declare const FORGE_NESTED_USAGE_KEY = "forgeNestedUsage";
|
|
10
|
+
/**
|
|
11
|
+
* Experimental nested-usage contract (schemaVersion 1).
|
|
12
|
+
*
|
|
13
|
+
* A tool whose execution itself calls models (for example a subagent) may put
|
|
14
|
+
* this object at `toolResult.details.forgeNestedUsage`. Token fields follow the
|
|
15
|
+
* pi-ai `Usage` convention: `input` counts only uncached input tokens.
|
|
16
|
+
* `cacheRead` and `cacheWrite` must be given together; omit both when the
|
|
17
|
+
* producer does not know them. The shape may change when its first producer
|
|
18
|
+
* adopts it.
|
|
19
|
+
*/
|
|
20
|
+
export interface ForgeNestedUsage {
|
|
21
|
+
schemaVersion: 1;
|
|
22
|
+
/** Model requests made during the tool call; zero requires all supplied token counts to be zero. */
|
|
23
|
+
requests: number;
|
|
24
|
+
input: number;
|
|
25
|
+
output: number;
|
|
26
|
+
cacheRead?: number;
|
|
27
|
+
cacheWrite?: number;
|
|
28
|
+
}
|
|
29
|
+
export interface CacheUsageTotals {
|
|
30
|
+
requests: number;
|
|
31
|
+
input: number;
|
|
32
|
+
output: number;
|
|
33
|
+
cacheRead: number;
|
|
34
|
+
cacheWrite: number;
|
|
35
|
+
}
|
|
36
|
+
export interface NestedUsageTotals extends CacheUsageTotals {
|
|
37
|
+
/** Tool results carrying a valid contract whose cache counts are included. */
|
|
38
|
+
calls: number;
|
|
39
|
+
/** Valid tool results without cache counts; excluded from all request/token totals above. */
|
|
40
|
+
cacheUnknownCalls: number;
|
|
41
|
+
/** Tool results whose `forgeNestedUsage` value is malformed; ignored. */
|
|
42
|
+
invalidCalls: number;
|
|
43
|
+
}
|
|
44
|
+
export interface SessionCacheUsageView {
|
|
45
|
+
/** Requests made by the session's own model on the current branch. */
|
|
46
|
+
main: {
|
|
47
|
+
/** Latest usage-bearing assistant request, not necessarily the latest attempted request. */
|
|
48
|
+
lastRequest?: CacheUsageTotals;
|
|
49
|
+
/** Requests after the latest user message. */
|
|
50
|
+
turn: CacheUsageTotals;
|
|
51
|
+
session: CacheUsageTotals;
|
|
52
|
+
};
|
|
53
|
+
/** Usage reported by tool calls through {@link ForgeNestedUsage}; never mixed into `main`. */
|
|
54
|
+
nested: {
|
|
55
|
+
turn: NestedUsageTotals;
|
|
56
|
+
session: NestedUsageTotals;
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
/** Strict parser for {@link ForgeNestedUsage}; returns undefined for any malformed value. */
|
|
60
|
+
export declare function parseForgeNestedUsage(value: unknown): ForgeNestedUsage | undefined;
|
|
61
|
+
/** Summarize provider-reported usage from current-branch session entries (root to leaf). */
|
|
62
|
+
export declare function summarizeSessionCacheUsage(entries: readonly unknown[]): SessionCacheUsageView;
|
|
63
|
+
/** cacheRead / (uncached input + cacheRead + cacheWrite); undefined when nothing was sent. */
|
|
64
|
+
export declare function cacheHitRate(totals: Pick<CacheUsageTotals, "input" | "cacheRead" | "cacheWrite">): number | undefined;
|
|
65
|
+
//# sourceMappingURL=session-usage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-usage.d.ts","sourceRoot":"","sources":["../src/session-usage.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,+FAA+F;AAC/F,eAAO,MAAM,sBAAsB,qBAAqB,CAAC;AAEzD;;;;;;;;;GASG;AACH,MAAM,WAAW,gBAAgB;IAChC,aAAa,EAAE,CAAC,CAAC;IACjB,oGAAoG;IACpG,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB;IAC1D,8EAA8E;IAC9E,KAAK,EAAE,MAAM,CAAC;IACd,6FAA6F;IAC7F,iBAAiB,EAAE,MAAM,CAAC;IAC1B,yEAAyE;IACzE,YAAY,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IACrC,sEAAsE;IACtE,IAAI,EAAE;QACL,4FAA4F;QAC5F,WAAW,CAAC,EAAE,gBAAgB,CAAC;QAC/B,8CAA8C;QAC9C,IAAI,EAAE,gBAAgB,CAAC;QACvB,OAAO,EAAE,gBAAgB,CAAC;KAC1B,CAAC;IACF,8FAA8F;IAC9F,MAAM,EAAE;QACP,IAAI,EAAE,iBAAiB,CAAC;QACxB,OAAO,EAAE,iBAAiB,CAAC;KAC3B,CAAC;CACF;AAkBD,6FAA6F;AAC7F,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,GAAG,SAAS,CAmBlF;AA+CD,4FAA4F;AAC5F,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,SAAS,OAAO,EAAE,GAAG,qBAAqB,CA6B7F;AAED,8FAA8F;AAC9F,wBAAgB,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,OAAO,GAAG,WAAW,GAAG,YAAY,CAAC,GAAG,MAAM,GAAG,SAAS,CAGrH"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Read-only prompt-cache usage for the current session branch.
|
|
3
|
+
*
|
|
4
|
+
* Everything here is derived from usage the provider already reported and Pi
|
|
5
|
+
* already persisted. It never changes requests, cache breakpoints, warming or
|
|
6
|
+
* session entries, and it starts no inference.
|
|
7
|
+
*/
|
|
8
|
+
/** `details` key a tool result may use to report model usage that ran inside the tool call. */
|
|
9
|
+
export const FORGE_NESTED_USAGE_KEY = "forgeNestedUsage";
|
|
10
|
+
function emptyTotals() {
|
|
11
|
+
return { requests: 0, input: 0, output: 0, cacheRead: 0, cacheWrite: 0 };
|
|
12
|
+
}
|
|
13
|
+
function emptyNested() {
|
|
14
|
+
return { ...emptyTotals(), calls: 0, cacheUnknownCalls: 0, invalidCalls: 0 };
|
|
15
|
+
}
|
|
16
|
+
function isCount(value) {
|
|
17
|
+
return typeof value === "number" && Number.isSafeInteger(value) && value >= 0;
|
|
18
|
+
}
|
|
19
|
+
function tokenCount(value) {
|
|
20
|
+
return typeof value === "number" && Number.isFinite(value) && value > 0 ? value : 0;
|
|
21
|
+
}
|
|
22
|
+
/** Strict parser for {@link ForgeNestedUsage}; returns undefined for any malformed value. */
|
|
23
|
+
export function parseForgeNestedUsage(value) {
|
|
24
|
+
if (!value || typeof value !== "object" || Array.isArray(value))
|
|
25
|
+
return undefined;
|
|
26
|
+
const raw = value;
|
|
27
|
+
const allowed = ["schemaVersion", "requests", "input", "output", "cacheRead", "cacheWrite"];
|
|
28
|
+
if (Object.keys(raw).some((key) => !allowed.includes(key)))
|
|
29
|
+
return undefined;
|
|
30
|
+
if (raw.schemaVersion !== 1)
|
|
31
|
+
return undefined;
|
|
32
|
+
if (!isCount(raw.requests) || !isCount(raw.input) || !isCount(raw.output))
|
|
33
|
+
return undefined;
|
|
34
|
+
const hasRead = raw.cacheRead !== undefined;
|
|
35
|
+
const hasWrite = raw.cacheWrite !== undefined;
|
|
36
|
+
if (hasRead !== hasWrite)
|
|
37
|
+
return undefined;
|
|
38
|
+
if (hasRead && (!isCount(raw.cacheRead) || !isCount(raw.cacheWrite)))
|
|
39
|
+
return undefined;
|
|
40
|
+
if (raw.requests === 0 && [raw.input, raw.output, raw.cacheRead, raw.cacheWrite].some((count) => typeof count === "number" && count > 0))
|
|
41
|
+
return undefined;
|
|
42
|
+
return {
|
|
43
|
+
schemaVersion: 1,
|
|
44
|
+
requests: raw.requests,
|
|
45
|
+
input: raw.input,
|
|
46
|
+
output: raw.output,
|
|
47
|
+
...(hasRead ? { cacheRead: raw.cacheRead, cacheWrite: raw.cacheWrite } : {}),
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
function messageOf(entry) {
|
|
51
|
+
if (!entry || typeof entry !== "object")
|
|
52
|
+
return undefined;
|
|
53
|
+
const record = entry;
|
|
54
|
+
if (record.type !== "message" || !record.message || typeof record.message !== "object")
|
|
55
|
+
return undefined;
|
|
56
|
+
return record.message;
|
|
57
|
+
}
|
|
58
|
+
function requestUsage(message) {
|
|
59
|
+
if (message.role !== "assistant")
|
|
60
|
+
return undefined;
|
|
61
|
+
const usage = message.usage;
|
|
62
|
+
if (!usage || typeof usage !== "object")
|
|
63
|
+
return undefined;
|
|
64
|
+
const totals = {
|
|
65
|
+
requests: 1,
|
|
66
|
+
input: tokenCount(usage.input),
|
|
67
|
+
output: tokenCount(usage.output),
|
|
68
|
+
cacheRead: tokenCount(usage.cacheRead),
|
|
69
|
+
cacheWrite: tokenCount(usage.cacheWrite),
|
|
70
|
+
};
|
|
71
|
+
// Aborted or failed requests can persist without any reported usage.
|
|
72
|
+
return totals.input + totals.output + totals.cacheRead + totals.cacheWrite > 0 ? totals : undefined;
|
|
73
|
+
}
|
|
74
|
+
function add(target, value) {
|
|
75
|
+
target.requests += value.requests;
|
|
76
|
+
target.input += value.input;
|
|
77
|
+
target.output += value.output;
|
|
78
|
+
target.cacheRead += value.cacheRead;
|
|
79
|
+
target.cacheWrite += value.cacheWrite;
|
|
80
|
+
}
|
|
81
|
+
function addNested(target, details) {
|
|
82
|
+
if (!details || typeof details !== "object" || !(FORGE_NESTED_USAGE_KEY in details))
|
|
83
|
+
return;
|
|
84
|
+
const usage = parseForgeNestedUsage(details[FORGE_NESTED_USAGE_KEY]);
|
|
85
|
+
if (!usage) {
|
|
86
|
+
target.invalidCalls += 1;
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
if (usage.cacheRead === undefined || usage.cacheWrite === undefined) {
|
|
90
|
+
target.cacheUnknownCalls += 1;
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
target.calls += 1;
|
|
94
|
+
add(target, { requests: usage.requests, input: usage.input, output: usage.output, cacheRead: usage.cacheRead, cacheWrite: usage.cacheWrite });
|
|
95
|
+
}
|
|
96
|
+
/** Summarize provider-reported usage from current-branch session entries (root to leaf). */
|
|
97
|
+
export function summarizeSessionCacheUsage(entries) {
|
|
98
|
+
let turnStart = 0;
|
|
99
|
+
for (let index = entries.length - 1; index >= 0; index--) {
|
|
100
|
+
if (messageOf(entries[index])?.role === "user") {
|
|
101
|
+
turnStart = index + 1;
|
|
102
|
+
break;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
const view = {
|
|
106
|
+
main: { turn: emptyTotals(), session: emptyTotals() },
|
|
107
|
+
nested: { turn: emptyNested(), session: emptyNested() },
|
|
108
|
+
};
|
|
109
|
+
entries.forEach((entry, index) => {
|
|
110
|
+
const message = messageOf(entry);
|
|
111
|
+
if (!message)
|
|
112
|
+
return;
|
|
113
|
+
const inTurn = index >= turnStart;
|
|
114
|
+
const request = requestUsage(message);
|
|
115
|
+
if (request) {
|
|
116
|
+
add(view.main.session, request);
|
|
117
|
+
if (inTurn)
|
|
118
|
+
add(view.main.turn, request);
|
|
119
|
+
view.main.lastRequest = request;
|
|
120
|
+
}
|
|
121
|
+
if (message.role === "toolResult") {
|
|
122
|
+
addNested(view.nested.session, message.details);
|
|
123
|
+
if (inTurn)
|
|
124
|
+
addNested(view.nested.turn, message.details);
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
return view;
|
|
128
|
+
}
|
|
129
|
+
/** cacheRead / (uncached input + cacheRead + cacheWrite); undefined when nothing was sent. */
|
|
130
|
+
export function cacheHitRate(totals) {
|
|
131
|
+
const prompt = totals.input + totals.cacheRead + totals.cacheWrite;
|
|
132
|
+
return prompt > 0 ? totals.cacheRead / prompt : undefined;
|
|
133
|
+
}
|
|
134
|
+
//# sourceMappingURL=session-usage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-usage.js","sourceRoot":"","sources":["../src/session-usage.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +1,9 @@
|
|
|
1
1
|
import type { AgentProfile } from "../agent-profile.ts";
|
|
2
2
|
import type { PromptStack } from "../types.ts";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
*
|
|
6
|
-
* Vendored from @zihanw/pi-subagent-runtime's canonical implementation so the
|
|
7
|
-
* main package carries no runtime dependency. The algorithm is byte-for-byte
|
|
8
|
-
* identical (key-sorted plain objects, undefined properties omitted, finite
|
|
9
|
-
* numbers only, -0 normalized, no cycles/sparse arrays/non-plain objects), so
|
|
10
|
-
* fingerprints the host issues into profile snapshots stay comparable with
|
|
11
|
-
* values the optional package recomputes through the runtime. Golden vectors
|
|
12
|
-
* are pinned in tests/subagent-host.test.ts.
|
|
13
|
-
*
|
|
14
|
-
* The host never computes conversation/execution fingerprints; those are
|
|
15
|
-
* issued by the runtime during plan sealing in the optional package.
|
|
16
|
-
*/
|
|
3
|
+
import { type JsonFingerprint } from "../json-fingerprint.ts";
|
|
4
|
+
/** Legacy host names retain their byte-identical public wire contract. */
|
|
17
5
|
export declare const SUBAGENT_FINGERPRINT_PREFIX: "sha256:v1:";
|
|
18
|
-
export type SubagentFingerprint =
|
|
6
|
+
export type SubagentFingerprint = JsonFingerprint;
|
|
19
7
|
export declare function canonicalSubagentJson(value: unknown): string;
|
|
20
8
|
export declare function subagentFingerprint(value: unknown): SubagentFingerprint;
|
|
21
9
|
/** Host-owned source provenance: profile and prompt-stack content fingerprints. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fingerprints.d.ts","sourceRoot":"","sources":["../../src/subagent/fingerprints.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fingerprints.d.ts","sourceRoot":"","sources":["../../src/subagent/fingerprints.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAIN,KAAK,eAAe,EACpB,MAAM,wBAAwB,CAAC;AAEhC,0EAA0E;AAC1E,eAAO,MAAM,2BAA2B,cAA0B,CAAC;AACnE,MAAM,MAAM,mBAAmB,GAAG,eAAe,CAAC;AAElD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAE5D;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,mBAAmB,CAEvE;AAED,mFAAmF;AACnF,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,YAAY,GAAG,mBAAmB,CAE3F;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,WAAW,GAAG,mBAAmB,CAEtF"}
|
|
@@ -1,27 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
/**
|
|
3
|
-
|
|
4
|
-
*
|
|
5
|
-
* Vendored from @zihanw/pi-subagent-runtime's canonical implementation so the
|
|
6
|
-
* main package carries no runtime dependency. The algorithm is byte-for-byte
|
|
7
|
-
* identical (key-sorted plain objects, undefined properties omitted, finite
|
|
8
|
-
* numbers only, -0 normalized, no cycles/sparse arrays/non-plain objects), so
|
|
9
|
-
* fingerprints the host issues into profile snapshots stay comparable with
|
|
10
|
-
* values the optional package recomputes through the runtime. Golden vectors
|
|
11
|
-
* are pinned in tests/subagent-host.test.ts.
|
|
12
|
-
*
|
|
13
|
-
* The host never computes conversation/execution fingerprints; those are
|
|
14
|
-
* issued by the runtime during plan sealing in the optional package.
|
|
15
|
-
*/
|
|
16
|
-
export const SUBAGENT_FINGERPRINT_PREFIX = "sha256:v1:";
|
|
1
|
+
import { canonicalJson, fingerprintJson, JSON_FINGERPRINT_PREFIX, } from "../json-fingerprint.js";
|
|
2
|
+
/** Legacy host names retain their byte-identical public wire contract. */
|
|
3
|
+
export const SUBAGENT_FINGERPRINT_PREFIX = JSON_FINGERPRINT_PREFIX;
|
|
17
4
|
export function canonicalSubagentJson(value) {
|
|
18
|
-
return
|
|
5
|
+
return canonicalJson(value);
|
|
19
6
|
}
|
|
20
7
|
export function subagentFingerprint(value) {
|
|
21
|
-
|
|
22
|
-
.update(canonicalSubagentJson(value))
|
|
23
|
-
.digest("hex");
|
|
24
|
-
return `${SUBAGENT_FINGERPRINT_PREFIX}${digest}`;
|
|
8
|
+
return fingerprintJson(value);
|
|
25
9
|
}
|
|
26
10
|
/** Host-owned source provenance: profile and prompt-stack content fingerprints. */
|
|
27
11
|
export function subagentSourceProfileFingerprint(profile) {
|
|
@@ -30,52 +14,4 @@ export function subagentSourceProfileFingerprint(profile) {
|
|
|
30
14
|
export function subagentPromptStackFingerprint(stack) {
|
|
31
15
|
return subagentFingerprint(stack);
|
|
32
16
|
}
|
|
33
|
-
function canonicalize(value, path, ancestors) {
|
|
34
|
-
if (value === null)
|
|
35
|
-
return "null";
|
|
36
|
-
if (typeof value === "string" || typeof value === "boolean") {
|
|
37
|
-
return JSON.stringify(value);
|
|
38
|
-
}
|
|
39
|
-
if (typeof value === "number") {
|
|
40
|
-
if (!Number.isFinite(value)) {
|
|
41
|
-
throw new TypeError(`Cannot fingerprint non-finite number at ${path}.`);
|
|
42
|
-
}
|
|
43
|
-
return JSON.stringify(Object.is(value, -0) ? 0 : value);
|
|
44
|
-
}
|
|
45
|
-
if (typeof value !== "object" || value === undefined) {
|
|
46
|
-
throw new TypeError(`Cannot fingerprint ${typeof value} at ${path}.`);
|
|
47
|
-
}
|
|
48
|
-
if (ancestors.has(value)) {
|
|
49
|
-
throw new TypeError(`Cannot fingerprint cyclic value at ${path}.`);
|
|
50
|
-
}
|
|
51
|
-
ancestors.add(value);
|
|
52
|
-
try {
|
|
53
|
-
if (Array.isArray(value)) {
|
|
54
|
-
const items = [];
|
|
55
|
-
for (let index = 0; index < value.length; index += 1) {
|
|
56
|
-
if (!Object.hasOwn(value, index)) {
|
|
57
|
-
throw new TypeError(`Cannot fingerprint sparse array item at ${path}[${index}].`);
|
|
58
|
-
}
|
|
59
|
-
items.push(canonicalize(value[index], `${path}[${index}]`, ancestors));
|
|
60
|
-
}
|
|
61
|
-
return `[${items.join(",")}]`;
|
|
62
|
-
}
|
|
63
|
-
const prototype = Object.getPrototypeOf(value);
|
|
64
|
-
if (prototype !== Object.prototype && prototype !== null) {
|
|
65
|
-
throw new TypeError(`Cannot fingerprint non-plain object at ${path}.`);
|
|
66
|
-
}
|
|
67
|
-
const record = value;
|
|
68
|
-
const keys = Object.keys(record)
|
|
69
|
-
.filter((key) => record[key] !== undefined)
|
|
70
|
-
.sort();
|
|
71
|
-
const properties = keys.map((key) => {
|
|
72
|
-
const property = canonicalize(record[key], `${path}.${key}`, ancestors);
|
|
73
|
-
return `${JSON.stringify(key)}:${property}`;
|
|
74
|
-
});
|
|
75
|
-
return `{${properties.join(",")}}`;
|
|
76
|
-
}
|
|
77
|
-
finally {
|
|
78
|
-
ancestors.delete(value);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
17
|
//# sourceMappingURL=fingerprints.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fingerprints.js","sourceRoot":"","sources":["../../src/subagent/fingerprints.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fingerprints.js","sourceRoot":"","sources":["../../src/subagent/fingerprints.ts"],"names":[],"mappings":"AAEA,OAAO,EACN,aAAa,EACb,eAAe,EACf,uBAAuB,GAEvB,MAAM,wBAAwB,CAAC;AAEhC,0EAA0E;AAC1E,MAAM,CAAC,MAAM,2BAA2B,GAAG,uBAAuB,CAAC;AAGnE,MAAM,UAAU,qBAAqB,CAAC,KAAc;IACnD,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAc;IACjD,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,gCAAgC,CAAC,OAAqB;IACrE,OAAO,mBAAmB,CAAC,OAAO,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,KAAkB;IAChE,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC"}
|
package/dist/subagent/index.d.ts
CHANGED
|
@@ -9,6 +9,8 @@
|
|
|
9
9
|
* `@zihanw/pi-forge-subagents` package, which consumes this port.
|
|
10
10
|
*/
|
|
11
11
|
export { FORGE_HOST_CHANNEL, FORGE_HOST_PORT_NAMESPACE, FORGE_HOST_PORT_OPERATIONS, FORGE_HOST_PORT_VERSION, ForgeHost, ForgeHostClient, ForgeHostPortError, validateListProfilesRequest, validateListProfilesResponse, validatePrepareRequest, validatePrepareResponse, validateResolveProfileRequest, validateResolveProfileResponse, } from "./host-port.ts";
|
|
12
|
+
export { FORGE_NESTED_USAGE_KEY, parseForgeNestedUsage } from "../session-usage.ts";
|
|
13
|
+
export type { ForgeNestedUsage } from "../session-usage.ts";
|
|
12
14
|
export type { ForgeDelegationDiagnostic, ForgeDelegationMessage, ForgeHostWireMessage, ForgeListProfilesResponse, ForgePrepareRequest, ForgePrepareResponse, ForgeProfileSnapshot, ForgeProfileSummary, ForgePromptAccessFacts, ForgePromptDependency, ForgePromptDependencyKind, ForgeBackendFacts, ForgeBackendTool, ForgeHostConnection, ForgeHostClientOptions, ForgeHostOptions, ForgeHostPortOperation, ForgeHostPortResult, ForgeHostTransport, ForgeResolveProfileRequest, ForgeResolveProfileResponse, ForgeWireAgentProfile, ForgeWirePromptStack, ValidationResult, } from "./host-port.ts";
|
|
13
15
|
export { SUBAGENT_FINGERPRINT_PREFIX, canonicalSubagentJson, subagentFingerprint, subagentPromptStackFingerprint, subagentSourceProfileFingerprint, type SubagentFingerprint, } from "./fingerprints.ts";
|
|
14
16
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/subagent/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EACN,kBAAkB,EAClB,yBAAyB,EACzB,0BAA0B,EAC1B,uBAAuB,EACvB,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,2BAA2B,EAC3B,4BAA4B,EAC5B,sBAAsB,EACtB,uBAAuB,EACvB,6BAA6B,EAC7B,8BAA8B,GAC9B,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/subagent/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EACN,kBAAkB,EAClB,yBAAyB,EACzB,0BAA0B,EAC1B,uBAAuB,EACvB,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,2BAA2B,EAC3B,4BAA4B,EAC5B,sBAAsB,EACtB,uBAAuB,EACvB,6BAA6B,EAC7B,8BAA8B,GAC9B,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACpF,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,YAAY,EACX,yBAAyB,EACzB,sBAAsB,EACtB,oBAAoB,EACpB,yBAAyB,EACzB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,yBAAyB,EACzB,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,EAClB,0BAA0B,EAC1B,2BAA2B,EAC3B,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,GAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACN,2BAA2B,EAC3B,qBAAqB,EACrB,mBAAmB,EACnB,8BAA8B,EAC9B,gCAAgC,EAChC,KAAK,mBAAmB,GACxB,MAAM,mBAAmB,CAAC"}
|
package/dist/subagent/index.js
CHANGED
|
@@ -9,5 +9,7 @@
|
|
|
9
9
|
* `@zihanw/pi-forge-subagents` package, which consumes this port.
|
|
10
10
|
*/
|
|
11
11
|
export { FORGE_HOST_CHANNEL, FORGE_HOST_PORT_NAMESPACE, FORGE_HOST_PORT_OPERATIONS, FORGE_HOST_PORT_VERSION, ForgeHost, ForgeHostClient, ForgeHostPortError, validateListProfilesRequest, validateListProfilesResponse, validatePrepareRequest, validatePrepareResponse, validateResolveProfileRequest, validateResolveProfileResponse, } from "./host-port.js";
|
|
12
|
+
// Experimental nested-usage contract: tools that call models report usage in toolResult details.
|
|
13
|
+
export { FORGE_NESTED_USAGE_KEY, parseForgeNestedUsage } from "../session-usage.js";
|
|
12
14
|
export { SUBAGENT_FINGERPRINT_PREFIX, canonicalSubagentJson, subagentFingerprint, subagentPromptStackFingerprint, subagentSourceProfileFingerprint, } from "./fingerprints.js";
|
|
13
15
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/subagent/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EACN,kBAAkB,EAClB,yBAAyB,EACzB,0BAA0B,EAC1B,uBAAuB,EACvB,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,2BAA2B,EAC3B,4BAA4B,EAC5B,sBAAsB,EACtB,uBAAuB,EACvB,6BAA6B,EAC7B,8BAA8B,GAC9B,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/subagent/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EACN,kBAAkB,EAClB,yBAAyB,EACzB,0BAA0B,EAC1B,uBAAuB,EACvB,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,2BAA2B,EAC3B,4BAA4B,EAC5B,sBAAsB,EACtB,uBAAuB,EACvB,6BAA6B,EAC7B,8BAA8B,GAC9B,MAAM,gBAAgB,CAAC;AACxB,iGAAiG;AACjG,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AA4BpF,OAAO,EACN,2BAA2B,EAC3B,qBAAqB,EACrB,mBAAmB,EACnB,8BAA8B,EAC9B,gCAAgC,GAEhC,MAAM,mBAAmB,CAAC"}
|
package/dist/subagent-host.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import type { LoadedAgentProfile } from "./agent-profile.ts";
|
|
|
2
2
|
import type { AgentProfile } from "./codecs/agent-profile.ts";
|
|
3
3
|
import { type SubagentFingerprint } from "./subagent/fingerprints.ts";
|
|
4
4
|
import type { ForgeBackendFacts, ForgeBackendTool, ForgePromptAccessFacts } from "./subagent/host-port.ts";
|
|
5
|
-
import type { LoadedPromptStack,
|
|
5
|
+
import type { LoadedPromptStack, PromptStack, PromptToolPolicy } from "./types.ts";
|
|
6
6
|
/**
|
|
7
7
|
* Host-owned diagnostic shape for delegation resolution and preparation.
|
|
8
8
|
* Structurally compatible with the optional package's contract diagnostics.
|
|
@@ -112,7 +112,7 @@ interface ForgeToolNegotiation {
|
|
|
112
112
|
* tool negotiation in the optional package, which recomputes them as the
|
|
113
113
|
* plan-creation integrity check.
|
|
114
114
|
*/
|
|
115
|
-
export declare function negotiateForgeDelegationTools(catalog: readonly ForgeBackendTool[], policy:
|
|
115
|
+
export declare function negotiateForgeDelegationTools(catalog: readonly ForgeBackendTool[], policy: PromptToolPolicy | undefined, access: ForgePromptAccessFacts): ForgeToolNegotiation;
|
|
116
116
|
export declare function collectSubagentPromptDependencies(stack: PromptStack, registrations?: SubagentPromptRegistrationCatalog): {
|
|
117
117
|
dependencies: ForgePromptDependency[];
|
|
118
118
|
missingDependencies: Array<{
|