@piagent/platform 1.37.1 → 1.38.2

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 (283) hide show
  1. package/CHANGELOG.md +60 -0
  2. package/README.md +5 -3
  3. package/README.vi.md +2 -2
  4. package/catalog/capabilities.json +2 -2
  5. package/docs/command-reference-vietnamese.md +4 -3
  6. package/docs/distribution-standard.md +6 -6
  7. package/docs/en/maintainer-guide.md +8 -0
  8. package/docs/en/workspace-editor.md +222 -0
  9. package/docs/languages.json +13 -4
  10. package/docs/operator-manual-vietnamese.md +7 -7
  11. package/docs/publishing-for-teams.md +3 -0
  12. package/docs/release-install-policy.md +2 -2
  13. package/docs/research/ide-m0-spike.md +101 -0
  14. package/docs/team-onboarding.md +2 -2
  15. package/docs/vi/maintainer-guide.md +8 -0
  16. package/docs/vi/workspace-editor.md +217 -0
  17. package/docs-site/architecture.html +1 -1
  18. package/docs-site/benchmark.html +1 -1
  19. package/docs-site/commands.html +1 -1
  20. package/docs-site/content/en/index.html +4 -4
  21. package/docs-site/content/en/whats-new.html +23 -0
  22. package/docs-site/content/index.html +4 -4
  23. package/docs-site/content/whats-new.html +23 -0
  24. package/docs-site/context-engine.html +1 -1
  25. package/docs-site/ecosystem.html +1 -1
  26. package/docs-site/en/architecture.html +1 -1
  27. package/docs-site/en/benchmark.html +1 -1
  28. package/docs-site/en/commands.html +1 -1
  29. package/docs-site/en/context-engine.html +1 -1
  30. package/docs-site/en/ecosystem.html +1 -1
  31. package/docs-site/en/index.html +5 -5
  32. package/docs-site/en/mcp-approval.html +1 -1
  33. package/docs-site/en/mcp-auth.html +1 -1
  34. package/docs-site/en/mcp-servers.html +1 -1
  35. package/docs-site/en/mcp.html +1 -1
  36. package/docs-site/en/permissions.html +1 -1
  37. package/docs-site/en/profiles.html +1 -1
  38. package/docs-site/en/quickstart.html +1 -1
  39. package/docs-site/en/runtime.html +1 -1
  40. package/docs-site/en/scope.html +1 -1
  41. package/docs-site/en/security.html +1 -1
  42. package/docs-site/en/team.html +1 -1
  43. package/docs-site/en/whats-new.html +24 -1
  44. package/docs-site/en/windows.html +1 -1
  45. package/docs-site/en/workflows.html +1 -1
  46. package/docs-site/index.html +5 -5
  47. package/docs-site/mcp-approval.html +1 -1
  48. package/docs-site/mcp-auth.html +1 -1
  49. package/docs-site/mcp-servers.html +1 -1
  50. package/docs-site/mcp.html +1 -1
  51. package/docs-site/permissions.html +1 -1
  52. package/docs-site/profiles.html +1 -1
  53. package/docs-site/quickstart.html +1 -1
  54. package/docs-site/runtime.html +1 -1
  55. package/docs-site/scope.html +1 -1
  56. package/docs-site/security.html +1 -1
  57. package/docs-site/team.html +1 -1
  58. package/docs-site/whats-new.html +24 -1
  59. package/docs-site/windows.html +1 -1
  60. package/docs-site/workflows.html +1 -1
  61. package/evals/fixtures/piagent-webui/checkpoint-v1.invalid.json +21 -0
  62. package/evals/fixtures/piagent-webui/checkpoint-v1.valid.json +20 -0
  63. package/evals/fixtures/piagent-webui/terminal-v1.invalid.json +17 -0
  64. package/evals/fixtures/piagent-webui/terminal-v1.valid.json +16 -0
  65. package/evals/fixtures/piagent-webui/workspace-file-v1.invalid.json +24 -0
  66. package/evals/fixtures/piagent-webui/workspace-file-v1.valid.json +23 -0
  67. package/evals/fixtures/piagent-webui/workspace-paths-v1.invalid.json +24 -0
  68. package/evals/fixtures/piagent-webui/workspace-paths-v1.valid.json +24 -0
  69. package/evals/fixtures/piagent-webui/workspace-search-v1.invalid.json +26 -0
  70. package/evals/fixtures/piagent-webui/workspace-search-v1.valid.json +26 -0
  71. package/evals/fixtures/piagent-webui/workspace-tree-v1.invalid.json +28 -0
  72. package/evals/fixtures/piagent-webui/workspace-tree-v1.valid.json +27 -0
  73. package/evals/fixtures/piagent-webui/workspace-write-v1.invalid.json +19 -0
  74. package/evals/fixtures/piagent-webui/workspace-write-v1.valid.json +19 -0
  75. package/evals/long-task-soak-v1/README.md +17 -0
  76. package/evals/long-task-soak-v1/lib/session-loop.mjs +19 -3
  77. package/evals/long-task-soak-v1/scenarios/ide-editor-terminal.json +19 -0
  78. package/evals/long-task-soak-v1/surfaces/webui-gateway.mjs +17 -2
  79. package/evals/long-task-soak-v1/surfaces/workspace-actions.mjs +95 -0
  80. package/evals/private-holdout-v1/public-exposure.v2.json +2 -2
  81. package/package.json +7 -3
  82. package/packages/piagent-core/extensions/fallback-base-policy.ts +1 -1
  83. package/packages/piagent-core/extensions/guard-types.ts +3 -1
  84. package/packages/piagent-core/extensions/path-suggestions.ts +137 -0
  85. package/packages/piagent-core/extensions/piagent-guard.ts +85 -7
  86. package/packages/piagent-core/extensions/workspace-inspection.ts +145 -0
  87. package/packages/piagent-core/extensions/workspace-policy.d.ts +7 -0
  88. package/packages/piagent-core/extensions/workspace-policy.js +3 -0
  89. package/packages/piagent-core/extensions/workspace-search-index.mjs +8 -0
  90. package/packages/piagent-core/extensions/workspace-search.ts +74 -0
  91. package/packages/piagent-core/extensions/workspace-write.ts +116 -0
  92. package/packages/piagent-core/managed/background-process.mjs +9 -4
  93. package/packages/piagent-core/managed/boundary-package-proxy.mjs +21 -0
  94. package/packages/piagent-core/managed/boundary-queue.mjs +24 -0
  95. package/packages/piagent-core/managed/checkpoint-git.mjs +16 -0
  96. package/packages/piagent-core/managed/checkpoints.mjs +17 -64
  97. package/packages/piagent-core/managed/command-tools.mjs +6 -6
  98. package/packages/piagent-core/managed/continuation.mjs +3 -0
  99. package/packages/piagent-core/managed/dist/workspace/assets/adapters/backend-api/profile.json +88 -0
  100. package/packages/piagent-core/managed/dist/workspace/assets/adapters/be-readonly-fe/profile.json +130 -0
  101. package/packages/piagent-core/managed/dist/workspace/assets/adapters/data/profile.json +88 -0
  102. package/packages/piagent-core/managed/dist/workspace/assets/adapters/devops/profile.json +90 -0
  103. package/packages/piagent-core/managed/dist/workspace/assets/adapters/docs/profile.json +74 -0
  104. package/packages/piagent-core/managed/dist/workspace/assets/adapters/fullstack/profile.json +92 -0
  105. package/packages/piagent-core/managed/dist/workspace/assets/adapters/generic/profile.json +95 -0
  106. package/packages/piagent-core/managed/dist/workspace/assets/adapters/mobile/profile.json +86 -0
  107. package/packages/piagent-core/managed/dist/workspace/assets/adapters/node-typescript/profile.json +74 -0
  108. package/packages/piagent-core/managed/dist/workspace/assets/adapters/python/profile.json +75 -0
  109. package/packages/piagent-core/managed/dist/workspace/assets/adapters/web-frontend/profile.json +99 -0
  110. package/packages/piagent-core/managed/dist/workspace/assets/local-state-path-BrmghxEZ.js +284 -0
  111. package/packages/piagent-core/managed/dist/workspace/assets/packages/piagent-core/policies/base-policy.json +351 -0
  112. package/packages/piagent-core/managed/dist/workspace/manifest.json +65 -0
  113. package/packages/piagent-core/managed/dist/workspace/worker.mjs +7374 -0
  114. package/packages/piagent-core/managed/dist/workspace/workspace-search-index.mjs +1007 -0
  115. package/packages/piagent-core/managed/patch-snapshot.mjs +6 -8
  116. package/packages/piagent-core/managed/permission.mjs +29 -6
  117. package/packages/piagent-core/managed/repository-operation.mjs +2 -1
  118. package/packages/piagent-core/managed/review-snapshot-request.mjs +21 -0
  119. package/packages/piagent-core/managed/sandbox-diagnostic.mjs +2 -0
  120. package/packages/piagent-core/managed/session-mutation-observations.mjs +37 -0
  121. package/packages/piagent-core/managed/session.mjs +2 -2
  122. package/packages/piagent-core/managed/source-revert-requests.mjs +21 -0
  123. package/packages/piagent-core/managed/terminal-boundary.mjs +88 -0
  124. package/packages/piagent-core/managed/terminal-channel.mjs +66 -0
  125. package/packages/piagent-core/managed/terminal-runtime.mjs +64 -0
  126. package/packages/piagent-core/managed/terminal-seatbelt.mjs +48 -0
  127. package/packages/piagent-core/managed/terminal-worker.mjs +70 -0
  128. package/packages/piagent-core/managed/tool-boundary.mjs +45 -35
  129. package/packages/piagent-core/managed/tool-freshness.mjs +47 -0
  130. package/packages/piagent-core/managed/tool-worker.mjs +18 -3
  131. package/packages/piagent-core/managed/workspace-worker-pins.mjs +26 -0
  132. package/packages/piagent-core/package.json +1 -1
  133. package/packages/piagent-core/policies/base-policy.json +2 -1
  134. package/packages/piagent-core/runtime/checkpoints/checkpoint-authority.ts +43 -0
  135. package/packages/piagent-core/runtime/checkpoints/checkpoint-refs.mjs +51 -0
  136. package/packages/piagent-core/runtime/checkpoints/checkpoint-store.mjs +179 -0
  137. package/packages/piagent-core/runtime/checkpoints/checkpoint-worker.ts +28 -0
  138. package/packages/piagent-core/runtime/checkpoints/git-adapter.mjs +36 -0
  139. package/packages/piagent-core/runtime/checkpoints/persistent-history.mjs +96 -0
  140. package/packages/piagent-core/runtime/checkpoints/personal-git.ts +272 -0
  141. package/packages/piagent-core/runtime/checkpoints/personal-runtime.ts +158 -0
  142. package/packages/piagent-core/runtime/checkpoints/prune.mjs +29 -0
  143. package/packages/piagent-core/runtime/checkpoints/restore-preview.mjs +46 -0
  144. package/packages/piagent-core/runtime/checkpoints/turn-checkpoints.mjs +167 -0
  145. package/packages/piagent-core/runtime/hooks/session-hooks.ts +19 -16
  146. package/packages/piagent-core/runtime/hooks/session-start-hook.ts +3 -0
  147. package/packages/piagent-core/runtime/hooks/tool-call-hook.ts +2 -2
  148. package/packages/piagent-core/runtime/inspection/diff-projection.ts +2 -1
  149. package/packages/piagent-core/runtime/inspection/managed-source-revert.ts +90 -0
  150. package/packages/piagent-core/runtime/inspection/review-state-projection.ts +19 -8
  151. package/packages/piagent-core/runtime/inspection/session-diff-projection.ts +47 -0
  152. package/packages/piagent-core/runtime/inspection/session-hunk-provenance.ts +56 -0
  153. package/packages/piagent-core/runtime/inspection/session-mutation-observer.ts +125 -0
  154. package/packages/piagent-core/runtime/inspection/source-action-contract.ts +123 -0
  155. package/packages/piagent-core/runtime/inspection/source-change-projection.ts +3 -9
  156. package/packages/piagent-core/runtime/inspection/source-mutation-projection.ts +3 -41
  157. package/packages/piagent-core/runtime/inspection/source-mutation-store.ts +6 -36
  158. package/packages/piagent-core/runtime/inspection/source-revert-projection.ts +36 -30
  159. package/packages/piagent-core/runtime/inspection/text-diff.ts +5 -4
  160. package/packages/piagent-core/runtime/inspection/workspace-worker.ts +79 -0
  161. package/packages/piagent-core/runtime/policy/source-index-transaction.ts +3 -10
  162. package/packages/piagent-core/runtime/policy/source-mutation-guard-binding.ts +27 -2
  163. package/packages/piagent-core/runtime/policy/source-mutation-guard.ts +42 -12
  164. package/packages/piagent-core/runtime/policy/source-worktree-transaction.ts +10 -5
  165. package/packages/piagent-core/runtime/policy/workspace-write-authority.ts +51 -0
  166. package/packages/piagent-core/runtime/process-owner.mjs +20 -0
  167. package/packages/piagent-core/runtime/process-tree-watch.mjs +46 -0
  168. package/packages/piagent-core/runtime/quality/model-mutation-proof.ts +8 -5
  169. package/packages/piagent-core/runtime/registration/permission-commands.ts +10 -2
  170. package/packages/piagent-core/runtime/registration/task-evidence-tools.ts +1 -1
  171. package/packages/piagent-core/runtime/session/workspace-member-edits.d.mts +7 -0
  172. package/packages/piagent-core/runtime/session/workspace-member-edits.mjs +41 -0
  173. package/packages/piagent-core/security/workspace-file-reader.ts +2 -1
  174. package/packages/piagent-webui/dist/client/assets/Alert-DGWhP2MM.js +1 -0
  175. package/packages/piagent-webui/dist/client/assets/Button-QItfZUNj.js +1 -0
  176. package/packages/piagent-webui/dist/client/assets/DialogTitle-CyaFPaiW.js +3 -0
  177. package/packages/piagent-webui/dist/client/assets/MarkdownMessage-DtEwqme0.js +29 -0
  178. package/packages/piagent-webui/dist/client/assets/TerminalPanel-C3vkzjQ6.js +2 -0
  179. package/packages/piagent-webui/dist/client/assets/TerminalView-TNjhBGfa.js +9 -0
  180. package/packages/piagent-webui/dist/client/assets/TerminalView-kHJ-D0s7.css +1 -0
  181. package/packages/piagent-webui/dist/client/assets/Typography-B9om7Evq.js +1 -0
  182. package/packages/piagent-webui/dist/client/assets/WorkspaceCodeEditor-BAhYwQNM.js +2 -0
  183. package/packages/piagent-webui/dist/client/assets/WorkspaceExplorer-Coh_GWCO.js +5 -0
  184. package/packages/piagent-webui/dist/client/assets/WorkspaceQuickOpen-Bn4miZq4.js +1 -0
  185. package/packages/piagent-webui/dist/client/assets/bootstrap-CedkNtRG.js +1 -0
  186. package/packages/piagent-webui/dist/client/assets/dist-B5MCHZv5.js +9 -0
  187. package/packages/piagent-webui/dist/client/assets/dist-BM_LL1o9.js +1 -0
  188. package/packages/piagent-webui/dist/client/assets/dist-C2TMLUTo.js +23 -0
  189. package/packages/piagent-webui/dist/client/assets/dist-CqL3udNu.js +1 -0
  190. package/packages/piagent-webui/dist/client/assets/dist-D4df0jLQ.js +1 -0
  191. package/packages/piagent-webui/dist/client/assets/dist-D6i5SpQu.js +10 -0
  192. package/packages/piagent-webui/dist/client/assets/dist-DfjUS8LS.js +6 -0
  193. package/packages/piagent-webui/dist/client/assets/dist-IRUjhd1P.js +1 -0
  194. package/packages/piagent-webui/dist/client/assets/dist-sNhoSseW.js +1 -0
  195. package/packages/piagent-webui/dist/client/assets/index-Brs_HjIo.css +1 -0
  196. package/packages/piagent-webui/dist/client/assets/index-a-perpOX.js +102 -0
  197. package/packages/piagent-webui/dist/client/assets/rolldown-runtime-hePW80VL.js +1 -0
  198. package/packages/piagent-webui/dist/client/assets/tab-close-nAxrK7Lq.js +1 -0
  199. package/packages/piagent-webui/dist/client/assets/ui-preferences-BO3AV7QE.js +10 -0
  200. package/packages/piagent-webui/dist/client/assets/useId-DEefKUAT.js +124 -0
  201. package/packages/piagent-webui/dist/client/assets/workspace-api-O7auv_td.js +1 -0
  202. package/packages/piagent-webui/dist/client/index.html +10 -2
  203. package/packages/piagent-webui/extension/same-session-bridge.ts +2 -3
  204. package/packages/piagent-webui/extension/source-revert-controller.ts +14 -208
  205. package/packages/piagent-webui/gateway/checkpoint-sessions.ts +99 -0
  206. package/packages/piagent-webui/gateway/checkpoint-store.ts +6 -0
  207. package/packages/piagent-webui/gateway/company-relay.ts +5 -0
  208. package/packages/piagent-webui/gateway/company-terminal-cache.ts +54 -0
  209. package/packages/piagent-webui/gateway/company-terminal-channel.ts +117 -0
  210. package/packages/piagent-webui/gateway/company-terminal-relay.ts +75 -0
  211. package/packages/piagent-webui/gateway/gateway-protocol-service.ts +12 -0
  212. package/packages/piagent-webui/gateway/gateway-service.ts +48 -4
  213. package/packages/piagent-webui/gateway/managed-gateway.mjs +30 -3
  214. package/packages/piagent-webui/gateway/managed-projection.ts +5 -3
  215. package/packages/piagent-webui/gateway/managed-source-revert-controller.ts +45 -0
  216. package/packages/piagent-webui/gateway/managed-source-revert-sessions.ts +74 -0
  217. package/packages/piagent-webui/gateway/managed-terminal-binding.ts +30 -0
  218. package/packages/piagent-webui/gateway/managed-terminal-processes.ts +74 -0
  219. package/packages/piagent-webui/gateway/managed-terminal-sessions.ts +9 -0
  220. package/packages/piagent-webui/gateway/path-suggestions.ts +1 -124
  221. package/packages/piagent-webui/gateway/personal-terminal-binding.ts +36 -0
  222. package/packages/piagent-webui/gateway/personal-terminal-diagnostic.mjs +16 -0
  223. package/packages/piagent-webui/gateway/personal-terminal-processes.ts +119 -0
  224. package/packages/piagent-webui/gateway/personal-terminal-sessions.ts +22 -0
  225. package/packages/piagent-webui/gateway/runtime-session-controls.ts +2 -1
  226. package/packages/piagent-webui/gateway/session-catalog.ts +3 -2
  227. package/packages/piagent-webui/gateway/session-command-controller.ts +4 -4
  228. package/packages/piagent-webui/gateway/session-inspection-registry.ts +29 -5
  229. package/packages/piagent-webui/gateway/session-runtime-supervisor.ts +8 -8
  230. package/packages/piagent-webui/gateway/signed-session-journal.ts +77 -0
  231. package/packages/piagent-webui/gateway/source-revert-sessions.ts +74 -0
  232. package/packages/piagent-webui/gateway/source-revert-store.ts +47 -0
  233. package/packages/piagent-webui/gateway/terminal-command-ledger.ts +33 -0
  234. package/packages/piagent-webui/gateway/terminal-mentions.ts +29 -0
  235. package/packages/piagent-webui/gateway/terminal-output-buffer.ts +58 -0
  236. package/packages/piagent-webui/gateway/terminal-router.ts +12 -0
  237. package/packages/piagent-webui/gateway/terminal-sessions.ts +247 -0
  238. package/packages/piagent-webui/gateway/workspace-write-sessions.ts +69 -0
  239. package/packages/piagent-webui/gateway/workspace-write-store.ts +6 -0
  240. package/packages/piagent-webui/package.json +15 -2
  241. package/packages/piagent-webui/server/checkpoint-command.ts +30 -0
  242. package/packages/piagent-webui/server/checkpoint-controller.ts +87 -0
  243. package/packages/piagent-webui/server/checkpoint-routes.ts +38 -0
  244. package/packages/piagent-webui/server/control-command-digest.ts +5 -0
  245. package/packages/piagent-webui/server/core-inspection-provider.ts +16 -22
  246. package/packages/piagent-webui/server/gateway-websocket.ts +36 -8
  247. package/packages/piagent-webui/server/loopback-server.ts +9 -0
  248. package/packages/piagent-webui/server/read-model-provider.ts +3 -0
  249. package/packages/piagent-webui/server/read-only-router.ts +3 -0
  250. package/packages/piagent-webui/server/session-auth.ts +4 -1
  251. package/packages/piagent-webui/server/session-source-revert-routes.ts +54 -0
  252. package/packages/piagent-webui/server/source-projection-binding.ts +18 -0
  253. package/packages/piagent-webui/server/source-revert-controller.ts +225 -0
  254. package/packages/piagent-webui/server/terminal-command.ts +35 -0
  255. package/packages/piagent-webui/server/terminal-websocket-stream.ts +56 -0
  256. package/packages/piagent-webui/server/transcript-projection.ts +2 -1
  257. package/packages/piagent-webui/server/workspace-read-routes.ts +32 -0
  258. package/packages/piagent-webui/server/workspace-reader.ts +23 -0
  259. package/packages/piagent-webui/server/workspace-write-controller.ts +118 -0
  260. package/packages/piagent-webui/server/workspace-write-routes.ts +38 -0
  261. package/packages/piagent-webui/shared/terminal-message.ts +23 -0
  262. package/schemas/piagent-webui/catalog-v1.json +63 -0
  263. package/schemas/piagent-webui/checkpoint-v1.schema.json +466 -0
  264. package/schemas/piagent-webui/control-command-v1.schema.json +68 -3
  265. package/schemas/piagent-webui/diff-v1.schema.json +4 -0
  266. package/schemas/piagent-webui/gateway-protocol-v1.schema.json +123 -3
  267. package/schemas/piagent-webui/session-catalog-v1.schema.json +1 -1
  268. package/schemas/piagent-webui/session-command-v1.schema.json +1 -1
  269. package/schemas/piagent-webui/snapshot-v1.schema.json +2 -1
  270. package/schemas/piagent-webui/source-revert-v1.schema.json +22 -3
  271. package/schemas/piagent-webui/terminal-v1.schema.json +495 -0
  272. package/schemas/piagent-webui/workspace-file-v1.schema.json +79 -0
  273. package/schemas/piagent-webui/workspace-paths-v1.schema.json +71 -0
  274. package/schemas/piagent-webui/workspace-search-v1.schema.json +80 -0
  275. package/schemas/piagent-webui/workspace-tree-v1.schema.json +87 -0
  276. package/schemas/piagent-webui/workspace-write-v1.schema.json +276 -0
  277. package/schemas/project-profile.schema.json +8 -3
  278. package/scripts/company-terminal.mjs +16 -11
  279. package/scripts/pi-auto.sh +5 -1
  280. package/scripts/team-doctor.sh +8 -0
  281. package/packages/piagent-webui/dist/client/assets/MarkdownMessage-CfgyQQbW.js +0 -29
  282. package/packages/piagent-webui/dist/client/assets/index-HyzWKvDu.js +0 -234
  283. package/packages/piagent-webui/dist/client/assets/index-_0nGP2n3.css +0 -1
@@ -11,6 +11,122 @@
11
11
  { "$ref": "#/$defs/event" }
12
12
  ],
13
13
  "$defs": {
14
+ "terminalStateRequest": {
15
+ "allOf": [
16
+ {
17
+ "$ref": "#/$defs/requestBase"
18
+ },
19
+ {
20
+ "type": "object",
21
+ "properties": {
22
+ "method": {
23
+ "const": "terminals.state"
24
+ },
25
+ "params": {
26
+ "type": "object",
27
+ "additionalProperties": false,
28
+ "required": [
29
+ "sessionRef",
30
+ "csrfToken"
31
+ ],
32
+ "properties": {
33
+ "sessionRef": {
34
+ "$ref": "common-v1.schema.json#/$defs/opaqueRef"
35
+ },
36
+ "csrfToken": {
37
+ "type": "string",
38
+ "minLength": 16,
39
+ "maxLength": 128,
40
+ "pattern": "^[A-Za-z0-9_-]+$"
41
+ }
42
+ }
43
+ }
44
+ }
45
+ }
46
+ ]
47
+ },
48
+ "terminalCommandRequest": {
49
+ "allOf": [
50
+ {
51
+ "$ref": "#/$defs/requestBase"
52
+ },
53
+ {
54
+ "type": "object",
55
+ "properties": {
56
+ "method": {
57
+ "const": "terminals.command"
58
+ },
59
+ "params": {
60
+ "type": "object",
61
+ "additionalProperties": false,
62
+ "required": [
63
+ "command",
64
+ "csrfToken"
65
+ ],
66
+ "properties": {
67
+ "command": {
68
+ "$ref": "terminal-v1.schema.json#/$defs/command"
69
+ },
70
+ "csrfToken": {
71
+ "type": "string",
72
+ "minLength": 16,
73
+ "maxLength": 128,
74
+ "pattern": "^[A-Za-z0-9_-]+$"
75
+ }
76
+ }
77
+ }
78
+ }
79
+ }
80
+ ]
81
+ },
82
+ "terminalStateResponse": {
83
+ "allOf": [
84
+ {
85
+ "$ref": "#/$defs/responseBase"
86
+ },
87
+ {
88
+ "type": "object",
89
+ "properties": {
90
+ "method": {
91
+ "const": "terminals.state"
92
+ },
93
+ "ok": {
94
+ "const": true
95
+ },
96
+ "result": {
97
+ "$ref": "terminal-v1.schema.json#/$defs/state"
98
+ },
99
+ "error": {
100
+ "type": "null"
101
+ }
102
+ }
103
+ }
104
+ ]
105
+ },
106
+ "terminalCommandResponse": {
107
+ "allOf": [
108
+ {
109
+ "$ref": "#/$defs/responseBase"
110
+ },
111
+ {
112
+ "type": "object",
113
+ "properties": {
114
+ "method": {
115
+ "const": "terminals.command"
116
+ },
117
+ "ok": {
118
+ "const": true
119
+ },
120
+ "result": {
121
+ "$ref": "terminal-v1.schema.json#/$defs/receipt"
122
+ },
123
+ "error": {
124
+ "type": "null"
125
+ }
126
+ }
127
+ }
128
+ ]
129
+ },
14
130
  "requestId": {
15
131
  "type": "string",
16
132
  "minLength": 16,
@@ -23,7 +139,7 @@
23
139
  "maximum": 9007199254740991
24
140
  },
25
141
  "method": {
26
- "enum": ["gateway.health", "sessions.list", "sessions.get", "sessions.command"]
142
+ "enum": ["gateway.health", "sessions.list", "sessions.get", "sessions.command", "terminals.state", "terminals.command"]
27
143
  },
28
144
  "connect": {
29
145
  "type": "object",
@@ -152,7 +268,9 @@
152
268
  { "$ref": "#/$defs/healthRequest" },
153
269
  { "$ref": "#/$defs/listRequest" },
154
270
  { "$ref": "#/$defs/getRequest" },
155
- { "$ref": "#/$defs/commandRequest" }
271
+ { "$ref": "#/$defs/commandRequest" },
272
+ { "$ref": "#/$defs/terminalStateRequest" },
273
+ { "$ref": "#/$defs/terminalCommandRequest" }
156
274
  ]
157
275
  },
158
276
  "responseBase": {
@@ -232,7 +350,9 @@
232
350
  { "$ref": "#/$defs/healthResponse" },
233
351
  { "$ref": "#/$defs/listResponse" },
234
352
  { "$ref": "#/$defs/getResponse" },
235
- { "$ref": "#/$defs/commandResponse" }
353
+ { "$ref": "#/$defs/commandResponse" },
354
+ { "$ref": "#/$defs/terminalStateResponse" },
355
+ { "$ref": "#/$defs/terminalCommandResponse" }
236
356
  ]
237
357
  },
238
358
  "protocolError": {
@@ -92,7 +92,7 @@
92
92
  "composerAvailable": { "type": "boolean" },
93
93
  "needsAttention": { "type": "boolean" },
94
94
  "managedHelpers": { "type": "object", "additionalProperties": false, "required": ["active", "maximum"], "properties": {"active": {"type": ["integer", "null"], "minimum": 0, "maximum": 4}, "maximum": {"type": "integer", "minimum": 0, "maximum": 4}} },
95
- "managedThinkingLevels": {"type": "array", "uniqueItems": true, "maxItems": 7, "items": {"enum": ["off","minimal","low","medium","high","xhigh","max"]}}, "managedPermission": {"enum": ["workspace-write","trusted-full-access"]}, "managedFast": {"enum": ["off","on"]},
95
+ "managedThinkingLevels": {"type": "array", "uniqueItems": true, "maxItems": 7, "items": {"enum": ["off","minimal","low","medium","high","xhigh","max"]}}, "managedPermission": {"enum": ["workspace-write","trusted-full-access","bypass"]}, "managedBypass": {"const": true}, "managedFast": {"enum": ["off","on"]},
96
96
  "managedPlan": { "type": "object", "additionalProperties": false, "required": ["steps"], "properties": {
97
97
  "steps": { "type": "array", "minItems": 1, "maxItems": 30, "items": { "type": "object", "additionalProperties": false, "required": ["step", "status"], "properties": {
98
98
  "step": { "type": "string", "minLength": 1, "maxLength": 200 }, "status": { "enum": ["pending", "in_progress", "completed", "deferred"] } } } } } },
@@ -14,7 +14,7 @@
14
14
  "pattern": "^[A-Za-z0-9_-]+$"
15
15
  },
16
16
  "thinkingLevel": { "enum": ["off", "minimal", "low", "medium", "high", "xhigh", "max"] },
17
- "permissionMode": { "enum": ["read-only", "workspace-write", "trusted-full-access"] },
17
+ "permissionMode": { "enum": ["read-only", "workspace-write", "trusted-full-access", "bypass"] },
18
18
  "workflow": { "enum": ["task", "scout", "be-to-fe", "discuss", "plan", "review", "commit", "pr", "onboard", "platform-improve"] },
19
19
  "baseCommandProperties": {
20
20
  "type": "object",
@@ -943,6 +943,7 @@
943
943
  "read-only",
944
944
  "workspace-write",
945
945
  "trusted-full-access",
946
+ "bypass",
946
947
  null
947
948
  ]
948
949
  },
@@ -971,7 +972,7 @@
971
972
  "then": {
972
973
  "type": "object",
973
974
  "properties": {
974
- "value": { "enum": ["read-only", "workspace-write", "trusted-full-access"] },
975
+ "value": { "enum": ["read-only", "workspace-write", "trusted-full-access", "bypass"] },
975
976
  "evidence": { "enum": ["observed", "derived"] },
976
977
  "reasonCode": { "type": "null" }
977
978
  }
@@ -10,6 +10,14 @@
10
10
  "version": { "const": "piagent-webui-source-revert-v1" },
11
11
  "generatedAt": { "$ref": "common-v1.schema.json#/$defs/timestamp" },
12
12
  "identity": { "$ref": "common-v1.schema.json#/$defs/identity" },
13
+ "commandBinding": {
14
+ "type": "object", "additionalProperties": false,
15
+ "required": ["runtimeRevision", "controlRevision"],
16
+ "properties": {
17
+ "runtimeRevision": { "$ref": "common-v1.schema.json#/$defs/revisionToken" },
18
+ "controlRevision": { "$ref": "common-v1.schema.json#/$defs/revisionToken" }
19
+ }
20
+ },
13
21
  "action": { "const": "source.revert" },
14
22
  "state": { "enum": ["ready", "unavailable"] },
15
23
  "target": { "anyOf": [{ "$ref": "#/$defs/revertTarget" }, { "type": "null" }] },
@@ -18,13 +26,24 @@
18
26
  "health": { "$ref": "common-v1.schema.json#/$defs/health" }
19
27
  },
20
28
  "allOf": [
29
+ {
30
+ "if": { "properties": { "identity": { "type": "object", "properties": { "taskId": { "type": "null" } } } } },
31
+ "then": { "properties": {
32
+ "identity": { "type": "object", "properties": { "taskRunId": { "type": "null" } } },
33
+ "target": { "type": ["object", "null"], "properties": { "taskRevision": { "type": "null" } } }
34
+ } },
35
+ "else": { "properties": {
36
+ "identity": { "type": "object", "properties": { "taskRunId": { "$ref": "common-v1.schema.json#/$defs/publicId" } } },
37
+ "target": { "type": ["object", "null"], "properties": { "taskRevision": { "$ref": "common-v1.schema.json#/$defs/revisionToken" } } }
38
+ } }
39
+ },
21
40
  {
22
41
  "properties": {
23
42
  "identity": {
24
43
  "type": "object",
25
44
  "properties": {
26
- "taskId": { "$ref": "common-v1.schema.json#/$defs/publicId" },
27
- "taskRunId": { "$ref": "common-v1.schema.json#/$defs/publicId" },
45
+ "taskId": { "$ref": "common-v1.schema.json#/$defs/nullablePublicId" },
46
+ "taskRunId": { "$ref": "common-v1.schema.json#/$defs/nullablePublicId" },
28
47
  "agentOperationId": { "type": "null" },
29
48
  "toolCallId": { "type": "null" }
30
49
  }
@@ -96,7 +115,7 @@
96
115
  "path": { "$ref": "common-v1.schema.json#/$defs/safeDisplayPath" },
97
116
  "oldPath": { "type": "null" },
98
117
  "effect": { "const": "restore-worktree-from-index" },
99
- "taskRevision": { "$ref": "common-v1.schema.json#/$defs/revisionToken" },
118
+ "taskRevision": { "$ref": "common-v1.schema.json#/$defs/nullableRevisionToken" },
100
119
  "workspaceRevision": { "$ref": "common-v1.schema.json#/$defs/revisionToken" },
101
120
  "indexRevision": { "$ref": "common-v1.schema.json#/$defs/revisionToken" },
102
121
  "viewRevision": { "$ref": "common-v1.schema.json#/$defs/revisionToken" },