vibe64 0.1.44 → 0.1.45

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 (57) hide show
  1. package/bin/run.js +548 -547
  2. package/dist/assets/{GithubBrowserTabs-CxeMBH6W.js → GithubBrowserTabs-B3eDyosw.js} +1 -1
  3. package/dist/assets/{Vibe64AuthSettingsButton-BuAidNAq.js → Vibe64AuthSettingsButton-D6FpAdMr.js} +1 -1
  4. package/dist/assets/{Vibe64DashboardShell-uWi4NB4y.js → Vibe64DashboardShell-Be9m--8X.js} +1 -1
  5. package/dist/assets/{Vibe64DatabaseWorkspace-CCpDbiGK.js → Vibe64DatabaseWorkspace-CJQsjlwO.js} +1 -1
  6. package/dist/assets/{Vibe64OutputControls-ttqEP46v.js → Vibe64OutputControls-BbIKDmnQ.js} +1 -1
  7. package/dist/assets/{Vibe64RepositoryWorkspace-Bq37tlM9.js → Vibe64RepositoryWorkspace-Di1Eaj89.js} +1 -1
  8. package/dist/assets/{Vibe64SessionFiles-BhNCbnUP.js → Vibe64SessionFiles-NPF2lVUa.js} +1 -1
  9. package/dist/assets/{_sessionId_-wrEZX5JX.js → _sessionId_-OpUBmmht.js} +1 -1
  10. package/dist/assets/{_slug_-CAmuBm-M.css → _slug_-D7Hp7Qdr.css} +1 -1
  11. package/dist/assets/{_slug_-pVQuRCsN.js → _slug_-URQxfixb.js} +4 -4
  12. package/dist/assets/{access-CwTmMeFU.js → access-Big-t8bD.js} +1 -1
  13. package/dist/assets/{app-BSNXOpH-.js → app-ClNGYCqx.js} +1 -1
  14. package/dist/assets/{changes-BHk1r-xi.js → changes-C5RgXQ6h.js} +1 -1
  15. package/dist/assets/{dashboard-CtPZicHO.js → dashboard-gczuqt9t.js} +1 -1
  16. package/dist/assets/{definitions-Cfy1CWRi.js → definitions-Dw7R22FW.js} +1 -1
  17. package/dist/assets/env-BaQrf0DE.js +1 -0
  18. package/dist/assets/{env-B5V1EC4M.css → env-ClR9iA1v.css} +1 -1
  19. package/dist/assets/{history-lzQXJSu7.js → history-h4HQIXvy.js} +1 -1
  20. package/dist/assets/{index-B17d4wpZ.css → index-Cuz3Jzqo.css} +1 -1
  21. package/dist/assets/{index-BnZ5igE0.js → index-kYgyZK8I.js} +4 -4
  22. package/dist/assets/{integrations-CefYdMOC.js → integrations-DVZcDoif.js} +1 -1
  23. package/dist/assets/{issues-CiGWy5Cv.js → issues-LguLI8Vc.js} +1 -1
  24. package/dist/assets/{learning-BfyUAtaJ.js → learning-pADlYdN6.js} +1 -1
  25. package/dist/assets/{publish-W5aA6JkR.js → publish-f7yKue02.js} +1 -1
  26. package/dist/assets/{pull-requests-BrtOgprU.js → pull-requests-B7bKeIV9.js} +1 -1
  27. package/dist/assets/{repository-BsSO4tkZ.js → repository-1l6cimH9.js} +1 -1
  28. package/dist/assets/{settings-Ck7lEre8.js → settings-ME38E4d1.js} +1 -1
  29. package/dist/assets/{useArchivedVibe64Sessions-DBSnMGIY.js → useArchivedVibe64Sessions-BeXgkSdF.js} +1 -1
  30. package/dist/assets/{useVibe64ConversationLog-DQUm75XZ.js → useVibe64ConversationLog-NZA-6BkP.js} +1 -1
  31. package/dist/assets/{useVibe64SessionData-t_rs_q6g.js → useVibe64SessionData-CXGozRef.js} +1 -1
  32. package/dist/assets/{useVibe64SessionSelection-gAUaIEs7.js → useVibe64SessionSelection-DZICz1SJ.js} +1 -1
  33. package/dist/assets/{vibe64SessionFocus-BZFoISVS.js → vibe64SessionFocus-DSpYUHZA.js} +1 -1
  34. package/dist/index.html +2 -2
  35. package/docs/colleague-usage/ai-accounts.md +2 -2
  36. package/docs/colleague-usage/ai-balance-and-allowance.md +4 -2
  37. package/docs/colleague-usage/ai-model-setups.md +6 -6
  38. package/docs/colleague-usage/ai-onboarding.md +2 -2
  39. package/docs/colleague-usage/ai-personal-use.md +1 -1
  40. package/docs/colleague-usage/coding-agent-failures.md +3 -2
  41. package/docs/colleague-usage/colleague.md +2 -3
  42. package/docs/colleague-usage/conversation-context.md +3 -0
  43. package/docs/colleague-usage/dashboard-navigation.md +7 -1
  44. package/docs/colleague-usage/health-checks.md +3 -1
  45. package/docs/colleague-usage/learning-course-catalogue.md +20 -12
  46. package/docs/colleague-usage/learning-mode-ui.md +2 -1
  47. package/docs/colleague-usage/learning-with-colleague.md +3 -1
  48. package/docs/colleague-usage/lesson-authoring.md +5 -4
  49. package/docs/colleague-usage/main-chat-approvals.md +7 -0
  50. package/docs/colleague-usage/plans.md +8 -3
  51. package/docs/colleague-usage/sessions.md +9 -3
  52. package/docs/colleague-usage/temporary-chats.md +9 -0
  53. package/docs/colleague-usage/voice-face-and-speaking-voice.md +3 -0
  54. package/docs/training-content.md +19 -12
  55. package/package.json +1 -1
  56. package/server.bundle.mjs +33217 -33147
  57. package/dist/assets/env-vkfe7Ud2.js +0 -1
@@ -0,0 +1 @@
1
+ import{D as createVNode,E as createTextVNode,Ht as watch,On as unref,_ as createBaseVNode,b as createElementBlock,bt as renderList,g as computed,mt as openBlock,o as Fragment,qt as withCtx,tr as toDisplayString,v as createBlock,vn as ref,wt as resolveDynamicComponent,xt as renderSlot,y as createCommentVNode}from"./runtime-core.esm-bundler-DGXg_mpN.js";import{h as VIcon}from"./ripple-EFNA8EBu.js";import{T as ROUTE_VISIBILITY_PUBLIC,t as useEndpointResource}from"./useEndpointResource-Ds8EDBZ2.js";import{g as useRoute}from"./useApi-BPuI6ZR9-CFWU1m37.js";import{t as VChip}from"./VChip-VVdtjfq-.js";import{t as VTextField}from"./VTextField-C0b_0cSa.js";import{At as mdiFileCogOutline,Cn as mdiLinkVariant,nr as mdiRefresh}from"./mdi-Bt90Ns76.js";import{t as VBtn}from"./VBtn-BhVEwXLX.js";import{t as VAlert}from"./VAlert-gwuhYlYb.js";import{t as VCheckbox}from"./VCheckbox-DyCGSN0H.js";import{t as VDialog}from"./VDialog-CQDhjRiV.js";import{i as VCardTitle,n as VCardText,o as VCardActions,t as VCard}from"./VCard-C3Hx769y.js";import{t as VSpacer}from"./VSpacer-CgWOWvBh.js";import{i as VExpansionPanelText,n as VExpansionPanel,r as VExpansionPanelTitle,t as VExpansionPanels}from"./VExpansionPanels-C1y-myl5.js";import{t as _plugin_vue_export_helper_default}from"./_plugin-vue_export-helper-DNW4j-dv.js";import{t as useCommand}from"./useCommand-nWFczmJy.js";import{T as envQueryKey,_ as VIBE64_ENV_SECRET_REVEAL_API_SUFFIX,a as ENV_SECRET_REVEAL_ENDPOINT,b as VIBE64_PROJECT_CHANGED_EVENT,i as ENV_ENDPOINT,o as ENV_USER_VALUES_ENDPOINT,v as VIBE64_ENV_USER_VALUES_API_SUFFIX}from"./studioGateApi-BXHVBVEc.js";import{t as useVibe64ProjectSlug}from"./useVibe64ProjectScope-B5ogg6jd.js";import{Jt as VTab,Qt as VTable,qt as VTabs}from"./index-kYgyZK8I.js";import{t as Vibe64AsyncModuleState_default}from"./Vibe64AsyncModuleState-syuPcpGx.js";import{n as useVibe64SessionSelection}from"./useVibe64SessionSelection-DZICz1SJ.js";import{t as Vibe64DashboardPageHeader_default}from"./Vibe64DashboardPageHeader-BMrdRph6.js";import{n as savedEnvValueEnvironment,r as useVibe64SavedEnvValues,t as recordIsSavedEnvValue}from"./vibe64SavedEnvValues-B_QE9aAj.js";var _hoisted_1$3={key:0,class:`runtime-config-records-table__actions-column`};var _hoisted_2$2={key:0};var _hoisted_3$2=[`onClick`];var _hoisted_4$2=[`title`];var _hoisted_5$2={class:`runtime-config-records-table__linked-label`};var _hoisted_6={key:1,class:`runtime-config-records-table__secret-value`};var _hoisted_7={key:0};var _hoisted_8={key:0,class:`runtime-config-records-table__saved-actions`};var _hoisted_9={key:1,class:`runtime-config-records-table__edit`};var _hoisted_10={class:`runtime-config-records-table__edit-actions`};var _sfc_main$3={__name:`RuntimeConfigRecordsTable`,props:{environmentLabel:{default:`environment`,type:String},records:{default:()=>[],type:Array},revealedSecrets:{default:()=>({}),type:Object},saveBusy:{default:false,type:Boolean},secretRevealBusyKey:{default:``,type:String},secretRevealEnabled:{default:false,type:Boolean},showActions:{default:false,type:Boolean}},emits:[`hide-secret`,`remove-record`,`reveal-secret`,`save-record`,`saved-value-changed`],setup(__props,{emit:__emit}){const emit=__emit;const props=__props;const draftValues=ref({});const projectSlug=useVibe64ProjectSlug();const savedValues=useVibe64SavedEnvValues();function recordKey(record={}){return`${record.scope||props.environmentLabel}:${record.key||``}`}function draftTouched(record={}){return Object.hasOwn(draftValues.value,recordKey(record))}function draftValue(record={}){return draftTouched(record)?draftValues.value[recordKey(record)]:``}function setDraftValue(record={},value=``){draftValues.value={...draftValues.value,[recordKey(record)]:String(value??``)}}function recordValueLabel(record={}){if(record.secret)return secretIsRevealed(record)?String(props.revealedSecrets[record.key]??``):record.valuePresent?`********`:``;return String(record.value??``)}function secretIsRevealed(record={}){return Boolean(record.key)&&Object.hasOwn(props.revealedSecrets,record.key)}function secretVisibilityAction(record={}){return secretIsRevealed(record)?`Hide`:`Reveal`}function secretVisibilityLabel(record={}){return`${secretVisibilityAction(record)} ${record.key||`secret`}`}function toggleSecretVisibility(record={}){emit(secretIsRevealed(record)?`hide-secret`:`reveal-secret`,record)}function saveRecord(record={}){if(!props.showActions||!draftTouched(record))return;const key=recordKey(record);const value=draftValue(record);const nextDraftValues={...draftValues.value};delete nextDraftValues[key];draftValues.value=nextDraftValues;emit(`save-record`,{record,value})}function removeRecord(record={}){if(props.showActions)emit(`remove-record`,record)}async function copyKey(key=``){const text=String(key||``);if(typeof navigator!==`undefined`&&navigator.clipboard&&text)await navigator.clipboard.writeText(text)}return(_ctx,_cache)=>{return openBlock(),createBlock(VTable,{class:`runtime-config-records-table`,density:`compact`},{default:withCtx(()=>[createBaseVNode(`colgroup`,null,[_cache[2]||(_cache[2]=createBaseVNode(`col`,{class:`runtime-config-records-table__key-column`},null,-1)),_cache[3]||(_cache[3]=createBaseVNode(`col`,{class:`runtime-config-records-table__value-column`},null,-1)),__props.showActions?(openBlock(),createElementBlock(`col`,_hoisted_1$3)):createCommentVNode(``,true)]),createBaseVNode(`thead`,null,[createBaseVNode(`tr`,null,[_cache[4]||(_cache[4]=createBaseVNode(`th`,null,`Key`,-1)),_cache[5]||(_cache[5]=createBaseVNode(`th`,null,`Value`,-1)),__props.showActions?(openBlock(),createElementBlock(`th`,_hoisted_2$2,`Actions`)):createCommentVNode(``,true)])]),createBaseVNode(`tbody`,null,[(openBlock(true),createElementBlock(Fragment,null,renderList(__props.records,record=>{return openBlock(),createElementBlock(`tr`,{key:recordKey(record)},[createBaseVNode(`td`,null,[createBaseVNode(`button`,{class:`runtime-config-records-table__key`,type:`button`,onClick:$event=>copyKey(record.key)},toDisplayString(record.key),9,_hoisted_3$2)]),createBaseVNode(`td`,null,[unref(recordIsSavedEnvValue)(record)?(openBlock(),createElementBlock(`div`,{key:0,class:`runtime-config-records-table__linked`,title:record.label},[createVNode(VIcon,{class:`runtime-config-records-table__linked-icon`,icon:unref(mdiLinkVariant),size:`16`},null,8,[`icon`]),createBaseVNode(`span`,_hoisted_5$2,toDisplayString(record.label||`Linked`),1)],8,_hoisted_4$2)):record.secret?(openBlock(),createElementBlock(`div`,_hoisted_6,[createBaseVNode(`code`,null,toDisplayString(recordValueLabel(record)),1),__props.secretRevealEnabled&&record.valuePresent?(openBlock(),createBlock(VBtn,{key:0,"aria-label":secretVisibilityLabel(record),disabled:Boolean(__props.secretRevealBusyKey)&&__props.secretRevealBusyKey!==record.key,loading:__props.secretRevealBusyKey===record.key,size:`x-small`,type:`button`,variant:`text`,onClick:$event=>toggleSecretVisibility(record)},{default:withCtx(()=>[createTextVNode(toDisplayString(secretVisibilityAction(record)),1)]),_:2},1032,[`aria-label`,`disabled`,`loading`,`onClick`])):createCommentVNode(``,true)])):(openBlock(),createElementBlock(Fragment,{key:2},[createTextVNode(toDisplayString(recordValueLabel(record)),1)],64))]),__props.showActions?(openBlock(),createElementBlock(`td`,_hoisted_7,[unref(recordIsSavedEnvValue)(record)?(openBlock(),createElementBlock(`div`,_hoisted_8,[unref(savedValues)?(openBlock(),createBlock(resolveDynamicComponent(unref(savedValues).component),{key:0,environment:unref(savedEnvValueEnvironment)(__props.environmentLabel),placement:`env-row`,"project-slug":unref(projectSlug),secret:record.secret===true,variable:record.key,onChanged:_cache[0]||(_cache[0]=$event=>_ctx.$emit(`saved-value-changed`))},null,40,[`environment`,`project-slug`,`secret`,`variable`])):createCommentVNode(``,true)])):(openBlock(),createElementBlock(`div`,_hoisted_9,[createVNode(VTextField,{"model-value":draftValue(record),type:record.secret?`password`:`text`,density:`compact`,"hide-details":``,label:`New value`,spellcheck:`false`,variant:`outlined`,"onUpdate:modelValue":$event=>setDraftValue(record,$event)},null,8,[`model-value`,`type`,`onUpdate:modelValue`]),createBaseVNode(`span`,_hoisted_10,[unref(savedValues)?(openBlock(),createBlock(resolveDynamicComponent(unref(savedValues).component),{key:0,environment:unref(savedEnvValueEnvironment)(__props.environmentLabel),"has-value":record.valuePresent===true,placement:`env-row`,"project-slug":unref(projectSlug),secret:record.secret===true,variable:record.key,onChanged:_cache[1]||(_cache[1]=$event=>_ctx.$emit(`saved-value-changed`))},null,40,[`environment`,`has-value`,`project-slug`,`secret`,`variable`])):createCommentVNode(``,true),createVNode(VBtn,{disabled:!draftTouched(record),loading:__props.saveBusy,size:`small`,type:`button`,variant:`tonal`,onClick:$event=>saveRecord(record)},{default:withCtx(()=>[..._cache[6]||(_cache[6]=[createTextVNode(` Save `,-1)])]),_:1},8,[`disabled`,`loading`,`onClick`]),createVNode(VBtn,{loading:__props.saveBusy,size:`small`,type:`button`,variant:`text`,onClick:$event=>removeRecord(record)},{default:withCtx(()=>[..._cache[7]||(_cache[7]=[createTextVNode(` Remove `,-1)])]),_:1},8,[`loading`,`onClick`])])]))])):createCommentVNode(``,true)])}),128))])]),_:1})}}};var RuntimeConfigRecordsTable_default=_plugin_vue_export_helper_default(_sfc_main$3,[[`__scopeId`,`data-v-9fcec261`]]);var _hoisted_1$2={class:`runtime-config-records`};var _hoisted_2$1={class:`runtime-config-records__section`};var _hoisted_3$1={class:`runtime-config-records__heading`};var _hoisted_4$1={key:1,class:`runtime-config-records__empty`};var _hoisted_5$1={class:`runtime-config-records__system-title`};var _sfc_main$2={__name:`RuntimeConfigRecordsView`,props:{editableEmptyText:{default:`No user Env values.`,type:String},editableTitle:{default:`User values`,type:String},environmentLabel:{default:`environment`,type:String},readonly:{default:false,type:Boolean},records:{default:()=>[],type:Array},revealedSecrets:{default:()=>({}),type:Object},saveBusy:{default:false,type:Boolean},secretRevealBusyKey:{default:``,type:String},secretRevealEnabled:{default:false,type:Boolean},systemTitle:{default:`System values`,type:String}},emits:[`hide-secret`,`remove-record`,`reveal-secret`,`save-record`,`saved-value-changed`],setup(__props){const props=__props;const records=computed(()=>Array.isArray(props.records)?props.records:[]);const editableRecords=computed(()=>records.value.filter(recordEditable));const systemRecords=computed(()=>records.value.filter(record=>!recordEditable(record)));function recordEditable(record={}){return record.editable===true||recordIsSavedEnvValue(record)}return(_ctx,_cache)=>{return openBlock(),createElementBlock(`section`,_hoisted_1$2,[createBaseVNode(`section`,_hoisted_2$1,[createBaseVNode(`div`,_hoisted_3$1,[createBaseVNode(`h2`,null,toDisplayString(__props.editableTitle),1),createVNode(VChip,{size:`x-small`,variant:`tonal`},{default:withCtx(()=>[createTextVNode(toDisplayString(editableRecords.value.length),1)]),_:1})]),editableRecords.value.length?(openBlock(),createBlock(RuntimeConfigRecordsTable_default,{key:0,"environment-label":__props.environmentLabel,records:editableRecords.value,"revealed-secrets":__props.revealedSecrets,"save-busy":__props.saveBusy,"secret-reveal-busy-key":__props.secretRevealBusyKey,"secret-reveal-enabled":__props.secretRevealEnabled,"show-actions":!__props.readonly,onHideSecret:_cache[0]||(_cache[0]=$event=>_ctx.$emit(`hide-secret`,$event)),onRemoveRecord:_cache[1]||(_cache[1]=$event=>_ctx.$emit(`remove-record`,$event)),onRevealSecret:_cache[2]||(_cache[2]=$event=>_ctx.$emit(`reveal-secret`,$event)),onSaveRecord:_cache[3]||(_cache[3]=$event=>_ctx.$emit(`save-record`,$event)),onSavedValueChanged:_cache[4]||(_cache[4]=$event=>_ctx.$emit(`saved-value-changed`))},null,8,[`environment-label`,`records`,`revealed-secrets`,`save-busy`,`secret-reveal-busy-key`,`secret-reveal-enabled`,`show-actions`])):(openBlock(),createElementBlock(`p`,_hoisted_4$1,toDisplayString(__props.editableEmptyText),1))]),systemRecords.value.length?(openBlock(),createBlock(VExpansionPanels,{key:0,class:`runtime-config-records__system`,variant:`accordion`},{default:withCtx(()=>[createVNode(VExpansionPanel,null,{default:withCtx(()=>[createVNode(VExpansionPanelTitle,null,{default:withCtx(()=>[createBaseVNode(`span`,_hoisted_5$1,[createTextVNode(toDisplayString(__props.systemTitle)+` `,1),createVNode(VChip,{size:`x-small`,variant:`tonal`},{default:withCtx(()=>[createTextVNode(toDisplayString(systemRecords.value.length),1)]),_:1})])]),_:1}),createVNode(VExpansionPanelText,null,{default:withCtx(()=>[createVNode(RuntimeConfigRecordsTable_default,{"environment-label":__props.environmentLabel,records:systemRecords.value,"revealed-secrets":__props.revealedSecrets,"secret-reveal-busy-key":__props.secretRevealBusyKey,"secret-reveal-enabled":__props.secretRevealEnabled,onHideSecret:_cache[5]||(_cache[5]=$event=>_ctx.$emit(`hide-secret`,$event)),onRevealSecret:_cache[6]||(_cache[6]=$event=>_ctx.$emit(`reveal-secret`,$event))},null,8,[`environment-label`,`records`,`revealed-secrets`,`secret-reveal-busy-key`,`secret-reveal-enabled`])]),_:1})]),_:1})]),_:1})):createCommentVNode(``,true)])}}};var RuntimeConfigRecordsView_default=_plugin_vue_export_helper_default(_sfc_main$2,[[`__scopeId`,`data-v-705aded9`]]);function runtimeConfigSecretKey(value={}){return String(typeof value===`string`?value:value?.key||``).trim()}function useRuntimeConfigSecretReveal({revealValue}={}){if(typeof revealValue!==`function`)throw new TypeError(`useRuntimeConfigSecretReveal requires revealValue().`);const revealedSecrets=ref({});const secretRevealBusyKey=ref(``);async function revealSecret(record={}){const key=runtimeConfigSecretKey(record);if(!key||secretRevealBusyKey.value)return false;secretRevealBusyKey.value=key;try{const value=await revealValue(key,record);if(value===void 0||value===null)return false;revealedSecrets.value={...revealedSecrets.value,[key]:String(value)};return true}finally{secretRevealBusyKey.value=``}}function hideSecret(record={}){const key=runtimeConfigSecretKey(record);if(!key||!Object.hasOwn(revealedSecrets.value,key))return false;const next={...revealedSecrets.value};delete next[key];revealedSecrets.value=next;return true}function clearRevealedSecrets(){revealedSecrets.value={}}return{clearRevealedSecrets,hideSecret,revealedSecrets,revealSecret,secretRevealBusyKey}}var _hoisted_1$1={class:`env-panel`};var _hoisted_2={key:2,class:`env-panel__expected`};var _hoisted_3={class:`env-panel__section-heading env-panel__section-heading--inline`};var _hoisted_4={class:`env-panel__expected-keys`};var _hoisted_5={class:`env-panel__add`};var PROJECT_ENV_TAB=`dev`;var PROJECT_ENVIRONMENT=`dev`;var PROJECT_ENVIRONMENT_LABEL=`development`;var _sfc_main$1={__name:`EnvPanel`,setup(__props){const projectSlug=useVibe64ProjectSlug();const selectedSessionId=useVibe64SessionSelection({projectSlug}).selectedId;const activeTab=ref(PROJECT_ENV_TAB);const savedValues=useVibe64SavedEnvValues();const newValue=ref(emptyNewValue());const route=useRoute();watch(()=>[route.query.prefillKey,route.query.prefillValue,route.query.prefillSecret],([key,value,secret])=>{if(typeof key!==`string`||!/^[A-Z_][A-Z0-9_]*$/u.test(key)||key.length>200)return;if(secret===`true`)newValue.value={key,value:``,secret:true};else if(value===void 0||typeof value===`string`&&value.length<=4096)newValue.value={key,value:value??``,secret:false}},{immediate:true});const pendingRemoval=ref(null);const envResource=useEndpointResource({fallbackLoadError:`Env could not load.`,path:ENV_ENDPOINT,queryKey:computed(()=>[...envQueryKey(`app`,ROUTE_VISIBILITY_PUBLIC,projectSlug.value),PROJECT_ENVIRONMENT,selectedSessionId.value||`baseline`]),readQuery:computed(()=>({environment:PROJECT_ENVIRONMENT,...selectedSessionId.value?{sessionId:selectedSessionId.value}:{}})),realtime:{event:VIBE64_PROJECT_CHANGED_EVENT},refreshOnPull:true,requestRecoveryLabel:`Env`});const saveCommand=useCommand({access:`never`,apiSuffix:VIBE64_ENV_USER_VALUES_API_SUFFIX,buildCommandOptions:()=>({method:`PUT`,path:ENV_USER_VALUES_ENDPOINT}),buildRawPayload:(_model,{context})=>({environment:PROJECT_ENVIRONMENT,...selectedSessionId.value?{sessionId:selectedSessionId.value}:{},values:context.values||{}}),fallbackRunError:`Env value could not be saved.`,messages:{error:`Env value could not be saved.`,success:`Env saved.`},ownershipFilter:ROUTE_VISIBILITY_PUBLIC,placementSource:`vibe64.env.user-values.save`,surfaceId:`app`,writeMethod:`PUT`});const revealCommand=useCommand({access:`never`,apiSuffix:VIBE64_ENV_SECRET_REVEAL_API_SUFFIX,buildCommandOptions:()=>({method:`POST`,path:ENV_SECRET_REVEAL_ENDPOINT}),buildRawPayload:(_model,{context})=>({environment:PROJECT_ENVIRONMENT,key:context.key,...selectedSessionId.value?{sessionId:selectedSessionId.value}:{}}),fallbackRunError:`Env secret could not be revealed.`,messages:{error:`Env secret could not be revealed.`},ownershipFilter:ROUTE_VISIBILITY_PUBLIC,placementSource:`vibe64.env.secret.reveal`,suppressSuccessMessage:true,surfaceId:`app`,writeMethod:`POST`});const{clearRevealedSecrets,hideSecret,revealedSecrets,revealSecret,secretRevealBusyKey}=useRuntimeConfigSecretReveal({async revealValue(key){const response=await revealCommand.run({key});return response?.ok===false?null:response?.value}});watch([projectSlug,selectedSessionId],clearRevealedSecrets);const env=computed(()=>envResource.data.value?.env||{});const envConfigSourceLabel=computed(()=>String(env.value?.configSource?.label||``));const envLoading=computed(()=>envResource.isLoading.value===true);const envLoadError=computed(()=>String(envResource.loadError.value||``));const envUnavailable=computed(()=>Boolean(env.value?.unavailable));const envUnavailableMessage=computed(()=>String(env.value?.unavailable?.message||`Project Env is unavailable. Fix the project configuration and try again.`));const saveBusy=computed(()=>saveCommand.isRunning===true);const removeConfirmOpen=computed({get:()=>Boolean(pendingRemoval.value),set:open=>{if(!open&&!saveBusy.value)pendingRemoval.value=null}});const pendingRemovalKey=computed(()=>String(pendingRemoval.value?.key||``));const projectEnvTabActive=computed(()=>activeTab.value===PROJECT_ENV_TAB);const records=computed(()=>Array.isArray(env.value?.records)?env.value.records:[]);const existingNewValue=computed(()=>records.value.some(record=>record.key===String(newValue.value.key||``).trim()&&record.valuePresent===true));const missingRecords=computed(()=>records.value.filter(recordMissing));const expectedMissingRecords=computed(()=>missingRecords.value.filter(recordEditable));const environmentLabel=PROJECT_ENVIRONMENT_LABEL;function emptyNewValue(){return{key:``,secret:true,value:``}}function recordEditable(record={}){return record.editable===true}function recordMissing(record={}){return record.valuePresent!==true&&(record.missing===true||Array.isArray(record.requiredFor)&&record.requiredFor.length>0)}function selectExpectedRecord(record={}){const key=String(record.key||``).trim();if(!key)return;newValue.value={key,secret:record.secret===true,value:``}}async function refresh(){clearRevealedSecrets();await envResource.reload()}async function saveRecord({record={},value=``}={}){if(!recordEditable(record))return;await saveValues({[record.key]:{secret:record.secret===true,value}})}function requestRemoveRecord(record={}){if(!recordEditable(record))return;pendingRemoval.value=record}function cancelRemoveRecord(){if(!saveBusy.value)pendingRemoval.value=null}async function confirmRemoveRecord(){const record=pendingRemoval.value;if(!recordEditable(record)){pendingRemoval.value=null;return}await saveValues({[record.key]:{remove:true}});pendingRemoval.value=null}async function saveNewValue(){const key=String(newValue.value.key||``).trim();if(!key)return;await saveValues({[key]:{secret:newValue.value.secret===true,value:newValue.value.value}});newValue.value=emptyNewValue()}async function saveValues(values={}){clearRevealedSecrets();await saveCommand.run({values});await envResource.reload()}async function savedValueChanged(){newValue.value=emptyNewValue();await refresh()}function reloadPage(){if(typeof window!==`undefined`)window.location.reload()}return(_ctx,_cache)=>{return openBlock(),createElementBlock(`section`,_hoisted_1$1,[createVNode(Vibe64DashboardPageHeader_default,{description:`Values supplied to this project's development processes.`,icon:unref(mdiFileCogOutline),title:`Env`},{meta:withCtx(()=>[envConfigSourceLabel.value?(openBlock(),createBlock(VChip,{key:0,class:`env-panel__source`,label:``,size:`small`,variant:`tonal`},{default:withCtx(()=>[createTextVNode(toDisplayString(envConfigSourceLabel.value),1)]),_:1})):createCommentVNode(``,true)]),actions:withCtx(()=>[projectEnvTabActive.value?(openBlock(),createBlock(VBtn,{key:0,loading:envLoading.value,"prepend-icon":unref(mdiRefresh),rounded:`pill`,type:`button`,variant:`tonal`,onClick:refresh},{default:withCtx(()=>[..._cache[5]||(_cache[5]=[createTextVNode(` Refresh `,-1)])]),_:1},8,[`loading`,`prepend-icon`])):createCommentVNode(``,true),renderSlot(_ctx.$slots,`tab-actions`,{activeTab:activeTab.value},void 0,true)]),_:3},8,[`icon`]),createVNode(VTabs,{modelValue:activeTab.value,"onUpdate:modelValue":_cache[0]||(_cache[0]=$event=>activeTab.value=$event),class:`env-panel__tabs`,color:`primary`,density:`comfortable`},{default:withCtx(()=>[createVNode(VTab,{value:PROJECT_ENV_TAB},{default:withCtx(()=>[..._cache[6]||(_cache[6]=[createTextVNode(`Development`,-1)])]),_:1}),renderSlot(_ctx.$slots,`tabs`,{},void 0,true)]),_:3},8,[`modelValue`]),projectEnvTabActive.value&&(envLoading.value||envLoadError.value)?(openBlock(),createBlock(Vibe64AsyncModuleState_default,{key:0,label:`Env`,loading:envLoading.value,message:envLoadError.value||`Loading Env.`,"min-height":`12rem`,onReload:reloadPage,onRetry:refresh},null,8,[`loading`,`message`])):projectEnvTabActive.value?(openBlock(),createElementBlock(Fragment,{key:1},[envUnavailable.value?(openBlock(),createBlock(VAlert,{key:0,class:`env-panel__alert`,type:`info`,variant:`tonal`,density:`compact`},{default:withCtx(()=>[createTextVNode(toDisplayString(envUnavailableMessage.value),1)]),_:1})):createCommentVNode(``,true),missingRecords.value.length?(openBlock(),createBlock(VAlert,{key:1,class:`env-panel__alert`,type:`warning`,variant:`tonal`,density:`compact`},{default:withCtx(()=>[createTextVNode(` Missing `+toDisplayString(unref(environmentLabel))+` value(s): `+toDisplayString(missingRecords.value.map(record=>record.key).join(`, `)),1)]),_:1})):createCommentVNode(``,true),expectedMissingRecords.value.length?(openBlock(),createElementBlock(`section`,_hoisted_2,[createBaseVNode(`div`,_hoisted_3,[_cache[7]||(_cache[7]=createBaseVNode(`h2`,null,`Expected user values`,-1)),createVNode(VChip,{size:`x-small`,variant:`tonal`},{default:withCtx(()=>[createTextVNode(toDisplayString(expectedMissingRecords.value.length),1)]),_:1})]),createBaseVNode(`div`,_hoisted_4,[(openBlock(true),createElementBlock(Fragment,null,renderList(expectedMissingRecords.value,record=>{return openBlock(),createBlock(VBtn,{key:`expected:${record.key}`,size:`small`,type:`button`,variant:`tonal`,onClick:$event=>selectExpectedRecord(record)},{default:withCtx(()=>[createTextVNode(toDisplayString(record.key),1)]),_:2},1032,[`onClick`])}),128))])])):createCommentVNode(``,true),existingNewValue.value?(openBlock(),createBlock(VAlert,{key:3,type:`info`,variant:`tonal`},{default:withCtx(()=>[createTextVNode(toDisplayString(newValue.value.key)+` already has a value. Saving replaces this value in development; other Env values stay unchanged. `,1)]),_:1})):createCommentVNode(``,true),createBaseVNode(`section`,_hoisted_5,[createVNode(VTextField,{modelValue:newValue.value.key,"onUpdate:modelValue":_cache[1]||(_cache[1]=$event=>newValue.value.key=$event),density:`compact`,"hide-details":``,label:`Key`,spellcheck:`false`,variant:`outlined`},null,8,[`modelValue`]),createVNode(VTextField,{modelValue:newValue.value.value,"onUpdate:modelValue":_cache[2]||(_cache[2]=$event=>newValue.value.value=$event),type:newValue.value.secret?`password`:`text`,density:`compact`,"hide-details":``,label:`Value`,spellcheck:`false`,variant:`outlined`},null,8,[`modelValue`,`type`]),createVNode(VCheckbox,{modelValue:newValue.value.secret,"onUpdate:modelValue":_cache[3]||(_cache[3]=$event=>newValue.value.secret=$event),density:`compact`,"hide-details":``,label:`Secret`},null,8,[`modelValue`]),createVNode(VBtn,{disabled:!newValue.value.key,loading:saveBusy.value,color:`primary`,type:`button`,variant:`flat`,onClick:saveNewValue},{default:withCtx(()=>[createTextVNode(toDisplayString(existingNewValue.value?`Replace value`:`Add`),1)]),_:1},8,[`disabled`,`loading`]),unref(savedValues)?(openBlock(),createBlock(resolveDynamicComponent(unref(savedValues).component),{key:0,environment:unref(savedEnvValueEnvironment)(unref(environmentLabel)),"has-value":existingNewValue.value,placement:`env-add`,"project-slug":unref(projectSlug),secret:newValue.value.secret===true,variable:String(newValue.value.key||``).trim(),onChanged:savedValueChanged},null,40,[`environment`,`has-value`,`project-slug`,`secret`,`variable`])):createCommentVNode(``,true)]),createVNode(RuntimeConfigRecordsView_default,{"editable-empty-text":`No user Env values.`,"editable-title":`User values`,"environment-label":unref(environmentLabel),records:records.value,"revealed-secrets":unref(revealedSecrets),"save-busy":saveBusy.value,"secret-reveal-busy-key":unref(secretRevealBusyKey),"secret-reveal-enabled":``,"system-title":`System values`,onHideSecret:unref(hideSecret),onRemoveRecord:requestRemoveRecord,onRevealSecret:unref(revealSecret),onSaveRecord:saveRecord,onSavedValueChanged:refresh},null,8,[`environment-label`,`records`,`revealed-secrets`,`save-busy`,`secret-reveal-busy-key`,`onHideSecret`,`onRevealSecret`])],64)):renderSlot(_ctx.$slots,`tab-panel`,{activeTab:activeTab.value},void 0,true,2),createVNode(VDialog,{modelValue:removeConfirmOpen.value,"onUpdate:modelValue":_cache[4]||(_cache[4]=$event=>removeConfirmOpen.value=$event),"max-width":`30rem`},{default:withCtx(()=>[createVNode(VCard,null,{default:withCtx(()=>[createVNode(VCardTitle,null,{default:withCtx(()=>[..._cache[8]||(_cache[8]=[createTextVNode(`Remove Env value?`,-1)])]),_:1}),createVNode(VCardText,null,{default:withCtx(()=>[createBaseVNode(`code`,null,toDisplayString(pendingRemovalKey.value),1),_cache[9]||(_cache[9]=createTextVNode(` will no longer be supplied to this project's development processes. `,-1))]),_:1}),createVNode(VCardActions,null,{default:withCtx(()=>[createVNode(VSpacer),createVNode(VBtn,{disabled:saveBusy.value,type:`button`,variant:`text`,onClick:cancelRemoveRecord},{default:withCtx(()=>[..._cache[10]||(_cache[10]=[createTextVNode(` Cancel `,-1)])]),_:1},8,[`disabled`]),createVNode(VBtn,{color:`error`,loading:saveBusy.value,type:`button`,variant:`flat`,onClick:confirmRemoveRecord},{default:withCtx(()=>[..._cache[11]||(_cache[11]=[createTextVNode(` Remove `,-1)])]),_:1},8,[`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`])])}}};var EnvPanel_default=_plugin_vue_export_helper_default(_sfc_main$1,[[`__scopeId`,`data-v-f77b996b`]]);var _hoisted_1={class:`vibe64-dashboard-page`};var _sfc_main={__name:`index`,setup(__props){return(_ctx,_cache)=>{return openBlock(),createElementBlock(`section`,_hoisted_1,[createVNode(EnvPanel_default)])}}};var env_default=_plugin_vue_export_helper_default(_sfc_main,[[`__scopeId`,`data-v-c6bb4035`]]);export{env_default as default};
@@ -1 +1 @@
1
- .runtime-config-records-table[data-v-9fcec261]{border:1px solid rgba(var(--v-theme-on-surface), .1);border-radius:8px;width:100%;overflow:hidden}.runtime-config-records-table[data-v-9fcec261] table{table-layout:fixed;width:100%;min-width:40rem}.runtime-config-records-table__key-column[data-v-9fcec261]{width:26%}.runtime-config-records-table__value-column[data-v-9fcec261]{width:34%}.runtime-config-records-table__actions-column[data-v-9fcec261]{width:40%}.runtime-config-records-table th[data-v-9fcec261],.runtime-config-records-table td[data-v-9fcec261]{vertical-align:middle;min-width:0}.runtime-config-records-table__key[data-v-9fcec261]{appearance:none;background:var(--v64-primary-container,rgba(var(--v-theme-primary), .12));border-radius:var(--v64-shape-sm,8px);color:var(--v64-on-primary-container,rgb(var(--v-theme-primary)));cursor:pointer;overflow-wrap:anywhere;text-align:left;border:0;max-width:100%;padding:2px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.86rem;font-weight:650}.runtime-config-records-table__key[data-v-9fcec261]:hover{background:color-mix(in srgb, rgb(var(--v-theme-primary)) 22%, rgb(var(--v-theme-surface)))}.runtime-config-records-table__key[data-v-9fcec261]:focus-visible{outline:2px solid rgb(var(--v-theme-primary));outline-offset:2px}.runtime-config-records-table__secret-value[data-v-9fcec261]{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.25rem;min-width:0;display:grid}.runtime-config-records-table__secret-value code[data-v-9fcec261]{white-space:nowrap;min-width:0;overflow-x:auto}.runtime-config-records-table__edit[data-v-9fcec261]{flex-wrap:wrap;align-items:center;gap:.5rem;min-width:0;padding-block:4px;display:flex}.runtime-config-records-table__edit>.v-input[data-v-9fcec261]{flex:7rem}.runtime-config-records-table__linked[data-v-9fcec261]{background:var(--v64-surface-container,rgba(var(--v-theme-on-surface), .05));border-radius:var(--v64-shape-sm,8px);color:var(--v64-on-surface-variant,#0000009e);align-items:center;gap:6px;min-width:0;max-width:100%;margin-block:6px;padding:4px 10px 4px 8px;display:inline-flex}.runtime-config-records-table__linked-icon[data-v-9fcec261]{color:var(--v64-primary,rgb(var(--v-theme-primary)));flex:none}.runtime-config-records-table__linked-label[data-v-9fcec261]{font:var(--v64-type-label-lg,500 .875rem/1.25rem system-ui, sans-serif);-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;min-width:0;display:-webkit-box;overflow:hidden}.runtime-config-records-table__edit-actions[data-v-9fcec261]{flex:none;align-items:center;gap:.25rem;margin-inline-start:auto;display:inline-flex}.runtime-config-records-table__saved-actions[data-v-9fcec261]{justify-content:flex-end;align-items:center;min-width:0;min-height:40px;display:flex}.runtime-config-records-table__edit[data-v-9fcec261] .v-field{min-width:0}@media (width<=900px){.runtime-config-records-table__edit>.v-input[data-v-9fcec261]{flex-basis:100%}}@media (width<=600px){.runtime-config-records-table[data-v-9fcec261] table,.runtime-config-records-table[data-v-9fcec261] tbody{min-width:0;display:block}.runtime-config-records-table[data-v-9fcec261] colgroup,.runtime-config-records-table[data-v-9fcec261] thead{display:none}.runtime-config-records-table[data-v-9fcec261] tbody>tr{grid-template-columns:minmax(0,1fr);gap:4px;padding:10px 12px;display:grid}.runtime-config-records-table[data-v-9fcec261] tbody>tr+tr{border-top:thin solid rgba(var(--v-border-color), var(--v-border-opacity))}.runtime-config-records-table[data-v-9fcec261] tbody>tr>td{min-width:0;border:0!important;height:auto!important;padding:0!important}}.runtime-config-records[data-v-a2fabf89]{gap:.85rem;min-width:0;display:grid}.runtime-config-records__section[data-v-a2fabf89]{gap:.5rem;min-width:0;display:grid}.runtime-config-records__heading[data-v-a2fabf89]{justify-content:flex-start;align-items:center;gap:.5rem;display:flex}.runtime-config-records__heading h2[data-v-a2fabf89]{font:var(--v64-type-title-md,600 1rem/1.5rem system-ui, sans-serif);letter-spacing:0;margin:0}.runtime-config-records__empty[data-v-a2fabf89]{border:1px dashed var(--v64-outline,#0000003d);border-radius:var(--v64-shape-lg,16px);color:var(--v64-on-surface-variant,#0000009e);font:var(--v64-type-body-md,400 .875rem/1.25rem system-ui, sans-serif);padding:var(--v64-space-5,24px) var(--v64-space-4,16px);text-align:center;margin:0}.runtime-config-records__system-title[data-v-a2fabf89]{align-items:center;gap:.5rem;min-width:0;display:inline-flex}.env-panel[data-v-f77b996b]{gap:var(--v64-space-4,16px);min-width:0;display:grid}.env-panel__source[data-v-f77b996b]{font-weight:600}.env-panel__tabs[data-v-f77b996b]{border-bottom:1px solid var(--v64-outline-variant,#0000001f)}.env-panel__tabs[data-v-f77b996b] .v-tab{letter-spacing:0;text-transform:none}.env-panel__alert[data-v-f77b996b]{border-radius:var(--v64-shape-md,12px)}.env-panel__expected[data-v-f77b996b],.env-panel__add[data-v-f77b996b]{background:var(--v64-surface-container-low);border:1px solid var(--v64-outline-variant,#0000001f);border-radius:var(--v64-shape-lg,16px)}.env-panel__add[data-v-f77b996b]{align-items:center;gap:var(--v64-space-3,12px);padding:var(--v64-space-4,16px);flex-wrap:wrap;display:flex}.env-panel__add>.v-text-field[data-v-f77b996b]:first-child{flex:1.1 10rem}.env-panel__add>.v-text-field[data-v-f77b996b]:nth-child(2){flex:1.4 12rem}.env-panel__add>.v-checkbox[data-v-f77b996b]{flex:none}.env-panel__add[data-v-f77b996b] .v-field{background:var(--v64-surface);border-radius:var(--v64-shape-sm,8px)}.env-panel__add>.v-btn[data-v-f77b996b]{border-radius:var(--v64-shape-full,999px);min-height:40px;padding-inline:var(--v64-space-5,24px)}.env-panel__expected[data-v-f77b996b]{gap:var(--v64-space-2,8px);min-width:0;display:grid;overflow:hidden}.env-panel__section-heading[data-v-f77b996b]{align-items:center;gap:var(--v64-space-2,8px);padding:var(--v64-space-3,12px) var(--v64-space-4,16px) 0;justify-content:space-between;display:flex}.env-panel__section-heading--inline[data-v-f77b996b]{justify-content:flex-start}.env-panel__section-heading h2[data-v-f77b996b]{font:var(--v64-type-title-md,600 1rem/1.5rem system-ui, sans-serif);letter-spacing:0;margin:0}.env-panel__expected-keys[data-v-f77b996b]{align-items:center;gap:var(--v64-space-2,8px);padding:0 var(--v64-space-4,16px) var(--v64-space-4,16px);flex-wrap:wrap;display:flex}@media (width<=900px){.env-panel__add[data-v-f77b996b]{flex-direction:column;align-items:stretch}.env-panel__add>.v-text-field[data-v-f77b996b]:nth-child(n){flex:none}}.vibe64-dashboard-page[data-v-c6bb4035]{gap:.75rem;min-width:0;display:grid}
1
+ .runtime-config-records-table[data-v-9fcec261]{border:1px solid rgba(var(--v-theme-on-surface), .1);border-radius:8px;width:100%;overflow:hidden}.runtime-config-records-table[data-v-9fcec261] table{table-layout:fixed;width:100%;min-width:40rem}.runtime-config-records-table__key-column[data-v-9fcec261]{width:26%}.runtime-config-records-table__value-column[data-v-9fcec261]{width:34%}.runtime-config-records-table__actions-column[data-v-9fcec261]{width:40%}.runtime-config-records-table th[data-v-9fcec261],.runtime-config-records-table td[data-v-9fcec261]{vertical-align:middle;min-width:0}.runtime-config-records-table__key[data-v-9fcec261]{appearance:none;background:var(--v64-primary-container,rgba(var(--v-theme-primary), .12));border-radius:var(--v64-shape-sm,8px);color:var(--v64-on-primary-container,rgb(var(--v-theme-primary)));cursor:pointer;overflow-wrap:anywhere;text-align:left;border:0;max-width:100%;padding:2px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.86rem;font-weight:650}.runtime-config-records-table__key[data-v-9fcec261]:hover{background:color-mix(in srgb, rgb(var(--v-theme-primary)) 22%, rgb(var(--v-theme-surface)))}.runtime-config-records-table__key[data-v-9fcec261]:focus-visible{outline:2px solid rgb(var(--v-theme-primary));outline-offset:2px}.runtime-config-records-table__secret-value[data-v-9fcec261]{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.25rem;min-width:0;display:grid}.runtime-config-records-table__secret-value code[data-v-9fcec261]{white-space:nowrap;min-width:0;overflow-x:auto}.runtime-config-records-table__edit[data-v-9fcec261]{flex-wrap:wrap;align-items:center;gap:.5rem;min-width:0;padding-block:4px;display:flex}.runtime-config-records-table__edit>.v-input[data-v-9fcec261]{flex:7rem}.runtime-config-records-table__linked[data-v-9fcec261]{background:var(--v64-surface-container,rgba(var(--v-theme-on-surface), .05));border-radius:var(--v64-shape-sm,8px);color:var(--v64-on-surface-variant,#0000009e);align-items:center;gap:6px;min-width:0;max-width:100%;margin-block:6px;padding:4px 10px 4px 8px;display:inline-flex}.runtime-config-records-table__linked-icon[data-v-9fcec261]{color:var(--v64-primary,rgb(var(--v-theme-primary)));flex:none}.runtime-config-records-table__linked-label[data-v-9fcec261]{font:var(--v64-type-label-lg,500 .875rem/1.25rem system-ui, sans-serif);-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;min-width:0;display:-webkit-box;overflow:hidden}.runtime-config-records-table__edit-actions[data-v-9fcec261]{flex:none;align-items:center;gap:.25rem;margin-inline-start:auto;display:inline-flex}.runtime-config-records-table__saved-actions[data-v-9fcec261]{justify-content:flex-end;align-items:center;min-width:0;min-height:40px;display:flex}.runtime-config-records-table__edit[data-v-9fcec261] .v-field{min-width:0}@media (width<=900px){.runtime-config-records-table__edit>.v-input[data-v-9fcec261]{flex-basis:100%}}@media (width<=600px){.runtime-config-records-table[data-v-9fcec261] table,.runtime-config-records-table[data-v-9fcec261] tbody{min-width:0;display:block}.runtime-config-records-table[data-v-9fcec261] colgroup,.runtime-config-records-table[data-v-9fcec261] thead{display:none}.runtime-config-records-table[data-v-9fcec261] tbody>tr{grid-template-columns:minmax(0,1fr);gap:4px;padding:10px 12px;display:grid}.runtime-config-records-table[data-v-9fcec261] tbody>tr+tr{border-top:thin solid rgba(var(--v-border-color), var(--v-border-opacity))}.runtime-config-records-table[data-v-9fcec261] tbody>tr>td{min-width:0;border:0!important;height:auto!important;padding:0!important}}.runtime-config-records[data-v-705aded9]{gap:.85rem;min-width:0;display:grid}.runtime-config-records__section[data-v-705aded9]{gap:.5rem;min-width:0;display:grid}.runtime-config-records__heading[data-v-705aded9]{justify-content:flex-start;align-items:center;gap:.5rem;display:flex}.runtime-config-records__heading h2[data-v-705aded9]{font:var(--v64-type-title-md,600 1rem/1.5rem system-ui, sans-serif);letter-spacing:0;margin:0}.runtime-config-records__empty[data-v-705aded9]{border:1px dashed var(--v64-outline,#0000003d);border-radius:var(--v64-shape-lg,16px);color:var(--v64-on-surface-variant,#0000009e);font:var(--v64-type-body-md,400 .875rem/1.25rem system-ui, sans-serif);padding:var(--v64-space-5,24px) var(--v64-space-4,16px);text-align:center;margin:0}.runtime-config-records__system-title[data-v-705aded9]{align-items:center;gap:.5rem;min-width:0;display:inline-flex}.env-panel[data-v-f77b996b]{gap:var(--v64-space-4,16px);min-width:0;display:grid}.env-panel__source[data-v-f77b996b]{font-weight:600}.env-panel__tabs[data-v-f77b996b]{border-bottom:1px solid var(--v64-outline-variant,#0000001f)}.env-panel__tabs[data-v-f77b996b] .v-tab{letter-spacing:0;text-transform:none}.env-panel__alert[data-v-f77b996b]{border-radius:var(--v64-shape-md,12px)}.env-panel__expected[data-v-f77b996b],.env-panel__add[data-v-f77b996b]{background:var(--v64-surface-container-low);border:1px solid var(--v64-outline-variant,#0000001f);border-radius:var(--v64-shape-lg,16px)}.env-panel__add[data-v-f77b996b]{align-items:center;gap:var(--v64-space-3,12px);padding:var(--v64-space-4,16px);flex-wrap:wrap;display:flex}.env-panel__add>.v-text-field[data-v-f77b996b]:first-child{flex:1.1 10rem}.env-panel__add>.v-text-field[data-v-f77b996b]:nth-child(2){flex:1.4 12rem}.env-panel__add>.v-checkbox[data-v-f77b996b]{flex:none}.env-panel__add[data-v-f77b996b] .v-field{background:var(--v64-surface);border-radius:var(--v64-shape-sm,8px)}.env-panel__add>.v-btn[data-v-f77b996b]{border-radius:var(--v64-shape-full,999px);min-height:40px;padding-inline:var(--v64-space-5,24px)}.env-panel__expected[data-v-f77b996b]{gap:var(--v64-space-2,8px);min-width:0;display:grid;overflow:hidden}.env-panel__section-heading[data-v-f77b996b]{align-items:center;gap:var(--v64-space-2,8px);padding:var(--v64-space-3,12px) var(--v64-space-4,16px) 0;justify-content:space-between;display:flex}.env-panel__section-heading--inline[data-v-f77b996b]{justify-content:flex-start}.env-panel__section-heading h2[data-v-f77b996b]{font:var(--v64-type-title-md,600 1rem/1.5rem system-ui, sans-serif);letter-spacing:0;margin:0}.env-panel__expected-keys[data-v-f77b996b]{align-items:center;gap:var(--v64-space-2,8px);padding:0 var(--v64-space-4,16px) var(--v64-space-4,16px);flex-wrap:wrap;display:flex}@media (width<=900px){.env-panel__add[data-v-f77b996b]{flex-direction:column;align-items:stretch}.env-panel__add>.v-text-field[data-v-f77b996b]:nth-child(n){flex:none}}.vibe64-dashboard-page[data-v-c6bb4035]{gap:.75rem;min-width:0;display:grid}
@@ -1 +1 @@
1
- import{D as createVNode,E as createTextVNode,On as unref,Zn as normalizeClass,_ as createBaseVNode,b as createElementBlock,bt as renderList,mt as openBlock,o as Fragment,qt as withCtx,tr as toDisplayString,v as createBlock,xt as renderSlot,y as createCommentVNode}from"./runtime-core.esm-bundler-DGXg_mpN.js";import{h as VIcon}from"./ripple-EFNA8EBu.js";import{t as VChip}from"./VChip-VVdtjfq-.js";import{Zt as mdiHistory}from"./mdi-Bt90Ns76.js";import{t as VBtn}from"./VBtn-BhVEwXLX.js";import{t as VAlert}from"./VAlert-gwuhYlYb.js";import{t as VSheet}from"./VSheet-DxYEFfnM.js";import{n as VCardText,t as VCard}from"./VCard-C3Hx769y.js";import{t as VSkeletonLoader}from"./VSkeletonLoader-Cync3lZZ.js";import{t as _plugin_vue_export_helper_default}from"./_plugin-vue_export-helper-DNW4j-dv.js";import{t as Vibe64UnavailableSessions_default}from"./Vibe64UnavailableSessions-JBgHzM-j.js";import{t as Vibe64DashboardPageHeader_default}from"./Vibe64DashboardPageHeader-BMrdRph6.js";import{n as archivedVibe64SessionsEmits,o as useArchivedVibe64Sessions,r as archivedVibe64SessionsProps}from"./useArchivedVibe64Sessions-DBSnMGIY.js";var _hoisted_1$1={class:`studio-archived-sessions d-flex flex-column ga-3`};var _hoisted_2={key:0,class:`studio-archived-sessions__copy`};var _hoisted_3={class:`text-headline-small font-weight-bold ma-0`};var _hoisted_4={key:0,class:`text-body-2 text-medium-emphasis mb-0`};var _hoisted_5={key:2,"aria-label":`Loading archived sessions`,class:`studio-archived-sessions__grid`,role:`status`};var _hoisted_6={class:`studio-archived-sessions__card-heading`};var _hoisted_7={class:`studio-archived-sessions__identity`};var _hoisted_8={class:`text-subtitle-1 mb-1`};var _hoisted_9={class:`text-body-2 text-medium-emphasis mb-0`};var _hoisted_10={key:4,class:`studio-archived-sessions__grid`};var _hoisted_11={class:`studio-archived-sessions__card-heading`};var _hoisted_12={class:`studio-archived-sessions__icon`};var _hoisted_13={class:`studio-archived-sessions__identity`};var _hoisted_14={class:`studio-archived-sessions__session-id`};var _hoisted_15={class:`studio-archived-sessions__meta`};var _hoisted_16=[`datetime`];var _sfc_main$1={__name:`ArchivedVibe64Sessions`,props:archivedVibe64SessionsProps,emits:archivedVibe64SessionsEmits,setup(__props,{expose:__expose,emit:__emit}){const{archiveIcon,error,formatArchivedAt,loadSessions,loading,mdiEyeOutline,mdiRefresh,sessionRoute,sessions,unavailableSessions,shortSessionId,statusColor,statusLabel}=useArchivedVibe64Sessions(__emit);__expose({refresh:loadSessions});return(_ctx,_cache)=>{return openBlock(),createElementBlock(`section`,_hoisted_1$1,[_ctx.title||_ctx.$slots.title||_ctx.description||_ctx.showRefresh?(openBlock(),createElementBlock(`div`,{key:0,class:normalizeClass([`studio-archived-sessions__header`,{"studio-archived-sessions__header--actions-only":!_ctx.title&&!_ctx.$slots.title&&!_ctx.description}])},[_ctx.title||_ctx.$slots.title||_ctx.description?(openBlock(),createElementBlock(`div`,_hoisted_2,[renderSlot(_ctx.$slots,`title`,{},()=>[createBaseVNode(`h2`,_hoisted_3,toDisplayString(_ctx.title),1)],true),_ctx.description?(openBlock(),createElementBlock(`p`,_hoisted_4,toDisplayString(_ctx.description),1)):createCommentVNode(``,true)])):createCommentVNode(``,true),_ctx.showRefresh?(openBlock(),createBlock(VBtn,{key:1,class:`studio-archived-sessions__refresh`,disabled:unref(loading),"prepend-icon":unref(mdiRefresh),size:`small`,variant:`tonal`,onClick:unref(loadSessions)},{default:withCtx(()=>[createTextVNode(toDisplayString(unref(loading)?`Refreshing…`:`Refresh`),1)]),_:1},8,[`disabled`,`prepend-icon`,`onClick`])):createCommentVNode(``,true)],2)):createCommentVNode(``,true),unref(error)?(openBlock(),createBlock(VAlert,{key:1,type:`error`,variant:`tonal`,density:`comfortable`},{default:withCtx(()=>[createTextVNode(toDisplayString(unref(error)),1)]),_:1})):createCommentVNode(``,true),createVNode(Vibe64UnavailableSessions_default,{sessions:unref(unavailableSessions),loading:unref(loading),onRecheck:unref(loadSessions)},null,8,[`sessions`,`loading`,`onRecheck`]),unref(loading)&&unref(sessions).length<1?(openBlock(),createElementBlock(`div`,_hoisted_5,[(openBlock(),createElementBlock(Fragment,null,renderList(4,index=>{return createVNode(VCard,{key:`archived-session-skeleton-${index}`,class:`studio-archived-sessions__card`,rounded:`lg`,variant:`outlined`},{default:withCtx(()=>[createVNode(VCardText,{class:`studio-archived-sessions__card-body`},{default:withCtx(()=>[createBaseVNode(`div`,_hoisted_6,[createVNode(VSkeletonLoader,{class:`studio-archived-sessions__skeleton-icon`,type:`avatar`}),createBaseVNode(`div`,_hoisted_7,[createVNode(VSkeletonLoader,{type:`text`}),createVNode(VSkeletonLoader,{type:`chip@2`})]),createVNode(VSkeletonLoader,{class:`studio-archived-sessions__skeleton-button`,type:`button`})])]),_:1})]),_:1})}),64))])):createCommentVNode(``,true),!unref(loading)&&unref(sessions).length<1&&!unref(unavailableSessions).length&&!unref(error)?(openBlock(),createBlock(VSheet,{key:3,rounded:`lg`,border:``,class:`studio-archived-sessions__empty`},{default:withCtx(()=>[createBaseVNode(`h2`,_hoisted_8,toDisplayString(_ctx.emptyTitle),1),createBaseVNode(`p`,_hoisted_9,toDisplayString(_ctx.emptyText),1)]),_:1})):createCommentVNode(``,true),unref(sessions).length?(openBlock(),createElementBlock(`div`,_hoisted_10,[(openBlock(true),createElementBlock(Fragment,null,renderList(unref(sessions),session=>{return openBlock(),createBlock(VCard,{key:session.sessionId,class:`studio-archived-sessions__card`,rounded:`lg`,variant:`outlined`},{default:withCtx(()=>[createVNode(VCardText,{class:`studio-archived-sessions__card-body`},{default:withCtx(()=>[createBaseVNode(`div`,_hoisted_11,[createBaseVNode(`div`,_hoisted_12,[createVNode(VIcon,{icon:unref(archiveIcon),size:`22`},null,8,[`icon`])]),createBaseVNode(`div`,_hoisted_13,[createBaseVNode(`div`,_hoisted_14,toDisplayString(session.sessionName||unref(shortSessionId)(session.sessionId)),1),createBaseVNode(`div`,_hoisted_15,[createVNode(VChip,{color:unref(statusColor)(session.status),size:`x-small`,variant:`tonal`},{default:withCtx(()=>[createTextVNode(toDisplayString(unref(statusLabel)(session.status||`archived`)),1)]),_:2},1032,[`color`]),session.sourceReady?(openBlock(),createBlock(VChip,{key:0,color:`success`,size:`x-small`,variant:`tonal`},{default:withCtx(()=>[..._cache[0]||(_cache[0]=[createTextVNode(` source available `,-1)])]),_:1})):createCommentVNode(``,true)]),createBaseVNode(`time`,{class:`studio-archived-sessions__archived-at text-caption text-medium-emphasis`,datetime:session.archivedAt||void 0},` Archived `+toDisplayString(unref(formatArchivedAt)(session.archivedAt)),9,_hoisted_16)]),createVNode(VBtn,{class:`studio-archived-sessions__view`,"prepend-icon":unref(mdiEyeOutline),size:`small`,to:unref(sessionRoute)(session),variant:`tonal`},{default:withCtx(()=>[..._cache[1]||(_cache[1]=[createTextVNode(` View `,-1)])]),_:1},8,[`prepend-icon`,`to`])])]),_:2},1024)]),_:2},1024)}),128))])):createCommentVNode(``,true)])}}};var ArchivedVibe64Sessions_default=_plugin_vue_export_helper_default(_sfc_main$1,[[`__scopeId`,`data-v-594ec046`]]);var _hoisted_1={class:`vibe64-dashboard-page`};var _sfc_main={__name:`index`,setup(__props){return(_ctx,_cache)=>{return openBlock(),createElementBlock(`section`,_hoisted_1,[createVNode(ArchivedVibe64Sessions_default,{"empty-text":`Archived chats will appear here after their active workspaces are removed.`,"empty-title":`No archived chats`},{title:withCtx(()=>[createVNode(Vibe64DashboardPageHeader_default,{description:`Archived chats and their conversations.`,icon:unref(mdiHistory),title:`Session history`},null,8,[`icon`])]),_:1})])}}};var history_default=_plugin_vue_export_helper_default(_sfc_main,[[`__scopeId`,`data-v-6c313fbf`]]);export{history_default as default};
1
+ import{D as createVNode,E as createTextVNode,On as unref,Zn as normalizeClass,_ as createBaseVNode,b as createElementBlock,bt as renderList,mt as openBlock,o as Fragment,qt as withCtx,tr as toDisplayString,v as createBlock,xt as renderSlot,y as createCommentVNode}from"./runtime-core.esm-bundler-DGXg_mpN.js";import{h as VIcon}from"./ripple-EFNA8EBu.js";import{t as VChip}from"./VChip-VVdtjfq-.js";import{Zt as mdiHistory}from"./mdi-Bt90Ns76.js";import{t as VBtn}from"./VBtn-BhVEwXLX.js";import{t as VAlert}from"./VAlert-gwuhYlYb.js";import{t as VSheet}from"./VSheet-DxYEFfnM.js";import{n as VCardText,t as VCard}from"./VCard-C3Hx769y.js";import{t as VSkeletonLoader}from"./VSkeletonLoader-Cync3lZZ.js";import{t as _plugin_vue_export_helper_default}from"./_plugin-vue_export-helper-DNW4j-dv.js";import{t as Vibe64UnavailableSessions_default}from"./Vibe64UnavailableSessions-JBgHzM-j.js";import{t as Vibe64DashboardPageHeader_default}from"./Vibe64DashboardPageHeader-BMrdRph6.js";import{n as archivedVibe64SessionsEmits,o as useArchivedVibe64Sessions,r as archivedVibe64SessionsProps}from"./useArchivedVibe64Sessions-BeXgkSdF.js";var _hoisted_1$1={class:`studio-archived-sessions d-flex flex-column ga-3`};var _hoisted_2={key:0,class:`studio-archived-sessions__copy`};var _hoisted_3={class:`text-headline-small font-weight-bold ma-0`};var _hoisted_4={key:0,class:`text-body-2 text-medium-emphasis mb-0`};var _hoisted_5={key:2,"aria-label":`Loading archived sessions`,class:`studio-archived-sessions__grid`,role:`status`};var _hoisted_6={class:`studio-archived-sessions__card-heading`};var _hoisted_7={class:`studio-archived-sessions__identity`};var _hoisted_8={class:`text-subtitle-1 mb-1`};var _hoisted_9={class:`text-body-2 text-medium-emphasis mb-0`};var _hoisted_10={key:4,class:`studio-archived-sessions__grid`};var _hoisted_11={class:`studio-archived-sessions__card-heading`};var _hoisted_12={class:`studio-archived-sessions__icon`};var _hoisted_13={class:`studio-archived-sessions__identity`};var _hoisted_14={class:`studio-archived-sessions__session-id`};var _hoisted_15={class:`studio-archived-sessions__meta`};var _hoisted_16=[`datetime`];var _sfc_main$1={__name:`ArchivedVibe64Sessions`,props:archivedVibe64SessionsProps,emits:archivedVibe64SessionsEmits,setup(__props,{expose:__expose,emit:__emit}){const{archiveIcon,error,formatArchivedAt,loadSessions,loading,mdiEyeOutline,mdiRefresh,sessionRoute,sessions,unavailableSessions,shortSessionId,statusColor,statusLabel}=useArchivedVibe64Sessions(__emit);__expose({refresh:loadSessions});return(_ctx,_cache)=>{return openBlock(),createElementBlock(`section`,_hoisted_1$1,[_ctx.title||_ctx.$slots.title||_ctx.description||_ctx.showRefresh?(openBlock(),createElementBlock(`div`,{key:0,class:normalizeClass([`studio-archived-sessions__header`,{"studio-archived-sessions__header--actions-only":!_ctx.title&&!_ctx.$slots.title&&!_ctx.description}])},[_ctx.title||_ctx.$slots.title||_ctx.description?(openBlock(),createElementBlock(`div`,_hoisted_2,[renderSlot(_ctx.$slots,`title`,{},()=>[createBaseVNode(`h2`,_hoisted_3,toDisplayString(_ctx.title),1)],true),_ctx.description?(openBlock(),createElementBlock(`p`,_hoisted_4,toDisplayString(_ctx.description),1)):createCommentVNode(``,true)])):createCommentVNode(``,true),_ctx.showRefresh?(openBlock(),createBlock(VBtn,{key:1,class:`studio-archived-sessions__refresh`,disabled:unref(loading),"prepend-icon":unref(mdiRefresh),size:`small`,variant:`tonal`,onClick:unref(loadSessions)},{default:withCtx(()=>[createTextVNode(toDisplayString(unref(loading)?`Refreshing…`:`Refresh`),1)]),_:1},8,[`disabled`,`prepend-icon`,`onClick`])):createCommentVNode(``,true)],2)):createCommentVNode(``,true),unref(error)?(openBlock(),createBlock(VAlert,{key:1,type:`error`,variant:`tonal`,density:`comfortable`},{default:withCtx(()=>[createTextVNode(toDisplayString(unref(error)),1)]),_:1})):createCommentVNode(``,true),createVNode(Vibe64UnavailableSessions_default,{sessions:unref(unavailableSessions),loading:unref(loading),onRecheck:unref(loadSessions)},null,8,[`sessions`,`loading`,`onRecheck`]),unref(loading)&&unref(sessions).length<1?(openBlock(),createElementBlock(`div`,_hoisted_5,[(openBlock(),createElementBlock(Fragment,null,renderList(4,index=>{return createVNode(VCard,{key:`archived-session-skeleton-${index}`,class:`studio-archived-sessions__card`,rounded:`lg`,variant:`outlined`},{default:withCtx(()=>[createVNode(VCardText,{class:`studio-archived-sessions__card-body`},{default:withCtx(()=>[createBaseVNode(`div`,_hoisted_6,[createVNode(VSkeletonLoader,{class:`studio-archived-sessions__skeleton-icon`,type:`avatar`}),createBaseVNode(`div`,_hoisted_7,[createVNode(VSkeletonLoader,{type:`text`}),createVNode(VSkeletonLoader,{type:`chip@2`})]),createVNode(VSkeletonLoader,{class:`studio-archived-sessions__skeleton-button`,type:`button`})])]),_:1})]),_:1})}),64))])):createCommentVNode(``,true),!unref(loading)&&unref(sessions).length<1&&!unref(unavailableSessions).length&&!unref(error)?(openBlock(),createBlock(VSheet,{key:3,rounded:`lg`,border:``,class:`studio-archived-sessions__empty`},{default:withCtx(()=>[createBaseVNode(`h2`,_hoisted_8,toDisplayString(_ctx.emptyTitle),1),createBaseVNode(`p`,_hoisted_9,toDisplayString(_ctx.emptyText),1)]),_:1})):createCommentVNode(``,true),unref(sessions).length?(openBlock(),createElementBlock(`div`,_hoisted_10,[(openBlock(true),createElementBlock(Fragment,null,renderList(unref(sessions),session=>{return openBlock(),createBlock(VCard,{key:session.sessionId,class:`studio-archived-sessions__card`,rounded:`lg`,variant:`outlined`},{default:withCtx(()=>[createVNode(VCardText,{class:`studio-archived-sessions__card-body`},{default:withCtx(()=>[createBaseVNode(`div`,_hoisted_11,[createBaseVNode(`div`,_hoisted_12,[createVNode(VIcon,{icon:unref(archiveIcon),size:`22`},null,8,[`icon`])]),createBaseVNode(`div`,_hoisted_13,[createBaseVNode(`div`,_hoisted_14,toDisplayString(session.sessionName||unref(shortSessionId)(session.sessionId)),1),createBaseVNode(`div`,_hoisted_15,[createVNode(VChip,{color:unref(statusColor)(session.status),size:`x-small`,variant:`tonal`},{default:withCtx(()=>[createTextVNode(toDisplayString(unref(statusLabel)(session.status||`archived`)),1)]),_:2},1032,[`color`]),session.sourceReady?(openBlock(),createBlock(VChip,{key:0,color:`success`,size:`x-small`,variant:`tonal`},{default:withCtx(()=>[..._cache[0]||(_cache[0]=[createTextVNode(` source available `,-1)])]),_:1})):createCommentVNode(``,true)]),createBaseVNode(`time`,{class:`studio-archived-sessions__archived-at text-caption text-medium-emphasis`,datetime:session.archivedAt||void 0},` Archived `+toDisplayString(unref(formatArchivedAt)(session.archivedAt)),9,_hoisted_16)]),createVNode(VBtn,{class:`studio-archived-sessions__view`,"prepend-icon":unref(mdiEyeOutline),size:`small`,to:unref(sessionRoute)(session),variant:`tonal`},{default:withCtx(()=>[..._cache[1]||(_cache[1]=[createTextVNode(` View `,-1)])]),_:1},8,[`prepend-icon`,`to`])])]),_:2},1024)]),_:2},1024)}),128))])):createCommentVNode(``,true)])}}};var ArchivedVibe64Sessions_default=_plugin_vue_export_helper_default(_sfc_main$1,[[`__scopeId`,`data-v-594ec046`]]);var _hoisted_1={class:`vibe64-dashboard-page`};var _sfc_main={__name:`index`,setup(__props){return(_ctx,_cache)=>{return openBlock(),createElementBlock(`section`,_hoisted_1,[createVNode(ArchivedVibe64Sessions_default,{"empty-text":`Archived chats will appear here after their active workspaces are removed.`,"empty-title":`No archived chats`},{title:withCtx(()=>[createVNode(Vibe64DashboardPageHeader_default,{description:`Archived chats and their conversations.`,icon:unref(mdiHistory),title:`Session history`},null,8,[`icon`])]),_:1})])}}};var history_default=_plugin_vue_export_helper_default(_sfc_main,[[`__scopeId`,`data-v-6c313fbf`]]);export{history_default as default};