@zihanw/pi-forge 0.4.1 → 0.5.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 (372) hide show
  1. package/CHANGELOG.md +79 -1
  2. package/README.md +12 -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/context-diff-history.d.ts +61 -0
  30. package/dist/context-diff-history.d.ts.map +1 -0
  31. package/dist/context-diff-history.js +84 -0
  32. package/dist/context-diff-history.js.map +1 -0
  33. package/dist/context-diff-snapshot.d.ts +19 -0
  34. package/dist/context-diff-snapshot.d.ts.map +1 -0
  35. package/dist/context-diff-snapshot.js +146 -0
  36. package/dist/context-diff-snapshot.js.map +1 -0
  37. package/dist/context-diff.d.ts +70 -0
  38. package/dist/context-diff.d.ts.map +1 -0
  39. package/dist/context-diff.js +259 -0
  40. package/dist/context-diff.js.map +1 -0
  41. package/dist/extension-registry.d.ts.map +1 -1
  42. package/dist/extension-registry.js +5 -2
  43. package/dist/extension-registry.js.map +1 -1
  44. package/dist/forge-config.d.ts +0 -105
  45. package/dist/forge-config.d.ts.map +1 -1
  46. package/dist/forge-config.js +1 -313
  47. package/dist/forge-config.js.map +1 -1
  48. package/dist/forge-v1/analyzer.d.ts +3 -0
  49. package/dist/forge-v1/analyzer.d.ts.map +1 -0
  50. package/dist/forge-v1/analyzer.js +50 -0
  51. package/dist/forge-v1/analyzer.js.map +1 -0
  52. package/dist/forge-v1/index.d.ts +6 -0
  53. package/dist/forge-v1/index.d.ts.map +1 -0
  54. package/dist/forge-v1/index.js +13 -0
  55. package/dist/forge-v1/index.js.map +1 -0
  56. package/dist/forge-v1/parser.d.ts +3 -0
  57. package/dist/forge-v1/parser.d.ts.map +1 -0
  58. package/dist/forge-v1/parser.js +186 -0
  59. package/dist/forge-v1/parser.js.map +1 -0
  60. package/dist/forge-v1/renderer.d.ts +9 -0
  61. package/dist/forge-v1/renderer.d.ts.map +1 -0
  62. package/dist/forge-v1/renderer.js +181 -0
  63. package/dist/forge-v1/renderer.js.map +1 -0
  64. package/dist/forge-v1/types.d.ts +87 -0
  65. package/dist/forge-v1/types.d.ts.map +1 -0
  66. package/dist/forge-v1/types.js +4 -0
  67. package/dist/forge-v1/types.js.map +1 -0
  68. package/dist/index.d.ts +12 -12
  69. package/dist/index.d.ts.map +1 -1
  70. package/dist/index.js +54 -83
  71. package/dist/index.js.map +1 -1
  72. package/dist/lifecycle.d.ts +8 -5
  73. package/dist/lifecycle.d.ts.map +1 -1
  74. package/dist/lifecycle.js +45 -112
  75. package/dist/lifecycle.js.map +1 -1
  76. package/dist/loader.d.ts +5 -8
  77. package/dist/loader.d.ts.map +1 -1
  78. package/dist/loader.js +10 -467
  79. package/dist/loader.js.map +1 -1
  80. package/dist/macro-engine.d.ts +9 -14
  81. package/dist/macro-engine.d.ts.map +1 -1
  82. package/dist/macro-engine.js +5 -238
  83. package/dist/macro-engine.js.map +1 -1
  84. package/dist/payload-capture.d.ts +10 -0
  85. package/dist/payload-capture.d.ts.map +1 -1
  86. package/dist/payload-capture.js +39 -9
  87. package/dist/payload-capture.js.map +1 -1
  88. package/dist/payload-command.d.ts +8 -6
  89. package/dist/payload-command.d.ts.map +1 -1
  90. package/dist/payload-command.js +36 -6
  91. package/dist/payload-command.js.map +1 -1
  92. package/dist/payload-state.d.ts +19 -0
  93. package/dist/payload-state.d.ts.map +1 -0
  94. package/dist/payload-state.js +19 -0
  95. package/dist/payload-state.js.map +1 -0
  96. package/dist/preset-command.d.ts +4 -4
  97. package/dist/preset-command.d.ts.map +1 -1
  98. package/dist/preset-command.js +33 -104
  99. package/dist/preset-command.js.map +1 -1
  100. package/dist/preview.d.ts +4 -4
  101. package/dist/preview.d.ts.map +1 -1
  102. package/dist/preview.js +34 -11
  103. package/dist/preview.js.map +1 -1
  104. package/dist/profile-command.d.ts +2 -2
  105. package/dist/profile-command.d.ts.map +1 -1
  106. package/dist/profile-command.js +15 -14
  107. package/dist/profile-command.js.map +1 -1
  108. package/dist/profile-service.d.ts.map +1 -1
  109. package/dist/profile-service.js +23 -39
  110. package/dist/profile-service.js.map +1 -1
  111. package/dist/prompt-analysis.d.ts +24 -0
  112. package/dist/prompt-analysis.d.ts.map +1 -0
  113. package/dist/prompt-analysis.js +84 -0
  114. package/dist/prompt-analysis.js.map +1 -0
  115. package/dist/prompt-runtime.d.ts +19 -0
  116. package/dist/prompt-runtime.d.ts.map +1 -0
  117. package/dist/prompt-runtime.js +30 -0
  118. package/dist/prompt-runtime.js.map +1 -0
  119. package/dist/regex.js +6 -12
  120. package/dist/regex.js.map +1 -1
  121. package/dist/render-helpers.d.ts +2 -10
  122. package/dist/render-helpers.d.ts.map +1 -1
  123. package/dist/render-helpers.js +3 -53
  124. package/dist/render-helpers.js.map +1 -1
  125. package/dist/repositories/agent-profile.d.ts +36 -0
  126. package/dist/repositories/agent-profile.d.ts.map +1 -0
  127. package/dist/repositories/agent-profile.js +153 -0
  128. package/dist/repositories/agent-profile.js.map +1 -0
  129. package/dist/repositories/index.d.ts +3 -0
  130. package/dist/repositories/index.d.ts.map +1 -0
  131. package/dist/repositories/index.js +3 -0
  132. package/dist/repositories/index.js.map +1 -0
  133. package/dist/repositories/prompt-stack.d.ts +57 -0
  134. package/dist/repositories/prompt-stack.d.ts.map +1 -0
  135. package/dist/repositories/prompt-stack.js +175 -0
  136. package/dist/repositories/prompt-stack.js.map +1 -0
  137. package/dist/runtime/profile-runtime.d.ts +2 -2
  138. package/dist/runtime/profile-runtime.d.ts.map +1 -1
  139. package/dist/runtime/profile-runtime.js +13 -10
  140. package/dist/runtime/profile-runtime.js.map +1 -1
  141. package/dist/runtime/prompt-stack-runtime.d.ts +4 -3
  142. package/dist/runtime/prompt-stack-runtime.d.ts.map +1 -1
  143. package/dist/runtime/prompt-stack-runtime.js +42 -57
  144. package/dist/runtime/prompt-stack-runtime.js.map +1 -1
  145. package/dist/runtime/tool-policy-runtime.d.ts +2 -2
  146. package/dist/runtime/tool-policy-runtime.d.ts.map +1 -1
  147. package/dist/runtime/tool-policy-runtime.js +16 -6
  148. package/dist/runtime/tool-policy-runtime.js.map +1 -1
  149. package/dist/runtime/web-editor-runtime.d.ts +2 -1
  150. package/dist/runtime/web-editor-runtime.d.ts.map +1 -1
  151. package/dist/runtime/web-editor-runtime.js +8 -3
  152. package/dist/runtime/web-editor-runtime.js.map +1 -1
  153. package/dist/session-adapter.d.ts +17 -0
  154. package/dist/session-adapter.d.ts.map +1 -0
  155. package/dist/session-adapter.js +57 -0
  156. package/dist/session-adapter.js.map +1 -0
  157. package/dist/slot-renderers.d.ts +16 -3
  158. package/dist/slot-renderers.d.ts.map +1 -1
  159. package/dist/slot-renderers.js +15 -63
  160. package/dist/slot-renderers.js.map +1 -1
  161. package/dist/stack-migration.d.ts +6 -0
  162. package/dist/stack-migration.d.ts.map +1 -1
  163. package/dist/stack-migration.js +49 -52
  164. package/dist/stack-migration.js.map +1 -1
  165. package/dist/subagent/fingerprints.d.ts +24 -0
  166. package/dist/subagent/fingerprints.d.ts.map +1 -0
  167. package/dist/subagent/fingerprints.js +81 -0
  168. package/dist/subagent/fingerprints.js.map +1 -0
  169. package/dist/subagent/host-port.d.ts +296 -0
  170. package/dist/subagent/host-port.d.ts.map +1 -0
  171. package/dist/subagent/host-port.js +560 -0
  172. package/dist/subagent/host-port.js.map +1 -0
  173. package/dist/subagent/index.d.ts +10 -10
  174. package/dist/subagent/index.d.ts.map +1 -1
  175. package/dist/subagent/index.js +9 -10
  176. package/dist/subagent/index.js.map +1 -1
  177. package/dist/subagent-host.d.ts +99 -18
  178. package/dist/subagent-host.d.ts.map +1 -1
  179. package/dist/subagent-host.js +143 -146
  180. package/dist/subagent-host.js.map +1 -1
  181. package/dist/template-render.d.ts +18 -0
  182. package/dist/template-render.d.ts.map +1 -0
  183. package/dist/template-render.js +232 -0
  184. package/dist/template-render.js.map +1 -0
  185. package/dist/types.d.ts +40 -27
  186. package/dist/types.d.ts.map +1 -1
  187. package/dist/types.js.map +1 -1
  188. package/dist/ui-contribution/contrib-port.d.ts +170 -0
  189. package/dist/ui-contribution/contrib-port.d.ts.map +1 -0
  190. package/dist/ui-contribution/contrib-port.js +640 -0
  191. package/dist/ui-contribution/contrib-port.js.map +1 -0
  192. package/dist/ui-contribution/index.d.ts +3 -0
  193. package/dist/ui-contribution/index.d.ts.map +1 -0
  194. package/dist/ui-contribution/index.js +2 -0
  195. package/dist/ui-contribution/index.js.map +1 -0
  196. package/dist/web-editor/client-script.generated.d.ts.map +1 -1
  197. package/dist/web-editor/client-script.generated.js +1 -1
  198. package/dist/web-editor/client-script.generated.js.map +1 -1
  199. package/dist/web-editor/client-styles.generated.d.ts.map +1 -1
  200. package/dist/web-editor/client-styles.generated.js +1 -1
  201. package/dist/web-editor/client-styles.generated.js.map +1 -1
  202. package/dist/web-editor/contrib-service.d.ts +41 -0
  203. package/dist/web-editor/contrib-service.d.ts.map +1 -0
  204. package/dist/web-editor/contrib-service.js +174 -0
  205. package/dist/web-editor/contrib-service.js.map +1 -0
  206. package/dist/web-editor/line-diff.d.ts +28 -0
  207. package/dist/web-editor/line-diff.d.ts.map +1 -0
  208. package/dist/web-editor/line-diff.js +216 -0
  209. package/dist/web-editor/line-diff.js.map +1 -0
  210. package/dist/web-editor/schema-form.d.ts +63 -0
  211. package/dist/web-editor/schema-form.d.ts.map +1 -0
  212. package/dist/web-editor/schema-form.js +213 -0
  213. package/dist/web-editor/schema-form.js.map +1 -0
  214. package/dist/web-editor/server.d.ts.map +1 -1
  215. package/dist/web-editor/server.js +72 -74
  216. package/dist/web-editor/server.js.map +1 -1
  217. package/dist/web-editor/styles.d.ts.map +1 -1
  218. package/dist/web-editor/styles.js +201 -21
  219. package/dist/web-editor/styles.js.map +1 -1
  220. package/dist/web-editor/types.d.ts +12 -35
  221. package/dist/web-editor/types.d.ts.map +1 -1
  222. package/dist/web-host.d.ts +6 -2
  223. package/dist/web-host.d.ts.map +1 -1
  224. package/dist/web-host.js +33 -103
  225. package/dist/web-host.js.map +1 -1
  226. package/dist/workspace.d.ts +74 -0
  227. package/dist/workspace.d.ts.map +1 -0
  228. package/dist/workspace.js +351 -0
  229. package/dist/workspace.js.map +1 -0
  230. package/docs/README.md +7 -4
  231. package/docs/concepts/agent-profiles.md +1 -1
  232. package/docs/concepts/prompt-stacks.md +5 -5
  233. package/docs/design/0.5.1-plan.md +237 -0
  234. package/docs/design/README.md +21 -3
  235. package/docs/design/architecture-0.5.md +222 -0
  236. package/docs/design/archive/0.5-full-proposal/0.5-consumer-audit.md +62 -0
  237. package/docs/design/archive/0.5-full-proposal/0.5-inventory.md +208 -0
  238. package/docs/design/archive/0.5-full-proposal/0.5-phase0-decision-drafts.md +237 -0
  239. package/docs/design/archive/0.5-full-proposal/README.md +12 -0
  240. package/docs/design/archive/0.5-full-proposal/architecture-0.5.md +423 -0
  241. package/docs/design/archive/0.5-full-proposal/host-discovery-spike.md +103 -0
  242. package/docs/design/archive/0.5-full-proposal/template-language-spike.md +156 -0
  243. package/docs/design/context-diff-plan.md +78 -0
  244. package/docs/design/decision-template.md +33 -0
  245. package/docs/design/roadmap-0.4-archive.md +1 -1
  246. package/docs/design/subagents/interface-design.md +1 -1
  247. package/docs/development/architecture-rules.md +148 -0
  248. package/docs/development/release.md +7 -1
  249. package/docs/development/roadmap.md +37 -5
  250. package/docs/development/scoped-global-profiles-stacks.md +1 -1
  251. package/docs/development/setup.md +6 -4
  252. package/docs/getting-started.md +5 -4
  253. package/docs/guides/custom-macros-and-slots.md +8 -7
  254. package/docs/guides/debugging.md +1 -1
  255. package/docs/guides/delegation.md +18 -22
  256. package/docs/guides/migrating-to-0.5.md +107 -0
  257. package/docs/guides/use-cases.md +7 -11
  258. package/docs/guides/web-editor.md +6 -10
  259. package/docs/reference/commands.md +4 -3
  260. package/docs/reference/configuration.md +17 -18
  261. package/docs/reference/features.md +34 -80
  262. package/docs/reference/macros-and-slots.md +70 -49
  263. package/docs/reference/public-api.md +76 -17
  264. package/docs/reference/stack-schema.md +15 -10
  265. package/docs/reference/subagent-host-port.md +49 -0
  266. package/docs/reference/ui-contribution-port.md +51 -0
  267. package/docs/zh-CN/README.md +3 -3
  268. package/docs/zh-CN/concepts/agent-profiles.md +1 -1
  269. package/docs/zh-CN/concepts/prompt-stacks.md +5 -5
  270. package/docs/zh-CN/getting-started.md +3 -2
  271. package/docs/zh-CN/guides/delegation.md +10 -12
  272. package/docs/zh-CN/guides/migrating-to-0.5.md +92 -0
  273. package/docs/zh-CN/guides/web-editor.md +4 -4
  274. package/docs/zh-CN/reference/commands.md +3 -2
  275. package/examples/custom-system-status-extension/README.md +3 -3
  276. package/examples/custom-system-status-extension/index.ts +2 -1
  277. package/examples/custom-system-status-extension/prompt-stack.json +4 -3
  278. package/examples/default-prompt-stack.json +9 -4
  279. package/examples/image-reader-prompt-stack.json +16 -26
  280. package/examples/reviewer-prompt-stack.json +13 -24
  281. package/package.json +106 -120
  282. package/dist/runtime/subagent-runtime.d.ts +0 -45
  283. package/dist/runtime/subagent-runtime.d.ts.map +0 -1
  284. package/dist/runtime/subagent-runtime.js +0 -343
  285. package/dist/runtime/subagent-runtime.js.map +0 -1
  286. package/dist/runtime-state.d.ts +0 -30
  287. package/dist/runtime-state.d.ts.map +0 -1
  288. package/dist/runtime-state.js +0 -17
  289. package/dist/runtime-state.js.map +0 -1
  290. package/dist/sillytavern-importer/items.d.ts +0 -3
  291. package/dist/sillytavern-importer/items.d.ts.map +0 -1
  292. package/dist/sillytavern-importer/items.js +0 -88
  293. package/dist/sillytavern-importer/items.js.map +0 -1
  294. package/dist/sillytavern-importer/macros.d.ts +0 -15
  295. package/dist/sillytavern-importer/macros.d.ts.map +0 -1
  296. package/dist/sillytavern-importer/macros.js +0 -141
  297. package/dist/sillytavern-importer/macros.js.map +0 -1
  298. package/dist/sillytavern-importer/prompt-order.d.ts +0 -6
  299. package/dist/sillytavern-importer/prompt-order.d.ts.map +0 -1
  300. package/dist/sillytavern-importer/prompt-order.js +0 -38
  301. package/dist/sillytavern-importer/prompt-order.js.map +0 -1
  302. package/dist/sillytavern-importer/regex.d.ts +0 -3
  303. package/dist/sillytavern-importer/regex.d.ts.map +0 -1
  304. package/dist/sillytavern-importer/regex.js +0 -275
  305. package/dist/sillytavern-importer/regex.js.map +0 -1
  306. package/dist/sillytavern-importer/report.d.ts +0 -21
  307. package/dist/sillytavern-importer/report.d.ts.map +0 -1
  308. package/dist/sillytavern-importer/report.js +0 -166
  309. package/dist/sillytavern-importer/report.js.map +0 -1
  310. package/dist/sillytavern-importer/types.d.ts +0 -106
  311. package/dist/sillytavern-importer/types.d.ts.map +0 -1
  312. package/dist/sillytavern-importer/types.js +0 -2
  313. package/dist/sillytavern-importer/types.js.map +0 -1
  314. package/dist/sillytavern-importer.d.ts +0 -5
  315. package/dist/sillytavern-importer.d.ts.map +0 -1
  316. package/dist/sillytavern-importer.js +0 -117
  317. package/dist/sillytavern-importer.js.map +0 -1
  318. package/dist/subagent/canonical.d.ts +0 -22
  319. package/dist/subagent/canonical.d.ts.map +0 -1
  320. package/dist/subagent/canonical.js +0 -24
  321. package/dist/subagent/canonical.js.map +0 -1
  322. package/dist/subagent/context.d.ts +0 -8
  323. package/dist/subagent/context.d.ts.map +0 -1
  324. package/dist/subagent/context.js +0 -125
  325. package/dist/subagent/context.js.map +0 -1
  326. package/dist/subagent/contract.d.ts +0 -10
  327. package/dist/subagent/contract.d.ts.map +0 -1
  328. package/dist/subagent/contract.js +0 -10
  329. package/dist/subagent/contract.js.map +0 -1
  330. package/dist/subagent/plan.d.ts +0 -18
  331. package/dist/subagent/plan.d.ts.map +0 -1
  332. package/dist/subagent/plan.js +0 -157
  333. package/dist/subagent/plan.js.map +0 -1
  334. package/dist/subagent/preflight.d.ts +0 -4
  335. package/dist/subagent/preflight.d.ts.map +0 -1
  336. package/dist/subagent/preflight.js +0 -108
  337. package/dist/subagent/preflight.js.map +0 -1
  338. package/dist/subagent/request.d.ts +0 -4
  339. package/dist/subagent/request.d.ts.map +0 -1
  340. package/dist/subagent/request.js +0 -154
  341. package/dist/subagent/request.js.map +0 -1
  342. package/dist/subagent/response.d.ts +0 -8
  343. package/dist/subagent/response.d.ts.map +0 -1
  344. package/dist/subagent/response.js +0 -155
  345. package/dist/subagent/response.js.map +0 -1
  346. package/dist/subagent/tools.d.ts +0 -4
  347. package/dist/subagent/tools.d.ts.map +0 -1
  348. package/dist/subagent/tools.js +0 -42
  349. package/dist/subagent/tools.js.map +0 -1
  350. package/dist/subagent/types.d.ts +0 -272
  351. package/dist/subagent/types.d.ts.map +0 -1
  352. package/dist/subagent/types.js +0 -3
  353. package/dist/subagent/types.js.map +0 -1
  354. package/dist/subagent/validation.d.ts +0 -35
  355. package/dist/subagent/validation.d.ts.map +0 -1
  356. package/dist/subagent/validation.js +0 -314
  357. package/dist/subagent/validation.js.map +0 -1
  358. package/dist/subagent-command.d.ts +0 -5
  359. package/dist/subagent-command.d.ts.map +0 -1
  360. package/dist/subagent-command.js +0 -249
  361. package/dist/subagent-command.js.map +0 -1
  362. package/dist/subagent-profile-tool.d.ts +0 -49
  363. package/dist/subagent-profile-tool.d.ts.map +0 -1
  364. package/dist/subagent-profile-tool.js +0 -125
  365. package/dist/subagent-profile-tool.js.map +0 -1
  366. package/dist/subagent-tool.d.ts +0 -77
  367. package/dist/subagent-tool.d.ts.map +0 -1
  368. package/dist/subagent-tool.js +0 -559
  369. package/dist/subagent-tool.js.map +0 -1
  370. package/docs/guides/sillytavern-import.md +0 -47
  371. package/docs/reference/subagent-adapter.md +0 -204
  372. package/examples/sillytavern-dm-writer-prompt-stack.json +0 -190
@@ -1,5 +1,7 @@
1
1
  import type { BuildSystemPromptOptions, ExtensionAPI, ExtensionContext } from "@earendil-works/pi-coding-agent";
2
- import { type PiForgeRuntimeState } from "./runtime-state.ts";
2
+ import type { AssistantMessage } from "@earendil-works/pi-ai";
3
+ import { type CompileCycleState } from "./compile-cycle.ts";
4
+ import type { ForgeWorkspace } from "./workspace.ts";
3
5
  import type { PromptStackDiagnostic } from "./types.ts";
4
6
  export interface LifecycleDeps {
5
7
  reloadStacks(ctx: ExtensionContext, preferredId?: string, options?: {
@@ -7,17 +9,18 @@ export interface LifecycleDeps {
7
9
  suppressAutoActivate?: boolean;
8
10
  }): Promise<void>;
9
11
  disposePromptStackRuntime(): PromptStackDiagnostic[];
10
- disposeSubagentRuntime(): Promise<void>;
11
12
  activateFreshSessionDefaults(ctx: ExtensionContext): Promise<void>;
12
13
  refreshWebEditorHost(ctx: ExtensionContext, promptOptions?: BuildSystemPromptOptions): void;
13
- refreshSubagentToolDescriptions(ctx: ExtensionContext): void;
14
14
  notifyActivePreset(ctx: ExtensionContext, detail: string): void;
15
15
  syncActiveToolPolicy(ctx?: ExtensionContext): void;
16
16
  restoreActiveToolPolicy(): void;
17
17
  toolPolicyBlockReason(toolName: string): string | undefined;
18
- activeId(): string | undefined;
19
18
  persistActiveSelection(): void;
20
19
  recordCompileDiagnostics(ctx: ExtensionContext, diagnostics: PromptStackDiagnostic[]): void;
20
+ restorePersistedActiveId(id?: string): void;
21
+ reloadForgeWorkspace(ctx: ExtensionContext): void;
22
+ disposeForgeWorkspace(): void;
23
+ recordProviderResponseUsage(message: AssistantMessage): void;
21
24
  }
22
- export declare function registerLifecycleHandlers(pi: ExtensionAPI, state: PiForgeRuntimeState, deps: LifecycleDeps): void;
25
+ export declare function registerLifecycleHandlers(pi: ExtensionAPI, workspace: ForgeWorkspace, compileCycle: CompileCycleState, deps: LifecycleDeps): void;
23
26
  //# sourceMappingURL=lifecycle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../src/lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,YAAY,EAAE,gBAAgB,EAAqB,MAAM,iCAAiC,CAAC;AAWnI,OAAO,EAA6D,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzH,OAAO,KAAK,EAAE,qBAAqB,EAA4C,MAAM,YAAY,CAAC;AAElG,MAAM,WAAW,aAAa;IAC7B,YAAY,CAAC,GAAG,EAAE,gBAAgB,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,OAAO,CAAC;QAAC,oBAAoB,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClJ,yBAAyB,IAAI,qBAAqB,EAAE,CAAC;IACrD,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,4BAA4B,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,oBAAoB,CAAC,GAAG,EAAE,gBAAgB,EAAE,aAAa,CAAC,EAAE,wBAAwB,GAAG,IAAI,CAAC;IAC5F,+BAA+B,CAAC,GAAG,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC7D,kBAAkB,CAAC,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAChE,oBAAoB,CAAC,GAAG,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACnD,uBAAuB,IAAI,IAAI,CAAC;IAChC,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAC5D,QAAQ,IAAI,MAAM,GAAG,SAAS,CAAC;IAC/B,sBAAsB,IAAI,IAAI,CAAC;IAC/B,wBAAwB,CAAC,GAAG,EAAE,gBAAgB,EAAE,WAAW,EAAE,qBAAqB,EAAE,GAAG,IAAI,CAAC;CAC5F;AAED,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI,CA0HjH"}
1
+ {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../src/lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,YAAY,EAAE,gBAAgB,EAAqB,MAAM,iCAAiC,CAAC;AACnI,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAQ9D,OAAO,EAAqB,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAExD,MAAM,WAAW,aAAa;IAC7B,YAAY,CAAC,GAAG,EAAE,gBAAgB,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,OAAO,CAAC;QAAC,oBAAoB,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClJ,yBAAyB,IAAI,qBAAqB,EAAE,CAAC;IACrD,4BAA4B,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,oBAAoB,CAAC,GAAG,EAAE,gBAAgB,EAAE,aAAa,CAAC,EAAE,wBAAwB,GAAG,IAAI,CAAC;IAC5F,kBAAkB,CAAC,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAChE,oBAAoB,CAAC,GAAG,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACnD,uBAAuB,IAAI,IAAI,CAAC;IAChC,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAC5D,sBAAsB,IAAI,IAAI,CAAC;IAC/B,wBAAwB,CAAC,GAAG,EAAE,gBAAgB,EAAE,WAAW,EAAE,qBAAqB,EAAE,GAAG,IAAI,CAAC;IAC5F,wBAAwB,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,oBAAoB,CAAC,GAAG,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAClD,qBAAqB,IAAI,IAAI,CAAC;IAC9B,2BAA2B,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;CAC7D;AAED,wBAAgB,yBAAyB,CACxC,EAAE,EAAE,YAAY,EAChB,SAAS,EAAE,cAAc,EACzB,YAAY,EAAE,iBAAiB,EAC/B,IAAI,EAAE,aAAa,GACjB,IAAI,CAsHN"}
package/dist/lifecycle.js CHANGED
@@ -1,8 +1,10 @@
1
- import { compileMessages, compileSystemPrompt, createPromptVariableStore, getLatestUserMessage, markSessionVariablesClean, resetTurnVariables, } from "./compiler.js";
1
+ import { compileMessages, getLatestUserMessage, } from "./compiler.js";
2
+ import { PromptCompilationContext } from "./compiler.js";
2
3
  import { applyFinalizeRegexRulesToMessage } from "./regex.js";
3
- import { isAgentProfileProvenance } from "./agent-profile.js";
4
- import { PROFILE_ENTRY_TYPE, STATE_ENTRY_TYPE, VARIABLE_ENTRY_TYPE } from "./runtime-state.js";
5
- export function registerLifecycleHandlers(pi, state, deps) {
4
+ import { promptRuntimeFromPi } from "./prompt-runtime.js";
5
+ import { resetCompileCycle } from "./compile-cycle.js";
6
+ import { getCurrentBranchEntries, getLegacyVariableStateDiagnostic, getRestoredActiveId, getRestoredProfileProvenance } from "./session-adapter.js";
7
+ export function registerLifecycleHandlers(pi, workspace, compileCycle, deps) {
6
8
  let startupToolPolicyPending = false;
7
9
  pi.on("session_shutdown", async () => {
8
10
  // Pi carries the old runtime's active built-in tool names into a replacement
@@ -10,14 +12,16 @@ export function registerLifecycleHandlers(pi, state, deps) {
10
12
  // replacement pi-forge instance can capture a complete baseline.
11
13
  startupToolPolicyPending = false;
12
14
  deps.restoreActiveToolPolicy();
15
+ // Tear down the host first so a throwing subagent disposal cannot leak a
16
+ // live host that keeps advertising the stale snapshot.
17
+ deps.disposeForgeWorkspace();
13
18
  deps.disposePromptStackRuntime();
14
- await deps.disposeSubagentRuntime();
15
19
  });
16
20
  pi.on("session_start", async (event, ctx) => {
17
21
  startupToolPolicyPending = true;
18
22
  try {
19
23
  const freshSession = shouldAutoActivateForSessionStart(event, ctx);
20
- await restoreBranchScopedRuntime(ctx, state, deps, { deferToolPolicy: true, suppressAutoActivate: freshSession });
24
+ await restoreBranchScopedRuntime(ctx, workspace, compileCycle, deps, { deferToolPolicy: true, suppressAutoActivate: freshSession });
21
25
  if (freshSession)
22
26
  await deps.activateFreshSessionDefaults(ctx);
23
27
  }
@@ -25,27 +29,26 @@ export function registerLifecycleHandlers(pi, state, deps) {
25
29
  startupToolPolicyPending = false;
26
30
  throw error;
27
31
  }
32
+ deps.reloadForgeWorkspace(ctx);
28
33
  deps.refreshWebEditorHost(ctx);
29
- deps.refreshSubagentToolDescriptions(ctx);
30
34
  deps.notifyActivePreset(ctx, "after session " + event.reason);
31
35
  });
32
36
  pi.on("resources_discover", async (_event, ctx) => {
33
- deps.refreshSubagentToolDescriptions(ctx);
34
37
  if (!startupToolPolicyPending)
35
38
  return;
36
39
  startupToolPolicyPending = false;
37
40
  deps.syncActiveToolPolicy(ctx);
38
41
  });
39
42
  pi.on("session_tree", async (_event, ctx) => {
40
- await restoreBranchScopedRuntime(ctx, state, deps);
43
+ await restoreBranchScopedRuntime(ctx, workspace, compileCycle, deps);
44
+ deps.reloadForgeWorkspace(ctx);
41
45
  deps.refreshWebEditorHost(ctx);
42
- deps.refreshSubagentToolDescriptions(ctx);
43
46
  deps.notifyActivePreset(ctx, "after tree navigation");
44
47
  });
45
48
  pi.on("session_compact", async (_event, ctx) => {
46
- await restoreBranchScopedRuntime(ctx, state, deps);
49
+ await restoreBranchScopedRuntime(ctx, workspace, compileCycle, deps);
50
+ deps.reloadForgeWorkspace(ctx);
47
51
  deps.refreshWebEditorHost(ctx);
48
- deps.refreshSubagentToolDescriptions(ctx);
49
52
  deps.notifyActivePreset(ctx, "after compaction");
50
53
  });
51
54
  pi.on("turn_start", async () => {
@@ -60,62 +63,62 @@ export function registerLifecycleHandlers(pi, state, deps) {
60
63
  return reason ? { block: true, reason } : undefined;
61
64
  });
62
65
  pi.on("before_agent_start", async (event, ctx) => {
63
- state.currentSystemPromptOptions = event.systemPromptOptions;
64
- deps.refreshSubagentToolDescriptions(ctx);
66
+ compileCycle.currentSystemPromptOptions = event.systemPromptOptions;
65
67
  deps.refreshWebEditorHost(ctx, event.systemPromptOptions);
66
- state.currentLatestUserMessage = event.prompt;
67
- state.currentVariableStore = createPromptVariableStore(state.sessionVariables);
68
- resetTurnVariables(state.currentVariableStore);
69
- state.contextRewritePending = true;
70
- if (!state.active)
68
+ compileCycle.currentLatestUserMessage = event.prompt;
69
+ compileCycle.contextRewritePending = true;
70
+ const active = workspace.snapshotKnown ? workspace.snapshot().active : undefined;
71
+ if (!active)
71
72
  return;
72
- const result = compileSystemPrompt(state.active.stack, { options: event.systemPromptOptions, ctx, latestUserMessage: event.prompt, now: new Date(), variables: state.currentVariableStore }, event.systemPrompt);
73
+ const compilationRuntime = promptRuntimeFromPi(event.systemPromptOptions, ctx, event.prompt);
74
+ compileCycle.currentCompilationContext = new PromptCompilationContext(active.stack, compilationRuntime);
75
+ const result = compileCycle.currentCompilationContext.compileSystemPrompt(event.systemPrompt);
73
76
  deps.recordCompileDiagnostics(ctx, result.diagnostics);
74
- persistVariablesIfDirty(pi, state, state.currentVariableStore);
75
77
  return { systemPrompt: result.systemPrompt };
76
78
  });
77
79
  pi.on("context", async (event, ctx) => {
78
- if (!state.active || !state.currentSystemPromptOptions || !state.contextRewritePending)
80
+ const active = workspace.snapshotKnown ? workspace.snapshot().active : undefined;
81
+ if (!active || !compileCycle.currentSystemPromptOptions || !compileCycle.contextRewritePending)
79
82
  return;
80
83
  // Rewrite the message layout only for the first provider request of a user-submitted prompt.
81
84
  // Tool-result follow-up turns must receive Pi's natural context; otherwise post-history
82
85
  // prompt blocks such as COT / {{lastUserMessage}} are re-appended after every tool call
83
86
  // and the model restarts its planning instead of continuing from the tool result.
84
- state.contextRewritePending = false;
85
- if (!state.currentVariableStore)
86
- state.currentVariableStore = createPromptVariableStore(state.sessionVariables);
87
- const latestUserMessage = getLatestUserMessage(event.messages) ?? state.currentLatestUserMessage;
88
- const result = compileMessages(state.active.stack, { options: state.currentSystemPromptOptions, ctx, latestUserMessage, now: new Date(), variables: state.currentVariableStore }, event.messages);
89
- deps.recordCompileDiagnostics(ctx, [...state.latestCompileDiagnostics, ...result.diagnostics]);
90
- persistVariablesIfDirty(pi, state, state.currentVariableStore);
87
+ compileCycle.contextRewritePending = false;
88
+ const latestUserMessage = getLatestUserMessage(event.messages) ?? compileCycle.currentLatestUserMessage;
89
+ compileCycle.currentCompilationContext?.setLatestUserMessage(latestUserMessage ?? "");
90
+ const result = compileCycle.currentCompilationContext
91
+ ? compileCycle.currentCompilationContext.compileMessages(event.messages)
92
+ : compileMessages(active.stack, promptRuntimeFromPi(compileCycle.currentSystemPromptOptions, ctx, latestUserMessage), event.messages);
93
+ deps.recordCompileDiagnostics(ctx, [...compileCycle.latestCompileDiagnostics, ...result.diagnostics]);
91
94
  return { messages: result.messages };
92
95
  });
93
96
  pi.on("message_end", async (event, ctx) => {
94
- if (!state.active)
97
+ if (event.message.role === "assistant")
98
+ deps.recordProviderResponseUsage(event.message);
99
+ const active = workspace.snapshotKnown ? workspace.snapshot().active : undefined;
100
+ if (!active)
95
101
  return;
96
102
  const diagnostics = [];
97
- const message = applyFinalizeRegexRulesToMessage(state.active.stack, event.message, diagnostics);
103
+ const message = applyFinalizeRegexRulesToMessage(active.stack, event.message, diagnostics);
98
104
  if (diagnostics.length > 0)
99
- deps.recordCompileDiagnostics(ctx, [...state.latestCompileDiagnostics, ...diagnostics]);
105
+ deps.recordCompileDiagnostics(ctx, [...compileCycle.latestCompileDiagnostics, ...diagnostics]);
100
106
  if (!message)
101
107
  return;
102
108
  return { message };
103
109
  });
104
110
  pi.on("agent_end", async () => {
105
- persistVariablesIfDirty(pi, state, state.currentVariableStore);
106
- state.currentSystemPromptOptions = undefined;
107
- state.currentLatestUserMessage = undefined;
108
- state.currentVariableStore = undefined;
109
- state.contextRewritePending = false;
111
+ resetCompileCycle(compileCycle);
110
112
  });
111
113
  }
112
- async function restoreBranchScopedRuntime(ctx, state, deps, options) {
113
- state.sessionVariables = getRestoredVariables(ctx);
114
- state.lastAppliedProfile = getRestoredProfileProvenance(ctx);
115
- state.currentVariableStore = undefined;
114
+ async function restoreBranchScopedRuntime(ctx, workspace, compileCycle, deps, options) {
115
+ const restoredProfile = getRestoredProfileProvenance(ctx);
116
+ compileCycle.currentCompilationContext = undefined;
117
+ compileCycle.latestCompileDiagnostics = getLegacyVariableStateDiagnostic(ctx);
116
118
  const restoredActiveId = getRestoredActiveId(ctx);
117
- state.lastPersistedActiveId = restoredActiveId;
119
+ deps.restorePersistedActiveId(restoredActiveId);
118
120
  await deps.reloadStacks(ctx, restoredActiveId, options);
121
+ workspace.setLastAppliedProfile(restoredProfile);
119
122
  }
120
123
  function shouldAutoActivateForSessionStart(event, ctx) {
121
124
  if (event.reason === "new")
@@ -155,74 +158,4 @@ function isFreshStartupBranch(entries) {
155
158
  // above keep it from being mistaken for a newly created session.
156
159
  return thinkingLevelChanges === 1;
157
160
  }
158
- function getRestoredProfileProvenance(ctx) {
159
- const entries = getCurrentBranchEntries(ctx);
160
- for (let i = entries.length - 1; i >= 0; i--) {
161
- const entry = entries[i];
162
- if (entry.type !== "custom" || entry.customType !== PROFILE_ENTRY_TYPE)
163
- continue;
164
- if (entry.data?.provenance === null)
165
- return undefined;
166
- return isAgentProfileProvenance(entry.data?.provenance) ? entry.data.provenance : undefined;
167
- }
168
- return undefined;
169
- }
170
- function getCurrentBranchEntries(ctx) {
171
- const leafId = ctx.sessionManager.getLeafId();
172
- if (leafId === null)
173
- return [];
174
- const sessionManager = ctx.sessionManager;
175
- return sessionManager.getBranch ? sessionManager.getBranch(leafId ?? undefined) : sessionManager.getEntries();
176
- }
177
- function getRestoredActiveId(ctx) {
178
- const entries = getCurrentBranchEntries(ctx);
179
- for (let i = entries.length - 1; i >= 0; i--) {
180
- const entry = entries[i];
181
- if (entry.type === "custom" && entry.customType === STATE_ENTRY_TYPE) {
182
- return typeof entry.data?.activeStackId === "string" ? entry.data.activeStackId : undefined;
183
- }
184
- }
185
- return undefined;
186
- }
187
- function getRestoredVariables(ctx) {
188
- const entries = getCurrentBranchEntries(ctx);
189
- for (let i = entries.length - 1; i >= 0; i--) {
190
- const entry = entries[i];
191
- if (entry.type !== "custom" || entry.customType !== VARIABLE_ENTRY_TYPE)
192
- continue;
193
- if (!entry.data || typeof entry.data.variables !== "object" || Array.isArray(entry.data.variables))
194
- return {};
195
- return normalizeVariableRecord(entry.data.variables);
196
- }
197
- return {};
198
- }
199
- function persistVariablesIfDirty(pi, state, store) {
200
- if (!store?.sessionDirty)
201
- return;
202
- state.sessionVariables = { ...store.session };
203
- pi.appendEntry(VARIABLE_ENTRY_TYPE, { variables: state.sessionVariables });
204
- markSessionVariablesClean(store);
205
- }
206
- function normalizeVariableRecord(value) {
207
- const result = {};
208
- for (const [key, raw] of Object.entries(value)) {
209
- if (isPromptVariableValue(raw))
210
- result[key] = raw;
211
- }
212
- return result;
213
- }
214
- function isPromptVariableValue(value) {
215
- if (value === null)
216
- return true;
217
- const type = typeof value;
218
- if (type === "string" || type === "boolean")
219
- return true;
220
- if (type === "number")
221
- return Number.isFinite(value);
222
- if (Array.isArray(value))
223
- return value.every(isPromptVariableValue);
224
- if (!value || typeof value !== "object")
225
- return false;
226
- return Object.values(value).every(isPromptVariableValue);
227
- }
228
161
  //# sourceMappingURL=lifecycle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../src/lifecycle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../src/lifecycle.ts"],"names":[],"mappings":"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"}
package/dist/loader.d.ts CHANGED
@@ -1,14 +1,12 @@
1
- import type { LoadedPromptStack, PromptStack, PromptStackDiagnostic } from "./types.ts";
1
+ import type { LoadedPromptStack } from "./types.ts";
2
2
  export { globalPromptStacksDir, isInsideGlobalPromptStackStorage, isInsidePromptStackStorage, isSafeGlobalPromptStackMutationPath, isSafePromptStackMutationPath, legacyPromptStacksDir, promptStackPath, promptStackReadDirs, promptStacksDir, } from "./storage.ts";
3
3
  export { isValidResourceId as isValidPromptStackId } from "./resource-identity.ts";
4
+ export { validatePromptStack } from "./codecs/prompt-stack.ts";
5
+ /** Read project stacks (delegated to the repository read path). */
4
6
  export declare function loadPromptStacks(cwd: string): LoadedPromptStack[];
5
- /**
6
- * Load both global and project prompt stacks. Global definitions are
7
- * user-owned and always load; project definitions load from the trusted
8
- * project directories plus the legacy project directory.
9
- */
7
+ /** Read both global and project stacks (delegated to the repository read path). */
10
8
  export declare function loadPromptStacksScoped(cwd: string, globalDir?: string): LoadedPromptStack[];
11
- /** Load only the user-owned global stacks, used by untrusted projects. */
9
+ /** Read only the user-owned global stacks (delegated to the repository read path). */
12
10
  export declare function loadGlobalPromptStacks(globalDir?: string): LoadedPromptStack[];
13
11
  export declare function chooseDefaultStack(stacks: LoadedPromptStack[], preferredId?: string): LoadedPromptStack | undefined;
14
12
  /**
@@ -20,5 +18,4 @@ export declare function chooseDefaultStack(stacks: LoadedPromptStack[], preferre
20
18
  export declare function chooseAutoActivateStack(stacks: LoadedPromptStack[]): LoadedPromptStack | undefined;
21
19
  export declare function isUsablePromptStack(loaded: LoadedPromptStack): boolean;
22
20
  export declare function isDisabledPromptStackId(id: string | undefined): boolean;
23
- export declare function validatePromptStack(stack: PromptStack): PromptStackDiagnostic[];
24
21
  //# sourceMappingURL=loader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACX,iBAAiB,EAEjB,WAAW,EACX,qBAAqB,EAGrB,MAAM,YAAY,CAAC;AAMpB,OAAO,EACN,qBAAqB,EACrB,gCAAgC,EAChC,0BAA0B,EAC1B,mCAAmC,EACnC,6BAA6B,EAC7B,qBAAqB,EACrB,eAAe,EACf,mBAAmB,EACnB,eAAe,GACf,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,iBAAiB,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAEnF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAIjE;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,GAAE,MAAgC,GAAG,iBAAiB,EAAE,CAOpH;AAED,0EAA0E;AAC1E,wBAAgB,sBAAsB,CAAC,SAAS,GAAE,MAAgC,GAAG,iBAAiB,EAAE,CAIvG;AAiDD,wBAAgB,kBAAkB,CACjC,MAAM,EAAE,iBAAiB,EAAE,EAC3B,WAAW,CAAC,EAAE,MAAM,GAClB,iBAAiB,GAAG,SAAS,CAY/B;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,iBAAiB,EAAE,GAAG,iBAAiB,GAAG,SAAS,CAoBlG;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAEtE;AAED,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAEvE;AAsID,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,WAAW,GAAG,qBAAqB,EAAE,CA2D/E"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,OAAO,EACN,qBAAqB,EACrB,gCAAgC,EAChC,0BAA0B,EAC1B,mCAAmC,EACnC,6BAA6B,EAC7B,qBAAqB,EACrB,eAAe,EACf,mBAAmB,EACnB,eAAe,GACf,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,iBAAiB,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAEnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,mEAAmE;AACnE,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAEjE;AAED,mFAAmF;AACnF,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,GAAE,MAAgC,GAAG,iBAAiB,EAAE,CAEpH;AAED,sFAAsF;AACtF,wBAAgB,sBAAsB,CAAC,SAAS,GAAE,MAAgC,GAAG,iBAAiB,EAAE,CAEvG;AAED,wBAAgB,kBAAkB,CACjC,MAAM,EAAE,iBAAiB,EAAE,EAC3B,WAAW,CAAC,EAAE,MAAM,GAClB,iBAAiB,GAAG,SAAS,CAU/B;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,iBAAiB,EAAE,GAAG,iBAAiB,GAAG,SAAS,CAgBlG;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAEtE;AAED,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAEvE"}