@loicngr/kobo 1.6.14 → 1.7.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/README.md +4 -3
- package/dist/mcp-server/kobo-tasks-server.js +51 -0
- package/dist/server/db/migrations.js +40 -0
- package/dist/server/db/schema.js +7 -5
- package/dist/server/index.js +12 -11
- package/dist/server/routes/workspaces.js +207 -26
- package/dist/server/services/agent/engines/claude-code/capabilities.js +1 -1
- package/dist/server/services/agent/engines/claude-code/engine.js +237 -132
- package/dist/server/services/agent/engines/claude-code/event-mapper.js +234 -0
- package/dist/server/services/agent/engines/claude-code/options-builder.js +68 -0
- package/dist/server/services/agent/engines/claude-code/precompact-hook.js +27 -0
- package/dist/server/services/agent/engines/types.js +1 -0
- package/dist/server/services/agent/orchestrator.js +536 -94
- package/dist/server/services/agent/session-controller.js +14 -43
- package/dist/server/services/auto-loop-service.js +17 -6
- package/dist/server/services/content-migration-service.js +24 -94
- package/dist/server/services/usage/poller.js +4 -1
- package/dist/server/services/wakeup-service.js +8 -9
- package/dist/server/services/workspace-service.js +40 -36
- package/dist/server/utils/git-ops.js +67 -5
- package/package.json +2 -1
- package/src/client/dist/spa/assets/ActivityFeed-CIJPN8TH.js +7 -0
- package/src/client/dist/spa/assets/ActivityFeed-LXnbg3ff.css +1 -0
- package/src/client/dist/spa/assets/ClosePopup-DzB3mDtj.js +1 -0
- package/src/client/dist/spa/assets/CreatePage-BE3xfQsC.css +1 -0
- package/src/client/dist/spa/assets/CreatePage-U6TtJzNe.js +2 -0
- package/src/client/dist/spa/assets/DiffViewer-D1Sdu307.css +1 -0
- package/src/client/dist/spa/assets/DiffViewer-Di85TBIi.js +7 -0
- package/src/client/dist/spa/assets/HealthPage-B7aWFxAZ.js +1 -0
- package/src/client/dist/spa/assets/{MainLayout-C3TUaYvQ.js → MainLayout-BHBrz4c9.js} +17 -17
- package/src/client/dist/spa/assets/MainLayout-Dba6SdpU.css +1 -0
- package/src/client/dist/spa/assets/QCheckbox-CcY7ZSk9.js +1 -0
- package/src/client/dist/spa/assets/QChip-BhT0W2Dg.js +1 -0
- package/src/client/dist/spa/assets/QExpansionItem-VS4b4eY6.js +1 -0
- package/src/client/dist/spa/assets/QInput-D4WJro4e.js +1 -0
- package/src/client/dist/spa/assets/QMenu-CchbRXbp.js +1 -0
- package/src/client/dist/spa/assets/{QPage-yqdKDG7-.js → QPage-Cu7zkfc6.js} +1 -1
- package/src/client/dist/spa/assets/QRadio-DaZhdLCg.js +1 -0
- package/src/client/dist/spa/assets/QResizeObserver-Cf79V-VZ.js +1 -0
- package/src/client/dist/spa/assets/QScrollArea-DrVTDLU0.js +1 -0
- package/src/client/dist/spa/assets/QTabPanels-HXz-evuj.js +1 -0
- package/src/client/dist/spa/assets/QToggle-CGpiJLDJ.js +1 -0
- package/src/client/dist/spa/assets/QTooltip-DjJYMTkN.js +1 -0
- package/src/client/dist/spa/assets/SearchPage-CVm-sqxH.js +1 -0
- package/src/client/dist/spa/assets/SettingsPage-ayDKGo9H.js +1 -0
- package/src/client/dist/spa/assets/SettingsPage-wTBCvK6t.css +1 -0
- package/src/client/dist/spa/assets/WorkspacePage-DQxGe62K.css +1 -0
- package/src/client/dist/spa/assets/WorkspacePage-xaVy8s5i.js +4 -0
- package/src/client/dist/spa/assets/build-path-tree-CdY1A6aP.js +1 -0
- package/src/client/dist/spa/assets/{cssMode-wNaxOrgG.js → cssMode-BVNBMOxh.js} +1 -1
- package/src/client/dist/spa/assets/documents-D6A3wRry.js +1 -0
- package/src/client/dist/spa/assets/{editor.api-CcDntllS.js → editor.api-D6Vfp5yv.js} +1 -1
- package/src/client/dist/spa/assets/{editor.main-Chu4hc0J.js → editor.main-CTCYF6V4.js} +3 -3
- package/src/client/dist/spa/assets/{expand-template-CcQus77v.js → expand-template-vHV2iwXf.js} +1 -1
- package/src/client/dist/spa/assets/{formatters-CX2gvLFv.js → formatters-ejxELb0M.js} +1 -1
- package/src/client/dist/spa/assets/{freemarker2-CO_b202E.js → freemarker2-nmzwPmzi.js} +1 -1
- package/src/client/dist/spa/assets/{handlebars-CJnTWNLs.js → handlebars-CI9lR7Ef.js} +1 -1
- package/src/client/dist/spa/assets/{html-DeArYseI.js → html-BQ21REnv.js} +1 -1
- package/src/client/dist/spa/assets/{htmlMode-BnNgEgdx.js → htmlMode-io5J5Qr1.js} +1 -1
- package/src/client/dist/spa/assets/i18n-Do8Kn8n0.js +1 -0
- package/src/client/dist/spa/assets/index-C_e7KOYh.js +2 -0
- package/src/client/dist/spa/assets/{javascript-C0pxfNu4.js → javascript--u9PDBCv.js} +1 -1
- package/src/client/dist/spa/assets/{jsonMode-ety87201.js → jsonMode-DBG5llk4.js} +1 -1
- package/src/client/dist/spa/assets/{kobo-commands-Cpl4IFon.js → kobo-commands-DiUm1Y34.js} +1 -1
- package/src/client/dist/spa/assets/{liquid-kanevKvC.js → liquid-DxAS4nYF.js} +1 -1
- package/src/client/dist/spa/assets/marked.esm-DuOsJx63.js +60 -0
- package/src/client/dist/spa/assets/{mdx-DkmtbRD7.js → mdx-BNXTiODW.js} +1 -1
- package/src/client/dist/spa/assets/models-DNYEhFF7.js +1 -0
- package/src/client/dist/spa/assets/{monaco.contribution-DsZsua59.js → monaco.contribution-CT3LAK0J.js} +2 -2
- package/src/client/dist/spa/assets/{python-DrxH1xl7.js → python-DztNww13.js} +1 -1
- package/src/client/dist/spa/assets/{razor-CU4khv8N.js → razor-Cyr82NZF.js} +1 -1
- package/src/client/dist/spa/assets/settings-Dbx1_ksA.js +1 -0
- package/src/client/dist/spa/assets/symbols-BVRrMH2r.js +1 -0
- package/src/client/dist/spa/assets/touch-Co9pfjUU.js +1 -0
- package/src/client/dist/spa/assets/{tsMode-CQ5yxoz_.js → tsMode-CbQVgsIP.js} +1 -1
- package/src/client/dist/spa/assets/{typescript-CSwKmP7l.js → typescript-UHOe4d1S.js} +1 -1
- package/src/client/dist/spa/assets/use-checkbox-DzHmcu7s.js +1 -0
- package/src/client/dist/spa/assets/use-id-CDuXkR0Z.js +1 -0
- package/src/client/dist/spa/assets/use-panel-Br8QNRMk.js +1 -0
- package/src/client/dist/spa/assets/{xml-9bnWANPJ.js → xml-DC88eFpV.js} +1 -1
- package/src/client/dist/spa/assets/{yaml-sUtDJGxo.js → yaml-DSTsIRJr.js} +1 -1
- package/src/client/dist/spa/index.html +11 -10
- package/src/mcp-server/kobo-tasks-server.ts +60 -1
- package/dist/server/services/agent/engines/claude-code/args-builder.js +0 -57
- package/dist/server/services/agent/engines/claude-code/mcp-config.js +0 -23
- package/dist/server/services/agent/engines/claude-code/stream-parser.js +0 -386
- package/src/client/dist/spa/assets/ActivityFeed-Be0QQryJ.css +0 -1
- package/src/client/dist/spa/assets/ActivityFeed-BtIOkIy6.js +0 -8
- package/src/client/dist/spa/assets/ClosePopup-DkLittac.js +0 -1
- package/src/client/dist/spa/assets/CreatePage-D6Q3nxkX.js +0 -2
- package/src/client/dist/spa/assets/CreatePage-DJbZH8wp.css +0 -1
- package/src/client/dist/spa/assets/DiffViewer-1s165rFm.css +0 -1
- package/src/client/dist/spa/assets/DiffViewer-D5u9p7il.js +0 -2
- package/src/client/dist/spa/assets/HealthPage-Cr7aAUy6.js +0 -1
- package/src/client/dist/spa/assets/MainLayout-CBnSwSfy.css +0 -1
- package/src/client/dist/spa/assets/QChip-bl3YRhax.js +0 -1
- package/src/client/dist/spa/assets/QExpansionItem-CWw6ZujM.js +0 -1
- package/src/client/dist/spa/assets/QScrollArea-DpCqRRE0.js +0 -1
- package/src/client/dist/spa/assets/QSeparator-DNSiXYrN.js +0 -1
- package/src/client/dist/spa/assets/QSlideTransition-BQxI8l5r.js +0 -1
- package/src/client/dist/spa/assets/QTabPanels-C4bZGqml.js +0 -1
- package/src/client/dist/spa/assets/QTooltip-BIDjo2hJ.js +0 -1
- package/src/client/dist/spa/assets/SearchPage-CavRaij6.js +0 -1
- package/src/client/dist/spa/assets/SettingsPage-B8DhSZw7.css +0 -1
- package/src/client/dist/spa/assets/SettingsPage-C13T1l_t.js +0 -1
- package/src/client/dist/spa/assets/TouchPan-vsl78kxF.js +0 -1
- package/src/client/dist/spa/assets/WorkspacePage-BEqEuPrb.js +0 -4
- package/src/client/dist/spa/assets/WorkspacePage-k2pgeRoy.css +0 -1
- package/src/client/dist/spa/assets/build-path-tree-BeAS10oa.js +0 -1
- package/src/client/dist/spa/assets/documents-Cw05r3zs.js +0 -60
- package/src/client/dist/spa/assets/i18n-CuT4b7ns.js +0 -1
- package/src/client/dist/spa/assets/index-CZA4BFN5.js +0 -2
- package/src/client/dist/spa/assets/models-CPFeBEQS.js +0 -1
- package/src/client/dist/spa/assets/private.use-form-Dlb0iQZh.js +0 -1
- package/src/client/dist/spa/assets/scroll-CYWyxBdv.js +0 -1
- package/src/client/dist/spa/assets/settings-CAILUJXO.js +0 -1
- package/src/client/dist/spa/assets/stats-C3n1k51k.js +0 -1
- package/src/client/dist/spa/assets/symbols-DCYodwb2.js +0 -1
- package/src/client/dist/spa/assets/touch-Bj_Fr4kC.js +0 -1
- package/src/client/dist/spa/assets/use-checkbox-B_o-iLG2.js +0 -1
- package/src/client/dist/spa/assets/use-id-C93QQwrt.js +0 -1
- /package/src/client/dist/spa/assets/{QBadge-DqtcDv8D.js → QBadge-fsQ2AokU.js} +0 -0
- /package/src/client/dist/spa/assets/{QItemLabel-Codqjisk.js → QItemLabel-DWwenW2S.js} +0 -0
- /package/src/client/dist/spa/assets/{QItemSection-CiY_LK5Y.js → QItemSection-KFAnxzMK.js} +0 -0
- /package/src/client/dist/spa/assets/{QList-Bl9824vi.js → QList-NmIE6Rd9.js} +0 -0
- /package/src/client/dist/spa/assets/{QSpace-BNr0AftG.js → QSpace-COlmM_4F.js} +0 -0
- /package/src/client/dist/spa/assets/{QSpinnerDots-DEiRooBD.js → QSpinnerDots-DwtnRN2r.js} +0 -0
- /package/src/client/dist/spa/assets/{_plugin-vue_export-helper-r4mAJOHR.js → _plugin-vue_export-helper-B8bB5DBd.js} +0 -0
- /package/src/client/dist/spa/assets/{abap-Bgec7Keq.js → abap-DzK-OTGh.js} +0 -0
- /package/src/client/dist/spa/assets/{apex-VBlPwEoQ.js → apex-Bj60_dRt.js} +0 -0
- /package/src/client/dist/spa/assets/{azcli-DKqrEFBx.js → azcli-B6NwaBAZ.js} +0 -0
- /package/src/client/dist/spa/assets/{bat-DdgQWy_0.js → bat-bf7wXV68.js} +0 -0
- /package/src/client/dist/spa/assets/{bicep-CRMM43EB.js → bicep-C_bg8UgA.js} +0 -0
- /package/src/client/dist/spa/assets/{cameligo-UatALtML.js → cameligo-CTWw4D4B.js} +0 -0
- /package/src/client/dist/spa/assets/{clojure-D8JU08RA.js → clojure-CgdPoH0r.js} +0 -0
- /package/src/client/dist/spa/assets/{coffee-C56wu358.js → coffee-gHQfdA5M.js} +0 -0
- /package/src/client/dist/spa/assets/{cpp-CyZLvhJG.js → cpp-BM4Jj4aW.js} +0 -0
- /package/src/client/dist/spa/assets/{csharp-BJl3ixva.js → csharp-D8-bh4Cd.js} +0 -0
- /package/src/client/dist/spa/assets/{csp-CxEKxmO-.js → csp-CXBxRx0n.js} +0 -0
- /package/src/client/dist/spa/assets/{css-B0t_muXd.js → css-DKjIxrmY.js} +0 -0
- /package/src/client/dist/spa/assets/{cypher-D1hqiMFD.js → cypher-C5e5inIh.js} +0 -0
- /package/src/client/dist/spa/assets/{dart-Bz550Pyv.js → dart-BhRHHm4x.js} +0 -0
- /package/src/client/dist/spa/assets/{dockerfile-CIXgVAuA.js → dockerfile-DW5REF8E.js} +0 -0
- /package/src/client/dist/spa/assets/{ecl-D9qbvZoA.js → ecl-Bw4Hg3n_.js} +0 -0
- /package/src/client/dist/spa/assets/{elixir-b2M38fAy.js → elixir-DHmoBvpZ.js} +0 -0
- /package/src/client/dist/spa/assets/{flow9-Dq1UYMkt.js → flow9-BsFExz3v.js} +0 -0
- /package/src/client/dist/spa/assets/{fsharp-CFNadkg7.js → fsharp-BaeLhgfq.js} +0 -0
- /package/src/client/dist/spa/assets/{go-dSur1iB2.js → go-Bd-NFKIC.js} +0 -0
- /package/src/client/dist/spa/assets/{graphql-qyhAo11d.js → graphql-DZVerJfy.js} +0 -0
- /package/src/client/dist/spa/assets/{hcl-DFzjMyzm.js → hcl-CAVzrZfH.js} +0 -0
- /package/src/client/dist/spa/assets/{ini-TdzA8TIl.js → ini-CyXdX58t.js} +0 -0
- /package/src/client/dist/spa/assets/{is-DUKatk8N.js → is-BbsvEMaT.js} +0 -0
- /package/src/client/dist/spa/assets/{java-CSGA9pkE.js → java-B5pNgvhy.js} +0 -0
- /package/src/client/dist/spa/assets/{julia-9izz5OsY.js → julia-XRhmV3AN.js} +0 -0
- /package/src/client/dist/spa/assets/{kotlin-DuPK7AtF.js → kotlin-DOd3J5vr.js} +0 -0
- /package/src/client/dist/spa/assets/{less-B8d93iCg.js → less-veZSnyw6.js} +0 -0
- /package/src/client/dist/spa/assets/{lexon-DWtEIyu7.js → lexon-QWGkuK0H.js} +0 -0
- /package/src/client/dist/spa/assets/{lua-Ciq0OGgt.js → lua-CYGpjuO5.js} +0 -0
- /package/src/client/dist/spa/assets/{m3-Cki6JWj_.js → m3-yNnrZkdc.js} +0 -0
- /package/src/client/dist/spa/assets/{markdown-Cu47xwU0.js → markdown-BCSWEPSX.js} +0 -0
- /package/src/client/dist/spa/assets/{mips-BM8ui995.js → mips-OpYmcC30.js} +0 -0
- /package/src/client/dist/spa/assets/{msdax-DqLio0_c.js → msdax-2oxoTO9Z.js} +0 -0
- /package/src/client/dist/spa/assets/{mysql-v1wbjJOq.js → mysql-5KlC-K_9.js} +0 -0
- /package/src/client/dist/spa/assets/{objective-c-CQl3PGSB.js → objective-c-CcDCgtLx.js} +0 -0
- /package/src/client/dist/spa/assets/{pascal-D4iW0ZtD.js → pascal-BZGsbaEV.js} +0 -0
- /package/src/client/dist/spa/assets/{pascaligo-BdC9CZdj.js → pascaligo-DtD5qU3G.js} +0 -0
- /package/src/client/dist/spa/assets/{perl-BL10m4XD.js → perl-C1jNNS3E.js} +0 -0
- /package/src/client/dist/spa/assets/{pgsql-Be_oqVo3.js → pgsql-CT0fhiZa.js} +0 -0
- /package/src/client/dist/spa/assets/{php-BtvXSFRI.js → php-D6DrXoPM.js} +0 -0
- /package/src/client/dist/spa/assets/{pla-B2vUy15C.js → pla-b3-HN2pF.js} +0 -0
- /package/src/client/dist/spa/assets/{postiats-CbmTTfXr.js → postiats-Bin2ApVS.js} +0 -0
- /package/src/client/dist/spa/assets/{powerquery-DszLhJGx.js → powerquery-7ASnn-ZG.js} +0 -0
- /package/src/client/dist/spa/assets/{powershell-B0dYktF6.js → powershell-t4p7sU1H.js} +0 -0
- /package/src/client/dist/spa/assets/{protobuf-CZvaj1VX.js → protobuf-BUGeWa_j.js} +0 -0
- /package/src/client/dist/spa/assets/{pug-CPDx1B3S.js → pug-BuKcgC9s.js} +0 -0
- /package/src/client/dist/spa/assets/{qsharp-CDP9TFLl.js → qsharp-DSMtI_O7.js} +0 -0
- /package/src/client/dist/spa/assets/{r-8DbbFX2l.js → r-DMlFgn7A.js} +0 -0
- /package/src/client/dist/spa/assets/{redis-DRWj9MtJ.js → redis-cXItkC5u.js} +0 -0
- /package/src/client/dist/spa/assets/{redshift-C6cElE_5.js → redshift-BZVbW7HE.js} +0 -0
- /package/src/client/dist/spa/assets/{restructuredtext-W9pS9n3m.js → restructuredtext-BzjxwS8h.js} +0 -0
- /package/src/client/dist/spa/assets/{ruby-BKnzWnk-.js → ruby-C5nyLV4l.js} +0 -0
- /package/src/client/dist/spa/assets/{rust-YPCclWwe.js → rust-BcmMsHdf.js} +0 -0
- /package/src/client/dist/spa/assets/{sb-BgM4DTFb.js → sb-Dnb1iy6B.js} +0 -0
- /package/src/client/dist/spa/assets/{scala-fz1OPLMl.js → scala-anMIFYpA.js} +0 -0
- /package/src/client/dist/spa/assets/{scheme-8Uz1RIbu.js → scheme-BItQTe08.js} +0 -0
- /package/src/client/dist/spa/assets/{scss-Djo3IYXr.js → scss-BOv51BJ5.js} +0 -0
- /package/src/client/dist/spa/assets/{shell-CINF5Tx_.js → shell-BsRYRTNN.js} +0 -0
- /package/src/client/dist/spa/assets/{solidity-GgiNEuUm.js → solidity-BtuLgGDx.js} +0 -0
- /package/src/client/dist/spa/assets/{sophia-Culj97P9.js → sophia-B0Vkc5MF.js} +0 -0
- /package/src/client/dist/spa/assets/{sparql-C2ZlpxOY.js → sparql-B7lvkZQM.js} +0 -0
- /package/src/client/dist/spa/assets/{sql-BEf5Pg7Y.js → sql-DvP5MpA3.js} +0 -0
- /package/src/client/dist/spa/assets/{st-CT6UUoeH.js → st-GVUeyB3U.js} +0 -0
- /package/src/client/dist/spa/assets/{swift-B5g0xTG3.js → swift-DSPIoCjm.js} +0 -0
- /package/src/client/dist/spa/assets/{systemverilog-CEgQz9DR.js → systemverilog-Icj2-k23.js} +0 -0
- /package/src/client/dist/spa/assets/{tcl-D0qL2L0I.js → tcl-Cd8KQcm-.js} +0 -0
- /package/src/client/dist/spa/assets/{twig-BFUAVf1E.js → twig-CBHmt8z3.js} +0 -0
- /package/src/client/dist/spa/assets/{typespec-CjVVcNKm.js → typespec-Ckc037mq.js} +0 -0
- /package/src/client/dist/spa/assets/{vb-CZJr-DQz.js → vb-B97GW9Wb.js} +0 -0
- /package/src/client/dist/spa/assets/{vue-i18n-BJlZEYnA.js → vue-i18n-eUDnMrPl.js} +0 -0
- /package/src/client/dist/spa/assets/{wgsl-ivoXUo2e.js → wgsl-DIKmb3YH.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{m as e}from"./editor.api-
|
|
1
|
+
import{m as e}from"./editor.api-D6Vfp5yv.js";var t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,a=(e,a,o,s)=>{if(a&&typeof a==`object`||typeof a==`function`)for(let c of r(a))!i.call(e,c)&&c!==o&&t(e,c,{get:()=>a[c],enumerable:!(s=n(a,c))||s.enumerable});return e},o=(e,t,n)=>(a(e,t,`default`),n&&a(n,t,`default`)),s={};o(s,e);var c=[`area`,`base`,`br`,`col`,`embed`,`hr`,`img`,`input`,`keygen`,`link`,`menuitem`,`meta`,`param`,`source`,`track`,`wbr`],l={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,comments:{blockComment:[`<!--`,`-->`]},brackets:[[`<!--`,`-->`],[`<`,`>`],[`{`,`}`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],surroundingPairs:[{open:`"`,close:`"`},{open:`'`,close:`'`},{open:`<`,close:`>`}],onEnterRules:[{beforeText:RegExp(`<(?!(?:${c.join(`|`)}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,`i`),afterText:/^<\/(\w[\w\d]*)\s*>$/i,action:{indentAction:s.languages.IndentAction.IndentOutdent}},{beforeText:RegExp(`<(?!(?:${c.join(`|`)}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,`i`),action:{indentAction:s.languages.IndentAction.Indent}}]},u={defaultToken:``,tokenPostfix:``,tokenizer:{root:[[/@@@@/],[/@[^@]/,{token:`@rematch`,switchTo:`@razorInSimpleState.root`}],[/<!DOCTYPE/,`metatag.html`,`@doctype`],[/<!--/,`comment.html`,`@comment`],[/(<)([\w\-]+)(\/>)/,[`delimiter.html`,`tag.html`,`delimiter.html`]],[/(<)(script)/,[`delimiter.html`,{token:`tag.html`,next:`@script`}]],[/(<)(style)/,[`delimiter.html`,{token:`tag.html`,next:`@style`}]],[/(<)([:\w\-]+)/,[`delimiter.html`,{token:`tag.html`,next:`@otherTag`}]],[/(<\/)([\w\-]+)/,[`delimiter.html`,{token:`tag.html`,next:`@otherTag`}]],[/</,`delimiter.html`],[/[ \t\r\n]+/],[/[^<@]+/]],doctype:[[/@[^@]/,{token:`@rematch`,switchTo:`@razorInSimpleState.comment`}],[/[^>]+/,`metatag.content.html`],[/>/,`metatag.html`,`@pop`]],comment:[[/@[^@]/,{token:`@rematch`,switchTo:`@razorInSimpleState.comment`}],[/-->/,`comment.html`,`@pop`],[/[^-]+/,`comment.content.html`],[/./,`comment.content.html`]],otherTag:[[/@[^@]/,{token:`@rematch`,switchTo:`@razorInSimpleState.otherTag`}],[/\/?>/,`delimiter.html`,`@pop`],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/[ \t\r\n]+/]],script:[[/@[^@]/,{token:`@rematch`,switchTo:`@razorInSimpleState.script`}],[/type/,`attribute.name`,`@scriptAfterType`],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/>/,{token:`delimiter.html`,next:`@scriptEmbedded.text/javascript`,nextEmbedded:`text/javascript`}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,[`delimiter.html`,`tag.html`,{token:`delimiter.html`,next:`@pop`}]]],scriptAfterType:[[/@[^@]/,{token:`@rematch`,switchTo:`@razorInSimpleState.scriptAfterType`}],[/=/,`delimiter`,`@scriptAfterTypeEquals`],[/>/,{token:`delimiter.html`,next:`@scriptEmbedded.text/javascript`,nextEmbedded:`text/javascript`}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:`@rematch`,next:`@pop`}]],scriptAfterTypeEquals:[[/@[^@]/,{token:`@rematch`,switchTo:`@razorInSimpleState.scriptAfterTypeEquals`}],[/"([^"]*)"/,{token:`attribute.value`,switchTo:`@scriptWithCustomType.$1`}],[/'([^']*)'/,{token:`attribute.value`,switchTo:`@scriptWithCustomType.$1`}],[/>/,{token:`delimiter.html`,next:`@scriptEmbedded.text/javascript`,nextEmbedded:`text/javascript`}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:`@rematch`,next:`@pop`}]],scriptWithCustomType:[[/@[^@]/,{token:`@rematch`,switchTo:`@razorInSimpleState.scriptWithCustomType.$S2`}],[/>/,{token:`delimiter.html`,next:`@scriptEmbedded.$S2`,nextEmbedded:`$S2`}],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:`@rematch`,next:`@pop`}]],scriptEmbedded:[[/@[^@]/,{token:`@rematch`,switchTo:`@razorInEmbeddedState.scriptEmbedded.$S2`,nextEmbedded:`@pop`}],[/<\/script/,{token:`@rematch`,next:`@pop`,nextEmbedded:`@pop`}]],style:[[/@[^@]/,{token:`@rematch`,switchTo:`@razorInSimpleState.style`}],[/type/,`attribute.name`,`@styleAfterType`],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/>/,{token:`delimiter.html`,next:`@styleEmbedded.text/css`,nextEmbedded:`text/css`}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,[`delimiter.html`,`tag.html`,{token:`delimiter.html`,next:`@pop`}]]],styleAfterType:[[/@[^@]/,{token:`@rematch`,switchTo:`@razorInSimpleState.styleAfterType`}],[/=/,`delimiter`,`@styleAfterTypeEquals`],[/>/,{token:`delimiter.html`,next:`@styleEmbedded.text/css`,nextEmbedded:`text/css`}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:`@rematch`,next:`@pop`}]],styleAfterTypeEquals:[[/@[^@]/,{token:`@rematch`,switchTo:`@razorInSimpleState.styleAfterTypeEquals`}],[/"([^"]*)"/,{token:`attribute.value`,switchTo:`@styleWithCustomType.$1`}],[/'([^']*)'/,{token:`attribute.value`,switchTo:`@styleWithCustomType.$1`}],[/>/,{token:`delimiter.html`,next:`@styleEmbedded.text/css`,nextEmbedded:`text/css`}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:`@rematch`,next:`@pop`}]],styleWithCustomType:[[/@[^@]/,{token:`@rematch`,switchTo:`@razorInSimpleState.styleWithCustomType.$S2`}],[/>/,{token:`delimiter.html`,next:`@styleEmbedded.$S2`,nextEmbedded:`$S2`}],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:`@rematch`,next:`@pop`}]],styleEmbedded:[[/@[^@]/,{token:`@rematch`,switchTo:`@razorInEmbeddedState.styleEmbedded.$S2`,nextEmbedded:`@pop`}],[/<\/style/,{token:`@rematch`,next:`@pop`,nextEmbedded:`@pop`}]],razorInSimpleState:[[/@\*/,`comment.cs`,`@razorBlockCommentTopLevel`],[/@[{(]/,`metatag.cs`,`@razorRootTopLevel`],[/(@)(\s*[\w]+)/,[`metatag.cs`,{token:`identifier.cs`,switchTo:`@$S2.$S3`}]],[/[})]/,{token:`metatag.cs`,switchTo:`@$S2.$S3`}],[/\*@/,{token:`comment.cs`,switchTo:`@$S2.$S3`}]],razorInEmbeddedState:[[/@\*/,`comment.cs`,`@razorBlockCommentTopLevel`],[/@[{(]/,`metatag.cs`,`@razorRootTopLevel`],[/(@)(\s*[\w]+)/,[`metatag.cs`,{token:`identifier.cs`,switchTo:`@$S2.$S3`,nextEmbedded:`$S3`}]],[/[})]/,{token:`metatag.cs`,switchTo:`@$S2.$S3`,nextEmbedded:`$S3`}],[/\*@/,{token:`comment.cs`,switchTo:`@$S2.$S3`,nextEmbedded:`$S3`}]],razorBlockCommentTopLevel:[[/\*@/,`@rematch`,`@pop`],[/[^*]+/,`comment.cs`],[/./,`comment.cs`]],razorBlockComment:[[/\*@/,`comment.cs`,`@pop`],[/[^*]+/,`comment.cs`],[/./,`comment.cs`]],razorRootTopLevel:[[/\{/,`delimiter.bracket.cs`,`@razorRoot`],[/\(/,`delimiter.parenthesis.cs`,`@razorRoot`],[/[})]/,`@rematch`,`@pop`],{include:`razorCommon`}],razorRoot:[[/\{/,`delimiter.bracket.cs`,`@razorRoot`],[/\(/,`delimiter.parenthesis.cs`,`@razorRoot`],[/\}/,`delimiter.bracket.cs`,`@pop`],[/\)/,`delimiter.parenthesis.cs`,`@pop`],{include:`razorCommon`}],razorCommon:[[/[a-zA-Z_]\w*/,{cases:{"@razorKeywords":{token:`keyword.cs`},"@default":`identifier.cs`}}],[/[\[\]]/,`delimiter.array.cs`],[/[ \t\r\n]+/],[/\/\/.*$/,`comment.cs`],[/@\*/,`comment.cs`,`@razorBlockComment`],[/"([^"]*)"/,`string.cs`],[/'([^']*)'/,`string.cs`],[/(<)([\w\-]+)(\/>)/,[`delimiter.html`,`tag.html`,`delimiter.html`]],[/(<)([\w\-]+)(>)/,[`delimiter.html`,`tag.html`,`delimiter.html`]],[/(<\/)([\w\-]+)(>)/,[`delimiter.html`,`tag.html`,`delimiter.html`]],[/[\+\-\*\%\&\|\^\~\!\=\<\>\/\?\;\:\.\,]/,`delimiter.cs`],[/\d*\d+[eE]([\-+]?\d+)?/,`number.float.cs`],[/\d*\.\d+([eE][\-+]?\d+)?/,`number.float.cs`],[/0[xX][0-9a-fA-F']*[0-9a-fA-F]/,`number.hex.cs`],[/0[0-7']*[0-7]/,`number.octal.cs`],[/0[bB][0-1']*[0-1]/,`number.binary.cs`],[/\d[\d']*/,`number.cs`],[/\d/,`number.cs`]]},razorKeywords:`abstract.as.async.await.base.bool.break.by.byte.case.catch.char.checked.class.const.continue.decimal.default.delegate.do.double.descending.explicit.event.extern.else.enum.false.finally.fixed.float.for.foreach.from.goto.group.if.implicit.in.int.interface.internal.into.is.lock.long.nameof.new.null.namespace.object.operator.out.override.orderby.params.private.protected.public.readonly.ref.return.switch.struct.sbyte.sealed.short.sizeof.stackalloc.static.string.select.this.throw.true.try.typeof.uint.ulong.unchecked.unsafe.ushort.using.var.virtual.volatile.void.when.while.where.yield.model.inject`.split(`.`),escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/};export{l as conf,u as language};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{E as e,H as t,M as n,N as r,Q as i,S as a,j as o,k as s,l as c,o as l,y as u}from"./runtime-core.esm-bundler-C3IgBgY5.js";import{O as d,j as f,m as p}from"./QIcon-B0-pH3Qs.js";import{a as m,f as h,l as g,s as _}from"./use-id-CDuXkR0Z.js";import{d as v,h as y,m as b,p as x,u as S}from"./QBtn-DHwAb18J.js";var C={},w=!1;function T(){w=!0}function ee(){let e=null,t=u();function n(){e!==null&&(clearTimeout(e),e=null)}return o(n),s(n),{removeTimeout:n,registerTimeout(r,i){n(),y(t)===!1&&(e=setTimeout(()=>{e=null,r()},i))}}}function te(){let t,n=u();function r(){t=void 0}return o(r),s(r),{removeTick:r,registerTick(r){t=r,e(()=>{t===r&&(y(n)===!1&&t(),t=void 0)})}}}var ne={modelValue:{type:Boolean,default:null},"onUpdate:modelValue":[Function,Array]},re=[`beforeShow`,`show`,`beforeHide`,`hide`];function E({showing:r,canShow:i,hideOnRouteChange:a,handleShow:o,handleHide:s,processOnMount:c}){let l=u(),{props:d,emit:f,proxy:p}=l,m;function h(e){r.value===!0?v(e):g(e)}function g(t){if(d.disable===!0||t?.qAnchorHandled===!0||i!==void 0&&i(t)!==!0)return;let n=d[`onUpdate:modelValue`]!==void 0;n===!0&&(f(`update:modelValue`,!0),m=t,e(()=>{m===t&&(m=void 0)})),(d.modelValue===null||n===!1)&&_(t)}function _(e){r.value!==!0&&(r.value=!0,f(`beforeShow`,e),o===void 0?f(`show`,e):o(e))}function v(t){if(d.disable===!0)return;let n=d[`onUpdate:modelValue`]!==void 0;n===!0&&(f(`update:modelValue`,!1),m=t,e(()=>{m===t&&(m=void 0)})),(d.modelValue===null||n===!1)&&y(t)}function y(e){r.value!==!1&&(r.value=!1,f(`beforeHide`,e),s===void 0?f(`hide`,e):s(e))}function x(e){d.disable===!0&&e===!0?d[`onUpdate:modelValue`]!==void 0&&f(`update:modelValue`,!1):e===!0!==r.value&&(e===!0?_:y)(m)}t(()=>d.modelValue,x),a!==void 0&&b(l)===!0&&t(()=>p.$route.fullPath,()=>{a.value===!0&&r.value===!0&&v()}),c===!0&&n(()=>{x(d.modelValue)});let S={show:g,hide:v,toggle:h};return Object.assign(p,S),S}var D={transitionShow:{type:String,default:`fade`},transitionHide:{type:String,default:`fade`},transitionDuration:{type:[String,Number],default:300}};function O(e,t=()=>{},n=()=>{}){return{transitionProps:c(()=>{let r=`q-transition--${e.transitionShow||t()}`,i=`q-transition--${e.transitionHide||n()}`;return{appear:!0,enterFromClass:`${r}-enter-from`,enterActiveClass:`${r}-enter-active`,enterToClass:`${r}-enter-to`,leaveFromClass:`${i}-leave-from`,leaveActiveClass:`${i}-leave-active`,leaveToClass:`${i}-leave-to`}}),transitionStyle:c(()=>`--q-transition-duration: ${e.transitionDuration}ms`)}}var k=[],A=[],ie=1,ae=document.body;function j(e,t){let n=document.createElement(`div`);if(n.id=t===void 0?e:`q-portal--${t}--${ie++}`,C.globalNodes!==void 0){let e=C.globalNodes.class;e!==void 0&&(n.className=e)}return ae.appendChild(n),k.push(n),A.push(t),n}function M(e){let t=k.indexOf(e);k.splice(t,1),A.splice(t,1),e.remove()}var N=[];function oe(e){return N.find(t=>t.contentEl!==null&&t.contentEl.contains(e))}function P(e,t){do{if(e.$options.name===`QMenu`){if(e.hide(t),e.$props.separateClosePopup===!0)return x(e)}else if(e.__qPortal===!0){let n=x(e);return n?.$options.name===`QPopupProxy`?(e.hide(t),n):e}e=x(e)}while(e!=null)}function se(e,t,n){for(;n!==0&&e!=null;){if(e.__qPortal===!0){if(n--,e.$options.name===`QMenu`){e=P(e,t);continue}e.hide(t)}e=x(e)}}var ce=d({name:`QPortal`,setup(e,{slots:t}){return()=>t.default()}});function F(e){for(e=e.parent;e!=null;){if(e.type.name===`QGlobalDialog`)return!0;if(e.type.name===`QDialog`||e.type.name===`QMenu`)return!1;e=e.parent}return!1}function I(e,t,n,o){let s=i(!1),c=i(!1),u=null,d={},p=o===`dialog`&&F(e);function m(t){if(t===!0){g(d),c.value=!0;return}c.value=!1,s.value===!1&&(p===!1&&u===null&&(u=j(!1,o)),s.value=!0,N.push(e.proxy),_(d))}function h(t){if(c.value=!1,t!==!0)return;g(d),s.value=!1;let n=N.indexOf(e.proxy);n!==-1&&N.splice(n,1),u!==null&&(M(u),u=null)}return r(()=>{h(!0)}),e.proxy.__qPortal=!0,f(e.proxy,`contentEl`,()=>t.value),{showPortal:m,hidePortal:h,portalIsActive:s,portalIsAccessible:c,renderPortal:()=>p===!0?n():s.value===!0?[a(l,{to:u},a(ce,n))]:void 0}}var L=[Element,String],R=[null,document,document.body,document.scrollingElement,document.documentElement];function z(e,t){let n=v(t);if(n===void 0){if(e==null)return window;n=e.closest(`.scroll,.scroll-y,.overflow-auto`)}return R.includes(n)?window:n}function B(e){return e===window?window.pageYOffset||window.scrollY||document.body.scrollTop||0:e.scrollTop}function V(e){return e===window?window.pageXOffset||window.scrollX||document.body.scrollLeft||0:e.scrollLeft}function H(e,t,n=0){let r=arguments[3]===void 0?performance.now():arguments[3],i=B(e);if(n<=0){i!==t&&W(e,t);return}requestAnimationFrame(a=>{let o=a-r,s=i+(t-i)/Math.max(o,n)*o;W(e,s),s!==t&&H(e,t,n-o,a)})}function U(e,t,n=0){let r=arguments[3]===void 0?performance.now():arguments[3],i=V(e);if(n<=0){i!==t&&G(e,t);return}requestAnimationFrame(a=>{let o=a-r,s=i+(t-i)/Math.max(o,n)*o;G(e,s),s!==t&&U(e,t,n-o,a)})}function W(e,t){if(e===window){window.scrollTo(window.pageXOffset||window.scrollX||document.body.scrollLeft||0,t);return}e.scrollTop=t}function G(e,t){if(e===window){window.scrollTo(t,window.pageYOffset||window.scrollY||document.body.scrollTop||0);return}e.scrollLeft=t}function le(e,t,n){if(n){H(e,t,n);return}W(e,t)}function ue(e,t,n){if(n){U(e,t,n);return}G(e,t)}var K;function de(){if(K!==void 0)return K;let e=document.createElement(`p`),t=document.createElement(`div`);S(e,{width:`100%`,height:`200px`}),S(t,{position:`absolute`,top:`0px`,left:`0px`,visibility:`hidden`,width:`200px`,height:`150px`,overflow:`hidden`}),t.appendChild(e),document.body.appendChild(t);let n=e.offsetWidth;t.style.overflow=`scroll`;let r=e.offsetWidth;return n===r&&(r=t.clientWidth),t.remove(),K=n-r,K}function fe(e,t=!0){return!e||e.nodeType!==Node.ELEMENT_NODE?!1:t?e.scrollHeight>e.clientHeight&&(e.classList.contains(`scroll`)||e.classList.contains(`overflow-auto`)||[`auto`,`scroll`].includes(window.getComputedStyle(e)[`overflow-y`])):e.scrollWidth>e.clientWidth&&(e.classList.contains(`scroll`)||e.classList.contains(`overflow-auto`)||[`auto`,`scroll`].includes(window.getComputedStyle(e)[`overflow-x`]))}var q=[],J;function pe(e){J=e.keyCode===27}function me(){J===!0&&(J=!1)}function he(e){J===!0&&(J=!1,p(e,27)===!0&&q[q.length-1](e))}function Y(e){window[e](`keydown`,pe),window[e](`blur`,me),window[e](`keyup`,he),J=!1}function ge(e){h.is.desktop===!0&&(q.push(e),q.length===1&&Y(`addEventListener`))}function X(e){let t=q.indexOf(e);t!==-1&&(q.splice(t,1),q.length===0&&Y(`removeEventListener`))}var Z=[];function Q(e){Z[Z.length-1](e)}function _e(e){h.is.desktop===!0&&(Z.push(e),Z.length===1&&document.body.addEventListener(`focusin`,Q))}function ve(e){let t=Z.indexOf(e);t!==-1&&(Z.splice(t,1),Z.length===0&&document.body.removeEventListener(`focusin`,Q))}function $(e){return btoa(e).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/,``)}var ye=m(`settings`,{state:()=>({global:{defaultModel:`claude-opus-4-7`,dangerouslySkipPermissions:!0,prPromptTemplate:``,gitConventions:``,editorCommand:``,browserNotifications:!0,audioNotifications:!0,notionStatusProperty:``,notionInProgressStatus:``,defaultPermissionMode:`plan`,notionMcpKey:``,sentryMcpKey:``,tags:[]},activeMcpServers:[],projects:[],loading:!1,showVerboseSystemMessages:localStorage.getItem(`kobo:showVerboseSystemMessages`)===`true`}),getters:{getProjectByPath:e=>t=>e.projects.find(e=>e.path===t)??null,projectPaths:e=>e.projects.map(e=>e.path)},actions:{async fetchSettings(){this.loading=!0;try{let e=await fetch(`/api/settings`);if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await e.json();this.global=t.global,this.projects=t.projects}catch(e){console.error(`[settings store] fetchSettings failed:`,e)}finally{this.loading=!1}},async fetchActiveMcpServers(){try{let e=await fetch(`/api/settings/mcp-servers`);if(!e.ok)throw Error(`HTTP ${e.status}`);this.activeMcpServers=await e.json()}catch(e){console.error(`[settings store] fetchActiveMcpServers failed:`,e),this.activeMcpServers=[]}},async updateGlobal(e){try{let t=await fetch(`/api/settings/global`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)});if(!t.ok)throw Error(`HTTP ${t.status}`);this.global=await t.json()}catch(e){throw console.error(`[settings store] updateGlobal failed:`,e),e}},async upsertProject(e,t){try{let n=$(e),r=await fetch(`/api/settings/projects/${n}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)});if(!r.ok)throw Error(`HTTP ${r.status}`);let i=await r.json(),a=this.projects.findIndex(t=>t.path===e);a>=0?this.projects[a]=i:this.projects.push(i)}catch(e){throw console.error(`[settings store] upsertProject failed:`,e),e}},toggleVerboseSystemMessages(){this.showVerboseSystemMessages=!this.showVerboseSystemMessages,localStorage.setItem(`kobo:showVerboseSystemMessages`,String(this.showVerboseSystemMessages))},async deleteProject(e){try{let t=$(e),n=await fetch(`/api/settings/projects/${t}`,{method:`DELETE`});if(!n.ok)throw Error(`HTTP ${n.status}`);this.projects=this.projects.filter(t=>t.path!==e)}catch(e){throw console.error(`[settings store] deleteProject failed:`,e),e}}}});export{w as A,E as C,ee as D,te as E,T as O,D as S,ne as T,oe as _,X as a,M as b,de as c,L as d,ue as f,se as g,P as h,ge as i,C as k,B as l,I as m,_e as n,V as o,le as p,ve as r,z as s,ye as t,fe as u,N as v,re as w,O as x,j as y};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=`_q_s_`,t=`_q_l_`,n=`_q_pc_`,r=`_q_fo_`,i=`_q_tabs_`;function a(){}export{e as a,n as i,r as n,i as o,t as r,a as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={left:!0,right:!0,up:!0,down:!0,horizontal:!0,vertical:!0},t=Object.keys(e);e.all=!0;function n(n){let r={};for(let e of t)n[e]===!0&&(r[e]=!0);return Object.keys(r).length===0?e:(r.horizontal===!0?r.left=r.right=!0:r.left===!0&&r.right===!0&&(r.horizontal=!0),r.vertical===!0?r.up=r.down=!0:r.up===!0&&r.down===!0&&(r.vertical=!0),r.horizontal===!0&&r.vertical===!0&&(r.all=!0),r)}var r=[`INPUT`,`TEXTAREA`];function i(e,t){return t.event===void 0&&e.target!==void 0&&e.target.draggable!==!0&&typeof t.handler==`function`&&r.includes(e.target.nodeName.toUpperCase())===!1&&(e.qClonedBy===void 0||e.qClonedBy.indexOf(t.uid)===-1)}export{i as n,n as t};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{m as e}from"./editor.api-
|
|
1
|
+
import{m as e}from"./editor.api-D6Vfp5yv.js";import{t}from"./monaco.contribution-CT3LAK0J.js";var n,r=Object.defineProperty,i=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,s=(e,t,n,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let c of a(t))!o.call(e,c)&&c!==n&&r(e,c,{get:()=>t[c],enumerable:!(s=i(t,c))||s.enumerable});return e},c=(e,t,n)=>(s(e,t,`default`),n&&s(n,t,`default`)),l={};c(l,e);function u(e,t){let n=globalThis.MonacoEnvironment;if(n?.createTrustedTypesPolicy)try{return n.createTrustedTypesPolicy(e,t)}catch(e){console.error(e);return}try{return globalThis.trustedTypes?.createPolicy(e,t)}catch(e){console.error(e);return}}var d=typeof self==`object`&&self.constructor&&self.constructor.name===`DedicatedWorkerGlobalScope`&&globalThis.workerttPolicy!==void 0?globalThis.workerttPolicy:u(`defaultWorkerFactory`,{createScriptURL:e=>e});function f(e){let t=e.label,n=globalThis.MonacoEnvironment;if(n){if(typeof n.getWorker==`function`)return n.getWorker(`workerMain.js`,t);if(typeof n.getWorkerUrl==`function`){let e=n.getWorkerUrl(`workerMain.js`,t);return new Worker(d?d.createScriptURL(e):e,{name:t,type:`module`})}}throw Error(`You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker`)}function p(e){let t=Promise.resolve(f({label:e.label??`monaco-editor-worker`,moduleId:e.moduleId})).then(t=>(t.postMessage(`ignore`),t.postMessage(e.createData),t));return l.editor.createWebWorker({worker:t,host:e.host,keepIdleModels:e.keepIdleModels})}var m=class{constructor(e,t){this._modeId=e,this._defaults=t,this._worker=null,this._client=null,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker()),this._updateExtraLibsToken=0,this._extraLibsChangeListener=this._defaults.onDidExtraLibsChange(()=>this._updateExtraLibs())}dispose(){this._configChangeListener.dispose(),this._extraLibsChangeListener.dispose(),this._stopWorker()}_stopWorker(){this._worker&&=(this._worker.dispose(),null),this._client=null}async _updateExtraLibs(){if(!this._worker)return;let e=++this._updateExtraLibsToken,t=await this._worker.getProxy();this._updateExtraLibsToken===e&&t.updateExtraLibs(this._defaults.getExtraLibs())}_getClient(){return this._client||=(async()=>(this._worker=p({moduleId:`vs/language/typescript/tsWorker`,label:this._modeId,keepIdleModels:!0,createData:{compilerOptions:this._defaults.getCompilerOptions(),extraLibs:this._defaults.getExtraLibs(),customWorkerPath:this._defaults.workerOptions.customWorkerPath,inlayHintsOptions:this._defaults.inlayHintsOptions}}),this._defaults.getEagerModelSync()?await this._worker.withSyncedResources(l.editor.getModels().filter(e=>e.getLanguageId()===this._modeId).map(e=>e.uri)):await this._worker.getProxy()))(),this._client}async getLanguageServiceWorker(...e){let t=await this._getClient();return this._worker&&await this._worker.withSyncedResources(e),t}},h={};h[`lib.d.ts`]=!0,h[`lib.decorators.d.ts`]=!0,h[`lib.decorators.legacy.d.ts`]=!0,h[`lib.dom.asynciterable.d.ts`]=!0,h[`lib.dom.d.ts`]=!0,h[`lib.dom.iterable.d.ts`]=!0,h[`lib.es2015.collection.d.ts`]=!0,h[`lib.es2015.core.d.ts`]=!0,h[`lib.es2015.d.ts`]=!0,h[`lib.es2015.generator.d.ts`]=!0,h[`lib.es2015.iterable.d.ts`]=!0,h[`lib.es2015.promise.d.ts`]=!0,h[`lib.es2015.proxy.d.ts`]=!0,h[`lib.es2015.reflect.d.ts`]=!0,h[`lib.es2015.symbol.d.ts`]=!0,h[`lib.es2015.symbol.wellknown.d.ts`]=!0,h[`lib.es2016.array.include.d.ts`]=!0,h[`lib.es2016.d.ts`]=!0,h[`lib.es2016.full.d.ts`]=!0,h[`lib.es2016.intl.d.ts`]=!0,h[`lib.es2017.d.ts`]=!0,h[`lib.es2017.date.d.ts`]=!0,h[`lib.es2017.full.d.ts`]=!0,h[`lib.es2017.intl.d.ts`]=!0,h[`lib.es2017.object.d.ts`]=!0,h[`lib.es2017.sharedmemory.d.ts`]=!0,h[`lib.es2017.string.d.ts`]=!0,h[`lib.es2017.typedarrays.d.ts`]=!0,h[`lib.es2018.asyncgenerator.d.ts`]=!0,h[`lib.es2018.asynciterable.d.ts`]=!0,h[`lib.es2018.d.ts`]=!0,h[`lib.es2018.full.d.ts`]=!0,h[`lib.es2018.intl.d.ts`]=!0,h[`lib.es2018.promise.d.ts`]=!0,h[`lib.es2018.regexp.d.ts`]=!0,h[`lib.es2019.array.d.ts`]=!0,h[`lib.es2019.d.ts`]=!0,h[`lib.es2019.full.d.ts`]=!0,h[`lib.es2019.intl.d.ts`]=!0,h[`lib.es2019.object.d.ts`]=!0,h[`lib.es2019.string.d.ts`]=!0,h[`lib.es2019.symbol.d.ts`]=!0,h[`lib.es2020.bigint.d.ts`]=!0,h[`lib.es2020.d.ts`]=!0,h[`lib.es2020.date.d.ts`]=!0,h[`lib.es2020.full.d.ts`]=!0,h[`lib.es2020.intl.d.ts`]=!0,h[`lib.es2020.number.d.ts`]=!0,h[`lib.es2020.promise.d.ts`]=!0,h[`lib.es2020.sharedmemory.d.ts`]=!0,h[`lib.es2020.string.d.ts`]=!0,h[`lib.es2020.symbol.wellknown.d.ts`]=!0,h[`lib.es2021.d.ts`]=!0,h[`lib.es2021.full.d.ts`]=!0,h[`lib.es2021.intl.d.ts`]=!0,h[`lib.es2021.promise.d.ts`]=!0,h[`lib.es2021.string.d.ts`]=!0,h[`lib.es2021.weakref.d.ts`]=!0,h[`lib.es2022.array.d.ts`]=!0,h[`lib.es2022.d.ts`]=!0,h[`lib.es2022.error.d.ts`]=!0,h[`lib.es2022.full.d.ts`]=!0,h[`lib.es2022.intl.d.ts`]=!0,h[`lib.es2022.object.d.ts`]=!0,h[`lib.es2022.regexp.d.ts`]=!0,h[`lib.es2022.sharedmemory.d.ts`]=!0,h[`lib.es2022.string.d.ts`]=!0,h[`lib.es2023.array.d.ts`]=!0,h[`lib.es2023.collection.d.ts`]=!0,h[`lib.es2023.d.ts`]=!0,h[`lib.es2023.full.d.ts`]=!0,h[`lib.es5.d.ts`]=!0,h[`lib.es6.d.ts`]=!0,h[`lib.esnext.collection.d.ts`]=!0,h[`lib.esnext.d.ts`]=!0,h[`lib.esnext.decorators.d.ts`]=!0,h[`lib.esnext.disposable.d.ts`]=!0,h[`lib.esnext.full.d.ts`]=!0,h[`lib.esnext.intl.d.ts`]=!0,h[`lib.esnext.object.d.ts`]=!0,h[`lib.esnext.promise.d.ts`]=!0,h[`lib.scripthost.d.ts`]=!0,h[`lib.webworker.asynciterable.d.ts`]=!0,h[`lib.webworker.d.ts`]=!0,h[`lib.webworker.importscripts.d.ts`]=!0,h[`lib.webworker.iterable.d.ts`]=!0;function g(e,t,n=0){if(typeof e==`string`)return e;if(e===void 0)return``;let r=``;if(n){r+=t;for(let e=0;e<n;e++)r+=` `}if(r+=e.messageText,n++,e.next)for(let i of e.next)r+=g(i,t,n);return r}function _(e){return e?e.map(e=>e.text).join(``):``}var v=class{constructor(e){this._worker=e}_textSpanToRange(e,t){let n=e.getPositionAt(t.start),r=e.getPositionAt(t.start+t.length),{lineNumber:i,column:a}=n,{lineNumber:o,column:s}=r;return{startLineNumber:i,startColumn:a,endLineNumber:o,endColumn:s}}},y=class{constructor(e){this._worker=e,this._libFiles={},this._hasFetchedLibFiles=!1,this._fetchLibFilesPromise=null}isLibFile(e){return e&&e.path.indexOf(`/lib.`)===0?!!h[e.path.slice(1)]:!1}getOrCreateModel(e){let n=l.Uri.parse(e),r=l.editor.getModel(n);if(r)return r;if(this.isLibFile(n)&&this._hasFetchedLibFiles)return l.editor.createModel(this._libFiles[n.path.slice(1)],`typescript`,n);let i=t.getExtraLibs()[e];return i?l.editor.createModel(i.content,`typescript`,n):null}_containsLibFile(e){for(let t of e)if(this.isLibFile(t))return!0;return!1}async fetchLibFilesIfNecessary(e){this._containsLibFile(e)&&await this._fetchLibFiles()}_fetchLibFiles(){return this._fetchLibFilesPromise||=this._worker().then(e=>e.getLibFiles()).then(e=>{this._hasFetchedLibFiles=!0,this._libFiles=e}),this._fetchLibFilesPromise}},b=class extends v{constructor(e,t,n,r){super(r),this._libFiles=e,this._defaults=t,this._selector=n,this._disposables=[],this._listener=Object.create(null);let i=e=>{if(e.getLanguageId()!==n)return;let t=()=>{let{onlyVisible:t}=this._defaults.getDiagnosticsOptions();t?e.isAttachedToEditor()&&this._doValidate(e):this._doValidate(e)},r,i=e.onDidChangeContent(()=>{clearTimeout(r),r=window.setTimeout(t,500)}),a=e.onDidChangeAttached(()=>{let{onlyVisible:n}=this._defaults.getDiagnosticsOptions();n&&(e.isAttachedToEditor()?t():l.editor.setModelMarkers(e,this._selector,[]))});this._listener[e.uri.toString()]={dispose(){i.dispose(),a.dispose(),clearTimeout(r)}},t()},a=e=>{l.editor.setModelMarkers(e,this._selector,[]);let t=e.uri.toString();this._listener[t]&&(this._listener[t].dispose(),delete this._listener[t])};this._disposables.push(l.editor.onDidCreateModel(e=>i(e))),this._disposables.push(l.editor.onWillDisposeModel(a)),this._disposables.push(l.editor.onDidChangeModelLanguage(e=>{a(e.model),i(e.model)})),this._disposables.push({dispose(){for(let e of l.editor.getModels())a(e)}});let o=()=>{for(let e of l.editor.getModels())a(e),i(e)};this._disposables.push(this._defaults.onDidChange(o)),this._disposables.push(this._defaults.onDidExtraLibsChange(o)),l.editor.getModels().forEach(e=>i(e))}dispose(){this._disposables.forEach(e=>e&&e.dispose()),this._disposables=[]}async _doValidate(e){let t=await this._worker(e.uri);if(e.isDisposed())return;let n=[],{noSyntaxValidation:r,noSemanticValidation:i,noSuggestionDiagnostics:a}=this._defaults.getDiagnosticsOptions();r||n.push(t.getSyntacticDiagnostics(e.uri.toString())),i||n.push(t.getSemanticDiagnostics(e.uri.toString())),a||n.push(t.getSuggestionDiagnostics(e.uri.toString()));let o=await Promise.all(n);if(!o||e.isDisposed())return;let s=o.reduce((e,t)=>t.concat(e),[]).filter(e=>(this._defaults.getDiagnosticsOptions().diagnosticCodesToIgnore||[]).indexOf(e.code)===-1),c=s.map(e=>e.relatedInformation||[]).reduce((e,t)=>t.concat(e),[]).map(e=>e.file?l.Uri.parse(e.file.fileName):null);await this._libFiles.fetchLibFilesIfNecessary(c),!e.isDisposed()&&l.editor.setModelMarkers(e,this._selector,s.map(t=>this._convertDiagnostics(e,t)))}_convertDiagnostics(e,t){let n=t.start||0,r=t.length||1,{lineNumber:i,column:a}=e.getPositionAt(n),{lineNumber:o,column:s}=e.getPositionAt(n+r),c=[];return t.reportsUnnecessary&&c.push(l.MarkerTag.Unnecessary),t.reportsDeprecated&&c.push(l.MarkerTag.Deprecated),{severity:this._tsDiagnosticCategoryToMarkerSeverity(t.category),startLineNumber:i,startColumn:a,endLineNumber:o,endColumn:s,message:g(t.messageText,`
|
|
2
2
|
`),code:t.code.toString(),tags:c,relatedInformation:this._convertRelatedInformation(e,t.relatedInformation)}}_convertRelatedInformation(e,t){if(!t)return[];let n=[];return t.forEach(t=>{let r=e;if(t.file&&(r=this._libFiles.getOrCreateModel(t.file.fileName)),!r)return;let i=t.start||0,a=t.length||1,{lineNumber:o,column:s}=r.getPositionAt(i),{lineNumber:c,column:l}=r.getPositionAt(i+a);n.push({resource:r.uri,startLineNumber:o,startColumn:s,endLineNumber:c,endColumn:l,message:g(t.messageText,`
|
|
3
3
|
`)})}),n}_tsDiagnosticCategoryToMarkerSeverity(e){switch(e){case 1:return l.MarkerSeverity.Error;case 3:return l.MarkerSeverity.Info;case 0:return l.MarkerSeverity.Warning;case 2:return l.MarkerSeverity.Hint}return l.MarkerSeverity.Info}},x=class e extends v{get triggerCharacters(){return[`.`]}async provideCompletionItems(t,n,r,i){let a=t.getWordUntilPosition(n),o=new l.Range(n.lineNumber,a.startColumn,n.lineNumber,a.endColumn),s=t.uri,c=t.getOffsetAt(n),u=await this._worker(s);if(t.isDisposed())return;let d=await u.getCompletionsAtPosition(s.toString(),c);if(!(!d||t.isDisposed()))return{suggestions:d.entries.map(r=>{let i=o;if(r.replacementSpan){let e=t.getPositionAt(r.replacementSpan.start),n=t.getPositionAt(r.replacementSpan.start+r.replacementSpan.length);i=new l.Range(e.lineNumber,e.column,n.lineNumber,n.column)}let a=[];return r.kindModifiers!==void 0&&r.kindModifiers.indexOf(`deprecated`)!==-1&&a.push(l.languages.CompletionItemTag.Deprecated),{uri:s,position:n,offset:c,range:i,label:r.name,insertText:r.name,sortText:r.sortText,kind:e.convertKind(r.kind),tags:a}})}}async resolveCompletionItem(t,n){let r=t,i=r.uri,a=r.position,o=r.offset,s=await(await this._worker(i)).getCompletionEntryDetails(i.toString(),o,r.label);return s?{uri:i,position:a,label:s.name,kind:e.convertKind(s.kind),detail:_(s.displayParts),documentation:{value:e.createDocumentationString(s)}}:r}static convertKind(e){switch(e){case k.primitiveType:case k.keyword:return l.languages.CompletionItemKind.Keyword;case k.variable:case k.localVariable:return l.languages.CompletionItemKind.Variable;case k.memberVariable:case k.memberGetAccessor:case k.memberSetAccessor:return l.languages.CompletionItemKind.Field;case k.function:case k.memberFunction:case k.constructSignature:case k.callSignature:case k.indexSignature:return l.languages.CompletionItemKind.Function;case k.enum:return l.languages.CompletionItemKind.Enum;case k.module:return l.languages.CompletionItemKind.Module;case k.class:return l.languages.CompletionItemKind.Class;case k.interface:return l.languages.CompletionItemKind.Interface;case k.warning:return l.languages.CompletionItemKind.File}return l.languages.CompletionItemKind.Property}static createDocumentationString(e){let t=_(e.documentation);if(e.tags)for(let n of e.tags)t+=`
|
|
4
4
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{m as e}from"./editor.api-
|
|
1
|
+
import{m as e}from"./editor.api-D6Vfp5yv.js";var t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,a=(e,a,o,s)=>{if(a&&typeof a==`object`||typeof a==`function`)for(let c of r(a))!i.call(e,c)&&c!==o&&t(e,c,{get:()=>a[c],enumerable:!(s=n(a,c))||s.enumerable});return e},o=(e,t,n)=>(a(e,t,`default`),n&&a(n,t,`default`)),s={};o(s,e);var c={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:`//`,blockComment:[`/*`,`*/`]},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],onEnterRules:[{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,afterText:/^\s*\*\/$/,action:{indentAction:s.languages.IndentAction.IndentOutdent,appendText:` * `}},{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,action:{indentAction:s.languages.IndentAction.None,appendText:` * `}},{beforeText:/^(\t|(\ \ ))*\ \*(\ ([^\*]|\*(?!\/))*)?$/,action:{indentAction:s.languages.IndentAction.None,appendText:`* `}},{beforeText:/^(\t|(\ \ ))*\ \*\/\s*$/,action:{indentAction:s.languages.IndentAction.None,removeText:1}}],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`,notIn:[`string`]},{open:`'`,close:`'`,notIn:[`string`,`comment`]},{open:"`",close:"`",notIn:[`string`,`comment`]},{open:`/**`,close:` */`,notIn:[`string`]}],folding:{markers:{start:RegExp(`^\\s*//\\s*#?region\\b`),end:RegExp(`^\\s*//\\s*#?endregion\\b`)}}},l={defaultToken:`invalid`,tokenPostfix:`.ts`,keywords:`abstract.any.as.asserts.bigint.boolean.break.case.catch.class.continue.const.constructor.debugger.declare.default.delete.do.else.enum.export.extends.false.finally.for.from.function.get.if.implements.import.in.infer.instanceof.interface.is.keyof.let.module.namespace.never.new.null.number.object.out.package.private.protected.public.override.readonly.require.global.return.satisfies.set.static.string.super.switch.symbol.this.throw.true.try.type.typeof.undefined.unique.unknown.var.void.while.with.yield.async.await.of`.split(`.`),operators:`<=.>=.==.!=.===.!==.=>.+.-.**.*./.%.++.--.<<.</.>>.>>>.&.|.^.!.~.&&.||.??.?.:.=.+=.-=.*=.**=./=.%=.<<=.>>=.>>>=.&=.|=.^=.@`.split(`.`),symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\d+(_+\d+)*/,octaldigits:/[0-7]+(_+[0-7]+)*/,binarydigits:/[0-1]+(_+[0-1]+)*/,hexdigits:/[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,regexpctl:/[(){}\[\]\$\^|\-*+?\.]/,regexpesc:/\\(?:[bBdDfnrstvwWn0\\\/]|@regexpctl|c[A-Z]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4})/,tokenizer:{root:[[/[{}]/,`delimiter.bracket`],{include:`common`}],common:[[/#?[a-z_$][\w$]*/,{cases:{"@keywords":`keyword`,"@default":`identifier`}}],[/[A-Z][\w\$]*/,`type.identifier`],{include:`@whitespace`},[/\/(?=([^\\\/]|\\.)+\/([dgimsuy]*)(\s*)(\.|;|,|\)|\]|\}|$))/,{token:`regexp`,bracket:`@open`,next:`@regexp`}],[/[()\[\]]/,`@brackets`],[/[<>](?!@symbols)/,`@brackets`],[/!(?=([^=]|$))/,`delimiter`],[/@symbols/,{cases:{"@operators":`delimiter`,"@default":``}}],[/(@digits)[eE]([\-+]?(@digits))?/,`number.float`],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?/,`number.float`],[/0[xX](@hexdigits)n?/,`number.hex`],[/0[oO]?(@octaldigits)n?/,`number.octal`],[/0[bB](@binarydigits)n?/,`number.binary`],[/(@digits)n?/,`number`],[/[;,.]/,`delimiter`],[/"([^"\\]|\\.)*$/,`string.invalid`],[/'([^'\\]|\\.)*$/,`string.invalid`],[/"/,`string`,`@string_double`],[/'/,`string`,`@string_single`],[/`/,`string`,`@string_backtick`]],whitespace:[[/[ \t\r\n]+/,``],[/\/\*\*(?!\/)/,`comment.doc`,`@jsdoc`],[/\/\*/,`comment`,`@comment`],[/\/\/.*$/,`comment`]],comment:[[/[^\/*]+/,`comment`],[/\*\//,`comment`,`@pop`],[/[\/*]/,`comment`]],jsdoc:[[/[^\/*]+/,`comment.doc`],[/\*\//,`comment.doc`,`@pop`],[/[\/*]/,`comment.doc`]],regexp:[[/(\{)(\d+(?:,\d*)?)(\})/,[`regexp.escape.control`,`regexp.escape.control`,`regexp.escape.control`]],[/(\[)(\^?)(?=(?:[^\]\\\/]|\\.)+)/,[`regexp.escape.control`,{token:`regexp.escape.control`,next:`@regexrange`}]],[/(\()(\?:|\?=|\?!)/,[`regexp.escape.control`,`regexp.escape.control`]],[/[()]/,`regexp.escape.control`],[/@regexpctl/,`regexp.escape.control`],[/[^\\\/]/,`regexp`],[/@regexpesc/,`regexp.escape`],[/\\\./,`regexp.invalid`],[/(\/)([dgimsuy]*)/,[{token:`regexp`,bracket:`@close`,next:`@pop`},`keyword.other`]]],regexrange:[[/-/,`regexp.escape.control`],[/\^/,`regexp.invalid`],[/@regexpesc/,`regexp.escape`],[/[^\]]/,`regexp`],[/\]/,{token:`regexp.escape.control`,next:`@pop`,bracket:`@close`}]],string_double:[[/[^\\"]+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/"/,`string`,`@pop`]],string_single:[[/[^\\']+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/'/,`string`,`@pop`]],string_backtick:[[/\$\{/,{token:`delimiter.bracket`,next:`@bracketCounting`}],[/[^\\`$]+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/`/,`string`,`@pop`]],bracketCounting:[[/\{/,`delimiter.bracket`,`@bracketCounting`],[/\}/,`delimiter.bracket`,`@pop`],{include:`common`}]}};export{c as conf,l as language};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Q as e,S as t,l as n,tt as r,y as i}from"./runtime-core.esm-bundler-C3IgBgY5.js";import{D as a,a as o,f as s,n as c,p as l,r as u,s as d}from"./QIcon-B0-pH3Qs.js";import{a as f,r as p}from"./QInput-D4WJro4e.js";function m(r,i){let a=e(null),o=n(()=>r.disable===!0?null:t(`span`,{ref:a,class:`no-outline`,tabindex:-1}));function s(e){let t=i.value;e?.qAvoidFocus!==!0&&(e?.type.indexOf(`key`)===0?document.activeElement!==t&&t?.contains(document.activeElement)===!0&&t.focus():a.value!==null&&(e===void 0||t?.contains(e.target)===!0)&&a.value.focus())}return{refocusTargetEl:o,refocusTarget:s}}var h={xs:30,sm:35,md:40,lg:50,xl:60},g={...u,...l,...f,modelValue:{required:!0,default:null},val:{},trueValue:{default:!0},falseValue:{default:!1},indeterminateValue:{default:null},checkedIcon:String,uncheckedIcon:String,indeterminateIcon:String,toggleOrder:{type:String,validator:e=>e===`tf`||e===`ft`},toggleIndeterminate:Boolean,label:String,leftLabel:Boolean,color:String,keepColor:Boolean,dense:Boolean,disable:Boolean,tabindex:[String,Number]},_=[`update:modelValue`];function v(l,u){let{props:f,slots:g,emit:_,proxy:v}=i(),{$q:y}=v,b=c(f,y),x=e(null),{refocusTargetEl:S,refocusTarget:C}=m(f,x),w=s(f,h),T=n(()=>f.val!==void 0&&Array.isArray(f.modelValue)),E=n(()=>{let e=r(f.val);return T.value===!0?f.modelValue.findIndex(t=>r(t)===e):-1}),D=n(()=>T.value===!0?E.value!==-1:r(f.modelValue)===r(f.trueValue)),O=n(()=>T.value===!0?E.value===-1:r(f.modelValue)===r(f.falseValue)),k=n(()=>D.value===!1&&O.value===!1),A=n(()=>f.disable===!0?-1:f.tabindex||0),j=n(()=>`q-${l} cursor-pointer no-outline row inline no-wrap items-center`+(f.disable===!0?` disabled`:``)+(b.value===!0?` q-${l}--dark`:``)+(f.dense===!0?` q-${l}--dense`:``)+(f.leftLabel===!0?` reverse`:``)),M=n(()=>`q-${l}__inner relative-position non-selectable q-${l}__inner--${D.value===!0?`truthy`:O.value===!0?`falsy`:`indet`}${f.color!==void 0&&(f.keepColor===!0||(l===`toggle`?D.value===!0:O.value!==!0))?` text-${f.color}`:``}`),N=p(n(()=>{let e={type:`checkbox`};return f.name!==void 0&&Object.assign(e,{".checked":D.value,"^checked":D.value===!0?`checked`:void 0,name:f.name,value:T.value===!0?f.val:f.trueValue}),e})),P=n(()=>{let e={tabindex:A.value,role:l===`toggle`?`switch`:`checkbox`,"aria-label":f.label,"aria-checked":k.value===!0?`mixed`:D.value===!0?`true`:`false`};return f.disable===!0&&(e[`aria-disabled`]=`true`),e});function F(e){e!==void 0&&(a(e),C(e)),f.disable!==!0&&_(`update:modelValue`,I(),e)}function I(){if(T.value===!0){if(D.value===!0){let e=f.modelValue.slice();return e.splice(E.value,1),e}return f.modelValue.concat([f.val])}if(D.value===!0){if(f.toggleOrder!==`ft`||f.toggleIndeterminate===!1)return f.falseValue}else if(O.value===!0){if(f.toggleOrder===`ft`||f.toggleIndeterminate===!1)return f.trueValue}else return f.toggleOrder===`ft`?f.falseValue:f.trueValue;return f.indeterminateValue}function L(e){(e.keyCode===13||e.keyCode===32)&&a(e)}function R(e){(e.keyCode===13||e.keyCode===32)&&F(e)}let z=u(D,k);return Object.assign(v,{toggle:F}),()=>{let e=z();f.disable!==!0&&N(e,`unshift`,` q-${l}__native absolute q-ma-none q-pa-none`);let n=[t(`div`,{class:M.value,style:w.value,"aria-hidden":`true`},e)];S.value!==null&&n.push(S.value);let r=f.label===void 0?d(g.default):o(g.default,[f.label]);return r!==void 0&&n.push(t(`div`,{class:`q-${l}__label q-anchor--skip`},r)),t(`div`,{ref:x,class:j.value,...P.value,onClick:F,onKeydown:L,onKeyup:R},n)}}export{m as a,h as i,_ as n,g as r,v as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{C as e,E as t,G as n,H as r,J as i,K as a,M as o,Q as s,S as c,X as l,Y as u,Z as d,l as f,nt as p,q as m,tt as ee,w as h,y as g}from"./runtime-core.esm-bundler-C3IgBgY5.js";import{O as _,j as v,n as y,r as b}from"./QIcon-B0-pH3Qs.js";var x=s(!1),S;function te(e,t){let n=/(edg|edge|edga|edgios)\/([\w.]+)/.exec(e)||/(opr)[\/]([\w.]+)/.exec(e)||/(vivaldi)[\/]([\w.]+)/.exec(e)||/(chrome|crios)[\/]([\w.]+)/.exec(e)||/(version)(applewebkit)[\/]([\w.]+).*(safari)[\/]([\w.]+)/.exec(e)||/(webkit)[\/]([\w.]+).*(version)[\/]([\w.]+).*(safari)[\/]([\w.]+)/.exec(e)||/(firefox|fxios)[\/]([\w.]+)/.exec(e)||/(webkit)[\/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[\/]([\w.]+)/.exec(e)||[];return{browser:n[5]||n[3]||n[1]||``,version:n[4]||n[2]||`0`,platform:t[0]||``}}function ne(e){return/(ipad)/.exec(e)||/(ipod)/.exec(e)||/(windows phone)/.exec(e)||/(iphone)/.exec(e)||/(kindle)/.exec(e)||/(silk)/.exec(e)||/(android)/.exec(e)||/(win)/.exec(e)||/(mac)/.exec(e)||/(linux)/.exec(e)||/(cros)/.exec(e)||/(playbook)/.exec(e)||/(bb)/.exec(e)||/(blackberry)/.exec(e)||[]}var C=`ontouchstart`in window||window.navigator.maxTouchPoints>0;function w(e){let t=e.toLowerCase(),n=te(t,ne(t)),r={mobile:!1,desktop:!1,cordova:!1,capacitor:!1,nativeMobile:!1,electron:!1,bex:!1,linux:!1,mac:!1,win:!1,cros:!1,chrome:!1,firefox:!1,opera:!1,safari:!1,vivaldi:!1,edge:!1,edgeChromium:!1,ie:!1,webkit:!1,android:!1,ios:!1,ipad:!1,iphone:!1,ipod:!1,kindle:!1,winphone:!1,blackberry:!1,playbook:!1,silk:!1};n.browser&&(r[n.browser]=!0,r.version=n.version,r.versionNumber=parseInt(n.version,10)),n.platform&&(r[n.platform]=!0);let i=r.android||r.ios||r.bb||r.blackberry||r.ipad||r.iphone||r.ipod||r.kindle||r.playbook||r.silk||r[`windows phone`];if(i===!0||t.indexOf(`mobile`)!==-1?r.mobile=!0:r.desktop=!0,r[`windows phone`]&&(r.winphone=!0,delete r[`windows phone`]),r.edga||r.edgios||r.edg?(r.edge=!0,n.browser=`edge`):r.crios?(r.chrome=!0,n.browser=`chrome`):r.fxios&&(r.firefox=!0,n.browser=`firefox`),(r.ipod||r.ipad||r.iphone)&&(r.ios=!0),r.vivaldi&&=(n.browser=`vivaldi`,!0),(r.chrome||r.opr||r.safari||r.vivaldi||r.mobile===!0&&r.ios!==!0&&i!==!0)&&(r.webkit=!0),r.opr&&(n.browser=`opera`,r.opera=!0),r.safari&&(r.blackberry||r.bb?(n.browser=`blackberry`,r.blackberry=!0):r.playbook?(n.browser=`playbook`,r.playbook=!0):r.android?(n.browser=`android`,r.android=!0):r.kindle?(n.browser=`kindle`,r.kindle=!0):r.silk&&=(n.browser=`silk`,!0)),r.name=n.browser,r.platform=n.platform,t.indexOf(`electron`)!==-1)r.electron=!0;else if(document.location.href.indexOf(`-extension://`)!==-1)r.bex=!0;else{if(window.Capacitor===void 0?(window._cordovaNative!==void 0||window.cordova!==void 0)&&(r.cordova=!0,r.nativeMobile=!0,r.nativeMobileWrapper=`cordova`):(r.capacitor=!0,r.nativeMobile=!0,r.nativeMobileWrapper=`capacitor`),x.value===!0&&(S={is:{...r}}),C===!0&&r.mac===!0&&(r.desktop===!0&&r.safari===!0||r.nativeMobile===!0&&r.android!==!0&&r.ios!==!0&&r.ipad!==!0)){delete r.mac,delete r.desktop;let e=Math.min(window.innerHeight,window.innerWidth)>414?`ipad`:`iphone`;Object.assign(r,{mobile:!0,ios:!0,platform:e,[e]:!0})}r.mobile!==!0&&window.navigator.userAgentData&&window.navigator.userAgentData.mobile&&(delete r.desktop,r.mobile=!0)}return r}var T=navigator.userAgent||navigator.vendor||window.opera,re={has:{touch:!1,webStorage:!1},within:{iframe:!1}},E={userAgent:T,is:w(T),has:{touch:C},within:{iframe:window.self!==window.top}},D={install(e){let{$q:t}=e;x.value===!0?(e.onSSRHydrated.push(()=>{Object.assign(t.platform,E),x.value=!1}),t.platform=d(this)):t.platform=this}};{let e;v(E.has,`webStorage`,()=>{if(e!==void 0)return e;try{if(window.localStorage)return e=!0,!0}catch{}return e=!1,!1}),Object.assign(D,E),x.value===!0&&(Object.assign(D,S,re),S=null)}function ie(e,t=250,n){let r=null;function i(){let i=arguments;r===null?n===!0&&e.apply(this,i):clearTimeout(r),r=setTimeout(()=>{r=null,n!==!0&&e.apply(this,i)},t)}return i.cancel=()=>{r!==null&&clearTimeout(r)},i}var O=[],k=[];function A(e){k=k.filter(t=>t!==e)}function ae(e){A(e),k.push(e)}function oe(e){A(e),k.length===0&&O.length!==0&&(O[O.length-1](),O=[])}function se(e){k.length===0?e():O.push(e)}function ce(e){O=O.filter(t=>t!==e)}var j,M=e=>j=e,le=Symbol();function N(e){return e&&typeof e==`object`&&Object.prototype.toString.call(e)===`[object Object]`&&typeof e.toJSON!=`function`}var P;(function(e){e.direct=`direct`,e.patchObject=`patch object`,e.patchFunction=`patch function`})(P||={});var ue=typeof window<`u`,F=typeof window==`object`&&window.window===window?window:typeof self==`object`&&self.self===self?self:typeof global==`object`&&global.global===global?global:typeof globalThis==`object`?globalThis:{HTMLElement:null};function de(e,{autoBom:t=!1}={}){return t&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob([``,e],{type:e.type}):e}function I(e,t,n){let r=new XMLHttpRequest;r.open(`GET`,e),r.responseType=`blob`,r.onload=function(){fe(r.response,t,n)},r.onerror=function(){console.error(`could not download file`)},r.send()}function L(e){let t=new XMLHttpRequest;t.open(`HEAD`,e,!1);try{t.send()}catch{}return t.status>=200&&t.status<=299}function R(e){try{e.dispatchEvent(new MouseEvent(`click`))}catch{let t=document.createEvent(`MouseEvents`);t.initMouseEvent(`click`,!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var z=typeof navigator==`object`?navigator:{userAgent:``},B=/Macintosh/.test(z.userAgent)&&/AppleWebKit/.test(z.userAgent)&&!/Safari/.test(z.userAgent),fe=ue?typeof HTMLAnchorElement<`u`&&`download`in HTMLAnchorElement.prototype&&!B?pe:`msSaveOrOpenBlob`in z?me:he:()=>{};function pe(e,t=`download`,n){let r=document.createElement(`a`);r.download=t,r.rel=`noopener`,typeof e==`string`?(r.href=e,r.origin===location.origin?R(r):L(r.href)?I(e,t,n):(r.target=`_blank`,R(r))):(r.href=URL.createObjectURL(e),setTimeout(function(){URL.revokeObjectURL(r.href)},4e4),setTimeout(function(){R(r)},0))}function me(e,t=`download`,n){if(typeof e==`string`)if(L(e))I(e,t,n);else{let t=document.createElement(`a`);t.href=e,t.target=`_blank`,setTimeout(function(){R(t)})}else navigator.msSaveOrOpenBlob(de(e,n),t)}function he(e,t,n,r){if(r||=open(``,`_blank`),r&&(r.document.title=r.document.body.innerText=`downloading...`),typeof e==`string`)return I(e,t,n);let i=e.type===`application/octet-stream`,a=/constructor/i.test(String(F.HTMLElement))||`safari`in F,o=/CriOS\/[\d]+/.test(navigator.userAgent);if((o||i&&a||B)&&typeof FileReader<`u`){let t=new FileReader;t.onloadend=function(){let e=t.result;if(typeof e!=`string`)throw r=null,Error(`Wrong reader.result type`);e=o?e:e.replace(/^data:[^;]*;/,`data:attachment/file;`),r?r.location.href=e:location.assign(e),r=null},t.readAsDataURL(e)}else{let t=URL.createObjectURL(e);r?r.location.assign(t):location.href=t,r=null,setTimeout(function(){URL.revokeObjectURL(t)},4e4)}}var{assign:ge}=Object;function _e(){let e=n(!0),t=e.run(()=>s({})),r=[],i=[],a=u({install(e){M(a),a._a=e,e.provide(le,a),e.config.globalProperties.$pinia=a,i.forEach(e=>r.push(e)),i=[]},use(e){return this._a?r.push(e):i.push(e),this},_p:r,_a:null,_e:e,_s:new Map,state:t});return a}var V=()=>{};function H(e,t,n,r=V){e.push(t);let i=()=>{let n=e.indexOf(t);n>-1&&(e.splice(n,1),r())};return!n&&a()&&l(i),i}function U(e,...t){e.slice().forEach(e=>{e(...t)})}var ve=e=>e(),W=Symbol(),G=Symbol();function K(e,t){e instanceof Map&&t instanceof Map?t.forEach((t,n)=>e.set(n,t)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(let n in t){if(!t.hasOwnProperty(n))continue;let r=t[n],a=e[n];N(a)&&N(r)&&e.hasOwnProperty(n)&&!i(r)&&!m(r)?e[n]=K(a,r):e[n]=r}return e}var ye=Symbol();function be(e){return!N(e)||!e.hasOwnProperty(ye)}var{assign:q}=Object;function xe(e){return!!(i(e)&&e.effect)}function Se(e,t,n,r){let{state:i,actions:a,getters:o}=t,s=n.state.value[e],c;function l(){return s||(n.state.value[e]=i?i():{}),q(p(n.state.value[e]),a,Object.keys(o||{}).reduce((t,r)=>(t[r]=u(f(()=>{M(n);let t=n._s.get(e);return o[r].call(t,t)})),t),{}))}return c=J(e,l,t,n,r,!0),c}function J(e,a,o={},c,l,u){let f,p=q({actions:{}},o),h={deep:!0},g,_,v=[],y=[],b=c.state.value[e];!u&&!b&&(c.state.value[e]={}),s({});let x;function S(n){let r;g=_=!1,typeof n==`function`?(n(c.state.value[e]),r={type:P.patchFunction,storeId:e,events:void 0}):(K(c.state.value[e],n),r={type:P.patchObject,payload:n,storeId:e,events:void 0});let i=x=Symbol();t().then(()=>{x===i&&(g=!0)}),_=!0,U(v,r,c.state.value[e])}let te=u?function(){let{state:e}=o,t=e?e():{};this.$patch(e=>{q(e,t)})}:V;function ne(){f.stop(),v=[],y=[],c._s.delete(e)}let C=(t,n=``)=>{if(W in t)return t[G]=n,t;let r=function(){M(c);let n=Array.from(arguments),i=[],a=[];function o(e){i.push(e)}function s(e){a.push(e)}U(y,{args:n,name:r[G],store:w,after:o,onError:s});let l;try{l=t.apply(this&&this.$id===e?this:w,n)}catch(e){throw U(a,e),e}return l instanceof Promise?l.then(e=>(U(i,e),e)).catch(e=>(U(a,e),Promise.reject(e))):(U(i,l),l)};return r[W]=!0,r[G]=n,r},w=d({_p:c,$id:e,$onAction:H.bind(null,y),$patch:S,$reset:te,$subscribe(t,n={}){let i=H(v,t,n.detached,()=>a()),a=f.run(()=>r(()=>c.state.value[e],r=>{(n.flush===`sync`?_:g)&&t({storeId:e,type:P.direct,events:void 0},r)},q({},h,n)));return i},$dispose:ne});c._s.set(e,w);let T=(c._a&&c._a.runWithContext||ve)(()=>c._e.run(()=>(f=n()).run(()=>a({action:C}))));for(let t in T){let n=T[t];i(n)&&!xe(n)||m(n)?u||(b&&be(n)&&(i(n)?n.value=b[t]:K(n,b[t])),c.state.value[e][t]=n):typeof n==`function`&&(T[t]=C(n,t),p.actions[t]=n)}return q(w,T),q(ee(w),T),Object.defineProperty(w,`$state`,{get:()=>c.state.value[e],set:e=>{S(t=>{q(t,e)})}}),c._p.forEach(e=>{q(w,f.run(()=>e({store:w,app:c._a,pinia:c,options:p})))}),b&&u&&o.hydrate&&o.hydrate(w.$state,b),g=!0,_=!0,w}function Ce(t,n,r){let i,a,o=typeof n==`function`;typeof t==`string`?(i=t,a=o?r:n):(a=t,i=t.id);function s(t,r){let s=e();return t||=s?h(le,null):null,t&&M(t),t=j,t._s.has(i)||(o?J(i,n,a,t):Se(i,a,t)),t._s.get(i)}return s.$id=i,s}var we={true:`inset`,item:`item-inset`,"item-thumbnail":`item-thumbnail-inset`},Y={xs:2,sm:4,md:8,lg:16,xl:24},Te=_({name:`QSeparator`,props:{...b,spaced:[Boolean,String],inset:[Boolean,String],vertical:Boolean,color:String,size:String},setup(e){let t=y(e,g().proxy.$q),n=f(()=>e.vertical===!0?`vertical`:`horizontal`),r=f(()=>` q-separator--${n.value}`),i=f(()=>e.inset===!1?``:`${r.value}-${we[e.inset]}`),a=f(()=>`q-separator${r.value}${i.value}`+(e.color===void 0?``:` bg-${e.color}`)+(t.value===!0?` q-separator--dark`:``)),o=f(()=>{let t={};if(e.size!==void 0&&(t[e.vertical===!0?`width`:`height`]=e.size),e.spaced!==!1){let n=e.spaced===!0?`${Y.md}px`:e.spaced in Y?`${Y[e.spaced]}px`:e.spaced,r=e.vertical===!0?[`Left`,`Right`]:[`Top`,`Bottom`];t[`margin${r[0]}`]=t[`margin${r[1]}`]=n}return t});return()=>c(`hr`,{class:a.value,style:o.value,"aria-orientation":n.value})}}),X,Z=0,Q=Array(256);for(let e=0;e<256;e++)Q[e]=(e+256).toString(16).substring(1);var Ee=(()=>{let e=typeof crypto<`u`?crypto:typeof window<`u`?window.crypto||window.msCrypto:void 0;if(e!==void 0){if(e.randomBytes!==void 0)return e.randomBytes;if(e.getRandomValues!==void 0)return t=>{let n=new Uint8Array(t);return e.getRandomValues(n),n}}return e=>{let t=[];for(let n=e;n>0;n--)t.push(Math.floor(Math.random()*256));return t}})(),De=4096;function $(){(X===void 0||Z+16>De)&&(Z=0,X=Ee(De));let e=Array.prototype.slice.call(X,Z,Z+=16);return e[6]=e[6]&15|64,e[8]=e[8]&63|128,Q[e[0]]+Q[e[1]]+Q[e[2]]+Q[e[3]]+`-`+Q[e[4]]+Q[e[5]]+`-`+Q[e[6]]+Q[e[7]]+`-`+Q[e[8]]+Q[e[9]]+`-`+Q[e[10]]+Q[e[11]]+Q[e[12]]+Q[e[13]]+Q[e[14]]+Q[e[15]]}function Oe(e){return e??null}function ke(e,t){return e??(t===!0?`f_${$()}`:null)}function Ae({getValue:e,required:t=!0}={}){if(x.value===!0){let n=s(e===void 0?null:Oe(e()));return t===!0&&n.value===null&&o(()=>{n.value=`f_${$()}`}),e!==void 0&&r(e,e=>{n.value=ke(e,t)}),n}return e===void 0?s(`f_${$()}`):f(()=>ke(e(),t))}export{Ce as a,ce as c,D as d,E as f,_e as i,oe as l,$ as n,se as o,x as p,Te as r,ae as s,Ae as t,ie as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{H as e,Q as t,S as n,i 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,S as l,T as u,_ as d,b as f,k as p,s as m,v as h}from"./QIcon-B0-pH3Qs.js";import{f as g}from"./use-id-CDuXkR0Z.js";import{D as _}from"./settings-Dbx1_ksA.js";import{f as v}from"./QBtn-DHwAb18J.js";import{p as y}from"./QTooltip-DjJYMTkN.js";import{n as b,t as x}from"./touch-Co9pfjUU.js";function S(e){let t=[.06,6,50];return typeof e==`string`&&e.length&&e.split(`:`).forEach((e,n)=>{let r=parseFloat(e);r&&(t[n]=r)}),t}var C=p({name:`touch-swipe`,beforeMount(e,{value:t,arg:n,modifiers:r}){if(r.mouse!==!0&&g.has.touch!==!0)return;let i=r.mouseCapture===!0?`Capture`:``,a={handler:t,sensitivity:S(n),direction:x(r),noop:l,mouseStart(e){b(e,a)&&f(e)&&(d(a,`temp`,[[document,`mousemove`,`move`,`notPassive${i}`],[document,`mouseup`,`end`,`notPassiveCapture`]]),a.start(e,!0))},touchStart(e){if(b(e,a)){let t=e.target;d(a,`temp`,[[t,`touchmove`,`move`,`notPassiveCapture`],[t,`touchcancel`,`end`,`notPassiveCapture`],[t,`touchend`,`end`,`notPassiveCapture`]]),a.start(e)}},start(t,n){g.is.firefox===!0&&u(e,!0);let r=o(t);a.event={x:r.left,y:r.top,time:Date.now(),mouse:n===!0,dir:!1}},move(e){if(a.event===void 0)return;if(a.event.dir!==!1){s(e);return}let t=Date.now()-a.event.time;if(t===0)return;let n=o(e),r=n.left-a.event.x,i=Math.abs(r),c=n.top-a.event.y,l=Math.abs(c);if(a.event.mouse!==!0){if(i<a.sensitivity[1]&&l<a.sensitivity[1]){a.end(e);return}}else if(window.getSelection().toString()!==``){a.end(e);return}else if(i<a.sensitivity[2]&&l<a.sensitivity[2])return;let u=i/t,d=l/t;a.direction.vertical===!0&&i<l&&i<100&&d>a.sensitivity[0]&&(a.event.dir=c<0?`up`:`down`),a.direction.horizontal===!0&&i>l&&l<100&&u>a.sensitivity[0]&&(a.event.dir=r<0?`left`:`right`),a.direction.up===!0&&i<l&&c<0&&i<100&&d>a.sensitivity[0]&&(a.event.dir=`up`),a.direction.down===!0&&i<l&&c>0&&i<100&&d>a.sensitivity[0]&&(a.event.dir=`down`),a.direction.left===!0&&i>l&&r<0&&l<100&&u>a.sensitivity[0]&&(a.event.dir=`left`),a.direction.right===!0&&i>l&&r>0&&l<100&&u>a.sensitivity[0]&&(a.event.dir=`right`),a.event.dir===!1?a.end(e):(s(e),a.event.mouse===!0&&(document.body.classList.add(`no-pointer-events--children`),document.body.classList.add(`non-selectable`),y(),a.styleCleanup=e=>{a.styleCleanup=void 0,document.body.classList.remove(`non-selectable`);let t=()=>{document.body.classList.remove(`no-pointer-events--children`)};e===!0?setTimeout(t,50):t()}),a.handler({evt:e,touch:a.event.mouse!==!0,mouse:a.event.mouse,direction:a.event.dir,duration:t,distance:{x:i,y:l}}))},end(t){a.event!==void 0&&(h(a,`temp`),g.is.firefox===!0&&u(e,!1),a.styleCleanup?.(!0),t!==void 0&&a.event.dir!==!1&&s(t),a.event=void 0)}};e.__qtouchswipe=a,r.mouse===!0&&d(a,`main`,[[e,`mousedown`,`mouseStart`,`passive${r.mouseCapture===!0||r.mousecapture===!0?`Capture`:``}`]]),g.has.touch===!0&&d(a,`main`,[[e,`touchstart`,`touchStart`,`passive${r.capture===!0?`Capture`:``}`],[e,`touchmove`,`noop`,`notPassiveCapture`]])},updated(e,t){let n=e.__qtouchswipe;n!==void 0&&(t.oldValue!==t.value&&(typeof t.value!=`function`&&n.end(),n.handler=t.value),n.direction=x(t.modifiers))},beforeUnmount(e){let t=e.__qtouchswipe;t!==void 0&&(h(t,`main`),h(t,`temp`),g.is.firefox===!0&&u(e,!1),t.styleCleanup?.(),delete e.__qtouchswipe)}});function w(){let e=Object.create(null);return{getCache:(t,n)=>e[t]===void 0?e[t]=typeof n==`function`?n():n:e[t],setCache(t,n){e[t]=n},hasCache(t){return Object.hasOwnProperty.call(e,t)},clearCache(t){t===void 0?e=Object.create(null):delete e[t]}}}var T={name:{required:!0},disable:Boolean},E={setup(e,{slots:t}){return()=>n(`div`,{class:`q-panel scroll`,role:`tabpanel`},m(t.default))}},D={modelValue:{required:!0},animated:Boolean,infinite:Boolean,swipeable:Boolean,vertical:Boolean,transitionPrev:String,transitionNext:String,transitionDuration:{type:[String,Number],default:300},keepAlive:Boolean,keepAliveInclude:[String,Array,RegExp],keepAliveExclude:[String,Array,RegExp],keepAliveMax:Number},O=[`update:modelValue`,`beforeTransition`,`transition`];function k(){let{props:o,emit:s,proxy:l}=a(),{getCache:u}=w(),{registerTimeout:d}=_(),f,p,h=t(null),g={value:null};function y(e){let t=o.vertical===!0?`up`:`left`;L((l.$q.lang.rtl===!0?-1:1)*(e.direction===t?1:-1))}let b=i(()=>[[C,y,void 0,{horizontal:o.vertical!==!0,vertical:o.vertical,mouse:!0}]]),x=i(()=>o.transitionPrev||`slide-${o.vertical===!0?`down`:`right`}`),S=i(()=>o.transitionNext||`slide-${o.vertical===!0?`up`:`left`}`),T=i(()=>`--q-transition-duration: ${o.transitionDuration}ms`),D=i(()=>typeof o.modelValue==`string`||typeof o.modelValue==`number`?o.modelValue:String(o.modelValue)),O=i(()=>({include:o.keepAliveInclude,exclude:o.keepAliveExclude,max:o.keepAliveMax})),k=i(()=>o.keepAliveInclude!==void 0||o.keepAliveExclude!==void 0);e(()=>o.modelValue,(e,t)=>{let n=N(e)===!0?P(e):-1;p!==!0&&I(n===-1?0:n<P(t)?-1:1),g.value!==n&&(g.value=n,s(`beforeTransition`,e,t),d(()=>{s(`transition`,e,t)},o.transitionDuration))});function A(){L(1)}function j(){L(-1)}function M(e){s(`update:modelValue`,e)}function N(e){return e!=null&&e!==``}function P(e){return f.findIndex(t=>t.props.name===e&&t.props.disable!==``&&t.props.disable!==!0)}function F(){return f.filter(e=>e.props.disable!==``&&e.props.disable!==!0)}function I(e){let t=e!==0&&o.animated===!0&&g.value!==-1?`q-transition--`+(e===-1?x.value:S.value):null;h.value!==t&&(h.value=t)}function L(e,t=g.value){let n=t+e;for(;n!==-1&&n<f.length;){let t=f[n];if(t!==void 0&&t.props.disable!==``&&t.props.disable!==!0){I(e),p=!0,s(`update:modelValue`,t.props.name),setTimeout(()=>{p=!1});return}n+=e}o.infinite===!0&&f.length!==0&&t!==-1&&t!==f.length&&L(e,e===-1?f.length:-1)}function R(){let e=P(o.modelValue);return g.value!==e&&(g.value=e),!0}function z(){let e=N(o.modelValue)===!0&&R()&&f[g.value];return o.keepAlive===!0?[n(r,O.value,[n(k.value===!0?u(D.value,()=>({...E,name:D.value})):E,{key:D.value,style:T.value},()=>e)])]:[n(`div`,{class:`q-panel scroll`,style:T.value,key:D.value,role:`tabpanel`},[e])]}function B(){if(f.length!==0)return o.animated===!0?[n(c,{name:h.value},z)]:z()}function V(e){return f=v(m(e.default,[])).filter(e=>e.props!==null&&e.props.slot===void 0&&N(e.props.name)===!0),f.length}function H(){return f}return Object.assign(l,{next:A,previous:j,goTo:M}),{panelIndex:g,panelDirectives:b,updatePanelsList:V,updatePanelIndex:R,getPanelContent:B,getEnabledPanels:F,getPanels:H,isValidPanelName:N,keepAliveProps:O,needsUniqueKeepAliveWrapper:k,goToPanelByOffset:L,goToPanel:M,nextPanel:A,previousPanel:j}}export{w as a,D as i,T as n,O as r,k as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{m as e}from"./editor.api-
|
|
1
|
+
import{m as e}from"./editor.api-D6Vfp5yv.js";var t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,a=(e,a,o,s)=>{if(a&&typeof a==`object`||typeof a==`function`)for(let c of r(a))!i.call(e,c)&&c!==o&&t(e,c,{get:()=>a[c],enumerable:!(s=n(a,c))||s.enumerable});return e},o=(e,t,n)=>(a(e,t,`default`),n&&a(n,t,`default`)),s={};o(s,e);var c={comments:{blockComment:[`<!--`,`-->`]},brackets:[[`<`,`>`]],autoClosingPairs:[{open:`<`,close:`>`},{open:`'`,close:`'`},{open:`"`,close:`"`}],surroundingPairs:[{open:`<`,close:`>`},{open:`'`,close:`'`},{open:`"`,close:`"`}],onEnterRules:[{beforeText:RegExp(`<([_:\\w][_:\\w-.\\d]*)([^/>]*(?!/)>)[^<]*$`,`i`),afterText:/^<\/([_:\w][_:\w-.\d]*)\s*>$/i,action:{indentAction:s.languages.IndentAction.IndentOutdent}},{beforeText:RegExp(`<(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,`i`),action:{indentAction:s.languages.IndentAction.Indent}}]},l={defaultToken:``,tokenPostfix:`.xml`,ignoreCase:!0,qualifiedName:/(?:[\w\.\-]+:)?[\w\.\-]+/,tokenizer:{root:[[/[^<&]+/,``],{include:`@whitespace`},[/(<)(@qualifiedName)/,[{token:`delimiter`},{token:`tag`,next:`@tag`}]],[/(<\/)(@qualifiedName)(\s*)(>)/,[{token:`delimiter`},{token:`tag`},``,{token:`delimiter`}]],[/(<\?)(@qualifiedName)/,[{token:`delimiter`},{token:`metatag`,next:`@tag`}]],[/(<\!)(@qualifiedName)/,[{token:`delimiter`},{token:`metatag`,next:`@tag`}]],[/<\!\[CDATA\[/,{token:`delimiter.cdata`,next:`@cdata`}],[/&\w+;/,`string.escape`]],cdata:[[/[^\]]+/,``],[/\]\]>/,{token:`delimiter.cdata`,next:`@pop`}],[/\]/,``]],tag:[[/[ \t\r\n]+/,``],[/(@qualifiedName)(\s*=\s*)("[^"]*"|'[^']*')/,[`attribute.name`,``,`attribute.value`]],[/(@qualifiedName)(\s*=\s*)("[^">?\/]*|'[^'>?\/]*)(?=[\?\/]\>)/,[`attribute.name`,``,`attribute.value`]],[/(@qualifiedName)(\s*=\s*)("[^">]*|'[^'>]*)/,[`attribute.name`,``,`attribute.value`]],[/@qualifiedName/,`attribute.name`],[/\?>/,{token:`delimiter`,next:`@pop`}],[/(\/)(>)/,[{token:`tag`},{token:`delimiter`,next:`@pop`}]],[/>/,{token:`delimiter`,next:`@pop`}]],whitespace:[[/[ \t\r\n]+/,``],[/<!--/,{token:`comment`,next:`@comment`}]],comment:[[/[^<\-]+/,`comment.content`],[/-->/,{token:`comment`,next:`@pop`}],[/<!--/,`comment.content.invalid`],[/[<\-]/,`comment.content`]]}};export{c as conf,l as language};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{m as e}from"./editor.api-
|
|
1
|
+
import{m as e}from"./editor.api-D6Vfp5yv.js";var t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,a=(e,a,o,s)=>{if(a&&typeof a==`object`||typeof a==`function`)for(let c of r(a))!i.call(e,c)&&c!==o&&t(e,c,{get:()=>a[c],enumerable:!(s=n(a,c))||s.enumerable});return e},o=(e,t,n)=>(a(e,t,`default`),n&&a(n,t,`default`)),s={};o(s,e);var c={comments:{lineComment:`#`},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],folding:{offSide:!0},onEnterRules:[{beforeText:/:\s*$/,action:{indentAction:s.languages.IndentAction.Indent}}]},l={tokenPostfix:`.yaml`,brackets:[{token:`delimiter.bracket`,open:`{`,close:`}`},{token:`delimiter.square`,open:`[`,close:`]`}],keywords:[`true`,`True`,`TRUE`,`false`,`False`,`FALSE`,`null`,`Null`,`Null`,`~`],numberInteger:/(?:0|[+-]?[0-9]+)/,numberFloat:/(?:0|[+-]?[0-9]+)(?:\.[0-9]+)?(?:e[-+][1-9][0-9]*)?/,numberOctal:/0o[0-7]+/,numberHex:/0x[0-9a-fA-F]+/,numberInfinity:/[+-]?\.(?:inf|Inf|INF)/,numberNaN:/\.(?:nan|Nan|NAN)/,numberDate:/\d{4}-\d\d-\d\d([Tt ]\d\d:\d\d:\d\d(\.\d+)?(( ?[+-]\d\d?(:\d\d)?)|Z)?)?/,escapes:/\\(?:[btnfr\\"']|[0-7][0-7]?|[0-3][0-7]{2})/,tokenizer:{root:[{include:`@whitespace`},{include:`@comment`},[/%[^ ]+.*$/,`meta.directive`],[/---/,`operators.directivesEnd`],[/\.{3}/,`operators.documentEnd`],[/[-?:](?= )/,`operators`],{include:`@anchor`},{include:`@tagHandle`},{include:`@flowCollections`},{include:`@blockStyle`},[/@numberInteger(?![ \t]*\S+)/,`number`],[/@numberFloat(?![ \t]*\S+)/,`number.float`],[/@numberOctal(?![ \t]*\S+)/,`number.octal`],[/@numberHex(?![ \t]*\S+)/,`number.hex`],[/@numberInfinity(?![ \t]*\S+)/,`number.infinity`],[/@numberNaN(?![ \t]*\S+)/,`number.nan`],[/@numberDate(?![ \t]*\S+)/,`number.date`],[/(".*?"|'.*?'|[^#'"]*?)([ \t]*)(:)( |$)/,[`type`,`white`,`operators`,`white`]],{include:`@flowScalars`},[/.+?(?=(\s+#|$))/,{cases:{"@keywords":`keyword`,"@default":`string`}}]],object:[{include:`@whitespace`},{include:`@comment`},[/\}/,`@brackets`,`@pop`],[/,/,`delimiter.comma`],[/:(?= )/,`operators`],[/(?:".*?"|'.*?'|[^,\{\[]+?)(?=: )/,`type`],{include:`@flowCollections`},{include:`@flowScalars`},{include:`@tagHandle`},{include:`@anchor`},{include:`@flowNumber`},[/[^\},]+/,{cases:{"@keywords":`keyword`,"@default":`string`}}]],array:[{include:`@whitespace`},{include:`@comment`},[/\]/,`@brackets`,`@pop`],[/,/,`delimiter.comma`],{include:`@flowCollections`},{include:`@flowScalars`},{include:`@tagHandle`},{include:`@anchor`},{include:`@flowNumber`},[/[^\],]+/,{cases:{"@keywords":`keyword`,"@default":`string`}}]],multiString:[[/^( +).+$/,`string`,`@multiStringContinued.$1`]],multiStringContinued:[[/^( *).+$/,{cases:{"$1==$S2":`string`,"@default":{token:`@rematch`,next:`@popall`}}}]],whitespace:[[/[ \t\r\n]+/,`white`]],comment:[[/#.*$/,`comment`]],flowCollections:[[/\[/,`@brackets`,`@array`],[/\{/,`@brackets`,`@object`]],flowScalars:[[/"([^"\\]|\\.)*$/,`string.invalid`],[/'([^'\\]|\\.)*$/,`string.invalid`],[/'[^']*'/,`string`],[/"/,`string`,`@doubleQuotedString`]],doubleQuotedString:[[/[^\\"]+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/"/,`string`,`@pop`]],blockStyle:[[/[>|][0-9]*[+-]?$/,`operators`,`@multiString`]],flowNumber:[[/@numberInteger(?=[ \t]*[,\]\}])/,`number`],[/@numberFloat(?=[ \t]*[,\]\}])/,`number.float`],[/@numberOctal(?=[ \t]*[,\]\}])/,`number.octal`],[/@numberHex(?=[ \t]*[,\]\}])/,`number.hex`],[/@numberInfinity(?=[ \t]*[,\]\}])/,`number.infinity`],[/@numberNaN(?=[ \t]*[,\]\}])/,`number.nan`],[/@numberDate(?=[ \t]*[,\]\}])/,`number.date`]],tagHandle:[[/\![^ ]*/,`tag`]],anchor:[[/[&*][^ ]+/,`namespace`]]}};export{c as conf,l as language};
|
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><title>Kōbō</title><link rel=icon type=image/svg+xml href=/favicon.svg><meta charset=utf-8><meta name=description content="Kōbō — multi-workspace agent manager for Claude Code"><meta name=format-detection content="telephone=no"><meta name=msapplication-tap-highlight content=no><meta name=viewport content="user-scalable=no,initial-scale=1,maximum-scale=1,minimum-scale=1,width=device-width,height=device-height"> <script type="module" crossorigin src="/assets/index-
|
|
1
|
+
<!DOCTYPE html><html><head><title>Kōbō</title><link rel=icon type=image/svg+xml href=/favicon.svg><meta charset=utf-8><meta name=description content="Kōbō — multi-workspace agent manager for Claude Code"><meta name=format-detection content="telephone=no"><meta name=msapplication-tap-highlight content=no><meta name=viewport content="user-scalable=no,initial-scale=1,maximum-scale=1,minimum-scale=1,width=device-width,height=device-height"> <script type="module" crossorigin src="/assets/index-C_e7KOYh.js"></script>
|
|
2
2
|
<link rel="modulepreload" crossorigin href="/assets/runtime-core.esm-bundler-C3IgBgY5.js">
|
|
3
|
-
<link rel="modulepreload" crossorigin href="/assets/vue-i18n-
|
|
3
|
+
<link rel="modulepreload" crossorigin href="/assets/vue-i18n-eUDnMrPl.js">
|
|
4
4
|
<link rel="modulepreload" crossorigin href="/assets/QIcon-B0-pH3Qs.js">
|
|
5
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
6
|
-
<link rel="modulepreload" crossorigin href="/assets/use-id-C93QQwrt.js">
|
|
5
|
+
<link rel="modulepreload" crossorigin href="/assets/use-id-CDuXkR0Z.js">
|
|
7
6
|
<link rel="modulepreload" crossorigin href="/assets/QBtn-DHwAb18J.js">
|
|
8
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
9
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
10
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
11
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
12
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
13
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
7
|
+
<link rel="modulepreload" crossorigin href="/assets/symbols-BVRrMH2r.js">
|
|
8
|
+
<link rel="modulepreload" crossorigin href="/assets/QInput-D4WJro4e.js">
|
|
9
|
+
<link rel="modulepreload" crossorigin href="/assets/use-checkbox-DzHmcu7s.js">
|
|
10
|
+
<link rel="modulepreload" crossorigin href="/assets/QCheckbox-CcY7ZSk9.js">
|
|
11
|
+
<link rel="modulepreload" crossorigin href="/assets/QRadio-DaZhdLCg.js">
|
|
12
|
+
<link rel="modulepreload" crossorigin href="/assets/QToggle-CGpiJLDJ.js">
|
|
13
|
+
<link rel="modulepreload" crossorigin href="/assets/settings-Dbx1_ksA.js">
|
|
14
|
+
<link rel="modulepreload" crossorigin href="/assets/is-BbsvEMaT.js">
|
|
14
15
|
<link rel="stylesheet" crossorigin href="/assets/index-eX_lKHSg.css">
|
|
15
16
|
</head><body><div id=q-app></div></body></html>
|
|
@@ -88,7 +88,11 @@ async function notifyAutoLoopReady(): Promise<void> {
|
|
|
88
88
|
}
|
|
89
89
|
|
|
90
90
|
/** Generic HTTP request to the Kobo backend, returning parsed JSON or null. */
|
|
91
|
-
async function backendRequest(
|
|
91
|
+
async function backendRequest(
|
|
92
|
+
method: 'GET' | 'POST' | 'PATCH' | 'DELETE',
|
|
93
|
+
pathname: string,
|
|
94
|
+
body?: unknown,
|
|
95
|
+
): Promise<unknown> {
|
|
92
96
|
const url = `${backendUrl}${pathname}`
|
|
93
97
|
const init: RequestInit = { method }
|
|
94
98
|
if (body !== undefined) {
|
|
@@ -334,6 +338,35 @@ server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
|
334
338
|
'CALL when you need to self-regulate on long missions — returns token/cost totals for the workspace lifetime and for the currently running agent_session. Useful before spawning heavy subagents or deep reasoning on already-expensive sessions.',
|
|
335
339
|
inputSchema: { type: 'object', properties: {}, required: [] },
|
|
336
340
|
},
|
|
341
|
+
{
|
|
342
|
+
name: 'schedule_wakeup',
|
|
343
|
+
description:
|
|
344
|
+
'CALL to schedule a follow-up turn on THIS workspace after a delay. End the current turn normally; once it finishes and the workspace is idle, Kōbō waits `delaySeconds`, then resumes the same conversation by injecting `prompt` as the next user message. The wakeup is scoped to the current workspace and resumes its latest session — you cannot target another workspace or another session. If a turn is still active when the timer fires, the wakeup is skipped (status: `session-active`). Replaces any previously pending wakeup on this workspace. Delay is clamped to [60, 3600] seconds. Prefer this over the built-in `ScheduleWakeup` tool — it is the SDK-supported entry point.',
|
|
345
|
+
inputSchema: {
|
|
346
|
+
type: 'object',
|
|
347
|
+
properties: {
|
|
348
|
+
delaySeconds: {
|
|
349
|
+
type: 'number',
|
|
350
|
+
description: 'Seconds from now until the wakeup fires. Clamped to [60, 3600].',
|
|
351
|
+
},
|
|
352
|
+
prompt: {
|
|
353
|
+
type: 'string',
|
|
354
|
+
description: 'Prompt sent to the agent when the wakeup fires.',
|
|
355
|
+
},
|
|
356
|
+
reason: {
|
|
357
|
+
type: 'string',
|
|
358
|
+
description: 'Short label shown to the user explaining the wakeup (optional).',
|
|
359
|
+
},
|
|
360
|
+
},
|
|
361
|
+
required: ['delaySeconds', 'prompt'],
|
|
362
|
+
},
|
|
363
|
+
},
|
|
364
|
+
{
|
|
365
|
+
name: 'cancel_wakeup',
|
|
366
|
+
description:
|
|
367
|
+
'CALL to cancel any pending wakeup on this workspace (e.g. the condition you were waiting on resolved early, or you decided not to continue). Idempotent — safe to call when nothing is pending.',
|
|
368
|
+
inputSchema: { type: 'object', properties: {}, required: [] },
|
|
369
|
+
},
|
|
337
370
|
],
|
|
338
371
|
}))
|
|
339
372
|
|
|
@@ -500,6 +533,32 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
500
533
|
return ok(getSessionUsageHandler(db, workspaceId!))
|
|
501
534
|
}
|
|
502
535
|
|
|
536
|
+
if (name === 'schedule_wakeup') {
|
|
537
|
+
const delaySeconds = a.delaySeconds
|
|
538
|
+
const prompt = a.prompt
|
|
539
|
+
if (typeof delaySeconds !== 'number' || !Number.isFinite(delaySeconds) || delaySeconds <= 0) {
|
|
540
|
+
return fail('delaySeconds must be a positive number')
|
|
541
|
+
}
|
|
542
|
+
if (typeof prompt !== 'string' || prompt.trim().length === 0) {
|
|
543
|
+
return fail('prompt is required')
|
|
544
|
+
}
|
|
545
|
+
const reason = a.reason
|
|
546
|
+
if (reason !== undefined && typeof reason !== 'string') {
|
|
547
|
+
return fail('reason must be a string when provided')
|
|
548
|
+
}
|
|
549
|
+
const result = await backendRequest('POST', `/api/workspaces/${workspaceId}/pending-wakeup`, {
|
|
550
|
+
delaySeconds,
|
|
551
|
+
prompt,
|
|
552
|
+
reason,
|
|
553
|
+
})
|
|
554
|
+
return ok(result)
|
|
555
|
+
}
|
|
556
|
+
|
|
557
|
+
if (name === 'cancel_wakeup') {
|
|
558
|
+
const result = await backendRequest('DELETE', `/api/workspaces/${workspaceId}/pending-wakeup`)
|
|
559
|
+
return ok(result)
|
|
560
|
+
}
|
|
561
|
+
|
|
503
562
|
if (name === 'search_codebase') {
|
|
504
563
|
const query = a.query as string | undefined
|
|
505
564
|
if (!query) return fail('query parameter is required')
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Short brief injected at the top of the first prompt of a *new* session so
|
|
3
|
-
* the agent discovers the Kōbō MCP toolbox without having to be asked.
|
|
4
|
-
* Skipped on `--resume` because the brief is already in conversation history.
|
|
5
|
-
*/
|
|
6
|
-
const KOBO_MCP_BRIEF = [
|
|
7
|
-
'[Kōbō MCP] This workspace exposes a dedicated MCP server with tools prefixed `kobo__`.',
|
|
8
|
-
"Non-interactive mode: this session runs via `claude -p`. Tools requiring a synchronous human reply (e.g. `AskUserQuestion`) won't complete — never call them. If you need user input, end the turn with a plain-text question; the user replies asynchronously via the chat UI.",
|
|
9
|
-
'Plan mode: when running with `--permission-mode plan`, the read-only restriction applies to MCP tools too, not just built-ins. For Kōbō: `kobo__list_*`, `kobo__read_document`, `kobo__search_codebase`, `kobo__get_*` are fine; `kobo__mark_task_done`, `kobo__log_thought`, `kobo__set_workspace_status` are mutations and must wait until the plan is approved.',
|
|
10
|
-
'Conventions — read these BEFORE starting work, not as a fallback:',
|
|
11
|
-
'• `kobo__list_tasks` first on any non-trivial turn, then `kobo__mark_task_done` as each item completes.',
|
|
12
|
-
'• `kobo__list_documents` / `kobo__read_document` to discover existing plans and specs under docs/ and .ai/thoughts/ before writing new ones.',
|
|
13
|
-
'• `kobo__log_thought` to persist notable decisions to `.ai/thoughts/<date>-<slug>.md`.',
|
|
14
|
-
'• `kobo__search_codebase` to recall prior chat history (conversations, not source — use Grep for source).',
|
|
15
|
-
'• `kobo__get_workspace_info` / `kobo__get_git_info` / `kobo__get_notion_ticket` for context.',
|
|
16
|
-
'• `kobo__set_workspace_status` when the mission is done / blocked / idle.',
|
|
17
|
-
'Each tool carries its own "WHEN to use" guidance in its description — follow it.',
|
|
18
|
-
].join('\n');
|
|
19
|
-
export function buildClaudeArgs(input) {
|
|
20
|
-
const args = ['--output-format', 'stream-json', '--verbose'];
|
|
21
|
-
// `plan` mode is handled by Claude Code natively via `--permission-mode plan`.
|
|
22
|
-
// Under plan mode, Claude restricts itself to read-only tools and surfaces an
|
|
23
|
-
// `ExitPlanMode` tool call when the plan is ready for the user to approve.
|
|
24
|
-
// `--dangerously-skip-permissions` is incompatible with plan mode (it would
|
|
25
|
-
// bypass the very restriction plan mode enforces), so we skip it here.
|
|
26
|
-
if (input.permissionMode === 'plan') {
|
|
27
|
-
args.push('--permission-mode', 'plan');
|
|
28
|
-
}
|
|
29
|
-
else if (input.permissionProfile === 'strict') {
|
|
30
|
-
// Strict profile: respect the project's settings.json allow/deny.
|
|
31
|
-
// `acceptEdits` auto-accepts Edit/Write but enforces the allow list,
|
|
32
|
-
// so `Edit(.claude/**)` and similar take effect (unlike in bypass mode).
|
|
33
|
-
args.push('--permission-mode', 'acceptEdits');
|
|
34
|
-
}
|
|
35
|
-
else if (input.skipPermissions) {
|
|
36
|
-
args.push('--dangerously-skip-permissions');
|
|
37
|
-
}
|
|
38
|
-
let prompt = input.prompt;
|
|
39
|
-
// Only prepend the MCP brief on a fresh session — on --resume, the previous
|
|
40
|
-
// turn's context already contains it, and re-prepending would spam.
|
|
41
|
-
if (!input.resumeFromEngineSessionId) {
|
|
42
|
-
prompt = `${KOBO_MCP_BRIEF}\n\n${prompt}`;
|
|
43
|
-
}
|
|
44
|
-
if (input.model && input.model !== 'auto')
|
|
45
|
-
args.push('--model', input.model);
|
|
46
|
-
if (input.effort && input.effort !== 'auto')
|
|
47
|
-
args.push('--effort', input.effort);
|
|
48
|
-
if (input.mcpConfigPath)
|
|
49
|
-
args.push('--mcp-config', input.mcpConfigPath);
|
|
50
|
-
if (input.resumeFromEngineSessionId) {
|
|
51
|
-
args.push('--resume', input.resumeFromEngineSessionId, '-p', prompt);
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
args.push('-p', prompt);
|
|
55
|
-
}
|
|
56
|
-
return { args, effectivePrompt: prompt };
|
|
57
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { existsSync, unlinkSync, writeFileSync } from 'node:fs';
|
|
2
|
-
import { join } from 'node:path';
|
|
3
|
-
const MCP_FILENAME = '.mcp.json';
|
|
4
|
-
export function writeMcpConfig(workingDir, servers) {
|
|
5
|
-
const filePath = join(workingDir, MCP_FILENAME);
|
|
6
|
-
const mcpServers = {};
|
|
7
|
-
for (const s of servers) {
|
|
8
|
-
mcpServers[s.name] = { command: s.command, args: s.args, env: s.env };
|
|
9
|
-
}
|
|
10
|
-
writeFileSync(filePath, JSON.stringify({ mcpServers }, null, 2));
|
|
11
|
-
return filePath;
|
|
12
|
-
}
|
|
13
|
-
export function cleanupMcpConfig(workingDir) {
|
|
14
|
-
const filePath = join(workingDir, MCP_FILENAME);
|
|
15
|
-
if (existsSync(filePath)) {
|
|
16
|
-
try {
|
|
17
|
-
unlinkSync(filePath);
|
|
18
|
-
}
|
|
19
|
-
catch {
|
|
20
|
-
// Best-effort cleanup
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
}
|