@inkeep/open-knowledge 0.47.0-beta.7 → 0.47.0-beta.9
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/dist/{acp-harness-probe-CBeUqCYG.mjs → acp-harness-probe-C0SsnC09.mjs} +2 -2
- package/dist/cli.mjs +7 -7
- package/dist/config-schema.json +35 -1
- package/dist/config.user.schema.json +35 -1
- package/dist/constants-DTE7K2E0.mjs +2 -0
- package/dist/{fs-traced-D12ehU8a.mjs → fs-traced-ArlA_yTp.mjs} +2 -2
- package/dist/fs-traced-C9U9YUGm.mjs +1 -0
- package/dist/{git-handle-BKNpWc-0.mjs → git-handle-B9cFlvR2.mjs} +2 -2
- package/dist/git-handle-pq-bTXGz.mjs +1 -0
- package/dist/index.d.mts +22 -2
- package/dist/index.mjs +1 -1
- package/dist/{init-U57dU1yg.mjs → init-C2fAn6PM.mjs} +3 -3
- package/dist/init-c-4dhErq.mjs +1 -0
- package/dist/{launch-json-removal-DqaQa1rL.mjs → launch-json-removal-whUgkww7.mjs} +2 -2
- package/dist/{loader-xhoFGDAP.mjs → loader-CU4Jbdky.mjs} +2 -2
- package/dist/loader-DPapNPkX.mjs +1 -0
- package/dist/md-manager-CQwbqiDq.mjs +2 -0
- package/dist/{open-browser-BGPHwSRQ.mjs → open-browser-DtS0SaFA.mjs} +2 -2
- package/dist/parse-worker.mjs +1 -1
- package/dist/preview-Cid6IIcN.mjs +1 -0
- package/dist/{preview-q8UY5TPk.mjs → preview-DGtR2PF8.mjs} +2 -2
- package/dist/public/assets/{ActivityModeContent-Cs_G4A2z.js → ActivityModeContent-BSIeX2WL.js} +1 -1
- package/dist/public/assets/{AgentDiffPane-CWfs6hRd.js → AgentDiffPane-u4kU4q9y.js} +1 -1
- package/dist/public/assets/{AgentThreadClientBinder-GaJMQpHN.js → AgentThreadClientBinder-CMHNZB8k.js} +1 -1
- package/dist/public/assets/{ChangedOutsideBadge-DhOK_p1U.js → ChangedOutsideBadge-Byr7iRWr.js} +1 -1
- package/dist/public/assets/{CodeMirrorPropInput-DvoNWmdR.js → CodeMirrorPropInput-kJZpOqjB.js} +1 -1
- package/dist/public/assets/{ConsentDialogBody-CB447Y2k.js → ConsentDialogBody-VKhCzQXH.js} +1 -1
- package/dist/public/assets/{DocumentContext-BaYg4CBg.js → DocumentContext-B5qum6Oo.js} +9 -9
- package/dist/public/assets/{EditorModeToggle-C9I-Efpm.js → EditorModeToggle-C7I7X4RS.js} +1 -1
- package/dist/public/assets/{EnableSyncConfirmDialog-DCen-fKk.js → EnableSyncConfirmDialog-C5lcZQ0m.js} +1 -1
- package/dist/public/assets/FeedbackForm-CpjJyb9E.js +1 -0
- package/dist/public/assets/{GraphPanel-B9HMPssx.js → GraphPanel-BKU-sjWQ.js} +1 -1
- package/dist/public/assets/{ImportSkillDialog-BjLITatU.js → ImportSkillDialog-eU2Zr5ex.js} +1 -1
- package/dist/public/assets/{LintConfigEditor-D6dnss9h.js → LintConfigEditor-xKBwOmU6.js} +1 -1
- package/dist/public/assets/{ManagedArtifactProperties-BO70pd59.js → ManagedArtifactProperties-C8FxdLXe.js} +1 -1
- package/dist/public/assets/ManagedArtifactProperties-Ck3gsN1B.js +1 -0
- package/dist/public/assets/{McpConsentDialogBody-CZC9r_Ug.js → McpConsentDialogBody-5vUQ_tGC.js} +1 -1
- package/dist/public/assets/{MermaidDocEditor-C6SV6GjT.js → MermaidDocEditor-BZ9qREZ6.js} +1 -1
- package/dist/public/assets/{ReportBugDialogBody-BZrgGB1Z.js → ReportBugDialogBody-rA74DPnv.js} +1 -1
- package/dist/public/assets/{SchemaConfigEditor-BYBjMHsb.js → SchemaConfigEditor-BzlmoCOH.js} +1 -1
- package/dist/public/assets/{SessionsHost-llsZYWbP.js → SessionsHost-D1cUv-UU.js} +2 -2
- package/dist/public/assets/SettingsDialogBody-Cg9DTpQ7.js +12 -0
- package/dist/public/assets/{ShareBranchSwitchDialog-DUzjoGVJ.js → ShareBranchSwitchDialog-COHEBcfz.js} +1 -1
- package/dist/public/assets/{ShareReceiveDialog-BQhhG70Y.js → ShareReceiveDialog-DcNIOm6y.js} +1 -1
- package/dist/public/assets/{ShareReceiveMissDialog-CaI0eq9C.js → ShareReceiveMissDialog-DVZqfzBh.js} +1 -1
- package/dist/public/assets/{SkillEditBanner-WG0cwpb-.js → SkillEditBanner-nlYN__8g.js} +1 -1
- package/dist/public/assets/{SkillOriginInline-8KJ3qbz8.js → SkillOriginInline-BBZCbGv3.js} +1 -1
- package/dist/public/assets/{SkillToolbarControls-LDRTNFTx.js → SkillToolbarControls-VrT7GSrm.js} +1 -1
- package/dist/public/assets/{SourceEditor-nYPGo8QU.js → SourceEditor-DQatC6rT.js} +1 -1
- package/dist/public/assets/{TerminalPanel-CkcArSmy.js → TerminalPanel-BHk4hxn3.js} +1 -1
- package/dist/public/assets/{TerminalWindowApp-COjq6Uas.js → TerminalWindowApp-C81f0KjQ.js} +1 -1
- package/dist/public/assets/{TextDocEditor-eS5P-G2H.js → TextDocEditor-BSQz8TPb.js} +1 -1
- package/dist/public/assets/{ThreadView-v9Y3Ih_a.js → ThreadView-FpQMMfQp.js} +1 -1
- package/dist/public/assets/{TimelineDiffPane-3nkpH5uW.js → TimelineDiffPane-DRAMrTuM.js} +1 -1
- package/dist/public/assets/{agent-diff-store-PJFwSxS1.js → agent-diff-store-BMOeSX25.js} +1 -1
- package/dist/public/assets/{agent-visibility-Cieocxzz.js → agent-visibility-CRJC_Mmi.js} +1 -1
- package/dist/public/assets/auth-state-cache-BUKZaRRr.js +11 -0
- package/dist/public/assets/{client-version-uMlMQx33.js → client-version-NCw3CPbg.js} +1 -1
- package/dist/public/assets/config-context-wTySMMh_.js +1 -0
- package/dist/public/assets/config-provider-BtDy9McS.js +4 -0
- package/dist/public/assets/{dist-CrqBb5y32.js → dist-0V5DS-jp2.js} +163 -163
- package/dist/public/assets/{doc-paths-CCYuGvJq.js → doc-paths-eqs57MlK.js} +1 -1
- package/dist/public/assets/{documents-events-CdU1iFH9.js → documents-events-BtZ7NV1t.js} +1 -1
- package/dist/public/assets/{file-tree-adapter-a1hBKu8z.js → file-tree-adapter-CheEwQMW.js} +1 -1
- package/dist/public/assets/{file-tree-utils-CClHAhYa.js → file-tree-utils-KtcdmJ_g.js} +1 -1
- package/dist/public/assets/{folder-config-api-6QhNU0oa.js → folder-config-api-DT4VLF_M.js} +1 -1
- package/dist/public/assets/{globals-DliH2YSL.js → globals-BlQP66GU.js} +1 -1
- package/dist/public/assets/globals-CqGu_JES.css +1 -0
- package/dist/public/assets/{index-kaTVsIsC.js → index-Dc2fupRN.js} +11 -11
- package/dist/public/assets/{lint-config-client-B0H2okzr.js → lint-config-client-CKDOijIM.js} +1 -1
- package/dist/public/assets/{markdownlint-rule-browser-BXGIkBuD.js → markdownlint-rule-browser-P1sDghK_.js} +1 -1
- package/dist/public/assets/{navigation-targets-BwmQHp3k.js → navigation-targets-gc61t_Ad.js} +1 -1
- package/dist/public/assets/{open-managed-artifact-tab-BzW5kLR0.js → open-managed-artifact-tab-DnKux2mI.js} +1 -1
- package/dist/public/assets/{pending-receive-nav-store-B1W7hvut.js → pending-receive-nav-store-VNTolH5C.js} +1 -1
- package/dist/public/assets/{project-paths-DF-eCznB.js → project-paths-B8XPtMMF.js} +1 -1
- package/dist/public/assets/{prop-types-DIaGyPZM.js → prop-types-BdjIW0eY.js} +1 -1
- package/dist/public/assets/{radio-group-MAC3jHHk.js → radio-group-CvYE9US5.js} +1 -1
- package/dist/public/assets/{receive-store-DlIsfkuF.js → receive-store-Cv1sOLk9.js} +1 -1
- package/dist/public/assets/{selection-context-DS--IqEv.js → selection-context-bQG3wbZN.js} +1 -1
- package/dist/public/assets/{skill-actions-DCISbh85.js → skill-actions-BQVwP81Q.js} +1 -1
- package/dist/public/assets/{skill-scope-7fBhGcjl.js → skill-scope-C6bIed6c.js} +1 -1
- package/dist/public/assets/{skills-api-wUsPYcxD.js → skills-api-MKau2YTq.js} +1 -1
- package/dist/public/assets/{src-ScxRfF8q.js → src-CChG2POU.js} +1 -1
- package/dist/public/assets/{tag-pill-input-Bx_oWl-2.js → tag-pill-input-_lxupqbK.js} +1 -1
- package/dist/public/assets/{target-navigation-intent-D2TXEip5.js → target-navigation-intent-BAyNSKBJ.js} +1 -1
- package/dist/public/assets/{terminal-launch-events-B3gBFWc1.js → terminal-launch-events-CwG2wSZB.js} +1 -1
- package/dist/public/assets/{terminal-telemetry-Bv3GE2Aw.js → terminal-telemetry--GWjCDpk.js} +1 -1
- package/dist/public/assets/{typing-burst-detector-lX1cLLkC.js → typing-burst-detector-BPenX-sr.js} +1 -1
- package/dist/public/assets/{uninstall-BILpXTW1.js → uninstall-Dy_6kiW_.js} +1 -1
- package/dist/public/assets/{use-activity-panel-CxtCUEYv.js → use-activity-panel-BsN0fEDd.js} +1 -1
- package/dist/public/assets/{use-collab-url-BjRhUqsT.js → use-collab-url-BPCGWweY.js} +1 -1
- package/dist/public/assets/use-live-xterm-theme-ChdaDRFM.js +1 -0
- package/dist/public/assets/{use-open-skill-BHdzD0v1.js → use-open-skill-Civ_cY4Q.js} +1 -1
- package/dist/public/assets/{use-settings-route-aXWIMVRt.js → use-settings-route-1lmVz-nQ.js} +1 -1
- package/dist/public/assets/{use-skill-directory-BV092Gnw.js → use-skill-directory-DXhI7ilx.js} +1 -1
- package/dist/public/assets/{use-skill-origin-DMt7ay7U.js → use-skill-origin-_K8KHC47.js} +1 -1
- package/dist/public/assets/{use-skills-C7huRzJa.js → use-skills-BfXZuh-E.js} +1 -1
- package/dist/public/assets/{use-terminal-enabled-C5zv0ln-.js → use-terminal-enabled-BfSuv1_p.js} +1 -1
- package/dist/public/assets/{use-timeline-entry-diff-EbqHCjsV.js → use-timeline-entry-diff-DDbjjCJ4.js} +1 -1
- package/dist/public/assets/{use-workspace-D80aSSBD.js → use-workspace-BqaxnWdM.js} +1 -1
- package/dist/public/index.html +67 -55
- package/dist/public/uninstall.html +5 -5
- package/dist/{repair-launch-json-DTprea3X.mjs → repair-launch-json-Brj1-LMk.mjs} +2 -2
- package/dist/{repair-mcp-configs-fLP2d4Sv.mjs → repair-mcp-configs-Bi7KOjif.mjs} +2 -2
- package/dist/{repair-skills-CXOdNyyU.mjs → repair-skills-BXCsRRL9.mjs} +2 -2
- package/dist/repair-skills-xur4yCYG.mjs +1 -0
- package/dist/schemas/v0/config.user.schema.json +35 -1
- package/dist/{server-lock-9wk8At58.mjs → server-lock-B1IPSV1G.mjs} +2 -2
- package/dist/server-lock-BWO8zIgq.mjs +1 -0
- package/dist/{sleep-jUpHbV7f.mjs → sleep-ByqzSHar.mjs} +2 -2
- package/dist/{src-BA6UmYHS.mjs → src-CHGk5YB-.mjs} +6 -6
- package/dist/{src-DHvnHIfx.mjs → src-DT-UPj26.mjs} +2 -2
- package/dist/{src-7fluFHtm.mjs → src-DjMcdwEK.mjs} +1 -1
- package/dist/{src-Dkrbi5Bh.mjs → src-xqnWcl6h.mjs} +2 -2
- package/dist/start-Cqf7Xs6l.mjs +1 -0
- package/dist/{start-DIAtP5MI.mjs → start-hb3NTHme.mjs} +3 -3
- package/dist/{write-project-skill-D_i5y_ki.mjs → write-project-skill-d8JhYDYY.mjs} +2 -2
- package/package.json +4 -4
- package/dist/constants-DCo5SoGr.mjs +0 -2
- package/dist/fs-traced-C-HqiL6u.mjs +0 -1
- package/dist/git-handle-vAOkZizz.mjs +0 -1
- package/dist/init-DRRq7R14.mjs +0 -1
- package/dist/loader-AwhLQhFP.mjs +0 -1
- package/dist/md-manager-BuZAb56s.mjs +0 -2
- package/dist/preview-AXmnVWXt.mjs +0 -1
- package/dist/public/assets/FeedbackForm-EBcXu2CA.js +0 -1
- package/dist/public/assets/ManagedArtifactProperties-BkBzFhn7.js +0 -1
- package/dist/public/assets/SettingsDialogBody-DXaeMFz_.js +0 -12
- package/dist/public/assets/auth-state-cache-B8KE-_17.js +0 -11
- package/dist/public/assets/config-context-BIynQsCe.js +0 -1
- package/dist/public/assets/config-provider-DKj_NBqh.js +0 -4
- package/dist/public/assets/globals-BLjNYywW.css +0 -1
- package/dist/public/assets/use-live-xterm-theme-Cvtrg0j6.js +0 -1
- package/dist/repair-skills-CdFjRSeM.mjs +0 -1
- package/dist/server-lock-DxjYF04b.mjs +0 -1
- package/dist/start-CvmSQeQC.mjs +0 -1
package/dist/public/index.html
CHANGED
|
@@ -43,27 +43,39 @@
|
|
|
43
43
|
so the BrowserWindow's vibrancy material shows through. Web mode
|
|
44
44
|
(no `window.okDesktop`) skips the class so chrome stays solid.
|
|
45
45
|
|
|
46
|
-
The IDE color palette
|
|
47
|
-
the
|
|
48
|
-
`
|
|
49
|
-
|
|
50
|
-
`
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
46
|
+
The IDE color palette comes from `ok-color-theme-pair-v1`, which holds one
|
|
47
|
+
palette per mode plus the mode preference that chooses between them:
|
|
48
|
+
`{ pref, light: { id, dark }, dark: { id, dark } }`. The script resolves
|
|
49
|
+
`pref` (asking the OS for `system`), reads that slot, applies its `id` as
|
|
50
|
+
the `data-color-theme` attribute consumed by `color-themes.generated.css`,
|
|
51
|
+
and takes the `dark` class straight from the slot's own flag — a palette
|
|
52
|
+
forces its own variant, so the flag is precomputed rather than re-derived
|
|
53
|
+
here. That is what keeps this script free of any theme-id knowledge.
|
|
54
|
+
|
|
55
|
+
A build that predates the pair wrote a single id to `ok-color-theme-v1`,
|
|
56
|
+
read only as a fallback: it applied to whatever mode was active, and
|
|
57
|
+
`ok-theme-v1` already carried the mode that palette forced. The app deletes
|
|
58
|
+
that key as soon as it writes the pair, so this branch runs at most once
|
|
59
|
+
per install.
|
|
60
|
+
|
|
61
|
+
The `custom` palette is replayed from `ok-custom-theme-v1`
|
|
62
|
+
(`{ css, dark }`): its prebuilt stylesheet is injected as a `<style>` and
|
|
63
|
+
its `dark` flag drives the class. Paired consumer:
|
|
64
|
+
`src/lib/use-apply-config-color-theme.ts` — it writes the
|
|
65
|
+
`ok-color-theme-pair-v1` and `ok-custom-theme-v1` caches and clears the legacy
|
|
66
|
+
`ok-color-theme-v1`; `ok-theme-v1` is next-themes' (see above).
|
|
55
67
|
|
|
56
68
|
Single-line script body — same biome HTML-formatter constraint as
|
|
57
69
|
the editor-mode FOUC above.
|
|
58
70
|
-->
|
|
59
|
-
<script>(() => { let
|
|
71
|
+
<script>(() => { const isMode = (v) => v === 'light' || v === 'dark' || v === 'system'; const isThemeId = (v) => typeof v === 'string' && /^[a-z0-9-]{1,32}$/.test(v); let pref = 'system'; try { const r = localStorage.getItem('ok-theme-v1'); if (isMode(r)) pref = r; } catch {} let slots = null; try { const raw = localStorage.getItem('ok-color-theme-pair-v1'); if (raw) { const o = JSON.parse(raw); if (o?.light && o?.dark) { slots = o; if (isMode(o.pref)) pref = o.pref; } } } catch {} let dark = pref === 'dark'; if (pref === 'system') { try { dark = window.matchMedia('(prefers-color-scheme: dark)').matches; } catch {} } let ct = null; if (slots) { const slot = dark ? slots.dark : slots.light; if (isThemeId(slot?.id)) { dark = !!slot.dark; if (slot.id !== 'default') ct = slot.id; } } else { try { const c = localStorage.getItem('ok-color-theme-v1'); if (isThemeId(c) && c !== 'default') ct = c; } catch {} } let customCss = null; if (ct === 'custom') { try { const raw = localStorage.getItem('ok-custom-theme-v1'); if (raw) { const o = JSON.parse(raw); if (o?.css) { customCss = o.css; dark = !!o.dark; } } } catch {} if (!customCss) ct = null; } if (dark) document.documentElement.classList.add('dark'); if (ct) document.documentElement.setAttribute('data-color-theme', ct); if (customCss) { const s = document.createElement('style'); s.id = 'ok-custom-theme'; s.textContent = customCss; document.head.appendChild(s); } if (window.okDesktop) { document.documentElement.classList.add('electron-mode'); document.documentElement.classList.add(`electron-platform-${window.okDesktop.platform}`); } })();</script>
|
|
60
72
|
<style>html { background-color: #fafafa } html.dark { background-color: #171717 }</style>
|
|
61
|
-
<script type="module" crossorigin src="./assets/index-
|
|
73
|
+
<script type="module" crossorigin src="./assets/index-Dc2fupRN.js"></script>
|
|
62
74
|
<link rel="modulepreload" crossorigin href="./assets/chunk-CYidjpOJ.js">
|
|
63
75
|
<link rel="modulepreload" crossorigin href="./assets/dist-CzC3AWOn.js">
|
|
64
76
|
<link rel="modulepreload" crossorigin href="./assets/react-f2sANaYj.js">
|
|
65
77
|
<link rel="modulepreload" crossorigin href="./assets/react-dom-DPxgxlDT.js">
|
|
66
|
-
<link rel="modulepreload" crossorigin href="./assets/globals-
|
|
78
|
+
<link rel="modulepreload" crossorigin href="./assets/globals-BlQP66GU.js">
|
|
67
79
|
<link rel="modulepreload" crossorigin href="./assets/preload-helper-Chd9yIcd.js">
|
|
68
80
|
<link rel="modulepreload" crossorigin href="./assets/w3c-keyname-a_sRwNLm.js">
|
|
69
81
|
<link rel="modulepreload" crossorigin href="./assets/dist-BNDNcytQ.js">
|
|
@@ -90,10 +102,10 @@
|
|
|
90
102
|
<link rel="modulepreload" crossorigin href="./assets/trace-api-DzbWkWNJ.js">
|
|
91
103
|
<link rel="modulepreload" crossorigin href="./assets/lib-oSGqv0ZH.js">
|
|
92
104
|
<link rel="modulepreload" crossorigin href="./assets/markdownit-BD8ZfAkg.js">
|
|
93
|
-
<link rel="modulepreload" crossorigin href="./assets/dist-
|
|
94
|
-
<link rel="modulepreload" crossorigin href="./assets/client-version-
|
|
95
|
-
<link rel="modulepreload" crossorigin href="./assets/config-context-
|
|
96
|
-
<link rel="modulepreload" crossorigin href="./assets/config-provider-
|
|
105
|
+
<link rel="modulepreload" crossorigin href="./assets/dist-0V5DS-jp2.js">
|
|
106
|
+
<link rel="modulepreload" crossorigin href="./assets/client-version-NCw3CPbg.js">
|
|
107
|
+
<link rel="modulepreload" crossorigin href="./assets/config-context-wTySMMh_.js">
|
|
108
|
+
<link rel="modulepreload" crossorigin href="./assets/config-provider-BtDy9McS.js">
|
|
97
109
|
<link rel="modulepreload" crossorigin href="./assets/dist-Bi80hc1t.js">
|
|
98
110
|
<link rel="modulepreload" crossorigin href="./assets/dist-CR6aO28t.js">
|
|
99
111
|
<link rel="modulepreload" crossorigin href="./assets/dist-DpaqLIPT.js">
|
|
@@ -118,7 +130,7 @@
|
|
|
118
130
|
<link rel="modulepreload" crossorigin href="./assets/dropdown-menu-AlVJ7dJz.js">
|
|
119
131
|
<link rel="modulepreload" crossorigin href="./assets/label-G0lbYOgL.js">
|
|
120
132
|
<link rel="modulepreload" crossorigin href="./assets/terminal-input-events-BGPQuYMh.js">
|
|
121
|
-
<link rel="modulepreload" crossorigin href="./assets/radio-group-
|
|
133
|
+
<link rel="modulepreload" crossorigin href="./assets/radio-group-CvYE9US5.js">
|
|
122
134
|
<link rel="modulepreload" crossorigin href="./assets/separator-CXVli0aI.js">
|
|
123
135
|
<link rel="modulepreload" crossorigin href="./assets/toggle-group-Cnezoq-B.js">
|
|
124
136
|
<link rel="modulepreload" crossorigin href="./assets/useQuery-ZeEDLtxh.js">
|
|
@@ -129,22 +141,22 @@
|
|
|
129
141
|
<link rel="modulepreload" crossorigin href="./assets/switch-BuVbhbtp.js">
|
|
130
142
|
<link rel="modulepreload" crossorigin href="./assets/folder-open-Ceue91os.js">
|
|
131
143
|
<link rel="modulepreload" crossorigin href="./assets/trash-2-WxyktwvM.js">
|
|
132
|
-
<link rel="modulepreload" crossorigin href="./assets/file-tree-utils-
|
|
133
|
-
<link rel="modulepreload" crossorigin href="./assets/doc-paths-
|
|
134
|
-
<link rel="modulepreload" crossorigin href="./assets/skill-scope-
|
|
135
|
-
<link rel="modulepreload" crossorigin href="./assets/navigation-targets-
|
|
144
|
+
<link rel="modulepreload" crossorigin href="./assets/file-tree-utils-KtcdmJ_g.js">
|
|
145
|
+
<link rel="modulepreload" crossorigin href="./assets/doc-paths-eqs57MlK.js">
|
|
146
|
+
<link rel="modulepreload" crossorigin href="./assets/skill-scope-C6bIed6c.js">
|
|
147
|
+
<link rel="modulepreload" crossorigin href="./assets/navigation-targets-gc61t_Ad.js">
|
|
136
148
|
<link rel="modulepreload" crossorigin href="./assets/asset-dispatch-BOfThpQD.js">
|
|
137
149
|
<link rel="modulepreload" crossorigin href="./assets/external-link-Dvu-nzFi.js">
|
|
138
150
|
<link rel="modulepreload" crossorigin href="./assets/documents-fetch-DhfOkJYw.js">
|
|
139
|
-
<link rel="modulepreload" crossorigin href="./assets/CodeMirrorPropInput-
|
|
151
|
+
<link rel="modulepreload" crossorigin href="./assets/CodeMirrorPropInput-kJZpOqjB.js">
|
|
140
152
|
<link rel="modulepreload" crossorigin href="./assets/git-branch-le6ClqcQ.js">
|
|
141
153
|
<link rel="modulepreload" crossorigin href="./assets/triangle-alert-C2yId37R.js">
|
|
142
154
|
<link rel="modulepreload" crossorigin href="./assets/Mermaid-BePjlqwg.js">
|
|
143
155
|
<link rel="modulepreload" crossorigin href="./assets/CopyButton-D6N3opvE.js">
|
|
144
|
-
<link rel="modulepreload" crossorigin href="./assets/documents-events-
|
|
156
|
+
<link rel="modulepreload" crossorigin href="./assets/documents-events-BtZ7NV1t.js">
|
|
145
157
|
<link rel="modulepreload" crossorigin href="./assets/parse-api-error-Dmlzsw8v.js">
|
|
146
158
|
<link rel="modulepreload" crossorigin href="./assets/startup-marks-B88RuIAa.js">
|
|
147
|
-
<link rel="modulepreload" crossorigin href="./assets/prop-types-
|
|
159
|
+
<link rel="modulepreload" crossorigin href="./assets/prop-types-BdjIW0eY.js">
|
|
148
160
|
<link rel="modulepreload" crossorigin href="./assets/eye-BIA1oECU.js">
|
|
149
161
|
<link rel="modulepreload" crossorigin href="./assets/hash-BXtq910s.js">
|
|
150
162
|
<link rel="modulepreload" crossorigin href="./assets/info-BO0f2XRt.js">
|
|
@@ -154,29 +166,29 @@
|
|
|
154
166
|
<link rel="modulepreload" crossorigin href="./assets/file-tree-rename-validation-1Yh3dC3l.js">
|
|
155
167
|
<link rel="modulepreload" crossorigin href="./assets/badge-CAMtyz4F.js">
|
|
156
168
|
<link rel="modulepreload" crossorigin href="./assets/input-Cm94Cun3.js">
|
|
157
|
-
<link rel="modulepreload" crossorigin href="./assets/use-collab-url-
|
|
158
|
-
<link rel="modulepreload" crossorigin href="./assets/skills-api-
|
|
159
|
-
<link rel="modulepreload" crossorigin href="./assets/DocumentContext-
|
|
169
|
+
<link rel="modulepreload" crossorigin href="./assets/use-collab-url-BPCGWweY.js">
|
|
170
|
+
<link rel="modulepreload" crossorigin href="./assets/skills-api-MKau2YTq.js">
|
|
171
|
+
<link rel="modulepreload" crossorigin href="./assets/DocumentContext-B5qum6Oo.js">
|
|
160
172
|
<link rel="modulepreload" crossorigin href="./assets/format-DAPkd5Gj.js">
|
|
161
173
|
<link rel="modulepreload" crossorigin href="./assets/braces-BG3bQFuB.js">
|
|
162
|
-
<link rel="modulepreload" crossorigin href="./assets/folder-config-api-
|
|
174
|
+
<link rel="modulepreload" crossorigin href="./assets/folder-config-api-DT4VLF_M.js">
|
|
163
175
|
<link rel="modulepreload" crossorigin href="./assets/textarea-Cl4IJ1LU.js">
|
|
164
|
-
<link rel="modulepreload" crossorigin href="./assets/lint-config-client-
|
|
165
|
-
<link rel="modulepreload" crossorigin href="./assets/selection-context-
|
|
166
|
-
<link rel="modulepreload" crossorigin href="./assets/use-skills-
|
|
167
|
-
<link rel="modulepreload" crossorigin href="./assets/ManagedArtifactProperties-
|
|
168
|
-
<link rel="modulepreload" crossorigin href="./assets/EnableSyncConfirmDialog-
|
|
176
|
+
<link rel="modulepreload" crossorigin href="./assets/lint-config-client-CKDOijIM.js">
|
|
177
|
+
<link rel="modulepreload" crossorigin href="./assets/selection-context-bQG3wbZN.js">
|
|
178
|
+
<link rel="modulepreload" crossorigin href="./assets/use-skills-BfXZuh-E.js">
|
|
179
|
+
<link rel="modulepreload" crossorigin href="./assets/ManagedArtifactProperties-C8FxdLXe.js">
|
|
180
|
+
<link rel="modulepreload" crossorigin href="./assets/EnableSyncConfirmDialog-C5lcZQ0m.js">
|
|
169
181
|
<link rel="modulepreload" crossorigin href="./assets/cursor-D_UKSHL6.js">
|
|
170
182
|
<link rel="modulepreload" crossorigin href="./assets/RegisteredAgentIcon-H3tp7x07.js">
|
|
171
183
|
<link rel="modulepreload" crossorigin href="./assets/folder-DcWlgZbb.js">
|
|
172
184
|
<link rel="modulepreload" crossorigin href="./assets/copilot-_tsUyzgD.js">
|
|
173
|
-
<link rel="modulepreload" crossorigin href="./assets/agent-visibility-
|
|
174
|
-
<link rel="modulepreload" crossorigin href="./assets/use-workspace-
|
|
175
|
-
<link rel="modulepreload" crossorigin href="./assets/ChangedOutsideBadge-
|
|
176
|
-
<link rel="modulepreload" crossorigin href="./assets/use-open-skill-
|
|
177
|
-
<link rel="modulepreload" crossorigin href="./assets/use-settings-route-
|
|
185
|
+
<link rel="modulepreload" crossorigin href="./assets/agent-visibility-CRJC_Mmi.js">
|
|
186
|
+
<link rel="modulepreload" crossorigin href="./assets/use-workspace-BqaxnWdM.js">
|
|
187
|
+
<link rel="modulepreload" crossorigin href="./assets/ChangedOutsideBadge-Byr7iRWr.js">
|
|
188
|
+
<link rel="modulepreload" crossorigin href="./assets/use-open-skill-Civ_cY4Q.js">
|
|
189
|
+
<link rel="modulepreload" crossorigin href="./assets/use-settings-route-1lmVz-nQ.js">
|
|
178
190
|
<link rel="modulepreload" crossorigin href="./assets/clipboard-adapter-Brbch5VX.js">
|
|
179
|
-
<link rel="modulepreload" crossorigin href="./assets/skill-actions-
|
|
191
|
+
<link rel="modulepreload" crossorigin href="./assets/skill-actions-BQVwP81Q.js">
|
|
180
192
|
<link rel="modulepreload" crossorigin href="./assets/arrow-up-right-CxtRAecj.js">
|
|
181
193
|
<link rel="modulepreload" crossorigin href="./assets/case-sensitive-DjnVZ1Bg.js">
|
|
182
194
|
<link rel="modulepreload" crossorigin href="./assets/chevron-left-B-obKYha.js">
|
|
@@ -185,40 +197,40 @@
|
|
|
185
197
|
<link rel="modulepreload" crossorigin href="./assets/lint-plugin-meta-BxfSlkph.js">
|
|
186
198
|
<link rel="modulepreload" crossorigin href="./assets/panel-Bjv8raTx.js">
|
|
187
199
|
<link rel="modulepreload" crossorigin href="./assets/skeleton-Zj40UZU5.js">
|
|
188
|
-
<link rel="modulepreload" crossorigin href="./assets/typing-burst-detector-
|
|
200
|
+
<link rel="modulepreload" crossorigin href="./assets/typing-burst-detector-BPenX-sr.js">
|
|
189
201
|
<link rel="modulepreload" crossorigin href="./assets/download-DlaLrCD-.js">
|
|
190
202
|
<link rel="modulepreload" crossorigin href="./assets/field-CmzMDU7U.js">
|
|
191
|
-
<link rel="modulepreload" crossorigin href="./assets/auth-state-cache-
|
|
203
|
+
<link rel="modulepreload" crossorigin href="./assets/auth-state-cache-BUKZaRRr.js">
|
|
192
204
|
<link rel="modulepreload" crossorigin href="./assets/miss-dialog-store-BGDBpPYJ.js">
|
|
193
|
-
<link rel="modulepreload" crossorigin href="./assets/pending-receive-nav-store-
|
|
194
|
-
<link rel="modulepreload" crossorigin href="./assets/terminal-launch-events-
|
|
195
|
-
<link rel="modulepreload" crossorigin href="./assets/open-managed-artifact-tab-
|
|
196
|
-
<link rel="modulepreload" crossorigin href="./assets/use-skill-directory-
|
|
205
|
+
<link rel="modulepreload" crossorigin href="./assets/pending-receive-nav-store-VNTolH5C.js">
|
|
206
|
+
<link rel="modulepreload" crossorigin href="./assets/terminal-launch-events-CwG2wSZB.js">
|
|
207
|
+
<link rel="modulepreload" crossorigin href="./assets/open-managed-artifact-tab-DnKux2mI.js">
|
|
208
|
+
<link rel="modulepreload" crossorigin href="./assets/use-skill-directory-DXhI7ilx.js">
|
|
197
209
|
<link rel="modulepreload" crossorigin href="./assets/panel-right-open-ypUBRt7V.js">
|
|
198
210
|
<link rel="modulepreload" crossorigin href="./assets/square-pen-DbfX_rTK.js">
|
|
199
211
|
<link rel="modulepreload" crossorigin href="./assets/undo-2-DlBBaLMR.js">
|
|
200
212
|
<link rel="modulepreload" crossorigin href="./assets/form-DJq6IJkN.js">
|
|
201
213
|
<link rel="modulepreload" crossorigin href="./assets/text-viewer-languages-BZtGVaBl.js">
|
|
202
|
-
<link rel="modulepreload" crossorigin href="./assets/EditorModeToggle-
|
|
214
|
+
<link rel="modulepreload" crossorigin href="./assets/EditorModeToggle-C7I7X4RS.js">
|
|
203
215
|
<link rel="modulepreload" crossorigin href="./assets/ConfigSharingInfoTooltip-C4ydhukC.js">
|
|
204
|
-
<link rel="modulepreload" crossorigin href="./assets/project-paths-
|
|
216
|
+
<link rel="modulepreload" crossorigin href="./assets/project-paths-B8XPtMMF.js">
|
|
205
217
|
<link rel="modulepreload" crossorigin href="./assets/SkillModeBanner-BPmqGiVe.js">
|
|
206
218
|
<link rel="modulepreload" crossorigin href="./assets/follow-file-B9Rl63vu.js">
|
|
207
|
-
<link rel="modulepreload" crossorigin href="./assets/file-tree-adapter-
|
|
208
|
-
<link rel="modulepreload" crossorigin href="./assets/agent-diff-store-
|
|
209
|
-
<link rel="modulepreload" crossorigin href="./assets/target-navigation-intent-
|
|
210
|
-
<link rel="modulepreload" crossorigin href="./assets/use-live-xterm-theme-
|
|
219
|
+
<link rel="modulepreload" crossorigin href="./assets/file-tree-adapter-CheEwQMW.js">
|
|
220
|
+
<link rel="modulepreload" crossorigin href="./assets/agent-diff-store-BMOeSX25.js">
|
|
221
|
+
<link rel="modulepreload" crossorigin href="./assets/target-navigation-intent-BAyNSKBJ.js">
|
|
222
|
+
<link rel="modulepreload" crossorigin href="./assets/use-live-xterm-theme-ChdaDRFM.js">
|
|
211
223
|
<link rel="modulepreload" crossorigin href="./assets/input-group-cP5PCk_d.js">
|
|
212
224
|
<link rel="modulepreload" crossorigin href="./assets/use-installed-clis-BpdGnrVu.js">
|
|
213
|
-
<link rel="modulepreload" crossorigin href="./assets/use-skill-origin-
|
|
214
|
-
<link rel="modulepreload" crossorigin href="./assets/terminal-telemetry
|
|
225
|
+
<link rel="modulepreload" crossorigin href="./assets/use-skill-origin-_K8KHC47.js">
|
|
226
|
+
<link rel="modulepreload" crossorigin href="./assets/terminal-telemetry--GWjCDpk.js">
|
|
215
227
|
<link rel="modulepreload" crossorigin href="./assets/agent-presence-Dn2bQ2Pn.js">
|
|
216
228
|
<link rel="modulepreload" crossorigin href="./assets/auth-prompt-store-CeUwLE3s.js">
|
|
217
229
|
<link rel="modulepreload" crossorigin href="./assets/mcp-consent-store-BcrhbRwc.js">
|
|
218
230
|
<link rel="modulepreload" crossorigin href="./assets/overlay-layers-Bzzqy8A3.js">
|
|
219
|
-
<link rel="modulepreload" crossorigin href="./assets/receive-store-
|
|
231
|
+
<link rel="modulepreload" crossorigin href="./assets/receive-store-Cv1sOLk9.js">
|
|
220
232
|
<link rel="modulepreload" crossorigin href="./assets/timeline-diff-store-B-Ea84Rl.js">
|
|
221
|
-
<link rel="stylesheet" crossorigin href="./assets/globals-
|
|
233
|
+
<link rel="stylesheet" crossorigin href="./assets/globals-CqGu_JES.css">
|
|
222
234
|
<link rel="stylesheet" crossorigin href="./assets/DocumentContext-B0sQn39F.css">
|
|
223
235
|
<link rel="stylesheet" crossorigin href="./assets/index-CDpJ2gXn.css">
|
|
224
236
|
</head>
|
|
@@ -32,18 +32,18 @@
|
|
|
32
32
|
script above.
|
|
33
33
|
-->
|
|
34
34
|
<style>html { background-color: #fafafa } html.dark { background-color: #171717 }</style>
|
|
35
|
-
<script type="module" crossorigin src="./assets/uninstall-
|
|
35
|
+
<script type="module" crossorigin src="./assets/uninstall-Dy_6kiW_.js"></script>
|
|
36
36
|
<link rel="modulepreload" crossorigin href="./assets/chunk-CYidjpOJ.js">
|
|
37
37
|
<link rel="modulepreload" crossorigin href="./assets/dist-CzC3AWOn.js">
|
|
38
38
|
<link rel="modulepreload" crossorigin href="./assets/react-f2sANaYj.js">
|
|
39
39
|
<link rel="modulepreload" crossorigin href="./assets/react-dom-DPxgxlDT.js">
|
|
40
|
-
<link rel="modulepreload" crossorigin href="./assets/globals-
|
|
40
|
+
<link rel="modulepreload" crossorigin href="./assets/globals-BlQP66GU.js">
|
|
41
41
|
<link rel="modulepreload" crossorigin href="./assets/preload-helper-Chd9yIcd.js">
|
|
42
42
|
<link rel="modulepreload" crossorigin href="./assets/trace-api-DzbWkWNJ.js">
|
|
43
43
|
<link rel="modulepreload" crossorigin href="./assets/lib-oSGqv0ZH.js">
|
|
44
44
|
<link rel="modulepreload" crossorigin href="./assets/markdownit-BD8ZfAkg.js">
|
|
45
45
|
<link rel="modulepreload" crossorigin href="./assets/w3c-keyname-a_sRwNLm.js">
|
|
46
|
-
<link rel="modulepreload" crossorigin href="./assets/dist-
|
|
46
|
+
<link rel="modulepreload" crossorigin href="./assets/dist-0V5DS-jp2.js">
|
|
47
47
|
<link rel="modulepreload" crossorigin href="./assets/jsx-runtime-BUgB2tll.js">
|
|
48
48
|
<link rel="modulepreload" crossorigin href="./assets/dist-Nvb76hAm.js">
|
|
49
49
|
<link rel="modulepreload" crossorigin href="./assets/dist-DUWYPul7.js">
|
|
@@ -60,13 +60,13 @@
|
|
|
60
60
|
<link rel="modulepreload" crossorigin href="./assets/label-G0lbYOgL.js">
|
|
61
61
|
<link rel="modulepreload" crossorigin href="./assets/dist-By2lAhKX.js">
|
|
62
62
|
<link rel="modulepreload" crossorigin href="./assets/dist-DMj9iIHH.js">
|
|
63
|
-
<link rel="modulepreload" crossorigin href="./assets/radio-group-
|
|
63
|
+
<link rel="modulepreload" crossorigin href="./assets/radio-group-CvYE9US5.js">
|
|
64
64
|
<link rel="modulepreload" crossorigin href="./assets/button-RQ5o7P7w.js">
|
|
65
65
|
<link rel="modulepreload" crossorigin href="./assets/loader-circle-DJ1nzSAL.js">
|
|
66
66
|
<link rel="modulepreload" crossorigin href="./assets/badge-CAMtyz4F.js">
|
|
67
67
|
<link rel="modulepreload" crossorigin href="./assets/input-Cm94Cun3.js">
|
|
68
68
|
<link rel="modulepreload" crossorigin href="./assets/textarea-Cl4IJ1LU.js">
|
|
69
|
-
<link rel="stylesheet" crossorigin href="./assets/globals-
|
|
69
|
+
<link rel="stylesheet" crossorigin href="./assets/globals-CqGu_JES.css">
|
|
70
70
|
</head>
|
|
71
71
|
|
|
72
72
|
<body class="antialiased">
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{t as e}from"./launch-json-removal-
|
|
2
|
-
//# sourceMappingURL=repair-launch-json-
|
|
1
|
+
import{t as e}from"./launch-json-removal-whUgkww7.mjs";import{join as t}from"node:path";function n(n){let i=n.logger??r,a=t(n.projectDir,`.claude`,`launch.json`);if(n.reclaimDisableEnv===`1`)return i({event:`launch-json-repair-skipped`,reason:`reclaim-disabled`}),{outcome:{configPath:a,outcome:`skipped-reclaim-disabled`},repairedCount:0};let o;try{o=e(n.projectDir)}catch(e){let t=e instanceof Error?e.message:String(e);return i({event:`launch-json-repair-write-failed`,configPath:a}),{outcome:{configPath:a,outcome:`write-failed`,error:t},repairedCount:0}}let s=o.kind===`removed`||o.kind===`removed-file`;return s&&i({event:`launch-json-repair-removed`,configPath:a}),{outcome:{configPath:a,outcome:o.kind},repairedCount:+!!s}}function r(e){process.stderr.write(`${JSON.stringify(e)}\n`)}export{n as repairLaunchJson};
|
|
2
|
+
//# sourceMappingURL=repair-launch-json-Brj1-LMk.mjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{b as e,d as t,l as n}from"./write-project-skill-
|
|
2
|
-
//# sourceMappingURL=repair-mcp-configs-
|
|
1
|
+
import{b as e,d as t,l as n}from"./write-project-skill-d8JhYDYY.mjs";import{d as r,v as i}from"./init-C2fAn6PM.mjs";import{t as a}from"./mcp-migrate-event-CWx0WLdE.mjs";import{homedir as o}from"node:os";function s(e){let r=e.logger??u,i=e.home??o(),a=[];if(e.reclaimDisableEnv===`1`)return r({event:`mcp-config-repair-skipped`,reason:`reclaim-disabled`}),{outcomes:a,repairedCount:0};for(let o of n){let n=t[o],s=c(()=>n.configPath(``,i));if(s!==null&&a.push(l({scope:`user`,editorId:o,target:n,home:i,cwd:``,configPath:s,configPathOverride:void 0,logger:r})),n.projectConfigPath){let t=n.projectConfigPath,i=c(()=>t(e.projectDir));i!==null&&a.push(l({scope:`project`,editorId:o,target:n,home:void 0,cwd:e.projectDir,configPath:i,configPathOverride:i,logger:r}))}}return{outcomes:a,repairedCount:a.filter(e=>e.outcome===`repaired`).length}}function c(e){try{return e()}catch{return null}}function l(t){let n={scope:t.scope,editorId:t.editorId,configPath:t.configPath},o=r(t.target,t.cwd,t.home,t.configPathOverride);if(o===null)return{...n,outcome:`no-entry`};if(e(o))return{...n,outcome:`canonical`};t.logger(a({scope:t.scope,surface:`cli-repair`,editorId:t.editorId,configPath:t.configPath,priorEntry:o}));let s=i(t.target,t.cwd,{mode:`published`,skipAvailabilityCheck:!0},t.home,t.configPathOverride);if(s.action===`failed`){let e=s.error??`unknown write failure`;return t.logger({event:`mcp-config-repair-write-failed`,scope:t.scope,editorId:t.editorId,configPath:t.configPath,error:e}),{...n,outcome:`write-failed`,error:e}}return s.action===`declined`?(t.logger({event:`mcp-config-repair-declined`,scope:t.scope,editorId:t.editorId,configPath:t.configPath,reason:s.declineReason}),{...n,outcome:`declined`}):{...n,outcome:`repaired`}}function u(e){process.stderr.write(`${JSON.stringify(e)}\n`)}export{s as repairMcpConfigs};
|
|
2
|
+
//# sourceMappingURL=repair-mcp-configs-Bi7KOjif.mjs.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{R as e}from"./src-
|
|
1
|
+
import{R as e}from"./src-xqnWcl6h.mjs";import{$n as t,Qn as n,cr as r,fr as i,ir as a,nr as o,or as s,pr as c,rr as l}from"./src-CHGk5YB-.mjs";import{T as u,a as d,d as f,f as p,o as m,s as h,t as g}from"./write-project-skill-d8JhYDYY.mjs";import{n as _,s as v,t as y}from"./colors-BsmVIwfM.mjs";import{dirname as b,join as x,relative as S,resolve as C}from"node:path";import{existsSync as w,mkdirSync as T,readFileSync as E,readdirSync as D,rmSync as O,statSync as k,writeFileSync as A}from"node:fs";import{homedir as j}from"node:os";import{createInterface as M}from"node:readline/promises";const N={existsSync:e=>w(e),isDirectory:e=>{try{return k(e).isDirectory()}catch(e){if(e.code===`ENOENT`)return!1;throw e}},readdirSync:e=>D(e),readFileSync:e=>E(e),writeFileSync:(e,t)=>{A(e,t)},mkdirSync:(e,t)=>{T(e,t)},rmSync:(e,t)=>{O(e,t)}},P={resolveProjectBundledSkillDir:()=>r(`project`,{checkDesktop:!1}),resolveUserBundledSkillDir:e=>r(e,{checkDesktop:!1}),readBundledVersion:()=>t(),readRecordedVersion:e=>o(e,`cli-hosts`),writeRecordedVersion:(e,t)=>a(e,`cli-hosts`,t,`cli-start`),recordEvent:e=>s(e),readBundleDecision:(e,t)=>n(e,t),writeBundleDecision:(e,t,n)=>l(e,t,n),removeBundleFromDisk:(e,t)=>h(e,t)};function F(e){process.stderr.write(`${JSON.stringify(e)}\n`)}function I(e,t,n){n.rmSync(t,{recursive:!0,force:!0}),n.mkdirSync(b(t),{recursive:!0}),L(e,t,n)}function L(e,t,n){n.mkdirSync(t,{recursive:!0});for(let r of n.readdirSync(e)){let i=x(e,r),a=x(t,r);n.isDirectory(i)?L(i,a,n):n.writeFileSync(a,n.readFileSync(i))}}function R(e,t,n,r,i,a){let o=[],s=x(e,`.agents`,`skills`,t),c=!1;if(r.existsSync(s))o.push({kind:`central`,path:s,outcome:`skipped-present`});else try{I(n,s,r),c=!0,o.push({kind:`central`,path:s,outcome:`written`}),i({event:`user-skill-reclaim-central-written`,scope:`user`,path:s,preexisting:!1,version:a})}catch(e){let t=e instanceof Error?e.message:String(e);o.push({kind:`central`,path:s,outcome:`failed`,error:t}),i({event:`user-skill-reclaim-central-failed`,scope:`user`,path:s,error:t})}for(let c of p){let l=x(e,c.hostDir),u=x(l,`skills`,t);if(u===s){o.push({kind:`host`,editorId:c.editorId,hostDir:c.hostDir,path:u,outcome:`skipped-collapsed-with-central`});continue}if(!r.existsSync(l)){o.push({kind:`host`,editorId:c.editorId,hostDir:c.hostDir,path:u,outcome:`skipped-host-absent`});continue}if(r.existsSync(u)){o.push({kind:`host`,editorId:c.editorId,hostDir:c.hostDir,path:u,outcome:`skipped-present`});continue}try{I(n,u,r),o.push({kind:`host`,editorId:c.editorId,hostDir:c.hostDir,path:u,outcome:`written`}),i({event:`user-skill-reclaim-host-written`,scope:`user`,editorId:c.editorId,hostDir:c.hostDir,path:u,preexisting:!1,version:a})}catch(e){let t=e instanceof Error?e.message:String(e);o.push({kind:`host`,editorId:c.editorId,hostDir:c.hostDir,path:u,outcome:`failed`,error:t}),i({event:`user-skill-reclaim-host-failed`,scope:`user`,editorId:c.editorId,hostDir:c.hostDir,path:u,error:t})}}return{entries:o,centralWritten:c}}function z(e,t){if(!e)return!1;try{return t.existsSync(e)?t.readFileSync(e).toString(`utf8`).includes(`# ok-mcp-`):!1}catch{return!1}}function B(e,t,n,r){let i;try{i=t.resolveProjectBundledSkillDir()}catch(e){return r({event:`project-skill-reclaim-bundle-missing`,scope:`project`,error:e instanceof Error?e.message:String(e)}),{outcome:`skipped`,reason:`bundle-missing`}}let a=[];for(let t of p){let o=x(e,t.hostDir,`skills`,`open-knowledge`),s=x(o,`SKILL.md`);if(n.existsSync(s)){a.push({editorId:t.editorId,hostDir:t.hostDir,path:o,outcome:`present`});continue}let c=f[t.editorId]?.projectConfigPath?.(e);if(!z(c,n)){a.push({editorId:t.editorId,hostDir:t.hostDir,path:o,outcome:`no-token`}),r({event:`project-skill-reclaim-no-token`,scope:`project`,editorId:t.editorId,path:o});continue}try{g(o,e),I(i,o,n),a.push({editorId:t.editorId,hostDir:t.hostDir,path:o,outcome:`created`}),r({event:`project-skill-reclaim-created`,scope:`project`,editorId:t.editorId,path:o})}catch(e){let n=e instanceof Error?e.message:String(e);a.push({editorId:t.editorId,hostDir:t.hostDir,path:o,outcome:`failed`,error:n}),r({event:`project-skill-reclaim-failed`,scope:`project`,editorId:t.editorId,path:o,error:n})}}return{outcome:`done`,entries:a}}async function V(t,n,r,a){let o=e=>{n.recordEvent(e).catch(()=>{})},s=()=>new Date().toISOString(),l;try{l=await n.readBundledVersion()}catch(e){let t=e instanceof Error?e.message:String(e);return a({event:`user-skill-reclaim-version-read-failed`,scope:`user`,error:t}),o({ts:s(),surface:`cli-start`,target:`cli-hosts`,bundle:`discovery`,outcome:`failed`,reason:`version-read-failed:${t}`}),{outcome:`skipped`,reason:`version-read-failed`}}let u;try{u=await n.readRecordedVersion(t)}catch(e){a({event:`user-skill-reclaim-version-read-error`,scope:`user`,error:e instanceof Error?e.message:String(e)}),u=null}let d=[],f=null;for(let e of c)try{d.push({id:e,sourceDir:n.resolveUserBundledSkillDir(e)})}catch(e){f=e instanceof Error?e.message:String(e)}if(d.length===0)return a({event:`user-skill-reclaim-bundle-missing`,scope:`user`,error:f??`no user-global bundles`}),o({ts:s(),surface:`cli-start`,target:`cli-hosts`,outcome:`failed`,reason:`bundle-missing:${f}`}),{outcome:`skipped`,reason:`bundle-missing`};let p=[];for(let o of d){let s=i[o.id],c=r.existsSync(x(t,`.agents`,`skills`,s)),l=await n.readBundleDecision(t,s).catch(()=>null);if(!e(l,{installedOnDisk:c})){if(c)try{n.removeBundleFromDisk(t,o.id),a({event:`user-skill-reclaim-bundle-declined-removed`,scope:`user`,bundle:o.id})}catch(e){a({event:`user-skill-reclaim-bundle-remove-failed`,scope:`user`,bundle:o.id,error:e instanceof Error?e.message:String(e)})}continue}if(l===null&&c)try{await n.writeBundleDecision(t,s,!0)}catch(e){a({event:`user-skill-reclaim-grandfather-write-failed`,scope:`user`,bundle:o.id,error:e instanceof Error?e.message:String(e)})}p.push(o)}if(p.length===0)return{outcome:`skipped`,reason:`all-bundles-declined`};let m=p.every(e=>r.existsSync(x(t,`.agents`,`skills`,i[e.id])));if(u!==null&&u===l&&m)return a({event:`user-skill-reclaim-skipped-version-current`,scope:`user`,version:l}),{outcome:`skipped`,reason:`version-current`};let h=[],g=d.length===c.length,_=[];for(let{id:e,sourceDir:n}of p){let o=R(t,i[e],n,r,a,l);h.push(...o.entries),_.push({id:e,centralWritten:o.centralWritten})}let v=h.some(e=>e.kind===`central`&&e.outcome===`failed`);if(g&&!v){let e=null;try{await n.writeRecordedVersion(t,l),a({event:`user-skill-reclaim-version-recorded`,scope:`user`,version:l})}catch(t){e=t instanceof Error?t.message:String(t),a({event:`user-skill-reclaim-version-record-failed`,scope:`user`,version:l,error:e})}for(let{id:t,centralWritten:n}of _)o({ts:s(),surface:`cli-start`,target:`cli-hosts`,bundle:t,outcome:e===null?n?`installed`:`skip-current`:`failed`,version:l,...e===null?{}:{reason:`state-write-failed:${e}`}})}else{let e=h.some(e=>e.kind===`host`&&e.outcome===`failed`);o({ts:s(),surface:`cli-start`,target:`cli-hosts`,outcome:`failed`,version:l,reason:g?e?`all-writes-failed`:`central-write-failed`:`bundle-unresolved`})}return{outcome:`done`,version:l,entries:h}}async function H(e){let t=e.logger??F,n=e.fs??N,r=e.home??j(),i={...P,...e.deps};if(e.reclaimDisableEnv===`1`)return t({event:`skill-repair-skipped`,reason:`reclaim-disabled`}),{status:`skipped`,reason:`reclaim-disabled`};let a=B(e.projectDir,i,n,t),o=await V(r,i,n,t),s=m(r),c=[],l=!1,u=!1;if(s.skillDirs.length>0||s.emptyDirs.length>0)if(e.confirmLegacyCleanup&&await e.confirmLegacyCleanup(s)){try{c=d(r,s)}catch(e){u=!0,t({event:`legacy-fanout-cleanup-refused`,scope:`user`,error:e instanceof Error?e.message:String(e)})}for(let e of c)t({event:`legacy-fanout-path-removed`,scope:`user`,path:e})}else l=!0,t({event:`legacy-fanout-cleanup-declined`,scope:`user`});return{status:`done`,project:a,user:o,legacySwept:c,legacyCleanupDeclined:l,legacyCleanupFailed:u}}function U(e){return e.status===`skipped`?e.reason===`reclaim-disabled`?0:1:e.project.outcome===`skipped`||e.user.outcome===`skipped`&&e.user.reason!==`version-current`&&e.user.reason!==`all-bundles-declined`||e.project.entries.some(e=>e.outcome===`failed`)||e.user.outcome===`done`&&e.user.entries.some(e=>e.outcome===`failed`)?1:0}function W(e){if(e.status===`skipped`)return`Skipped: ${e.reason}`;let t=[`Skill reclaim complete.`];if(e.project.outcome===`done`){let n=e.project.entries.filter(e=>e.outcome===`present`).length,r=e.project.entries.filter(e=>e.outcome===`created`).length,i=e.project.entries.filter(e=>e.outcome===`no-token`).length,a=e.project.entries.filter(e=>e.outcome===`failed`).length;t.push(` Project: ${n} present, ${r} created, ${i} no-token, ${a} failed.`)}else t.push(` Project: skipped (${e.project.reason}).`);if(e.user.outcome===`done`){let n=e.user.entries.filter(e=>e.outcome===`written`).length,r=e.user.entries.filter(e=>e.outcome===`skipped-present`).length,i=e.user.entries.filter(e=>e.outcome===`skipped-host-absent`||e.outcome===`skipped-collapsed-with-central`).length,a=e.user.entries.filter(e=>e.outcome===`failed`).length;t.push(` User (${e.user.version}): ${n} written, ${r} present, ${i} skipped, ${a} failed.`)}else t.push(` User: skipped (${e.user.reason}).`);return e.legacySwept.length>0?t.push(` Cleanup: removed ${e.legacySwept.length} path(s) from a pre-0.42 install.`):e.legacyCleanupFailed?t.push(` Cleanup: failed — see logs; pre-0.42 directories left in place.`):e.legacyCleanupDeclined&&t.push(` Cleanup: declined — pre-0.42 directories left in place.`),t.join(`
|
|
2
2
|
`)}function G(){return new u(`repair-skills`).description("Refresh bundled SKILL.md files for installed AI editors (project-local + user-global). Runs automatically during `ok start`; this command forces an explicit sweep.").option(`-y, --yes`,`Skip the confirmation prompt for removing directories left by a pre-0.42 install.`).action(async e=>{let t=await H({projectDir:C(process.cwd()),reclaimDisableEnv:process.env.OK_RECLAIM_DISABLE??null,confirmLegacyCleanup:t=>K(t,{yes:e.yes===!0})});process.stdout.write(`${W(t)}\n`),process.exitCode=U(t)})}async function K(e,t){let n=j(),r=e=>`~/${S(n,e)}`,i=t.input??process.stdin,a=[``,y(`A previous version of OpenKnowledge installed its skill into agent tools you may never have used.`),_(`(Versions before 0.42 wrote to every host a third-party installer knew about — see issue #820.)`)];if(e.skillDirs.length>0&&a.push(``,`${y(`Remove OpenKnowledge skills:`)} ${e.skillDirs.length}`,...e.skillDirs.map(e=>` ${r(e)}`)),e.emptyDirs.length>0){let t=e.skillDirs.length>0?`Then remove these, which hold nothing else once the above are gone:`:`Remove these empty directories, left behind by that install:`;a.push(``,`${y(t)} ${e.emptyDirs.length}`,...e.emptyDirs.map(e=>` ${r(e)}`))}if(a.push(``,_(`Nothing outside these paths is touched. A directory that still holds anything is kept.`)),process.stdout.write(`${a.join(`
|
|
3
3
|
`)}\n`),t.yes)return!0;if(!i.isTTY)return process.stdout.write(`${v("Not a terminal — skipping cleanup. Re-run with `ok repair-skills --yes` to remove these.")}\n`),!1;let o=M({input:i,output:process.stdout});try{let e=(await o.question(`\n${y(`Remove them?`)} ${_(`[y/N] `)}`)).trim().toLowerCase();return e===`y`||e===`yes`}finally{o.close()}}export{G as n,H as t};
|
|
4
|
-
//# sourceMappingURL=repair-skills-
|
|
4
|
+
//# sourceMappingURL=repair-skills-BXCsRRL9.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./repair-skills-BXCsRRL9.mjs";export{e as repairSkills};
|
|
@@ -22,6 +22,40 @@
|
|
|
22
22
|
"defaultScope": "user",
|
|
23
23
|
"description": "Editor color theme: 'light', 'dark', or 'system' (follow the OS). A personal preference (user scope) — not shared with the project."
|
|
24
24
|
},
|
|
25
|
+
"colorThemeLight": {
|
|
26
|
+
"type": "string",
|
|
27
|
+
"enum": [
|
|
28
|
+
"default",
|
|
29
|
+
"dracula",
|
|
30
|
+
"catppuccin-frappe",
|
|
31
|
+
"catppuccin-latte",
|
|
32
|
+
"monokai",
|
|
33
|
+
"gruvbox",
|
|
34
|
+
"solarized",
|
|
35
|
+
"custom"
|
|
36
|
+
],
|
|
37
|
+
"scope": "user",
|
|
38
|
+
"agentSettable": false,
|
|
39
|
+
"defaultScope": "user",
|
|
40
|
+
"description": "IDE color palette applied in light mode: 'default' (no palette), 'custom' (your own colors from appearance.customTheme), or one of 'dracula', 'catppuccin-frappe', 'catppuccin-latte', 'monokai', 'gruvbox', 'solarized'. A personal preference (user scope) — not shared with the project."
|
|
41
|
+
},
|
|
42
|
+
"colorThemeDark": {
|
|
43
|
+
"type": "string",
|
|
44
|
+
"enum": [
|
|
45
|
+
"default",
|
|
46
|
+
"dracula",
|
|
47
|
+
"catppuccin-frappe",
|
|
48
|
+
"catppuccin-latte",
|
|
49
|
+
"monokai",
|
|
50
|
+
"gruvbox",
|
|
51
|
+
"solarized",
|
|
52
|
+
"custom"
|
|
53
|
+
],
|
|
54
|
+
"scope": "user",
|
|
55
|
+
"agentSettable": false,
|
|
56
|
+
"defaultScope": "user",
|
|
57
|
+
"description": "IDE color palette applied in dark mode: 'default' (no palette), 'custom' (your own colors from appearance.customTheme), or one of 'dracula', 'catppuccin-frappe', 'catppuccin-latte', 'monokai', 'gruvbox', 'solarized'. A personal preference (user scope) — not shared with the project."
|
|
58
|
+
},
|
|
25
59
|
"colorTheme": {
|
|
26
60
|
"type": "string",
|
|
27
61
|
"enum": [
|
|
@@ -37,7 +71,7 @@
|
|
|
37
71
|
"scope": "user",
|
|
38
72
|
"agentSettable": false,
|
|
39
73
|
"defaultScope": "user",
|
|
40
|
-
"description": "
|
|
74
|
+
"description": "Superseded by appearance.colorThemeLight / appearance.colorThemeDark. Read as the palette for both modes while neither of those is set. A personal preference (user scope) — not shared with the project."
|
|
41
75
|
},
|
|
42
76
|
"colorThemeEnabled": {
|
|
43
77
|
"type": "boolean",
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"./src-
|
|
2
|
-
//# sourceMappingURL=server-lock-
|
|
1
|
+
import"./src-xqnWcl6h.mjs";import{r as e}from"./logger-5LePyO3n.mjs";import{dirname as t,join as n,resolve as r}from"node:path";import{fileURLToPath as i}from"node:url";import{closeSync as a,existsSync as o,mkdirSync as s,openSync as c,readFileSync as l,unlinkSync as u,writeFileSync as d,writeSync as f}from"node:fs";import{homedir as p,hostname as m}from"node:os";import{randomUUID as h}from"node:crypto";function g(e){try{return process.kill(e,0),!0}catch(e){return!!(e&&typeof e==`object`&&`code`in e&&e.code===`EPERM`)}}function _(e){return!(typeof e!=`number`||!Number.isInteger(e)||e<2||e>2147483647)}function v(e){return new URL(e.url??``,`http://localhost`).searchParams}function y(e){let t=e?.code;return typeof t==`string`?t:void 0}const b=/^[A-Za-z0-9-]{8,64}$/;let x=null;function S(e){return n(e??p(),`.ok`,`machine-id`)}function C(n){if(n===void 0&&x!==null)return x;let r=S(n),i=null;try{let e=l(r,`utf-8`).trim();b.test(e)&&(i=e)}catch{}if(i===null){i=h();try{s(t(r),{recursive:!0}),d(r,`${i}\n`,{encoding:`utf-8`,mode:384})}catch(t){e(`machine-id`).warn({path:r,err:t},`Failed to persist ${r} — using an ephemeral per-process id; lock ownership checks will fail closed (collision) instead of recognizing this machine: ${t instanceof Error?t.message:String(t)}`)}}return n===void 0&&(x=i),i}function w(){try{let e=r(t(i(import.meta.url)),`..`,`package.json`),n=JSON.parse(l(e,`utf-8`));if(typeof n.version==`string`&&n.version.length>0)return n.version}catch{}return`0.0.0-unknown`}const T=w(),E=1,D=e(`process-lock`);var O=class extends Error{existing;lockPath;lockName;constructor(e,t,n){super(`OpenKnowledge ${n} already running on port ${e.port} (pid ${e.pid}, started ${e.startedAt}). Stop it first or use a different directory. Lock: ${t}`),this.name=`ProcessLockCollisionError`,this.existing=e,this.lockPath=t,this.lockName=n}};function k(e,t){return r(e,`${t}.lock`)}const A=new Map;function j(e){A.set(e,(A.get(e)??0)+1)}function M(e){let t=A.get(e);return t===void 0||t<=1?(A.delete(e),!0):(A.set(e,t-1),!1)}function N(e){return typeof e.machineId==`string`?e.machineId===C():e.hostname===m()}const P=new Set;let F=!1;function I(e){P.add(e),!F&&(F=!0,process.on(`exit`,()=>{for(let e of P)try{let t=JSON.parse(l(e,`utf-8`));if(t?.pid!==process.pid||typeof t.machineId==`string`&&t.machineId!==C()||t.machineId===void 0&&typeof t.hostname==`string`&&t.hostname!==m())continue;u(e)}catch{}}))}function L(e,t){try{let n=JSON.parse(l(e,`utf-8`));return n&&typeof n==`object`&&_(n.pid)?n:(D.warn({lockPath:e},`${t} Corrupt lock file at ${e} — replacing`),null)}catch{return D.warn({lockPath:e},`${t} Corrupt lock file at ${e} — replacing`),null}}function R(e){let{lockName:t,lockDir:n,metadata:r}=e,i=`[${t}-lock]`;s(n,{recursive:!0});let l=k(n,t),p={pid:process.pid,hostname:m(),port:r.port,startedAt:new Date().toISOString(),worktreeRoot:r.worktreeRoot,machineId:C(),...r.kind!==void 0&&{kind:r.kind},...r.parentPid!==void 0&&{parentPid:r.parentPid},...r.capabilities!==void 0&&{capabilities:r.capabilities},protocolVersion:r.protocolVersion??1,runtimeVersion:r.runtimeVersion??T},h=JSON.stringify(p,null,2);for(let e=0;e<3;e++){if(!o(l))try{let e=c(l,`wx`,384);try{f(e,h)}finally{a(e)}return j(l),I(l),z({lockName:t,lockDir:n,lockPath:l})}catch(e){if(y(e)!==`EEXIST`)throw e}let e=L(l,i);if(e){if(N(e)&&e.pid===process.pid)return d(l,h,{encoding:`utf-8`,mode:384}),j(l),I(l),z({lockName:t,lockDir:n,lockPath:l});if(g(e.pid))throw new O(e,l,t);D.warn({pid:e.pid,host:e.hostname},`${i} Stale lock detected (pid=${e.pid}, host=${e.hostname}) — replacing`)}try{u(l)}catch{}}throw Error(`${i} Failed to acquire ${l} after 3 attempts (concurrent acquire contention).`)}function z(e){let{lockName:t,lockDir:n,lockPath:r}=e;return{lockPath:r,release:()=>G({lockName:t,lockDir:n}),updatePort:e=>B({lockName:t,lockDir:n,port:e})}}function B(e){let{lockName:t,lockDir:n,port:r}=e,i=`[${t}-lock]`,a=k(n,t);if(!o(a)){D.warn({lockPath:a},`${i} Lock file missing at ${a} during port update — skipping`);return}let s;try{let e=JSON.parse(l(a,`utf-8`));if(!e||typeof e!=`object`||!_(e.pid)){D.warn({lockPath:a},`${i} Corrupt lock at ${a} during port update — skipping`);return}s=e}catch{D.warn({lockPath:a},`${i} Unreadable lock at ${a} during port update — skipping`);return}if(s.pid===process.pid&&N(s)){s.port=r;try{d(a,JSON.stringify(s,null,2),{encoding:`utf-8`,mode:384})}catch(e){D.warn({lockPath:a,err:e},`${i} Failed to update port in ${a}: ${e instanceof Error?e.message:String(e)}`)}}}function V(e){let{lockName:t,lockDir:n}=e,r=`[${t}-lock]`,i=k(n,t);if((A.get(i)??0)>1)return;let a;try{let e=JSON.parse(l(i,`utf-8`));if(!e||typeof e!=`object`||!_(e.pid)){D.warn({lockPath:i},`${r} Corrupt lock at ${i} during draining mark — skipping`);return}a=e}catch(e){y(e)!==`ENOENT`&&D.warn({lockPath:i,err:e},`${r} Unreadable lock at ${i} during draining mark — skipping: ${e instanceof Error?e.message:String(e)}`);return}if(a.pid===process.pid&&N(a)&&a.draining!==!0){a.draining=!0;try{d(i,JSON.stringify(a,null,2),{encoding:`utf-8`,mode:384})}catch(e){D.warn({lockPath:i,err:e},`${r} Failed to mark ${i} draining: ${e instanceof Error?e.message:String(e)}`)}}}function H(e){let{lockName:t,lockDir:n}=e,r=k(n,t);if(!o(r))return null;let i;try{let e=JSON.parse(l(r,`utf-8`));if(!e||typeof e!=`object`||!_(e.pid))return null;i=e}catch{return null}if(!N(i))return null;if(!g(i.pid)){try{u(r)}catch{}return null}return i}function U(e){let{lockName:t,lockDir:n}=e,r=k(n,t);if(!o(r))return{status:`absent`};let i;try{i=JSON.parse(l(r,`utf-8`))}catch{return{status:`incompatible`,reason:`corrupt`,raw:void 0}}if(!i||typeof i!=`object`)return{status:`incompatible`,reason:`corrupt`,raw:i};let a=i;if(!_(a.pid)||typeof a.hostname!=`string`||typeof a.port!=`number`||typeof a.startedAt!=`string`||typeof a.worktreeRoot!=`string`)return{status:`incompatible`,reason:`corrupt`,raw:i};let s={pid:a.pid,hostname:a.hostname,port:a.port,startedAt:a.startedAt,worktreeRoot:a.worktreeRoot,machineId:typeof a.machineId==`string`?a.machineId:void 0,draining:a.draining===!0?!0:void 0,protocolVersion:typeof a.protocolVersion==`number`?a.protocolVersion:void 0,runtimeVersion:typeof a.runtimeVersion==`string`?a.runtimeVersion:void 0};if(!N(s))return{status:`stale`,lock:s};if(!g(s.pid)){try{u(r)}catch{}return{status:`stale`,lock:s}}return s.protocolVersion===void 0||s.runtimeVersion===void 0?{status:`incompatible`,reason:`missing-fields`,raw:i}:{status:`live`,lock:s}}async function W(e){let{lockName:t,lockDir:n}=e,r=e.timeoutMs??1e4,i=e.pollIntervalMs??100,a=e.readLock??(()=>H({lockName:t,lockDir:n})),o=e.sleep??(e=>new Promise(t=>setTimeout(t,e))),s=a();if(s===null||s.draining!==!0)return`no-drain`;let c=Date.now()+r;for(;Date.now()<c;){await o(i);let e=a();if(e===null)return`released`;if(e.draining!==!0)return`no-drain`}return`timeout`}function G(e){let{lockName:t,lockDir:n,deferUnlinkToExit:r=!1}=e,i=`[${t}-lock]`,a=k(n,t);if(M(a)){if(r){V({lockName:t,lockDir:n});return}if(o(a))try{let e=JSON.parse(l(a,`utf-8`));if(!e||typeof e!=`object`||typeof e.pid!=`number`||e.pid!==process.pid||!N(e))return;u(a),P.delete(a)}catch(e){D.warn({lockPath:a,err:e},`${i} Failed to release ${a}: ${e instanceof Error?e.message:String(e)}`)}}}var K=class extends O{constructor(e,t){super(e,t,`server`),this.name=`ServerLockCollisionError`}};function q(e,t){try{return R({lockName:`server`,lockDir:e,metadata:t}).lockPath}catch(e){throw e instanceof O&&e.lockName===`server`?new K(e.existing,e.lockPath):e}}function J(e,t){B({lockName:`server`,lockDir:e,port:t})}function Y(e){return H({lockName:`server`,lockDir:e})}function X(e,t){G({lockName:`server`,lockDir:e,...t})}function Z(e){V({lockName:`server`,lockDir:e})}function Q(e,t){return W({lockName:`server`,lockDir:e,...t})}export{_ as S,E as _,X as a,v as b,O as c,V as d,H as f,T as g,B as h,Y as i,R as l,G as m,q as n,J as o,U as p,Z as r,Q as s,K as t,k as u,C as v,g as x,y};
|
|
2
|
+
//# sourceMappingURL=server-lock-B1IPSV1G.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e,o as t,r as n}from"./server-lock-B1IPSV1G.mjs";export{n as markServerLockDraining,e as releaseServerLock,t as updateServerLockPort};
|