@loicngr/kobo 1.6.1 → 1.6.3
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/README.md +17 -16
- package/dist/mcp-server/kobo-tasks-handlers.js +145 -0
- package/dist/mcp-server/kobo-tasks-server.js +144 -54
- package/dist/server/index.js +2 -2
- package/dist/server/routes/documents.js +113 -0
- package/dist/server/services/agent/engines/claude-code/args-builder.js +21 -0
- package/package.json +1 -1
- package/src/client/dist/spa/assets/ActivityFeed-BCPHgr3p.css +1 -0
- package/src/client/dist/spa/assets/ActivityFeed-DPg8lZZP.js +7 -0
- package/src/client/dist/spa/assets/{ClosePopup-DqhgFbQo.js → ClosePopup-DhM1C4Zw.js} +1 -1
- package/src/client/dist/spa/assets/{CreatePage-DENfwzPL.js → CreatePage-C2mUAcwE.js} +1 -1
- package/src/client/dist/spa/assets/DiffViewer-BVU58ujc.css +1 -0
- package/src/client/dist/spa/assets/DiffViewer-DdLwXeB3.js +2 -0
- package/src/client/dist/spa/assets/{HealthPage-Cjc79NaA.js → HealthPage-CJDF2_4D.js} +1 -1
- package/src/client/dist/spa/assets/MainLayout-BiBJtDTk.css +1 -0
- package/src/client/dist/spa/assets/{MainLayout-CFbMw65L.js → MainLayout-K2u9uIOb.js} +17 -17
- package/src/client/dist/spa/assets/QBtn-CyzfM9-_.js +1 -0
- package/src/client/dist/spa/assets/QChip-KJoHYE6F.js +1 -0
- package/src/client/dist/spa/assets/{QDialog-D42GLa1i.js → QDialog-DQeAxY3-.js} +1 -1
- package/src/client/dist/spa/assets/QExpansionItem-DCRks-Ra.js +1 -0
- package/src/client/dist/spa/assets/{QItemSection-GlMrLmz3.js → QItemSection-CGpX7GcL.js} +1 -1
- package/src/client/dist/spa/assets/{QScrollArea-L6wUiA20.js → QScrollArea-e5qTqwcb.js} +1 -1
- package/src/client/dist/spa/assets/QSlideTransition-BQxI8l5r.js +1 -0
- package/src/client/dist/spa/assets/{QTabPanels-Crs-ujNO.js → QTabPanels--6cYe2US.js} +1 -1
- package/src/client/dist/spa/assets/{QTooltip-Cg9E3Dvw.js → QTooltip-C4CPesBX.js} +1 -1
- package/src/client/dist/spa/assets/{SearchPage-Bf-iZnyE.js → SearchPage-Drjd-r_Y.js} +1 -1
- package/src/client/dist/spa/assets/{SettingsPage-BdcH3BSs.js → SettingsPage-DvqT-ViK.js} +1 -1
- package/src/client/dist/spa/assets/{TouchPan-DFx22dM3.js → TouchPan-BT6phK1f.js} +1 -1
- package/src/client/dist/spa/assets/{WorkspacePage-UUE0pPCR.js → WorkspacePage-Bk_SslTv.js} +3 -3
- package/src/client/dist/spa/assets/build-path-tree-BE2FoPWg.js +1 -0
- package/src/client/dist/spa/assets/{cssMode-BYtqFZtm.js → cssMode-0GRgcPCL.js} +1 -1
- package/src/client/dist/spa/assets/documents-BJW_8dHZ.js +60 -0
- package/src/client/dist/spa/assets/{editor.api-D6ZaO4A_.js → editor.api-C1-xuJKd.js} +1 -1
- package/src/client/dist/spa/assets/{editor.main-Cc_RDKsq.js → editor.main-C2QDgca3.js} +3 -3
- package/src/client/dist/spa/assets/{freemarker2-CBm--bBd.js → freemarker2-Dgc_0Q23.js} +1 -1
- package/src/client/dist/spa/assets/{handlebars-whX2mkV5.js → handlebars-DkfsYZsi.js} +1 -1
- package/src/client/dist/spa/assets/{html-D7ga_o6c.js → html-CbSyHFvE.js} +1 -1
- package/src/client/dist/spa/assets/{htmlMode-BXImjcsv.js → htmlMode-BKR6h-2d.js} +1 -1
- package/src/client/dist/spa/assets/i18n-C03q300x.js +1 -0
- package/src/client/dist/spa/assets/index-9vZWx9Bu.js +2 -0
- package/src/client/dist/spa/assets/{javascript-BwmzNMn5.js → javascript-QJqA2E1u.js} +1 -1
- package/src/client/dist/spa/assets/{jsonMode-CN5Z5bK_.js → jsonMode-D8CXYQiy.js} +1 -1
- package/src/client/dist/spa/assets/{liquid-CzMNAPor.js → liquid-DLssQpNB.js} +1 -1
- package/src/client/dist/spa/assets/{mdx-DC_P05Da.js → mdx-4u6l2_x4.js} +1 -1
- package/src/client/dist/spa/assets/{models-DMQoi09X.js → models-BtywKe_m.js} +1 -1
- package/src/client/dist/spa/assets/{monaco.contribution-BsBaFOOD.js → monaco.contribution-DFCuvXsm.js} +2 -2
- package/src/client/dist/spa/assets/{python-9DTZ8C3K.js → python-BFIl5AC4.js} +1 -1
- package/src/client/dist/spa/assets/{razor-B1LfM20o.js → razor-BrKtxN6e.js} +1 -1
- package/src/client/dist/spa/assets/{scroll-Dh2g7BwR.js → scroll-JVVkg2Ng.js} +1 -1
- package/src/client/dist/spa/assets/{tsMode-DI2bWo8r.js → tsMode-B7FS-eG8.js} +1 -1
- package/src/client/dist/spa/assets/{typescript-BZ9QJ2_N.js → typescript-CpUDqcsF.js} +1 -1
- package/src/client/dist/spa/assets/use-checkbox-DYiZQsbF.js +1 -0
- package/src/client/dist/spa/assets/{use-portal-mhLq4Rqk.js → use-portal-DBe4lcC2.js} +1 -1
- package/src/client/dist/spa/assets/{xml-D6qm6rp0.js → xml-_L0I3U6m.js} +1 -1
- package/src/client/dist/spa/assets/{yaml-D2dUr_wY.js → yaml-CY3U_Y-0.js} +1 -1
- package/src/client/dist/spa/index.html +6 -5
- package/src/mcp-server/kobo-tasks-handlers.ts +191 -0
- package/src/mcp-server/kobo-tasks-server.ts +158 -53
- package/dist/server/routes/plans.js +0 -89
- package/src/client/dist/spa/assets/ActivityFeed-DYtAK49y.js +0 -7
- package/src/client/dist/spa/assets/ActivityFeed-DiwnrdKX.css +0 -1
- package/src/client/dist/spa/assets/DiffViewer-C6q11kmw.js +0 -2
- package/src/client/dist/spa/assets/DiffViewer-DiHFLSk4.css +0 -1
- package/src/client/dist/spa/assets/MainLayout-B5poKEy_.css +0 -1
- package/src/client/dist/spa/assets/QBtn-p1aZtrJH.js +0 -1
- package/src/client/dist/spa/assets/QExpansionItem-5ekmpO-2.js +0 -1
- package/src/client/dist/spa/assets/QMenu-Q69oVX7b.js +0 -1
- package/src/client/dist/spa/assets/i18n-BxLBrD1J.js +0 -1
- package/src/client/dist/spa/assets/index-D997aY4Y.js +0 -2
- package/src/client/dist/spa/assets/marked.esm-DW0ulF0a.js +0 -60
- /package/src/client/dist/spa/assets/{QBadge-BUkmTO0P.js → QBadge-DqtcDv8D.js} +0 -0
- /package/src/client/dist/spa/assets/{QItemLabel-Czw5g0px.js → QItemLabel-Codqjisk.js} +0 -0
- /package/src/client/dist/spa/assets/{QList-DNzlynsS.js → QList-B-MkPF7n.js} +0 -0
- /package/src/client/dist/spa/assets/{QPage-B09NY4Nf.js → QPage-yqdKDG7-.js} +0 -0
- /package/src/client/dist/spa/assets/{QSpace-PlDK6Fg3.js → QSpace-BNr0AftG.js} +0 -0
- /package/src/client/dist/spa/assets/{QSpinnerDots-By20ptst.js → QSpinnerDots-DEiRooBD.js} +0 -0
- /package/src/client/dist/spa/assets/{_plugin-vue_export-helper-CEhRWsKN.js → _plugin-vue_export-helper-r4mAJOHR.js} +0 -0
- /package/src/client/dist/spa/assets/{abap-DiwvWnMr.js → abap-Bgec7Keq.js} +0 -0
- /package/src/client/dist/spa/assets/{apex-CmtZjKlf.js → apex-VBlPwEoQ.js} +0 -0
- /package/src/client/dist/spa/assets/{azcli-DL2My_i-.js → azcli-DKqrEFBx.js} +0 -0
- /package/src/client/dist/spa/assets/{bat-B-nC98wG.js → bat-DdgQWy_0.js} +0 -0
- /package/src/client/dist/spa/assets/{bicep-Ju5MwOgh.js → bicep-CRMM43EB.js} +0 -0
- /package/src/client/dist/spa/assets/{cameligo-8Eu1TyBr.js → cameligo-UatALtML.js} +0 -0
- /package/src/client/dist/spa/assets/{clojure-u-RpMkH3.js → clojure-D8JU08RA.js} +0 -0
- /package/src/client/dist/spa/assets/{coffee-CdA7bbTe.js → coffee-C56wu358.js} +0 -0
- /package/src/client/dist/spa/assets/{cpp-CzNFP8ks.js → cpp-CyZLvhJG.js} +0 -0
- /package/src/client/dist/spa/assets/{csharp-j1LThmcE.js → csharp-BJl3ixva.js} +0 -0
- /package/src/client/dist/spa/assets/{csp-CLRC61y6.js → csp-CxEKxmO-.js} +0 -0
- /package/src/client/dist/spa/assets/{css-r6rC_7P2.js → css-B0t_muXd.js} +0 -0
- /package/src/client/dist/spa/assets/{cypher-CW08XVUh.js → cypher-D1hqiMFD.js} +0 -0
- /package/src/client/dist/spa/assets/{dart-Cs9aL5T_.js → dart-Bz550Pyv.js} +0 -0
- /package/src/client/dist/spa/assets/{dockerfile-BWM0M184.js → dockerfile-CIXgVAuA.js} +0 -0
- /package/src/client/dist/spa/assets/{ecl-MJJuer5P.js → ecl-D9qbvZoA.js} +0 -0
- /package/src/client/dist/spa/assets/{elixir-D2AIuXqn.js → elixir-b2M38fAy.js} +0 -0
- /package/src/client/dist/spa/assets/{flow9-B2H24giC.js → flow9-Dq1UYMkt.js} +0 -0
- /package/src/client/dist/spa/assets/{format-uvONOeL4.js → format-Bttc9ToS.js} +0 -0
- /package/src/client/dist/spa/assets/{formatters-DiJ12fKd.js → formatters-BDadphwz.js} +0 -0
- /package/src/client/dist/spa/assets/{fsharp-CMk2OIJN.js → fsharp-CFNadkg7.js} +0 -0
- /package/src/client/dist/spa/assets/{go-BrMkuJg0.js → go-dSur1iB2.js} +0 -0
- /package/src/client/dist/spa/assets/{graphql-PSR1UKGv.js → graphql-qyhAo11d.js} +0 -0
- /package/src/client/dist/spa/assets/{hcl-DAQrbDOW.js → hcl-DFzjMyzm.js} +0 -0
- /package/src/client/dist/spa/assets/{ini-0TG5BxW0.js → ini-TdzA8TIl.js} +0 -0
- /package/src/client/dist/spa/assets/{java-rgorz17v.js → java-CSGA9pkE.js} +0 -0
- /package/src/client/dist/spa/assets/{julia-C8VMdHm8.js → julia-9izz5OsY.js} +0 -0
- /package/src/client/dist/spa/assets/{kotlin-CllWo3gX.js → kotlin-DuPK7AtF.js} +0 -0
- /package/src/client/dist/spa/assets/{less-Cgca25AP.js → less-B8d93iCg.js} +0 -0
- /package/src/client/dist/spa/assets/{lexon-D0GHdBaw.js → lexon-DWtEIyu7.js} +0 -0
- /package/src/client/dist/spa/assets/{lua-DmRsNG-P.js → lua-Ciq0OGgt.js} +0 -0
- /package/src/client/dist/spa/assets/{m3-BgL5dNKT.js → m3-Cki6JWj_.js} +0 -0
- /package/src/client/dist/spa/assets/{markdown-BuJfycGS.js → markdown-Cu47xwU0.js} +0 -0
- /package/src/client/dist/spa/assets/{mips-C9m_93PR.js → mips-BM8ui995.js} +0 -0
- /package/src/client/dist/spa/assets/{msdax-CpFHC9OI.js → msdax-DqLio0_c.js} +0 -0
- /package/src/client/dist/spa/assets/{mysql-qFvltsqN.js → mysql-v1wbjJOq.js} +0 -0
- /package/src/client/dist/spa/assets/{objective-c-Bnmr858J.js → objective-c-CQl3PGSB.js} +0 -0
- /package/src/client/dist/spa/assets/{pascal-WP0_D5AO.js → pascal-D4iW0ZtD.js} +0 -0
- /package/src/client/dist/spa/assets/{pascaligo-Blom4Rij.js → pascaligo-BdC9CZdj.js} +0 -0
- /package/src/client/dist/spa/assets/{perl-B-vk8g64.js → perl-BL10m4XD.js} +0 -0
- /package/src/client/dist/spa/assets/{pgsql-Cgvz6v67.js → pgsql-Be_oqVo3.js} +0 -0
- /package/src/client/dist/spa/assets/{php-8a3Lrw9m.js → php-BtvXSFRI.js} +0 -0
- /package/src/client/dist/spa/assets/{pla-DuFqEZ8V.js → pla-B2vUy15C.js} +0 -0
- /package/src/client/dist/spa/assets/{postiats-DkLtSgkp.js → postiats-CbmTTfXr.js} +0 -0
- /package/src/client/dist/spa/assets/{powerquery-BJ1aNepW.js → powerquery-DszLhJGx.js} +0 -0
- /package/src/client/dist/spa/assets/{powershell-rE98k687.js → powershell-B0dYktF6.js} +0 -0
- /package/src/client/dist/spa/assets/{protobuf-CUheFacr.js → protobuf-CZvaj1VX.js} +0 -0
- /package/src/client/dist/spa/assets/{pug-LDcAMD8w.js → pug-CPDx1B3S.js} +0 -0
- /package/src/client/dist/spa/assets/{qsharp-DUKSQoR1.js → qsharp-CDP9TFLl.js} +0 -0
- /package/src/client/dist/spa/assets/{r-D-QApv87.js → r-8DbbFX2l.js} +0 -0
- /package/src/client/dist/spa/assets/{rate-limit-labels-BvYERsho.js → rate-limit-labels-BoDORKFj.js} +0 -0
- /package/src/client/dist/spa/assets/{redis-SXdDyWR9.js → redis-DRWj9MtJ.js} +0 -0
- /package/src/client/dist/spa/assets/{redshift-Y6lsCryn.js → redshift-C6cElE_5.js} +0 -0
- /package/src/client/dist/spa/assets/{restructuredtext-edObr9a8.js → restructuredtext-W9pS9n3m.js} +0 -0
- /package/src/client/dist/spa/assets/{ruby-CNnUfF-8.js → ruby-BKnzWnk-.js} +0 -0
- /package/src/client/dist/spa/assets/{rust-IHUZWzBr.js → rust-YPCclWwe.js} +0 -0
- /package/src/client/dist/spa/assets/{sb-DrUvY44N.js → sb-BgM4DTFb.js} +0 -0
- /package/src/client/dist/spa/assets/{scala-B4hbXGLM.js → scala-fz1OPLMl.js} +0 -0
- /package/src/client/dist/spa/assets/{scheme-BGrd12j3.js → scheme-8Uz1RIbu.js} +0 -0
- /package/src/client/dist/spa/assets/{scss-x5G1ES4U.js → scss-Djo3IYXr.js} +0 -0
- /package/src/client/dist/spa/assets/{shell-DOehe2Y8.js → shell-CINF5Tx_.js} +0 -0
- /package/src/client/dist/spa/assets/{solidity-BeRvcwWV.js → solidity-GgiNEuUm.js} +0 -0
- /package/src/client/dist/spa/assets/{sophia-DZbkUNjy.js → sophia-Culj97P9.js} +0 -0
- /package/src/client/dist/spa/assets/{sparql-B7_oi5-h.js → sparql-C2ZlpxOY.js} +0 -0
- /package/src/client/dist/spa/assets/{sql-CTlsFWVE.js → sql-BEf5Pg7Y.js} +0 -0
- /package/src/client/dist/spa/assets/{st-DJVEJdPE.js → st-CT6UUoeH.js} +0 -0
- /package/src/client/dist/spa/assets/{swift-CwhT3fYa.js → swift-B5g0xTG3.js} +0 -0
- /package/src/client/dist/spa/assets/{systemverilog-BQN63pkN.js → systemverilog-CEgQz9DR.js} +0 -0
- /package/src/client/dist/spa/assets/{tcl-DqwfpskA.js → tcl-D0qL2L0I.js} +0 -0
- /package/src/client/dist/spa/assets/{touch-D_A29lik.js → touch-CBLrR6_z.js} +0 -0
- /package/src/client/dist/spa/assets/{twig-BiyenUgc.js → twig-BFUAVf1E.js} +0 -0
- /package/src/client/dist/spa/assets/{typespec-CWOJribt.js → typespec-CjVVcNKm.js} +0 -0
- /package/src/client/dist/spa/assets/{use-quasar-BBrzedjR.js → use-quasar-Ch82z8H5.js} +0 -0
- /package/src/client/dist/spa/assets/{vb-Cq5F87m3.js → vb-CZJr-DQz.js} +0 -0
- /package/src/client/dist/spa/assets/{wgsl-BAvW2lVr.js → wgsl-ivoXUo2e.js} +0 -0
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import { existsSync, readdirSync, readFileSync, statSync } from 'node:fs';
|
|
2
|
-
import path from 'node:path';
|
|
3
|
-
import { Hono } from 'hono';
|
|
4
|
-
import * as workspaceService from '../services/workspace-service.js';
|
|
5
|
-
/** Hono sub-router for workspace plan file browsing (read-only). */
|
|
6
|
-
const app = new Hono();
|
|
7
|
-
/** Directories inside the worktree where plan / design doc files may live. */
|
|
8
|
-
const PLAN_DIRS = ['docs/plans', 'docs/superpowers/plans', 'docs/superpowers/specs'];
|
|
9
|
-
/** Only .md files are listed. */
|
|
10
|
-
const MD_EXT = '.md';
|
|
11
|
-
// GET /:id/plans — list plan files in the workspace worktree
|
|
12
|
-
app.get('/:id/plans', (c) => {
|
|
13
|
-
try {
|
|
14
|
-
const id = c.req.param('id');
|
|
15
|
-
const workspace = workspaceService.getWorkspace(id);
|
|
16
|
-
if (!workspace) {
|
|
17
|
-
return c.json({ error: `Workspace '${id}' not found` }, 404);
|
|
18
|
-
}
|
|
19
|
-
const worktreePath = path.join(workspace.projectPath, '.worktrees', workspace.workingBranch);
|
|
20
|
-
const plans = [];
|
|
21
|
-
for (const dir of PLAN_DIRS) {
|
|
22
|
-
const absDir = path.join(worktreePath, dir);
|
|
23
|
-
if (!existsSync(absDir))
|
|
24
|
-
continue;
|
|
25
|
-
try {
|
|
26
|
-
const entries = readdirSync(absDir);
|
|
27
|
-
for (const entry of entries) {
|
|
28
|
-
if (!entry.endsWith(MD_EXT))
|
|
29
|
-
continue;
|
|
30
|
-
try {
|
|
31
|
-
const absFile = path.join(absDir, entry);
|
|
32
|
-
const stat = statSync(absFile);
|
|
33
|
-
if (!stat.isFile())
|
|
34
|
-
continue;
|
|
35
|
-
plans.push({
|
|
36
|
-
path: `${dir}/${entry}`,
|
|
37
|
-
name: entry,
|
|
38
|
-
modifiedAt: stat.mtime.toISOString(),
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
catch {
|
|
42
|
-
// Skip files we can't stat
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
catch {
|
|
47
|
-
// Skip directories we can't read
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
// Sort by modifiedAt descending (most recent first)
|
|
51
|
-
plans.sort((a, b) => new Date(b.modifiedAt).getTime() - new Date(a.modifiedAt).getTime());
|
|
52
|
-
return c.json({ plans });
|
|
53
|
-
}
|
|
54
|
-
catch (err) {
|
|
55
|
-
const message = err instanceof Error ? err.message : String(err);
|
|
56
|
-
return c.json({ error: message }, 500);
|
|
57
|
-
}
|
|
58
|
-
});
|
|
59
|
-
// GET /:id/plan-file?path=<relative> — read a single plan file
|
|
60
|
-
app.get('/:id/plan-file', (c) => {
|
|
61
|
-
try {
|
|
62
|
-
const id = c.req.param('id');
|
|
63
|
-
const filePath = c.req.query('path');
|
|
64
|
-
if (!filePath) {
|
|
65
|
-
return c.json({ error: 'Missing path query parameter' }, 400);
|
|
66
|
-
}
|
|
67
|
-
const workspace = workspaceService.getWorkspace(id);
|
|
68
|
-
if (!workspace) {
|
|
69
|
-
return c.json({ error: `Workspace '${id}' not found` }, 404);
|
|
70
|
-
}
|
|
71
|
-
// Security: normalize the path and verify it stays within allowed directories
|
|
72
|
-
const normalized = path.normalize(filePath);
|
|
73
|
-
if (normalized.includes('..') || !PLAN_DIRS.some((dir) => normalized.startsWith(dir))) {
|
|
74
|
-
return c.json({ error: 'Invalid path: must be under docs/plans/, docs/superpowers/plans/, or docs/superpowers/specs/' }, 400);
|
|
75
|
-
}
|
|
76
|
-
const worktreePath = path.join(workspace.projectPath, '.worktrees', workspace.workingBranch);
|
|
77
|
-
const absPath = path.join(worktreePath, normalized);
|
|
78
|
-
if (!existsSync(absPath)) {
|
|
79
|
-
return c.json({ error: `Plan file not found: ${normalized}` }, 404);
|
|
80
|
-
}
|
|
81
|
-
const content = readFileSync(absPath, 'utf-8');
|
|
82
|
-
return c.json({ content, path: normalized });
|
|
83
|
-
}
|
|
84
|
-
catch (err) {
|
|
85
|
-
const message = err instanceof Error ? err.message : String(err);
|
|
86
|
-
return c.json({ error: message }, 500);
|
|
87
|
-
}
|
|
88
|
-
});
|
|
89
|
-
export default app;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import{E as e,F as t,H as n,L as r,M as i,Q as a,U as o,_t as s,bt as c,d as l,f as u,g as d,h as f,l as p,p as m,r as h,rt as g,u as _,v,yt as y}from"./runtime-core.esm-bundler-C3IgBgY5.js";import{L as b,l as x,t as S}from"./QIcon-B0-pH3Qs.js";import{t as C}from"./QBtn-p1aZtrJH.js";import{n as w}from"./vue-i18n-CeG0hR0Z.js";import{S as T,v as E,x as D}from"./index-D997aY4Y.js";import{t as O}from"./QSpinnerDots-By20ptst.js";import{t as k}from"./QExpansionItem-5ekmpO-2.js";import{t as ee}from"./QScrollArea-L6wUiA20.js";import{n as A,t as j}from"./marked.esm-DW0ulF0a.js";import{t as M}from"./_plugin-vue_export-helper-CEhRWsKN.js";function N(e,t,n=!0){let r=[],i=new Map,a=new Map;for(let n=0;n<e.length;n++){let o=e[n],s=t?.[n];switch(o.kind){case`message:text`:{let e=i.get(o.messageId);if(e)e.text+=o.text,e.streaming=o.streaming;else{let e={type:`text`,messageId:o.messageId,text:o.text,streaming:o.streaming,ts:s};i.set(o.messageId,e),r.push(e)}break}case`message:end`:{let e=i.get(o.messageId);e&&(e.streaming=!1);break}case`message:thinking`:r.push({type:`thinking`,messageId:o.messageId,text:o.text,ts:s});break;case`tool:call`:{let e={type:`tool`,toolCallId:o.toolCallId,name:o.name,input:o.input,ts:s};a.set(o.toolCallId,e),r.push(e);break}case`tool:result`:{let e=a.get(o.toolCallId);e&&(e.result={output:o.output,isError:o.isError});break}case`session:started`:r.push({type:`session`,kind:`started`,detail:{engineSessionId:o.engineSessionId,model:o.model},ts:s});break;case`session:ended`:r.push({type:`session`,kind:`ended`,detail:{reason:o.reason,exitCode:o.exitCode},ts:s});break;case`session:compacted`:r.push({type:`session`,kind:`compacted`,ts:s});break;case`session:brainstorm-complete`:case`message:raw`:case`skills:discovered`:case`usage`:case`rate_limit`:case`subagent:progress`:case`error`:break;default:}}let o=null;for(let e of r)e.type===`text`&&e.streaming&&(o&&(o.streaming=!1),o=e);return o&&!n&&(o.streaming=!1),r}function te(e,t){if(t.length===0)return e;let n=t.map(e=>({type:`user`,content:e.content,sender:e.sender,ts:e.ts})),r=[...e,...n];return r.sort((e,t)=>{let n=e.ts??``,r=t.ts??``;return n===r?0:n?r?n<r?-1:1:-1:1}),r}function P(e){switch(e.type){case`user`:return e.sender===`system-prompt`?`system-prompt`:`user`;case`session`:return`session`;default:return`agent`}}function ne(e){let t=[],n=null;for(let r of e){let e=P(r),i=e===`session`||e===`system-prompt`;!n||n.speaker!==e||i?(n={speaker:e,ts:r.ts,items:[r]},t.push(n),i&&(n=null)):n.items.push(r)}return t}var F={class:`text-caption text-grey-6`},I=v({__name:`SessionEventItem`,props:{item:{}},setup(e){let n=e,r=p(()=>{switch(n.item.kind){case`started`:return`session.started`;case`ended`:return`session.ended`;case`compacted`:return`session.compacted`;default:return`session.started`}});return(e,n)=>(t(),m(`span`,F,c(e.$t(r.value)),1))}}),L={class:`markdown-message`},R=[`innerHTML`],z=M(v({__name:`TextMessageItem`,props:{item:{}},setup(e){let n=e,r=p(()=>{let e=j.parse(n.item.text,{async:!1,breaks:!0,gfm:!0});return A.sanitize(e)});return(n,i)=>(t(),m(`div`,L,[_(`div`,{innerHTML:r.value},null,8,R),e.item.streaming?(t(),l(x,{key:0,size:`xs`,class:`q-ml-xs`})):u(``,!0)]))}}),[[`__scopeId`,`data-v-158cbb54`]]),B={key:0,class:`text-caption text-grey-5`,style:{"font-style":`italic`}},V=[`innerHTML`],H={key:1,style:{"white-space":`pre-wrap`}},U=M(v({__name:`ThinkingItem`,props:{item:{}},setup(e){let n=e,r=p(()=>n.item.text.trim().slice(0,100)),i=p(()=>n.item.text.trim().length>0),a=p(()=>n.item.text.trim().length>100),s=p(()=>{let e=j.parse(n.item.text,{async:!1,breaks:!0,gfm:!0});return A.sanitize(e)});return(n,d)=>i.value?(t(),m(`div`,B,[a.value?(t(),l(k,{key:0,dense:``,"dense-toggle":``,label:r.value,"header-class":`text-grey-5 text-caption`,style:{"font-style":`italic`}},{default:o(()=>[_(`div`,{class:`q-py-xs markdown-thinking`,innerHTML:s.value},null,8,V)]),_:1},8,[`label`])):(t(),m(`span`,H,c(e.item.text),1))])):u(``,!0)}}),[[`__scopeId`,`data-v-e9fb9f90`]]);function W(e,t){let n=e.split(`
|
|
2
|
-
`),r=t.split(`
|
|
3
|
-
`),i=n.length,a=r.length,o=Array.from({length:i+1},()=>Array(a+1).fill(0));for(let e=i-1;e>=0;e--)for(let t=a-1;t>=0;t--)n[e]===r[t]?o[e][t]=o[e+1][t+1]+1:o[e][t]=Math.max(o[e+1][t],o[e][t+1]);let s=[],c=0,l=0;for(;c<i&&l<a;)n[c]===r[l]?(s.push({type:`context`,content:n[c]}),c++,l++):o[c+1][l]>=o[c][l+1]?(s.push({type:`del`,content:n[c]}),c++):(s.push({type:`add`,content:r[l]}),l++);for(;c<i;)s.push({type:`del`,content:n[c++]});for(;l<a;)s.push({type:`add`,content:r[l++]});return s}function G(e,t){if(!t||typeof t!=`object`)return null;let n=t;if(e===`Edit`){let e=n.file_path;if(!e)return null;let t=n.old_string??``,r=n.new_string??``;return{toolName:`Edit`,filePath:e,oldString:t,newString:r,replaceAll:n.replace_all??!1,additions:r?r.split(`
|
|
4
|
-
`).length:0,deletions:t?t.split(`
|
|
5
|
-
`).length:0}}if(e===`Write`){let e=n.file_path;if(!e)return null;let t=n.content??``;return{toolName:`Write`,filePath:e,content:t,additions:t?t.split(`
|
|
6
|
-
`).length:0,deletions:0}}if(e===`Bash`){let e=(n.command??``).match(/^\s*rm\s+(?:-[a-zA-Z]*\s+)*(.+)/);if(e)return{toolName:`Bash:rm`,filePath:e[1].trim().replace(/["']/g,``),additions:0,deletions:1}}return null}function K(e,t){if(!e||!t?.projectPath)return e;let n=q(e,`${t.projectPath}/.worktrees/${t.workingBranch}`);return n===e&&(n=q(e,t.projectPath)),n}function q(e,t){if(!t)return e;let n=t.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);return e.replace(RegExp(`${n}/`,`g`),``).replace(RegExp(`${n}(?=\\s|$|["'\`])`,`g`),`.`)}var J={class:`tool-name`},Y=[`title`],X={key:0,class:`tool-stat-add`},re={key:1,class:`tool-stat-del`},ie={class:`diff-sign`},ae={key:1,class:`tool-row tool-row-generic`},Z={class:`tool-header`},oe={class:`tool-name`},se=[`title`],ce={key:0,class:`tool-output`},le=M(v({__name:`ToolCallItem`,props:{item:{}},setup(e){let n=e,i=a(!1),o=E(),g=p(()=>G(n.item.name,n.item.input)),v=p(()=>g.value?K(g.value.filePath,o.selectedWorkspace):``),y={Bash:`terminal`,Read:`description`,Edit:`edit`,Write:`edit_note`,MultiEdit:`edit`,Glob:`folder_open`,Grep:`manage_search`,LS:`list`,Skill:`auto_awesome`,Task:`hub`,Agent:`hub`,TodoWrite:`checklist`,TodoRead:`checklist`,ToolSearch:`search`,WebFetch:`public`,WebSearch:`travel_explore`,NotebookRead:`book`,NotebookEdit:`edit_note`,SendMessage:`send`,ExitPlanMode:`check_circle_outline`,KillShell:`stop_circle`,BashOutput:`terminal`},x=p(()=>y[n.item.name]??`build`),C=p(()=>{if(g.value)return``;let e=n.item.input,t=w(e);return t?K(t,o.selectedWorkspace):``});function w(e){if(!e||typeof e!=`object`)return typeof e==`string`?e:``;let t=e;for(let e of[`file_path`,`path`,`command`,`pattern`,`query`,`url`,`skill`,`description`,`subject`,`prompt`]){let n=t[e];if(typeof n==`string`&&n.length>0)return n}for(let e of Object.values(t))if(typeof e==`string`&&e.length>0)return e;return``}let T=p(()=>{let e=g.value;return e?e.toolName===`Edit`&&e.oldString!==void 0&&e.newString!==void 0?W(e.oldString,e.newString):e.toolName===`Write`&&e.content!==void 0?e.content.split(`
|
|
7
|
-
`).map(e=>({type:`add`,content:e})):e.toolName===`Bash:rm`?[{type:`del`,content:`File deleted`}]:null:null}),D=p(()=>{let e=n.item.result;if(!e)return``;if(typeof e.output==`string`)return e.output;try{return JSON.stringify(e.output)}catch{return String(e.output)}});function O(){i.value=!i.value}return(n,a)=>g.value?(t(),m(`div`,{key:0,class:s([`tool-row`,{"tool-row-expanded":i.value}])},[_(`div`,{class:`tool-header`,onClick:O},[d(S,{name:x.value,size:`14px`,class:`tool-icon`},null,8,[`name`]),_(`span`,J,c(g.value.toolName===`Bash:rm`?`Bash`:g.value.toolName),1),_(`span`,{class:`tool-path`,title:g.value.filePath},c(v.value),9,Y),g.value.additions>0?(t(),m(`span`,X,`+`+c(g.value.additions),1)):u(``,!0),g.value.deletions>0?(t(),m(`span`,re,`-`+c(g.value.deletions),1)):u(``,!0),e.item.result?.isError?(t(),l(S,{key:2,name:`error_outline`,color:`negative`,size:`xs`,class:`q-ml-xs`})):e.item.result?(t(),l(S,{key:3,name:`check`,color:`positive`,size:`xs`,class:`q-ml-xs`})):u(``,!0),d(S,{name:i.value?`expand_less`:`expand_more`,size:`xs`,class:`q-ml-auto text-grey-6`},null,8,[`name`])]),i.value&&T.value?(t(),m(`div`,{key:0,class:`tool-diff`,onClick:a[0]||=b(()=>{},[`stop`])},[(t(!0),m(h,null,r(T.value,(e,n)=>(t(),m(`div`,{key:n,class:s([`diff-line`,{"diff-del":e.type===`del`,"diff-add":e.type===`add`,"diff-context":e.type===`context`}])},[_(`span`,ie,c(e.type===`del`?`-`:e.type===`add`?`+`:` `),1),f(c(e.content),1)],2))),128))])):u(``,!0)],2)):(t(),m(`div`,ae,[_(`div`,Z,[d(S,{name:x.value,size:`14px`,class:`tool-icon`},null,8,[`name`]),_(`span`,oe,c(e.item.name),1),C.value?(t(),m(`span`,{key:0,class:`tool-arg`,title:w(e.item.input)||C.value},c(C.value),9,se)):u(``,!0),e.item.result?.isError?(t(),l(S,{key:1,name:`error_outline`,color:`negative`,size:`xs`,class:`q-ml-auto`})):e.item.result?(t(),l(S,{key:2,name:`check`,color:`positive`,size:`xs`,class:`q-ml-auto`})):u(``,!0)]),e.item.result&&D.value?(t(),m(`div`,ce,c(D.value),1)):u(``,!0)]))}}),[[`__scopeId`,`data-v-440d2c83`]]),ue=[`innerHTML`],de={key:1,class:`markdown-message`},fe=[`innerHTML`],pe=M(v({__name:`UserMessageItem`,props:{item:{}},setup(e){let n=e,r=p(()=>n.item.sender===`system-prompt`),i=p(()=>{let e=j.parse(n.item.content,{async:!1,breaks:!0,gfm:!0});return A.sanitize(e)});return(e,n)=>r.value?(t(),l(k,{key:0,dense:``,"dense-toggle":``,label:e.$t(`chat.systemPrompt`),"header-class":`text-grey-5 text-caption`},{default:o(()=>[_(`div`,{class:`q-py-xs markdown-user-prompt`,innerHTML:i.value},null,8,ue)]),_:1},8,[`label`])):(t(),m(`div`,de,[_(`div`,{innerHTML:i.value},null,8,fe)]))}}),[[`__scopeId`,`data-v-cb8cec0f`]]),me={class:`turn-header`},he={key:0,class:`turn-time`},ge={key:1,class:`turn-actions`},_e={class:`turn-body`},ve=M(v({__name:`TurnCard`,props:{turn:{}},setup(e){let n=e,{t:i}=w(),a=p(()=>{switch(n.turn.speaker){case`user`:return{label:i(`chat.you`),accent:`#ce93d8`,badgeClass:`turn-badge-user`};case`agent`:return{label:i(`chat.agent`),accent:`#7986cb`,badgeClass:`turn-badge-agent`};case`system-prompt`:return{label:i(`chat.systemPrompt`),accent:`#757575`,badgeClass:`turn-badge-system`};case`session`:return{label:i(`chat.session`),accent:`#616161`,badgeClass:`turn-badge-session`}}}),o=p(()=>{if(!n.turn.ts)return``;let e=new Date(n.turn.ts);return Number.isNaN(e.getTime())?``:e.toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`})}),d=p(()=>n.turn.items.filter(e=>e.type===`tool`).length);return(n,f)=>(t(),m(`div`,{class:s([`turn-card`,{"turn-card--user":e.turn.speaker===`user`}]),style:y({"--turn-accent":a.value.accent})},[_(`div`,me,[_(`span`,{class:s([`turn-badge`,a.value.badgeClass])},c(a.value.label),3),o.value?(t(),m(`span`,he,c(o.value),1)):u(``,!0),d.value>0?(t(),m(`span`,ge,` · `+c(g(i)(`chat.nActions`,{n:d.value})),1)):u(``,!0)]),_(`div`,_e,[(t(!0),m(h,null,r(e.turn.items,(e,n)=>(t(),m(h,{key:n},[e.type===`text`?(t(),l(z,{key:0,item:e},null,8,[`item`])):e.type===`thinking`?(t(),l(U,{key:1,item:e},null,8,[`item`])):e.type===`tool`?(t(),l(le,{key:2,item:e},null,8,[`item`])):e.type===`user`?(t(),l(pe,{key:3,item:e},null,8,[`item`])):e.type===`session`?(t(),l(I,{key:4,item:e},null,8,[`item`])):u(``,!0)],64))),128))])],6))}}),[[`__scopeId`,`data-v-8a9ce6dd`]]),ye={key:0,class:`activity-feed-switching`},be={key:1,class:`activity-feed-wrap`},xe={key:0,class:`text-center q-py-sm text-caption text-grey-6`},Se={class:`q-pa-md`},Ce={key:1,class:`q-px-md q-pb-md`},we=60,Q=200,$=200,Te=400,Ee=200,De=M(v({__name:`ActivityFeed`,props:{workspaceId:{}},setup(s){let g=s,v=T(),y=D(),b=E(),S=p(()=>(b.activityFeeds[g.workspaceId]??[]).filter(e=>e.type===`text`&&typeof e.content==`string`).map(e=>({content:e.content,sender:e.meta?.sender??`user`,ts:e.timestamp,sessionId:e.sessionId}))),w=p(()=>{let e=b.workspaces.find(e=>e.id===g.workspaceId);return e?e.status===`extracting`||e.status===`brainstorming`||e.status===`executing`:!1}),A=p(()=>{let e=te(N(v.eventsFor(g.workspaceId),v.timestampsFor(g.workspaceId),w.value),S.value);return ne(y.showVerboseSystemMessages?e:e.filter(e=>e.type!==`session`))}),j=p(()=>y.showVerboseSystemMessages?v.eventsFor(g.workspaceId).filter(e=>e.kind===`message:raw`).map(e=>e.content):[]),M=a(null),P=!0,F=a(!1),I=!1,L=a(!0);function R(e){P=e.verticalSize-e.verticalPosition-e.verticalContainerSize<=we,I&&e.verticalPosition<=Q&&!F.value&&v.hasMoreOlderFor(g.workspaceId)&&z()}async function z(){let t=g.workspaceId,n=v.oldestIdFor(t);if(!n)return;F.value=!0;let r=Date.now();try{let r=M.value,i=r?.getScroll().verticalSize??0,a=r?.getScroll().verticalPosition??0,o=fetch(`/api/workspaces/${t}/events?before=${encodeURIComponent(n)}&limit=200`),s=new Promise(e=>setTimeout(e,$)),[c]=await Promise.all([o,s]);if(!c.ok){v.prepend(t,[],[],{oldestId:n,hasMoreOlder:!1});return}let l=await c.json(),u=l.events??[],d=u.filter(e=>e.type===`agent:event`&&e.workspaceId===t),f=u.filter(e=>e.type===`user:message`&&e.workspaceId===t),p=d.map(e=>e.payload),m=d.map(e=>e.createdAt),h=d.map(e=>e.sessionId??null),g=u.length>0?u[0].id:n;v.prepend(t,p,m,{oldestId:g,hasMoreOlder:l.hasMore,sessionIds:h});for(let e of f){let n=e.payload;typeof n.content==`string`&&b.addActivityItem(t,{id:e.id,type:`text`,content:n.content,timestamp:e.createdAt,sessionId:e.sessionId??void 0,meta:{sender:n.sender??`user`}})}if(await e(),r){let e=r.getScroll().verticalSize-i,t=Math.max(a+e,Q+50);r.setScrollPosition(`vertical`,t,0)}}catch(e){console.error(`[ActivityFeed] failed to load older events:`,e)}finally{let e=Date.now()-r,t=Math.max(0,$-e);await new Promise(e=>setTimeout(e,t+Te)),F.value=!1}}async function B(t=0){await e();let n=M.value;if(!n)return;let r=n.getScroll();n.setScrollPosition(`vertical`,r.verticalSize,t)}let V=a([]),H=a(null);function U(){let e=A.value,t=V.value,n=[];if(t.length===e.length){for(let r=0;r<e.length;r++){if(e[r].speaker!==`user`)continue;let i=t[r]?.$el;i&&n.push(i)}if(n.length>0)return n}let r=H.value?.parentElement;if(r){let e=r.querySelectorAll(`.turn-card--user`);for(let t of e)n.push(t)}return n}function W(){let e=M.value;if(!e)return null;let t=H.value;if(!t)return null;let n=e.getScroll().verticalPosition,r=t.getBoundingClientRect().top,i=null;for(let e of U()){let t=e.getBoundingClientRect().top-r;if(t<n-40)i=t;else break}return i}async function G(){let t=M.value;if(!t)return;let n=W();if(n===null)for(let t=0;t<15&&v.hasMoreOlderFor(g.workspaceId);t++){for(;F.value;)await new Promise(e=>setTimeout(e,50));if(await z(),await e(),n=W(),n!==null)break}n!==null&&t.setScrollPosition(`vertical`,Math.max(0,n-12),250)}async function K(){I=!1,await e(),await B(0),requestAnimationFrame(()=>{requestAnimationFrame(()=>{I=!0})})}let q=p(()=>v.eventsFor(g.workspaceId).length);async function J(){L.value=!0;let e=Date.now();await new Promise(e=>setTimeout(e,Ee));let t=e+5e3;for(;q.value===0&&Date.now()<t;)await new Promise(e=>setTimeout(e,50));L.value=!1}n(L,async e=>{!e&&q.value>0&&await K()}),i(()=>{J(),q.value>0&&K()});let Y=!1;return n(q,async(e,t)=>{if(!Y&&e>0){Y=!0,await K();return}e>t&&P&&!F.value&&await B(180)}),n(()=>g.workspaceId,()=>{P=!0,Y=!1,I=!1,J(),q.value>0&&K()}),n(()=>b.selectedSessionId,async()=>{P=!0,I=!1,await K()}),n(p(()=>S.value.filter(e=>e.sender!==`system-prompt`).length),async(e,t)=>{e>t&&(P=!0,await B(180))}),(e,n)=>L.value?(t(),m(`div`,ye,[d(O,{size:`40px`,color:`indigo-4`})])):(t(),m(`div`,be,[d(ee,{ref_key:`scrollRef`,ref:M,class:`activity-feed-scroll`,onScroll:R},{default:o(()=>[_(`div`,{ref_key:`contentOriginRef`,ref:H,class:`content-origin-marker`},null,512),F.value?(t(),m(`div`,xe,[d(x,{size:`sm`}),f(` `+c(e.$t(`activity.loading_older`)),1)])):u(``,!0),_(`div`,Se,[(t(!0),m(h,null,r(A.value,(e,n)=>(t(),l(ve,{key:n,ref_for:!0,ref_key:`turnRefs`,ref:V,turn:e},null,8,[`turn`]))),128))]),j.value.length?(t(),m(`div`,Ce,[d(k,{label:e.$t(`activity.raw_lines`,{n:j.value.length}),dense:``},{default:o(()=>[(t(!0),m(h,null,r(j.value,(e,n)=>(t(),m(`div`,{key:n,class:`text-caption text-grey q-pa-xs`},c(e),1))),128))]),_:1},8,[`label`])])):u(``,!0)]),_:1},512),d(C,{round:``,dense:``,unelevated:``,color:`grey-9`,"text-color":`grey-3`,icon:`arrow_upward`,size:`sm`,class:`activity-feed-prev-btn`,title:e.$t(`activity.prev_user_message`),onClick:G},null,8,[`title`])]))}}),[[`__scopeId`,`data-v-51e2c6eb`]]);export{De as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.markdown-message[data-v-158cbb54]{color:#e0e0e0;word-break:break-word;overflow-wrap:anywhere;min-width:0;max-width:100%;font-size:13px;line-height:1.55}.markdown-message[data-v-158cbb54] *{max-width:100%}.markdown-message[data-v-158cbb54] p{margin:0 0 .5em}.markdown-message[data-v-158cbb54] p:last-child{margin-bottom:0}.markdown-message[data-v-158cbb54] pre{background:#00000059;border-radius:4px;margin:.5em 0;padding:.5em .75em;overflow-x:auto}.markdown-message[data-v-158cbb54] code{word-break:break-all;background:#0000004d;border-radius:3px;padding:.1em .3em;font-size:.9em}.markdown-message[data-v-158cbb54] pre code{background:0 0;padding:0}.markdown-message[data-v-158cbb54] ul,.markdown-message[data-v-158cbb54] ol{margin:.25em 0 .5em;padding-left:1.5em}.markdown-message[data-v-158cbb54] li{margin:.15em 0}.markdown-message[data-v-158cbb54] a{color:#7986cb;text-decoration:underline}.markdown-message[data-v-158cbb54] h1,.markdown-message[data-v-158cbb54] h2,.markdown-message[data-v-158cbb54] h3,.markdown-message[data-v-158cbb54] h4,.markdown-message[data-v-158cbb54] h5,.markdown-message[data-v-158cbb54] h6{margin:.5em 0 .3em;font-weight:600;line-height:1.3}.markdown-message[data-v-158cbb54] h1{font-size:1.25em}.markdown-message[data-v-158cbb54] h2{font-size:1.15em}.markdown-message[data-v-158cbb54] h3{font-size:1.08em}.markdown-message[data-v-158cbb54] h4,.markdown-message[data-v-158cbb54] h5,.markdown-message[data-v-158cbb54] h6{font-size:1em}.markdown-message[data-v-158cbb54] blockquote{color:#ffffffb3;border-left:3px solid #fff3;margin:.5em 0;padding-left:.75em}.markdown-message[data-v-158cbb54] table{border-collapse:collapse;margin:.5em 0}.markdown-message[data-v-158cbb54] th,.markdown-message[data-v-158cbb54] td{border:1px solid #ffffff26;padding:.25em .5em}.markdown-thinking[data-v-e9fb9f90] p{margin:0 0 .4em}.markdown-thinking[data-v-e9fb9f90] p:last-child{margin-bottom:0}.markdown-thinking[data-v-e9fb9f90] code{background:#ffffff14;border-radius:3px;padding:.1em .3em}.tool-row[data-v-440d2c83]{border-radius:4px;margin:0;font-size:12px}.tool-header[data-v-440d2c83]{color:#bbb;cursor:default;align-items:center;gap:10px;min-width:0;padding:5px 10px;display:flex}.tool-row:not(.tool-row-generic) .tool-header[data-v-440d2c83]{cursor:pointer}.tool-row:has(.tool-diff) .tool-header[data-v-440d2c83]{cursor:pointer}.tool-row:not(.tool-row-generic) .tool-header[data-v-440d2c83]:hover{background:#ffffff08}.tool-icon[data-v-440d2c83]{color:#9fbce0;flex-shrink:0}.tool-name[data-v-440d2c83]{color:#d0d0d0;flex-shrink:0;font-weight:600}.tool-arg[data-v-440d2c83],.tool-path[data-v-440d2c83]{color:#999;text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;font-family:SF Mono,Menlo,Consolas,monospace;font-size:11.5px;overflow:hidden}.tool-path[data-v-440d2c83],.tool-arg[data-v-440d2c83]{flex:1}.tool-stat-add[data-v-440d2c83]{color:#66bb6a;flex-shrink:0;font-size:11px;font-weight:600}.tool-stat-del[data-v-440d2c83]{color:#ef5350;flex-shrink:0;font-size:11px;font-weight:600}.tool-diff[data-v-440d2c83]{background:#0003;border-radius:4px;max-height:400px;margin-top:4px;padding:8px 0;font-family:SF Mono,Menlo,Consolas,monospace;font-size:11px;line-height:1.5;overflow:auto}.diff-line[data-v-440d2c83]{white-space:pre;color:#bbb;padding:0 12px}.diff-sign[data-v-440d2c83]{color:#555;-webkit-user-select:none;user-select:none;width:14px;display:inline-block}.diff-add[data-v-440d2c83]{color:#c8e6c9;background:#66bb6a1a}.diff-add .diff-sign[data-v-440d2c83]{color:#66bb6a}.diff-del[data-v-440d2c83]{color:#ffcdd2;background:#ef53501a}.diff-del .diff-sign[data-v-440d2c83]{color:#ef5350}.tool-output[data-v-440d2c83]{color:#aaa;white-space:pre-wrap;background:#00000026;border-radius:4px;max-height:8em;margin-top:4px;padding:6px 10px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:11px;overflow:auto}.markdown-message[data-v-cb8cec0f]{color:#e0e0e0;word-break:break-word;overflow-wrap:anywhere;min-width:0;max-width:100%;font-size:13px;line-height:1.55}.markdown-message[data-v-cb8cec0f] *{max-width:100%}.markdown-message[data-v-cb8cec0f] code{word-break:break-all}.markdown-message[data-v-cb8cec0f] p{margin:0 0 .4em}.markdown-message[data-v-cb8cec0f] p:last-child{margin-bottom:0}.markdown-message[data-v-cb8cec0f] code{background:#00000040;border-radius:3px;padding:.1em .3em}.markdown-message[data-v-cb8cec0f] h1,.markdown-message[data-v-cb8cec0f] h2,.markdown-message[data-v-cb8cec0f] h3,.markdown-message[data-v-cb8cec0f] h4,.markdown-message[data-v-cb8cec0f] h5,.markdown-message[data-v-cb8cec0f] h6{margin:.4em 0 .25em;font-weight:600;line-height:1.3}.markdown-message[data-v-cb8cec0f] h1{font-size:1.25em}.markdown-message[data-v-cb8cec0f] h2{font-size:1.15em}.markdown-message[data-v-cb8cec0f] h3{font-size:1.08em}.markdown-message[data-v-cb8cec0f] h4,.markdown-message[data-v-cb8cec0f] h5,.markdown-message[data-v-cb8cec0f] h6{font-size:1em}.markdown-user-prompt[data-v-cb8cec0f]{color:#aaa;font-size:12px;font-style:italic}.markdown-user-prompt[data-v-cb8cec0f] p{margin:0 0 .4em}.markdown-user-prompt[data-v-cb8cec0f] code{background:#ffffff14;border-radius:3px;padding:.1em .3em;font-style:normal}.turn-card[data-v-8a9ce6dd]{border:1px solid #ffffff14;border-left:3px solid var(--turn-accent);background:#ffffff05;border-radius:6px;min-width:0;max-width:100%;margin:14px 0;overflow:hidden}.turn-header[data-v-8a9ce6dd]{color:#888;background:#ffffff08;border-bottom:1px solid #ffffff0d;align-items:center;gap:8px;padding:8px 14px;font-size:11px;display:flex}.turn-badge[data-v-8a9ce6dd]{letter-spacing:.3px;border-radius:3px;padding:2px 8px;font-size:11px;font-weight:700}.turn-badge-user[data-v-8a9ce6dd]{color:#ce93d8;background:#ce93d826}.turn-badge-agent[data-v-8a9ce6dd]{color:#7986cb;background:#7986cb26}.turn-badge-system[data-v-8a9ce6dd]{color:#bdbdbd;background:#75757533;font-style:italic}.turn-badge-session[data-v-8a9ce6dd]{color:#9e9e9e;background:#61616133}.turn-time[data-v-8a9ce6dd]{color:#666;font-family:SF Mono,Menlo,Consolas,monospace;font-size:11px}.turn-actions[data-v-8a9ce6dd]{color:#777;font-size:11px}.turn-body[data-v-8a9ce6dd]{flex-direction:column;gap:12px;min-width:0;padding:14px 18px;display:flex}.turn-body[data-v-8a9ce6dd]>*{min-width:0;max-width:100%}.turn-body[data-v-8a9ce6dd] .tool-row+.tool-row{margin-top:-8px}.activity-feed-wrap[data-v-51e2c6eb]{width:100%;height:100%;position:relative}.activity-feed-scroll[data-v-51e2c6eb]{width:100%;height:100%}.activity-feed-prev-btn[data-v-51e2c6eb]{z-index:2;opacity:.8;transition:opacity .12s;position:absolute;bottom:14px;right:14px}.activity-feed-prev-btn[data-v-51e2c6eb]:hover{opacity:1}.content-origin-marker[data-v-51e2c6eb]{pointer-events:none;width:0;height:0;margin:0;padding:0}.activity-feed-scroll[data-v-51e2c6eb] .q-scrollarea__content{max-width:100%;overflow-x:hidden}.activity-feed-switching[data-v-51e2c6eb]{justify-content:center;align-items:center;width:100%;height:100%;display:flex}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/editor.main-Cc_RDKsq.js","assets/index-D997aY4Y.js","assets/vue-i18n-CeG0hR0Z.js","assets/runtime-core.esm-bundler-C3IgBgY5.js","assets/QIcon-B0-pH3Qs.js","assets/use-id-CeduaJbU.js","assets/QSeparator-rkjCbX2M.js","assets/QBtn-p1aZtrJH.js","assets/QDialog-D42GLa1i.js","assets/scroll-Dh2g7BwR.js","assets/use-portal-mhLq4Rqk.js","assets/private.use-form-D1RuEt2P.js","assets/symbols-DCYodwb2.js","assets/index-eX_lKHSg.css","assets/editor.api-D6ZaO4A_.js","assets/editor-COGk2gAX.css","assets/monaco.contribution-BsBaFOOD.js","assets/editor-CS3NEPi9.css"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{F as e,H as t,L as n,M as r,N as i,Q as a,S as o,U as s,_t as c,bt as l,d as u,f as d,g as f,h as ee,l as p,p as m,r as h,u as g,v as _,yt as v}from"./runtime-core.esm-bundler-C3IgBgY5.js";import{O as y,a as b,s as te,t as x}from"./QIcon-B0-pH3Qs.js";import{t as ne}from"./QSeparator-rkjCbX2M.js";import{n as S,t as C}from"./QBtn-p1aZtrJH.js";import{r as w,t as T}from"./private.use-form-D1RuEt2P.js";import{n as re}from"./vue-i18n-CeG0hR0Z.js";import{f as ie}from"./index-D997aY4Y.js";import{t as E}from"./QSpinnerDots-By20ptst.js";import{t as ae}from"./QScrollArea-L6wUiA20.js";import{t as D}from"./_plugin-vue_export-helper-CEhRWsKN.js";import{t as O}from"./QBadge-BUkmTO0P.js";import{t as oe}from"./QSpace-PlDK6Fg3.js";import{t as se}from"./QTooltip-Cg9E3Dvw.js";var k=y({name:`QBtnGroup`,props:{unelevated:Boolean,outline:Boolean,flat:Boolean,rounded:Boolean,square:Boolean,push:Boolean,stretch:Boolean,glossy:Boolean,spread:Boolean},setup(e,{slots:t}){let n=p(()=>{let t=[`unelevated`,`outline`,`flat`,`rounded`,`square`,`push`,`stretch`,`glossy`].filter(t=>e[t]===!0).map(e=>`q-btn-group--${e}`).join(` `);return`q-btn-group row no-wrap${t.length===0?``:` `+t}`+(e.spread===!0?` q-btn-group--spread`:` inline`)});return()=>o(`div`,{class:n.value},te(t.default))}}),ce=y({name:`QBtnToggle`,props:{...w,modelValue:{required:!0},options:{type:Array,required:!0,validator:e=>e.every(e=>(`label`in e||`icon`in e||`slot`in e)&&`value`in e)},color:String,textColor:String,toggleColor:{type:String,default:`primary`},toggleTextColor:String,outline:Boolean,flat:Boolean,unelevated:Boolean,rounded:Boolean,push:Boolean,glossy:Boolean,size:String,padding:String,noCaps:Boolean,noWrap:Boolean,dense:Boolean,readonly:Boolean,disable:Boolean,stack:Boolean,stretch:Boolean,spread:Boolean,clearable:Boolean,ripple:{type:[Boolean,Object],default:!0}},emits:[`update:modelValue`,`clear`,`click`],setup(e,{slots:t,emit:n}){let r=p(()=>e.options.find(t=>t.value===e.modelValue)!==void 0),i=T(p(()=>({type:`hidden`,name:e.name,value:e.modelValue}))),a=p(()=>S(e)),s=p(()=>({rounded:e.rounded,dense:e.dense,...a.value})),c=p(()=>e.options.map((t,n)=>{let{attrs:r,value:i,slot:a,...o}=t;return{slot:a,props:{key:n,"aria-pressed":i===e.modelValue?`true`:`false`,...r,...o,...s.value,disable:e.disable===!0||o.disable===!0,color:i===e.modelValue?u(o,`toggleColor`):u(o,`color`),textColor:i===e.modelValue?u(o,`toggleTextColor`):u(o,`textColor`),noCaps:u(o,`noCaps`)===!0,noWrap:u(o,`noWrap`)===!0,size:u(o,`size`),padding:u(o,`padding`),ripple:u(o,`ripple`),stack:u(o,`stack`)===!0,stretch:u(o,`stretch`)===!0,onClick(e){l(i,t,e)}}}}));function l(t,r,i){e.readonly!==!0&&(e.modelValue===t?e.clearable===!0&&(n(`update:modelValue`,null,null),n(`clear`)):n(`update:modelValue`,t,r),n(`click`,i))}function u(t,n){return t[n]===void 0?e[n]:t[n]}function d(){let n=c.value.map(e=>o(C,e.props,e.slot===void 0?void 0:t[e.slot]));return e.name!==void 0&&e.disable!==!0&&r.value===!0&&i(n,`push`),b(t.default,n)}return()=>o(k,{class:`q-btn-toggle`,...a.value,rounded:e.rounded,stretch:e.stretch,glossy:e.glossy,spread:e.spread},d)}}),le={class:`diff-viewer column full-height`},ue={class:`diff-header row items-center q-px-md q-py-sm no-wrap`},A={class:`text-body1 text-weight-medium text-grey-3`},j={key:0,class:`text-caption text-grey-6 q-ml-md`,style:{"font-size":`11px`}},M={class:`text-grey-7`},N={class:`text-green-4`},P={key:1,class:`text-caption text-grey-5 q-ml-md ellipsis`,style:{"font-size":`11px`,"font-family":`'Roboto Mono', monospace`,"max-width":`400px`}},F={class:`row col no-wrap`,style:{"min-height":`0`}},I={key:1,class:`text-caption text-grey-8 q-pa-sm`},L=[`onClick`],R={class:`text-caption text-grey-4`,style:{"font-size":`11px`}},z=[`onClick`],B={class:`text-caption text-grey-3 ellipsis`,style:{"font-size":`11px`}},V={class:`col column`,style:{"min-width":`0`,position:`relative`}},H={key:0,class:`col column items-center justify-center`},U={key:1,class:`col column items-center justify-center text-grey-8 text-caption`},W=D(_({__name:`DiffViewer`,props:{workspaceId:{}},emits:[`close`,`sendToChat`],setup(o,{emit:_}){let y=o,b=_,{t:te}=re(),S=a([]),w=a(``),T=a(``),D=a(null),k=a(!1),W=a(!1),G=a(null),K=a(`side`),q=a(new Set),J=null,Y=null,X=[];function Z(e){let t=0;for(let n of e)n.isDir?t+=Z(n.children):t++;return t}let de=p(()=>{let e=[];for(let t of S.value){let n=t.path.split(`/`),r=e;for(let e=0;e<n.length;e++){let i=n[e],a=e===n.length-1,o=n.slice(0,e+1).join(`/`),s=r.find(e=>e.name===i&&e.isDir===!a);s||(s={name:i,path:a?t.path:o,isDir:!a,status:a?t.status:void 0,children:[]},r.push(s)),r=s.children}}function t(e){e.sort((e,t)=>e.isDir===t.isDir?e.name.localeCompare(t.name):e.isDir?-1:1);for(let n of e)n.children.length>0&&t(n.children)}return t(e),e}),fe=p(()=>{let e=[];function t(n,r){for(let i of n)i.isDir?(e.push({name:i.name,path:i.path,isDir:!0,depth:r,fileCount:Z(i.children)}),q.value.has(i.path)||t(i.children,r+1)):e.push({name:i.name,path:i.path,isDir:!1,depth:r,status:i.status})}return t(de.value,0),e});function pe(e){q.value.has(e)?q.value.delete(e):q.value.add(e)}async function me(){k.value=!0;try{let e=await fetch(`/api/workspaces/${y.workspaceId}/diff`);if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await e.json();S.value=t.files,w.value=t.sourceBranch??``,T.value=t.workingBranch??``}catch(e){console.error(`Failed to load diff files:`,e)}finally{k.value=!1}}async function Q(e){if(G.value){W.value=!0;try{J||(self.MonacoEnvironment={getWorker(e,t){return t===`json`?new Worker(new URL(`/assets/json.worker-C9p7xCYk.js`,``+import.meta.url),{type:`module`}):t===`css`||t===`scss`||t===`less`?new Worker(new URL(`/assets/css.worker-D1piIYC4.js`,``+import.meta.url),{type:`module`}):t===`html`||t===`handlebars`||t===`razor`?new Worker(new URL(`/assets/html.worker-C4q4XMPn.js`,``+import.meta.url),{type:`module`}):t===`typescript`||t===`javascript`?new Worker(new URL(`/assets/ts.worker-Cj3zTgVE.js`,``+import.meta.url),{type:`module`}):new Worker(new URL(`/assets/editor.worker-CJ9iTmkr.js`,``+import.meta.url),{type:`module`})}},J=await ie(()=>import(`./editor.main-Cc_RDKsq.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17])),J.editor.defineTheme(`kobo-dark`,{base:`vs-dark`,inherit:!0,rules:[],colors:{"editor.background":`#1a1a2e`,"diffEditor.insertedTextBackground":`#22c55e20`,"diffEditor.removedTextBackground":`#ef444420`}}));let t=await fetch(`/api/workspaces/${y.workspaceId}/diff-file?path=${encodeURIComponent(e)}`);if(!t.ok)throw Error(`HTTP ${t.status}`);let n=await t.json(),r={ts:`typescript`,tsx:`typescript`,js:`javascript`,jsx:`javascript`,vue:`html`,html:`html`,css:`css`,scss:`scss`,json:`json`,md:`markdown`,yaml:`yaml`,yml:`yaml`,sh:`shell`,sql:`sql`,py:`python`,rs:`rust`,go:`go`}[e.split(`.`).pop()??``]??`plaintext`;if(Y){for(let e of X)e.dispose();X=[];let e=Y.getModel();Y.dispose(),Y=null,e?.original?.dispose(),e?.modified?.dispose()}let i=J.editor.createModel(n.original??``,r),a=J.editor.createModel(n.modified??``,r);Y=J.editor.createDiffEditor(G.value,{theme:`kobo-dark`,readOnly:!0,renderSideBySide:K.value===`side`,automaticLayout:!0,minimap:{enabled:!1},scrollBeyondLastLine:!1,fontSize:12,lineHeight:18}),Y.setModel({original:i,modified:a}),he()}catch(e){console.error(`Failed to load file diff:`,e)}finally{W.value=!1}}}let $=a(!1);function he(){if(!Y)return;for(let e of X)e.dispose();X=[];let e=Y.getModifiedEditor(),t=Y.getOriginalEditor();for(let n of[e,t]){let e=n.onDidChangeCursorSelection(()=>{let e=n.getSelection();$.value=!!(e&&!e.isEmpty())});X.push(e)}}function ge(){if(!(!Y||!D.value))for(let e of[Y.getModifiedEditor(),Y.getOriginalEditor()]){let t=e.getSelection();if(t&&!t.isEmpty()){let n=e.getModel();if(!n)continue;let r=n.getValueInRange(t),i=e===Y.getModifiedEditor()?`modified`:`original`;b(`sendToChat`,`\`\`\`\n// ${D.value} (${i}) L${t.startLineNumber}-L${t.endLineNumber}\n${r}\n\`\`\``);return}}}t(D,e=>{e&&Q(e)}),t(K,()=>{Y&&Y.updateOptions({renderSideBySide:K.value===`side`})});function _e(e){switch(e){case`added`:return`add_circle`;case`deleted`:return`remove_circle`;case`renamed`:return`drive_file_rename_outline`;default:return`edit`}}function ve(e){switch(e){case`added`:return`#4ade80`;case`deleted`:return`#f87171`;case`renamed`:return`#60a5fa`;default:return`#f59e0b`}}return r(me),i(()=>{for(let e of X)e.dispose();if(X=[],Y){let e=Y.getModel();Y.dispose(),Y=null,e?.original?.dispose(),e?.modified?.dispose()}}),(t,r)=>(e(),m(`div`,le,[g(`div`,ue,[f(x,{name:`difference`,size:`18px`,color:`indigo-4`,class:`q-mr-xs`}),g(`span`,A,l(t.$t(`diff.title`)),1),f(O,{label:`${S.value.length}`,color:`grey-8`,"text-color":`grey-4`,class:`q-ml-sm`,style:{"font-size":`10px`}},null,8,[`label`]),w.value?(e(),m(`span`,j,[g(`span`,M,l(w.value),1),f(x,{name:`arrow_forward`,size:`11px`,color:`grey-8`,class:`q-mx-xs`}),g(`span`,N,l(T.value),1)])):d(``,!0),D.value?(e(),m(`span`,P,l(D.value),1)):d(``,!0),f(oe),f(ce,{modelValue:K.value,"onUpdate:modelValue":r[0]||=e=>K.value=e,dense:``,"no-caps":``,size:`sm`,"toggle-color":`indigo-8`,color:`grey-9`,"text-color":`grey-5`,options:[{label:t.$t(`diff.side`),value:`side`},{label:t.$t(`diff.inline`),value:`inline`}],class:`q-mr-sm`},null,8,[`modelValue`,`options`]),f(C,{flat:``,round:``,dense:``,icon:`close`,color:`grey-5`,size:`sm`,onClick:r[1]||=e=>b(`close`)},{default:s(()=>[f(se,null,{default:s(()=>[ee(l(t.$t(`tooltip.closeDiffViewer`)),1)]),_:1})]),_:1})]),f(ne,{dark:``}),g(`div`,F,[f(ae,{class:`diff-file-list q-pa-xs`,style:{width:`280px`,"min-width":`200px`,height:`100%`,"border-right":`1px solid #2a2a4a`}},{default:s(()=>[k.value?(e(),u(E,{key:0,size:`24px`,color:`grey-6`,class:`q-ma-md`})):S.value.length===0?(e(),m(`div`,I,l(t.$t(`diff.noChanges`)),1)):(e(!0),m(h,{key:2},n(fe.value,t=>(e(),m(h,{key:t.path},[t.isDir?(e(),m(`div`,{key:0,class:`diff-dir-item cursor-pointer`,style:v({paddingLeft:`${t.depth*12+4}px`}),onClick:e=>pe(t.path)},[f(x,{name:q.value.has(t.path)?`chevron_right`:`expand_more`,size:`14px`,color:`grey-6`},null,8,[`name`]),f(x,{name:`folder`,size:`13px`,color:`amber-7`,class:`q-mx-xs`}),g(`span`,R,l(t.name),1),f(O,{label:t.fileCount,color:`grey-9`,"text-color":`grey-5`,class:`q-ml-xs`,style:{"font-size":`9px`}},null,8,[`label`])],12,L)):(e(),m(`div`,{key:1,class:c([`diff-file-item cursor-pointer`,{"diff-file-item--active":D.value===t.path}]),style:v({paddingLeft:`${t.depth*12+20}px`}),onClick:e=>D.value=t.path},[f(x,{name:_e(t.status),size:`11px`,style:v({color:ve(t.status)}),class:`q-mr-xs`},null,8,[`name`,`style`]),g(`span`,B,l(t.name),1)],14,z))],64))),128))]),_:1}),g(`div`,V,[W.value?(e(),m(`div`,H,[f(E,{size:`32px`,color:`indigo-4`})])):D.value?d(``,!0):(e(),m(`div`,U,l(t.$t(`diff.selectFile`)),1)),g(`div`,{ref_key:`editorContainer`,ref:G,class:`col`,style:{"min-height":`0`}},null,512),$.value?(e(),u(C,{key:2,"no-caps":``,dense:``,size:`sm`,color:`primary`,icon:`chat`,label:t.$t(`diff.addToChat`),class:`send-to-chat-btn`,onClick:ge},null,8,[`label`])):d(``,!0)])])]))}}),[[`__scopeId`,`data-v-4ed3860e`]]);export{W as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.diff-viewer[data-v-4ed3860e]{background-color:#1a1a2e}.diff-header[data-v-4ed3860e]{background-color:#16162a;border-bottom:1px solid #2a2a4a;min-height:48px}.diff-file-list[data-v-4ed3860e]{background-color:#16162a;border-color:#2a2a4a}.diff-dir-item[data-v-4ed3860e]{align-items:center;padding:4px 0;display:flex}.diff-dir-item[data-v-4ed3860e]:hover{background-color:#ffffff08}.diff-file-item[data-v-4ed3860e]{align-items:center;padding:4px 0;transition:background-color .15s;display:flex}.diff-file-item[data-v-4ed3860e]:hover{background-color:#2a2a4a}.diff-file-item--active[data-v-4ed3860e]{background-color:#2a2a4a;border-left:2px solid #6c63ff;outline:1px solid #6c63ff66}.send-to-chat-btn[data-v-4ed3860e]{z-index:10;padding:2px 10px;font-size:11px;position:absolute;bottom:16px;right:16px}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.acceptance-item[data-v-63b144ad]{padding:2px 0}.acceptance-item[data-v-63b144ad]:hover{background-color:#ffffff08}.acceptance-item:hover .criterion-delete-btn[data-v-63b144ad]{opacity:1}.criterion-delete-btn[data-v-63b144ad]{opacity:0;transition:opacity .15s}.acceptance-title[data-v-63b144ad]{word-break:break-word;cursor:text;line-height:1.4}.text-strike[data-v-63b144ad]{opacity:.7;text-decoration:line-through}.criterion-input[data-v-63b144ad] .q-field__control{height:22px;min-height:22px;padding:0}.criterion-input[data-v-63b144ad] input{color:#e0e0e0;font-size:12px}.criterion-input[data-v-63b144ad] input::placeholder{color:#555}.criterion-add-row[data-v-63b144ad],.todo-item[data-v-4eddf754]{padding:2px 0}.todo-title[data-v-4eddf754]{word-break:break-word;line-height:1.4}.text-strike[data-v-4eddf754]{opacity:.7;text-decoration:line-through}.git-btn[data-v-bd0c8440]{padding:2px 10px;font-size:11px}.notion-link[data-v-99e38dbd]{text-decoration:none;display:inline-flex}.notion-link[data-v-99e38dbd]:hover{text-decoration:underline}.task-item[data-v-99e38dbd]{padding:2px 0}.task-item[data-v-99e38dbd]:hover{background-color:#ffffff08}.task-item:hover .task-delete-btn[data-v-99e38dbd]{opacity:1}.task-delete-btn[data-v-99e38dbd]{opacity:0;transition:opacity .15s}.task-title[data-v-99e38dbd]{word-break:break-word;cursor:text;line-height:1.4}.text-strike[data-v-99e38dbd]{opacity:.7;text-decoration:line-through}.task-input[data-v-99e38dbd] .q-field__control{height:22px;min-height:22px;padding:0}.task-input[data-v-99e38dbd] input{color:#e0e0e0;font-size:12px}.task-input[data-v-99e38dbd] input::placeholder{color:#555}.task-add-row[data-v-99e38dbd]{padding:2px 0}.plan-content[data-v-442c2eef]{color:#d0d0d0;overflow-wrap:break-word;font-size:12px;line-height:1.6}.plan-content[data-v-442c2eef] h1{color:#e0e0e0;margin:16px 0 8px;font-size:16px}.plan-content[data-v-442c2eef] h2{color:#e0e0e0;margin:14px 0 6px;font-size:14px}.plan-content[data-v-442c2eef] h3{color:#e0e0e0;margin:12px 0 4px;font-size:13px}.plan-content[data-v-442c2eef] code{background:#1a1a2e;border-radius:3px;padding:1px 4px;font-family:Roboto Mono,monospace;font-size:11px}.plan-content[data-v-442c2eef] pre{background:#1a1a2e;border-radius:6px;padding:8px 12px;font-size:11px;overflow-x:auto}.plan-content[data-v-442c2eef] pre code{background:0 0;padding:0}.plan-content[data-v-442c2eef] ul,.plan-content[data-v-442c2eef] ol{padding-left:20px}.plan-content[data-v-442c2eef] li{margin-bottom:2px}.plan-content[data-v-442c2eef] input[type=checkbox]{pointer-events:none;margin-right:6px}.plan-content[data-v-442c2eef] table{border-collapse:collapse;width:100%;margin:8px 0;font-size:11px}.plan-content[data-v-442c2eef] th,.plan-content[data-v-442c2eef] td{text-align:left;border:1px solid #2a2a4a;padding:4px 8px}.plan-content[data-v-442c2eef] th{color:#e0e0e0;background:#1a1a2e}.plan-content[data-v-442c2eef] blockquote{color:#a0a0b0;border-left:3px solid #4a4a6a;margin:8px 0;padding:4px 12px}.plan-content[data-v-442c2eef] a{color:#818cf8}.plan-content[data-v-442c2eef] hr{border:none;border-top:1px solid #2a2a4a;margin:12px 0}.stat-group-label[data-v-61fd94e7]{text-transform:uppercase;letter-spacing:.05em;color:#888;font-size:10px;font-weight:600}.stat-row[data-v-61fd94e7]{justify-content:space-between;align-items:center;padding:2px 0;display:flex}.stat-label[data-v-61fd94e7]{color:#999;font-size:12px}.stat-value[data-v-61fd94e7]{color:#ddd;font-family:Roboto Mono,monospace;font-size:12px;font-weight:500}.stat-value-muted[data-v-61fd94e7]{color:#999;margin-left:4px;font-size:11px}.stat-subtext[data-v-61fd94e7]{color:#8a8aa8;font-size:11px}.usage-breakdown[data-v-61fd94e7]{background:#2a2a4f;border:1px solid #3b3b61;border-radius:999px;width:100%;height:8px;display:flex;overflow:hidden}.usage-breakdown-input[data-v-61fd94e7]{background:linear-gradient(90deg,#6d76ff 0%,#8f96ff 100%);height:100%}.usage-breakdown-output[data-v-61fd94e7]{background:linear-gradient(90deg,#7f6bff 0%,#a598ff 100%);height:100%}.stat-value-ellipsis[data-v-61fd94e7]{text-overflow:ellipsis;white-space:nowrap;max-width:140px;overflow:hidden}.stat-section[data-v-61fd94e7]{justify-content:space-between;align-items:center;display:flex}.subagents-panel[data-v-81ad2481]{overflow-y:auto}.subagent-item[data-v-81ad2481]{background:#1e1e3a;border:1px solid #2a2a4a}.xterm{cursor:text;-webkit-user-select:none;user-select:none;position:relative}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{z-index:5;position:absolute;top:0}.xterm .xterm-helper-textarea{opacity:0;z-index:-5;white-space:nowrap;resize:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute;top:0;left:-9999em;overflow:hidden}.xterm .composition-view{color:#fff;white-space:nowrap;z-index:1;background:#000;display:none;position:absolute}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{cursor:default;background-color:#000;position:absolute;top:0;bottom:0;left:0;right:0;overflow-y:scroll}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;top:0;left:0}.xterm-char-measure-element{visibility:hidden;line-height:normal;display:inline-block;position:absolute;top:0;left:-9999em}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{z-index:10;color:#0000;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.xterm .xterm-accessibility-tree:not(.debug) ::-moz-selection{color:#0000}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:#0000}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre;font-family:monospace}.xterm .xterm-accessibility-tree>div{transform-origin:0;width:-moz-fit-content;width:fit-content}.xterm .live-region{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:underline double;text-decoration:underline double}.xterm-underline-3{-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.xterm-underline-4{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.xterm-underline-5{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:underline overline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;pointer-events:none;position:absolute;top:0;right:0}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;z-index:11;background:0 0;transition:opacity .1s linear}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{display:none;position:absolute}.xterm .xterm-scrollable-element>.shadow.top{width:100%;height:3px;box-shadow:var(--vscode-scrollbar-shadow,#000) 0 6px 6px -6px inset;display:block;top:0;left:3px}.xterm .xterm-scrollable-element>.shadow.left{width:3px;height:100%;box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset;display:block;top:3px;left:0}.xterm .xterm-scrollable-element>.shadow.top-left-corner{width:3px;height:3px;display:block;top:0;left:0}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset}.log-content[data-v-9e03d2b2]{max-height:60vh;overflow-y:auto}.log-text[data-v-9e03d2b2]{color:#ccc;white-space:pre-wrap;word-break:break-all;background:#0d0d1a;margin:0;font-family:JetBrains Mono,Fira Code,monospace;font-size:11px}.dd-panel[data-v-20c5f4bd],.tools-panel[data-v-e0d46842]{min-height:48px}.workspace-list[data-v-d338c975]{background-color:#16162a;overflow-x:hidden}.wl-search[data-v-d338c975]{background-color:#224;padding:0 8px}.wl-search[data-v-d338c975] .q-field__control{height:32px}.wl-search[data-v-d338c975] input{color:#ccc;font-size:12px}.wl-group-header[data-v-d338c975]:hover{background-color:#ffffff08}.wl-project-group+.wl-project-group[data-v-d338c975]{margin-top:6px}.wl-project-label[data-v-d338c975]{align-items:center;padding-bottom:2px;font-size:11px;display:flex}.wl-item[data-v-d338c975]{background-color:#224;margin-bottom:4px;transition:background-color .15s;position:relative}.wl-item[data-v-d338c975]:last-child{margin-bottom:0}.wl-item[data-v-d338c975]:hover{background-color:#2a2a4a}.wl-item--selected[data-v-d338c975]{background-color:#2a2a4a;outline:1px solid #6c63ff66}.wl-item-action[data-v-d338c975]{position:absolute;top:4px;right:4px}.wl-item--archived .wl-item-action[data-v-d338c975]{opacity:0;transition:opacity .15s}.wl-item--archived:hover .wl-item-action[data-v-d338c975]{opacity:1}.wl-item-unarchive[data-v-d338c975]{right:28px}.wl-item-delete[data-v-d338c975]{right:4px}.wl-item--archived[data-v-d338c975]{opacity:.6;background-color:#1a1a30}.wl-item--archived[data-v-d338c975]:hover{opacity:.85}.wl-item--archived.wl-item--selected[data-v-d338c975]{opacity:1}.dd-dot[data-v-d338c975]{border-radius:50%;flex-shrink:0;width:6px;height:6px}.dd-dot--running[data-v-d338c975]{background-color:#22c55e;box-shadow:0 0 4px #22c55e80}.bg-dark[data-v-0ee91c5b]{background-color:#16162a!important;border-color:#2a2a4a!important}.resize-handle[data-v-0ee91c5b]{cursor:col-resize;z-index:10;width:4px;height:100%;transition:background-color .15s;position:absolute;top:0;right:-2px}.resize-handle[data-v-0ee91c5b]:hover,.resize-handle[data-v-0ee91c5b]:active{background-color:#6c63ff80}.resize-handle--right[data-v-0ee91c5b]{left:-2px;right:auto}.vertical-resize-handle[data-v-0ee91c5b]{cursor:row-resize;background-color:#2a2a4a;height:4px;transition:background-color .15s}.vertical-resize-handle[data-v-0ee91c5b]:hover,.vertical-resize-handle[data-v-0ee91c5b]:active{background-color:#6c63ff80}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Q as e,S as t,W as n,k as r,l as i,rt as a,y as o}from"./runtime-core.esm-bundler-C3IgBgY5.js";import{C as s,D as c,E as l,M as u,O as d,_ as f,a as p,f as m,k as h,l as g,m as _,p as v,t as y,v as b,w as x,x as S}from"./QIcon-B0-pH3Qs.js";function C(e){if(Object(e.$parent)===e.$parent)return e.$parent;let{parent:t}=e.$;for(;Object(t)===t;){if(Object(t.proxy)===t.proxy)return t.proxy;t=t.parent}}function w(e,t){typeof t.type==`symbol`?Array.isArray(t.children)===!0&&t.children.forEach(t=>{w(e,t)}):e.add(t)}function T(e){let t=new Set;return e.forEach(e=>{w(t,e)}),Array.from(t)}function E(e){return e.appContext.config.globalProperties.$router!==void 0}function D(e){return e.isUnmounted===!0||e.isDeactivated===!0}function O(e,t){let n=e.style;for(let e in t)n[e]=t[e]}function k(e){if(e==null)return;if(typeof e==`string`)try{return document.querySelector(e)||void 0}catch{return}let t=a(e);if(t)return t.$el||t}function A(e,t){if(e==null||e.contains(t)===!0)return!0;for(let n=e.nextElementSibling;n!==null;n=n.nextElementSibling)if(n.contains(t))return!0;return!1}function j(e,t=250){let n=!1,r;return function(){return n===!1&&(n=!0,setTimeout(()=>{n=!1},t),r=e.apply(this,arguments)),r}}function M(e,t,n,r){n.modifiers.stop===!0&&l(e);let i=n.modifiers.color,a=n.modifiers.center;a=a===!0||r===!0;let o=document.createElement(`span`),c=document.createElement(`span`),u=s(e),{left:d,top:f,width:p,height:m}=t.getBoundingClientRect(),h=Math.sqrt(p*p+m*m),g=h/2,_=`${(p-h)/2}px`,v=a?_:`${u.left-d-g}px`,y=`${(m-h)/2}px`,b=a?y:`${u.top-f-g}px`;c.className=`q-ripple__inner`,O(c,{height:`${h}px`,width:`${h}px`,transform:`translate3d(${v},${b},0) scale3d(.2,.2,1)`,opacity:0}),o.className=`q-ripple${i?` text-`+i:``}`,o.setAttribute(`dir`,`ltr`),o.appendChild(c),t.appendChild(o);let x=()=>{o.remove(),clearTimeout(S)};n.abort.push(x);let S=setTimeout(()=>{c.classList.add(`q-ripple__inner--enter`),c.style.transform=`translate3d(${_},${y},0) scale3d(1,1,1)`,c.style.opacity=.2,S=setTimeout(()=>{c.classList.remove(`q-ripple__inner--enter`),c.classList.add(`q-ripple__inner--leave`),c.style.opacity=0,S=setTimeout(()=>{o.remove(),n.abort.splice(n.abort.indexOf(x),1)},275)},250)},50)}function N(e,{modifiers:t,value:n,arg:r}){let i=Object.assign({},e.cfg.ripple,t,n);e.modifiers={early:i.early===!0,stop:i.stop===!0,center:i.center===!0,color:i.color||r,keyCodes:[].concat(i.keyCodes||13)}}var P=h({name:`ripple`,beforeMount(e,t){let n=t.instance.$.appContext.config.globalProperties.$q.config||{};if(n.ripple===!1)return;let r={cfg:n,enabled:t.value!==!1,modifiers:{},abort:[],start(t){r.enabled===!0&&t.qSkipRipple!==!0&&t.type===(r.modifiers.early===!0?`pointerdown`:`click`)&&M(t,e,r,t.qKeyEvent===!0)},keystart:j(t=>{r.enabled===!0&&t.qSkipRipple!==!0&&_(t,r.modifiers.keyCodes)===!0&&t.type===`key${r.modifiers.early===!0?`down`:`up`}`&&M(t,e,r,!0)},300)};N(r,t),e.__qripple=r,f(r,`main`,[[e,`pointerdown`,`start`,`passive`],[e,`click`,`start`,`passive`],[e,`keydown`,`keystart`,`passive`],[e,`keyup`,`keystart`,`passive`]])},updated(e,t){if(t.oldValue!==t.value){let n=e.__qripple;n!==void 0&&(n.enabled=t.value!==!1,n.enabled===!0&&Object(t.value)===t.value&&N(n,t))}},beforeUnmount(e){let t=e.__qripple;t!==void 0&&(t.abort.forEach(e=>{e()}),b(t,`main`),delete e._qripple)}}),F={left:`start`,center:`center`,right:`end`,between:`between`,around:`around`,evenly:`evenly`,stretch:`stretch`},I=Object.keys(F),L={align:{type:String,validator:e=>I.includes(e)}};function R(e){return i(()=>{let t=e.align===void 0?e.vertical===!0?`stretch`:`left`:e.align;return`${e.vertical===!0?`items`:`justify`}-${F[t]}`})}function z(e){return e?e.aliasOf?e.aliasOf.path:e.path:``}function B(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function V(e,t){for(let n in t){let r=t[n],i=e[n];if(typeof r==`string`){if(r!==i)return!1}else if(Array.isArray(i)===!1||i.length!==r.length||r.some((e,t)=>e!==i[t]))return!1}return!0}function H(e,t){return Array.isArray(t)===!0?e.length===t.length&&e.every((e,n)=>e===t[n]):e.length===1&&e[0]===t}function U(e,t){return Array.isArray(e)===!0?H(e,t):Array.isArray(t)===!0?H(t,e):e===t}function W(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(U(e[n],t[n])===!1)return!1;return!0}var G={to:[String,Object],replace:Boolean,href:String,target:String,disable:Boolean},K={...G,exact:Boolean,activeClass:{type:String,default:`q-router-link--active`},exactActiveClass:{type:String,default:`q-router-link--exact-active`}};function q({fallbackTag:e,useDisableForRouterLinkProps:t=!0}={}){let n=o(),{props:r,proxy:a,emit:s}=n,c=E(n),l=i(()=>r.disable!==!0&&r.href!==void 0),u=i(t===!0?()=>c===!0&&r.disable!==!0&&l.value!==!0&&r.to!==void 0&&r.to!==null&&r.to!==``:()=>c===!0&&l.value!==!0&&r.to!==void 0&&r.to!==null&&r.to!==``),d=i(()=>u.value===!0?b(r.to):null),f=i(()=>d.value!==null),p=i(()=>l.value===!0||f.value===!0),m=i(()=>r.type===`a`||p.value===!0?`a`:r.tag||e||`div`),h=i(()=>l.value===!0?{href:r.href,target:r.target}:f.value===!0?{href:d.value.href,target:r.target}:{}),g=i(()=>{if(f.value===!1)return-1;let{matched:e}=d.value,{length:t}=e,n=e[t-1];if(n===void 0)return-1;let r=a.$route.matched;if(r.length===0)return-1;let i=r.findIndex(B.bind(null,n));if(i!==-1)return i;let o=z(e[t-2]);return t>1&&z(n)===o&&r[r.length-1].path!==o?r.findIndex(B.bind(null,e[t-2])):i}),_=i(()=>f.value===!0&&g.value!==-1&&V(a.$route.params,d.value.params)),v=i(()=>_.value===!0&&g.value===a.$route.matched.length-1&&W(a.$route.params,d.value.params)),y=i(()=>f.value===!0?v.value===!0?` ${r.exactActiveClass} ${r.activeClass}`:r.exact===!0?``:_.value===!0?` ${r.activeClass}`:``:``);function b(e){try{return a.$router.resolve(e)}catch{}return null}function x(e,{returnRouterError:t,to:n=r.to,replace:i=r.replace}={}){if(r.disable===!0)return e.preventDefault(),Promise.resolve(!1);if(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey||e.button!==void 0&&e.button!==0||r.target===`_blank`)return Promise.resolve(!1);e.preventDefault();let o=a.$router[i===!0?`replace`:`push`](n);return t===!0?o:o.then(()=>{}).catch(()=>{})}function S(e){if(f.value===!0){let t=t=>x(e,t);s(`click`,e,t),e.defaultPrevented!==!0&&t()}else s(`click`,e)}return{hasRouterLink:f,hasHrefLink:l,hasLink:p,linkTag:m,resolvedLink:d,linkIsActive:_,linkIsExactActive:v,linkClass:y,linkAttrs:h,getLink:b,navigateToRouterLink:x,navigateOnClick:S}}var J={none:0,xs:4,sm:8,md:16,lg:24,xl:32},ee={xs:8,sm:10,md:14,lg:20,xl:24},te=[`button`,`submit`,`reset`],ne=/[^\s]\/[^\s]/,re=[`flat`,`outline`,`push`,`unelevated`];function Y(e,t){return e.flat===!0?`flat`:e.outline===!0?`outline`:e.push===!0?`push`:e.unelevated===!0?`unelevated`:t}function ie(e){let t=Y(e);return t===void 0?{}:{[t]:!0}}var ae={...v,...G,type:{type:String,default:`button`},label:[Number,String],icon:String,iconRight:String,...re.reduce((e,t)=>(e[t]=Boolean)&&e,{}),square:Boolean,rounded:Boolean,glossy:Boolean,size:String,fab:Boolean,fabMini:Boolean,padding:String,color:String,textColor:String,noCaps:Boolean,noWrap:Boolean,dense:Boolean,tabindex:[Number,String],ripple:{type:[Boolean,Object],default:!0},align:{...L.align,default:`center`},stack:Boolean,stretch:Boolean,loading:{type:Boolean,default:null},disable:Boolean,round:Boolean};function oe(e){let t=m(e,ee),n=R(e),{hasRouterLink:r,hasLink:a,linkTag:o,linkAttrs:s,navigateOnClick:c}=q({fallbackTag:`button`}),l=i(()=>{let n=e.fab===!1&&e.fabMini===!1?t.value:{};return e.padding===void 0?n:Object.assign({},n,{padding:e.padding.split(/\s+/).map(e=>e in J?J[e]+`px`:e).join(` `),minWidth:`0`,minHeight:`0`})}),u=i(()=>e.rounded===!0||e.fab===!0||e.fabMini===!0),d=i(()=>e.disable!==!0&&e.loading!==!0),f=i(()=>d.value===!0?e.tabindex||0:-1),p=i(()=>Y(e,`standard`)),h=i(()=>{let t={tabindex:f.value};return a.value===!0?Object.assign(t,s.value):te.includes(e.type)===!0&&(t.type=e.type),o.value===`a`?(e.disable===!0?t[`aria-disabled`]=`true`:t.href===void 0&&(t.role=`button`),r.value!==!0&&ne.test(e.type)===!0&&(t.type=e.type)):e.disable===!0&&(t.disabled=``,t[`aria-disabled`]=`true`),e.loading===!0&&e.percentage!==void 0&&Object.assign(t,{role:`progressbar`,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":e.percentage}),t});return{classes:i(()=>{let t;e.color===void 0?e.textColor&&(t=`text-${e.textColor}`):t=e.flat===!0||e.outline===!0?`text-${e.textColor||e.color}`:`bg-${e.color} text-${e.textColor||`white`}`;let n=e.round===!0?`round`:`rectangle${u.value===!0?` q-btn--rounded`:e.square===!0?` q-btn--square`:``}`;return`q-btn--${p.value} q-btn--${n}`+(t===void 0?``:` `+t)+(d.value===!0?` q-btn--actionable q-focusable q-hoverable`:e.disable===!0?` disabled`:``)+(e.fab===!0?` q-btn--fab`:e.fabMini===!0?` q-btn--fab-mini`:``)+(e.noCaps===!0?` q-btn--no-uppercase`:``)+(e.dense===!0?` q-btn--dense`:``)+(e.stretch===!0?` no-border-radius self-stretch`:``)+(e.glossy===!0?` glossy`:``)+(e.square?` q-btn--square`:``)}),style:l,innerClasses:i(()=>n.value+(e.stack===!0?` column`:` row`)+(e.noWrap===!0?` no-wrap text-no-wrap`:``)+(e.loading===!0?` q-btn__content--hidden`:``)),attributes:h,hasLink:a,linkTag:o,navigateOnClick:c,isActionable:d}}var{passiveCapture:X}=S,Z=null,Q=null,$=null,se=d({name:`QBtn`,props:{...ae,percentage:Number,darkPercentage:Boolean,onTouchstart:[Function,Array]},emits:[`click`,`keydown`,`mousedown`,`keyup`],setup(a,{slots:s,emit:d}){let{proxy:f}=o(),{classes:m,style:h,innerClasses:v,attributes:b,hasLink:S,linkTag:C,navigateOnClick:w,isActionable:T}=oe(a),E=e(null),D=e(null),O=null,k,A=null,j=i(()=>a.label!==void 0&&a.label!==null&&a.label!==``),M=i(()=>a.disable===!0||a.ripple===!1?!1:{keyCodes:S.value===!0?[13,32]:[13],...a.ripple===!0?{}:a.ripple}),N=i(()=>({center:a.round})),F=i(()=>{let e=Math.max(0,Math.min(100,a.percentage));return e>0?{transition:`transform 0.6s`,transform:`translateX(${e-100}%)`}:{}}),I=i(()=>{if(a.loading===!0)return{onMousedown:W,onTouchstart:W,onClick:W,onKeydown:W,onKeyup:W};if(T.value===!0){let e={onClick:R,onKeydown:z,onMousedown:V};if(f.$q.platform.has.touch===!0){let t=a.onTouchstart===void 0?`Passive`:``;e[`onTouchstart${t}`]=B}return e}return{onClick:c}}),L=i(()=>({ref:E,class:`q-btn q-btn-item non-selectable no-outline `+m.value,style:h.value,...b.value,...I.value}));function R(e){if(E.value!==null){if(e!==void 0){if(e.defaultPrevented===!0)return;let t=document.activeElement;if(a.type===`submit`&&t!==document.body&&E.value.contains(t)===!1&&t.contains(E.value)===!1){e.qAvoidFocus!==!0&&E.value.focus();let t=()=>{document.removeEventListener(`keydown`,c,!0),document.removeEventListener(`keyup`,t,X),E.value?.removeEventListener(`blur`,t,X)};document.addEventListener(`keydown`,c,!0),document.addEventListener(`keyup`,t,X),E.value.addEventListener(`blur`,t,X)}}w(e)}}function z(e){E.value!==null&&(d(`keydown`,e),_(e,[13,32])===!0&&Q!==E.value&&(Q!==null&&U(),e.defaultPrevented!==!0&&(e.qAvoidFocus!==!0&&E.value.focus(),Q=E.value,E.value.classList.add(`q-btn--active`),document.addEventListener(`keyup`,H,!0),E.value.addEventListener(`blur`,H,X)),c(e)))}function B(e){E.value!==null&&(d(`touchstart`,e),e.defaultPrevented!==!0&&(Z!==E.value&&(Z!==null&&U(),Z=E.value,O=e.target,O.addEventListener(`touchcancel`,H,X),O.addEventListener(`touchend`,H,X)),k=!0,A!==null&&clearTimeout(A),A=setTimeout(()=>{A=null,k=!1},200)))}function V(e){E.value!==null&&(e.qSkipRipple=k===!0,d(`mousedown`,e),e.defaultPrevented!==!0&&$!==E.value&&($!==null&&U(),$=E.value,E.value.classList.add(`q-btn--active`),document.addEventListener(`mouseup`,H,X)))}function H(e){if(E.value!==null&&!(e?.type===`blur`&&document.activeElement===E.value)){if(e?.type===`keyup`){if(Q===E.value&&_(e,[13,32])===!0){let t=new MouseEvent(`click`,e);t.qKeyEvent=!0,e.defaultPrevented===!0&&x(t),e.cancelBubble===!0&&l(t),E.value.dispatchEvent(t),c(e),e.qKeyEvent=!0}d(`keyup`,e)}U()}}function U(e){let t=D.value;e!==!0&&(Z===E.value||$===E.value)&&t!==null&&t!==document.activeElement&&(t.setAttribute(`tabindex`,-1),t.focus()),Z===E.value&&(O!==null&&(O.removeEventListener(`touchcancel`,H,X),O.removeEventListener(`touchend`,H,X)),Z=O=null),$===E.value&&(document.removeEventListener(`mouseup`,H,X),$=null),Q===E.value&&(document.removeEventListener(`keyup`,H,!0),E.value?.removeEventListener(`blur`,H,X),Q=null),E.value?.classList.remove(`q-btn--active`)}function W(e){c(e),e.qSkipRipple=!0}return r(()=>{U(!0)}),Object.assign(f,{click:e=>{T.value===!0&&R(e)}}),()=>{let e=[];a.icon!==void 0&&e.push(t(y,{name:a.icon,left:a.stack!==!0&&j.value===!0,role:`img`})),j.value===!0&&e.push(t(`span`,{class:`block`},[a.label])),e=p(s.default,e),a.iconRight!==void 0&&a.round===!1&&e.push(t(y,{name:a.iconRight,right:a.stack!==!0&&j.value===!0,role:`img`}));let r=[t(`span`,{class:`q-focus-helper`,ref:D})];return a.loading===!0&&a.percentage!==void 0&&r.push(t(`span`,{class:`q-btn__progress absolute-full overflow-hidden`+(a.darkPercentage===!0?` q-btn__progress--dark`:``)},[t(`span`,{class:`q-btn__progress-indicator fit block`,style:F.value})])),r.push(t(`span`,{class:`q-btn__content text-center col items-center q-anchor--skip `+v.value},e)),a.loading!==null&&r.push(t(u,{name:`q-transition--fade`},()=>a.loading===!0?[t(`span`,{key:`loading`,class:`absolute-full flex flex-center`},s.loading===void 0?[t(g)]:s.loading())]:null)),n(t(C.value,L.value,r),[[P,M.value,void 0,N.value]])}}});export{R as a,A as c,T as d,C as f,K as i,O as l,D as m,ie as n,L as o,E as p,q as r,P as s,se as t,k as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{$ as e,H as t,Q as n,S as r,W as i,k as a,l as o,y as s}from"./runtime-core.esm-bundler-C3IgBgY5.js";import{D as c,F as l,M as u,O as d,n as f,r as p,s as m,t as h}from"./QIcon-B0-pH3Qs.js";import{t as g}from"./QSeparator-rkjCbX2M.js";import{i as _}from"./QBtn-p1aZtrJH.js";import{d as v,l as y,u as b}from"./scroll-Dh2g7BwR.js";import{n as x,t as S}from"./use-id-CeduaJbU.js";import{n as C,t as w}from"./QItemSection-GlMrLmz3.js";import{t as T}from"./QItemLabel-Czw5g0px.js";var E=d({name:`QSlideTransition`,props:{appear:Boolean,duration:{type:Number,default:300}},emits:[`show`,`hide`],setup(e,{slots:t,emit:n}){let i=!1,o,s,c=null,l=null,d,f;function p(){o?.(),o=null,i=!1,c!==null&&(clearTimeout(c),c=null),l!==null&&(clearTimeout(l),l=null),s?.removeEventListener(`transitionend`,d),d=null}function m(t,n,r){n!==void 0&&(t.style.height=`${n}px`),t.style.transition=`height ${e.duration}ms cubic-bezier(.25, .8, .50, 1)`,i=!0,o=r}function h(e,t){e.style.overflowY=null,e.style.height=null,e.style.transition=null,p(),t!==f&&n(t)}function g(t,n){let r=0;s=t,i===!0?(p(),r=t.offsetHeight===t.scrollHeight?0:void 0):(f=`hide`,t.style.overflowY=`hidden`),m(t,r,n),c=setTimeout(()=>{c=null,t.style.height=`${t.scrollHeight}px`,d=e=>{l=null,(Object(e)!==e||e.target===t)&&h(t,`show`)},t.addEventListener(`transitionend`,d),l=setTimeout(d,e.duration*1.1)},100)}function _(t,n){let r;s=t,i===!0?p():(f=`show`,t.style.overflowY=`hidden`,r=t.scrollHeight),m(t,r,n),c=setTimeout(()=>{c=null,t.style.height=0,d=e=>{l=null,(Object(e)!==e||e.target===t)&&h(t,`hide`)},t.addEventListener(`transitionend`,d),l=setTimeout(d,e.duration*1.1)},100)}return a(()=>{i===!0&&p()}),()=>r(u,{css:!1,appear:e.appear,onEnter:g,onLeave:_},t.default)}}),D=e({}),O=Object.keys(_),k=d({name:`QExpansionItem`,props:{..._,...v,...p,icon:String,label:String,labelLines:[Number,String],caption:String,captionLines:[Number,String],dense:Boolean,toggleAriaLabel:String,expandIcon:String,expandedIcon:String,expandIconClass:[Array,String,Object],duration:{},headerInsetLevel:Number,contentInsetLevel:Number,expandSeparator:Boolean,defaultOpened:Boolean,hideExpandIcon:Boolean,expandIconToggle:Boolean,switchToggleSide:Boolean,denseToggle:Boolean,group:String,popup:Boolean,headerStyle:[Array,String,Object],headerClass:[Array,String,Object]},emits:[...b,`click`,`afterShow`,`afterHide`],setup(e,{slots:u,emit:d}){let{proxy:{$q:p}}=s(),_=f(e,p),v=n(e.modelValue===null?e.defaultOpened:e.modelValue),b=n(null),k=S(),{show:A,hide:j,toggle:M}=y({showing:v}),N,P,F=o(()=>`q-expansion-item q-item-type q-expansion-item--${v.value===!0?`expanded`:`collapsed`} q-expansion-item--${e.popup===!0?`popup`:`standard`}`),I=o(()=>e.contentInsetLevel===void 0?null:{[`padding`+(p.lang.rtl===!0?`Right`:`Left`)]:e.contentInsetLevel*56+`px`}),L=o(()=>e.disable!==!0&&(e.href!==void 0||e.to!==void 0&&e.to!==null&&e.to!==``)),R=o(()=>{let t={};return O.forEach(n=>{t[n]=e[n]}),t}),z=o(()=>L.value===!0||e.expandIconToggle!==!0),B=o(()=>e.expandedIcon!==void 0&&v.value===!0?e.expandedIcon:e.expandIcon||p.iconSet.expansionItem[e.denseToggle===!0?`denseIcon`:`icon`]),V=o(()=>e.disable!==!0&&(L.value===!0||e.expandIconToggle===!0)),H=o(()=>({expanded:v.value===!0,detailsId:k.value,toggle:M,show:A,hide:j})),U=o(()=>{let t=e.toggleAriaLabel===void 0?p.lang.label[v.value===!0?`collapse`:`expand`](e.label):e.toggleAriaLabel;return{role:`button`,"aria-expanded":v.value===!0?`true`:`false`,"aria-controls":k.value,"aria-label":t}});t(()=>e.group,e=>{P?.(),e!==void 0&&Y()});function W(e){L.value!==!0&&M(e),d(`click`,e)}function G(e){e.keyCode===13&&K(e,!0)}function K(e,t){t!==!0&&e.qAvoidFocus!==!0&&b.value?.focus(),M(e),c(e)}function q(){d(`afterShow`)}function J(){d(`afterHide`)}function Y(){N===void 0&&(N=x()),v.value===!0&&(D[e.group]=N);let n=t(v,t=>{t===!0?D[e.group]=N:D[e.group]===N&&delete D[e.group]}),r=t(()=>D[e.group],(e,t)=>{t===N&&e!==void 0&&e!==N&&j()});P=()=>{n(),r(),D[e.group]===N&&delete D[e.group],P=void 0}}function X(){let t={class:[`q-focusable relative-position cursor-pointer${e.denseToggle===!0&&e.switchToggleSide===!0?` items-end`:``}`,e.expandIconClass],side:e.switchToggleSide!==!0,avatar:e.switchToggleSide},n=[r(h,{class:`q-expansion-item__toggle-icon`+(e.expandedIcon===void 0&&v.value===!0?` q-expansion-item__toggle-icon--rotated`:``),name:B.value})];return V.value===!0&&(Object.assign(t,{tabindex:0,...U.value,onClick:K,onKeyup:G}),n.unshift(r(`div`,{ref:b,class:`q-expansion-item__toggle-focus q-icon q-focus-helper q-focus-helper--rounded`,tabindex:-1}))),r(w,t,()=>n)}function Z(){let t;return u.header===void 0?(t=[r(w,()=>[r(T,{lines:e.labelLines},()=>e.label||``),e.caption?r(T,{lines:e.captionLines,caption:!0},()=>e.caption):null])],e.icon&&t[e.switchToggleSide===!0?`push`:`unshift`](r(w,{side:e.switchToggleSide===!0,avatar:e.switchToggleSide!==!0},()=>r(h,{name:e.icon})))):t=[].concat(u.header(H.value)),e.disable!==!0&&e.hideExpandIcon!==!0&&t[e.switchToggleSide===!0?`unshift`:`push`](X()),t}function Q(){let t={ref:`item`,style:e.headerStyle,class:e.headerClass,dark:_.value,disable:e.disable,dense:e.dense,insetLevel:e.headerInsetLevel};return z.value===!0&&(t.clickable=!0,t.onClick=W,Object.assign(t,L.value===!0?R.value:U.value)),r(C,t,Z)}function $(){return i(r(`div`,{key:`e-content`,class:`q-expansion-item__content relative-position`,style:I.value,id:k.value},m(u.default)),[[l,v.value]])}function ee(){let t=[Q(),r(E,{duration:e.duration,onShow:q,onHide:J},$)];return e.expandSeparator===!0&&t.push(r(g,{class:`q-expansion-item__border q-expansion-item__border--top absolute-top`,dark:_.value}),r(g,{class:`q-expansion-item__border q-expansion-item__border--bottom absolute-bottom`,dark:_.value})),t}return e.group!==void 0&&Y(),a(()=>{P?.()}),()=>r(`div`,{class:F.value},[r(`div`,{class:`q-expansion-item__container relative-position`},ee())])}});export{k as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{H as e,Q as t,S as n,k as r,l as i,y as a}from"./runtime-core.esm-bundler-C3IgBgY5.js";import{C as o,D as s,M as c,O as l,f as u,i as d,n as f,o as p,p as m,r as h,s as g,t as _}from"./QIcon-B0-pH3Qs.js";import{a as v,i as y,n as b,r as x}from"./QDialog-D42GLa1i.js";import{c as S,d as C,l as w,n as T,t as ee,u as te}from"./use-portal-mhLq4Rqk.js";import{c as ne,s as E}from"./QBtn-p1aZtrJH.js";import{d as D,l as O,n as re,o as k,u as A}from"./scroll-Dh2g7BwR.js";import{i as ie}from"./private.use-form-D1RuEt2P.js";import{a as j,c as ae,i as M,l as oe,n as N,o as se,r as ce,s as P,u as F}from"./QTooltip-Cg9E3Dvw.js";var I=!1;{let e=document.createElement(`div`);e.setAttribute(`dir`,`rtl`),Object.assign(e.style,{width:`1px`,height:`1px`,overflow:`auto`});let t=document.createElement(`div`);Object.assign(t.style,{width:`1000px`,height:`1px`}),document.body.appendChild(e),e.appendChild(t),e.scrollLeft=-1e3,I=e.scrollLeft>=0,e.remove()}var L={xs:8,sm:10,md:14,lg:20,xl:24},R=l({name:`QChip`,props:{...h,...m,dense:Boolean,icon:String,iconRight:String,iconRemove:String,iconSelected:String,label:[String,Number],color:String,textColor:String,modelValue:{type:Boolean,default:!0},selected:{type:Boolean,default:null},square:Boolean,outline:Boolean,clickable:Boolean,removable:Boolean,removeAriaLabel:String,tabindex:[String,Number],disable:Boolean,ripple:{type:[Boolean,Object],default:!0}},emits:[`update:modelValue`,`update:selected`,`remove`,`click`],setup(e,{slots:t,emit:r}){let{proxy:{$q:o}}=a(),c=f(e,o),l=u(e,L),m=i(()=>e.selected===!0||e.icon!==void 0),h=i(()=>e.selected===!0?e.iconSelected||o.iconSet.chip.selected:e.icon),g=i(()=>e.iconRemove||o.iconSet.chip.remove),v=i(()=>e.disable===!1&&(e.clickable===!0||e.selected!==null)),y=i(()=>{let t=e.outline===!0&&e.color||e.textColor;return`q-chip row inline no-wrap items-center`+(e.outline===!1&&e.color!==void 0?` bg-${e.color}`:``)+(t?` text-${t} q-chip--colored`:``)+(e.disable===!0?` disabled`:``)+(e.dense===!0?` q-chip--dense`:``)+(e.outline===!0?` q-chip--outline`:``)+(e.selected===!0?` q-chip--selected`:``)+(v.value===!0?` q-chip--clickable cursor-pointer non-selectable q-hoverable`:``)+(e.square===!0?` q-chip--square`:``)+(c.value===!0?` q-chip--dark q-dark`:``)}),b=i(()=>{let t=e.disable===!0?{tabindex:-1,"aria-disabled":`true`}:{tabindex:e.tabindex||0};return{chip:t,remove:{...t,role:`button`,"aria-hidden":`false`,"aria-label":e.removeAriaLabel||o.lang.label.remove}}});function x(e){e.keyCode===13&&S(e)}function S(t){e.disable||(r(`update:selected`,!e.selected),r(`click`,t))}function C(t){(t.keyCode===void 0||t.keyCode===13)&&(s(t),e.disable===!1&&(r(`update:modelValue`,!1),r(`remove`)))}function w(){let r=[];v.value===!0&&r.push(n(`div`,{class:`q-focus-helper`})),m.value===!0&&r.push(n(_,{class:`q-chip__icon q-chip__icon--left`,name:h.value}));let i=e.label===void 0?void 0:[n(`div`,{class:`ellipsis`},[e.label])];return r.push(n(`div`,{class:`q-chip__content col row no-wrap items-center q-anchor--skip`},p(t.default,i))),e.iconRight&&r.push(n(_,{class:`q-chip__icon q-chip__icon--right`,name:e.iconRight})),e.removable===!0&&r.push(n(_,{class:`q-chip__icon q-chip__icon--remove cursor-pointer`,name:g.value,...b.value.remove,onClick:C,onKeyup:C})),r}return()=>{if(e.modelValue===!1)return;let t={class:y.value,style:l.value};return v.value===!0&&Object.assign(t,b.value.chip,{onClick:S,onKeyup:x}),d(`div`,t,w(),`ripple`,e.ripple!==!1&&e.disable!==!0,()=>[[E,e.ripple]])}}}),z=l({name:`QMenu`,inheritAttrs:!1,props:{...F,...D,...h,...w,persistent:Boolean,autoClose:Boolean,separateClosePopup:Boolean,noEscDismiss:Boolean,noRouteDismiss:Boolean,noRefocus:Boolean,noFocus:Boolean,fit:Boolean,cover:Boolean,square:Boolean,anchor:{type:String,validator:j},self:{type:String,validator:j},offset:{type:Array,validator:M},scrollTarget:k,touchPosition:Boolean,maxHeight:{type:String,default:null},maxWidth:{type:String,default:null}},emits:[...A,`click`,`escapeKey`],setup(l,{slots:u,emit:d,attrs:p}){let m=null,h,_,w,E=a(),{proxy:D}=E,{$q:k}=D,A=t(null),j=t(!1),M=i(()=>l.persistent!==!0&&l.noRouteDismiss!==!0),F=f(l,k),{registerTick:I,removeTick:L}=te(),{registerTimeout:R}=C(),{transitionProps:z,transitionStyle:le}=S(l),{localScrollTarget:B,changeScrollEvent:ue,unconfigureScrollTarget:de}=ae(l,X),{anchorEl:V,canShow:fe}=oe({showing:j}),{hide:H}=O({showing:j,canShow:fe,handleShow:_e,handleHide:ve,hideOnRouteChange:M,processOnMount:!0}),{showPortal:U,hidePortal:W,renderPortal:pe}=ee(E,A,be,`menu`),G={anchorEl:V,innerRef:A,onClickOutside(e){if(l.persistent!==!0&&j.value===!0)return H(e),(e.type===`touchstart`||e.target.classList.contains(`q-dialog__backdrop`))&&s(e),!0}},K=i(()=>N(l.anchor||(l.cover===!0?`center middle`:`bottom start`),k.lang.rtl)),me=i(()=>l.cover===!0?K.value:N(l.self||`top start`,k.lang.rtl)),he=i(()=>(l.square===!0?` q-menu--square`:``)+(F.value===!0?` q-menu--dark q-dark`:``)),ge=i(()=>l.autoClose===!0?{onClick:ye}:{}),q=i(()=>j.value===!0&&l.persistent!==!0);e(q,e=>{e===!0?(y(Q),se(G)):(v(Q),P(G))});function J(){ie(()=>{let e=A.value;e&&e.contains(document.activeElement)!==!0&&(e=e.querySelector(`[autofocus][tabindex], [data-autofocus][tabindex]`)||e.querySelector(`[autofocus] [tabindex], [data-autofocus] [tabindex]`)||e.querySelector(`[autofocus], [data-autofocus]`)||e,e.focus({preventScroll:!0}))})}function _e(t){if(m=l.noRefocus===!1?document.activeElement:null,b(Z),U(),X(),h=void 0,t!==void 0&&(l.touchPosition||l.contextMenu)){let e=o(t);if(e.left!==void 0){let{top:t,left:n}=V.value.getBoundingClientRect();h={left:e.left-n,top:e.top-t}}}_===void 0&&(_=e(()=>k.screen.width+`|`+k.screen.height+`|`+l.self+`|`+l.anchor+`|`+k.lang.rtl,$)),l.noFocus!==!0&&document.activeElement.blur(),I(()=>{$(),l.noFocus!==!0&&J()}),R(()=>{k.platform.is.ios===!0&&(w=l.autoClose,A.value.click()),$(),U(!0),d(`show`,t)},l.transitionDuration)}function ve(e){L(),W(),Y(!0),m!==null&&(e===void 0||e.qClickOutside!==!0)&&(((e?.type.indexOf(`key`)===0?m.closest(`[tabindex]:not([tabindex^="-"])`):void 0)||m).focus(),m=null),R(()=>{W(!0),d(`hide`,e)},l.transitionDuration)}function Y(e){h=void 0,_!==void 0&&(_(),_=void 0),(e===!0||j.value===!0)&&(x(Z),de(),P(G),v(Q)),e!==!0&&(m=null)}function X(){(V.value!==null||l.scrollTarget!==void 0)&&(B.value=re(V.value,l.scrollTarget),ue(B.value,$))}function ye(e){w===!0?w=!1:(T(D,e),d(`click`,e))}function Z(e){q.value===!0&&l.noFocus!==!0&&ne(A.value,e.target)!==!0&&J()}function Q(e){l.noEscDismiss!==!0&&(d(`escapeKey`),H(e))}function $(){ce({targetEl:A.value,offset:l.offset,anchorEl:V.value,anchorOrigin:K.value,selfOrigin:me.value,absoluteOffset:h,fit:l.fit,cover:l.cover,maxHeight:l.maxHeight,maxWidth:l.maxWidth})}function be(){return n(c,z.value,()=>j.value===!0?n(`div`,{role:`menu`,...p,ref:A,tabindex:-1,class:[`q-menu q-position-engine scroll`+he.value,p.class],style:[p.style,le.value],...ge.value},g(u.default)):null)}return r(Y),Object.assign(D,{focus:J,updatePosition:$}),pe}});export{R as n,I as r,z as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{C as e,h as t}from"./index-D997aY4Y.js";var n=t(({app:t})=>{t.use(e)});export{n as default};
|