@zihanw/pi-forge 0.4.1 → 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.
Files changed (328) hide show
  1. package/CHANGELOG.md +41 -1
  2. package/README.md +11 -11
  3. package/README.zh-CN.md +3 -5
  4. package/SUBAGENT_ADAPTER_CONTRACT.md +3 -1
  5. package/dist/agent-profile.d.ts +18 -62
  6. package/dist/agent-profile.d.ts.map +1 -1
  7. package/dist/agent-profile.js +27 -249
  8. package/dist/agent-profile.js.map +1 -1
  9. package/dist/codecs/agent-profile.d.ts +53 -0
  10. package/dist/codecs/agent-profile.d.ts.map +1 -0
  11. package/dist/codecs/agent-profile.js +176 -0
  12. package/dist/codecs/agent-profile.js.map +1 -0
  13. package/dist/codecs/index.d.ts +5 -0
  14. package/dist/codecs/index.d.ts.map +1 -0
  15. package/dist/codecs/index.js +3 -0
  16. package/dist/codecs/index.js.map +1 -0
  17. package/dist/codecs/prompt-stack.d.ts +18 -0
  18. package/dist/codecs/prompt-stack.d.ts.map +1 -0
  19. package/dist/codecs/prompt-stack.js +479 -0
  20. package/dist/codecs/prompt-stack.js.map +1 -0
  21. package/dist/compile-cycle.d.ts +18 -0
  22. package/dist/compile-cycle.d.ts.map +1 -0
  23. package/dist/compile-cycle.js +13 -0
  24. package/dist/compile-cycle.js.map +1 -0
  25. package/dist/compiler.d.ts +10 -4
  26. package/dist/compiler.d.ts.map +1 -1
  27. package/dist/compiler.js +53 -19
  28. package/dist/compiler.js.map +1 -1
  29. package/dist/extension-registry.d.ts.map +1 -1
  30. package/dist/extension-registry.js +5 -2
  31. package/dist/extension-registry.js.map +1 -1
  32. package/dist/forge-config.d.ts +0 -105
  33. package/dist/forge-config.d.ts.map +1 -1
  34. package/dist/forge-config.js +1 -313
  35. package/dist/forge-config.js.map +1 -1
  36. package/dist/forge-v1/analyzer.d.ts +3 -0
  37. package/dist/forge-v1/analyzer.d.ts.map +1 -0
  38. package/dist/forge-v1/analyzer.js +50 -0
  39. package/dist/forge-v1/analyzer.js.map +1 -0
  40. package/dist/forge-v1/index.d.ts +6 -0
  41. package/dist/forge-v1/index.d.ts.map +1 -0
  42. package/dist/forge-v1/index.js +13 -0
  43. package/dist/forge-v1/index.js.map +1 -0
  44. package/dist/forge-v1/parser.d.ts +3 -0
  45. package/dist/forge-v1/parser.d.ts.map +1 -0
  46. package/dist/forge-v1/parser.js +186 -0
  47. package/dist/forge-v1/parser.js.map +1 -0
  48. package/dist/forge-v1/renderer.d.ts +9 -0
  49. package/dist/forge-v1/renderer.d.ts.map +1 -0
  50. package/dist/forge-v1/renderer.js +181 -0
  51. package/dist/forge-v1/renderer.js.map +1 -0
  52. package/dist/forge-v1/types.d.ts +87 -0
  53. package/dist/forge-v1/types.d.ts.map +1 -0
  54. package/dist/forge-v1/types.js +4 -0
  55. package/dist/forge-v1/types.js.map +1 -0
  56. package/dist/index.d.ts +12 -12
  57. package/dist/index.d.ts.map +1 -1
  58. package/dist/index.js +49 -81
  59. package/dist/index.js.map +1 -1
  60. package/dist/lifecycle.d.ts +6 -5
  61. package/dist/lifecycle.d.ts.map +1 -1
  62. package/dist/lifecycle.js +43 -112
  63. package/dist/lifecycle.js.map +1 -1
  64. package/dist/loader.d.ts +5 -8
  65. package/dist/loader.d.ts.map +1 -1
  66. package/dist/loader.js +10 -467
  67. package/dist/loader.js.map +1 -1
  68. package/dist/macro-engine.d.ts +9 -14
  69. package/dist/macro-engine.d.ts.map +1 -1
  70. package/dist/macro-engine.js +5 -238
  71. package/dist/macro-engine.js.map +1 -1
  72. package/dist/payload-command.d.ts +6 -6
  73. package/dist/payload-command.d.ts.map +1 -1
  74. package/dist/payload-command.js.map +1 -1
  75. package/dist/payload-state.d.ts +16 -0
  76. package/dist/payload-state.d.ts.map +1 -0
  77. package/dist/payload-state.js +14 -0
  78. package/dist/payload-state.js.map +1 -0
  79. package/dist/preset-command.d.ts +4 -4
  80. package/dist/preset-command.d.ts.map +1 -1
  81. package/dist/preset-command.js +33 -104
  82. package/dist/preset-command.js.map +1 -1
  83. package/dist/preview.d.ts +4 -4
  84. package/dist/preview.d.ts.map +1 -1
  85. package/dist/preview.js +17 -8
  86. package/dist/preview.js.map +1 -1
  87. package/dist/profile-command.d.ts +2 -2
  88. package/dist/profile-command.d.ts.map +1 -1
  89. package/dist/profile-command.js +15 -14
  90. package/dist/profile-command.js.map +1 -1
  91. package/dist/profile-service.d.ts.map +1 -1
  92. package/dist/profile-service.js +23 -39
  93. package/dist/profile-service.js.map +1 -1
  94. package/dist/prompt-analysis.d.ts +24 -0
  95. package/dist/prompt-analysis.d.ts.map +1 -0
  96. package/dist/prompt-analysis.js +84 -0
  97. package/dist/prompt-analysis.js.map +1 -0
  98. package/dist/prompt-runtime.d.ts +19 -0
  99. package/dist/prompt-runtime.d.ts.map +1 -0
  100. package/dist/prompt-runtime.js +30 -0
  101. package/dist/prompt-runtime.js.map +1 -0
  102. package/dist/regex.js +6 -12
  103. package/dist/regex.js.map +1 -1
  104. package/dist/render-helpers.d.ts +2 -10
  105. package/dist/render-helpers.d.ts.map +1 -1
  106. package/dist/render-helpers.js +3 -53
  107. package/dist/render-helpers.js.map +1 -1
  108. package/dist/repositories/agent-profile.d.ts +36 -0
  109. package/dist/repositories/agent-profile.d.ts.map +1 -0
  110. package/dist/repositories/agent-profile.js +153 -0
  111. package/dist/repositories/agent-profile.js.map +1 -0
  112. package/dist/repositories/index.d.ts +3 -0
  113. package/dist/repositories/index.d.ts.map +1 -0
  114. package/dist/repositories/index.js +3 -0
  115. package/dist/repositories/index.js.map +1 -0
  116. package/dist/repositories/prompt-stack.d.ts +57 -0
  117. package/dist/repositories/prompt-stack.d.ts.map +1 -0
  118. package/dist/repositories/prompt-stack.js +175 -0
  119. package/dist/repositories/prompt-stack.js.map +1 -0
  120. package/dist/runtime/profile-runtime.d.ts +2 -2
  121. package/dist/runtime/profile-runtime.d.ts.map +1 -1
  122. package/dist/runtime/profile-runtime.js +13 -10
  123. package/dist/runtime/profile-runtime.js.map +1 -1
  124. package/dist/runtime/prompt-stack-runtime.d.ts +4 -3
  125. package/dist/runtime/prompt-stack-runtime.d.ts.map +1 -1
  126. package/dist/runtime/prompt-stack-runtime.js +42 -57
  127. package/dist/runtime/prompt-stack-runtime.js.map +1 -1
  128. package/dist/runtime/tool-policy-runtime.d.ts +2 -2
  129. package/dist/runtime/tool-policy-runtime.d.ts.map +1 -1
  130. package/dist/runtime/tool-policy-runtime.js +3 -3
  131. package/dist/runtime/tool-policy-runtime.js.map +1 -1
  132. package/dist/session-adapter.d.ts +17 -0
  133. package/dist/session-adapter.d.ts.map +1 -0
  134. package/dist/session-adapter.js +57 -0
  135. package/dist/session-adapter.js.map +1 -0
  136. package/dist/slot-renderers.d.ts +16 -3
  137. package/dist/slot-renderers.d.ts.map +1 -1
  138. package/dist/slot-renderers.js +15 -63
  139. package/dist/slot-renderers.js.map +1 -1
  140. package/dist/stack-migration.d.ts +6 -0
  141. package/dist/stack-migration.d.ts.map +1 -1
  142. package/dist/stack-migration.js +49 -52
  143. package/dist/stack-migration.js.map +1 -1
  144. package/dist/subagent/fingerprints.d.ts +24 -0
  145. package/dist/subagent/fingerprints.d.ts.map +1 -0
  146. package/dist/subagent/fingerprints.js +81 -0
  147. package/dist/subagent/fingerprints.js.map +1 -0
  148. package/dist/subagent/host-port.d.ts +296 -0
  149. package/dist/subagent/host-port.d.ts.map +1 -0
  150. package/dist/subagent/host-port.js +560 -0
  151. package/dist/subagent/host-port.js.map +1 -0
  152. package/dist/subagent/index.d.ts +10 -10
  153. package/dist/subagent/index.d.ts.map +1 -1
  154. package/dist/subagent/index.js +9 -10
  155. package/dist/subagent/index.js.map +1 -1
  156. package/dist/subagent-host.d.ts +99 -18
  157. package/dist/subagent-host.d.ts.map +1 -1
  158. package/dist/subagent-host.js +143 -146
  159. package/dist/subagent-host.js.map +1 -1
  160. package/dist/template-render.d.ts +18 -0
  161. package/dist/template-render.d.ts.map +1 -0
  162. package/dist/template-render.js +232 -0
  163. package/dist/template-render.js.map +1 -0
  164. package/dist/types.d.ts +40 -27
  165. package/dist/types.d.ts.map +1 -1
  166. package/dist/types.js.map +1 -1
  167. package/dist/web-editor/client-script.generated.d.ts.map +1 -1
  168. package/dist/web-editor/client-script.generated.js +1 -1
  169. package/dist/web-editor/client-script.generated.js.map +1 -1
  170. package/dist/web-editor/client-styles.generated.d.ts.map +1 -1
  171. package/dist/web-editor/client-styles.generated.js +1 -1
  172. package/dist/web-editor/client-styles.generated.js.map +1 -1
  173. package/dist/web-editor/server.d.ts.map +1 -1
  174. package/dist/web-editor/server.js +1 -68
  175. package/dist/web-editor/server.js.map +1 -1
  176. package/dist/web-editor/styles.d.ts.map +1 -1
  177. package/dist/web-editor/styles.js +13 -0
  178. package/dist/web-editor/styles.js.map +1 -1
  179. package/dist/web-editor/types.d.ts +0 -35
  180. package/dist/web-editor/types.d.ts.map +1 -1
  181. package/dist/web-host.d.ts +4 -2
  182. package/dist/web-host.d.ts.map +1 -1
  183. package/dist/web-host.js +32 -103
  184. package/dist/web-host.js.map +1 -1
  185. package/dist/workspace.d.ts +74 -0
  186. package/dist/workspace.d.ts.map +1 -0
  187. package/dist/workspace.js +351 -0
  188. package/dist/workspace.js.map +1 -0
  189. package/docs/README.md +6 -4
  190. package/docs/concepts/agent-profiles.md +1 -1
  191. package/docs/concepts/prompt-stacks.md +5 -5
  192. package/docs/design/README.md +21 -3
  193. package/docs/design/architecture-0.5.md +211 -0
  194. package/docs/design/archive/0.5-full-proposal/0.5-consumer-audit.md +62 -0
  195. package/docs/design/archive/0.5-full-proposal/0.5-inventory.md +208 -0
  196. package/docs/design/archive/0.5-full-proposal/0.5-phase0-decision-drafts.md +237 -0
  197. package/docs/design/archive/0.5-full-proposal/README.md +12 -0
  198. package/docs/design/archive/0.5-full-proposal/architecture-0.5.md +423 -0
  199. package/docs/design/archive/0.5-full-proposal/host-discovery-spike.md +103 -0
  200. package/docs/design/archive/0.5-full-proposal/template-language-spike.md +156 -0
  201. package/docs/design/context-diff-plan.md +72 -0
  202. package/docs/design/decision-template.md +33 -0
  203. package/docs/design/roadmap-0.4-archive.md +1 -1
  204. package/docs/design/subagents/interface-design.md +1 -1
  205. package/docs/development/architecture-rules.md +148 -0
  206. package/docs/development/roadmap.md +37 -5
  207. package/docs/development/scoped-global-profiles-stacks.md +1 -1
  208. package/docs/development/setup.md +6 -4
  209. package/docs/getting-started.md +5 -4
  210. package/docs/guides/custom-macros-and-slots.md +8 -7
  211. package/docs/guides/debugging.md +1 -1
  212. package/docs/guides/delegation.md +18 -22
  213. package/docs/guides/migrating-to-0.5.md +107 -0
  214. package/docs/guides/use-cases.md +7 -11
  215. package/docs/guides/web-editor.md +5 -9
  216. package/docs/reference/commands.md +4 -3
  217. package/docs/reference/configuration.md +17 -18
  218. package/docs/reference/features.md +34 -80
  219. package/docs/reference/macros-and-slots.md +70 -49
  220. package/docs/reference/public-api.md +64 -17
  221. package/docs/reference/stack-schema.md +14 -9
  222. package/docs/reference/subagent-host-port.md +49 -0
  223. package/docs/zh-CN/README.md +3 -3
  224. package/docs/zh-CN/concepts/agent-profiles.md +1 -1
  225. package/docs/zh-CN/concepts/prompt-stacks.md +4 -4
  226. package/docs/zh-CN/getting-started.md +3 -2
  227. package/docs/zh-CN/guides/delegation.md +10 -12
  228. package/docs/zh-CN/guides/migrating-to-0.5.md +92 -0
  229. package/docs/zh-CN/guides/web-editor.md +4 -4
  230. package/docs/zh-CN/reference/commands.md +3 -2
  231. package/examples/custom-system-status-extension/README.md +3 -3
  232. package/examples/custom-system-status-extension/index.ts +2 -1
  233. package/examples/custom-system-status-extension/prompt-stack.json +4 -3
  234. package/examples/default-prompt-stack.json +9 -4
  235. package/examples/image-reader-prompt-stack.json +16 -26
  236. package/examples/reviewer-prompt-stack.json +13 -24
  237. package/package.json +101 -120
  238. package/dist/runtime/subagent-runtime.d.ts +0 -45
  239. package/dist/runtime/subagent-runtime.d.ts.map +0 -1
  240. package/dist/runtime/subagent-runtime.js +0 -343
  241. package/dist/runtime/subagent-runtime.js.map +0 -1
  242. package/dist/runtime-state.d.ts +0 -30
  243. package/dist/runtime-state.d.ts.map +0 -1
  244. package/dist/runtime-state.js +0 -17
  245. package/dist/runtime-state.js.map +0 -1
  246. package/dist/sillytavern-importer/items.d.ts +0 -3
  247. package/dist/sillytavern-importer/items.d.ts.map +0 -1
  248. package/dist/sillytavern-importer/items.js +0 -88
  249. package/dist/sillytavern-importer/items.js.map +0 -1
  250. package/dist/sillytavern-importer/macros.d.ts +0 -15
  251. package/dist/sillytavern-importer/macros.d.ts.map +0 -1
  252. package/dist/sillytavern-importer/macros.js +0 -141
  253. package/dist/sillytavern-importer/macros.js.map +0 -1
  254. package/dist/sillytavern-importer/prompt-order.d.ts +0 -6
  255. package/dist/sillytavern-importer/prompt-order.d.ts.map +0 -1
  256. package/dist/sillytavern-importer/prompt-order.js +0 -38
  257. package/dist/sillytavern-importer/prompt-order.js.map +0 -1
  258. package/dist/sillytavern-importer/regex.d.ts +0 -3
  259. package/dist/sillytavern-importer/regex.d.ts.map +0 -1
  260. package/dist/sillytavern-importer/regex.js +0 -275
  261. package/dist/sillytavern-importer/regex.js.map +0 -1
  262. package/dist/sillytavern-importer/report.d.ts +0 -21
  263. package/dist/sillytavern-importer/report.d.ts.map +0 -1
  264. package/dist/sillytavern-importer/report.js +0 -166
  265. package/dist/sillytavern-importer/report.js.map +0 -1
  266. package/dist/sillytavern-importer/types.d.ts +0 -106
  267. package/dist/sillytavern-importer/types.d.ts.map +0 -1
  268. package/dist/sillytavern-importer/types.js +0 -2
  269. package/dist/sillytavern-importer/types.js.map +0 -1
  270. package/dist/sillytavern-importer.d.ts +0 -5
  271. package/dist/sillytavern-importer.d.ts.map +0 -1
  272. package/dist/sillytavern-importer.js +0 -117
  273. package/dist/sillytavern-importer.js.map +0 -1
  274. package/dist/subagent/canonical.d.ts +0 -22
  275. package/dist/subagent/canonical.d.ts.map +0 -1
  276. package/dist/subagent/canonical.js +0 -24
  277. package/dist/subagent/canonical.js.map +0 -1
  278. package/dist/subagent/context.d.ts +0 -8
  279. package/dist/subagent/context.d.ts.map +0 -1
  280. package/dist/subagent/context.js +0 -125
  281. package/dist/subagent/context.js.map +0 -1
  282. package/dist/subagent/contract.d.ts +0 -10
  283. package/dist/subagent/contract.d.ts.map +0 -1
  284. package/dist/subagent/contract.js +0 -10
  285. package/dist/subagent/contract.js.map +0 -1
  286. package/dist/subagent/plan.d.ts +0 -18
  287. package/dist/subagent/plan.d.ts.map +0 -1
  288. package/dist/subagent/plan.js +0 -157
  289. package/dist/subagent/plan.js.map +0 -1
  290. package/dist/subagent/preflight.d.ts +0 -4
  291. package/dist/subagent/preflight.d.ts.map +0 -1
  292. package/dist/subagent/preflight.js +0 -108
  293. package/dist/subagent/preflight.js.map +0 -1
  294. package/dist/subagent/request.d.ts +0 -4
  295. package/dist/subagent/request.d.ts.map +0 -1
  296. package/dist/subagent/request.js +0 -154
  297. package/dist/subagent/request.js.map +0 -1
  298. package/dist/subagent/response.d.ts +0 -8
  299. package/dist/subagent/response.d.ts.map +0 -1
  300. package/dist/subagent/response.js +0 -155
  301. package/dist/subagent/response.js.map +0 -1
  302. package/dist/subagent/tools.d.ts +0 -4
  303. package/dist/subagent/tools.d.ts.map +0 -1
  304. package/dist/subagent/tools.js +0 -42
  305. package/dist/subagent/tools.js.map +0 -1
  306. package/dist/subagent/types.d.ts +0 -272
  307. package/dist/subagent/types.d.ts.map +0 -1
  308. package/dist/subagent/types.js +0 -3
  309. package/dist/subagent/types.js.map +0 -1
  310. package/dist/subagent/validation.d.ts +0 -35
  311. package/dist/subagent/validation.d.ts.map +0 -1
  312. package/dist/subagent/validation.js +0 -314
  313. package/dist/subagent/validation.js.map +0 -1
  314. package/dist/subagent-command.d.ts +0 -5
  315. package/dist/subagent-command.d.ts.map +0 -1
  316. package/dist/subagent-command.js +0 -249
  317. package/dist/subagent-command.js.map +0 -1
  318. package/dist/subagent-profile-tool.d.ts +0 -49
  319. package/dist/subagent-profile-tool.d.ts.map +0 -1
  320. package/dist/subagent-profile-tool.js +0 -125
  321. package/dist/subagent-profile-tool.js.map +0 -1
  322. package/dist/subagent-tool.d.ts +0 -77
  323. package/dist/subagent-tool.d.ts.map +0 -1
  324. package/dist/subagent-tool.js +0 -559
  325. package/dist/subagent-tool.js.map +0 -1
  326. package/docs/guides/sillytavern-import.md +0 -47
  327. package/docs/reference/subagent-adapter.md +0 -204
  328. package/examples/sillytavern-dm-writer-prompt-stack.json +0 -190
@@ -1,14 +1,13 @@
1
1
  /**
2
- * Experimental runner-neutral subagent adapter surface.
2
+ * Versioned `/subagent` host port: the minimal Forge DTO host contract.
3
3
  *
4
- * The package root continues to re-export these names for 0.4 compatibility.
5
- * New adapter integrations should import from `@zihanw/pi-forge/subagent` so
6
- * they do not depend on the Pi extension composition entry point.
7
- *
8
- * Execution ownership (backend registry, sealing, lifecycle, process
9
- * backends) now lives in `@zihanw/pi-subagent-runtime`; this surface keeps
10
- * the Forge host contracts: profiles, compilation, approval, and reporting.
4
+ * Wire messages, recursive validators, transport, and client/host lifecycle,
5
+ * plus the Forge-owned canonical fingerprint helpers used for host-issued
6
+ * profile snapshots. The main package carries no dependency on
7
+ * `@zihanw/pi-subagent-runtime`; the execution contract (request, preflight,
8
+ * plan, response, context, tool negotiation) lives in the optional
9
+ * `@zihanw/pi-forge-subagents` package, which consumes this port.
11
10
  */
12
- export * from "./contract.js";
13
- export { appendProtectedAgentTask, collectMacroCommandNames, collectSubagentPromptDependencies, compileProtectedAgentTaskMessages, currentSubagentPromptRegistrationCatalog, isProtectedAgentTaskPreserved, prepareSubagentHostPlan, resolveSubagentHostProfile, } from "../subagent-host.js";
11
+ export { FORGE_HOST_CHANNEL, FORGE_HOST_PORT_NAMESPACE, FORGE_HOST_PORT_OPERATIONS, FORGE_HOST_PORT_VERSION, ForgeHost, ForgeHostClient, ForgeHostPortError, validateListProfilesRequest, validateListProfilesResponse, validatePrepareRequest, validatePrepareResponse, validateResolveProfileRequest, validateResolveProfileResponse, } from "./host-port.js";
12
+ export { SUBAGENT_FINGERPRINT_PREFIX, canonicalSubagentJson, subagentFingerprint, subagentPromptStackFingerprint, subagentSourceProfileFingerprint, } from "./fingerprints.js";
14
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/subagent/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,cAAc,eAAe,CAAC;AAC9B,OAAO,EACN,wBAAwB,EACxB,wBAAwB,EACxB,iCAAiC,EACjC,iCAAiC,EACjC,wCAAwC,EACxC,6BAA6B,EAC7B,uBAAuB,EACvB,0BAA0B,GAI1B,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/subagent/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EACN,kBAAkB,EAClB,yBAAyB,EACzB,0BAA0B,EAC1B,uBAAuB,EACvB,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,2BAA2B,EAC3B,4BAA4B,EAC5B,sBAAsB,EACtB,uBAAuB,EACvB,6BAA6B,EAC7B,8BAA8B,GAC9B,MAAM,gBAAgB,CAAC;AA2BxB,OAAO,EACN,2BAA2B,EAC3B,qBAAqB,EACrB,mBAAmB,EACnB,8BAA8B,EAC9B,gCAAgC,GAEhC,MAAM,mBAAmB,CAAC"}
@@ -1,10 +1,61 @@
1
- import type { AgentMessage } from "@earendil-works/pi-agent-core";
2
1
  import type { LoadedAgentProfile } from "./agent-profile.ts";
3
- import { type AgentProfileSnapshot, type SubagentDependencyKind, type SubagentDiagnostic, type SubagentPromptDependency, type SubagentPreparationInput, type SubagentPreparationOutput } from "./subagent/contract.ts";
4
- import type { LoadedPromptStack, PromptRuntime, PromptStack } from "./types.ts";
2
+ import type { AgentProfile } from "./codecs/agent-profile.ts";
3
+ import { type SubagentFingerprint } from "./subagent/fingerprints.ts";
4
+ import type { ForgeBackendFacts, ForgeBackendTool, ForgePromptAccessFacts } from "./subagent/host-port.ts";
5
+ import type { LoadedPromptStack, PromptResourcePolicy, PromptStack } from "./types.ts";
6
+ /**
7
+ * Host-owned diagnostic shape for delegation resolution and preparation.
8
+ * Structurally compatible with the optional package's contract diagnostics.
9
+ */
10
+ export interface ForgeDelegationDiagnostic {
11
+ level: "error" | "warning" | "info";
12
+ code: string;
13
+ path?: string;
14
+ message: string;
15
+ }
16
+ export type ForgePromptDependencyKind = "macro" | "slot";
17
+ export interface ForgePromptDependency {
18
+ kind: ForgePromptDependencyKind;
19
+ name: string;
20
+ identity: string;
21
+ source?: string;
22
+ }
23
+ /**
24
+ * Host-owned immutable profile snapshot artifact returned by `resolveProfile`
25
+ * and embedded in `prepare` responses. The optional package validates and
26
+ * binds it into execution plans; the wire schema version is shared with the
27
+ * execution contract by design.
28
+ */
29
+ export declare const FORGE_PROFILE_SNAPSHOT_VERSION: 1;
30
+ export interface ForgeProfileSnapshot {
31
+ schemaVersion: typeof FORGE_PROFILE_SNAPSHOT_VERSION;
32
+ /** Canonical scoped selector of the resolved profile (`project:<id>` or `global:<id>`). */
33
+ profileId: string;
34
+ profile: AgentProfile;
35
+ /** Canonical scoped selector of the resolved prompt stack, or null. */
36
+ promptStackId: string | null;
37
+ promptStack: PromptStack | null;
38
+ dependencies: ForgePromptDependency[];
39
+ profileFingerprint: SubagentFingerprint;
40
+ promptStackFingerprint: SubagentFingerprint | null;
41
+ }
42
+ /**
43
+ * Host-compiled delegation message. Text-only on the host side; the optional
44
+ * package projects these onto the runtime's portable prepared messages.
45
+ */
46
+ export interface ForgeDelegationMessage {
47
+ role: "user" | "assistant" | "custom";
48
+ content: Array<{
49
+ type: "text";
50
+ text: string;
51
+ }>;
52
+ protectedTask?: boolean;
53
+ source?: "prompt-stack" | "delegated-task";
54
+ }
5
55
  export interface SubagentPromptRegistration {
6
56
  name: string;
7
57
  source?: string;
58
+ dependencies?: string[];
8
59
  }
9
60
  export interface SubagentPromptRegistrationCatalog {
10
61
  macros: SubagentPromptRegistration[];
@@ -12,33 +63,63 @@ export interface SubagentPromptRegistrationCatalog {
12
63
  }
13
64
  export interface SubagentHostResolution {
14
65
  profileId: string;
15
- snapshot?: AgentProfileSnapshot;
16
- dependencies: SubagentPromptDependency[];
66
+ snapshot?: ForgeProfileSnapshot;
67
+ dependencies: ForgePromptDependency[];
17
68
  missingDependencies: Array<{
18
- kind: SubagentDependencyKind;
69
+ kind: ForgePromptDependencyKind;
19
70
  name: string;
20
71
  }>;
21
- diagnostics: SubagentDiagnostic[];
72
+ diagnostics: ForgeDelegationDiagnostic[];
73
+ }
74
+ export interface ForgeDelegationPreparationInput {
75
+ snapshot: ForgeProfileSnapshot;
76
+ task: {
77
+ text: string;
78
+ };
79
+ access: ForgePromptAccessFacts;
80
+ backend: ForgeBackendFacts;
81
+ cwd: string;
82
+ }
83
+ export interface ForgeDelegationPreparation {
84
+ systemPrompt: string;
85
+ messages: ForgeDelegationMessage[];
86
+ effectiveToolIds: string[];
87
+ effectiveToolNames: string[];
88
+ diagnostics: ForgeDelegationDiagnostic[];
89
+ preparedAt: string;
22
90
  }
23
91
  export declare function currentSubagentPromptRegistrationCatalog(): SubagentPromptRegistrationCatalog;
24
92
  export declare function resolveSubagentHostProfile(loaded: LoadedAgentProfile, resources: {
25
93
  promptStacks: readonly LoadedPromptStack[];
26
94
  registrations?: SubagentPromptRegistrationCatalog;
27
95
  }): SubagentHostResolution;
28
- export declare function prepareSubagentHostPlan(input: SubagentPreparationInput): SubagentPreparationOutput;
96
+ /**
97
+ * Forge-native host-owned preparation: negotiate the client tool catalog
98
+ * against stack policy and access facts, compile the resolved stack through
99
+ * one compilation context, and append the protected delegated task. No
100
+ * execution/runtime material (AgentRequest, preflight, limits, or plan
101
+ * fingerprints) is involved; the optional package owns those.
102
+ */
103
+ export declare function prepareForgeDelegation(input: ForgeDelegationPreparationInput): ForgeDelegationPreparation;
104
+ interface ForgeToolNegotiation {
105
+ effectiveToolIds: string[];
106
+ effectiveToolNames: string[];
107
+ diagnostics: ForgeDelegationDiagnostic[];
108
+ }
109
+ /**
110
+ * Intersect the client-supplied tool catalog with stack tool policy and the
111
+ * prompt-compilation access facts. Semantics mirror the execution contract's
112
+ * tool negotiation in the optional package, which recomputes them as the
113
+ * plan-creation integrity check.
114
+ */
115
+ export declare function negotiateForgeDelegationTools(catalog: readonly ForgeBackendTool[], policy: PromptResourcePolicy | undefined, access: ForgePromptAccessFacts): ForgeToolNegotiation;
29
116
  export declare function collectSubagentPromptDependencies(stack: PromptStack, registrations?: SubagentPromptRegistrationCatalog): {
30
- dependencies: SubagentPromptDependency[];
117
+ dependencies: ForgePromptDependency[];
31
118
  missingDependencies: Array<{
32
- kind: SubagentDependencyKind;
119
+ kind: ForgePromptDependencyKind;
33
120
  name: string;
34
121
  }>;
35
- diagnostics: SubagentDiagnostic[];
36
- };
37
- export declare function collectMacroCommandNames(text: string): string[];
38
- export declare function appendProtectedAgentTask(compiledMessages: readonly AgentMessage[], protectedTask: AgentMessage): AgentMessage[];
39
- export declare function compileProtectedAgentTaskMessages(stack: LoadedPromptStack, runtime: PromptRuntime, originalMessages: readonly AgentMessage[]): {
40
- messages: AgentMessage[];
41
- diagnostics: import("./types.ts").PromptStackDiagnostic[];
122
+ diagnostics: ForgeDelegationDiagnostic[];
42
123
  };
43
- export declare function isProtectedAgentTaskPreserved(messages: readonly AgentMessage[], task: AgentMessage): boolean;
124
+ export {};
44
125
  //# sourceMappingURL=subagent-host.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"subagent-host.d.ts","sourceRoot":"","sources":["../src/subagent-host.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAUlE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,OAAO,EAKN,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAE9B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEhF,MAAM,WAAW,0BAA0B;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iCAAiC;IACjD,MAAM,EAAE,0BAA0B,EAAE,CAAC;IACrC,KAAK,EAAE,0BAA0B,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,sBAAsB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,YAAY,EAAE,wBAAwB,EAAE,CAAC;IACzC,mBAAmB,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,sBAAsB,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3E,WAAW,EAAE,kBAAkB,EAAE,CAAC;CAClC;AAcD,wBAAgB,wCAAwC,IAAI,iCAAiC,CAK5F;AAED,wBAAgB,0BAA0B,CACzC,MAAM,EAAE,kBAAkB,EAC1B,SAAS,EAAE;IACV,YAAY,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC3C,aAAa,CAAC,EAAE,iCAAiC,CAAC;CAClD,GACC,sBAAsB,CAgFxB;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,wBAAwB,GAAG,yBAAyB,CA4ClG;AAED,wBAAgB,iCAAiC,CAChD,KAAK,EAAE,WAAW,EAClB,aAAa,GAAE,iCAA8E,GAC3F;IACF,YAAY,EAAE,wBAAwB,EAAE,CAAC;IACzC,mBAAmB,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,sBAAsB,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3E,WAAW,EAAE,kBAAkB,EAAE,CAAC;CAClC,CAyBA;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAI/D;AAED,wBAAgB,wBAAwB,CACvC,gBAAgB,EAAE,SAAS,YAAY,EAAE,EACzC,aAAa,EAAE,YAAY,GACzB,YAAY,EAAE,CAGhB;AAED,wBAAgB,iCAAiC,CAChD,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,aAAa,EACtB,gBAAgB,EAAE,SAAS,YAAY,EAAE,GACvC;IAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;IAAC,WAAW,EAAE,OAAO,YAAY,EAAE,qBAAqB,EAAE,CAAA;CAAE,CAOzF;AAED,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,SAAS,YAAY,EAAE,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAM5G"}
1
+ {"version":3,"file":"subagent-host.d.ts","sourceRoot":"","sources":["../src/subagent-host.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAG9D,OAAO,EAGN,KAAK,mBAAmB,EACxB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAG3G,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAyB,WAAW,EAAyB,MAAM,YAAY,CAAC;AAErI;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACzC,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,yBAAyB,GAAG,OAAO,GAAG,MAAM,CAAC;AAEzD,MAAM,WAAW,qBAAqB;IACrC,IAAI,EAAE,yBAAyB,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,eAAO,MAAM,8BAA8B,EAAG,CAAU,CAAC;AAEzD,MAAM,WAAW,oBAAoB;IACpC,aAAa,EAAE,OAAO,8BAA8B,CAAC;IACrD,2FAA2F;IAC3F,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,YAAY,CAAC;IACtB,uEAAuE;IACvE,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAChC,YAAY,EAAE,qBAAqB,EAAE,CAAC;IACtC,kBAAkB,EAAE,mBAAmB,CAAC;IACxC,sBAAsB,EAAE,mBAAmB,GAAG,IAAI,CAAC;CACnD;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACtC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;IACtC,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,cAAc,GAAG,gBAAgB,CAAC;CAC3C;AAED,MAAM,WAAW,0BAA0B;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,iCAAiC;IACjD,MAAM,EAAE,0BAA0B,EAAE,CAAC;IACrC,KAAK,EAAE,0BAA0B,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,sBAAsB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,YAAY,EAAE,qBAAqB,EAAE,CAAC;IACtC,mBAAmB,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,yBAAyB,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9E,WAAW,EAAE,yBAAyB,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,+BAA+B;IAC/C,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACvB,MAAM,EAAE,sBAAsB,CAAC;IAC/B,OAAO,EAAE,iBAAiB,CAAC;IAC3B,GAAG,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,0BAA0B;IAC1C,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,sBAAsB,EAAE,CAAC;IACnC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,WAAW,EAAE,yBAAyB,EAAE,CAAC;IACzC,UAAU,EAAE,MAAM,CAAC;CACnB;AAOD,wBAAgB,wCAAwC,IAAI,iCAAiC,CAK5F;AAED,wBAAgB,0BAA0B,CACzC,MAAM,EAAE,kBAAkB,EAC1B,SAAS,EAAE;IACV,YAAY,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC3C,aAAa,CAAC,EAAE,iCAAiC,CAAC;CAClD,GACC,sBAAsB,CAgFxB;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,+BAA+B,GAAG,0BAA0B,CAyCzG;AAQD,UAAU,oBAAoB;IAC7B,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,WAAW,EAAE,yBAAyB,EAAE,CAAC;CACzC;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAC5C,OAAO,EAAE,SAAS,gBAAgB,EAAE,EACpC,MAAM,EAAE,oBAAoB,GAAG,SAAS,EACxC,MAAM,EAAE,sBAAsB,GAC5B,oBAAoB,CA2BtB;AAYD,wBAAgB,iCAAiC,CAChD,KAAK,EAAE,WAAW,EAClB,aAAa,GAAE,iCAA8E,GAC3F;IACF,YAAY,EAAE,qBAAqB,EAAE,CAAC;IACtC,mBAAmB,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,yBAAyB,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9E,WAAW,EAAE,yBAAyB,EAAE,CAAC;CACzC,CAkDA"}
@@ -1,17 +1,20 @@
1
1
  import { getRegisteredMacros, } from "./macro-engine.js";
2
2
  import { getRegisteredSlots, } from "./slot-renderers.js";
3
- import { compileMessages, compileSystemPrompt, createPromptVariableStore } from "./compiler.js";
4
- import { subagentPromptStackFingerprint, subagentSourceProfileFingerprint, negotiateSubagentTools, prepareSubagentInitialMessages, } from "./subagent/contract.js";
3
+ import { PromptCompilationContext } from "./compiler.js";
4
+ import { applyResourcePolicy, resourcePatternMatches } from "./policy.js";
5
+ import { subagentPromptStackFingerprint, subagentSourceProfileFingerprint, } from "./subagent/fingerprints.js";
5
6
  import { formatResourceKey, parseResourceSelector } from "./resource-identity.js";
6
- const BUILT_IN_MACROS = new Set([
7
- "cwd", "date", "time", "lastUserMessage", "selectedTools", "tools", "activeModel",
8
- "setvar", "setturnvar", "setsessionvar", "getvar", "var", "getturnvar", "getsessionvar",
9
- "clearvar", "clearturnvar", "clearsessionvar", "trim", "upper", "lower", "json", "xml",
10
- "ifvar", "ifeq", "iftools", "ifslot",
11
- ]);
7
+ import { analyzePromptStack } from "./prompt-analysis.js";
8
+ /**
9
+ * Host-owned immutable profile snapshot artifact returned by `resolveProfile`
10
+ * and embedded in `prepare` responses. The optional package validates and
11
+ * binds it into execution plans; the wire schema version is shared with the
12
+ * execution contract by design.
13
+ */
14
+ export const FORGE_PROFILE_SNAPSHOT_VERSION = 1;
12
15
  const BUILT_IN_SLOTS = new Set([
13
16
  "chat-history", "tools", "tool-guidelines", "skills", "project-context", "append-system-prompt",
14
- "date", "cwd", "date-cwd", "active-model", "pi-docs", "variables",
17
+ "date", "cwd", "date-cwd", "active-model", "pi-docs",
15
18
  ]);
16
19
  export function currentSubagentPromptRegistrationCatalog() {
17
20
  return {
@@ -91,7 +94,7 @@ export function resolveSubagentHostProfile(loaded, resources) {
91
94
  };
92
95
  if (!diagnostics.some((diagnostic) => diagnostic.level === "error")) {
93
96
  resolution.snapshot = {
94
- schemaVersion: 1,
97
+ schemaVersion: FORGE_PROFILE_SNAPSHOT_VERSION,
95
98
  profileId: formatResourceKey(loaded.key),
96
99
  profile: structuredClone(loaded.profile),
97
100
  promptStackId,
@@ -103,107 +106,171 @@ export function resolveSubagentHostProfile(loaded, resources) {
103
106
  }
104
107
  return resolution;
105
108
  }
106
- export function prepareSubagentHostPlan(input) {
107
- const toolNegotiation = negotiateSubagentTools(input.preflight.toolCatalog, input.snapshot.promptStack?.tools, input.request.access);
108
- const options = {
109
- ...structuredClone(input.runtime.options),
110
- selectedTools: [...toolNegotiation.effectiveToolNames],
111
- toolSnippets: Object.fromEntries(Object.entries(input.runtime.options.toolSnippets)
112
- .filter(([name]) => toolNegotiation.effectiveToolNames.includes(name))),
113
- promptGuidelines: toolNegotiation.effectiveToolNames.length > 0
114
- ? [...input.runtime.options.promptGuidelines]
115
- : [],
116
- skills: structuredClone(input.runtime.options.skills),
117
- contextFiles: [...input.runtime.options.contextFiles],
118
- };
119
- const model = {
120
- provider: input.runtime.model.provider,
121
- id: input.runtime.model.id,
122
- api: "unknown",
123
- };
109
+ /**
110
+ * Forge-native host-owned preparation: negotiate the client tool catalog
111
+ * against stack policy and access facts, compile the resolved stack through
112
+ * one compilation context, and append the protected delegated task. No
113
+ * execution/runtime material (AgentRequest, preflight, limits, or plan
114
+ * fingerprints) is involved; the optional package owns those.
115
+ */
116
+ export function prepareForgeDelegation(input) {
117
+ const negotiation = negotiateForgeDelegationTools(input.backend.toolCatalog, input.snapshot.promptStack?.tools, input.access);
118
+ const preparedAt = new Date().toISOString();
124
119
  const runtime = {
125
- options,
126
- ctx: { model },
127
- latestUserMessage: input.request.input.text,
128
- now: new Date(input.runtime.preparedAt),
129
- variables: createPromptVariableStore(),
120
+ options: {
121
+ cwd: input.cwd,
122
+ selectedTools: negotiation.effectiveToolNames,
123
+ toolSnippets: {},
124
+ promptGuidelines: [],
125
+ contextFiles: [],
126
+ skills: [],
127
+ },
128
+ model: {
129
+ provider: input.backend.model.provider,
130
+ id: input.backend.model.id,
131
+ api: "unknown",
132
+ },
133
+ latestUserMessage: input.task.text,
134
+ now: new Date(preparedAt),
130
135
  };
131
- let systemPrompt = input.runtime.baseSystemPrompt;
136
+ const diagnostics = [...negotiation.diagnostics];
137
+ let systemPrompt = "";
132
138
  let stackMessages = [];
133
- const diagnostics = [];
134
- if (input.snapshot.promptStack) {
135
- const system = compileSystemPrompt(input.snapshot.promptStack, runtime, input.runtime.baseSystemPrompt);
139
+ const stack = input.snapshot.promptStack;
140
+ if (stack) {
141
+ const compilation = new PromptCompilationContext(stack, runtime);
142
+ const system = compilation.compileSystemPrompt("");
136
143
  systemPrompt = system.systemPrompt;
137
144
  diagnostics.push(...system.diagnostics.map((item) => promptDiagnostic("system", item)));
138
- const messages = compileMessages(input.snapshot.promptStack, runtime, []);
145
+ const messages = compilation.compileMessages([]);
139
146
  stackMessages = messages.messages.map(preparedPromptStackMessage);
140
147
  diagnostics.push(...messages.diagnostics.map((item) => promptDiagnostic("messages", item)));
141
148
  }
142
- const initial = prepareSubagentInitialMessages(input.request, stackMessages);
143
149
  return {
144
150
  systemPrompt,
145
- messages: initial.messages,
146
- contextBudget: initial.contextBudget,
147
- toolNegotiation,
148
- diagnostics: [...diagnostics, ...initial.diagnostics],
151
+ messages: appendProtectedDelegationTask(stackMessages, input.task),
152
+ effectiveToolIds: negotiation.effectiveToolIds,
153
+ effectiveToolNames: negotiation.effectiveToolNames,
154
+ diagnostics,
155
+ preparedAt,
149
156
  };
150
157
  }
158
+ /**
159
+ * Intersect the client-supplied tool catalog with stack tool policy and the
160
+ * prompt-compilation access facts. Semantics mirror the execution contract's
161
+ * tool negotiation in the optional package, which recomputes them as the
162
+ * plan-creation integrity check.
163
+ */
164
+ export function negotiateForgeDelegationTools(catalog, policy, access) {
165
+ const diagnostics = [];
166
+ const tools = catalog.map((tool) => ({
167
+ id: tool.id,
168
+ name: tool.name ?? tool.id,
169
+ effects: [...(tool.effects ?? [])],
170
+ }));
171
+ const names = tools.map((tool) => tool.name);
172
+ const stackSelectedToolNames = applyResourcePolicy(names, policy);
173
+ const selected = new Set(stackSelectedToolNames);
174
+ const effective = tools.filter((tool) => selected.has(tool.name) && toolAllowedByAccess(tool, access));
175
+ const unmatchedAllowPatterns = policy && "allow" in policy
176
+ ? (policy.allow ?? []).filter((pattern) => pattern !== "*" && !names.some((name) => resourcePatternMatches(name, pattern)))
177
+ : [];
178
+ for (const pattern of unmatchedAllowPatterns) {
179
+ diagnostics.push({ level: "warning", code: "tools.unmatched-allow", path: "tools.allow", message: `Tool allow pattern matches no backend tools: ${pattern}` });
180
+ }
181
+ for (const tool of tools) {
182
+ if (selected.has(tool.name) && !effective.includes(tool)) {
183
+ diagnostics.push({ level: "info", code: "tools.access-filtered", path: `tools.${tool.name}`, message: `Tool ${tool.name} was removed by request access policy.` });
184
+ }
185
+ }
186
+ return {
187
+ effectiveToolIds: effective.map((tool) => tool.id),
188
+ effectiveToolNames: effective.map((tool) => tool.name),
189
+ diagnostics,
190
+ };
191
+ }
192
+ function toolAllowedByAccess(tool, access) {
193
+ for (const effect of tool.effects) {
194
+ if (effect === "network" && access.network !== "allow")
195
+ return false;
196
+ if (effect === "process" && access.allowProcess !== true)
197
+ return false;
198
+ if (effect === "filesystem-read" && access.level === "none")
199
+ return false;
200
+ if (effect === "filesystem-write" && access.level !== "workspace-write")
201
+ return false;
202
+ }
203
+ return true;
204
+ }
151
205
  export function collectSubagentPromptDependencies(stack, registrations = currentSubagentPromptRegistrationCatalog()) {
152
206
  const diagnostics = [];
153
207
  const dependencies = new Map();
154
208
  const missing = new Map();
155
209
  const macroCatalog = new Map(registrations.macros.map((entry) => [entry.name, entry]));
156
210
  const slotCatalog = new Map(registrations.slots.map((entry) => [entry.name, entry]));
157
- const staticVariables = new Set(Object.keys(stack.variables ?? {}));
211
+ const parameters = new Set([
212
+ ...Object.keys(stack.parameters ?? {}),
213
+ ...Object.keys(stack.variables ?? {}),
214
+ ]);
215
+ const analysis = analyzePromptStack(stack, registrations);
216
+ for (const error of analysis.diagnostics) {
217
+ diagnostics.push({
218
+ level: "error",
219
+ code: "prompt-stack.template-analyze",
220
+ path: "promptStack",
221
+ message: error.message,
222
+ });
223
+ }
158
224
  for (const item of stack.items) {
159
225
  if (item.kind === "slot") {
160
226
  if (BUILT_IN_SLOTS.has(item.slot))
161
227
  continue;
162
228
  addDependency("slot", item.slot, slotCatalog, dependencies, missing, diagnostics, `promptStack.items.${item.id}`);
163
- continue;
164
229
  }
165
- for (const name of collectMacroCommandNames(item.content)) {
166
- if (BUILT_IN_MACROS.has(name) || staticVariables.has(name))
230
+ }
231
+ for (const block of analysis.blocks) {
232
+ for (const dependency of block.dependencies) {
233
+ let name;
234
+ if (dependency.kind === "extensions")
235
+ name = dependency.path?.[1];
236
+ if (dependency.kind === "legacy") {
237
+ const candidate = dependency.path?.[0];
238
+ if (!candidate || parameters.has(candidate) || LEGACY_BUILTIN_RUNTIME.has(candidate))
239
+ continue;
240
+ name = candidate;
241
+ }
242
+ if (!name)
167
243
  continue;
168
- addDependency("macro", name, macroCatalog, dependencies, missing, diagnostics, `promptStack.items.${item.id}`);
244
+ addDependency("macro", name, macroCatalog, dependencies, missing, diagnostics, `promptStack.items.${block.itemId}`);
169
245
  }
170
246
  }
247
+ for (const name of analysis.transitiveExtensions) {
248
+ if (!name || macroCatalog.has(name))
249
+ continue;
250
+ addDependency("macro", name, macroCatalog, dependencies, missing, diagnostics, "promptStack");
251
+ }
171
252
  return {
172
253
  dependencies: [...dependencies.values()].sort(compareDependencies),
173
254
  missingDependencies: [...missing.values()].sort(compareDependencies),
174
255
  diagnostics,
175
256
  };
176
257
  }
177
- export function collectMacroCommandNames(text) {
178
- const names = new Set();
179
- collectMacroCommandsInto(text, names);
180
- return [...names].sort();
181
- }
182
- export function appendProtectedAgentTask(compiledMessages, protectedTask) {
183
- if (protectedTask.role !== "user")
184
- throw new Error("Protected delegated task must be a user message.");
185
- return [...structuredClone(compiledMessages), structuredClone(protectedTask)];
186
- }
187
- export function compileProtectedAgentTaskMessages(stack, runtime, originalMessages) {
188
- const taskIndex = findLastUserMessageIndex(originalMessages);
189
- if (taskIndex === -1)
190
- throw new Error("Delegated context contains no final user task.");
191
- const protectedTask = structuredClone(originalMessages[taskIndex]);
192
- const history = originalMessages.filter((_message, index) => index !== taskIndex);
193
- const compiled = compileMessages(stack.stack, runtime, history);
194
- return { messages: appendProtectedAgentTask(compiled.messages, protectedTask), diagnostics: compiled.diagnostics };
195
- }
196
- export function isProtectedAgentTaskPreserved(messages, task) {
197
- if (!messages.length || task.role !== "user")
198
- return false;
199
- const finalMessage = messages.at(-1);
200
- if (finalMessage?.role !== "user")
201
- return false;
202
- return normalizeUserContent(finalMessage.content)
203
- === normalizeUserContent(task.content);
258
+ const LEGACY_BUILTIN_RUNTIME = new Set([
259
+ "cwd", "date", "time", "lastUserMessage", "selectedTools", "tools", "activeModel",
260
+ ]);
261
+ function appendProtectedDelegationTask(messages, task) {
262
+ return [
263
+ ...structuredClone(messages),
264
+ {
265
+ role: "user",
266
+ content: [{ type: "text", text: task.text }],
267
+ protectedTask: true,
268
+ source: "delegated-task",
269
+ },
270
+ ];
204
271
  }
205
272
  function registrationEntry(definition) {
206
- return { name: definition.name, source: definition.source };
273
+ return { name: definition.name, source: definition.source, dependencies: definition.dependencies };
207
274
  }
208
275
  function addDependency(kind, name, catalog, dependencies, missing, diagnostics, path) {
209
276
  const key = `${kind}:${name}`;
@@ -218,76 +285,6 @@ function addDependency(kind, name, catalog, dependencies, missing, diagnostics,
218
285
  if (!registration.source)
219
286
  diagnostics.push({ level: "warning", code: "profile.dependency-anonymous", path, message: `Custom ${kind} ${name} has no stable source identity.` });
220
287
  }
221
- function collectMacroCommandsInto(text, names) {
222
- let index = 0;
223
- while (index < text.length) {
224
- const start = text.indexOf("{{", index);
225
- if (start === -1)
226
- return;
227
- const end = findMacroEnd(text, start + 2);
228
- if (end === undefined)
229
- return;
230
- const expression = text.slice(start + 2, end).trim();
231
- const parts = splitMacroExpression(expression);
232
- const command = parts[0]?.trim();
233
- if (command && /^[A-Za-z][A-Za-z0-9_.-]*$/.test(command))
234
- names.add(command);
235
- for (const argument of parts.slice(1))
236
- collectMacroCommandsInto(argument, names);
237
- index = end + 2;
238
- }
239
- }
240
- function findMacroEnd(text, start) {
241
- let depth = 1;
242
- for (let index = start; index < text.length - 1; index++) {
243
- const pair = text.slice(index, index + 2);
244
- if (pair === "{{") {
245
- depth++;
246
- index++;
247
- }
248
- else if (pair === "}}") {
249
- depth--;
250
- if (depth === 0)
251
- return index;
252
- index++;
253
- }
254
- }
255
- return undefined;
256
- }
257
- function splitMacroExpression(expression) {
258
- const parts = [];
259
- let start = 0;
260
- let depth = 0;
261
- for (let index = 0; index < expression.length - 1; index++) {
262
- const pair = expression.slice(index, index + 2);
263
- if (pair === "{{") {
264
- depth++;
265
- index++;
266
- }
267
- else if (pair === "}}" && depth > 0) {
268
- depth--;
269
- index++;
270
- }
271
- else if (pair === "::" && depth === 0) {
272
- parts.push(expression.slice(start, index));
273
- start = index + 2;
274
- index++;
275
- }
276
- }
277
- parts.push(expression.slice(start));
278
- return parts;
279
- }
280
- function findLastUserMessageIndex(messages) {
281
- for (let index = messages.length - 1; index >= 0; index--) {
282
- if (messages[index]?.role === "user")
283
- return index;
284
- }
285
- return -1;
286
- }
287
- function normalizeUserContent(content) {
288
- const normalized = typeof content === "string" ? [{ type: "text", text: content }] : Array.isArray(content) ? content : [content];
289
- return JSON.stringify(normalized);
290
- }
291
288
  function preparedPromptStackMessage(message) {
292
289
  if (message.role !== "user" && message.role !== "assistant" && message.role !== "custom") {
293
290
  throw new Error(`Unsupported prompt-stack message role for subagent preparation: ${message.role}`);
@@ -1 +1 @@
1
- {"version":3,"file":"subagent-host.js","sourceRoot":"","sources":["../src/subagent-host.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subagent-host.js","sourceRoot":"","sources":["../src/subagent-host.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,mBAAmB,GAEnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACN,kBAAkB,GAElB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EACN,8BAA8B,EAC9B,gCAAgC,GAEhC,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAuB1D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAU,CAAC;AA8DzD,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;IAC9B,cAAc,EAAE,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,sBAAsB;IAC/F,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,SAAS;CACpD,CAAC,CAAC;AAEH,MAAM,UAAU,wCAAwC;IACvD,OAAO;QACN,MAAM,EAAE,mBAAmB,EAAE,CAAC,GAAG,CAAC,iBAAiB,CAAC;QACpD,KAAK,EAAE,kBAAkB,EAAE,CAAC,GAAG,CAAC,iBAAiB,CAAC;KAClD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,0BAA0B,CACzC,MAA0B,EAC1B,SAGC;IAED,MAAM,WAAW,GAAgC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QACxF,KAAK,EAAE,UAAU,CAAC,KAAK;QACvB,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS;QAClE,OAAO,EAAE,UAAU,CAAC,OAAO;KACU,CAAA,CAAC,CAAC;IACxC,MAAM,aAAa,GAAG,SAAS,CAAC,aAAa,IAAI,wCAAwC,EAAE,CAAC;IAC5F,IAAI,WAA0C,CAAC;IAC/C,IAAI,aAAa,GAAkB,IAAI,CAAC;IACxC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;QAC7C,MAAM,MAAM,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YAChB,WAAW,CAAC,IAAI,CAAC;gBAChB,KAAK,EAAE,OAAO;gBACd,IAAI,EAAE,yBAAyB;gBAC/B,IAAI,EAAE,qBAAqB;gBAC3B,OAAO,EAAE,MAAM,CAAC,KAAK;aACrB,CAAC,CAAC;QACJ,CAAC;aAAM,IAAI,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC7E,WAAW,CAAC,IAAI,CAAC;gBAChB,KAAK,EAAE,OAAO;gBACd,IAAI,EAAE,yBAAyB;gBAC/B,IAAI,EAAE,qBAAqB;gBAC3B,OAAO,EAAE,kBAAkB,MAAM,CAAC,OAAO,CAAC,EAAE,0CAA0C,MAAM,CAAC,QAAQ,CAAC,EAAE,GAAG;aAC3G,CAAC,CAAC;QACJ,CAAC;aAAM,CAAC;YACP,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC;YACpD,MAAM,OAAO,GAAG,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACrI,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,WAAW,CAAC,IAAI,CAAC;oBAChB,KAAK,EAAE,OAAO;oBACd,IAAI,EAAE,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,yBAAyB;oBAChF,IAAI,EAAE,qBAAqB;oBAC3B,OAAO,EAAE,OAAO,CAAC,MAAM,KAAK,CAAC;wBAC5B,CAAC,CAAC,yBAAyB,SAAS,EAAE;wBACtC,CAAC,CAAC,iCAAiC,SAAS,EAAE;iBAC/C,CAAC,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACP,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBACzB,aAAa,GAAG,iBAAiB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;gBACrE,KAAK,MAAM,UAAU,IAAI,WAAW,CAAC,WAAW,EAAE,CAAC;oBAClD,WAAW,CAAC,IAAI,CAAC;wBAChB,KAAK,EAAE,UAAU,CAAC,KAAK;wBACvB,IAAI,EAAE,0BAA0B;wBAChC,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,qBAAqB,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,aAAa;wBAClF,OAAO,EAAE,UAAU,CAAC,OAAO;qBAC3B,CAAC,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBACnG,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS;wBAAE,WAAW,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,kCAAkC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;gBACnN,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IAED,MAAM,gBAAgB,GAAG,WAAW;QACnC,CAAC,CAAC,iCAAiC,CAAC,WAAW,CAAC,KAAK,EAAE,aAAa,CAAC;QACrE,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,mBAAmB,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;IAClE,WAAW,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAClD,MAAM,UAAU,GAA2B;QAC1C,SAAS,EAAE,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC;QACxC,YAAY,EAAE,gBAAgB,CAAC,YAAY;QAC3C,mBAAmB,EAAE,gBAAgB,CAAC,mBAAmB;QACzD,WAAW;KACX,CAAC;IACF,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,KAAK,OAAO,CAAC,EAAE,CAAC;QACrE,UAAU,CAAC,QAAQ,GAAG;YACrB,aAAa,EAAE,8BAA8B;YAC7C,SAAS,EAAE,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC;YACxC,OAAO,EAAE,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC;YACxC,aAAa;YACb,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;YACpE,YAAY,EAAE,eAAe,CAAC,gBAAgB,CAAC,YAAY,CAAC;YAC5D,kBAAkB,EAAE,gCAAgC,CAAC,MAAM,CAAC,OAAO,CAAC;YACpE,sBAAsB,EAAE,WAAW,CAAC,CAAC,CAAC,8BAA8B,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;SAC9F,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACnB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAsC;IAC5E,MAAM,WAAW,GAAG,6BAA6B,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC9H,MAAM,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC5C,MAAM,OAAO,GAA0B;QACtC,OAAO,EAAE;YACR,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,aAAa,EAAE,WAAW,CAAC,kBAAkB;YAC7C,YAAY,EAAE,EAAE;YAChB,gBAAgB,EAAE,EAAE;YACpB,YAAY,EAAE,EAAE;YAChB,MAAM,EAAE,EAAE;SACV;QACD,KAAK,EAAE;YACN,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ;YACtC,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAC1B,GAAG,EAAE,SAAS;SACd;QACD,iBAAiB,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI;QAClC,GAAG,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC;KACzB,CAAC;IACF,MAAM,WAAW,GAAgC,CAAC,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;IAC9E,IAAI,YAAY,GAAG,EAAE,CAAC;IACtB,IAAI,aAAa,GAA6B,EAAE,CAAC;IACjD,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC;IACzC,IAAI,KAAK,EAAE,CAAC;QACX,MAAM,WAAW,GAAG,IAAI,wBAAwB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACjE,MAAM,MAAM,GAAG,WAAW,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;QACnD,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QACnC,WAAW,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QACxF,MAAM,QAAQ,GAAG,WAAW,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QACjD,aAAa,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QAClE,WAAW,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7F,CAAC;IACD,OAAO;QACN,YAAY;QACZ,QAAQ,EAAE,6BAA6B,CAAC,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC;QAClE,gBAAgB,EAAE,WAAW,CAAC,gBAAgB;QAC9C,kBAAkB,EAAE,WAAW,CAAC,kBAAkB;QAClD,WAAW;QACX,UAAU;KACV,CAAC;AACH,CAAC;AAcD;;;;;GAKG;AACH,MAAM,UAAU,6BAA6B,CAC5C,OAAoC,EACpC,MAAwC,EACxC,MAA8B;IAE9B,MAAM,WAAW,GAAgC,EAAE,CAAC;IACpD,MAAM,KAAK,GAA0B,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC3D,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE;QAC1B,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;KAClC,CAAC,CAAC,CAAC;IACJ,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,sBAAsB,GAAG,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAClE,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,sBAAsB,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACvG,MAAM,sBAAsB,GAAG,MAAM,IAAI,OAAO,IAAI,MAAM;QACzD,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QAC3H,CAAC,CAAC,EAAE,CAAC;IACN,KAAK,MAAM,OAAO,IAAI,sBAAsB,EAAE,CAAC;QAC9C,WAAW,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,gDAAgD,OAAO,EAAE,EAAE,CAAC,CAAC;IAChK,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1D,WAAW,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,SAAS,IAAI,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,QAAQ,IAAI,CAAC,IAAI,wCAAwC,EAAE,CAAC,CAAC;QACpK,CAAC;IACF,CAAC;IACD,OAAO;QACN,gBAAgB,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAClD,kBAAkB,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;QACtD,WAAW;KACX,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAyB,EAAE,MAA8B;IACrF,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACnC,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO;YAAE,OAAO,KAAK,CAAC;QACrE,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,YAAY,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC;QACvE,IAAI,MAAM,KAAK,iBAAiB,IAAI,MAAM,CAAC,KAAK,KAAK,MAAM;YAAE,OAAO,KAAK,CAAC;QAC1E,IAAI,MAAM,KAAK,kBAAkB,IAAI,MAAM,CAAC,KAAK,KAAK,iBAAiB;YAAE,OAAO,KAAK,CAAC;IACvF,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,MAAM,UAAU,iCAAiC,CAChD,KAAkB,EAClB,gBAAmD,wCAAwC,EAAE;IAM7F,MAAM,WAAW,GAAgC,EAAE,CAAC;IACpD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAiC,CAAC;IAC9D,MAAM,OAAO,GAAG,IAAI,GAAG,EAA6D,CAAC;IACrF,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACvF,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACrF,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC;QAC1B,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC;QACtC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;KACrC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,kBAAkB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IAC1D,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC1C,WAAW,CAAC,IAAI,CAAC;YAChB,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,+BAA+B;YACrC,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,KAAK,CAAC,OAAO;SACtB,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC1B,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,SAAS;YAC5C,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,qBAAqB,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACnH,CAAC;IACF,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACrC,KAAK,MAAM,UAAU,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YAC7C,IAAI,IAAwB,CAAC;YAC7B,IAAI,UAAU,CAAC,IAAI,KAAK,YAAY;gBAAE,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAClE,IAAI,UAAU,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAClC,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBACvC,IAAI,CAAC,SAAS,IAAI,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,sBAAsB,CAAC,GAAG,CAAC,SAAS,CAAC;oBAAE,SAAS;gBAC/F,IAAI,GAAG,SAAS,CAAC;YAClB,CAAC;YACD,IAAI,CAAC,IAAI;gBAAE,SAAS;YACpB,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,qBAAqB,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QACrH,CAAC;IACF,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,oBAAoB,EAAE,CAAC;QAClD,IAAI,CAAC,IAAI,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS;QAC9C,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;IAC/F,CAAC;IAED,OAAO;QACN,YAAY,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;QAClE,mBAAmB,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;QACpE,WAAW;KACX,CAAC;AACH,CAAC;AAED,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC;IACtC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,eAAe,EAAE,OAAO,EAAE,aAAa;CACjF,CAAC,CAAC;AAEH,SAAS,6BAA6B,CACrC,QAA2C,EAC3C,IAAsB;IAEtB,OAAO;QACN,GAAG,eAAe,CAAC,QAAQ,CAAC;QAC5B;YACC,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;YACrD,aAAa,EAAE,IAAI;YACnB,MAAM,EAAE,gBAAyB;SACjC;KACD,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,UAAwD;IAClF,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,CAAC,YAAY,EAAE,CAAC;AACpG,CAAC;AAED,SAAS,aAAa,CACrB,IAA+B,EAC/B,IAAY,EACZ,OAAgD,EAChD,YAAgD,EAChD,OAAuE,EACvE,WAAwC,EACxC,IAAY;IAEZ,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC;IAC9B,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,CAAC,YAAY,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACjC,WAAW,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,4BAA4B,EAAE,IAAI,EAAE,OAAO,EAAE,2BAA2B,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC,CAAC;QACpI,OAAO;IACR,CAAC;IACD,MAAM,QAAQ,GAAG,GAAG,IAAI,IAAI,YAAY,CAAC,MAAM,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;IACzE,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7E,IAAI,CAAC,YAAY,CAAC,MAAM;QAAE,WAAW,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,8BAA8B,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,IAAI,IAAI,IAAI,iCAAiC,EAAE,CAAC,CAAC;AAChL,CAAC;AAED,SAAS,0BAA0B,CAAC,OAA4C;IAC/E,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC1F,MAAM,IAAI,KAAK,CAAC,mEAAmE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACpG,CAAC;IACD,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IACnC,MAAM,KAAK,GAAG,OAAO,UAAU,KAAK,QAAQ;QAC3C,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;QAC/C,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;YAC1B,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAA0C,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAK,IAA2B,CAAC,IAAI,KAAK,MAAM,IAAI,OAAQ,IAA2B,CAAC,IAAI,KAAK,QAAQ,CAAC;YAClN,CAAC,CAAC,EAAE,CAAC;IACP,OAAO;QACN,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,OAAO,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QAChE,MAAM,EAAE,cAAc;KACtB,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,KAA4B,EAAE,UAAiC;IACxF,OAAO;QACN,KAAK,EAAE,UAAU,CAAC,KAAK;QACvB,IAAI,EAAE,eAAe,KAAK,EAAE;QAC5B,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,qBAAqB,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,aAAa;QAClF,OAAO,EAAE,UAAU,CAAC,OAAO;KAC3B,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAC3B,IAAuD,EACvD,KAAwD;IAExD,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACnF,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { PromptEnvironment } from "./forge-v1/types.ts";
2
+ import type { PromptRuntime, PromptStack, PromptStackDiagnostic } from "./types.ts";
3
+ export declare class ForgeTemplateRenderer {
4
+ private readonly base;
5
+ private readonly extensions;
6
+ private readonly workingExtensions;
7
+ private readonly resolving;
8
+ private readonly stack;
9
+ constructor(stack: PromptStack, runtime: PromptRuntime);
10
+ render(text: string, diagnostics: PromptStackDiagnostic[], itemId?: string): string;
11
+ environment(): PromptEnvironment;
12
+ environmentForDependencies(dependencies: readonly string[], diagnostics: PromptStackDiagnostic[], itemId?: string): PromptEnvironment;
13
+ setLatestUserMessage(message: string): void;
14
+ private resolveExtensionForRender;
15
+ }
16
+ export declare function buildPromptEnvironment(stack: PromptStack, runtime: PromptRuntime): PromptEnvironment;
17
+ export declare function freezeEnvironment(environment: PromptEnvironment): PromptEnvironment;
18
+ //# sourceMappingURL=template-render.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template-render.d.ts","sourceRoot":"","sources":["../src/template-render.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEX,iBAAiB,EAGjB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,KAAK,EACX,aAAa,EACb,WAAW,EACX,qBAAqB,EACrB,MAAM,YAAY,CAAC;AAEpB,qBAAa,qBAAqB;IACjC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAoB;IACzC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA6B;IACxD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA8B;IAChE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAC/C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAc;gBAExB,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa;IAKtD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,qBAAqB,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM;IA2CnF,WAAW,IAAI,iBAAiB;IAQhC,0BAA0B,CACzB,YAAY,EAAE,SAAS,MAAM,EAAE,EAC/B,WAAW,EAAE,qBAAqB,EAAE,EACpC,MAAM,CAAC,EAAE,MAAM,GACb,iBAAiB;IAgBpB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAY3C,OAAO,CAAC,yBAAyB;CAoEjC;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,GAAG,iBAAiB,CAmCpG;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,iBAAiB,GAAG,iBAAiB,CAcnF"}