@zihanw/pi-forge 0.3.1 → 0.4.0-beta.1
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 +160 -0
- package/PUBLIC_API.md +28 -0
- package/README.md +168 -35
- package/README.zh-CN.md +168 -35
- package/SUBAGENT_ADAPTER_CONTRACT.md +199 -0
- package/dist/agent-profile.d.ts +71 -0
- package/dist/agent-profile.d.ts.map +1 -0
- package/dist/agent-profile.js +303 -0
- package/dist/agent-profile.js.map +1 -0
- package/dist/forge-config.d.ts +8 -0
- package/dist/forge-config.d.ts.map +1 -0
- package/dist/forge-config.js +40 -0
- package/dist/forge-config.js.map +1 -0
- package/dist/forge-extensions.d.ts +28 -0
- package/dist/forge-extensions.d.ts.map +1 -0
- package/dist/forge-extensions.js +198 -0
- package/dist/forge-extensions.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +75 -349
- package/dist/index.js.map +1 -1
- package/dist/lifecycle.d.ts +11 -3
- package/dist/lifecycle.d.ts.map +1 -1
- package/dist/lifecycle.js +92 -6
- package/dist/lifecycle.js.map +1 -1
- package/dist/loader.d.ts.map +1 -1
- package/dist/loader.js +116 -5
- package/dist/loader.js.map +1 -1
- package/dist/payload-capture.d.ts.map +1 -1
- package/dist/payload-capture.js +27 -0
- package/dist/payload-capture.js.map +1 -1
- package/dist/payload-command.d.ts +3 -3
- package/dist/payload-command.d.ts.map +1 -1
- package/dist/payload-command.js.map +1 -1
- package/dist/preset-command.d.ts +1 -1
- package/dist/preset-command.d.ts.map +1 -1
- package/dist/preset-command.js +12 -3
- package/dist/preset-command.js.map +1 -1
- package/dist/preview.d.ts +2 -2
- package/dist/preview.d.ts.map +1 -1
- package/dist/preview.js +2 -3
- package/dist/preview.js.map +1 -1
- package/dist/profile-command.d.ts +12 -0
- package/dist/profile-command.d.ts.map +1 -0
- package/dist/profile-command.js +291 -0
- package/dist/profile-command.js.map +1 -0
- package/dist/profile-service.d.ts +103 -0
- package/dist/profile-service.d.ts.map +1 -0
- package/dist/profile-service.js +215 -0
- package/dist/profile-service.js.map +1 -0
- package/dist/runtime/profile-runtime.d.ts +13 -0
- package/dist/runtime/profile-runtime.d.ts.map +1 -0
- package/dist/runtime/profile-runtime.js +47 -0
- package/dist/runtime/profile-runtime.js.map +1 -0
- package/dist/runtime/prompt-stack-runtime.d.ts +22 -0
- package/dist/runtime/prompt-stack-runtime.d.ts.map +1 -0
- package/dist/runtime/prompt-stack-runtime.js +104 -0
- package/dist/runtime/prompt-stack-runtime.js.map +1 -0
- package/dist/runtime/subagent-runtime.d.ts +30 -0
- package/dist/runtime/subagent-runtime.d.ts.map +1 -0
- package/dist/runtime/subagent-runtime.js +114 -0
- package/dist/runtime/subagent-runtime.js.map +1 -0
- package/dist/runtime/tool-policy-runtime.d.ts +15 -0
- package/dist/runtime/tool-policy-runtime.d.ts.map +1 -0
- package/dist/runtime/tool-policy-runtime.js +170 -0
- package/dist/runtime/tool-policy-runtime.js.map +1 -0
- package/dist/runtime/web-editor-runtime.d.ts +9 -0
- package/dist/runtime/web-editor-runtime.d.ts.map +1 -0
- package/dist/runtime/web-editor-runtime.js +131 -0
- package/dist/runtime/web-editor-runtime.js.map +1 -0
- package/dist/runtime-state.d.ts +6 -0
- package/dist/runtime-state.d.ts.map +1 -1
- package/dist/runtime-state.js +4 -0
- package/dist/runtime-state.js.map +1 -1
- package/dist/storage.d.ts +7 -0
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +22 -0
- package/dist/storage.js.map +1 -1
- package/dist/subagent/backend-registry.d.ts +75 -0
- package/dist/subagent/backend-registry.d.ts.map +1 -0
- package/dist/subagent/backend-registry.js +463 -0
- package/dist/subagent/backend-registry.js.map +1 -0
- package/dist/subagent/canonical.d.ts +10 -0
- package/dist/subagent/canonical.d.ts.map +1 -0
- package/dist/subagent/canonical.js +52 -0
- package/dist/subagent/canonical.js.map +1 -0
- package/dist/subagent/context.d.ts +8 -0
- package/dist/subagent/context.d.ts.map +1 -0
- package/dist/subagent/context.js +125 -0
- package/dist/subagent/context.js.map +1 -0
- package/dist/subagent/contract.d.ts +11 -0
- package/dist/subagent/contract.d.ts.map +1 -0
- package/dist/subagent/contract.js +11 -0
- package/dist/subagent/contract.js.map +1 -0
- package/dist/subagent/diagnostics.d.ts +3 -0
- package/dist/subagent/diagnostics.d.ts.map +1 -0
- package/dist/subagent/diagnostics.js +5 -0
- package/dist/subagent/diagnostics.js.map +1 -0
- package/dist/subagent/index.d.ts +13 -0
- package/dist/subagent/index.d.ts.map +1 -0
- package/dist/subagent/index.js +13 -0
- package/dist/subagent/index.js.map +1 -0
- package/dist/subagent/pi-model-runtime.d.ts +8 -0
- package/dist/subagent/pi-model-runtime.d.ts.map +1 -0
- package/dist/subagent/pi-model-runtime.js +22 -0
- package/dist/subagent/pi-model-runtime.js.map +1 -0
- package/dist/subagent/pi-sdk-backend.d.ts +23 -0
- package/dist/subagent/pi-sdk-backend.d.ts.map +1 -0
- package/dist/subagent/pi-sdk-backend.js +383 -0
- package/dist/subagent/pi-sdk-backend.js.map +1 -0
- package/dist/subagent/pi-subprocess-backend.d.ts +72 -0
- package/dist/subagent/pi-subprocess-backend.d.ts.map +1 -0
- package/dist/subagent/pi-subprocess-backend.js +756 -0
- package/dist/subagent/pi-subprocess-backend.js.map +1 -0
- package/dist/subagent/plan.d.ts +14 -0
- package/dist/subagent/plan.d.ts.map +1 -0
- package/dist/subagent/plan.js +160 -0
- package/dist/subagent/plan.js.map +1 -0
- package/dist/subagent/preflight.d.ts +4 -0
- package/dist/subagent/preflight.d.ts.map +1 -0
- package/dist/subagent/preflight.js +108 -0
- package/dist/subagent/preflight.js.map +1 -0
- package/dist/subagent/request.d.ts +4 -0
- package/dist/subagent/request.d.ts.map +1 -0
- package/dist/subagent/request.js +122 -0
- package/dist/subagent/request.js.map +1 -0
- package/dist/subagent/response.d.ts +8 -0
- package/dist/subagent/response.d.ts.map +1 -0
- package/dist/subagent/response.js +155 -0
- package/dist/subagent/response.js.map +1 -0
- package/dist/subagent/subprocess-bridge.d.ts +21 -0
- package/dist/subagent/subprocess-bridge.d.ts.map +1 -0
- package/dist/subagent/subprocess-bridge.js +87 -0
- package/dist/subagent/subprocess-bridge.js.map +1 -0
- package/dist/subagent/subprocess-report.d.ts +4 -0
- package/dist/subagent/subprocess-report.d.ts.map +1 -0
- package/dist/subagent/subprocess-report.js +55 -0
- package/dist/subagent/subprocess-report.js.map +1 -0
- package/dist/subagent/tools.d.ts +4 -0
- package/dist/subagent/tools.d.ts.map +1 -0
- package/dist/subagent/tools.js +42 -0
- package/dist/subagent/tools.js.map +1 -0
- package/dist/subagent/types.d.ts +384 -0
- package/dist/subagent/types.d.ts.map +1 -0
- package/dist/subagent/types.js +3 -0
- package/dist/subagent/types.js.map +1 -0
- package/dist/subagent/validation.d.ts +35 -0
- package/dist/subagent/validation.d.ts.map +1 -0
- package/dist/subagent/validation.js +500 -0
- package/dist/subagent/validation.js.map +1 -0
- package/dist/subagent-command.d.ts +4 -0
- package/dist/subagent-command.d.ts.map +1 -0
- package/dist/subagent-command.js +153 -0
- package/dist/subagent-command.js.map +1 -0
- package/dist/subagent-contract.d.ts +8 -0
- package/dist/subagent-contract.d.ts.map +1 -0
- package/dist/subagent-contract.js +8 -0
- package/dist/subagent-contract.js.map +1 -0
- package/dist/subagent-host.d.ts +44 -0
- package/dist/subagent-host.d.ts.map +1 -0
- package/dist/subagent-host.js +291 -0
- package/dist/subagent-host.js.map +1 -0
- package/dist/subagent-profile-tool.d.ts +26 -0
- package/dist/subagent-profile-tool.d.ts.map +1 -0
- package/dist/subagent-profile-tool.js +93 -0
- package/dist/subagent-profile-tool.js.map +1 -0
- package/dist/subagent-tool.d.ts +50 -0
- package/dist/subagent-tool.d.ts.map +1 -0
- package/dist/subagent-tool.js +385 -0
- package/dist/subagent-tool.js.map +1 -0
- package/dist/web-editor/client/api.d.ts +9 -0
- package/dist/web-editor/client/api.d.ts.map +1 -0
- package/dist/web-editor/client/api.js +26 -0
- package/dist/web-editor/client/api.js.map +1 -0
- package/dist/web-editor/client/dom.d.ts +13 -0
- package/dist/web-editor/client/dom.d.ts.map +1 -0
- package/dist/web-editor/client/dom.js +30 -0
- package/dist/web-editor/client/dom.js.map +1 -0
- package/dist/web-editor/client/inspector.d.ts +22 -0
- package/dist/web-editor/client/inspector.d.ts.map +1 -0
- package/dist/web-editor/client/inspector.js +226 -0
- package/dist/web-editor/client/inspector.js.map +1 -0
- package/dist/web-editor/client/main.d.ts +2 -0
- package/dist/web-editor/client/main.d.ts.map +1 -0
- package/dist/web-editor/client/main.js +1468 -0
- package/dist/web-editor/client/main.js.map +1 -0
- package/dist/web-editor/client/policy-editor.d.ts +16 -0
- package/dist/web-editor/client/policy-editor.d.ts.map +1 -0
- package/dist/web-editor/client/policy-editor.js +330 -0
- package/dist/web-editor/client/policy-editor.js.map +1 -0
- package/dist/web-editor/client/regex-editor.d.ts +19 -0
- package/dist/web-editor/client/regex-editor.d.ts.map +1 -0
- package/dist/web-editor/client/regex-editor.js +281 -0
- package/dist/web-editor/client/regex-editor.js.map +1 -0
- package/dist/web-editor/client/types.d.ts +60 -0
- package/dist/web-editor/client/types.d.ts.map +1 -0
- package/dist/web-editor/client/types.js +2 -0
- package/dist/web-editor/client/types.js.map +1 -0
- package/dist/web-editor/client-script.d.ts +2 -0
- package/dist/web-editor/client-script.d.ts.map +1 -0
- package/dist/web-editor/client-script.generated.d.ts +2 -0
- package/dist/web-editor/client-script.generated.d.ts.map +1 -0
- package/dist/web-editor/client-script.generated.js +3 -0
- package/dist/web-editor/client-script.generated.js.map +1 -0
- package/dist/web-editor/client-script.js +2 -0
- package/dist/web-editor/client-script.js.map +1 -0
- package/dist/web-editor/page.d.ts.map +1 -1
- package/dist/web-editor/page.js +6 -3249
- package/dist/web-editor/page.js.map +1 -1
- package/dist/web-editor/server.js +4 -4
- package/dist/web-editor/server.js.map +1 -1
- package/dist/web-editor/styles.d.ts +2 -0
- package/dist/web-editor/styles.d.ts.map +1 -0
- package/dist/web-editor/styles.js +996 -0
- package/dist/web-editor/styles.js.map +1 -0
- package/dist/web-editor/types.d.ts +8 -8
- package/dist/web-editor/types.d.ts.map +1 -1
- package/dist/web-host.d.ts +4 -4
- package/dist/web-host.d.ts.map +1 -1
- package/dist/web-host.js +15 -9
- package/dist/web-host.js.map +1 -1
- package/examples/custom-system-status-extension/README.md +34 -27
- package/examples/custom-system-status-extension/index.ts +71 -111
- package/examples/custom-system-status-extension/prompt-stack.json +1 -1
- package/package.json +42 -14
- package/src/compiler.ts +0 -578
- package/src/extension-registry.ts +0 -33
- package/src/index.ts +0 -430
- package/src/lifecycle.ts +0 -171
- package/src/loader.ts +0 -394
- package/src/macro-engine.ts +0 -358
- package/src/payload-capture.ts +0 -85
- package/src/payload-command.ts +0 -138
- package/src/policy.ts +0 -42
- package/src/preset-command.ts +0 -271
- package/src/preview.ts +0 -226
- package/src/regex.ts +0 -500
- package/src/render-helpers.ts +0 -169
- package/src/runtime-state.ts +0 -36
- package/src/sillytavern-importer/items.ts +0 -98
- package/src/sillytavern-importer/macros.ts +0 -159
- package/src/sillytavern-importer/prompt-order.ts +0 -54
- package/src/sillytavern-importer/regex.ts +0 -270
- package/src/sillytavern-importer/report.ts +0 -202
- package/src/sillytavern-importer/types.ts +0 -120
- package/src/sillytavern-importer.ts +0 -152
- package/src/slot-renderers.ts +0 -414
- package/src/stack-migration.ts +0 -159
- package/src/storage.ts +0 -28
- package/src/types.ts +0 -209
- package/src/web-editor/index.ts +0 -2
- package/src/web-editor/page.ts +0 -3330
- package/src/web-editor/server.ts +0 -294
- package/src/web-editor/types.ts +0 -98
- package/src/web-host.ts +0 -232
|
@@ -0,0 +1,384 @@
|
|
|
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
|
+
export declare const SUBAGENT_CONTRACT_VERSION: 1;
|
|
5
|
+
export declare const SUBAGENT_FINGERPRINT_PREFIX: "sha256:v1:";
|
|
6
|
+
export type SubagentFingerprint = `${typeof SUBAGENT_FINGERPRINT_PREFIX}${string}`;
|
|
7
|
+
export type SubagentDiagnosticLevel = "error" | "warning" | "info";
|
|
8
|
+
export interface SubagentDiagnostic {
|
|
9
|
+
level: SubagentDiagnosticLevel;
|
|
10
|
+
code: string;
|
|
11
|
+
message: string;
|
|
12
|
+
path?: string;
|
|
13
|
+
}
|
|
14
|
+
export interface SubagentMediaReference {
|
|
15
|
+
id: string;
|
|
16
|
+
kind: "image";
|
|
17
|
+
mimeType: string;
|
|
18
|
+
digest: SubagentFingerprint;
|
|
19
|
+
resourceHandle: string;
|
|
20
|
+
}
|
|
21
|
+
export interface SubagentTaskInput {
|
|
22
|
+
text: string;
|
|
23
|
+
media?: SubagentMediaReference[];
|
|
24
|
+
}
|
|
25
|
+
export type SubagentContextItemKind = "summary" | "user-excerpt" | "assistant-excerpt" | "tool-result-excerpt" | "resource-excerpt";
|
|
26
|
+
export interface SubagentContextProvenance {
|
|
27
|
+
source: string;
|
|
28
|
+
reference?: string;
|
|
29
|
+
}
|
|
30
|
+
export interface SubagentContextItem {
|
|
31
|
+
id: string;
|
|
32
|
+
kind: SubagentContextItemKind;
|
|
33
|
+
text: string;
|
|
34
|
+
required?: boolean;
|
|
35
|
+
provenance: SubagentContextProvenance;
|
|
36
|
+
}
|
|
37
|
+
export interface SubagentSelectedContext {
|
|
38
|
+
maxBytes: number;
|
|
39
|
+
items: SubagentContextItem[];
|
|
40
|
+
}
|
|
41
|
+
export type SubagentAccessLevel = "none" | "read-only" | "workspace-write";
|
|
42
|
+
export type SubagentWorkspaceMode = "read-only" | "read-write";
|
|
43
|
+
export type SubagentNetworkPolicy = "deny" | "allow";
|
|
44
|
+
/**
|
|
45
|
+
* Describes the operating-system boundary behind an access receipt.
|
|
46
|
+
*
|
|
47
|
+
* `isolated` is the legacy/default contract: access levels are backed by the
|
|
48
|
+
* isolation capabilities declared in `enforcement`. `shared-user` is an
|
|
49
|
+
* explicitly unsafe boundary where the child process retains the invoking
|
|
50
|
+
* user's OS permissions and the effective access level is constrained only by
|
|
51
|
+
* the tools exposed to the model.
|
|
52
|
+
*/
|
|
53
|
+
export type SubagentExecutionBoundary = "isolated" | "shared-user";
|
|
54
|
+
export interface SubagentWorkspaceRequest {
|
|
55
|
+
handle: string;
|
|
56
|
+
mode: SubagentWorkspaceMode;
|
|
57
|
+
}
|
|
58
|
+
export interface SubagentWorkingDirectoryRequest {
|
|
59
|
+
workspaceHandle: string;
|
|
60
|
+
path: string;
|
|
61
|
+
}
|
|
62
|
+
export interface SubagentAccessRequest {
|
|
63
|
+
level: SubagentAccessLevel;
|
|
64
|
+
workspaces: SubagentWorkspaceRequest[];
|
|
65
|
+
workingDirectory?: SubagentWorkingDirectoryRequest;
|
|
66
|
+
network: SubagentNetworkPolicy;
|
|
67
|
+
allowProcess?: boolean;
|
|
68
|
+
}
|
|
69
|
+
export type SubagentLimitName = "timeoutMs" | "maxTurns" | "tokenBudget" | "maxOutputBytes";
|
|
70
|
+
export type SubagentLimitEnforcementPreference = "required" | "best-effort";
|
|
71
|
+
export interface SubagentLimitRequirement {
|
|
72
|
+
value: number;
|
|
73
|
+
enforcement: SubagentLimitEnforcementPreference;
|
|
74
|
+
}
|
|
75
|
+
export type SubagentLimitRequest = Partial<Record<SubagentLimitName, SubagentLimitRequirement>>;
|
|
76
|
+
export interface AgentRequest {
|
|
77
|
+
schemaVersion: typeof SUBAGENT_CONTRACT_VERSION;
|
|
78
|
+
requestId: string;
|
|
79
|
+
profileId: string;
|
|
80
|
+
expectedProfileFingerprint?: SubagentFingerprint;
|
|
81
|
+
input: SubagentTaskInput;
|
|
82
|
+
selectedContext?: SubagentSelectedContext;
|
|
83
|
+
access: SubagentAccessRequest;
|
|
84
|
+
limits: SubagentLimitRequest;
|
|
85
|
+
resultProjection: {
|
|
86
|
+
maxChars: number;
|
|
87
|
+
};
|
|
88
|
+
parent: {
|
|
89
|
+
runId?: string;
|
|
90
|
+
sessionId?: string;
|
|
91
|
+
depth: number;
|
|
92
|
+
maxDepth: number;
|
|
93
|
+
};
|
|
94
|
+
remoteEgressConsent: boolean;
|
|
95
|
+
}
|
|
96
|
+
export type SubagentDependencyKind = "macro" | "slot";
|
|
97
|
+
export interface SubagentPromptDependency {
|
|
98
|
+
kind: SubagentDependencyKind;
|
|
99
|
+
name: string;
|
|
100
|
+
identity: string;
|
|
101
|
+
source?: string;
|
|
102
|
+
}
|
|
103
|
+
export interface AgentProfileSnapshot {
|
|
104
|
+
schemaVersion: typeof SUBAGENT_CONTRACT_VERSION;
|
|
105
|
+
profile: AgentProfile;
|
|
106
|
+
promptStack: PromptStack | null;
|
|
107
|
+
dependencies: SubagentPromptDependency[];
|
|
108
|
+
profileFingerprint: SubagentFingerprint;
|
|
109
|
+
promptStackFingerprint: SubagentFingerprint | null;
|
|
110
|
+
}
|
|
111
|
+
export type SubagentToolEffect = "filesystem-read" | "filesystem-write" | "process" | "network";
|
|
112
|
+
export interface SubagentBackendTool {
|
|
113
|
+
id: string;
|
|
114
|
+
name: string;
|
|
115
|
+
description?: string;
|
|
116
|
+
promptSnippet?: string;
|
|
117
|
+
effects: SubagentToolEffect[];
|
|
118
|
+
adapterMapping?: string;
|
|
119
|
+
}
|
|
120
|
+
export interface SubagentAccessCapabilities {
|
|
121
|
+
readOnlyMountIsolation: boolean;
|
|
122
|
+
readWriteMountIsolation: boolean;
|
|
123
|
+
symlinkSafeContainment: boolean;
|
|
124
|
+
processIsolation: boolean;
|
|
125
|
+
agentNetworkIsolation: boolean;
|
|
126
|
+
}
|
|
127
|
+
export type SubagentLimitEnforcement = "backend-hard" | "host-abort" | "best-effort" | "unsupported";
|
|
128
|
+
export interface SubagentBackendCapabilities {
|
|
129
|
+
access: SubagentAccessCapabilities;
|
|
130
|
+
limits: Record<SubagentLimitName, SubagentLimitEnforcement[]>;
|
|
131
|
+
cancellation: boolean;
|
|
132
|
+
mediaMimeTypes: string[];
|
|
133
|
+
traceInspection: boolean;
|
|
134
|
+
artifactRetention: boolean;
|
|
135
|
+
remoteTransport: boolean;
|
|
136
|
+
promptRuntimeFidelity: "exact-preflight" | "backend-assisted" | "partial";
|
|
137
|
+
}
|
|
138
|
+
export interface SubagentBackendDescriptor {
|
|
139
|
+
id: string;
|
|
140
|
+
version: string;
|
|
141
|
+
capabilities: SubagentBackendCapabilities;
|
|
142
|
+
}
|
|
143
|
+
export interface SubagentMountMapping {
|
|
144
|
+
workspaceHandle: string;
|
|
145
|
+
mountId: string;
|
|
146
|
+
mode: SubagentWorkspaceMode;
|
|
147
|
+
}
|
|
148
|
+
export interface SubagentAccessReceipt {
|
|
149
|
+
level: SubagentAccessLevel;
|
|
150
|
+
mounts: SubagentMountMapping[];
|
|
151
|
+
workingDirectory?: {
|
|
152
|
+
mountId: string;
|
|
153
|
+
path: string;
|
|
154
|
+
};
|
|
155
|
+
network: SubagentNetworkPolicy;
|
|
156
|
+
process: boolean;
|
|
157
|
+
/** Omitted receipts use the legacy `isolated` interpretation. */
|
|
158
|
+
executionBoundary?: SubagentExecutionBoundary;
|
|
159
|
+
enforcement: SubagentAccessCapabilities;
|
|
160
|
+
}
|
|
161
|
+
export interface SubagentEnforcedLimit {
|
|
162
|
+
value: number;
|
|
163
|
+
enforcement: Exclude<SubagentLimitEnforcement, "unsupported">;
|
|
164
|
+
}
|
|
165
|
+
export type SubagentLimitReceipt = Partial<Record<SubagentLimitName, SubagentEnforcedLimit>>;
|
|
166
|
+
export interface BackendPreflightAccepted {
|
|
167
|
+
status: "accepted";
|
|
168
|
+
preflightId: string;
|
|
169
|
+
backend: SubagentBackendDescriptor;
|
|
170
|
+
model: AgentProfileModelReference;
|
|
171
|
+
thinkingLevel: ThinkingLevel;
|
|
172
|
+
toolCatalog: SubagentBackendTool[];
|
|
173
|
+
access: SubagentAccessReceipt;
|
|
174
|
+
limits: SubagentLimitReceipt;
|
|
175
|
+
promptRuntime?: SubagentPreparationRuntime;
|
|
176
|
+
diagnostics: SubagentDiagnostic[];
|
|
177
|
+
}
|
|
178
|
+
export interface BackendPreflightRejected {
|
|
179
|
+
status: "rejected";
|
|
180
|
+
preflightId: string;
|
|
181
|
+
backend: SubagentBackendDescriptor;
|
|
182
|
+
diagnostics: SubagentDiagnostic[];
|
|
183
|
+
}
|
|
184
|
+
export type BackendPreflightResult = BackendPreflightAccepted | BackendPreflightRejected;
|
|
185
|
+
export interface SubagentToolNegotiationResult {
|
|
186
|
+
effectiveToolIds: string[];
|
|
187
|
+
effectiveToolNames: string[];
|
|
188
|
+
stackSelectedToolNames: string[];
|
|
189
|
+
unmatchedAllowPatterns: string[];
|
|
190
|
+
diagnostics: SubagentDiagnostic[];
|
|
191
|
+
}
|
|
192
|
+
export interface SubagentContextBudgetReceipt {
|
|
193
|
+
maxBytes: number;
|
|
194
|
+
includedBytes: number;
|
|
195
|
+
includedItemIds: string[];
|
|
196
|
+
omittedItemIds: string[];
|
|
197
|
+
}
|
|
198
|
+
export type SubagentPreparedMessageRole = "user" | "assistant" | "custom";
|
|
199
|
+
export type SubagentPreparedContentPart = {
|
|
200
|
+
type: "text";
|
|
201
|
+
text: string;
|
|
202
|
+
} | {
|
|
203
|
+
type: "media";
|
|
204
|
+
mediaId: string;
|
|
205
|
+
mimeType: string;
|
|
206
|
+
digest: SubagentFingerprint;
|
|
207
|
+
backendResourceId?: string;
|
|
208
|
+
};
|
|
209
|
+
export interface SubagentPreparedMessage {
|
|
210
|
+
role: SubagentPreparedMessageRole;
|
|
211
|
+
content: SubagentPreparedContentPart[];
|
|
212
|
+
protectedTask?: boolean;
|
|
213
|
+
source?: "selected-context" | "prompt-stack" | "delegated-task";
|
|
214
|
+
}
|
|
215
|
+
export interface SubagentPromptRuntimeSkill {
|
|
216
|
+
name: string;
|
|
217
|
+
description: string;
|
|
218
|
+
filePath: string;
|
|
219
|
+
disableModelInvocation: boolean;
|
|
220
|
+
}
|
|
221
|
+
export interface SubagentPromptRuntimeOptions {
|
|
222
|
+
customPrompt?: string;
|
|
223
|
+
selectedTools: string[];
|
|
224
|
+
toolSnippets: Record<string, string>;
|
|
225
|
+
promptGuidelines: string[];
|
|
226
|
+
appendSystemPrompt?: string;
|
|
227
|
+
cwd: string;
|
|
228
|
+
contextFiles: Array<{
|
|
229
|
+
path: string;
|
|
230
|
+
content: string;
|
|
231
|
+
}>;
|
|
232
|
+
skills: SubagentPromptRuntimeSkill[];
|
|
233
|
+
}
|
|
234
|
+
export interface SubagentPreparationRuntime {
|
|
235
|
+
baseSystemPrompt: string;
|
|
236
|
+
options: SubagentPromptRuntimeOptions;
|
|
237
|
+
model: AgentProfileModelReference;
|
|
238
|
+
preparedAt: string;
|
|
239
|
+
promptRuntimeFingerprint: SubagentFingerprint;
|
|
240
|
+
fidelity: "exact-preflight" | "backend-assisted";
|
|
241
|
+
}
|
|
242
|
+
export interface SubagentPreparationBaseInput {
|
|
243
|
+
request: AgentRequest;
|
|
244
|
+
snapshot: AgentProfileSnapshot;
|
|
245
|
+
preflight: BackendPreflightAccepted;
|
|
246
|
+
}
|
|
247
|
+
export interface SubagentPreparationInput extends SubagentPreparationBaseInput {
|
|
248
|
+
runtime: SubagentPreparationRuntime;
|
|
249
|
+
}
|
|
250
|
+
export interface SubagentPreparationOutput {
|
|
251
|
+
systemPrompt: string;
|
|
252
|
+
messages: SubagentPreparedMessage[];
|
|
253
|
+
toolNegotiation: SubagentToolNegotiationResult;
|
|
254
|
+
contextBudget?: SubagentContextBudgetReceipt;
|
|
255
|
+
diagnostics: SubagentDiagnostic[];
|
|
256
|
+
}
|
|
257
|
+
export interface SubagentPreparationResult {
|
|
258
|
+
runtime: SubagentPreparationRuntime;
|
|
259
|
+
preparation: SubagentPreparationOutput;
|
|
260
|
+
}
|
|
261
|
+
export type SubagentHostPlanPreparer = (input: SubagentPreparationInput) => Promise<SubagentPreparationOutput> | SubagentPreparationOutput;
|
|
262
|
+
export interface AgentExecutionPlan {
|
|
263
|
+
schemaVersion: typeof SUBAGENT_CONTRACT_VERSION;
|
|
264
|
+
runId: string;
|
|
265
|
+
requestId: string;
|
|
266
|
+
backendId: string;
|
|
267
|
+
preflightId: string;
|
|
268
|
+
preflight: BackendPreflightAccepted;
|
|
269
|
+
profile: AgentProfileSnapshot;
|
|
270
|
+
model: AgentProfileModelReference;
|
|
271
|
+
thinkingLevel: ThinkingLevel;
|
|
272
|
+
systemPrompt: string;
|
|
273
|
+
messages: SubagentPreparedMessage[];
|
|
274
|
+
effectiveToolIds: string[];
|
|
275
|
+
access: SubagentAccessReceipt;
|
|
276
|
+
limits: SubagentLimitReceipt;
|
|
277
|
+
contextBudget?: SubagentContextBudgetReceipt;
|
|
278
|
+
resultProjection: AgentRequest["resultProjection"];
|
|
279
|
+
promptRuntimeFingerprint: SubagentFingerprint;
|
|
280
|
+
executionFingerprint: SubagentFingerprint;
|
|
281
|
+
}
|
|
282
|
+
export type SubagentArtifactLifetime = "run" | "session" | "persistent";
|
|
283
|
+
export type SubagentArtifactAuthorization = "read" | "write";
|
|
284
|
+
export interface SubagentArtifactReference {
|
|
285
|
+
id: string;
|
|
286
|
+
workspaceNamespace: string;
|
|
287
|
+
path: string;
|
|
288
|
+
authorization: SubagentArtifactAuthorization;
|
|
289
|
+
lifetime: SubagentArtifactLifetime;
|
|
290
|
+
cleanup: "backend" | "host" | "user";
|
|
291
|
+
}
|
|
292
|
+
export interface SubagentTraceReference {
|
|
293
|
+
handle: string;
|
|
294
|
+
backendId: string;
|
|
295
|
+
authorizationScope: string;
|
|
296
|
+
expiresAt?: string;
|
|
297
|
+
}
|
|
298
|
+
export interface SubagentUsage {
|
|
299
|
+
tokens?: {
|
|
300
|
+
input: number;
|
|
301
|
+
output: number;
|
|
302
|
+
total: number;
|
|
303
|
+
tokenizer?: string;
|
|
304
|
+
};
|
|
305
|
+
cost?: {
|
|
306
|
+
amount: number;
|
|
307
|
+
currency: string;
|
|
308
|
+
};
|
|
309
|
+
}
|
|
310
|
+
export interface SubagentError {
|
|
311
|
+
code: string;
|
|
312
|
+
message: string;
|
|
313
|
+
retryable?: boolean;
|
|
314
|
+
}
|
|
315
|
+
export interface AgentResponseCommon {
|
|
316
|
+
schemaVersion: typeof SUBAGENT_CONTRACT_VERSION;
|
|
317
|
+
requestId: string;
|
|
318
|
+
runId: string;
|
|
319
|
+
backendId: string;
|
|
320
|
+
profileFingerprint: SubagentFingerprint;
|
|
321
|
+
executionFingerprint: SubagentFingerprint;
|
|
322
|
+
model: AgentProfileModelReference;
|
|
323
|
+
effectiveToolIds: string[];
|
|
324
|
+
enforcement: {
|
|
325
|
+
access: SubagentAccessReceipt;
|
|
326
|
+
limits: SubagentLimitReceipt;
|
|
327
|
+
};
|
|
328
|
+
durationMs: number;
|
|
329
|
+
artifacts: SubagentArtifactReference[];
|
|
330
|
+
trace?: SubagentTraceReference;
|
|
331
|
+
usage?: SubagentUsage;
|
|
332
|
+
}
|
|
333
|
+
export interface AgentResponseCompleted extends AgentResponseCommon {
|
|
334
|
+
status: "completed";
|
|
335
|
+
output?: {
|
|
336
|
+
text: string;
|
|
337
|
+
partial: false;
|
|
338
|
+
};
|
|
339
|
+
}
|
|
340
|
+
export interface AgentResponseFailed extends AgentResponseCommon {
|
|
341
|
+
status: "failed";
|
|
342
|
+
error: SubagentError;
|
|
343
|
+
output?: {
|
|
344
|
+
text: string;
|
|
345
|
+
partial: true;
|
|
346
|
+
};
|
|
347
|
+
}
|
|
348
|
+
export interface AgentResponseCancelled extends AgentResponseCommon {
|
|
349
|
+
status: "cancelled";
|
|
350
|
+
reason: string;
|
|
351
|
+
output?: {
|
|
352
|
+
text: string;
|
|
353
|
+
partial: true;
|
|
354
|
+
};
|
|
355
|
+
}
|
|
356
|
+
export interface AgentResponseTimedOut extends AgentResponseCommon {
|
|
357
|
+
status: "timed-out";
|
|
358
|
+
reason: string;
|
|
359
|
+
enforcedTimeoutMs: number;
|
|
360
|
+
output?: {
|
|
361
|
+
text: string;
|
|
362
|
+
partial: true;
|
|
363
|
+
};
|
|
364
|
+
}
|
|
365
|
+
export interface AgentResponseLimitReached extends AgentResponseCommon {
|
|
366
|
+
status: "limit-reached";
|
|
367
|
+
reachedLimit: SubagentLimitName;
|
|
368
|
+
output?: {
|
|
369
|
+
text: string;
|
|
370
|
+
partial: true;
|
|
371
|
+
};
|
|
372
|
+
}
|
|
373
|
+
export type AgentResponse = AgentResponseCompleted | AgentResponseFailed | AgentResponseCancelled | AgentResponseTimedOut | AgentResponseLimitReached;
|
|
374
|
+
export interface SubagentContextBudgetResult {
|
|
375
|
+
items: SubagentContextItem[];
|
|
376
|
+
receipt: SubagentContextBudgetReceipt;
|
|
377
|
+
diagnostics: SubagentDiagnostic[];
|
|
378
|
+
}
|
|
379
|
+
export interface SubagentInitialMessagesResult {
|
|
380
|
+
messages: SubagentPreparedMessage[];
|
|
381
|
+
contextBudget?: SubagentContextBudgetReceipt;
|
|
382
|
+
diagnostics: SubagentDiagnostic[];
|
|
383
|
+
}
|
|
384
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/subagent/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/subagent/types.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAU,CAAC;AAEpD,MAAM,CAAC,MAAM,2BAA2B,GAAG,YAAqB,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { SubagentAccessReceipt, SubagentAccessRequest, SubagentDiagnostic, SubagentFingerprint, SubagentLimitName, SubagentPreparationRuntime } from "./types.ts";
|
|
2
|
+
export declare const SUBAGENT_LIMIT_NAMES: readonly SubagentLimitName[];
|
|
3
|
+
export declare const OPAQUE_ID_PATTERN: RegExp;
|
|
4
|
+
export declare const NAMESPACE_PATTERN: RegExp;
|
|
5
|
+
export declare const FINGERPRINT_PATTERN: RegExp;
|
|
6
|
+
export declare function validateMediaReference(value: unknown, path: string, diagnostics: SubagentDiagnostic[]): void;
|
|
7
|
+
export declare function validateSelectedContext(value: unknown, path: string, diagnostics: SubagentDiagnostic[]): SubagentDiagnostic[];
|
|
8
|
+
export declare function validateAccessRequest(value: unknown, path: string, diagnostics: SubagentDiagnostic[]): void;
|
|
9
|
+
export declare function validateLimitRequest(value: unknown, path: string, diagnostics: SubagentDiagnostic[]): void;
|
|
10
|
+
export declare function validateBackendDescriptor(value: Record<string, unknown>, path: string, diagnostics: SubagentDiagnostic[]): void;
|
|
11
|
+
export declare function validateToolCatalog(value: readonly unknown[], diagnostics: SubagentDiagnostic[]): void;
|
|
12
|
+
export declare function validatePreparationRuntime(value: unknown, path: string, diagnostics: SubagentDiagnostic[], expectedFidelity?: SubagentPreparationRuntime["fidelity"]): void;
|
|
13
|
+
export declare function validateAccessReceipt(value: unknown, path: string, diagnostics: SubagentDiagnostic[]): void;
|
|
14
|
+
export declare function validateAccessCapabilities(value: Record<string, unknown>, path: string, diagnostics: SubagentDiagnostic[]): void;
|
|
15
|
+
export declare function validateLimitReceipt(value: unknown, path: string, diagnostics: SubagentDiagnostic[]): void;
|
|
16
|
+
export declare function validateAccessEnforcement(request: SubagentAccessRequest, receipt: SubagentAccessReceipt): SubagentDiagnostic[];
|
|
17
|
+
export declare function validatePreparedMessage(value: unknown, path: string, diagnostics: SubagentDiagnostic[]): void;
|
|
18
|
+
export declare function validateContextBudgetReceipt(value: unknown, path: string, diagnostics: SubagentDiagnostic[]): void;
|
|
19
|
+
export declare function validateUniqueStringArray(value: readonly unknown[], path: string, diagnostics: SubagentDiagnostic[]): void;
|
|
20
|
+
export declare function validateDiagnosticArray(value: readonly unknown[], path: string, diagnostics: SubagentDiagnostic[]): void;
|
|
21
|
+
export declare function validateUsage(value: unknown, path: string, diagnostics: SubagentDiagnostic[]): void;
|
|
22
|
+
export declare function validateModelReference(value: unknown, path: string, diagnostics: SubagentDiagnostic[]): void;
|
|
23
|
+
export declare function validateOpaqueId(value: unknown, path: string, diagnostics: SubagentDiagnostic[]): void;
|
|
24
|
+
export declare function validateNamespace(value: unknown, path: string, diagnostics: SubagentDiagnostic[]): void;
|
|
25
|
+
export declare function validateFingerprint(value: unknown, path: string, diagnostics: SubagentDiagnostic[]): void;
|
|
26
|
+
export declare function isFingerprint(value: unknown): value is SubagentFingerprint;
|
|
27
|
+
export declare function isSafeRelativePath(value: unknown, allowDot?: boolean): boolean;
|
|
28
|
+
export declare function isIsoDate(value: unknown): boolean;
|
|
29
|
+
export declare function isRecord(value: unknown): value is Record<string, unknown>;
|
|
30
|
+
export declare function isPositiveInteger(value: unknown): value is number;
|
|
31
|
+
export declare function isNonNegativeInteger(value: unknown): value is number;
|
|
32
|
+
export declare function isNonNegativeFinite(value: unknown): value is number;
|
|
33
|
+
export declare function hasErrors(diagnostics: readonly SubagentDiagnostic[]): boolean;
|
|
34
|
+
export declare function error(code: string, message: string, path?: string): SubagentDiagnostic;
|
|
35
|
+
//# sourceMappingURL=validation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/subagent/validation.ts"],"names":[],"mappings":"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"}
|