@astrale-os/cli 1.0.0-beta.9 → 1.0.0-npm-deprecated.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 (617) hide show
  1. package/README.md +14 -166
  2. package/package.json +10 -102
  3. package/.check-workspace.cjs +0 -40
  4. package/LICENSE +0 -202
  5. package/THIRD-PARTY-NOTICES.md +0 -27
  6. package/dist/astrale.js +0 -93344
  7. package/dist/public/connect-core.js +0 -29187
  8. package/dist/public/keys/index.js +0 -5651
  9. package/dist/public/paths/index.js +0 -4282
  10. package/dist/types/admin/binding.d.ts +0 -19
  11. package/dist/types/admin/instance/client.d.ts +0 -22
  12. package/dist/types/admin/instance/index.d.ts +0 -2
  13. package/dist/types/admin/instance/model.d.ts +0 -33
  14. package/dist/types/connect-core.d.ts +0 -22
  15. package/dist/types/connection/auth.d.ts +0 -39
  16. package/dist/types/connection/call.d.ts +0 -3
  17. package/dist/types/connection/command.d.ts +0 -27
  18. package/dist/types/connection/credential.d.ts +0 -14
  19. package/dist/types/connection/errors.d.ts +0 -1
  20. package/dist/types/connection/exchange.d.ts +0 -9
  21. package/dist/types/connection/failure/classify.d.ts +0 -2
  22. package/dist/types/connection/failure/index.d.ts +0 -5
  23. package/dist/types/connection/failure/model.d.ts +0 -25
  24. package/dist/types/connection/failure/render.d.ts +0 -3
  25. package/dist/types/connection/index.d.ts +0 -8
  26. package/dist/types/connection/reasons.d.ts +0 -37
  27. package/dist/types/connection/self.d.ts +0 -37
  28. package/dist/types/connection/session.d.ts +0 -31
  29. package/dist/types/connection/target.d.ts +0 -38
  30. package/dist/types/errors.d.ts +0 -23
  31. package/dist/types/identity/registry.d.ts +0 -25
  32. package/dist/types/keys/algorithm.d.ts +0 -6
  33. package/dist/types/keys/credential.d.ts +0 -21
  34. package/dist/types/keys/index.d.ts +0 -4
  35. package/dist/types/keys/pair.d.ts +0 -34
  36. package/dist/types/lib/admin-instance.d.ts +0 -17
  37. package/dist/types/lib/admin-target.d.ts +0 -78
  38. package/dist/types/lib/ca-fetch.d.ts +0 -2
  39. package/dist/types/lib/config.d.ts +0 -71
  40. package/dist/types/lib/failure-debug.d.ts +0 -1
  41. package/dist/types/lib/format.d.ts +0 -1
  42. package/dist/types/lib/idp-session.d.ts +0 -33
  43. package/dist/types/lib/idp.d.ts +0 -404
  44. package/dist/types/lib/instance-target.d.ts +0 -38
  45. package/dist/types/lib/instance.d.ts +0 -202
  46. package/dist/types/lib/invocation.d.ts +0 -3
  47. package/dist/types/lib/log.d.ts +0 -33
  48. package/dist/types/lib/login-flow.d.ts +0 -49
  49. package/dist/types/lib/meta.d.ts +0 -36
  50. package/dist/types/lib/output.d.ts +0 -87
  51. package/dist/types/lib/proc.d.ts +0 -43
  52. package/dist/types/lib/self.d.ts +0 -9
  53. package/dist/types/lib/table.d.ts +0 -18
  54. package/dist/types/lib/update.d.ts +0 -131
  55. package/dist/types/lib/validation.d.ts +0 -11
  56. package/dist/types/paths/index.d.ts +0 -2
  57. package/dist/types/state/exchange-credentials.d.ts +0 -25
  58. package/dist/types/state/files.d.ts +0 -9
  59. package/dist/types/state/identities.d.ts +0 -42
  60. package/dist/types/state/index.d.ts +0 -8
  61. package/dist/types/state/paths.d.ts +0 -32
  62. package/src/__tests__/fixtures/publication.ts +0 -20
  63. package/src/admin/.spec/api.d.ts +0 -3
  64. package/src/admin/.spec/architecture.md +0 -15
  65. package/src/admin/.spec/icon.svg +0 -3
  66. package/src/admin/.spec/layout.ts +0 -6
  67. package/src/admin/__tests__/binding.test.ts +0 -31
  68. package/src/admin/__tests__/fixture.ts +0 -101
  69. package/src/admin/binding.ts +0 -98
  70. package/src/admin/catalog/.spec/api.d.ts +0 -65
  71. package/src/admin/catalog/.spec/architecture.md +0 -6
  72. package/src/admin/catalog/.spec/icon.svg +0 -3
  73. package/src/admin/catalog/.spec/layout.ts +0 -6
  74. package/src/admin/catalog/__tests__/client.test.ts +0 -142
  75. package/src/admin/catalog/client.ts +0 -218
  76. package/src/admin/catalog/index.ts +0 -13
  77. package/src/admin/catalog/model.ts +0 -41
  78. package/src/admin/catalog/tsconfig.json +0 -8
  79. package/src/admin/graph/.spec/api.d.ts +0 -22
  80. package/src/admin/graph/.spec/architecture.md +0 -5
  81. package/src/admin/graph/.spec/icon.svg +0 -3
  82. package/src/admin/graph/.spec/layout.ts +0 -3
  83. package/src/admin/graph/index.ts +0 -6
  84. package/src/admin/graph/nodes.ts +0 -56
  85. package/src/admin/index.ts +0 -2
  86. package/src/admin/instance/.spec/api.d.ts +0 -66
  87. package/src/admin/instance/.spec/architecture.md +0 -10
  88. package/src/admin/instance/.spec/icon.svg +0 -3
  89. package/src/admin/instance/.spec/layout.ts +0 -6
  90. package/src/admin/instance/__tests__/client.test.ts +0 -166
  91. package/src/admin/instance/client.ts +0 -196
  92. package/src/admin/instance/index.ts +0 -15
  93. package/src/admin/instance/model.ts +0 -56
  94. package/src/admin/instance/tsconfig.json +0 -8
  95. package/src/commands/__tests__/admin-instance.test.ts +0 -91
  96. package/src/commands/__tests__/auth-login.test.ts +0 -231
  97. package/src/commands/__tests__/auth-token.test.ts +0 -223
  98. package/src/commands/__tests__/call-describe.test.ts +0 -80
  99. package/src/commands/__tests__/call.test.ts +0 -29
  100. package/src/commands/__tests__/domain-install-operation.test.ts +0 -126
  101. package/src/commands/__tests__/domain-install-owned.test.ts +0 -191
  102. package/src/commands/__tests__/domain-list.test.ts +0 -133
  103. package/src/commands/__tests__/domain-uninstall.test.ts +0 -53
  104. package/src/commands/__tests__/install-direct.test.ts +0 -21
  105. package/src/commands/__tests__/install-identity-override.test.ts +0 -76
  106. package/src/commands/__tests__/instance-bookmark.test.ts +0 -166
  107. package/src/commands/__tests__/instance-list-admin.test.ts +0 -26
  108. package/src/commands/__tests__/instance-list-rows.test.ts +0 -64
  109. package/src/commands/__tests__/instance-use.test.ts +0 -67
  110. package/src/commands/__tests__/introspect-parse.test.ts +0 -21
  111. package/src/commands/__tests__/logs.test.ts +0 -97
  112. package/src/commands/__tests__/read-commands.test.ts +0 -294
  113. package/src/commands/__tests__/setup-plan.test.ts +0 -61
  114. package/src/commands/__tests__/studio-descriptor.test.ts +0 -22
  115. package/src/commands/__tests__/token-ttl.test.ts +0 -21
  116. package/src/commands/__tests__/update.test.ts +0 -95
  117. package/src/commands/__tests__/view-build.test.ts +0 -58
  118. package/src/commands/__tests__/view.test.ts +0 -149
  119. package/src/commands/admin/status.ts +0 -61
  120. package/src/commands/admin/use.ts +0 -100
  121. package/src/commands/auth/login.ts +0 -82
  122. package/src/commands/auth/logout.ts +0 -52
  123. package/src/commands/auth/status.ts +0 -86
  124. package/src/commands/auth/token.ts +0 -174
  125. package/src/commands/browser.ts +0 -207
  126. package/src/commands/call-describe.ts +0 -123
  127. package/src/commands/call.ts +0 -205
  128. package/src/commands/domain/install.ts +0 -548
  129. package/src/commands/domain/list.ts +0 -155
  130. package/src/commands/domain/publish.ts +0 -136
  131. package/src/commands/domain/uninstall.ts +0 -128
  132. package/src/commands/get.ts +0 -69
  133. package/src/commands/identity/__tests__/register.test.ts +0 -93
  134. package/src/commands/identity/create.ts +0 -35
  135. package/src/commands/identity/delete.ts +0 -24
  136. package/src/commands/identity/export.ts +0 -46
  137. package/src/commands/identity/import.ts +0 -61
  138. package/src/commands/identity/list.ts +0 -56
  139. package/src/commands/identity/register.ts +0 -196
  140. package/src/commands/identity/sync.ts +0 -38
  141. package/src/commands/identity/unsync.ts +0 -34
  142. package/src/commands/identity/use.ts +0 -24
  143. package/src/commands/identity/whoami.ts +0 -34
  144. package/src/commands/idp/add.ts +0 -150
  145. package/src/commands/idp/list.ts +0 -57
  146. package/src/commands/idp/refresh.ts +0 -38
  147. package/src/commands/idp/remove.ts +0 -36
  148. package/src/commands/idp/show.ts +0 -29
  149. package/src/commands/instance/active.ts +0 -73
  150. package/src/commands/instance/bookmark.ts +0 -101
  151. package/src/commands/instance/create.ts +0 -61
  152. package/src/commands/instance/delete.ts +0 -69
  153. package/src/commands/instance/forget.ts +0 -26
  154. package/src/commands/instance/list.ts +0 -197
  155. package/src/commands/instance/status.ts +0 -38
  156. package/src/commands/instance/use.ts +0 -263
  157. package/src/commands/introspect.ts +0 -110
  158. package/src/commands/logs.ts +0 -283
  159. package/src/commands/mutate.ts +0 -122
  160. package/src/commands/query.ts +0 -136
  161. package/src/commands/session/analyze.ts +0 -50
  162. package/src/commands/session/list.ts +0 -36
  163. package/src/commands/setup.ts +0 -54
  164. package/src/commands/status.ts +0 -60
  165. package/src/commands/studio.ts +0 -434
  166. package/src/commands/token.ts +0 -107
  167. package/src/commands/update.ts +0 -334
  168. package/src/commands/use.ts +0 -86
  169. package/src/commands/view-serve.ts +0 -26
  170. package/src/commands/view.ts +0 -614
  171. package/src/connect-core.test.ts +0 -38
  172. package/src/connect-core.ts +0 -42
  173. package/src/connection/.spec/api.d.ts +0 -110
  174. package/src/connection/.spec/architecture.md +0 -47
  175. package/src/connection/.spec/capabilities/connection.ts +0 -13
  176. package/src/connection/.spec/examples/call.ts +0 -7
  177. package/src/connection/.spec/flows/command.ts +0 -20
  178. package/src/connection/.spec/flows/session.ts +0 -61
  179. package/src/connection/.spec/laws/connection.ts +0 -205
  180. package/src/connection/.spec/layout.ts +0 -21
  181. package/src/connection/__tests__/auth.test.ts +0 -128
  182. package/src/connection/__tests__/ca-fetch.test.ts +0 -60
  183. package/src/connection/__tests__/call.test.ts +0 -17
  184. package/src/connection/__tests__/credential.test.ts +0 -138
  185. package/src/connection/__tests__/errors.test.ts +0 -577
  186. package/src/connection/__tests__/exchange.test.ts +0 -295
  187. package/src/connection/__tests__/failure-fixtures.ts +0 -39
  188. package/src/connection/__tests__/failure-safety.test.ts +0 -75
  189. package/src/connection/__tests__/fixtures/localhost-cert.pem +0 -19
  190. package/src/connection/__tests__/fixtures/localhost-key.base64 +0 -1
  191. package/src/connection/__tests__/managed.test.ts +0 -39
  192. package/src/connection/__tests__/reasons.test.ts +0 -78
  193. package/src/connection/__tests__/self.test.ts +0 -71
  194. package/src/connection/__tests__/session.test.ts +0 -140
  195. package/src/connection/__tests__/target.test.ts +0 -94
  196. package/src/connection/auth.ts +0 -249
  197. package/src/connection/call.ts +0 -7
  198. package/src/connection/command.ts +0 -67
  199. package/src/connection/credential.ts +0 -117
  200. package/src/connection/errors.ts +0 -1
  201. package/src/connection/exchange.ts +0 -311
  202. package/src/connection/failure/classify.ts +0 -110
  203. package/src/connection/failure/index.ts +0 -18
  204. package/src/connection/failure/model.ts +0 -28
  205. package/src/connection/failure/render.ts +0 -116
  206. package/src/connection/index.ts +0 -8
  207. package/src/connection/reasons.ts +0 -209
  208. package/src/connection/self.ts +0 -138
  209. package/src/connection/session.ts +0 -196
  210. package/src/connection/target.ts +0 -112
  211. package/src/connection/tsconfig.json +0 -6
  212. package/src/errors.ts +0 -66
  213. package/src/graph/.spec/api.d.ts +0 -41
  214. package/src/graph/.spec/laws/documents.ts +0 -24
  215. package/src/graph/.spec/laws/projection.ts +0 -13
  216. package/src/graph/.spec/layout.ts +0 -14
  217. package/src/graph/__tests__/mutation.test.ts +0 -51
  218. package/src/graph/__tests__/projection.test.ts +0 -22
  219. package/src/graph/__tests__/query.test.ts +0 -173
  220. package/src/graph/class.ts +0 -30
  221. package/src/graph/index.ts +0 -4
  222. package/src/graph/mutation.ts +0 -46
  223. package/src/graph/projection.ts +0 -21
  224. package/src/graph/query.ts +0 -97
  225. package/src/graph/tsconfig.json +0 -6
  226. package/src/identity/.history/ard/bootstrap-root-transfer.md +0 -57
  227. package/src/identity/.history/ard/domain-mediated-registration.md +0 -36
  228. package/src/identity/.spec/api.d.ts +0 -124
  229. package/src/identity/.spec/architecture.md +0 -33
  230. package/src/identity/.spec/capabilities/identity.ts +0 -7
  231. package/src/identity/.spec/flows/bootstrap-root.ts +0 -79
  232. package/src/identity/.spec/flows/domain-mediated-registration.ts +0 -51
  233. package/src/identity/.spec/flows/import.ts +0 -29
  234. package/src/identity/.spec/laws/identity.ts +0 -56
  235. package/src/identity/.spec/layout.ts +0 -13
  236. package/src/identity/.spec/schemas/identity-export-v1.schema.json +0 -25
  237. package/src/identity/__tests__/fixtures/registry-journey.ts +0 -53
  238. package/src/identity/__tests__/registration.test.ts +0 -64
  239. package/src/identity/__tests__/registry.test.ts +0 -70
  240. package/src/identity/__tests__/transfer.test.ts +0 -198
  241. package/src/identity/index.ts +0 -23
  242. package/src/identity/registration.ts +0 -72
  243. package/src/identity/registry.ts +0 -179
  244. package/src/identity/transfer.ts +0 -187
  245. package/src/identity/tsconfig.json +0 -6
  246. package/src/index.ts +0 -1
  247. package/src/keys/.spec/api.d.ts +0 -74
  248. package/src/keys/.spec/architecture.md +0 -13
  249. package/src/keys/.spec/laws/keys.ts +0 -43
  250. package/src/keys/.spec/layout.ts +0 -6
  251. package/src/keys/__tests__/algorithm.test.ts +0 -39
  252. package/src/keys/__tests__/keys.test.ts +0 -168
  253. package/src/keys/algorithm.ts +0 -33
  254. package/src/keys/credential.ts +0 -112
  255. package/src/keys/index.ts +0 -14
  256. package/src/keys/pair.ts +0 -219
  257. package/src/keys/tsconfig.json +0 -6
  258. package/src/lib/__tests__/admin-target.test.ts +0 -184
  259. package/src/lib/__tests__/binary.test.ts +0 -55
  260. package/src/lib/__tests__/command-dx.test.ts +0 -102
  261. package/src/lib/__tests__/concurrency.test.ts +0 -62
  262. package/src/lib/__tests__/config.test.ts +0 -54
  263. package/src/lib/__tests__/design.test.ts +0 -99
  264. package/src/lib/__tests__/domain-publication.test.ts +0 -138
  265. package/src/lib/__tests__/format.test.ts +0 -22
  266. package/src/lib/__tests__/idp-session.driver.ts +0 -53
  267. package/src/lib/__tests__/idp-session.test.ts +0 -379
  268. package/src/lib/__tests__/idp.test.ts +0 -415
  269. package/src/lib/__tests__/instance-candidates.test.ts +0 -146
  270. package/src/lib/__tests__/instance-target.test.ts +0 -213
  271. package/src/lib/__tests__/instance.test.ts +0 -192
  272. package/src/lib/__tests__/local-status.test.ts +0 -202
  273. package/src/lib/__tests__/log-errors.test.ts +0 -64
  274. package/src/lib/__tests__/log.test.ts +0 -31
  275. package/src/lib/__tests__/meta.test.ts +0 -55
  276. package/src/lib/__tests__/output.test.ts +0 -162
  277. package/src/lib/__tests__/panel.test.ts +0 -40
  278. package/src/lib/__tests__/port.test.ts +0 -44
  279. package/src/lib/__tests__/prompt.test.ts +0 -25
  280. package/src/lib/__tests__/sdk-deps.test.ts +0 -68
  281. package/src/lib/__tests__/self.test.ts +0 -50
  282. package/src/lib/__tests__/studio-server-deps.test.ts +0 -111
  283. package/src/lib/__tests__/table.test.ts +0 -53
  284. package/src/lib/__tests__/update.test.ts +0 -351
  285. package/src/lib/__tests__/use-target.test.ts +0 -56
  286. package/src/lib/__tests__/validation.test.ts +0 -34
  287. package/src/lib/__tests__/view-assets.test.ts +0 -146
  288. package/src/lib/__tests__/view-open-intent.test.ts +0 -280
  289. package/src/lib/__tests__/view-port-allocation.test.ts +0 -82
  290. package/src/lib/__tests__/view-server.test.ts +0 -68
  291. package/src/lib/__tests__/view-session.test.ts +0 -99
  292. package/src/lib/__tests__/view-snapshot.test.ts +0 -77
  293. package/src/lib/admin-domain.ts +0 -43
  294. package/src/lib/admin-instance.ts +0 -56
  295. package/src/lib/admin-target.ts +0 -290
  296. package/src/lib/binary.ts +0 -110
  297. package/src/lib/browser.ts +0 -150
  298. package/src/lib/ca-fetch.ts +0 -133
  299. package/src/lib/command-dx.ts +0 -191
  300. package/src/lib/concurrency.ts +0 -31
  301. package/src/lib/config.ts +0 -46
  302. package/src/lib/domain-publication.ts +0 -104
  303. package/src/lib/failure-debug.ts +0 -26
  304. package/src/lib/format.ts +0 -4
  305. package/src/lib/idp-session.ts +0 -134
  306. package/src/lib/idp.ts +0 -906
  307. package/src/lib/instance-candidates.ts +0 -49
  308. package/src/lib/instance-target.ts +0 -197
  309. package/src/lib/instance.ts +0 -467
  310. package/src/lib/invocation.ts +0 -11
  311. package/src/lib/local-status.ts +0 -152
  312. package/src/lib/log.ts +0 -143
  313. package/src/lib/login-flow.ts +0 -201
  314. package/src/lib/meta.ts +0 -90
  315. package/src/lib/output.ts +0 -238
  316. package/src/lib/panel.ts +0 -61
  317. package/src/lib/port.ts +0 -41
  318. package/src/lib/proc.ts +0 -82
  319. package/src/lib/prompt.ts +0 -136
  320. package/src/lib/provision-instance.ts +0 -139
  321. package/src/lib/sdk-deps.ts +0 -104
  322. package/src/lib/self.ts +0 -22
  323. package/src/lib/skills.ts +0 -171
  324. package/src/lib/table.ts +0 -62
  325. package/src/lib/update.ts +0 -409
  326. package/src/lib/use-target.ts +0 -24
  327. package/src/lib/validation.ts +0 -59
  328. package/src/lib/view/assets.ts +0 -78
  329. package/src/lib/view/open-intent.ts +0 -67
  330. package/src/lib/view/port-allocation.ts +0 -19
  331. package/src/lib/view/resolve.ts +0 -111
  332. package/src/lib/view/server.ts +0 -244
  333. package/src/lib/view/session.ts +0 -152
  334. package/src/lib/view/snapshot.ts +0 -101
  335. package/src/paths/.spec/api.d.ts +0 -13
  336. package/src/paths/.spec/architecture.md +0 -5
  337. package/src/paths/.spec/layout.ts +0 -3
  338. package/src/paths/index.ts +0 -13
  339. package/src/program/.spec/api.d.ts +0 -42
  340. package/src/program/.spec/architecture.md +0 -18
  341. package/src/program/.spec/laws/program.ts +0 -29
  342. package/src/program/.spec/layout.ts +0 -14
  343. package/src/program/__tests__/program.test.ts +0 -378
  344. package/src/program/build.ts +0 -183
  345. package/src/program/command.ts +0 -42
  346. package/src/program/index.ts +0 -2
  347. package/src/program/options.ts +0 -41
  348. package/src/program/registry.ts +0 -63
  349. package/src/program/tsconfig.json +0 -6
  350. package/src/setup/__tests__/instance-step.test.ts +0 -256
  351. package/src/setup/__tests__/util.test.ts +0 -29
  352. package/src/setup/engine.ts +0 -83
  353. package/src/setup/render.ts +0 -107
  354. package/src/setup/steps/admin.ts +0 -93
  355. package/src/setup/steps/agent-browser.ts +0 -81
  356. package/src/setup/steps/auth.ts +0 -54
  357. package/src/setup/steps/domain.ts +0 -68
  358. package/src/setup/steps/index.ts +0 -18
  359. package/src/setup/steps/instance.ts +0 -206
  360. package/src/setup/steps/skills-bridge.ts +0 -70
  361. package/src/setup/steps/skills.ts +0 -59
  362. package/src/setup/types.ts +0 -61
  363. package/src/setup/util.ts +0 -34
  364. package/src/state/.spec/api.d.ts +0 -133
  365. package/src/state/.spec/architecture.md +0 -31
  366. package/src/state/.spec/capabilities/state.ts +0 -7
  367. package/src/state/.spec/flows/identity-update.ts +0 -22
  368. package/src/state/.spec/laws/state.ts +0 -73
  369. package/src/state/.spec/layout.ts +0 -14
  370. package/src/state/__tests__/exchange-credentials.test.ts +0 -188
  371. package/src/state/__tests__/files.test.ts +0 -113
  372. package/src/state/__tests__/fixtures/identity-transition.ts +0 -37
  373. package/src/state/__tests__/identities.test.ts +0 -142
  374. package/src/state/__tests__/paths.test.ts +0 -27
  375. package/src/state/exchange-credentials.ts +0 -219
  376. package/src/state/files.ts +0 -129
  377. package/src/state/identities.ts +0 -229
  378. package/src/state/index.ts +0 -29
  379. package/src/state/paths.ts +0 -61
  380. package/src/state/tsconfig.json +0 -6
  381. package/src/telemetry/__tests__/gate.test.ts +0 -63
  382. package/src/telemetry/__tests__/recorder.test.ts +0 -110
  383. package/src/telemetry/__tests__/redact.test.ts +0 -79
  384. package/src/telemetry/__tests__/session.test.ts +0 -166
  385. package/src/telemetry/__tests__/trigger.test.ts +0 -49
  386. package/src/telemetry/adapters/__tests__/claude-code.test.ts +0 -89
  387. package/src/telemetry/adapters/__tests__/codex.test.ts +0 -138
  388. package/src/telemetry/adapters/__tests__/index.test.ts +0 -88
  389. package/src/telemetry/adapters/claude-code.ts +0 -90
  390. package/src/telemetry/adapters/codex.ts +0 -160
  391. package/src/telemetry/adapters/index.ts +0 -45
  392. package/src/telemetry/adapters/types.ts +0 -21
  393. package/src/telemetry/analyze.ts +0 -227
  394. package/src/telemetry/gate.ts +0 -79
  395. package/src/telemetry/recorder.ts +0 -57
  396. package/src/telemetry/redact.ts +0 -53
  397. package/src/telemetry/session.ts +0 -88
  398. package/src/telemetry/settings.ts +0 -26
  399. package/src/telemetry/store.ts +0 -91
  400. package/src/telemetry/trigger.ts +0 -119
  401. package/src/telemetry/types.ts +0 -64
  402. package/src/test-utils.ts +0 -18
  403. package/studio/client/dist/assets/elk-api-ByzoDZWH.js +0 -1
  404. package/studio/client/dist/assets/elk-worker.min-C9JGDOE-.js +0 -6312
  405. package/studio/client/dist/assets/index-B0RCgUOT.js +0 -8
  406. package/studio/client/dist/assets/index-BiGR8Oo9.css +0 -1
  407. package/studio/client/dist/assets/index-ChOr3yP0.css +0 -1
  408. package/studio/client/dist/assets/index-N8J8EKlB.js +0 -81
  409. package/studio/client/dist/index.html +0 -13
  410. package/studio/package.json +0 -65
  411. package/studio/server/agent/ask.test.ts +0 -74
  412. package/studio/server/agent/ask.ts +0 -71
  413. package/studio/server/agent/bridge/client.test.ts +0 -49
  414. package/studio/server/agent/bridge/client.ts +0 -37
  415. package/studio/server/agent/bridge/grant.test.ts +0 -62
  416. package/studio/server/agent/bridge/grant.ts +0 -84
  417. package/studio/server/agent/bridge/routes.test.ts +0 -151
  418. package/studio/server/agent/bridge/routes.ts +0 -148
  419. package/studio/server/agent/bridge/stdio.ts +0 -195
  420. package/studio/server/agent/conversation.test.ts +0 -89
  421. package/studio/server/agent/conversation.ts +0 -158
  422. package/studio/server/agent/harness/adapter.ts +0 -171
  423. package/studio/server/agent/harness/claude/adapter.test.ts +0 -348
  424. package/studio/server/agent/harness/claude/adapter.ts +0 -71
  425. package/studio/server/agent/harness/claude/ask.ts +0 -114
  426. package/studio/server/agent/harness/claude/capabilities.ts +0 -27
  427. package/studio/server/agent/harness/claude/command.ts +0 -63
  428. package/studio/server/agent/harness/claude/events.ts +0 -215
  429. package/studio/server/agent/harness/claude/loadout.ts +0 -132
  430. package/studio/server/agent/harness/claude/mcp.test.ts +0 -36
  431. package/studio/server/agent/harness/claude/mcp.ts +0 -41
  432. package/studio/server/agent/harness/claude/skills.ts +0 -43
  433. package/studio/server/agent/harness/codex/adapter.test.ts +0 -269
  434. package/studio/server/agent/harness/codex/adapter.ts +0 -116
  435. package/studio/server/agent/harness/codex/ask.test.ts +0 -176
  436. package/studio/server/agent/harness/codex/ask.ts +0 -181
  437. package/studio/server/agent/harness/codex/command.test.ts +0 -69
  438. package/studio/server/agent/harness/codex/command.ts +0 -43
  439. package/studio/server/agent/harness/codex/events.test.ts +0 -94
  440. package/studio/server/agent/harness/codex/events.ts +0 -132
  441. package/studio/server/agent/harness/codex/exec.ts +0 -113
  442. package/studio/server/agent/harness/codex/loadout.ts +0 -60
  443. package/studio/server/agent/harness/codex/mcp.test.ts +0 -32
  444. package/studio/server/agent/harness/codex/mcp.ts +0 -27
  445. package/studio/server/agent/harness/codex/models.test.ts +0 -167
  446. package/studio/server/agent/harness/codex/models.ts +0 -211
  447. package/studio/server/agent/harness/codex/skills.ts +0 -33
  448. package/studio/server/agent/harness/gateway/config.test.ts +0 -98
  449. package/studio/server/agent/harness/gateway/config.ts +0 -214
  450. package/studio/server/agent/harness/gateway/token.test.ts +0 -133
  451. package/studio/server/agent/harness/gateway/token.ts +0 -166
  452. package/studio/server/agent/harness/mock/adapter.ts +0 -190
  453. package/studio/server/agent/harness/mock/domain-edit.ts +0 -41
  454. package/studio/server/agent/harness/process.test.ts +0 -46
  455. package/studio/server/agent/harness/process.ts +0 -104
  456. package/studio/server/agent/harness/registry.ts +0 -37
  457. package/studio/server/agent/harness/selection.test.ts +0 -75
  458. package/studio/server/agent/harness/selection.ts +0 -85
  459. package/studio/server/agent/harness/skills.test.ts +0 -95
  460. package/studio/server/agent/harness/skills.ts +0 -100
  461. package/studio/server/agent/layout.test.ts +0 -95
  462. package/studio/server/agent/notify.ts +0 -12
  463. package/studio/server/agent/prompts/anchors.test.ts +0 -70
  464. package/studio/server/agent/prompts/anchors.ts +0 -153
  465. package/studio/server/agent/prompts/ask.ts +0 -34
  466. package/studio/server/agent/prompts/system.test.ts +0 -13
  467. package/studio/server/agent/prompts/system.ts +0 -99
  468. package/studio/server/agent/prompts/turn.ts +0 -66
  469. package/studio/server/agent/routes.test.ts +0 -176
  470. package/studio/server/agent/routes.ts +0 -214
  471. package/studio/server/agent/run/completion.ts +0 -193
  472. package/studio/server/agent/run/coordinator.test.ts +0 -337
  473. package/studio/server/agent/run/coordinator.ts +0 -104
  474. package/studio/server/agent/run/live-state.ts +0 -73
  475. package/studio/server/agent/run/preparation.ts +0 -163
  476. package/studio/server/agent/run/transcript.test.ts +0 -81
  477. package/studio/server/agent/run/transcript.ts +0 -196
  478. package/studio/server/agent/run/usage.test.ts +0 -70
  479. package/studio/server/agent/run/usage.ts +0 -62
  480. package/studio/server/agent/stream.ts +0 -37
  481. package/studio/server/agent/telemetry.ts +0 -13
  482. package/studio/server/api/canvas.ts +0 -43
  483. package/studio/server/api/comments.ts +0 -85
  484. package/studio/server/api/context.ts +0 -61
  485. package/studio/server/api/deployment.ts +0 -39
  486. package/studio/server/api/documents.ts +0 -55
  487. package/studio/server/api/domain.ts +0 -59
  488. package/studio/server/api/http.ts +0 -45
  489. package/studio/server/api/project.ts +0 -57
  490. package/studio/server/api/schema.ts +0 -12
  491. package/studio/server/api/views.ts +0 -57
  492. package/studio/server/api/workspace.ts +0 -60
  493. package/studio/server/api-agent-loadout.test.ts +0 -69
  494. package/studio/server/api.test.ts +0 -147
  495. package/studio/server/api.ts +0 -34
  496. package/studio/server/cache.test.ts +0 -122
  497. package/studio/server/cache.ts +0 -303
  498. package/studio/server/cli-consumers.test.ts +0 -494
  499. package/studio/server/cli.test.ts +0 -88
  500. package/studio/server/cli.ts +0 -240
  501. package/studio/server/client-package.test.ts +0 -147
  502. package/studio/server/client-package.ts +0 -266
  503. package/studio/server/detect.ts +0 -81
  504. package/studio/server/domain.test.ts +0 -77
  505. package/studio/server/domain.ts +0 -124
  506. package/studio/server/environment/dotenv-preview.test.ts +0 -39
  507. package/studio/server/environment/dotenv-preview.ts +0 -27
  508. package/studio/server/environment/files.test.ts +0 -53
  509. package/studio/server/environment/files.ts +0 -120
  510. package/studio/server/handoff/copy.ts +0 -171
  511. package/studio/server/handoff/service.test.ts +0 -22
  512. package/studio/server/handoff/service.ts +0 -62
  513. package/studio/server/index.ts +0 -148
  514. package/studio/server/instances/active.ts +0 -72
  515. package/studio/server/instances/deploy-record.test.ts +0 -31
  516. package/studio/server/instances/deploy-record.ts +0 -37
  517. package/studio/server/instances/deploy.ts +0 -56
  518. package/studio/server/instances/probe.test.ts +0 -67
  519. package/studio/server/instances/probe.ts +0 -67
  520. package/studio/server/instances/status.test.ts +0 -12
  521. package/studio/server/instances/status.ts +0 -49
  522. package/studio/server/introspect/anatomy/client-tree.ts +0 -57
  523. package/studio/server/introspect/anatomy/env-fields.ts +0 -66
  524. package/studio/server/introspect/anatomy/schema-definition.ts +0 -53
  525. package/studio/server/introspect/anatomy/source.ts +0 -181
  526. package/studio/server/introspect/anatomy/views/routes.ts +0 -114
  527. package/studio/server/introspect/anatomy/views.ts +0 -53
  528. package/studio/server/introspect/anatomy-extras.test.ts +0 -265
  529. package/studio/server/introspect/anatomy-extras.ts +0 -10
  530. package/studio/server/introspect/anatomy.test.ts +0 -41
  531. package/studio/server/introspect/anatomy.ts +0 -147
  532. package/studio/server/introspect/bundle.ts +0 -69
  533. package/studio/server/introspect/canonical-schema.test.ts +0 -179
  534. package/studio/server/introspect/canonical-schema.ts +0 -583
  535. package/studio/server/introspect/config-preview.test.ts +0 -32
  536. package/studio/server/introspect/config-preview.ts +0 -119
  537. package/studio/server/introspect/core-extractor.ts +0 -30
  538. package/studio/server/introspect/core.ts +0 -45
  539. package/studio/server/introspect/diff.test.ts +0 -124
  540. package/studio/server/introspect/diff.ts +0 -316
  541. package/studio/server/introspect/extractor.ts +0 -41
  542. package/studio/server/introspect/hash.ts +0 -24
  543. package/studio/server/introspect/overlay-tsmorph.test.ts +0 -146
  544. package/studio/server/introspect/overlay-tsmorph.ts +0 -9
  545. package/studio/server/introspect/overlay.test.ts +0 -44
  546. package/studio/server/introspect/overlay.ts +0 -40
  547. package/studio/server/introspect/revision.test.ts +0 -54
  548. package/studio/server/introspect/revision.ts +0 -49
  549. package/studio/server/introspect/runtime.test.ts +0 -157
  550. package/studio/server/introspect/runtime.ts +0 -140
  551. package/studio/server/introspect/schema-ir-json.test.ts +0 -70
  552. package/studio/server/introspect/schema-ir-json.ts +0 -151
  553. package/studio/server/introspect/schema-refs.test.ts +0 -55
  554. package/studio/server/introspect/schema-refs.ts +0 -32
  555. package/studio/server/introspect/source-overlay/annotations.ts +0 -14
  556. package/studio/server/introspect/source-overlay/handlers.ts +0 -161
  557. package/studio/server/introspect/source-overlay/kernel-calls.ts +0 -46
  558. package/studio/server/introspect/source-overlay/project.ts +0 -248
  559. package/studio/server/introspect/source-overlay/spans.ts +0 -330
  560. package/studio/server/json.ts +0 -46
  561. package/studio/server/lifecycle.ts +0 -42
  562. package/studio/server/sse.test.ts +0 -26
  563. package/studio/server/sse.ts +0 -60
  564. package/studio/server/state/baseline.test.ts +0 -267
  565. package/studio/server/state/baseline.ts +0 -354
  566. package/studio/server/state/comments.test.ts +0 -94
  567. package/studio/server/state/comments.ts +0 -484
  568. package/studio/server/state/context.ts +0 -199
  569. package/studio/server/state/documents.ts +0 -111
  570. package/studio/server/state/integrations.ts +0 -81
  571. package/studio/server/state/layout.test.ts +0 -34
  572. package/studio/server/state/layout.ts +0 -82
  573. package/studio/server/state/settings.test.ts +0 -78
  574. package/studio/server/state/settings.ts +0 -73
  575. package/studio/server/state/store.test.ts +0 -122
  576. package/studio/server/state/store.ts +0 -146
  577. package/studio/server/state/visibility.ts +0 -48
  578. package/studio/server/views/model.test.ts +0 -57
  579. package/studio/server/views/model.ts +0 -66
  580. package/studio/server/views/runtime.ts +0 -40
  581. package/studio/server/views/selection-repository.test.ts +0 -31
  582. package/studio/server/views/selection-repository.ts +0 -60
  583. package/studio/server/views/session.test.ts +0 -73
  584. package/studio/server/views/session.ts +0 -166
  585. package/studio/server/views/target.test.ts +0 -78
  586. package/studio/server/views/target.ts +0 -222
  587. package/studio/server/watch.test.ts +0 -36
  588. package/studio/server/watch.ts +0 -93
  589. package/studio/server/workspace/catalog.test.ts +0 -17
  590. package/studio/server/workspace/catalog.ts +0 -43
  591. package/studio/server/workspace/create.test.ts +0 -37
  592. package/studio/server/workspace/create.ts +0 -162
  593. package/studio/server/workspace/git.ts +0 -75
  594. package/studio/server/workspace/updates.ts +0 -83
  595. package/studio/server/workspace-state.ts +0 -26
  596. package/studio/server/workspace-watch.ts +0 -106
  597. package/studio/shared/agent-effort.test.ts +0 -12
  598. package/studio/shared/agent-effort.ts +0 -15
  599. package/studio/shared/agent-models.test.ts +0 -9
  600. package/studio/shared/agent-models.ts +0 -14
  601. package/studio/shared/contracts/README.md +0 -16
  602. package/studio/shared/contracts/agent.ts +0 -270
  603. package/studio/shared/contracts/runtime.ts +0 -50
  604. package/studio/shared/contracts/schema.ts +0 -393
  605. package/studio/shared/contracts/surface.test.ts +0 -317
  606. package/studio/shared/contracts/workspace.ts +0 -265
  607. package/studio/shared/layout.test.ts +0 -116
  608. package/studio/shared/schema/identity.test.ts +0 -34
  609. package/studio/shared/schema/identity.ts +0 -68
  610. package/studio/shared/settings-values.test.ts +0 -18
  611. package/studio/shared/settings-values.ts +0 -20
  612. package/studio/shared/types.ts +0 -14
  613. package/studio/tsconfig.json +0 -23
  614. package/tsconfig.json +0 -14
  615. package/viewer/dist/index.html +0 -93
  616. package/viewer/dist/main.js +0 -76
  617. package/viewer/tsconfig.json +0 -13
@@ -1,265 +0,0 @@
1
- /**
2
- * Shared workspace and persisted-state contracts.
3
- *
4
- * This module owns the JSON shapes written below `.domain-studio/` and the
5
- * workspace summaries derived around them. Server stores consume these types;
6
- * they do not redeclare the persisted state.
7
- */
8
-
9
- import type { SchemaRevision } from './schema'
10
-
11
- /** A kernel instance the CLI knows about (a local bookmark or an admin-managed one). */
12
- export interface InstanceInfo {
13
- name: string
14
- url: string
15
- active: boolean
16
- kind: 'bookmark' | 'managed'
17
- }
18
-
19
- /** Global (NOT per-domain) — the CLI's instances + which is active. Source of truth: `astrale instance list`. */
20
- export interface InstancesState {
21
- active: string | null
22
- instances: InstanceInfo[]
23
- }
24
-
25
- /** What the studio recorded the last time it ran a deploy for this domain. */
26
- export interface DeployRecord {
27
- at: string
28
- /** UI/cache fingerprint recorded by Studio; not a canonical schema revision. */
29
- renderFingerprint: string
30
- ok: boolean
31
- url?: string
32
- }
33
-
34
- /** Per-domain deploy/install state (the active instance is global — see InstancesState). */
35
- export interface InstanceStatus {
36
- /** the domain's configured deploy target (astrale.config.ts prod.instance) */
37
- deployTarget: string | null
38
- /** has a `prod` script → deployable via `pnpm prod` */
39
- deployable: boolean
40
- /** GROUND TRUTH — queried from `astrale introspect <origin> --bundle`, not local state.
41
- * 'unknown' = the instance couldn't be reached/queried (no target, not authed, offline). */
42
- install: 'installed' | 'not-installed' | 'unknown'
43
- /** local schema vs the schema actually INSTALLED on the instance (ground truth) */
44
- drift: 'in-sync' | 'drifted' | 'unknown'
45
- /** Canonical revisions compared only after local and installed SDK admission. */
46
- localRevision: SchemaRevision | null
47
- installedRevision: SchemaRevision | null
48
- /** the studio's own last deploy — supplementary (service URL / when), not the source of truth */
49
- lastDeploy: DeployRecord | null
50
- }
51
-
52
- export interface DeployResult {
53
- ok: boolean
54
- url: string | null
55
- output: string
56
- }
57
-
58
- export type ThreadRole = 'user' | 'author'
59
- export type ThreadEntryType = 'text' | 'choice'
60
-
61
- export interface ThreadEntry {
62
- id: string
63
- role: ThreadRole
64
- type: ThreadEntryType
65
- text: string
66
- options?: string[]
67
- answer?: string | null
68
- }
69
-
70
- export type AnchorKind = 'schema' | 'section' | 'file' | 'free'
71
-
72
- export interface AnchorRef {
73
- ref: string
74
- kind: AnchorKind
75
- file?: string
76
- startLine?: number
77
- endLine?: number
78
- label?: string
79
- /** Flow-canvas coordinates for section-level canvas comments. */
80
- x?: number
81
- y?: number
82
- }
83
-
84
- export interface Comment {
85
- id: string
86
- /** annotate-compatible: array of string excerpts */
87
- anchors: string[]
88
- /** studio-only, index-aligned to `anchors` */
89
- anchorRefs: AnchorRef[]
90
- status: 'open' | 'closed'
91
- closeNote?: string
92
- thread: ThreadEntry[]
93
- createdAt: string
94
- /** derived: a thread whose first entry is role:'author' is a question */
95
- kind: 'comment' | 'question'
96
- /** set when the anchor ref no longer resolves against the current schema */
97
- orphaned?: boolean
98
- }
99
-
100
- export interface CommentStore {
101
- /** Historical annotate wire key; contains Studio's render fingerprint. */
102
- schemaVersion: string
103
- comments: Comment[]
104
- }
105
-
106
- export interface MergeResult {
107
- merged: number
108
- closed: number
109
- unknownIds: string[]
110
- schemaMismatch: boolean
111
- pastedSchemaVersion?: string
112
- }
113
-
114
- export type SchemaChangeKind =
115
- | 'schema-metadata-changed'
116
- | 'import-added'
117
- | 'import-removed'
118
- | 'import-changed'
119
- | 'class-added'
120
- | 'class-removed'
121
- | 'class-contract-changed'
122
- | 'edge-added'
123
- | 'edge-removed'
124
- | 'edge-contract-changed'
125
- | 'definition-metadata-changed'
126
- | 'prop-added'
127
- | 'prop-removed'
128
- | 'prop-type-changed'
129
- | 'prop-schema-changed'
130
- | 'prop-required-changed'
131
- | 'method-added'
132
- | 'method-removed'
133
- | 'method-signature-changed'
134
- | 'method-metadata-changed'
135
- | 'function-added'
136
- | 'function-removed'
137
- | 'function-signature-changed'
138
- | 'function-metadata-changed'
139
- | 'view-added'
140
- | 'view-removed'
141
- | 'view-changed'
142
- | 'view-metadata-changed'
143
- | 'policy-added'
144
- | 'policy-removed'
145
- | 'policy-changed'
146
- | 'dependency-added'
147
- | 'dependency-removed'
148
- | 'dependency-changed'
149
- | 'core-changed'
150
-
151
- export interface SchemaChange {
152
- kind: SchemaChangeKind
153
- target: string
154
- detail?: string
155
- }
156
-
157
- export interface FileChange {
158
- file: string
159
- status: 'added' | 'modified' | 'removed'
160
- }
161
-
162
- export interface ChangeSet {
163
- source: 'baseline' | 'git'
164
- hasGit: boolean
165
- hasBaseline: boolean
166
- schemaChanges: SchemaChange[]
167
- fileChanges: FileChange[]
168
- schemaDiffText?: string
169
- /** Describes Studio-observed structure only; never a Runtime migration verdict. */
170
- structuralStatus: 'none' | 'changed'
171
- baselineRevision?: SchemaRevision
172
- currentRevision?: SchemaRevision
173
- baselineCapturedAt?: string
174
- }
175
-
176
- export interface ContextItem {
177
- id: string
178
- bucket: 'user' | 'auto'
179
- title: string
180
- body: string
181
- source?: string
182
- updatedAt: string
183
- /** auto items: included in the copy payload only when true */
184
- includeInHandoff?: boolean
185
- freshness?: string
186
- }
187
-
188
- export interface ContextStore {
189
- user: ContextItem[]
190
- auto: ContextItem[]
191
- }
192
-
193
- /** A document the user drops in as context for the AI agent. */
194
- export interface DocMeta {
195
- id: string
196
- name: string
197
- type: string
198
- size: number
199
- addedAt: string
200
- updatedAt?: string
201
- /** relative path under the dotted folder (server-side) */
202
- stored: string
203
- }
204
-
205
- export interface Integration {
206
- id: string
207
- name: string
208
- kind: string
209
- status: 'planned' | 'active' | 'deprecated' | string
210
- notes?: string
211
- }
212
-
213
- export interface IntegrationsState {
214
- integrations: Integration[]
215
- detectedSubfolders: string[]
216
- }
217
-
218
- /** A domain in the catalog — local to this workspace, a faked external service, or the kernel. */
219
- export interface DomainCatalogEntry {
220
- origin: string
221
- name: string
222
- kind: 'kernel' | 'local' | 'external'
223
- description: string
224
- /** raw lucide-style SVG icon (stroke="currentColor") */
225
- icon: string
226
- /** kernel is always present + required */
227
- required?: boolean
228
- }
229
-
230
- export interface DomainSummary {
231
- id: string
232
- origin: string
233
- path: string
234
- schemaDir: string
235
- depsInstalled: boolean
236
- hasGit: boolean
237
- configFile: string
238
- }
239
-
240
- export interface CopyPayload {
241
- markdown: string
242
- openComments: number
243
- }
244
-
245
- export interface NodePosition {
246
- x: number
247
- y: number
248
- /** persisted size — only expanded module containers carry one. */
249
- w?: number
250
- h?: number
251
- }
252
-
253
- /** Persisted manual graph layout. This is the sole authority for its JSON shape. */
254
- export interface LayoutState {
255
- renderFingerprint?: string
256
- positions: Record<string, NodePosition>
257
- }
258
-
259
- /** Persisted per-domain canvas visibility. This is the sole authority for its JSON shape. */
260
- export interface VisibilityState {
261
- /** Refs hidden on the canvas: `class.X` | `edge.X` | `domain.<origin>`. */
262
- hidden: Record<string, true>
263
- /** Whether local Class inheritance edges are rendered. */
264
- showInheritedEdges: boolean
265
- }
@@ -1,116 +0,0 @@
1
- import { expect, test } from 'bun:test'
2
- import { readdirSync, readFileSync, statSync } from 'node:fs'
3
- import { dirname, join, relative, resolve } from 'node:path'
4
-
5
- const STUDIO_ROOT = resolve(import.meta.dir, '..')
6
- const CLIENT_ROOT = join(STUDIO_ROOT, 'client', 'src')
7
- const SERVER_ROOT = join(STUDIO_ROOT, 'server')
8
- const SHARED_ROOT = join(STUDIO_ROOT, 'shared')
9
- const STATE_ROOT = join(SERVER_ROOT, 'state')
10
-
11
- function productionFiles(dir: string): string[] {
12
- return readdirSync(dir)
13
- .flatMap((entry) => {
14
- const path = join(dir, entry)
15
- if (statSync(path).isDirectory()) return productionFiles(path)
16
- if (!/\.(?:ts|tsx)$/.test(path) || /\.test\.(?:ts|tsx)$/.test(path)) return []
17
- return [path]
18
- })
19
- .sort()
20
- }
21
-
22
- const files = [
23
- ...productionFiles(CLIENT_ROOT),
24
- ...productionFiles(SERVER_ROOT),
25
- ...productionFiles(SHARED_ROOT),
26
- ]
27
- const fileSet = new Set(files)
28
-
29
- function resolveLocalImport(file: string, specifier: string): string | null {
30
- const target = specifier.startsWith('@/')
31
- ? join(CLIENT_ROOT, specifier.slice(2))
32
- : specifier.startsWith('@shared/')
33
- ? join(SHARED_ROOT, specifier.slice('@shared/'.length))
34
- : specifier.startsWith('.')
35
- ? resolve(dirname(file), specifier)
36
- : null
37
- if (!target) return null
38
- for (const candidate of [
39
- target,
40
- `${target}.ts`,
41
- `${target}.tsx`,
42
- join(target, 'index.ts'),
43
- join(target, 'index.tsx'),
44
- ]) {
45
- if (fileSet.has(candidate)) return candidate
46
- }
47
- return null
48
- }
49
-
50
- function imports(file: string): string[] {
51
- const source = readFileSync(file, 'utf8')
52
- const found: string[] = []
53
- const pattern = /(?:from\s+|import\s*(?:\(\s*)?)['"]([^'"]+)['"]\s*\)?|import\s+['"]([^'"]+)['"]/g
54
- for (const match of source.matchAll(pattern)) {
55
- const target = resolveLocalImport(file, match[1] ?? match[2])
56
- if (target) found.push(target)
57
- }
58
- return found
59
- }
60
-
61
- const studioPath = (file: string) => relative(STUDIO_ROOT, file).replaceAll('\\', '/')
62
-
63
- test('Studio production modules form an acyclic dependency graph', () => {
64
- const graph = new Map(files.map((file) => [file, imports(file)]))
65
- const visiting = new Set<string>()
66
- const visited = new Set<string>()
67
- const stack: string[] = []
68
- const cycles: string[][] = []
69
-
70
- const visit = (file: string) => {
71
- if (visiting.has(file)) {
72
- const start = stack.indexOf(file)
73
- cycles.push([...stack.slice(start), file].map(studioPath))
74
- return
75
- }
76
- if (visited.has(file)) return
77
- visiting.add(file)
78
- stack.push(file)
79
- for (const dependency of graph.get(file) ?? []) visit(dependency)
80
- stack.pop()
81
- visiting.delete(file)
82
- visited.add(file)
83
- }
84
-
85
- for (const file of files) visit(file)
86
- expect(cycles).toEqual([])
87
- })
88
-
89
- test('production boundaries keep client/shared out of server and shared out of client', () => {
90
- const violations = files.flatMap((file) =>
91
- imports(file)
92
- .filter(
93
- (dependency) =>
94
- (dependency.startsWith(SERVER_ROOT) &&
95
- (file.startsWith(CLIENT_ROOT) || file.startsWith(SHARED_ROOT))) ||
96
- (file.startsWith(SHARED_ROOT) && dependency.startsWith(CLIENT_ROOT)),
97
- )
98
- .map((dependency) => `${studioPath(file)} -> ${studioPath(dependency)}`),
99
- )
100
- expect(violations).toEqual([])
101
- })
102
-
103
- test('state repositories do not depend on workflow modules', () => {
104
- const workflowRoots = ['api', 'environment', 'handoff', 'instances', 'views', 'workspace'].map(
105
- (directory) => join(SERVER_ROOT, directory),
106
- )
107
- const edges = files
108
- .filter((file) => file.startsWith(STATE_ROOT))
109
- .flatMap((file) =>
110
- imports(file)
111
- .filter((dependency) => workflowRoots.some((root) => dependency.startsWith(root)))
112
- .map((dependency) => `${studioPath(file)} -> ${studioPath(dependency)}`),
113
- )
114
-
115
- expect(edges).toEqual([])
116
- })
@@ -1,34 +0,0 @@
1
- import { describe, expect, test } from 'bun:test'
2
-
3
- import {
4
- classRefKey,
5
- isIrClassRef,
6
- isIrSchemaRef,
7
- parseClassRefKey,
8
- parseSchemaRefKey,
9
- schemaRefKey,
10
- } from './identity'
11
-
12
- describe('schema identity', () => {
13
- test('round-trips exact Class identity', () => {
14
- const ref = { origin: 'docs.example.dev', kind: 'class' as const, name: 'Document' }
15
- expect(classRefKey(ref)).toBe('docs.example.dev:class.Document')
16
- expect(parseClassRefKey(classRefKey(ref))).toEqual(ref)
17
- expect(isIrClassRef(ref)).toBe(true)
18
- })
19
-
20
- test('preserves all supported schema reference kinds', () => {
21
- const ref = { origin: 'docs.example.dev', kind: 'function' as const, name: 'search' }
22
- expect(schemaRefKey(ref)).toBe('docs.example.dev:function.search')
23
- expect(parseSchemaRefKey(schemaRefKey(ref))).toEqual(ref)
24
- expect(isIrSchemaRef(ref)).toBe(true)
25
- })
26
-
27
- test('rejects removed Interface coordinates and malformed keys', () => {
28
- expect(isIrSchemaRef({ origin: 'docs.example.dev', kind: 'interface', name: 'Named' })).toBe(
29
- false,
30
- )
31
- expect(parseSchemaRefKey('docs.example.dev:interface.Named')).toBeUndefined()
32
- expect(parseClassRefKey('docs.example.dev:function.search')).toBeUndefined()
33
- })
34
- })
@@ -1,68 +0,0 @@
1
- /**
2
- * Canonical Studio identity for DomainSchema references.
3
- *
4
- * These helpers validate and encode only the structural wire coordinate. SDK
5
- * admission remains the authority for whether a reference is semantically valid.
6
- */
7
-
8
- export const IR_SCHEMA_REF_KINDS = ['class', 'function', 'policy', 'view', 'core'] as const
9
-
10
- export type IrSchemaRefKind = (typeof IR_SCHEMA_REF_KINDS)[number]
11
-
12
- /** Exact structural coordinate embedded in a canonical DomainSchema V1 root. */
13
- export interface IrSchemaRef {
14
- origin: string
15
- kind: IrSchemaRefKind
16
- name: string
17
- }
18
-
19
- /** Canonical DSL key for a schema member: `origin:kind.name`. */
20
- export type IrSchemaKey = `${string}:${IrSchemaRefKind}.${string}`
21
-
22
- export type IrClassRef = Omit<IrSchemaRef, 'kind'> & { kind: 'class' }
23
-
24
- export type IrClassKey = `${string}:class.${string}`
25
-
26
- const schemaKinds = new Set<string>(IR_SCHEMA_REF_KINDS)
27
- const schemaKeyPattern = /^(.+):(class|function|policy|view|core)\.(.+)$/
28
-
29
- /** Structural guard only; it deliberately does not perform SDK admission. */
30
- export function isIrSchemaRef(value: unknown): value is IrSchemaRef {
31
- if (!value || typeof value !== 'object') return false
32
- const ref = value as Partial<IrSchemaRef>
33
- return (
34
- typeof ref.origin === 'string' &&
35
- typeof ref.name === 'string' &&
36
- typeof ref.kind === 'string' &&
37
- schemaKinds.has(ref.kind)
38
- )
39
- }
40
-
41
- export function isIrClassRef(value: unknown): value is IrClassRef {
42
- return isIrSchemaRef(value) && value.kind === 'class'
43
- }
44
-
45
- export function schemaRefKey(ref: IrSchemaRef): IrSchemaKey {
46
- return `${ref.origin}:${ref.kind}.${ref.name}`
47
- }
48
-
49
- export function classRefKey(ref: IrClassRef): IrClassKey {
50
- return `${ref.origin}:${ref.kind}.${ref.name}`
51
- }
52
-
53
- /** Parse a canonical key without asserting that the referenced member exists. */
54
- export function parseSchemaRefKey(value: unknown): IrSchemaRef | undefined {
55
- if (typeof value !== 'string') return undefined
56
- const match = schemaKeyPattern.exec(value)
57
- if (!match) return undefined
58
- return {
59
- origin: match[1],
60
- kind: match[2] as IrSchemaRefKind,
61
- name: match[3],
62
- }
63
- }
64
-
65
- export function parseClassRefKey(value: unknown): IrClassRef | undefined {
66
- const ref = parseSchemaRefKey(value)
67
- return ref && isIrClassRef(ref) ? ref : undefined
68
- }
@@ -1,18 +0,0 @@
1
- import { expect, test } from 'bun:test'
2
-
3
- import { parseStudioNumericSetting } from './settings-values'
4
-
5
- test('accepts bounded integer Studio timing settings', () => {
6
- expect(parseStudioNumericSetting('instancePollMs', '1000')).toBe(1000)
7
- expect(parseStudioNumericSetting('instancePollMs', 3_600_000)).toBe(3_600_000)
8
- })
9
-
10
- test('rejects blank, fractional, non-finite, and out-of-range Studio timing settings', () => {
11
- expect(parseStudioNumericSetting('instancePollMs', '')).toBeNull()
12
- expect(parseStudioNumericSetting('instancePollMs', 999)).toBeNull()
13
- expect(parseStudioNumericSetting('instancePollMs', 1_000.5)).toBeNull()
14
- expect(parseStudioNumericSetting('instancePollMs', Number.POSITIVE_INFINITY)).toBeNull()
15
- expect(parseStudioNumericSetting('instancePollMs', 3_600_001)).toBeNull()
16
- expect(parseStudioNumericSetting('instancePollMs', [1_000])).toBeNull()
17
- expect(parseStudioNumericSetting('instancePollMs', { valueOf: () => 1_000 })).toBeNull()
18
- })
@@ -1,20 +0,0 @@
1
- export const STUDIO_NUMERIC_LIMITS = {
2
- introspectTimeoutMs: { min: 250, max: 300_000 },
3
- instancePollMs: { min: 1_000, max: 3_600_000 },
4
- updatesPollMs: { min: 10_000, max: 86_400_000 },
5
- viewProbeTimeoutMs: { min: 250, max: 120_000 },
6
- } as const
7
-
8
- export type NumericStudioSetting = keyof typeof STUDIO_NUMERIC_LIMITS
9
-
10
- /** Parse one user/disk numeric setting without permitting destructive intervals. */
11
- export function parseStudioNumericSetting(
12
- key: NumericStudioSetting,
13
- value: unknown,
14
- ): number | null {
15
- if (typeof value !== 'number' && typeof value !== 'string') return null
16
- if (typeof value === 'string' && !value.trim()) return null
17
- const parsed = typeof value === 'number' ? value : Number(value)
18
- const { min, max } = STUDIO_NUMERIC_LIMITS[key]
19
- return Number.isInteger(parsed) && parsed >= min && parsed <= max ? parsed : null
20
- }
@@ -1,14 +0,0 @@
1
- /**
2
- * Compatibility facade for the contracts shared by Studio's Bun server and
3
- * React client.
4
- *
5
- * Semantic ownership lives in `contracts/` and `schema/identity.ts`. Existing
6
- * `@shared/types` consumers intentionally keep the same public surface while
7
- * new code may import its owning contract directly.
8
- */
9
-
10
- export * from './schema/identity'
11
- export * from './contracts/schema'
12
- export * from './contracts/workspace'
13
- export * from './contracts/agent'
14
- export * from './contracts/runtime'
@@ -1,23 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "target": "ESNext",
4
- "module": "ESNext",
5
- "moduleResolution": "bundler",
6
- "lib": ["ESNext", "DOM", "DOM.Iterable"],
7
- "jsx": "react-jsx",
8
- "strict": true,
9
- "noUnusedLocals": false,
10
- "noUnusedParameters": false,
11
- "esModuleInterop": true,
12
- "skipLibCheck": true,
13
- "allowImportingTsExtensions": true,
14
- "verbatimModuleSyntax": false,
15
- "noEmit": true,
16
- "types": ["bun-types", "node"],
17
- "paths": {
18
- "@/*": ["./client/src/*"],
19
- "@shared/*": ["./shared/*"]
20
- }
21
- },
22
- "include": ["server", "shared", "client/src", "e2e", "playwright.config.ts", "vite.config.ts"]
23
- }
package/tsconfig.json DELETED
@@ -1,14 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "target": "ESNext",
4
- "module": "ESNext",
5
- "moduleResolution": "bundler",
6
- "esModuleInterop": true,
7
- "strict": true,
8
- "skipLibCheck": true,
9
- "noEmit": true,
10
- "types": ["@types/bun", "@types/node"]
11
- },
12
- "include": ["bin", "src"],
13
- "exclude": ["templates", "**/__tests__/**", "src/lib/view/open-intent.ts"]
14
- }
@@ -1,93 +0,0 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width, initial-scale=1" />
6
- <title>astrale view</title>
7
- <style>
8
- :root {
9
- color-scheme: dark light;
10
- }
11
- * {
12
- margin: 0;
13
- padding: 0;
14
- box-sizing: border-box;
15
- }
16
- html,
17
- body {
18
- height: 100%;
19
- }
20
- body {
21
- display: flex;
22
- flex-direction: column;
23
- font:
24
- 12px ui-monospace,
25
- SFMono-Regular,
26
- Menlo,
27
- monospace;
28
- background: #101014;
29
- color: #c8c8d0;
30
- }
31
- header {
32
- display: flex;
33
- gap: 12px;
34
- align-items: center;
35
- padding: 6px 10px;
36
- border-bottom: 1px solid #26262e;
37
- flex: none;
38
- }
39
- #status-dot {
40
- width: 8px;
41
- height: 8px;
42
- border-radius: 50%;
43
- background: #8a8a94;
44
- flex: none;
45
- }
46
- #status-dot[data-state='connected'] {
47
- background: #3fb950;
48
- }
49
- #status-dot[data-state='plain'] {
50
- background: #d29922;
51
- }
52
- #status-dot[data-state='failed'] {
53
- background: #f85149;
54
- }
55
- #view-label {
56
- font-weight: 600;
57
- color: #e8e8f0;
58
- }
59
- .dim {
60
- color: #7a7a86;
61
- }
62
- #error {
63
- display: none;
64
- padding: 10px;
65
- color: #f85149;
66
- white-space: pre-wrap;
67
- flex: none;
68
- }
69
- #frame {
70
- flex: 1;
71
- position: relative;
72
- }
73
- #frame iframe {
74
- position: absolute;
75
- inset: 0;
76
- width: 100%;
77
- height: 100%;
78
- border: 0;
79
- }
80
- </style>
81
- </head>
82
- <body>
83
- <header>
84
- <span id="status-dot" data-state="waiting"></span>
85
- <span id="view-label"></span>
86
- <span id="target-label" class="dim"></span>
87
- <span id="identity-label" class="dim" style="margin-left: auto"></span>
88
- </header>
89
- <div id="error"></div>
90
- <div id="frame"></div>
91
- <script type="module" src="./main.js"></script>
92
- </body>
93
- </html>