@zihanw/pi-forge 0.5.4 → 0.5.6

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 (237) hide show
  1. package/CHANGELOG.md +83 -0
  2. package/README.md +67 -103
  3. package/README.zh-CN.md +67 -95
  4. package/assets/pi-forge-header-concept-1.png +0 -0
  5. package/assets/readme/PROVENANCE.md +95 -0
  6. package/assets/readme/en/capability-tools.gif +0 -0
  7. package/assets/readme/en/context-composition.gif +0 -0
  8. package/assets/readme/en/context-toggle.gif +0 -0
  9. package/assets/readme/en/draft-diff.png +0 -0
  10. package/assets/readme/en/edit-draft-diff.gif +0 -0
  11. package/assets/readme/en/editor-overview-v3.png +0 -0
  12. package/assets/readme/en/editor-overview.png +0 -0
  13. package/assets/readme/en/mode-tools.gif +0 -0
  14. package/assets/readme/en/regex-transforms.gif +0 -0
  15. package/assets/readme/en/tool-selection.gif +0 -0
  16. package/assets/readme/tui-quickstart.gif +0 -0
  17. package/assets/readme/zh-CN/capability-tools.gif +0 -0
  18. package/assets/readme/zh-CN/context-composition.gif +0 -0
  19. package/assets/readme/zh-CN/context-toggle.gif +0 -0
  20. package/assets/readme/zh-CN/draft-diff.png +0 -0
  21. package/assets/readme/zh-CN/edit-draft-diff.gif +0 -0
  22. package/assets/readme/zh-CN/editor-overview-v3.png +0 -0
  23. package/assets/readme/zh-CN/editor-overview.png +0 -0
  24. package/assets/readme/zh-CN/mode-tools.gif +0 -0
  25. package/assets/readme/zh-CN/regex-transforms.gif +0 -0
  26. package/assets/readme/zh-CN/tool-selection.gif +0 -0
  27. package/dist/active-state.d.ts +148 -0
  28. package/dist/active-state.d.ts.map +1 -0
  29. package/dist/active-state.js +374 -0
  30. package/dist/active-state.js.map +1 -0
  31. package/dist/agent-profile.d.ts +1 -0
  32. package/dist/agent-profile.d.ts.map +1 -1
  33. package/dist/agent-profile.js +20 -14
  34. package/dist/agent-profile.js.map +1 -1
  35. package/dist/capabilities.d.ts +39 -0
  36. package/dist/capabilities.d.ts.map +1 -0
  37. package/dist/capabilities.js +160 -0
  38. package/dist/capabilities.js.map +1 -0
  39. package/dist/capability-anchors.d.ts +45 -0
  40. package/dist/capability-anchors.d.ts.map +1 -0
  41. package/dist/capability-anchors.js +263 -0
  42. package/dist/capability-anchors.js.map +1 -0
  43. package/dist/capability-command.d.ts +4 -0
  44. package/dist/capability-command.d.ts.map +1 -0
  45. package/dist/capability-command.js +164 -0
  46. package/dist/capability-command.js.map +1 -0
  47. package/dist/capability-events.d.ts +79 -0
  48. package/dist/capability-events.d.ts.map +1 -0
  49. package/dist/capability-events.js +478 -0
  50. package/dist/capability-events.js.map +1 -0
  51. package/dist/capability-projection.d.ts +22 -0
  52. package/dist/capability-projection.d.ts.map +1 -0
  53. package/dist/capability-projection.js +273 -0
  54. package/dist/capability-projection.js.map +1 -0
  55. package/dist/capability-protocol.d.ts +21 -0
  56. package/dist/capability-protocol.d.ts.map +1 -0
  57. package/dist/capability-protocol.js +15 -0
  58. package/dist/capability-protocol.js.map +1 -0
  59. package/dist/capability-state.d.ts +74 -0
  60. package/dist/capability-state.d.ts.map +1 -0
  61. package/dist/capability-state.js +43 -0
  62. package/dist/capability-state.js.map +1 -0
  63. package/dist/capability-tool.d.ts +11 -0
  64. package/dist/capability-tool.d.ts.map +1 -0
  65. package/dist/capability-tool.js +25 -0
  66. package/dist/capability-tool.js.map +1 -0
  67. package/dist/capability-web-host.d.ts +11 -0
  68. package/dist/capability-web-host.d.ts.map +1 -0
  69. package/dist/capability-web-host.js +105 -0
  70. package/dist/capability-web-host.js.map +1 -0
  71. package/dist/codecs/capability.d.ts +71 -0
  72. package/dist/codecs/capability.d.ts.map +1 -0
  73. package/dist/codecs/capability.js +363 -0
  74. package/dist/codecs/capability.js.map +1 -0
  75. package/dist/codecs/prompt-stack.d.ts +1 -1
  76. package/dist/codecs/prompt-stack.d.ts.map +1 -1
  77. package/dist/codecs/prompt-stack.js +140 -13
  78. package/dist/codecs/prompt-stack.js.map +1 -1
  79. package/dist/command-contribution/index.d.ts +21 -0
  80. package/dist/command-contribution/index.d.ts.map +1 -0
  81. package/dist/command-contribution/index.js +14 -0
  82. package/dist/command-contribution/index.js.map +1 -0
  83. package/dist/compile-cycle.d.ts +1 -0
  84. package/dist/compile-cycle.d.ts.map +1 -1
  85. package/dist/compile-cycle.js.map +1 -1
  86. package/dist/compiler.d.ts.map +1 -1
  87. package/dist/compiler.js +81 -17
  88. package/dist/compiler.js.map +1 -1
  89. package/dist/forge-command.d.ts +10 -0
  90. package/dist/forge-command.d.ts.map +1 -0
  91. package/dist/forge-command.js +106 -0
  92. package/dist/forge-command.js.map +1 -0
  93. package/dist/index.d.ts +2 -2
  94. package/dist/index.d.ts.map +1 -1
  95. package/dist/index.js +58 -5
  96. package/dist/index.js.map +1 -1
  97. package/dist/json-fingerprint.d.ts +11 -0
  98. package/dist/json-fingerprint.d.ts.map +1 -0
  99. package/dist/json-fingerprint.js +66 -0
  100. package/dist/json-fingerprint.js.map +1 -0
  101. package/dist/lifecycle.d.ts +14 -0
  102. package/dist/lifecycle.d.ts.map +1 -1
  103. package/dist/lifecycle.js +167 -67
  104. package/dist/lifecycle.js.map +1 -1
  105. package/dist/payload-command.d.ts +2 -2
  106. package/dist/payload-command.d.ts.map +1 -1
  107. package/dist/payload-command.js +80 -26
  108. package/dist/payload-command.js.map +1 -1
  109. package/dist/payload-state.d.ts +1 -0
  110. package/dist/payload-state.d.ts.map +1 -1
  111. package/dist/payload-state.js +1 -0
  112. package/dist/payload-state.js.map +1 -1
  113. package/dist/policy.d.ts +2 -1
  114. package/dist/policy.d.ts.map +1 -1
  115. package/dist/policy.js +3 -0
  116. package/dist/policy.js.map +1 -1
  117. package/dist/preset-command.d.ts +1 -0
  118. package/dist/preset-command.d.ts.map +1 -1
  119. package/dist/preset-command.js +94 -36
  120. package/dist/preset-command.js.map +1 -1
  121. package/dist/preview-text.d.ts +5 -0
  122. package/dist/preview-text.d.ts.map +1 -0
  123. package/dist/preview-text.js +27 -0
  124. package/dist/preview-text.js.map +1 -0
  125. package/dist/preview.d.ts +18 -1
  126. package/dist/preview.d.ts.map +1 -1
  127. package/dist/preview.js +132 -97
  128. package/dist/preview.js.map +1 -1
  129. package/dist/profile-command.js +68 -9
  130. package/dist/profile-command.js.map +1 -1
  131. package/dist/regex.d.ts.map +1 -1
  132. package/dist/regex.js +5 -0
  133. package/dist/regex.js.map +1 -1
  134. package/dist/render-helpers.d.ts.map +1 -1
  135. package/dist/render-helpers.js +2 -0
  136. package/dist/render-helpers.js.map +1 -1
  137. package/dist/repositories/capability.d.ts +53 -0
  138. package/dist/repositories/capability.d.ts.map +1 -0
  139. package/dist/repositories/capability.js +294 -0
  140. package/dist/repositories/capability.js.map +1 -0
  141. package/dist/runtime/capability-runtime.d.ts +93 -0
  142. package/dist/runtime/capability-runtime.d.ts.map +1 -0
  143. package/dist/runtime/capability-runtime.js +987 -0
  144. package/dist/runtime/capability-runtime.js.map +1 -0
  145. package/dist/runtime/profile-runtime.d.ts.map +1 -1
  146. package/dist/runtime/profile-runtime.js +10 -9
  147. package/dist/runtime/profile-runtime.js.map +1 -1
  148. package/dist/runtime/prompt-stack-runtime.d.ts +7 -4
  149. package/dist/runtime/prompt-stack-runtime.d.ts.map +1 -1
  150. package/dist/runtime/prompt-stack-runtime.js +47 -11
  151. package/dist/runtime/prompt-stack-runtime.js.map +1 -1
  152. package/dist/runtime/tool-policy-runtime.d.ts +10 -0
  153. package/dist/runtime/tool-policy-runtime.d.ts.map +1 -1
  154. package/dist/runtime/tool-policy-runtime.js +171 -30
  155. package/dist/runtime/tool-policy-runtime.js.map +1 -1
  156. package/dist/session-adapter.d.ts +13 -0
  157. package/dist/session-adapter.d.ts.map +1 -1
  158. package/dist/session-adapter.js +110 -0
  159. package/dist/session-adapter.js.map +1 -1
  160. package/dist/session-usage.d.ts +65 -0
  161. package/dist/session-usage.d.ts.map +1 -0
  162. package/dist/session-usage.js +134 -0
  163. package/dist/session-usage.js.map +1 -0
  164. package/dist/subagent/fingerprints.d.ts +3 -15
  165. package/dist/subagent/fingerprints.d.ts.map +1 -1
  166. package/dist/subagent/fingerprints.js +5 -69
  167. package/dist/subagent/fingerprints.js.map +1 -1
  168. package/dist/subagent/index.d.ts +2 -0
  169. package/dist/subagent/index.d.ts.map +1 -1
  170. package/dist/subagent/index.js +2 -0
  171. package/dist/subagent/index.js.map +1 -1
  172. package/dist/subagent-host.d.ts +2 -2
  173. package/dist/subagent-host.d.ts.map +1 -1
  174. package/dist/subagent-host.js +13 -1
  175. package/dist/subagent-host.js.map +1 -1
  176. package/dist/types.d.ts +6 -1
  177. package/dist/types.d.ts.map +1 -1
  178. package/dist/types.js.map +1 -1
  179. package/dist/web-editor/client-script.generated.d.ts.map +1 -1
  180. package/dist/web-editor/client-script.generated.js +1 -1
  181. package/dist/web-editor/client-script.generated.js.map +1 -1
  182. package/dist/web-editor/client-styles.generated.d.ts.map +1 -1
  183. package/dist/web-editor/client-styles.generated.js +1 -1
  184. package/dist/web-editor/client-styles.generated.js.map +1 -1
  185. package/dist/web-editor/server.d.ts.map +1 -1
  186. package/dist/web-editor/server.js +152 -4
  187. package/dist/web-editor/server.js.map +1 -1
  188. package/dist/web-editor/styles.d.ts.map +1 -1
  189. package/dist/web-editor/styles.js +573 -165
  190. package/dist/web-editor/styles.js.map +1 -1
  191. package/dist/web-editor/types.d.ts +81 -1
  192. package/dist/web-editor/types.d.ts.map +1 -1
  193. package/dist/web-host.d.ts +9 -0
  194. package/dist/web-host.d.ts.map +1 -1
  195. package/dist/web-host.js +210 -11
  196. package/dist/web-host.js.map +1 -1
  197. package/dist/workspace.d.ts +11 -0
  198. package/dist/workspace.d.ts.map +1 -1
  199. package/dist/workspace.js +63 -5
  200. package/dist/workspace.js.map +1 -1
  201. package/docs/README.md +4 -0
  202. package/docs/design/README.md +3 -1
  203. package/docs/design/architecture-0.5.md +22 -0
  204. package/docs/design/archive/2026-09-12-system-update-design.md +229 -0
  205. package/docs/design/pi-forge-system-update-design-notes.md +157 -229
  206. package/docs/development/release.md +20 -20
  207. package/docs/development/roadmap.md +21 -2
  208. package/docs/development/scoped-global-profiles-stacks.md +1 -1
  209. package/docs/development/setup.md +1 -1
  210. package/docs/getting-started.md +1 -1
  211. package/docs/guides/delegation.md +22 -20
  212. package/docs/guides/migrating-to-0.5.md +29 -0
  213. package/docs/guides/use-cases.md +6 -2
  214. package/docs/guides/web-editor.md +74 -5
  215. package/docs/reference/active-state.md +77 -0
  216. package/docs/reference/capabilities.md +259 -0
  217. package/docs/reference/commands.md +52 -24
  218. package/docs/reference/configuration.md +4 -2
  219. package/docs/reference/features.md +70 -4
  220. package/docs/reference/provider-support.md +67 -0
  221. package/docs/reference/public-api.md +49 -3
  222. package/docs/reference/session-cache.md +112 -0
  223. package/docs/reference/stack-schema.md +18 -4
  224. package/docs/reference/subagent-host-port.md +8 -0
  225. package/docs/zh-CN/README.md +3 -0
  226. package/docs/zh-CN/getting-started.md +1 -1
  227. package/docs/zh-CN/guides/delegation.md +22 -10
  228. package/docs/zh-CN/guides/migrating-to-0.5.md +29 -0
  229. package/docs/zh-CN/guides/web-editor.md +75 -7
  230. package/docs/zh-CN/reference/capabilities.md +259 -0
  231. package/docs/zh-CN/reference/commands.md +61 -33
  232. package/docs/zh-CN/reference/provider-support.md +67 -0
  233. package/docs/zh-CN/reference/session-cache.md +112 -0
  234. package/examples/capabilities/review.json +12 -0
  235. package/examples/capabilities/write-tools.json +15 -0
  236. package/examples/read-first-worker-prompt-stack.json +49 -0
  237. package/package.json +16 -9
@@ -1 +1 @@
1
- {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../src/policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,oBAAoB,GAAG,SAAS,GAAG,OAAO,CAEnF;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,oBAAoB,GAAG,SAAS,GAAG,MAAM,EAAE,CASvG;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAE3E;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAQ7E"}
1
+ {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../src/policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEzE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,gBAAgB,GAAG,SAAS,GAAG,OAAO,CAEpF;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,oBAAoB,GAAG,SAAS,GAAG,OAAO,CAEnF;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,oBAAoB,GAAG,SAAS,GAAG,MAAM,EAAE,CASvG;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAE3E;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAQ7E"}
package/dist/policy.js CHANGED
@@ -1,3 +1,6 @@
1
+ export function hasToolSelectionPolicy(policy) {
2
+ return hasResourcePolicy(policy) || Array.isArray(policy?.initial);
3
+ }
1
4
  export function hasResourcePolicy(policy) {
2
5
  return !!policy && (hasEffectiveAllowPolicy(policy.allow) || hasPatterns(policy.deny));
3
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"policy.js","sourceRoot":"","sources":["../src/policy.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,iBAAiB,CAAC,MAAwC;IACzE,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AACxF,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAe,EAAE,MAAwC;IAC5F,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7C,IAAI,uBAAuB,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;QAC5C,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,KAAM,CAAC,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,IAAK,CAAC,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,QAAkB;IACjE,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,IAAY,EAAE,OAAe;IACnE,IAAI,OAAO,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IACjC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,KAAK,OAAO,CAAC;IACpD,MAAM,OAAO,GAAG,OAAO;SACrB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,YAAY,CAAC;SACjB,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,OAAO,IAAI,MAAM,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,WAAW,CAAC,KAA2B;IAC/C,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,uBAAuB,CAAC,KAA2B;IAC3D,OAAO,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,GAAG,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IAClC,OAAO,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACrD,CAAC"}
1
+ {"version":3,"file":"policy.js","sourceRoot":"","sources":["../src/policy.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,sBAAsB,CAAC,MAAoC;IAC1E,OAAO,iBAAiB,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAwC;IACzE,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AACxF,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAe,EAAE,MAAwC;IAC5F,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7C,IAAI,uBAAuB,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;QAC5C,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,KAAM,CAAC,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,IAAK,CAAC,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,QAAkB;IACjE,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,IAAY,EAAE,OAAe;IACnE,IAAI,OAAO,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IACjC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,KAAK,OAAO,CAAC;IACpD,MAAM,OAAO,GAAG,OAAO;SACrB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,YAAY,CAAC;SACjB,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,OAAO,IAAI,MAAM,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,WAAW,CAAC,KAA2B;IAC/C,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,uBAAuB,CAAC,KAA2B;IAC3D,OAAO,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,GAAG,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IAClC,OAAO,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACrD,CAAC"}
@@ -6,6 +6,7 @@ import type { LoadedPromptStack } from "./types.ts";
6
6
  export interface PresetCommandDeps {
7
7
  selectedActiveId(): string | undefined;
8
8
  setActive(id: string | undefined, ctx?: ExtensionCommandContext): boolean;
9
+ lastActivationError?(): string | undefined;
9
10
  reloadStacks(ctx: ExtensionCommandContext, preferredId?: string): Promise<void>;
10
11
  openWebEditor(ctx: ExtensionCommandContext, mode?: "open" | "restart"): Promise<void>;
11
12
  stopWebEditor(ctx: ExtensionCommandContext): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"preset-command.d.ts","sourceRoot":"","sources":["../src/preset-command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAO7F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAE1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,MAAM,WAAW,iBAAiB;IACjC,gBAAgB,IAAI,MAAM,GAAG,SAAS,CAAC;IACvC,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC;IAC1E,YAAY,CAAC,GAAG,EAAE,uBAAuB,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChF,aAAa,CAAC,GAAG,EAAE,uBAAuB,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtF,aAAa,CAAC,GAAG,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,sBAAsB,IAAI,wBAAwB,GAAG,SAAS,CAAC;CAC/D;AAED,wBAAgB,qBAAqB,CACpC,EAAE,EAAE,YAAY,EAChB,SAAS,EAAE,cAAc,EACzB,YAAY,EAAE,iBAAiB,EAC/B,IAAI,EAAE,iBAAiB,GACrB,IAAI,CA+BN;AA6KD,wBAAgB,SAAS,CAAC,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAIpG"}
1
+ {"version":3,"file":"preset-command.d.ts","sourceRoot":"","sources":["../src/preset-command.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAO7F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAE1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,MAAM,WAAW,iBAAiB;IACjC,gBAAgB,IAAI,MAAM,GAAG,SAAS,CAAC;IACvC,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC;IAC1E,mBAAmB,CAAC,IAAI,MAAM,GAAG,SAAS,CAAC;IAC3C,YAAY,CAAC,GAAG,EAAE,uBAAuB,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChF,aAAa,CAAC,GAAG,EAAE,uBAAuB,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtF,aAAa,CAAC,GAAG,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,sBAAsB,IAAI,wBAAwB,GAAG,SAAS,CAAC;CAC/D;AAED,wBAAgB,qBAAqB,CACpC,EAAE,EAAE,YAAY,EAChB,SAAS,EAAE,cAAc,EACzB,YAAY,EAAE,iBAAiB,EAC/B,IAAI,EAAE,iBAAiB,GACrB,IAAI,CAQN;AA0PD,wBAAgB,SAAS,CAAC,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAIpG"}
@@ -1,3 +1,4 @@
1
+ import { handleForgeUi } from "./forge-command.js";
1
2
  import { isDisabledPromptStackId, promptStackReadDirs } from "./loader.js";
2
3
  import { resolveResourceSelector } from "./catalog.js";
3
4
  import { formatResourceKey, parseResourceSelector } from "./resource-identity.js";
@@ -7,58 +8,78 @@ import { forgeExtensionsDir, globalForgeExtensionsDir } from "./storage.js";
7
8
  import { promptCacheWarningForStackSwitch } from "./prompt-cache-warning.js";
8
9
  export function registerPresetCommand(pi, workspace, compileCycle, deps) {
9
10
  pi.registerCommand("preset", {
10
- description: "Manage pi-forge presets: list, use, preview, validate, reload, ui",
11
- getArgumentCompletions: (prefix) => {
12
- const parts = prefix.trimStart().split(/\s+/);
13
- if (parts.length <= 1 && !prefix.endsWith(" ")) {
14
- const commands = ["list", "use", "preview", "validate", "diagnostics", "reload", "status", "migrate-stacks", "ui"];
15
- return commands.filter((cmd) => cmd.startsWith(parts[0] ?? "")).map((cmd) => ({ value: cmd, label: cmd }));
16
- }
17
- const first = parts[0];
18
- if (["use", "preview", "validate"].includes(first)) {
19
- const fragment = parts[1] ?? "";
20
- const ids = ["none", ...stackSelectorCandidates(workspace)];
21
- return ids.filter((id) => id.startsWith(fragment)).map((id) => ({ value: `${first} ${id}`, label: id }));
22
- }
23
- if (first === "ui" && parts.length <= 2) {
24
- const fragment = parts[1] ?? "";
25
- const subs = ["stop", "restart"];
26
- return subs.filter((s) => s.startsWith(fragment)).map((s) => ({ value: `ui ${s}`, label: s }));
27
- }
28
- if (first === "migrate-stacks") {
29
- const fragment = parts[parts.length - 1] ?? "";
30
- const flags = ["--dry-run", "--overwrite", "--delete-legacy"];
31
- return flags.filter((flag) => flag.startsWith(fragment)).map((flag) => ({ value: `${parts.slice(0, -1).join(" ")} ${flag}`.trim(), label: flag }));
32
- }
33
- return null;
34
- },
11
+ description: "Manage pi-forge presets: list, use, preview, validate, reload, ui, help",
12
+ getArgumentCompletions: (prefix) => presetArgumentCompletions(workspace, prefix),
35
13
  handler: async (args, ctx) => {
36
14
  await handlePresetCommand(workspace, compileCycle, deps, args, ctx);
37
15
  },
38
16
  });
39
17
  }
18
+ function presetArgumentCompletions(workspace, prefix) {
19
+ const parts = prefix.trimStart().split(/\s+/);
20
+ if (parts.length <= 1 && !prefix.endsWith(" ")) {
21
+ const commands = ["list", "use", "preview", "validate", "diagnostics", "reload", "status", "migrate-stacks", "ui", "help"];
22
+ return commands.filter((cmd) => cmd.startsWith(parts[0] ?? "")).map((cmd) => ({ value: cmd, label: cmd }));
23
+ }
24
+ const first = parts[0];
25
+ if (["use", "preview", "validate"].includes(first)) {
26
+ if (parts.length > 2)
27
+ return [];
28
+ const fragment = parts[1] ?? "";
29
+ const ids = stackSelectorCandidates(workspace, fragment, first === "use");
30
+ return ids.filter((id) => id.startsWith(fragment)).map((id) => ({ value: `${first} ${id}`, label: id }));
31
+ }
32
+ if (first === "ui") {
33
+ if (parts.length > 2)
34
+ return [];
35
+ const fragment = parts[1] ?? "";
36
+ const subs = ["stop", "restart", "help"];
37
+ return subs.filter((s) => s.startsWith(fragment)).map((s) => ({ value: `ui ${s}`, label: s }));
38
+ }
39
+ if (first === "migrate-stacks") {
40
+ if (parts.length > 2 && parts.some((part, index) => index > 0 && part !== "" && !part.startsWith("--")))
41
+ return [];
42
+ const fragment = parts.at(-1) ?? "";
43
+ const flags = ["--dry-run", "--overwrite", "--delete-legacy"];
44
+ return flags.filter((flag) => flag.startsWith(fragment) && !parts.slice(1, -1).includes(flag))
45
+ .map((flag) => ({ value: `${parts.slice(0, -1).join(" ")} ${flag}`.trim(), label: flag }));
46
+ }
47
+ return [];
48
+ }
40
49
  async function handlePresetCommand(workspace, compileCycle, deps, args, ctx) {
41
50
  const trimmed = args.trim();
42
51
  const [command = "list", ...rest] = trimmed ? trimmed.split(/\s+/) : ["list"];
43
52
  switch (command) {
53
+ case "help":
54
+ if (rest.length) {
55
+ ctx.ui.notify("Usage: /preset help", "warning");
56
+ return;
57
+ }
58
+ await showText(ctx, "pi-forge preset help", presetHelp());
59
+ return;
44
60
  case "list":
45
61
  case "status":
62
+ if (rest.length) {
63
+ ctx.ui.notify(`Usage: /preset ${command}`, "warning");
64
+ return;
65
+ }
46
66
  await showText(ctx, "pi-forge presets", renderStackList(workspace, ctx));
47
67
  return;
48
68
  case "reload":
69
+ if (rest.length) {
70
+ ctx.ui.notify("Usage: /preset reload", "warning");
71
+ return;
72
+ }
49
73
  await deps.reloadStacks(ctx, deps.selectedActiveId());
50
74
  ctx.ui.notify(`pi-forge: reloaded ${workspace.snapshot().stacks.length} preset(s).`, "info");
51
75
  return;
52
- case "ui": {
53
- const sub = rest[0];
54
- if (sub === "stop") {
55
- await deps.stopWebEditor(ctx);
76
+ case "ui":
77
+ return handleForgeUi(rest.join(" "), ctx, deps, "/preset ui");
78
+ case "use": {
79
+ if (rest.length !== 1) {
80
+ ctx.ui.notify("Usage: /preset use <id|none|off|project:id|global:id>", "warning");
56
81
  return;
57
82
  }
58
- await deps.openWebEditor(ctx, sub === "restart" ? "restart" : "open");
59
- return;
60
- }
61
- case "use": {
62
83
  const id = rest[0];
63
84
  if (!id) {
64
85
  ctx.ui.notify("Usage: /preset use <id|none|project:id|global:id>", "warning");
@@ -74,7 +95,8 @@ async function handlePresetCommand(workspace, compileCycle, deps, args, ctx) {
74
95
  ? promptCacheWarningForStackSwitch(current, next, compileCycle, deps.latestContextDiffUsage())
75
96
  : undefined;
76
97
  if (!deps.setActive(id, ctx)) {
77
- ctx.ui.notify(`Unknown preset: ${id}`, "error");
98
+ const error = deps.lastActivationError?.() ?? `Unknown preset: ${id}`;
99
+ ctx.ui.notify(error, "error");
78
100
  return;
79
101
  }
80
102
  const active = workspace.snapshot().active;
@@ -84,6 +106,10 @@ async function handlePresetCommand(workspace, compileCycle, deps, args, ctx) {
84
106
  return;
85
107
  }
86
108
  case "preview": {
109
+ if (rest.length > 1) {
110
+ ctx.ui.notify("Usage: /preset preview [id|project:id|global:id]", "warning");
111
+ return;
112
+ }
87
113
  const target = rest[0] ? findStack(workspace, rest[0]) : workspace.snapshot().active;
88
114
  if (!target) {
89
115
  ctx.ui.notify(rest[0] ? `Unknown preset: ${rest[0]}` : "No active preset.", "warning");
@@ -93,6 +119,10 @@ async function handlePresetCommand(workspace, compileCycle, deps, args, ctx) {
93
119
  return;
94
120
  }
95
121
  case "validate": {
122
+ if (rest.length > 1) {
123
+ ctx.ui.notify("Usage: /preset validate [id|project:id|global:id]", "warning");
124
+ return;
125
+ }
96
126
  const target = rest[0] ? findStack(workspace, rest[0]) : workspace.snapshot().active;
97
127
  if (!target) {
98
128
  ctx.ui.notify(rest[0] ? `Unknown preset: ${rest[0]}` : "No active preset.", "warning");
@@ -102,11 +132,20 @@ async function handlePresetCommand(workspace, compileCycle, deps, args, ctx) {
102
132
  return;
103
133
  }
104
134
  case "diagnostics": {
135
+ if (rest.length) {
136
+ ctx.ui.notify("Usage: /preset diagnostics", "warning");
137
+ return;
138
+ }
105
139
  await showText(ctx, "pi-forge diagnostics", renderCurrentDiagnostics(workspace, compileCycle));
106
140
  return;
107
141
  }
108
142
  case "migrate-stacks": {
143
+ const allowedFlags = new Set(["--dry-run", "--overwrite", "--delete-legacy"]);
109
144
  const flags = new Set(rest);
145
+ if (flags.size !== rest.length || rest.some((flag) => !allowedFlags.has(flag))) {
146
+ ctx.ui.notify("Usage: /preset migrate-stacks [--dry-run] [--overwrite] [--delete-legacy]", "warning");
147
+ return;
148
+ }
110
149
  const dryRun = flags.has("--dry-run");
111
150
  if (!ctx.isProjectTrusted() && !dryRun) {
112
151
  ctx.ui.notify("pi-forge: project is not trusted; refusing to migrate presets.", "warning");
@@ -172,7 +211,7 @@ function renderCurrentDiagnostics(workspace, compileCycle) {
172
211
  lines.push(renderDiagnostics(compileCycle.latestCompileDiagnostics));
173
212
  return lines.join("\n");
174
213
  }
175
- function stackSelectorCandidates(workspace) {
214
+ function stackSelectorCandidates(workspace, fragment = "", includeDisabled = false) {
176
215
  const stacks = workspace.snapshot().stacks;
177
216
  const collidingIds = new Set();
178
217
  const byId = new Map();
@@ -183,11 +222,30 @@ function stackSelectorCandidates(workspace) {
183
222
  collidingIds.add(loaded.stack.id);
184
223
  }
185
224
  const candidates = [];
225
+ const wantsScope = fragment.includes(":");
186
226
  for (const loaded of stacks) {
187
- candidates.push(collidingIds.has(loaded.stack.id) ? formatResourceKey(loaded.key) : loaded.stack.id);
227
+ const qualified = formatResourceKey(loaded.key);
228
+ if (wantsScope || collidingIds.has(loaded.stack.id))
229
+ candidates.push(qualified);
230
+ else
231
+ candidates.push(loaded.stack.id);
188
232
  }
233
+ if (includeDisabled && !wantsScope)
234
+ candidates.push("none", "off");
189
235
  return [...new Set(candidates)].sort();
190
236
  }
237
+ function presetHelp() {
238
+ return [
239
+ "Usage:",
240
+ " /preset list | status | use <id|none|off|project:id|global:id>",
241
+ " /preset preview [id] | validate [id] | diagnostics | reload",
242
+ " /preset migrate-stacks [--dry-run] [--overwrite] [--delete-legacy]",
243
+ " /preset ui [stop|restart] | help",
244
+ "",
245
+ "validate without an ID checks the active preset only. preview without an ID previews the active preset.",
246
+ "Completions use the current workspace snapshot; /preset reload explicitly refreshes preset definitions.",
247
+ ].join("\n");
248
+ }
191
249
  export function findStack(workspace, selector) {
192
250
  const parsed = parseResourceSelector(selector);
193
251
  if (!parsed.ok)
@@ -1 +1 @@
1
- {"version":3,"file":"preset-command.js","sourceRoot":"","sources":["../src/preset-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"preset-command.js","sourceRoot":"","sources":["../src/preset-command.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { WebEditorPreviewSection } from "./web-editor/types.ts";
2
+ export declare function isTrulyEmptySystemSection(section: WebEditorPreviewSection): boolean;
3
+ /** Concatenates actual body + non-null section values only (no pseudo headers/tool metadata). */
4
+ export declare function previewSectionText(section: WebEditorPreviewSection): string;
5
+ //# sourceMappingURL=preview-text.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preview-text.d.ts","sourceRoot":"","sources":["../src/preview-text.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAErE,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAWnF;AAED,iGAAiG;AACjG,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,uBAAuB,GAAG,MAAM,CAa3E"}
@@ -0,0 +1,27 @@
1
+ export function isTrulyEmptySystemSection(section) {
2
+ const isSystem = section.id === "system" || section.role === "system";
3
+ if (!isSystem)
4
+ return false;
5
+ const hasContent = Boolean(section.content && section.content.length > 0);
6
+ const hasSections = Boolean(section.sections && Object.keys(section.sections).length > 0);
7
+ const hasToolChanges = Boolean(section.toolChanges &&
8
+ ((section.toolChanges.added && section.toolChanges.added.length > 0) ||
9
+ (section.toolChanges.removed && section.toolChanges.removed.length > 0)));
10
+ return !hasContent && !hasSections && !hasToolChanges;
11
+ }
12
+ /** Concatenates actual body + non-null section values only (no pseudo headers/tool metadata). */
13
+ export function previewSectionText(section) {
14
+ const parts = [];
15
+ if (section.content && section.content.length > 0) {
16
+ parts.push(section.content);
17
+ }
18
+ if (section.sections) {
19
+ for (const val of Object.values(section.sections)) {
20
+ if (typeof val === "string" && val.length > 0) {
21
+ parts.push(val);
22
+ }
23
+ }
24
+ }
25
+ return parts.join("\n\n");
26
+ }
27
+ //# sourceMappingURL=preview-text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preview-text.js","sourceRoot":"","sources":["../src/preview-text.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,yBAAyB,CAAC,OAAgC;IACzE,MAAM,QAAQ,GAAG,OAAO,CAAC,EAAE,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC;IACtE,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5B,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC1E,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC1F,MAAM,cAAc,GAAG,OAAO,CAC7B,OAAO,CAAC,WAAW;QACnB,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,IAAI,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;YACnE,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CACzE,CAAC;IACF,OAAO,CAAC,UAAU,IAAI,CAAC,WAAW,IAAI,CAAC,cAAc,CAAC;AACvD,CAAC;AAED,iGAAiG;AACjG,MAAM,UAAU,kBAAkB,CAAC,OAAgC;IAClE,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/C,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,CAAC;QACF,CAAC;IACF,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC3B,CAAC"}
package/dist/preview.d.ts CHANGED
@@ -1,7 +1,24 @@
1
- import type { ExtensionCommandContext, ExtensionContext } from "@earendil-works/pi-coding-agent";
1
+ import { type ExtensionCommandContext, type ExtensionContext } from "@earendil-works/pi-coding-agent";
2
2
  import type { LoadedPromptStack, PromptCompileOptions, PromptStackDiagnostic } from "./types.ts";
3
3
  import type { WebEditorPreview } from "./web-editor/index.ts";
4
+ /**
5
+ * Render preview for a prompt stack against current session context.
6
+ * Evaluates the selected draft against current session capability snapshots without
7
+ * mutating runtime state, applying tool policy, or marking preparation.
8
+ */
4
9
  export declare function renderPreview(ctx: ExtensionCommandContext, target: LoadedPromptStack): string;
10
+ /**
11
+ * Build a structured preview and text rendering for a prompt stack.
12
+ *
13
+ * Evaluates the selected draft against current session capability snapshots:
14
+ * 1. Restores compaction base System and Pi base prompt.
15
+ * 2. Matches live compile -> base projection -> capability projection ordering.
16
+ * 3. Fails closed for active capabilities when project is untrusted.
17
+ * 4. Preserves untouched message provenance and labels synthesized updates.
18
+ * 5. Avoids duplicating leading compiled base between preview.system and preview.messages.
19
+ * 6. Separates actual text from named-section operations and historical tool declarations.
20
+ * Pure and non-mutating: zero persistence, tool sync, or model inference side effects.
21
+ */
5
22
  export declare function buildPreview(ctx: ExtensionContext, target: LoadedPromptStack, options: PromptCompileOptions): {
6
23
  text: string;
7
24
  preview: WebEditorPreview;
@@ -1 +1 @@
1
- {"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../src/preview.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAUjG,OAAO,KAAK,EAAwB,iBAAiB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACvH,OAAO,KAAK,EAAE,gBAAgB,EAA2B,MAAM,uBAAuB,CAAC;AAEvF,wBAAgB,aAAa,CAC5B,GAAG,EAAE,uBAAuB,EAC5B,MAAM,EAAE,iBAAiB,GACvB,MAAM,CAER;AAED,wBAAgB,YAAY,CAC3B,GAAG,EAAE,gBAAgB,EACrB,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,oBAAoB,GAC3B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,gBAAgB,CAAC;IAAC,WAAW,EAAE,qBAAqB,EAAE,CAAA;CAAE,CA0EnF;AAiKD,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,qBAAqB,EAAE,GAAG,MAAM,CAG9E;AAED,wBAAsB,QAAQ,CAAC,GAAG,EAAE,uBAAuB,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMvG"}
1
+ {"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../src/preview.ts"],"names":[],"mappings":"AACA,OAAO,EAEN,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,EAErB,MAAM,iCAAiC,CAAC;AAsBzC,OAAO,KAAK,EAAwB,iBAAiB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACvH,OAAO,KAAK,EAAE,gBAAgB,EAA2B,MAAM,uBAAuB,CAAC;AAEvF;;;;GAIG;AACH,wBAAgB,aAAa,CAC5B,GAAG,EAAE,uBAAuB,EAC5B,MAAM,EAAE,iBAAiB,GACvB,MAAM,CAER;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAC3B,GAAG,EAAE,gBAAgB,EACrB,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,oBAAoB,GAC3B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,gBAAgB,CAAC;IAAC,WAAW,EAAE,qBAAqB,EAAE,CAAA;CAAE,CAwHnF;AAgHD,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,qBAAqB,EAAE,GAAG,MAAM,CAG9E;AAED,wBAAsB,QAAQ,CAAC,GAAG,EAAE,uBAAuB,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMvG"}