@zihanw/pi-forge 0.4.0 → 0.5.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/CHANGELOG.md +49 -1
- package/README.md +11 -11
- package/README.zh-CN.md +4 -6
- package/SUBAGENT_ADAPTER_CONTRACT.md +3 -1
- package/dist/agent-profile.d.ts +21 -42
- package/dist/agent-profile.d.ts.map +1 -1
- package/dist/agent-profile.js +82 -194
- package/dist/agent-profile.js.map +1 -1
- package/dist/catalog.d.ts +27 -0
- package/dist/catalog.d.ts.map +1 -0
- package/dist/catalog.js +59 -0
- package/dist/catalog.js.map +1 -0
- package/dist/codecs/agent-profile.d.ts +53 -0
- package/dist/codecs/agent-profile.d.ts.map +1 -0
- package/dist/codecs/agent-profile.js +176 -0
- package/dist/codecs/agent-profile.js.map +1 -0
- package/dist/codecs/index.d.ts +5 -0
- package/dist/codecs/index.d.ts.map +1 -0
- package/dist/codecs/index.js +3 -0
- package/dist/codecs/index.js.map +1 -0
- package/dist/codecs/prompt-stack.d.ts +18 -0
- package/dist/codecs/prompt-stack.d.ts.map +1 -0
- package/dist/codecs/prompt-stack.js +479 -0
- package/dist/codecs/prompt-stack.js.map +1 -0
- package/dist/compile-cycle.d.ts +18 -0
- package/dist/compile-cycle.d.ts.map +1 -0
- package/dist/compile-cycle.js +13 -0
- package/dist/compile-cycle.js.map +1 -0
- package/dist/compiler.d.ts +10 -4
- package/dist/compiler.d.ts.map +1 -1
- package/dist/compiler.js +53 -19
- package/dist/compiler.js.map +1 -1
- package/dist/extension-registry.d.ts.map +1 -1
- package/dist/extension-registry.js +5 -2
- package/dist/extension-registry.js.map +1 -1
- package/dist/forge-config.d.ts +2 -81
- package/dist/forge-config.d.ts.map +1 -1
- package/dist/forge-config.js +5 -280
- package/dist/forge-config.js.map +1 -1
- package/dist/forge-v1/analyzer.d.ts +3 -0
- package/dist/forge-v1/analyzer.d.ts.map +1 -0
- package/dist/forge-v1/analyzer.js +50 -0
- package/dist/forge-v1/analyzer.js.map +1 -0
- package/dist/forge-v1/index.d.ts +6 -0
- package/dist/forge-v1/index.d.ts.map +1 -0
- package/dist/forge-v1/index.js +13 -0
- package/dist/forge-v1/index.js.map +1 -0
- package/dist/forge-v1/parser.d.ts +3 -0
- package/dist/forge-v1/parser.d.ts.map +1 -0
- package/dist/forge-v1/parser.js +186 -0
- package/dist/forge-v1/parser.js.map +1 -0
- package/dist/forge-v1/renderer.d.ts +9 -0
- package/dist/forge-v1/renderer.d.ts.map +1 -0
- package/dist/forge-v1/renderer.js +181 -0
- package/dist/forge-v1/renderer.js.map +1 -0
- package/dist/forge-v1/types.d.ts +87 -0
- package/dist/forge-v1/types.d.ts.map +1 -0
- package/dist/forge-v1/types.js +4 -0
- package/dist/forge-v1/types.js.map +1 -0
- package/dist/index.d.ts +12 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +49 -59
- package/dist/index.js.map +1 -1
- package/dist/lifecycle.d.ts +7 -5
- package/dist/lifecycle.d.ts.map +1 -1
- package/dist/lifecycle.js +44 -110
- package/dist/lifecycle.js.map +1 -1
- package/dist/loader.d.ts +16 -3
- package/dist/loader.d.ts.map +1 -1
- package/dist/loader.js +42 -440
- package/dist/loader.js.map +1 -1
- package/dist/macro-engine.d.ts +9 -14
- package/dist/macro-engine.d.ts.map +1 -1
- package/dist/macro-engine.js +5 -238
- package/dist/macro-engine.js.map +1 -1
- package/dist/payload-command.d.ts +6 -6
- package/dist/payload-command.d.ts.map +1 -1
- package/dist/payload-command.js.map +1 -1
- package/dist/payload-state.d.ts +16 -0
- package/dist/payload-state.d.ts.map +1 -0
- package/dist/payload-state.js +14 -0
- package/dist/payload-state.js.map +1 -0
- package/dist/preset-command.d.ts +4 -4
- package/dist/preset-command.d.ts.map +1 -1
- package/dist/preset-command.js +55 -98
- package/dist/preset-command.js.map +1 -1
- package/dist/preview.d.ts +4 -4
- package/dist/preview.d.ts.map +1 -1
- package/dist/preview.js +17 -8
- package/dist/preview.js.map +1 -1
- package/dist/profile-command.d.ts +2 -2
- package/dist/profile-command.d.ts.map +1 -1
- package/dist/profile-command.js +52 -26
- package/dist/profile-command.js.map +1 -1
- package/dist/profile-service.d.ts +5 -2
- package/dist/profile-service.d.ts.map +1 -1
- package/dist/profile-service.js +63 -42
- package/dist/profile-service.js.map +1 -1
- package/dist/prompt-analysis.d.ts +24 -0
- package/dist/prompt-analysis.d.ts.map +1 -0
- package/dist/prompt-analysis.js +84 -0
- package/dist/prompt-analysis.js.map +1 -0
- package/dist/prompt-runtime.d.ts +19 -0
- package/dist/prompt-runtime.d.ts.map +1 -0
- package/dist/prompt-runtime.js +30 -0
- package/dist/prompt-runtime.js.map +1 -0
- package/dist/regex.js +6 -12
- package/dist/regex.js.map +1 -1
- package/dist/render-helpers.d.ts +2 -10
- package/dist/render-helpers.d.ts.map +1 -1
- package/dist/render-helpers.js +3 -53
- package/dist/render-helpers.js.map +1 -1
- package/dist/repositories/agent-profile.d.ts +36 -0
- package/dist/repositories/agent-profile.d.ts.map +1 -0
- package/dist/repositories/agent-profile.js +153 -0
- package/dist/repositories/agent-profile.js.map +1 -0
- package/dist/repositories/index.d.ts +3 -0
- package/dist/repositories/index.d.ts.map +1 -0
- package/dist/repositories/index.js +3 -0
- package/dist/repositories/index.js.map +1 -0
- package/dist/repositories/prompt-stack.d.ts +57 -0
- package/dist/repositories/prompt-stack.d.ts.map +1 -0
- package/dist/repositories/prompt-stack.js +175 -0
- package/dist/repositories/prompt-stack.js.map +1 -0
- package/dist/resource-identity.d.ts +33 -0
- package/dist/resource-identity.d.ts.map +1 -0
- package/dist/resource-identity.js +56 -0
- package/dist/resource-identity.js.map +1 -0
- package/dist/runtime/profile-runtime.d.ts +2 -2
- package/dist/runtime/profile-runtime.d.ts.map +1 -1
- package/dist/runtime/profile-runtime.js +18 -10
- package/dist/runtime/profile-runtime.js.map +1 -1
- package/dist/runtime/prompt-stack-runtime.d.ts +5 -4
- package/dist/runtime/prompt-stack-runtime.d.ts.map +1 -1
- package/dist/runtime/prompt-stack-runtime.js +47 -52
- package/dist/runtime/prompt-stack-runtime.js.map +1 -1
- package/dist/runtime/tool-policy-runtime.d.ts +2 -2
- package/dist/runtime/tool-policy-runtime.d.ts.map +1 -1
- package/dist/runtime/tool-policy-runtime.js +3 -3
- package/dist/runtime/tool-policy-runtime.js.map +1 -1
- package/dist/session-adapter.d.ts +17 -0
- package/dist/session-adapter.d.ts.map +1 -0
- package/dist/session-adapter.js +57 -0
- package/dist/session-adapter.js.map +1 -0
- package/dist/slot-renderers.d.ts +16 -3
- package/dist/slot-renderers.d.ts.map +1 -1
- package/dist/slot-renderers.js +15 -63
- package/dist/slot-renderers.js.map +1 -1
- package/dist/stack-migration.d.ts +6 -0
- package/dist/stack-migration.d.ts.map +1 -1
- package/dist/stack-migration.js +49 -52
- package/dist/stack-migration.js.map +1 -1
- package/dist/storage.d.ts +10 -0
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +45 -10
- package/dist/storage.js.map +1 -1
- package/dist/subagent/fingerprints.d.ts +24 -0
- package/dist/subagent/fingerprints.d.ts.map +1 -0
- package/dist/subagent/fingerprints.js +81 -0
- package/dist/subagent/fingerprints.js.map +1 -0
- package/dist/subagent/host-port.d.ts +296 -0
- package/dist/subagent/host-port.d.ts.map +1 -0
- package/dist/subagent/host-port.js +560 -0
- package/dist/subagent/host-port.js.map +1 -0
- package/dist/subagent/index.d.ts +10 -10
- package/dist/subagent/index.d.ts.map +1 -1
- package/dist/subagent/index.js +9 -10
- package/dist/subagent/index.js.map +1 -1
- package/dist/subagent-host.d.ts +99 -18
- package/dist/subagent-host.d.ts.map +1 -1
- package/dist/subagent-host.js +185 -162
- package/dist/subagent-host.js.map +1 -1
- package/dist/template-render.d.ts +18 -0
- package/dist/template-render.d.ts.map +1 -0
- package/dist/template-render.js +232 -0
- package/dist/template-render.js.map +1 -0
- package/dist/types.d.ts +43 -27
- 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 +32 -72
- 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 +13 -0
- package/dist/web-editor/styles.js.map +1 -1
- package/dist/web-editor/types.d.ts +10 -37
- package/dist/web-editor/types.d.ts.map +1 -1
- package/dist/web-host.d.ts +4 -2
- package/dist/web-host.d.ts.map +1 -1
- package/dist/web-host.js +110 -138
- package/dist/web-host.js.map +1 -1
- package/dist/workspace.d.ts +74 -0
- package/dist/workspace.d.ts.map +1 -0
- package/dist/workspace.js +351 -0
- package/dist/workspace.js.map +1 -0
- package/docs/README.md +6 -4
- package/docs/concepts/agent-profiles.md +2 -2
- package/docs/concepts/prompt-stacks.md +12 -7
- package/docs/design/README.md +21 -3
- package/docs/design/architecture-0.5.md +211 -0
- package/docs/design/archive/0.5-full-proposal/0.5-consumer-audit.md +62 -0
- package/docs/design/archive/0.5-full-proposal/0.5-inventory.md +208 -0
- package/docs/design/archive/0.5-full-proposal/0.5-phase0-decision-drafts.md +237 -0
- package/docs/design/archive/0.5-full-proposal/README.md +12 -0
- package/docs/design/archive/0.5-full-proposal/architecture-0.5.md +423 -0
- package/docs/design/archive/0.5-full-proposal/host-discovery-spike.md +103 -0
- package/docs/design/archive/0.5-full-proposal/template-language-spike.md +156 -0
- package/docs/design/context-diff-plan.md +72 -0
- package/docs/design/decision-template.md +33 -0
- package/docs/design/roadmap-0.4-archive.md +1 -1
- package/docs/design/subagents/interface-design.md +1 -1
- package/docs/development/architecture-rules.md +148 -0
- package/docs/development/roadmap.md +39 -13
- package/docs/development/scoped-global-profiles-stacks.md +325 -0
- package/docs/development/setup.md +6 -4
- package/docs/getting-started.md +9 -6
- package/docs/guides/custom-macros-and-slots.md +8 -7
- package/docs/guides/debugging.md +1 -1
- package/docs/guides/delegation.md +25 -21
- package/docs/guides/migrating-to-0.5.md +107 -0
- package/docs/guides/use-cases.md +7 -11
- package/docs/guides/web-editor.md +7 -11
- package/docs/reference/commands.md +4 -3
- package/docs/reference/configuration.md +18 -17
- package/docs/reference/features.md +34 -79
- package/docs/reference/macros-and-slots.md +70 -49
- package/docs/reference/public-api.md +64 -17
- package/docs/reference/stack-schema.md +14 -9
- package/docs/reference/subagent-host-port.md +49 -0
- package/docs/zh-CN/README.md +3 -3
- package/docs/zh-CN/concepts/agent-profiles.md +4 -2
- package/docs/zh-CN/concepts/prompt-stacks.md +9 -7
- package/docs/zh-CN/getting-started.md +10 -7
- package/docs/zh-CN/guides/delegation.md +11 -13
- package/docs/zh-CN/guides/migrating-to-0.5.md +92 -0
- package/docs/zh-CN/guides/web-editor.md +7 -7
- package/docs/zh-CN/reference/commands.md +6 -3
- package/examples/custom-system-status-extension/README.md +3 -3
- package/examples/custom-system-status-extension/index.ts +2 -1
- package/examples/custom-system-status-extension/prompt-stack.json +4 -3
- package/examples/default-prompt-stack.json +9 -4
- package/examples/image-reader-prompt-stack.json +16 -26
- package/examples/reviewer-prompt-stack.json +13 -24
- package/package.json +101 -120
- package/dist/runtime/subagent-runtime.d.ts +0 -45
- package/dist/runtime/subagent-runtime.d.ts.map +0 -1
- package/dist/runtime/subagent-runtime.js +0 -335
- package/dist/runtime/subagent-runtime.js.map +0 -1
- package/dist/runtime-state.d.ts +0 -30
- package/dist/runtime-state.d.ts.map +0 -1
- package/dist/runtime-state.js +0 -17
- package/dist/runtime-state.js.map +0 -1
- package/dist/sillytavern-importer/items.d.ts +0 -3
- package/dist/sillytavern-importer/items.d.ts.map +0 -1
- package/dist/sillytavern-importer/items.js +0 -88
- package/dist/sillytavern-importer/items.js.map +0 -1
- package/dist/sillytavern-importer/macros.d.ts +0 -15
- package/dist/sillytavern-importer/macros.d.ts.map +0 -1
- package/dist/sillytavern-importer/macros.js +0 -141
- package/dist/sillytavern-importer/macros.js.map +0 -1
- package/dist/sillytavern-importer/prompt-order.d.ts +0 -6
- package/dist/sillytavern-importer/prompt-order.d.ts.map +0 -1
- package/dist/sillytavern-importer/prompt-order.js +0 -38
- package/dist/sillytavern-importer/prompt-order.js.map +0 -1
- package/dist/sillytavern-importer/regex.d.ts +0 -3
- package/dist/sillytavern-importer/regex.d.ts.map +0 -1
- package/dist/sillytavern-importer/regex.js +0 -275
- package/dist/sillytavern-importer/regex.js.map +0 -1
- package/dist/sillytavern-importer/report.d.ts +0 -21
- package/dist/sillytavern-importer/report.d.ts.map +0 -1
- package/dist/sillytavern-importer/report.js +0 -166
- package/dist/sillytavern-importer/report.js.map +0 -1
- package/dist/sillytavern-importer/types.d.ts +0 -106
- package/dist/sillytavern-importer/types.d.ts.map +0 -1
- package/dist/sillytavern-importer/types.js +0 -2
- package/dist/sillytavern-importer/types.js.map +0 -1
- package/dist/sillytavern-importer.d.ts +0 -5
- package/dist/sillytavern-importer.d.ts.map +0 -1
- package/dist/sillytavern-importer.js +0 -117
- package/dist/sillytavern-importer.js.map +0 -1
- package/dist/subagent/canonical.d.ts +0 -22
- package/dist/subagent/canonical.d.ts.map +0 -1
- package/dist/subagent/canonical.js +0 -24
- package/dist/subagent/canonical.js.map +0 -1
- package/dist/subagent/context.d.ts +0 -8
- package/dist/subagent/context.d.ts.map +0 -1
- package/dist/subagent/context.js +0 -125
- package/dist/subagent/context.js.map +0 -1
- package/dist/subagent/contract.d.ts +0 -10
- package/dist/subagent/contract.d.ts.map +0 -1
- package/dist/subagent/contract.js +0 -10
- package/dist/subagent/contract.js.map +0 -1
- package/dist/subagent/plan.d.ts +0 -18
- package/dist/subagent/plan.d.ts.map +0 -1
- package/dist/subagent/plan.js +0 -157
- package/dist/subagent/plan.js.map +0 -1
- package/dist/subagent/preflight.d.ts +0 -4
- package/dist/subagent/preflight.d.ts.map +0 -1
- package/dist/subagent/preflight.js +0 -108
- package/dist/subagent/preflight.js.map +0 -1
- package/dist/subagent/request.d.ts +0 -4
- package/dist/subagent/request.d.ts.map +0 -1
- package/dist/subagent/request.js +0 -122
- package/dist/subagent/request.js.map +0 -1
- package/dist/subagent/response.d.ts +0 -8
- package/dist/subagent/response.d.ts.map +0 -1
- package/dist/subagent/response.js +0 -155
- package/dist/subagent/response.js.map +0 -1
- package/dist/subagent/tools.d.ts +0 -4
- package/dist/subagent/tools.d.ts.map +0 -1
- package/dist/subagent/tools.js +0 -42
- package/dist/subagent/tools.js.map +0 -1
- package/dist/subagent/types.d.ts +0 -268
- package/dist/subagent/types.d.ts.map +0 -1
- package/dist/subagent/types.js +0 -3
- package/dist/subagent/types.js.map +0 -1
- package/dist/subagent/validation.d.ts +0 -35
- package/dist/subagent/validation.d.ts.map +0 -1
- package/dist/subagent/validation.js +0 -314
- package/dist/subagent/validation.js.map +0 -1
- package/dist/subagent-command.d.ts +0 -4
- package/dist/subagent-command.d.ts.map +0 -1
- package/dist/subagent-command.js +0 -246
- package/dist/subagent-command.js.map +0 -1
- package/dist/subagent-profile-tool.d.ts +0 -49
- package/dist/subagent-profile-tool.d.ts.map +0 -1
- package/dist/subagent-profile-tool.js +0 -124
- package/dist/subagent-profile-tool.js.map +0 -1
- package/dist/subagent-tool.d.ts +0 -53
- package/dist/subagent-tool.d.ts.map +0 -1
- package/dist/subagent-tool.js +0 -456
- package/dist/subagent-tool.js.map +0 -1
- package/docs/guides/sillytavern-import.md +0 -47
- package/docs/reference/subagent-adapter.md +0 -204
- package/examples/sillytavern-dm-writer-prompt-stack.json +0 -190
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
import { canonicalSubagentJson } from "./canonical.js";
|
|
2
|
-
import { SUBAGENT_CONTRACT_VERSION } from "./types.js";
|
|
3
|
-
import { SUBAGENT_LIMIT_NAMES, error, isIsoDate, isNonNegativeFinite, isPositiveInteger, isRecord, isSafeRelativePath, validateAccessReceipt, validateFingerprint, validateLimitReceipt, validateModelReference, validateNamespace, validateOpaqueId, validateUniqueStringArray, validateUsage } from "./validation.js";
|
|
4
|
-
export function validateAgentResponse(response, context) {
|
|
5
|
-
const diagnostics = [];
|
|
6
|
-
if (!isRecord(response))
|
|
7
|
-
return [error("response.type", "AgentResponse must be an object.", "$")];
|
|
8
|
-
if (!SUBAGENT_RESPONSE_STATUSES.includes(response.status))
|
|
9
|
-
diagnostics.push(error("response.status", "Unsupported response status.", "status"));
|
|
10
|
-
if (response.schemaVersion !== SUBAGENT_CONTRACT_VERSION)
|
|
11
|
-
diagnostics.push(error("response.schema-version", "schemaVersion must be 1.", "schemaVersion"));
|
|
12
|
-
for (const id of ["requestId", "runId", "backendId"])
|
|
13
|
-
validateOpaqueId(response[id], id, diagnostics);
|
|
14
|
-
validateFingerprint(response.profileFingerprint, "profileFingerprint", diagnostics);
|
|
15
|
-
validateFingerprint(response.executionFingerprint, "executionFingerprint", diagnostics);
|
|
16
|
-
validateModelReference(response.model, "model", diagnostics);
|
|
17
|
-
if (!Array.isArray(response.effectiveToolIds))
|
|
18
|
-
diagnostics.push(error("response.tools", "effectiveToolIds must be a string array.", "effectiveToolIds"));
|
|
19
|
-
else
|
|
20
|
-
validateUniqueStringArray(response.effectiveToolIds, "effectiveToolIds", diagnostics);
|
|
21
|
-
if (!isNonNegativeFinite(response.durationMs))
|
|
22
|
-
diagnostics.push(error("response.duration", "durationMs must be a non-negative finite number.", "durationMs"));
|
|
23
|
-
if (!Array.isArray(response.artifacts))
|
|
24
|
-
diagnostics.push(error("response.artifacts", "artifacts must be an array.", "artifacts"));
|
|
25
|
-
else
|
|
26
|
-
response.artifacts.forEach((artifact, index) => diagnostics.push(...validateSubagentArtifactReference(artifact, `artifacts[${index}]`)));
|
|
27
|
-
if (response.trace !== undefined) {
|
|
28
|
-
diagnostics.push(...validateSubagentTraceReference(response.trace, "trace"));
|
|
29
|
-
if (isRecord(response.trace) && response.trace.backendId !== response.backendId)
|
|
30
|
-
diagnostics.push(error("response.trace-backend", "Trace backendId must match response backendId.", "trace.backendId"));
|
|
31
|
-
}
|
|
32
|
-
if (response.usage !== undefined)
|
|
33
|
-
validateUsage(response.usage, "usage", diagnostics);
|
|
34
|
-
if (!isRecord(response.enforcement))
|
|
35
|
-
diagnostics.push(error("response.enforcement", "enforcement must be an object.", "enforcement"));
|
|
36
|
-
else {
|
|
37
|
-
validateAccessReceipt(response.enforcement.access, "enforcement.access", diagnostics);
|
|
38
|
-
validateLimitReceipt(response.enforcement.limits, "enforcement.limits", diagnostics);
|
|
39
|
-
}
|
|
40
|
-
validateResponseStatusMatrix(response, diagnostics);
|
|
41
|
-
if (context?.request && response.requestId !== context.request.requestId)
|
|
42
|
-
diagnostics.push(error("response.request-id", "requestId does not match the request.", "requestId"));
|
|
43
|
-
if (context?.plan) {
|
|
44
|
-
if (response.requestId !== context.plan.requestId)
|
|
45
|
-
diagnostics.push(error("response.request-plan-id", "requestId does not match the execution plan.", "requestId"));
|
|
46
|
-
if (response.runId !== context.plan.runId)
|
|
47
|
-
diagnostics.push(error("response.run-id", "runId does not match the execution plan.", "runId"));
|
|
48
|
-
if (response.backendId !== context.plan.backendId)
|
|
49
|
-
diagnostics.push(error("response.backend-id", "backendId does not match the execution plan.", "backendId"));
|
|
50
|
-
if (response.executionFingerprint !== context.plan.executionFingerprint)
|
|
51
|
-
diagnostics.push(error("response.execution-fingerprint", "executionFingerprint does not match the execution plan.", "executionFingerprint"));
|
|
52
|
-
if (response.profileFingerprint !== context.plan.profile.profileFingerprint)
|
|
53
|
-
diagnostics.push(error("response.profile-fingerprint", "profileFingerprint does not match the execution plan.", "profileFingerprint"));
|
|
54
|
-
if (response.status === "timed-out" && response.enforcedTimeoutMs !== context.plan.limits.timeoutMs?.value)
|
|
55
|
-
diagnostics.push(error("response.timeout-receipt", "enforcedTimeoutMs does not match the execution plan timeout receipt.", "enforcedTimeoutMs"));
|
|
56
|
-
if (response.status === "limit-reached" && !context.plan.limits[response.reachedLimit])
|
|
57
|
-
diagnostics.push(error("response.limit-receipt-missing", "reachedLimit has no enforcement receipt in the execution plan.", "reachedLimit"));
|
|
58
|
-
if (response.trace !== undefined && !context.plan.preflight.backend.capabilities.traceInspection)
|
|
59
|
-
diagnostics.push(error("response.trace-capability", "Backend returned a trace without advertising traceInspection.", "trace"));
|
|
60
|
-
if (Array.isArray(response.artifacts) && response.artifacts.length > 0 && !context.plan.preflight.backend.capabilities.artifactRetention)
|
|
61
|
-
diagnostics.push(error("response.artifact-capability", "Backend returned artifacts without advertising artifactRetention.", "artifacts"));
|
|
62
|
-
try {
|
|
63
|
-
if (canonicalSubagentJson(response.model) !== canonicalSubagentJson(context.plan.model))
|
|
64
|
-
diagnostics.push(error("response.model-mismatch", "Response model does not match the execution plan.", "model"));
|
|
65
|
-
if (Array.isArray(response.effectiveToolIds) && canonicalSubagentJson(response.effectiveToolIds) !== canonicalSubagentJson(context.plan.effectiveToolIds))
|
|
66
|
-
diagnostics.push(error("response.tools-mismatch", "effectiveToolIds do not match the execution plan.", "effectiveToolIds"));
|
|
67
|
-
if (isRecord(response.enforcement)) {
|
|
68
|
-
if (canonicalSubagentJson(response.enforcement.access) !== canonicalSubagentJson(context.plan.access))
|
|
69
|
-
diagnostics.push(error("response.access-receipt", "Access enforcement receipt does not match the execution plan.", "enforcement.access"));
|
|
70
|
-
if (canonicalSubagentJson(response.enforcement.limits) !== canonicalSubagentJson(context.plan.limits))
|
|
71
|
-
diagnostics.push(error("response.limit-receipt", "Limit enforcement receipt does not match the execution plan.", "enforcement.limits"));
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
catch (validationError) {
|
|
75
|
-
diagnostics.push(error("response.malformed", `Cannot compare malformed response with plan: ${validationError instanceof Error ? validationError.message : String(validationError)}`, "$"));
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
return diagnostics;
|
|
79
|
-
}
|
|
80
|
-
export function validateSubagentArtifactReference(value, path = "artifact") {
|
|
81
|
-
const diagnostics = [];
|
|
82
|
-
if (!isRecord(value))
|
|
83
|
-
return [error("artifact.type", "Artifact reference must be an object.", path)];
|
|
84
|
-
validateOpaqueId(value.id, `${path}.id`, diagnostics);
|
|
85
|
-
validateNamespace(value.workspaceNamespace, `${path}.workspaceNamespace`, diagnostics);
|
|
86
|
-
if (!isSafeRelativePath(value.path))
|
|
87
|
-
diagnostics.push(error("artifact.path", "Artifact path must be a normalized relative POSIX path without dot segments.", `${path}.path`));
|
|
88
|
-
if (value.authorization !== "read" && value.authorization !== "write")
|
|
89
|
-
diagnostics.push(error("artifact.authorization", "authorization must be read or write.", `${path}.authorization`));
|
|
90
|
-
if (!SUBAGENT_ARTIFACT_LIFETIMES.includes(value.lifetime))
|
|
91
|
-
diagnostics.push(error("artifact.lifetime", "Unsupported artifact lifetime.", `${path}.lifetime`));
|
|
92
|
-
if (!SUBAGENT_ARTIFACT_CLEANUP.includes(value.cleanup))
|
|
93
|
-
diagnostics.push(error("artifact.cleanup", "Unsupported artifact cleanup owner.", `${path}.cleanup`));
|
|
94
|
-
return diagnostics;
|
|
95
|
-
}
|
|
96
|
-
export function validateSubagentTraceReference(value, path = "trace") {
|
|
97
|
-
const diagnostics = [];
|
|
98
|
-
if (!isRecord(value))
|
|
99
|
-
return [error("trace.type", "Trace reference must be an object.", path)];
|
|
100
|
-
validateOpaqueId(value.handle, `${path}.handle`, diagnostics);
|
|
101
|
-
validateOpaqueId(value.backendId, `${path}.backendId`, diagnostics);
|
|
102
|
-
validateNamespace(value.authorizationScope, `${path}.authorizationScope`, diagnostics);
|
|
103
|
-
if (value.expiresAt !== undefined && !isIsoDate(value.expiresAt))
|
|
104
|
-
diagnostics.push(error("trace.expiry", "expiresAt must be an ISO date-time string.", `${path}.expiresAt`));
|
|
105
|
-
return diagnostics;
|
|
106
|
-
}
|
|
107
|
-
const SUBAGENT_RESPONSE_STATUSES = ["completed", "failed", "cancelled", "timed-out", "limit-reached"];
|
|
108
|
-
const SUBAGENT_ARTIFACT_LIFETIMES = ["run", "session", "persistent"];
|
|
109
|
-
const SUBAGENT_ARTIFACT_CLEANUP = ["backend", "host", "user"];
|
|
110
|
-
function validateResponseStatusMatrix(response, diagnostics) {
|
|
111
|
-
const output = response.output;
|
|
112
|
-
if (output !== undefined) {
|
|
113
|
-
if (!isRecord(output) || typeof output.text !== "string" || typeof output.partial !== "boolean")
|
|
114
|
-
diagnostics.push(error("response.output", "output must contain text and partial.", "output"));
|
|
115
|
-
}
|
|
116
|
-
if (response.status === "completed") {
|
|
117
|
-
if (response.error !== undefined || response.reason !== undefined || response.reachedLimit !== undefined || response.enforcedTimeoutMs !== undefined)
|
|
118
|
-
diagnostics.push(error("response.completed-fields", "Completed responses cannot contain terminal error/reason/limit fields.", "status"));
|
|
119
|
-
if (isRecord(output) && output.partial !== false)
|
|
120
|
-
diagnostics.push(error("response.completed-partial", "Completed output cannot be partial.", "output.partial"));
|
|
121
|
-
}
|
|
122
|
-
else {
|
|
123
|
-
if (isRecord(output) && output.partial !== true)
|
|
124
|
-
diagnostics.push(error("response.partial", "Non-completed output must be marked partial.", "output.partial"));
|
|
125
|
-
if (response.status === "failed") {
|
|
126
|
-
if (!isRecord(response.error) || typeof response.error.code !== "string" || typeof response.error.message !== "string")
|
|
127
|
-
diagnostics.push(error("response.failed-error", "Failed responses require a structured error.", "error"));
|
|
128
|
-
forbidResponseFields(response, ["reason", "reachedLimit", "enforcedTimeoutMs"], diagnostics);
|
|
129
|
-
}
|
|
130
|
-
if (response.status === "cancelled") {
|
|
131
|
-
if (typeof response.reason !== "string" || !response.reason.trim())
|
|
132
|
-
diagnostics.push(error("response.reason", "cancelled responses require a reason.", "reason"));
|
|
133
|
-
forbidResponseFields(response, ["error", "reachedLimit", "enforcedTimeoutMs"], diagnostics);
|
|
134
|
-
}
|
|
135
|
-
if (response.status === "timed-out") {
|
|
136
|
-
if (typeof response.reason !== "string" || !response.reason.trim())
|
|
137
|
-
diagnostics.push(error("response.reason", "timed-out responses require a reason.", "reason"));
|
|
138
|
-
if (!isPositiveInteger(response.enforcedTimeoutMs))
|
|
139
|
-
diagnostics.push(error("response.timeout", "Timed-out responses require enforcedTimeoutMs.", "enforcedTimeoutMs"));
|
|
140
|
-
forbidResponseFields(response, ["error", "reachedLimit"], diagnostics);
|
|
141
|
-
}
|
|
142
|
-
if (response.status === "limit-reached") {
|
|
143
|
-
if (!SUBAGENT_LIMIT_NAMES.includes(response.reachedLimit))
|
|
144
|
-
diagnostics.push(error("response.reached-limit", "limit-reached responses require a valid reachedLimit.", "reachedLimit"));
|
|
145
|
-
forbidResponseFields(response, ["error", "reason", "enforcedTimeoutMs"], diagnostics);
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
function forbidResponseFields(response, fields, diagnostics) {
|
|
150
|
-
for (const field of fields) {
|
|
151
|
-
if (response[field] !== undefined)
|
|
152
|
-
diagnostics.push(error("response.forbidden-field", `${response.status} response cannot contain ${field}.`, field));
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
//# sourceMappingURL=response.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/subagent/response.ts"],"names":[],"mappings":"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"}
|
package/dist/subagent/tools.d.ts
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import type { PromptResourcePolicy } from "../types.ts";
|
|
2
|
-
import type { SubagentAccessRequest, SubagentBackendTool, SubagentToolNegotiationResult } from "./types.ts";
|
|
3
|
-
export declare function negotiateSubagentTools(catalog: readonly SubagentBackendTool[], policy: PromptResourcePolicy | undefined, access: SubagentAccessRequest): SubagentToolNegotiationResult;
|
|
4
|
-
//# sourceMappingURL=tools.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/subagent/tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,KAAK,EAAE,qBAAqB,EAAE,mBAAmB,EAAsB,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAGhI,wBAAgB,sBAAsB,CACrC,OAAO,EAAE,SAAS,mBAAmB,EAAE,EACvC,MAAM,EAAE,oBAAoB,GAAG,SAAS,EACxC,MAAM,EAAE,qBAAqB,GAC3B,6BAA6B,CAyB/B"}
|
package/dist/subagent/tools.js
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { applyResourcePolicy, resourcePatternMatches } from "../policy.js";
|
|
2
|
-
import { validateToolCatalog } from "./validation.js";
|
|
3
|
-
export function negotiateSubagentTools(catalog, policy, access) {
|
|
4
|
-
const diagnostics = [];
|
|
5
|
-
validateToolCatalog(catalog, diagnostics);
|
|
6
|
-
const names = catalog.map((tool) => tool.name);
|
|
7
|
-
const stackSelectedToolNames = applyResourcePolicy(names, policy);
|
|
8
|
-
const selected = new Set(stackSelectedToolNames);
|
|
9
|
-
const effective = catalog.filter((tool) => selected.has(tool.name) && toolAllowedByAccess(tool, access));
|
|
10
|
-
const unmatchedAllowPatterns = policy && "allow" in policy
|
|
11
|
-
? (policy.allow ?? []).filter((pattern) => pattern !== "*" && !names.some((name) => resourcePatternMatches(name, pattern)))
|
|
12
|
-
: [];
|
|
13
|
-
for (const pattern of unmatchedAllowPatterns) {
|
|
14
|
-
diagnostics.push({ level: "warning", code: "tools.unmatched-allow", path: "tools.allow", message: `Tool allow pattern matches no backend tools: ${pattern}` });
|
|
15
|
-
}
|
|
16
|
-
for (const tool of catalog) {
|
|
17
|
-
if (selected.has(tool.name) && !effective.includes(tool)) {
|
|
18
|
-
diagnostics.push({ level: "info", code: "tools.access-filtered", path: `tools.${tool.name}`, message: `Tool ${tool.name} was removed by request access policy.` });
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
return {
|
|
22
|
-
effectiveToolIds: effective.map((tool) => tool.id),
|
|
23
|
-
effectiveToolNames: effective.map((tool) => tool.name),
|
|
24
|
-
stackSelectedToolNames,
|
|
25
|
-
unmatchedAllowPatterns,
|
|
26
|
-
diagnostics,
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
function toolAllowedByAccess(tool, access) {
|
|
30
|
-
for (const effect of tool.effects) {
|
|
31
|
-
if (effect === "network" && access.network !== "allow")
|
|
32
|
-
return false;
|
|
33
|
-
if (effect === "process" && access.allowProcess !== true)
|
|
34
|
-
return false;
|
|
35
|
-
if (effect === "filesystem-read" && access.level === "none")
|
|
36
|
-
return false;
|
|
37
|
-
if (effect === "filesystem-write" && access.level !== "workspace-write")
|
|
38
|
-
return false;
|
|
39
|
-
}
|
|
40
|
-
return true;
|
|
41
|
-
}
|
|
42
|
-
//# sourceMappingURL=tools.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/subagent/tools.ts"],"names":[],"mappings":"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"}
|
package/dist/subagent/types.d.ts
DELETED
|
@@ -1,268 +0,0 @@
|
|
|
1
|
-
import type { ThinkingLevel } from "@earendil-works/pi-agent-core";
|
|
2
|
-
import type { AgentProfile, AgentProfileModelReference } from "../agent-profile.ts";
|
|
3
|
-
import type { PromptStack } from "../types.ts";
|
|
4
|
-
import type { AccessCapabilities, AccessLevel, AccessReceipt, AccessRequest, BackendCapabilities, BackendDescriptor, BackendTool, Diagnostic, DiagnosticLevel, EnforcedLimit, Fingerprint, LimitEnforcement, LimitName, LimitReceipt, LimitRequest, LimitRequirement, LimitRequirementLevel, MediaReference, MountMapping, NetworkPolicy, WorkspaceMode, WorkspaceRequest, WorkingDirectoryRequest, PreparedContentPart, PreparedMessage, PreparedMessageRole, PromptRuntime, PromptRuntimeOptions, PromptRuntimeSkill, RunError, RunUsage, ToolEffect, ExecutionBoundary } from "@zihanw/pi-subagent-runtime";
|
|
5
|
-
export declare const SUBAGENT_CONTRACT_VERSION: 1;
|
|
6
|
-
export type SubagentFingerprint = Fingerprint;
|
|
7
|
-
export { FINGERPRINT_PREFIX as SUBAGENT_FINGERPRINT_PREFIX } from "@zihanw/pi-subagent-runtime";
|
|
8
|
-
export type SubagentDiagnosticLevel = DiagnosticLevel;
|
|
9
|
-
export type SubagentDiagnostic = Diagnostic;
|
|
10
|
-
export type SubagentMediaReference = MediaReference;
|
|
11
|
-
export type SubagentAccessLevel = AccessLevel;
|
|
12
|
-
export type SubagentWorkspaceMode = WorkspaceMode;
|
|
13
|
-
export type SubagentNetworkPolicy = NetworkPolicy;
|
|
14
|
-
export type SubagentExecutionBoundary = ExecutionBoundary;
|
|
15
|
-
export type SubagentWorkspaceRequest = WorkspaceRequest;
|
|
16
|
-
export type SubagentWorkingDirectoryRequest = WorkingDirectoryRequest;
|
|
17
|
-
export type SubagentAccessRequest = AccessRequest;
|
|
18
|
-
export type SubagentLimitName = LimitName;
|
|
19
|
-
export type SubagentLimitEnforcementPreference = LimitRequirementLevel;
|
|
20
|
-
export type SubagentLimitRequirement = LimitRequirement;
|
|
21
|
-
export type SubagentLimitRequest = LimitRequest;
|
|
22
|
-
export type SubagentToolEffect = ToolEffect;
|
|
23
|
-
export type SubagentBackendTool = BackendTool;
|
|
24
|
-
export type SubagentAccessCapabilities = AccessCapabilities;
|
|
25
|
-
export type SubagentLimitEnforcement = LimitEnforcement;
|
|
26
|
-
export type SubagentMountMapping = MountMapping;
|
|
27
|
-
export type SubagentEnforcedLimit = EnforcedLimit;
|
|
28
|
-
export type SubagentLimitReceipt = LimitReceipt;
|
|
29
|
-
export type SubagentPreparedMessageRole = PreparedMessageRole;
|
|
30
|
-
export type SubagentPreparedContentPart = PreparedContentPart;
|
|
31
|
-
export type SubagentPromptRuntimeSkill = PromptRuntimeSkill;
|
|
32
|
-
export type SubagentPromptRuntimeOptions = PromptRuntimeOptions;
|
|
33
|
-
export type SubagentUsage = RunUsage;
|
|
34
|
-
export type SubagentError = RunError;
|
|
35
|
-
export type SubagentAccessReceipt = AccessReceipt;
|
|
36
|
-
export type SubagentPreparationRuntime = PromptRuntime;
|
|
37
|
-
export type SubagentBackendCapabilities = BackendCapabilities & {
|
|
38
|
-
traceInspection: boolean;
|
|
39
|
-
artifactRetention: boolean;
|
|
40
|
-
};
|
|
41
|
-
export type SubagentBackendDescriptor = Omit<BackendDescriptor, "capabilities"> & {
|
|
42
|
-
capabilities: SubagentBackendCapabilities;
|
|
43
|
-
};
|
|
44
|
-
export type SubagentPreparedMessage = PreparedMessage & {
|
|
45
|
-
protectedTask?: boolean;
|
|
46
|
-
source?: "selected-context" | "prompt-stack" | "delegated-task";
|
|
47
|
-
};
|
|
48
|
-
export interface SubagentTaskInput {
|
|
49
|
-
text: string;
|
|
50
|
-
media?: SubagentMediaReference[];
|
|
51
|
-
}
|
|
52
|
-
export type SubagentContextItemKind = "summary" | "user-excerpt" | "assistant-excerpt" | "tool-result-excerpt" | "resource-excerpt";
|
|
53
|
-
export interface SubagentContextProvenance {
|
|
54
|
-
source: string;
|
|
55
|
-
reference?: string;
|
|
56
|
-
}
|
|
57
|
-
export interface SubagentContextItem {
|
|
58
|
-
id: string;
|
|
59
|
-
kind: SubagentContextItemKind;
|
|
60
|
-
text: string;
|
|
61
|
-
required?: boolean;
|
|
62
|
-
provenance: SubagentContextProvenance;
|
|
63
|
-
}
|
|
64
|
-
export interface SubagentSelectedContext {
|
|
65
|
-
maxBytes: number;
|
|
66
|
-
items: SubagentContextItem[];
|
|
67
|
-
}
|
|
68
|
-
export interface AgentRequest {
|
|
69
|
-
schemaVersion: typeof SUBAGENT_CONTRACT_VERSION;
|
|
70
|
-
requestId: string;
|
|
71
|
-
profileId: string;
|
|
72
|
-
expectedProfileFingerprint?: SubagentFingerprint;
|
|
73
|
-
input: SubagentTaskInput;
|
|
74
|
-
selectedContext?: SubagentSelectedContext;
|
|
75
|
-
access: SubagentAccessRequest;
|
|
76
|
-
limits: SubagentLimitRequest;
|
|
77
|
-
resultProjection: {
|
|
78
|
-
maxChars: number;
|
|
79
|
-
};
|
|
80
|
-
parent: {
|
|
81
|
-
runId?: string;
|
|
82
|
-
sessionId?: string;
|
|
83
|
-
depth: number;
|
|
84
|
-
maxDepth: number;
|
|
85
|
-
};
|
|
86
|
-
remoteEgressConsent: boolean;
|
|
87
|
-
}
|
|
88
|
-
export type SubagentDependencyKind = "macro" | "slot";
|
|
89
|
-
export interface SubagentPromptDependency {
|
|
90
|
-
kind: SubagentDependencyKind;
|
|
91
|
-
name: string;
|
|
92
|
-
identity: string;
|
|
93
|
-
source?: string;
|
|
94
|
-
}
|
|
95
|
-
export interface AgentProfileSnapshot {
|
|
96
|
-
schemaVersion: typeof SUBAGENT_CONTRACT_VERSION;
|
|
97
|
-
profile: AgentProfile;
|
|
98
|
-
promptStack: PromptStack | null;
|
|
99
|
-
dependencies: SubagentPromptDependency[];
|
|
100
|
-
profileFingerprint: SubagentFingerprint;
|
|
101
|
-
promptStackFingerprint: SubagentFingerprint | null;
|
|
102
|
-
}
|
|
103
|
-
export interface SubagentToolNegotiationResult {
|
|
104
|
-
effectiveToolIds: string[];
|
|
105
|
-
effectiveToolNames: string[];
|
|
106
|
-
stackSelectedToolNames: string[];
|
|
107
|
-
unmatchedAllowPatterns: string[];
|
|
108
|
-
diagnostics: SubagentDiagnostic[];
|
|
109
|
-
}
|
|
110
|
-
export interface SubagentContextBudgetReceipt {
|
|
111
|
-
maxBytes: number;
|
|
112
|
-
includedBytes: number;
|
|
113
|
-
includedItemIds: string[];
|
|
114
|
-
omittedItemIds: string[];
|
|
115
|
-
}
|
|
116
|
-
export interface BackendPreflightAccepted {
|
|
117
|
-
status: "accepted";
|
|
118
|
-
preflightId: string;
|
|
119
|
-
backend: SubagentBackendDescriptor;
|
|
120
|
-
model: AgentProfileModelReference;
|
|
121
|
-
thinkingLevel: ThinkingLevel;
|
|
122
|
-
toolCatalog: SubagentBackendTool[];
|
|
123
|
-
access: SubagentAccessReceipt;
|
|
124
|
-
limits: SubagentLimitReceipt;
|
|
125
|
-
promptRuntime?: SubagentPreparationRuntime;
|
|
126
|
-
diagnostics: SubagentDiagnostic[];
|
|
127
|
-
}
|
|
128
|
-
export interface BackendPreflightRejected {
|
|
129
|
-
status: "rejected";
|
|
130
|
-
preflightId: string;
|
|
131
|
-
backend: SubagentBackendDescriptor;
|
|
132
|
-
diagnostics: SubagentDiagnostic[];
|
|
133
|
-
}
|
|
134
|
-
export type BackendPreflightResult = BackendPreflightAccepted | BackendPreflightRejected;
|
|
135
|
-
export interface SubagentPreparationBaseInput {
|
|
136
|
-
request: AgentRequest;
|
|
137
|
-
snapshot: AgentProfileSnapshot;
|
|
138
|
-
preflight: BackendPreflightAccepted;
|
|
139
|
-
}
|
|
140
|
-
export interface SubagentPreparationInput extends SubagentPreparationBaseInput {
|
|
141
|
-
runtime: SubagentPreparationRuntime;
|
|
142
|
-
}
|
|
143
|
-
export interface SubagentPreparationOutput {
|
|
144
|
-
systemPrompt: string;
|
|
145
|
-
messages: SubagentPreparedMessage[];
|
|
146
|
-
toolNegotiation: SubagentToolNegotiationResult;
|
|
147
|
-
contextBudget?: SubagentContextBudgetReceipt;
|
|
148
|
-
diagnostics: SubagentDiagnostic[];
|
|
149
|
-
}
|
|
150
|
-
export interface SubagentPreparationResult {
|
|
151
|
-
runtime: SubagentPreparationRuntime;
|
|
152
|
-
preparation: SubagentPreparationOutput;
|
|
153
|
-
}
|
|
154
|
-
export type SubagentHostPlanPreparer = (input: SubagentPreparationInput) => Promise<SubagentPreparationOutput> | SubagentPreparationOutput;
|
|
155
|
-
export interface AgentExecutionPlan {
|
|
156
|
-
schemaVersion: typeof SUBAGENT_CONTRACT_VERSION;
|
|
157
|
-
runId: string;
|
|
158
|
-
requestId: string;
|
|
159
|
-
backendId: string;
|
|
160
|
-
preflightId: string;
|
|
161
|
-
preflight: BackendPreflightAccepted;
|
|
162
|
-
profile: AgentProfileSnapshot;
|
|
163
|
-
model: AgentProfileModelReference;
|
|
164
|
-
thinkingLevel: ThinkingLevel;
|
|
165
|
-
systemPrompt: string;
|
|
166
|
-
messages: SubagentPreparedMessage[];
|
|
167
|
-
effectiveToolIds: string[];
|
|
168
|
-
access: SubagentAccessReceipt;
|
|
169
|
-
limits: SubagentLimitReceipt;
|
|
170
|
-
contextBudget?: SubagentContextBudgetReceipt;
|
|
171
|
-
resultProjection: AgentRequest["resultProjection"];
|
|
172
|
-
promptRuntimeFingerprint: SubagentFingerprint;
|
|
173
|
-
/** Runtime-issued fingerprint of the sealed system prompt and ordered messages. */
|
|
174
|
-
conversationFingerprint: SubagentFingerprint;
|
|
175
|
-
/**
|
|
176
|
-
* Runtime-issued fingerprint binding the sealed conversation to the
|
|
177
|
-
* accepted backend, preflight, tools, and limits. The host never computes
|
|
178
|
-
* this value; it displays and propagates the sealed fingerprint so approval
|
|
179
|
-
* and execution stay bound to the exact plan the runtime sealed.
|
|
180
|
-
*/
|
|
181
|
-
executionFingerprint: SubagentFingerprint;
|
|
182
|
-
}
|
|
183
|
-
export type SubagentArtifactLifetime = "run" | "session" | "persistent";
|
|
184
|
-
export type SubagentArtifactAuthorization = "read" | "write";
|
|
185
|
-
export interface SubagentArtifactReference {
|
|
186
|
-
id: string;
|
|
187
|
-
workspaceNamespace: string;
|
|
188
|
-
path: string;
|
|
189
|
-
authorization: SubagentArtifactAuthorization;
|
|
190
|
-
lifetime: SubagentArtifactLifetime;
|
|
191
|
-
cleanup: "backend" | "host" | "user";
|
|
192
|
-
}
|
|
193
|
-
export interface SubagentTraceReference {
|
|
194
|
-
handle: string;
|
|
195
|
-
backendId: string;
|
|
196
|
-
authorizationScope: string;
|
|
197
|
-
expiresAt?: string;
|
|
198
|
-
}
|
|
199
|
-
export interface AgentResponseCommon {
|
|
200
|
-
schemaVersion: typeof SUBAGENT_CONTRACT_VERSION;
|
|
201
|
-
requestId: string;
|
|
202
|
-
runId: string;
|
|
203
|
-
backendId: string;
|
|
204
|
-
profileFingerprint: SubagentFingerprint;
|
|
205
|
-
executionFingerprint: SubagentFingerprint;
|
|
206
|
-
model: AgentProfileModelReference;
|
|
207
|
-
effectiveToolIds: string[];
|
|
208
|
-
enforcement: {
|
|
209
|
-
access: SubagentAccessReceipt;
|
|
210
|
-
limits: SubagentLimitReceipt;
|
|
211
|
-
};
|
|
212
|
-
durationMs: number;
|
|
213
|
-
artifacts: SubagentArtifactReference[];
|
|
214
|
-
trace?: SubagentTraceReference;
|
|
215
|
-
usage?: SubagentUsage;
|
|
216
|
-
}
|
|
217
|
-
export interface AgentResponseCompleted extends AgentResponseCommon {
|
|
218
|
-
status: "completed";
|
|
219
|
-
output?: {
|
|
220
|
-
text: string;
|
|
221
|
-
partial: false;
|
|
222
|
-
};
|
|
223
|
-
}
|
|
224
|
-
export interface AgentResponseFailed extends AgentResponseCommon {
|
|
225
|
-
status: "failed";
|
|
226
|
-
error: SubagentError;
|
|
227
|
-
output?: {
|
|
228
|
-
text: string;
|
|
229
|
-
partial: true;
|
|
230
|
-
};
|
|
231
|
-
}
|
|
232
|
-
export interface AgentResponseCancelled extends AgentResponseCommon {
|
|
233
|
-
status: "cancelled";
|
|
234
|
-
reason: string;
|
|
235
|
-
output?: {
|
|
236
|
-
text: string;
|
|
237
|
-
partial: true;
|
|
238
|
-
};
|
|
239
|
-
}
|
|
240
|
-
export interface AgentResponseTimedOut extends AgentResponseCommon {
|
|
241
|
-
status: "timed-out";
|
|
242
|
-
reason: string;
|
|
243
|
-
enforcedTimeoutMs: number;
|
|
244
|
-
output?: {
|
|
245
|
-
text: string;
|
|
246
|
-
partial: true;
|
|
247
|
-
};
|
|
248
|
-
}
|
|
249
|
-
export interface AgentResponseLimitReached extends AgentResponseCommon {
|
|
250
|
-
status: "limit-reached";
|
|
251
|
-
reachedLimit: SubagentLimitName;
|
|
252
|
-
output?: {
|
|
253
|
-
text: string;
|
|
254
|
-
partial: true;
|
|
255
|
-
};
|
|
256
|
-
}
|
|
257
|
-
export type AgentResponse = AgentResponseCompleted | AgentResponseFailed | AgentResponseCancelled | AgentResponseTimedOut | AgentResponseLimitReached;
|
|
258
|
-
export interface SubagentContextBudgetResult {
|
|
259
|
-
items: SubagentContextItem[];
|
|
260
|
-
receipt: SubagentContextBudgetReceipt;
|
|
261
|
-
diagnostics: SubagentDiagnostic[];
|
|
262
|
-
}
|
|
263
|
-
export interface SubagentInitialMessagesResult {
|
|
264
|
-
messages: SubagentPreparedMessage[];
|
|
265
|
-
contextBudget?: SubagentContextBudgetReceipt;
|
|
266
|
-
diagnostics: SubagentDiagnostic[];
|
|
267
|
-
}
|
|
268
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/subagent/types.ts"],"names":[],"mappings":"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"}
|
package/dist/subagent/types.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/subagent/types.ts"],"names":[],"mappings":"AAuCA,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAU,CAAC;AAcpD,OAAO,EAAE,kBAAkB,IAAI,2BAA2B,EAAE,MAAM,6BAA6B,CAAC"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { FINGERPRINT_PATTERN, LIMIT_NAMES, OPAQUE_ID_PATTERN, error, hasErrors, isFingerprint, isRecord, isSafeRelativePath, validateAccessEnforcement } from "@zihanw/pi-subagent-runtime";
|
|
2
|
-
import type { SubagentDiagnostic, SubagentPreparationRuntime } from "./types.ts";
|
|
3
|
-
export { FINGERPRINT_PATTERN, LIMIT_NAMES as SUBAGENT_LIMIT_NAMES, OPAQUE_ID_PATTERN, error, hasErrors, hasErrors as hasSubagentErrors, isFingerprint, isRecord, isSafeRelativePath, validateAccessEnforcement, };
|
|
4
|
-
export declare const NAMESPACE_PATTERN: RegExp;
|
|
5
|
-
export declare function validateAccessRequest(value: unknown, path: string, diagnostics: SubagentDiagnostic[]): void;
|
|
6
|
-
export declare function validateLimitRequest(value: unknown, path: string, diagnostics: SubagentDiagnostic[]): void;
|
|
7
|
-
export declare function validateLimitReceipt(value: unknown, path: string, diagnostics: SubagentDiagnostic[]): void;
|
|
8
|
-
export declare function validateBackendDescriptor(value: Record<string, unknown>, path: string, diagnostics: SubagentDiagnostic[]): void;
|
|
9
|
-
export declare function validatePreparationRuntime(value: unknown, path: string, diagnostics: SubagentDiagnostic[], expectedFidelity?: SubagentPreparationRuntime["fidelity"]): void;
|
|
10
|
-
export declare function validateMediaReference(value: unknown, path: string, diagnostics: SubagentDiagnostic[]): void;
|
|
11
|
-
export declare function validateSelectedContext(value: unknown, path: string, diagnostics: SubagentDiagnostic[]): SubagentDiagnostic[];
|
|
12
|
-
export declare function validateToolCatalog(value: readonly unknown[], diagnostics: SubagentDiagnostic[]): void;
|
|
13
|
-
/**
|
|
14
|
-
* Host access-receipt validation. The portable runtime validator intentionally
|
|
15
|
-
* checks less: the host additionally enforces mount uniqueness, access-level
|
|
16
|
-
* consistency, and the isolation claims a receipt may make for its execution
|
|
17
|
-
* boundary, because these cross-checks are the honesty terms of the host
|
|
18
|
-
* contract (a shared-user boundary must never claim OS isolation).
|
|
19
|
-
*/
|
|
20
|
-
export declare function validateAccessReceipt(value: unknown, path: string, diagnostics: SubagentDiagnostic[]): void;
|
|
21
|
-
export declare function validateAccessCapabilities(value: Record<string, unknown>, path: string, diagnostics: SubagentDiagnostic[]): void;
|
|
22
|
-
export declare function validatePreparedMessage(value: unknown, path: string, diagnostics: SubagentDiagnostic[]): void;
|
|
23
|
-
export declare function validateContextBudgetReceipt(value: unknown, path: string, diagnostics: SubagentDiagnostic[]): void;
|
|
24
|
-
export declare function validateUniqueStringArray(value: readonly unknown[], path: string, diagnostics: SubagentDiagnostic[]): void;
|
|
25
|
-
export declare function validateDiagnosticArray(value: readonly unknown[], path: string, diagnostics: SubagentDiagnostic[]): void;
|
|
26
|
-
export declare function validateUsage(value: unknown, path: string, diagnostics: SubagentDiagnostic[]): void;
|
|
27
|
-
export declare function validateModelReference(value: unknown, path: string, diagnostics: SubagentDiagnostic[]): void;
|
|
28
|
-
export declare function validateOpaqueId(value: unknown, path: string, diagnostics: SubagentDiagnostic[]): void;
|
|
29
|
-
export declare function validateNamespace(value: unknown, path: string, diagnostics: SubagentDiagnostic[]): void;
|
|
30
|
-
export declare function validateFingerprint(value: unknown, path: string, diagnostics: SubagentDiagnostic[]): void;
|
|
31
|
-
export declare function isIsoDate(value: unknown): boolean;
|
|
32
|
-
export declare function isPositiveInteger(value: unknown): value is number;
|
|
33
|
-
export declare function isNonNegativeInteger(value: unknown): value is number;
|
|
34
|
-
export declare function isNonNegativeFinite(value: unknown): value is number;
|
|
35
|
-
//# sourceMappingURL=validation.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/subagent/validation.ts"],"names":[],"mappings":"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"}
|