vibe64 0.1.26 → 0.1.28

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 (111) hide show
  1. package/dist/assets/{VRadioGroup-D6WRdUau.js → VRadioGroup-BuRMvs7d.js} +1 -1
  2. package/dist/assets/{VTabs-BGX5dGoS.js → VTabs-CQq9CAuT.js} +1 -1
  3. package/dist/assets/{VTextarea-CD6H_mtJ.js → VTextarea-Duvzvmjq.js} +1 -1
  4. package/dist/assets/{Vibe64AsyncModuleState-Cel3OePx.js → Vibe64AsyncModuleState-DuuzlJDp.js} +1 -1
  5. package/dist/assets/{Vibe64AuthSettingsButton-CMMeacsl.js → Vibe64AuthSettingsButton-CKOCL-kl.js} +1 -1
  6. package/dist/assets/{Vibe64DashboardShell-C2UhX2ke.js → Vibe64DashboardShell-DMT8aOp1.js} +1 -1
  7. package/dist/assets/{Vibe64DatabaseWorkspace-C43TE5-O.js → Vibe64DatabaseWorkspace-CqH0zfFZ.js} +1 -1
  8. package/dist/assets/{Vibe64OutputControls-BmzH2ASf.js → Vibe64OutputControls-DDILWOYb.js} +1 -1
  9. package/dist/assets/{Vibe64RepositoryWorkspace-CT9tkvHh.js → Vibe64RepositoryWorkspace-D11BZHtF.js} +1 -1
  10. package/dist/assets/Vibe64SessionFiles-BSoB7Xrs.js +1 -0
  11. package/dist/assets/{Vibe64SessionFiles-CH5PCxwg.css → Vibe64SessionFiles-DVux69YS.css} +1 -1
  12. package/dist/assets/{Vibe64SubsystemsView-DNx-pZp8.js → Vibe64SubsystemsView-tLlxmK3M.js} +1 -1
  13. package/dist/assets/{Vibe64SystemWorldView-UdNJZbqX.js → Vibe64SystemWorldView-8og8TPyL.js} +1 -1
  14. package/dist/assets/{_sessionId_-DZTmI19N.js → _sessionId_-Dts6gv4W.js} +1 -1
  15. package/dist/assets/{_sessionTool_-CugJWIK4.js → _sessionTool_-bHJUlHCW.js} +1 -1
  16. package/dist/assets/_slug_-B3fqw8Sl.js +12 -0
  17. package/dist/assets/_slug_-DfHqx2_b.css +1 -0
  18. package/dist/assets/{dashboard-D4NXqPY1.js → dashboard-CcD6GIaB.js} +1 -1
  19. package/dist/assets/{definitions-CyUCoqu-.js → definitions-ChGXm26a.js} +1 -1
  20. package/dist/assets/{error-kYKTA8fu.js → error-CStS-Kbt.js} +1 -1
  21. package/dist/assets/{index-hy7AAm-B.js → index-B262pg9q.js} +1 -1
  22. package/dist/assets/{index-DX6Rm6jZ.js → index-B_grpOta.js} +1 -1
  23. package/dist/assets/{index-Cpt19GIW.js → index-BtHA_DX9.js} +1 -1
  24. package/dist/assets/{index-SBc6H2In.js → index-C4KnwA0g.js} +4 -4
  25. package/dist/assets/{index-DeRx59Iq.js → index-CC7BFJAg.js} +1 -1
  26. package/dist/assets/{index-6Kv-7k0S.js → index-CKFrWxnr.js} +1 -1
  27. package/dist/assets/{index-BDe3NnFP.js → index-CPG-_bMW.js} +1 -1
  28. package/dist/assets/{index-CuEZOpKL.js → index-CV9pOpbQ.js} +1 -1
  29. package/dist/assets/{index-D4p1hWbM.js → index-DIQxSy1c.js} +1 -1
  30. package/dist/assets/{index-D5vnCntG.js → index-DVaJ8fEr.js} +1 -1
  31. package/dist/assets/{index-BGu7hfTb.js → index-DtGqjUin.js} +1 -1
  32. package/dist/assets/{index-Cca4WXur.js → index-YQALXwL4.js} +1 -1
  33. package/dist/assets/{placement-Nw6LF6xp.js → placement-Cyt3SnRe.js} +1 -1
  34. package/dist/assets/{studioGateApi-B2eiydiA.js → studioGateApi-BwBnOYBp.js} +1 -1
  35. package/dist/assets/{useArchivedVibe64Sessions-LeGda1Y9.js → useArchivedVibe64Sessions-_FKt1-qN.js} +1 -1
  36. package/dist/assets/{useVibe64ConversationLog-BPyKYbvH.js → useVibe64ConversationLog-BjnpqM9K.js} +1 -1
  37. package/dist/assets/{useVibe64ProjectScope-n5T5l2pY.js → useVibe64ProjectScope-DcDkjbLT.js} +1 -1
  38. package/dist/assets/{useVibe64SessionData-BToODuTg.js → useVibe64SessionData-BHLSmuPm.js} +1 -1
  39. package/dist/assets/{useVibe64SessionSelection-D1wXIWTm.js → useVibe64SessionSelection-G6KQKJxb.js} +1 -1
  40. package/dist/assets/{vibe64RepositoryRealtime-Xo7aIksE.js → vibe64RepositoryRealtime-C2WPn5do.js} +1 -1
  41. package/dist/assets/{vibe64SessionInfo-Dy_4bL3a.js → vibe64SessionInfo-8kuxgD5r.js} +1 -1
  42. package/dist/assets/{vibe64SessionPanelModel-5UED-6V-.js → vibe64SessionPanelModel-DDaXjAJ_.js} +1 -1
  43. package/dist/assets/{vibe64SessionRequestConfig-B7Llggdb.js → vibe64SessionRequestConfig-uGWcyQY6.js} +1 -1
  44. package/dist/assets/{vibe64SessionToolDefinitions-C4maKOfp.js → vibe64SessionToolDefinitions-D5CgOIqa.js} +1 -1
  45. package/dist/assets/{vueRefOrGetterValue-_KqAOFjr.js → vueRefOrGetterValue-CV9c3oBd.js} +1 -1
  46. package/dist/index.html +1 -1
  47. package/node_modules/@jskit-ai/connector-google-calendar/package.json +3 -3
  48. package/node_modules/@jskit-ai/connector-google-calendar/patterns/calendar-cli/example/package.json +4 -4
  49. package/node_modules/@jskit-ai/connectors-catalog/package.json +3 -3
  50. package/node_modules/@jskit-ai/connectors-catalog/test/dbt-semantic-layer.test.js +3 -0
  51. package/node_modules/@jskit-ai/connectors-catalog/test/google-ads.test.js +3 -0
  52. package/node_modules/@jskit-ai/connectors-catalog/test/salesforce.test.js +3 -0
  53. package/node_modules/@jskit-ai/connectors-catalog/test/xero.test.js +3 -0
  54. package/node_modules/@jskit-ai/connectors-core/package.json +4 -4
  55. package/node_modules/@jskit-ai/http-web/package.json +6 -6
  56. package/node_modules/@jskit-ai/kernel/package.json +1 -1
  57. package/node_modules/@jskit-ai/kernel/server/runtime/fastifyBootstrap.js +50 -10
  58. package/node_modules/@jskit-ai/kernel/server/runtime/fastifyBootstrap.test.js +38 -0
  59. package/node_modules/@jskit-ai/kernel/shared/support/normalize.js +8 -0
  60. package/node_modules/@jskit-ai/kernel/shared/support/normalize.test.js +10 -0
  61. package/node_modules/@jskit-ai/payments-core/package.json +1 -1
  62. package/node_modules/@jskit-ai/realtime/package.json +3 -3
  63. package/node_modules/@jskit-ai/realtime/patterns/realtime-application/example/package.json +2 -2
  64. package/node_modules/@jskit-ai/resource-core/package.json +2 -2
  65. package/node_modules/@jskit-ai/resource-crud-core/package.json +3 -3
  66. package/node_modules/@jskit-ai/shell-web/package.json +2 -2
  67. package/node_modules/@jskit-ai/uploads-runtime/package.json +2 -2
  68. package/node_modules/@local/current-app/package.json +1 -1
  69. package/node_modules/@local/main/package.json +2 -2
  70. package/node_modules/@local/studio-health/package.json +1 -1
  71. package/node_modules/@local/vibe64-accounts/package.json +3 -3
  72. package/node_modules/@local/vibe64-core/package.json +1 -1
  73. package/node_modules/@local/vibe64-database-tools/package.json +3 -3
  74. package/node_modules/@local/vibe64-project/package.json +1 -1
  75. package/node_modules/@local/vibe64-runtime/src/server/codexAppServerProvider.js +34 -0
  76. package/node_modules/@local/vibe64-sessions/package.json +1 -1
  77. package/node_modules/@local/vibe64-sessions/src/server/sessionRenewal.js +4 -1
  78. package/node_modules/@local/vibe64-source-editor/package.json +5 -5
  79. package/node_modules/@local/vibe64-system-graph/package.json +3 -3
  80. package/node_modules/@local/vibe64-terminals/package.json +2 -2
  81. package/node_modules/@local/vibe64-terminals/src/server/agent/providers/codexSessionAgentProvider.js +6 -0
  82. package/node_modules/@local/vibe64-terminals/src/server/agent/sessionAgentManager.js +16 -0
  83. package/node_modules/@local/vibe64-terminals/src/server/codexTerminal.js +180 -64
  84. package/node_modules/@local/vibe64-terminals/src/server/registerRoutes.js +12 -0
  85. package/node_modules/@local/vibe64-terminals/src/server/service.js +57 -16
  86. package/node_modules/@local/vibe64-terminals/src/server/sessionPromptHints.js +9 -1
  87. package/node_modules/@local/vibe64-terminals/src/server/sessionSaveCommitMessage.js +1 -1
  88. package/package.json +15 -15
  89. package/packages/current-app/package.json +1 -1
  90. package/packages/main/package.json +2 -2
  91. package/packages/studio-health/package.json +1 -1
  92. package/packages/vibe64-accounts/package.json +3 -3
  93. package/packages/vibe64-core/package.json +1 -1
  94. package/packages/vibe64-database-tools/package.json +3 -3
  95. package/packages/vibe64-project/package.json +1 -1
  96. package/packages/vibe64-runtime/src/server/codexAppServerProvider.js +34 -0
  97. package/packages/vibe64-sessions/package.json +1 -1
  98. package/packages/vibe64-sessions/src/server/sessionRenewal.js +4 -1
  99. package/packages/vibe64-source-editor/package.json +5 -5
  100. package/packages/vibe64-system-graph/package.json +3 -3
  101. package/packages/vibe64-terminals/package.json +2 -2
  102. package/packages/vibe64-terminals/src/server/agent/providers/codexSessionAgentProvider.js +6 -0
  103. package/packages/vibe64-terminals/src/server/agent/sessionAgentManager.js +16 -0
  104. package/packages/vibe64-terminals/src/server/codexTerminal.js +180 -64
  105. package/packages/vibe64-terminals/src/server/registerRoutes.js +12 -0
  106. package/packages/vibe64-terminals/src/server/service.js +57 -16
  107. package/packages/vibe64-terminals/src/server/sessionPromptHints.js +9 -1
  108. package/packages/vibe64-terminals/src/server/sessionSaveCommitMessage.js +1 -1
  109. package/dist/assets/Vibe64SessionFiles-BS5MW7Qz.js +0 -1
  110. package/dist/assets/_slug_-BzRzebKA.js +0 -12
  111. package/dist/assets/_slug_-Q7ibe3SE.css +0 -1
@@ -1 +1 @@
1
- @layer vuetify-components{.v-breadcrumbs{display:flex;align-items:center;line-height:1.5;padding:16px 12px}.v-breadcrumbs--rounded{border-radius:4px}.v-breadcrumbs--density-default{padding-top:16px;padding-bottom:16px}.v-breadcrumbs--density-comfortable{padding-top:12px;padding-bottom:12px}.v-breadcrumbs--density-compact{padding-top:8px;padding-bottom:8px}.v-breadcrumbs__prepend{align-items:center;display:inline-flex}.v-breadcrumbs-item{align-items:center;color:inherit;display:inline-flex;padding:0 4px;text-decoration:none;vertical-align:middle}.v-breadcrumbs-item--disabled{opacity:var(--v-disabled-opacity);pointer-events:none}.v-breadcrumbs-item--link{color:inherit;text-decoration:none}.v-breadcrumbs-item--link:hover{text-decoration:underline}.v-breadcrumbs-item .v-icon{font-size:1rem;margin-inline:-4px 2px}.v-breadcrumbs-divider{display:inline-block;padding:0 8px;vertical-align:middle}}.starred-files-list[data-v-8ce15272]{min-width:0}.starred-files-list ul[data-v-8ce15272]{margin:0;padding:0;list-style:none}.starred-files-list li[data-v-8ce15272]{display:flex;align-items:center;gap:0.25rem}.starred-files-list__open[data-v-8ce15272]{display:flex;flex:1;flex-direction:column;min-width:0;padding:0.5rem;text-align:left;border:0;background:transparent;color:inherit;font:inherit;border-radius:0.5rem}.starred-files-list__open[data-v-8ce15272]:hover:not(:disabled){background:rgba(var(--v-theme-on-surface),0.06)}.starred-files-list__open[data-v-8ce15272]:focus-visible{outline:2px solid rgb(var(--v-theme-primary));outline-offset:-2px}.starred-files-list__open strong[data-v-8ce15272]{font-size:0.875rem;font-weight:500}.starred-files-list__open span[data-v-8ce15272]{font-size:0.75rem;color:rgba(var(--v-theme-on-surface),0.7)}.starred-files-list__open strong[data-v-8ce15272],.starred-files-list__open span[data-v-8ce15272]{max-width:100%;overflow-wrap:anywhere}.starred-files-list__open[data-v-8ce15272]:disabled{opacity:0.65}.starred-files-list--compact .starred-files-list__open strong[data-v-8ce15272]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.starred-files-list__empty[data-v-8ce15272]{padding:0.5rem;margin:0;font-size:0.8125rem;color:rgba(var(--v-theme-on-surface),0.7)}.vibe64-attachment-preview[data-v-6a1bbc16]{display:block;margin:auto;max-height:70vh;max-width:100%;object-fit:contain}.vibe64-attachment-queue[data-v-295b8d25]{background:rgba(var(--v-theme-on-surface),0.035);border:1px solid rgba(var(--v-theme-outline),0.2);border-bottom:0;border-radius:14px 14px 0 0;color:rgb(var(--v-theme-on-surface));display:grid;gap:0.2rem;max-height:min(15rem,32dvh);min-width:0;overflow:hidden;padding:0.35rem 0.4rem}.vibe64-attachment-queue__summary[data-v-295b8d25],.vibe64-attachment-queue__primary[data-v-295b8d25],.vibe64-attachment-queue__secondary[data-v-295b8d25]{align-items:baseline;display:flex;gap:0.45rem;justify-content:space-between;min-width:0}.vibe64-attachment-queue--standalone[data-v-295b8d25]{border-bottom:1px solid rgba(var(--v-theme-outline),0.2);border-radius:10px}.vibe64-attachment-queue__summary[data-v-295b8d25]{color:rgba(var(--v-theme-on-surface),0.72);font-size:0.72rem;font-weight:650;line-height:1.25;padding:0 0.28rem 0.15rem}.vibe64-attachment-queue__limit[data-v-295b8d25]{flex:0 0 auto;font-variant-numeric:tabular-nums}.vibe64-attachment-queue__items[data-v-295b8d25]{display:grid;gap:0.25rem;list-style:none;margin:0;min-width:0;overflow-y:auto;padding:0}.vibe64-attachment-queue__item[data-v-295b8d25]{align-items:center;background:rgb(var(--v-theme-surface));border-radius:10px;display:grid;gap:0.4rem;grid-template-columns:auto minmax(0,1fr) auto;min-height:3rem;padding:0.28rem 0.2rem 0.28rem 0.5rem}.vibe64-attachment-queue__item--failed[data-v-295b8d25]{background:rgba(var(--v-theme-error),0.07)}.vibe64-attachment-queue__icon[data-v-295b8d25]{align-self:start;margin-top:0.3rem}.vibe64-attachment-queue__content[data-v-295b8d25]{display:grid;gap:0.1rem;min-width:0}.vibe64-attachment-queue__name[data-v-295b8d25]{background:transparent;border:0;color:inherit;padding:0;text-align:left;font-size:0.78rem;font-weight:650;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}button.vibe64-attachment-queue__name[data-v-295b8d25]{cursor:pointer}.vibe64-attachment-queue__size[data-v-295b8d25],.vibe64-attachment-queue__secondary[data-v-295b8d25],.vibe64-attachment-queue__error[data-v-295b8d25]{color:rgba(var(--v-theme-on-surface),0.68);font-size:0.68rem;line-height:1.25}.vibe64-attachment-queue__size[data-v-295b8d25]{flex:0 0 auto}.vibe64-attachment-queue__secondary[data-v-295b8d25]{font-variant-numeric:tabular-nums}.vibe64-attachment-queue__error[data-v-295b8d25]{color:rgb(var(--v-theme-error));overflow-wrap:anywhere}.vibe64-attachment-queue__progress[data-v-295b8d25]{margin-top:0.08rem}.vibe64-attachment-queue__progress--stationary[data-v-295b8d25]{background:rgba(var(--v-theme-primary),0.18);height:3px}.vibe64-attachment-queue__actions[data-v-295b8d25]{align-items:center;display:flex;flex:0 0 auto}.vibe64-attachment-queue__action[data-v-295b8d25]{min-height:2.5rem;min-width:2.5rem}.vibe64-attachment-queue__announcement[data-v-295b8d25]{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0 0 0 0)}@media(pointer:coarse){.vibe64-attachment-queue__action[data-v-295b8d25]{min-height:3rem;min-width:3rem}}@media(max-width:599px){.vibe64-attachment-queue[data-v-295b8d25]{max-height:min(13rem,30dvh)}.vibe64-attachment-queue__item[data-v-295b8d25]{gap:0.25rem;padding-left:0.4rem}}.studio-autopilot-prompt-textarea[data-v-891f780a]{box-sizing:border-box;display:grid;gap:0;max-width:100%;min-width:0;overflow:hidden;padding:0;position:relative;text-align:left;width:100%}.studio-autopilot-prompt-textarea__field[data-v-891f780a]{background:rgb(var(--v-theme-surface));border:1px solid rgba(var(--v-theme-on-surface),0.34);border-radius:18px;box-sizing:border-box;box-shadow:inset 0 0 0 1px rgba(var(--v-theme-on-surface),0.08);display:grid;max-width:100%;min-width:0;padding-top:0.01rem;transition:border-color 120ms ease,box-shadow 120ms ease}.studio-autopilot-prompt-textarea__field[data-v-891f780a]:focus-within{border-color:rgb(var(--v-theme-primary));box-shadow:0 0 0 2px rgba(var(--v-theme-primary),0.28),inset 0 0 0 1px rgba(var(--v-theme-primary),0.2)}.studio-autopilot-prompt-textarea__field--disabled[data-v-891f780a]{opacity:1}.studio-autopilot-prompt-textarea__label[data-v-891f780a]{align-self:start;background:rgb(var(--v-theme-surface));color:rgba(var(--v-theme-on-surface),0.82);font-size:0.78rem;line-height:1.1;margin:-0.5rem 0 0 0.9rem;max-width:calc(100% - 1.8rem);overflow:hidden;padding-inline:0.24rem;text-overflow:ellipsis;white-space:nowrap;width:fit-content;z-index:1}.studio-autopilot-prompt-textarea__input[data-v-891f780a]{background:transparent;border:0;box-sizing:border-box;color:rgb(var(--v-theme-on-surface));display:block;font:inherit;line-height:1.4;max-height:min(16rem,32dvh);min-height:3.55rem;min-width:0;outline:0;overflow-x:hidden;overflow-y:hidden;padding:0.5rem 1rem 0.2rem;resize:none;width:100%;word-break:break-word}.studio-autopilot-prompt-textarea__input-start[data-v-891f780a]{min-width:0;padding:0.5rem 1rem 0.08rem}.studio-autopilot-prompt-textarea--has-input-start .studio-autopilot-prompt-textarea__input[data-v-891f780a]{padding-top:0.24rem}.studio-autopilot-prompt-textarea__input[data-v-891f780a]::placeholder{color:rgba(var(--v-theme-on-surface),0.58);opacity:1}.studio-autopilot-prompt-textarea__input[data-v-891f780a]:disabled{color:rgba(var(--v-theme-on-surface),0.95);cursor:default;opacity:1;-webkit-text-fill-color:rgba(var(--v-theme-on-surface),0.95)}.studio-autopilot-prompt-textarea__input[data-v-891f780a]:disabled::placeholder{color:rgba(var(--v-theme-on-surface),0.9);opacity:1}.studio-autopilot-prompt-textarea__footer[data-v-891f780a]{min-width:0;padding:0 0.55rem 0.55rem}.studio-autopilot-prompt-textarea--compact .studio-autopilot-prompt-textarea__input[data-v-891f780a]{max-height:min(8rem,20dvh);min-height:2.5rem;padding:0.4rem 0.65rem 0.15rem}.studio-autopilot-prompt-textarea--compact .studio-autopilot-prompt-textarea__footer[data-v-891f780a]{padding:0 0.3rem 0.25rem}.studio-autopilot-prompt-textarea__details[data-v-891f780a]{color:rgba(var(--v-theme-on-surface),0.62);display:grid;font-size:0.76rem;gap:0.12rem;line-height:1.3;min-width:0;padding:0.32rem 0.75rem 0}.studio-autopilot-prompt-textarea__error[data-v-891f780a]{color:rgb(var(--v-theme-error))}.studio-autopilot-prompt-textarea--dragging[data-v-891f780a]{outline:2px dashed rgb(var(--v-theme-primary));outline-offset:4px}.studio-autopilot-prompt-textarea__file-input[data-v-891f780a]{display:none}.studio-autopilot-prompt-textarea--has-attachments .studio-autopilot-prompt-textarea__field[data-v-891f780a]{border-top-left-radius:0;border-top-right-radius:0;margin-top:-1px}code[data-v-8ab73515]{background:rgba(var(--v-theme-primary),0.07);border:1px solid rgba(var(--v-theme-primary),0.14);border-radius:3px;color:rgba(var(--v-theme-on-surface),0.9);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size:0.9em;overflow-wrap:anywhere;padding:0.02rem 0.2rem;word-break:break-word}span[data-v-8ab73515],strong[data-v-8ab73515],a[data-v-8ab73515]{overflow-wrap:anywhere;word-break:break-word}.studio-long-text-review__blocks[data-v-ca244d36]{color:rgb(var(--v-theme-on-surface));display:grid;gap:0.36rem;line-height:1.4;max-width:100%;min-width:0;overflow-wrap:anywhere;word-break:break-word}.studio-long-text-review__blocks--compact[data-v-ca244d36]{gap:0.24rem;line-height:1.28}.studio-long-text-review__heading[data-v-ca244d36]{font-weight:760;letter-spacing:0;line-height:1.15;margin:0;overflow-wrap:anywhere;word-break:break-word}h3.studio-long-text-review__heading[data-v-ca244d36]{font-size:1.1rem}h4.studio-long-text-review__heading[data-v-ca244d36]{font-size:0.98rem}h5.studio-long-text-review__heading[data-v-ca244d36]{font-size:0.9rem}.studio-long-text-review__paragraph[data-v-ca244d36]{font-size:0.88rem;margin:0;overflow-wrap:anywhere;word-break:break-word}.studio-long-text-review__blocks--compact .studio-long-text-review__paragraph[data-v-ca244d36]{font-size:0.8rem}.studio-long-text-review__list[data-v-ca244d36]{display:grid;gap:0.16rem;margin:0;min-width:0;overflow-wrap:anywhere;padding-inline-start:1.3rem}.studio-long-text-review__list li[data-v-ca244d36]{font-size:0.92rem;line-height:1.36;min-width:0;overflow-wrap:anywhere;padding-inline-start:0.1rem;word-break:break-word}.studio-long-text-review__blocks--compact .studio-long-text-review__list li[data-v-ca244d36]{font-size:0.8rem}.studio-long-text-review__code[data-v-ca244d36]{background:rgba(var(--v-theme-surface-variant),0.58);border:1px solid rgba(var(--v-border-color),0.26);border-radius:8px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size:0.82rem;line-height:1.36;margin:0;max-width:100%;min-width:0;overflow:auto;padding:0.46rem 0.55rem;white-space:pre}.studio-long-text-review__table-wrap[data-v-ca244d36]{border:1px solid rgba(var(--v-border-color),0.28);border-radius:8px;inline-size:fit-content;margin-block:0.35rem;max-width:100%;min-width:0;overflow:auto}.studio-long-text-review__table-wrap[data-v-ca244d36]:focus-visible{outline:2px solid rgb(var(--v-theme-primary));outline-offset:-2px}.studio-long-text-review__table[data-v-ca244d36]{border-collapse:separate;border-spacing:0;font-size:0.88rem;inline-size:auto;line-height:1.45;overflow-wrap:break-word;word-break:normal}.studio-long-text-review__table th[data-v-ca244d36],.studio-long-text-review__table td[data-v-ca244d36]{border-bottom:1px solid rgba(var(--v-border-color),0.22);max-inline-size:28rem;padding:0.55rem 0.75rem;text-align:left;vertical-align:top}.studio-long-text-review__table th[data-v-ca244d36]{background:rgba(var(--v-theme-surface-variant),0.48);color:rgb(var(--v-theme-on-surface));font-weight:760;position:sticky;top:0;z-index:1}.studio-long-text-review__table tbody tr:last-child td[data-v-ca244d36]{border-bottom:0}.studio-long-text-review__table[data-v-ca244d36] span,.studio-long-text-review__table[data-v-ca244d36] strong,.studio-long-text-review__table[data-v-ca244d36] a,.studio-long-text-review__table[data-v-ca244d36] code{overflow-wrap:break-word;word-break:normal}.studio-long-text-review__table-cell--right[data-v-ca244d36]{font-variant-numeric:tabular-nums;text-align:right!important}.studio-long-text-review__table-cell--center[data-v-ca244d36]{text-align:center!important}.studio-long-text-review__details[data-v-ca244d36]{border:1px solid rgba(var(--v-border-color),0.34);border-radius:8px;display:block;min-width:0;overflow:hidden}.studio-long-text-review__details-summary[data-v-ca244d36]{background:rgba(var(--v-theme-surface-variant),0.48);cursor:pointer;font-size:0.82rem;font-weight:650;line-height:1.2;list-style-position:inside;padding:0.42rem 0.55rem}.studio-long-text-review__details-body[data-v-ca244d36]{padding:0.5rem 0.6rem 0.58rem}.vibe64-conversation-progress[data-v-87423c09]{color:rgba(var(--v-theme-on-surface),0.58);display:grid;font-size:0.78rem;gap:0.18rem;line-height:1.42;min-width:0;overflow-wrap:anywhere}.vibe64-conversation-progress__message[data-v-87423c09]{white-space:pre-wrap}.vibe64-conversation-progress__toggle[data-v-87423c09]{background:transparent;border:0;color:rgb(var(--v-theme-primary));cursor:pointer;font:inherit;justify-self:start;padding:0.12rem 0;text-align:left}.vibe64-conversation-progress__toggle[data-v-87423c09]:hover{text-decoration:underline}.vibe64-conversation-progress__toggle[data-v-87423c09]:focus-visible{outline:2px solid rgb(var(--v-theme-primary));outline-offset:2px}@media(pointer:coarse){.vibe64-conversation-progress__toggle[data-v-87423c09]{min-height:3rem}}.vibe64-conversation-attachments[data-v-b26baf0f]{display:grid;gap:0.35rem;list-style:none;margin:0;max-width:100%;padding:0;width:min(19rem,100%)}.vibe64-conversation-attachments__item[data-v-b26baf0f]{align-items:center;background:rgba(var(--v-theme-surface),0.82);border:1px solid rgba(var(--v-theme-outline),0.2);border-radius:10px;color:rgb(var(--v-theme-on-surface));min-height:2.8rem;min-width:0;padding:0.42rem 0.65rem}.vibe64-conversation-attachments__icon[data-v-b26baf0f]{color:rgb(var(--v-theme-primary))}.vibe64-conversation-attachments__details[data-v-b26baf0f]{display:grid;min-width:0}.vibe64-conversation-attachments__open[data-v-b26baf0f]{align-items:center;background:transparent;border:0;color:inherit;gap:0.55rem;grid-template-columns:auto minmax(0,1fr);padding:0;text-align:left;display:grid;min-width:0;width:100%}.vibe64-conversation-attachments__name[data-v-b26baf0f]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vibe64-conversation-attachments__size[data-v-b26baf0f]{color:rgba(var(--v-theme-on-surface),0.62)}.studio-conversation-log[data-v-54776e37]{border:1px solid rgba(var(--v-theme-outline),0.24);border-radius:8px;display:grid;gap:0.35rem;grid-template-rows:minmax(0,1fr);min-height:0;overflow:hidden;padding:0.5rem;position:relative;text-align:left}.studio-conversation-log__loading-skeleton[data-v-54776e37]{top:0;right:0;bottom:0;left:0;overflow:hidden;position:absolute;z-index:1}.studio-conversation-log__settling[data-v-54776e37]{background:rgb(var(--v-theme-surface));top:0;right:0;bottom:0;left:0;overflow:hidden;padding:0.5rem;position:absolute;z-index:1}.studio-conversation-log__settling-skeleton[data-v-54776e37]{height:100%}.studio-conversation-log__reload[data-v-54776e37]{color:rgba(var(--v-theme-on-surface),0.66);position:absolute;right:0.38rem;top:0.38rem;z-index:2}.studio-conversation-log__body[data-v-54776e37]{display:flex;flex-direction:column;gap:0.65rem;min-height:0;min-width:0;overflow-x:hidden;overflow-y:auto;padding-right:0.15rem}.studio-conversation-log__welcome[data-v-54776e37]{background:rgba(var(--v-theme-primary),0.08);border:1px solid rgba(var(--v-theme-primary),0.18);border-radius:16px;color:rgb(var(--v-theme-on-surface));display:grid;flex:0 0 auto;gap:0.55rem;margin:0.1rem 0.15rem 0;padding:0.8rem 0.9rem 0.9rem}.studio-conversation-log__welcome p[data-v-54776e37]{line-height:1.48;margin:0}.studio-conversation-log__body--settling[data-v-54776e37]{visibility:hidden}.studio-conversation-log__load-more[data-v-54776e37]{align-items:center;display:flex;flex:0 0 auto;flex-direction:column;gap:0.35rem;padding:0.35rem 0 0.55rem}.studio-conversation-log__load-more-error[data-v-54776e37]{color:rgb(var(--v-theme-error));font-size:0.76rem;line-height:1.3;text-align:center}.studio-conversation-log__load-more+.studio-conversation-log__turn[data-v-54776e37],.studio-conversation-log__body>.studio-conversation-log__turn[data-v-54776e37]:first-child{margin-top:auto}.studio-conversation-log__turn[data-v-54776e37]{contain-intrinsic-block-size:auto 12rem;content-visibility:auto;display:flex;flex:0 0 auto;flex-direction:column;gap:0.65rem;min-height:0;min-width:0}.studio-conversation-log__message-row[data-v-54776e37]{align-items:start;display:grid;gap:0.65rem;max-width:100%;min-width:0;overflow-x:hidden}.studio-conversation-log__message-row--user[data-v-54776e37]{grid-template-columns:minmax(0,auto) auto;justify-self:end;max-width:min(28rem,88%);margin-left:auto}.studio-conversation-log__message-row--assistant[data-v-54776e37]{display:flex;flex-direction:column;gap:0.28rem;justify-self:start;max-width:min(42rem,94%);margin-right:auto}.studio-conversation-log__assistant-header[data-v-54776e37]{align-items:center;display:grid;gap:0.65rem;grid-template-columns:auto minmax(0,1fr);min-width:0}.studio-conversation-log__message[data-v-54776e37]{display:flex;flex-direction:column;gap:0.24rem;max-width:100%;min-width:0;overflow-wrap:anywhere;word-break:break-word}.studio-conversation-log__avatar[data-v-54776e37]{align-items:center;border-radius:999px;display:inline-flex;height:1.5rem;justify-content:center;width:1.5rem}.studio-conversation-log__avatar--user[data-v-54776e37]{background:#e9f2fc;color:#2f79ca;margin-top:0.2rem}.studio-conversation-log__avatar--assistant[data-v-54776e37]{background:#5b9ce1;color:#ffffff;margin-top:0.05rem}.studio-conversation-log__message--user[data-v-54776e37]{background:#e3ebf5;border-radius:16px;color:#202936;gap:0.75rem;justify-content:space-between;overflow-x:auto;padding:0.75rem 1rem 0.72rem;width:fit-content}.studio-conversation-log__message--assistant[data-v-54776e37]{background:rgb(var(--v-theme-surface));color:rgb(var(--v-theme-on-surface));padding:0}.studio-conversation-log--task[data-v-54776e37]{border-color:rgba(126,87,194,0.32)}.studio-conversation-log--task .studio-conversation-log__avatar--assistant[data-v-54776e37]{background:#7e57c2}.studio-conversation-log--task .studio-conversation-log__message--user[data-v-54776e37]{background:#eee8f8;color:#2d2440}.studio-conversation-log__thinking[data-v-54776e37]{justify-self:start;margin-left:2.15rem;max-width:min(34rem,86%)}.studio-conversation-log__user-content-toggle[data-v-54776e37]{background:transparent;border:0;color:rgb(var(--v-theme-primary));cursor:pointer;font:inherit;text-align:left}.studio-conversation-log__system[data-v-54776e37]{align-items:start;background:transparent;color:rgba(var(--v-theme-on-surface),0.84);display:grid;gap:0.45rem;grid-template-columns:auto minmax(0,1fr);justify-self:start;max-width:min(34rem,96%);min-width:0;padding:0.1rem 0.15rem}.studio-conversation-log__system-icon[data-v-54776e37]{color:rgba(var(--v-theme-primary),0.82);margin-top:0.15rem}.studio-conversation-log__system-body[data-v-54776e37]{display:grid;gap:0.1rem;min-width:0;overflow-wrap:anywhere}.studio-conversation-log__system-meta[data-v-54776e37]{align-items:center;color:rgba(var(--v-theme-on-surface),0.48);display:flex;font-size:0.72rem;gap:0.5rem;line-height:1.15}.studio-conversation-log__message-header[data-v-54776e37]{align-items:center;color:rgba(var(--v-theme-on-surface),0.82);display:flex;font-size:0.9rem;gap:0.7rem;justify-content:space-between;line-height:1.2}.studio-conversation-log__message--assistant .studio-conversation-log__message-header[data-v-54776e37]{color:rgba(var(--v-theme-on-surface),0.78);font-weight:560}.studio-conversation-log__message-header span[data-v-54776e37]{align-items:center;display:flex;gap:0.25rem;min-width:0;overflow-wrap:anywhere}.studio-conversation-log__message-header time[data-v-54776e37]{color:#6d7888;font-weight:650}.studio-conversation-log__message-footer[data-v-54776e37]{align-items:center;color:#9aa6b6;display:flex;font-size:0.88rem;font-weight:500;gap:0.65rem;line-height:1.2}.studio-conversation-log__message-footer--user[data-v-54776e37]{justify-content:flex-start}.studio-conversation-log__message-footer--assistant[data-v-54776e37]{justify-content:flex-start;margin-top:-0.15rem}.studio-conversation-log__optimistic-failure[data-v-54776e37]{align-items:center;color:rgba(var(--v-theme-error),0.92);display:flex;flex-wrap:wrap;font-size:0.76rem;gap:0.35rem 0.55rem;line-height:1.25}.studio-conversation-log__optimistic-actions[data-v-54776e37]{align-items:center;display:inline-flex;gap:0.25rem}.studio-conversation-log__message--assistant[data-v-54776e37] .studio-long-text-review__blocks,.studio-conversation-log__message--user[data-v-54776e37] .studio-long-text-review__blocks{color:inherit;font-size:0.94rem;line-height:1.5;min-width:0;overflow-wrap:anywhere}.studio-conversation-log__message--assistant[data-v-54776e37] .studio-long-text-review__paragraph,.studio-conversation-log__message--user[data-v-54776e37] .studio-long-text-review__paragraph{font-size:0.94rem;margin-block:0}.studio-conversation-log__message--user[data-v-54776e37] .studio-long-text-review__paragraph{white-space:pre-wrap}.studio-conversation-log__user-content[data-v-54776e37]{min-width:0}.studio-conversation-log__user-content-toggle[data-v-54776e37]{align-self:flex-start;font-size:0.78rem;font-weight:650;padding:0}.studio-conversation-log__user-content-toggle[data-v-54776e37]:hover,.studio-conversation-log__user-content-toggle[data-v-54776e37]:focus-visible{text-decoration:underline}.studio-conversation-log__message--assistant[data-v-54776e37] .studio-long-text-review__paragraph code,.studio-conversation-log__message--assistant[data-v-54776e37] .studio-long-text-review__list li>code,.studio-conversation-log__message--assistant[data-v-54776e37] .studio-long-text-review__table th>code,.studio-conversation-log__message--assistant[data-v-54776e37] .studio-long-text-review__table td>code,.studio-conversation-log__message--assistant[data-v-54776e37] .studio-long-text-review__details-summary code,.studio-conversation-log__message--user[data-v-54776e37] .studio-long-text-review__paragraph code,.studio-conversation-log__message--user[data-v-54776e37] .studio-long-text-review__list li>code,.studio-conversation-log__message--user[data-v-54776e37] .studio-long-text-review__table th>code,.studio-conversation-log__message--user[data-v-54776e37] .studio-long-text-review__table td>code,.studio-conversation-log__message--user[data-v-54776e37] .studio-long-text-review__details-summary code{background:rgba(var(--v-theme-primary),0.07);border:1px solid rgba(var(--v-theme-primary),0.14);border-radius:3px;color:rgba(var(--v-theme-on-surface),0.9);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size:0.9em;padding:0.02rem 0.2rem}.studio-conversation-log__questions[data-v-54776e37]{box-sizing:border-box;display:grid;gap:0.2rem;list-style:none;margin:0;max-width:100%;min-width:0;padding:0}.studio-conversation-log__question[data-v-54776e37]{align-items:start;background:rgba(var(--v-theme-surface),0.62);border:1px solid rgba(var(--v-theme-outline),0.2);border-radius:8px;box-sizing:border-box;display:grid;gap:0.32rem;grid-template-columns:auto minmax(0,1fr);max-width:100%;min-width:0;padding:0.28rem 0.42rem}.studio-conversation-log__question-number[data-v-54776e37]{align-items:center;background:rgba(var(--v-theme-primary),0.1);border:1px solid rgba(var(--v-theme-primary),0.2);border-radius:999px;color:rgb(var(--v-theme-primary));display:inline-flex;font-size:0.72rem;font-weight:760;height:1.35rem;justify-content:center;line-height:1;min-width:1.35rem}.studio-conversation-log__question-text[data-v-54776e37]{color:rgb(var(--v-theme-on-surface));font-size:0.9rem;line-height:1.35;max-width:100%;min-width:0;overflow-wrap:anywhere}.studio-conversation-log__question-content[data-v-54776e37]{display:block;min-width:0}.studio-conversation-log__question-choices[data-v-54776e37]{color:rgba(var(--v-theme-on-surface),0.72);display:inline;font-size:0.8rem;margin:0;padding:0}.studio-conversation-log__question-choices[data-v-54776e37]::before{content:" · "}.studio-conversation-log__question-choices li[data-v-54776e37]{display:inline;overflow-wrap:anywhere}.studio-conversation-log__question-choices li+li[data-v-54776e37]::before{content:" · "}.studio-conversation-log__bottom[data-v-54776e37]{height:1px}.vibe64-source-explanation[data-v-dbf6b072]{block-size:100%;border-left:1px solid rgba(var(--v-border-color),0.28);contain:layout style paint;display:grid;gap:0.42rem;grid-template-areas:"header" "stale" "thread" "recovery" "followup";grid-template-rows:auto auto minmax(0,1fr) auto auto;height:100%;max-block-size:100%;min-block-size:0;min-width:0;overflow:hidden;padding:0.52rem 0.64rem 2px}.vibe64-source-explanation__header[data-v-dbf6b072]{align-items:center;display:flex;grid-area:header;gap:0.45rem;justify-content:space-between;min-width:0}.vibe64-source-explanation__source[data-v-dbf6b072]{align-items:center;display:flex;flex:1 1 auto;flex-wrap:nowrap;gap:0.35rem;min-width:0;overflow:hidden}.vibe64-source-explanation__range[data-v-dbf6b072]{background:transparent;border:0;color:rgb(var(--v-theme-primary));cursor:pointer;display:flex;flex:1 1 auto;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size:0.78rem;inline-size:auto;line-height:1.2;max-inline-size:100%;min-block-size:3rem;min-width:0;overflow:hidden;padding:0;text-align:left;white-space:nowrap}.vibe64-source-explanation__range[data-v-dbf6b072]:focus-visible,.vibe64-source-explanation__thread[data-v-dbf6b072]:focus-visible{outline:2px solid rgb(var(--v-theme-primary));outline-offset:2px}.vibe64-source-explanation__range-path[data-v-dbf6b072]{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vibe64-source-explanation__range-suffix[data-v-dbf6b072]{flex:0 0 auto}.vibe64-source-explanation__message strong[data-v-dbf6b072]{font-size:0.76rem}.vibe64-source-explanation__message p[data-v-dbf6b072]{color:rgba(var(--v-theme-on-surface),0.78);font-size:0.84rem;line-height:1.45;margin:0;white-space:pre-wrap}.vibe64-source-explanation__status[data-v-dbf6b072]{align-items:center;color:rgba(var(--v-theme-on-surface),0.78);display:flex;font-size:0.76rem;font-weight:650;gap:0.45rem;line-height:1.35;min-block-size:1.4rem;min-width:0}.vibe64-source-explanation__thinking[data-v-dbf6b072]{display:grid;gap:0.22rem;min-width:0}.vibe64-source-explanation__status-mark[data-v-dbf6b072]{animation:vibe64-source-explanation-thinking-pulse-dbf6b072 1.3s ease-in-out infinite;background:rgb(var(--v-theme-primary));border-radius:999px;block-size:0.46rem;flex:0 0 auto;inline-size:0.46rem}.vibe64-source-explanation__thinking-detail[data-v-dbf6b072]{min-width:0}.vibe64-source-explanation__thinking-detail[data-v-dbf6b072] .studio-long-text-review__paragraph,.vibe64-source-explanation__thinking-detail[data-v-dbf6b072] .studio-long-text-review__list li{color:rgba(var(--v-theme-on-surface),0.68);font-size:0.74rem;line-height:1.28}.vibe64-source-explanation__status--stopped[data-v-dbf6b072]{color:rgba(var(--v-theme-on-surface),0.62)}.vibe64-source-explanation__stale[data-v-dbf6b072]{grid-area:stale}.vibe64-source-explanation__thread[data-v-dbf6b072]{contain:layout style paint;display:flex;flex-direction:column;gap:0.45rem;grid-area:thread;min-block-size:0;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:0 0.1rem 0.08rem 0}.vibe64-source-explanation__message[data-v-dbf6b072]{border-radius:7px;display:grid;gap:0.24rem;max-width:100%;min-width:0;padding:0.46rem 0.58rem}.vibe64-source-explanation__thread>.vibe64-source-explanation__message[data-v-dbf6b072]:first-child{margin-top:auto}.vibe64-source-explanation__message--user[data-v-dbf6b072]{background:rgba(var(--v-theme-primary),0.12)}.vibe64-source-explanation__message--assistant[data-v-dbf6b072]{background:transparent;padding-inline:0.1rem}.vibe64-source-explanation__message--failed[data-v-dbf6b072]{background:rgba(var(--v-theme-error),0.08);border:1px solid rgba(var(--v-theme-error),0.24);padding:0.46rem 0.58rem}.vibe64-source-explanation__failure-detail[data-v-dbf6b072] .studio-long-text-review__paragraph,.vibe64-source-explanation__failure-detail[data-v-dbf6b072] .studio-long-text-review__list li{color:rgb(var(--v-theme-error))}.vibe64-source-explanation__followup[data-v-dbf6b072]{align-self:end;grid-area:followup;min-width:0;width:100%}.vibe64-source-explanation__recovery[data-v-dbf6b072]{background:rgba(var(--v-theme-error),0.06);border:1px solid rgba(var(--v-theme-error),0.2);border-radius:9px;display:grid;gap:0.45rem;grid-area:recovery;padding:0.55rem}.vibe64-source-explanation__recovery p[data-v-dbf6b072]{color:rgba(var(--v-theme-on-surface),0.72);font-size:0.76rem;line-height:1.35;margin:0}.vibe64-source-explanation__recovery-actions[data-v-dbf6b072]{align-items:center;display:flex;gap:0.4rem;justify-content:flex-end}.vibe64-source-explanation__followup[data-v-dbf6b072] .studio-autopilot-prompt-textarea{padding:0.18rem 0 0}.vibe64-source-explanation__followup[data-v-dbf6b072] .studio-autopilot-prompt-textarea__field{align-items:end;border-radius:9px;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;min-block-size:3.2rem;padding:0.18rem 0.28rem 0.28rem}.vibe64-source-explanation__followup[data-v-dbf6b072] .studio-autopilot-prompt-textarea__label{grid-column:1 / -1;margin:-0.44rem 0 0 0.48rem}.vibe64-source-explanation__followup[data-v-dbf6b072] .studio-autopilot-prompt-textarea__footer{align-self:end;grid-column:2;grid-row:2;padding:0}.vibe64-source-explanation__followup[data-v-dbf6b072] .studio-autopilot-prompt-textarea__input{grid-column:1;grid-row:2;line-height:1.34;max-height:min(8rem,22dvh);min-height:1.65rem;padding:0.28rem 0.46rem 0.22rem}.vibe64-source-explanation__followup[data-v-dbf6b072] .studio-autopilot-prompt-textarea__input::placeholder{color:rgba(var(--v-theme-on-surface),0.46)}.vibe64-source-explanation__followup[data-v-dbf6b072] .studio-autopilot-prompt-textarea__input:disabled::placeholder{color:rgba(var(--v-theme-on-surface),0.46)}.vibe64-source-explanation__followup-footer[data-v-dbf6b072]{display:flex;gap:0.32rem;justify-content:flex-end;min-width:0}.vibe64-source-explanation__followup-footer[data-v-dbf6b072] .v-btn{block-size:3rem;inline-size:3rem;min-inline-size:3rem}.vibe64-source-explanation__action-target[data-v-dbf6b072]{min-block-size:3rem;min-inline-size:3rem}.vibe64-source-explanation__close-button[data-v-dbf6b072]{min-inline-size:6.25rem}.vibe64-source-explanation__thread-bottom[data-v-dbf6b072]{flex:0 0 1px;height:1px}@keyframes vibe64-source-explanation-thinking-pulse-dbf6b072{0%,100%{opacity:0.62}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.vibe64-source-explanation__status-mark[data-v-dbf6b072]{animation:none}}.vibe64-source-tree[data-v-66801c99]{display:grid;gap:0.08rem;list-style:none;margin:0;min-width:0;padding:0}.vibe64-source-tree .vibe64-source-tree[data-v-66801c99]{padding-left:0.75rem}.vibe64-source-tree__item[data-v-66801c99]{min-width:0}.vibe64-source-tree__row[data-v-66801c99]{align-items:center;display:grid;grid-template-columns:minmax(0,1fr) auto;min-width:0}.vibe64-source-tree__button[data-v-66801c99]{align-items:center;border:0;border-radius:6px;color:rgba(var(--v-theme-on-surface),0.78);display:flex;font-size:0.82rem;font-weight:400;gap:0.42rem;line-height:1.25;min-height:1.72rem;min-width:0;padding:0.22rem 0.38rem;text-align:left;width:100%}.vibe64-source-tree__button[data-v-66801c99]{background:transparent;cursor:pointer}.vibe64-source-tree__button[data-v-66801c99]:hover,.vibe64-source-tree__button[data-v-66801c99]:focus-visible{background:rgba(var(--v-theme-primary),0.08);outline:0}.vibe64-source-tree__button--active[data-v-66801c99]{background:rgba(var(--v-theme-primary),0.14);color:rgb(var(--v-theme-primary));font-weight:500}.vibe64-source-tree__button--more[data-v-66801c99]{color:rgba(var(--v-theme-on-surface),0.68);font-size:0.78rem;font-weight:500}.vibe64-source-tree__button[data-v-66801c99]:disabled{cursor:default;opacity:0.62}.vibe64-source-tree__menu-button[data-v-66801c99]{color:rgba(var(--v-theme-on-surface),0.56);flex:0 0 auto;min-block-size:1.72rem;min-inline-size:1.72rem}.vibe64-source-tree__menu[data-v-66801c99] .v-list-item-title{font-size:0.82rem}.vibe64-source-tree__notice[data-v-66801c99]{color:rgba(var(--v-theme-on-surface),0.58);font-size:0.74rem;padding:0.22rem 0.38rem 0.28rem 2.05rem}.vibe64-source-tree__notice--error[data-v-66801c99]{color:rgb(var(--v-theme-error))}.vibe64-source-tree__button span[data-v-66801c99]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vibe64-source-tree__chevron[data-v-66801c99]{color:rgba(var(--v-theme-on-surface),0.58);flex:0 0 auto;transition:transform 0.14s ease}.vibe64-source-tree__chevron--open[data-v-66801c99]{transform:rotate(90deg)}.vibe64-source-tree__chevron-spacer[data-v-66801c99]{flex:0 0 14px;height:14px;width:14px}.vibe64-source-editor__starred[data-v-93c23789]{margin-bottom:0.75rem}.vibe64-source-editor__starred .starred-files-list[data-v-93c23789]{max-height:14rem;overflow-y:auto;overscroll-behavior:contain}.vibe64-source-editor__starred summary[data-v-93c23789]{cursor:pointer;padding:0.375rem;font-size:0.8125rem;font-weight:500}.vibe64-source-editor__starred summary span[data-v-93c23789]{margin-left:0.25rem;font-weight:400;color:rgba(var(--v-theme-on-surface),0.7)}.vibe64-source-editor__download-status[data-v-93c23789]{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.vibe64-source-editor[data-v-93c23789]{block-size:100%;display:grid;grid-template-rows:auto auto minmax(0,1fr);min-block-size:0;overflow:hidden}.vibe64-source-editor__header[data-v-93c23789]{align-items:center;border-bottom:1px solid rgba(var(--v-border-color),0.3);display:flex;flex-wrap:wrap;gap:0.48rem;justify-content:space-between;min-width:0;padding:0.24rem 0.52rem}.vibe64-source-editor__title[data-v-93c23789]{align-items:center;display:flex;gap:0.42rem;min-width:0}.vibe64-source-editor__title h2[data-v-93c23789]{font-size:0.9rem;font-weight:760;letter-spacing:0;line-height:1.15;margin:0;max-width:min(52vw,46rem);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vibe64-source-editor__actions[data-v-93c23789]{align-items:center;display:flex;flex:0 0 auto;gap:0.22rem}.vibe64-source-editor__actions[data-v-93c23789] .v-btn{block-size:1.9rem;min-block-size:1.9rem;min-inline-size:1.9rem}.vibe64-source-editor__status[data-v-93c23789]{color:rgba(var(--v-theme-on-surface),0.64);font-size:0.75rem;margin-right:0.35rem;max-width:16rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vibe64-source-editor__status--error[data-v-93c23789]{color:rgb(var(--v-theme-error))}.vibe64-source-editor__explain-button[data-v-93c23789]{font-weight:680;min-inline-size:6.25rem;text-transform:none}.vibe64-source-editor__tools[data-v-93c23789]{align-items:start;border-bottom:1px solid rgba(var(--v-border-color),0.24);display:grid;gap:0.38rem;grid-template-columns:minmax(14rem,22rem) minmax(14rem,1fr);min-width:0;padding:0.22rem 0.48rem}.vibe64-source-editor__tools[data-v-93c23789] .v-field{min-block-size:2.35rem}.vibe64-source-editor__tools[data-v-93c23789] .v-field__input{min-block-size:2.35rem;padding-block:0.28rem}.vibe64-source-editor__tools[data-v-93c23789] .v-field__prepend-inner,.vibe64-source-editor__tools[data-v-93c23789] .v-field__clearable{padding-top:0.4rem}.vibe64-source-editor__tool[data-v-93c23789]{min-width:0;position:relative}.vibe64-source-editor__matches[data-v-93c23789]{background:rgb(var(--v-theme-surface));border:1px solid rgba(var(--v-border-color),0.35);border-radius:8px;box-shadow:0 12px 28px rgba(15,23,42,0.16);display:grid;gap:0.08rem;inset-inline:0;margin-top:0.28rem;max-block-size:min(18rem,52vh);overflow:auto;padding:0.28rem;position:absolute;z-index:8}.vibe64-source-editor__match[data-v-93c23789]{background:transparent;border:0;border-radius:6px;color:rgb(var(--v-theme-on-surface));cursor:pointer;display:grid;gap:0.08rem;min-width:0;padding:0.42rem 0.5rem;text-align:left}.vibe64-source-editor__match[data-v-93c23789]:hover{background:rgba(var(--v-theme-primary),0.08)}.vibe64-source-editor__match-name[data-v-93c23789],.vibe64-source-editor__match-path[data-v-93c23789]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vibe64-source-editor__match-name[data-v-93c23789]{font-size:0.84rem;font-weight:720}.vibe64-source-editor__match-path[data-v-93c23789]{color:rgba(var(--v-theme-on-surface),0.58);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size:0.72rem}.vibe64-source-editor__match-note[data-v-93c23789]{color:rgba(var(--v-theme-on-surface),0.64);font-size:0.78rem;padding:0.48rem 0.55rem}.vibe64-source-editor__match-note--error[data-v-93c23789]{color:rgb(var(--v-theme-error))}.vibe64-source-editor__body[data-v-93c23789]{block-size:100%;contain:layout style;display:grid;grid-template-columns:minmax(12rem,17rem) minmax(0,1fr);max-block-size:100%;min-block-size:0;overflow:hidden}.vibe64-source-editor__body--file-list-collapsed[data-v-93c23789]{grid-template-columns:2.65rem minmax(0,1fr)}.vibe64-source-editor__sidebar[data-v-93c23789]{border-right:1px solid rgba(var(--v-border-color),0.26);contain:layout style paint;min-block-size:0;overflow:auto;padding:0 0.64rem 0.64rem}.vibe64-source-editor__sidebar--collapsed[data-v-93c23789]{overflow:hidden;padding:0}.vibe64-source-editor__side-rail[data-v-93c23789]{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:rgba(var(--v-theme-primary),0.08);border:0;color:rgba(var(--v-theme-on-surface),0.74);cursor:pointer;display:grid;gap:0.34rem;grid-template-rows:auto auto;height:100%;justify-items:center;min-height:0;min-width:0;padding:0.56rem 0.18rem;width:100%}.vibe64-source-editor__side-rail[data-v-93c23789]:hover,.vibe64-source-editor__side-rail[data-v-93c23789]:focus-visible{background:rgba(var(--v-theme-primary),0.14);outline:0}.vibe64-source-editor__side-rail span[data-v-93c23789]{font-size:0.76rem;font-weight:740;letter-spacing:0;line-height:1;transform:rotate(180deg);writing-mode:vertical-rl}.vibe64-source-editor__side-rail--right[data-v-93c23789]{background:rgba(var(--v-theme-primary),0.07)}.vibe64-source-editor__tree-toolbar[data-v-93c23789]{align-items:center;background:rgb(var(--v-theme-surface));border-bottom:1px solid rgba(var(--v-border-color),0.18);box-sizing:border-box;color:rgba(var(--v-theme-on-surface),0.62);display:flex;font-size:0.72rem;font-weight:720;justify-content:space-between;letter-spacing:0;margin:0 -0.64rem 0.44rem;min-width:0;padding:0.48rem 0.72rem 0.34rem;position:sticky;top:0;z-index:4}.vibe64-source-editor__tree-actions[data-v-93c23789]{align-items:center;display:flex;flex:0 0 auto;gap:0.08rem}.vibe64-source-editor__collapse-files-button[data-v-93c23789]{min-inline-size:2.2rem}.vibe64-source-editor__search-results[data-v-93c23789]{border-bottom:1px solid rgba(var(--v-border-color),0.24);display:grid;gap:0.16rem;margin:-0.1rem -0.1rem 0.58rem;max-block-size:min(21rem,45vh);overflow:auto;padding:0 0 0.58rem}.vibe64-source-editor__search-heading[data-v-93c23789]{align-items:center;color:rgba(var(--v-theme-on-surface),0.66);display:flex;font-size:0.72rem;font-weight:760;justify-content:space-between;letter-spacing:0;padding:0 0.16rem 0.22rem;text-transform:uppercase}.vibe64-source-editor__search-heading small[data-v-93c23789]{color:rgba(var(--v-theme-on-surface),0.52);font-size:0.7rem}.vibe64-source-editor__search-result[data-v-93c23789]{background:transparent;border:0;border-radius:7px;color:rgb(var(--v-theme-on-surface));cursor:pointer;display:grid;gap:0.12rem;min-width:0;padding:0.46rem 0.5rem;text-align:left}.vibe64-source-editor__search-result[data-v-93c23789]:hover{background:rgba(var(--v-theme-primary),0.08)}.vibe64-source-editor__new-file-dialog[data-v-93c23789]{display:grid;gap:0.76rem}.vibe64-source-editor__new-file-dialog p[data-v-93c23789]{color:rgba(var(--v-theme-on-surface),0.66);font-size:0.84rem;line-height:1.35;margin:0}.vibe64-source-editor__search-path[data-v-93c23789],.vibe64-source-editor__search-location[data-v-93c23789],.vibe64-source-editor__search-preview[data-v-93c23789]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vibe64-source-editor__search-path[data-v-93c23789]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size:0.75rem;font-weight:720}.vibe64-source-editor__search-location[data-v-93c23789]{color:rgba(var(--v-theme-on-surface),0.54);font-size:0.7rem}.vibe64-source-editor__search-preview[data-v-93c23789]{color:rgba(var(--v-theme-on-surface),0.68);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size:0.72rem}.vibe64-source-editor__main[data-v-93c23789]{block-size:100%;contain:layout style;display:grid;grid-template-rows:auto auto auto minmax(0,1fr);max-block-size:100%;min-block-size:0;min-width:0;overflow:hidden;position:relative}.vibe64-source-editor__workspace[data-v-93c23789]{block-size:100%;contain:layout style;display:grid;grid-row:4;grid-template-columns:minmax(0,1fr);max-block-size:100%;min-block-size:0;min-width:0;overflow:hidden;position:relative}.vibe64-source-editor__workspace--with-explanation[data-v-93c23789]{grid-template-columns:minmax(0,1fr) minmax(18rem,27rem)}.vibe64-source-editor__workspace--explanation-collapsed[data-v-93c23789]{grid-template-columns:minmax(0,1fr) 2.65rem}.vibe64-source-editor__explanation-dock[data-v-93c23789]{block-size:100%;display:grid;grid-template-rows:minmax(0,1fr);height:100%;min-block-size:0;min-width:0;overflow:hidden}.vibe64-source-editor__explanation-dock[data-v-93c23789]>.vibe64-source-explanation{block-size:100%;height:100%;min-block-size:0}.vibe64-source-editor__explanation-dock--collapsed[data-v-93c23789]{border-left:1px solid rgba(var(--v-border-color),0.26)}.vibe64-source-editor__codemirror[data-v-93c23789]{contain:layout style paint;min-block-size:0;min-width:0;overflow:hidden}.vibe64-source-editor__codemirror[data-v-93c23789] .cm-editor.vibe64-source-editor__codemirror--source-link-hover .cm-content{cursor:pointer}.vibe64-source-editor__codemirror--hidden[data-v-93c23789]{display:none}.vibe64-source-editor__file-loading[data-v-93c23789]{background:rgb(var(--v-theme-surface));top:0;right:0;bottom:0;left:0;overflow:hidden;padding:0.75rem;position:absolute;z-index:4}.vibe64-source-editor__file-skeleton[data-v-93c23789]{height:100%}.vibe64-source-editor__notice[data-v-93c23789],.vibe64-source-editor__empty[data-v-93c23789],.vibe64-source-editor__banner[data-v-93c23789]{color:rgba(var(--v-theme-on-surface),0.68);font-size:0.86rem;padding:0.72rem}.vibe64-source-editor__notice--error[data-v-93c23789],.vibe64-source-editor__banner--error[data-v-93c23789]{color:rgb(var(--v-theme-error))}.vibe64-source-editor__empty[data-v-93c23789]{align-self:start}@media(max-width:900px){.vibe64-source-editor__tools[data-v-93c23789]{grid-template-columns:1fr}.vibe64-source-editor__body[data-v-93c23789]{grid-template-columns:1fr;grid-template-rows:minmax(9rem,14rem) minmax(0,1fr)}.vibe64-source-editor__body--file-list-collapsed[data-v-93c23789]{grid-template-columns:1fr;grid-template-rows:2.65rem minmax(0,1fr)}.vibe64-source-editor__sidebar[data-v-93c23789]{border-bottom:1px solid rgba(var(--v-border-color),0.26);border-right:0}.vibe64-source-editor__side-rail[data-v-93c23789]{grid-template-columns:auto auto;grid-template-rows:1fr;justify-content:start;padding:0.18rem 0.56rem}.vibe64-source-editor__side-rail span[data-v-93c23789]{transform:none;writing-mode:horizontal-tb}.vibe64-source-editor__workspace--with-explanation[data-v-93c23789]{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) minmax(16rem,42vh)}.vibe64-source-editor__workspace--explanation-collapsed[data-v-93c23789]{grid-template-rows:minmax(0,1fr) 2.65rem}}.vibe64-source-editor--code-focus[data-v-93c23789]{grid-template-rows:auto minmax(0,1fr)}.vibe64-source-editor__body--code-focus[data-v-93c23789]{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.session-file-area[data-v-4cd035f8]{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:auto}.session-file-area__drop-target[data-v-4cd035f8]{position:absolute;top:8px;right:8px;bottom:8px;left:8px;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border:2px dashed rgb(var(--v-theme-primary));background:rgba(var(--v-theme-surface),0.96);color:rgb(var(--v-theme-primary));pointer-events:none}.session-file-area__listing[data-v-4cd035f8]{flex:1;overflow:auto;min-height:0}.session-file-area__filename[data-v-4cd035f8]{overflow-wrap:anywhere}.session-file-area__preview[data-v-4cd035f8]{flex:1;min-height:0;overflow:auto;padding:12px;white-space:pre-wrap;overflow-wrap:anywhere}.session-file-area__text[data-v-4cd035f8]{font-family:monospace}.vibe64-session-files[data-v-b9bb0099]{display:flex;flex-direction:column;min-height:0;min-width:0}.vibe64-session-files__content[data-v-b9bb0099]{flex:1;min-height:0}
1
+ @layer vuetify-components{.v-breadcrumbs{display:flex;align-items:center;line-height:1.5;padding:16px 12px}.v-breadcrumbs--rounded{border-radius:4px}.v-breadcrumbs--density-default{padding-top:16px;padding-bottom:16px}.v-breadcrumbs--density-comfortable{padding-top:12px;padding-bottom:12px}.v-breadcrumbs--density-compact{padding-top:8px;padding-bottom:8px}.v-breadcrumbs__prepend{align-items:center;display:inline-flex}.v-breadcrumbs-item{align-items:center;color:inherit;display:inline-flex;padding:0 4px;text-decoration:none;vertical-align:middle}.v-breadcrumbs-item--disabled{opacity:var(--v-disabled-opacity);pointer-events:none}.v-breadcrumbs-item--link{color:inherit;text-decoration:none}.v-breadcrumbs-item--link:hover{text-decoration:underline}.v-breadcrumbs-item .v-icon{font-size:1rem;margin-inline:-4px 2px}.v-breadcrumbs-divider{display:inline-block;padding:0 8px;vertical-align:middle}}.starred-files-list[data-v-8ce15272]{min-width:0}.starred-files-list ul[data-v-8ce15272]{margin:0;padding:0;list-style:none}.starred-files-list li[data-v-8ce15272]{display:flex;align-items:center;gap:0.25rem}.starred-files-list__open[data-v-8ce15272]{display:flex;flex:1;flex-direction:column;min-width:0;padding:0.5rem;text-align:left;border:0;background:transparent;color:inherit;font:inherit;border-radius:0.5rem}.starred-files-list__open[data-v-8ce15272]:hover:not(:disabled){background:rgba(var(--v-theme-on-surface),0.06)}.starred-files-list__open[data-v-8ce15272]:focus-visible{outline:2px solid rgb(var(--v-theme-primary));outline-offset:-2px}.starred-files-list__open strong[data-v-8ce15272]{font-size:0.875rem;font-weight:500}.starred-files-list__open span[data-v-8ce15272]{font-size:0.75rem;color:rgba(var(--v-theme-on-surface),0.7)}.starred-files-list__open strong[data-v-8ce15272],.starred-files-list__open span[data-v-8ce15272]{max-width:100%;overflow-wrap:anywhere}.starred-files-list__open[data-v-8ce15272]:disabled{opacity:0.65}.starred-files-list--compact .starred-files-list__open strong[data-v-8ce15272]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.starred-files-list__empty[data-v-8ce15272]{padding:0.5rem;margin:0;font-size:0.8125rem;color:rgba(var(--v-theme-on-surface),0.7)}.vibe64-attachment-preview[data-v-6a1bbc16]{display:block;margin:auto;max-height:70vh;max-width:100%;object-fit:contain}.vibe64-attachment-queue[data-v-295b8d25]{background:rgba(var(--v-theme-on-surface),0.035);border:1px solid rgba(var(--v-theme-outline),0.2);border-bottom:0;border-radius:14px 14px 0 0;color:rgb(var(--v-theme-on-surface));display:grid;gap:0.2rem;max-height:min(15rem,32dvh);min-width:0;overflow:hidden;padding:0.35rem 0.4rem}.vibe64-attachment-queue__summary[data-v-295b8d25],.vibe64-attachment-queue__primary[data-v-295b8d25],.vibe64-attachment-queue__secondary[data-v-295b8d25]{align-items:baseline;display:flex;gap:0.45rem;justify-content:space-between;min-width:0}.vibe64-attachment-queue--standalone[data-v-295b8d25]{border-bottom:1px solid rgba(var(--v-theme-outline),0.2);border-radius:10px}.vibe64-attachment-queue__summary[data-v-295b8d25]{color:rgba(var(--v-theme-on-surface),0.72);font-size:0.72rem;font-weight:650;line-height:1.25;padding:0 0.28rem 0.15rem}.vibe64-attachment-queue__limit[data-v-295b8d25]{flex:0 0 auto;font-variant-numeric:tabular-nums}.vibe64-attachment-queue__items[data-v-295b8d25]{display:grid;gap:0.25rem;list-style:none;margin:0;min-width:0;overflow-y:auto;padding:0}.vibe64-attachment-queue__item[data-v-295b8d25]{align-items:center;background:rgb(var(--v-theme-surface));border-radius:10px;display:grid;gap:0.4rem;grid-template-columns:auto minmax(0,1fr) auto;min-height:3rem;padding:0.28rem 0.2rem 0.28rem 0.5rem}.vibe64-attachment-queue__item--failed[data-v-295b8d25]{background:rgba(var(--v-theme-error),0.07)}.vibe64-attachment-queue__icon[data-v-295b8d25]{align-self:start;margin-top:0.3rem}.vibe64-attachment-queue__content[data-v-295b8d25]{display:grid;gap:0.1rem;min-width:0}.vibe64-attachment-queue__name[data-v-295b8d25]{background:transparent;border:0;color:inherit;padding:0;text-align:left;font-size:0.78rem;font-weight:650;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}button.vibe64-attachment-queue__name[data-v-295b8d25]{cursor:pointer}.vibe64-attachment-queue__size[data-v-295b8d25],.vibe64-attachment-queue__secondary[data-v-295b8d25],.vibe64-attachment-queue__error[data-v-295b8d25]{color:rgba(var(--v-theme-on-surface),0.68);font-size:0.68rem;line-height:1.25}.vibe64-attachment-queue__size[data-v-295b8d25]{flex:0 0 auto}.vibe64-attachment-queue__secondary[data-v-295b8d25]{font-variant-numeric:tabular-nums}.vibe64-attachment-queue__error[data-v-295b8d25]{color:rgb(var(--v-theme-error));overflow-wrap:anywhere}.vibe64-attachment-queue__progress[data-v-295b8d25]{margin-top:0.08rem}.vibe64-attachment-queue__progress--stationary[data-v-295b8d25]{background:rgba(var(--v-theme-primary),0.18);height:3px}.vibe64-attachment-queue__actions[data-v-295b8d25]{align-items:center;display:flex;flex:0 0 auto}.vibe64-attachment-queue__action[data-v-295b8d25]{min-height:2.5rem;min-width:2.5rem}.vibe64-attachment-queue__announcement[data-v-295b8d25]{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0 0 0 0)}@media(pointer:coarse){.vibe64-attachment-queue__action[data-v-295b8d25]{min-height:3rem;min-width:3rem}}@media(max-width:599px){.vibe64-attachment-queue[data-v-295b8d25]{max-height:min(13rem,30dvh)}.vibe64-attachment-queue__item[data-v-295b8d25]{gap:0.25rem;padding-left:0.4rem}}.studio-autopilot-prompt-textarea[data-v-891f780a]{box-sizing:border-box;display:grid;gap:0;max-width:100%;min-width:0;overflow:hidden;padding:0;position:relative;text-align:left;width:100%}.studio-autopilot-prompt-textarea__field[data-v-891f780a]{background:rgb(var(--v-theme-surface));border:1px solid rgba(var(--v-theme-on-surface),0.34);border-radius:18px;box-sizing:border-box;box-shadow:inset 0 0 0 1px rgba(var(--v-theme-on-surface),0.08);display:grid;max-width:100%;min-width:0;padding-top:0.01rem;transition:border-color 120ms ease,box-shadow 120ms ease}.studio-autopilot-prompt-textarea__field[data-v-891f780a]:focus-within{border-color:rgb(var(--v-theme-primary));box-shadow:0 0 0 2px rgba(var(--v-theme-primary),0.28),inset 0 0 0 1px rgba(var(--v-theme-primary),0.2)}.studio-autopilot-prompt-textarea__field--disabled[data-v-891f780a]{opacity:1}.studio-autopilot-prompt-textarea__label[data-v-891f780a]{align-self:start;background:rgb(var(--v-theme-surface));color:rgba(var(--v-theme-on-surface),0.82);font-size:0.78rem;line-height:1.1;margin:-0.5rem 0 0 0.9rem;max-width:calc(100% - 1.8rem);overflow:hidden;padding-inline:0.24rem;text-overflow:ellipsis;white-space:nowrap;width:fit-content;z-index:1}.studio-autopilot-prompt-textarea__input[data-v-891f780a]{background:transparent;border:0;box-sizing:border-box;color:rgb(var(--v-theme-on-surface));display:block;font:inherit;line-height:1.4;max-height:min(16rem,32dvh);min-height:3.55rem;min-width:0;outline:0;overflow-x:hidden;overflow-y:hidden;padding:0.5rem 1rem 0.2rem;resize:none;width:100%;word-break:break-word}.studio-autopilot-prompt-textarea__input-start[data-v-891f780a]{min-width:0;padding:0.5rem 1rem 0.08rem}.studio-autopilot-prompt-textarea--has-input-start .studio-autopilot-prompt-textarea__input[data-v-891f780a]{padding-top:0.24rem}.studio-autopilot-prompt-textarea__input[data-v-891f780a]::placeholder{color:rgba(var(--v-theme-on-surface),0.58);opacity:1}.studio-autopilot-prompt-textarea__input[data-v-891f780a]:disabled{color:rgba(var(--v-theme-on-surface),0.95);cursor:default;opacity:1;-webkit-text-fill-color:rgba(var(--v-theme-on-surface),0.95)}.studio-autopilot-prompt-textarea__input[data-v-891f780a]:disabled::placeholder{color:rgba(var(--v-theme-on-surface),0.9);opacity:1}.studio-autopilot-prompt-textarea__footer[data-v-891f780a]{min-width:0;padding:0 0.55rem 0.55rem}.studio-autopilot-prompt-textarea--compact .studio-autopilot-prompt-textarea__input[data-v-891f780a]{max-height:min(8rem,20dvh);min-height:2.5rem;padding:0.4rem 0.65rem 0.15rem}.studio-autopilot-prompt-textarea--compact .studio-autopilot-prompt-textarea__footer[data-v-891f780a]{padding:0 0.3rem 0.25rem}.studio-autopilot-prompt-textarea__details[data-v-891f780a]{color:rgba(var(--v-theme-on-surface),0.62);display:grid;font-size:0.76rem;gap:0.12rem;line-height:1.3;min-width:0;padding:0.32rem 0.75rem 0}.studio-autopilot-prompt-textarea__error[data-v-891f780a]{color:rgb(var(--v-theme-error))}.studio-autopilot-prompt-textarea--dragging[data-v-891f780a]{outline:2px dashed rgb(var(--v-theme-primary));outline-offset:4px}.studio-autopilot-prompt-textarea__file-input[data-v-891f780a]{display:none}.studio-autopilot-prompt-textarea--has-attachments .studio-autopilot-prompt-textarea__field[data-v-891f780a]{border-top-left-radius:0;border-top-right-radius:0;margin-top:-1px}code[data-v-8ab73515]{background:rgba(var(--v-theme-primary),0.07);border:1px solid rgba(var(--v-theme-primary),0.14);border-radius:3px;color:rgba(var(--v-theme-on-surface),0.9);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size:0.9em;overflow-wrap:anywhere;padding:0.02rem 0.2rem;word-break:break-word}span[data-v-8ab73515],strong[data-v-8ab73515],a[data-v-8ab73515]{overflow-wrap:anywhere;word-break:break-word}.studio-long-text-review__blocks[data-v-ca244d36]{color:rgb(var(--v-theme-on-surface));display:grid;gap:0.36rem;line-height:1.4;max-width:100%;min-width:0;overflow-wrap:anywhere;word-break:break-word}.studio-long-text-review__blocks--compact[data-v-ca244d36]{gap:0.24rem;line-height:1.28}.studio-long-text-review__heading[data-v-ca244d36]{font-weight:760;letter-spacing:0;line-height:1.15;margin:0;overflow-wrap:anywhere;word-break:break-word}h3.studio-long-text-review__heading[data-v-ca244d36]{font-size:1.1rem}h4.studio-long-text-review__heading[data-v-ca244d36]{font-size:0.98rem}h5.studio-long-text-review__heading[data-v-ca244d36]{font-size:0.9rem}.studio-long-text-review__paragraph[data-v-ca244d36]{font-size:0.88rem;margin:0;overflow-wrap:anywhere;word-break:break-word}.studio-long-text-review__blocks--compact .studio-long-text-review__paragraph[data-v-ca244d36]{font-size:0.8rem}.studio-long-text-review__list[data-v-ca244d36]{display:grid;gap:0.16rem;margin:0;min-width:0;overflow-wrap:anywhere;padding-inline-start:1.3rem}.studio-long-text-review__list li[data-v-ca244d36]{font-size:0.92rem;line-height:1.36;min-width:0;overflow-wrap:anywhere;padding-inline-start:0.1rem;word-break:break-word}.studio-long-text-review__blocks--compact .studio-long-text-review__list li[data-v-ca244d36]{font-size:0.8rem}.studio-long-text-review__code[data-v-ca244d36]{background:rgba(var(--v-theme-surface-variant),0.58);border:1px solid rgba(var(--v-border-color),0.26);border-radius:8px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size:0.82rem;line-height:1.36;margin:0;max-width:100%;min-width:0;overflow:auto;padding:0.46rem 0.55rem;white-space:pre}.studio-long-text-review__table-wrap[data-v-ca244d36]{border:1px solid rgba(var(--v-border-color),0.28);border-radius:8px;inline-size:fit-content;margin-block:0.35rem;max-width:100%;min-width:0;overflow:auto}.studio-long-text-review__table-wrap[data-v-ca244d36]:focus-visible{outline:2px solid rgb(var(--v-theme-primary));outline-offset:-2px}.studio-long-text-review__table[data-v-ca244d36]{border-collapse:separate;border-spacing:0;font-size:0.88rem;inline-size:auto;line-height:1.45;overflow-wrap:break-word;word-break:normal}.studio-long-text-review__table th[data-v-ca244d36],.studio-long-text-review__table td[data-v-ca244d36]{border-bottom:1px solid rgba(var(--v-border-color),0.22);max-inline-size:28rem;padding:0.55rem 0.75rem;text-align:left;vertical-align:top}.studio-long-text-review__table th[data-v-ca244d36]{background:rgba(var(--v-theme-surface-variant),0.48);color:rgb(var(--v-theme-on-surface));font-weight:760;position:sticky;top:0;z-index:1}.studio-long-text-review__table tbody tr:last-child td[data-v-ca244d36]{border-bottom:0}.studio-long-text-review__table[data-v-ca244d36] span,.studio-long-text-review__table[data-v-ca244d36] strong,.studio-long-text-review__table[data-v-ca244d36] a,.studio-long-text-review__table[data-v-ca244d36] code{overflow-wrap:break-word;word-break:normal}.studio-long-text-review__table-cell--right[data-v-ca244d36]{font-variant-numeric:tabular-nums;text-align:right!important}.studio-long-text-review__table-cell--center[data-v-ca244d36]{text-align:center!important}.studio-long-text-review__details[data-v-ca244d36]{border:1px solid rgba(var(--v-border-color),0.34);border-radius:8px;display:block;min-width:0;overflow:hidden}.studio-long-text-review__details-summary[data-v-ca244d36]{background:rgba(var(--v-theme-surface-variant),0.48);cursor:pointer;font-size:0.82rem;font-weight:650;line-height:1.2;list-style-position:inside;padding:0.42rem 0.55rem}.studio-long-text-review__details-body[data-v-ca244d36]{padding:0.5rem 0.6rem 0.58rem}.vibe64-conversation-progress[data-v-87423c09]{color:rgba(var(--v-theme-on-surface),0.58);display:grid;font-size:0.78rem;gap:0.18rem;line-height:1.42;min-width:0;overflow-wrap:anywhere}.vibe64-conversation-progress__message[data-v-87423c09]{white-space:pre-wrap}.vibe64-conversation-progress__toggle[data-v-87423c09]{background:transparent;border:0;color:rgb(var(--v-theme-primary));cursor:pointer;font:inherit;justify-self:start;padding:0.12rem 0;text-align:left}.vibe64-conversation-progress__toggle[data-v-87423c09]:hover{text-decoration:underline}.vibe64-conversation-progress__toggle[data-v-87423c09]:focus-visible{outline:2px solid rgb(var(--v-theme-primary));outline-offset:2px}@media(pointer:coarse){.vibe64-conversation-progress__toggle[data-v-87423c09]{min-height:3rem}}.vibe64-conversation-attachments[data-v-b26baf0f]{display:grid;gap:0.35rem;list-style:none;margin:0;max-width:100%;padding:0;width:min(19rem,100%)}.vibe64-conversation-attachments__item[data-v-b26baf0f]{align-items:center;background:rgba(var(--v-theme-surface),0.82);border:1px solid rgba(var(--v-theme-outline),0.2);border-radius:10px;color:rgb(var(--v-theme-on-surface));min-height:2.8rem;min-width:0;padding:0.42rem 0.65rem}.vibe64-conversation-attachments__icon[data-v-b26baf0f]{color:rgb(var(--v-theme-primary))}.vibe64-conversation-attachments__details[data-v-b26baf0f]{display:grid;min-width:0}.vibe64-conversation-attachments__open[data-v-b26baf0f]{align-items:center;background:transparent;border:0;color:inherit;gap:0.55rem;grid-template-columns:auto minmax(0,1fr);padding:0;text-align:left;display:grid;min-width:0;width:100%}.vibe64-conversation-attachments__name[data-v-b26baf0f]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vibe64-conversation-attachments__size[data-v-b26baf0f]{color:rgba(var(--v-theme-on-surface),0.62)}.studio-conversation-log[data-v-54776e37]{border:1px solid rgba(var(--v-theme-outline),0.24);border-radius:8px;display:grid;gap:0.35rem;grid-template-rows:minmax(0,1fr);min-height:0;overflow:hidden;padding:0.5rem;position:relative;text-align:left}.studio-conversation-log__loading-skeleton[data-v-54776e37]{top:0;right:0;bottom:0;left:0;overflow:hidden;position:absolute;z-index:1}.studio-conversation-log__settling[data-v-54776e37]{background:rgb(var(--v-theme-surface));top:0;right:0;bottom:0;left:0;overflow:hidden;padding:0.5rem;position:absolute;z-index:1}.studio-conversation-log__settling-skeleton[data-v-54776e37]{height:100%}.studio-conversation-log__reload[data-v-54776e37]{color:rgba(var(--v-theme-on-surface),0.66);position:absolute;right:0.38rem;top:0.38rem;z-index:2}.studio-conversation-log__body[data-v-54776e37]{display:flex;flex-direction:column;gap:0.65rem;min-height:0;min-width:0;overflow-x:hidden;overflow-y:auto;padding-right:0.15rem}.studio-conversation-log__welcome[data-v-54776e37]{background:rgba(var(--v-theme-primary),0.08);border:1px solid rgba(var(--v-theme-primary),0.18);border-radius:16px;color:rgb(var(--v-theme-on-surface));display:grid;flex:0 0 auto;gap:0.55rem;margin:0.1rem 0.15rem 0;padding:0.8rem 0.9rem 0.9rem}.studio-conversation-log__welcome p[data-v-54776e37]{line-height:1.48;margin:0}.studio-conversation-log__body--settling[data-v-54776e37]{visibility:hidden}.studio-conversation-log__load-more[data-v-54776e37]{align-items:center;display:flex;flex:0 0 auto;flex-direction:column;gap:0.35rem;padding:0.35rem 0 0.55rem}.studio-conversation-log__load-more-error[data-v-54776e37]{color:rgb(var(--v-theme-error));font-size:0.76rem;line-height:1.3;text-align:center}.studio-conversation-log__load-more+.studio-conversation-log__turn[data-v-54776e37],.studio-conversation-log__body>.studio-conversation-log__turn[data-v-54776e37]:first-child{margin-top:auto}.studio-conversation-log__turn[data-v-54776e37]{contain-intrinsic-block-size:auto 12rem;content-visibility:auto;display:flex;flex:0 0 auto;flex-direction:column;gap:0.65rem;min-height:0;min-width:0}.studio-conversation-log__message-row[data-v-54776e37]{align-items:start;display:grid;gap:0.65rem;max-width:100%;min-width:0;overflow-x:hidden}.studio-conversation-log__message-row--user[data-v-54776e37]{grid-template-columns:minmax(0,auto) auto;justify-self:end;max-width:min(28rem,88%);margin-left:auto}.studio-conversation-log__message-row--assistant[data-v-54776e37]{display:flex;flex-direction:column;gap:0.28rem;justify-self:start;max-width:min(42rem,94%);margin-right:auto}.studio-conversation-log__assistant-header[data-v-54776e37]{align-items:center;display:grid;gap:0.65rem;grid-template-columns:auto minmax(0,1fr);min-width:0}.studio-conversation-log__message[data-v-54776e37]{display:flex;flex-direction:column;gap:0.24rem;max-width:100%;min-width:0;overflow-wrap:anywhere;word-break:break-word}.studio-conversation-log__avatar[data-v-54776e37]{align-items:center;border-radius:999px;display:inline-flex;height:1.5rem;justify-content:center;width:1.5rem}.studio-conversation-log__avatar--user[data-v-54776e37]{background:#e9f2fc;color:#2f79ca;margin-top:0.2rem}.studio-conversation-log__avatar--assistant[data-v-54776e37]{background:#5b9ce1;color:#ffffff;margin-top:0.05rem}.studio-conversation-log__message--user[data-v-54776e37]{background:#e3ebf5;border-radius:16px;color:#202936;gap:0.75rem;justify-content:space-between;overflow-x:auto;padding:0.75rem 1rem 0.72rem;width:fit-content}.studio-conversation-log__message--assistant[data-v-54776e37]{background:rgb(var(--v-theme-surface));color:rgb(var(--v-theme-on-surface));padding:0}.studio-conversation-log--task[data-v-54776e37]{border-color:rgba(126,87,194,0.32)}.studio-conversation-log--task .studio-conversation-log__avatar--assistant[data-v-54776e37]{background:#7e57c2}.studio-conversation-log--task .studio-conversation-log__message--user[data-v-54776e37]{background:#eee8f8;color:#2d2440}.studio-conversation-log__thinking[data-v-54776e37]{justify-self:start;margin-left:2.15rem;max-width:min(34rem,86%)}.studio-conversation-log__user-content-toggle[data-v-54776e37]{background:transparent;border:0;color:rgb(var(--v-theme-primary));cursor:pointer;font:inherit;text-align:left}.studio-conversation-log__system[data-v-54776e37]{align-items:start;background:transparent;color:rgba(var(--v-theme-on-surface),0.84);display:grid;gap:0.45rem;grid-template-columns:auto minmax(0,1fr);justify-self:start;max-width:min(34rem,96%);min-width:0;padding:0.1rem 0.15rem}.studio-conversation-log__system-icon[data-v-54776e37]{color:rgba(var(--v-theme-primary),0.82);margin-top:0.15rem}.studio-conversation-log__system-body[data-v-54776e37]{display:grid;gap:0.1rem;min-width:0;overflow-wrap:anywhere}.studio-conversation-log__system-meta[data-v-54776e37]{align-items:center;color:rgba(var(--v-theme-on-surface),0.48);display:flex;font-size:0.72rem;gap:0.5rem;line-height:1.15}.studio-conversation-log__message-header[data-v-54776e37]{align-items:center;color:rgba(var(--v-theme-on-surface),0.82);display:flex;font-size:0.9rem;gap:0.7rem;justify-content:space-between;line-height:1.2}.studio-conversation-log__message--assistant .studio-conversation-log__message-header[data-v-54776e37]{color:rgba(var(--v-theme-on-surface),0.78);font-weight:560}.studio-conversation-log__message-header span[data-v-54776e37]{align-items:center;display:flex;gap:0.25rem;min-width:0;overflow-wrap:anywhere}.studio-conversation-log__message-header time[data-v-54776e37]{color:#6d7888;font-weight:650}.studio-conversation-log__message-footer[data-v-54776e37]{align-items:center;color:#9aa6b6;display:flex;font-size:0.88rem;font-weight:500;gap:0.65rem;line-height:1.2}.studio-conversation-log__message-footer--user[data-v-54776e37]{justify-content:flex-start}.studio-conversation-log__message-footer--assistant[data-v-54776e37]{justify-content:flex-start;margin-top:-0.15rem}.studio-conversation-log__optimistic-failure[data-v-54776e37]{align-items:center;color:rgba(var(--v-theme-error),0.92);display:flex;flex-wrap:wrap;font-size:0.76rem;gap:0.35rem 0.55rem;line-height:1.25}.studio-conversation-log__optimistic-actions[data-v-54776e37]{align-items:center;display:inline-flex;gap:0.25rem}.studio-conversation-log__message--assistant[data-v-54776e37] .studio-long-text-review__blocks,.studio-conversation-log__message--user[data-v-54776e37] .studio-long-text-review__blocks{color:inherit;font-size:0.94rem;line-height:1.5;min-width:0;overflow-wrap:anywhere}.studio-conversation-log__message--assistant[data-v-54776e37] .studio-long-text-review__paragraph,.studio-conversation-log__message--user[data-v-54776e37] .studio-long-text-review__paragraph{font-size:0.94rem;margin-block:0}.studio-conversation-log__message--user[data-v-54776e37] .studio-long-text-review__paragraph{white-space:pre-wrap}.studio-conversation-log__user-content[data-v-54776e37]{min-width:0}.studio-conversation-log__user-content-toggle[data-v-54776e37]{align-self:flex-start;font-size:0.78rem;font-weight:650;padding:0}.studio-conversation-log__user-content-toggle[data-v-54776e37]:hover,.studio-conversation-log__user-content-toggle[data-v-54776e37]:focus-visible{text-decoration:underline}.studio-conversation-log__message--assistant[data-v-54776e37] .studio-long-text-review__paragraph code,.studio-conversation-log__message--assistant[data-v-54776e37] .studio-long-text-review__list li>code,.studio-conversation-log__message--assistant[data-v-54776e37] .studio-long-text-review__table th>code,.studio-conversation-log__message--assistant[data-v-54776e37] .studio-long-text-review__table td>code,.studio-conversation-log__message--assistant[data-v-54776e37] .studio-long-text-review__details-summary code,.studio-conversation-log__message--user[data-v-54776e37] .studio-long-text-review__paragraph code,.studio-conversation-log__message--user[data-v-54776e37] .studio-long-text-review__list li>code,.studio-conversation-log__message--user[data-v-54776e37] .studio-long-text-review__table th>code,.studio-conversation-log__message--user[data-v-54776e37] .studio-long-text-review__table td>code,.studio-conversation-log__message--user[data-v-54776e37] .studio-long-text-review__details-summary code{background:rgba(var(--v-theme-primary),0.07);border:1px solid rgba(var(--v-theme-primary),0.14);border-radius:3px;color:rgba(var(--v-theme-on-surface),0.9);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size:0.9em;padding:0.02rem 0.2rem}.studio-conversation-log__questions[data-v-54776e37]{box-sizing:border-box;display:grid;gap:0.2rem;list-style:none;margin:0;max-width:100%;min-width:0;padding:0}.studio-conversation-log__question[data-v-54776e37]{align-items:start;background:rgba(var(--v-theme-surface),0.62);border:1px solid rgba(var(--v-theme-outline),0.2);border-radius:8px;box-sizing:border-box;display:grid;gap:0.32rem;grid-template-columns:auto minmax(0,1fr);max-width:100%;min-width:0;padding:0.28rem 0.42rem}.studio-conversation-log__question-number[data-v-54776e37]{align-items:center;background:rgba(var(--v-theme-primary),0.1);border:1px solid rgba(var(--v-theme-primary),0.2);border-radius:999px;color:rgb(var(--v-theme-primary));display:inline-flex;font-size:0.72rem;font-weight:760;height:1.35rem;justify-content:center;line-height:1;min-width:1.35rem}.studio-conversation-log__question-text[data-v-54776e37]{color:rgb(var(--v-theme-on-surface));font-size:0.9rem;line-height:1.35;max-width:100%;min-width:0;overflow-wrap:anywhere}.studio-conversation-log__question-content[data-v-54776e37]{display:block;min-width:0}.studio-conversation-log__question-choices[data-v-54776e37]{color:rgba(var(--v-theme-on-surface),0.72);display:inline;font-size:0.8rem;margin:0;padding:0}.studio-conversation-log__question-choices[data-v-54776e37]::before{content:" · "}.studio-conversation-log__question-choices li[data-v-54776e37]{display:inline;overflow-wrap:anywhere}.studio-conversation-log__question-choices li+li[data-v-54776e37]::before{content:" · "}.studio-conversation-log__bottom[data-v-54776e37]{height:1px}.vibe64-source-explanation[data-v-dbf6b072]{block-size:100%;border-left:1px solid rgba(var(--v-border-color),0.28);contain:layout style paint;display:grid;gap:0.42rem;grid-template-areas:"header" "stale" "thread" "recovery" "followup";grid-template-rows:auto auto minmax(0,1fr) auto auto;height:100%;max-block-size:100%;min-block-size:0;min-width:0;overflow:hidden;padding:0.52rem 0.64rem 2px}.vibe64-source-explanation__header[data-v-dbf6b072]{align-items:center;display:flex;grid-area:header;gap:0.45rem;justify-content:space-between;min-width:0}.vibe64-source-explanation__source[data-v-dbf6b072]{align-items:center;display:flex;flex:1 1 auto;flex-wrap:nowrap;gap:0.35rem;min-width:0;overflow:hidden}.vibe64-source-explanation__range[data-v-dbf6b072]{background:transparent;border:0;color:rgb(var(--v-theme-primary));cursor:pointer;display:flex;flex:1 1 auto;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size:0.78rem;inline-size:auto;line-height:1.2;max-inline-size:100%;min-block-size:3rem;min-width:0;overflow:hidden;padding:0;text-align:left;white-space:nowrap}.vibe64-source-explanation__range[data-v-dbf6b072]:focus-visible,.vibe64-source-explanation__thread[data-v-dbf6b072]:focus-visible{outline:2px solid rgb(var(--v-theme-primary));outline-offset:2px}.vibe64-source-explanation__range-path[data-v-dbf6b072]{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vibe64-source-explanation__range-suffix[data-v-dbf6b072]{flex:0 0 auto}.vibe64-source-explanation__message strong[data-v-dbf6b072]{font-size:0.76rem}.vibe64-source-explanation__message p[data-v-dbf6b072]{color:rgba(var(--v-theme-on-surface),0.78);font-size:0.84rem;line-height:1.45;margin:0;white-space:pre-wrap}.vibe64-source-explanation__status[data-v-dbf6b072]{align-items:center;color:rgba(var(--v-theme-on-surface),0.78);display:flex;font-size:0.76rem;font-weight:650;gap:0.45rem;line-height:1.35;min-block-size:1.4rem;min-width:0}.vibe64-source-explanation__thinking[data-v-dbf6b072]{display:grid;gap:0.22rem;min-width:0}.vibe64-source-explanation__status-mark[data-v-dbf6b072]{animation:vibe64-source-explanation-thinking-pulse-dbf6b072 1.3s ease-in-out infinite;background:rgb(var(--v-theme-primary));border-radius:999px;block-size:0.46rem;flex:0 0 auto;inline-size:0.46rem}.vibe64-source-explanation__thinking-detail[data-v-dbf6b072]{min-width:0}.vibe64-source-explanation__thinking-detail[data-v-dbf6b072] .studio-long-text-review__paragraph,.vibe64-source-explanation__thinking-detail[data-v-dbf6b072] .studio-long-text-review__list li{color:rgba(var(--v-theme-on-surface),0.68);font-size:0.74rem;line-height:1.28}.vibe64-source-explanation__status--stopped[data-v-dbf6b072]{color:rgba(var(--v-theme-on-surface),0.62)}.vibe64-source-explanation__stale[data-v-dbf6b072]{grid-area:stale}.vibe64-source-explanation__thread[data-v-dbf6b072]{contain:layout style paint;display:flex;flex-direction:column;gap:0.45rem;grid-area:thread;min-block-size:0;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:0 0.1rem 0.08rem 0}.vibe64-source-explanation__message[data-v-dbf6b072]{border-radius:7px;display:grid;gap:0.24rem;max-width:100%;min-width:0;padding:0.46rem 0.58rem}.vibe64-source-explanation__thread>.vibe64-source-explanation__message[data-v-dbf6b072]:first-child{margin-top:auto}.vibe64-source-explanation__message--user[data-v-dbf6b072]{background:rgba(var(--v-theme-primary),0.12)}.vibe64-source-explanation__message--assistant[data-v-dbf6b072]{background:transparent;padding-inline:0.1rem}.vibe64-source-explanation__message--failed[data-v-dbf6b072]{background:rgba(var(--v-theme-error),0.08);border:1px solid rgba(var(--v-theme-error),0.24);padding:0.46rem 0.58rem}.vibe64-source-explanation__failure-detail[data-v-dbf6b072] .studio-long-text-review__paragraph,.vibe64-source-explanation__failure-detail[data-v-dbf6b072] .studio-long-text-review__list li{color:rgb(var(--v-theme-error))}.vibe64-source-explanation__followup[data-v-dbf6b072]{align-self:end;grid-area:followup;min-width:0;width:100%}.vibe64-source-explanation__recovery[data-v-dbf6b072]{background:rgba(var(--v-theme-error),0.06);border:1px solid rgba(var(--v-theme-error),0.2);border-radius:9px;display:grid;gap:0.45rem;grid-area:recovery;padding:0.55rem}.vibe64-source-explanation__recovery p[data-v-dbf6b072]{color:rgba(var(--v-theme-on-surface),0.72);font-size:0.76rem;line-height:1.35;margin:0}.vibe64-source-explanation__recovery-actions[data-v-dbf6b072]{align-items:center;display:flex;gap:0.4rem;justify-content:flex-end}.vibe64-source-explanation__followup[data-v-dbf6b072] .studio-autopilot-prompt-textarea{padding:0.18rem 0 0}.vibe64-source-explanation__followup[data-v-dbf6b072] .studio-autopilot-prompt-textarea__field{align-items:end;border-radius:9px;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;min-block-size:3.2rem;padding:0.18rem 0.28rem 0.28rem}.vibe64-source-explanation__followup[data-v-dbf6b072] .studio-autopilot-prompt-textarea__label{grid-column:1 / -1;margin:-0.44rem 0 0 0.48rem}.vibe64-source-explanation__followup[data-v-dbf6b072] .studio-autopilot-prompt-textarea__footer{align-self:end;grid-column:2;grid-row:2;padding:0}.vibe64-source-explanation__followup[data-v-dbf6b072] .studio-autopilot-prompt-textarea__input{grid-column:1;grid-row:2;line-height:1.34;max-height:min(8rem,22dvh);min-height:1.65rem;padding:0.28rem 0.46rem 0.22rem}.vibe64-source-explanation__followup[data-v-dbf6b072] .studio-autopilot-prompt-textarea__input::placeholder{color:rgba(var(--v-theme-on-surface),0.46)}.vibe64-source-explanation__followup[data-v-dbf6b072] .studio-autopilot-prompt-textarea__input:disabled::placeholder{color:rgba(var(--v-theme-on-surface),0.46)}.vibe64-source-explanation__followup-footer[data-v-dbf6b072]{display:flex;gap:0.32rem;justify-content:flex-end;min-width:0}.vibe64-source-explanation__followup-footer[data-v-dbf6b072] .v-btn{block-size:3rem;inline-size:3rem;min-inline-size:3rem}.vibe64-source-explanation__action-target[data-v-dbf6b072]{min-block-size:3rem;min-inline-size:3rem}.vibe64-source-explanation__close-button[data-v-dbf6b072]{min-inline-size:6.25rem}.vibe64-source-explanation__thread-bottom[data-v-dbf6b072]{flex:0 0 1px;height:1px}@keyframes vibe64-source-explanation-thinking-pulse-dbf6b072{0%,100%{opacity:0.62}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.vibe64-source-explanation__status-mark[data-v-dbf6b072]{animation:none}}.vibe64-source-tree[data-v-66801c99]{display:grid;gap:0.08rem;list-style:none;margin:0;min-width:0;padding:0}.vibe64-source-tree .vibe64-source-tree[data-v-66801c99]{padding-left:0.75rem}.vibe64-source-tree__item[data-v-66801c99]{min-width:0}.vibe64-source-tree__row[data-v-66801c99]{align-items:center;display:grid;grid-template-columns:minmax(0,1fr) auto;min-width:0}.vibe64-source-tree__button[data-v-66801c99]{align-items:center;border:0;border-radius:6px;color:rgba(var(--v-theme-on-surface),0.78);display:flex;font-size:0.82rem;font-weight:400;gap:0.42rem;line-height:1.25;min-height:1.72rem;min-width:0;padding:0.22rem 0.38rem;text-align:left;width:100%}.vibe64-source-tree__button[data-v-66801c99]{background:transparent;cursor:pointer}.vibe64-source-tree__button[data-v-66801c99]:hover,.vibe64-source-tree__button[data-v-66801c99]:focus-visible{background:rgba(var(--v-theme-primary),0.08);outline:0}.vibe64-source-tree__button--active[data-v-66801c99]{background:rgba(var(--v-theme-primary),0.14);color:rgb(var(--v-theme-primary));font-weight:500}.vibe64-source-tree__button--more[data-v-66801c99]{color:rgba(var(--v-theme-on-surface),0.68);font-size:0.78rem;font-weight:500}.vibe64-source-tree__button[data-v-66801c99]:disabled{cursor:default;opacity:0.62}.vibe64-source-tree__menu-button[data-v-66801c99]{color:rgba(var(--v-theme-on-surface),0.56);flex:0 0 auto;min-block-size:1.72rem;min-inline-size:1.72rem}.vibe64-source-tree__menu[data-v-66801c99] .v-list-item-title{font-size:0.82rem}.vibe64-source-tree__notice[data-v-66801c99]{color:rgba(var(--v-theme-on-surface),0.58);font-size:0.74rem;padding:0.22rem 0.38rem 0.28rem 2.05rem}.vibe64-source-tree__notice--error[data-v-66801c99]{color:rgb(var(--v-theme-error))}.vibe64-source-tree__button span[data-v-66801c99]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vibe64-source-tree__chevron[data-v-66801c99]{color:rgba(var(--v-theme-on-surface),0.58);flex:0 0 auto;transition:transform 0.14s ease}.vibe64-source-tree__chevron--open[data-v-66801c99]{transform:rotate(90deg)}.vibe64-source-tree__chevron-spacer[data-v-66801c99]{flex:0 0 14px;height:14px;width:14px}.vibe64-source-editor__starred[data-v-ab1509c9]{margin-bottom:0.75rem}.vibe64-source-editor__starred .starred-files-list[data-v-ab1509c9]{max-height:14rem;overflow-y:auto;overscroll-behavior:contain}.vibe64-source-editor__starred summary[data-v-ab1509c9]{cursor:pointer;padding:0.375rem;font-size:0.8125rem;font-weight:500}.vibe64-source-editor__starred summary span[data-v-ab1509c9]{margin-left:0.25rem;font-weight:400;color:rgba(var(--v-theme-on-surface),0.7)}.vibe64-source-editor__download-status[data-v-ab1509c9]{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.vibe64-source-editor[data-v-ab1509c9]{block-size:100%;display:grid;grid-template-rows:auto auto minmax(0,1fr);min-block-size:0;overflow:hidden}.vibe64-source-editor__header[data-v-ab1509c9]{align-items:center;border-bottom:1px solid rgba(var(--v-border-color),0.3);display:flex;flex-wrap:wrap;gap:0.48rem;justify-content:space-between;min-width:0;padding:0.24rem 0.52rem}.vibe64-source-editor__title[data-v-ab1509c9]{align-items:center;display:flex;gap:0.42rem;min-width:0}.vibe64-source-editor__title h2[data-v-ab1509c9]{font-size:0.9rem;font-weight:760;letter-spacing:0;line-height:1.15;margin:0;max-width:min(52vw,46rem);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vibe64-source-editor__actions[data-v-ab1509c9]{align-items:center;display:flex;flex:0 0 auto;gap:0.22rem}.vibe64-source-editor__actions[data-v-ab1509c9] .v-btn{block-size:1.9rem;min-block-size:1.9rem;min-inline-size:1.9rem}.vibe64-source-editor__status[data-v-ab1509c9]{color:rgba(var(--v-theme-on-surface),0.64);font-size:0.75rem;margin-right:0.35rem;max-width:16rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vibe64-source-editor__status--error[data-v-ab1509c9]{color:rgb(var(--v-theme-error))}.vibe64-source-editor__explain-button[data-v-ab1509c9]{font-weight:680;min-inline-size:6.25rem;text-transform:none}.vibe64-source-editor__tools[data-v-ab1509c9]{align-items:start;border-bottom:1px solid rgba(var(--v-border-color),0.24);display:grid;gap:0.38rem;grid-template-columns:minmax(14rem,22rem) minmax(14rem,1fr);min-width:0;padding:0.22rem 0.48rem}.vibe64-source-editor__tools[data-v-ab1509c9] .v-field{min-block-size:2.35rem}.vibe64-source-editor__tools[data-v-ab1509c9] .v-field__input{min-block-size:2.35rem;padding-block:0.28rem}.vibe64-source-editor__tools[data-v-ab1509c9] .v-field__prepend-inner,.vibe64-source-editor__tools[data-v-ab1509c9] .v-field__clearable{padding-top:0.4rem}.vibe64-source-editor__tool[data-v-ab1509c9]{min-width:0;position:relative}.vibe64-source-editor__matches[data-v-ab1509c9]{background:rgb(var(--v-theme-surface));border:1px solid rgba(var(--v-border-color),0.35);border-radius:8px;box-shadow:0 12px 28px rgba(15,23,42,0.16);display:grid;gap:0.08rem;inset-inline:0;margin-top:0.28rem;max-block-size:min(18rem,52vh);overflow:auto;padding:0.28rem;position:absolute;z-index:8}.vibe64-source-editor__match[data-v-ab1509c9]{background:transparent;border:0;border-radius:6px;color:rgb(var(--v-theme-on-surface));cursor:pointer;display:grid;gap:0.08rem;min-width:0;padding:0.42rem 0.5rem;text-align:left}.vibe64-source-editor__match[data-v-ab1509c9]:hover{background:rgba(var(--v-theme-primary),0.08)}.vibe64-source-editor__match-name[data-v-ab1509c9],.vibe64-source-editor__match-path[data-v-ab1509c9]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vibe64-source-editor__match-name[data-v-ab1509c9]{font-size:0.84rem;font-weight:720}.vibe64-source-editor__match-path[data-v-ab1509c9]{color:rgba(var(--v-theme-on-surface),0.58);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size:0.72rem}.vibe64-source-editor__match-note[data-v-ab1509c9]{color:rgba(var(--v-theme-on-surface),0.64);font-size:0.78rem;padding:0.48rem 0.55rem}.vibe64-source-editor__match-note--error[data-v-ab1509c9]{color:rgb(var(--v-theme-error))}.vibe64-source-editor__body[data-v-ab1509c9]{block-size:100%;contain:layout style;display:grid;grid-template-columns:minmax(12rem,17rem) minmax(0,1fr);max-block-size:100%;min-block-size:0;overflow:hidden}.vibe64-source-editor__body--file-list-collapsed[data-v-ab1509c9]{grid-template-columns:2.65rem minmax(0,1fr)}.vibe64-source-editor__sidebar[data-v-ab1509c9]{border-right:1px solid rgba(var(--v-border-color),0.26);contain:layout style paint;min-block-size:0;overflow:auto;padding:0 0.64rem 0.64rem}.vibe64-source-editor__sidebar--collapsed[data-v-ab1509c9]{overflow:hidden;padding:0}.vibe64-source-editor__side-rail[data-v-ab1509c9]{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:rgba(var(--v-theme-primary),0.08);border:0;color:rgba(var(--v-theme-on-surface),0.74);cursor:pointer;display:grid;gap:0.34rem;grid-template-rows:auto auto;height:100%;justify-items:center;min-height:0;min-width:0;padding:0.56rem 0.18rem;width:100%}.vibe64-source-editor__side-rail[data-v-ab1509c9]:hover,.vibe64-source-editor__side-rail[data-v-ab1509c9]:focus-visible{background:rgba(var(--v-theme-primary),0.14);outline:0}.vibe64-source-editor__side-rail span[data-v-ab1509c9]{font-size:0.76rem;font-weight:740;letter-spacing:0;line-height:1;transform:rotate(180deg);writing-mode:vertical-rl}.vibe64-source-editor__side-rail--right[data-v-ab1509c9]{background:rgba(var(--v-theme-primary),0.07)}.vibe64-source-editor__tree-toolbar[data-v-ab1509c9]{align-items:center;background:rgb(var(--v-theme-surface));border-bottom:1px solid rgba(var(--v-border-color),0.18);box-sizing:border-box;color:rgba(var(--v-theme-on-surface),0.62);display:flex;font-size:0.72rem;font-weight:720;justify-content:space-between;letter-spacing:0;margin:0 -0.64rem 0.44rem;min-width:0;padding:0.48rem 0.72rem 0.34rem;position:sticky;top:0;z-index:4}.vibe64-source-editor__tree-actions[data-v-ab1509c9]{align-items:center;display:flex;flex:0 0 auto;gap:0.08rem}.vibe64-source-editor__collapse-files-button[data-v-ab1509c9]{min-inline-size:2.2rem}.vibe64-source-editor__search-results[data-v-ab1509c9]{border-bottom:1px solid rgba(var(--v-border-color),0.24);display:grid;gap:0.16rem;margin:-0.1rem -0.1rem 0.58rem;max-block-size:min(21rem,45vh);overflow:auto;padding:0 0 0.58rem}.vibe64-source-editor__search-heading[data-v-ab1509c9]{align-items:center;color:rgba(var(--v-theme-on-surface),0.66);display:flex;font-size:0.72rem;font-weight:760;justify-content:space-between;letter-spacing:0;padding:0 0.16rem 0.22rem;text-transform:uppercase}.vibe64-source-editor__search-heading small[data-v-ab1509c9]{color:rgba(var(--v-theme-on-surface),0.52);font-size:0.7rem}.vibe64-source-editor__search-result[data-v-ab1509c9]{background:transparent;border:0;border-radius:7px;color:rgb(var(--v-theme-on-surface));cursor:pointer;display:grid;gap:0.12rem;min-width:0;padding:0.46rem 0.5rem;text-align:left}.vibe64-source-editor__search-result[data-v-ab1509c9]:hover{background:rgba(var(--v-theme-primary),0.08)}.vibe64-source-editor__new-file-dialog[data-v-ab1509c9]{display:grid;gap:0.76rem}.vibe64-source-editor__new-file-dialog p[data-v-ab1509c9]{color:rgba(var(--v-theme-on-surface),0.66);font-size:0.84rem;line-height:1.35;margin:0}.vibe64-source-editor__search-path[data-v-ab1509c9],.vibe64-source-editor__search-location[data-v-ab1509c9],.vibe64-source-editor__search-preview[data-v-ab1509c9]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vibe64-source-editor__search-path[data-v-ab1509c9]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size:0.75rem;font-weight:720}.vibe64-source-editor__search-location[data-v-ab1509c9]{color:rgba(var(--v-theme-on-surface),0.54);font-size:0.7rem}.vibe64-source-editor__search-preview[data-v-ab1509c9]{color:rgba(var(--v-theme-on-surface),0.68);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size:0.72rem}.vibe64-source-editor__main[data-v-ab1509c9]{block-size:100%;contain:layout style;display:grid;grid-template-rows:auto auto auto minmax(0,1fr);max-block-size:100%;min-block-size:0;min-width:0;overflow:hidden;position:relative}.vibe64-source-editor__workspace[data-v-ab1509c9]{block-size:100%;contain:layout style;display:grid;grid-row:4;grid-template-columns:minmax(0,1fr);max-block-size:100%;min-block-size:0;min-width:0;overflow:hidden;position:relative}.vibe64-source-editor__workspace--with-explanation[data-v-ab1509c9]{grid-template-columns:minmax(0,1fr) minmax(18rem,27rem)}.vibe64-source-editor__workspace--explanation-collapsed[data-v-ab1509c9]{grid-template-columns:minmax(0,1fr) 2.65rem}.vibe64-source-editor__explanation-dock[data-v-ab1509c9]{block-size:100%;display:grid;grid-template-rows:minmax(0,1fr);height:100%;min-block-size:0;min-width:0;overflow:hidden}.vibe64-source-editor__explanation-dock[data-v-ab1509c9]>.vibe64-source-explanation{block-size:100%;height:100%;min-block-size:0}.vibe64-source-editor__explanation-dock--collapsed[data-v-ab1509c9]{border-left:1px solid rgba(var(--v-border-color),0.26)}.vibe64-source-editor__codemirror[data-v-ab1509c9]{contain:layout style paint;min-block-size:0;min-width:0;overflow:hidden}.vibe64-source-editor__codemirror[data-v-ab1509c9] .cm-editor.vibe64-source-editor__codemirror--source-link-hover .cm-content{cursor:pointer}.vibe64-source-editor__codemirror--hidden[data-v-ab1509c9]{display:none}.vibe64-source-editor__file-loading[data-v-ab1509c9]{background:rgb(var(--v-theme-surface));top:0;right:0;bottom:0;left:0;overflow:hidden;padding:0.75rem;position:absolute;z-index:4}.vibe64-source-editor__file-skeleton[data-v-ab1509c9]{height:100%}.vibe64-source-editor__notice[data-v-ab1509c9],.vibe64-source-editor__empty[data-v-ab1509c9],.vibe64-source-editor__banner[data-v-ab1509c9]{color:rgba(var(--v-theme-on-surface),0.68);font-size:0.86rem;padding:0.72rem}.vibe64-source-editor__notice--error[data-v-ab1509c9],.vibe64-source-editor__banner--error[data-v-ab1509c9]{color:rgb(var(--v-theme-error))}.vibe64-source-editor__empty[data-v-ab1509c9]{align-self:start}@media(max-width:900px){.vibe64-source-editor__tools[data-v-ab1509c9]{grid-template-columns:1fr}.vibe64-source-editor__body[data-v-ab1509c9]{grid-template-columns:1fr;grid-template-rows:minmax(9rem,14rem) minmax(0,1fr)}.vibe64-source-editor__body--file-list-collapsed[data-v-ab1509c9]{grid-template-columns:1fr;grid-template-rows:2.65rem minmax(0,1fr)}.vibe64-source-editor__sidebar[data-v-ab1509c9]{border-bottom:1px solid rgba(var(--v-border-color),0.26);border-right:0}.vibe64-source-editor__side-rail[data-v-ab1509c9]{grid-template-columns:auto auto;grid-template-rows:1fr;justify-content:start;padding:0.18rem 0.56rem}.vibe64-source-editor__side-rail span[data-v-ab1509c9]{transform:none;writing-mode:horizontal-tb}.vibe64-source-editor__workspace--with-explanation[data-v-ab1509c9]{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) minmax(16rem,42vh)}.vibe64-source-editor__workspace--explanation-collapsed[data-v-ab1509c9]{grid-template-rows:minmax(0,1fr) 2.65rem}}.vibe64-source-editor--mobile .vibe64-source-editor__header[data-v-ab1509c9]{flex-wrap:nowrap;gap:0;padding:0 0.25rem}.vibe64-source-editor--mobile .vibe64-source-editor__title[data-v-ab1509c9]{flex:1;overflow:hidden}.vibe64-source-editor--mobile .vibe64-source-editor__title h2[data-v-ab1509c9]{max-width:100%;font-weight:500}.vibe64-source-editor__mobile-actions[data-v-ab1509c9]{display:flex;flex:0 0 auto}.vibe64-source-editor--mobile-file-open[data-v-ab1509c9]{grid-template-rows:auto minmax(0,1fr)}.vibe64-source-editor--mobile .vibe64-source-editor__tools[data-v-ab1509c9]{grid-template-columns:minmax(0,1fr)}.vibe64-source-editor--mobile .vibe64-source-editor__body[data-v-ab1509c9]{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.vibe64-source-editor--code-focus[data-v-ab1509c9]{grid-template-rows:auto minmax(0,1fr)}.vibe64-source-editor__body--code-focus[data-v-ab1509c9]{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.session-file-area[data-v-cd420eab]{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:auto}.session-file-area__drop-target[data-v-cd420eab]{position:absolute;top:8px;right:8px;bottom:8px;left:8px;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border:2px dashed rgb(var(--v-theme-primary));background:rgba(var(--v-theme-surface),0.96);color:rgb(var(--v-theme-primary));pointer-events:none}.session-file-area__listing[data-v-cd420eab]{flex:1;overflow:auto;min-height:0}.session-file-area__filename[data-v-cd420eab]{overflow-wrap:anywhere}.session-file-area__preview[data-v-cd420eab]{flex:1;min-height:0;overflow:auto;padding:12px;white-space:pre-wrap;overflow-wrap:anywhere}.session-file-area__text[data-v-cd420eab]{font-family:monospace}.session-file-area--mobile .session-file-area__filename[data-v-cd420eab]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-file-area--mobile .session-file-area__preview[data-v-cd420eab]{margin:0;padding:8px}.vibe64-session-files[data-v-b9bb0099]{display:flex;flex-direction:column;min-height:0;min-width:0}.vibe64-session-files__content[data-v-b9bb0099]{flex:1;min-height:0}
@@ -1 +1 @@
1
- import{_ as _export_sfc,et as useVibe64SystemGraph,ck as toRef,H as watch,a6 as nextTick,d_ as useVibe64DatabaseTools,A as computed,a as openBlock,c as createElementBlock,d as createBaseVNode,e as createVNode,i as unref,eu as mdiLayersTripleOutline,h as VIcon,w as withCtx,n as VBtn,ev as mdiViewGridOutline,j as createTextVNode,ew as mdiCityVariantOutline,dn as VBtnToggle,aj as mdiRefresh,K as VSkeletonLoader,t as toDisplayString,$ as normalizeClass,aa as mdiMagnify,a9 as VTextField,F as Fragment,y as renderList,r as createCommentVNode,b9 as mdiArrowTopRight,b as createBlock,ct as mdiFileDocumentOutline,as as mdiCodeBraces,e0 as mdiDatabaseOutline,B as ref}from"./index-SBc6H2In.js";import Vibe64SystemWorldView from"./Vibe64SystemWorldView-UdNJZbqX.js";function tableIdentity(table){return JSON.stringify([table.resource,table.schema,table.table])}function subsystemEntries(map,programCity,databaseState){const operationsByPath=new Map(((programCity==null?void 0:programCity.buildings)||[]).map(operation=>[operation.path,operation]));const ownersByTable=new Map(((map==null?void 0:map.subsystems)||[]).flatMap(entry=>entry.dataOwned.map(table=>[tableIdentity(table),entry])));function resolveTable(reference){var _a,_b;const key=tableIdentity(reference);const owner=ownersByTable.get(key);const connection=databaseState==null?void 0:databaseState.connection;const defaultSchema=((_a=databaseState==null?void 0:databaseState.schema)==null?void 0:_a.defaultSchema)||((connection==null?void 0:connection.engine)==="mysql"?connection.database:"");const schema=reference.schema==="default"?defaultSchema:reference.schema;const canResolve=Boolean((connection==null?void 0:connection.resourceId)===reference.resource&&schema);const table=canResolve?(((_b=databaseState.schema)==null?void 0:_b.tables)||[]).find(entry=>entry.schema===schema&&entry.name===reference.table):null;return{...reference,key,ownerId:owner==null?void 0:owner.id,ownerTitle:owner==null?void 0:owner.title,qualifiedName:(table==null?void 0:table.qualifiedName)||"",resolution:table?"resolved":canResolve?"missing":"unavailable"}}return((map==null?void 0:map.subsystems)||[]).map(entry=>({...entry,operations:entry.program.map(path=>({path,title:path.split("/").at(-1).replace(/\.md$/u,"").replace(/-/gu," "),...operationsByPath.get(path)})),dataOwned:entry.dataOwned.map(resolveTable),dataUsed:entry.dataUsed.map(resolveTable)}))}function subsystemCity(map,programCity){if((map==null?void 0:map.status)!=="valid"){return programCity}const entries=subsystemEntries(map,programCity,null);return{...programCity,schema:"genesis.program-city.v1",schemaVersion:1,status:"valid",links:[],districts:entries.map(entry=>({id:`subsystem:${entry.id}`,path:entry.id,title:entry.title,description:entry.description,parentId:null})),buildings:entries.flatMap(entry=>{const districtId=`subsystem:${entry.id}`;const operations=entry.operations.map(operation=>({...operation,id:`operation:${operation.path}`,districtId,subsystem:entry.id,sources:operation.sources||[],publicContract:operation.publicContract||"Refresh Cities to load this operation’s explanation.",implementationMap:operation.implementationMap||"",description:operation.description||"",sourceFileIds:operation.sourceFileIds||[]}));const tables=entry.dataOwned.map(table=>({id:`table:${table.key}`,kind:"table",title:table.table,tableReference:table,districtId,subsystem:entry.id,path:"genesis/subsystems.md",sources:[],sourceFileIds:[],description:`Data owned by ${entry.title}.`,publicContract:"",implementationMap:""}));return[...operations,...tables]})}}const _hoisted_1={class:"subsystems","aria-label":"Project subsystems"};const _hoisted_2={class:"subsystems__toolbar"};const _hoisted_3={class:"subsystems__identity"};const _hoisted_4={key:0,class:"subsystems__empty",role:"status"};const _hoisted_5={key:1,class:"subsystems__empty",role:"alert"};const _hoisted_6={key:2,class:"subsystems__empty"};const _hoisted_7={key:0,class:"subsystems__catalog"};const _hoisted_8={class:"subsystems__cards"};const _hoisted_9=["aria-pressed","onClick"];const _hoisted_10={class:"subsystems__card-icon"};const _hoisted_11={class:"subsystems__counts"};const _hoisted_12={key:0};const _hoisted_13={key:0,class:"subsystems__muted"};const _hoisted_14={key:0,class:"subsystems__unassigned"};const _hoisted_15=["onClick"];const _hoisted_16=["aria-label"];const _hoisted_17={class:"subsystems__responsibility"};const _hoisted_18={class:"subsystems__detail-actions"};const _hoisted_19={class:"subsystems__section"};const _hoisted_20={key:0,class:"subsystems__muted"};const _hoisted_21={class:"subsystems__contract"};const _hoisted_22=["onClick"];const _hoisted_23={key:0,class:"subsystems__muted"};const _hoisted_24=["disabled","onClick"];const _hoisted_25=["onClick"];const _hoisted_26={key:1,class:"subsystems__muted"};const _hoisted_27={key:0,class:"subsystems__database-note",role:"status"};const _hoisted_28={key:1,class:"subsystems__muted",role:"status"};const _hoisted_29={key:4,class:"subsystems__notice",role:"status"};const _sfc_main={__name:"Vibe64SubsystemsView",props:{assistantAvailable:{type:Boolean,default:true},active:Boolean,sessionId:{type:String,required:true},projectSlug:{type:String,default:""},restoreRequest:{type:Object,default:null},resolveRequestUrl:{type:Function,default:value=>value}},emits:["open-source-file","open-table","describe-subsystems"],setup(__props,{emit:__emit}){const props=__props;const emit=__emit;const{subsystemMap,subsystemError,subsystemLoading,programCity,reload,refresh,refreshing,error}=useVibe64SystemGraph({active:toRef(props,"active"),sessionId:toRef(props,"sessionId")});const view=ref("overview");const search=ref("");const selectedId=ref("");const detailPane=ref(null);watch(selectedId,async()=>{var _a,_b;if((_a=globalThis.matchMedia)==null?void 0:_a.call(globalThis,"(max-width: 800px)").matches){await nextTick();(_b=detailPane.value)==null?void 0:_b.scrollIntoView({block:"start"})}});const cityRestoreRequest=ref(null);const hasData=computed(()=>{var _a,_b;return(_b=(_a=subsystemMap.value)==null?void 0:_a.subsystems)==null?void 0:_b.some(entry=>entry.dataOwned.length||entry.dataUsed.length)});const{state:databaseState,error:databaseError,loading:databaseLoading,reload:reloadDatabase}=useVibe64DatabaseTools({active:computed(()=>props.active&&hasData.value),sessionId:toRef(props,"sessionId"),projectSlug:toRef(props,"projectSlug")});const entries=computed(()=>subsystemEntries(subsystemMap.value,programCity.value,databaseState.value));const selected=computed(()=>entries.value.find(entry=>entry.id===selectedId.value)||entries.value[0]||null);const filteredEntries=computed(()=>{const query=String(search.value||"").toLowerCase().trim();return entries.value.filter(entry=>{const searchableText=[entry.title,entry.description,...entry.operations.map(operation=>operation.title),...entry.dataOwned.map(table=>table.table),...entry.dataUsed.map(table=>table.table)].join(" ").toLowerCase();return searchableText.includes(query)})});const spatialCity=computed(()=>subsystemCity(subsystemMap.value,programCity.value));const unassignedTables=computed(()=>{var _a,_b;const owned=new Set(entries.value.flatMap(entry=>entry.dataOwned.map(table=>table.qualifiedName)));return(((_b=(_a=databaseState.value)==null?void 0:_a.schema)==null?void 0:_b.tables)||[]).filter(table=>!owned.has(table.qualifiedName))});const dataGroups=[{key:"dataOwned",title:"Data owned"},{key:"dataUsed",title:"Data used"}];function returnContext(){var _a;return{subsystemView:view.value,subsystemId:((_a=selected.value)==null?void 0:_a.id)||""}}function openSource(path){forwardSource({path})}function forwardSource(target){emit("open-source-file",{...target,origin:"system",systemContext:{...target.systemContext,...returnContext()}})}function openTable(table){emit("open-table",{...table,systemContext:returnContext()})}function openDeclaredTable(reference){const table=entries.value.flatMap(entry=>entry.dataOwned).find(entry=>entry.key===reference.key);if(table==null?void 0:table.qualifiedName){openTable(table)}}function selectSubsystem(id){if(entries.value.some(entry=>entry.id===id)){selectedId.value=id}}function showInCity(){view.value="city";cityRestoreRequest.value={cityKind:"program",selectedDistrictId:`subsystem:${selected.value.id}`,sequence:Date.now()}}async function reloadAll(){await Promise.all([reload(),reloadDatabase()])}watch(()=>props.sessionId,()=>{selectedId.value="";search.value="";view.value="overview";cityRestoreRequest.value=null});watch(()=>props.restoreRequest,request=>{if(!request)return;if(request.subsystemId)selectedId.value=request.subsystemId;if(request.subsystemView)view.value=request.subsystemView;cityRestoreRequest.value=request},{immediate:true});return(_ctx,_cache)=>{return openBlock(),createElementBlock("section",_hoisted_1,[createBaseVNode("header",_hoisted_2,[createBaseVNode("div",_hoisted_3,[createVNode(VIcon,{icon:unref(mdiLayersTripleOutline)},null,8,["icon"]),_cache[5]||(_cache[5]=createBaseVNode("div",null,[createBaseVNode("strong",null,"Subsystems"),createBaseVNode("span",null,"How the application fits together")],-1))]),createVNode(VBtnToggle,{modelValue:view.value,"onUpdate:modelValue":_cache[0]||(_cache[0]=$event=>view.value=$event),mandatory:"",density:"compact",variant:"text","aria-label":"Subsystem presentation"},{default:withCtx(()=>[createVNode(VBtn,{value:"overview","prepend-icon":unref(mdiViewGridOutline),size:"small"},{default:withCtx(()=>[..._cache[6]||(_cache[6]=[createTextVNode("Overview",-1)])]),_:1},8,["prepend-icon"]),createVNode(VBtn,{value:"city","prepend-icon":unref(mdiCityVariantOutline),size:"small"},{default:withCtx(()=>[..._cache[7]||(_cache[7]=[createTextVNode("City",-1)])]),_:1},8,["prepend-icon"])]),_:1},8,["modelValue"]),createVNode(VBtn,{disabled:unref(refreshing),"prepend-icon":unref(mdiRefresh),size:"small",variant:"text",onClick:reloadAll},{default:withCtx(()=>[..._cache[8]||(_cache[8]=[createTextVNode("Reload",-1)])]),_:1},8,["disabled","prepend-icon"])]),unref(subsystemLoading)&&!unref(subsystemMap)?(openBlock(),createElementBlock("div",_hoisted_4,[createVNode(VSkeletonLoader,{type:"heading, paragraph, list-item-three-line@3"})])):unref(subsystemError)?(openBlock(),createElementBlock("div",_hoisted_5,[_cache[10]||(_cache[10]=createBaseVNode("h2",null,"Subsystems could not load",-1)),createBaseVNode("p",null,toDisplayString(unref(subsystemError)),1),createVNode(VBtn,{onClick:unref(reload)},{default:withCtx(()=>[..._cache[9]||(_cache[9]=[createTextVNode("Retry",-1)])]),_:1},8,["onClick"])])):!entries.value.length&&view.value==="overview"?(openBlock(),createElementBlock("div",_hoisted_6,[createVNode(VIcon,{icon:unref(mdiLayersTripleOutline),size:"48"},null,8,["icon"]),_cache[13]||(_cache[13]=createBaseVNode("h2",null,"A home for the bigger picture",-1)),_cache[14]||(_cache[14]=createBaseVNode("p",null,"Your project’s subsystem map connects responsibilities, operations, and data. The coding agent can create it from the application.",-1)),createVNode(VBtn,{disabled:!__props.assistantAvailable,color:"primary",variant:"tonal",onClick:_cache[1]||(_cache[1]=$event=>_ctx.$emit("describe-subsystems"))},{default:withCtx(()=>[..._cache[11]||(_cache[11]=[createTextVNode("Describe subsystems with AI",-1)])]),_:1},8,["disabled"]),createVNode(VBtn,{variant:"text",onClick:_cache[2]||(_cache[2]=$event=>view.value="city")},{default:withCtx(()=>[..._cache[12]||(_cache[12]=[createTextVNode("Explore existing Cities",-1)])]),_:1})])):(openBlock(),createElementBlock("div",{key:3,class:normalizeClass(["subsystems__body",{"subsystems__body--city":view.value==="city"}])},[view.value==="overview"?(openBlock(),createElementBlock("div",_hoisted_7,[createVNode(VTextField,{modelValue:search.value,"onUpdate:modelValue":_cache[3]||(_cache[3]=$event=>search.value=$event),"aria-label":"Find a subsystem, operation or table",placeholder:"Find a subsystem, operation or table…","prepend-inner-icon":unref(mdiMagnify),variant:"outlined",density:"compact","hide-details":"",clearable:""},null,8,["modelValue","prepend-inner-icon"]),createBaseVNode("div",_hoisted_8,[(openBlock(true),createElementBlock(Fragment,null,renderList(filteredEntries.value,entry=>{var _a,_b;return openBlock(),createElementBlock("button",{key:entry.id,type:"button",class:normalizeClass(["subsystems__card",{"subsystems__card--selected":((_a=selected.value)==null?void 0:_a.id)===entry.id}]),"aria-pressed":((_b=selected.value)==null?void 0:_b.id)===entry.id,onClick:$event=>selectedId.value=entry.id},[createBaseVNode("span",_hoisted_10,[createVNode(VIcon,{icon:unref(mdiLayersTripleOutline),size:"20"},null,8,["icon"])]),createBaseVNode("strong",null,toDisplayString(entry.title),1),createBaseVNode("p",null,toDisplayString(entry.description),1),createBaseVNode("span",_hoisted_11,[createBaseVNode("span",null,toDisplayString(entry.operations.length)+" "+toDisplayString(entry.operations.length===1?"operation":"operations"),1),createBaseVNode("span",null,toDisplayString(entry.dataOwned.length)+" owned "+toDisplayString(entry.dataOwned.length===1?"table":"tables"),1),entry.dataUsed.length?(openBlock(),createElementBlock("span",_hoisted_12,toDisplayString(entry.dataUsed.length)+" used",1)):createCommentVNode("",true)])],10,_hoisted_9)}),128)),!filteredEntries.value.length?(openBlock(),createElementBlock("p",_hoisted_13,"No matching subsystems.")):createCommentVNode("",true)]),unassignedTables.value.length?(openBlock(),createElementBlock("details",_hoisted_14,[createBaseVNode("summary",null,toDisplayString(unassignedTables.value.length)+" tables without a declared owner",1),(openBlock(true),createElementBlock(Fragment,null,renderList(unassignedTables.value,table=>{return openBlock(),createElementBlock("button",{key:table.qualifiedName,type:"button",onClick:$event=>openTable({qualifiedName:table.qualifiedName})},[createTextVNode(toDisplayString(table.qualifiedName)+" ",1),createVNode(VIcon,{icon:unref(mdiArrowTopRight),size:"14"},null,8,["icon"])],8,_hoisted_15)}),128))])):createCommentVNode("",true)])):(openBlock(),createBlock(Vibe64SystemWorldView,{key:1,class:"subsystems__city",active:__props.active&&view.value==="city","session-id":__props.sessionId,"resolve-request-url":__props.resolveRequestUrl,"restore-request":cityRestoreRequest.value,"program-override":spatialCity.value,"initial-city":"program","shared-inspector":"",onSelectSubsystem:selectSubsystem,onOpenTable:openDeclaredTable,onOpenSourceFile:forwardSource,onOpenSourceFileImmersive:forwardSource},null,8,["active","session-id","resolve-request-url","restore-request","program-override"])),selected.value?(openBlock(),createElementBlock("aside",{key:2,ref_key:"detailPane",ref:detailPane,class:"subsystems__detail","aria-label":`${selected.value.title} subsystem details`},[_cache[20]||(_cache[20]=createBaseVNode("div",{class:"subsystems__eyebrow"},"Responsibility",-1)),createBaseVNode("h2",null,toDisplayString(selected.value.title),1),createBaseVNode("p",_hoisted_17,toDisplayString(selected.value.description),1),createBaseVNode("div",_hoisted_18,[createVNode(VBtn,{size:"small",variant:"text","prepend-icon":unref(mdiCityVariantOutline),onClick:showInCity},{default:withCtx(()=>[..._cache[15]||(_cache[15]=[createTextVNode("Show in City",-1)])]),_:1},8,["prepend-icon"]),createVNode(VBtn,{size:"small",variant:"text","prepend-icon":unref(mdiFileDocumentOutline),onClick:_cache[4]||(_cache[4]=$event=>openSource("genesis/subsystems.md"))},{default:withCtx(()=>[..._cache[16]||(_cache[16]=[createTextVNode("Declaration",-1)])]),_:1},8,["prepend-icon"])]),createBaseVNode("section",_hoisted_19,[createBaseVNode("h3",null,[createVNode(VIcon,{icon:unref(mdiCodeBraces),size:"18"},null,8,["icon"]),_cache[17]||(_cache[17]=createTextVNode(" Program operations ",-1)),createBaseVNode("span",null,toDisplayString(selected.value.operations.length),1)]),!selected.value.operations.length?(openBlock(),createElementBlock("p",_hoisted_20,"No operations declared.")):createCommentVNode("",true),(openBlock(true),createElementBlock(Fragment,null,renderList(selected.value.operations,operation=>{return openBlock(),createElementBlock("details",{key:operation.path,class:"subsystems__operation"},[createBaseVNode("summary",null,toDisplayString(operation.title),1),createBaseVNode("p",null,toDisplayString(operation.description),1),createBaseVNode("p",_hoisted_21,toDisplayString(operation.publicContract||"Open the Program explanation, or refresh Cities to load its contract here."),1),createVNode(VBtn,{size:"small",variant:"text",onClick:$event=>openSource(operation.path)},{default:withCtx(()=>[..._cache[18]||(_cache[18]=[createTextVNode("Open Program explanation",-1)])]),_:1},8,["onClick"]),(openBlock(true),createElementBlock(Fragment,null,renderList(operation.sources||[],source=>{return openBlock(),createElementBlock("button",{key:source,class:"subsystems__source",type:"button",onClick:$event=>openSource(source)},[createTextVNode(toDisplayString(source)+" ",1),createVNode(VIcon,{icon:unref(mdiArrowTopRight),size:"14"},null,8,["icon"])],8,_hoisted_22)}),128))])}),128))]),(openBlock(),createElementBlock(Fragment,null,renderList(dataGroups,group=>{return createBaseVNode("section",{key:group.key,class:"subsystems__section"},[createBaseVNode("h3",null,[createVNode(VIcon,{icon:unref(mdiDatabaseOutline),size:"18"},null,8,["icon"]),createTextVNode(" "+toDisplayString(group.title)+" ",1),createBaseVNode("span",null,toDisplayString(selected.value[group.key].length),1)]),!selected.value[group.key].length?(openBlock(),createElementBlock("p",_hoisted_23,"No tables declared.")):createCommentVNode("",true),(openBlock(true),createElementBlock(Fragment,null,renderList(selected.value[group.key],table=>{return openBlock(),createElementBlock("div",{key:table.key,class:"subsystems__table"},[createBaseVNode("button",{type:"button",disabled:!table.qualifiedName,onClick:$event=>openTable(table)},[createBaseVNode("strong",null,toDisplayString(table.table),1),table.qualifiedName?(openBlock(),createBlock(VIcon,{key:0,icon:unref(mdiArrowTopRight),size:"16"},null,8,["icon"])):createCommentVNode("",true),createBaseVNode("small",null,toDisplayString(table.resource)+" · "+toDisplayString(table.schema),1)],8,_hoisted_24),group.key==="dataUsed"&&table.ownerId?(openBlock(),createElementBlock("button",{key:0,class:"subsystems__owner",type:"button",onClick:$event=>selectedId.value=table.ownerId},"Owned by "+toDisplayString(table.ownerTitle),9,_hoisted_25)):createCommentVNode("",true),table.resolution!=="resolved"?(openBlock(),createElementBlock("small",_hoisted_26,toDisplayString(table.resolution==="missing"?"Not found in the inspected schema":"Not resolved against an inspected database"),1)):createCommentVNode("",true)])}),128))])}),64)),unref(databaseError)?(openBlock(),createElementBlock("p",_hoisted_27,"Database inspection is unavailable. Declared table associations are still shown.")):unref(databaseLoading)?(openBlock(),createElementBlock("p",_hoisted_28,"Checking table references…")):createCommentVNode("",true),hasData.value?(openBlock(),createBlock(VBtn,{key:2,size:"small",variant:"text",onClick:unref(reloadDatabase)},{default:withCtx(()=>[..._cache[19]||(_cache[19]=[createTextVNode("Recheck table references",-1)])]),_:1},8,["onClick"])):createCommentVNode("",true),_cache[21]||(_cache[21]=createBaseVNode("p",{class:"subsystems__footnote"},"These associations describe subsystem membership. They do not imply that every operation uses every table.",-1))],8,_hoisted_16)):createCommentVNode("",true)],2)),unref(error)?(openBlock(),createElementBlock("div",_hoisted_29,[createTextVNode(toDisplayString(unref(error))+" ",1),createVNode(VBtn,{size:"x-small",variant:"text",disabled:unref(refreshing),onClick:unref(refresh)},{default:withCtx(()=>[..._cache[22]||(_cache[22]=[createTextVNode("Refresh Cities",-1)])]),_:1},8,["disabled","onClick"])])):createCommentVNode("",true)])}}};const Vibe64SubsystemsView=_export_sfc(_sfc_main,[["__scopeId","data-v-53a2061d"]]);export{Vibe64SubsystemsView as default};
1
+ import{_ as _export_sfc,et as useVibe64SystemGraph,ck as toRef,H as watch,a6 as nextTick,d_ as useVibe64DatabaseTools,A as computed,a as openBlock,c as createElementBlock,d as createBaseVNode,e as createVNode,i as unref,eu as mdiLayersTripleOutline,h as VIcon,w as withCtx,n as VBtn,ev as mdiViewGridOutline,j as createTextVNode,ew as mdiCityVariantOutline,dn as VBtnToggle,aj as mdiRefresh,K as VSkeletonLoader,t as toDisplayString,$ as normalizeClass,aa as mdiMagnify,a9 as VTextField,F as Fragment,y as renderList,r as createCommentVNode,b9 as mdiArrowTopRight,b as createBlock,ct as mdiFileDocumentOutline,as as mdiCodeBraces,e0 as mdiDatabaseOutline,B as ref}from"./index-C4KnwA0g.js";import Vibe64SystemWorldView from"./Vibe64SystemWorldView-8og8TPyL.js";function tableIdentity(table){return JSON.stringify([table.resource,table.schema,table.table])}function subsystemEntries(map,programCity,databaseState){const operationsByPath=new Map(((programCity==null?void 0:programCity.buildings)||[]).map(operation=>[operation.path,operation]));const ownersByTable=new Map(((map==null?void 0:map.subsystems)||[]).flatMap(entry=>entry.dataOwned.map(table=>[tableIdentity(table),entry])));function resolveTable(reference){var _a,_b;const key=tableIdentity(reference);const owner=ownersByTable.get(key);const connection=databaseState==null?void 0:databaseState.connection;const defaultSchema=((_a=databaseState==null?void 0:databaseState.schema)==null?void 0:_a.defaultSchema)||((connection==null?void 0:connection.engine)==="mysql"?connection.database:"");const schema=reference.schema==="default"?defaultSchema:reference.schema;const canResolve=Boolean((connection==null?void 0:connection.resourceId)===reference.resource&&schema);const table=canResolve?(((_b=databaseState.schema)==null?void 0:_b.tables)||[]).find(entry=>entry.schema===schema&&entry.name===reference.table):null;return{...reference,key,ownerId:owner==null?void 0:owner.id,ownerTitle:owner==null?void 0:owner.title,qualifiedName:(table==null?void 0:table.qualifiedName)||"",resolution:table?"resolved":canResolve?"missing":"unavailable"}}return((map==null?void 0:map.subsystems)||[]).map(entry=>({...entry,operations:entry.program.map(path=>({path,title:path.split("/").at(-1).replace(/\.md$/u,"").replace(/-/gu," "),...operationsByPath.get(path)})),dataOwned:entry.dataOwned.map(resolveTable),dataUsed:entry.dataUsed.map(resolveTable)}))}function subsystemCity(map,programCity){if((map==null?void 0:map.status)!=="valid"){return programCity}const entries=subsystemEntries(map,programCity,null);return{...programCity,schema:"genesis.program-city.v1",schemaVersion:1,status:"valid",links:[],districts:entries.map(entry=>({id:`subsystem:${entry.id}`,path:entry.id,title:entry.title,description:entry.description,parentId:null})),buildings:entries.flatMap(entry=>{const districtId=`subsystem:${entry.id}`;const operations=entry.operations.map(operation=>({...operation,id:`operation:${operation.path}`,districtId,subsystem:entry.id,sources:operation.sources||[],publicContract:operation.publicContract||"Refresh Cities to load this operation’s explanation.",implementationMap:operation.implementationMap||"",description:operation.description||"",sourceFileIds:operation.sourceFileIds||[]}));const tables=entry.dataOwned.map(table=>({id:`table:${table.key}`,kind:"table",title:table.table,tableReference:table,districtId,subsystem:entry.id,path:"genesis/subsystems.md",sources:[],sourceFileIds:[],description:`Data owned by ${entry.title}.`,publicContract:"",implementationMap:""}));return[...operations,...tables]})}}const _hoisted_1={class:"subsystems","aria-label":"Project subsystems"};const _hoisted_2={class:"subsystems__toolbar"};const _hoisted_3={class:"subsystems__identity"};const _hoisted_4={key:0,class:"subsystems__empty",role:"status"};const _hoisted_5={key:1,class:"subsystems__empty",role:"alert"};const _hoisted_6={key:2,class:"subsystems__empty"};const _hoisted_7={key:0,class:"subsystems__catalog"};const _hoisted_8={class:"subsystems__cards"};const _hoisted_9=["aria-pressed","onClick"];const _hoisted_10={class:"subsystems__card-icon"};const _hoisted_11={class:"subsystems__counts"};const _hoisted_12={key:0};const _hoisted_13={key:0,class:"subsystems__muted"};const _hoisted_14={key:0,class:"subsystems__unassigned"};const _hoisted_15=["onClick"];const _hoisted_16=["aria-label"];const _hoisted_17={class:"subsystems__responsibility"};const _hoisted_18={class:"subsystems__detail-actions"};const _hoisted_19={class:"subsystems__section"};const _hoisted_20={key:0,class:"subsystems__muted"};const _hoisted_21={class:"subsystems__contract"};const _hoisted_22=["onClick"];const _hoisted_23={key:0,class:"subsystems__muted"};const _hoisted_24=["disabled","onClick"];const _hoisted_25=["onClick"];const _hoisted_26={key:1,class:"subsystems__muted"};const _hoisted_27={key:0,class:"subsystems__database-note",role:"status"};const _hoisted_28={key:1,class:"subsystems__muted",role:"status"};const _hoisted_29={key:4,class:"subsystems__notice",role:"status"};const _sfc_main={__name:"Vibe64SubsystemsView",props:{assistantAvailable:{type:Boolean,default:true},active:Boolean,sessionId:{type:String,required:true},projectSlug:{type:String,default:""},restoreRequest:{type:Object,default:null},resolveRequestUrl:{type:Function,default:value=>value}},emits:["open-source-file","open-table","describe-subsystems"],setup(__props,{emit:__emit}){const props=__props;const emit=__emit;const{subsystemMap,subsystemError,subsystemLoading,programCity,reload,refresh,refreshing,error}=useVibe64SystemGraph({active:toRef(props,"active"),sessionId:toRef(props,"sessionId")});const view=ref("overview");const search=ref("");const selectedId=ref("");const detailPane=ref(null);watch(selectedId,async()=>{var _a,_b;if((_a=globalThis.matchMedia)==null?void 0:_a.call(globalThis,"(max-width: 800px)").matches){await nextTick();(_b=detailPane.value)==null?void 0:_b.scrollIntoView({block:"start"})}});const cityRestoreRequest=ref(null);const hasData=computed(()=>{var _a,_b;return(_b=(_a=subsystemMap.value)==null?void 0:_a.subsystems)==null?void 0:_b.some(entry=>entry.dataOwned.length||entry.dataUsed.length)});const{state:databaseState,error:databaseError,loading:databaseLoading,reload:reloadDatabase}=useVibe64DatabaseTools({active:computed(()=>props.active&&hasData.value),sessionId:toRef(props,"sessionId"),projectSlug:toRef(props,"projectSlug")});const entries=computed(()=>subsystemEntries(subsystemMap.value,programCity.value,databaseState.value));const selected=computed(()=>entries.value.find(entry=>entry.id===selectedId.value)||entries.value[0]||null);const filteredEntries=computed(()=>{const query=String(search.value||"").toLowerCase().trim();return entries.value.filter(entry=>{const searchableText=[entry.title,entry.description,...entry.operations.map(operation=>operation.title),...entry.dataOwned.map(table=>table.table),...entry.dataUsed.map(table=>table.table)].join(" ").toLowerCase();return searchableText.includes(query)})});const spatialCity=computed(()=>subsystemCity(subsystemMap.value,programCity.value));const unassignedTables=computed(()=>{var _a,_b;const owned=new Set(entries.value.flatMap(entry=>entry.dataOwned.map(table=>table.qualifiedName)));return(((_b=(_a=databaseState.value)==null?void 0:_a.schema)==null?void 0:_b.tables)||[]).filter(table=>!owned.has(table.qualifiedName))});const dataGroups=[{key:"dataOwned",title:"Data owned"},{key:"dataUsed",title:"Data used"}];function returnContext(){var _a;return{subsystemView:view.value,subsystemId:((_a=selected.value)==null?void 0:_a.id)||""}}function openSource(path){forwardSource({path})}function forwardSource(target){emit("open-source-file",{...target,origin:"system",systemContext:{...target.systemContext,...returnContext()}})}function openTable(table){emit("open-table",{...table,systemContext:returnContext()})}function openDeclaredTable(reference){const table=entries.value.flatMap(entry=>entry.dataOwned).find(entry=>entry.key===reference.key);if(table==null?void 0:table.qualifiedName){openTable(table)}}function selectSubsystem(id){if(entries.value.some(entry=>entry.id===id)){selectedId.value=id}}function showInCity(){view.value="city";cityRestoreRequest.value={cityKind:"program",selectedDistrictId:`subsystem:${selected.value.id}`,sequence:Date.now()}}async function reloadAll(){await Promise.all([reload(),reloadDatabase()])}watch(()=>props.sessionId,()=>{selectedId.value="";search.value="";view.value="overview";cityRestoreRequest.value=null});watch(()=>props.restoreRequest,request=>{if(!request)return;if(request.subsystemId)selectedId.value=request.subsystemId;if(request.subsystemView)view.value=request.subsystemView;cityRestoreRequest.value=request},{immediate:true});return(_ctx,_cache)=>{return openBlock(),createElementBlock("section",_hoisted_1,[createBaseVNode("header",_hoisted_2,[createBaseVNode("div",_hoisted_3,[createVNode(VIcon,{icon:unref(mdiLayersTripleOutline)},null,8,["icon"]),_cache[5]||(_cache[5]=createBaseVNode("div",null,[createBaseVNode("strong",null,"Subsystems"),createBaseVNode("span",null,"How the application fits together")],-1))]),createVNode(VBtnToggle,{modelValue:view.value,"onUpdate:modelValue":_cache[0]||(_cache[0]=$event=>view.value=$event),mandatory:"",density:"compact",variant:"text","aria-label":"Subsystem presentation"},{default:withCtx(()=>[createVNode(VBtn,{value:"overview","prepend-icon":unref(mdiViewGridOutline),size:"small"},{default:withCtx(()=>[..._cache[6]||(_cache[6]=[createTextVNode("Overview",-1)])]),_:1},8,["prepend-icon"]),createVNode(VBtn,{value:"city","prepend-icon":unref(mdiCityVariantOutline),size:"small"},{default:withCtx(()=>[..._cache[7]||(_cache[7]=[createTextVNode("City",-1)])]),_:1},8,["prepend-icon"])]),_:1},8,["modelValue"]),createVNode(VBtn,{disabled:unref(refreshing),"prepend-icon":unref(mdiRefresh),size:"small",variant:"text",onClick:reloadAll},{default:withCtx(()=>[..._cache[8]||(_cache[8]=[createTextVNode("Reload",-1)])]),_:1},8,["disabled","prepend-icon"])]),unref(subsystemLoading)&&!unref(subsystemMap)?(openBlock(),createElementBlock("div",_hoisted_4,[createVNode(VSkeletonLoader,{type:"heading, paragraph, list-item-three-line@3"})])):unref(subsystemError)?(openBlock(),createElementBlock("div",_hoisted_5,[_cache[10]||(_cache[10]=createBaseVNode("h2",null,"Subsystems could not load",-1)),createBaseVNode("p",null,toDisplayString(unref(subsystemError)),1),createVNode(VBtn,{onClick:unref(reload)},{default:withCtx(()=>[..._cache[9]||(_cache[9]=[createTextVNode("Retry",-1)])]),_:1},8,["onClick"])])):!entries.value.length&&view.value==="overview"?(openBlock(),createElementBlock("div",_hoisted_6,[createVNode(VIcon,{icon:unref(mdiLayersTripleOutline),size:"48"},null,8,["icon"]),_cache[13]||(_cache[13]=createBaseVNode("h2",null,"A home for the bigger picture",-1)),_cache[14]||(_cache[14]=createBaseVNode("p",null,"Your project’s subsystem map connects responsibilities, operations, and data. The coding agent can create it from the application.",-1)),createVNode(VBtn,{disabled:!__props.assistantAvailable,color:"primary",variant:"tonal",onClick:_cache[1]||(_cache[1]=$event=>_ctx.$emit("describe-subsystems"))},{default:withCtx(()=>[..._cache[11]||(_cache[11]=[createTextVNode("Describe subsystems with AI",-1)])]),_:1},8,["disabled"]),createVNode(VBtn,{variant:"text",onClick:_cache[2]||(_cache[2]=$event=>view.value="city")},{default:withCtx(()=>[..._cache[12]||(_cache[12]=[createTextVNode("Explore existing Cities",-1)])]),_:1})])):(openBlock(),createElementBlock("div",{key:3,class:normalizeClass(["subsystems__body",{"subsystems__body--city":view.value==="city"}])},[view.value==="overview"?(openBlock(),createElementBlock("div",_hoisted_7,[createVNode(VTextField,{modelValue:search.value,"onUpdate:modelValue":_cache[3]||(_cache[3]=$event=>search.value=$event),"aria-label":"Find a subsystem, operation or table",placeholder:"Find a subsystem, operation or table…","prepend-inner-icon":unref(mdiMagnify),variant:"outlined",density:"compact","hide-details":"",clearable:""},null,8,["modelValue","prepend-inner-icon"]),createBaseVNode("div",_hoisted_8,[(openBlock(true),createElementBlock(Fragment,null,renderList(filteredEntries.value,entry=>{var _a,_b;return openBlock(),createElementBlock("button",{key:entry.id,type:"button",class:normalizeClass(["subsystems__card",{"subsystems__card--selected":((_a=selected.value)==null?void 0:_a.id)===entry.id}]),"aria-pressed":((_b=selected.value)==null?void 0:_b.id)===entry.id,onClick:$event=>selectedId.value=entry.id},[createBaseVNode("span",_hoisted_10,[createVNode(VIcon,{icon:unref(mdiLayersTripleOutline),size:"20"},null,8,["icon"])]),createBaseVNode("strong",null,toDisplayString(entry.title),1),createBaseVNode("p",null,toDisplayString(entry.description),1),createBaseVNode("span",_hoisted_11,[createBaseVNode("span",null,toDisplayString(entry.operations.length)+" "+toDisplayString(entry.operations.length===1?"operation":"operations"),1),createBaseVNode("span",null,toDisplayString(entry.dataOwned.length)+" owned "+toDisplayString(entry.dataOwned.length===1?"table":"tables"),1),entry.dataUsed.length?(openBlock(),createElementBlock("span",_hoisted_12,toDisplayString(entry.dataUsed.length)+" used",1)):createCommentVNode("",true)])],10,_hoisted_9)}),128)),!filteredEntries.value.length?(openBlock(),createElementBlock("p",_hoisted_13,"No matching subsystems.")):createCommentVNode("",true)]),unassignedTables.value.length?(openBlock(),createElementBlock("details",_hoisted_14,[createBaseVNode("summary",null,toDisplayString(unassignedTables.value.length)+" tables without a declared owner",1),(openBlock(true),createElementBlock(Fragment,null,renderList(unassignedTables.value,table=>{return openBlock(),createElementBlock("button",{key:table.qualifiedName,type:"button",onClick:$event=>openTable({qualifiedName:table.qualifiedName})},[createTextVNode(toDisplayString(table.qualifiedName)+" ",1),createVNode(VIcon,{icon:unref(mdiArrowTopRight),size:"14"},null,8,["icon"])],8,_hoisted_15)}),128))])):createCommentVNode("",true)])):(openBlock(),createBlock(Vibe64SystemWorldView,{key:1,class:"subsystems__city",active:__props.active&&view.value==="city","session-id":__props.sessionId,"resolve-request-url":__props.resolveRequestUrl,"restore-request":cityRestoreRequest.value,"program-override":spatialCity.value,"initial-city":"program","shared-inspector":"",onSelectSubsystem:selectSubsystem,onOpenTable:openDeclaredTable,onOpenSourceFile:forwardSource,onOpenSourceFileImmersive:forwardSource},null,8,["active","session-id","resolve-request-url","restore-request","program-override"])),selected.value?(openBlock(),createElementBlock("aside",{key:2,ref_key:"detailPane",ref:detailPane,class:"subsystems__detail","aria-label":`${selected.value.title} subsystem details`},[_cache[20]||(_cache[20]=createBaseVNode("div",{class:"subsystems__eyebrow"},"Responsibility",-1)),createBaseVNode("h2",null,toDisplayString(selected.value.title),1),createBaseVNode("p",_hoisted_17,toDisplayString(selected.value.description),1),createBaseVNode("div",_hoisted_18,[createVNode(VBtn,{size:"small",variant:"text","prepend-icon":unref(mdiCityVariantOutline),onClick:showInCity},{default:withCtx(()=>[..._cache[15]||(_cache[15]=[createTextVNode("Show in City",-1)])]),_:1},8,["prepend-icon"]),createVNode(VBtn,{size:"small",variant:"text","prepend-icon":unref(mdiFileDocumentOutline),onClick:_cache[4]||(_cache[4]=$event=>openSource("genesis/subsystems.md"))},{default:withCtx(()=>[..._cache[16]||(_cache[16]=[createTextVNode("Declaration",-1)])]),_:1},8,["prepend-icon"])]),createBaseVNode("section",_hoisted_19,[createBaseVNode("h3",null,[createVNode(VIcon,{icon:unref(mdiCodeBraces),size:"18"},null,8,["icon"]),_cache[17]||(_cache[17]=createTextVNode(" Program operations ",-1)),createBaseVNode("span",null,toDisplayString(selected.value.operations.length),1)]),!selected.value.operations.length?(openBlock(),createElementBlock("p",_hoisted_20,"No operations declared.")):createCommentVNode("",true),(openBlock(true),createElementBlock(Fragment,null,renderList(selected.value.operations,operation=>{return openBlock(),createElementBlock("details",{key:operation.path,class:"subsystems__operation"},[createBaseVNode("summary",null,toDisplayString(operation.title),1),createBaseVNode("p",null,toDisplayString(operation.description),1),createBaseVNode("p",_hoisted_21,toDisplayString(operation.publicContract||"Open the Program explanation, or refresh Cities to load its contract here."),1),createVNode(VBtn,{size:"small",variant:"text",onClick:$event=>openSource(operation.path)},{default:withCtx(()=>[..._cache[18]||(_cache[18]=[createTextVNode("Open Program explanation",-1)])]),_:1},8,["onClick"]),(openBlock(true),createElementBlock(Fragment,null,renderList(operation.sources||[],source=>{return openBlock(),createElementBlock("button",{key:source,class:"subsystems__source",type:"button",onClick:$event=>openSource(source)},[createTextVNode(toDisplayString(source)+" ",1),createVNode(VIcon,{icon:unref(mdiArrowTopRight),size:"14"},null,8,["icon"])],8,_hoisted_22)}),128))])}),128))]),(openBlock(),createElementBlock(Fragment,null,renderList(dataGroups,group=>{return createBaseVNode("section",{key:group.key,class:"subsystems__section"},[createBaseVNode("h3",null,[createVNode(VIcon,{icon:unref(mdiDatabaseOutline),size:"18"},null,8,["icon"]),createTextVNode(" "+toDisplayString(group.title)+" ",1),createBaseVNode("span",null,toDisplayString(selected.value[group.key].length),1)]),!selected.value[group.key].length?(openBlock(),createElementBlock("p",_hoisted_23,"No tables declared.")):createCommentVNode("",true),(openBlock(true),createElementBlock(Fragment,null,renderList(selected.value[group.key],table=>{return openBlock(),createElementBlock("div",{key:table.key,class:"subsystems__table"},[createBaseVNode("button",{type:"button",disabled:!table.qualifiedName,onClick:$event=>openTable(table)},[createBaseVNode("strong",null,toDisplayString(table.table),1),table.qualifiedName?(openBlock(),createBlock(VIcon,{key:0,icon:unref(mdiArrowTopRight),size:"16"},null,8,["icon"])):createCommentVNode("",true),createBaseVNode("small",null,toDisplayString(table.resource)+" · "+toDisplayString(table.schema),1)],8,_hoisted_24),group.key==="dataUsed"&&table.ownerId?(openBlock(),createElementBlock("button",{key:0,class:"subsystems__owner",type:"button",onClick:$event=>selectedId.value=table.ownerId},"Owned by "+toDisplayString(table.ownerTitle),9,_hoisted_25)):createCommentVNode("",true),table.resolution!=="resolved"?(openBlock(),createElementBlock("small",_hoisted_26,toDisplayString(table.resolution==="missing"?"Not found in the inspected schema":"Not resolved against an inspected database"),1)):createCommentVNode("",true)])}),128))])}),64)),unref(databaseError)?(openBlock(),createElementBlock("p",_hoisted_27,"Database inspection is unavailable. Declared table associations are still shown.")):unref(databaseLoading)?(openBlock(),createElementBlock("p",_hoisted_28,"Checking table references…")):createCommentVNode("",true),hasData.value?(openBlock(),createBlock(VBtn,{key:2,size:"small",variant:"text",onClick:unref(reloadDatabase)},{default:withCtx(()=>[..._cache[19]||(_cache[19]=[createTextVNode("Recheck table references",-1)])]),_:1},8,["onClick"])):createCommentVNode("",true),_cache[21]||(_cache[21]=createBaseVNode("p",{class:"subsystems__footnote"},"These associations describe subsystem membership. They do not imply that every operation uses every table.",-1))],8,_hoisted_16)):createCommentVNode("",true)],2)),unref(error)?(openBlock(),createElementBlock("div",_hoisted_29,[createTextVNode(toDisplayString(unref(error))+" ",1),createVNode(VBtn,{size:"x-small",variant:"text",disabled:unref(refreshing),onClick:unref(refresh)},{default:withCtx(()=>[..._cache[22]||(_cache[22]=[createTextVNode("Refresh Cities",-1)])]),_:1},8,["disabled","onClick"])])):createCommentVNode("",true)])}}};const Vibe64SubsystemsView=_export_sfc(_sfc_main,[["__scopeId","data-v-53a2061d"]]);export{Vibe64SubsystemsView as default};
@@ -1,4 +1,4 @@
1
- var __defProp=Object.defineProperty;var __defNormalProp=(obj,key,value)=>key in obj?__defProp(obj,key,{enumerable:true,configurable:true,writable:true,value}):obj[key]=value;var __publicField=(obj,key,value)=>__defNormalProp(obj,typeof key!=="symbol"?key+"":key,value);import{_ as _export_sfc,B as ref,et as useVibe64SystemGraph,ck as toRef,H as watch,o as onMounted,C as onBeforeUnmount,a as openBlock,c as createElementBlock,d as createBaseVNode,e as createVNode,i as unref,ew as mdiCityVariantOutline,h as VIcon,t as toDisplayString,w as withCtx,j as createTextVNode,cy as mdiFileCodeOutline,n as VBtn,eu as mdiLayersTripleOutline,be as mdiArrowLeft,ex as mdiArrowRight,ey as mdiCrosshairsGps,ez as mdiMapOutline,eA as mdiRotate3dVariant,aj as mdiRefresh,c2 as normalizeStyle,r as createCommentVNode,$ as normalizeClass,K as VSkeletonLoader,eB as mdiAlertOutline,av as mdiInformationOutline,eC as mdiRotateLeft,eD as mdiOrbit,eE as mdiRotateRight,F as Fragment,y as renderList,eF as mdiMapMarkerPath,cu as mdiFolderOutline,e0 as mdiDatabaseOutline,eG as mdiMouse,eH as mdiGestureSwipeHorizontal,eI as mdiMouseScrollWheel,eJ as mdiMouseRightClickOutline,V as VCard,g as VCardTitle,k as VCardText,eK as mdiKeyboardOutline,l as VCardActions,p as VDialog,A as computed,a6 as nextTick}from"./index-SBc6H2In.js";/**
1
+ var __defProp=Object.defineProperty;var __defNormalProp=(obj,key,value)=>key in obj?__defProp(obj,key,{enumerable:true,configurable:true,writable:true,value}):obj[key]=value;var __publicField=(obj,key,value)=>__defNormalProp(obj,typeof key!=="symbol"?key+"":key,value);import{_ as _export_sfc,B as ref,et as useVibe64SystemGraph,ck as toRef,H as watch,o as onMounted,C as onBeforeUnmount,a as openBlock,c as createElementBlock,d as createBaseVNode,e as createVNode,i as unref,ew as mdiCityVariantOutline,h as VIcon,t as toDisplayString,w as withCtx,j as createTextVNode,cy as mdiFileCodeOutline,n as VBtn,eu as mdiLayersTripleOutline,be as mdiArrowLeft,ex as mdiArrowRight,ey as mdiCrosshairsGps,ez as mdiMapOutline,eA as mdiRotate3dVariant,aj as mdiRefresh,c2 as normalizeStyle,r as createCommentVNode,$ as normalizeClass,K as VSkeletonLoader,eB as mdiAlertOutline,av as mdiInformationOutline,eC as mdiRotateLeft,eD as mdiOrbit,eE as mdiRotateRight,F as Fragment,y as renderList,eF as mdiMapMarkerPath,cu as mdiFolderOutline,e0 as mdiDatabaseOutline,eG as mdiMouse,eH as mdiGestureSwipeHorizontal,eI as mdiMouseScrollWheel,eJ as mdiMouseRightClickOutline,V as VCard,g as VCardTitle,k as VCardText,eK as mdiKeyboardOutline,l as VCardActions,p as VDialog,A as computed,a6 as nextTick}from"./index-C4KnwA0g.js";/**
2
2
  * @license
3
3
  * Copyright 2010-2026 Three.js Authors
4
4
  * SPDX-License-Identifier: MIT
@@ -1 +1 @@
1
- import{_ as _export_sfc,a as openBlock,b as createBlock,w as withCtx,d as createBaseVNode,e as createVNode,h as VIcon,i as unref,b$ as mdiArchiveCancelOutline,t as toDisplayString,n as VBtn,be as mdiArrowLeft,j as createTextVNode,r as createCommentVNode,c as createElementBlock,F as Fragment,y as renderList,S as VSheet,A as computed,I as VAlert,aj as mdiRefresh,bu as VProgressLinear}from"./index-SBc6H2In.js";import{g as Vibe64SessionFiles,f as Vibe64ConversationLog}from"./Vibe64SessionFiles-BS5MW7Qz.js";import{s as shortSessionId,c as archiveFactRows,d as useArchivedVibe64SessionDetail}from"./useArchivedVibe64Sessions-LeGda1Y9.js";import"./useVibe64ConversationLog-BPyKYbvH.js";import"./definitions-CyUCoqu-.js";import"./useVibe64ProjectScope-n5T5l2pY.js";import"./vibe64SessionRequestConfig-B7Llggdb.js";import"./vueRefOrGetterValue-_KqAOFjr.js";import"./vibe64SessionPanelModel-5UED-6V-.js";import"./vibe64SessionViewModel-C4e2otoM.js";import"./vibe64ApiResponses-COQ3JIKv.js";import"./index-BYZl5lR4.js";import"./vibe64BrowserTabOrigin-DDSCqr3B.js";import"./base-DDNBxAg7.js";import"./VTextarea-CD6H_mtJ.js";import"./VTabs-BGX5dGoS.js";const _hoisted_1$1={class:"studio-archived-session-detail__header"};const _hoisted_2$1={class:"studio-archived-session-detail__title"};const _hoisted_3={class:"studio-archived-session-detail__grid"};const _hoisted_4={class:"studio-archived-session-detail__section"};const _hoisted_5={class:"studio-archived-session-detail__fact-list"};const _hoisted_6={class:"studio-archived-session-detail__section studio-archived-session-detail__conversation"};const _hoisted_7={key:0,class:"studio-archived-session-detail__muted"};const _sfc_main$1={__name:"ArchivedVibe64SessionDetail",props:{sessionsApiPath:{type:String,default:""},projectSlug:{type:String,default:""},backTo:{default:null,type:[Object,String]},conversationLog:{default:()=>({}),type:Object},session:{default:null,type:Object}},setup(__props){const props=__props;const archiveIcon=mdiArchiveCancelOutline;const conversationTurns=computed(()=>{var _a;return Array.isArray((_a=props.conversationLog)==null?void 0:_a.turns)?props.conversationLog.turns:[]});const conversationError=computed(()=>{var _a;return String(((_a=props.conversationLog)==null?void 0:_a.error)||"")});const conversationLoadMoreError=computed(()=>{var _a;return String(((_a=props.conversationLog)==null?void 0:_a.loadMoreError)||"")});const conversationHasMoreBefore=computed(()=>{var _a;return Boolean((_a=props.conversationLog)==null?void 0:_a.hasMoreBefore)});const conversationLoading=computed(()=>{var _a;return Boolean((_a=props.conversationLog)==null?void 0:_a.loading)});const conversationLoadingMore=computed(()=>{var _a;return Boolean((_a=props.conversationLog)==null?void 0:_a.loadingMore)});return(_ctx,_cache)=>{return __props.session?(openBlock(),createBlock(VSheet,{key:0,class:"studio-archived-session-detail",rounded:"lg",border:""},{default:withCtx(()=>[createBaseVNode("div",_hoisted_1$1,[createBaseVNode("div",_hoisted_2$1,[createVNode(VIcon,{icon:unref(archiveIcon),size:"20"},null,8,["icon"]),createBaseVNode("div",null,[createBaseVNode("h2",null,"Archived session "+toDisplayString(unref(shortSessionId)(__props.session.sessionId)),1),_cache[0]||(_cache[0]=createBaseVNode("p",null,"Read-only history. Source restore is not available from archived sessions.",-1))])]),__props.backTo?(openBlock(),createBlock(VBtn,{key:0,class:"studio-archived-session-detail__back","prepend-icon":unref(mdiArrowLeft),size:"small",to:__props.backTo,variant:"tonal"},{default:withCtx(()=>[..._cache[1]||(_cache[1]=[createTextVNode(" Back to sessions ",-1)])]),_:1},8,["prepend-icon","to"])):createCommentVNode("",true)]),createBaseVNode("div",_hoisted_3,[createBaseVNode("section",_hoisted_4,[_cache[2]||(_cache[2]=createBaseVNode("h3",null,"Facts",-1)),createBaseVNode("dl",_hoisted_5,[(openBlock(true),createElementBlock(Fragment,null,renderList(unref(archiveFactRows)(__props.session),fact=>{return openBlock(),createElementBlock("div",{key:fact.label,class:"studio-archived-session-detail__fact-row"},[createBaseVNode("dt",null,[createVNode(VIcon,{icon:fact.icon,size:"16"},null,8,["icon"]),createBaseVNode("span",null,toDisplayString(fact.label),1)]),createBaseVNode("dd",null,toDisplayString(fact.value),1)])}),128))])])]),__props.sessionsApiPath?(openBlock(),createBlock(Vibe64SessionFiles,{key:0,archived:"","session-id":__props.session.sessionId,"sessions-api-path":__props.sessionsApiPath,"project-slug":__props.projectSlug,style:{"height":"30rem"}},null,8,["session-id","sessions-api-path","project-slug"])):createCommentVNode("",true),createBaseVNode("section",_hoisted_6,[_cache[3]||(_cache[3]=createBaseVNode("h3",null,"Conversation",-1)),createVNode(Vibe64ConversationLog,{"session-id":__props.session.sessionId,error:conversationError.value,"has-more-before":conversationHasMoreBefore.value,loading:conversationLoading.value,"loading-more":conversationLoadingMore.value,"load-more-error":conversationLoadMoreError.value,reloadable:true,reloading:conversationLoading.value,"source-root":__props.session.source||"",turns:conversationTurns.value,visible:true,onLoadMore:__props.conversationLog.loadMore,onReload:__props.conversationLog.reload},null,8,["session-id","error","has-more-before","loading","loading-more","load-more-error","reloading","source-root","turns","onLoadMore","onReload"]),!conversationLoading.value&&!conversationError.value&&conversationTurns.value.length<1?(openBlock(),createElementBlock("p",_hoisted_7," No conversation messages were recorded for this archive. ")):createCommentVNode("",true)])]),_:1})):createCommentVNode("",true)}}};const ArchivedVibe64SessionDetail=_export_sfc(_sfc_main$1,[["__scopeId","data-v-50469b46"]]);const _hoisted_1={class:"vibe64-dashboard-page vibe64-dashboard-page--archive-detail"};const _hoisted_2={class:"vibe64-dashboard-page__empty-actions"};const _sfc_main={__name:"[sessionId]",setup(__props){const{backTo,conversationLog,error,loading,reload,session,sessionId,sessionsApiPath,projectSlug}=useArchivedVibe64SessionDetail();return(_ctx,_cache)=>{return openBlock(),createElementBlock("section",_hoisted_1,[_cache[3]||(_cache[3]=createBaseVNode("header",{class:"vibe64-dashboard-page__header"},[createBaseVNode("h1",null,"Archived Session")],-1)),unref(error)?(openBlock(),createBlock(VAlert,{key:0,type:"error",variant:"tonal",density:"comfortable"},{default:withCtx(()=>[createTextVNode(toDisplayString(unref(error)),1)]),_:1})):createCommentVNode("",true),unref(loading)&&!unref(session)?(openBlock(),createBlock(VProgressLinear,{key:1,color:"primary",height:"6",indeterminate:"",rounded:""})):createCommentVNode("",true),unref(session)?(openBlock(),createBlock(ArchivedVibe64SessionDetail,{key:2,"back-to":unref(backTo),"conversation-log":unref(conversationLog),session:unref(session),"sessions-api-path":unref(sessionsApiPath),"project-slug":unref(projectSlug)},null,8,["back-to","conversation-log","session","sessions-api-path","project-slug"])):!unref(loading)?(openBlock(),createBlock(VSheet,{key:3,class:"vibe64-dashboard-page__empty",rounded:"lg",border:""},{default:withCtx(()=>[_cache[2]||(_cache[2]=createBaseVNode("h2",null,"Archived session unavailable",-1)),createBaseVNode("p",null,"Session "+toDisplayString(unref(sessionId)||"unknown")+" could not be loaded.",1),createBaseVNode("div",_hoisted_2,[createVNode(VBtn,{"prepend-icon":unref(mdiArrowLeft),to:unref(backTo),variant:"tonal"},{default:withCtx(()=>[..._cache[0]||(_cache[0]=[createTextVNode(" Back to sessions ",-1)])]),_:1},8,["prepend-icon","to"]),createVNode(VBtn,{"prepend-icon":unref(mdiRefresh),variant:"text",onClick:unref(reload)},{default:withCtx(()=>[..._cache[1]||(_cache[1]=[createTextVNode(" Retry ",-1)])]),_:1},8,["prepend-icon","onClick"])])]),_:1})):createCommentVNode("",true)])}}};const _sessionId_=_export_sfc(_sfc_main,[["__scopeId","data-v-5674a910"]]);export{_sessionId_ as default};
1
+ import{_ as _export_sfc,a as openBlock,b as createBlock,w as withCtx,d as createBaseVNode,e as createVNode,h as VIcon,i as unref,b$ as mdiArchiveCancelOutline,t as toDisplayString,n as VBtn,be as mdiArrowLeft,j as createTextVNode,r as createCommentVNode,c as createElementBlock,F as Fragment,y as renderList,S as VSheet,A as computed,I as VAlert,aj as mdiRefresh,bu as VProgressLinear}from"./index-C4KnwA0g.js";import{g as Vibe64SessionFiles,f as Vibe64ConversationLog}from"./Vibe64SessionFiles-BSoB7Xrs.js";import{s as shortSessionId,c as archiveFactRows,d as useArchivedVibe64SessionDetail}from"./useArchivedVibe64Sessions-_FKt1-qN.js";import"./useVibe64ConversationLog-BjnpqM9K.js";import"./definitions-ChGXm26a.js";import"./useVibe64ProjectScope-DcDkjbLT.js";import"./vibe64SessionRequestConfig-uGWcyQY6.js";import"./vueRefOrGetterValue-CV9c3oBd.js";import"./vibe64SessionPanelModel-DDaXjAJ_.js";import"./vibe64SessionViewModel-C4e2otoM.js";import"./vibe64ApiResponses-COQ3JIKv.js";import"./index-BYZl5lR4.js";import"./vibe64BrowserTabOrigin-DDSCqr3B.js";import"./base-DDNBxAg7.js";import"./VTextarea-Duvzvmjq.js";import"./VTabs-CQq9CAuT.js";const _hoisted_1$1={class:"studio-archived-session-detail__header"};const _hoisted_2$1={class:"studio-archived-session-detail__title"};const _hoisted_3={class:"studio-archived-session-detail__grid"};const _hoisted_4={class:"studio-archived-session-detail__section"};const _hoisted_5={class:"studio-archived-session-detail__fact-list"};const _hoisted_6={class:"studio-archived-session-detail__section studio-archived-session-detail__conversation"};const _hoisted_7={key:0,class:"studio-archived-session-detail__muted"};const _sfc_main$1={__name:"ArchivedVibe64SessionDetail",props:{sessionsApiPath:{type:String,default:""},projectSlug:{type:String,default:""},backTo:{default:null,type:[Object,String]},conversationLog:{default:()=>({}),type:Object},session:{default:null,type:Object}},setup(__props){const props=__props;const archiveIcon=mdiArchiveCancelOutline;const conversationTurns=computed(()=>{var _a;return Array.isArray((_a=props.conversationLog)==null?void 0:_a.turns)?props.conversationLog.turns:[]});const conversationError=computed(()=>{var _a;return String(((_a=props.conversationLog)==null?void 0:_a.error)||"")});const conversationLoadMoreError=computed(()=>{var _a;return String(((_a=props.conversationLog)==null?void 0:_a.loadMoreError)||"")});const conversationHasMoreBefore=computed(()=>{var _a;return Boolean((_a=props.conversationLog)==null?void 0:_a.hasMoreBefore)});const conversationLoading=computed(()=>{var _a;return Boolean((_a=props.conversationLog)==null?void 0:_a.loading)});const conversationLoadingMore=computed(()=>{var _a;return Boolean((_a=props.conversationLog)==null?void 0:_a.loadingMore)});return(_ctx,_cache)=>{return __props.session?(openBlock(),createBlock(VSheet,{key:0,class:"studio-archived-session-detail",rounded:"lg",border:""},{default:withCtx(()=>[createBaseVNode("div",_hoisted_1$1,[createBaseVNode("div",_hoisted_2$1,[createVNode(VIcon,{icon:unref(archiveIcon),size:"20"},null,8,["icon"]),createBaseVNode("div",null,[createBaseVNode("h2",null,"Archived session "+toDisplayString(unref(shortSessionId)(__props.session.sessionId)),1),_cache[0]||(_cache[0]=createBaseVNode("p",null,"Read-only history. Source restore is not available from archived sessions.",-1))])]),__props.backTo?(openBlock(),createBlock(VBtn,{key:0,class:"studio-archived-session-detail__back","prepend-icon":unref(mdiArrowLeft),size:"small",to:__props.backTo,variant:"tonal"},{default:withCtx(()=>[..._cache[1]||(_cache[1]=[createTextVNode(" Back to sessions ",-1)])]),_:1},8,["prepend-icon","to"])):createCommentVNode("",true)]),createBaseVNode("div",_hoisted_3,[createBaseVNode("section",_hoisted_4,[_cache[2]||(_cache[2]=createBaseVNode("h3",null,"Facts",-1)),createBaseVNode("dl",_hoisted_5,[(openBlock(true),createElementBlock(Fragment,null,renderList(unref(archiveFactRows)(__props.session),fact=>{return openBlock(),createElementBlock("div",{key:fact.label,class:"studio-archived-session-detail__fact-row"},[createBaseVNode("dt",null,[createVNode(VIcon,{icon:fact.icon,size:"16"},null,8,["icon"]),createBaseVNode("span",null,toDisplayString(fact.label),1)]),createBaseVNode("dd",null,toDisplayString(fact.value),1)])}),128))])])]),__props.sessionsApiPath?(openBlock(),createBlock(Vibe64SessionFiles,{key:0,archived:"","session-id":__props.session.sessionId,"sessions-api-path":__props.sessionsApiPath,"project-slug":__props.projectSlug,style:{"height":"30rem"}},null,8,["session-id","sessions-api-path","project-slug"])):createCommentVNode("",true),createBaseVNode("section",_hoisted_6,[_cache[3]||(_cache[3]=createBaseVNode("h3",null,"Conversation",-1)),createVNode(Vibe64ConversationLog,{"session-id":__props.session.sessionId,error:conversationError.value,"has-more-before":conversationHasMoreBefore.value,loading:conversationLoading.value,"loading-more":conversationLoadingMore.value,"load-more-error":conversationLoadMoreError.value,reloadable:true,reloading:conversationLoading.value,"source-root":__props.session.source||"",turns:conversationTurns.value,visible:true,onLoadMore:__props.conversationLog.loadMore,onReload:__props.conversationLog.reload},null,8,["session-id","error","has-more-before","loading","loading-more","load-more-error","reloading","source-root","turns","onLoadMore","onReload"]),!conversationLoading.value&&!conversationError.value&&conversationTurns.value.length<1?(openBlock(),createElementBlock("p",_hoisted_7," No conversation messages were recorded for this archive. ")):createCommentVNode("",true)])]),_:1})):createCommentVNode("",true)}}};const ArchivedVibe64SessionDetail=_export_sfc(_sfc_main$1,[["__scopeId","data-v-50469b46"]]);const _hoisted_1={class:"vibe64-dashboard-page vibe64-dashboard-page--archive-detail"};const _hoisted_2={class:"vibe64-dashboard-page__empty-actions"};const _sfc_main={__name:"[sessionId]",setup(__props){const{backTo,conversationLog,error,loading,reload,session,sessionId,sessionsApiPath,projectSlug}=useArchivedVibe64SessionDetail();return(_ctx,_cache)=>{return openBlock(),createElementBlock("section",_hoisted_1,[_cache[3]||(_cache[3]=createBaseVNode("header",{class:"vibe64-dashboard-page__header"},[createBaseVNode("h1",null,"Archived Session")],-1)),unref(error)?(openBlock(),createBlock(VAlert,{key:0,type:"error",variant:"tonal",density:"comfortable"},{default:withCtx(()=>[createTextVNode(toDisplayString(unref(error)),1)]),_:1})):createCommentVNode("",true),unref(loading)&&!unref(session)?(openBlock(),createBlock(VProgressLinear,{key:1,color:"primary",height:"6",indeterminate:"",rounded:""})):createCommentVNode("",true),unref(session)?(openBlock(),createBlock(ArchivedVibe64SessionDetail,{key:2,"back-to":unref(backTo),"conversation-log":unref(conversationLog),session:unref(session),"sessions-api-path":unref(sessionsApiPath),"project-slug":unref(projectSlug)},null,8,["back-to","conversation-log","session","sessions-api-path","project-slug"])):!unref(loading)?(openBlock(),createBlock(VSheet,{key:3,class:"vibe64-dashboard-page__empty",rounded:"lg",border:""},{default:withCtx(()=>[_cache[2]||(_cache[2]=createBaseVNode("h2",null,"Archived session unavailable",-1)),createBaseVNode("p",null,"Session "+toDisplayString(unref(sessionId)||"unknown")+" could not be loaded.",1),createBaseVNode("div",_hoisted_2,[createVNode(VBtn,{"prepend-icon":unref(mdiArrowLeft),to:unref(backTo),variant:"tonal"},{default:withCtx(()=>[..._cache[0]||(_cache[0]=[createTextVNode(" Back to sessions ",-1)])]),_:1},8,["prepend-icon","to"]),createVNode(VBtn,{"prepend-icon":unref(mdiRefresh),variant:"text",onClick:unref(reload)},{default:withCtx(()=>[..._cache[1]||(_cache[1]=[createTextVNode(" Retry ",-1)])]),_:1},8,["prepend-icon","onClick"])])]),_:1})):createCommentVNode("",true)])}}};const _sessionId_=_export_sfc(_sfc_main,[["__scopeId","data-v-5674a910"]]);export{_sessionId_ as default};
@@ -1 +1 @@
1
- import{_ as _export_sfc,aR as useRoute,a as openBlock,c as createElementBlock,d as createBaseVNode,r as createCommentVNode,A as computed}from"./index-SBc6H2In.js";import{a as vibe64SessionToolIdFromRouteSegment}from"./vibe64SessionToolDefinitions-C4maKOfp.js";const _hoisted_1={key:0,class:"vibe64-session-tool-route"};const _sfc_main={__name:"[sessionTool]",setup(__props){const route=useRoute();const sessionToolId=computed(()=>vibe64SessionToolIdFromRouteSegment(route.params.sessionTool));return(_ctx,_cache)=>{return!sessionToolId.value?(openBlock(),createElementBlock("section",_hoisted_1,[..._cache[0]||(_cache[0]=[createBaseVNode("h2",null,"Session tool unavailable",-1),createBaseVNode("p",null,"This dashboard route does not match an active session tool.",-1)])])):createCommentVNode("",true)}}};const _sessionTool_=_export_sfc(_sfc_main,[["__scopeId","data-v-d3743956"]]);export{_sessionTool_ as default};
1
+ import{_ as _export_sfc,aR as useRoute,a as openBlock,c as createElementBlock,d as createBaseVNode,r as createCommentVNode,A as computed}from"./index-C4KnwA0g.js";import{a as vibe64SessionToolIdFromRouteSegment}from"./vibe64SessionToolDefinitions-D5CgOIqa.js";const _hoisted_1={key:0,class:"vibe64-session-tool-route"};const _sfc_main={__name:"[sessionTool]",setup(__props){const route=useRoute();const sessionToolId=computed(()=>vibe64SessionToolIdFromRouteSegment(route.params.sessionTool));return(_ctx,_cache)=>{return!sessionToolId.value?(openBlock(),createElementBlock("section",_hoisted_1,[..._cache[0]||(_cache[0]=[createBaseVNode("h2",null,"Session tool unavailable",-1),createBaseVNode("p",null,"This dashboard route does not match an active session tool.",-1)])])):createCommentVNode("",true)}}};const _sessionTool_=_export_sfc(_sfc_main,[["__scopeId","data-v-d3743956"]]);export{_sessionTool_ as default};