@zihanw/pi-forge 0.4.0-beta.1 → 0.4.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 (186) hide show
  1. package/CHANGELOG.md +37 -1
  2. package/PUBLIC_API.md +3 -26
  3. package/README.md +90 -601
  4. package/README.zh-CN.md +86 -585
  5. package/SUBAGENT_ADAPTER_CONTRACT.md +3 -197
  6. package/dist/forge-config.d.ts +80 -0
  7. package/dist/forge-config.d.ts.map +1 -1
  8. package/dist/forge-config.js +268 -18
  9. package/dist/forge-config.js.map +1 -1
  10. package/dist/index.d.ts +1 -4
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +29 -4
  13. package/dist/index.js.map +1 -1
  14. package/dist/lifecycle.js +1 -1
  15. package/dist/profile-service.d.ts +1 -1
  16. package/dist/profile-service.d.ts.map +1 -1
  17. package/dist/profile-service.js +10 -5
  18. package/dist/profile-service.js.map +1 -1
  19. package/dist/runtime/subagent-runtime.d.ts +23 -8
  20. package/dist/runtime/subagent-runtime.d.ts.map +1 -1
  21. package/dist/runtime/subagent-runtime.js +283 -62
  22. package/dist/runtime/subagent-runtime.js.map +1 -1
  23. package/dist/storage.d.ts +1 -0
  24. package/dist/storage.d.ts.map +1 -1
  25. package/dist/storage.js +15 -1
  26. package/dist/storage.js.map +1 -1
  27. package/dist/subagent/canonical.d.ts +19 -7
  28. package/dist/subagent/canonical.d.ts.map +1 -1
  29. package/dist/subagent/canonical.js +19 -47
  30. package/dist/subagent/canonical.js.map +1 -1
  31. package/dist/subagent/contract.d.ts +1 -2
  32. package/dist/subagent/contract.d.ts.map +1 -1
  33. package/dist/subagent/contract.js +1 -2
  34. package/dist/subagent/contract.js.map +1 -1
  35. package/dist/subagent/index.d.ts +4 -3
  36. package/dist/subagent/index.d.ts.map +1 -1
  37. package/dist/subagent/index.js +4 -3
  38. package/dist/subagent/index.js.map +1 -1
  39. package/dist/subagent/plan.d.ts +5 -1
  40. package/dist/subagent/plan.d.ts.map +1 -1
  41. package/dist/subagent/plan.js +28 -31
  42. package/dist/subagent/plan.js.map +1 -1
  43. package/dist/subagent/types.d.ts +62 -178
  44. package/dist/subagent/types.d.ts.map +1 -1
  45. package/dist/subagent/types.js +1 -1
  46. package/dist/subagent/types.js.map +1 -1
  47. package/dist/subagent/validation.d.ts +14 -14
  48. package/dist/subagent/validation.d.ts.map +1 -1
  49. package/dist/subagent/validation.js +52 -238
  50. package/dist/subagent/validation.js.map +1 -1
  51. package/dist/subagent-command.d.ts.map +1 -1
  52. package/dist/subagent-command.js +109 -16
  53. package/dist/subagent-command.js.map +1 -1
  54. package/dist/subagent-host.d.ts.map +1 -1
  55. package/dist/subagent-host.js +1 -0
  56. package/dist/subagent-host.js.map +1 -1
  57. package/dist/subagent-profile-tool.d.ts +25 -2
  58. package/dist/subagent-profile-tool.d.ts.map +1 -1
  59. package/dist/subagent-profile-tool.js +39 -8
  60. package/dist/subagent-profile-tool.js.map +1 -1
  61. package/dist/subagent-tool.d.ts +6 -3
  62. package/dist/subagent-tool.d.ts.map +1 -1
  63. package/dist/subagent-tool.js +85 -14
  64. package/dist/subagent-tool.js.map +1 -1
  65. package/dist/web-editor/client-script.generated.d.ts +1 -1
  66. package/dist/web-editor/client-script.generated.d.ts.map +1 -1
  67. package/dist/web-editor/client-script.generated.js +1 -1
  68. package/dist/web-editor/client-script.generated.js.map +1 -1
  69. package/dist/web-editor/client-styles.d.ts +2 -0
  70. package/dist/web-editor/client-styles.d.ts.map +1 -0
  71. package/dist/web-editor/client-styles.generated.d.ts +2 -0
  72. package/dist/web-editor/client-styles.generated.d.ts.map +1 -0
  73. package/dist/web-editor/client-styles.generated.js +3 -0
  74. package/dist/web-editor/client-styles.generated.js.map +1 -0
  75. package/dist/web-editor/client-styles.js +2 -0
  76. package/dist/web-editor/client-styles.js.map +1 -0
  77. package/dist/web-editor/page.d.ts +2 -0
  78. package/dist/web-editor/page.d.ts.map +1 -1
  79. package/dist/web-editor/page.js +11 -73
  80. package/dist/web-editor/page.js.map +1 -1
  81. package/dist/web-editor/server.d.ts.map +1 -1
  82. package/dist/web-editor/server.js +148 -0
  83. package/dist/web-editor/server.js.map +1 -1
  84. package/dist/web-editor/styles.d.ts.map +1 -1
  85. package/dist/web-editor/styles.js +60 -3
  86. package/dist/web-editor/styles.js.map +1 -1
  87. package/dist/web-editor/types.d.ts +79 -0
  88. package/dist/web-editor/types.d.ts.map +1 -1
  89. package/dist/web-host.d.ts +13 -2
  90. package/dist/web-host.d.ts.map +1 -1
  91. package/dist/web-host.js +301 -0
  92. package/dist/web-host.js.map +1 -1
  93. package/docs/README.md +41 -0
  94. package/docs/concepts/agent-profiles.md +60 -0
  95. package/docs/concepts/prompt-stacks.md +90 -0
  96. package/docs/design/README.md +17 -0
  97. package/docs/design/roadmap-0.4-archive.md +216 -0
  98. package/docs/design/subagents/design-review.md +220 -0
  99. package/docs/design/subagents/interface-design.md +274 -0
  100. package/docs/design/subagents/sdk-spike-findings.md +117 -0
  101. package/docs/development/complexity-review.md +86 -0
  102. package/docs/development/release.md +31 -0
  103. package/docs/development/roadmap.md +42 -0
  104. package/docs/development/setup.md +75 -0
  105. package/docs/getting-started.md +93 -0
  106. package/docs/guides/custom-macros-and-slots.md +68 -0
  107. package/docs/guides/debugging.md +39 -0
  108. package/docs/guides/delegation.md +99 -0
  109. package/docs/guides/sillytavern-import.md +47 -0
  110. package/docs/guides/use-cases.md +65 -0
  111. package/docs/guides/web-editor.md +75 -0
  112. package/docs/reference/commands.md +60 -0
  113. package/docs/reference/configuration.md +64 -0
  114. package/docs/reference/features.md +279 -0
  115. package/docs/reference/macros-and-slots.md +82 -0
  116. package/docs/reference/public-api.md +28 -0
  117. package/docs/reference/stack-schema.md +167 -0
  118. package/docs/reference/subagent-adapter.md +204 -0
  119. package/docs/zh-CN/README.md +37 -0
  120. package/docs/zh-CN/concepts/agent-profiles.md +44 -0
  121. package/docs/zh-CN/concepts/prompt-stacks.md +40 -0
  122. package/docs/zh-CN/getting-started.md +79 -0
  123. package/docs/zh-CN/guides/delegation.md +66 -0
  124. package/docs/zh-CN/guides/web-editor.md +45 -0
  125. package/docs/zh-CN/reference/commands.md +58 -0
  126. package/package.json +28 -14
  127. package/dist/subagent/backend-registry.d.ts +0 -75
  128. package/dist/subagent/backend-registry.d.ts.map +0 -1
  129. package/dist/subagent/backend-registry.js +0 -463
  130. package/dist/subagent/backend-registry.js.map +0 -1
  131. package/dist/subagent/diagnostics.d.ts +0 -3
  132. package/dist/subagent/diagnostics.d.ts.map +0 -1
  133. package/dist/subagent/diagnostics.js +0 -5
  134. package/dist/subagent/diagnostics.js.map +0 -1
  135. package/dist/subagent/pi-model-runtime.d.ts +0 -8
  136. package/dist/subagent/pi-model-runtime.d.ts.map +0 -1
  137. package/dist/subagent/pi-model-runtime.js +0 -22
  138. package/dist/subagent/pi-model-runtime.js.map +0 -1
  139. package/dist/subagent/pi-sdk-backend.d.ts +0 -23
  140. package/dist/subagent/pi-sdk-backend.d.ts.map +0 -1
  141. package/dist/subagent/pi-sdk-backend.js +0 -383
  142. package/dist/subagent/pi-sdk-backend.js.map +0 -1
  143. package/dist/subagent/pi-subprocess-backend.d.ts +0 -72
  144. package/dist/subagent/pi-subprocess-backend.d.ts.map +0 -1
  145. package/dist/subagent/pi-subprocess-backend.js +0 -756
  146. package/dist/subagent/pi-subprocess-backend.js.map +0 -1
  147. package/dist/subagent/subprocess-bridge.d.ts +0 -21
  148. package/dist/subagent/subprocess-bridge.d.ts.map +0 -1
  149. package/dist/subagent/subprocess-bridge.js +0 -87
  150. package/dist/subagent/subprocess-bridge.js.map +0 -1
  151. package/dist/subagent/subprocess-report.d.ts +0 -4
  152. package/dist/subagent/subprocess-report.d.ts.map +0 -1
  153. package/dist/subagent/subprocess-report.js +0 -55
  154. package/dist/subagent/subprocess-report.js.map +0 -1
  155. package/dist/subagent-contract.d.ts +0 -8
  156. package/dist/subagent-contract.d.ts.map +0 -1
  157. package/dist/subagent-contract.js +0 -8
  158. package/dist/subagent-contract.js.map +0 -1
  159. package/dist/web-editor/client/api.d.ts +0 -9
  160. package/dist/web-editor/client/api.d.ts.map +0 -1
  161. package/dist/web-editor/client/api.js +0 -26
  162. package/dist/web-editor/client/api.js.map +0 -1
  163. package/dist/web-editor/client/dom.d.ts +0 -13
  164. package/dist/web-editor/client/dom.d.ts.map +0 -1
  165. package/dist/web-editor/client/dom.js +0 -30
  166. package/dist/web-editor/client/dom.js.map +0 -1
  167. package/dist/web-editor/client/inspector.d.ts +0 -22
  168. package/dist/web-editor/client/inspector.d.ts.map +0 -1
  169. package/dist/web-editor/client/inspector.js +0 -226
  170. package/dist/web-editor/client/inspector.js.map +0 -1
  171. package/dist/web-editor/client/main.d.ts +0 -2
  172. package/dist/web-editor/client/main.d.ts.map +0 -1
  173. package/dist/web-editor/client/main.js +0 -1468
  174. package/dist/web-editor/client/main.js.map +0 -1
  175. package/dist/web-editor/client/policy-editor.d.ts +0 -16
  176. package/dist/web-editor/client/policy-editor.d.ts.map +0 -1
  177. package/dist/web-editor/client/policy-editor.js +0 -330
  178. package/dist/web-editor/client/policy-editor.js.map +0 -1
  179. package/dist/web-editor/client/regex-editor.d.ts +0 -19
  180. package/dist/web-editor/client/regex-editor.d.ts.map +0 -1
  181. package/dist/web-editor/client/regex-editor.js +0 -281
  182. package/dist/web-editor/client/regex-editor.js.map +0 -1
  183. package/dist/web-editor/client/types.d.ts +0 -60
  184. package/dist/web-editor/client/types.d.ts.map +0 -1
  185. package/dist/web-editor/client/types.js +0 -2
  186. package/dist/web-editor/client/types.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"client-script.generated.js","sourceRoot":"","sources":["../../src/web-editor/client-script.generated.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,MAAM,CAAC,MAAM,oBAAoB,GAAG,8gtGAA8gtG,CAAC"}
1
+ {"version":3,"file":"client-script.generated.js","sourceRoot":"","sources":["../../src/web-editor/client-script.generated.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,MAAM,CAAC,MAAM,oBAAoB,GAAW,owtXAAowtX,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { EDITOR_CLIENT_STYLES } from "./client-styles.generated.ts";
2
+ //# sourceMappingURL=client-styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-styles.d.ts","sourceRoot":"","sources":["../../src/web-editor/client-styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const EDITOR_CLIENT_STYLES: string;
2
+ //# sourceMappingURL=client-styles.generated.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-styles.generated.d.ts","sourceRoot":"","sources":["../../src/web-editor/client-styles.generated.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,oBAAoB,EAAE,MAA8/S,CAAC"}
@@ -0,0 +1,3 @@
1
+ // Generated by scripts/build-web-client.mjs. Do not edit.
2
+ export const EDITOR_CLIENT_STYLES = "\n.delegation-status[data-v-ab400c27] {\n\tfont-size: 13px;\n\tcolor: var(--muted);\n}\n.delegation-status.ready[data-v-ab400c27] {\n\tcolor: var(--success);\n}\n.delegation-dirty[data-v-ab400c27] {\n\tmargin-left: 8px;\n\tborder: 1px solid var(--warning);\n\tborder-radius: 999px;\n\tpadding: 1px 8px;\n\tbackground: var(--warning-bg);\n\tcolor: var(--warning);\n\tfont-size: 11px;\n\tfont-weight: 500;\n}\n.delegation-warning[data-v-ab400c27] {\n\tmargin-top: 8px;\n\tborder: 1px solid var(--warning);\n\tborder-radius: 6px;\n\tpadding: 6px 10px;\n\tbackground: var(--warning-bg);\n\tcolor: var(--warning);\n\tfont-size: 12px;\n}\n.delegation-form[data-v-ab400c27] {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 12px;\n\tmargin-top: 12px;\n}\n.delegation-check[data-v-ab400c27] {\n\tdisplay: flex;\n\talign-items: flex-start;\n\tgap: 8px;\n\tpadding: 10px;\n\tborder: 1px solid var(--line);\n\tborder-radius: 6px;\n\tbackground: var(--pane-soft);\n}\n.delegation-check input[data-v-ab400c27] {\n\twidth: auto;\n\tmargin-top: 3px;\n}\n.delegation-check span[data-v-ab400c27] {\n\tdisplay: flex;\n\tflex-direction: column;\n}\n.delegation-field[data-v-ab400c27] {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 5px;\n\tmax-width: 480px;\n}\n.delegation-field > span[data-v-ab400c27] {\n\tfont-weight: 650;\n}\n.delegation-field small[data-v-ab400c27],\n.delegation-check small[data-v-ab400c27] {\n\tdisplay: block;\n\tcolor: var(--muted);\n\tfont-size: 12px;\n}\n.delegation-actions[data-v-ab400c27] {\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 10px;\n}\n.delegation-error[data-v-ab400c27] {\n\tcolor: var(--error);\n\tfont-size: 12px;\n}\n.delegation-note[data-v-ab400c27] {\n\tmargin-top: 12px;\n\tcolor: var(--muted);\n\tfont-size: 12px;\n}\n\n.profile-editor[data-v-64ce7038] {\n\tmax-width: 1050px;\n}\n.profile-editor-head[data-v-64ce7038] {\n\tdisplay: flex;\n\talign-items: center;\n\tflex-wrap: wrap;\n\tgap: 8px;\n\tpadding-bottom: 12px;\n\tborder-bottom: 1px solid var(--line);\n}\n.profile-editor-title[data-v-64ce7038] {\n\tfont-size: 18px;\n\tfont-weight: 700;\n}\n.profile-editor-note[data-v-64ce7038],\n.profile-field small[data-v-64ce7038] {\n\tdisplay: block;\n\tcolor: var(--muted);\n\tfont-size: 12px;\n}\n.profile-form[data-v-64ce7038] {\n\tdisplay: grid;\n\tgrid-template-columns: repeat(2, minmax(0, 1fr));\n\tgap: 14px;\n\tmargin-top: 14px;\n}\n.profile-field[data-v-64ce7038] {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 5px;\n\tmin-width: 0;\n}\n.profile-field > span[data-v-64ce7038] {\n\tfont-weight: 650;\n}\n.profile-field-wide[data-v-64ce7038] {\n\tgrid-column: 1 / -1;\n}\n.profile-field textarea[data-v-64ce7038] {\n\tmin-height: 90px;\n}\n.profile-field-warning[data-v-64ce7038] {\n\tcolor: var(--warning) !important;\n}\n.profile-check[data-v-64ce7038] {\n\tdisplay: flex;\n\talign-items: flex-start;\n\tgap: 8px;\n\tpadding: 10px;\n\tborder: 1px solid var(--line);\n\tborder-radius: 6px;\n\tbackground: var(--pane-soft);\n}\n.profile-check input[data-v-64ce7038] {\n\twidth: auto;\n\tmargin-top: 3px;\n}\n.profile-check span[data-v-64ce7038] {\n\tdisplay: flex;\n\tflex-direction: column;\n}\n.profile-editor-status[data-v-64ce7038],\n.profile-editor-validation[data-v-64ce7038] {\n\tmargin-top: 14px;\n}\n.profile-editor-status[data-v-64ce7038] {\n\tcolor: var(--success);\n}\n.profile-editor-status.error[data-v-64ce7038],\n.profile-editor-validation-summary.error[data-v-64ce7038] {\n\tcolor: var(--error);\n}\n.profile-editor-dirty[data-v-64ce7038] {\n\tborder: 1px solid var(--warning);\n\tborder-radius: 999px;\n\tpadding: 2px 8px;\n\tbackground: var(--warning-bg);\n\tcolor: var(--warning);\n\tfont-size: 12px;\n}\n.profile-editor-validation-summary.ready[data-v-64ce7038] {\n\tcolor: var(--success);\n}\n.profile-editor-validation-summary[data-v-64ce7038] {\n\tmargin-bottom: 8px;\n\tfont-weight: 650;\n}\n@media (max-width: 700px) {\n.profile-form[data-v-64ce7038] {\n\t\tgrid-template-columns: 1fr;\n}\n.profile-field-wide[data-v-64ce7038] {\n\t\tgrid-column: auto;\n}\n}\n\n.profile-surface[data-v-2e4dceca] {\n\tflex: 1;\n\tmin-height: 0;\n\tdisplay: flex;\n\tflex-direction: column;\n\tbackground: var(--bg);\n}\n.profile-toolbar[data-v-2e4dceca] {\n\tmin-height: 64px;\n\tpadding: 10px 12px;\n\tborder-bottom: 1px solid var(--line);\n\tbackground: var(--pane);\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 10px;\n}\n.profile-heading[data-v-2e4dceca] {\n\tfont-size: 17px;\n\tfont-weight: 700;\n}\n.profile-subheading[data-v-2e4dceca] {\n\tcolor: var(--muted);\n\tfont-size: 12px;\n}\n.profile-layout[data-v-2e4dceca] {\n\tflex: 1;\n\tmin-height: 0;\n\tdisplay: grid;\n\tgrid-template-columns: minmax(260px, 330px) minmax(0, 1fr);\n}\n.profile-sidebar[data-v-2e4dceca] {\n\tmin-width: 0;\n\tmin-height: 0;\n\tdisplay: flex;\n\tflex-direction: column;\n\tborder-right: 1px solid var(--line);\n\tbackground: var(--pane);\n}\n.profile-list[data-v-2e4dceca] {\n\tflex: 1;\n\tmin-height: 0;\n\tpadding: 8px;\n\toverflow: auto;\n}\n.profile-row[data-v-2e4dceca] {\n\tposition: relative;\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: stretch;\n\twidth: 100%;\n\tmargin-bottom: 6px;\n\tpadding: 9px;\n\ttext-align: left;\n\tborder-color: transparent;\n\tbackground: transparent;\n}\n.profile-row[data-v-2e4dceca]:hover {\n\tbackground: var(--control-muted);\n}\n.profile-row.selected[data-v-2e4dceca] {\n\tborder-color: var(--accent);\n\tbackground: var(--accent-bg);\n}\n.profile-row-title[data-v-2e4dceca] {\n\tfont-weight: 700;\n}\n.profile-row-name[data-v-2e4dceca],\n.profile-row-meta[data-v-2e4dceca] {\n\tcolor: var(--muted);\n\tfont-size: 12px;\n\toverflow-wrap: anywhere;\n}\n.profile-row-state[data-v-2e4dceca] {\n\talign-self: flex-start;\n\tmargin-top: 6px;\n\tfont-size: 12px;\n}\n.profile-row-state.ready[data-v-2e4dceca],\n.profile-applicability.ready[data-v-2e4dceca] {\n\tcolor: var(--success);\n}\n.profile-row-state.warning[data-v-2e4dceca] {\n\tcolor: var(--warning);\n}\n.profile-row-state.error[data-v-2e4dceca],\n.profile-applicability.error[data-v-2e4dceca] {\n\tcolor: var(--error);\n}\n.profile-main[data-v-2e4dceca] {\n\tmin-width: 0;\n\tmin-height: 0;\n\toverflow: auto;\n\tpadding: 16px;\n}\n.profile-card[data-v-2e4dceca] {\n\tmax-width: 1050px;\n\tmargin: 0 auto 14px;\n\tpadding: 14px;\n\tborder: 1px solid var(--line);\n\tborder-radius: 8px;\n\tbackground: var(--pane);\n}\n.profile-summary-card[data-v-2e4dceca] {\n\tdisplay: grid;\n\tgrid-template-columns: minmax(0, 1fr) auto;\n\tgap: 8px 16px;\n}\n.profile-title[data-v-2e4dceca] {\n\tfont-size: 19px;\n\tfont-weight: 700;\n}\n.profile-path[data-v-2e4dceca],\n.profile-note[data-v-2e4dceca] {\n\tcolor: var(--muted);\n\tfont-size: 12px;\n\toverflow-wrap: anywhere;\n}\n.profile-applicability[data-v-2e4dceca] {\n\tfont-weight: 650;\n}\n.profile-summary-actions[data-v-2e4dceca] {\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 10px;\n}\n.profile-description[data-v-2e4dceca] {\n\tgrid-column: 1 / -1;\n\tmargin: 4px 0 0;\n}\n.profile-card-title[data-v-2e4dceca] {\n\tmargin-bottom: 10px;\n\tfont-weight: 700;\n}\n.profile-transition-grid[data-v-2e4dceca] {\n\tdisplay: grid;\n\tgrid-template-columns: minmax(100px, .7fr) repeat(2, minmax(180px, 1fr));\n\tgap: 1px;\n\tborder: 1px solid var(--line);\n\tbackground: var(--line);\n}\n.profile-transition-grid > div[data-v-2e4dceca] {\n\tmin-width: 0;\n\tpadding: 8px;\n\tbackground: var(--pane);\n\toverflow-wrap: anywhere;\n}\n.profile-transition-head[data-v-2e4dceca] {\n\tcolor: var(--muted);\n\tfont-size: 12px;\n\tfont-weight: 650;\n}\n.profile-detail-row[data-v-2e4dceca] {\n\tdisplay: grid;\n\tgrid-template-columns: minmax(180px, .8fr) minmax(0, 2fr);\n\tgap: 12px;\n\tmargin-top: 10px;\n}\n.profile-detail-row > span[data-v-2e4dceca] {\n\tcolor: var(--muted);\n}\n.profile-detail-row code[data-v-2e4dceca] {\n\toverflow-wrap: anywhere;\n\twhite-space: normal;\n}\n.profile-drift[data-v-2e4dceca] {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tgap: 8px 16px;\n\tmargin-top: 10px;\n\tcolor: var(--muted);\n\tfont-size: 12px;\n}\n.profile-message[data-v-2e4dceca],\n.profile-empty[data-v-2e4dceca] {\n\tpadding: 20px;\n\tcolor: var(--muted);\n}\n.profile-message.error[data-v-2e4dceca] {\n\tcolor: var(--error);\n}\n.profile-message.warning[data-v-2e4dceca] {\n\tcolor: var(--warning);\n}\n@media (max-width: 800px) {\n.profile-layout[data-v-2e4dceca] {\n\t\tdisplay: block;\n\t\toverflow: auto;\n}\n.profile-sidebar[data-v-2e4dceca] {\n\t\tborder-right: 0;\n\t\tborder-bottom: 1px solid var(--line);\n}\n.profile-list[data-v-2e4dceca] {\n\t\tflex: none;\n\t\tmax-height: 35vh;\n}\n.profile-main[data-v-2e4dceca] {\n\t\toverflow: visible;\n}\n.profile-transition-grid[data-v-2e4dceca] {\n\t\tgrid-template-columns: minmax(80px, .7fr) repeat(2, minmax(120px, 1fr));\n\t\tfont-size: 12px;\n}\n}\n\n.app-root {\n\theight: 100%;\n\tmin-height: 0;\n\tdisplay: flex;\n\tflex-direction: column;\n}\n.surface-nav {\n\tflex: none;\n\theight: 44px;\n\tpadding: 5px 10px;\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 6px;\n\tborder-bottom: 1px solid var(--line);\n\tbackground: var(--pane);\n}\n.surface-brand {\n\tmargin-right: 8px;\n\tfont-weight: 750;\n\tletter-spacing: .02em;\n}\n.surface-nav button {\n\tmin-height: 32px;\n\tborder-color: transparent;\n\tbackground: transparent;\n}\n.surface-nav button.active {\n\tborder-color: var(--accent);\n\tbackground: var(--accent-bg);\n\tcolor: var(--accent);\n}\n.editor-surface {\n\tflex: 1;\n\tmin-height: 0;\n}\n.legacy-editor-root {\n\theight: 100%;\n\tdisplay: flex;\n\tflex-direction: column;\n}\n.legacy-editor-root .topbar {\n\tflex: none;\n}\n.editor-surface .shell {\n\tflex: 1;\n\tmin-height: 0;\n\theight: auto;\n}\n/*$vite$:1*/";
3
+ //# sourceMappingURL=client-styles.generated.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-styles.generated.js","sourceRoot":"","sources":["../../src/web-editor/client-styles.generated.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,MAAM,CAAC,MAAM,oBAAoB,GAAW,q/SAAq/S,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { EDITOR_CLIENT_STYLES } from "./client-styles.generated.js";
2
+ //# sourceMappingURL=client-styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-styles.js","sourceRoot":"","sources":["../../src/web-editor/client-styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC"}
@@ -1,2 +1,4 @@
1
1
  export declare function renderEditorHtml(): string;
2
+ export declare function inlineScript(source: string): string;
3
+ export declare function inlineStyle(source: string): string;
2
4
  //# sourceMappingURL=page.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../src/web-editor/page.ts"],"names":[],"mappings":"AAGA,wBAAgB,gBAAgB,IAAI,MAAM,CAoFzC"}
1
+ {"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../src/web-editor/page.ts"],"names":[],"mappings":"AAIA,wBAAgB,gBAAgB,IAAI,MAAM,CAezC;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAElD"}
@@ -1,4 +1,5 @@
1
1
  import { EDITOR_CLIENT_SCRIPT } from "./client-script.js";
2
+ import { EDITOR_CLIENT_STYLES } from "./client-styles.js";
2
3
  import { EDITOR_STYLES } from "./styles.js";
3
4
  export function renderEditorHtml() {
4
5
  return String.raw `<!doctype html>
@@ -7,82 +8,19 @@ export function renderEditorHtml() {
7
8
  <meta charset="utf-8">
8
9
  <meta name="viewport" content="width=device-width, initial-scale=1">
9
10
  <link rel="icon" href="data:,">
10
- <title>pi-forge stack editor</title>
11
- <style>${EDITOR_STYLES}</style>
11
+ <title>pi-forge editor</title>
12
+ <style>${inlineStyle(`${EDITOR_STYLES}\n${EDITOR_CLIENT_STYLES}`)}</style>
12
13
  </head>
13
14
  <body>
14
- <header class="topbar">
15
- <button id="sidebarToggleBtn" class="icon" data-icon="☰" title="Toggle prompt stacks sidebar" aria-label="Toggle prompt stacks sidebar"></button>
16
- <div class="brand">pi-forge stack editor</div>
17
- <div id="status" class="status">Loading</div>
18
- <span id="dirtyBadge" class="dirty-badge" title="The current stack has unsaved edits">Unsaved</span>
19
- <button id="themeBtn" data-icon="◐" title="Toggle light or dark theme">Theme</button>
20
- <button id="reloadBtn" data-icon="↻" title="Reload prompt stacks from disk">Reload</button>
21
- <button id="disableBtn" data-icon="■" title="Disable the active prompt stack">Disable stack</button>
22
- </header>
23
- <div id="shell" class="shell">
24
- <aside class="sidebar">
25
- <div class="side-head">
26
- <div class="side-title">Prompt stacks</div>
27
- <div id="cwd" class="cwd"></div>
28
- </div>
29
- <div id="stackList" class="stack-list"></div>
30
- </aside>
31
- <main class="main">
32
- <div class="main-actions">
33
- <button id="newStackBtn" data-icon="+" title="Create a new prompt stack (Ctrl/Cmd+N)">New stack</button>
34
- <button id="activateBtn" class="primary" data-icon="▶" title="Make this stack active for the current Pi session">Activate</button>
35
- <button id="saveBtn" class="primary" data-icon="✓" title="Save the edited stack JSON to disk (Ctrl/Cmd+S)">Save</button>
36
- <button id="validateBtn" data-icon="!" title="Validate the edited stack without saving (Ctrl/Cmd+Shift+Enter)">Validate</button>
37
- <button id="previewBtn" data-icon="◱" title="Preview the compiled prompt without sending it (Ctrl/Cmd+Enter)">Preview</button>
38
- <button id="payloadBtn" data-icon="◆" title="Capture the next provider payload in the browser">Arm payload</button>
39
- <button id="forkBtn" data-icon="⑂" title="Create a new stack from the current edits">Fork</button>
40
- <button id="importBtn" data-icon="⇪" title="Import pi-forge stack JSON or SillyTavern preset JSON">Import JSON</button>
41
- <button id="exportBtn" data-icon="⇩" title="Download the current stack JSON, or copy it if download is unavailable">Export JSON</button>
42
- <span class="action-spacer"></span>
43
- <button id="deleteStackBtn" class="danger" data-icon="×" title="Delete the selected stack JSON file">Delete stack</button>
44
- <input id="importFileInput" type="file" accept="application/json,.json" hidden>
45
- </div>
46
- <section id="metadataPanel" class="metadata-panel">
47
- <div class="metadata-head">
48
- <button id="metadataToggleBtn" data-icon="▾" title="Show or hide stack metadata">Hide metadata</button>
49
- <div class="metadata-title">Stack metadata</div>
50
- <div id="metadataSummary" class="metadata-summary"></div>
51
- </div>
52
- <div id="settings" class="settings"></div>
53
- </section>
54
- <nav class="view-tabs" aria-label="Stack editor sections">
55
- <button id="itemsTabBtn" data-tab="items" class="active" data-icon="☰" title="Edit prompt stack items">Items</button>
56
- <button id="regexTabBtn" data-tab="regex" data-icon=".*" title="Edit regex transform rules">Regex</button>
57
- <button id="policyTabBtn" data-tab="policy" data-icon="⊕" title="Edit active-tool policy and model-visible skill filtering">Policy</button>
58
- <button id="stackTabBtn" data-tab="stack" data-icon="{}" title="Edit context options and raw stack JSON">Stack</button>
59
- </nav>
60
- <section id="workspace" class="workspace">
61
- <div class="items-pane">
62
- <div class="pane-head">
63
- <span>Items</span>
64
- <span id="itemCount" class="stack-meta"></span>
65
- </div>
66
- <div class="item-tools">
67
- <button id="addItemBtn" data-icon="+" title="Add a prompt block item">Add block</button>
68
- <button id="addSlotBtn" data-icon="+" title="Add a runtime slot item">Add slot</button>
69
- <span class="item-tools-spacer"></span>
70
- <button id="deleteItemBtn" class="danger" data-icon="×" title="Delete the selected stack item">Delete item</button>
71
- </div>
72
- <div id="itemList" class="item-list"></div>
73
- </div>
74
- <div class="editor-pane">
75
- <div id="itemEditor" class="item-editor"></div>
76
- <div id="diagnostics" class="diagnostics"></div>
77
- </div>
78
- </section>
79
- <section id="tabPanel" class="tab-panel"></section>
80
- </main>
81
- </div>
82
- <div id="preview" class="preview"></div>
83
- <div id="stackModal" class="modal"></div>
84
- <script>${EDITOR_CLIENT_SCRIPT}</script>
15
+ <div id="app"></div>
16
+ <script>${inlineScript(EDITOR_CLIENT_SCRIPT)}</script>
85
17
  </body>
86
18
  </html>`;
87
19
  }
20
+ export function inlineScript(source) {
21
+ return source.replace(/<\/script/gi, "<\\/script");
22
+ }
23
+ export function inlineStyle(source) {
24
+ return source.replace(/<\/style/gi, "<\\/style");
25
+ }
88
26
  //# sourceMappingURL=page.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"page.js","sourceRoot":"","sources":["../../src/web-editor/page.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,UAAU,gBAAgB;IAC/B,OAAO,MAAM,CAAC,GAAG,CAAA;;;;;;;SAOT,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAyEZ,oBAAoB;;QAEtB,CAAC;AACT,CAAC"}
1
+ {"version":3,"file":"page.js","sourceRoot":"","sources":["../../src/web-editor/page.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,UAAU,gBAAgB;IAC/B,OAAO,MAAM,CAAC,GAAG,CAAA;;;;;;;SAOT,WAAW,CAAC,GAAG,aAAa,KAAK,oBAAoB,EAAE,CAAC;;;;UAIvD,YAAY,CAAC,oBAAoB,CAAC;;QAEpC,CAAC;AACT,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAc;IAC1C,OAAO,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAAc;IACzC,OAAO,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;AAClD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/web-editor/server.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAA4B,eAAe,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAGnH,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAEzC,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,GAAE,sBAA2B,GAAG,OAAO,CAAC,eAAe,CAAC,CAqC9H"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/web-editor/server.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EACX,aAAa,EAEb,eAAe,EACf,sBAAsB,EAEtB,MAAM,YAAY,CAAC;AAGpB,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAEzC,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,GAAE,sBAA2B,GAAG,OAAO,CAAC,eAAe,CAAC,CAqC9H"}
@@ -1,5 +1,7 @@
1
1
  import { randomBytes } from "node:crypto";
2
2
  import { createServer } from "node:http";
3
+ import { AGENT_PROFILE_THINKING_LEVELS, AGENT_PROFILE_TYPE, } from "../agent-profile.js";
4
+ import { isValidSubagentTimeoutMs, MAX_SUBAGENT_TIMEOUT_MS, MIN_SUBAGENT_TIMEOUT_MS, } from "../forge-config.js";
3
5
  import { convertSillyTavernPreset } from "../sillytavern-importer.js";
4
6
  import { renderEditorHtml } from "./page.js";
5
7
  // Port 0 asks Node to bind any available localhost port.
@@ -62,6 +64,60 @@ async function handleRequest(host, token, req, res) {
62
64
  sendJson(res, 200, { stacks: host.listStacks(), cwd: host.cwd });
63
65
  return;
64
66
  }
67
+ if (req.method === "GET" && parts[1] === "profiles" && parts.length === 2) {
68
+ sendJson(res, 200, host.listProfiles());
69
+ return;
70
+ }
71
+ if (req.method === "POST" && parts[1] === "profiles" && parts[2] === "reload" && parts.length === 3) {
72
+ sendOperation(res, await host.reloadProfiles());
73
+ return;
74
+ }
75
+ if (req.method === "POST" && parts[1] === "profiles" && parts[2] === "validate" && parts.length === 3) {
76
+ const body = await readJsonBody(req);
77
+ const parsed = readProfilePayload(body);
78
+ if (!parsed.ok) {
79
+ sendJson(res, 400, { error: parsed.error });
80
+ return;
81
+ }
82
+ const existingId = isPlainObject(body) && typeof body.existingId === "string" ? body.existingId : undefined;
83
+ sendJson(res, 200, host.validateProfile(parsed.profile, existingId));
84
+ return;
85
+ }
86
+ if (req.method === "POST" && parts[1] === "profiles" && parts.length === 2) {
87
+ const parsed = readProfilePayload(await readJsonBody(req));
88
+ if (!parsed.ok) {
89
+ sendJson(res, 400, { error: parsed.error });
90
+ return;
91
+ }
92
+ sendOperation(res, await host.createProfile(parsed.profile));
93
+ return;
94
+ }
95
+ if (req.method === "PUT" && parts[1] === "profiles" && parts.length === 3) {
96
+ const parsed = readProfilePayload(await readJsonBody(req));
97
+ if (!parsed.ok) {
98
+ sendJson(res, 400, { error: parsed.error });
99
+ return;
100
+ }
101
+ sendOperation(res, await host.saveProfile(parts[2], parsed.profile));
102
+ return;
103
+ }
104
+ if (req.method === "POST" && parts[1] === "profiles" && parts[3] === "apply" && parts.length === 4) {
105
+ sendOperation(res, await host.applyProfile(parts[2]));
106
+ return;
107
+ }
108
+ if (req.method === "DELETE" && parts[1] === "profiles" && parts.length === 3) {
109
+ sendOperation(res, await host.deleteProfile(parts[2]));
110
+ return;
111
+ }
112
+ if (req.method === "PUT" && parts[1] === "profiles" && parts[3] === "subagent" && parts.length === 4) {
113
+ const parsed = readSubagentPolicyPayload(await readJsonBody(req));
114
+ if (!parsed.ok) {
115
+ sendJson(res, 400, { error: parsed.error });
116
+ return;
117
+ }
118
+ sendOperation(res, await host.updateSubagentPolicy(parts[2], parsed.update));
119
+ return;
120
+ }
65
121
  if (req.method === "GET" && parts[1] === "resources" && parts.length === 2) {
66
122
  sendJson(res, 200, host.listResources());
67
123
  return;
@@ -203,9 +259,101 @@ function readStackPayload(body) {
203
259
  }
204
260
  return { ok: true, stack: rawStack };
205
261
  }
262
+ function readProfilePayload(body) {
263
+ const raw = isPlainObject(body) && "profile" in body ? body.profile : body;
264
+ if (!isPlainObject(raw))
265
+ return { ok: false, error: "Profile payload must be a JSON object." };
266
+ const allowedFields = new Set([
267
+ "schemaVersion",
268
+ "type",
269
+ "id",
270
+ "name",
271
+ "description",
272
+ "autoActivate",
273
+ "model",
274
+ "thinkingLevel",
275
+ "promptStack",
276
+ ]);
277
+ const unsupported = Object.keys(raw).find((field) => !allowedFields.has(field));
278
+ if (unsupported)
279
+ return { ok: false, error: `Unsupported profile field: ${unsupported}` };
280
+ if (raw.schemaVersion !== 1)
281
+ return { ok: false, error: "Profile schemaVersion must be 1." };
282
+ if (raw.type !== AGENT_PROFILE_TYPE)
283
+ return { ok: false, error: `Profile type must be "${AGENT_PROFILE_TYPE}".` };
284
+ if (typeof raw.id !== "string")
285
+ return { ok: false, error: "Profile id must be a string." };
286
+ if (raw.name !== undefined && typeof raw.name !== "string")
287
+ return { ok: false, error: "Profile name must be a string when provided." };
288
+ if (raw.description !== undefined && typeof raw.description !== "string") {
289
+ return { ok: false, error: "Profile description must be a string when provided." };
290
+ }
291
+ if (raw.autoActivate !== undefined && typeof raw.autoActivate !== "boolean") {
292
+ return { ok: false, error: "Profile autoActivate must be a boolean when provided." };
293
+ }
294
+ if (!isPlainObject(raw.model))
295
+ return { ok: false, error: "Profile model must be an object." };
296
+ const unsupportedModelField = Object.keys(raw.model).find((field) => field !== "provider" && field !== "id");
297
+ if (unsupportedModelField)
298
+ return { ok: false, error: `Unsupported profile model field: ${unsupportedModelField}` };
299
+ if (typeof raw.model.provider !== "string" || typeof raw.model.id !== "string") {
300
+ return { ok: false, error: "Profile model provider and id must be strings." };
301
+ }
302
+ if (typeof raw.thinkingLevel !== "string"
303
+ || !AGENT_PROFILE_THINKING_LEVELS.includes(raw.thinkingLevel)) {
304
+ return { ok: false, error: `Unsupported profile thinkingLevel: ${String(raw.thinkingLevel)}` };
305
+ }
306
+ if (raw.promptStack !== null && typeof raw.promptStack !== "string") {
307
+ return { ok: false, error: "Profile promptStack must be a string or null." };
308
+ }
309
+ return {
310
+ ok: true,
311
+ profile: {
312
+ schemaVersion: 1,
313
+ type: AGENT_PROFILE_TYPE,
314
+ id: raw.id,
315
+ name: raw.name,
316
+ description: raw.description,
317
+ autoActivate: raw.autoActivate,
318
+ model: {
319
+ provider: raw.model.provider,
320
+ id: raw.model.id,
321
+ },
322
+ thinkingLevel: raw.thinkingLevel,
323
+ promptStack: raw.promptStack,
324
+ },
325
+ };
326
+ }
206
327
  function isSillyTavernPresetPayload(value) {
207
328
  return Array.isArray(value.prompts) && !Array.isArray(value.items);
208
329
  }
330
+ function readSubagentPolicyPayload(body) {
331
+ if (!isPlainObject(body))
332
+ return { ok: false, error: "Subagent policy payload must be a JSON object." };
333
+ const unsupported = Object.keys(body).find((field) => field !== "enabled" && field !== "backend" && field !== "timeoutMs");
334
+ if (unsupported)
335
+ return { ok: false, error: `Unsupported subagent policy field: ${unsupported}` };
336
+ if (body.enabled !== undefined && typeof body.enabled !== "boolean") {
337
+ return { ok: false, error: "Subagent policy enabled must be a boolean when provided." };
338
+ }
339
+ if (body.backend !== undefined && body.backend !== null && (typeof body.backend !== "string" || !body.backend.trim())) {
340
+ return { ok: false, error: "Subagent policy backend must be a non-empty string or null to clear the override." };
341
+ }
342
+ if (body.timeoutMs !== undefined && body.timeoutMs !== null && !isValidSubagentTimeoutMs(body.timeoutMs)) {
343
+ return {
344
+ ok: false,
345
+ error: `Subagent policy timeoutMs must be an integer from ${MIN_SUBAGENT_TIMEOUT_MS} to ${MAX_SUBAGENT_TIMEOUT_MS} or null to clear the override.`,
346
+ };
347
+ }
348
+ return {
349
+ ok: true,
350
+ update: {
351
+ enabled: body.enabled,
352
+ backend: body.backend === null ? null : body.backend?.trim(),
353
+ timeoutMs: body.timeoutMs,
354
+ },
355
+ };
356
+ }
209
357
  function readCharacterId(body) {
210
358
  if (!isPlainObject(body))
211
359
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/web-editor/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/web-editor/server.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/web-editor/styles.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,QAk+BzB,CAAC"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/web-editor/styles.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,QA2hCzB,CAAC"}
@@ -112,6 +112,16 @@ html, body {
112
112
  height: 100%;
113
113
  overflow: hidden;
114
114
  }
115
+ #app {
116
+ height: 100%;
117
+ min-height: 0;
118
+ }
119
+ @media (max-width: 900px) {
120
+ #app {
121
+ height: auto;
122
+ min-height: 100%;
123
+ }
124
+ }
115
125
  .topbar {
116
126
  display: flex;
117
127
  align-items: center;
@@ -591,9 +601,41 @@ html, body {
591
601
  .diagnostics {
592
602
  border-top: 1px solid var(--line);
593
603
  background: var(--pane);
594
- flex: 0 0 128px;
604
+ flex: none;
595
605
  min-height: 0;
606
+ }
607
+ .diagnostics-head {
608
+ display: flex;
609
+ align-items: center;
610
+ gap: 8px;
611
+ width: 100%;
612
+ padding: 6px 12px;
613
+ border: 0;
614
+ background: transparent;
615
+ color: var(--muted);
616
+ font-size: 12px;
617
+ text-align: left;
618
+ }
619
+ .diagnostics-head:hover {
620
+ background: var(--control-muted);
621
+ }
622
+ .diagnostics-title {
623
+ flex: 1;
624
+ font-weight: 650;
625
+ }
626
+ .diagnostics-chevron {
627
+ transition: transform .12s ease;
628
+ }
629
+ .diagnostics.collapsed .diagnostics-chevron {
630
+ transform: rotate(-90deg);
631
+ }
632
+ .diagnostics-body {
633
+ max-height: 128px;
596
634
  overflow: auto;
635
+ border-top: 1px solid var(--line);
636
+ }
637
+ .diagnostics.collapsed .diagnostics-body {
638
+ display: none;
597
639
  }
598
640
  .diagnostic {
599
641
  padding: 6px 12px;
@@ -958,15 +1000,30 @@ html, body {
958
1000
  min-height: 280px;
959
1001
  }
960
1002
  @media (max-width: 900px) {
961
- .shell, .workspace, .settings, .item-fields {
1003
+ .shell, .settings {
962
1004
  grid-template-columns: 1fr;
963
1005
  }
1006
+ .workspace {
1007
+ display: block;
1008
+ }
1009
+ .item-form {
1010
+ height: auto;
1011
+ overflow: visible;
1012
+ }
1013
+ .item-fields {
1014
+ grid-template-columns: repeat(2, minmax(120px, 1fr));
1015
+ }
1016
+ .content-field textarea {
1017
+ height: auto;
1018
+ min-height: 220px;
1019
+ resize: vertical;
1020
+ }
964
1021
  html, body {
965
1022
  overflow: auto;
966
1023
  }
967
1024
  .shell {
968
1025
  height: auto;
969
- min-height: calc(100vh - 48px);
1026
+ min-height: calc(100vh - 92px);
970
1027
  }
971
1028
  .sidebar, .items-pane {
972
1029
  border-right: 0;
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/web-editor/styles.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAk+BtC,CAAC"}
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/web-editor/styles.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2hCtC,CAAC"}
@@ -1,3 +1,5 @@
1
+ import type { AgentProfile, AgentProfileDiagnostic } from "../agent-profile.ts";
2
+ import type { AgentProfilePreview, AgentProfileRuntimeStatus } from "../profile-service.ts";
1
3
  import type { PromptStack, PromptStackDiagnostic } from "../types.ts";
2
4
  export interface WebEditorStackSummary {
3
5
  id: string;
@@ -14,6 +16,14 @@ export interface WebEditorStackSummary {
14
16
  export interface WebEditorHost {
15
17
  cwd: string;
16
18
  listStacks(): WebEditorStackSummary[];
19
+ listProfiles(): WebEditorProfileCollection;
20
+ reloadProfiles(): Promise<WebEditorOperationResult<WebEditorProfileCollection>>;
21
+ validateProfile(profile: AgentProfile, existingId?: string): WebEditorProfileValidation;
22
+ createProfile(profile: AgentProfile): Promise<WebEditorOperationResult<WebEditorProfileMutation>>;
23
+ saveProfile(id: string, profile: AgentProfile): Promise<WebEditorOperationResult<WebEditorProfileMutation>>;
24
+ applyProfile(id: string): Promise<WebEditorOperationResult<WebEditorProfileMutation>>;
25
+ deleteProfile(id: string): Promise<WebEditorOperationResult<WebEditorProfileMutation>>;
26
+ updateSubagentPolicy(id: string, update: WebEditorSubagentPolicyUpdate): Promise<WebEditorOperationResult<WebEditorProfileMutation>>;
17
27
  listResources(): WebEditorPolicyResources;
18
28
  getStack(id: string): {
19
29
  stack: PromptStack;
@@ -54,6 +64,75 @@ export interface WebEditorHost {
54
64
  stacks: WebEditorStackSummary[];
55
65
  }>>;
56
66
  }
67
+ export interface WebEditorProfileEntry {
68
+ profile: AgentProfile;
69
+ filePath: string;
70
+ preview: AgentProfilePreview;
71
+ errors: number;
72
+ warnings: number;
73
+ lastApplied: boolean;
74
+ subagent: WebEditorSubagentProfilePolicy;
75
+ }
76
+ export interface WebEditorSubagentBackendOption {
77
+ id: string;
78
+ version: string;
79
+ }
80
+ export interface WebEditorSubagentProfilePolicy {
81
+ enabled: boolean;
82
+ enabledSource: "project-profile" | "built-in";
83
+ backend: string;
84
+ backendSource: string;
85
+ backendRegistered: boolean;
86
+ timeoutMs: number;
87
+ timeoutSource: string;
88
+ configured: {
89
+ enabled?: boolean;
90
+ backend?: string;
91
+ timeoutMs?: number;
92
+ };
93
+ }
94
+ export interface WebEditorSubagentSummary {
95
+ defaultBackend: string;
96
+ defaultBackendSource: string;
97
+ timeoutMs: number;
98
+ timeoutSource: string;
99
+ allowAgentInvocationWithoutApproval: boolean;
100
+ backends: WebEditorSubagentBackendOption[];
101
+ warnings: string[];
102
+ }
103
+ export interface WebEditorSubagentPolicyUpdate {
104
+ enabled?: boolean;
105
+ backend?: string | null;
106
+ timeoutMs?: number | null;
107
+ }
108
+ export interface WebEditorProfileCollection {
109
+ trusted: boolean;
110
+ profileDirectory: string;
111
+ profiles: WebEditorProfileEntry[];
112
+ status: AgentProfileRuntimeStatus;
113
+ models: WebEditorProfileModelOption[];
114
+ promptStacks: Array<{
115
+ id: string;
116
+ name?: string;
117
+ }>;
118
+ subagents: WebEditorSubagentSummary;
119
+ }
120
+ export interface WebEditorProfileModelOption {
121
+ provider: string;
122
+ id: string;
123
+ name?: string;
124
+ available: boolean;
125
+ }
126
+ export interface WebEditorProfileValidation {
127
+ preview: AgentProfilePreview;
128
+ diagnostics: AgentProfileDiagnostic[];
129
+ errors: number;
130
+ warnings: number;
131
+ }
132
+ export interface WebEditorProfileMutation {
133
+ collection: WebEditorProfileCollection;
134
+ selectedPath: string;
135
+ }
57
136
  export interface WebEditorPreviewSection {
58
137
  id: string;
59
138
  title: string;