tide-commander 1.167.2 → 1.169.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -0
- package/dist/assets/{BossLogsModal-hkghEM2O.js → BossLogsModal-lFeLoDYQ.js} +1 -1
- package/dist/assets/{BossSpawnModal-H4EyJmtm.js → BossSpawnModal-Hd6BE1_1.js} +1 -1
- package/dist/assets/{ControlsModal-CXwDoYaf.js → ControlsModal-BogPdPgP.js} +1 -1
- package/dist/assets/{DockerLogsModal-DOCAXtM8.js → DockerLogsModal-CO0bptY3.js} +1 -1
- package/dist/assets/{EmbeddedEditor-Csih6F5Q.js → EmbeddedEditor-VhhJKJWu.js} +1 -1
- package/dist/assets/{GmailOAuthSetup-BBFNoa_L.js → GmailOAuthSetup-D4XqI8K4.js} +1 -1
- package/dist/assets/{GoogleOAuthSetup-CiYuNzwb.js → GoogleOAuthSetup-D4Q7Zkf1.js} +1 -1
- package/dist/assets/{IframeModal-CvGfdinb.js → IframeModal-u9KddMkk.js} +1 -1
- package/dist/assets/{IntegrationsPanel-BRayZkpa.js → IntegrationsPanel-Bjj_cALx.js} +2 -2
- package/dist/assets/{LogViewerModal-C4rTaDNp.js → LogViewerModal-CYpewZ36.js} +1 -1
- package/dist/assets/{MonitoringModal-U-GGGfhY.js → MonitoringModal-DsRCjUvY.js} +1 -1
- package/dist/assets/{PM2LogsModal-DVRK56t4.js → PM2LogsModal-CoD0U27e.js} +1 -1
- package/dist/assets/{RestoreArchivedAreaModal-DMuzJq7o.js → RestoreArchivedAreaModal-DyYrh0Dn.js} +1 -1
- package/dist/assets/{Scene2DCanvas-TpJGRX1Q.js → Scene2DCanvas-LSpu3CMy.js} +1 -1
- package/dist/assets/{SceneManager-CMl8oNyS.js → SceneManager-CoSgXbt6.js} +1 -1
- package/dist/assets/{SkillsPanel-Dr79sUuh.js → SkillsPanel-DCOYtvqY.js} +1 -1
- package/dist/assets/{SlackMultiInstanceSetup-BnKpsnGn.js → SlackMultiInstanceSetup-DzwD7mdT.js} +1 -1
- package/dist/assets/{SpawnModal-a6JaCI5L.js → SpawnModal-CYKMGe4A.js} +1 -1
- package/dist/assets/{StatisticsModal-CrtTdwtK.js → StatisticsModal-Rsk3RBJ-.js} +1 -1
- package/dist/assets/{SubordinateAssignmentModal-C7SFEJSg.js → SubordinateAssignmentModal-D_fpOQfa.js} +1 -1
- package/dist/assets/{TriggerManagerPanel-DmjY7zQi.js → TriggerManagerPanel-dO5Q66AM.js} +1 -1
- package/dist/assets/{WorkflowEditorPanel-6v9YIn3U.js → WorkflowEditorPanel-ChFVP91n.js} +1 -1
- package/dist/assets/{abnfDiagram-VRR7QNED-DQXaU-ZF.js → abnfDiagram-VRR7QNED-Bd736gc1.js} +1 -1
- package/dist/assets/{arc-XXWRuv-S.js → arc-CicRk3Wa.js} +1 -1
- package/dist/assets/{architectureDiagram-ZJ3FMSHR-CgW_OhN_.js → architectureDiagram-ZJ3FMSHR-uk1YbOOV.js} +1 -1
- package/dist/assets/{area-logos-BKP817fw.js → area-logos-CtetiK8U.js} +1 -1
- package/dist/assets/{blockDiagram-677ZJIJ3-3LNCZxwH.js → blockDiagram-677ZJIJ3-CPr5yp_O.js} +1 -1
- package/dist/assets/{c4Diagram-LMCZKHZV-CLdYUOO7.js → c4Diagram-LMCZKHZV-Cwhulsrr.js} +1 -1
- package/dist/assets/channel-5_glBCpe.js +1 -0
- package/dist/assets/{chunk-2Q5K7J3B-BRWaEkTs.js → chunk-2Q5K7J3B-DntPK0R4.js} +1 -1
- package/dist/assets/{chunk-32BRIVSS-CPh2U2KU.js → chunk-32BRIVSS-DPGnMNRt.js} +1 -1
- package/dist/assets/{chunk-5VM5RSS4-POn1ao3n.js → chunk-5VM5RSS4-HqD1WKnr.js} +1 -1
- package/dist/assets/{chunk-EX3LRPZG-Bd-OFnlP.js → chunk-EX3LRPZG-CnQzt-nk.js} +1 -1
- package/dist/assets/{chunk-JWPE2WC7-bOWiu2lR.js → chunk-JWPE2WC7-96_obCN5.js} +1 -1
- package/dist/assets/{chunk-MOJQB5TN-ZQ4vfIoK.js → chunk-MOJQB5TN-CNhoYGDI.js} +1 -1
- package/dist/assets/{chunk-RYQCIY6F-BdCFP2nD.js → chunk-RYQCIY6F-B66k9-Zp.js} +1 -1
- package/dist/assets/{chunk-V7JOEXUC-Dt_g_92u.js → chunk-V7JOEXUC-CDq9VX4u.js} +1 -1
- package/dist/assets/{chunk-VR4S4FIN-CISmgkXp.js → chunk-VR4S4FIN-BoUv9bdH.js} +1 -1
- package/dist/assets/{chunk-XXDRQBXY-Cv-zJSJS.js → chunk-XXDRQBXY-Bilx42me.js} +1 -1
- package/dist/assets/classDiagram-OUVF2IWQ-BvvPWiAV.js +1 -0
- package/dist/assets/classDiagram-v2-EOCWNBFH-BvvPWiAV.js +1 -0
- package/dist/assets/{cose-bilkent-JH36ORCC-ucqnsHd8.js → cose-bilkent-JH36ORCC-BLO85xX-.js} +1 -1
- package/dist/assets/{cynefin-VYW2F7L2-CU4A1Sy-.js → cynefin-VYW2F7L2-WYLw8wuA.js} +1 -1
- package/dist/assets/{cynefinDiagram-TSTJHNR4-4jYNmjbT.js → cynefinDiagram-TSTJHNR4-LAbqztaC.js} +1 -1
- package/dist/assets/{dagre-VKFMJZFB-DOIcwvAV.js → dagre-VKFMJZFB-CpnUxGz2.js} +1 -1
- package/dist/assets/{diagram-FQU43EPY-DQZ3gXCU.js → diagram-FQU43EPY-D4XAWe06.js} +1 -1
- package/dist/assets/{diagram-G47NLZAW-Fsk92XzE.js → diagram-G47NLZAW-CLgptSnw.js} +1 -1
- package/dist/assets/{diagram-NH7WQ7WH-B7w6BljN.js → diagram-NH7WQ7WH-ClRPCJJG.js} +1 -1
- package/dist/assets/{diagram-OA4YK3LP-BKfhrcLp.js → diagram-OA4YK3LP-DAwXS8R3.js} +1 -1
- package/dist/assets/{diagram-WEI45ONY-C8i-zRRe.js → diagram-WEI45ONY-B-um2qgR.js} +1 -1
- package/dist/assets/{ebnfDiagram-CCIWWBDH-BBc0kL00.js → ebnfDiagram-CCIWWBDH-BuluWV6z.js} +1 -1
- package/dist/assets/{erDiagram-Q63AITRT-Ciwz1-rr.js → erDiagram-Q63AITRT-iViEXIuX.js} +1 -1
- package/dist/assets/{flowDiagram-23GEKE2U-CBS076Ct.js → flowDiagram-23GEKE2U-BB1xkRK-.js} +1 -1
- package/dist/assets/{ganttDiagram-NO4QXBWP-Dp2d4Mf0.js → ganttDiagram-NO4QXBWP-Y056vaku.js} +1 -1
- package/dist/assets/{gitGraphDiagram-IHSO6WYX-D_M1bpUl.js → gitGraphDiagram-IHSO6WYX-RVnA3-Oq.js} +1 -1
- package/dist/assets/{index-UDbLmtoq.js → index-B6QXj8_t.js} +1 -1
- package/dist/assets/{index-Df965Qr2.js → index-BGc24jpF.js} +2 -2
- package/dist/assets/{index-mHNJv5_K.js → index-BMDcamyw.js} +1 -1
- package/dist/assets/{index-D4JoxiYx.js → index-B_8jWBCl.js} +1 -1
- package/dist/assets/{index-DrlvVYV_.js → index-BsZHZI4z.js} +1 -1
- package/dist/assets/{index-DX-LhGlm.js → index-BukJVnzE.js} +1 -1
- package/dist/assets/index-DIxINv38.js +1 -0
- package/dist/assets/{index-D9BwO9Fx.js → index-Dy4xURwo.js} +1 -1
- package/dist/assets/{index-B3vskXrH.js → index-GNffDlPO.js} +3 -3
- package/dist/assets/{infoDiagram-FWYZ7A6U-DyZ3wTvr.js → infoDiagram-FWYZ7A6U-B5GbrTtK.js} +1 -1
- package/dist/assets/{ishikawaDiagram-FXEZZL3T-DhByUYhq.js → ishikawaDiagram-FXEZZL3T-BAiw7b0j.js} +1 -1
- package/dist/assets/{journeyDiagram-5HDEW3XC-C9bAdaDX.js → journeyDiagram-5HDEW3XC-CKR52gw7.js} +1 -1
- package/dist/assets/{kanban-definition-HUTT4EX6-DNrMhx8T.js → kanban-definition-HUTT4EX6-CWrhHM6G.js} +1 -1
- package/dist/assets/{linear-CnLx2Olk.js → linear-CAZvZbxC.js} +1 -1
- package/dist/assets/{main-B1e3Z0hs.js → main-BgmmrYDn.js} +139 -139
- package/dist/assets/{main-BzGnAbiA.css → main-Dhz40TGa.css} +1 -1
- package/dist/assets/{mermaid.core-BvChex4r.js → mermaid.core-8841kka_.js} +4 -4
- package/dist/assets/{mindmap-definition-LN4V7U3C-C_OJ43y1.js → mindmap-definition-LN4V7U3C-CFOf-bER.js} +1 -1
- package/dist/assets/{pegDiagram-2B236MQR-DfHdTwiK.js → pegDiagram-2B236MQR-tiGmjXoe.js} +1 -1
- package/dist/assets/{pieDiagram-ENE6RG2P-Cqr19aJ_.js → pieDiagram-ENE6RG2P-ByoCrcjG.js} +1 -1
- package/dist/assets/{quadrantDiagram-ABIIQ3AL-Dz9gDP2X.js → quadrantDiagram-ABIIQ3AL-D3njdqNJ.js} +1 -1
- package/dist/assets/{railroadDiagram-RFXS5EU6-BJ6YJVqq.js → railroadDiagram-RFXS5EU6-Co1Qyv4I.js} +1 -1
- package/dist/assets/{requirementDiagram-TGXJPOKE-hebUQs-n.js → requirementDiagram-TGXJPOKE-Bcc-ZmtM.js} +1 -1
- package/dist/assets/{sankeyDiagram-HTMAVEWB-BqbkXZ80.js → sankeyDiagram-HTMAVEWB-NGc5ZbW2.js} +1 -1
- package/dist/assets/{sequenceDiagram-DBY2YBRQ-DaslshkQ.js → sequenceDiagram-DBY2YBRQ-DMK9vu1q.js} +1 -1
- package/dist/assets/{sizeCapture-X5ZJPWSS-DlV8LPI3.js → sizeCapture-X5ZJPWSS-fw74589N.js} +1 -1
- package/dist/assets/{stateDiagram-2N3HPSRC-eY5fFiRi.js → stateDiagram-2N3HPSRC-Ct1CF4lH.js} +1 -1
- package/dist/assets/stateDiagram-v2-6OUMAXLB-CUuNeVFf.js +1 -0
- package/dist/assets/{swimlanes-5IMT3BWC-DaErYOhJ.js → swimlanes-5IMT3BWC-BTA4j6h_.js} +2 -2
- package/dist/assets/swimlanesDiagram-G3AALYLV-FjJqxVNN.js +8 -0
- package/dist/assets/{timeline-definition-FHXFAJF6-Bw189Htz.js → timeline-definition-FHXFAJF6-Cdsu0GVG.js} +1 -1
- package/dist/assets/{vennDiagram-L72KCM5P-BpjBSZNs.js → vennDiagram-L72KCM5P-DpcwNBEA.js} +1 -1
- package/dist/assets/{wardleyDiagram-EHGQE667-BocU5VwD.js → wardleyDiagram-EHGQE667-B24yQ2jy.js} +1 -1
- package/dist/assets/{web-vMtyqm0l.js → web-DObpRERU.js} +1 -1
- package/dist/assets/{web--YG1Jbez.js → web-Da6xoNEp.js} +1 -1
- package/dist/assets/{web-Bmb2qm10.js → web-wlEp31pO.js} +1 -1
- package/dist/assets/{xychartDiagram-FW5EYKEG-BdRzh4i1.js → xychartDiagram-FW5EYKEG-um8cUnVI.js} +1 -1
- package/dist/build-info.json +1 -1
- package/dist/index.html +2 -2
- package/dist/src/packages/server/claude/backend.js +4 -3
- package/dist/src/packages/server/claude/interactive/interactive-backend-args.js +2 -0
- package/dist/src/packages/server/claude/interactive/interactive-jsonl-translator.js +2 -2
- package/dist/src/packages/server/claude/session-loader.js +2 -3
- package/dist/src/packages/server/claude/tool-result-content.js +49 -0
- package/dist/src/packages/server/data/builtin-skills/boss-instructions.js +1 -1
- package/dist/src/packages/server/services/git-watch-service.js +76 -15
- package/dist/src/packages/server/services/llm-matcher-service.js +5 -1
- package/dist/src/packages/shared/agent-types.js +3 -1
- package/package.json +1 -1
- package/dist/assets/channel-BqOb1mtp.js +0 -1
- package/dist/assets/classDiagram-OUVF2IWQ-DkpKJG1-.js +0 -1
- package/dist/assets/classDiagram-v2-EOCWNBFH-DkpKJG1-.js +0 -1
- package/dist/assets/index-SZwOd9fA.js +0 -1
- package/dist/assets/stateDiagram-v2-6OUMAXLB-Ud2aYZ5r.js +0 -1
- package/dist/assets/swimlanesDiagram-G3AALYLV-OQbyspLa.js +0 -8
|
@@ -24,6 +24,13 @@ const POLL_INTERVAL_MS = 10_000;
|
|
|
24
24
|
const GIT_TIMEOUT_MS = 8_000;
|
|
25
25
|
// Safety cap per socket — far above any real area/building configuration.
|
|
26
26
|
const MAX_WATCHED_PATHS = 200;
|
|
27
|
+
// Cap on file entries per directory in the pushed payload. A working dir with
|
|
28
|
+
// a big untracked tree (generated output, caches) reports tens of thousands of
|
|
29
|
+
// entries — one real repo here yields ~65k, an 8.1 MB `git_status_update`
|
|
30
|
+
// frame. That blocked the event loop on JSON.stringify and froze every client
|
|
31
|
+
// that parsed and rendered it. The count is still reported in full via
|
|
32
|
+
// `totalFiles`; only the per-file list is capped.
|
|
33
|
+
const MAX_STATUS_FILES = 2_000;
|
|
27
34
|
const subscriptions = new Map();
|
|
28
35
|
const cache = new Map();
|
|
29
36
|
let pollTimer = null;
|
|
@@ -40,9 +47,16 @@ async function git(args, cwd) {
|
|
|
40
47
|
function toPosixSeparators(p) {
|
|
41
48
|
return p.split(path.sep).join('/');
|
|
42
49
|
}
|
|
43
|
-
/**
|
|
50
|
+
/**
|
|
51
|
+
* Parse `git status --porcelain -uall` output into absolute-path file entries.
|
|
52
|
+
*
|
|
53
|
+
* Only the first MAX_STATUS_FILES entries are materialized — the rest are
|
|
54
|
+
* counted and dropped, so a 65k-file working tree costs a line scan instead of
|
|
55
|
+
* 65k objects that then have to be serialized and shipped to every client.
|
|
56
|
+
*/
|
|
44
57
|
function parsePorcelain(gitRoot, output) {
|
|
45
58
|
const files = [];
|
|
59
|
+
let totalFiles = 0;
|
|
46
60
|
const lines = output.replace(/\n$/, '').split('\n').filter(Boolean);
|
|
47
61
|
for (const line of lines) {
|
|
48
62
|
// Porcelain v1: "XY PATH" or "XY ORIG -> NEW" for renames. Paths are
|
|
@@ -86,9 +100,34 @@ function parsePorcelain(gitRoot, output) {
|
|
|
86
100
|
else {
|
|
87
101
|
status = 'modified';
|
|
88
102
|
}
|
|
89
|
-
|
|
103
|
+
totalFiles++;
|
|
104
|
+
if (files.length < MAX_STATUS_FILES) {
|
|
105
|
+
files.push({ path: filePath, name: path.basename(filePath), status, oldPath });
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
return { files, totalFiles };
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Change fingerprint for a directory. Hashes the raw porcelain output rather
|
|
112
|
+
* than the payload: the payload's file list is capped, so stringifying it would
|
|
113
|
+
* miss changes past the cap — and stringifying the UNcapped list is exactly the
|
|
114
|
+
* multi-MB event-loop stall the cap exists to avoid.
|
|
115
|
+
*/
|
|
116
|
+
function statusFingerprint(parts) {
|
|
117
|
+
// djb2 over the porcelain text — one linear pass, no allocation.
|
|
118
|
+
let hash = 5381;
|
|
119
|
+
for (let i = 0; i < parts.rawStatus.length; i++) {
|
|
120
|
+
hash = ((hash << 5) + hash + parts.rawStatus.charCodeAt(i)) | 0;
|
|
90
121
|
}
|
|
91
|
-
return
|
|
122
|
+
return [
|
|
123
|
+
parts.isGitRepo ? '1' : '0',
|
|
124
|
+
parts.branch ?? '',
|
|
125
|
+
parts.ahead,
|
|
126
|
+
parts.behind,
|
|
127
|
+
parts.mergeInProgress ? '1' : '0',
|
|
128
|
+
parts.totalFiles,
|
|
129
|
+
(hash >>> 0).toString(36),
|
|
130
|
+
].join('|');
|
|
92
131
|
}
|
|
93
132
|
async function computeStatus(dirPath) {
|
|
94
133
|
const empty = {
|
|
@@ -99,23 +138,32 @@ async function computeStatus(dirPath) {
|
|
|
99
138
|
behind: 0,
|
|
100
139
|
mergeInProgress: false,
|
|
101
140
|
files: [],
|
|
141
|
+
totalFiles: 0,
|
|
142
|
+
truncated: false,
|
|
102
143
|
};
|
|
144
|
+
const emptyResult = { payload: empty, fingerprint: 'none' };
|
|
103
145
|
if (!path.isAbsolute(dirPath) || !fs.existsSync(dirPath))
|
|
104
|
-
return
|
|
146
|
+
return emptyResult;
|
|
105
147
|
let gitRoot;
|
|
106
148
|
try {
|
|
107
149
|
gitRoot = (await git(['rev-parse', '--show-toplevel'], dirPath)).trim();
|
|
108
150
|
}
|
|
109
151
|
catch {
|
|
110
|
-
return
|
|
152
|
+
return emptyResult;
|
|
111
153
|
}
|
|
112
154
|
let files = [];
|
|
155
|
+
let totalFiles = 0;
|
|
156
|
+
let rawStatus = '';
|
|
113
157
|
try {
|
|
114
|
-
|
|
158
|
+
rawStatus = await git(['status', '--porcelain', '-uall'], dirPath);
|
|
159
|
+
({ files, totalFiles } = parsePorcelain(gitRoot, rawStatus));
|
|
115
160
|
}
|
|
116
161
|
catch (err) {
|
|
117
162
|
log.error(`[GitWatch] git status failed for ${dirPath}:`, err);
|
|
118
163
|
}
|
|
164
|
+
if (totalFiles > MAX_STATUS_FILES) {
|
|
165
|
+
log.warn(`[GitWatch] ${dirPath} has ${totalFiles} changed files — pushing the first ${MAX_STATUS_FILES}`);
|
|
166
|
+
}
|
|
119
167
|
let branch = null;
|
|
120
168
|
try {
|
|
121
169
|
branch = (await git(['branch', '--show-current'], gitRoot)).trim() || 'HEAD';
|
|
@@ -138,14 +186,28 @@ async function computeStatus(dirPath) {
|
|
|
138
186
|
// No upstream configured — leave at 0
|
|
139
187
|
}
|
|
140
188
|
}
|
|
189
|
+
const mergeInProgress = fs.existsSync(path.join(gitRoot, '.git', 'MERGE_HEAD'));
|
|
141
190
|
return {
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
191
|
+
payload: {
|
|
192
|
+
path: dirPath,
|
|
193
|
+
isGitRepo: true,
|
|
194
|
+
branch,
|
|
195
|
+
ahead,
|
|
196
|
+
behind,
|
|
197
|
+
mergeInProgress,
|
|
198
|
+
files,
|
|
199
|
+
totalFiles,
|
|
200
|
+
truncated: totalFiles > files.length,
|
|
201
|
+
},
|
|
202
|
+
fingerprint: statusFingerprint({
|
|
203
|
+
isGitRepo: true,
|
|
204
|
+
branch,
|
|
205
|
+
ahead,
|
|
206
|
+
behind,
|
|
207
|
+
mergeInProgress,
|
|
208
|
+
totalFiles,
|
|
209
|
+
rawStatus,
|
|
210
|
+
}),
|
|
149
211
|
};
|
|
150
212
|
}
|
|
151
213
|
function sendStatus(ws, payload) {
|
|
@@ -174,8 +236,7 @@ function pushToSubscribers(payload) {
|
|
|
174
236
|
}
|
|
175
237
|
/** Compute a dir, update the cache, and push to subscribers if it changed. */
|
|
176
238
|
async function refreshOne(dirPath, forcePushTo) {
|
|
177
|
-
const payload = await computeStatus(dirPath);
|
|
178
|
-
const fingerprint = JSON.stringify(payload);
|
|
239
|
+
const { payload, fingerprint } = await computeStatus(dirPath);
|
|
179
240
|
const prev = cache.get(dirPath);
|
|
180
241
|
cache.set(dirPath, { fingerprint, payload });
|
|
181
242
|
if (!prev || prev.fingerprint !== fingerprint) {
|
|
@@ -20,7 +20,11 @@ const MODEL_MAP = {
|
|
|
20
20
|
'claude-sonnet-5': 'claude-sonnet-5',
|
|
21
21
|
'claude-sonnet-5[1m]': 'claude-sonnet-5',
|
|
22
22
|
'claude-sonnet-4-6': 'claude-sonnet-4-6-20250514',
|
|
23
|
-
opus: 'claude-opus-
|
|
23
|
+
opus: 'claude-opus-5',
|
|
24
|
+
'opus-5': 'claude-opus-5',
|
|
25
|
+
opus5: 'claude-opus-5',
|
|
26
|
+
'claude-opus-5': 'claude-opus-5',
|
|
27
|
+
'claude-opus-5[1m]': 'claude-opus-5',
|
|
24
28
|
fable: 'claude-fable-5',
|
|
25
29
|
'fable-5': 'claude-fable-5',
|
|
26
30
|
fable5: 'claude-fable-5',
|
|
@@ -77,13 +77,15 @@ export const CLAUDE_MODELS = {
|
|
|
77
77
|
sonnet: { label: 'Sonnet', description: 'Balanced performance and cost', icon: '⚡', contextWindow: 200000 },
|
|
78
78
|
'claude-sonnet-5[1m]': { label: 'Sonnet 5 [1M]', description: 'Latest Sonnet — most agentic Sonnet, near-Opus intelligence at lower cost, 1M token context window (recommended)', icon: '⚡', contextWindow: 1000000 },
|
|
79
79
|
'claude-fable-5[1m]': { label: 'Fable 5 [1M]', description: 'Most powerful, most intelligent Claude model — new tier above Opus, 1M token context window', icon: '🪄', contextWindow: 1000000 },
|
|
80
|
-
'claude-opus-
|
|
80
|
+
'claude-opus-5[1m]': { label: 'Opus 5 [1M]', description: 'Latest Opus with 1M token context window — for complex agentic coding and enterprise work', icon: '🧠', contextWindow: 1000000 },
|
|
81
|
+
'claude-opus-4-8[1m]': { label: 'Opus 4.8 [1M]', description: 'Opus 4.8 with 1M token context window (previous Opus generation, still supported)', icon: '🧠', contextWindow: 1000000 },
|
|
81
82
|
'opus[1m]': { label: 'Opus 4.7 [1M]', description: 'Previous Opus generation with 1M token context window', icon: '🧠', contextWindow: 1000000 },
|
|
82
83
|
haiku: { label: 'Haiku', description: 'Fast and economical', icon: '🚀', contextWindow: 200000 },
|
|
83
84
|
// Plain (200K) Opus IDs are kept as valid model values for existing agents
|
|
84
85
|
// and CLI passthrough, but hidden from the "new agent" picker in favor of
|
|
85
86
|
// the 1M variants above.
|
|
86
87
|
'claude-fable-5': { label: 'Fable 5 (200K)', description: 'Fable 5, 200K context window (1M variant preferred)', icon: '🪄', contextWindow: 200000, deprecated: true },
|
|
88
|
+
'claude-opus-5': { label: 'Opus 5 (200K)', description: 'Latest Opus, 200K context window (1M variant preferred)', icon: '🧠', contextWindow: 200000, deprecated: true },
|
|
87
89
|
'claude-sonnet-5': { label: 'Sonnet 5 (200K)', description: 'Latest Sonnet, 200K context window (1M variant preferred)', icon: '⚡', contextWindow: 200000, deprecated: true },
|
|
88
90
|
'claude-opus-4-8': { label: 'Opus 4.8 (200K)', description: 'Latest Opus, 200K context window (1M variant preferred)', icon: '🧠', contextWindow: 200000, deprecated: true },
|
|
89
91
|
'claude-opus-4-7': { label: 'Opus 4.7 (200K)', description: 'Previous Opus generation, 200K context window (1M variant preferred)', icon: '🧠', contextWindow: 200000, deprecated: true },
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{U as a,C as n}from"./mermaid.core-BvChex4r.js";const t=(r,o)=>a.lang.round(n.parse(r)[o]);export{t as c};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as a,c as s,a as e,C as t}from"./chunk-V7JOEXUC-Dt_g_92u.js";import{_ as i}from"./mermaid.core-BvChex4r.js";import"./chunk-5VM5RSS4-POn1ao3n.js";import"./chunk-XXDRQBXY-Cv-zJSJS.js";import"./chunk-VR4S4FIN-CISmgkXp.js";import"./chunk-32BRIVSS-CPh2U2KU.js";import"./main-B1e3Z0hs.js";import"./vendor-react--Eh9ivFN.js";import"./vendor-three-3OKhI9bz.js";var b={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{b as diagram};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as a,c as s,a as e,C as t}from"./chunk-V7JOEXUC-Dt_g_92u.js";import{_ as i}from"./mermaid.core-BvChex4r.js";import"./chunk-5VM5RSS4-POn1ao3n.js";import"./chunk-XXDRQBXY-Cv-zJSJS.js";import"./chunk-VR4S4FIN-CISmgkXp.js";import"./chunk-32BRIVSS-CPh2U2KU.js";import"./main-B1e3Z0hs.js";import"./vendor-react--Eh9ivFN.js";import"./vendor-three-3OKhI9bz.js";var b={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{b as diagram};
|