@zihanw/pi-forge 0.3.2 → 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.
Files changed (244) hide show
  1. package/CHANGELOG.md +160 -0
  2. package/PUBLIC_API.md +28 -0
  3. package/README.md +137 -11
  4. package/README.zh-CN.md +137 -11
  5. package/SUBAGENT_ADAPTER_CONTRACT.md +199 -0
  6. package/dist/agent-profile.d.ts +71 -0
  7. package/dist/agent-profile.d.ts.map +1 -0
  8. package/dist/agent-profile.js +303 -0
  9. package/dist/agent-profile.js.map +1 -0
  10. package/dist/forge-config.d.ts +8 -0
  11. package/dist/forge-config.d.ts.map +1 -0
  12. package/dist/forge-config.js +40 -0
  13. package/dist/forge-config.js.map +1 -0
  14. package/dist/forge-extensions.d.ts.map +1 -1
  15. package/dist/forge-extensions.js +19 -3
  16. package/dist/forge-extensions.js.map +1 -1
  17. package/dist/index.d.ts +7 -0
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +75 -361
  20. package/dist/index.js.map +1 -1
  21. package/dist/lifecycle.d.ts +11 -3
  22. package/dist/lifecycle.d.ts.map +1 -1
  23. package/dist/lifecycle.js +90 -4
  24. package/dist/lifecycle.js.map +1 -1
  25. package/dist/loader.d.ts.map +1 -1
  26. package/dist/loader.js +116 -5
  27. package/dist/loader.js.map +1 -1
  28. package/dist/payload-capture.d.ts.map +1 -1
  29. package/dist/payload-capture.js +27 -0
  30. package/dist/payload-capture.js.map +1 -1
  31. package/dist/payload-command.d.ts +3 -3
  32. package/dist/payload-command.d.ts.map +1 -1
  33. package/dist/payload-command.js.map +1 -1
  34. package/dist/preview.d.ts +2 -2
  35. package/dist/preview.d.ts.map +1 -1
  36. package/dist/preview.js +2 -3
  37. package/dist/preview.js.map +1 -1
  38. package/dist/profile-command.d.ts +12 -0
  39. package/dist/profile-command.d.ts.map +1 -0
  40. package/dist/profile-command.js +291 -0
  41. package/dist/profile-command.js.map +1 -0
  42. package/dist/profile-service.d.ts +103 -0
  43. package/dist/profile-service.d.ts.map +1 -0
  44. package/dist/profile-service.js +215 -0
  45. package/dist/profile-service.js.map +1 -0
  46. package/dist/runtime/profile-runtime.d.ts +13 -0
  47. package/dist/runtime/profile-runtime.d.ts.map +1 -0
  48. package/dist/runtime/profile-runtime.js +47 -0
  49. package/dist/runtime/profile-runtime.js.map +1 -0
  50. package/dist/runtime/prompt-stack-runtime.d.ts +22 -0
  51. package/dist/runtime/prompt-stack-runtime.d.ts.map +1 -0
  52. package/dist/runtime/prompt-stack-runtime.js +104 -0
  53. package/dist/runtime/prompt-stack-runtime.js.map +1 -0
  54. package/dist/runtime/subagent-runtime.d.ts +30 -0
  55. package/dist/runtime/subagent-runtime.d.ts.map +1 -0
  56. package/dist/runtime/subagent-runtime.js +114 -0
  57. package/dist/runtime/subagent-runtime.js.map +1 -0
  58. package/dist/runtime/tool-policy-runtime.d.ts +15 -0
  59. package/dist/runtime/tool-policy-runtime.d.ts.map +1 -0
  60. package/dist/runtime/tool-policy-runtime.js +170 -0
  61. package/dist/runtime/tool-policy-runtime.js.map +1 -0
  62. package/dist/runtime/web-editor-runtime.d.ts +9 -0
  63. package/dist/runtime/web-editor-runtime.d.ts.map +1 -0
  64. package/dist/runtime/web-editor-runtime.js +131 -0
  65. package/dist/runtime/web-editor-runtime.js.map +1 -0
  66. package/dist/runtime-state.d.ts +4 -0
  67. package/dist/runtime-state.d.ts.map +1 -1
  68. package/dist/runtime-state.js +2 -0
  69. package/dist/runtime-state.js.map +1 -1
  70. package/dist/storage.d.ts +3 -0
  71. package/dist/storage.d.ts.map +1 -1
  72. package/dist/storage.js +9 -0
  73. package/dist/storage.js.map +1 -1
  74. package/dist/subagent/backend-registry.d.ts +75 -0
  75. package/dist/subagent/backend-registry.d.ts.map +1 -0
  76. package/dist/subagent/backend-registry.js +463 -0
  77. package/dist/subagent/backend-registry.js.map +1 -0
  78. package/dist/subagent/canonical.d.ts +10 -0
  79. package/dist/subagent/canonical.d.ts.map +1 -0
  80. package/dist/subagent/canonical.js +52 -0
  81. package/dist/subagent/canonical.js.map +1 -0
  82. package/dist/subagent/context.d.ts +8 -0
  83. package/dist/subagent/context.d.ts.map +1 -0
  84. package/dist/subagent/context.js +125 -0
  85. package/dist/subagent/context.js.map +1 -0
  86. package/dist/subagent/contract.d.ts +11 -0
  87. package/dist/subagent/contract.d.ts.map +1 -0
  88. package/dist/subagent/contract.js +11 -0
  89. package/dist/subagent/contract.js.map +1 -0
  90. package/dist/subagent/diagnostics.d.ts +3 -0
  91. package/dist/subagent/diagnostics.d.ts.map +1 -0
  92. package/dist/subagent/diagnostics.js +5 -0
  93. package/dist/subagent/diagnostics.js.map +1 -0
  94. package/dist/subagent/index.d.ts +13 -0
  95. package/dist/subagent/index.d.ts.map +1 -0
  96. package/dist/subagent/index.js +13 -0
  97. package/dist/subagent/index.js.map +1 -0
  98. package/dist/subagent/pi-model-runtime.d.ts +8 -0
  99. package/dist/subagent/pi-model-runtime.d.ts.map +1 -0
  100. package/dist/subagent/pi-model-runtime.js +22 -0
  101. package/dist/subagent/pi-model-runtime.js.map +1 -0
  102. package/dist/subagent/pi-sdk-backend.d.ts +23 -0
  103. package/dist/subagent/pi-sdk-backend.d.ts.map +1 -0
  104. package/dist/subagent/pi-sdk-backend.js +383 -0
  105. package/dist/subagent/pi-sdk-backend.js.map +1 -0
  106. package/dist/subagent/pi-subprocess-backend.d.ts +72 -0
  107. package/dist/subagent/pi-subprocess-backend.d.ts.map +1 -0
  108. package/dist/subagent/pi-subprocess-backend.js +756 -0
  109. package/dist/subagent/pi-subprocess-backend.js.map +1 -0
  110. package/dist/subagent/plan.d.ts +14 -0
  111. package/dist/subagent/plan.d.ts.map +1 -0
  112. package/dist/subagent/plan.js +160 -0
  113. package/dist/subagent/plan.js.map +1 -0
  114. package/dist/subagent/preflight.d.ts +4 -0
  115. package/dist/subagent/preflight.d.ts.map +1 -0
  116. package/dist/subagent/preflight.js +108 -0
  117. package/dist/subagent/preflight.js.map +1 -0
  118. package/dist/subagent/request.d.ts +4 -0
  119. package/dist/subagent/request.d.ts.map +1 -0
  120. package/dist/subagent/request.js +122 -0
  121. package/dist/subagent/request.js.map +1 -0
  122. package/dist/subagent/response.d.ts +8 -0
  123. package/dist/subagent/response.d.ts.map +1 -0
  124. package/dist/subagent/response.js +155 -0
  125. package/dist/subagent/response.js.map +1 -0
  126. package/dist/subagent/subprocess-bridge.d.ts +21 -0
  127. package/dist/subagent/subprocess-bridge.d.ts.map +1 -0
  128. package/dist/subagent/subprocess-bridge.js +87 -0
  129. package/dist/subagent/subprocess-bridge.js.map +1 -0
  130. package/dist/subagent/subprocess-report.d.ts +4 -0
  131. package/dist/subagent/subprocess-report.d.ts.map +1 -0
  132. package/dist/subagent/subprocess-report.js +55 -0
  133. package/dist/subagent/subprocess-report.js.map +1 -0
  134. package/dist/subagent/tools.d.ts +4 -0
  135. package/dist/subagent/tools.d.ts.map +1 -0
  136. package/dist/subagent/tools.js +42 -0
  137. package/dist/subagent/tools.js.map +1 -0
  138. package/dist/subagent/types.d.ts +384 -0
  139. package/dist/subagent/types.d.ts.map +1 -0
  140. package/dist/subagent/types.js +3 -0
  141. package/dist/subagent/types.js.map +1 -0
  142. package/dist/subagent/validation.d.ts +35 -0
  143. package/dist/subagent/validation.d.ts.map +1 -0
  144. package/dist/subagent/validation.js +500 -0
  145. package/dist/subagent/validation.js.map +1 -0
  146. package/dist/subagent-command.d.ts +4 -0
  147. package/dist/subagent-command.d.ts.map +1 -0
  148. package/dist/subagent-command.js +153 -0
  149. package/dist/subagent-command.js.map +1 -0
  150. package/dist/subagent-contract.d.ts +8 -0
  151. package/dist/subagent-contract.d.ts.map +1 -0
  152. package/dist/subagent-contract.js +8 -0
  153. package/dist/subagent-contract.js.map +1 -0
  154. package/dist/subagent-host.d.ts +44 -0
  155. package/dist/subagent-host.d.ts.map +1 -0
  156. package/dist/subagent-host.js +291 -0
  157. package/dist/subagent-host.js.map +1 -0
  158. package/dist/subagent-profile-tool.d.ts +26 -0
  159. package/dist/subagent-profile-tool.d.ts.map +1 -0
  160. package/dist/subagent-profile-tool.js +93 -0
  161. package/dist/subagent-profile-tool.js.map +1 -0
  162. package/dist/subagent-tool.d.ts +50 -0
  163. package/dist/subagent-tool.d.ts.map +1 -0
  164. package/dist/subagent-tool.js +385 -0
  165. package/dist/subagent-tool.js.map +1 -0
  166. package/dist/web-editor/client/api.d.ts +9 -0
  167. package/dist/web-editor/client/api.d.ts.map +1 -0
  168. package/dist/web-editor/client/api.js +26 -0
  169. package/dist/web-editor/client/api.js.map +1 -0
  170. package/dist/web-editor/client/dom.d.ts +13 -0
  171. package/dist/web-editor/client/dom.d.ts.map +1 -0
  172. package/dist/web-editor/client/dom.js +30 -0
  173. package/dist/web-editor/client/dom.js.map +1 -0
  174. package/dist/web-editor/client/inspector.d.ts +22 -0
  175. package/dist/web-editor/client/inspector.d.ts.map +1 -0
  176. package/dist/web-editor/client/inspector.js +226 -0
  177. package/dist/web-editor/client/inspector.js.map +1 -0
  178. package/dist/web-editor/client/main.d.ts +2 -0
  179. package/dist/web-editor/client/main.d.ts.map +1 -0
  180. package/dist/web-editor/client/main.js +1468 -0
  181. package/dist/web-editor/client/main.js.map +1 -0
  182. package/dist/web-editor/client/policy-editor.d.ts +16 -0
  183. package/dist/web-editor/client/policy-editor.d.ts.map +1 -0
  184. package/dist/web-editor/client/policy-editor.js +330 -0
  185. package/dist/web-editor/client/policy-editor.js.map +1 -0
  186. package/dist/web-editor/client/regex-editor.d.ts +19 -0
  187. package/dist/web-editor/client/regex-editor.d.ts.map +1 -0
  188. package/dist/web-editor/client/regex-editor.js +281 -0
  189. package/dist/web-editor/client/regex-editor.js.map +1 -0
  190. package/dist/web-editor/client/types.d.ts +60 -0
  191. package/dist/web-editor/client/types.d.ts.map +1 -0
  192. package/dist/web-editor/client/types.js +2 -0
  193. package/dist/web-editor/client/types.js.map +1 -0
  194. package/dist/web-editor/client-script.d.ts +2 -0
  195. package/dist/web-editor/client-script.d.ts.map +1 -0
  196. package/dist/web-editor/client-script.generated.d.ts +2 -0
  197. package/dist/web-editor/client-script.generated.d.ts.map +1 -0
  198. package/dist/web-editor/client-script.generated.js +3 -0
  199. package/dist/web-editor/client-script.generated.js.map +1 -0
  200. package/dist/web-editor/client-script.js +2 -0
  201. package/dist/web-editor/client-script.js.map +1 -0
  202. package/dist/web-editor/page.d.ts.map +1 -1
  203. package/dist/web-editor/page.js +6 -3249
  204. package/dist/web-editor/page.js.map +1 -1
  205. package/dist/web-editor/styles.d.ts +2 -0
  206. package/dist/web-editor/styles.d.ts.map +1 -0
  207. package/dist/web-editor/styles.js +996 -0
  208. package/dist/web-editor/styles.js.map +1 -0
  209. package/dist/web-host.d.ts +3 -3
  210. package/dist/web-host.d.ts.map +1 -1
  211. package/dist/web-host.js +6 -0
  212. package/dist/web-host.js.map +1 -1
  213. package/package.json +42 -14
  214. package/src/compiler.ts +0 -578
  215. package/src/extension-registry.ts +0 -33
  216. package/src/forge-extensions.ts +0 -223
  217. package/src/index.ts +0 -445
  218. package/src/lifecycle.ts +0 -171
  219. package/src/loader.ts +0 -394
  220. package/src/macro-engine.ts +0 -358
  221. package/src/payload-capture.ts +0 -85
  222. package/src/payload-command.ts +0 -138
  223. package/src/policy.ts +0 -42
  224. package/src/preset-command.ts +0 -280
  225. package/src/preview.ts +0 -226
  226. package/src/regex.ts +0 -500
  227. package/src/render-helpers.ts +0 -169
  228. package/src/runtime-state.ts +0 -40
  229. package/src/sillytavern-importer/items.ts +0 -98
  230. package/src/sillytavern-importer/macros.ts +0 -159
  231. package/src/sillytavern-importer/prompt-order.ts +0 -54
  232. package/src/sillytavern-importer/regex.ts +0 -270
  233. package/src/sillytavern-importer/report.ts +0 -202
  234. package/src/sillytavern-importer/types.ts +0 -120
  235. package/src/sillytavern-importer.ts +0 -152
  236. package/src/slot-renderers.ts +0 -414
  237. package/src/stack-migration.ts +0 -159
  238. package/src/storage.ts +0 -45
  239. package/src/types.ts +0 -209
  240. package/src/web-editor/index.ts +0 -2
  241. package/src/web-editor/page.ts +0 -3330
  242. package/src/web-editor/server.ts +0 -294
  243. package/src/web-editor/types.ts +0 -98
  244. 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,3 @@
1
+ export const SUBAGENT_CONTRACT_VERSION = 1;
2
+ export const SUBAGENT_FINGERPRINT_PREFIX = "sha256:v1:";
3
+ //# sourceMappingURL=types.js.map
@@ -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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"}