@zihanw/pi-forge 0.5.4 → 0.5.5
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 +71 -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.map +1 -1
- package/dist/agent-profile.js +11 -0
- 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 +70 -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 +54 -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.map +1 -1
- package/dist/preset-command.js +92 -35
- 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 +91 -0
- package/dist/runtime/capability-runtime.d.ts.map +1 -0
- package/dist/runtime/capability-runtime.js +967 -0
- package/dist/runtime/capability-runtime.js.map +1 -0
- package/dist/runtime/tool-policy-runtime.d.ts +8 -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 +476 -149
- 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 +7 -0
- package/dist/web-host.d.ts.map +1 -1
- package/dist/web-host.js +168 -5
- 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 +17 -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 +73 -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 +74 -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
|
@@ -0,0 +1,374 @@
|
|
|
1
|
+
import { createHash, randomUUID } from "node:crypto";
|
|
2
|
+
import { hostname as osHostname } from "node:os";
|
|
3
|
+
import { resolve } from "node:path";
|
|
4
|
+
/**
|
|
5
|
+
* Neutral active-state snapshot/change bus for optional appearance/session
|
|
6
|
+
* consumers.
|
|
7
|
+
*
|
|
8
|
+
* This module is deliberately Pi Pet-agnostic: it publishes only the small,
|
|
9
|
+
* privacy-preserving scalar contract in the parent implementation contract
|
|
10
|
+
* (`@zihanw/pi-forge/active-state/v1`). It never carries prompt text, file
|
|
11
|
+
* paths, tokens, credentials, model configuration, tool policy, or character
|
|
12
|
+
* data. Consumers are optional and must not affect Forge compilation, tool
|
|
13
|
+
* policy, or provider behavior.
|
|
14
|
+
*/
|
|
15
|
+
export const FORGE_ACTIVE_STATE_SCHEMA_VERSION = "1";
|
|
16
|
+
export const FORGE_ACTIVE_STATE_CHANNEL = "@zihanw/pi-forge/active-state/v1";
|
|
17
|
+
export const FORGE_ACTIVE_STATE_REQUEST_CHANNEL = "@zihanw/pi-forge/active-state/request/v1";
|
|
18
|
+
/** Hash domain separator from the parent contract. Do not change without a new version. */
|
|
19
|
+
export const FORGE_ACTIVE_STATE_PROJECT_KEY_PREFIX = "pi-forge-project-v1\0";
|
|
20
|
+
/**
|
|
21
|
+
* Scoped resource key grammar from the parent contract. Stricter than the
|
|
22
|
+
* internal resource grammar (length-bounded, exactly one colon).
|
|
23
|
+
*/
|
|
24
|
+
export const FORGE_ACTIVE_STATE_SCOPED_KEY_PATTERN = /^(global|project):[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/;
|
|
25
|
+
/** Opaque lower-hex SHA-256 project key. */
|
|
26
|
+
export const FORGE_ACTIVE_STATE_PROJECT_KEY_PATTERN = /^[0-9a-f]{64}$/;
|
|
27
|
+
/**
|
|
28
|
+
* Bounded publisher-instance grammar shared with the downstream Pi Pet/Clawd
|
|
29
|
+
* appearance consumer. UUIDs pass; control characters, path separators, and
|
|
30
|
+
* other punctuation are rejected so an instance id can never look like a path
|
|
31
|
+
* or smuggle control bytes across the bus.
|
|
32
|
+
*/
|
|
33
|
+
export const FORGE_ACTIVE_STATE_INSTANCE_ID_PATTERN = /^[A-Za-z0-9_-]{1,128}$/;
|
|
34
|
+
export const FORGE_ACTIVE_STATE_MAX_SESSION_ID_LENGTH = 1024;
|
|
35
|
+
export const FORGE_ACTIVE_STATE_MAX_INSTANCE_ID_LENGTH = 128;
|
|
36
|
+
export function isValidActiveStateSessionId(value) {
|
|
37
|
+
return typeof value === "string"
|
|
38
|
+
&& value.length > 0
|
|
39
|
+
&& value.length <= FORGE_ACTIVE_STATE_MAX_SESSION_ID_LENGTH;
|
|
40
|
+
}
|
|
41
|
+
export function isValidActiveStateScopedKey(value) {
|
|
42
|
+
return typeof value === "string" && FORGE_ACTIVE_STATE_SCOPED_KEY_PATTERN.test(value);
|
|
43
|
+
}
|
|
44
|
+
export function isValidActiveStateProjectKey(value) {
|
|
45
|
+
return typeof value === "string" && FORGE_ACTIVE_STATE_PROJECT_KEY_PATTERN.test(value);
|
|
46
|
+
}
|
|
47
|
+
export function isValidActiveStateInstanceId(value) {
|
|
48
|
+
return typeof value === "string" && FORGE_ACTIVE_STATE_INSTANCE_ID_PATTERN.test(value);
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Opaque project identity from the session working directory. The raw path and
|
|
52
|
+
* hostname never leave this function; only the 64-char digest crosses the bus.
|
|
53
|
+
*/
|
|
54
|
+
export function activeStateProjectKey(cwd, hostnameValue = osHostname()) {
|
|
55
|
+
if (typeof cwd !== "string" || cwd.length === 0)
|
|
56
|
+
return null;
|
|
57
|
+
let resolved;
|
|
58
|
+
try {
|
|
59
|
+
resolved = resolve(cwd);
|
|
60
|
+
}
|
|
61
|
+
catch {
|
|
62
|
+
return null;
|
|
63
|
+
}
|
|
64
|
+
return createHash("sha256")
|
|
65
|
+
.update(`${FORGE_ACTIVE_STATE_PROJECT_KEY_PREFIX}${hostnameValue}\0${resolved}`)
|
|
66
|
+
.digest("hex");
|
|
67
|
+
}
|
|
68
|
+
export function validateActiveStateRequest(value) {
|
|
69
|
+
if (!isPlainRecord(value))
|
|
70
|
+
return { ok: false, error: "active-state request must be an object." };
|
|
71
|
+
for (const key of Object.keys(value)) {
|
|
72
|
+
if (key !== "schemaVersion" && key !== "sessionId") {
|
|
73
|
+
return { ok: false, error: `active-state request contains unsupported field: ${key}.` };
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
if (value.schemaVersion !== FORGE_ACTIVE_STATE_SCHEMA_VERSION) {
|
|
77
|
+
return { ok: false, error: "active-state request has an unsupported schemaVersion." };
|
|
78
|
+
}
|
|
79
|
+
if (value.sessionId !== undefined && !isValidActiveStateSessionId(value.sessionId)) {
|
|
80
|
+
return { ok: false, error: "active-state request sessionId is malformed or oversized." };
|
|
81
|
+
}
|
|
82
|
+
return {
|
|
83
|
+
ok: true,
|
|
84
|
+
data: {
|
|
85
|
+
schemaVersion: FORGE_ACTIVE_STATE_SCHEMA_VERSION,
|
|
86
|
+
...(value.sessionId === undefined ? {} : { sessionId: value.sessionId }),
|
|
87
|
+
},
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
export function validateActiveStateEvent(value) {
|
|
91
|
+
if (!isPlainRecord(value))
|
|
92
|
+
return { ok: false, error: "active-state event must be an object." };
|
|
93
|
+
const allowed = new Set(["schemaVersion", "sessionId", "instanceId", "revision", "stackKey", "profileKey", "projectKey"]);
|
|
94
|
+
for (const key of Object.keys(value)) {
|
|
95
|
+
if (!allowed.has(key))
|
|
96
|
+
return { ok: false, error: `active-state event contains unsupported field: ${key}.` };
|
|
97
|
+
}
|
|
98
|
+
if (value.schemaVersion !== FORGE_ACTIVE_STATE_SCHEMA_VERSION) {
|
|
99
|
+
return { ok: false, error: "active-state event has an unsupported schemaVersion." };
|
|
100
|
+
}
|
|
101
|
+
if (!isValidActiveStateSessionId(value.sessionId)) {
|
|
102
|
+
return { ok: false, error: "active-state event sessionId is malformed or oversized." };
|
|
103
|
+
}
|
|
104
|
+
if (!isValidActiveStateInstanceId(value.instanceId)) {
|
|
105
|
+
return { ok: false, error: "active-state event instanceId is malformed or oversized." };
|
|
106
|
+
}
|
|
107
|
+
if (typeof value.revision !== "number" || !Number.isSafeInteger(value.revision) || value.revision < 0) {
|
|
108
|
+
return { ok: false, error: "active-state event revision must be a non-negative safe integer." };
|
|
109
|
+
}
|
|
110
|
+
if (value.stackKey !== null && !isValidActiveStateScopedKey(value.stackKey)) {
|
|
111
|
+
return { ok: false, error: "active-state event stackKey is malformed." };
|
|
112
|
+
}
|
|
113
|
+
if (value.profileKey !== null && !isValidActiveStateScopedKey(value.profileKey)) {
|
|
114
|
+
return { ok: false, error: "active-state event profileKey is malformed." };
|
|
115
|
+
}
|
|
116
|
+
if (value.projectKey !== null && !isValidActiveStateProjectKey(value.projectKey)) {
|
|
117
|
+
return { ok: false, error: "active-state event projectKey is malformed." };
|
|
118
|
+
}
|
|
119
|
+
// Project resource bindings require an opaque projectKey. Fail closed so a
|
|
120
|
+
// consumer can never bind a project-scoped stack/profile to a missing key.
|
|
121
|
+
if (value.projectKey === null) {
|
|
122
|
+
for (const key of [value.stackKey, value.profileKey]) {
|
|
123
|
+
if (typeof key === "string" && key.startsWith("project:")) {
|
|
124
|
+
return { ok: false, error: "active-state event carries a project-scoped binding without a projectKey." };
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
return { ok: true, data: value };
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Publishes active-state snapshots on the neutral channel and answers
|
|
132
|
+
* late-subscriber snapshot requests. One publisher instance corresponds to one
|
|
133
|
+
* attached Pi session identity; a session-id change retires the old instance
|
|
134
|
+
* (after a final cleared snapshot) and attaches a new instance.
|
|
135
|
+
*/
|
|
136
|
+
export class ForgeActiveStatePublisher {
|
|
137
|
+
transport;
|
|
138
|
+
read;
|
|
139
|
+
hostnameValue;
|
|
140
|
+
createInstanceId;
|
|
141
|
+
sessionValue;
|
|
142
|
+
instanceIdValue;
|
|
143
|
+
revisionValue = 0;
|
|
144
|
+
requestUnsubscribe;
|
|
145
|
+
requestListenerAttached = false;
|
|
146
|
+
suspended = false;
|
|
147
|
+
constructor(options) {
|
|
148
|
+
this.transport = options.transport;
|
|
149
|
+
this.read = options.readWorkspace;
|
|
150
|
+
this.hostnameValue = options.hostname ?? osHostname();
|
|
151
|
+
this.createInstanceId = options.createInstanceId ?? (() => randomUUID());
|
|
152
|
+
}
|
|
153
|
+
get attached() {
|
|
154
|
+
return this.sessionValue !== undefined && this.instanceIdValue !== undefined;
|
|
155
|
+
}
|
|
156
|
+
get sessionId() {
|
|
157
|
+
return this.sessionValue?.sessionId;
|
|
158
|
+
}
|
|
159
|
+
get instanceId() {
|
|
160
|
+
return this.instanceIdValue;
|
|
161
|
+
}
|
|
162
|
+
get revision() {
|
|
163
|
+
return this.revisionValue;
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Pause publication and request replies while a lifecycle restore is in
|
|
167
|
+
* flight. The workspace publishes several intermediate snapshots during
|
|
168
|
+
* `restoreBranchScopedRuntime`; emitting those would leak the new workspace
|
|
169
|
+
* under the old session id before the publisher is rebound. Call
|
|
170
|
+
* `bindSession` once the restore is complete to resume with the latest
|
|
171
|
+
* coherent snapshot.
|
|
172
|
+
*/
|
|
173
|
+
suspend() {
|
|
174
|
+
this.suspended = true;
|
|
175
|
+
}
|
|
176
|
+
/** Bind or rebind the Pi session, resume publication, and publish the current snapshot. */
|
|
177
|
+
bindSession(session) {
|
|
178
|
+
if (!isValidActiveStateSessionId(session?.sessionId)) {
|
|
179
|
+
// Invalid session context: fail closed instead of retaining a stale
|
|
180
|
+
// binding that no consumer can safely attribute.
|
|
181
|
+
this.dispose();
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
if (this.sessionValue && this.sessionValue.sessionId !== session.sessionId) {
|
|
185
|
+
// Emit the retiring session's clear only after the restore has
|
|
186
|
+
// completed, so no intermediate workspace snapshot leaks under the
|
|
187
|
+
// wrong session id.
|
|
188
|
+
this.dispose();
|
|
189
|
+
// A synchronous clear callback may have installed another session.
|
|
190
|
+
// Do not overwrite that newer binding from this stale bind call.
|
|
191
|
+
if (this.sessionValue)
|
|
192
|
+
return;
|
|
193
|
+
}
|
|
194
|
+
if (!this.instanceIdValue) {
|
|
195
|
+
this.instanceIdValue = this.createInstanceId();
|
|
196
|
+
this.revisionValue = 0;
|
|
197
|
+
}
|
|
198
|
+
this.sessionValue = { sessionId: session.sessionId, cwd: session.cwd };
|
|
199
|
+
this.ensureRequestListener();
|
|
200
|
+
// Resume only after the complete new state and listener are installed.
|
|
201
|
+
this.suspended = false;
|
|
202
|
+
this.publish();
|
|
203
|
+
}
|
|
204
|
+
/** Publish the current workspace view with a fresh revision. */
|
|
205
|
+
publish() {
|
|
206
|
+
if (this.suspended)
|
|
207
|
+
return;
|
|
208
|
+
if (!this.sessionValue || !this.instanceIdValue)
|
|
209
|
+
return;
|
|
210
|
+
const epoch = this.advanceEpoch();
|
|
211
|
+
this.emitEvent(this.buildEvent(this.readSafely(), epoch.instanceId, epoch.revision));
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Emit one final cleared snapshot for the bound session, unregister the
|
|
215
|
+
* request listener, and detach. Safe to call more than once.
|
|
216
|
+
*/
|
|
217
|
+
dispose() {
|
|
218
|
+
const session = this.sessionValue;
|
|
219
|
+
let clear;
|
|
220
|
+
if (session && this.instanceIdValue) {
|
|
221
|
+
const epoch = this.advanceEpoch();
|
|
222
|
+
clear = this.buildClearEvent(session, epoch.instanceId, epoch.revision);
|
|
223
|
+
}
|
|
224
|
+
// Retire the old lifecycle before publishing its clear. A synchronous
|
|
225
|
+
// consumer callback must not be able to request/publish/dispose through
|
|
226
|
+
// the old binding or recurse into another clear.
|
|
227
|
+
this.suspended = true;
|
|
228
|
+
this.unsubscribeRequest();
|
|
229
|
+
this.sessionValue = undefined;
|
|
230
|
+
this.instanceIdValue = undefined;
|
|
231
|
+
this.revisionValue = 0;
|
|
232
|
+
this.emitEvent(clear);
|
|
233
|
+
// Preserve a reentrant bind's resumed state; otherwise restore the
|
|
234
|
+
// historical post-dispose state for a later bind.
|
|
235
|
+
if (!this.sessionValue && !this.instanceIdValue)
|
|
236
|
+
this.suspended = false;
|
|
237
|
+
}
|
|
238
|
+
ensureRequestListener() {
|
|
239
|
+
if (this.requestListenerAttached)
|
|
240
|
+
return;
|
|
241
|
+
let unsubscribe;
|
|
242
|
+
try {
|
|
243
|
+
unsubscribe = this.transport.on(FORGE_ACTIVE_STATE_REQUEST_CHANNEL, (data) => this.onRequest(data));
|
|
244
|
+
}
|
|
245
|
+
catch {
|
|
246
|
+
// Optional bus registration must never break Forge lifecycle.
|
|
247
|
+
return;
|
|
248
|
+
}
|
|
249
|
+
this.requestListenerAttached = true;
|
|
250
|
+
this.requestUnsubscribe = typeof unsubscribe === "function" ? unsubscribe : undefined;
|
|
251
|
+
}
|
|
252
|
+
unsubscribeRequest() {
|
|
253
|
+
const unsubscribe = this.requestUnsubscribe;
|
|
254
|
+
this.requestUnsubscribe = undefined;
|
|
255
|
+
this.requestListenerAttached = false;
|
|
256
|
+
if (!unsubscribe)
|
|
257
|
+
return;
|
|
258
|
+
try {
|
|
259
|
+
unsubscribe();
|
|
260
|
+
}
|
|
261
|
+
catch {
|
|
262
|
+
// Optional bus teardown must never break Forge lifecycle.
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
onRequest(data) {
|
|
266
|
+
// Suppress snapshot replies while a restore is in flight: the only
|
|
267
|
+
// complete answer is the snapshot published once the rebind completes.
|
|
268
|
+
if (this.suspended)
|
|
269
|
+
return;
|
|
270
|
+
const request = validateActiveStateRequest(data);
|
|
271
|
+
if (!request.ok)
|
|
272
|
+
return;
|
|
273
|
+
if (!this.sessionValue || !this.instanceIdValue)
|
|
274
|
+
return;
|
|
275
|
+
if (request.data.sessionId !== undefined && request.data.sessionId !== this.sessionValue.sessionId)
|
|
276
|
+
return;
|
|
277
|
+
// Snapshot requests repeat the current revision rather than advancing it.
|
|
278
|
+
this.emitEvent(this.buildEvent(this.readSafely(), this.instanceIdValue, this.revisionValue));
|
|
279
|
+
}
|
|
280
|
+
buildEvent(view, instanceId, revision) {
|
|
281
|
+
const session = this.sessionValue;
|
|
282
|
+
if (!session)
|
|
283
|
+
return undefined;
|
|
284
|
+
const projectKey = activeStateProjectKey(session.cwd, this.hostnameValue);
|
|
285
|
+
const stackCandidate = isValidActiveStateScopedKey(view.stackKey) ? view.stackKey : null;
|
|
286
|
+
// Project-scoped bindings require a project key. An empty/unresolvable
|
|
287
|
+
// cwd must fail closed rather than emit a snapshot the contract rejects,
|
|
288
|
+
// and the profile provenance must be dropped with it: the profile matched
|
|
289
|
+
// a stack we cannot safely identify.
|
|
290
|
+
const droppedProjectBinding = projectKey === null && stackCandidate !== null && stackCandidate.startsWith("project:");
|
|
291
|
+
const stackKey = droppedProjectBinding ? null : stackCandidate;
|
|
292
|
+
return {
|
|
293
|
+
schemaVersion: FORGE_ACTIVE_STATE_SCHEMA_VERSION,
|
|
294
|
+
sessionId: session.sessionId,
|
|
295
|
+
instanceId,
|
|
296
|
+
revision,
|
|
297
|
+
stackKey,
|
|
298
|
+
profileKey: droppedProjectBinding ? null : compatibleProfileKey(view.profile, stackKey, projectKey),
|
|
299
|
+
projectKey,
|
|
300
|
+
};
|
|
301
|
+
}
|
|
302
|
+
buildClearEvent(session, instanceId, revision) {
|
|
303
|
+
return {
|
|
304
|
+
schemaVersion: FORGE_ACTIVE_STATE_SCHEMA_VERSION,
|
|
305
|
+
sessionId: session.sessionId,
|
|
306
|
+
instanceId,
|
|
307
|
+
revision,
|
|
308
|
+
stackKey: null,
|
|
309
|
+
profileKey: null,
|
|
310
|
+
projectKey: activeStateProjectKey(session.cwd, this.hostnameValue),
|
|
311
|
+
};
|
|
312
|
+
}
|
|
313
|
+
emitEvent(event) {
|
|
314
|
+
if (!event)
|
|
315
|
+
return;
|
|
316
|
+
// Defense in depth: never put a self-rejected snapshot on the bus.
|
|
317
|
+
if (!validateActiveStateEvent(event).ok)
|
|
318
|
+
return;
|
|
319
|
+
try {
|
|
320
|
+
this.transport.emit(FORGE_ACTIVE_STATE_CHANNEL, event);
|
|
321
|
+
}
|
|
322
|
+
catch {
|
|
323
|
+
// Optional bus failures must never affect Forge lifecycle or
|
|
324
|
+
// provider behavior.
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
readSafely() {
|
|
328
|
+
try {
|
|
329
|
+
const view = this.read();
|
|
330
|
+
return view && typeof view === "object" ? view : {};
|
|
331
|
+
}
|
|
332
|
+
catch {
|
|
333
|
+
// Optional listeners/readers must never alter Forge behavior.
|
|
334
|
+
return {};
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
advanceEpoch() {
|
|
338
|
+
if (this.revisionValue >= Number.MAX_SAFE_INTEGER) {
|
|
339
|
+
// Rotate to a fresh instance at the safe-integer boundary. Rolling
|
|
340
|
+
// the revision back to 1 on the same instance would look stale to
|
|
341
|
+
// consumers that reject non-increasing revisions.
|
|
342
|
+
this.instanceIdValue = this.createInstanceId();
|
|
343
|
+
this.revisionValue = 1;
|
|
344
|
+
}
|
|
345
|
+
else {
|
|
346
|
+
this.revisionValue += 1;
|
|
347
|
+
}
|
|
348
|
+
return { instanceId: this.instanceIdValue, revision: this.revisionValue };
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
/**
|
|
352
|
+
* A profile binding is cosmetic compatibility provenance, not a claim that the
|
|
353
|
+
* current model/tool policy still matches the profile. It is retained only
|
|
354
|
+
* while the profile's recorded prompt stack equals the effective stack.
|
|
355
|
+
*/
|
|
356
|
+
function compatibleProfileKey(profile, stackKey, projectKey) {
|
|
357
|
+
if (!profile || typeof profile.profileId !== "string")
|
|
358
|
+
return null;
|
|
359
|
+
const scope = profile.scope === "global" || profile.scope === "project" ? profile.scope : "project";
|
|
360
|
+
const candidate = `${scope}:${profile.profileId}`;
|
|
361
|
+
if (!isValidActiveStateScopedKey(candidate))
|
|
362
|
+
return null;
|
|
363
|
+
// A project-scoped profile binding is only meaningful with a project key.
|
|
364
|
+
if (scope === "project" && projectKey === null)
|
|
365
|
+
return null;
|
|
366
|
+
const recordedStack = typeof profile.promptStack === "string" ? profile.promptStack : null;
|
|
367
|
+
if (recordedStack !== stackKey)
|
|
368
|
+
return null;
|
|
369
|
+
return candidate;
|
|
370
|
+
}
|
|
371
|
+
function isPlainRecord(value) {
|
|
372
|
+
return !!value && typeof value === "object" && !Array.isArray(value);
|
|
373
|
+
}
|
|
374
|
+
//# sourceMappingURL=active-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"active-state.js","sourceRoot":"","sources":["../src/active-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-profile.d.ts","sourceRoot":"","sources":["../src/agent-profile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAsB,KAAK,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEvE,OAAO,EAAgF,KAAK,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC1I,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAQpD,OAAO,EAKN,KAAK,YAAY,EACjB,KAAK,sBAAsB,EAE3B,KAAK,0BAA0B,EAC/B,KAAK,kBAAkB,EACvB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,kBAAkB,EAAE,6BAA6B,EAAE,oBAAoB,EAAE,oCAAoC,EAAE,MAAM,2BAA2B,CAAC;AAC1J,YAAY,EAAE,YAAY,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAYnK,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,GAAE,QAAQ,GAAG,SAAqB,GAAG,kBAAkB,CAElH;AAED,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAElE,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAEnE;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,GAAE,MAAiC,GAAG,kBAAkB,EAAE,CAEvH;AAED,wBAAgB,uBAAuB,CAAC,SAAS,GAAE,MAAiC,GAAG,kBAAkB,EAAE,CAE1G;AAED,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,GAAG,kBAAkB,GAAG,SAAS,CAoBtH;AAED,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,GAAG,OAAO,CAW5F;AAED,wBAAgB,mBAAmB,CAClC,MAAM,EAAE,kBAAkB,EAC1B,SAAS,EAAE,+BAA+B,GACxC,oBAAoB,
|
|
1
|
+
{"version":3,"file":"agent-profile.d.ts","sourceRoot":"","sources":["../src/agent-profile.ts"],"names":[],"mappings":"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"}
|
package/dist/agent-profile.js
CHANGED
|
@@ -97,6 +97,17 @@ export function resolveAgentProfile(loaded, resources) {
|
|
|
97
97
|
});
|
|
98
98
|
}
|
|
99
99
|
const allowedPatterns = promptStack.stack.tools?.allow?.filter((pattern) => pattern !== "*") ?? [];
|
|
100
|
+
if (resources.toolNames && Array.isArray(promptStack.stack.tools?.initial)) {
|
|
101
|
+
for (const name of promptStack.stack.tools.initial) {
|
|
102
|
+
if (!resources.toolNames.includes(name)) {
|
|
103
|
+
diagnostics.push({
|
|
104
|
+
level: "warning",
|
|
105
|
+
field: "promptStack",
|
|
106
|
+
message: `Preset ${promptStack.stack.id} initial tool "${name}" is not registered; it will remain inactive.`,
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
100
111
|
if (resources.toolNames && !promptStack.stack.tools?.allow?.includes("*")) {
|
|
101
112
|
for (const pattern of allowedPatterns) {
|
|
102
113
|
if (resources.toolNames.some((name) => resourcePatternMatches(name, pattern)))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-profile.js","sourceRoot":"","sources":["../src/agent-profile.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent-profile.js","sourceRoot":"","sources":["../src/agent-profile.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { ResourceCatalog } from "./catalog.ts";
|
|
2
|
+
import { type Capability, type CapabilityBinding, type LoadedCapability } from "./codecs/capability.ts";
|
|
3
|
+
import { type ResourceKey } from "./resource-identity.ts";
|
|
4
|
+
export declare const MAX_CAPABILITY_BINDINGS = 256;
|
|
5
|
+
export interface ResolvedCapabilityBinding {
|
|
6
|
+
id: string;
|
|
7
|
+
ref: ResourceKey;
|
|
8
|
+
preset: ResourceKey;
|
|
9
|
+
modelCallable: boolean;
|
|
10
|
+
capability: Capability;
|
|
11
|
+
}
|
|
12
|
+
export type ResolveCapabilityResult = {
|
|
13
|
+
ok: true;
|
|
14
|
+
loaded: LoadedCapability;
|
|
15
|
+
} | {
|
|
16
|
+
ok: false;
|
|
17
|
+
error: string;
|
|
18
|
+
};
|
|
19
|
+
export type ResolveCapabilityBindingsResult = {
|
|
20
|
+
ok: true;
|
|
21
|
+
bindings: readonly ResolvedCapabilityBinding[];
|
|
22
|
+
} | {
|
|
23
|
+
ok: false;
|
|
24
|
+
error: string;
|
|
25
|
+
index?: number;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Resolve a capability for direct browse/enable from a catalog.
|
|
29
|
+
* Bare selector uses project-over-global shadowing. Exact selector targets specific scope.
|
|
30
|
+
* Ambiguity or unusable shadowed capabilities fail closed without global fallback.
|
|
31
|
+
*/
|
|
32
|
+
export declare function resolveCapability(catalog: ResourceCatalog<LoadedCapability>, selector: string): ResolveCapabilityResult;
|
|
33
|
+
/**
|
|
34
|
+
* Resolve capability bindings for a prompt stack preset.
|
|
35
|
+
* Bare refs strictly inherit preset scope. Global presets cannot bind project capabilities.
|
|
36
|
+
* Validates preset key, binding schemas, and duplicate effective IDs before resolving.
|
|
37
|
+
*/
|
|
38
|
+
export declare function resolveCapabilityBindings(catalog: ResourceCatalog<LoadedCapability>, preset: ResourceKey, bindings: readonly CapabilityBinding[]): ResolveCapabilityBindingsResult;
|
|
39
|
+
//# sourceMappingURL=capabilities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAIN,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAKN,KAAK,WAAW,EAEhB,MAAM,wBAAwB,CAAC;AAEhC,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAE3C,MAAM,WAAW,yBAAyB;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,WAAW,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,UAAU,CAAC;CACvB;AAED,MAAM,MAAM,uBAAuB,GAChC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAA;CAAE,GACtC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhC,MAAM,MAAM,+BAA+B,GACxC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,SAAS,yBAAyB,EAAE,CAAA;CAAE,GAC5D;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAChC,OAAO,EAAE,eAAe,CAAC,gBAAgB,CAAC,EAC1C,QAAQ,EAAE,MAAM,GACd,uBAAuB,CA6BzB;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACxC,OAAO,EAAE,eAAe,CAAC,gBAAgB,CAAC,EAC1C,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,SAAS,iBAAiB,EAAE,GACpC,+BAA+B,CA4EjC"}
|