@rho-workspace/rho 0.5.5 → 0.5.7

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 (250) hide show
  1. package/dist/agent-connect.d.ts +42 -0
  2. package/dist/agent-connect.js +68 -0
  3. package/dist/answer-board.js +3 -3
  4. package/dist/bridge.js +6 -1
  5. package/dist/browser-access.d.ts +1 -0
  6. package/dist/browser-access.js +5 -3
  7. package/dist/capabilities.d.ts +21 -5
  8. package/dist/capabilities.js +6 -4
  9. package/dist/cli.js +113 -18
  10. package/dist/composition.d.ts +1 -1
  11. package/dist/composition.js +13 -3
  12. package/dist/connect-cli.d.ts +50 -0
  13. package/dist/connect-cli.js +128 -0
  14. package/dist/contract.generated.d.ts +1437 -381
  15. package/dist/contract.generated.js +1 -1
  16. package/dist/contracts/owners.generated.js +1160 -267
  17. package/dist/conversation-presentation.d.ts +9 -2
  18. package/dist/conversation-presentation.js +3 -1
  19. package/dist/conversations.d.ts +306 -7
  20. package/dist/conversations.js +208 -22
  21. package/dist/discovery.js +3 -3
  22. package/dist/extension-contract.d.ts +19 -0
  23. package/dist/extension-contract.js +15 -6
  24. package/dist/extension-markets.d.ts +74 -0
  25. package/dist/extension-markets.js +166 -0
  26. package/dist/extensions.d.ts +29 -1
  27. package/dist/extensions.js +13 -4
  28. package/dist/external-work.d.ts +22 -0
  29. package/dist/external-work.js +91 -0
  30. package/dist/plugin-cli.js +75 -3
  31. package/dist/plugin-inventory.d.ts +56 -0
  32. package/dist/plugin-inventory.js +41 -0
  33. package/dist/plugin-inventory.json +1581 -102
  34. package/dist/plugin-presentation.d.ts +105 -2
  35. package/dist/plugin-presentation.js +59 -5
  36. package/dist/plugins.d.ts +14 -3
  37. package/dist/plugins.js +12 -6
  38. package/dist/project-notes.js +1 -1
  39. package/dist/protocol.d.ts +7 -0
  40. package/dist/protocol.js +40 -15
  41. package/dist/replay.js +4 -0
  42. package/dist/response-contracts.js +26 -11
  43. package/dist/running.d.ts +10 -0
  44. package/dist/running.js +45 -0
  45. package/dist/server.d.ts +4 -10
  46. package/dist/server.js +140 -14
  47. package/dist/state.d.ts +8 -0
  48. package/dist/state.js +8 -0
  49. package/dist/studio-layout.js +3 -3
  50. package/dist/task-frame.d.ts +1 -1
  51. package/dist/timeline-events.d.ts +1 -0
  52. package/dist/timeline-events.js +8 -1
  53. package/dist/ui-context.d.ts +73 -0
  54. package/dist/ui-context.js +98 -0
  55. package/dist/ui-contract.d.ts +23 -0
  56. package/dist/web/.vite/manifest.json +135 -76
  57. package/dist/web/assets/answer-board-CeYS8k8y.js +1 -0
  58. package/dist/web/assets/choices-D8vGwsl2.js +1 -0
  59. package/dist/web/assets/{console-BSjLGe0T.js → console-Dyuo1q4N.js} +4 -4
  60. package/dist/web/assets/{dist-Tzoe_zm-.js → dist-CSiCyBml.js} +1 -1
  61. package/dist/web/assets/{dist-Cw8hRIlT.js → dist-D9FLb9Hm.js} +1 -1
  62. package/dist/web/assets/{dist-foH9IKc6.js → dist-FXbTBwML.js} +1 -1
  63. package/dist/web/assets/{dist-Buk0lwzI.js → dist-l3DUhbw5.js} +1 -1
  64. package/dist/web/assets/{explore-in-BVUy3ZW_.js → explore-in-BfSFGRh2.js} +1 -1
  65. package/dist/web/assets/graph-BU2_o5uA.js +2 -0
  66. package/dist/web/assets/index-C16mXVvk.css +1 -0
  67. package/dist/web/assets/index-CWg9XYXx.js +952 -0
  68. package/dist/web/assets/markdown.reader-Ct2-e2Zt.png +0 -0
  69. package/dist/web/assets/{notes-meaning-pVbbQUGP.js → notes-meaning-T2m5zQfv.js} +1 -1
  70. package/dist/web/assets/overview-PzfLJCo-.js +6 -0
  71. package/dist/web/assets/preview-BguEdsza.js +1 -0
  72. package/dist/web/assets/previews-pWNik-2g.js +3 -0
  73. package/dist/web/assets/{review-CMxQlQ-C.js → review-Dy_85lcH.js} +1 -1
  74. package/dist/web/assets/rho.editor-CCJeyHma.png +0 -0
  75. package/dist/web/assets/rho.flow-WkMj6fRS.png +0 -0
  76. package/dist/web/assets/rho.media-Cc6amodO.png +0 -0
  77. package/dist/web/assets/rho.notebook-6vsZKGDq.png +0 -0
  78. package/dist/web/assets/rho.object-BGoeXjte.png +0 -0
  79. package/dist/web/assets/rho.plots-yIiISCkb.png +0 -0
  80. package/dist/web/assets/rho.scatter-DwHxesCs.png +0 -0
  81. package/dist/web/assets/rho.servers-DKf_mnNq.png +0 -0
  82. package/dist/web/assets/rho.table-DWOGaWDa.png +0 -0
  83. package/dist/web/assets/rho.variables-CKcWczhQ.png +0 -0
  84. package/dist/web/assets/{skills-BFNSyrnD.js → skills-Dyz7mBlc.js} +1 -1
  85. package/dist/web/assets/{skills-work-BGPSnF_I.js → skills-work-BEGqlCkx.js} +1 -1
  86. package/dist/web/assets/studio-process-D-ykbC4D.js +2 -0
  87. package/dist/web/assets/timeline-events-DKTho9fU.js +1 -0
  88. package/dist/web/assets/work-turns-DSabCogR.js +1 -0
  89. package/dist/web/assets/{workspace-CWlkjLNx.js → workspace-DfjBL--r.js} +2 -2
  90. package/dist/web/composition.json +135 -80
  91. package/dist/web/index.html +3 -3
  92. package/dist/web/renderer.json +1 -1
  93. package/dist/web-assets.js +2 -2
  94. package/dist/work-graph.d.ts +11 -1
  95. package/dist/work-graph.js +16 -5
  96. package/dist/workspace.d.ts +2 -2
  97. package/dist/workspace.js +8 -7
  98. package/docs/FRONTEND.md +71 -21
  99. package/docs/HEADLESS.md +127 -24
  100. package/docs/THIRD-PARTY-PLUGINS.md +75 -3
  101. package/node_modules/@rho-workspace/plugin-agent/README.md +34 -0
  102. package/node_modules/@rho-workspace/plugin-agent/dist/acp-command.d.ts +32 -0
  103. package/node_modules/@rho-workspace/plugin-agent/dist/acp-command.js +54 -11
  104. package/node_modules/@rho-workspace/plugin-agent/dist/acp-conversation.d.ts +1 -0
  105. package/node_modules/@rho-workspace/plugin-agent/dist/acp-conversation.js +29 -3
  106. package/node_modules/@rho-workspace/plugin-agent/dist/external-session-contract.js +11 -5
  107. package/node_modules/@rho-workspace/plugin-agent/dist/external-session.d.ts +12 -1
  108. package/node_modules/@rho-workspace/plugin-agent/dist/index.d.ts +8 -0
  109. package/node_modules/@rho-workspace/plugin-agent/dist/index.js +3 -2
  110. package/node_modules/@rho-workspace/plugin-agent/dist/mcp-entry.d.ts +13 -0
  111. package/node_modules/@rho-workspace/plugin-agent/dist/mcp-entry.js +13 -0
  112. package/node_modules/@rho-workspace/plugin-agent/dist/mcp.js +16 -8
  113. package/node_modules/@rho-workspace/plugin-agent/dist/native-sessions.d.ts +70 -0
  114. package/node_modules/@rho-workspace/plugin-agent/dist/native-sessions.js +538 -0
  115. package/node_modules/@rho-workspace/plugin-agent/package.json +2 -1
  116. package/node_modules/@rho-workspace/plugin-figures/LICENSE +661 -0
  117. package/node_modules/@rho-workspace/plugin-figures/README.md +191 -0
  118. package/node_modules/@rho-workspace/plugin-figures/dist/index.d.ts +236 -0
  119. package/node_modules/@rho-workspace/plugin-figures/dist/index.js +165 -0
  120. package/node_modules/@rho-workspace/plugin-figures/dist/operations.d.ts +44 -0
  121. package/node_modules/@rho-workspace/plugin-figures/dist/operations.js +39 -0
  122. package/node_modules/@rho-workspace/plugin-figures/dist/presentation.d.ts +19 -0
  123. package/node_modules/@rho-workspace/plugin-figures/dist/presentation.js +26 -0
  124. package/node_modules/@rho-workspace/plugin-figures/dist/record.d.ts +188 -0
  125. package/node_modules/@rho-workspace/plugin-figures/dist/record.js +143 -0
  126. package/node_modules/@rho-workspace/plugin-figures/dist/ui-styles.d.ts +1 -0
  127. package/node_modules/@rho-workspace/plugin-figures/dist/ui-styles.js +68 -0
  128. package/node_modules/@rho-workspace/plugin-figures/dist/ui.d.ts +56 -0
  129. package/node_modules/@rho-workspace/plugin-figures/dist/ui.js +363 -0
  130. package/node_modules/@rho-workspace/plugin-figures/package.json +41 -0
  131. package/node_modules/@rho-workspace/plugin-figures/py/figures.py +856 -0
  132. package/node_modules/@rho-workspace/plugin-figures/r/figures.R +775 -0
  133. package/node_modules/@rho-workspace/plugin-kernel/README.md +27 -3
  134. package/node_modules/@rho-workspace/plugin-kernel/dist/contract.d.ts +12 -0
  135. package/node_modules/@rho-workspace/plugin-kernel/dist/contract.js +8 -1
  136. package/node_modules/@rho-workspace/plugin-kernel/dist/index.d.ts +61 -0
  137. package/node_modules/@rho-workspace/plugin-kernel/dist/index.js +125 -9
  138. package/node_modules/@rho-workspace/plugin-kernel/dist/session-scope.d.ts +14 -0
  139. package/node_modules/@rho-workspace/plugin-kernel/dist/session-scope.js +9 -0
  140. package/node_modules/@rho-workspace/plugin-kernel/dist/ui-base.d.ts +23 -5
  141. package/node_modules/@rho-workspace/plugin-kernel/dist/ui-notebook-work.js +1 -1
  142. package/node_modules/@rho-workspace/plugin-kernel/dist/ui-notebook.d.ts +6 -4
  143. package/node_modules/@rho-workspace/plugin-kernel/dist/ui-notebook.js +44 -17
  144. package/node_modules/@rho-workspace/plugin-kernel/dist/ui-styles.js +6 -0
  145. package/node_modules/@rho-workspace/plugin-kernel/package.json +1 -1
  146. package/node_modules/@rho-workspace/plugin-kernel/runners/runner.R +144 -4
  147. package/node_modules/@rho-workspace/plugin-kernel/runners/runner.py +106 -1
  148. package/node_modules/@rho-workspace/plugin-tables/README.md +5 -0
  149. package/node_modules/@rho-workspace/plugin-tables/dist/index.d.ts +1 -0
  150. package/node_modules/@rho-workspace/plugin-tables/dist/index.js +19 -3
  151. package/node_modules/@rho-workspace/plugin-tables/dist/ui.js +1 -1
  152. package/node_modules/@rho-workspace/plugin-tables/package.json +1 -1
  153. package/node_modules/hono/dist/adapter/aws-lambda/handler.js +1 -1
  154. package/node_modules/hono/dist/cjs/adapter/aws-lambda/handler.js +1 -1
  155. package/node_modules/hono/dist/cjs/adapter/bun/serve-static.js +1 -1
  156. package/node_modules/hono/dist/cjs/adapter/bun/websocket.js +1 -1
  157. package/node_modules/hono/dist/cjs/client/fetch-result-please.js +1 -1
  158. package/node_modules/hono/dist/cjs/helper/accepts/accepts.js +2 -1
  159. package/node_modules/hono/dist/cjs/helper/ssg/ssg.js +5 -3
  160. package/node_modules/hono/dist/cjs/jsx/base.js +49 -30
  161. package/node_modules/hono/dist/cjs/jsx/components.js +2 -2
  162. package/node_modules/hono/dist/cjs/jsx/constants.js +2 -0
  163. package/node_modules/hono/dist/cjs/jsx/jsx-runtime.js +13 -17
  164. package/node_modules/hono/dist/cjs/middleware/etag/index.js +3 -1
  165. package/node_modules/hono/dist/cjs/middleware/pretty-json/index.js +1 -0
  166. package/node_modules/hono/dist/cjs/middleware/timing/timing.js +4 -3
  167. package/node_modules/hono/dist/cjs/utils/cookie.js +2 -2
  168. package/node_modules/hono/dist/cjs/utils/mime.js +1 -1
  169. package/node_modules/hono/dist/cjs/utils/url.js +1 -1
  170. package/node_modules/hono/dist/client/fetch-result-please.js +1 -1
  171. package/node_modules/hono/dist/helper/accepts/accepts.js +2 -1
  172. package/node_modules/hono/dist/helper/ssg/ssg.js +5 -3
  173. package/node_modules/hono/dist/jsx/base.js +49 -32
  174. package/node_modules/hono/dist/jsx/components.js +2 -2
  175. package/node_modules/hono/dist/jsx/constants.js +2 -1
  176. package/node_modules/hono/dist/jsx/jsx-runtime.js +15 -19
  177. package/node_modules/hono/dist/middleware/etag/index.js +3 -1
  178. package/node_modules/hono/dist/middleware/language/language.js +1 -1
  179. package/node_modules/hono/dist/middleware/pretty-json/index.js +1 -0
  180. package/node_modules/hono/dist/middleware/timing/timing.js +4 -3
  181. package/node_modules/hono/dist/utils/cookie.js +2 -2
  182. package/node_modules/hono/dist/utils/mime.js +1 -1
  183. package/node_modules/hono/dist/utils/url.js +1 -1
  184. package/node_modules/hono/package.json +1 -1
  185. package/node_modules/jose/dist/webapi/jwe/general/decrypt.js +3 -2
  186. package/node_modules/jose/dist/webapi/jwks/remote.js +1 -1
  187. package/node_modules/jose/dist/webapi/jws/general/verify.js +2 -8
  188. package/node_modules/jose/dist/webapi/lib/jwe_decrypt.js +11 -8
  189. package/node_modules/jose/dist/webapi/lib/key_management.js +0 -1
  190. package/node_modules/jose/package.json +1 -1
  191. package/package.json +6 -4
  192. package/protocol/index.json +106 -64
  193. package/protocol/operations/agent.sessions.list.json +57 -3
  194. package/protocol/operations/agent.sessions.read.json +61 -4
  195. package/protocol/operations/capability.list.json +382 -6
  196. package/protocol/operations/composition.apply.json +10 -2
  197. package/protocol/operations/composition.delete.json +845 -0
  198. package/protocol/operations/composition.read.json +10 -2
  199. package/protocol/operations/composition.undo.json +10 -2
  200. package/protocol/operations/conversation.agents.add.json +346 -0
  201. package/protocol/operations/conversation.agents.remove.json +340 -0
  202. package/protocol/operations/conversation.configure.json +29 -0
  203. package/protocol/operations/conversation.decide.json +225 -0
  204. package/protocol/operations/conversation.list.json +29 -0
  205. package/protocol/operations/conversation.permission.json +225 -0
  206. package/protocol/operations/conversation.read.json +225 -0
  207. package/protocol/operations/conversation.restore.json +29 -0
  208. package/protocol/operations/conversation.send.json +294 -0
  209. package/protocol/operations/conversation.settings.check.json +226 -416
  210. package/protocol/operations/conversation.settings.read.json +224 -411
  211. package/protocol/operations/conversation.settings.update.json +248 -475
  212. package/protocol/operations/conversation.start.json +313 -6
  213. package/protocol/operations/conversation.stop.json +225 -0
  214. package/protocol/operations/conversation.trash.json +29 -0
  215. package/protocol/operations/extension.describe.json +39 -0
  216. package/protocol/operations/extension.install.json +62 -0
  217. package/protocol/operations/extension.list.json +164 -1
  218. package/protocol/operations/extension.market.change.json +210 -0
  219. package/protocol/operations/figure.read.json +265 -0
  220. package/protocol/operations/figure.select.json +157 -0
  221. package/protocol/operations/kernel.interrupt.json +119 -0
  222. package/protocol/operations/kernel.read.json +119 -0
  223. package/protocol/operations/kernel.run.json +119 -0
  224. package/protocol/operations/observation.snapshot.json +445 -8
  225. package/protocol/operations/project.openFile.json +10 -2
  226. package/protocol/operations/session.grant.json +4 -0
  227. package/protocol/operations/session.instructions.json +43 -0
  228. package/protocol/operations/shared.json +1 -0
  229. package/protocol/operations/view.close.json +10 -2
  230. package/protocol/operations/view.protection.set.json +10 -2
  231. package/vendor/composition.json +174 -109
  232. package/vendor/rho-workspace-plugin-agent-0.4.33.tgz +0 -0
  233. package/vendor/rho-workspace-plugin-figures-0.5.1.tgz +0 -0
  234. package/vendor/rho-workspace-plugin-kernel-0.5.13.tgz +0 -0
  235. package/vendor/rho-workspace-plugin-tables-0.5.2.tgz +0 -0
  236. package/web/theme.css +17 -0
  237. package/dist/web/assets/answer-board-CBkGbSLD.js +0 -1
  238. package/dist/web/assets/canvas-D8rDdfDz.js +0 -1
  239. package/dist/web/assets/choices-b0XhrGQV.js +0 -1
  240. package/dist/web/assets/graph-1OdIJ9l7.js +0 -2
  241. package/dist/web/assets/index-CsC3sTRq.css +0 -1
  242. package/dist/web/assets/index-CxmItXqa.js +0 -891
  243. package/dist/web/assets/overview-B9UtVJ32.js +0 -6
  244. package/dist/web/assets/preview-CksD_5KS.js +0 -1
  245. package/dist/web/assets/studio-process-CsRoTHOh.js +0 -2
  246. package/dist/web/assets/timeline-events-BbuuFWHV.js +0 -1
  247. package/dist/web/assets/work-turns-BvJlIMmA.js +0 -1
  248. package/vendor/rho-workspace-plugin-agent-0.4.29.tgz +0 -0
  249. package/vendor/rho-workspace-plugin-kernel-0.5.5.tgz +0 -0
  250. package/vendor/rho-workspace-plugin-tables-0.5.0.tgz +0 -0
@@ -11,21 +11,21 @@
11
11
  "build": {
12
12
  "system": "github-actions",
13
13
  "workflow": "YuLab-SMU/Rho/.github/workflows/ci.yml@refs/heads/main",
14
- "run": "https://github.com/YuLab-SMU/Rho/actions/runs/42276270326",
14
+ "run": "https://github.com/YuLab-SMU/Rho/actions/runs/42539296957",
15
15
  "attempt": 1
16
16
  },
17
17
  "application": {
18
18
  "repository": "https://github.com/YuLab-SMU/Rho",
19
- "commit": "50ccd85b907c08621fd90efde9a76b375af0ee3e",
20
- "tree": "d651f224c619ad7c1a6bc451a775e1342742060a",
21
- "buildInputsSha256": "cddc88906e0f4dc5b1d9df33cbb23f02b304eb8fd5ff645cca6f092dce84bb67",
19
+ "commit": "3ba229d8eb5f0e2fe2e18c69d10e65e6ed8d7a7a",
20
+ "tree": "f37cd3d4e787fe292548fdeeba643ec3462cbdb2",
21
+ "buildInputsSha256": "b4731c1f72affa846ada8a21a988829d33e04269ee772252a727fe74f427b570",
22
22
  "localOverride": null
23
23
  },
24
24
  "plugins": {
25
25
  "repository": "https://github.com/YuLab-SMU/Rho-plugins",
26
- "commit": "00e5c24bfdfd37a0afc795e6c98391ec9a26ca76",
27
- "tree": "ffda516275ac0f7a0e06a0f3ec700db8dbdfb230",
28
- "buildInputsSha256": "febd72357608c1d5310be114c25ddc9154d7b250ab8b947abc72698b6c3db79c",
26
+ "commit": "ce1185f07b2514f0f5da9164a778a6f6aacd6922",
27
+ "tree": "44a3030dac9c95b8b23b421a797b90010f6b4be3",
28
+ "buildInputsSha256": "a15af33f49b3732ec2273b4e5c4dc1bfe2ffd4ddf6813f240fd5e0d0403df4e9",
29
29
  "localOverride": null,
30
30
  "selected": [
31
31
  "documents",
@@ -39,6 +39,7 @@
39
39
  "annotations",
40
40
  "console",
41
41
  "kernel",
42
+ "figures",
42
43
  "skills"
43
44
  ],
44
45
  "uiSources": [
@@ -94,11 +95,11 @@
94
95
  {
95
96
  "id": "tables",
96
97
  "package": "@rho-workspace/plugin-tables",
97
- "version": "0.5.0",
98
- "filename": "rho-workspace-plugin-tables-0.5.0.tgz",
99
- "bytes": 43291,
100
- "sha256": "45600f5f4ba69e23cb242860bee169aa1082ba72eab95445bd4f156ffb08542d",
101
- "integrity": "sha512-TtjwKZht8uOnvEF4URYl89nmdisLTU9rgWH1fEYIerdvgXF0wuWpSc5ZKALQFoNlvFvmL1UlbFnBUgJgliPs8w=="
98
+ "version": "0.5.2",
99
+ "filename": "rho-workspace-plugin-tables-0.5.2.tgz",
100
+ "bytes": 43744,
101
+ "sha256": "61c7e87cd4283662e5a766f5d1fd0a4d4f98351e75aa7766929a040c79ef99fe",
102
+ "integrity": "sha512-X6+AR6wgr72edL5nN9yPHEWisFoBqmFuSYxwy9/YIffKulT8Tninlr5Ej1Z8/uXdxpY+g22aD3u7tPvygITgXg=="
102
103
  },
103
104
  {
104
105
  "id": "media",
@@ -121,11 +122,11 @@
121
122
  {
122
123
  "id": "agent",
123
124
  "package": "@rho-workspace/plugin-agent",
124
- "version": "0.4.29",
125
- "filename": "rho-workspace-plugin-agent-0.4.29.tgz",
126
- "bytes": 130664,
127
- "sha256": "741ab25a0736b4dd59bb8209cb665e0e6cd060a6160e2fd89e9dab89e3eea3b5",
128
- "integrity": "sha512-DRt7zDX+jH5WKQryhSuwIpUtqA6N1uvObIW929m7a1PFT9R9z4S1Mp55434tvjyhg1DlRHMAYTM3a3yO9GRvDw=="
125
+ "version": "0.4.33",
126
+ "filename": "rho-workspace-plugin-agent-0.4.33.tgz",
127
+ "bytes": 142526,
128
+ "sha256": "87786ab0d29a797d5b6623060cf31948ec81f1b23883165d61bbec3f18d7a7c0",
129
+ "integrity": "sha512-48MfKxFyNvA209W1Md3vPgjhPNlEO33RsXLoMmX19rkD4Otp3az4M/3NfWxxHEhj9SaFPGBrijEQfP6DPjiX1w=="
129
130
  },
130
131
  {
131
132
  "id": "annotations",
@@ -148,11 +149,20 @@
148
149
  {
149
150
  "id": "kernel",
150
151
  "package": "@rho-workspace/plugin-kernel",
151
- "version": "0.5.5",
152
- "filename": "rho-workspace-plugin-kernel-0.5.5.tgz",
153
- "bytes": 142503,
154
- "sha256": "8d5f67cce406a664d2d23ecdc905423de6ed2955e1cba9b5751c136e656d5571",
155
- "integrity": "sha512-v6xr4+kvpp3JClrW7PHa88ZlrJkUSmlPDw7o9JUeoDriJAsOAQkor32O1gElBR/Htlxd5KrNYK5b3dpn1LndxA=="
152
+ "version": "0.5.13",
153
+ "filename": "rho-workspace-plugin-kernel-0.5.13.tgz",
154
+ "bytes": 151907,
155
+ "sha256": "b89616d615dd3f74cae062b6957a3fb22706c8a36e89c1caf5364321da814a5b",
156
+ "integrity": "sha512-v706eigDYIItVioSqZ+MVLwh/DEqL8FObhrGYuIv7gDQtderYtAngdRyZUpr4uZ/IeTF9fFi8p5v6E12B/V9qw=="
157
+ },
158
+ {
159
+ "id": "figures",
160
+ "package": "@rho-workspace/plugin-figures",
161
+ "version": "0.5.1",
162
+ "filename": "rho-workspace-plugin-figures-0.5.1.tgz",
163
+ "bytes": 69559,
164
+ "sha256": "a3582737c0653078c118ce7f0cb24889601e0767c7e7b4863e0aa1d39a1acc71",
165
+ "integrity": "sha512-CxM7o1d4BNVyetZf57RVNbVZomoytmXQ5YEpw2UPve6yX/IsoH+/Xqs4nvurSpIbK8c9BR6nEkrqQPVf0cExgw=="
156
166
  },
157
167
  {
158
168
  "id": "skills",
@@ -167,12 +177,12 @@
167
177
  },
168
178
  "catalog": {
169
179
  "path": "dist/plugin-inventory.json",
170
- "sha256": "c91b2283576672a2f4fb11fd9839e2b6f1adae47758434b560c06c071c5b0090",
171
- "bytes": 40021,
180
+ "sha256": "db06bf9a60776f030f02fad41090193de100ac503c5be954c017fd3dee8d6c78",
181
+ "bytes": 96022,
172
182
  "source": {
173
- "commit": "00e5c24bfdfd37a0afc795e6c98391ec9a26ca76",
174
- "tree": "ffda516275ac0f7a0e06a0f3ec700db8dbdfb230",
175
- "buildInputsSha256": "febd72357608c1d5310be114c25ddc9154d7b250ab8b947abc72698b6c3db79c",
183
+ "commit": "ce1185f07b2514f0f5da9164a778a6f6aacd6922",
184
+ "tree": "44a3030dac9c95b8b23b421a797b90010f6b4be3",
185
+ "buildInputsSha256": "a15af33f49b3732ec2273b4e5c4dc1bfe2ffd4ddf6813f240fd5e0d0403df4e9",
176
186
  "localOverride": null
177
187
  },
178
188
  "scope": "Descriptive inventory of the reviewed owners; contributes no runtime entry or authority."
@@ -181,7 +191,7 @@
181
191
  "repository": "https://github.com/YuLab-SMU/Rho-core",
182
192
  "commit": "8bed8ef5dbb841c61845317b330e2e7f755d8f50",
183
193
  "tree": "2065db2485ba33f99b0b3bde9313ff95cf59d371",
184
- "buildInputsSha256": "fa637a9479e881927fbf03f127f2d15e6082d769ba2d0c3ac5c598704bcd08f9",
194
+ "buildInputsSha256": "e511e57bc5b226744110878217e97654561ab1867f5518a5a772d22cad567fd0",
185
195
  "localOverride": null,
186
196
  "buildAssociation": "Explicitly selected local builds of this source, one per platform; no reproducible-build or signing claim.",
187
197
  "artifacts": {
@@ -216,7 +226,7 @@
216
226
  "web": {
217
227
  "format": "rho.web-build/1",
218
228
  "uiProtocol": "0.1-draft",
219
- "rendererBuild": "3b349e536ff70ed5bfcf74df245c2b6806cd8689ba0ca31c1d1f3a560cb55f29",
229
+ "rendererBuild": "c91ca90733547979438dc656e21b4881d5df05f971152e686d48b89585294a48",
220
230
  "ownerEntries": [
221
231
  {
222
232
  "plugin": "documents",
@@ -235,8 +245,8 @@
235
245
  "component": "rho.table",
236
246
  "version": "0.2.0",
237
247
  "source": "web/entries/tables.tsx",
238
- "packageVersion": "0.5.0",
239
- "entrySha256": "e11c5f8259554ce91abf00c84558ad7b97ea09577379825407ccab0561363730"
248
+ "packageVersion": "0.5.2",
249
+ "entrySha256": "3d550c002d3b3462a7869afeb12f60cfbe77b476ae26a576054c1c34b449cf33"
240
250
  },
241
251
  {
242
252
  "plugin": "charts",
@@ -275,7 +285,7 @@
275
285
  "component": "rho.agent-note",
276
286
  "version": "0.2.0",
277
287
  "source": "web/entries/agent.tsx",
278
- "packageVersion": "0.4.29",
288
+ "packageVersion": "0.4.33",
279
289
  "entrySha256": "0e18d175dfc25fd8e237ec0341422e0d1311d2d8882e487962e8c7c25794d69e"
280
290
  },
281
291
  {
@@ -286,7 +296,7 @@
286
296
  "version": "1",
287
297
  "source": "web/entries/kernel.tsx",
288
298
  "export": "notebook",
289
- "packageVersion": "0.5.5",
299
+ "packageVersion": "0.5.13",
290
300
  "entrySha256": "b5a012c8cd766e04cafb550e62eeec1c3b85eae07ac2fa69175f472268ddfbb2"
291
301
  },
292
302
  {
@@ -297,7 +307,7 @@
297
307
  "version": "1",
298
308
  "source": "web/entries/kernel.tsx",
299
309
  "export": "variables",
300
- "packageVersion": "0.5.5",
310
+ "packageVersion": "0.5.13",
301
311
  "entrySha256": "b5a012c8cd766e04cafb550e62eeec1c3b85eae07ac2fa69175f472268ddfbb2"
302
312
  },
303
313
  {
@@ -308,7 +318,7 @@
308
318
  "version": "1",
309
319
  "source": "web/entries/kernel.tsx",
310
320
  "export": "plots",
311
- "packageVersion": "0.5.5",
321
+ "packageVersion": "0.5.13",
312
322
  "entrySha256": "b5a012c8cd766e04cafb550e62eeec1c3b85eae07ac2fa69175f472268ddfbb2"
313
323
  },
314
324
  {
@@ -319,7 +329,7 @@
319
329
  "version": "1",
320
330
  "source": "web/entries/kernel.tsx",
321
331
  "export": "flow",
322
- "packageVersion": "0.5.5",
332
+ "packageVersion": "0.5.13",
323
333
  "entrySha256": "b5a012c8cd766e04cafb550e62eeec1c3b85eae07ac2fa69175f472268ddfbb2"
324
334
  },
325
335
  {
@@ -330,7 +340,7 @@
330
340
  "version": "1",
331
341
  "source": "web/entries/kernel.tsx",
332
342
  "export": "servers",
333
- "packageVersion": "0.5.5",
343
+ "packageVersion": "0.5.13",
334
344
  "entrySha256": "b5a012c8cd766e04cafb550e62eeec1c3b85eae07ac2fa69175f472268ddfbb2"
335
345
  },
336
346
  {
@@ -341,7 +351,7 @@
341
351
  "version": "1",
342
352
  "source": "web/entries/kernel.tsx",
343
353
  "export": "object",
344
- "packageVersion": "0.5.5",
354
+ "packageVersion": "0.5.13",
345
355
  "entrySha256": "b5a012c8cd766e04cafb550e62eeec1c3b85eae07ac2fa69175f472268ddfbb2"
346
356
  },
347
357
  {
@@ -469,48 +479,43 @@
469
479
  "assets": [
470
480
  {
471
481
  "path": ".vite/manifest.json",
472
- "bytes": 23614,
473
- "sha256": "c005620ae7168c671f7a2b1bfcf1d41ac06d4f9a86d1424dd8e0262574327f3e"
482
+ "bytes": 25499,
483
+ "sha256": "9eba9a613f0ffb1372bf3b8637a297c2225674699d5d77c69da6ecf36c2b01df"
474
484
  },
475
485
  {
476
- "path": "assets/answer-board-CBkGbSLD.js",
477
- "bytes": 4040,
478
- "sha256": "2d1a41d6ce8a1ad1e06c6eb26bf33520b467b1fcb3a158d6c585c6b9140a0bc6"
486
+ "path": "assets/answer-board-CeYS8k8y.js",
487
+ "bytes": 4206,
488
+ "sha256": "1084e56f250fba2f5e0ccdf79ef244e978a98967d5fe41fcfc0176737f006b0c"
479
489
  },
480
490
  {
481
- "path": "assets/canvas-D8rDdfDz.js",
482
- "bytes": 20318,
483
- "sha256": "cd9dfbef068bacb28e1327cd137b26fff32004288a0827152ec532abc24f7558"
484
- },
485
- {
486
- "path": "assets/choices-b0XhrGQV.js",
487
- "bytes": 11096,
488
- "sha256": "53dcc1371554e3bd7a498e014a14bdd1d8b88f38779b2ae99d0b3508c7bd334b"
491
+ "path": "assets/choices-D8vGwsl2.js",
492
+ "bytes": 11097,
493
+ "sha256": "987f7ea23f75c4214e3e688cd5778b86012f78f324b204bf1c51f5ad66e00f22"
489
494
  },
490
495
  {
491
496
  "path": "assets/choices-DLah50GC.css",
492
497
  "bytes": 1659,
493
498
  "sha256": "2285c02644e12f379880df802cd34ed6262d73a159aeb9a12e80de44f12db447"
494
499
  },
495
- {
496
- "path": "assets/console-BSjLGe0T.js",
497
- "bytes": 21020,
498
- "sha256": "a00778dfaf497479106979941bb938bc2bc12b2548229bad026db0444bad236f"
499
- },
500
500
  {
501
501
  "path": "assets/console-By4Mvn1y.css",
502
502
  "bytes": 3779,
503
503
  "sha256": "38fdefe20f181e6a050793f715a13bcbde2e9c167f80f554a775e3578dcd78bc"
504
504
  },
505
505
  {
506
- "path": "assets/dist-Buk0lwzI.js",
507
- "bytes": 183314,
508
- "sha256": "345aa1f35697b2ac10b7f7675c5945f684ffa7aa6f7d5e19c628691c2c062dd3"
506
+ "path": "assets/console-Dyuo1q4N.js",
507
+ "bytes": 21041,
508
+ "sha256": "f7d34b3ec6ab42de0aa46a26feff2ec5f491021fc9590edc425e5dd1a4187d22"
509
509
  },
510
510
  {
511
- "path": "assets/dist-Cw8hRIlT.js",
511
+ "path": "assets/dist-CSiCyBml.js",
512
+ "bytes": 37492,
513
+ "sha256": "fd45cc66c4d5b6e964a4d2575ae51dc15c495fad627953f50e32ad889f11eee3"
514
+ },
515
+ {
516
+ "path": "assets/dist-D9FLb9Hm.js",
512
517
  "bytes": 35411,
513
- "sha256": "6bc9507492e252c592d32bb496698906c50f8a7c24d68dfd91d47a740986eadc"
518
+ "sha256": "cd0ca4611168eb267b73edd28d791d9995ec5513bfd60ce8c0c2e15c3b8edb32"
514
519
  },
515
520
  {
516
521
  "path": "assets/dist-DCtcCJPs.js",
@@ -518,19 +523,19 @@
518
523
  "sha256": "9deb65f8b227a08473b422b448735f045aa2251acf498f169640f7d38d96173e"
519
524
  },
520
525
  {
521
- "path": "assets/dist-foH9IKc6.js",
526
+ "path": "assets/dist-FXbTBwML.js",
522
527
  "bytes": 44651,
523
- "sha256": "d6cde09d1e887a5e9ccd174b5424a4cd221fd8925fa798b78e72809603c54cfe"
528
+ "sha256": "47295c25afc3c0036532edc113e830ae5c28b48ad96855247a0d5884aa3e8a43"
524
529
  },
525
530
  {
526
- "path": "assets/dist-Tzoe_zm-.js",
527
- "bytes": 37492,
528
- "sha256": "3d46a1e1e8b62f03387b5bc58ed26e96f6dd7a7e69d3e60a4fb1aa274ef9a494"
531
+ "path": "assets/dist-l3DUhbw5.js",
532
+ "bytes": 183314,
533
+ "sha256": "053fca9b4463b89ed40d6d96ca76c814f4248b94486af0f273918bb1948b317c"
529
534
  },
530
535
  {
531
- "path": "assets/explore-in-BVUy3ZW_.js",
536
+ "path": "assets/explore-in-BfSFGRh2.js",
532
537
  "bytes": 782,
533
- "sha256": "a1fefc75676c96992b581d3429e519ee54599bde934edbdb035937bec560e62c"
538
+ "sha256": "a906f7553bb455f0e4153036cdba5dc8b4f03603b8d6d71c41f9e9eb3eea6a22"
534
539
  },
535
540
  {
536
541
  "path": "assets/facts-BMO6V3-3.js",
@@ -543,9 +548,9 @@
543
548
  "sha256": "413304efcb99472948f1c20b997d0a0f9a4a6c84f2255338fef001ddfe8408b4"
544
549
  },
545
550
  {
546
- "path": "assets/graph-1OdIJ9l7.js",
547
- "bytes": 48768,
548
- "sha256": "cdbeeeafd4c5a13544309bba4899963f30ced19ad1f17decc05f0be7689f5088"
551
+ "path": "assets/graph-BU2_o5uA.js",
552
+ "bytes": 49087,
553
+ "sha256": "597806d9e16f80b85ed0cdfc1c681712c7876a71364230d6ea2f22d108af5771"
549
554
  },
550
555
  {
551
556
  "path": "assets/graph-BYKN84J3.css",
@@ -558,14 +563,14 @@
558
563
  "sha256": "6bbbe67af01bd03b2777abcc02e63dda1bad1fa7aaf9296b07cda04ac481e7cb"
559
564
  },
560
565
  {
561
- "path": "assets/index-CsC3sTRq.css",
562
- "bytes": 114371,
563
- "sha256": "f305fffa17b37918b85c86996a24140e19b9d33e1214b3def5fbad04ada940dc"
566
+ "path": "assets/index-C16mXVvk.css",
567
+ "bytes": 124839,
568
+ "sha256": "8e9f0a42c426a758d96b3ef003188b32f12e61c0f2dc1b82ecba9ea22d9a5600"
564
569
  },
565
570
  {
566
- "path": "assets/index-CxmItXqa.js",
567
- "bytes": 1779546,
568
- "sha256": "9372a2cd0c090b7e1077d24f8f206db1d93db79419865c2cf6e99f7cedc939f3"
571
+ "path": "assets/index-CWg9XYXx.js",
572
+ "bytes": 1981755,
573
+ "sha256": "0225571b6eacda05ac6fb82786adf56bd3bbb042f431f3dc102461e96a07768e"
569
574
  },
570
575
  {
571
576
  "path": "assets/KaTeX_AMS-Regular-BQhdFMY1.woff2",
@@ -878,14 +883,14 @@
878
883
  "sha256": "717274e2c02c05db67e7f1bf6fec4dfae799f3a2780ea7a95c4fdf0d160dfab8"
879
884
  },
880
885
  {
881
- "path": "assets/notes-meaning-pVbbQUGP.js",
882
- "bytes": 5850,
883
- "sha256": "ba4560479d571ec61395840496b0e2e05c2c126e595c65f5814103f1d68affaa"
886
+ "path": "assets/markdown.reader-Ct2-e2Zt.png",
887
+ "bytes": 52645,
888
+ "sha256": "9bac86bfc38e6e8b0865b211f9a81c9eb4f9110df0679a3e12b1683eef74f200"
884
889
  },
885
890
  {
886
- "path": "assets/overview-B9UtVJ32.js",
887
- "bytes": 48647,
888
- "sha256": "12207a8d05b37a007d55505143c8fea36509c976573bd86885204e7103d58c91"
891
+ "path": "assets/notes-meaning-T2m5zQfv.js",
892
+ "bytes": 5850,
893
+ "sha256": "28f221435cd3358aeaea779241d3dc29733c66b7fd7b3e59572ced52d05efb74"
889
894
  },
890
895
  {
891
896
  "path": "assets/overview-CmC7mah4.css",
@@ -893,9 +898,19 @@
893
898
  "sha256": "f6b19e1fbbb7cc884faff634b6f7b016f806313b946600b11bbf76dc59caf1a9"
894
899
  },
895
900
  {
896
- "path": "assets/preview-CksD_5KS.js",
897
- "bytes": 4703,
898
- "sha256": "1bad11efd47741dc1817f88234e38f5d0d478909a98c38b4397b44d4373b8ff7"
901
+ "path": "assets/overview-PzfLJCo-.js",
902
+ "bytes": 49192,
903
+ "sha256": "5d40d9695add4257ed9453dd45612032d751e3c803fa9a06fa4720005e83a981"
904
+ },
905
+ {
906
+ "path": "assets/preview-BguEdsza.js",
907
+ "bytes": 4708,
908
+ "sha256": "d48695976adfd13f6fd8562c9005ad4b2bd452820f1bc9e78df33fadc479ebf3"
909
+ },
910
+ {
911
+ "path": "assets/previews-pWNik-2g.js",
912
+ "bytes": 35016,
913
+ "sha256": "c63b364c80a0d44dd31266fd7bedba359712eaa0e16abea42888c2b058146499"
899
914
  },
900
915
  {
901
916
  "path": "assets/r-CxDmU1I4.js",
@@ -913,9 +928,59 @@
913
928
  "sha256": "364a909acd2231cafe737e8f9b19ad58ba16d3b6cbb90b0de78015dd437bd56b"
914
929
  },
915
930
  {
916
- "path": "assets/review-CMxQlQ-C.js",
931
+ "path": "assets/review-Dy_85lcH.js",
917
932
  "bytes": 4860,
918
- "sha256": "7cb8a5c22a14c0b163c25022ba05582484884e83151f838d0856ad635f8ce88a"
933
+ "sha256": "e741343e502faaf78a0820a1f5beaf0dab96a7050daf8b6e1a164e4e09e0897f"
934
+ },
935
+ {
936
+ "path": "assets/rho.editor-CCJeyHma.png",
937
+ "bytes": 126375,
938
+ "sha256": "6c661a5b40d79053c4a40e66315d484bdbb922b049c611db9c4d8c6ca02a5e50"
939
+ },
940
+ {
941
+ "path": "assets/rho.flow-WkMj6fRS.png",
942
+ "bytes": 25961,
943
+ "sha256": "d6f7c4481a696aee3b1d99593aaad990dfaccff49761029806efb15753096441"
944
+ },
945
+ {
946
+ "path": "assets/rho.media-Cc6amodO.png",
947
+ "bytes": 60791,
948
+ "sha256": "deff16dc63e2a320020b5cc407a7c5408c572938d408a2d1f5d65a6ef5251e4a"
949
+ },
950
+ {
951
+ "path": "assets/rho.notebook-6vsZKGDq.png",
952
+ "bytes": 94387,
953
+ "sha256": "c5cf66d52ca8c09e6fd6bf47b5975ca76a5df47501f23f8c51a71e89dc4da035"
954
+ },
955
+ {
956
+ "path": "assets/rho.object-BGoeXjte.png",
957
+ "bytes": 59331,
958
+ "sha256": "baca57704dc107c92ec12a37334b89855728c6ae86bc1dae36d866f09898b655"
959
+ },
960
+ {
961
+ "path": "assets/rho.plots-yIiISCkb.png",
962
+ "bytes": 21130,
963
+ "sha256": "0ade92610bbe753ebf541fee66178d8969f6b819b4ca83ca7d64493c5953c729"
964
+ },
965
+ {
966
+ "path": "assets/rho.scatter-DwHxesCs.png",
967
+ "bytes": 10078,
968
+ "sha256": "7316ea10fa6a3476b91ac53a4a1add3c472e3c05a9db138824317b7f828f6128"
969
+ },
970
+ {
971
+ "path": "assets/rho.servers-DKf_mnNq.png",
972
+ "bytes": 24827,
973
+ "sha256": "a9591775e625d203d1136a7f4b066eb5d5cbadb771eb9b05cc76d93da372452e"
974
+ },
975
+ {
976
+ "path": "assets/rho.table-DWOGaWDa.png",
977
+ "bytes": 52197,
978
+ "sha256": "0c381aa96a5a1422b119998288a0404bfcc51ec619a58a57c5a437c1c9e88cd8"
979
+ },
980
+ {
981
+ "path": "assets/rho.variables-CKcWczhQ.png",
982
+ "bytes": 13632,
983
+ "sha256": "6a928563a6088748b7565a4a11a0e5bb8286c18b6658ca1210d2a96caf38f3c9"
919
984
  },
920
985
  {
921
986
  "path": "assets/rolldown-runtime-XKyaHtl9.js",
@@ -923,9 +988,9 @@
923
988
  "sha256": "548d1dbf321e7d2ae804fcc158b588706a7c52f8ca175de1490c6ccb4dbe55b7"
924
989
  },
925
990
  {
926
- "path": "assets/skills-BFNSyrnD.js",
991
+ "path": "assets/skills-Dyz7mBlc.js",
927
992
  "bytes": 12538,
928
- "sha256": "5207aa503328e407dee96aa07be5c6f707b21069f6684650566a3819ea47cd17"
993
+ "sha256": "4513c2e0e8f5ef3142512556d40e8703e74bc494a441a6f78812709dfa1ba662"
929
994
  },
930
995
  {
931
996
  "path": "assets/skills-WkE0KCzn.css",
@@ -933,9 +998,9 @@
933
998
  "sha256": "162823ce43fd1e1f2bd92a330516c171280b59a0b5460752f0d7aba5f194f3eb"
934
999
  },
935
1000
  {
936
- "path": "assets/skills-work-BGPSnF_I.js",
1001
+ "path": "assets/skills-work-BEGqlCkx.js",
937
1002
  "bytes": 2528,
938
- "sha256": "1e61e6767a7744a7a120e34092ec70a68b80f22b0c01e56d56556790d9b251a8"
1003
+ "sha256": "c4f950967358e17ac51e382752924e5f3a4918d82ee42e5403129b944936b9a0"
939
1004
  },
940
1005
  {
941
1006
  "path": "assets/snapshot-CAxBYPvV.js",
@@ -948,29 +1013,29 @@
948
1013
  "sha256": "7acddf1303643a15a8df990808a42e218033edf56b8c03b0fcc8271683b0195f"
949
1014
  },
950
1015
  {
951
- "path": "assets/studio-process-CsRoTHOh.js",
952
- "bytes": 22888,
953
- "sha256": "98e6c6bfcbd2ab43f657dc34772a14884723cfffe4e2af7e2ec1e37f04cd5709"
1016
+ "path": "assets/studio-process-D-ykbC4D.js",
1017
+ "bytes": 22343,
1018
+ "sha256": "755d181d71dd5103f325316c3a9016c47fe1c995f8139b4d5c8ff377270da875"
954
1019
  },
955
1020
  {
956
- "path": "assets/timeline-events-BbuuFWHV.js",
957
- "bytes": 2227,
958
- "sha256": "860f7d40a19244286dbb7771c45992000f282f7f7603db8c273f2fb6090525a4"
1021
+ "path": "assets/timeline-events-DKTho9fU.js",
1022
+ "bytes": 2595,
1023
+ "sha256": "a37e782a8a51fb53a9afa2c70786bc930e6381293d465ed9a243e8cb9b0a41ec"
959
1024
  },
960
1025
  {
961
- "path": "assets/work-turns-BvJlIMmA.js",
962
- "bytes": 1460,
963
- "sha256": "57995cc85aa24db8834e6047ff5227110042e8e13d3fce2ecd6c1e48c2336e7c"
1026
+ "path": "assets/work-turns-DSabCogR.js",
1027
+ "bytes": 2006,
1028
+ "sha256": "9272b191093b468ce8c478771ac166fa37c1868ffe3fcafad5024776846e6034"
964
1029
  },
965
1030
  {
966
- "path": "assets/workspace-CWlkjLNx.js",
967
- "bytes": 81815,
968
- "sha256": "82a8a02610fd34227bd91ed60a4c918c8a25e857b44ce126c4c6053b46351366"
1031
+ "path": "assets/workspace-DfjBL--r.js",
1032
+ "bytes": 81849,
1033
+ "sha256": "dd5e612127d0b1e04aa54d4b2bef8e7f8a1693c6e4ab566dc752df6d5e005f20"
969
1034
  },
970
1035
  {
971
1036
  "path": "index.html",
972
- "bytes": 1142,
973
- "sha256": "145025b89b02370b28af3c5295572c9f6edc87d8cb767a171d9243a255a51671"
1037
+ "bytes": 1144,
1038
+ "sha256": "b0cb41cac3d2c798a21e2f1fa25f29c83f754ab941f5b1c5f4eae348838ef397"
974
1039
  },
975
1040
  {
976
1041
  "path": "licenses.md",
@@ -980,14 +1045,14 @@
980
1045
  {
981
1046
  "path": "renderer.json",
982
1047
  "bytes": 85,
983
- "sha256": "068fe23a6be66244df9c7c9aaa25986182541bb896e55c974cdc6174114336c3"
1048
+ "sha256": "11a3ad4426ea4f0c04bafd72d627172175fdfaafb5c2c53050c9b156658f4c41"
984
1049
  }
985
1050
  ],
986
- "assetsSha256": "8c4dfdbb9df9b547648487cb3dadf4c44b2d0f5760d01e563bcc4caccd66bca6",
1051
+ "assetsSha256": "a0b475ab534694292c4ace8539f714212187d99cbbe9d58c4ad82aaeb9a111f0",
987
1052
  "licenses": "licenses.md",
988
1053
  "node": "v22.23.4"
989
1054
  },
990
- "productionLockSha256": "ce83e0338174eaed91893cb67339dab941a50e3be81f326095b7ed1ef98f1df8",
1055
+ "productionLockSha256": "3568d6235d2722e57c65821737bb19691f6b4d9c735e92c31f3aaa5e01f90fa1",
991
1056
  "bundledPruning": {
992
1057
  "declarationsKept": [
993
1058
  "@agentclientprotocol/sdk",
package/web/theme.css CHANGED
@@ -613,6 +613,7 @@ body[data-resizing=col] { cursor: col-resize; user-select: none; }
613
613
  .turn { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
614
614
  .turn-person { align-self: flex-end; max-width: 85%; }
615
615
  .turn-person p { padding: 9px 14px; border-radius: 16px 16px 5px 16px; background: var(--color-well); line-height: 1.55; white-space: pre-wrap; overflow-wrap: anywhere; }
616
+ .turn-place { display: block; margin-top: 4px; color: var(--color-meta); font-size: 11px; text-align: right; }
616
617
  .turn-note { color: var(--color-meta); font-size: 12px; }
617
618
  /* What the Agent did before its last words: one line, open while it works. */
618
619
  .turn-work > summary { display: inline-flex; align-items: center; gap: 7px; max-width: 100%; min-width: 0; margin-left: -8px; padding: 3px 8px; border-radius: 7px; color: var(--color-muted); font-size: 13px; list-style: none; cursor: pointer; }
@@ -733,7 +734,23 @@ ol.md-list { list-style-type: decimal; }
733
734
  /* The message box: one rounded surface holding what is written, the model and the send action. */
734
735
  .conversation-composer { position: sticky; bottom: 0; z-index: 2; display: flex; flex-direction: column; gap: 6px; margin-top: auto; padding: 6px 14px 10px; background: var(--color-surface); }
735
736
  .conversation-composer [role="alert"] { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 0 4px; color: var(--color-failed); font-size: 12px; }
737
+ /* A session opened from another window: where it started, whether it is open there now, and the
738
+ command that continues it in a terminal. */
739
+ .session-notice { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; padding: 0 4px; color: var(--color-muted); font-size: 12px; line-height: 1.5; }
740
+ .session-notice p { flex: 1 1 260px; margin: 0; }
741
+ .session-notice strong { color: var(--color-amber-text); font-weight: 600; }
742
+ .session-notice .text-button, .session-command { min-height: 0; padding: 0; font-size: 12px; }
743
+ .session-notice p .text-button { color: var(--color-ink); text-decoration: underline; text-underline-offset: 2px; }
744
+ .session-command { display: inline-flex; align-items: center; gap: 5px; color: var(--color-muted); }
745
+ .turn-where { color: var(--color-meta); }
746
+ .outside-results { display: flex; flex-direction: column; gap: 4px; margin: 6px 0; padding: 0; list-style: none; font-size: 12.5px; }
747
+ .outside-results li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px; min-width: 0; overflow-wrap: anywhere; }
748
+ .outside-results small { color: var(--color-meta); }
736
749
  .composer-box { display: flex; flex-direction: column; gap: 4px; padding: 11px 8px 8px 14px; border: 1px solid var(--color-control-border); border-radius: 18px; background: var(--color-surface); box-shadow: 0 6px 20px rgba(20, 30, 25, 0.06); cursor: text; }
750
+ /* Marks selected in a figure that go with the next message. */
751
+ .composer-attachment { display: flex; align-items: center; gap: 6px; align-self: flex-start; max-width: 100%; padding: 3px 4px 3px 9px; border-radius: 999px; background: var(--color-accent-soft); color: var(--color-accent-strong); font-size: 12px; font-weight: 600; cursor: default; }
752
+ .composer-attachment > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
753
+ .composer-attachment .icon-button { width: 22px; height: 22px; min-height: 0; }
737
754
  .composer-box:focus-within { border-color: var(--color-hairline-strong); box-shadow: 0 0 0 3px var(--color-accent-soft), 0 6px 20px rgba(20, 30, 25, 0.06); }
738
755
  .composer-box textarea { display: block; width: 100%; min-height: 0; max-height: 240px; padding: 0 6px 2px 0; border: 0; border-radius: 0; background: transparent; font-size: 14px; line-height: 1.55; resize: none; }
739
756
  .composer-box textarea:focus-visible { outline: none; }
@@ -1 +0,0 @@
1
- var e={supporting:4,method:2,run:2,input:4,report:2};function t(e){let t=e.replace(/\s+/g,` `).trim().split(/\s*(?:;|&&|\|\||\|)\s*/).filter(Boolean),n=t.find(e=>!/^(?:cd|export|source|set|\.)\s/.test(e))??t[0]??``,r=/<<-?\s*['"]?\w+/.test(n),i=n.replace(/\s*\d?>>?\s*&?\S+/g,``).replace(/\s*<<-?\s*['"]?\w+['"]?.*$/,``).replace(/\s+-$/,``).trim();return(r?i+` (inline script)`:i)||e.trim()}var n=(e,n=48)=>{let r=t(e);return"`"+(r.length>n?r.slice(0,n-1).trimEnd()+`…`:r)+"`"},r=e=>e.category===`figures`||e.category===`results`||e.category===`data`;function i(t,i,a=e){let o=t.nodes.find(e=>e.id===`q:`+i);if(!o)return null;let s=new Map(t.nodes.map(e=>[e.id,e])),c=t.edges.filter(e=>e.turn===i),l=(o.answer??``).toLowerCase(),u=e=>!!e.path&&l.includes((e.path.split(`/`).at(-1)??``).toLowerCase()),d=new Map,f=new Map;for(let e of c){let t=s.get(e.from),n=s.get(e.to);if(!t||!n||n.kind!==`file`||!(t.kind===`question`&&(e.label===`wrote`||e.label===`edited`||e.label===`changed meanwhile`)||t.kind===`run`&&e.label===`changed while it ran`)||!n.category)continue;let r=f.get(n.id);(!r||t.kind===`run`&&r.edge.from===o.id)&&f.set(n.id,{node:n,edge:e}),t.kind===`run`&&d.set(t.id,t)}let p=[],m={},h=(e,t)=>{let n=e===`primary`?1:a[e];for(let{node:r,why:i}of t.slice(0,n))p.push({node:r,role:e,why:i,mentioned:u(r)});t.length>n&&e!==`primary`&&(m[e]=t.length-n)},g=e=>{let t=s.get(e.edge.from);return t.kind===`run`?`Changed while `+n(t.command??t.title)+` ran`:e.edge.label===`changed meanwhile`?`Changed on disk during this message`:e.edge.label===`edited`?`Edited by the Agent`:`Written by the Agent`},_=[...f.values()].filter(e=>r(e.node)).sort((e,t)=>Number(u(t.node))-Number(u(e.node))||Number(t.node.category===`figures`)-Number(e.node.category===`figures`)||t.node.at-e.node.at),v=_.find(e=>e.node.category===`figures`&&u(e.node))??_.find(e=>u(e.node))??_.find(e=>e.node.category===`figures`)??_[0];v&&h(`primary`,[{node:v.node,why:g(v)}]),h(`supporting`,_.filter(e=>e!==v).sort((e,t)=>Number(u(t.node))-Number(u(e.node))||e.node.at-t.node.at).map(e=>({node:e.node,why:g(e)}))),h(`report`,[...f.values()].filter(e=>e.node.category===`notes`).map(e=>({node:e.node,why:g(e)})));let y=e=>c.filter(t=>t.from===e.id&&t.label===`runs`).map(e=>s.get(e.to)).filter(e=>!!e&&d.has(e.id));h(`method`,t.nodes.filter(e=>e.kind===`file`&&e.category===`code`&&(y(e).length>0||f.has(e.id))).sort((e,t)=>y(t).length-y(e).length||e.at-t.at).map(e=>{let t=y(e)[0],r=e.events.filter(e=>e.turn===i&&(e.action===`edit`||e.action===`write`)).length,a=e.versions?.length??0;return{node:e,why:[t?`Run by `+n(t.command??t.title):``,r?r===1?`Written in this message`:`Written and edited `+r+` times in this message`:``,a>1?a+` versions kept`:``].filter(Boolean).join(` · `)}})),h(`run`,[...d.values()].sort((e,t)=>e.at-t.at).map(e=>{let t=c.filter(t=>t.from===e.id&&t.label===`changed while it ran`).length;return{node:e,why:t+(t===1?` file changed while it ran`:` files changed while it ran`)}}));let b=new Map;for(let e of c){let t=s.get(e.from);t&&t.kind===`file`&&!f.has(t.id)&&t.category!==`code`&&(e.to===o.id&&e.label===`read`?b.set(t.id,{node:t,why:`Read by the Agent`}):e.label===`named`&&d.has(e.to)&&!b.has(t.id)&&b.set(t.id,{node:t,why:`Named by `+n(s.get(e.to).command??``)}))}return h(`input`,[...b.values()].sort((e,t)=>Number(t.node.category===`data`)-Number(e.node.category===`data`)||e.node.at-t.node.at)),{turn:i,question:o,items:p,otherCommands:t.nodes.filter(e=>e.kind===`run`&&e.turn===i&&!d.has(e.id)).reduce((e,t)=>e+(t.commands?.length??1),0),omitted:m}}function a(e){let t=[...e.turns].sort((e,t)=>t.start-e.start),n=new Map(t.map(t=>[t.id,i(e,t.id)])),r=e=>!!n.get(e)?.items.some(e=>e.role===`primary`||e.role===`supporting`),a=t.filter(e=>r(e.id));return(a.length?a:t).map(e=>{let i=t.filter(t=>t.conversationId===e.conversationId&&t.start>e.start).sort((e,t)=>e.start-t.start),o=i.findIndex(e=>r(e.id));return{turn:e,board:n.get(e.id),followUps:a.length?o<0?i:i.slice(0,o):[]}}).filter(e=>e.board)}export{a as n,t as r,i as t};
@@ -1 +0,0 @@
1
- import{r as e}from"./rolldown-runtime-XKyaHtl9.js";import{t}from"./react-Dss-ouuy.js";import{c as n}from"./home-CCbP6kS-.js";var r=e(t(),1),i=new Map(Object.entries({data:`csv.tsv.tab.xlsx.xls.json.parquet.feather.arrow.rds.rda.rdata.h5.h5ad.hdf5.loom.mtx.sav.dta.sas7bdat.fasta.fa.fastq.fq.bam.sam.vcf.bed.gtf.gff.gff3.nwk.tre.newick`.split(`.`),code:`r.rmd.qmd.py.ipynb.sh.bash.zsh.jl.sql.js.mjs.ts.stan.smk.nf.wdl.cpp.c.h.rs.go.java.pl.awk.sas.do.m`.split(`.`),figures:[`png`,`jpg`,`jpeg`,`svg`,`pdf`,`gif`,`tif`,`tiff`,`webp`,`eps`],notes:[`md`,`markdown`,`txt`,`rst`,`org`,`tex`,`bib`,`docx`,`html`]}).flatMap(([e,t])=>t.map(t=>[t,e]))),a=new Set([`results`,`result`,`output`,`outputs`,`out`,`figures`,`figs`,`plots`,`reports`]);function o(e){let t=e.split(`/`),n=t.at(-1).toLowerCase().split(`.`);n.length>2&&[`gz`,`bz2`,`xz`,`zst`].includes(n.at(-1))&&n.pop();let r=n.length>1?i.get(n.at(-1))??null:null;return r===`data`&&t.slice(0,-1).some(e=>a.has(e.toLowerCase()))?`results`:r}var s=e=>/\.(csv|png|jpe?g|svg)$/i.test(e),c=new Set([`node_modules`,`renv`,`packrat`,`__pycache__`,`venv`,`.venv`,`site-library`,`.ipynb_checkpoints`,`.Rproj.user`,`.snakemake`,`.nextflow`]),l={maxFolders:48,maxDepth:5,maxFiles:4e3};async function u(e,t,n){let r=[],i=[{path:``,depth:0}],a=0,s=!1;for(;i.length;){if(n.aborted)throw new DOMException(`aborted`,`AbortError`);if(a>=l.maxFolders){s=!0;break}let u=i.shift();a++;let d=await e.call(`project.entries`,{projectId:t,...u.path?{path:u.path}:{}},n);d.truncated&&(s=!0);for(let e of d.entries)if(!e.hidden){if(e.kind===`folder`){if(c.has(e.name))continue;if(u.depth+1>l.maxDepth){s=!0;continue}i.push({path:e.path,depth:u.depth+1})}else{if(r.length>=l.maxFiles){s=!0;break}r.push({...e,category:o(e.path)})}}}return{files:r,truncated:s}}function d(e,t,n){let[i,a]=(0,r.useState)({files:[],truncated:!1,reading:!1,problem:``,readAt:0}),[o,s]=(0,r.useState)(0),c=(0,r.useRef)(0),l=(0,r.useRef)(void 0),[d,f]=(0,r.useState)(0);return(0,r.useEffect)(()=>{a({files:[],truncated:!1,reading:!1,problem:``,readAt:0}),c.current=0},[t]),(0,r.useEffect)(()=>{if(!t)return;let e=Math.max(0,c.current+5e3-Date.now());return clearTimeout(l.current),l.current=setTimeout(()=>f(e=>e+1),e),()=>clearTimeout(l.current)},[t,n,o]),(0,r.useEffect)(()=>{if(!t||!d)return;let n=new AbortController;return c.current=Date.now(),a(e=>({...e,reading:!0})),u(e,t,n.signal).then(e=>a({...e,reading:!1,problem:``,readAt:Date.now()}),e=>{n.signal.aborted||a(t=>({...t,reading:!1,problem:e instanceof Error?e.message:`The project folder could not be read.`}))}),()=>n.abort()},[e,t,d]),{...i,refresh:()=>{c.current=0,s(e=>e+1)}}}var f=[`data`,`code`,`results`,`notes`],p=[`data`,`code`,`workflows`,`results`,`reports`,`notes`,`references`,`environment`],ee=new Set([`renv.lock`,`description`,`environment.yml`,`environment.yaml`,`pyproject.toml`,`setup.py`,`setup.cfg`,`pipfile`,`pipfile.lock`,`poetry.lock`,`uv.lock`,`conda-lock.yml`,`dockerfile`,`containerfile`,`apptainer.def`,`singularity.def`,`install.r`,`project.toml`,`manifest.toml`]),te=new Set([`snakefile`,`makefile`,`gnumakefile`,`justfile`,`_targets.r`,`nextflow.config`,`dvc.yaml`]),ne=new Set([`refs`,`references`,`literature`,`papers`,`reading`,`bibliography`]),m=e=>e.toLowerCase().replace(/\.[^./]+$/,``),re=e=>new Set(e.filter(e=>/\.(rmd|qmd|rnw)$/i.test(e.path)).map(e=>m(e.path))),ie=e=>new Set(e.filter(e=>/\.html?$/i.test(e.path)).map(e=>e.path.toLowerCase().split(`/`).slice(0,-1).join(`/`))),ae=/^[a-z][\w.]*(-[a-z][\w.]*)*-\d+(\.\d+)+$/,oe=/^(lib|libs|site_libs|.+_files)$/;function se(e,t,n=new Set){let r=e.path.toLowerCase().split(`/`),i=r.at(-1),a=i.includes(`.`)?i.split(`.`).at(-1):``;return r.slice(0,-1).some((e,n)=>e.endsWith(`_files`)&&t.has([...r.slice(0,n),e.slice(0,-6)].join(`/`)))||r.slice(0,-1).some((e,t)=>t>0&&ae.test(e)&&oe.test(r[t-1])&&n.has(r.slice(0,t-1).join(`/`)))?null:ee.has(i)||/^requirements([-_.][^/]*)?\.txt$/.test(i)||a===`rproj`?`environment`:te.has(i)||[`smk`,`nf`,`wdl`,`cwl`].includes(a)?`workflows`:[`rmd`,`qmd`,`rnw`].includes(a)||[`html`,`pdf`,`docx`].includes(a)&&t.has(m(e.path))?`reports`:[`bib`,`ris`,`nbib`,`enw`].includes(a)||a===`pdf`&&r.slice(0,-1).some(e=>ne.has(e))?`references`:e.category===`figures`||e.category===`results`?`results`:e.category}var h=e=>e.split(`/`).filter(Boolean).at(-1)??e;function g(e,t){let n=e.split(`/`);if(n.pop(),!n.length)return t.name??h(t.root);let r=n[0].startsWith(`@`)?t.sources?.find(e=>`@`+e.id===n[0]):void 0;return[r?r.name:n[0],...n.slice(1)].join(`/`)}var _=e=>![`current-filesystem-observation`,`captured-observation`].includes(e.provenance?.source??``),v=new Intl.Collator(void 0,{numeric:!0,sensitivity:`base`});function y(e,t,n,r,i=[]){let a=new Map,o=new Map(i.map(e=>[e.operationId,e.acceptedAt])),s=e=>o.get(String(e.provenance?.operationId??``))??``,c=new Map;if(e===`results`)for(let e of n){let t=c.get(e.path);_(e)&&(!t||s(e).localeCompare(s(t))>0||s(e)===s(t)&&e.version.localeCompare(t.version)>0)&&c.set(e.path,e)}for(let e of c.values())a.set(e.path,{key:`result:`+e.path,path:e.path,name:h(e.path),folder:g(e.path,r),bytes:e.bytes??null,category:e.kind===`media`?`figures`:`results`,resource:{id:e.id,version:e.version,kind:e.kind,path:e.path}});let l=re(t),u=ie(t);for(let n of t)se(n,l,u)===e&&!a.has(n.path)&&a.set(n.path,{key:`file:`+n.path,path:n.path,name:n.name,folder:g(n.path,r),bytes:n.bytes,category:n.category});let d=e=>Number(e.path.includes(`/`));return[...a.values()].sort((e,t)=>d(e)-d(t)||v.compare(e.folder,t.folder)||v.compare(e.name,t.name))}function ce(e){let t=new Set(e.views.map(e=>e.id)),n=new Set,r=new Map((e.nodes??[]).map(e=>[e.id,e])),i=e=>{let n=r.get(e);return n?n.kind===`view`?t.has(n.id)?[n.id]:[]:n.children.flatMap(i):[]},a=e=>{let o=r.get(e);if(!o)return null;if(o.kind===`view`)return t.has(o.id)?(n.add(o.id),{kind:`tabs`,id:`tabs:`+o.id,views:[o.id]}):null;let s=o.presentation?.mode===`split`?o.presentation:null;if(s){let e=o.children.map((e,t)=>({region:a(e),weight:s.weights[t]??1})).filter(e=>e.region);return e.length?e.length===1?e[0].region:{kind:`split`,id:o.id,axis:s.axis,weights:e.map(e=>e.weight),children:e.map(e=>e.region)}:null}let c=i(o.id);return c.forEach(e=>n.add(e)),c.length?{kind:`tabs`,id:o.id,views:c}:null},o=e.rootId&&r.size?a(e.rootId):null,s=e.views.map(e=>e.id).filter(e=>!n.has(e));if(!s.length)return o;if(!o)return{kind:`tabs`,id:`tabs:root`,views:s};let c=b(o),l=c[c.length-1];return o=x(o,l.id,{...l,views:[...l.views,...s]}),o}function b(e){return e.kind===`tabs`?[e]:e.children.flatMap(b)}function le(e){return e?b(e).flatMap(e=>e.views):[]}function ue(e,t){return e?b(e).find(e=>e.views.includes(t))??null:null}function x(e,t,n){return e.id===t?n:e.kind===`split`?{...e,children:e.children.map(e=>x(e,t,n))}:e}function S(e,t,n,r=.12){let i=e.reduce((e,t)=>e+t,0),a=[...e],o=i*r,s=a[t]+a[t+1],c=Math.min(s-o,Math.max(o,a[t]+n*i));return a[t]=c,a[t+1]=s-c,a}function de(e){let t=e.bindings?.data,n=e=>e.replace(/[^A-Za-z0-9._-]/g,`_`).slice(0,40);return typeof t?.id==`string`&&typeof t.version==`string`?{kind:`shared`,id:`linked:${n(t.id)}@${n(t.version)}`}:{kind:`shared`,id:e.id}}var C=e=>e?.presentation?.mode===`split`,w=(e,t)=>e.find(e=>e.kind===`group`&&e.children?.includes(t));function T(e,t){let n=t;for(;;){let t=w(e,n);if(!t||C(t))return n;n=t.id}}function E(e,t){let n=e.find(e=>e.id===t);return n?n.kind===`view`?[t]:(n.children??[]).flatMap(t=>E(e,t)):[]}function D(e){let t=e.nodes,n=e.rootId;for(let e=!0;e;){e=!1;for(let r of t){if(r.kind!==`group`||r.id===n)continue;let i=w(t,r.id);if(!r.children?.length){let n=i.children.indexOf(r.id);i.children=i.children.filter(e=>e!==r.id),C(i)&&(i.presentation={...i.presentation,weights:(i.presentation.weights??[]).filter((e,t)=>t!==n)}),t=t.filter(e=>e.id!==r.id),e=!0;break}if(C(r)&&r.children.length===1){let n=r.children[0];i.children=i.children.map(e=>e===r.id?n:e),t=t.filter(e=>e.id!==r.id),e=!0;break}}let r=t.find(e=>e.id===n);if(r&&C(r)&&r.children?.length===1){let i=r.children[0];t.find(e=>e.id===i).kind===`group`&&(t=t.filter(e=>e.id!==n),n=i,e=!0)}}return{rootId:n,nodes:t}}var O=e=>({rootId:e.rootId,nodes:structuredClone(e.nodes)});function k(e,t){let n=w(e.nodes,t),r=n.children.indexOf(t);n.children=n.children.filter(e=>e!==t),C(n)&&(n.presentation={...n.presentation,weights:(n.presentation.weights??[]).filter((e,t)=>t!==r)})}function fe(e,t,n,r){if(!e.nodes.some(e=>e.id===t&&e.kind===`view`)||!w(e.nodes,t))return null;let i=T(e.nodes,t);if(i===t||E(e.nodes,i).length<2)return null;let a=O(e);k(a,t);let o={id:r(`group`),kind:`group`,children:[t]};a.nodes.push(o);let s=w(a.nodes,i);if(s&&C(s)&&s.presentation.axis===n){let e=s.children.indexOf(i),t=[...s.presentation.weights??s.children.map(()=>1)],n=(t[e]??1)/2;s.children.splice(e+1,0,o.id),t.splice(e,1,n,n),s.presentation={...s.presentation,weights:t}}else{let e={id:r(`split`),kind:`group`,children:[i,o.id],presentation:{mode:`split`,axis:n,weights:[1,1]}};a.nodes.push(e),s?s.children=s.children.map(t=>t===i?e.id:t):a.rootId=e.id}return D(a)}function A(e){let t=[],n=(r,i)=>{let a=e.nodes.find(e=>e.id===r);if(a){if(C(a))for(let e of a.children??[])n(e,!0);else(i||r===e.rootId)&&t.push(r)}};return n(e.rootId,!1),t}function j(e,t,n){let r=e.nodes.find(e=>e.id===t.id);if(r)return r.kind===`view`&&r.component===t.component&&r.version===t.version&&JSON.stringify(r.bindings)===JSON.stringify(t.bindings)?e:null;let i=O(e),a=A(i).at(-1),o=i.nodes.find(e=>e.id===a);if(!o)return null;if(i.nodes.push({id:t.id,kind:`view`,component:t.component,version:t.version,props:structuredClone(t.props),bindings:structuredClone(t.bindings)}),o.kind===`group`)o.children=[...o.children??[],t.id];else{let e={id:n(`group`),kind:`group`,children:[o.id,t.id]};i.nodes.push(e);let r=w(i.nodes,o.id);r?r.children=r.children.map(t=>t===o.id?e.id:t):i.rootId=e.id}return i}function pe(e,t,n,r){if(!w(e.nodes,t))return null;let i=A(e),a=T(e.nodes,t),o=i[i.indexOf(a)+n];if(!o||o===a)return null;let s=O(e);k(s,t);let c=s.nodes.find(e=>e.id===o);if(c.kind===`group`)c.children=[...c.children??[],t];else{let e={id:r(`group`),kind:`group`,children:[o,t]};s.nodes.push(e);let n=w(s.nodes,o);n.children=n.children.map(t=>t===o?e.id:t)}return D(s)}function me(e,t,n){if(!e.nodes.find(e=>e.id===t&&e.kind===`view`))return null;let r=O(e),i=r.nodes.find(e=>e.id===t);return i.props={...i.props,...n},r}function he(e,t){if(!w(e.nodes,t))return null;let n=O(e);return k(n,t),n.nodes=n.nodes.filter(e=>e.id!==t),D(n)}function M(e,t,n){let r=e.nodes.find(e=>e.id===t);if(!C(r)||r.children.length!==n.length)return null;let i=O(e),a=i.nodes.find(e=>e.id===t);return a.presentation={...a.presentation,weights:n.map(e=>Math.round(e*1e3)/1e3)},i}var N=e=>e.startsWith(`tabs:`)?e.slice(5):e;function P(e,t,n,r,i){let a=e.nodes.find(e=>e.id===n);if(!a||C(a)||n===t||!w(e.nodes,t))return null;if(T(e.nodes,t)===n){let i=E(e.nodes,n),a=i.filter(e=>e!==t),o=r&&a.includes(r)?a.indexOf(r):a.length;if(i.indexOf(t)===o)return null}let o=O(e);k(o,t);let s=o.nodes.find(e=>e.id===n);if(s.kind===`group`){let e=s.children??[],n=r?e.find(e=>e===r||E(o.nodes,e).includes(r)):void 0;e.splice(n?e.indexOf(n):e.length,0,t),s.children=e}else{let e={id:i(`group`),kind:`group`,children:r===n?[t,n]:[n,t]};o.nodes.push(e);let a=w(o.nodes,n);a?a.children=a.children.map(t=>t===n?e.id:t):o.rootId=e.id}return D(o)}function F(e,t,n,r,i){if(e.nodes.some(e=>e.id===t.id))return null;let a=n&&w(e.nodes,n)?n:E(e.nodes,A(e).at(-1)??e.rootId)[0]??null,o=j(e,t,i);return!o||!a?o:z(o,t.id,T(o.nodes,a),r,i)??o}function I(e,t,n,r,i=.4){if(e.nodes.some(e=>e.id===t.id))return null;let a=j(e,t,r);if(!a||E(a.nodes,a.rootId).length<2)return a;let o=O(a);k(o,t.id);let s={id:r(`group`),kind:`group`,children:[t.id]};return o.nodes.push(s),L(o,s.id,n,i,r),D(o)}function L(e,t,n,r,i){let a=n===`left`||n===`right`?`horizontal`:`vertical`,o=n===`right`||n===`bottom`,s=e.nodes.find(t=>t.id===e.rootId);if(C(s)&&s.presentation.axis===a){let e=[...s.presentation.weights??s.children.map(()=>1)],n=e.reduce((e,t)=>e+t,0)*r/(1-r);o?(s.children.push(t),e.push(n)):(s.children.unshift(t),e.unshift(n)),s.presentation={...s.presentation,weights:e}}else{let n={id:i(`split`),kind:`group`,children:o?[e.rootId,t]:[t,e.rootId],presentation:{mode:`split`,axis:a,weights:o?[1-r,r]:[r,1-r]}};e.nodes.push(n),e.rootId=n.id}}function R(e,t){let n=1;for(let r=T(e.nodes,t),i=w(e.nodes,r);i;r=i.id,i=w(e.nodes,r)){if(!C(i)||i.presentation.axis!==`horizontal`)continue;let e=i.presentation.weights??i.children.map(()=>1),t=e.reduce((e,t)=>e+t,0);n*=(e[i.children.indexOf(r)]??1)/(t||1)}return n}function ge(e,t,n,r,i,a){let o=T(e.nodes,n),s=w(e.nodes,o);if(r&&s&&R(e,n)*r<2*i){let n=s.children.indexOf(o),r=s.children[n+1]??s.children[n-1];for(let t=e.nodes.find(e=>e.id===r);t&&C(t);t=e.nodes.find(e=>e.id===r))r=t.children?.[0];let i=r?j(e,t,a):null;if(i)return P(i,t.id,r,null,a)??i}return F(e,t,n,`right`,a)}function z(e,t,n,r,i){let a=e.nodes.find(e=>e.id===n);if(!a||C(a)||n===t||!w(e.nodes,t)||T(e.nodes,t)===n&&E(e.nodes,n).length<2)return null;let o=O(e);k(o,t);let s={id:i(`group`),kind:`group`,children:[t]};return o.nodes.push(s),B(o,s.id,n,r,i),D(o)}function B(e,t,n,r,i){let a=r===`left`||r===`right`?`horizontal`:`vertical`,o=r===`right`||r===`bottom`,s=w(e.nodes,n);if(s&&C(s)&&s.presentation.axis===a){let e=s.children.indexOf(n),r=[...s.presentation.weights??s.children.map(()=>1)],i=(r[e]??1)/2;s.children.splice(o?e+1:e,0,t),r.splice(e,1,i,i),s.presentation={...s.presentation,weights:r}}else{let r={id:i(`split`),kind:`group`,children:o?[n,t]:[t,n],presentation:{mode:`split`,axis:a,weights:[1,1]}};e.nodes.push(r),s?s.children=s.children.map(e=>e===n?r.id:e):e.rootId=r.id}}function V(e,t){let n=(e,t)=>{let r=e.nodes.find(e=>e.id===t);return!r||r.kind===`view`?t:[t,r.presentation?.mode===`split`?r.presentation.axis:`tabs`,(r.children??[]).map(t=>n(e,t))]};return JSON.stringify(n(e,e.rootId))===JSON.stringify(n(t,t.rootId))}function _e(e,t,n,r,i,a){let o=A(e),s=e.nodes.find(e=>e.id===t);if(!s||t===n||t===e.rootId||!o.includes(t)||!o.includes(n))return null;if(s.kind===`view`)return r===`center`?P(e,t,n,i,a):z(e,t,n,r,a);let c=O(e);if(k(c,t),r!==`center`){B(c,t,n,r,a);let i=D(c);return V(e,i)?null:i}let l=E(c.nodes,t),u=new Set,d=e=>{let t=c.nodes.find(t=>t.id===e);t?.kind===`group`&&(u.add(e),t.children?.forEach(d))};d(t),c.nodes=c.nodes.filter(e=>!u.has(e.id));let f=c.nodes.find(e=>e.id===n);if(f.kind===`group`){let e=f.children??[],t=i?e.find(e=>e===i||E(c.nodes,e).includes(i)):void 0;e.splice(t?e.indexOf(t):e.length,0,...l),f.children=e}else{let e={id:a(`group`),kind:`group`,children:i===n?[...l,n]:[n,...l]};c.nodes.push(e);let t=w(c.nodes,n);t?t.children=t.children.map(t=>t===n?e.id:t):c.rootId=e.id}return D(c)}function H(e,t,n,r,i=1/3){let a=e.nodes.find(e=>e.id===t);if(!a||!w(e.nodes,t)||a.kind!==`view`&&!A(e).includes(t))return null;let o=T(e.nodes,t);if(o!==t&&E(e.nodes,o).length===1)return H(e,o,n,r,i);let s=O(e);k(s,t);let c=t;if(!A(e).includes(t)){let e={id:r(`group`),kind:`group`,children:[t]};s.nodes.push(e),c=e.id}L(s,c,n,i,r);let l=D(s);return V(e,l)?null:l}function U(e,t,n,r){if(e.nodes.some(e=>e.id===t.id))return null;let i=j(e,t,r);return i&&(P(i,t.id,n,null,r)??i)}var W=`workspace`,ve={workspace:`Workspace`,"agent-canvas":`Agent canvas`,"observed-outputs":`Observed outputs`,"external-results":`External results`};function ye(e){return ve[e]??(/^workspace-(\d+)$/.exec(e)?`Workspace `+e.slice(10):e)}var be=e=>`conversation-`+e,xe=e=>e.startsWith(`conversation-`)?e.slice(13):null;function G(e){let t=2166136261,n=16777619;for(let r of e){let e=r.codePointAt(0);t=Math.imul(t^e,16777619)>>>0,n=Math.imul(n^e,2166136261)>>>0}return`file-`+(t.toString(16).padStart(8,`0`)+n.toString(16).padStart(8,`0`)).slice(0,12)+`-`}var Se={maxViewsPerSide:6},K=`canvas-`,q=`markdown.reader`,J=`html.reader`,Ce=e=>e.kind===`view`?e.component===`rho.editor`||e.component===q||e.component===J?`code`:e.component===`rho.table`||e.component===`rho.media`?`data`:null:null,Y=/\.(png|jpe?g|svg|gif|pdf|tiff?|webp|xlsx?|rds|rda|rdata|parquet|feather|h5|h5ad|bam|zip|gz)$/i,we=e=>s(e)||!Y.test(e),Te=(e,t)=>e.catalog.operations.some(e=>e.method===t&&e.authorized&&e.state===`available`),X=(e,t)=>e.catalog.components.find(e=>e.id===t),Z=e=>Te(e,`agent.activity.capture`)&&!!X(e,`rho.table`)&&!!X(e,`rho.media`);async function Q(e,t,n){if(typeof n!=`string`){let e=X(t,n.kind===`table`?`rho.table`:`rho.media`);if(!e||![`table`,`media`].includes(n.kind))return null;let r=Object.keys(e.bindings)[0]??`data`;return{side:`data`,node:{id:`result-`+n.id.slice(0,12)+`-`+n.version.slice(0,12),kind:`view`,component:e.id,version:e.version,props:{title:n.path.split(`/`).at(-1)??n.path},bindings:{[r]:{id:n.id,version:n.version}}}}}let r=n,i=t.project.id,a=r.split(`/`).at(-1)??r;if(s(r)&&Z(t)){let n=await e.call(`agent.activity.capture`,{projectId:i,path:r}),o=X(t,n.kind===`table`?`rho.table`:`rho.media`),s=Object.keys(o.bindings)[0]??`data`;return{side:`data`,node:{id:G(r)+n.version.slice(0,12),kind:`view`,component:o.id,version:o.version,props:{title:a},bindings:{[s]:{id:n.id,version:n.version}}}}}if(Y.test(r))return null;let o=(/\.(md|markdown)$/i.test(r)?X(t,q):/\.html?$/i.test(r)?X(t,J):void 0)??X(t,`rho.editor`);if(!o)return null;let c=await e.call(`document.open`,{projectId:i,path:r});return{side:`code`,node:{id:`doc-`+c.id.slice(0,12),kind:`view`,component:o.id,version:o.version,props:{title:a},bindings:{document:{kind:`live-document`,documentId:c.id}}}}}function Ee(e,t,n,r){let i=structuredClone(e?.nodes??[]),a=e?.rootId??`root`;if(i.some(e=>e.id===t.id))return null;let o=e=>i.find(t=>t.id===e),s=e=>i.find(t=>t.kind===`group`&&t.children?.includes(e)),c=e=>!!e&&e.kind===`group`&&e.presentation?.mode!==`split`,l=t.id.startsWith(`file-`)?t.id.slice(0,18):``,u=l?i.find(e=>e.kind===`view`&&e.id.startsWith(l)):void 0;if(u){let e=s(u.id);if(e)return e.children=e.children.map(e=>e===u.id?t.id:e),{rootId:a,nodes:[...i.filter(e=>e.id!==u.id),t]}}if(r&&e?.rootId&&i.length)return U({rootId:a,nodes:i},t,r,e=>`${e}-${crypto.randomUUID().slice(0,8)}`);let d=o(a);d||(d={id:a,kind:`group`,children:[]},i.push(d));let f=new Map;for(let e of i)if(Ce(e)===n){let t=s(e.id);c(t)&&f.set(t,(f.get(t)??0)+1)}let p=i.find(e=>e.id===K+n&&e.kind===`group`)??[...f].sort((e,t)=>t[1]-e[1])[0]?.[0]??(d.children?.length?void 0:d);if(!p){p={id:K+n,kind:`group`,children:[]},i.push(p);let e=e=>n===`code`?0:e;if(d.presentation?.mode===`split`&&d.presentation.axis===`horizontal`){let t=d.presentation.weights?.length===d.children.length?[...d.presentation.weights]:d.children.map(()=>1),n=e(d.children.length);d.children.splice(n,0,p.id),t.splice(n,0,t.reduce((e,t)=>e+t,0)/t.length),d.presentation={...d.presentation,weights:t}}else{let t=`split`,n=1;for(;o(t);)t=`split-`+ ++n;let r=[a];r.splice(e(1),0,p.id),i.push({id:t,kind:`group`,children:r,presentation:{mode:`split`,axis:`horizontal`,weights:[1,1]}}),a=t}}if(p.children=[...p.children??[],t.id],i.push(t),p.id.startsWith(K))for(;p.children.length>Se.maxViewsPerSide;){let e=p.children.shift(),t=i.findIndex(t=>t.id===e);t>=0&&i.splice(t,1)}return{rootId:a,nodes:i}}var $=new Map;function De(e,t,r,i,a){let o=t.project.id+`/`+r,s=($.get(o)??Promise.resolve()).catch(()=>void 0).then(async()=>{let o=await Q(e,t,i);if(!o)return null;let s=t.project.id;for(let t=0;;t++){let i=await e.call(`composition.read`,{projectId:s,compositionId:r}).catch(e=>{if(e instanceof n&&e.error.kind===`not_found`)return null;throw e}),c=(i?.nodes)?.find(e=>e.id===o.node.id);if(c)return{compositionId:r,viewId:c.id};let l=Ee(i,o.node,o.side,a);if(!l)return{compositionId:r,viewId:o.node.id};try{return await e.call(`composition.apply`,{projectId:s,compositionId:r,expectedVersion:i?.version??0,changeId:`open-`+crypto.randomUUID(),operations:[{op:`replace`,rootId:l.rootId,nodes:l.nodes}]}),{compositionId:r,viewId:o.node.id}}catch(e){if(t===0&&e instanceof n&&e.error.kind===`stale`)continue;throw e}}});return $.set(o,s),s}export{le as A,ce as C,me as D,de as E,p as F,d as I,l as L,s as M,o as N,fe as O,y as P,j as S,M as T,ue as _,De as a,H as b,we as c,F as d,U as f,N as g,z as h,G as i,f as j,b as k,Q as l,he as m,ye as n,be as o,ge as p,W as r,xe as s,Z as t,I as u,_e as v,S as w,pe as x,P as y};