spec-cat 0.1.13 → 0.1.14
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.
- package/.output/nitro.json +1 -1
- package/.output/public/_nuxt/{CPqjerP3.js → C9YFwlVG.js} +1 -1
- package/.output/public/_nuxt/CkZELJoz.js +122 -0
- package/.output/public/_nuxt/CpSdCo6F.js +1 -0
- package/.output/public/_nuxt/{Djrn6aq0.js → CwGiOvuj.js} +2 -2
- package/.output/public/_nuxt/{dYG8t45S.js → Cy9osphj.js} +1 -1
- package/.output/public/_nuxt/D14Nt8oq.js +1 -0
- package/.output/public/_nuxt/DQ8x7AHg.js +1 -0
- package/.output/public/_nuxt/{ASOk6VwA.js → Do9K5d62.js} +1 -1
- package/.output/public/_nuxt/DqVSe5UI.js +1 -0
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/c4ed4e48-2de2-41d6-b09b-c785eac1d36d.json +1 -0
- package/.output/public/_nuxt/builds/meta/dev.json +1 -0
- package/.output/public/_nuxt/entry.CJqUIF8E.css +1 -0
- package/.output/public/_nuxt/{DqCsQSnP.js → vkftdPXk.js} +1 -1
- package/.output/server/chunks/_/aiProviderRegistry.mjs +36 -0
- package/.output/server/chunks/_/aiProviderRegistry.mjs.map +1 -0
- package/.output/server/chunks/_/aiProviderSelection.mjs +76 -0
- package/.output/server/chunks/_/aiProviderSelection.mjs.map +1 -0
- package/.output/server/chunks/_/chat.mjs.map +1 -1
- package/.output/server/chunks/_/claude.mjs +163 -0
- package/.output/server/chunks/_/claude.mjs.map +1 -0
- package/.output/server/chunks/_/claudeProvider.mjs +6 -6
- package/.output/server/chunks/_/claudeService.mjs +85 -0
- package/.output/server/chunks/_/claudeService.mjs.map +1 -0
- package/.output/server/chunks/_/codexProvider.mjs +1 -21
- package/.output/server/chunks/_/codexProvider.mjs.map +1 -1
- package/.output/server/chunks/_/git.mjs +1 -1
- package/.output/server/chunks/_/providerProcessError.mjs +1 -1
- package/.output/server/chunks/_/skillRegistry.mjs +249 -0
- package/.output/server/chunks/_/skillRegistry.mjs.map +1 -0
- package/.output/server/chunks/_/validateWorktree.mjs +27 -3
- package/.output/server/chunks/_/validateWorktree.mjs.map +1 -1
- package/.output/server/chunks/build/client.precomputed.mjs +1 -1
- package/.output/server/chunks/build/client.precomputed.mjs.map +1 -1
- package/.output/server/chunks/nitro/nitro.mjs +704 -1869
- package/.output/server/chunks/nitro/nitro.mjs.map +1 -1
- package/.output/server/chunks/routes/_ws.mjs +4 -3
- package/.output/server/chunks/routes/_ws.mjs.map +1 -1
- package/.output/server/chunks/routes/api/ai/providers.get.mjs +3 -5
- package/.output/server/chunks/routes/api/ai/providers.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/chat/compare.get.mjs +2 -5
- package/.output/server/chunks/routes/api/chat/compare.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/chat/context.get.mjs +2 -5
- package/.output/server/chunks/routes/api/chat/context.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/chat/finalize.post.mjs +3 -2
- package/.output/server/chunks/routes/api/chat/finalize.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/chat/generate-commit-message.post.mjs +6 -3
- package/.output/server/chunks/routes/api/chat/generate-commit-message.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/chat/preview-sync.post.mjs +2 -3
- package/.output/server/chunks/routes/api/chat/preview-sync.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/chat/preview.delete.mjs +2 -3
- package/.output/server/chunks/routes/api/chat/preview.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/chat/preview.post.mjs +2 -3
- package/.output/server/chunks/routes/api/chat/preview.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/chat/rebase.post.mjs +2 -3
- package/.output/server/chunks/routes/api/chat/rebase.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/chat/worktree-commit.post.mjs +4 -3
- package/.output/server/chunks/routes/api/chat/worktree-commit.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/chat/worktree.delete.mjs +1 -2
- package/.output/server/chunks/routes/api/chat/worktree.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/chat/worktree.post.mjs +4 -8
- package/.output/server/chunks/routes/api/chat/worktree.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/chat.post.mjs +4 -5
- package/.output/server/chunks/routes/api/chat.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/conversations/_conversationId/archive.post.mjs +1 -2
- package/.output/server/chunks/routes/api/conversations/_conversationId/archive.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/conversations/archives/_archiveId/restore.post.mjs +2 -3
- package/.output/server/chunks/routes/api/conversations/archives/_archiveId/restore.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/conversations/archives/_archiveId_.delete.mjs +2 -5
- package/.output/server/chunks/routes/api/conversations/archives/_archiveId_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/conversations/archives.get.mjs +2 -5
- package/.output/server/chunks/routes/api/conversations/archives.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/conversations/update.post.mjs +2 -5
- package/.output/server/chunks/routes/api/conversations/update.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/conversations.get.mjs +2 -5
- package/.output/server/chunks/routes/api/conversations.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/conversations.post.mjs +2 -5
- package/.output/server/chunks/routes/api/conversations.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/cwd.get.mjs +2 -5
- package/.output/server/chunks/routes/api/cwd.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/branch-rename.post.mjs +2 -5
- package/.output/server/chunks/routes/api/git/branch-rename.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/branch.delete.mjs +2 -5
- package/.output/server/chunks/routes/api/git/branch.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/branches.get.mjs +2 -5
- package/.output/server/chunks/routes/api/git/branches.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/checkout.post.mjs +2 -5
- package/.output/server/chunks/routes/api/git/checkout.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/cherry-pick.post.mjs +2 -5
- package/.output/server/chunks/routes/api/git/cherry-pick.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/clean.post.mjs +2 -5
- package/.output/server/chunks/routes/api/git/clean.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/commit/_id_.get.mjs +2 -5
- package/.output/server/chunks/routes/api/git/commit/_id_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/commit.post.mjs +2 -5
- package/.output/server/chunks/routes/api/git/commit.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/diff.get.mjs +2 -5
- package/.output/server/chunks/routes/api/git/diff.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/fetch.post.mjs +2 -5
- package/.output/server/chunks/routes/api/git/fetch.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/file-diff.get.mjs +2 -5
- package/.output/server/chunks/routes/api/git/file-diff.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/graph.get.mjs +2 -5
- package/.output/server/chunks/routes/api/git/graph.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/log.get.mjs +2 -5
- package/.output/server/chunks/routes/api/git/log.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/merge-base.get.mjs +2 -5
- package/.output/server/chunks/routes/api/git/merge-base.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/merge.post.mjs +2 -5
- package/.output/server/chunks/routes/api/git/merge.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/pull.post.mjs +2 -5
- package/.output/server/chunks/routes/api/git/pull.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/push.post.mjs +2 -5
- package/.output/server/chunks/routes/api/git/push.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/rebase.post.mjs +2 -5
- package/.output/server/chunks/routes/api/git/rebase.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/remote.delete.mjs +2 -5
- package/.output/server/chunks/routes/api/git/remote.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/remote.post.mjs +2 -5
- package/.output/server/chunks/routes/api/git/remote.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/remote.put.mjs +2 -5
- package/.output/server/chunks/routes/api/git/remote.put.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/remotes.get.mjs +2 -5
- package/.output/server/chunks/routes/api/git/remotes.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/reset.post.mjs +2 -5
- package/.output/server/chunks/routes/api/git/reset.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/revert.post.mjs +2 -5
- package/.output/server/chunks/routes/api/git/revert.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/show.get.mjs +2 -5
- package/.output/server/chunks/routes/api/git/show.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/stage.post.mjs +2 -5
- package/.output/server/chunks/routes/api/git/stage.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/stash-apply.post.mjs +2 -5
- package/.output/server/chunks/routes/api/git/stash-apply.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/stash-branch.post.mjs +2 -5
- package/.output/server/chunks/routes/api/git/stash-branch.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/stash-drop.post.mjs +2 -5
- package/.output/server/chunks/routes/api/git/stash-drop.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/stash-pop.post.mjs +2 -5
- package/.output/server/chunks/routes/api/git/stash-pop.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/stash.get.mjs +2 -5
- package/.output/server/chunks/routes/api/git/stash.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/stash.post.mjs +2 -5
- package/.output/server/chunks/routes/api/git/stash.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/state.get.mjs +2 -5
- package/.output/server/chunks/routes/api/git/state.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/status.get.mjs +2 -5
- package/.output/server/chunks/routes/api/git/status.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/tag/_name_.get.mjs +2 -5
- package/.output/server/chunks/routes/api/git/tag/_name_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/tag-push.post.mjs +2 -5
- package/.output/server/chunks/routes/api/git/tag-push.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/tag.delete.mjs +2 -5
- package/.output/server/chunks/routes/api/git/tag.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/tag.post.mjs +2 -5
- package/.output/server/chunks/routes/api/git/tag.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/unstage.post.mjs +2 -5
- package/.output/server/chunks/routes/api/git/unstage.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.get.mjs +4 -5
- package/.output/server/chunks/routes/api/index.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.get2.mjs +2 -3
- package/.output/server/chunks/routes/api/index.get2.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.post.mjs +2 -3
- package/.output/server/chunks/routes/api/index.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/rebase/abort.post.mjs +2 -3
- package/.output/server/chunks/routes/api/rebase/abort.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/rebase/ai-resolve.post.mjs +7 -5
- package/.output/server/chunks/routes/api/rebase/ai-resolve.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/rebase/conflicts.get.mjs +1 -2
- package/.output/server/chunks/routes/api/rebase/conflicts.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/rebase/continue-sync.post.mjs +2 -3
- package/.output/server/chunks/routes/api/rebase/continue-sync.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/rebase/continue.post.mjs +1 -2
- package/.output/server/chunks/routes/api/rebase/continue.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/rebase/resolve.put.mjs +1 -2
- package/.output/server/chunks/routes/api/rebase/resolve.put.mjs.map +1 -1
- package/.output/server/chunks/routes/api/repository/status.get.mjs +2 -5
- package/.output/server/chunks/routes/api/repository/status.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/settings.get.mjs +4 -7
- package/.output/server/chunks/routes/api/settings.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/settings.post.mjs +4 -5
- package/.output/server/chunks/routes/api/settings.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/skills/_skillId/prompt.post.mjs +8 -6
- package/.output/server/chunks/routes/api/skills/_skillId/prompt.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/specs/_featureId/_...filename_.get.mjs +1 -4
- package/.output/server/chunks/routes/api/specs/_featureId/_...filename_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/specs/_featureId/_...filename_.put.mjs +1 -4
- package/.output/server/chunks/routes/api/specs/_featureId/_...filename_.put.mjs.map +1 -1
- package/.output/server/chunks/routes/api/specs/features.get.mjs +1 -4
- package/.output/server/chunks/routes/api/specs/features.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/specs/reindex.post.mjs +2 -5
- package/.output/server/chunks/routes/api/specs/reindex.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/specs/search.get.mjs +2 -5
- package/.output/server/chunks/routes/api/specs/search.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/specs/status.get.mjs +2 -5
- package/.output/server/chunks/routes/api/specs/status.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/worktrees/_name/switch.post.mjs +2 -3
- package/.output/server/chunks/routes/api/worktrees/_name/switch.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/worktrees/_name_.delete.mjs +1 -2
- package/.output/server/chunks/routes/api/worktrees/_name_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/git-watcher-ws.mjs +2 -5
- package/.output/server/chunks/routes/git-watcher-ws.mjs.map +1 -1
- package/.output/server/chunks/routes/renderer.mjs +2 -5
- package/.output/server/index.mjs +2 -5
- package/.output/server/index.mjs.map +1 -1
- package/.output/server/package.json +1 -1
- package/package.json +1 -1
- package/.output/public/_nuxt/B24bRLVA.js +0 -1
- package/.output/public/_nuxt/B3SzeM5g.js +0 -1
- package/.output/public/_nuxt/D3Ay6Tay.js +0 -126
- package/.output/public/_nuxt/DN_vgzh9.js +0 -1
- package/.output/public/_nuxt/afuUTAOf.js +0 -1
- package/.output/public/_nuxt/builds/meta/a94a9679-4171-4043-b507-a48b9a35f087.json +0 -1
- package/.output/public/_nuxt/entry.qjEvbHpP.css +0 -1
- package/.output/server/chunks/routes/api/auto-mode/status.get.mjs +0 -35
- package/.output/server/chunks/routes/api/auto-mode/status.get.mjs.map +0 -1
- package/.output/server/chunks/routes/api/auto-mode/toggle.post.mjs +0 -45
- package/.output/server/chunks/routes/api/auto-mode/toggle.post.mjs.map +0 -1
- package/.output/server/chunks/routes/auto-mode-ws.mjs +0 -65
- package/.output/server/chunks/routes/auto-mode-ws.mjs.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRenderer, getRequestDependencies, getPreloadLinks, getPrefetchLinks } from 'vue-bundle-renderer/runtime';
|
|
2
|
-
import {
|
|
2
|
+
import { n as joinRelativeURL, u as useRuntimeConfig, o as getResponseStatusText, p as getResponseStatus, q as decodePath, s as defineRenderHandler, f as getQuery, c as createError, v as getRouteRules, x as joinURL, y as useNitroApp } from '../nitro/nitro.mjs';
|
|
3
3
|
import { createHead as createHead$1, propsToString, renderSSRHead } from 'unhead/server';
|
|
4
4
|
import { stringify, uneval } from 'devalue';
|
|
5
5
|
import { isRef, toValue } from 'vue';
|
|
@@ -21,12 +21,9 @@ import 'node:events';
|
|
|
21
21
|
import 'node:buffer';
|
|
22
22
|
import 'node:fs';
|
|
23
23
|
import 'node:path';
|
|
24
|
-
import 'node:fs/promises';
|
|
25
24
|
import 'node:os';
|
|
26
|
-
import 'yaml';
|
|
27
|
-
import 'node:child_process';
|
|
28
|
-
import 'node:util';
|
|
29
25
|
import 'node:module';
|
|
26
|
+
import 'node:fs/promises';
|
|
30
27
|
import 'node:url';
|
|
31
28
|
|
|
32
29
|
const VueResolver = (_, value) => {
|
package/.output/server/index.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import process from 'node:process';globalThis._importMeta_={url:import.meta.url,env:process.env};import 'node:http';
|
|
2
2
|
import 'node:https';
|
|
3
|
-
export {
|
|
3
|
+
export { z as default } from './chunks/nitro/nitro.mjs';
|
|
4
4
|
import 'node:crypto';
|
|
5
5
|
import 'stream';
|
|
6
6
|
import 'events';
|
|
@@ -16,11 +16,8 @@ import 'node:events';
|
|
|
16
16
|
import 'node:buffer';
|
|
17
17
|
import 'node:fs';
|
|
18
18
|
import 'node:path';
|
|
19
|
-
import 'node:fs/promises';
|
|
20
19
|
import 'node:os';
|
|
21
|
-
import 'yaml';
|
|
22
|
-
import 'node:child_process';
|
|
23
|
-
import 'node:util';
|
|
24
20
|
import 'node:module';
|
|
21
|
+
import 'node:fs/promises';
|
|
25
22
|
import 'node:url';
|
|
26
23
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;"}
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as e}from"./DlAUqK2U.js";import{z as r,y as c}from"./Djrn6aq0.js";const o={};function t(n,s){return c(),r("div")}const f=e(o,[["render",t]]);export{f as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as j,ab as C,ac as q,X,ad as Y,K as V,ae as Z,k as P,af as J,ag as Q,g as H,s as N,Z as ee,ah as te,G as ae,ai as se,aj as re,ak as K,I as oe,a0 as ne,d as ie,y as _,z as b,A as v,B as S,O as I,S as L,U as B,H as O,E as ce}from"./Djrn6aq0.js";const le={trailing:!0};function de(e,t=25,o={}){if(o={...le,...o},!Number.isFinite(t))throw new TypeError("Expected `wait` to be a finite number");let i,r,h=[],s,a;const m=(u,d)=>(s=ue(e,u,d),s.finally(()=>{if(s=null,o.trailing&&a&&!r){const p=m(u,a);return a=null,p}}),s),g=function(...u){return o.trailing&&(a=u),s||new Promise(d=>{const p=!r&&o.leading;clearTimeout(r),r=setTimeout(()=>{r=null;const n=o.leading?i:m(this,u);a=null;for(const l of h)l(n);h=[]},t),p?(i=m(this,u),d(i)):h.push(d)})},c=u=>{u&&(clearTimeout(u),r=null)};return g.isPending=()=>!!r,g.cancel=()=>{c(r),h=[],a=null},g.flush=()=>{if(c(r),!a||s)return;const u=a;return a=null,m(this,u)},g}async function ue(e,t,o){return await e.apply(t,o)}const fe=Symbol.for("nuxt:client-only"),me=e=>e==="defer"||e===!1;function qe(...e){const t=typeof e[e.length-1]=="string"?e.pop():void 0;ye(e[0],e[1])&&e.unshift(t);let[o,i,r={}]=e,h=!1;const s=P(()=>re(o));if(typeof s.value!="string")throw new TypeError("[nuxt] [useAsyncData] key must be a string.");if(typeof i!="function")throw new TypeError("[nuxt] [useAsyncData] handler must be a function.");const a=j();r.server??=!0,r.default??=pe,r.getCachedData??=U,r.lazy??=!1,r.immediate??=!0,r.deep??=C.deep,r.dedupe??="cancel",r._functionName,a._asyncData[s.value];function m(){const n={cause:"initial",dedupe:r.dedupe};return a._asyncData[s.value]?._init||(n.cachedData=r.getCachedData(s.value,a,{cause:"initial"}),a._asyncData[s.value]=$(a,s.value,i,r,n.cachedData)),()=>a._asyncData[s.value].execute(n)}const g=m(),c=a._asyncData[s.value];c._deps++;const u=r.server!==!1&&a.payload.serverRendered;{let n=function(y){const f=a._asyncData[y];f?._deps&&(f._deps--,f._deps===0&&f?._off())};const l=J();if(l&&u&&r.immediate&&!l.sp&&(l.sp=[]),l&&!l._nuxtOnBeforeMountCbs){l._nuxtOnBeforeMountCbs=[];const y=l._nuxtOnBeforeMountCbs;q(()=>{y.forEach(f=>{f()}),y.splice(0,y.length)}),X(()=>y.splice(0,y.length))}const x=l&&(l._nuxtClientOnly||Y(fe,!1));u&&a.isHydrating&&(c.error.value||c.data.value!=null)?(c.pending.value=!1,c.status.value=c.error.value?"error":"success"):l&&(!x&&a.payload.serverRendered&&a.isHydrating||r.lazy)&&r.immediate?l._nuxtOnBeforeMountCbs.push(g):r.immediate&&g();const D=Q(),M=V(s,(y,f)=>{if((y||f)&&y!==f){h=!0;const R=a._asyncData[f]?.data.value!==C.value,W=a._asyncDataPromises[f]!==void 0,G={cause:"initial",dedupe:r.dedupe};if(!a._asyncData[y]?._init){let T;f&&R?T=a._asyncData[f].data.value:(T=r.getCachedData(y,a,{cause:"initial"}),G.cachedData=T),a._asyncData[y]=$(a,y,i,r,T)}a._asyncData[y]._deps++,f&&n(f),(r.immediate||R||W)&&a._asyncData[y].execute(G),K(()=>{h=!1})}},{flush:"sync"}),E=r.watch?V(r.watch,()=>{h||(a._asyncData[s.value]?._execute.isPending()&&K(()=>{a._asyncData[s.value]?._execute.flush()}),a._asyncData[s.value]?._execute({cause:"watch",dedupe:r.dedupe}))}):()=>{};D&&Z(()=>{M(),E(),n(s.value)})}const d={data:k(()=>a._asyncData[s.value]?.data),pending:k(()=>a._asyncData[s.value]?.pending),status:k(()=>a._asyncData[s.value]?.status),error:k(()=>a._asyncData[s.value]?.error),refresh:(...n)=>a._asyncData[s.value]?._init?a._asyncData[s.value].execute(...n):m()(),execute:(...n)=>d.refresh(...n),clear:()=>{const n=a._asyncData[s.value];if(n?._abortController)try{n._abortController.abort(new DOMException("AsyncData aborted by user.","AbortError"))}finally{n._abortController=void 0}z(a,s.value)}},p=Promise.resolve(a._asyncDataPromises[s.value]).then(()=>d);return Object.assign(p,d),p}function k(e){return P({get(){return e()?.value},set(t){const o=e();o&&(o.value=t)}})}function ye(e,t){return!(typeof e=="string"||typeof e=="object"&&e!==null||typeof e=="function"&&typeof t=="function")}function z(e,t){t in e.payload.data&&(e.payload.data[t]=void 0),t in e.payload._errors&&(e.payload._errors[t]=C.errorValue),e._asyncData[t]&&(e._asyncData[t].data.value=void 0,e._asyncData[t].error.value=C.errorValue,e._asyncData[t].pending.value=!1,e._asyncData[t].status.value="idle"),t in e._asyncDataPromises&&(e._asyncDataPromises[t]=void 0)}function he(e,t){const o={};for(const i of t)o[i]=e[i];return o}function $(e,t,o,i,r){e.payload._errors[t]??=C.errorValue;const h=i.getCachedData!==U,s=o,a=i.deep?H:N,m=r!=null,g=e.hook("app:data:refresh",async u=>{(!u||u.includes(t))&&await c.execute({cause:"refresh:hook"})}),c={data:a(m?r:i.default()),pending:N(!m),error:se(e.payload._errors,t),status:N("idle"),execute:(...u)=>{const[d,p=void 0]=u,n=d&&p===void 0&&typeof d=="object"?d:{};if(e._asyncDataPromises[t]&&me(n.dedupe??i.dedupe))return e._asyncDataPromises[t];if(n.cause==="initial"||e.isHydrating){const D="cachedData"in n?n.cachedData:i.getCachedData(t,e,{cause:n.cause??"refresh:manual"});if(D!=null)return e.payload.data[t]=c.data.value=D,c.error.value=C.errorValue,c.status.value="success",Promise.resolve(D)}c.pending.value=!0,c._abortController&&c._abortController.abort(new DOMException("AsyncData request cancelled by deduplication","AbortError")),c._abortController=new AbortController,c.status.value="pending";const l=new AbortController,x=new Promise((D,M)=>{try{const E=n.timeout??i.timeout,y=ve([c._abortController?.signal,n?.signal],l.signal,E);if(y.aborted){const f=y.reason;M(f instanceof Error?f:new DOMException(String(f??"Aborted"),"AbortError"));return}return y.addEventListener("abort",()=>{const f=y.reason;M(f instanceof Error?f:new DOMException(String(f??"Aborted"),"AbortError"))},{once:!0,signal:l.signal}),Promise.resolve(s(e,{signal:y})).then(D,M)}catch(E){M(E)}}).then(async D=>{let M=D;i.transform&&(M=await i.transform(D)),i.pick&&(M=he(M,i.pick)),e.payload.data[t]=M,c.data.value=M,c.error.value=C.errorValue,c.status.value="success"}).catch(D=>{if(e._asyncDataPromises[t]&&e._asyncDataPromises[t]!==x||c._abortController?.signal.aborted)return e._asyncDataPromises[t];if(typeof DOMException<"u"&&D instanceof DOMException&&D.name==="AbortError")return c.status.value="idle",e._asyncDataPromises[t];c.error.value=te(D),c.data.value=ae(i.default()),c.status.value="error"}).finally(()=>{c.pending.value=!1,l.abort(),delete e._asyncDataPromises[t]});return e._asyncDataPromises[t]=x,e._asyncDataPromises[t]},_execute:de((...u)=>c.execute(...u),0,{leading:!0}),_default:i.default,_deps:0,_init:!0,_hash:void 0,_off:()=>{g(),e._asyncData[t]?._init&&(e._asyncData[t]._init=!1),h||ee(()=>{e._asyncData[t]?._init||(z(e,t),c.execute=()=>Promise.resolve(),c.data.value=C.value)})}};return c}const pe=()=>C.value,U=(e,t,o)=>{if(t.isHydrating)return t.payload.data[e];if(o.cause!=="refresh:manual"&&o.cause!=="refresh:hook")return t.static.data[e]};function ve(e,t,o){const i=e.filter(s=>!!s);if(typeof o=="number"&&o>=0){const s=AbortSignal.timeout?.(o);s&&i.push(s)}if(AbortSignal.any)return AbortSignal.any(i);const r=new AbortController;for(const s of i)if(s.aborted){const a=s.reason??new DOMException("Aborted","AbortError");try{r.abort(a)}catch{r.abort()}return r.signal}const h=()=>{const a=i.find(m=>m.aborted)?.reason??new DOMException("Aborted","AbortError");try{r.abort(a)}catch{r.abort()}};for(const s of i)s.addEventListener?.("abort",h,{once:!0,signal:t});return r.signal}const F="claude",w="sonnet",ge=[{value:"sonnet",label:"Sonnet",description:"Balanced performance and cost"},{value:"opus",label:"Opus",description:"Most capable, higher cost"},{value:"haiku",label:"Haiku",description:"Fast and cost-effective"}];function _e(e){if(!e)return{};const t={},o=typeof e.claudeModel=="string"&&ge.some(r=>r.value===e.claudeModel)?e.claudeModel:void 0;typeof e.providerId=="string"?(t.providerId=e.providerId,typeof e.providerModelKey=="string"&&e.providerModelKey.length>0?t.providerModelKey=e.providerModelKey:o?t.providerModelKey=o:t.providerModelKey=w):o&&(t.providerId="claude",t.providerModelKey=o),typeof e.autoModeConcurrency=="number"&&e.autoModeConcurrency>=1&&(t.autoModeConcurrency=e.autoModeConcurrency),(e.theme==="dark"||e.theme==="light")&&(t.theme=e.theme);const i=e.permissionMode;return i&&["plan","ask","auto","bypass"].includes(String(i))&&(t.permissionMode=i),typeof e.autoGenerateCommitMessages=="boolean"&&(t.autoGenerateCommitMessages=e.autoGenerateCommitMessages),t}const be=oe("settings",{state:()=>({providerId:F,providerModelKey:w,autoModeConcurrency:3,theme:"dark",permissionMode:"ask",autoGenerateCommitMessages:!1,_hydrated:!1}),getters:{providerSelection:e=>({providerId:e.providerId,modelKey:e.providerModelKey})},actions:{async hydrate(){if(!this._hydrated)try{const e=await $fetch("/api/settings"),t=_e(e);t.providerId!==void 0&&(this.providerId=t.providerId),t.providerModelKey!==void 0&&(this.providerModelKey=t.providerModelKey),t.autoModeConcurrency!==void 0&&(this.autoModeConcurrency=t.autoModeConcurrency),t.theme!==void 0&&(this.theme=t.theme),t.permissionMode!==void 0&&(this.permissionMode=t.permissionMode),t.autoGenerateCommitMessages!==void 0&&(this.autoGenerateCommitMessages=t.autoGenerateCommitMessages),this._hydrated=!0}catch(e){console.error("Failed to load settings:",e)}},setTheme(e){this.theme=e,this._saveToServer()},setProviderSelection(e){this.providerId=e.providerId,this.providerModelKey=typeof e.modelKey=="string"&&e.modelKey.length>0?e.modelKey:w,this._saveToServer(!0)},setAutoModeConcurrency(e){this.autoModeConcurrency=Math.max(1,Math.min(10,Math.floor(e))),this._saveToServer()},setPermissionMode(e){this.permissionMode=e,this._saveToServer()},setAutoGenerateCommitMessages(e){this.autoGenerateCommitMessages=e,this._saveToServer()},resetToDefaults(){this.providerId=F,this.providerModelKey=w,this.autoModeConcurrency=3,this.theme="dark",this.permissionMode="ask",this.autoGenerateCommitMessages=!1,this._saveToServer()},_saveToServer(e=!1){const t={providerId:this.providerId,providerModelKey:this.providerModelKey,claudeModel:this.providerId==="claude"?this.providerModelKey:void 0,autoModeConcurrency:this.autoModeConcurrency,theme:this.theme,permissionMode:this.permissionMode,autoGenerateCommitMessages:this.autoGenerateCommitMessages};$fetch("/api/settings",{method:"POST",body:t}).then(o=>{if(!e||!o?.settings)return;const i=o.settings.providerId,r=o.settings.providerModelKey;typeof i=="string"&&(this.providerId=i),typeof r=="string"&&r.length>0&&(this.providerModelKey=r)}).catch(o=>{console.error("Failed to save settings:",o)})}}}),Xe=Object.freeze(Object.defineProperty({__proto__:null,useSettingsStore:be},Symbol.toStringTag,{value:"Module"})),A=H([]);function De(){const e=(s,a="info",m=3e3)=>{const g=`toast-${Date.now()}-${Math.random().toString(36).slice(2)}`,c={id:g,message:s,type:a,duration:m};return A.value.push(c),m>0&&setTimeout(()=>{t(g)},m),g},t=s=>{const a=A.value.findIndex(m=>m.id===s);a!==-1&&A.value.splice(a,1)},o=(s,a)=>e(s,"success",a),i=(s,a)=>e(s,"error",a),r=(s,a)=>e(s,"info",a),h=(s,a)=>e(s,"warning",a);return{toasts:ne(A),add:e,remove:t,success:o,error:i,info:r,warning:h}}const Ye=Object.freeze(Object.defineProperty({__proto__:null,useToast:De},Symbol.toStringTag,{value:"Module"}));function Ze(){return`blk-${Date.now()}-${Math.random().toString(36).substring(2,6)}`}function Je(e){return Array.isArray(e.contentBlocks)&&e.contentBlocks.length>0}const Me={plan:"Plan Mode",ask:"Ask Before",auto:"Auto Edit",bypass:"Bypass"},Qe={plan:"The assistant will create a plan before making changes",ask:"The assistant will ask before each action",auto:"The assistant can read and edit files automatically",bypass:"Skip all permission checks (dangerous)"},et=300,tt=600,at=400;function st(){return`msg-${Date.now()}-${Math.random().toString(36).substring(2,8)}`}const rt=2,ot=100,nt=80;function it(){return`conv-${Math.random().toString(36).slice(2,12)}`}function ct(e){const o=e.trim().replace(/\n/g," ");return o.length<=50?o:o.slice(0,50).trim()+"..."}function lt(e){if(!e||typeof e!="object")return!1;const t=e;return typeof t.id=="string"&&typeof t.title=="string"&&Array.isArray(t.messages)&&typeof t.createdAt=="string"&&typeof t.updatedAt=="string"&&typeof t.cwd=="string"}function dt(e){if(!e||typeof e!="object")return!1;const t=e;return typeof t.id=="string"&&typeof t.sourceConversationId=="string"&&typeof t.title=="string"&&Array.isArray(t.messages)&&typeof t.createdAt=="string"&&typeof t.updatedAt=="string"&&typeof t.archivedAt=="string"&&typeof t.cwd=="string"}const Ce={class:"space-y-3"},Se={key:0,class:"rounded border border-retro-border bg-retro-panel px-4 py-3"},xe={key:1,class:"rounded border border-retro-border bg-retro-panel px-4 py-3"},Ee={class:"text-xs font-mono text-retro-yellow"},Ie={key:2,class:"rounded border border-retro-border bg-retro-panel px-4 py-3"},Pe={key:3,class:"space-y-4"},Te={key:0,class:"text-xs font-mono text-retro-muted"},Oe={key:1,class:"text-xs font-mono text-retro-muted"},ke={class:"flex flex-col gap-2"},Ae={class:"flex flex-col gap-2"},we={class:"flex items-start justify-between gap-3"},Ne={class:"text-sm font-mono text-retro-text"},Le={key:0,class:"text-xs font-mono text-retro-yellow"},Be={key:1,class:"text-xs font-mono text-retro-yellow"},Re={class:"text-xs text-retro-muted leading-tight"},Ge={class:"flex flex-wrap gap-2"},Ve={key:0,class:"text-xs font-mono text-retro-yellow"},Ke={class:"space-y-1.5"},$e=["value","checked","disabled","onChange"],Fe={class:"flex-1 space-y-0.5"},He={class:"flex items-center gap-2"},ze={class:"text-sm font-mono text-retro-text"},Ue={key:0,class:"text-[0.55rem] font-mono uppercase tracking-[0.25em] text-retro-cyan border border-retro-cyan rounded-full px-2 py-0.5"},We={class:"text-xs text-retro-muted leading-tight"},ut=ie({__name:"ProviderSelector",props:{providers:{},selected:{},permissionMode:{},pending:{type:Boolean},errorMessage:{}},emits:["select"],setup(e,{emit:t}){const o=e,i=t,r=[{key:"streaming",label:"Streaming"},{key:"permissions",label:"Permissions"},{key:"resume",label:"Session Resume"},{key:"autoCommit",label:"Auto Commit"}],h=P(()=>o.permissionMode==="ask"||o.permissionMode==="plan"),s=P(()=>Me[o.permissionMode]),a=P(()=>!0);function m(d){const p=!h.value||d.capabilities.permissions,n=!a.value||d.capabilities.streaming;return p&&n}function g(d){return h.value&&!d.capabilities.permissions?`${d.name} cannot be used with ${s.value} because it does not expose permission prompts.`:a.value&&!d.capabilities.streaming?`${d.name} is unavailable because streaming runtime prerequisites are not satisfied.`:null}function c(d,p){m(d)&&i("select",{providerId:d.id,modelKey:p})}function u(d,p){return o.selected.providerId===d&&o.selected.modelKey===p}return(d,p)=>(_(),b("div",Ce,[e.pending?(_(),b("div",Se,[...p[0]||(p[0]=[v("p",{class:"text-xs font-mono text-retro-text"},"Loading providers…",-1)])])):e.errorMessage?(_(),b("div",xe,[v("p",Ee,"Unable to load providers: "+S(e.errorMessage),1)])):e.providers.length===0?(_(),b("div",Ie,[...p[1]||(p[1]=[v("p",{class:"text-xs font-mono text-retro-muted"},"No AI providers are configured on the server. Check with your administrator.",-1)])])):(_(),b("div",Pe,[h.value?(_(),b("p",Te," Permission mode "+S(s.value)+" requires a provider that supports permission prompts. Incompatible providers are disabled. ",1)):I("",!0),a.value?(_(),b("p",Oe," Chat currently requires a provider with streaming support. Providers without streaming are shown for preparation but disabled. ")):I("",!0),(_(!0),b(L,null,B(e.providers,n=>(_(),b("article",{key:n.id,class:O(["rounded border border-retro-border bg-retro-panel p-4 space-y-3 transition",{"border-retro-cyan bg-retro-cyan/5":e.selected.providerId===n.id,"hover:border-retro-muted":e.selected.providerId!==n.id}])},[v("div",ke,[v("div",Ae,[v("div",we,[v("span",Ne,S(n.name),1),h.value&&!n.capabilities.permissions?(_(),b("div",Le," Permissions missing ")):a.value&&!n.capabilities.streaming?(_(),b("div",Be," Streaming missing ")):I("",!0)]),v("p",Re,S(n.description),1),v("div",Ge,[(_(),b(L,null,B(r,l=>v("span",{key:l.key,class:O(["inline-flex items-center gap-1.5 rounded-full border px-2.5 py-0.5 text-[0.6rem] font-mono uppercase tracking-[0.18em]",n.capabilities[l.key]?"border-retro-cyan/70 text-retro-cyan bg-retro-cyan/10":"border-retro-border text-retro-muted bg-retro-dark/60"])},[v("span",{class:O(["h-1.5 w-1.5 rounded-full",n.capabilities[l.key]?"bg-retro-cyan":"bg-retro-muted"])},null,2),ce(" "+S(l.label),1)],2)),64))])])]),g(n)?(_(),b("p",Ve,S(g(n)),1)):I("",!0),v("div",Ke,[(_(!0),b(L,null,B(n.models,l=>(_(),b("label",{key:l.key,class:O(["flex items-start gap-3 px-3 py-2 rounded border cursor-pointer transition-colors",[u(n.id,l.key)?"border-retro-cyan bg-retro-cyan/10":"border-retro-border bg-retro-panel hover:border-retro-muted",m(n)?"":"opacity-60 cursor-not-allowed"]])},[v("input",{type:"radio",name:"provider-model",value:`${n.id}:${l.key}`,checked:u(n.id,l.key),disabled:!m(n),class:"mt-1 h-3.5 w-3.5 text-retro-cyan accent-retro-cyan",onChange:x=>c(n,l.key)},null,40,$e),v("div",Fe,[v("div",He,[v("span",ze,S(l.label),1),l.default?(_(),b("span",Ue," Default ")):I("",!0)]),v("p",We,S(l.description),1)])],2))),128))])],2))),128))]))]))}});export{w as D,ot as M,at as P,rt as S,nt as W,ut as _,qe as a,De as b,dt as c,et as d,tt as e,it as f,st as g,F as h,lt as i,ct as j,Ze as k,Je as l,Me as m,Qe as n,Ye as o,Xe as s,be as u};
|