@abelxiaoxing/cadence 1.8.3 → 2.0.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 (208) hide show
  1. package/README.md +324 -111
  2. package/THIRD_PARTY_NOTICES.md +15 -0
  3. package/agents/design-explorer.md +14 -26
  4. package/agents/diagnosis-worker.md +14 -25
  5. package/agents/implementation-worker.md +16 -35
  6. package/config/.env.example +2 -5
  7. package/config/workflow-task.example.json +7 -0
  8. package/docs/remote-access.md +60 -0
  9. package/docs/reuse-and-distribution.md +44 -0
  10. package/docs/service-management.md +108 -0
  11. package/licenses/bundled-web.txt +6245 -0
  12. package/licenses/pi-web-ui-MIT.txt +21 -0
  13. package/licenses/pi-web-ui-reuse.md +22 -0
  14. package/package.json +94 -21
  15. package/src/index.ts +22 -1807
  16. package/src/native-build.ts +6 -0
  17. package/src/native-client.ts +103 -0
  18. package/src/native-export.ts +58 -0
  19. package/src/native-history.ts +359 -0
  20. package/src/operator-cli.mjs +453 -1937
  21. package/src/plan-proposal.ts +87 -0
  22. package/src/sdk-worker.mjs +549 -0
  23. package/src/service/contracts/active.ts +82 -0
  24. package/src/service/contracts/budget.ts +148 -0
  25. package/src/service/contracts/build.ts +67 -0
  26. package/src/service/contracts/capture.ts +48 -0
  27. package/src/service/contracts/core.ts +33 -0
  28. package/src/service/contracts/current.ts +261 -0
  29. package/src/service/contracts/domain.ts +68 -0
  30. package/src/service/contracts/history.ts +2245 -0
  31. package/src/service/contracts/models.ts +139 -0
  32. package/src/service/coordination.ts +862 -0
  33. package/src/service/private-files.ts +204 -0
  34. package/src/service-cli.mjs +5592 -0
  35. package/src/service-client.ts +747 -0
  36. package/src/service-contract.ts +245 -0
  37. package/src/service-host.mjs +22382 -0
  38. package/src/service-http-client.ts +425 -0
  39. package/src/service-wire.ts +372 -0
  40. package/src/task-shell.ts +1045 -0
  41. package/src/task-store.ts +479 -0
  42. package/src/task-types.ts +184 -0
  43. package/src/verification-diagnostics.ts +29 -72
  44. package/src/worker-capture.mjs +1197 -0
  45. package/src/worker-public.mjs +1753 -0
  46. package/src/worker-redaction.mjs +608 -0
  47. package/src/worker-tools.mjs +202 -0
  48. package/web/dist/assets/KaTeX_AMS-Regular.ttf +0 -0
  49. package/web/dist/assets/KaTeX_AMS-Regular.woff +0 -0
  50. package/web/dist/assets/KaTeX_AMS-Regular.woff2 +0 -0
  51. package/web/dist/assets/KaTeX_Caligraphic-Bold.ttf +0 -0
  52. package/web/dist/assets/KaTeX_Caligraphic-Bold.woff +0 -0
  53. package/web/dist/assets/KaTeX_Caligraphic-Bold.woff2 +0 -0
  54. package/web/dist/assets/KaTeX_Caligraphic-Regular.ttf +0 -0
  55. package/web/dist/assets/KaTeX_Caligraphic-Regular.woff +0 -0
  56. package/web/dist/assets/KaTeX_Caligraphic-Regular.woff2 +0 -0
  57. package/web/dist/assets/KaTeX_Fraktur-Bold.ttf +0 -0
  58. package/web/dist/assets/KaTeX_Fraktur-Bold.woff +0 -0
  59. package/web/dist/assets/KaTeX_Fraktur-Bold.woff2 +0 -0
  60. package/web/dist/assets/KaTeX_Fraktur-Regular.ttf +0 -0
  61. package/web/dist/assets/KaTeX_Fraktur-Regular.woff +0 -0
  62. package/web/dist/assets/KaTeX_Fraktur-Regular.woff2 +0 -0
  63. package/web/dist/assets/KaTeX_Main-Bold.ttf +0 -0
  64. package/web/dist/assets/KaTeX_Main-Bold.woff +0 -0
  65. package/web/dist/assets/KaTeX_Main-Bold.woff2 +0 -0
  66. package/web/dist/assets/KaTeX_Main-BoldItalic.ttf +0 -0
  67. package/web/dist/assets/KaTeX_Main-BoldItalic.woff +0 -0
  68. package/web/dist/assets/KaTeX_Main-BoldItalic.woff2 +0 -0
  69. package/web/dist/assets/KaTeX_Main-Italic.ttf +0 -0
  70. package/web/dist/assets/KaTeX_Main-Italic.woff +0 -0
  71. package/web/dist/assets/KaTeX_Main-Italic.woff2 +0 -0
  72. package/web/dist/assets/KaTeX_Main-Regular.ttf +0 -0
  73. package/web/dist/assets/KaTeX_Main-Regular.woff +0 -0
  74. package/web/dist/assets/KaTeX_Main-Regular.woff2 +0 -0
  75. package/web/dist/assets/KaTeX_Math-BoldItalic.ttf +0 -0
  76. package/web/dist/assets/KaTeX_Math-BoldItalic.woff +0 -0
  77. package/web/dist/assets/KaTeX_Math-BoldItalic.woff2 +0 -0
  78. package/web/dist/assets/KaTeX_Math-Italic.ttf +0 -0
  79. package/web/dist/assets/KaTeX_Math-Italic.woff +0 -0
  80. package/web/dist/assets/KaTeX_Math-Italic.woff2 +0 -0
  81. package/web/dist/assets/KaTeX_SansSerif-Bold.ttf +0 -0
  82. package/web/dist/assets/KaTeX_SansSerif-Bold.woff +0 -0
  83. package/web/dist/assets/KaTeX_SansSerif-Bold.woff2 +0 -0
  84. package/web/dist/assets/KaTeX_SansSerif-Italic.ttf +0 -0
  85. package/web/dist/assets/KaTeX_SansSerif-Italic.woff +0 -0
  86. package/web/dist/assets/KaTeX_SansSerif-Italic.woff2 +0 -0
  87. package/web/dist/assets/KaTeX_SansSerif-Regular.ttf +0 -0
  88. package/web/dist/assets/KaTeX_SansSerif-Regular.woff +0 -0
  89. package/web/dist/assets/KaTeX_SansSerif-Regular.woff2 +0 -0
  90. package/web/dist/assets/KaTeX_Script-Regular.ttf +0 -0
  91. package/web/dist/assets/KaTeX_Script-Regular.woff +0 -0
  92. package/web/dist/assets/KaTeX_Script-Regular.woff2 +0 -0
  93. package/web/dist/assets/KaTeX_Size1-Regular.ttf +0 -0
  94. package/web/dist/assets/KaTeX_Size1-Regular.woff +0 -0
  95. package/web/dist/assets/KaTeX_Size1-Regular.woff2 +0 -0
  96. package/web/dist/assets/KaTeX_Size2-Regular.ttf +0 -0
  97. package/web/dist/assets/KaTeX_Size2-Regular.woff +0 -0
  98. package/web/dist/assets/KaTeX_Size2-Regular.woff2 +0 -0
  99. package/web/dist/assets/KaTeX_Size3-Regular.ttf +0 -0
  100. package/web/dist/assets/KaTeX_Size3-Regular.woff +0 -0
  101. package/web/dist/assets/KaTeX_Size3-Regular.woff2 +0 -0
  102. package/web/dist/assets/KaTeX_Size4-Regular.ttf +0 -0
  103. package/web/dist/assets/KaTeX_Size4-Regular.woff +0 -0
  104. package/web/dist/assets/KaTeX_Size4-Regular.woff2 +0 -0
  105. package/web/dist/assets/KaTeX_Typewriter-Regular.ttf +0 -0
  106. package/web/dist/assets/KaTeX_Typewriter-Regular.woff +0 -0
  107. package/web/dist/assets/KaTeX_Typewriter-Regular.woff2 +0 -0
  108. package/web/dist/assets/cadence.css +2 -0
  109. package/web/dist/assets/cadence.js +7 -0
  110. package/web/dist/assets/markdown.js +296 -0
  111. package/web/dist/assets/react.js +9 -0
  112. package/web/dist/assets/rolldown-runtime.js +1 -0
  113. package/web/dist/assets/timeline-client.js +41 -0
  114. package/web/dist/assets/vis-timeline.css +1274 -0
  115. package/web/dist/assets/vis-timeline.js +32 -0
  116. package/web/dist/index.html +18 -0
  117. package/web/dist/manifest.json +505 -0
  118. package/config/plan-draft.example.json +0 -125
  119. package/config/plan-draft.multiple-tasks.example.json +0 -375
  120. package/config/plan-draft.quick.example.json +0 -78
  121. package/config/routes.example.json +0 -39
  122. package/prompts/abel-design.md +0 -382
  123. package/prompts/abel-diagnose.md +0 -71
  124. package/prompts/abel-implement.md +0 -284
  125. package/prompts/abel-init.md +0 -52
  126. package/src/activation.ts +0 -44
  127. package/src/activity-contracts.ts +0 -82
  128. package/src/agent-registry.ts +0 -53
  129. package/src/apply-transaction.ts +0 -1437
  130. package/src/artifact-store.ts +0 -213
  131. package/src/build-windows-job.mjs +0 -95
  132. package/src/candidate-artifact.ts +0 -143
  133. package/src/candidate-patch.ts +0 -271
  134. package/src/candidate-workspace.ts +0 -80
  135. package/src/canonical.ts +0 -16
  136. package/src/change-contract-schema.ts +0 -191
  137. package/src/change-contract.ts +0 -324
  138. package/src/change-verification.ts +0 -1617
  139. package/src/child-budget.ts +0 -58
  140. package/src/child-model.ts +0 -142
  141. package/src/child-session.ts +0 -640
  142. package/src/contracts.ts +0 -2476
  143. package/src/control-contracts.ts +0 -382
  144. package/src/delivery-compiler.ts +0 -1805
  145. package/src/delivery-revision.ts +0 -42
  146. package/src/design-control.ts +0 -1299
  147. package/src/design-diagnostics.ts +0 -181
  148. package/src/design-journal.ts +0 -1773
  149. package/src/directory-sync.ts +0 -36
  150. package/src/durable-contracts.ts +0 -231
  151. package/src/durable-workflow.ts +0 -978
  152. package/src/evidence-draft.ts +0 -122
  153. package/src/execution-profile.ts +0 -64
  154. package/src/execution-retention.ts +0 -77
  155. package/src/file-snapshot.ts +0 -163
  156. package/src/implement-continuation.ts +0 -559
  157. package/src/implement-graph.ts +0 -690
  158. package/src/implement-plan.ts +0 -72
  159. package/src/install-config.d.mts +0 -6
  160. package/src/isolation-backend.ts +0 -353
  161. package/src/model-source.ts +0 -22
  162. package/src/openspec-cli.ts +0 -494
  163. package/src/operator-cli-entry.mjs +0 -24
  164. package/src/operator-tools.ts +0 -309
  165. package/src/package-candidate.ts +0 -227
  166. package/src/package-delivery.ts +0 -486
  167. package/src/package-state.ts +0 -320
  168. package/src/package-verification.ts +0 -635
  169. package/src/package-workflow.ts +0 -342
  170. package/src/packet-runtime.ts +0 -570
  171. package/src/parent-provider.ts +0 -375
  172. package/src/phase-execution.ts +0 -2259
  173. package/src/pi-adapter.ts +0 -19
  174. package/src/plan-draft-summary.ts +0 -527
  175. package/src/plan-draft.ts +0 -502
  176. package/src/remove-path.ts +0 -32
  177. package/src/route-policy.ts +0 -545
  178. package/src/run-state.ts +0 -420
  179. package/src/run-store.ts +0 -1179
  180. package/src/safe-path.ts +0 -77
  181. package/src/scoped-grep-worker.mjs +0 -23
  182. package/src/scoped-tools.ts +0 -775
  183. package/src/single-task-draft.ts +0 -142
  184. package/src/sqlite-schema.ts +0 -171
  185. package/src/state-root.ts +0 -215
  186. package/src/storage-schema.ts +0 -360
  187. package/src/subagent-activity.ts +0 -1417
  188. package/src/submit-tool.ts +0 -950
  189. package/src/task-ledger.ts +0 -1338
  190. package/src/transport-budget.ts +0 -52
  191. package/src/verification-capability.ts +0 -1191
  192. package/src/verification-environment-io.ts +0 -389
  193. package/src/verification-environment.ts +0 -162
  194. package/src/verification-identity.ts +0 -77
  195. package/src/verification-scan.ts +0 -64
  196. package/src/windows-job-backend.ts +0 -419
  197. package/src/windows-job.c +0 -149
  198. package/src/worker-broker.ts +0 -806
  199. package/src/workflow-engine.ts +0 -28
  200. package/src/workflow-policy.ts +0 -1679
  201. package/src/workflow-recovery-policy.ts +0 -97
  202. package/src/workflow-scheduling.ts +0 -105
  203. package/src/workflow-state-machine.ts +0 -4355
  204. package/src/workflow-status.ts +0 -576
  205. package/src/workspace-io-entry.mjs +0 -76
  206. package/src/workspace-io-worker.mjs +0 -1312
  207. package/src/workspace-io.ts +0 -89
  208. package/src/workspace-store.ts +0 -634
@@ -0,0 +1,7 @@
1
+ import{r as e}from"./rolldown-runtime.js";import{n as t,r as n,t as r}from"./react.js";import{a as i,c as a,i as o,n as s,o as c,r as l,s as u,t as d}from"./markdown.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var f=e(n(),1),p=t(),m=`cadence-graph/2`,h=`cadence-public-export/2`,g=Object.freeze({controlBytes:1048576,admissionCount:16,admissionBytes:33554432,cancelBytes:65536,headerBytes:8192,wsClientFrameBytes:16384,startWaitMs:1e4,stopWaitMs:6e4,authWaitMs:3e4,authValidityMarginMs:12e4,browserLifetimeMs:432e5,terminateGraceMs:1e3,unconfirmedStopMs:3e3,graphBytes:524288,grantMs:12e4,assignments:16,instructionsBytes:16384,expectedOutputBytes:2048,workerRequestBytes:131072,publicRequestBytes:98304,predecessorBytes:16384,handoffBytes:32768,frameBytes:65536,chunkBytes:8192,detailBytes:33554432,childProtocolBytes:134217728,dataFrames:1e5,controlFrames:256,sdkEvents:1e6,workerQueueBytes:4194304,workerQueueFrames:1024,ownerQueueBytes:8388608,ownerQueueFrames:2048,ownerControlBytes:1048576,ownerControlFrames:256,recordingStallMs:5e3,episodes:8,queuedAssignments:128,childReservations:2,episodeMs:216e5,readyWaitMs:6e5,workerMs:12e5,artifactPartBytes:262144,progressBatchMs:100,progressBatchBytes:262144,segmentBytes:8388608,segmentRecords:4096,checkoutQuotaBytes:10737418240,episodeReservationBytes:536870912,freeSpaceFloorBytes:268435456,episodeControlBytes:1048576,searchReaders:2,exportReaders:2,downloadIdleMs:12e4,pageEntries:50,maxPageEntries:200,pageBytes:524288,detailPageBytes:262144,previewBytes:4096,searchBytes:8388608,searchMs:100,queryBytes:1024,navigationBytes:8192,ringEvents:1024,ringBytes:2097152,viewers:16,viewerMessages:256,viewerBytes:1048576,heartbeatMs:5e3,staleMs:15e3,reconcileMs:3e4}),_=[`invalid`,`oversize`,`unauthenticated`,`forbidden`,`stale`,`conflict`,`corrupt-selected`,`expired-grant`,`consumed-grant`,`unsupported-context`,`quarantine`,`capacity`,`unavailable`,`auth-unavailable`,`recording-exhausted`,`receipt-inconclusive`],v=class extends Error{code;constructor(e=`invalid`){super(e),this.code=e}};function y(e,t=`none`){return{code:e,effect:t,recovery:t!==`none`||e===`receipt-inconclusive`?`observe`:[`stale`,`expired-grant`,`consumed-grant`].includes(e)?`fresh-confirmation`:`operator`}}function b(){throw new v}function x(e,t,n=!1){if((typeof e!=`string`||e.includes(`\0`)||/[\uD800-\uDFFF]/u.test(e)||n&&!e.trim())&&b(),S(e)>t)throw new v(`oversize`);return e}function S(e){return new TextEncoder().encode(e).length}function C(e,t=0,n=2**53-1){return(typeof e!=`number`||!Number.isSafeInteger(e)||e<t||e>n)&&b(),e}function w(e){return typeof e!=`boolean`&&b(),e}function T(e,t){return(typeof e!=`string`||!t.includes(e))&&b(),e}function E(e,t){return e!==t&&b(),t}function D(e,t){return e===null?null:t(e)}function O(e,t){(typeof e!=`object`||!e||Array.isArray(e)||![null,Object.prototype].includes(Object.getPrototypeOf(e)))&&b();let n=Reflect.ownKeys(e);(n.length!==t.length||n.some(e=>typeof e!=`string`||!t.includes(e)))&&b();let r=Object.create(null);for(let n of t){let t=Object.getOwnPropertyDescriptor(e,n);(!t||!(`value`in t)||!t.enumerable)&&b(),r[n]=t.value}return r}function k(e,t,n){(!Array.isArray(e)||e.length>t||Reflect.ownKeys(e).length!==e.length+1)&&b();let r=[];for(let t=0;t<e.length;t++){let i=Object.getOwnPropertyDescriptor(e,String(t));(!i||!(`value`in i))&&b(),r.push(n(i.value))}return r}function A(e){let t=x(e,36);return/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.test(t)||b(),t}function j(e){let t=x(e,64);return/^[0-9a-f]{64}$/.test(t)||b(),t}function M(e){let t=x(e,g.controlBytes);return/^(0|[1-9][0-9]*)$/.test(t)||b(),t}function N(e,t){return M(e),M(t),e.length===t.length?e===t?0:e<t?-1:1:e.length<t.length?-1:1}function ee(e){let t=x(e,48);return/^[a-z][a-z0-9-]{0,47}$/.test(t)||b(),t}function P(e,t=g.controlBytes){let n=t,r=e=>{if(n-=S(e),n<0)throw new v(`oversize`);return e};function i(e,n){if(n>64&&b(),e===null||typeof e==`boolean`)return r(String(e));if(typeof e==`string`)return x(e,t),r(JSON.stringify(e));if(typeof e==`number`)return Number.isFinite(e)||b(),r(JSON.stringify(e));if(Array.isArray(e)){let a=k(e,t,e=>e);return r(`[]${`,`.repeat(Math.max(0,a.length-1))}`),`[${a.map(e=>i(e,n+1)).join(`,`)}]`}if(e&&typeof e==`object`){let t=Reflect.ownKeys(e);t.some(e=>typeof e!=`string`)&&b();let a=t.sort(),o=O(e,a);return r(`{}${`,`.repeat(Math.max(0,a.length-1))}`),`{${a.map(e=>`${r(`${JSON.stringify(e)}:`)}${i(o[e],n+1)}`).join(`,`)}}`}return b()}return i(e,0)}function F(e,t=g.controlBytes){x(e,t);let n=0,r=()=>{for(;/[\x20\t\r\n]/.test(e[n]??`!`);)n++};function i(){let r=n++,i=!1;for(;n<e.length;){let a=e[n++];if(!i&&a===`"`)try{return x(JSON.parse(e.slice(r,n)),t)}catch{return b()}i=!i&&a===`\\`}return b()}function a(t){if(t>64&&b(),r(),e[n]===`"`)return i();if(e[n]===`{`||e[n]===`[`){let o=e[n++]===`{`,s=o?`}`:`]`,c=Object.create(null),l=[],u=new Set;if(r(),e[n]===s)return n++,o?c:l;for(;;){r();let d=``;o&&(e[n]!==`"`&&b(),d=i(),u.has(d)&&b(),u.add(d),r(),e[n++]!==`:`&&b());let f=a(t+1);o?c[d]=f:l.push(f),r();let p=e[n++];if(p===s)break;p!==`,`&&b()}return o?c:l}let o=/^(?:true|false|null|-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?)/.exec(e.slice(n))?.[0];o||b(),n+=o.length;let s=JSON.parse(o);return typeof s==`number`&&!Number.isFinite(s)&&b(),s}let o=a(0);return r(),n!==e.length&&b(),o}function I(e){let t=O(e,[`code`,`effect`,`recovery`]);return{code:T(t.code,_),effect:T(t.effect,[`none`,`accepted`,`uncertain`]),recovery:T(t.recovery,[`observe`,`fresh-confirmation`,`operator`])}}var te=[`plan`,`context`,`message`,`final-text`,`tool-args`,`tool-update`,`tool-result`,`check`,`changes`,`review`],L=[`completed`,`failed`,`canceled`,`timeout`,`unknown`,`blocked`],ne=[`not-launched`,`direct-child-closed`,`unconfirmed`],re=[`openai-completions`,`openai-responses`,`openai-codex-responses`,`anthropic-messages`,`google-generative-ai`,`mistral-conversations`,`azure-openai-responses`],ie=[`off`,`minimal`,`low`,`medium`,`high`,`xhigh`];function ae(e){let t=O(e,[`provider`,`model`,`api`,`thinking`]);return{provider:x(t.provider,128,!0),model:x(t.model,256,!0),api:T(t.api,re),thinking:T(t.thinking,ie)}}function oe(e){let{sourceSelectionId:t,...n}=O(e,[`sourceSelectionId`,`provider`,`model`,`api`,`thinking`]);return{sourceSelectionId:A(t),...ae(n)}}function se(e){let t=O(e,[`role`,`sha256`]);return{role:T(t.role,[`design-explorer`,`implementation-worker`,`diagnosis-worker`]),sha256:j(t.sha256)}}function ce(e){return e===`edit`?`implementation-worker`:e===`diagnosis`?`diagnosis-worker`:`design-explorer`}function R(e){let t=O(e,[`recordId`,`version`,`field`,`bytes`,`sha256`]);return{recordId:A(t.recordId),version:C(t.version,1),field:T(t.field,te),bytes:C(t.bytes,0,g.detailBytes),sha256:j(t.sha256)}}function z(e){let t=O(e,[`start`,`end`]),n=C(t.start);return{start:n,end:C(t.end,n+1,g.detailBytes)}}function le(e){let t=O(e,[`source`,`range`,`requireCompleteObservation`]),n=B(t.source),r;if(n===`current`)r={kind:n,assignmentId:ee(O(t.source,[`kind`,`assignmentId`]).assignmentId)};else{let e=O(t.source,[`kind`,`runId`,`childRunId`,`result`]);E(n,`historical`);let i=R(e.result);E(i.field,`final-text`),r={kind:`historical`,runId:A(e.runId),childRunId:A(e.childRunId),result:i}}let i=D(t.range,z);return r.kind===`historical`&&i&&i.end>r.result.bytes&&b(),{source:r,range:i,requireCompleteObservation:w(t.requireCompleteObservation)}}function B(e,t=`kind`){(typeof e!=`object`||!e)&&b();let n=Object.getOwnPropertyDescriptor(e,t);return(!n||!(`value`in n))&&b(),x(n.value,64,!0)}function ue(e){P(e,g.graphBytes);let t=O(e,[`schema`,`taskId`,`taskKind`,`taskRevision`,`revision`,`planRevision`,`plan`,`assignments`]),n=R(t.plan);E(n.field,`plan`);let r=C(t.planRevision,1);n.version!==r&&b();let i={schema:E(t.schema,m),taskId:A(t.taskId),taskKind:T(t.taskKind,[`code`,`research`,`diagnosis`]),taskRevision:C(t.taskRevision,1),revision:C(t.revision,1),planRevision:r,plan:n,assignments:k(t.assignments,g.assignments,e=>{let t=O(e,[`id`,`purpose`,`instructions`,`expectedOutput`,`role`,`model`,`dependencies`]);return{id:ee(t.id),purpose:T(t.purpose,[`research`,`diagnosis`,`review`,`edit`]),instructions:x(t.instructions,g.instructionsBytes,!0),expectedOutput:x(t.expectedOutput,g.expectedOutputBytes,!0),role:se(t.role),model:oe(t.model),dependencies:k(t.dependencies,g.assignments,le)}})};i.assignments.length||b();let a=new Map(i.assignments.map(e=>[e.id,e]));a.size!==i.assignments.length&&b();let o=new Set,s=new Set;function c(e){if(o.has(e.id)&&b(),s.has(e.id))return;o.add(e.id);let t=new Set;for(let n of e.dependencies){let e=P(n.source);if(t.has(e)&&b(),t.add(e),n.source.kind===`current`){let e=a.get(n.source.assignmentId);e||b(),c(e)}}o.delete(e.id),s.add(e.id)}for(let e of i.assignments){if(i.taskKind!==`code`&&e.purpose===`edit`||e.role.role!==ce(e.purpose))throw new v(`forbidden`);c(e)}return i}function de(e){let t=O(e,[`id`,`kind`,`revision`,`identity`,`graphRevision`,`graphIdentity`]),n=D(t.graphRevision,e=>C(e,1)),r=D(t.graphIdentity,j);return n===null!=(r===null)&&b(),{id:A(t.id),kind:T(t.kind,[`code`,`research`,`diagnosis`]),revision:C(t.revision,1),identity:j(t.identity),graphRevision:n,graphIdentity:r}}function V(e){let t=O(e,[`epoch`,`accessGeneration`,`configRev`,`controlRev`,`workspaceId`,`cwdId`,`model`,`checkEnvGeneration`,`checkoutGeneration`,`observation`,`task`]),n=O(t.observation,[`identity`,`complete`]);return{epoch:A(t.epoch),accessGeneration:C(t.accessGeneration,1),configRev:C(t.configRev,1),controlRev:C(t.controlRev,1),workspaceId:A(t.workspaceId),cwdId:A(t.cwdId),model:oe(t.model),checkEnvGeneration:C(t.checkEnvGeneration,1),checkoutGeneration:C(t.checkoutGeneration),observation:{identity:j(n.identity),complete:w(n.complete)},task:D(t.task,de)}}function fe(e){let t=O(e,[`kind`,`name`,`command`,`timeoutMs`]),n={kind:T(t.kind,[`configured`,`manual`]),name:x(t.name,128,!0),command:x(t.command,4096,!0),timeoutMs:C(t.timeoutMs,100,g.workerMs)},r=/[\x00-\x08\x0b-\x1f\x7f-\x9f\u202a-\u202e\u2066-\u2069]/u;return(r.test(n.name)||r.test(n.command)||/[\n\t]/.test(n.name)||n.name===`Manual command`)&&b(),n.kind===`manual`&&(n.name!==`Manual`||n.timeoutMs!==12e4)&&b(),n}function pe(e){switch(P(e),B(e)){case`create`:{let t=O(e,[`kind`,`taskKind`,`goal`]);return{kind:`create`,taskKind:T(t.taskKind,[`code`,`research`,`diagnosis`]),goal:x(t.goal,8192,!0)}}case`save-plan`:{let t=O(e,[`kind`,`taskId`,`plan`,`graph`]),n=ue(t.graph),r=A(t.taskId);return n.taskId!==r&&b(),{kind:`save-plan`,taskId:r,plan:x(t.plan,32768),graph:n}}case`generate-plan`:case`start`:return{kind:B(e),taskId:A(O(e,[`kind`,`taskId`]).taskId)};case`check`:{let t=O(e,[`kind`,`taskId`,`check`]);return{kind:`check`,taskId:A(t.taskId),check:fe(t.check)}}case`review`:{let t=O(e,[`kind`,`taskId`,`runId`,`changesIdentity`,`checksRevision`,`acceptIssues`]);return{kind:`review`,taskId:A(t.taskId),runId:A(t.runId),changesIdentity:j(t.changesIdentity),checksRevision:C(t.checksRevision),acceptIssues:w(t.acceptIssues)}}default:return b()}}function me(e){P(e);let t=O(e,[`expected`,`action`]);return{expected:V(t.expected),action:pe(t.action)}}function he(e){P(e);let t=O(e,[`commandId`,`grant`,`expected`,`action`]);return{commandId:A(t.commandId),grant:A(t.grant),expected:V(t.expected),action:pe(t.action)}}function ge(e){if(P(e),B(e)===`action`){let t=O(e,[`kind`,`expected`,`action`]);return{kind:`action`,expected:V(t.expected),action:pe(t.action)}}let t=O(e,[`kind`,`epoch`,`runId`]);return E(t.kind,`cancel`),{kind:`cancel`,epoch:A(t.epoch),runId:A(t.runId)}}function H(e){let t=O(e,[`commandId`,`epoch`,`runId`]);return{commandId:A(t.commandId),epoch:A(t.epoch),runId:A(t.runId)}}function _e(e){P(e);let t=typeof e==`object`&&!!e&&Object.hasOwn(e,`checkEnvironmentPolicy`),n=O(e,[`version`,`action`,`rootLabel`,`cwdLabel`,`readablePlan`,`graph`,`activeRunId`,`issues`,`configuredChecks`,`checksRevision`,`reviewRunId`,...t?[`checkEnvironmentPolicy`]:[]]),r=k(n.configuredChecks,32,fe);return(r.some(e=>e.kind!==`configured`)||new Set(r.map(e=>e.name)).size!==r.length)&&b(),{...t?{checkEnvironmentPolicy:E(n.checkEnvironmentPolicy,`service-launch-ordinary/1`)}:{},configuredChecks:r,checksRevision:C(n.checksRevision),reviewRunId:D(n.reviewRunId,A),version:V(n.version),action:pe(n.action),rootLabel:x(n.rootLabel,4096,!0),cwdLabel:x(n.cwdLabel,4096,!0),readablePlan:x(n.readablePlan,32768),graph:D(n.graph,ue),activeRunId:D(n.activeRunId,A),issues:k(n.issues,7,e=>T(e,[`incomplete-observation`,`unrun-checks`,`stale-checks`,`failed-checks`,`partial-results`,`recording-incomplete`,`legacy-context`]))}}function ve(e){P(e);let t=O(e,[`grant`,`expiresAt`,`preview`]),n=x(t.expiresAt,24);return(!/^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d\.\d{3}Z$/.test(n)||!Number.isFinite(Date.parse(n))||new Date(n).toISOString()!==n)&&b(),{grant:A(t.grant),expiresAt:n,preview:_e(t.preview)}}function U(e){let t=O(e,[`observed`,`source`,`redacted`,`omissions`]),n={observed:T(t.observed,[`complete`,`incomplete`]),source:T(t.source,[`complete`,`limited`,`unavailable`]),redacted:w(t.redacted),omissions:k(t.omissions,6,e=>T(e,[`binary`,`hidden-thinking`,`source-limit`,`capture-limit`,`gap`,`unsupported`]))};return(new Set(n.omissions).size!==n.omissions.length||n.observed===`complete`&&n.omissions.some(e=>e===`capture-limit`||e===`gap`))&&b(),n}function ye(e){let t=O(e,[`graphRevision`,`inputs`]),n=0,r=new Set;return{graphRevision:C(t.graphRevision,1),inputs:k(t.inputs,g.assignments,e=>{let t=O(e,[`assignmentId`,`dependencyIndex`,`runId`,`childRunId`,`result`,`range`,`text`,`coverage`]),i=R(t.result);E(i.field,`final-text`);let a=D(t.range,z);a&&a.end>i.bytes&&b();let o=x(t.text,g.predecessorBytes);if(n+=S(o),n>g.handoffBytes)throw new v(`oversize`);let s=C(t.dependencyIndex,0,g.assignments-1);return r.has(s)&&b(),r.add(s),S(o)!==(a?a.end-a.start:i.bytes)&&b(),{assignmentId:ee(t.assignmentId),dependencyIndex:s,runId:A(t.runId),childRunId:A(t.childRunId),result:i,range:a,text:o,coverage:U(t.coverage)}})}}function be(e){let t=O(e,[`outcome`,`closure`,`exitCode`,`signal`,`durationMs`,`stdin`,`final`,`cleanup`,`capture`]),n={outcome:T(t.outcome,[`completed`,`failed`,`canceled`,`timeout`,`unknown`]),closure:T(t.closure,ne),exitCode:D(t.exitCode,e=>C(e,-2147483648,4294967295)),signal:D(t.signal,e=>x(e,32,!0)),durationMs:C(t.durationMs),stdin:T(t.stdin,[`delivered`,`failed`,`not-required`]),final:T(t.final,[`valid`,`missing`,`invalid`]),cleanup:T(t.cleanup,[`settled`,`failed`,`unconfirmed`]),capture:U(t.capture)};return n.closure===`not-launched`&&(n.exitCode!==null||n.signal!==null)&&b(),n.outcome===`completed`&&(n.closure!==`direct-child-closed`||n.exitCode!==0||n.signal!==null||n.stdin!==`delivered`||n.final!==`valid`||n.cleanup!==`settled`||n.capture.observed!==`complete`)&&b(),n}function W(e){let t=O(e,[`kind`,`id`]);return{kind:T(t.kind,[`task`,`run`,`child`]),id:A(t.id)}}function xe(e){let t=x(e,g.navigationBytes,!0);return/^[\x21-\x7e]+$/.test(t)||b(),t}function G(e){P(e);let t=O(e,[`storeId`,`scope`,`query`,`snapshotSeq`,`recordId`,`recordVersion`,`field`,`offset`,...Object.hasOwn(e??{},`navigation`)?[`navigation`]:[]]),n={storeId:A(t.storeId),scope:W(t.scope),query:D(t.query,e=>{let t=x(e,g.queryBytes);return t.length||b(),t}),snapshotSeq:M(t.snapshotSeq),recordId:D(t.recordId,A),recordVersion:D(t.recordVersion,e=>C(e,1)),field:D(t.field,e=>T(e,te)),offset:C(t.offset),...Object.hasOwn(t,`navigation`)?{navigation:xe(t.navigation)}:{}};return(n.recordId===null!=(n.recordVersion===null)||n.recordId===null!=(n.field===null))&&b(),n}function K(e){let t=O(e,[`disposition`,`value`]),n=T(t.disposition,[`observed`,`unavailable`,`redacted`]),r=we(t.value);return n===`observed`!=(r!==null)&&b(),{disposition:n,value:r}}function q(e){let t=O(e,[`messageId`,`blockId`]);return{messageId:A(t.messageId),blockId:A(t.blockId)}}function J(e){let t=B(e);if(t===`message-final`)return{kind:t,messageId:A(O(e,[`kind`,`messageId`]).messageId)};if(t===`context`)return{kind:t,component:T(O(e,[`kind`,`component`]).component,[`request-context`,`request-prompt`,`request-instructions`,`role`,`effective-system`])};if(t===`handoff`){let n=O(e,[`kind`,`dependencyIndex`,`source`]),r=R(n.source);return E(r.field,`final-text`),{kind:t,dependencyIndex:C(n.dependencyIndex,0,g.assignments-1),source:r}}if(t===`message`){let n=O(e,[`kind`,`messageId`,`blockId`,`index`,`stage`]);return{kind:t,messageId:A(n.messageId),blockId:A(n.blockId),index:C(n.index,0,g.dataFrames),stage:T(n.stage,[`stream`,`final`])}}let n=O(e,[`kind`,`callId`,`blockId`,`index`,`stage`]);return E(t,`tool`),{kind:`tool`,callId:A(n.callId),blockId:A(n.blockId),index:C(n.index,0,g.dataFrames),stage:T(n.stage,[`arguments-partial`,`arguments-final`,`execution-arguments`,`update-snapshot`,`result`])}}function Se(e){let t=O(e,[`owner`,`field`,`encoding`]),n=J(t.owner),r=T(t.field,[`context`,`message`,`final-text`,`tool-args`,`tool-update`,`tool-result`]),i=T(t.encoding,[`utf8`,`canonical-json`]);return(r!==(n.kind===`context`||n.kind===`handoff`?`context`:n.kind===`message-final`?`final-text`:n.kind===`message`?`message`:n.stage===`result`?`tool-result`:n.stage===`update-snapshot`?`tool-update`:`tool-args`)||n.kind!==`tool`&&i!==`utf8`||r===`tool-args`&&i!==`canonical-json`&&(n.kind!==`tool`||n.stage!==`arguments-partial`))&&b(),{owner:n,field:r,encoding:i}}function Ce(e){let t=O(e,[`owner`,`sourceType`,`mimeType`,`reason`]),n=T(t.sourceType,[`image`,`audio`,`binary`,`hidden-thinking`,`unsupported`]),r=T(t.reason,[`binary`,`hidden-thinking`,`unsupported`]),i=D(t.mimeType,e=>x(e,128,!0));return(r!==(n===`hidden-thinking`?`hidden-thinking`:n===`unsupported`?`unsupported`:`binary`)||i!==null&&(n===`hidden-thinking`||!/^[a-z0-9.+-]+\/[a-z0-9.+-]+$/i.test(i)))&&b(),{owner:J(t.owner),sourceType:n,mimeType:i,reason:r}}function we(e){if(e===null)return null;let t=x(e,128,!0);return/^[a-zA-Z0-9_-]+$/.test(t)||b(),t}function Te(e){let t=B(e);switch(t){case`ready`:return{kind:t,requestProtocol:E(O(e,[`kind`,`requestProtocol`]).requestProtocol,2)};case`message-start`:{let n=O(e,[`kind`,`messageId`,`role`,`source`,`resultCallId`]),r=T(n.role,[`user`,`assistant`,`tool-result`]),i=D(n.resultCallId,A);return r!==`tool-result`&&i!==null&&b(),{kind:t,messageId:A(n.messageId),role:r,source:K(n.source),resultCallId:i}}case`message-text`:{let n=O(e,[`kind`,`messageId`,`blockId`,`detailId`]);return{kind:t,...q({messageId:n.messageId,blockId:n.blockId}),detailId:A(n.detailId)}}case`message-end`:{let n=O(e,[`kind`,`messageId`,`finalDetailId`,`finalBlockCount`,`stopReason`]);return{kind:t,messageId:A(n.messageId),finalDetailId:D(n.finalDetailId,A),finalBlockCount:C(n.finalBlockCount,0,g.dataFrames),stopReason:T(n.stopReason,[`stop`,`length`,`toolUse`,`error`,`aborted`,`unknown`])}}case`call-declaration`:{let n=O(e,[`kind`,`callId`,`declaration`,`index`,`source`,`name`,`argsDetailId`,`stage`]);return{kind:t,callId:A(n.callId),declaration:q(n.declaration),index:C(n.index,0,g.dataFrames),source:K(n.source),name:x(n.name,128,!0),argsDetailId:D(n.argsDetailId,A),stage:T(n.stage,[`partial`,`final`])}}case`tool-start`:{let n=O(e,[`kind`,`callId`,`declaration`,`source`,`name`,`argsDetailId`]);return{kind:t,callId:A(n.callId),declaration:D(n.declaration,q),source:K(n.source),name:x(n.name,128,!0),argsDetailId:D(n.argsDetailId,A)}}case`tool-update`:{let n=O(e,[`kind`,`callId`,`detailId`,`semantics`]);return{kind:t,callId:A(n.callId),detailId:A(n.detailId),semantics:E(n.semantics,`snapshot`)}}case`tool-end`:{let n=O(e,[`kind`,`callId`,`declaration`,`source`,`name`,`resultDetailId`,`isError`,`association`,`startObserved`]),r=T(n.association,[`declared`,`execution-only`,`orphan`,`ambiguous`]),i=D(n.declaration,q),a=w(n.startObserved);return(r===`declared`!=(i!==null)||r===`execution-only`&&!a||(r===`orphan`||r===`ambiguous`)&&a)&&b(),{kind:t,callId:A(n.callId),declaration:i,source:K(n.source),name:x(n.name,128,!0),resultDetailId:A(n.resultDetailId),isError:w(n.isError),association:r,startObserved:a}}case`omitted-block`:return{kind:t,block:Ce(O(e,[`kind`,`block`]).block)};case`detail-begin`:{let n=O(e,[`kind`,`detailId`,`descriptor`]);return{kind:t,detailId:A(n.detailId),descriptor:Se(n.descriptor)}}case`detail-chunk`:{let n=O(e,[`kind`,`detailId`,`offset`,`text`]),r=x(n.text,g.chunkBytes),i=C(n.offset,0,g.detailBytes);return i+S(r)>g.detailBytes&&b(),{kind:t,detailId:A(n.detailId),offset:i,text:r}}case`detail-end`:{let n=O(e,[`kind`,`detailId`,`bytes`,`sha256`,`coverage`]);return{kind:t,detailId:A(n.detailId),bytes:C(n.bytes,0,g.detailBytes),sha256:j(n.sha256),coverage:U(n.coverage)}}case`capture-status`:return{kind:t,coverage:U(O(e,[`kind`,`coverage`]).coverage)};case`worker-failure`:return{kind:t,code:T(O(e,[`kind`,`code`]).code,[`protocol`,`capture`,`model`,`auth`,`network`,`cleanup`,`prompt`])};case`final`:{let n=O(e,[`kind`,`messageId`,`detailId`,`stopReason`]);return{kind:t,messageId:A(n.messageId),detailId:A(n.detailId),stopReason:E(n.stopReason,`stop`)}}default:return b()}}function Ee(e){let t=O(e,[`outcome`,`closure`,`exitCode`,`signal`,`durationMs`,`stdin`]),n={outcome:T(t.outcome,[`completed`,`failed`,`canceled`,`timeout`,`unknown`]),closure:T(t.closure,ne),exitCode:D(t.exitCode,e=>C(e,-2147483648,4294967295)),signal:D(t.signal,e=>x(e,32,!0)),durationMs:C(t.durationMs),stdin:E(t.stdin,`not-required`)};return(n.closure===`not-launched`&&(n.exitCode!==null||n.signal!==null)||n.outcome===`completed`&&(n.closure!==`direct-child-closed`||n.exitCode!==0||n.signal!==null))&&b(),n}function De(e){let t=O(e,[`messageId`,`detailId`]);return{messageId:A(t.messageId),detailId:A(t.detailId)}}function Oe(e){let t=O(e,[`childRunId`,`detailId`,`content`,`committedSeq`]),n=M(t.committedSeq);return n===`0`&&b(),{childRunId:A(t.childRunId),detailId:A(t.detailId),content:R(t.content),committedSeq:n}}function ke(e){let t=B(e,`status`);if(t===`committed`){let n=O(e,[`status`,`selected`,`detail`]),r=De(n.selected),i=Oe(n.detail);return(r.detailId!==i.detailId||i.content.field!==`final-text`)&&b(),{status:t,selected:r,detail:i}}if(t===`refused`){let n=O(e,[`status`,`selected`,`error`]);return{status:t,selected:D(n.selected,De),error:I(n.error)}}let n=O(e,[`status`,`selected`]);return{status:T(t,[`pending`,`uncertain`]),selected:D(n.selected,De)}}function Ae(e,t){let n=D(e,M);return(n===`0`||n!==null&&t.status===`committed`&&N(n,t.detail.committedSeq)<0)&&b(),n}function je(e){return e.native?.outcome===`completed`&&e.recording.status===`committed`&&e.settlementSeq!==null}function Me(e){return e.kind===`parent`?e.outcome:e.native.outcome===`completed`?e.kind===`sdk`?je(e)?`completed`:`failed`:e.capture.observed===`complete`&&e.settlementSeq!==null?`completed`:`failed`:e.native.outcome}function Ne(e){let t=B(e);if(t===`sdk`){let n=O(e,[`kind`,`native`,`recording`,`settlementSeq`]),r=ke(n.recording),i=Ae(n.settlementSeq,r);return{kind:t,native:be(n.native),recording:r,settlementSeq:i}}if(t===`check`){let n=O(e,[`kind`,`native`,`capture`,`settlementSeq`]),r=D(n.settlementSeq,M);return r===`0`&&b(),{kind:t,native:Ee(n.native),capture:U(n.capture),settlementSeq:r}}let n=O(e,[`kind`,`outcome`,`required`]);E(t,`parent`);let r=k(n.required,g.assignments,e=>{let t=O(e,[`assignmentId`,`childRunId`,`native`,`recording`,`settlementSeq`]),n=A(t.childRunId),r=ke(t.recording);return r.status===`committed`&&r.detail.childRunId!==n&&b(),{assignmentId:ee(t.assignmentId),childRunId:n,native:D(t.native,be),recording:r,settlementSeq:Ae(t.settlementSeq,r)}}),i=T(n.outcome,L);return(!r.length||new Set(r.map(e=>e.assignmentId)).size!==r.length||new Set(r.map(e=>e.childRunId)).size!==r.length||i===`completed`&&!r.every(je))&&b(),{kind:`parent`,outcome:i,required:r}}function Pe(e){let t=O(e,[`first`,`last`,`firstObservedMs`,`lastObservedMs`]),n=C(t.first,1,g.dataFrames+g.controlFrames),r=C(t.last,n,g.dataFrames+g.controlFrames),i=C(t.firstObservedMs),a=C(t.lastObservedMs,i);return n===r&&i!==a&&b(),{first:n,last:r,firstObservedMs:i,lastObservedMs:a}}function Fe(e){let t=O(e,[`source`,`event`]),n=Pe(t.source),r=B(t.event);if(r===`stored-chunk`){let e=O(t.event,[`kind`,`detailId`,`text`]);return{source:n,event:{kind:r,detailId:A(e.detailId),text:x(e.text,g.chunkBytes)}}}if(r===`stored-end`){let e=O(t.event,[`kind`,`detailId`,`coverage`]);return{source:n,event:{kind:r,detailId:A(e.detailId),coverage:U(e.coverage)}}}let i=Te(t.event);return(i.kind===`detail-chunk`||i.kind===`detail-end`)&&b(),{source:n,event:i}}function Ie(e){let t=O(e,[`epoch`,`taskId`,`runId`,`childRunId`]);return{epoch:A(t.epoch),taskId:A(t.taskId),runId:A(t.runId),childRunId:A(t.childRunId)}}function Le(e){P({kind:`ok`,value:e},g.pageBytes);let t=Object.getOwnPropertyDescriptor(e??{},`status`)?.value===`complete`,n=O(e,[`storeId`,`workspaceId`,`epoch`,`status`,t?`runs`:`error`]),r={storeId:A(n.storeId),workspaceId:A(n.workspaceId),epoch:A(n.epoch)};if(!t)return E(n.status,`unavailable`),{...r,status:`unavailable`,error:Re(n.error)};let i=k(n.runs,g.episodes,e=>{let t=O(e,[`taskId`,`runId`,`operationId`,`epoch`,`kind`,`stage`]);return{taskId:A(t.taskId),runId:A(t.runId),operationId:A(t.operationId),epoch:A(t.epoch),kind:T(t.kind,[`start`,`generate-plan`,`check`]),stage:T(t.stage,[`accepted-unallocated`,`active`,`draining`])}});return(i.some(e=>e.epoch!==r.epoch)||new Set(i.map(e=>e.runId)).size!==i.length||new Set(i.map(e=>e.taskId)).size!==i.length||new Set(i.map(e=>e.operationId)).size!==i.length)&&b(),{...r,status:`complete`,runs:i}}function Re(e){let t=I(e);return E(t.effect,`none`),t}function ze(e){let t=O(e,[`sourceHash`,`contractHash`,`buildId`]);return{sourceHash:j(t.sourceHash),contractHash:j(t.contractHash),buildId:j(t.buildId)}}function Be(e){let t=T(Object.getOwnPropertyDescriptor(e??{},`kind`)?.value,[`native`,`browser`]),n=O(e,t===`native`?[`kind`,`contractHash`]:[`kind`,`contractHash`,`sourceHash`,`buildId`]);return t===`native`?{kind:t,contractHash:j(n.contractHash)}:{kind:t,...ze({contractHash:n.contractHash,sourceHash:n.sourceHash,buildId:n.buildId})}}function Ve(e){let t=O(e,[`contractHash`,`assets`]);return{contractHash:j(t.contractHash),assets:ze(t.assets)}}function He(e,t,n=!1){return!!e&&!!t&&t.contractHash===e.contractHash&&(n||e.assets.contractHash===e.contractHash&&(t.kind===`native`||t.buildId===e.assets.buildId&&t.sourceHash===e.assets.sourceHash))}function Ue(e){P(e);let t=O(e,[`commandId`,`operationId`,`runId`,`admission`,`committedSeq`,`execution`,`settlement`,`created`,`publication`]),n={commandId:A(t.commandId),operationId:A(t.operationId),runId:D(t.runId,A),admission:T(t.admission,[`accepted`,`refused`,`uncertain`]),committedSeq:M(t.committedSeq),execution:D(t.execution,e=>T(e,L)),settlement:D(t.settlement,Ne),created:D(t.created,e=>{let t=O(e,[`kind`,`taskId`,`state`]);return{kind:E(t.kind,`task`),taskId:A(t.taskId),state:T(t.state,[`reserved`,`published`])}}),publication:T(t.publication,[`pending`,`published`,`conflict`,`uncertain`])};return(n.committedSeq===`0`||n.settlement?.kind===`sdk`||n.execution===`completed`&&!n.settlement||n.execution!==null&&n.settlement!==null&&Me(n.settlement)!==n.execution||n.created?.state===`published`&&n.publication!==`published`)&&b(),n}function We(e){P(e);let t=O(e,[`identity`,`receipt`]),n=ge(t.identity),r=Ue(t.receipt);n.kind===`cancel`&&r.runId!==n.runId&&b();let i=n.kind===`action`&&n.action.kind===`create`;if((!i&&r.created!==null||i&&r.admission===`accepted`&&r.created===null)&&b(),n.kind===`action`){let e=[`start`,`generate-plan`,`check`].includes(n.action.kind);(r.admission===`accepted`&&e!==(r.runId!==null)||!e&&(r.execution!==null||r.settlement!==null)||r.settlement!==null&&r.settlement.kind!==(n.action.kind===`check`?`check`:`parent`))&&b()}return{identity:n,receipt:r}}function Y(e,t){if(B(e)===`ok`)return{kind:`ok`,value:t(O(e,[`kind`,`value`]).value)};let n=O(e,[`kind`,`error`]);return E(n.kind,`error`),{kind:`error`,error:I(n.error)}}function Ge(e){switch(P(e),B(e,`status`)){case`found`:return{status:`found`,receipt:Ue(O(e,[`status`,`receipt`]).receipt)};case`absent`:return{status:`absent`,committedSeq:M(O(e,[`status`,`committedSeq`]).committedSeq)};case`inconclusive`:return{status:`inconclusive`,error:I(O(e,[`status`,`error`]).error)};default:return b()}}function Ke(e){let t=O(e,[`runId`,`taskId`,`childRunId`,`assignmentId`,`admission`,`lifecycle`,`outcome`,`settlement`,`reason`,`publication`,`coverage`,`result`]),n={runId:A(t.runId),taskId:A(t.taskId),childRunId:D(t.childRunId,A),assignmentId:D(t.assignmentId,ee),admission:nt(t.admission),lifecycle:T(t.lifecycle,[`queued`,`preparing`,`running`,`closing`,`settled`]),outcome:D(t.outcome,e=>T(e,L)),settlement:D(t.settlement,Ne),reason:D(t.reason,e=>T(e,[`capacity`,`dependency`,`writer`,`parent-stopped`,`wait-expired`,`handoff-overflow`,`stale-dependency`,`quarantine`])),publication:T(t.publication,[`pending`,`published`,`conflict`,`uncertain`]),coverage:U(t.coverage),result:D(t.result,R)};return(n.admission.context.task?.id!==n.taskId||n.childRunId!==null&&!n.admission.assignments.some(e=>e.childRunId===n.childRunId&&e.assignmentId===n.assignmentId)||n.settlement?.kind===`parent`&&P(n.settlement.required.map(({assignmentId:e,childRunId:t})=>({assignmentId:e,childRunId:t})))!==P(n.admission.assignments)||n.settlement?.kind===`sdk`&&n.settlement.recording.status===`committed`&&(n.settlement.recording.detail.childRunId!==n.childRunId||n.result!==null&&P(n.result)!==P(n.settlement.recording.detail.content))||n.settlement!==null&&(n.childRunId!==null&&n.settlement.kind!==`sdk`||n.childRunId===null&&n.settlement.kind!==(n.admission.kind===`check`?`check`:`parent`)||n.outcome!==null&&Me(n.settlement)!==n.outcome)||n.childRunId===null!=(n.assignmentId===null)||n.lifecycle===`settled`!=(n.outcome!==null)||n.outcome===`completed`&&(!n.settlement||Me(n.settlement)!==`completed`||n.coverage.observed!==`complete`))&&b(),n}function qe(e,t){return t.kind===`task`?e.taskId===t.id:t.kind===`run`?e.runId===t.id:e.childRunId===t.id}function Je(e,t,n){return qe(e,t)&&e.taskId===at(n)&&e.admission.context.workspaceId===it(n)}function Ye(e){P(e,g.pageBytes);let t=O(e,[`protocol`,`storeId`,`epoch`,`scope`,`committedSeq`,`context`,`runs`,`horizon`]),n={protocol:E(t.protocol,1),storeId:A(t.storeId),epoch:A(t.epoch),scope:W(t.scope),committedSeq:M(t.committedSeq),context:rt(t.context),runs:k(t.runs,g.maxPageEntries,Ke),horizon:gt(t.horizon)};return(!ot(n.context,n.epoch,n.scope)||P(n.horizon.historicalRuns.scope)!==P(n.scope)||n.horizon.historicalRuns.snapshotSeq!==n.committedSeq||n.horizon.historicalRuns.storeId!==n.storeId||n.runs.some(e=>!Je(e,n.scope,n.context))||new Set(n.runs.map(e=>e.childRunId??e.runId)).size!==n.runs.length)&&b(),n}function Xe(e){P(e,g.pageBytes);let t=B(e),n=O(e,t===`update`?[`kind`,`storeId`,`epoch`,`scope`,`previousSeq`,`committedSeq`,`runs`,`removed`,`context`]:[`kind`,`storeId`,`epoch`,`scope`,`committedSeq`]),r={storeId:A(n.storeId),epoch:A(n.epoch),scope:W(n.scope),committedSeq:M(n.committedSeq)};if(t===`update`){let e=M(n.previousSeq);N(r.committedSeq,e)<=0&&b();let i=rt(n.context);ot(i,r.epoch,r.scope)||b();let a=k(n.runs,g.maxPageEntries,Ke),o=k(n.removed,g.maxPageEntries,A),s=a.map(e=>e.childRunId??e.runId);return(a.some(e=>!Je(e,r.scope,i))||new Set(s).size!==s.length||new Set(o).size!==o.length||o.some(e=>s.includes(e)))&&b(),{kind:t,...r,previousSeq:e,runs:a,removed:o,context:i}}return E(t,`heartbeat`),{kind:`heartbeat`,...r}}function Ze(e){let{navigation:t,...n}=e;return n}function Qe(e,t){(!t.navigation||t.navigation===e.navigation||P(Ze(e))!==P(Ze(t)))&&b()}function $e(e){if(Object.getOwnPropertyDescriptor(e??{},`kind`)?.value!==`progress`)return et(e);P({kind:`ok`,value:e},g.pageBytes);let t=O(e,[`kind`,`cursor`,`next`,`coverage`]),n=G(t.cursor),r=G(t.next);return Qe(n,r),{kind:`progress`,cursor:n,next:r,coverage:U(t.coverage)}}function et(e){P({kind:`ok`,value:e},g.pageBytes);let t=O(e,[`cursor`,`content`,`range`,`text`,`next`,`coverage`]),n={cursor:G(t.cursor),content:R(t.content),range:D(t.range,z),text:x(t.text,g.detailPageBytes),next:D(t.next,G),coverage:U(t.coverage)};return(n.cursor.recordId!==n.content.recordId||n.cursor.recordVersion!==n.content.version||n.cursor.field!==n.content.field||(n.range?n.range.start!==n.cursor.offset||n.range.end>n.content.bytes||n.range.end-n.range.start!==S(n.text):n.content.bytes!==0||n.cursor.offset!==0||n.text!==``))&&b(),n.coverage.observed===`complete`&&n.next!==null!=(n.range?.end??0)<n.content.bytes&&b(),n.next&&(n.next.offset!==n.range?.end||P(Ze({...n.next,offset:n.cursor.offset}))!==P(Ze(n.cursor)))&&b(),n}function tt(e){P({kind:`ok`,value:e},g.pageBytes);let t=O(e,[`cursor`,`hits`,`next`,`coverage`]),n=G(t.cursor);n.query||b();let r=S(n.query),i=k(t.hits,g.maxPageEntries,e=>{let t=O(e,[`content`,`range`,`preview`,`cursor`,`owner`]),i=R(t.content),a=lt(t.owner);ut(a,n.scope)||b();let o=z(t.range),s=G(t.cursor);return(o.end>i.bytes||o.end-o.start!==r||s.recordId!==i.recordId||s.recordVersion!==i.version||s.field!==i.field||s.offset!==o.start||s.storeId!==n.storeId||P(s.scope)!==P(n.scope)||s.snapshotSeq!==n.snapshotSeq||s.query!==n.query||s.navigation!==void 0)&&b(),{content:i,owner:a,range:o,preview:x(t.preview,g.previewBytes),cursor:s}}),a=D(t.next,G);return a&&(a.storeId!==n.storeId||P(a.scope)!==P(n.scope)||a.query!==n.query||a.snapshotSeq!==n.snapshotSeq||a.recordId===n.recordId&&a.recordVersion===n.recordVersion&&a.field===n.field&&(a.offset<n.offset||a.offset===n.offset&&(!a.navigation||a.navigation===n.navigation)))&&b(),{cursor:n,hits:i,next:a,coverage:U(t.coverage)}}function nt(e){let t=O(e,[`operationId`,`commandId`,`kind`,`context`,`assignments`,`graph`]),n=V(t.context),r=D(t.graph,e=>{let t=O(e,[`recordId`,`revision`,`sha256`]);return{recordId:A(t.recordId),revision:C(t.revision,1),sha256:j(t.sha256)}}),i=T(t.kind,[`start`,`generate-plan`,`check`]),a=k(t.assignments,g.assignments,e=>{let t=O(e,[`assignmentId`,`childRunId`]);return{assignmentId:ee(t.assignmentId),childRunId:A(t.childRunId)}});return(i===`check`!=(a.length===0)||new Set(a.map(e=>e.assignmentId)).size!==a.length||new Set(a.map(e=>e.childRunId)).size!==a.length)&&b(),(!n.task||i===`start`&&(!r||r.revision!==n.task.graphRevision||r.sha256!==n.task.graphIdentity)||i!==`start`&&r!==null)&&b(),{operationId:A(t.operationId),commandId:A(t.commandId),kind:i,context:n,assignments:a,graph:r}}function rt(e){if(B(e,`status`)===`available`)return{status:`available`,version:V(O(e,[`status`,`version`]).version)};let t=O(e,[`status`,`workspaceId`,`taskId`,`error`]);E(t.status,`unavailable`);let n=I(t.error);return E(n.effect,`none`),{status:`unavailable`,workspaceId:A(t.workspaceId),taskId:D(t.taskId,A),error:n}}function it(e){return e.status===`available`?e.version.workspaceId:e.workspaceId}function at(e){return e.status===`available`?e.version.task?.id??null:e.taskId}function ot(e,t,n){return(e.status!==`available`||e.version.epoch===t)&&(n.kind!==`task`||at(e)===n.id)}function st(e){let t=O(e,[`protocol`,`storeId`,`epoch`,`accessGeneration`,`authority`,`csrf`,`capabilities`,...Object.getOwnPropertyDescriptor(e??{},`build`)?[`build`]:[]]),n=O(t.capabilities,[`actions`,`manualChecks`,`history`]),r=T(t.authority,[`browser`,`local`]),i=D(t.csrf,A),a={actions:w(n.actions),manualChecks:w(n.manualChecks),history:w(n.history)};return(r===`browser`&&(i===null||a.manualChecks)||r===`local`&&i!==null)&&b(),{...t.build===void 0?{}:{build:Ve(t.build)},protocol:E(t.protocol,1),storeId:A(t.storeId),epoch:A(t.epoch),accessGeneration:C(t.accessGeneration,1),authority:r,csrf:i,capabilities:a}}function ct(e){P({kind:`ok`,value:e},g.pageBytes);let t=O(e,[`workspaceId`,`storeId`,`epoch`,`committedSeq`,`rootLabel`,`context`,`models`,...Object.hasOwn(e??{},`activeRuns`)?[`activeRuns`]:[]]),n={...t.activeRuns===void 0?{}:{activeRuns:Le(t.activeRuns)},workspaceId:A(t.workspaceId),storeId:A(t.storeId),epoch:A(t.epoch),committedSeq:M(t.committedSeq),rootLabel:x(t.rootLabel,4096,!0),context:rt(t.context),models:k(t.models,g.maxPageEntries,oe)};return n.activeRuns&&(n.activeRuns.storeId!==n.storeId||n.activeRuns.workspaceId!==n.workspaceId||n.activeRuns.epoch!==n.epoch)&&b(),(it(n.context)!==n.workspaceId||at(n.context)!==null||n.context.status===`available`&&n.context.version.epoch!==n.epoch)&&b(),n}function lt(e){let t=O(e,[`taskId`,`runId`,`childRunId`,`entity`]),n=O(t.entity,[`kind`,`id`,`version`]),r={taskId:A(t.taskId),runId:D(t.runId,A),childRunId:D(t.childRunId,A),entity:{kind:T(n.kind,[`task`,`run`,`child`,`message`,`tool`,`check`,`changes`,`review`]),id:A(n.id),version:C(n.version,1)}};return(r.childRunId!==null&&r.runId===null||r.entity.kind===`task`&&(r.entity.id!==r.taskId||r.runId!==null)||r.entity.kind===`run`&&(r.entity.id!==r.runId||r.childRunId!==null)||r.entity.kind===`child`&&r.entity.id!==r.childRunId||[`message`,`tool`].includes(r.entity.kind)&&r.childRunId===null||[`check`,`changes`,`review`].includes(r.entity.kind)&&r.childRunId!==null)&&b(),r}function ut(e,t){return t.kind===`task`?e.taskId===t.id:t.kind===`run`?e.runId===t.id:e.childRunId===t.id}function dt(e){let t=O(e,[`identity`,`complete`,`checkoutGeneration`]);return{identity:j(t.identity),complete:w(t.complete),checkoutGeneration:C(t.checkoutGeneration)}}function ft(e){P(e,g.controlBytes);let t=B(e);switch(t){case`assignment-state`:{let n=O(e,[`kind`,`childRunId`,`state`,`reason`]),r=T(n.state,[`waiting`,`ready`,`preparing`,`closing`,`unstarted`]),i=D(n.reason,e=>T(e,[`capacity`,`dependency`,`writer`,`parent-stopped`,`wait-expired`,`handoff-overflow`,`stale-dependency`,`quarantine`]));return(r===`waiting`||r===`unstarted`)&&i===null&&b(),(r===`ready`||r===`preparing`)&&i!==null&&b(),{kind:t,childRunId:A(n.childRunId),state:r,reason:i}}case`admission-closed`:return{kind:t,reason:T(O(e,[`kind`,`reason`]).reason,[`failed`,`canceled`,`timeout`,`wait-expired`,`handoff-overflow`,`stale-dependency`,`quarantine`])};case`parent-admitted`:{let n=O(e,[`kind`,`runId`,`identity`]);return{kind:t,runId:A(n.runId),identity:nt(n.identity)}}case`parent-settled`:{let n=O(e,[`kind`,`runId`,`settlement`]),r=Ne(n.settlement);return r.kind!==`parent`&&b(),{kind:t,runId:A(n.runId),settlement:r}}case`gate`:{let n=typeof e==`object`&&!!e&&Object.hasOwn(e,`reservationId`),r=O(e,[`kind`,`lane`,`state`,`checkoutGeneration`,...n?[`reservationId`]:[]]);return{kind:t,...n?{reservationId:A(r.reservationId)}:{},lane:T(r.lane,[`reader`,`writer`,`check`]),state:T(r.state,[`waiting`,`held`,`released`,`unknown`]),checkoutGeneration:C(r.checkoutGeneration)}}case`handoff`:{let n=O(e,[`kind`,`childRunId`,`handoff`,`observation`]);return{kind:t,childRunId:A(n.childRunId),handoff:ye(n.handoff),observation:dt(n.observation)}}case`changes`:{let n=O(e,[`kind`,`observationId`,`stage`,`observation`,`content`]),r=R(n.content);return E(r.field,`changes`),{kind:t,observationId:A(n.observationId),stage:T(n.stage,[`before`,`after`,`review`]),observation:dt(n.observation),content:r}}case`check-start`:{let n=O(e,[`kind`,`checkId`,`selection`,`cwdId`,`cwdLabel`,`checkEnvGeneration`,`before`]);return{kind:t,checkId:A(n.checkId),selection:fe(n.selection),cwdId:A(n.cwdId),cwdLabel:x(n.cwdLabel,4096,!0),checkEnvGeneration:C(n.checkEnvGeneration,1),before:dt(n.before)}}case`check-settled`:{let n=typeof e==`object`&&!!e&&Object.hasOwn(e,`ownAdvance`),r=O(e,[`kind`,`checkId`,`native`,`status`,`before`,`after`,`output`,`coverage`,...n?[`ownAdvance`]:[]]),i;if(n){let e=O(r.ownAdvance,[`operationId`,`reservationId`,`from`,`to`]);i={operationId:A(e.operationId),reservationId:A(e.reservationId),from:C(e.from),to:C(e.to)},(i.to!==i.from+1||i.reservationId!==r.checkId)&&b()}let a=Ee(r.native),o=T(r.status,[`passed`,`failed`,`canceled`,`stale`]),s=dt(r.before),c=dt(r.after),l=D(r.output,R),u=U(r.coverage);return l&&l.field!==`check`&&b(),o===`passed`&&(a.outcome!==`completed`||P({...s,checkoutGeneration:c.checkoutGeneration})!==P(c)||(i?s.checkoutGeneration!==i.from||c.checkoutGeneration!==i.to||l===null:s.checkoutGeneration!==c.checkoutGeneration)||u.observed!==`complete`)&&b(),o===`canceled`&&![`canceled`,`timeout`].includes(a.outcome)&&b(),{kind:t,...i?{ownAdvance:i}:{},checkId:A(r.checkId),native:a,status:o,before:s,after:c,output:l,coverage:u}}case`review`:{let n=O(e,[`kind`,`reviewId`,`runId`,`checksRevision`,`changesIdentity`,`acceptIssues`,`outcome`,`content`]),r=w(n.acceptIssues),i=T(n.outcome,[`reviewed`,`reviewed-with-issues`]),a=R(n.content);return E(a.field,`review`),i===`reviewed-with-issues`&&!r&&b(),{kind:t,reviewId:A(n.reviewId),runId:A(n.runId),checksRevision:C(n.checksRevision),changesIdentity:j(n.changesIdentity),acceptIssues:r,outcome:i,content:a}}case`publication-intent`:{let n=O(e,[`kind`,`publicationId`,`expectedRevision`,`expectedIdentity`,`nextRevision`,`nextIdentity`]),r=C(n.expectedRevision),i=D(n.expectedIdentity,j),a=C(n.nextRevision,1);return(r===0!=(i===null)||a!==r+1)&&b(),{kind:t,publicationId:A(n.publicationId),expectedRevision:r,expectedIdentity:i,nextRevision:a,nextIdentity:j(n.nextIdentity)}}case`publication-settled`:{let n=O(e,[`kind`,`publicationId`,`status`,`observed`]),r=T(n.status,[`published`,`conflict`,`uncertain`]),i=D(n.observed,e=>{let t=O(e,[`revision`,`identity`]);return{revision:C(t.revision,1),identity:j(t.identity)}});return r===`published`&&i===null&&b(),{kind:t,publicationId:A(n.publicationId),status:r,observed:i}}default:return b()}}function pt(e){let t=O(e,[`epoch`,`operationId`,`taskId`,`runId`]);return{epoch:A(t.epoch),operationId:A(t.operationId),taskId:A(t.taskId),runId:D(t.runId,A)}}function mt(e){P(e,g.ownerQueueBytes);let t=O(e,[`observedMs`,`link`,`events`]),n=pt(t.link),r=k(t.events,g.ownerQueueFrames,e=>{let t=B(e);if(t===`fact`){let r=ft(O(e,[`kind`,`fact`]).fact);return(`runId`in r&&r.runId!==n.runId||r.kind===`parent-admitted`&&(r.identity.context.task?.id!==n.taskId||r.identity.operationId!==n.operationId)||[`gate`,`assignment-state`,`admission-closed`,`handoff`,`check-start`,`check-settled`].includes(r.kind)&&n.runId===null)&&b(),{kind:t,fact:r}}if(t===`content-begin`){let r=O(e,[`kind`,`detailId`,`owner`,`field`,`encoding`]),i=lt(r.owner),a=T(r.field,[`plan`,`check`,`changes`,`review`]);return(i.taskId!==n.taskId||i.runId!==n.runId||i.childRunId!==null||i.entity.kind!==(a===`plan`?`task`:a))&&b(),{kind:t,detailId:A(r.detailId),owner:i,field:a,encoding:E(r.encoding,`utf8`)}}if(t===`content-chunk`){let n=O(e,[`kind`,`detailId`,`text`]);return{kind:t,detailId:A(n.detailId),text:x(n.text,g.chunkBytes)}}let r=O(e,[`kind`,`detailId`,`coverage`]);return E(t,`content-end`),{kind:`content-end`,detailId:A(r.detailId),coverage:U(r.coverage)}});return{observedMs:C(t.observedMs),link:n,events:r}}var ht=[`tasks`,`runs`,`messages`,`tools`,`contents`,`events`,`checks`,`changes`,`reviews`];function X(e){let t=O(e,[`reader`,`storeId`,`scope`,`snapshotSeq`,`after`,`limit`,...Object.hasOwn(e??{},`navigation`)?[`navigation`]:[]]),n=T(t.reader,ht),r=O(t.scope,[`kind`,`id`]),i={kind:T(r.kind,[`workspace`,`task`,`run`,`child`]),id:A(r.id)},a=D(t.snapshotSeq,M),o=D(t.after,e=>{let t=O(e,[`recordId`,`version`,`offset`]);return{recordId:A(t.recordId),version:C(t.version,1),offset:C(t.offset)}});return(o&&a===null||n===`tasks`!=(i.kind===`workspace`))&&b(),{reader:n,...Object.hasOwn(t,`navigation`)?{navigation:xe(t.navigation)}:{},storeId:A(t.storeId),scope:i,snapshotSeq:a,after:o,limit:C(t.limit,1,g.maxPageEntries)}}function gt(e){let t=O(e,[`policy`,`historicalRuns`]),n=X(t.historicalRuns);return(n.reader!==`runs`||n.after!==null||n.snapshotSeq===null)&&b(),{policy:E(t.policy,`active-and-recent`),historicalRuns:n}}function _t(e){let t=B(e);if(t===`run`)return{kind:t,projection:Ke(O(e,[`kind`,`projection`]).projection)};if(t===`capture-fact`){let n=O(e,[`kind`,`recordId`,`committedSeq`,`link`,`capture`]),r=M(n.committedSeq);return r===`0`&&b(),{kind:t,recordId:A(n.recordId),committedSeq:r,link:Ie(n.link),capture:Fe(n.capture)}}if(t===`owner-fact`){let n=O(e,[`kind`,`recordId`,`committedSeq`,`observedMs`,`link`,`fact`]),r=mt({observedMs:n.observedMs,link:n.link,events:[{kind:`fact`,fact:n.fact}]}),i=r.events[0];i.kind!==`fact`&&b();let a=M(n.committedSeq);return a===`0`&&b(),{kind:t,recordId:A(n.recordId),committedSeq:a,link:r.link,observedMs:r.observedMs,fact:i.fact}}let n=[`kind`,`owner`,`version`],r=t===`task`?[`goal`,`plan`]:t===`message`?[`role`,`source`,`resultCallId`,`state`,`finalBlockCount`,`finalText`]:t===`tool`?[`source`,`name`,`declaration`,`declarationStage`,`startObserved`,`result`]:t===`content`?[`detailId`,`descriptor`,`content`,`coverage`]:[`block`],i=O(e,[...n,...r]),a=lt(i.owner),o=C(i.version,1);if([`task`,`message`,`tool`].includes(t)&&(a.entity.kind!==t||a.entity.version!==o)&&b(),t===`task`){let e=D(i.plan,R);return e&&e.field!==`plan`&&b(),{kind:t,owner:a,version:o,goal:x(i.goal,8192,!0),plan:e}}if(t===`message`){let e=T(i.role,[`user`,`assistant`,`tool-result`]),n=T(i.state,[`partial`,`final`]),r=D(i.finalBlockCount,e=>C(e,0,g.dataFrames)),s=D(i.finalText,R),c=D(i.resultCallId,A);return(n===`final`!=(r!==null)||n===`partial`&&s!==null||s&&s.field!==`final-text`||e!==`tool-result`&&c!==null)&&b(),{kind:t,owner:a,version:o,role:e,state:n,finalBlockCount:r,finalText:s,resultCallId:c,source:K(i.source)}}if(t===`tool`){let e=D(i.declaration,q),n=D(i.declarationStage,e=>T(e,[`partial`,`final`])),r=w(i.startObserved),s=D(i.result,e=>{let t=Te(e);return t.kind!==`tool-end`&&b(),t});return(e===null!=(n===null)||s&&(s.callId!==a.entity.id||s.startObserved!==r||P(s.declaration)!==P(e)))&&b(),{kind:t,owner:a,version:o,declaration:e,declarationStage:n,startObserved:r,result:s,source:K(i.source),name:x(i.name,128,!0)}}if(t===`content`){let e=Se(i.descriptor),n=R(i.content);return(e.field!==n.field||!vt(e.owner,a))&&b(),{kind:t,owner:a,version:o,detailId:A(i.detailId),descriptor:e,content:n,coverage:U(i.coverage)}}E(t,`omitted`);let s=Ce(i.block);return vt(s.owner,a)||b(),{kind:`omitted`,owner:a,version:o,block:s}}function vt(e,t){return e.kind===`message`||e.kind===`message-final`?t.entity.kind===`message`&&e.messageId===t.entity.id:e.kind===`tool`?t.entity.kind===`tool`&&e.callId===t.entity.id:t.entity.kind===`child`}function yt(e,t){let{scope:n,reader:r}=t,i=e.kind===`run`?{taskId:e.projection.taskId,runId:e.projection.runId,childRunId:e.projection.childRunId}:e.kind===`owner-fact`?{...e.link,childRunId:null}:e.kind===`capture-fact`?e.link:e.owner;return n.kind!==`workspace`&&!(n.kind===`task`?i.taskId===n.id:n.kind===`run`?i.runId===n.id:i.childRunId===n.id)?!1:r===`tasks`?e.kind===`task`:r===`runs`?e.kind===`run`:r===`messages`?e.kind===`message`:r===`tools`?e.kind===`tool`:r===`contents`?e.kind===`content`||e.kind===`omitted`:e.kind===`capture-fact`?r===`events`:e.kind===`owner-fact`?r===`events`||r===`checks`&&[`check-start`,`check-settled`].includes(e.fact.kind)||r===`changes`&&e.fact.kind===`changes`||r===`reviews`&&e.fact.kind===`review`:!1}function bt(e){P({kind:`ok`,value:e},g.pageBytes);let t=O(e,[`request`,`records`,`next`,`coverage`]),n=X(t.request);n.snapshotSeq===null&&b();let r=k(t.records,n.limit,_t),i=D(t.next,X);return(r.some(e=>!yt(e,n))||i&&(i.after===null||P(Ze({...i,after:n.after}))!==P(Ze(n))||P(i.after)===P(n.after)))&&b(),{request:n,records:r,next:i,coverage:U(t.coverage)}}function xt(e){if(Object.getOwnPropertyDescriptor(e??{},`kind`)?.value===`snapshot`){P({kind:`ok`,value:e},g.pageBytes);let t=O(e,[`kind`,`request`,`next`,`coverage`]),n=X(t.request),r=X(t.next);return(n.snapshotSeq!==null||n.after!==null||r.snapshotSeq===null||!r.navigation||P(Ze({...r,snapshotSeq:null}))!==P(Ze(n)))&&b(),{kind:`snapshot`,request:n,next:r,coverage:U(t.coverage)}}if(Object.getOwnPropertyDescriptor(e??{},`kind`)?.value!==`progress`)return bt(e);P({kind:`ok`,value:e},g.pageBytes);let t=O(e,[`kind`,`request`,`next`,`coverage`]),n=X(t.request),r=X(t.next);return Qe(n,r),{kind:`progress`,request:n,next:r,coverage:U(t.coverage)}}function St(e,t){return P({...t.request,snapshotSeq:e.snapshotSeq})===P(e)&&(e.snapshotSeq===null||e.snapshotSeq===t.request.snapshotSeq)}function Ct(e){let t=O(e,[`storeId`,`scope`,`snapshotSeq`,`graph`,...Object.hasOwn(e??{},`navigation`)?[`navigation`]:[]]),n=O(t.graph,[`recordId`,`revision`,`sha256`]);return{...Object.hasOwn(t,`navigation`)?{navigation:xe(t.navigation)}:{},storeId:A(t.storeId),scope:W(t.scope),snapshotSeq:M(t.snapshotSeq),graph:{recordId:A(n.recordId),revision:C(n.revision,1),sha256:j(n.sha256)}}}function wt(e){P({kind:`ok`,value:e});let t=O(e,[`request`,`graph`]),n=Ct(t.request),r=ue(t.graph);return(r.revision!==n.graph.revision||n.scope.kind===`task`&&n.scope.id!==r.taskId)&&b(),{request:n,graph:r}}function Tt(e){if(Object.getOwnPropertyDescriptor(e??{},`kind`)?.value!==`progress`)return wt(e);P({kind:`ok`,value:e},g.pageBytes);let t=O(e,[`kind`,`request`,`next`,`coverage`]),n=Ct(t.request),r=Ct(t.next);return Qe(n,r),{kind:`progress`,request:n,next:r,coverage:U(t.coverage)}}function Et(e){let t=O(e,[`storeId`,`scope`,`snapshotSeq`,`format`]);return{storeId:A(t.storeId),scope:W(t.scope),snapshotSeq:M(t.snapshotSeq),format:T(t.format,[`ndjson`,`markdown`])}}function Dt(e){P(e,g.controlBytes);let t=O(e,[`exportId`,`ordinal`,`event`]),n=B(t.event),r;switch(n){case`manifest`:{let e=O(t.event,[`kind`,`schema`,`request`,`coverage`,`serviceProtocol`,`workerProtocol`,`provenance`]),i=O(e.provenance,[`exporterBuildSha256`,`capturePolicy`]);r={kind:n,provenance:{exporterBuildSha256:j(i.exporterBuildSha256),capturePolicy:E(i.capturePolicy,`public-text-tools/2`)},schema:E(e.schema,h),request:Et(e.request),coverage:U(e.coverage),serviceProtocol:E(e.serviceProtocol,1),workerProtocol:E(e.workerProtocol,2)};break}case`record`:r={kind:n,record:_t(O(t.event,[`kind`,`record`]).record)};break;case`graph`:r={kind:n,graph:wt(O(t.event,[`kind`,`graph`]).graph)};break;case`detail`:{let e=O(t.event,[`kind`,`owner`,`content`,`range`,`text`,`coverage`]),i=R(e.content),a=D(e.range,z),o=x(e.text,g.detailPageBytes);(a?a.end>i.bytes||a.end-a.start!==S(o):i.bytes!==0||o!==``)&&b(),r={kind:n,owner:lt(e.owner),content:i,range:a,text:o,coverage:U(e.coverage)};break}case`markdown`:r={kind:n,text:x(O(t.event,[`kind`,`text`]).text,g.detailPageBytes)};break;case`trailer`:{let e=O(t.event,[`kind`,`complete`,`frames`,`encodedBytes`,`sha256`,`committedSeq`,`coverage`]),i=U(e.coverage),a=w(e.complete);a&&i.observed!==`complete`&&b(),r={kind:n,complete:a,frames:C(e.frames,1),encodedBytes:C(e.encodedBytes),sha256:j(e.sha256),committedSeq:M(e.committedSeq),coverage:i};break}default:return b()}return{exportId:A(t.exportId),ordinal:C(t.ordinal,1),event:r}}function Ot(e,t){let n=Dt(e);return t===`ndjson`?`${P(n)}\n`:n.event.kind===`markdown`?n.event.text:(n.event.kind!==`manifest`&&n.event.kind!==`trailer`&&b(),`\n\n\`\`\`json\n${P(n)}\n\`\`\`\n`)}var kt=class{exportId=null;ordinal=0;bytes=0;ended=!1;complete=!1;request;constructor(e){this.request=Et(e)}receive(e){let t=Dt(e),n=t.event;return(this.ended||t.ordinal!==this.ordinal+1||this.exportId!==null&&this.exportId!==t.exportId)&&b(),this.ordinal===0?(n.kind!==`manifest`||P(n.request)!==P(this.request))&&b():n.kind===`manifest`&&b(),n.kind===`trailer`?((n.frames!==this.ordinal||n.encodedBytes!==this.bytes||n.committedSeq!==this.request.snapshotSeq)&&b(),this.ended=!0,this.complete=n.complete):(this.request.format===`markdown`&&n.kind!==`manifest`&&n.kind!==`markdown`&&b(),this.request.format===`ndjson`&&n.kind===`markdown`&&b(),n.kind===`detail`&&!ut(n.owner,this.request.scope)&&b(),n.kind===`graph`&&(P(n.graph.request.scope)!==P(this.request.scope)||n.graph.request.snapshotSeq!==this.request.snapshotSeq||n.graph.request.storeId!==this.request.storeId)&&b(),n.kind===`record`&&!At(n.record,this.request.scope)&&b(),this.bytes+=S(Ot(t,this.request.format))),this.exportId=t.exportId,this.ordinal=t.ordinal,t}get completion(){return this.ended?this.complete?`complete-unverified-digest`:`incomplete`:`missing-trailer`}};function At(e,t){return e.kind===`run`?qe(e.projection,t):e.kind===`owner-fact`?t.kind===`task`?e.link.taskId===t.id:t.kind===`run`&&e.link.runId===t.id:e.kind===`capture-fact`?t.kind===`task`?e.link.taskId===t.id:t.kind===`run`?e.link.runId===t.id:e.link.childRunId===t.id:ut(e.owner,t)}function jt(e){let t=O(e,[`taskId`,`revision`,`definitions`]),n=k(t.definitions,32,e=>{let t=O(e,[`selection`,`status`,`checkId`]),n=fe(t.selection),r=T(t.status,[`not-run`,`passed`,`failed`,`canceled`,`stale`]),i=D(t.checkId,A);return(n.kind!==`configured`||r===`not-run`!=(i===null))&&b(),{selection:n,status:r,checkId:i}});return new Set(n.map(e=>e.selection.name)).size!==n.length&&b(),{taskId:A(t.taskId),revision:C(t.revision),definitions:n}}function Mt(e){let t=O(e,[`storeId`,`scope`,`snapshotSeq`,`kind`,`id`,`version`,...Object.hasOwn(e??{},`navigation`)?[`navigation`]:[]]);return{...Object.hasOwn(t,`navigation`)?{navigation:xe(t.navigation)}:{},storeId:A(t.storeId),scope:W(t.scope),snapshotSeq:M(t.snapshotSeq),kind:T(t.kind,[`task`,`message`,`tool`]),id:A(t.id),version:C(t.version,1)}}function Nt(e){P({kind:`ok`,value:e},g.pageBytes);let t=O(e,[`request`,`record`]),n=Mt(t.request),r=_t(t.record);return(r.kind!==`task`&&r.kind!==`message`&&r.kind!==`tool`||r.kind!==n.kind||r.owner.entity.id!==n.id||r.version!==n.version||!ut(r.owner,n.scope))&&b(),{request:n,record:r}}function Pt(e){if(Object.getOwnPropertyDescriptor(e??{},`kind`)?.value!==`progress`)return Nt(e);P({kind:`ok`,value:e},g.pageBytes);let t=O(e,[`kind`,`request`,`next`,`coverage`]),n=Mt(t.request),r=Mt(t.next);return Qe(n,r),{kind:`progress`,request:n,next:r,coverage:U(t.coverage)}}var Ft=e=>{let t=I(e);return E(t.effect,`none`),t};function It(e){let t=O(e,[`storeId`,`taskId`]);return{storeId:A(t.storeId),taskId:D(t.taskId,A)}}function Lt(e){let t=It(e);return t.taskId===null&&b(),t}function Rt(e){let t=O(e,[`id`,`kind`,`revision`,`identity`]);return{id:A(t.id),kind:T(t.kind,[`code`,`research`,`diagnosis`]),revision:C(t.revision,1),identity:j(t.identity)}}function zt(e){let t=k(e,3,se);return(t.length!==3||new Set(t.map(e=>e.role)).size!==3)&&b(),t}function Bt(e){let t=Object.getOwnPropertyDescriptor(e??{},`status`)?.value;if(t===`none`)return O(e,[`status`]),{status:t};if(t===`saved`){let n=O(e,[`status`,`request`,`planRevision`]);return{status:t,request:Ct(n.request),planRevision:C(n.planRevision,1)}}let n=O(e,[`status`,`error`]);return E(n.status,`unavailable`),{status:`unavailable`,error:Ft(n.error)}}function Vt(e){if((e.request.taskId!==(e.task?.id??null)||it(e.context)!==e.workspaceId||at(e.context)!==e.request.taskId)&&b(),e.context.status===`available`){let t=e.context.version;(t.epoch!==e.epoch||!!t.task!=!!e.task||e.task&&(t.task?.revision!==e.task.revision||t.task.identity!==e.task.identity||t.task.kind!==e.task.kind))&&b()}}function Ht(e){P({kind:`ok`,value:e},g.pageBytes);let t=O(e,[`request`,`workspaceId`,`epoch`,`committedSeq`,`context`,`task`,`roles`,`readablePlan`,`savedGraph`]),n={request:It(t.request),workspaceId:A(t.workspaceId),epoch:A(t.epoch),committedSeq:M(t.committedSeq),context:rt(t.context),task:D(t.task,Rt),roles:zt(t.roles),savedGraph:Bt(t.savedGraph),readablePlan:D(t.readablePlan,e=>{let t=O(e,[`source`,`text`,`editable`,`coverage`]),n=U(t.coverage),r=w(t.editable);return r&&(n.redacted||n.observed!==`complete`||n.source!==`complete`||n.omissions.length)&&b(),{source:E(t.source,`current-v1`),text:x(t.text,32768),editable:r,coverage:n}})};Vt(n),!!n.task!=!!n.readablePlan&&b();let r=n.savedGraph;return r.status===`saved`&&(r.request.storeId!==n.request.storeId||r.request.scope.kind!==`task`||r.request.scope.id!==n.task?.id||r.request.snapshotSeq!==n.committedSeq||n.context.status===`available`&&(r.request.graph.sha256!==n.context.version.task?.graphIdentity||r.request.graph.revision!==n.context.version.task?.graphRevision))&&b(),r.status===`unavailable`&&n.context.status===`available`&&b(),n}function Ut(e){P({kind:`ok`,value:e},g.pageBytes);let t=O(e,[`request`,`workspaceId`,`epoch`,`committedSeq`,`context`,`task`,`observation`,`text`,`git`,`coverage`]),n=O(t.observation,[`identity`,`complete`,`checkoutGeneration`]),r={request:Lt(t.request),workspaceId:A(t.workspaceId),epoch:A(t.epoch),committedSeq:M(t.committedSeq),context:rt(t.context),task:Rt(t.task),observation:{identity:j(n.identity),complete:w(n.complete),checkoutGeneration:C(n.checkoutGeneration,0)},text:x(t.text,131072),git:w(t.git),coverage:U(t.coverage)};if(Vt(r),r.context.status===`available`){let e=r.context.version;(e.observation.identity!==r.observation.identity||e.observation.complete!==r.observation.complete||e.checkoutGeneration!==r.observation.checkoutGeneration)&&b()}return r}function Wt(e){let t=O(e,[`epoch`,`accessGeneration`,`configRev`,`catalogId`]);return{epoch:A(t.epoch),accessGeneration:C(t.accessGeneration,1),configRev:C(t.configRev,1),catalogId:A(t.catalogId)}}function Gt(e){P({kind:`ok`,value:e},g.pageBytes);let t=O(e,[`version`,`selected`]);return{version:Wt(t.version),selected:D(t.selected,oe)}}function Kt(e){P(e);let t=O(e,[`expected`,`choice`]);return{expected:Wt(t.expected),choice:ae(t.choice)}}function qt(e){let t=O(e,[`provider`,`model`,`api`,`thinking`,`eligibility`]),n={provider:x(t.provider,128,!0),model:x(t.model,256,!0),api:D(t.api,e=>T(e,re)),thinking:k(t.thinking,7,e=>{let t=O(e,[`level`,`selectable`]);return{level:T(t.level,[...ie,`max`]),selectable:w(t.selectable)}}),eligibility:T(t.eligibility,[`candidate`,`unsupported`,`auth-unavailable`])};return(new Set(n.thinking.map(e=>e.level)).size!==n.thinking.length||n.thinking.some(e=>e.selectable&&(e.level===`max`||n.api===null||n.eligibility!==`candidate`))||n.eligibility===`candidate`&&!n.thinking.some(e=>e.selectable))&&b(),n}function Jt(e){P({kind:`ok`,value:e},g.pageBytes);let t=O(e,[`version`,`selected`,`status`,`entries`]),n=k(t.entries,g.maxPageEntries,qt),r=T(t.status,[`complete`,`capacity`]);return(r===`capacity`&&n.length||new Set(n.map(e=>P([e.provider,e.model]))).size!==n.length)&&b(),{version:Wt(t.version),selected:D(t.selected,oe),status:r,entries:n}}async function Yt(e,t,n){let r=await e.preflight(t,n);return r.kind===`error`?r:{kind:`ok`,value:{preflight:r.value,commandId:crypto.randomUUID(),submitted:!1}}}function Xt(e,t){if(t.submitted)throw Error(`Already submitted; observe the same receipt.`);t.submitted=!0;let n=t.preflight,r={commandId:t.commandId,expected:n.preview.version,grant:n.grant},i=n.preview.action;switch(i.kind){case`create`:return e.create({...r,action:i});case`save-plan`:return e.savePlan({...r,action:i});case`generate-plan`:return e.generatePlan({...r,action:i});case`start`:return e.start({...r,action:i});case`check`:return e.check({...r,action:i});case`review`:return e.review({...r,action:i})}}var Z=e=>({kind:`error`,error:y(`unavailable`,e?`uncertain`:`none`)}),Zt=class{transport;constructor(e){this.transport=e}async current(e,t){let n=It(e);try{if(!this.transport.current)return Z(!1);let e=Y(await this.transport.current(n,t),Ht);return e.kind===`ok`&&P(e.value.request)!==P(n)?Z(!1):e}catch{return Z(!1)}}async currentChanges(e,t){let n=Lt(e);try{if(!this.transport.currentChanges)return Z(!1);let e=Y(await this.transport.currentChanges(n,t),Ut);return e.kind===`ok`&&P(e.value.request)!==P(n)?Z(!1):e}catch{return Z(!1)}}async activeRuns(e){try{return this.transport.activeRuns?Y(await this.transport.activeRuns(e),Le):Z(!1)}catch{return Z(!1)}}async models(e){try{return this.transport.models?Y(await this.transport.models(e),Jt):Z(!1)}catch{return Z(!1)}}async chooseModel(e){let t=Kt(e);try{if(!this.transport.chooseModel)return Z(!1);let e=Y(await this.transport.chooseModel(t),Gt);if(e.kind===`ok`){let{sourceSelectionId:n,...r}=e.value.selected??{};if(P(r)!==P(t.choice)||e.value.version.epoch!==t.expected.epoch||e.value.version.accessGeneration!==t.expected.accessGeneration||![t.expected.configRev,t.expected.configRev+1].includes(e.value.version.configRev)||e.value.version.configRev===t.expected.configRev!=(e.value.version.catalogId===t.expected.catalogId))return Z(!0)}return e}catch{return Z(!0)}}async checkObligations(e,t){A(e);try{let n=Y(await this.transport.checkObligations(e,t),jt);return n.kind===`ok`&&n.value.taskId!==e?Z(!1):n}catch{return Z(!1)}}task(e,t){return this.entity(`task`,e,t)}message(e,t){return this.entity(`message`,e,t)}tool(e,t){return this.entity(`tool`,e,t)}async entity(e,t,n){let r=Mt({...t,kind:e});try{let e=Y(await this.transport.entity(r,n),Pt);return e.kind===`ok`&&P(e.value.request)!==P(r)?Z(!1):e}catch{return Z(!1)}}async session(e){try{return Y(await this.transport.session(e),st)}catch{return Z(!1)}}async workspace(e){try{return Y(await this.transport.workspace(e),ct)}catch{return Z(!1)}}tasks(e,t){return this.page(`tasks`,e,t)}runs(e,t){return this.page(`runs`,e,t)}messages(e,t){return this.page(`messages`,e,t)}tools(e,t){return this.page(`tools`,e,t)}contents(e,t){return this.page(`contents`,e,t)}events(e,t){return this.page(`events`,e,t)}checks(e,t){return this.page(`checks`,e,t)}changes(e,t){return this.page(`changes`,e,t)}reviews(e,t){return this.page(`reviews`,e,t)}async page(e,t,n){let r=X({...t,reader:e});try{let t=Y(await this.transport[e](r,n),xt);return t.kind===`ok`&&!St(r,t.value)?Z(!1):t}catch{return Z(!1)}}async graph(e,t){let n=Ct(e);try{let e=Y(await this.transport.graph(n,t),Tt);return e.kind===`ok`&&P(e.value.request)!==P(n)?Z(!1):e}catch{return Z(!1)}}async*export(e,t){let n=Et(e),r=new kt(n),i;try{if(t.aborted)throw new v(`unavailable`);for await(let e of this.transport.export(n,t)){if(t.aborted)throw new v(`unavailable`);let n=r.receive(e);n.event.kind===`trailer`?i=n:yield n}if(t.aborted||!i)throw new v(`unavailable`);yield i}catch{throw new v(`unavailable`)}}async preflight(e,t){let n=me({expected:e,action:t});try{let e=Y(await this.transport.preflight(n),ve);return e.kind===`ok`&&(P(e.value.preview.version)!==P(n.expected)||P(e.value.preview.action)!==P(n.action))?Z(!1):e}catch{return Z(!1)}}create(e){return this.execute(`create`,e)}savePlan(e){return this.execute(`save-plan`,e)}generatePlan(e){return this.execute(`generate-plan`,e)}start(e){return this.execute(`start`,e)}check(e){return this.execute(`check`,e)}review(e){return this.execute(`review`,e)}async execute(e,t){let n=he(t);if(n.action.kind!==e)return{kind:`error`,error:y(`invalid`)};try{let e=Y(await this.transport.command(n),Ue);if(e.kind===`ok`){if(e.value.commandId!==n.commandId)return Z(!0);We({identity:{kind:`action`,expected:n.expected,action:n.action},receipt:e.value})}return e}catch{return Z(!0)}}async cancel(e){let t=H(e);try{let e=Y(await this.transport.cancel(t),Ue);if(e.kind===`ok`){if(e.value.commandId!==t.commandId)return Z(!0);We({identity:{kind:`cancel`,epoch:t.epoch,runId:t.runId},receipt:e.value})}return e}catch{return Z(!0)}}async receipt(e,t){A(e);try{let n=Ge(await this.transport.receipt(e,t));if(n.status===`found`&&n.receipt.commandId!==e)throw Error(`invalid`);return n}catch{return{status:`inconclusive`,error:y(`receipt-inconclusive`,`uncertain`)}}}async snapshot(e,t){let n=W(e);try{let e=Y(await this.transport.snapshot(n,t),Ye);return e.kind===`ok`&&P(e.value.scope)!==P(n)?Z(!1):e}catch{return Z(!1)}}async detail(e,t){let n=G(e);try{let e=Y(await this.transport.detail(n,t),$e);return e.kind===`ok`&&P(e.value.cursor)!==P(n)?Z(!1):e}catch{return Z(!1)}}async search(e,t){let n=G(e);try{let e=Y(await this.transport.search(n,t),tt);return e.kind===`ok`&&P(e.value.cursor)!==P(n)?Z(!1):e}catch{return Z(!1)}}},Qt=class{generation=0;snapshotRequest=0;observation;lastSnapshotMs=0;beginSnapshot(){return++this.snapshotRequest}install(e,t,n){if(n!==this.snapshotRequest)return;let r=Ye(e),i=this.observation?.snapshot;if(i&&i.storeId===r.storeId&&P(i.scope)===P(r.scope)&&N(r.committedSeq,i.committedSeq)<0)this.resync();else return this.observation={snapshot:r,connection:`current`,lastObservedMs:t},this.lastSnapshotMs=t,++this.generation}resync(){return this.observation&&(this.observation.connection=`resync`),this.snapshotRequest++,`resync`}get state(){return this.observation&&structuredClone(this.observation)}needsPoll(e){return!this.observation||this.observation.connection===`resync`||e<this.lastSnapshotMs||e-this.lastSnapshotMs>=g.reconcileMs}tick(e){let t=this.observation;t&&t.connection!==`resync`&&(e<t.lastObservedMs||e-t.lastObservedMs>=g.staleMs)&&(t.connection=`stale`)}receive(e,t,n){let r=this.observation;if(!r||t!==this.generation)return`ignored`;if(r.connection===`resync`)return`resync`;let i;try{i=Xe(e)}catch{return this.resync()}let a=r.snapshot;if(i.storeId!==a.storeId||i.epoch!==a.epoch||P(i.scope)!==P(a.scope))return this.resync();let o=N(i.committedSeq,a.committedSeq);if(o<0)return`duplicate`;if(i.kind===`heartbeat`)return o>0?this.resync():(r.lastObservedMs=n,r.connection=`current`,`applied`);if(o===0)return`duplicate`;if(i.previousSeq!==a.committedSeq||it(i.context)!==it(a.context)||at(i.context)!==at(a.context)||i.context.status===`available`&&a.context.status===`available`&&i.context.version.controlRev<a.context.version.controlRev)return this.resync();let s=[...a.runs];for(let e of i.removed){let t=s.findIndex(t=>(t.childRunId??t.runId)===e);if(t===-1||s[t].lifecycle!==`settled`)return this.resync();s.splice(t,1)}for(let e of i.runs){let t=e.childRunId??e.runId,n=s.findIndex(e=>(e.childRunId??e.runId)===t);if(n===-1)s.push(e);else{let t=s[n];if(t.runId!==e.runId||t.childRunId!==e.childRunId||t.assignmentId!==e.assignmentId||P(t.admission)!==P(e.admission))return this.resync();s[n]=e}}if(s.length>g.maxPageEntries)return this.resync();let c={...a,runs:s,context:i.context,committedSeq:i.committedSeq,horizon:{...a.horizon,historicalRuns:{...a.horizon.historicalRuns,snapshotSeq:i.committedSeq}}};try{Ye(c)}catch{return this.resync()}return a.runs=s,a.horizon=c.horizon,a.context=i.context,a.committedSeq=i.committedSeq,r.lastObservedMs=n,r.connection=`current`,`applied`}},$t={session:`/api/v1/session`,current:`/api/v1/current`,currentChanges:`/api/v1/current-changes`,activeRuns:`/api/v1/active-runs`,models:`/api/v1/models`,chooseModel:`/api/v1/model-choice`,workspace:`/api/v1/workspace`,tasks:`/api/v1/tasks`,runs:`/api/v1/runs`,messages:`/api/v1/messages`,tools:`/api/v1/tools`,contents:`/api/v1/contents`,events:`/api/v1/history-events`,checks:`/api/v1/checks`,changes:`/api/v1/changes`,reviews:`/api/v1/reviews`,checkObligations:`/api/v1/check-obligations`,entity:`/api/v1/entity`,graph:`/api/v1/graph`,snapshot:`/api/v1/snapshot`,detail:`/api/v1/details`,search:`/api/v1/search`,export:`/api/v1/export`,download:`/api/v1/download`,preflight:`/api/v1/preflight`,command:`/api/v1/commands`,cancel:`/api/v1/cancel`,receipt:`/api/v1/receipt`,detach:`/api/v1/detach`},en=`/api/v1/events`,tn=[`tasks`,`runs`,`messages`,`tools`,`contents`,`events`,`checks`,`changes`,`reviews`];function nn(e,t){if(tn.includes(e)||e===`detail`||e===`search`||e===`entity`||e===`current`||e===`currentChanges`||e===`activeRuns`||e===`workspace`||e===`models`||e===`chooseModel`)return g.pageBytes;if(e===`graph`){let e=Object.getOwnPropertyDescriptor(t??{},`kind`)?.value,n=Object.getOwnPropertyDescriptor(t??{},`value`)?.value;if(e===`ok`&&Object.getOwnPropertyDescriptor(n??{},`kind`)?.value===`progress`)return g.pageBytes}return g.controlBytes}function rn(e){return[`preflight`,`command`,`cancel`,`detach`,`chooseModel`].includes(e)}function an(e,t){switch(e){case`session`:case`models`:case`activeRuns`:case`workspace`:case`detach`:if(t!==null)throw new v(`invalid`);return null;case`tasks`:case`runs`:case`messages`:case`tools`:case`contents`:case`events`:case`checks`:case`changes`:case`reviews`:{let n=X(t);if(n.reader!==e)throw new v(`invalid`);return n}case`current`:return It(t);case`currentChanges`:return Lt(t);case`checkObligations`:case`receipt`:return A(t);case`entity`:return Mt(t);case`graph`:return Ct(t);case`snapshot`:return W(t);case`detail`:case`search`:return G(t);case`export`:case`download`:return Et(t);case`chooseModel`:return Kt(t);case`preflight`:return me(t);case`command`:return he(t);case`cancel`:return H(t)}}function on(e,t){if(tn.includes(e))return Y(t,xt);switch(e){case`current`:return Y(t,Ht);case`currentChanges`:return Y(t,Ut);case`activeRuns`:return Y(t,Le);case`models`:return Y(t,Jt);case`chooseModel`:return Y(t,Gt);case`session`:return Y(t,st);case`workspace`:return Y(t,ct);case`checkObligations`:return Y(t,jt);case`entity`:return Y(t,Pt);case`graph`:return Y(t,Tt);case`snapshot`:return Y(t,Ye);case`detail`:return Y(t,$e);case`search`:return Y(t,tt);case`preflight`:return Y(t,ve);case`command`:case`cancel`:return Y(t,Ue);case`receipt`:return Ge(t);case`detach`:return Y(t,e=>{if(e!==null)throw new v(`invalid`);return null});default:throw new v(`invalid`)}}function sn(e){return[...tn,`current`,`currentChanges`,`checkObligations`,`entity`,`graph`,`snapshot`,`detail`,`search`,`export`,`download`,`receipt`].includes(e)}function cn(e,t){let n=$t[e];return t===null||rn(e)?n:`${n}?request=${encodeURIComponent(P(t))}`}function ln(e,t){let n=an(e,t),r=typeof n==`object`&&!!n&&Object.hasOwn(n,`navigation`),i=r?$t[e]:cn(e,n);return rn(e)||sn(e)&&(r||S(i)>g.headerBytes/4)?{path:$t[e],method:`POST`,body:P(n)}:{path:i,method:`GET`}}function un(e){P(e,g.viewerBytes);let t=T(Object.getOwnPropertyDescriptor(e,`kind`)?.value,[`snapshot`,`event`,`resync`]);return t===`snapshot`?{kind:t,snapshot:Ye(O(e,[`kind`,`snapshot`]).snapshot)}:t===`event`?{kind:t,event:Xe(O(e,[`kind`,`event`]).event)}:(O(e,[`kind`]),{kind:t})}var dn=class{options;attachment;csrf=null;fetcher;origin;constructor(e){this.options=e;let t=new URL(e.origin);if(t.origin!==e.origin||t.protocol!==`https:`&&!/^http:\/\/(?:127\.0\.0\.1|\[::1\]):[1-9][0-9]*$/.test(e.origin))throw new v(`invalid`);this.origin=e.origin,e.build&&=Be(e.build),this.fetcher=e.fetch??globalThis.fetch.bind(globalThis)}headers(e){let t={"Cache-Control":`no-store`};if(this.options.build&&(t[`X-Cadence-Build`]=P(this.options.build)),this.attachment&&(t[`X-Cadence-Attachment`]=this.attachment),this.options.localCapability&&(t[`X-Cadence-Local`]=this.options.localCapability),e){if(!this.attachment||!this.options.localCapability&&!this.csrf)throw new v(`stale`);t[`Content-Type`]=`application/json`,this.csrf&&(t[`X-Cadence-CSRF`]=this.csrf)}return t}async request(e,t,n){let r=ln(e,an(e,t)),i=r.method===`POST`,a=await this.fetcher(`${this.origin}${r.path}`,{method:r.method,headers:this.headers(i),credentials:`same-origin`,redirect:`error`,signal:this.options.requestTimeoutMs===void 0?n:AbortSignal.any([...n?[n]:[],AbortSignal.timeout(this.options.requestTimeoutMs)]),...i?{body:r.body}:{}}),o;try{e===`session`&&a.ok&&(o=A(a.headers.get(`x-cadence-attachment`)),this.attachment=o)}catch(e){throw await a.body?.cancel().catch(()=>{}),e}let s=await fn(a,nn(e)),c=F(s);if(S(s)>nn(e,c))throw new v(`oversize`);let l=on(e,c);if(e===`session`){let e=Y(l,st);if(e.kind===`ok`){if(e.value.authority===`local`!=!!this.options.localCapability)throw new v(`forbidden`);this.attachment=o??A(a.headers.get(`x-cadence-attachment`)),this.csrf=e.value.csrf}}return l}session(e){return this.request(`session`,null,e)}current(e,t){return this.request(`current`,e,t)}currentChanges(e,t){return this.request(`currentChanges`,e,t)}activeRuns(e){return this.request(`activeRuns`,null,e)}models(e){return this.request(`models`,null,e)}chooseModel(e){return this.request(`chooseModel`,Kt(e))}workspace(e){return this.request(`workspace`,null,e)}checkObligations(e,t){return this.request(`checkObligations`,A(e),t)}entity(e,t){return this.request(`entity`,Mt(e),t)}tasks(e,t){return this.request(`tasks`,X(e),t)}runs(e,t){return this.request(`runs`,X(e),t)}messages(e,t){return this.request(`messages`,X(e),t)}tools(e,t){return this.request(`tools`,X(e),t)}contents(e,t){return this.request(`contents`,X(e),t)}events(e,t){return this.request(`events`,X(e),t)}checks(e,t){return this.request(`checks`,X(e),t)}changes(e,t){return this.request(`changes`,X(e),t)}reviews(e,t){return this.request(`reviews`,X(e),t)}graph(e,t){return this.request(`graph`,Ct(e),t)}preflight(e){return this.request(`preflight`,me(e))}command(e){return this.request(`command`,he(e))}cancel(e){return this.request(`cancel`,H(e))}receipt(e,t){return this.request(`receipt`,A(e),t)}snapshot(e,t){return this.request(`snapshot`,e,t)}detail(e,t){return this.request(`detail`,e,t)}search(e,t){return this.request(`search`,e,t)}async detach(){let e=this.attachment;if(!e)return;let t=Y(await this.request(`detach`,null),e=>{if(e!==null)throw new v(`invalid`);return null});if(t.kind===`error`&&t.error.code!==`stale`&&t.error.code!==`unauthenticated`)throw new v(t.error.code);return this.attachment===e&&(this.attachment=void 0,this.csrf=null),t}async*export(e,t){let n=ln(`export`,Et(e)),r=await this.fetcher(`${this.origin}${n.path}`,{method:n.method,headers:this.headers(n.method===`POST`),...n.body===void 0?{}:{body:n.body},credentials:`same-origin`,redirect:`error`,signal:t});if(!r.ok||!r.body)throw await r.body?.cancel(),new v(`unavailable`);let i=r.body.getReader(),a=new TextDecoder(`utf-8`,{fatal:!0}),o=``;try{for(;;){let{value:e,done:n}=await i.read();if(t.aborted)throw new v(`unavailable`);for(let t=0;t<(n?1:e.byteLength);t+=g.chunkBytes){o+=n?a.decode():a.decode(e.subarray(t,t+g.chunkBytes),{stream:!0});let r=o.indexOf(`
2
+ `);for(;r!==-1;){let e=o.slice(0,r);o=o.slice(r+1),yield Dt(F(e,g.controlBytes)),r=o.indexOf(`
3
+ `)}if(new TextEncoder().encode(o).length>g.controlBytes)throw new v(`oversize`)}if(n){if(o)throw new v(`invalid`);break}}}finally{await i.cancel().catch(()=>{}),i.releaseLock()}}subscribe(e,t,n){let r=W(e);if(!this.attachment||!this.options.socket)throw new v(`unavailable`);let i=this.options.socket(`${this.origin.replace(/^http/,`ws`)}${en}?attachment=${this.attachment}`),a=!1,o=!1,s=Date.now(),c=Date.now(),l=()=>{if(!o){o=!0,a=!1,clearInterval(d);try{i.close()}catch{}u(`closed`)}},u=e=>{try{n(e)}catch{}},d=setInterval(()=>{if(a){Date.now()-s>=g.staleMs&&u(`stale`);try{Date.now()-c>=g.reconcileMs?(i.send(P({kind:`resync`,scope:r})),c=Date.now()):i.send(`{"kind":"ping"}`)}catch{l()}}},g.heartbeatMs);return i.addEventListener(`open`,()=>{if(!o){a=!0;try{i.send(P({kind:`subscribe`,scope:r}))}catch{l()}}}),i.addEventListener(`message`,e=>{if(!o)try{if(typeof e.data!=`string`)throw new v(`invalid`);let n=un(F(e.data,g.viewerBytes));s=Date.now(),u(`current`),t(n)}catch{l()}}),i.addEventListener(`error`,l),i.addEventListener(`close`,l),l}};async function fn(e,t){if(!e.body)throw new v(`invalid`);let n=e.body.getReader(),r=new TextDecoder(`utf-8`,{fatal:!0}),i=0,a=``;try{for(;;){let{value:e,done:o}=await n.read();if(o)return a+r.decode();if(i+=e.byteLength,i>t)throw new v(`oversize`);a+=r.decode(e,{stream:!0})}}finally{await n.cancel().catch(()=>{}),n.releaseLock()}}var pn={sourceHash:`178a1a7a96ba2a554829698b1daa2654e3665775fb1ab3cd54e4d5a700ed82bc`,contractHash:`e7e5248f8273a373827ac70d2d8be1d5aaea1e329379e59e4947fc10f82be818`,buildId:`684ef04941850c7e116df3961a01159570c290ce8fbafc29ec540b00ebcf791e`};function mn(){let e=new dn({origin:window.location.origin,...pn?{build:{kind:`browser`,...pn}}:{},socket:e=>new WebSocket(e)});return{client:new Zt(e),transport:e}}async function hn(e,t,n,r){let i=Ht(e);if(i.context.status!==`available`||!i.context.version.task||!i.readablePlan?.editable||i.savedGraph.status===`unavailable`)throw new v(`unavailable`);let a=i.context.version,o=a.task;if(!o)throw new v(`stale`);let s=x(t,32768),c=pe({kind:`save-plan`,taskId:o.id,plan:s,graph:{schema:`cadence-graph/2`,taskId:o.id,taskKind:o.kind,taskRevision:o.revision+1,revision:(o.graphRevision??0)+1,planRevision:i.savedGraph.status===`saved`?i.savedGraph.planRevision+1:1,plan:{recordId:r.uuid(),version:i.savedGraph.status===`saved`?i.savedGraph.planRevision+1:1,field:`plan`,bytes:S(s),sha256:`0`.repeat(64)},assignments:n}});if(c.kind!==`save-plan`)throw new v(`invalid`);for(let e of c.graph.assignments){let t=i.roles.find(t=>t.role===ce(e.purpose));if(!t||P(t)!==P(e.role)||P(a.model)!==P(e.model))throw new v(`stale`)}c.graph.plan.sha256=await r.sha256(new TextEncoder().encode(s));let l=pe(c);if(l.kind!==`save-plan`)throw new v(`invalid`);return l}var gn=`Current plan metadata unavailable. Observe again; historical text is not action authority.`;function _n(e,t){let n=async n=>{let r=await e.current({storeId:t,taskId:n.task?.id??null});if(r.kind===`error`)throw new v(r.error.code);if(r.value.context.status!==`available`||P(r.value.context.version)!==P(n))throw new v(`stale`);return r.value},r=e=>({kind:`error`,error:y(e instanceof v?e.code:`unavailable`)});return{async read(t,i){try{let r=await n(t);if(!r.readablePlan||r.savedGraph.status===`unavailable`)throw new v(`unavailable`);let a=null;if(r.savedGraph.status===`saved`){let o=r.savedGraph.request;if(i&&(i.storeId!==o.storeId||P(i.graph)!==P(o.graph)||P(i.scope)!==P(o.scope)))throw new v(`stale`);let s=await e.graph(i??o);if(s.kind===`error`)return s;if(await n(t),`kind`in s.value)return{kind:`ok`,value:{...s.value,context:t}};a=s.value.graph}else if(i)throw new v(`stale`);return{kind:`ok`,value:{context:t,roles:r.roles,savedGraph:a,readablePlan:r.readablePlan.text,editable:r.readablePlan.editable}}}catch(e){return r(e)}},async saveAction(e,t){let i=structuredClone(t);try{let t=await hn(await n(e),i.readablePlan,i.assignments,{uuid:()=>crypto.randomUUID(),sha256:async e=>Array.from(new Uint8Array(await crypto.subtle.digest(`SHA-256`,Uint8Array.from(e))),e=>e.toString(16).padStart(2,`0`)).join(``)});return await n(e),{kind:`ok`,value:t}}catch(e){return r(e)}}}}function vn(e,t){if(e.commandId!==t.commandId)return e;let n=[e.receipt,e.lookup?.status===`found`?e.lookup.receipt:void 0,t.receipt,t.lookup?.status===`found`?t.lookup.receipt:void 0],r,i=!1;for(let t of n)t&&t.commandId===e.commandId&&(r&&(r.operationId!==t.operationId||r.runId!==t.runId||r.created!==null&&r.created.taskId!==t.created?.taskId)||r&&N(t.committedSeq,r.committedSeq)>0&&(r.created?.state===`published`&&t.created?.state!==`published`||r.admission===`accepted`&&t.admission!==`accepted`||r.execution!==null&&t.execution!==r.execution||r.settlement!==null&&P(t.settlement)!==P(r.settlement))?i=!0:(!r||N(t.committedSeq,r.committedSeq)>0||P(r)===P(t))&&(r=t));return{commandId:e.commandId,receipt:r,lookup:r?{status:`found`,receipt:r}:t.lookup??e.lookup,error:i?`Conflicting receipt observation refused; prior committed facts preserved.`:r?void 0:t.error??e.error}}var yn=e=>e===`unauthenticated`||e===`forbidden`,bn=class{api;serial=Promise.resolve();version=0;stopCurrent;pollCurrent;constructor(e){this.api=e}refresh(e=!1){this.pollCurrent?.(e)}observe(e,t){this.stopCurrent?.();let n=++this.version,r=!1,i,a,o,s=new AbortController,c=new Qt,l=0,u=0,d=!1,f=!1,p=0,m=!1,h=!1,g={actions:!1,transportStatus:`closed`,attachmentVersion:0},_=()=>!r&&n===this.version,v=()=>{_()&&t({...g,observation:c.state})},y=()=>{r||(r=!0,s.abort(),clearInterval(a),clearTimeout(o),u++,i?.(),n===this.version&&(this.pollCurrent=void 0))};this.stopCurrent=y;let b=e=>{this.serial=this.serial.then(e).catch(()=>{_()&&(m=!0,s.abort(),clearInterval(a),clearTimeout(o),u++,i?.(),g.error=`Observation unavailable or detach unconfirmed; explicit re-entry required.`,g.actions=!1,g.transportStatus=`closed`,g.workspace=void 0,c=new Qt,v())})},x=async()=>{await this.api.transport.detach()},S=async(t=!1)=>{if(!_()||!f||d||m)return;d=!0,g.actions=!1;let n=!1;v(),p=Date.now();let r=s.signal;try{let i=async()=>{let e=await this.api.client.session(r);return!_()||r.aborted?!1:e.kind===`error`?(g.actions=!1,g.error=e.error.code,yn(e.error.code)&&C(),!1):(w(e.value),!0)};if(t&&!await i())return;e||(g.transportStatus=`current`);let a=await this.api.client.activeRuns(r);if(!_()||r.aborted)return;if(a.kind===`ok`)g.activeRuns=a.value;else if(yn(a.error.code)){C();return}else g.activeRuns=void 0;v();let o=await this.api.client.workspace(r);if(!_()||r.aborted)return;if(o.kind===`error`){g.error=o.error.code,yn(o.error.code)&&C();return}if(!t&&P(g.workspace?.models??[])!==P(o.value.models)&&!await i())return;if(g.workspace=o.value,e){let t=c.beginSnapshot(),i=await this.api.client.snapshot(e,r);if(!_()||r.aborted)return;if(i.kind===`error`)g.error=i.error.code,yn(i.error.code)&&C();else{let e=c.install(i.value,Date.now(),t);e!==void 0&&(l=e),g.error=void 0,n=!0}}else g.error=void 0,n=!0}catch{_()&&(g.error=`Observation unavailable.`,g.actions=!1,g.transportStatus=`stale`)}finally{d=!1,g.actions=n&&h,v()}},C=()=>{m=!0,g.actions=!1,g.transportStatus=`closed`,g.error=`Access revoked; explicit token re-entry required.`,g.workspace=void 0,g.activeRuns=void 0,c=new Qt,s.abort(),clearInterval(a),clearTimeout(o),u++,i?.(),b(x),v()},w=e=>{let t=pn?{kind:`browser`,...pn}:null;g.compatible=He(e.build,t),g.cancelCompatible=He(e.build,t,!0),h=e.capabilities.actions&&g.compatible},T=async()=>{if(f=!1,await x(),!_()||m)return;let t=await this.api.client.session();if(!_()||m){await x();return}if(t.kind===`error`){m=!0,g.error=`${t.error.code}; explicit re-entry required.`,g.workspace=void 0,c=new Qt,g.actions=!1,v();return}if(f=!0,s=new AbortController,c=new Qt,g={actions:t.value.capabilities.actions,transportStatus:`closed`,attachmentVersion:g.attachmentVersion+1},w(t.value),v(),await S(),!_()||m||!e)return;let n=++u;i=this.api.transport.subscribe(e,e=>{if(_()&&!m&&n===u){if(e.kind===`snapshot`){let t=c.install(e.snapshot,Date.now(),c.beginSnapshot());t!==void 0&&(l=t)}else e.kind===`event`?c.receive(e.event,l,Date.now())===`resync`&&S():S();v()}},e=>{_()&&!m&&n===u&&(g.transportStatus=e,e===`closed`&&(f=!1,g.actions=!1,g.attachmentVersion++,s.abort(),u++,o=setTimeout(()=>b(T),1e3)),v())})};return b(T),this.pollCurrent=e=>{S(e)},a=setInterval(()=>{_()&&!m&&(c.tick(Date.now()),v(),(Date.now()-p>=3e4||e&&c.needsPoll(Date.now()))&&S())},1e3),()=>{_()&&(y(),b(x))}}};function xn(e,t,n){let r=(0,f.useMemo)(()=>new bn(e),[e]),[i,a]=(0,f.useState)({actions:!1,transportStatus:`closed`,attachmentVersion:0}),o=t?.kind,s=t?.id;return(0,f.useEffect)(()=>{if(a({actions:!1,transportStatus:`closed`,attachmentVersion:0}),n)return r.observe(o&&s?{kind:o,id:s}:null,a)},[r,o,s,n]),{...i,refresh:(e=!1)=>r.refresh(e)}}var Sn=class{generation=0;identity=``;select(e){e!==this.identity&&(this.identity=e,this.depart())}depart(){this.generation++}ticket(){return this.generation}current(e){return e===this.generation}},Q=r();function Cn({title:e,children:t,onClose:n}){let r=(0,f.useRef)(null),i=(0,f.useId)(),a=(0,f.useRef)(n);return a.current=n,(0,f.useEffect)(()=>{let e=document.activeElement,t=r.current;return t?.showModal(),()=>{t?.close(),e instanceof HTMLElement&&e.isConnected&&e.focus()}},[]),(0,Q.jsxs)(`dialog`,{ref:r,className:`action-dialog`,"aria-labelledby":i,onCancel:e=>{e.preventDefault(),a.current()},children:[(0,Q.jsxs)(`header`,{children:[(0,Q.jsx)(`h2`,{id:i,children:e}),(0,Q.jsx)(`button`,{type:`button`,"aria-label":`Close dialog — no cancellation of accepted work`,onClick:n,children:`Close`})]}),t]})}function wn(e){let t=e=>{if(typeof e==`string`||typeof e==`number`){let t=String(e);return t===``?[[]]:t.split(`
4
+ `).map(e=>e===``?[]:[e])}if(Array.isArray(e)){let n=[];for(let r of e){let e=t(r);if(n.length===0)n=e;else{let t=e[0]??[];n[n.length-1].push(...t),n.push(...e.slice(1))}}return n}if(e&&typeof e==`object`&&`props`in e){let n=e,r=n.props?.children,i={...n.props,children:void 0},a=r==null?[]:t(r);return a.length===0?[[(0,f.createElement)(n.type,i)]]:a.map(e=>[(0,f.createElement)(n.type,i,...e)])}return[[e]]},n=t(e);return n.length>1&&n[n.length-1].length===0&&n.pop(),n}var Tn=function(){let e=this.data();e.micromarkExtensions??=[],e.micromarkExtensions.push({flow:{92:En(!0)},text:{92:En(!1)}});let t={enter:{backslashMathInline:Dn,backslashMathDisplay:Dn,backslashMathBlock:Dn},exit:{backslashMathInline:On,backslashMathDisplay:On,backslashMathBlock:On}};e.fromMarkdownExtensions??=[],e.fromMarkdownExtensions.push(t)};function En(e){return{tokenize:function(t,n,r){let i=this,a=93,o=e?`backslashMathBlock`:`backslashMathDisplay`,s;return c;function c(e){return e===92?(s=t.enter(o),t.consume(e),l):r(e)}function l(n){return n!==91&&(e||n!==40)?r(n):(a=n===91?93:41,!e&&n===40&&(o=`backslashMathInline`,s.type=o),t.consume(n),u)}function u(n){return n===null||e&&i.parser.lazy[i.now().line]?r(n):n===-5||n===-4||n===-3?(t.enter(`lineEnding`),t.consume(n),t.exit(`lineEnding`),u):(f(n),n===92?d:u)}function d(i){return i===a?(f(i),t.exit(o),e?p:n):i===null?r(i):i===-5||i===-4||i===-3?u(i):(f(i),u)}function f(e){t.enter(`backslashMathData`),t.consume(e),t.exit(`backslashMathData`)}function p(e){return e===null||e===-5||e===-4||e===-3?n(e):e===32||e===-2||e===-1?(t.enter(`whitespace`),t.consume(e),t.exit(`whitespace`),p):r(e)}},concrete:e,name:e?`backslashMathBlock`:`backslashMathText`}}var Dn=function(e){let t=e.type===`backslashMathBlock`,n=e.type!==`backslashMathInline`,r=this.sliceSerialize(e).slice(2,-2).trim(),i={type:`element`,tagName:`code`,properties:{className:[`language-math`,n?`math-display`:`math-inline`]},children:[{type:`text`,value:r}]},a=t?{type:`math`,meta:null,value:r,data:{hName:`pre`,hChildren:[i]}}:{type:`inlineMath`,value:r,data:{hName:`code`,hProperties:i.properties,hChildren:i.children}};this.enter(a,e)},On=function(e){this.exit(e)},kn={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},An=f.createContext&&f.createContext(kn),jn=[`attr`,`size`,`title`];function Mn(e,t){if(e==null)return{};var n,r,i=Nn(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function Nn(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function Pn(){return Pn=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Pn.apply(null,arguments)}function Fn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function In(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?Fn(Object(n),!0).forEach(function(t){Ln(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Fn(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Ln(e,t,n){return(t=Rn(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Rn(e){var t=zn(e,`string`);return typeof t==`symbol`?t:t+``}function zn(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function Bn(e){return e&&e.map((e,t)=>f.createElement(e.tag,In({key:t},e.attr),Bn(e.child)))}function $(e){return t=>f.createElement(Vn,Pn({attr:In({},e.attr)},t),Bn(e.child))}function Vn(e){var t=t=>{var n=e.attr,r=e.size,i=e.title,a=Mn(e,jn),o=r||t.size||`1em`,s;return t.className&&(s=t.className),e.className&&(s=(s?s+` `:``)+e.className),f.createElement(`svg`,Pn({stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`},t.attr,n,a,{className:s,style:In(In({color:e.color||t.color},t.style),e.style),height:o,width:o,xmlns:`http://www.w3.org/2000/svg`}),i&&f.createElement(`title`,null,i),e.children)};return An===void 0?t(kn):f.createElement(An.Consumer,null,e=>t(e))}function Hn(e){return $({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`polyline`,attr:{points:`3 6 5 6 21 6`},child:[]},{tag:`path`,attr:{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`},child:[]},{tag:`line`,attr:{x1:`10`,y1:`11`,x2:`10`,y2:`17`},child:[]},{tag:`line`,attr:{x1:`14`,y1:`11`,x2:`14`,y2:`17`},child:[]}]})(e)}function Un(e){return $({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`path`,attr:{d:`M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z`},child:[]}]})(e)}function Wn(e){return $({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`circle`,attr:{cx:`11`,cy:`11`,r:`8`},child:[]},{tag:`line`,attr:{x1:`21`,y1:`21`,x2:`16.65`,y2:`16.65`},child:[]}]})(e)}function Gn(e){return $({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`line`,attr:{x1:`12`,y1:`5`,x2:`12`,y2:`19`},child:[]},{tag:`line`,attr:{x1:`5`,y1:`12`,x2:`19`,y2:`12`},child:[]}]})(e)}function Kn(e){return $({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`line`,attr:{x1:`8`,y1:`6`,x2:`21`,y2:`6`},child:[]},{tag:`line`,attr:{x1:`8`,y1:`12`,x2:`21`,y2:`12`},child:[]},{tag:`line`,attr:{x1:`8`,y1:`18`,x2:`21`,y2:`18`},child:[]},{tag:`line`,attr:{x1:`3`,y1:`6`,x2:`3.01`,y2:`6`},child:[]},{tag:`line`,attr:{x1:`3`,y1:`12`,x2:`3.01`,y2:`12`},child:[]},{tag:`line`,attr:{x1:`3`,y1:`18`,x2:`3.01`,y2:`18`},child:[]}]})(e)}function qn(e){return $({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`path`,attr:{d:`M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z`},child:[]}]})(e)}function Jn(e){return $({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`rect`,attr:{x:`9`,y:`9`,width:`13`,height:`13`,rx:`2`,ry:`2`},child:[]},{tag:`path`,attr:{d:`M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1`},child:[]}]})(e)}function Yn(e){return $({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`polyline`,attr:{points:`18 15 12 9 6 15`},child:[]}]})(e)}function Xn(e){return $({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`polyline`,attr:{points:`9 18 15 12 9 6`},child:[]}]})(e)}function Zn(e){return $({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`polyline`,attr:{points:`6 9 12 15 18 9`},child:[]}]})(e)}function Qn(e){return $({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`polyline`,attr:{points:`20 6 9 17 4 12`},child:[]}]})(e)}function $n(e){if(typeof document>`u`)return!1;let t=document.createElement(`textarea`),n=document.activeElement;try{return t.value=e,t.style.position=`fixed`,t.style.left=`-9999px`,t.setAttribute(`readonly`,``),document.body.appendChild(t),t.select(),document.execCommand(`copy`)}catch{return!1}finally{t.remove(),n instanceof HTMLElement&&n.isConnected&&n.focus()}}async function er(e){if(typeof navigator<`u`&&navigator.clipboard&&typeof navigator.clipboard.writeText==`function`)try{return await navigator.clipboard.writeText(e),!0}catch{return $n(e)}return $n(e)}function tr(e={}){let{duration:t=2e3,onSuccess:n,onError:r}=e,i=(0,f.useRef)(!0),[a,o]=(0,f.useState)(!1),s=(0,f.useRef)(null),c=(0,f.useCallback)(()=>{s.current!==null&&(clearTimeout(s.current),s.current=null)},[]),l=(0,f.useCallback)(()=>{c(),o(!1)},[c]);return(0,f.useEffect)(()=>(i.current=!0,()=>{i.current=!1,c()}),[c]),{copied:a,copy:(0,f.useCallback)(async e=>{let a=!1;try{a=await er(e)}catch(e){a=!1,r&&r(e)}return i.current&&(a?(o(!0),c(),s.current=setTimeout(()=>{o(!1),s.current=null},t),n?.(e)):r&&!a&&r(Error(`Copy failed`))),a},[t,n,r,c]),reset:l}}var nr=(0,f.memo)(function({text:e}){let[t,n]=(0,f.useState)(!1),{copied:r,copy:i}=tr();return(0,Q.jsxs)(`button`,{type:`button`,className:`copy-btn`,title:`Copy displayed text`,"aria-label":`Copy displayed text`,onClick:()=>{n(!1),i(e).then(e=>n(!e))},children:[r?(0,Q.jsx)(Qn,{}):(0,Q.jsx)(Jn,{}),t&&`Copy unavailable`]})}),rr=[s,d,Tn],ir=[s,l,d,Tn],ar=[[c,{strict:!1,throwOnError:!1,trust:!1,maxExpand:1e3}],[u,{detect:!1,ignoreMissing:!0}]];function or(e){if(e.startsWith(`#`)&&![...e].some(e=>e.charCodeAt(0)<=32))return e;try{let t=new URL(e);return![`https:`,`http:`].includes(t.protocol)||t.username||t.password||t.searchParams.has(`token`)?void 0:e}catch{return}}function sr({text:e,rawHtml:t=!1,hardBreaks:n=!1}){return(0,Q.jsx)(a,{remarkPlugins:n?ir:rr,rehypePlugins:t?[i,o,...ar]:ar,skipHtml:!t,disallowedElements:[`iframe`,`object`,`embed`,`script`,`style`,`video`,`audio`,`source`,`form`,`input`],components:{pre:ur,a:lr,img:({alt:e})=>(0,Q.jsxs)(`span`,{className:`omission`,children:[`[Image omitted: `,e||`external/media content`,`]`]})},children:e})}var cr=(0,f.memo)(function(e){return(0,Q.jsx)(`div`,{className:`md`,children:(0,Q.jsx)(sr,{...e})})});function lr({href:e,children:t}){let n=e&&or(e);return n?(0,Q.jsx)(`a`,{href:n,target:n.startsWith(`#`)?void 0:`_blank`,rel:`noreferrer noopener`,referrerPolicy:`no-referrer`,children:t}):(0,Q.jsxs)(`span`,{children:[t,` [link unavailable]`]})}function ur({children:e,node:t,...n}){let r=e&&typeof e==`object`&&`props`in e?e.props?.children:e,i=0,a=wn(r).map(e=>{let t=`code-offset:${i}`;return i+=dr(e).length+1,{key:t,nodes:e}}),o=a.length>1,s=o?`${String(a.length).length+1}ch`:void 0;return(0,Q.jsxs)(`div`,{className:`codeblock`,children:[(0,Q.jsx)(nr,{text:dr(e)}),(0,Q.jsx)(`pre`,{...n,children:a.map(({nodes:e,key:t},n)=>(0,Q.jsxs)(`div`,{className:`code-line`,children:[o&&(0,Q.jsx)(`span`,{className:`code-num`,style:s?{width:s}:void 0,children:n+1}),(0,Q.jsx)(`code`,{className:`code-line-body hljs`,children:e})]},t))})]})}function dr(e){if(typeof e==`string`)return e;if(Array.isArray(e))return e.map(dr).join(``);if(e&&typeof e==`object`&&`props`in e){let t=e.props;return dr(t?.children)}return``}function fr({prepared:e,client:t,current:n,onClose:r,onResult:i,attachmentVersion:a}){let[o,s]=(0,f.useState)(Date.now()),[c,l]=(0,f.useState)(!1);(0,f.useEffect)(()=>{let e=setInterval(()=>s(Date.now()),1e3);return()=>clearInterval(e)},[]);let u=e.preflight,d=u.preview,p=(0,f.useRef)(a),m=(0,f.useRef)(!1);(!n||P(n)!==P(d.version)||o>=Date.parse(u.expiresAt)||p.current!==a)&&(m.current=!0);let h=m.current,g=async()=>{if(!(h||e.submitted)){l(!0),i({commandId:e.commandId,error:`Admission pending/unknown — observe this exact receipt.`});try{let n=await Xt(t,e);i(n.kind===`ok`?{commandId:e.commandId,receipt:n.value}:{commandId:e.commandId,error:`${n.error.code}; effect ${n.error.effect}`})}catch{i({commandId:e.commandId,error:`Uncertain; do not repeat the action.`})}r()}};return(0,Q.jsxs)(Cn,{title:`Confirm ${d.action.kind}`,onClose:r,children:[(0,Q.jsx)(`p`,{children:`Access is not consent. This confirmation applies only to the displayed context, once.`}),(0,Q.jsxs)(`dl`,{children:[(0,Q.jsx)(`dt`,{children:`Checkout`}),(0,Q.jsx)(`dd`,{children:d.rootLabel}),(0,Q.jsx)(`dt`,{children:`Working directory`}),(0,Q.jsx)(`dd`,{children:(0,Q.jsx)(`code`,{children:d.cwdLabel})}),(0,Q.jsx)(`dt`,{children:`Model / API / thinking`}),(0,Q.jsxs)(`dd`,{children:[d.version.model.provider,` / `,d.version.model.model,` /`,` `,d.version.model.api,` / `,d.version.model.thinking]}),(0,Q.jsx)(`dt`,{children:`Check environment`}),(0,Q.jsxs)(`dd`,{children:[`Service launch environment policy, generation`,` `,d.version.checkEnvGeneration,`; no browser environment overlays.`]}),(0,Q.jsx)(`dt`,{children:`Observation`}),(0,Q.jsx)(`dd`,{children:d.version.observation.complete?`Complete within bounded scope`:`Incomplete bounded coverage`}),(0,Q.jsx)(`dt`,{children:`Expires`}),(0,Q.jsx)(`dd`,{children:u.expiresAt})]}),(0,Q.jsx)(pr,{preview:d}),d.action.kind===`check`&&(0,Q.jsxs)(`section`,{children:[(0,Q.jsx)(`h3`,{children:`Exact parent check`}),(0,Q.jsx)(`pre`,{children:d.action.check.command}),(0,Q.jsxs)(`p`,{children:[d.action.check.name,`; timeout`,` `,d.action.check.timeoutMs,` ms; cwd above.`]})]}),d.action.kind===`generate-plan`&&(0,Q.jsx)(`p`,{children:`Readonly proposal only. It will not save itself or dispatch editing.`}),d.issues.length>0&&(0,Q.jsxs)(`p`,{role:`alert`,children:[`Issues: `,d.issues.join(`, `)]}),h&&(0,Q.jsx)(`p`,{role:`alert`,children:`Context changed or confirmation expired. Close, observe again and request a new preview.`}),(0,Q.jsxs)(`footer`,{children:[(0,Q.jsx)(`button`,{type:`button`,onClick:r,children:`Back — no new effect`}),(0,Q.jsxs)(`button`,{type:`button`,className:`primary`,disabled:h||c||e.submitted,onClick:()=>void g(),children:[`Confirm `,d.action.kind]})]})]})}function pr({preview:e}){let t=e.action,n=t.kind===`save-plan`?t.graph:e.graph;return(0,Q.jsxs)(Q.Fragment,{children:[t.kind===`create`&&(0,Q.jsxs)(`section`,{children:[(0,Q.jsxs)(`h3`,{children:[`Create `,t.taskKind,` task`]}),(0,Q.jsx)(`pre`,{children:t.goal}),(0,Q.jsx)(`p`,{children:`No Start is included.`})]}),t.kind!==`create`&&(0,Q.jsx)(cr,{text:t.kind===`save-plan`?t.plan:e.readablePlan}),n?.assignments.map(e=>(0,Q.jsxs)(`section`,{children:[(0,Q.jsxs)(`h3`,{children:[e.id,` · `,e.purpose]}),(0,Q.jsxs)(`p`,{children:[e.role.role,` / `,e.role.sha256]}),(0,Q.jsx)(`pre`,{children:JSON.stringify(e.model,null,2)}),(0,Q.jsx)(cr,{text:e.instructions}),(0,Q.jsxs)(`p`,{children:[`Expected: `,e.expectedOutput]}),(0,Q.jsx)(`pre`,{children:JSON.stringify(e.dependencies,null,2)})]},e.id)),t.kind===`save-plan`&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`h3`,{children:`Exact proposed graph and identities (not yet committed)`}),(0,Q.jsx)(`pre`,{children:JSON.stringify(t.graph,null,2)})]}),t.kind===`review`&&(0,Q.jsxs)(`section`,{children:[(0,Q.jsx)(`h3`,{children:`Exact human review targets`}),(0,Q.jsx)(`pre`,{children:JSON.stringify(t,null,2)}),(0,Q.jsxs)(`p`,{children:[`Human review only; failures, native exit, stale and not-run checks remain unchanged. Issues acknowledgment:`,` `,String(t.acceptIssues),`.`]})]})]})}function mr({client:e,compatible:t,onClose:n,onChanged:r}){let[i,a]=(0,f.useState)(),[o,s]=(0,f.useState)(``),[c,l]=(0,f.useState)(``),[u,d]=(0,f.useState)(!1);return(0,f.useEffect)(()=>{let t=new AbortController;return e.models(t.signal).then(e=>{t.signal.aborted||(e.kind===`ok`?a(e.value):l(e.error.code))}).catch(()=>{t.signal.aborted||l(`Model catalog unavailable.`)}),()=>t.abort()},[e]),(0,Q.jsxs)(Cn,{title:`Choose owner model`,onClose:n,children:[(0,Q.jsx)(`p`,{children:`Explicit owner-wide choice, only while quiescent. This does not resolve credentials, probe a provider, save a plan or Start work.`}),(0,Q.jsxs)(`p`,{children:[`Current:`,` `,i?.selected?`${i.selected.provider}/${i.selected.model} · ${i.selected.thinking}`:`No model selected`]}),(0,Q.jsxs)(`label`,{children:[`Exact model / API / thinking`,(0,Q.jsxs)(`select`,{value:o,onChange:e=>s(e.target.value),children:[(0,Q.jsx)(`option`,{value:``,children:`Select explicitly`}),i?.entries.flatMap(e=>e.thinking.filter(e=>e.selectable&&e.level!==`max`).map(t=>{let n=JSON.stringify({provider:e.provider,model:e.model,api:e.api,thinking:t.level});return(0,Q.jsxs)(`option`,{value:n,children:[e.provider,`/`,e.model,` · `,e.api,` · `,t.level]},n)}))]})]}),i?.status===`capacity`&&(0,Q.jsx)(`p`,{children:`Catalog capacity exceeded; no partial model list is selectable.`}),c&&(0,Q.jsxs)(`p`,{role:`alert`,children:[c,`. No automatic replacement or retry.`]}),(0,Q.jsx)(`button`,{type:`button`,disabled:!t||!i||!o||u,onClick:()=>{i&&(d(!0),e.chooseModel({expected:i.version,choice:ae(JSON.parse(o))}).then(e=>{e.kind===`error`?l(e.error.code):(r(),n())}).catch(()=>l(`Choice response unconfirmed; observe catalog before another explicit choice.`)).finally(()=>d(!1)))},children:`Confirm owner model choice`})]})}function hr({client:e,value:t,onChange:n}){let r=(0,f.useRef)(!0),i=(0,f.useRef)(null);(0,f.useEffect)(()=>(r.current=!0,()=>{r.current=!1,i.current?.abort()}),[]);let[a,o]=(0,f.useState)(!1),s=t.receipt??(t.lookup?.status===`found`?t.lookup.receipt:void 0);return(0,Q.jsxs)(`section`,{className:`receipt`,"aria-label":`Command receipt`,children:[(0,Q.jsx)(`h3`,{children:`Command receipt`}),(0,Q.jsx)(`code`,{children:t.commandId}),t.error&&(0,Q.jsx)(`p`,{role:`alert`,children:t.error}),s&&(0,Q.jsxs)(`dl`,{children:[(0,Q.jsx)(`dt`,{children:`Admission`}),(0,Q.jsx)(`dd`,{children:s.admission}),(0,Q.jsx)(`dt`,{children:`Execution`}),(0,Q.jsx)(`dd`,{children:s.execution??`not settled`}),(0,Q.jsx)(`dt`,{children:`Publication`}),(0,Q.jsx)(`dd`,{children:s.publication}),(0,Q.jsx)(`dt`,{children:`Run`}),(0,Q.jsx)(`dd`,{children:s.runId??`metadata action`})]}),t.lookup&&t.lookup.status!==`found`&&(0,Q.jsxs)(`p`,{children:[t.lookup.status,`. This observation does not authorize replay.`]}),(0,Q.jsx)(`button`,{type:`button`,disabled:a,onClick:()=>{o(!0),i.current=new AbortController,e.receipt(t.commandId,i.current.signal).then(e=>{r.current&&(n({commandId:t.commandId,lookup:e}),o(!1))})},children:`Observe exact receipt`})]})}function gr(e,t){let n=e??{content:t.content,chunks:[],offset:0},r=n.content,i=t.content;if(r.recordId!==i.recordId||r.version!==i.version||r.field!==i.field||r.sha256!==i.sha256||r.bytes!==i.bytes||n.offset!==(t.range?.start??0))throw Error(`Noncontiguous immutable field`);return{...n,chunks:[...n.chunks,t.text],offset:t.range?.end??0}}function _r(e,t,n){switch(t.reader){case`tasks`:return e.tasks(t,n);case`runs`:return e.runs(t,n);case`messages`:return e.messages(t,n);case`tools`:return e.tools(t,n);case`contents`:return e.contents(t,n);case`events`:return e.events(t,n);case`checks`:return e.checks(t,n);case`changes`:return e.changes(t,n);case`reviews`:return e.reviews(t,n)}}function vr(e,t,n,r){return{storeId:e,scope:t,snapshotSeq:n,query:null,recordId:r.recordId,recordVersion:r.version,field:r.field,offset:0}}async function yr(e,t,n){let r={...t,offset:0};delete r.navigation;let i=null,a=!0;for(;r;){if(n.aborted)throw Error(`canceled`);let t=await e.detail(r,n);if(n.aborted)throw Error(`canceled`);if(t.kind===`error`)throw Error(t.error.code);let o=t.value;r=o.next,`kind`in o||(a&&=o.coverage.observed===`complete`,i=gr(i,o)),await new Promise(e=>setTimeout(e,0))}if(!i||i.offset!==i.content.bytes)throw Error(`incomplete-content`);return{text:i.chunks.join(``),recordingComplete:a}}function br(e,t){let n=t?P({reader:t.reader,storeId:t.storeId,scope:t.scope,limit:t.limit}):`absent`,[r,i]=(0,f.useState)(),[a,o]=(0,f.useState)(!1),[s,c]=(0,f.useState)(),[l,u]=(0,f.useState)(t),[d,p]=(0,f.useState)([]),m=(0,f.useRef)(0),[h,g]=(0,f.useState)(n);return h!==n&&(m.current++,g(n),i(void 0),c(void 0),u(t),p([])),(0,f.useEffect)(()=>{let t=++m.current;if(!l){o(!1);return}let n=new AbortController;return o(!0),c(void 0),_r(e,l,n.signal).then(e=>{t===m.current&&(o(!1),e.kind===`error`?c(e.error.code):i(e.value))}).catch(()=>{t===m.current&&(c(`Read unavailable.`),o(!1))}),()=>{n.abort(),m.current++}},[e,l]),{page:r,busy:a,error:s,more:()=>{!a&&r?.next&&(l&&p(e=>[...e,l]),u(r.next))},previous:()=>{!a&&d.length&&(u(d[d.length-1]),p(e=>e.slice(0,-1)))},canPrevious:d.length>0,refresh:()=>{i(void 0),p([]),u(t?{...t}:null)}}}function xr({value:e}){return(0,Q.jsxs)(`p`,{className:`coverage`,children:[`Recording: `,e.observed,`; source: `,e.source,`;`,` `,e.redacted?`redacted`:`no reported redaction`,e.omissions.length>0&&`; omitted: ${e.omissions.join(`, `)}`,`. Not a guarantee of complete original source or universal secret detection.`]})}function Sr(e,t){let n=[],r=t;if(!r)return n;let i=document.createTreeWalker(e,NodeFilter.SHOW_TEXT,{acceptNode(e){let t=e.parentElement;return!t||t.closest(`.search-bar`)||t.closest(`.msg-collapsed`)?NodeFilter.FILTER_REJECT:(e.textContent??``).includes(r)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(let e=i.nextNode();e;e=i.nextNode()){let t=e.textContent??``;if(!e.parentElement?.closest(`[data-retained-field]`))continue;let i=t.indexOf(r);for(;i!==-1;){let a=document.createRange();if(a.setStart(e,i),a.setEnd(e,i+r.length),n.push(a),n.length===1e3)return n;i=t.indexOf(r,i+r.length)}}return n}var Cr=new Map;function wr(e,t){t.length?Cr.set(e,t):Cr.delete(e);let n=e.endsWith(`-active`);e=n?`cadence-page-active`:`cadence-page`,t=[...Cr].filter(([e])=>e.endsWith(`-active`)===n).flatMap(([,e])=>e);let r=CSS;if(!r.highlights)return;if(t.length===0){r.highlights.delete(e);return}let i=window.Highlight;i&&r.highlights.set(e,new i(...t))}function Tr(e,t){let n=[],r=e;for(;r&&r!==t;){let e=getComputedStyle(r);/(auto|scroll|hidden)/.test(e.overflowY+e.overflowX)&&(r.scrollHeight>r.clientHeight||r.scrollWidth>r.clientWidth)&&n.push(r),r=r.parentElement}return n}function Er(e,t){let n=t.startContainer.parentElement;for(let r of Tr(n,e)){let e=t.getBoundingClientRect(),n=r.getBoundingClientRect();if(e.height<=0||e.width<=0)return;e.top>=n.top+4&&e.bottom<=n.bottom-4||(r.scrollTop+=e.top-n.top-(r.clientHeight-e.height)/2),e.left>=n.left+4&&e.right<=n.right-4||(r.scrollLeft+=e.left-n.left-(r.clientWidth-e.width)/2)}let r=t.getBoundingClientRect(),i=e.getBoundingClientRect();if(r.height<=0||r.width<=0)return;let a=r.top>=i.top+6&&r.bottom<=i.bottom-6,o=r.left>=i.left+6&&r.right<=i.right-6;a&&o||(a||(e.scrollTop+=r.top-i.top-(i.height-r.height)/2),o||(e.scrollLeft+=r.left-i.left-(i.width-r.width)/2))}function Dr({container:e,version:t}){let[n,r]=(0,f.useState)(``),[i,a]=(0,f.useState)(0),[o,s]=(0,f.useState)(0),c=(0,f.useRef)([]),l=`cadence-page-${(0,f.useId)().replace(/[^a-z0-9]/gi,``)}`;(0,f.useEffect)(()=>{if(!t)return;let r=e.current,i=r&&n?Sr(r,n):[];return c.current=i,s(i.length),a(0),wr(l,i),()=>wr(l,[])},[n,e,t,l]);let u=t=>{let n=o?(i+t+o)%o:0;a(n),e.current&&c.current[n]&&(Er(e.current,c.current[n]),wr(`${l}-active`,[c.current[n]]))};return(0,f.useEffect)(()=>()=>wr(`${l}-active`,[]),[l]),(0,Q.jsxs)(`div`,{className:`search-bar toolbar`,children:[(0,Q.jsxs)(`label`,{children:[`Find on displayed field page`,(0,Q.jsx)(`input`,{value:n,onChange:e=>r(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),u(e.shiftKey?-1:1))}})]}),(0,Q.jsxs)(`span`,{children:[o?i+1:0,`/`,o,o>=1e3?` (first 1000 visual highlights)`:``,`; not whole-history search`]}),(0,Q.jsx)(`button`,{type:`button`,disabled:!o,onClick:()=>u(-1),children:`Previous match`}),(0,Q.jsx)(`button`,{type:`button`,disabled:!o,onClick:()=>u(1),children:`Next match`})]})}function Or({client:e,cursor:t,highlight:n,render:r}){let i=P(t),a=(0,f.useMemo)(()=>G(JSON.parse(i)),[i]),[o,s]=(0,f.useState)(t),[c,l]=(0,f.useState)(),[u,d]=(0,f.useState)([]),[p,m]=(0,f.useState)(!1),[h,g]=(0,f.useState)(),[_,v]=(0,f.useState)(`raw`),[y,b]=(0,f.useState)(``),x=(0,f.useRef)(null),S=(0,f.useRef)(null);(0,f.useEffect)(()=>(s(a),d([]),l(void 0),g(void 0),()=>x.current?.abort()),[a]),(0,f.useEffect)(()=>{let t=!0,n=new AbortController;return m(!0),g(void 0),e.detail(o,n.signal).then(e=>{t&&(m(!1),e.kind===`error`?g(e.error.code):l(e.value))}).catch(()=>{t&&(g(`Read unavailable.`),m(!1))}),()=>{t=!1,n.abort()}},[e,o]);let C=async()=>{if(x.current)return;let n=new AbortController;x.current=n,b(`Reading all retained field pages…`);try{let r=await yr(e,t,n.signal);if(n.signal.aborted)return;let i=await er(r.text);if(n.signal.aborted)return;b(i?r.recordingComplete?`Copied all retained field bytes (source omissions still apply).`:`Copied retained field bytes; recording is incomplete. No complete-source claim.`:`Clipboard unavailable.`)}catch{n.signal.aborted||b(`Full-field copy refused/incomplete.`)}finally{x.current===n&&(x.current=null)}},w=c&&!(`kind`in c)?c:void 0;return(0,Q.jsxs)(`section`,{className:`detail-pane`,"aria-label":`Retained field`,children:[(0,Q.jsxs)(`div`,{className:`detail-identity`,children:[(0,Q.jsx)(`code`,{children:t.recordId}),` v`,t.recordVersion,` / `,t.field,` `,`/ snapshot `,t.snapshotSeq]}),n&&(0,Q.jsxs)(`p`,{children:[`Exact hit bytes [`,n.start,`, `,n.end,`); only this immutable field is highlighted.`]}),(0,Q.jsxs)(`div`,{className:`toolbar`,children:[(0,Q.jsx)(`button`,{type:`button`,onClick:()=>v(e=>e===`raw`?`markdown`:`raw`),children:_===`raw`?`Markdown page`:`Raw page`}),(0,Q.jsx)(`button`,{type:`button`,disabled:!!x.current,onClick:()=>void C(),children:`Copy full retained field`}),!!x.current&&(0,Q.jsx)(`button`,{type:`button`,onClick:()=>{x.current?.abort(),x.current=null,b(`Copy canceled; execution unchanged.`)},children:`Cancel copy`})]}),(0,Q.jsx)(`p`,{role:`status`,children:y}),h&&(0,Q.jsxs)(`p`,{role:`alert`,children:[`Detail refused: `,h]}),p&&(0,Q.jsx)(`p`,{role:`status`,children:`Reading…`}),c&&(0,Q.jsx)(xr,{value:c.coverage}),c&&`kind`in c&&(0,Q.jsx)(`p`,{children:`Validation in progress. The retained field is not empty.`}),w&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`p`,{children:[`Bytes `,w.range?.start??0,`–`,w.range?.end??0,` of`,` `,w.content.bytes,`.`,` `,w.next?`More retained data available.`:`End of field.`]}),(0,Q.jsx)(Dr,{container:S,version:`${w.content.recordId}:${w.content.version}:${w.range?.start??0}:${_}`}),(0,Q.jsx)(`div`,{ref:S,"data-retained-field":!0,children:r?r(w.text):_===`markdown`?(0,Q.jsx)(cr,{text:w.text}):(0,Q.jsx)(`pre`,{className:`detail-text`,children:(()=>{if(!w||!n||!w.range)return w?.text;let e=Math.max(n.start,w.range.start)-w.range.start,t=Math.min(n.end,w.range.end)-w.range.start;if(t<=e)return w.text;let r=new TextEncoder().encode(w.text),i=(e,t)=>new TextDecoder(`utf-8`,{fatal:!0}).decode(r.subarray(e,t));return(0,Q.jsxs)(Q.Fragment,{children:[i(0,e),(0,Q.jsx)(`mark`,{children:i(e,t)}),i(t,r.length)]})})()})})]}),(0,Q.jsxs)(`div`,{className:`toolbar`,children:[(0,Q.jsx)(`button`,{type:`button`,disabled:p||!u.length,onClick:()=>{s(u[u.length-1]),d(e=>e.slice(0,-1))},children:`Previous`}),(0,Q.jsx)(`button`,{type:`button`,disabled:p||!c?.next,onClick:()=>{c?.next&&(d(e=>[...e,o]),s(c.next))},children:c&&`kind`in c?`Continue validation`:`Next field page`})]})]})}function kr({pager:e}){let{page:t,busy:n,error:r}=e;return(0,Q.jsxs)(`div`,{className:`page-controls`,children:[r&&(0,Q.jsxs)(`p`,{role:`alert`,children:[`Read refused: `,r,`. Retained state has not been repaired.`]}),n&&(0,Q.jsx)(`p`,{role:`status`,children:`Reading bounded history page…`}),t&&`kind`in t&&(0,Q.jsxs)(`p`,{role:`status`,children:[t.kind===`snapshot`?`Snapshot selected`:`Validating retained history`,`; continue this exact read. No data page yet.`]}),t&&(0,Q.jsx)(xr,{value:t.coverage}),(0,Q.jsx)(`button`,{type:`button`,disabled:n||!e.canPrevious,onClick:e.previous,children:`Previous page`}),(0,Q.jsx)(`button`,{type:`button`,disabled:n||!t?.next,onClick:e.more,children:t&&`kind`in t?`Continue validation`:`Next page`}),(0,Q.jsx)(`button`,{type:`button`,disabled:n,onClick:e.refresh,children:`Observe a new snapshot`}),t&&!(`kind`in t)&&!t.next&&(0,Q.jsxs)(`span`,{children:[`End of this retained snapshot`,t.coverage.observed===`incomplete`?` (incomplete)`:``,`.`]})]})}function Ar({client:e,seed:t,entityId:n}){let r=br(e,{...t,reader:`contents`}),[i,a]=(0,f.useState)(),o=r.page;return(0,Q.jsxs)(`section`,{"aria-label":`Retained content fields`,children:[(0,Q.jsx)(kr,{pager:r}),n&&(0,Q.jsxs)(`p`,{children:[`Showing matches for entity `,(0,Q.jsx)(`code`,{children:n}),` on this page only. Continue paging for other fields/versions.`]}),o&&!(`kind`in o)&&o.records.map(e=>e.kind!==`content`&&e.kind!==`omitted`||n&&e.owner.entity.id!==n?null:e.kind===`omitted`?(0,Q.jsxs)(`p`,{className:`omission`,children:[`Omitted source block:`,` `,(0,Q.jsx)(`code`,{children:JSON.stringify(e.block)})]},`${e.owner.entity.id}:${e.version}:${JSON.stringify(e.block.owner)}`):(0,Q.jsxs)(`article`,{children:[(0,Q.jsxs)(`p`,{children:[e.owner.entity.kind,` `,(0,Q.jsx)(`code`,{children:e.owner.entity.id}),` `,`· `,e.content.field,` · `,e.content.bytes,` retained bytes`]}),(0,Q.jsx)(`pre`,{children:JSON.stringify(e.descriptor.owner)}),(0,Q.jsx)(xr,{value:e.coverage}),(0,Q.jsx)(`button`,{type:`button`,onClick:()=>{o.request.scope.kind!==`workspace`&&o.request.snapshotSeq!==null&&a(vr(o.request.storeId,o.request.scope,o.request.snapshotSeq,e.content))},children:`Inspect complete retained field`})]},`${e.content.recordId}:${e.content.version}`)),i&&(0,Q.jsx)(Or,{client:e,cursor:i},`${i.recordId}:${i.recordVersion}`)]})}function jr({client:e,seed:t}){return(0,Q.jsx)(Mr,{client:e,seed:t},P(t))}function Mr({client:e,seed:t}){let[n,r]=(0,f.useState)(t),[i,a]=(0,f.useState)(),[o,s]=(0,f.useState)(),[c,l]=(0,f.useState)(!1);return(0,f.useEffect)(()=>{let t=!0,r=new AbortController;return l(!0),(n.kind===`message`?e.message(n,r.signal):n.kind===`tool`?e.tool(n,r.signal):e.task(n,r.signal)).then(e=>{t&&(l(!1),e.kind===`error`?s(e.error.code):(a(e.value),s(void 0)))}).catch(()=>{t&&(s(`Read unavailable.`),l(!1))}),()=>{t=!1,r.abort()}},[e,n]),(0,Q.jsxs)(`section`,{"aria-label":`Exact entity metadata`,children:[c&&(0,Q.jsx)(`p`,{children:`Reading exact entity version…`}),o&&(0,Q.jsxs)(`p`,{role:`alert`,children:[`Entity refused: `,o]}),i&&`kind`in i&&(0,Q.jsx)(xr,{value:i.coverage}),i&&(`kind`in i?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`p`,{children:`Entity validation in progress, not missing.`}),(0,Q.jsx)(`button`,{type:`button`,disabled:c,onClick:()=>r(i.next),children:`Continue exact entity validation`})]}):(0,Q.jsxs)(`details`,{children:[(0,Q.jsx)(`summary`,{children:`Exact stored owner and associations`}),(0,Q.jsx)(`pre`,{children:JSON.stringify(i.record,null,2)})]}))]})}function Nr(e){let t=ln(`download`,Et(e));if(t.method!==`GET`)throw Error(`Native download needs the named GET attachment route.`);let n=document.createElement(`a`);n.href=t.path,n.download=`cadence-${e.scope.kind}-${e.scope.id}.${e.format===`markdown`?`md`:`ndjson`}`,n.referrerPolicy=`no-referrer`,document.body.appendChild(n),n.click(),n.remove()}function Pr({request:e,onClose:t}){let[n]=(0,f.useState)(e),[r,i]=(0,f.useState)(e.format),[a,o]=(0,f.useState)(``);return(0,Q.jsxs)(Cn,{title:`Export retained history`,onClose:t,children:[(0,Q.jsxs)(`p`,{children:[`Selected `,n.scope.kind,`: `,n.scope.id,` · snapshot`,` `,n.snapshotSeq]}),(0,Q.jsxs)(`label`,{children:[`Format`,(0,Q.jsxs)(`select`,{value:r,onChange:e=>i(e.target.value===`markdown`?`markdown`:`ndjson`),children:[(0,Q.jsx)(`option`,{value:`ndjson`,children:`NDJSON public archive`}),(0,Q.jsx)(`option`,{value:`markdown`,children:`Readable Markdown with footer metadata`})]})]}),(0,Q.jsx)(`p`,{children:`Includes retained context, messages/tools, graph, lifecycle, changes, checks, human review and coverage beyond loaded pages. Redactions and source omissions remain.`}),(0,Q.jsx)(`p`,{children:`A native browser download request cannot establish completion. Inspect the original EOF and completion trailer/counts/digest in the downloaded artifact; missing footer means incomplete. Revoked access may terminate without a trailer.`}),(0,Q.jsx)(`button`,{type:`button`,onClick:()=>{try{Nr({...n,format:r}),o(`Download requested — completion not verified by this browser UI.`)}catch{o(`Download unavailable; no archive claimed complete.`)}},children:`Request selected-scope download`}),(0,Q.jsx)(`p`,{role:`status`,children:a})]})}function Fr(e,t){if(!t||S(t)>g.queryBytes)throw Error(`Query must be 1–${g.queryBytes} UTF-8 bytes; it was not clipped.`);let{navigation:n,...r}=e;return G({...r,query:t,recordId:null,recordVersion:null,field:null,offset:0})}function Ir(e){return e.next?`No hits in this bounded window; search is not finished.`:`No hits in the final retained window. Coverage limits above still apply.`}function Lr({client:e,seed:t,onClose:n,onHit:r}){let[i]=(0,f.useState)(t),a=(0,f.useRef)(null),o=(0,f.useRef)(0),[s,c]=(0,f.useState)(``),[l,u]=(0,f.useState)(0),[d,p]=(0,f.useState)(),[m,h]=(0,f.useState)(!1),[g,_]=(0,f.useState)(),v=(0,f.useRef)(null),y=(0,f.useCallback)(async(t,n)=>{v.current?.abort();let r=new AbortController;v.current=r,h(!0),_(void 0);try{let i=await e.search(t,r.signal);if(o.current!==n||r.signal.aborted)return;i.kind===`error`?_(i.error.code):(p(i.value),u(0))}catch{o.current===n&&!r.signal.aborted&&_(`Search unavailable or invalid; no automatic retry.`)}finally{o.current===n&&!r.signal.aborted&&h(!1)}},[e]);return(0,f.useEffect)(()=>(a.current?.focus(),()=>{o.current++,v.current?.abort()}),[]),(0,f.useEffect)(()=>{let e=++o.current;if(v.current?.abort(),h(!1),p(void 0),u(0),_(void 0),!s)return;let t;try{t=Fr(i,s)}catch{_(`Query must be 1–1024 UTF-8 bytes; it was not clipped.`);return}let n=setTimeout(()=>void y(t,e),300);return()=>{clearTimeout(n),o.current++,v.current?.abort()}},[s,i,y]),(0,Q.jsx)(Cn,{title:`Search retained history`,onClose:n,children:(0,Q.jsxs)(`div`,{className:`gs-modal`,children:[(0,Q.jsxs)(`div`,{className:`gs-input-row`,children:[(0,Q.jsx)(Wn,{}),(0,Q.jsx)(`input`,{ref:a,"aria-label":`Case-sensitive literal query`,value:s,onChange:e=>c(e.target.value),onKeyDown:e=>{e.key===`ArrowDown`&&(e.preventDefault(),u(e=>Math.max(0,Math.min(e+1,(d?.hits.length??0)-1)))),e.key===`ArrowUp`&&(e.preventDefault(),u(e=>Math.max(e-1,0))),e.key===`Enter`&&d?.hits[l]&&(e.preventDefault(),r(d.hits[l]),n())}})]}),(0,Q.jsxs)(`p`,{children:[`Case-sensitive literal UTF-8 search. Scope `,i.scope.kind,` `,i.scope.id,`; snapshot `,i.snapshotSeq,`. No regex, provider request or history repair.`]}),(0,Q.jsxs)(`div`,{className:`gs-results`,children:[m&&(0,Q.jsx)(`p`,{role:`status`,children:`Searching bounded retained range…`}),g&&(0,Q.jsxs)(`p`,{role:`alert`,children:[`Search refused: `,g]}),!s&&(0,Q.jsx)(`p`,{children:`Enter a query to search this selected scope.`}),d&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(xr,{value:d.coverage}),(0,Q.jsxs)(`div`,{className:`gs-section`,children:[(0,Q.jsxs)(`div`,{className:`gs-section-head`,children:[`Matches on this page: `,d.hits.length]}),d.hits.map((e,t)=>(0,Q.jsxs)(`button`,{type:`button`,className:`gs-item ${l===t?`active`:``}`,onMouseEnter:()=>u(t),onClick:()=>{r(e),n()},children:[(0,Q.jsxs)(`span`,{className:`gs-item-title`,children:[e.owner.entity.kind,` · `,e.content.field,` · v`,e.content.version]}),(0,Q.jsx)(`span`,{className:`gs-item-sub`,children:e.preview}),(0,Q.jsxs)(`code`,{children:[e.owner.childRunId??e.owner.runId??e.owner.taskId,` `,`/ `,e.content.recordId,` / bytes `,e.range.start,`–`,e.range.end]})]},`${e.content.recordId}:${e.content.version}:${e.range.start}`)),d.hits.length===0&&(0,Q.jsx)(`p`,{children:Ir(d)})]}),(0,Q.jsx)(`button`,{type:`button`,disabled:m||!d.next,onClick:()=>{d.next&&y(d.next,++o.current)},children:`Continue same snapshot search`})]})]}),(0,Q.jsx)(`footer`,{className:`gs-foot`,children:`↑↓ Navigate · Enter Open exact hit · Escape Close. Reopening never resumes execution.`})]})})}function Rr({run:e,historical:t=!1}){return(0,Q.jsxs)(`article`,{className:`run-summary`,children:[(0,Q.jsxs)(`h3`,{children:[e.assignmentId??e.admission.kind,` ·`,` `,t?`historical projection`:`owner projection`]}),(0,Q.jsx)(`p`,{children:(0,Q.jsx)(`code`,{children:e.childRunId??e.runId})}),(0,Q.jsxs)(`dl`,{children:[(0,Q.jsx)(`dt`,{children:`Lifecycle`}),(0,Q.jsx)(`dd`,{children:e.lifecycle}),(0,Q.jsx)(`dt`,{children:`Execution`}),(0,Q.jsx)(`dd`,{children:e.outcome??`unsettled`}),(0,Q.jsx)(`dt`,{children:`Wait/block reason`}),(0,Q.jsx)(`dd`,{children:e.reason??`none reported`}),(0,Q.jsx)(`dt`,{children:`Summary publication`}),(0,Q.jsx)(`dd`,{children:e.publication})]}),(0,Q.jsx)(xr,{value:e.coverage}),(0,Q.jsxs)(`details`,{children:[(0,Q.jsx)(`summary`,{children:`Native / recording / parent settlement facts (independent of human review)`}),(0,Q.jsx)(`pre`,{children:e.settlement?JSON.stringify(e.settlement,null,2):`No settlement recorded`})]})]})}function zr({client:e,seed:t}){return(0,Q.jsx)(Br,{client:e,seed:t},P(t))}function Br({client:e,seed:t}){let[n,r]=(0,f.useState)(t),[i,a]=(0,f.useState)(),[o,s]=(0,f.useState)(),[c,l]=(0,f.useState)(!1);return(0,f.useEffect)(()=>{let t=!0,r=new AbortController;return l(!0),e.graph(n,r.signal).then(e=>{t&&(l(!1),e.kind===`error`?s(e.error.code):(a(e.value),s(void 0)))}).catch(()=>{t&&(s(`Read unavailable.`),l(!1))}),()=>{t=!1,r.abort()}},[e,n]),(0,Q.jsxs)(`section`,{children:[(0,Q.jsx)(`h3`,{children:`Immutable admitted graph`}),o&&(0,Q.jsxs)(`p`,{role:`alert`,children:[`Graph refused: `,o]}),c&&(0,Q.jsx)(`p`,{children:`Reading graph…`}),i&&`kind`in i&&(0,Q.jsx)(xr,{value:i.coverage}),i&&(`kind`in i?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`p`,{children:`Graph validation in progress; not an empty graph.`}),(0,Q.jsx)(`button`,{type:`button`,disabled:c,onClick:()=>r(i.next),children:`Continue graph validation`})]}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(Or,{client:e,cursor:vr(i.request.storeId,i.request.scope,i.request.snapshotSeq,i.graph.plan)}),i.graph.assignments.map(e=>(0,Q.jsxs)(`article`,{children:[(0,Q.jsxs)(`h4`,{children:[e.id,` / `,e.purpose]}),(0,Q.jsx)(cr,{text:e.instructions}),(0,Q.jsxs)(`p`,{children:[`Expected: `,e.expectedOutput]}),(0,Q.jsx)(`pre`,{children:JSON.stringify({model:e.model,role:e.role,dependencies:e.dependencies},null,2)})]},e.id))]}))]})}function Vr({client:e,seed:t,onScope:n}){let r=br(e,{...t,reader:`runs`}),i=r.page,[a,o]=(0,f.useState)();return(0,Q.jsxs)(`section`,{children:[(0,Q.jsx)(kr,{pager:r}),i&&!(`kind`in i)&&i.records.map(e=>e.kind===`run`?(0,Q.jsxs)(`article`,{children:[(0,Q.jsx)(Rr,{run:e.projection,historical:!0}),(0,Q.jsx)(`button`,{type:`button`,onClick:()=>n({kind:e.projection.childRunId?`child`:`run`,id:e.projection.childRunId??e.projection.runId}),children:`Open retained episode/child details`}),e.projection.admission.graph&&(0,Q.jsx)(`button`,{type:`button`,onClick:()=>{i.request.scope.kind!==`workspace`&&i.request.snapshotSeq!==null&&e.projection.admission.graph&&o({storeId:i.request.storeId,scope:i.request.scope,snapshotSeq:i.request.snapshotSeq,graph:e.projection.admission.graph})},children:`Inspect admitted graph and plan`})]},e.projection.childRunId??e.projection.runId):null),a&&(0,Q.jsx)(zr,{client:e,seed:a},a.graph.recordId)]})}function Hr({onOpen:e,disabled:t}){return(0,Q.jsxs)(`button`,{type:`button`,className:`search-toggle`,disabled:t,onClick:e,children:[(0,Q.jsx)(Wn,{}),` Search all retained pages in selected scope`]})}function Ur(e,t,n,r,i){let a=i??t,o=[],s=[],c=0;for(let i of e)n.has(i.id)||(r.has(i.id)?i.top<t.bottom&&i.bottom>t.top&&o.push(i.id):i.top<a.bottom&&i.bottom>a.top||(s.push(i.id),i.bottom<=a.top&&(c+=i.bottom-i.top)));return{show:o,hide:s,shrinkAbove:c}}function Wr(e,t){if(t.show.length===0&&t.hide.length===0)return e;let n=new Set(e);for(let e of t.show)n.delete(e);for(let e of t.hide)n.add(e);return n}function Gr(e,t,n){let r=new Set,i=0;for(let a=e.length-1;a>=0&&!(a<e.length-1&&i>=n);a--){let n=e[a];r.add(n.id),i+=t.get(n.id)??Kr(n.role,n.customType)}return r}function Kr(e,t){switch(e){case`user`:return 72;case`assistant`:return 280;case`tool-result`:return 120;case`custom`:return t===`file`?96:72;default:return 60}}function qr(e,t,n,r){let i=n.get(e);return i&&i.len===t?i.h:r}var Jr=(0,f.memo)(function({id:e,show:t,height:n,containerRef:r,onMeasured:i,lazyRef:a,children:o}){let s=(0,f.useRef)(null);return(0,f.useLayoutEffect)(()=>{if(!t)return;let n=s.current;if(!n)return;let r=n.offsetHeight;r>0&&i?.(e,r)},[t,e,i]),t?(0,Q.jsx)(`div`,{ref:a,"data-lazy-id":e,children:(0,Q.jsx)(`div`,{ref:s,children:o})}):(0,Q.jsx)(`div`,{ref:a,className:`msg-lazy-ph`,"data-msg-id":e,"data-lazy-id":e,style:{height:n},"aria-hidden":`true`})}),Yr=(0,f.memo)(function({message:e,client:t,seed:n}){let[r,i]=(0,f.useState)(!1);return(0,Q.jsxs)(`article`,{className:`msg ${e.role}`,"data-msg-id":e.owner.entity.id,children:[(0,Q.jsxs)(`header`,{className:`msg-head`,children:[(0,Q.jsx)(`strong`,{children:e.role}),(0,Q.jsxs)(`span`,{children:[e.state,` message record, not execution outcome`]}),(0,Q.jsx)(`button`,{type:`button`,"aria-expanded":r,onClick:()=>i(e=>!e),children:r?`Collapse`:`Inspect message`})]}),(0,Q.jsxs)(`p`,{children:[`Child `,e.owner.childRunId,` · message `,e.owner.entity.id,` · version `,e.version]}),e.role===`tool-result`&&(0,Q.jsxs)(`p`,{children:[`Result call: `,e.resultCallId??`unassociated / orphan`,`. Kept visible independently of the tool card.`]}),r&&(0,Q.jsx)(`div`,{className:`msg-text`,children:(0,Q.jsxs)(`div`,{className:`msg-text-main`,children:[e.finalText&&n.scope.kind!==`workspace`&&n.snapshotSeq!==null?(0,Q.jsx)(Or,{client:t,cursor:vr(n.storeId,n.scope,n.snapshotSeq,e.finalText)}):(0,Q.jsx)(`p`,{children:`No finalized text field in this snapshot. Inspect retained partial/final blocks and omission metadata below.`}),(0,Q.jsxs)(`details`,{children:[(0,Q.jsx)(`summary`,{children:`All message blocks, source limits and tool associations`}),(0,Q.jsx)(Ar,{client:t,seed:n,entityId:e.owner.entity.id})]})]})})]})});function Xr({messages:e,client:t,seed:n}){let r=(0,f.useRef)(null),i=(0,f.useRef)(!0),[a,o]=(0,f.useState)(()=>new Set),s=(0,f.useRef)(a);s.current=a;let c=(0,f.useRef)(new Map),l=(0,f.useRef)(new Map),u=(0,f.useRef)(new Map),d=(0,f.useRef)(0),p=(0,f.useMemo)(()=>e.map(e=>({id:e.owner.entity.id,role:e.role,message:e})),[e]),m=(0,f.useRef)(new Map);m.current=new Map(p.map(e=>[e.id,e.message.version]));let h=(0,f.useRef)(new Set);h.current=Gr(p,c.current,1800);let g=(0,f.useCallback)((e,t)=>{let n=m.current.get(e);n!==void 0&&(l.current.set(e,{h:t,len:n}),c.current.set(e,t))},[]),_=(0,f.useCallback)(()=>{let e=r.current;if(!e)return;let t=e.getBoundingClientRect(),n=[];for(let[e,t]of u.current){let r=t.getBoundingClientRect();n.push({id:e,top:r.top,bottom:r.bottom}),s.current.has(e)||g(e,r.height)}let i=Ur(n,{top:t.top-1200,bottom:t.bottom+1200},h.current,s.current,{top:t.top-2400,bottom:t.bottom+2400});for(let e of i.hide){let t=u.current.get(e);t&&g(e,t.offsetHeight)}o(e=>Wr(e,i))},[g]),v=(0,f.useCallback)(()=>{d.current||=requestAnimationFrame(()=>{d.current=0,_()})},[_]);return(0,f.useLayoutEffect)(()=>{p.length?_():o(new Set)},[_,p]),(0,f.useEffect)(()=>{let e=new ResizeObserver(v);return r.current&&e.observe(r.current),()=>{e.disconnect(),cancelAnimationFrame(d.current)}},[v]),(0,Q.jsxs)(`div`,{className:`messages-wrap`,children:[(0,Q.jsx)(`div`,{className:`messages`,ref:r,onScroll:e=>{let t=e.currentTarget;i.current=t.scrollHeight-t.scrollTop-t.clientHeight<80,v()},children:p.map(({id:e,role:i,message:o})=>(0,Q.jsx)(Jr,{id:e,show:!a.has(e),height:qr(e,o.version,l.current,i===`user`?100:280),containerRef:r,onMeasured:g,lazyRef:t=>{t?u.current.set(e,t):u.current.delete(e)},children:(0,Q.jsx)(Yr,{message:o,client:t,seed:n})},e))}),(0,Q.jsx)(`button`,{type:`button`,className:`follow-button`,onClick:()=>{r.current&&(r.current.scrollTop=r.current.scrollHeight,i.current=!0)},children:`Latest on loaded page`})]})}function Zr({client:e,seed:t}){let n=br(e,{...t,reader:`messages`}),r=n.page;return(0,Q.jsxs)(`section`,{className:`transcript`,children:[(0,Q.jsx)(kr,{pager:n}),r&&!(`kind`in r)&&(0,Q.jsxs)(Q.Fragment,{children:[r.records.length===0&&(0,Q.jsxs)(`p`,{children:[`No message records on this page`,r.next?`; more history remains.`:`.`]}),(0,Q.jsx)(Xr,{messages:r.records.filter(e=>e.kind===`message`),client:e,seed:r.request},`${r.request.snapshotSeq}:${r.request.after?.recordId??`first`}`)]})]})}function Qr({open:e,onToggle:t,headClassName:n,titleText:r,icon:i,iconClassName:a,titleClassName:o,toggleClassName:s,toggle:c,onHeadContextMenu:l,children:u,after:d}){return(0,Q.jsxs)(`div`,{className:`chead ${n}`,children:[(0,Q.jsxs)(`button`,{type:`button`,className:`chead-main`,"aria-expanded":e,title:r,onClick:t,onContextMenu:l,children:[c===void 0?(0,Q.jsx)(`span`,{className:s?`chead-toggle ${s}`:`chead-toggle`,children:e?(0,Q.jsx)(Zn,{}):(0,Q.jsx)(Xn,{})}):c,(0,Q.jsx)(`span`,{className:a?`chead-icon ${a}`:`chead-icon`,children:i}),(0,Q.jsx)(`span`,{className:o?`chead-title ${o}`:`chead-title`,children:u})]}),d]})}var $r=(0,f.memo)(function({record:e,client:t,seed:n}){let[r,i]=(0,f.useState)(!1),a=e.result?e.result.isError?`SDK tool error observed`:`SDK tool end observed`:e.startObserved?`Start observed; end not observed in this snapshot`:`No start observed`;return(0,Q.jsxs)(`div`,{className:`toolcall ${e.result?.isError?`err`:``}`,children:[(0,Q.jsx)(Qr,{open:r,onToggle:()=>i(e=>!e),headClassName:`toolcall-head`,titleText:`Inspect recorded tool call`,icon:(0,Q.jsx)(Un,{}),titleClassName:`toolcall-name`,after:(0,Q.jsx)(`span`,{className:`toolcall-status`,children:a}),children:e.name}),(0,Q.jsxs)(`p`,{className:`toolcall-path`,children:[`Child `,e.owner.childRunId,` · call `,e.owner.entity.id,` · v`,e.version]}),r&&(0,Q.jsxs)(`div`,{className:`toolcall-body`,children:[(0,Q.jsx)(`p`,{children:`SDK tool observations are not native process launch/close or passing parent checks.`}),(0,Q.jsxs)(`dl`,{children:[(0,Q.jsx)(`dt`,{children:`Source ID`}),(0,Q.jsxs)(`dd`,{children:[e.source.disposition,`:`,` `,e.source.value??`unavailable`]}),(0,Q.jsx)(`dt`,{children:`Declaration`}),(0,Q.jsx)(`dd`,{children:e.declaration?`${e.declaration.messageId} / ${e.declaration.blockId} (${e.declarationStage})`:`No declaration recorded; orphan result remains accessible`})]}),(0,Q.jsxs)(`div`,{className:`toolcall-output`,children:[(0,Q.jsx)(`div`,{className:`toolcall-output-label`,children:`Recorded tool end (not parsed from output)`}),(0,Q.jsx)(`pre`,{children:e.result?JSON.stringify(e.result,null,2):`No end fact in this snapshot.`})]}),(0,Q.jsx)(`div`,{className:`toolcall-args`,children:(0,Q.jsx)(Ar,{client:t,seed:n,entityId:e.owner.entity.id})})]})]})});function ei({draft:e,onChange:t,context:n,roles:r,onSave:i,onGenerate:a,onStart:o,canSave:s,canAct:c}){let[l,u]=(0,f.useState)(!0),[d,p]=(0,f.useState)(null),[m,h]=(0,f.useState)(``),[g,_]=(0,f.useState)(``),[v,y]=(0,f.useState)(`research`),[b,x]=(0,f.useState)([]),[S,C]=(0,f.useState)(``),[w,T]=(0,f.useState)(``),E=e.assignments,D=e=>{p(e.id),h(e.instructions),_(e.expectedOutput),y(e.purpose),x(e.dependencies),T(``)},O=()=>{p(null),h(``),_(``),T(``)},k=n=>{let i=r?.find(e=>e.role===ce(v));i?(t({...e,assignments:E.map(e=>e.id===n?{...e,purpose:v,instructions:m,expectedOutput:g,dependencies:b,role:i}:e)}),O()):T(gn)},A=()=>{let i=r?.find(e=>e.role===ce(`research`));if(!i){T(gn);return}let a=1;for(;E.some(e=>e.id===`assignment-${a}`);)a++;let o={id:`assignment-${a}`,purpose:`research`,instructions:``,expectedOutput:``,dependencies:[],role:i,model:n.model};t({...e,assignments:[...E,o]}),D(o)},j=n=>{E.some(e=>e.dependencies.some(e=>e.source.kind===`current`&&e.source.assignmentId===n))?T(`Remove dependent edges explicitly before deleting this assignment.`):t({...e,assignments:E.filter(e=>e.id!==n)})};return(0,Q.jsxs)(`section`,{className:`plan-board ${l?``:`plan-board-collapsed`}`,children:[(0,Q.jsx)(`div`,{className:`plan-board-head`,children:(0,Q.jsxs)(`button`,{type:`button`,className:`plan-board-head-main`,"aria-expanded":l,onClick:()=>u(!l),children:[(0,Q.jsx)(Kn,{}),(0,Q.jsx)(`span`,{children:`Readable plan & decomposition`}),(0,Q.jsxs)(`span`,{children:[E.length,` required assignments`]}),l?(0,Q.jsx)(Yn,{}):(0,Q.jsx)(Zn,{})]})}),(0,Q.jsxs)(`div`,{className:`toolbar`,children:[(0,Q.jsx)(`button`,{type:`button`,disabled:!c||n.task?.kind!==`code`,onClick:a,children:`Preview readonly Generate proposal`}),(0,Q.jsx)(`button`,{type:`button`,disabled:!s,onClick:i,children:`Preview Save plan`}),(0,Q.jsx)(`button`,{type:`button`,className:`primary`,disabled:!c,onClick:o,children:`Preview Start saved graph`})]}),(0,Q.jsx)(`p`,{children:`Draft changes never execute. Start uses the saved graph shown in its fresh preview, not unsaved text. Generated proposals never save or start themselves.`}),E.some(e=>P(e.model)!==P(n.model))&&(0,Q.jsxs)(`section`,{children:[(0,Q.jsx)(`p`,{children:`Saved assignments name an old model selection. Reading does not rebind them.`}),(0,Q.jsx)(`button`,{type:`button`,onClick:()=>t({...e,assignments:E.map(e=>({...e,model:n.model}))}),children:`Explicitly rebind draft to current model (requires new Save)`})]}),!r&&(0,Q.jsx)(`p`,{role:`status`,children:`Current plan metadata unavailable. Observe again; historical text is not action authority.`}),w&&(0,Q.jsx)(`p`,{role:`alert`,children:w}),l&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`label`,{children:[`Readable plan`,(0,Q.jsx)(`textarea`,{"aria-label":`Readable plan`,value:e.readablePlan,onChange:n=>t({...e,readablePlan:n.target.value}),rows:8})]}),(0,Q.jsxs)(`details`,{children:[(0,Q.jsx)(`summary`,{children:`Read rendered plan`}),(0,Q.jsx)(cr,{text:e.readablePlan})]}),(0,Q.jsx)(nr,{text:e.readablePlan}),(0,Q.jsx)(`ol`,{className:`plan-board-steps`,children:E.map(e=>(0,Q.jsxs)(`li`,{className:`plan-board-step`,children:[(0,Q.jsxs)(`div`,{className:`plan-step-head`,children:[(0,Q.jsx)(`strong`,{children:e.id}),(0,Q.jsxs)(`span`,{children:[e.purpose,` —`,` `,e.purpose===`edit`?`checkout writer`:`readonly`]}),(0,Q.jsxs)(`button`,{type:`button`,onClick:()=>D(e),children:[(0,Q.jsx)(qn,{}),` Edit`]}),(0,Q.jsxs)(`button`,{type:`button`,onClick:()=>j(e.id),children:[(0,Q.jsx)(Hn,{}),` Remove draft assignment`]})]}),d===e.id?(0,Q.jsxs)(`div`,{className:`plan-step-edit`,children:[(0,Q.jsxs)(`label`,{children:[`Purpose`,(0,Q.jsx)(`select`,{value:v,onChange:e=>{let t=e.target.value;(t===`research`||t===`diagnosis`||t===`review`||t===`edit`&&n.task?.kind===`code`)&&y(t)},children:[`research`,`diagnosis`,`review`,`edit`].filter(e=>e!==`edit`||n.task?.kind===`code`).map(e=>(0,Q.jsx)(`option`,{children:e},e))})]}),(0,Q.jsxs)(`label`,{children:[`Instructions`,(0,Q.jsx)(`textarea`,{"aria-label":`Instructions`,value:m,onChange:e=>h(e.target.value),rows:5})]}),(0,Q.jsxs)(`label`,{children:[`Expected output`,(0,Q.jsx)(`textarea`,{"aria-label":`Expected output`,value:g,onChange:e=>_(e.target.value),rows:3})]}),(0,Q.jsxs)(`fieldset`,{children:[(0,Q.jsx)(`legend`,{children:`Current-episode dependencies (whole final text by default)`}),E.filter(t=>t.id!==e.id).map(e=>{let t=b.findIndex(t=>t.source.kind===`current`&&t.source.assignmentId===e.id);return(0,Q.jsxs)(`label`,{children:[(0,Q.jsx)(`input`,{type:`checkbox`,checked:t>=0,onChange:t=>x(n=>t.target.checked?[...n,{source:{kind:`current`,assignmentId:e.id},range:null,requireCompleteObservation:!1}]:n.filter(t=>t.source.kind!==`current`||t.source.assignmentId!==e.id))}),e.id]},e.id)})]}),b.map((e,t)=>(0,Q.jsxs)(`div`,{className:`dependency-editor`,children:[(0,Q.jsx)(`code`,{children:JSON.stringify(e.source)}),(0,Q.jsxs)(`label`,{children:[(0,Q.jsx)(`input`,{type:`checkbox`,checked:e.requireCompleteObservation,onChange:e=>x(n=>n.map((n,r)=>t===r?{...n,requireCompleteObservation:e.target.checked}:n))}),`Require complete observation`]}),(0,Q.jsxs)(`p`,{children:[`Selection:`,` `,e.range?`reviewed UTF-8 bytes ${e.range.start}–${e.range.end}`:`whole final text; no silent clipping`]}),(0,Q.jsxs)(`label`,{children:[`Reviewed edge JSON (range/null and exact historical identity)`,(0,Q.jsx)(`textarea`,{defaultValue:JSON.stringify(e),onBlur:e=>{try{let n=le(F(e.target.value));x(e=>e.map((e,r)=>t===r?n:e)),T(``)}catch{T(`Invalid dependency. Original edge retained; review before Save.`)}}})]}),(0,Q.jsx)(`button`,{type:`button`,onClick:()=>x(e=>e.filter((e,n)=>t!==n)),children:`Remove edge`})]},e.source.kind===`current`?e.source.assignmentId:e.source.childRunId)),(0,Q.jsxs)(`label`,{children:[`Explicit historical/advisory edge JSON`,(0,Q.jsx)(`textarea`,{value:S,onChange:e=>C(e.target.value),placeholder:`Exact committed run/child/result/version plus range and coverage requirement`})]}),(0,Q.jsx)(`button`,{type:`button`,onClick:()=>{try{let e=le(F(S));if(e.source.kind!==`historical`)throw Error();x(t=>[...t,e]),C(``),T(``)}catch{T(`Historical edge requires actual committed identity; no guessed result reference.`)}},children:`Add reviewed historical edge`}),(0,Q.jsx)(`button`,{type:`button`,onClick:O,children:`Discard inline edits`}),(0,Q.jsx)(`button`,{type:`button`,disabled:!!w,onClick:()=>k(e.id),children:`Apply to local draft`})]}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(cr,{text:e.instructions}),(0,Q.jsxs)(`p`,{children:[`Expected: `,e.expectedOutput]}),(0,Q.jsxs)(`p`,{children:[`Role `,e.role.role,` / `,(0,Q.jsx)(`code`,{children:e.role.sha256})]}),(0,Q.jsxs)(`p`,{children:[e.model.provider,`/`,e.model.model,` ·`,` `,e.model.thinking]}),(0,Q.jsx)(`pre`,{children:JSON.stringify(e.dependencies,null,2)})]})]},e.id))}),(0,Q.jsxs)(`button`,{type:`button`,disabled:!r||E.length>=16,onClick:A,children:[(0,Q.jsx)(Gn,{}),` Add assignment`]})]})]})}var ti=`未命名章节`;function ni(e){return String(e??``).trim().replace(/[\s\u3000]+/g,`-`).replace(/[^\p{L}\p{N}_-]+/gu,`-`).replace(/-{2,}/g,`-`).replace(/^-+|-+$/g,``).slice(0,80)||`section`}function ri(e){let t=new Map;return e.map(({level:e,label:n})=>{let r=String(n??``).replace(/\s+/g,` `).trim(),i=ni(r||ti),a=(t.get(i)??0)+1;return t.set(i,a),{level:e,id:a===1?i:`${i}-${a}`,label:r||ti}})}function ii(e){return e.length>=2}function ai(e){let t=0,n=0;return e.split(`
5
+ `).map(e=>{let r={key:`text-offset:${t}`,number:++n,text:e};return t+=e.length+1,r})}function oi({text:e}){return(0,Q.jsx)(`pre`,{className:`scm-diff-pre`,children:ai(e).map(({text:e,key:t})=>{let n=``;return[`diff --git`,`index `,`new file`,`deleted file`,`old mode`,`new mode`,`similarity index`,`rename `,`copy `,`Binary files`,`---`,`+++`].some(t=>e.startsWith(t))?n=`hdr`:e.startsWith(`@@`)?n=`hunk`:e.startsWith(`+`)?n=`add`:e.startsWith(`-`)&&(n=`del`),(0,Q.jsx)(`div`,{className:`scm-diff-line ${n}`,children:e||` `},t)})})}function si({text:e}){let[t,n]=(0,f.useState)(`raw`),[r,i]=(0,f.useState)(!0),[a,o]=(0,f.useState)(1),[s,c]=(0,f.useState)([]),[l,u]=(0,f.useState)(null),d=(0,f.useRef)(1),p=(0,f.useRef)(null),m=e.split(`
6
+ `);return(0,f.useLayoutEffect)(()=>{if(t!==`markdown`)return;if(!e){c([]);return}let n=Array.from(p.current?.querySelectorAll(`h1,h2,h3,h4,h5,h6`)??[]),r=ri(n.map(e=>({level:Number(e.tagName[1]),label:e.textContent??``})));r.forEach((e,t)=>{n[t].id=`preview-${e.id}`}),c(r)},[e,t]),(0,Q.jsxs)(`div`,{className:`fp-preview`,children:[(0,Q.jsxs)(`div`,{className:`fp-head toolbar`,children:[(0,Q.jsxs)(`label`,{children:[`View`,(0,Q.jsxs)(`select`,{value:t,onChange:e=>n(e.target.value===`markdown`?`markdown`:e.target.value===`diff`?`diff`:`raw`),children:[(0,Q.jsx)(`option`,{value:`raw`,children:`Raw text / lines`}),(0,Q.jsx)(`option`,{value:`markdown`,children:`Safe Markdown`}),(0,Q.jsx)(`option`,{value:`diff`,children:`Observed diff`})]})]}),(0,Q.jsxs)(`button`,{type:`button`,onClick:()=>i(e=>!e),children:[`Wrap: `,r?`on`:`off`]}),(0,Q.jsx)(`button`,{type:`button`,onClick:()=>o(e=>Math.min(2,e+.1)),children:`Zoom +`}),(0,Q.jsx)(`button`,{type:`button`,onClick:()=>o(e=>Math.max(.8,e-.1)),children:`Zoom −`}),(0,Q.jsx)(nr,{text:l?m.slice(l.start-1,l.end).join(`
7
+ `):e})]}),(0,Q.jsx)(`p`,{className:`fp-notice`,children:`Captured page only, not a current filesystem read. Line numbers are page-local. Full retained paging and copy are available above.`}),(0,Q.jsx)(`div`,{style:{fontSize:`${a}em`},children:t===`markdown`?(0,Q.jsxs)(`div`,{className:`fp-toc-layout`,children:[ii(s)&&(0,Q.jsx)(`nav`,{className:`fp-toc`,"aria-label":`Page headings`,children:s.map(e=>(0,Q.jsx)(`button`,{type:`button`,className:`l${e.level}`,onClick:()=>p.current?.querySelector(`#${CSS.escape(`preview-${e.id}`)}`)?.scrollIntoView({block:`nearest`}),children:e.label},e.id))}),(0,Q.jsx)(`div`,{className:`fp-markdown-zoom`,ref:p,children:(0,Q.jsx)(cr,{text:e})})]}):t===`diff`?(0,Q.jsx)(oi,{text:e}):(0,Q.jsx)(`div`,{className:`fp-code ${r?``:`no-wrap`}`,children:ai(e).map(({text:e,number:t,key:n})=>(0,Q.jsxs)(`div`,{className:`fp-line ${l&&t>=l.start&&t<=l.end?`sel`:``}`,children:[(0,Q.jsx)(`button`,{type:`button`,className:`fp-num`,"aria-label":`Select page line ${t}`,onClick:e=>{e.shiftKey||(d.current=t),u({start:Math.min(d.current,t),end:Math.max(d.current,t)})},children:t}),(0,Q.jsx)(`span`,{className:`fp-code-text`,children:e||` `})]},n))})}),l&&(0,Q.jsxs)(`footer`,{className:`fp-foot`,children:[`Selected page lines `,l.start,`–`,l.end,(0,Q.jsx)(`button`,{type:`button`,onClick:()=>u(null),children:`Clear selection`})]})]})}function ci({client:e,seed:t}){let n=br(e,t),[r,i]=(0,f.useState)(),a=n.page;return(0,Q.jsxs)(`section`,{className:`scm-body`,children:[(0,Q.jsx)(kr,{pager:n}),(0,Q.jsx)(`p`,{children:`Captured observations include pre-existing dirt. They do not attribute every change to Cadence; bounded fingerprints are not filesystem snapshots.`}),(0,Q.jsx)(`div`,{className:`scm-files-list`,children:a&&!(`kind`in a)&&a.records.map(e=>{if(e.kind!==`owner-fact`)return null;let t=e.fact,n=t.kind===`changes`||t.kind===`review`?t.content:t.kind===`check-settled`?t.output:null;return(0,Q.jsxs)(`article`,{className:`scm-file`,children:[(0,Q.jsxs)(`h3`,{children:[t.kind,` · committed #`,e.committedSeq]}),(0,Q.jsx)(`pre`,{children:JSON.stringify(t,null,2)}),n&&(0,Q.jsxs)(`button`,{type:`button`,onClick:()=>{a.request.scope.kind!==`workspace`&&a.request.snapshotSeq!==null&&i(vr(a.request.storeId,a.request.scope,a.request.snapshotSeq,n))},children:[`Inspect full retained `,n.field]})]},e.recordId)})}),r&&(0,Q.jsx)(Or,{client:e,cursor:r,render:e=>(0,Q.jsx)(si,{text:e})},`${r.recordId}:${r.recordVersion}`)]})}function li({client:e,taskId:t,seed:n,canAct:r,onAction:i,onObligations:a}){let[o,s]=(0,f.useState)(),[c,l]=(0,f.useState)(),[u,d]=(0,f.useState)(0),p=(0,f.useRef)(u);return p.current=u,(0,f.useEffect)(()=>{let n=u,r=new AbortController,i=!0;return s(void 0),e.checkObligations(t,r.signal).then(e=>{i&&p.current===n&&(e.kind===`error`?l(e.error.code):(l(void 0),s(e.value),a(e.value)))}).catch(()=>{i&&l(`Obligations unavailable.`)}),()=>{r.abort(),i=!1}},[e,t,u,a]),(0,Q.jsxs)(`section`,{children:[(0,Q.jsx)(`h3`,{children:`Current configured obligations`}),(0,Q.jsx)(`button`,{type:`button`,onClick:()=>d(e=>e+1),children:`Observe obligations`}),c&&(0,Q.jsxs)(`p`,{role:`alert`,children:[`Obligations unavailable: `,c]}),o?.definitions.length===0&&(0,Q.jsx)(`p`,{children:`No configured obligations. This is not passing check coverage.`}),o?.definitions.map(e=>(0,Q.jsxs)(`article`,{children:[(0,Q.jsxs)(`h4`,{children:[e.selection.name,`: `,e.status]}),(0,Q.jsx)(`pre`,{children:e.selection.command}),(0,Q.jsxs)(`p`,{children:[`Timeout `,e.selection.timeoutMs,` ms. Native outcome and freshness remain separate.`]}),(0,Q.jsx)(`button`,{type:`button`,disabled:!r,onClick:()=>i({kind:`check`,taskId:t,check:e.selection}),children:`Preview exact configured check`})]},e.selection.name)),(0,Q.jsx)(`p`,{children:`Browser checks are configured selections only. Native-local manual commands are not a browser shell endpoint.`}),(0,Q.jsx)(ci,{client:e,seed:{...n,reader:`checks`}})]})}function ui({client:e,storeId:t,taskId:n}){let[r,i]=(0,f.useState)(),[a,o]=(0,f.useState)(``),[s,c]=(0,f.useState)(0);return(0,f.useEffect)(()=>{if(s<0)return;let r=new AbortController;return i(void 0),o(``),e.currentChanges({storeId:t,taskId:n},r.signal).then(e=>{r.signal.aborted||(e.kind===`ok`?i(e.value):o(e.error.code))}).catch(()=>{r.signal.aborted||o(`Current observation unavailable`)}),()=>r.abort()},[e,t,n,s]),(0,Q.jsxs)(`section`,{"aria-label":`Current checkout changes`,children:[(0,Q.jsx)(`h3`,{children:`Current checkout changes (not a captured historical diff)`}),(0,Q.jsx)(`button`,{type:`button`,onClick:()=>c(e=>e+1),children:`Observe current changes`}),a&&(0,Q.jsx)(`p`,{role:`alert`,children:a}),r&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`p`,{children:[`Fingerprint `,(0,Q.jsx)(`code`,{children:r.observation.identity}),` ·`,` `,r.observation.complete?`complete within bounded scope`:`incomplete coverage`,` `,`· includes pre-existing dirt; not attribution.`]}),(0,Q.jsx)(`pre`,{children:JSON.stringify(r.coverage)}),(0,Q.jsx)(si,{text:r.text})]})]})}function di({client:e,context:t,seed:n,runs:r,canAct:i,onAction:a,planMetadata:o}){let s=t?P(t):`unavailable`,c=(0,f.useMemo)(()=>s===`unavailable`?null:V(F(s)),[s]),[l,u]=(0,f.useState)(`plan`),[d,p]=(0,f.useState)({readablePlan:``,assignments:[]}),[m,h]=(0,f.useState)(),[g,_]=(0,f.useState)(),[v,y]=(0,f.useState)(),[b,x]=(0,f.useState)(),[S,C]=(0,f.useState)(``),[w,T]=(0,f.useState)(!1),E=c?.task?.id??(n.scope.kind===`task`?n.scope.id:null),D=(0,f.useRef)(new Sn);D.current.select(P({context:c,tab:l,draft:d,canAct:i})),(0,f.useEffect)(()=>()=>D.current.depart(),[]),(0,f.useEffect)(()=>{let e=!0;if(_(void 0),h(void 0),!o||!c)y(gn);else return o.read(c).then(t=>{e&&(t.kind===`error`?y(t.error.code):P(t.value.context)===s?(`kind`in t.value?h(t.value):_(t.value),y(void 0)):y(`Owner metadata is stale.`))}).catch(()=>{e&&y(`Owner metadata unavailable.`)}),()=>{e=!1}},[o,c,s]);let O=(0,f.useCallback)(e=>x(e),[]);if(!E)return(0,Q.jsx)(`aside`,{className:`panel panel-right`,children:(0,Q.jsx)(`p`,{children:`Select a task to inspect plans, checks, changes and review.`})});let k={...n,scope:{kind:`task`,id:E}};return(0,Q.jsxs)(`aside`,{className:`panel panel-right`,children:[(0,Q.jsx)(`nav`,{className:`inspector-tabs`,"aria-label":`Inspector`,children:[`plan`,`checks`,`changes`,`review`].map(e=>(0,Q.jsx)(`button`,{type:`button`,"aria-pressed":l===e,onClick:()=>u(e),children:e},e))}),(0,Q.jsxs)(`div`,{className:`inspector-body`,children:[l===`plan`&&(0,Q.jsxs)(Q.Fragment,{children:[v&&(0,Q.jsx)(`p`,{role:`status`,children:v}),m&&(0,Q.jsxs)(`section`,{children:[(0,Q.jsxs)(`p`,{children:[`Saved graph proof in progress.`,` `,JSON.stringify(m.coverage)]}),(0,Q.jsx)(`button`,{type:`button`,onClick:()=>{if(!o||!c)return;let e=D.current.ticket();o.read(c,m.next).then(t=>{D.current.current(e)&&(t.kind===`error`?y(t.error.code):`kind`in t.value?h(t.value):(h(void 0),_(t.value)))})},children:`Continue saved graph read`})]}),g&&(0,Q.jsx)(`button`,{type:`button`,onClick:()=>p({readablePlan:g.readablePlan,assignments:g.savedGraph?.assignments??[]}),children:`Load observed saved plan into local draft`}),c?(0,Q.jsx)(ei,{draft:d,onChange:p,context:c,roles:g?.roles??null,canAct:i,canSave:i&&!!g&&g.editable!==!1&&!!o,onGenerate:()=>a({kind:`generate-plan`,taskId:E}),onStart:()=>a({kind:`start`,taskId:E}),onSave:()=>{if(!o)return;let e=D.current.ticket();o.saveAction(c,structuredClone(d)).then(t=>{D.current.current(e)&&(t.kind===`error`?y(t.error.code):a(t.value))}).catch(()=>{D.current.current(e)&&y(`Plan proposal unavailable.`)})}}):(0,Q.jsx)(`p`,{children:`Current control context unavailable. Historical data is not action authority.`})]}),l===`checks`&&(0,Q.jsx)(li,{client:e,taskId:E,seed:k,canAct:i,onAction:a,onObligations:O}),l===`changes`&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(ui,{client:e,storeId:n.storeId,taskId:E}),(0,Q.jsx)(`h3`,{children:`Captured historical observations`}),(0,Q.jsx)(ci,{client:e,seed:{...k,reader:`changes`}})]}),l===`review`&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`h3`,{children:`Human review`}),(0,Q.jsx)(`p`,{children:`Done records human acknowledgment, not execution success or certification. It cannot restart a blocked episode.`}),(0,Q.jsxs)(`label`,{children:[`Episode to review`,(0,Q.jsxs)(`select`,{value:S,onChange:e=>C(e.target.value),children:[(0,Q.jsx)(`option`,{value:``,children:`Select an observed episode`}),r.filter(e=>e.childRunId===null&&e.admission.kind!==`check`).map(e=>(0,Q.jsxs)(`option`,{value:e.runId,children:[e.runId,` · `,e.outcome??e.lifecycle]},e.runId))]})]}),(0,Q.jsxs)(`label`,{children:[(0,Q.jsx)(`input`,{type:`checkbox`,checked:w,onChange:e=>T(e.target.checked)}),`I acknowledge current unresolved issues if present; original results will not be rewritten.`]}),(0,Q.jsx)(`button`,{type:`button`,disabled:!i||!c||!b||b.taskId!==E||!S,onClick:()=>{c&&b&&a({kind:`review`,taskId:E,runId:S,changesIdentity:c.observation.identity,checksRevision:b.revision,acceptIssues:w})},children:`Preview human review / Done`}),!b&&(0,Q.jsx)(`p`,{children:`Observe current obligations in Checks before requesting review.`}),(0,Q.jsx)(ci,{client:e,seed:{...k,reader:`reviews`}})]})]})]})}function fi(e,t=new Set){let n=new Map(e.map(e=>[e.id,e])),r=new Map,i=[];for(let t of e)if(t.parentId&&n.has(t.parentId)){let e=r.get(t.parentId)??[];e.push(t),r.set(t.parentId,e)}else i.push(t);let a=e=>{let t=[],n=[...r.get(e)??[]],i=new Set;for(;n.length>0;){let e=n.shift();if(!e)break;if(i.has(e.id))continue;i.add(e.id),t.push(e);let a=r.get(e.id);a&&n.push(...a)}return t},o=[],s=new Set,c=new Set,l=(e,n)=>{if(s.has(e.id)||c.has(e.id))return;s.add(e.id);let i=r.get(e.id)??[],u=i.length>0,d=u&&t.has(e.id),f=0,p=!1,m=!1,h=!1;if(u){let t=a(e.id);if(f=t.length,p=t.some(e=>e.active),m=t.some(e=>e.failed),h=t.some(e=>e.unknown),d)for(let e of t)c.add(e.id)}if(o.push({c:e,depth:n,hasKids:u,isCollapsed:d,descendantCount:f,hasActive:p,hasFailure:m,hasUnknown:h}),!d)for(let e of i)l(e,n+1)};for(let e of i)l(e,0);for(let t of e)l(t,0);return o}function pi({client:e,workspace:t,taskId:n,runs:r,onTask:i,onScope:a,onNew:o}){let s=br(e,{reader:`tasks`,storeId:t.storeId,scope:{kind:`workspace`,id:t.workspaceId},snapshotSeq:null,after:null,limit:50}),[c,l]=(0,f.useState)(new Set),u=(0,f.useMemo)(()=>fi(r.map(e=>({id:e.childRunId??e.runId,parentId:e.childRunId?e.runId:null,label:e.assignmentId??e.admission.kind,active:e.lifecycle!==`settled`,failed:e.outcome===`failed`,unknown:e.outcome===`unknown`})),c),[r,c]);return(0,Q.jsxs)(`aside`,{className:`panel panel-left`,children:[(0,Q.jsxs)(`header`,{className:`panel-header`,children:[(0,Q.jsx)(`h2`,{children:`Tasks`}),(0,Q.jsx)(`button`,{type:`button`,onClick:o,children:`New task`})]}),(0,Q.jsx)(`p`,{className:`panel-hint`,children:`One checkout owner. Open/history never executes.`}),(0,Q.jsx)(`nav`,{"aria-label":`Tasks`,className:`task-list`,children:s.page&&!(`kind`in s.page)&&s.page.records.map(e=>e.kind===`task`?(0,Q.jsxs)(`button`,{type:`button`,className:e.owner.taskId===n?`active`:``,onClick:()=>i(e.owner.taskId),children:[(0,Q.jsx)(`strong`,{children:e.goal}),(0,Q.jsxs)(`small`,{children:[e.owner.taskId,` · v`,e.version]})]},e.owner.taskId):null)}),(0,Q.jsx)(kr,{pager:s}),n&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`h3`,{children:`Active and recent episodes`}),(0,Q.jsx)(`nav`,{"aria-label":`Runs and assignments`,children:u.map(e=>(0,Q.jsxs)(`div`,{className:`conv-row`,style:{paddingInlineStart:`${e.depth*16}px`},children:[e.hasKids&&(0,Q.jsx)(`button`,{type:`button`,"aria-label":`Toggle assignments`,"aria-expanded":!e.isCollapsed,onClick:()=>l(t=>{let n=new Set(t);return n.has(e.c.id)?n.delete(e.c.id):n.add(e.c.id),n}),children:e.isCollapsed?`▸`:`▾`}),(0,Q.jsxs)(`button`,{type:`button`,onClick:()=>a({kind:e.c.parentId?`child`:`run`,id:e.c.id}),children:[e.c.label,` `,e.c.failed?`failed`:e.c.unknown?`unknown`:e.c.active?`active`:`settled`,e.isCollapsed&&` · ${e.descendantCount} descendants${e.hasFailure?` / failed child`:``}${e.hasUnknown?` / unknown child`:``}`]})]},e.c.id))}),(0,Q.jsx)(`button`,{type:`button`,onClick:()=>a({kind:`task`,id:n}),children:`All retained episodes for task`})]})]})}function mi(e,t){let n=new URL(window.location.origin+window.location.pathname),r=new URLSearchParams({task:A(e)});if(t){let{navigation:e,...n}=t;r.set(`detail`,JSON.stringify(n))}return n.hash=r.toString(),n.href}function hi(){try{let e=new URLSearchParams(window.location.hash.slice(1)),t=A(e.get(`task`)),n=e.get(`detail`);if(!n)return{taskId:t};let r=G(F(n));return r.navigation?null:{taskId:t,cursor:r}}catch{return null}}function gi(e){let t=e.start.above+e.start.below,n=Math.max(1,e.availablePx)/(e.totalWeight>0?e.totalWeight:1),r=e.minAbovePx/n,i=e.minBelowPx/n;if(r+i>=t){let n=e.minAbovePx+e.minBelowPx||1,r=t*e.minAbovePx/n;return{above:r,below:t-r}}let a=Math.min(t-i,Math.max(r,e.start.above+e.deltaPx/n));return{above:a,below:t-a}}function _i({side:e,width:t,onResize:n}){let r=(0,f.useRef)(void 0);return(0,f.useEffect)(()=>()=>r.current?.(),[]),(0,Q.jsx)(`input`,{type:`range`,min:220,max:600,step:20,value:t,onChange:e=>n(Number(e.target.value)),className:`resize-handle`,tabIndex:0,"aria-orientation":`vertical`,"aria-label":`Resize ${e} pane`,"aria-valuemin":220,"aria-valuemax":600,"aria-valuenow":t,onDoubleClick:()=>n(e===`left`?260:360),onPointerDown:i=>{i.preventDefault(),r.current?.();let a=i.clientX,o=window.innerWidth,s=r=>{let i=gi({start:{above:t,below:Math.max(1,o-t)},deltaPx:(r.clientX-a)*(e===`left`?1:-1),availablePx:o,totalWeight:o,minAbovePx:220,minBelowPx:320});n(Math.min(600,i.above))},c=()=>{window.removeEventListener(`pointermove`,s),window.removeEventListener(`pointerup`,c),window.removeEventListener(`pointercancel`,c),r.current=void 0};r.current=c,window.addEventListener(`pointermove`,s),window.addEventListener(`pointerup`,c,{once:!0}),window.addEventListener(`pointercancel`,c,{once:!0})}})}function vi(e,t,n,r){(0,f.useEffect)(()=>{if(!n||!t)return;let i=e.current?.querySelector(`.drawer-${t}`),a=document.activeElement,o=()=>Array.from(i?.querySelectorAll(`button:not(:disabled),input,textarea,select,a[href],[tabindex="0"]`)??[]).filter(e=>e.getClientRects().length>0);(o()[0]??i)?.focus();let s=e=>{if(e.key===`Escape`&&(e.preventDefault(),r()),e.key===`Tab`){let t=o(),n=t[0],r=t[t.length-1];if(!n){e.preventDefault();return}e.shiftKey&&document.activeElement===n?(e.preventDefault(),r.focus()):!e.shiftKey&&document.activeElement===r&&(e.preventDefault(),n.focus())}};return i?.addEventListener(`keydown`,s),()=>{i?.removeEventListener(`keydown`,s),a instanceof HTMLElement&&a.isConnected&&a.focus()}},[e,t,n,r])}var yi=.4,bi=1.05;function xi(e){return Math.min(300,e*.86)}function Si(e,t,n){return n||(t<=144?null:e<=72?`left`:t-e<=72?`right`:null)}function Ci(e,t){let n=Math.abs(e),r=Math.abs(t);return n<12&&r<12?`none`:n>r*1.2?`horizontal`:`vertical`}function wi(e,t){return e===`left`?t:-t}function Ti(e,t){return Math.max(-e,Math.min(0,-e+t))}function Ei(e,t,n){let r=n?e+t:t;return Math.max(0,Math.min(1,r/e))}function Di(e){let{wasOpen:t,pull:n,width:r,durationMs:i}=e;return i<=320&&Math.abs(n)>=48?n>0:Ei(r*bi,n,t)>=yi}var Oi=new Set([`auto`,`scroll`,`overlay`]);function ki(e,t){let n=e instanceof Element?e:null;for(;n;){if(n instanceof HTMLElement&&n.scrollWidth>n.clientWidth+4&&Oi.has(getComputedStyle(n).overflowX))return!0;if(n===t)break;n=n.parentElement}return!1}function Ai(){let e=e=>{e.stopPropagation(),e.preventDefault()};window.addEventListener(`click`,e,{capture:!0,once:!0}),setTimeout(()=>window.removeEventListener(`click`,e,{capture:!0}),400)}function ji(e){let{enabled:t,open:n,onOpenChange:r,container:i}=e,{panelSelector:a,backdropSelector:o}=e;(0,f.useEffect)(()=>{let e=i.current;if(!t||!e)return;let s=null,c=`none`,l=0,u=0,d=0,f=0,p=!1,m=0,h=0,g=null,_=null,v=()=>{g&&(g.classList.remove(`drawer-dragging`),g.style.transform=``),_&&(_.style.opacity=``),s=null,c=`none`,g=null,_=null,f=0,p=!1},y=t=>{if(v(),t.touches.length!==1)return;let r=t.touches[0];if(!r)return;let i=Si(r.clientX,window.innerWidth,n);i&&!ki(t.target,e)&&(s=i,l=r.clientX,u=r.clientY,d=Date.now())},b=t=>{let r=s;if(!r||t.touches.length!==1)return;let i=t.touches[0];if(!i)return;let d=i.clientX-l,v=i.clientY-u;if(c===`none`){let t=Ci(d,v);if(t===`none`)return;if(t===`vertical`){s=null;return}c=`horizontal`,p=n===r,m=xi(window.innerWidth),h=m*bi;let i=e.querySelector(a?a(r):`.panel-drawer.drawer-${r}`);if(!i){s=null;return}g=i,_=o===null?null:e.querySelector(o??`.drawer-backdrop`),i.classList.add(`drawer-dragging`)}let y=g;if(!y)return;f=wi(r,d);let b=Ti(h,p?h+f:f);y.style.transform=`translateX(${r===`left`?b:-b}px)`,_&&(_.style.opacity=String(Ei(h,f,p))),t.preventDefault()},x=()=>{let e=s,t=c===`horizontal`&&e!==null&&g!==null,i=f,a=Date.now()-d,o=t?Di({wasOpen:p,pull:i,width:m,durationMs:a}):!1;v(),t&&e&&o!==(n===e)&&(Ai(),r(o?e:null))},S=()=>v();return e.addEventListener(`touchstart`,y,{passive:!0}),e.addEventListener(`touchmove`,b,{passive:!1}),e.addEventListener(`touchend`,x),e.addEventListener(`touchcancel`,S),()=>{v(),e.removeEventListener(`touchstart`,y),e.removeEventListener(`touchmove`,b),e.removeEventListener(`touchend`,x),e.removeEventListener(`touchcancel`,S)}},[t,n,r,i,a,o])}function Mi(e,t,n,r){let i=t.filter(e=>e.kind===`owner-fact`||e.kind===`capture-fact`),a=i.map((e,t)=>{let n=e.kind===`owner-fact`?e.fact.kind:e.capture.event.kind,r=e.kind===`capture-fact`?e.link.childRunId:null,i=n.startsWith(`tool`)?`tools`:n.startsWith(`message`)?`model`:`input`;return{key:e.recordId,lane:i,group:`${r??`owner`}:${i}`,groupLabel:`${r??`Owner`} · ${i}`,kind:i===`tools`?`tool`:i===`model`?`text`:`system`,title:`#${e.committedSeq} ${n}`,summary:n,source:`Committed #${e.committedSeq}; ${r??`owner`}`,status:`recorded fact`,clock:e.kind===`capture-fact`?`Worker-local monotonic observations (${e.link.childRunId}): ${e.capture.source.firstObservedMs}–${e.capture.source.lastObservedMs} ms; not aligned to other workers.`:`Owner observation (${e.link.epoch}): ${e.observedMs} ms; clock origin not established by this reader.`,...e.kind===`owner-fact`&&e.fact.kind===`check-settled`?{dur:e.fact.native.durationMs}:{},t:t*1e3,end:t*1e3}}),o;return{onData(e){return o=e,()=>{o=void 0}},readState(){o?.({kind:`state`,conversations:[{id:e,title:`${e} — loaded committed page`,isStreaming:!1,segCount:a.length}],activeId:e})},readSegments(t){t===e&&o?.({kind:`segs`,convId:t,segs:a,reset:!0})},readSegment(t,n){let r=a.findIndex(e=>e.key===n);t!==e||r<0||o?.({kind:`seg_detail`,convId:t,key:n,seg:a[r],detail:JSON.stringify(i[r],null,2),analysis:{position:`Committed sequence ${i[r].committedSeq}; page ordinal ${r+1}. Timing shown in raw facts only; clocks may not be comparable.`}})},openDetail(t,r){let a=i.find(e=>e.recordId===r);t===e&&a&&n(a)},searchHistory:r}}var Ni=`modulepreload`,Pi=function(e){return`/`+e},Fi={},Ii=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}r=o(t.map(t=>{if(t=Pi(t,n),t=s(t),t in Fi)return;Fi[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:Ni,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}).filter(e=>e!==void 0))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})};function Li({client:e,seed:t,onSearch:n}){let r=br(e,{...t,reader:`events`}),i=r.page;return(0,Q.jsxs)(`section`,{className:`timeline-view`,children:[(0,Q.jsx)(`p`,{children:`Committed order, not wall time. Replay advances visualization only. Raw observations retain clock/sequence provenance; unknown timing is not reconstructed.`}),(0,Q.jsx)(kr,{pager:r}),i&&!(`kind`in i)&&(0,Q.jsx)(Ri,{client:e,seed:i.request,records:i.records,onSearch:n},`${i.request.snapshotSeq}:${i.request.after?.recordId??`first`}`)]})}function Ri({client:e,seed:t,records:n,onSearch:r}){let i=(0,f.useRef)(null),[a,o]=(0,f.useState)(!1),[s,c]=(0,f.useState)(!1),l=(0,f.useRef)(r);return l.current=r,(0,f.useEffect)(()=>{let e=!1,r;return Ii(()=>import(`./timeline-client.js`).then(a=>{!e&&i.current&&(r=a.default.mount(i.current,Mi(t.scope.id,n,()=>o(!0),()=>l.current())))}),[]).catch(()=>{e||c(!0)}),()=>{e=!0,r?.()}},[n,t.scope.id]),(0,Q.jsxs)(Q.Fragment,{children:[s&&(0,Q.jsx)(`p`,{role:`alert`,children:`Bundled timeline unavailable; retained events remain accessible, no CDN fallback.`}),(0,Q.jsx)(`div`,{className:`timeline-mount`,ref:i}),a&&(0,Q.jsx)(Ar,{client:e,seed:t})]})}function zi({api:e,planMetadata:t}){let[n]=(0,f.useState)(()=>e??mn()),[r,i]=(0,f.useState)(!1),[a,o]=(0,f.useState)(!1),[s]=(0,f.useState)(hi),[c,l]=(0,f.useState)(s?.taskId??null),[u,d]=(0,f.useState)(s?{kind:`task`,id:s.taskId}:null),p=xn(n,c?{kind:`task`,id:c}:null,!a),m={state:p.observation,transportStatus:p.transportStatus,error:p.error,refresh:p.refresh},h=p.workspace?.storeId,g=(0,f.useMemo)(()=>t??(h?_n(n.client,h):void 0),[t,n,h]),_=m.state?.snapshot.scope.kind===`task`&&m.state.snapshot.scope.id===c?m.state.snapshot.context:void 0,v=_?.status===`available`?_.version:null,y=p.actions&&m.state?.connection===`current`&&m.transportStatus===`current`&&!!v&&v.epoch===p.workspace?.epoch,[b,x]=(0,f.useState)(null),[S,C]=(0,f.useState)(!1),w=(0,f.useRef)(null),[T,E]=(0,f.useState)(260),[D,O]=(0,f.useState)(360),k=(0,f.useCallback)(()=>x(null),[]);(0,f.useEffect)(()=>{let e=matchMedia(`(max-width: 900px)`),t=()=>C(e.matches);return t(),e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)},[]),ji({enabled:S&&!a,open:b,onOpenChange:x,container:w}),vi(w,b,S&&!a,k);let[A,j]=(0,f.useState)(`messages`),[M,N]=(0,f.useState)(!1),[ee,F]=(0,f.useState)(!1),[I,te]=(0,f.useState)(),[L,ne]=(0,f.useState)(s?.cursor),[re,ie]=(0,f.useState)(!1),[ae,oe]=(0,f.useState)(``),[se,ce]=(0,f.useState)(`code`),[R,z]=(0,f.useState)(),[le,B]=(0,f.useState)(!1),[ue,de]=(0,f.useState)(``),[V,fe]=(0,f.useState)([]),[pe,me]=(0,f.useState)(new Set),he=(0,f.useRef)(!0),ge=e=>{he.current&&fe(t=>{let n=t.findIndex(t=>t.commandId===e.commandId);return n<0?[...t,e]:t.map((t,r)=>r===n?vn(t,e):t)})},H=(0,f.useRef)(new Sn),_e=P({taskId:c,scope:u,detached:a,context:v,attachment:p.attachmentVersion,workspaceContext:p.workspace?.context??null,observationError:p.error??null});H.current.select(_e);let[ve,U]=(0,f.useState)(_e);ve!==_e&&(U(_e),B(!1),z(void 0)),(0,f.useEffect)(()=>(he.current=!0,()=>{he.current=!1,H.current.depart()}),[]);let ye=R?.preflight.preview.action.kind===`create`?p.workspace?.context.status===`available`?p.workspace.context.version:null:v,be=async e=>{let t=e.kind===`create`?p.workspace?.context.status===`available`?p.workspace.context.version:null:v;if(!p.actions||!t||le||a){de(`Current action context unavailable; observe again.`);return}H.current.depart();let r=H.current.ticket();B(!0),de(``);try{let i=await Yt(n.client,t,e);if(!H.current.current(r))return;i.kind===`error`?de(`Preflight refused: ${i.error.code}`):z(i.value)}catch{H.current.current(r)&&de(`Preflight unavailable. No automatic retry.`)}finally{H.current.current(r)&&B(!1)}},W=e=>{H.current.depart(),z(void 0),B(!1),l(e),d({kind:`task`,id:e}),te(void 0),ne(void 0),j(`messages`),k(),history.replaceState(null,``,mi(e))};(0,f.useEffect)(()=>{let e=()=>{let e=hi();e&&(H.current.depart(),z(void 0),B(!1),l(e.taskId),d({kind:`task`,id:e.taskId}),te(void 0),ne(e.cursor),j(`messages`),k())};return window.addEventListener(`hashchange`,e),()=>window.removeEventListener(`hashchange`,e)},[k]);let xe=e=>{H.current.depart(),z(void 0),B(!1),d(e),te(void 0),ne(void 0),j(e.kind===`task`?`runs`:`messages`),k()},G=m.state?.snapshot.committedSeq??p.workspace?.committedSeq,K=p.workspace?.storeId,q=u&&K&&G?{storeId:K,scope:u,snapshotSeq:G,reader:`messages`,after:null,limit:50}:null,J=u&&K&&G?{storeId:K,scope:u,snapshotSeq:G,query:null,recordId:null,recordVersion:null,field:null,offset:0}:null,Se=_?m.state?.snapshot.runs??[]:[],Ce=H.current.ticket(),we=e=>{ge(e),e.receipt&&H.current.current(Ce)&&(p.refresh(),e.receipt.created?.state===`published`&&W(e.receipt.created.taskId))},Te=e=>{if(pe.has(e)||!p.cancelCompatible||!p.activeRuns)return;let t=crypto.randomUUID(),r=p.activeRuns.epoch;me(t=>new Set(t).add(e)),ge({commandId:t,error:`Stop requested; settlement is not yet confirmed.`}),n.client.cancel({commandId:t,epoch:r,runId:e}).then(e=>{we(e.kind===`ok`?{commandId:t,receipt:e.value}:{commandId:t,error:`${e.error.code}; cancellation effect ${e.error.effect}. Observe exact receipt.`})}).catch(()=>ge({commandId:t,error:`Cancellation effect uncertain. Observe exact receipt.`})).finally(()=>{he.current&&me(t=>{let n=new Set(t);return n.delete(e),n})})};return a?(0,Q.jsxs)(`main`,{className:`entry`,children:[(0,Q.jsx)(`h1`,{children:`Detached`}),(0,Q.jsx)(`p`,{children:`Accepted service work continues. No Cancel was requested.`}),V.map(e=>(0,Q.jsxs)(`p`,{children:[`Observe command after reconnect: `,(0,Q.jsx)(`code`,{children:e.commandId})]},e.commandId)),(0,Q.jsx)(`button`,{type:`button`,onClick:()=>o(!1),children:`Reconnect as a viewer`})]}):(0,Q.jsxs)(`div`,{className:`app`,children:[(0,Q.jsxs)(`header`,{className:`topbar`,children:[(0,Q.jsx)(`h1`,{children:`Cadence`}),(0,Q.jsx)(`button`,{type:`button`,onClick:()=>x(e=>e===`left`?null:`left`),children:`Tasks`}),(0,Q.jsx)(`button`,{type:`button`,onClick:()=>x(e=>e===`right`?null:`right`),children:`Plan / review`}),(0,Q.jsxs)(`span`,{className:`connection`,role:`status`,children:[m.state?.connection??(p.workspace?`No task selected`:`Service unavailable`),` · transport ${m.transportStatus}`,m.error?` · ${m.error}`:``]}),(0,Q.jsx)(`button`,{type:`button`,onClick:()=>i(!0),children:`Choose owner model`}),(0,Q.jsx)(`button`,{type:`button`,onClick:()=>{z(void 0),x(null),N(!1),F(!1),H.current.depart(),B(!1),o(!0)},children:`Return — work continues`})]}),(0,Q.jsxs)(`section`,{className:`run-status`,"aria-label":`Execution and cancellation`,children:[p.activeRuns?.status===`complete`?p.activeRuns.runs.map(e=>(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`button`,{type:`button`,onClick:()=>W(e.taskId),children:`Open active task`}),(0,Q.jsxs)(`span`,{children:[e.kind,` `,e.runId,` · `,e.stage]}),(0,Q.jsx)(`button`,{type:`button`,className:`danger`,disabled:!p.cancelCompatible||pe.has(e.runId),onClick:()=>Te(e.runId),children:`Cancel run — request stop`})]},e.runId)):(0,Q.jsx)(`span`,{children:`Active roster unavailable; absence is not proof of settlement.`}),(0,Q.jsx)(`span`,{children:`Connection freshness is not execution outcome.`})]}),(ue||p.error)&&(0,Q.jsxs)(`p`,{className:`notice`,role:`alert`,children:[ue||p.error,`. Explicit service guidance:`,` `,(0,Q.jsx)(`code`,{children:`cadence-service status`}),` /`,` `,(0,Q.jsx)(`code`,{children:`cadence-service start --workspace <path>`}),`. No service is started by this page.`]}),(0,Q.jsxs)(`div`,{ref:w,className:`layout`,style:{"--left-w":`${T}px`,"--right-w":`${D}px`},children:[(0,Q.jsx)(`button`,{type:`button`,"aria-label":`Close drawer`,tabIndex:-1,className:`drawer-backdrop persistent${b?` on`:``}`,onClick:k}),(0,Q.jsx)(`section`,{className:`panel-drawer drawer-left${b===`left`?` open`:``}`,"aria-label":`Task navigation drawer`,tabIndex:-1,inert:S&&b!==`left`,children:p.workspace&&(0,Q.jsx)(pi,{client:n.client,workspace:p.workspace,taskId:c,runs:Se,onTask:W,onScope:xe,onNew:()=>{k(),ie(!0)}})}),(0,Q.jsx)(_i,{side:`left`,width:T,onResize:E}),(0,Q.jsxs)(`main`,{className:`main`,inert:S&&b!==null,children:[(0,Q.jsxs)(`div`,{className:`workspace-toolbar`,children:[(0,Q.jsx)(Hr,{disabled:!J,onOpen:()=>N(!0)}),(0,Q.jsx)(`button`,{type:`button`,disabled:!q,onClick:()=>F(!0),children:`Export selected scope`}),(0,Q.jsx)(`button`,{type:`button`,disabled:!c,onClick:()=>{c&&er(mi(c,L)).then(e=>de(e?``:`Link copy unavailable.`))},children:`Copy token-free link`}),(0,Q.jsx)(`button`,{type:`button`,onClick:()=>{p.refresh(),m.refresh()},children:`Observe current state`})]}),u&&(0,Q.jsxs)(`p`,{className:`scope-label`,children:[`Selected `,u.kind,`: `,(0,Q.jsx)(`code`,{children:u.id}),` · snapshot`,` `,G,`. Pages and old outcomes are historical observations, not renewed consent.`]}),(0,Q.jsx)(`nav`,{className:`workspace-tabs`,"aria-label":`Recorded views`,children:[`messages`,`tools`,`context`,`timeline`,`runs`,`outcomes`].map(e=>(0,Q.jsx)(`button`,{type:`button`,"aria-pressed":A===e,onClick:()=>{ne(void 0),te(void 0),j(e)},children:e},e))}),(0,Q.jsxs)(`div`,{className:`workspace-content`,children:[!q&&(0,Q.jsxs)(`section`,{className:`empty`,children:[(0,Q.jsx)(`h2`,{children:`Open a task or create one explicitly`}),(0,Q.jsx)(`p`,{children:`Plans, children, checks and human review share one service owner. No chat or discovery activates execution.`}),(0,Q.jsx)(`button`,{type:`button`,disabled:!p.workspace,onClick:()=>ie(!0),children:`Create task`})]}),q&&L?(0,Q.jsxs)(Q.Fragment,{children:[I&&(I.owner.entity.kind===`task`||I.owner.entity.kind===`message`||I.owner.entity.kind===`tool`)&&(0,Q.jsx)(jr,{client:n.client,seed:{storeId:L.storeId,scope:L.scope,snapshotSeq:L.snapshotSeq,kind:I.owner.entity.kind,id:I.owner.entity.id,version:I.owner.entity.version}},`${I.owner.entity.id}:${I.owner.entity.version}`),(0,Q.jsx)(Or,{client:n.client,cursor:L,highlight:I?.range},`${L.recordId}:${L.recordVersion}`)]}):q&&(0,Q.jsxs)(Q.Fragment,{children:[A===`messages`&&(0,Q.jsx)(Zr,{client:n.client,seed:q}),A===`tools`&&(0,Q.jsx)(Bi,{client:n.client,seed:q}),A===`context`&&(0,Q.jsx)(Ar,{client:n.client,seed:q}),A===`timeline`&&(0,Q.jsx)(Li,{client:n.client,seed:q,onSearch:()=>N(!0)}),A===`runs`&&(0,Q.jsx)(Vr,{client:n.client,seed:{...q,scope:{kind:`task`,id:c??q.scope.id}},onScope:xe},c),A===`outcomes`&&Se.map(e=>(0,Q.jsx)(Rr,{run:e},e.childRunId??e.runId))]}),p.workspace&&V.map(e=>(0,Q.jsx)(hr,{client:n.client,value:e,onChange:ge},e.commandId)),(0,Q.jsxs)(`p`,{className:`notice`,children:[`Local browser build:`,` `,(0,Q.jsx)(`code`,{children:pn?.buildId??`unbuilt source`}),`. Shared compatibility:`,` `,p.compatible?`compatible`:`unavailable / mismatch — reload built assets; normal actions disabled`,`.`]})]})]}),(0,Q.jsx)(_i,{side:`right`,width:D,onResize:O}),(0,Q.jsx)(`section`,{className:`panel-drawer drawer-right${b===`right`?` open`:``}`,"aria-label":`Plan and review drawer`,tabIndex:-1,inert:S&&b!==`right`,children:q&&(0,Q.jsx)(di,{client:n.client,context:v,seed:q,runs:Se,canAct:y&&!le,onAction:e=>void be(e),planMetadata:g},c)})]}),r&&(0,Q.jsx)(mr,{client:n.client,compatible:!!p.compatible&&p.transportStatus===`current`&&!p.error,onClose:()=>i(!1),onChanged:()=>{z(void 0),H.current.depart(),p.refresh(!0)}}),re&&(0,Q.jsxs)(Cn,{title:`Create task`,onClose:()=>ie(!1),children:[(0,Q.jsxs)(`label`,{children:[`Kind`,(0,Q.jsxs)(`select`,{"aria-label":`Kind`,value:se,onChange:e=>ce(e.target.value===`research`?`research`:e.target.value===`diagnosis`?`diagnosis`:`code`),children:[(0,Q.jsx)(`option`,{value:`code`,children:`Code`}),(0,Q.jsx)(`option`,{value:`research`,children:`Readonly research`}),(0,Q.jsx)(`option`,{value:`diagnosis`,children:`Readonly diagnosis`})]})]}),(0,Q.jsxs)(`label`,{children:[`Goal`,(0,Q.jsx)(`textarea`,{"aria-label":`Goal`,value:ae,onChange:e=>oe(e.target.value),rows:6})]}),(0,Q.jsx)(`button`,{type:`button`,disabled:!p.actions||p.workspace?.context.status!==`available`||le||!ae.trim(),onClick:()=>{ie(!1),be({kind:`create`,taskKind:se,goal:ae})},children:`Preview Create (does not Start)`})]}),R&&(0,Q.jsx)(fr,{prepared:R,client:n.client,current:p.actions&&(y||R.preflight.preview.action.kind===`create`)?ye:null,attachmentVersion:p.attachmentVersion,onClose:()=>{H.current.current(Ce)&&(H.current.depart(),z(e=>e===R?void 0:e))},onResult:we},R.commandId),M&&J&&(0,Q.jsx)(Lr,{client:n.client,seed:J,onClose:()=>N(!1),onHit:e=>{te(e),ne(e.cursor),c&&history.replaceState(null,``,mi(c,e.cursor))}}),ee&&J&&(0,Q.jsx)(Pr,{request:{storeId:J.storeId,scope:J.scope,snapshotSeq:J.snapshotSeq,format:`ndjson`},onClose:()=>F(!1)})]})}function Bi({client:e,seed:t}){let n=br(e,{...t,reader:`tools`}),r=n.page;return(0,Q.jsxs)(`section`,{children:[(0,Q.jsx)(kr,{pager:n}),r&&!(`kind`in r)&&r.records.map(t=>t.kind===`tool`?(0,Q.jsx)($r,{record:t,client:e,seed:r.request},`${t.owner.entity.id}:${t.version}`):null)]})}var Vi=class extends f.Component{state={failed:!1};static getDerivedStateFromError(){return{failed:!0}}render(){return this.state.failed?(0,Q.jsxs)(`main`,{children:[(0,Q.jsx)(`h1`,{children:`Presentation unavailable`}),(0,Q.jsx)(`p`,{children:`No execution result is inferred. Reconnect to observe the owner; accepted work continues.`}),(0,Q.jsx)(`button`,{type:`button`,onClick:()=>window.location.reload(),children:`Reload observation`})]}):this.props.children}},Hi=document.getElementById(`root`);if(!Hi)throw Error(`Application root unavailable`);(0,p.createRoot)(Hi).render((0,Q.jsx)(Vi,{children:(0,Q.jsx)(zi,{})}));export{Ii as t};