@inkeep/open-knowledge 0.80.0-beta.5 → 0.80.0-beta.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.mjs +72 -74
- package/dist/config-schema.json +3 -3
- package/dist/config.project-local.schema.json +1 -1
- package/dist/config.user.schema.json +2 -2
- package/dist/constants-H8MPNRhO.mjs +1 -0
- package/dist/dist-BBi7mVvL.mjs +1 -0
- package/dist/dist-GcFBLEr5.mjs +2130 -0
- package/dist/index.mjs +233 -233
- package/dist/init-7G_l7gil.mjs +1 -0
- package/dist/{init-Boyt6ulg.mjs → init-DvYKQnB9.mjs} +17 -17
- package/dist/{js-exec-VXN6TZ7U-B4rL1N_3.mjs → js-exec-VXN6TZ7U-Z8_USGOo.mjs} +4 -4
- package/dist/{launch-json-removal-B7LKMRLc.mjs → launch-json-removal-7bCaKHP1.mjs} +1 -1
- package/dist/loader-BWhgdNl5.mjs +1 -0
- package/dist/{loader-DXL-jEwi.mjs → loader-DrjH_b9L.mjs} +1 -1
- package/dist/{lzma-C5bZvzmx.mjs → lzma-CEMDJHEs.mjs} +2 -2
- package/dist/{md-manager-BGnqyqi1-LuKRfqxD.mjs → md-manager-BGnqyqi1-DCa5-0ww.mjs} +153 -153
- package/dist/{open-browser-B_00nhl_.mjs → open-browser-CDL2mqCk.mjs} +1 -1
- package/dist/parse-worker.mjs +1 -1
- package/dist/{preview-B_9MsldP.mjs → preview-BYnQz9HD.mjs} +1 -1
- package/dist/preview-CuyQLuj5.mjs +1 -0
- package/dist/public/assets/{ActivityModeContent-Fa2Bc7H7.js → ActivityModeContent-BZzgyg-l.js} +1 -1
- package/dist/public/assets/{AddPropertiesButton-CY_aojnI.js → AddPropertiesButton-DARtVJlU.js} +2 -2
- package/dist/public/assets/{AgentDiffPane-VQlod0uk.js → AgentDiffPane-BdSQEzRZ.js} +1 -1
- package/dist/public/assets/{AgentThreadClientBinder-D83Ifc_u.js → AgentThreadClientBinder-CFgtBbQR.js} +1 -1
- package/dist/public/assets/{BugReportHistory-DNPLKDE6.js → BugReportHistory-DDQ7rrrr.js} +1 -1
- package/dist/public/assets/{BugReportHistoryDialog-BMwN9BIK.js → BugReportHistoryDialog-Bt-xM9-I.js} +1 -1
- package/dist/public/assets/{CodeMirrorPropInput-q5OQqF4N.js → CodeMirrorPropInput-Bf645WUa.js} +1 -1
- package/dist/public/assets/{ConsentDialogBody-BarwUkfl.js → ConsentDialogBody-RBMJ0gc0.js} +1 -1
- package/dist/public/assets/{DeleteConfirmationDialog-tv35CpzH.js → DeleteConfirmationDialog-n90yA0mh.js} +1 -1
- package/dist/public/assets/{DiffViewBoundary-Df7pBeha.js → DiffViewBoundary-DsG9GOLX.js} +1 -1
- package/dist/public/assets/{DocumentContext-VRYqEU-B.js → DocumentContext-D7jvhyCA.js} +2 -2
- package/dist/public/assets/{EditorModeToggle-Ey6xkZS2.js → EditorModeToggle-Blopqyef.js} +1 -1
- package/dist/public/assets/{EnableSyncConfirmDialog-Di9qhAZg.js → EnableSyncConfirmDialog-B056XoQ0.js} +1 -1
- package/dist/public/assets/{ExcalidrawDocEditor-CjG9RZeu.js → ExcalidrawDocEditor-C4F3udw2.js} +1 -1
- package/dist/public/assets/FeedbackForm-D0MIsMOt.js +1 -0
- package/dist/public/assets/{GraphPanel-sDvfmrPI.js → GraphPanel-CewYgyfZ.js} +1 -1
- package/dist/public/assets/{ImageAttachments-COJDM7Zs.js → ImageAttachments-DmjOMNqA.js} +1 -1
- package/dist/public/assets/{ImportSkillDialog-DZI_Ymxz.js → ImportSkillDialog-C6LzDIr2.js} +1 -1
- package/dist/public/assets/{LintConfigEditor-CMCb-_WR.js → LintConfigEditor-BgrTlSeu.js} +1 -1
- package/dist/public/assets/{ManagedArtifactProperties-C-o6w1oB.js → ManagedArtifactProperties-Cw4XtRx_.js} +1 -1
- package/dist/public/assets/ManagedArtifactProperties-Da_vwJzP.js +1 -0
- package/dist/public/assets/{MermaidDocEditor-af9-qY7T.js → MermaidDocEditor-C5hGyxfZ.js} +1 -1
- package/dist/public/assets/{OpenInAgentMenuItem-lbV79xn9.js → OpenInAgentMenuItem-QrteG6Br.js} +1 -1
- package/dist/public/assets/{PropertyDisplayRow-CbnGGdQB.js → PropertyDisplayRow-C8_v-Tu6.js} +1 -1
- package/dist/public/assets/{RegisteredAgentIcon-Btbw9w2J.js → RegisteredAgentIcon--fiCkSba.js} +1 -1
- package/dist/public/assets/{ReportBugDialogBody-B1H-65Sn.js → ReportBugDialogBody-BHJJSRc_.js} +1 -1
- package/dist/public/assets/{ReportBugMenuTrigger-B-ySnIcK.js → ReportBugMenuTrigger-DDbgWwFU.js} +1 -1
- package/dist/public/assets/{SchemaConfigEditor-T4_tM4AM.js → SchemaConfigEditor-CkjLP98S.js} +1 -1
- package/dist/public/assets/{SessionsHost-Df6cK8IF.js → SessionsHost-CGMm3aDb.js} +2 -2
- package/dist/public/assets/{SettingsDialogBody-7ULgKnMJ.js → SettingsDialogBody-k_8sF_t3.js} +1 -1
- package/dist/public/assets/{ShareBranchSwitchDialog-ycuaed88.js → ShareBranchSwitchDialog-C4Eqwx_r.js} +1 -1
- package/dist/public/assets/{ShareReceiveDialog-DmE16_gX.js → ShareReceiveDialog-CNa1HD1Q.js} +1 -1
- package/dist/public/assets/{ShareReceiveMissDialog-DqsqkZ98.js → ShareReceiveMissDialog-B-_2h-KD.js} +1 -1
- package/dist/public/assets/{SkillCostValue-C43y1frw.js → SkillCostValue-CYw_tCqR.js} +1 -1
- package/dist/public/assets/{SkillEditBanner-DttpBxOJ.js → SkillEditBanner-BuW2sJvG.js} +1 -1
- package/dist/public/assets/{SkillForkDialog-Dzre8M2R.js → SkillForkDialog-DAn5-JZV.js} +1 -1
- package/dist/public/assets/{SkillInstallMenu-B0JB7kZB.js → SkillInstallMenu-BRjVgdkn.js} +1 -1
- package/dist/public/assets/{SkillOriginInline-CShk5VBB.js → SkillOriginInline-_uPhVG7Y.js} +1 -1
- package/dist/public/assets/{SkillToolbarControls-1BYcSekj.js → SkillToolbarControls-OhQrSWSi.js} +1 -1
- package/dist/public/assets/{SlidesToolbarControls-CIR9Gt5P.js → SlidesToolbarControls-zHguPndQ.js} +1 -1
- package/dist/public/assets/{SourceEditor-dlengKQr.js → SourceEditor-CgtZzyfW.js} +1 -1
- package/dist/public/assets/{TerminalPanel-DVVYNGxU.js → TerminalPanel-BzL8_A5I.js} +1 -1
- package/dist/public/assets/{TerminalWindowApp-Dbf1LEIb.js → TerminalWindowApp-CFd6nVNH.js} +1 -1
- package/dist/public/assets/{TextDocEditor-Bfgflu7Y.js → TextDocEditor-DqBZzHgY.js} +1 -1
- package/dist/public/assets/{ThreadView-BAqefrNB.js → ThreadView-DL5_M7LX.js} +1 -1
- package/dist/public/assets/{TimelineDiffPane-C5Pk8YKQ.js → TimelineDiffPane-B_27zkg0.js} +1 -1
- package/dist/public/assets/{agent-connections-36VzA4Nj.js → agent-connections-BZwWjV-L.js} +1 -1
- package/dist/public/assets/{auth-state-cache-y7ZNLaEX.js → auth-state-cache-B5AZOzS0.js} +1 -1
- package/dist/public/assets/{bug-report-send-manager-WZvhB30v.js → bug-report-send-manager-DOLrtOEv.js} +1 -1
- package/dist/public/assets/{client-version-DAE_LnJT.js → client-version-CDitBjAS.js} +1 -1
- package/dist/public/assets/{comment-chips-mEcLNjUa.js → comment-chips-DuFqX1af.js} +1 -1
- package/dist/public/assets/{config-provider-Dc4ERnKv.js → config-provider-Ca2HUShB.js} +1 -1
- package/dist/public/assets/{css-color-to-hex-HXZok3qq.js → css-color-to-hex-AUn7eIel.js} +1 -1
- package/dist/public/assets/{diagnostic-breadcrumb-Da90WJfg.js → diagnostic-breadcrumb-g0QEaFL4.js} +1 -1
- package/dist/public/assets/{dist-BXv2iH4t.js → dist-DILeGueK.js} +192 -192
- package/dist/public/assets/{doc-paths-DbP8RoCY.js → doc-paths-BWrKtSx2.js} +1 -1
- package/dist/public/assets/{doc-undo-manager-BuQfcH7g.js → doc-undo-manager-DSaQkZ_X.js} +1 -1
- package/dist/public/assets/{documents-events-B9_p7FnW.js → documents-events-Do7TM3Hd.js} +1 -1
- package/dist/public/assets/{file-tree-adapter-CC3PZmuz.js → file-tree-adapter-C1_qOMsA.js} +1 -1
- package/dist/public/assets/{file-tree-utils-SoxHR8nZ.js → file-tree-utils-BcIIWtsU.js} +1 -1
- package/dist/public/assets/{folder-config-api-D2T7lLE2.js → folder-config-api-CDR1eAcz.js} +1 -1
- package/dist/public/assets/{index-ZJRhdCXy.js → index-DcJjM2Hn.js} +8 -8
- package/dist/public/assets/{lint-config-client-ByyVt3Ji.js → lint-config-client--83L6Vzq.js} +1 -1
- package/dist/public/assets/{markdownlint-rule-browser-DLR8ICzt.js → markdownlint-rule-browser-Dwh97LWk.js} +1 -1
- package/dist/public/assets/{navigation-targets-CPBRP2pX.js → navigation-targets-CJ9ZxyzV.js} +1 -1
- package/dist/public/assets/{page-list-cache-DP6EykyZ.js → page-list-cache-C6t_W1Qs.js} +1 -1
- package/dist/public/assets/{pending-receive-nav-store-BiglQO8z.js → pending-receive-nav-store-CRjoDiuf.js} +1 -1
- package/dist/public/assets/{preferred-session-events-Bw6PF8j6.js → preferred-session-events-CwZtdTs7.js} +1 -1
- package/dist/public/assets/{progress-3N7lmUHc.js → progress-C4SiEBGf.js} +1 -1
- package/dist/public/assets/{project-paths-WwDCX6Wj.js → project-paths-ygpKMwOT.js} +1 -1
- package/dist/public/assets/{prop-types-D7m1bgZd.js → prop-types-CT1xGqpW.js} +1 -1
- package/dist/public/assets/{receive-store-s0TOnYEX.js → receive-store-DutQ_RL1.js} +1 -1
- package/dist/public/assets/{selection-context-DFvB64m4.js → selection-context-COlhw5nL.js} +1 -1
- package/dist/public/assets/{sign-in-terminal-events-n2711hbP.js → sign-in-terminal-events-BqTVNN-V.js} +1 -1
- package/dist/public/assets/{skill-scope-BEZoxlA_.js → skill-scope-CUAEKGV-.js} +1 -1
- package/dist/public/assets/{skills-api-xEJYLsBT.js → skills-api-CM8h9xtl.js} +1 -1
- package/dist/public/assets/{src-DW6dj9Em.js → src-U7mQYf3e.js} +1 -1
- package/dist/public/assets/{startup-marks-BI3f20Ai.js → startup-marks-vgWlVGPK.js} +1 -1
- package/dist/public/assets/{tag-pill-input-9A5egJpq.js → tag-pill-input-BRyN2FKA.js} +1 -1
- package/dist/public/assets/{target-navigation-intent-KL1RgeS2.js → target-navigation-intent-7jeW8XWM.js} +1 -1
- package/dist/public/assets/{telemetry-startup-D5AbtRQp.js → telemetry-startup-DiFICPCo.js} +1 -1
- package/dist/public/assets/{terminal-command-events-Cwnlls-2.js → terminal-command-events-CVCqfbNT.js} +1 -1
- package/dist/public/assets/{terminal-launch-events-BeaRJslN.js → terminal-launch-events-DuaMfoq_.js} +1 -1
- package/dist/public/assets/{terminal-telemetry-B-Ex6x4P.js → terminal-telemetry-BHuv7G5q.js} +1 -1
- package/dist/public/assets/{thread-client-BohJshIz.js → thread-client-BZoVbxhe.js} +1 -1
- package/dist/public/assets/{typing-burst-detector-CRC92mGc.js → typing-burst-detector-H1V6TICJ.js} +1 -1
- package/dist/public/assets/{uninstall-BI1OhVGa.js → uninstall-D2krzbU2.js} +1 -1
- package/dist/public/assets/{use-activity-panel-DSA7U3E8.js → use-activity-panel-BP0UGAow.js} +1 -1
- package/dist/public/assets/{use-apply-config-language-BQbUd-j-.js → use-apply-config-language-BwIOrXvC.js} +1 -1
- package/dist/public/assets/{use-collab-url-BLYPZ3GH.js → use-collab-url-JUcW-mVG.js} +1 -1
- package/dist/public/assets/{use-conflicts-Bk4ek4CK.js → use-conflicts-yBw-ZjZM.js} +1 -1
- package/dist/public/assets/{use-git-sync-status-CDLRE1Yh.js → use-git-sync-status-CoUdayE7.js} +1 -1
- package/dist/public/assets/{use-installed-clis-e8k5ayDZ.js → use-installed-clis-j9XDtwV2.js} +2 -2
- package/dist/public/assets/{use-live-xterm-theme-CumqDZtn.js → use-live-xterm-theme-DBWjwre6.js} +1 -1
- package/dist/public/assets/{use-open-skill-LwyclBox.js → use-open-skill-C7UyAcdd.js} +1 -1
- package/dist/public/assets/{use-settings-route-4si6XFq0.js → use-settings-route-DHuAch1j.js} +1 -1
- package/dist/public/assets/{use-skill-origin-BuNz7780.js → use-skill-origin-DhcploXf.js} +1 -1
- package/dist/public/assets/{use-skills-C1ayg_tU.js → use-skills-DJX6inxB.js} +1 -1
- package/dist/public/assets/{use-terminal-enabled-DH9NZVb3.js → use-terminal-enabled-Y78SBxmZ.js} +1 -1
- package/dist/public/assets/{use-timeline-entry-diff-x56ANf6r.js → use-timeline-entry-diff-DY2_QU4I.js} +1 -1
- package/dist/public/assets/{use-workspace-DkzDvF62.js → use-workspace-2aIeQVoi.js} +1 -1
- package/dist/public/index.html +59 -59
- package/dist/public/uninstall.html +3 -3
- package/dist/{python3-DNGS4G3E-Cm5Hwa-u.mjs → python3-DNGS4G3E-CixyRGKv.mjs} +3 -3
- package/dist/registry-probes-p0ZApPjq.mjs +17 -0
- package/dist/{removal-file-path-3ZpUklLl.mjs → removal-file-path-Bx2ZAa33.mjs} +1 -1
- package/dist/{repair-launch-json-CMMYwCjW.mjs → repair-launch-json-Bfv2MHor.mjs} +1 -1
- package/dist/{repair-mcp-configs-DzGALib-.mjs → repair-mcp-configs-Dae5PZa1.mjs} +1 -1
- package/dist/schemas/v0/config.project-local.schema.json +1 -1
- package/dist/schemas/v0/config.user.schema.json +2 -2
- package/dist/{sqlite3-TE5AIOTF-DxxxT49W.mjs → sqlite3-TE5AIOTF-DVwda1Ow.mjs} +3 -3
- package/dist/src-BP-PBpUx.mjs +1 -0
- package/dist/src-Cy-zDyG6.mjs +11 -0
- package/dist/start-D6uOZUia.mjs +1 -0
- package/dist/{start-Jnb5yYdV.mjs → start-DTpjNc5f.mjs} +3 -3
- package/dist/{tar-MZQD7NO4-JRjaVj6V.mjs → tar-MZQD7NO4-BRGDcHqv.mjs} +2 -2
- package/package.json +4 -4
- package/dist/constants-BZiqchuc.mjs +0 -1
- package/dist/dist-CuWl8z8W.mjs +0 -1
- package/dist/dist-DZXRg1jC.mjs +0 -2130
- package/dist/init-Bx1lz5rE.mjs +0 -1
- package/dist/loader-C5L_-7Kf.mjs +0 -1
- package/dist/preview-C2LIBolB.mjs +0 -1
- package/dist/public/assets/FeedbackForm-0otENm61.js +0 -1
- package/dist/public/assets/ManagedArtifactProperties-C-JL8uLM.js +0 -1
- package/dist/registry-probes-3L8CRnGg.mjs +0 -17
- package/dist/src-DU6Xx1gD.mjs +0 -11
- package/dist/src-DjmVymt-.mjs +0 -1
- package/dist/start-B8Yg-ZtE.mjs +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as e,i as t,t as n}from"./rolldown-runtime-DPpTSio4.mjs";import"./chunk-DXB73IDG-MLBj3lvC.mjs";import{t as r}from"./chunk-5QMZ5MUS-B37CnsNb.mjs";import{n as i,t as a}from"./chunk-A5O5YHGN-2_dxLAd1.mjs";import{n as o}from"./chunk-24IMIIXA-CZ-UxWg_.mjs";import{n as s,t as c}from"./chunk-3THT3N7L-DVKHLRUO.mjs";import{r as l,t as u}from"./chunk-74CEPOFO-BuzahJu2.mjs";import{existsSync as d}from"node:fs";import{dirname as f,join as p,sep as m}from"node:path";import{randomBytes as h}from"node:crypto";import{fileURLToPath as g}from"node:url";import{Worker as _}from"node:worker_threads";var v=e(n(((e,n)=>{var r=void 0,i=function(e){return r||(r=new Promise(function(r,i){var a=e===void 0?{}:e,o=a.onAbort;a.onAbort=function(e){i(Error(e)),o&&o(e)},a.postRun=a.postRun||[],a.postRun.push(function(){r(a)}),n=void 0;var s;s||=a===void 0?{}:a;var c=!!globalThis.window,l=!!globalThis.WorkerGlobalScope,u=globalThis.process?.versions?.node&&globalThis.process?.type!=`renderer`;s.onRuntimeInitialized=function(){function e(e,t){switch(typeof t){case`boolean`:N(e,+!!t);break;case`number`:de(e,t);break;case`string`:A(e,t,-1,-1);break;case`object`:if(t===null)fe(e);else if(t.length!=null){var n=Mt(t.length);C.set(t,n),j(e,n,t.length,-1),Nt(n)}else P(e,`Wrong API use : tried to return a value of an unknown type (`+t+`).`,-1);break;default:fe(e)}}function t(e,t){for(var n=[],r=0;r<e;r+=1){var i=M(t+4*r,`i32`),a=oe(i);if(a===1||a===2)i=ue(i);else if(a===3)i=ce(i);else if(a===4){a=i,i=se(a),a=le(a);for(var o=new Uint8Array(i),s=0;s<i;s+=1)o[s]=C[a+s];i=o}else i=null;n.push(i)}return n}function n(e,t){this.Qa=e,this.db=t,this.Oa=1,this.mb=[]}function r(e,t){if(this.db=t,this.fb=Et(e),this.fb===null)throw Error(`Unable to allocate memory for the SQL string`);this.lb=this.fb,this.$a=this.sb=null}function i(e){if(this.filename=`dbfile_`+(4294967295*Math.random()>>>0),e!=null){var t=this.filename,n=`/`,r=t;if(n&&(n=typeof n==`string`?n:Re(n),r=t?ge(n+`/`+t):n),t=Ae(!0,!0),r=Qe(r,t),e){if(typeof e==`string`){n=Array(e.length);for(var i=0,o=e.length;i<o;++i)n[i]=e.charCodeAt(i);e=n}at(r,t|146),n=st(r,577),dt(n,e,0,e.length,0),ct(n),at(r,t)}}this.handleError(c(this.filename,a)),this.db=M(a,`i32`),he(this.db),this.gb={},this.Sa={}}var a=Q(4),o=s.cwrap,c=o(`sqlite3_open`,`number`,[`string`,`number`]),l=o(`sqlite3_close_v2`,`number`,[`number`]),u=o(`sqlite3_exec`,`number`,[`number`,`string`,`number`,`number`,`number`]),d=o(`sqlite3_changes`,`number`,[`number`]),f=o(`sqlite3_prepare_v2`,`number`,[`number`,`string`,`number`,`number`,`number`]),p=o(`sqlite3_sql`,`string`,[`number`]),m=o(`sqlite3_normalized_sql`,`string`,[`number`]),h=o(`sqlite3_prepare_v2`,`number`,[`number`,`number`,`number`,`number`,`number`]),g=o(`sqlite3_bind_text`,`number`,[`number`,`number`,`number`,`number`,`number`]),_=o(`sqlite3_bind_blob`,`number`,[`number`,`number`,`number`,`number`,`number`]),v=o(`sqlite3_bind_double`,`number`,[`number`,`number`,`number`]),y=o(`sqlite3_bind_int`,`number`,[`number`,`number`,`number`]),b=o(`sqlite3_bind_parameter_index`,`number`,[`number`,`string`]),x=o(`sqlite3_step`,`number`,[`number`]),ee=o(`sqlite3_errmsg`,`string`,[`number`]),S=o(`sqlite3_column_count`,`number`,[`number`]),w=o(`sqlite3_data_count`,`number`,[`number`]),T=o(`sqlite3_column_double`,`number`,[`number`,`number`]),E=o(`sqlite3_column_text`,`string`,[`number`,`number`]),D=o(`sqlite3_column_blob`,`number`,[`number`,`number`]),te=o(`sqlite3_column_bytes`,`number`,[`number`,`number`]),ne=o(`sqlite3_column_type`,`number`,[`number`,`number`]),O=o(`sqlite3_column_name`,`string`,[`number`,`number`]),re=o(`sqlite3_reset`,`number`,[`number`]),k=o(`sqlite3_clear_bindings`,`number`,[`number`]),ie=o(`sqlite3_finalize`,`number`,[`number`]),ae=o(`sqlite3_create_function_v2`,`number`,`number string number number number number number number number`.split(` `)),oe=o(`sqlite3_value_type`,`number`,[`number`]),se=o(`sqlite3_value_bytes`,`number`,[`number`]),ce=o(`sqlite3_value_text`,`string`,[`number`]),le=o(`sqlite3_value_blob`,`number`,[`number`]),ue=o(`sqlite3_value_double`,`number`,[`number`]),de=o(`sqlite3_result_double`,``,[`number`,`number`]),fe=o(`sqlite3_result_null`,``,[`number`]),A=o(`sqlite3_result_text`,``,[`number`,`string`,`number`,`number`]),j=o(`sqlite3_result_blob`,``,[`number`,`number`,`number`,`number`]),N=o(`sqlite3_result_int`,``,[`number`,`number`]),P=o(`sqlite3_result_error`,``,[`number`,`string`,`number`]),me=o(`sqlite3_aggregate_context`,`number`,[`number`,`number`]),he=o(`RegisterExtensionFunctions`,`number`,[`number`]),_e=o(`sqlite3_update_hook`,`number`,[`number`,`number`,`number`]);n.prototype.bind=function(e){if(!this.Qa)throw`Statement closed`;return this.reset(),Array.isArray(e)?this.Gb(e):typeof e==`object`&&e?this.Hb(e):!0},n.prototype.step=function(){if(!this.Qa)throw`Statement closed`;this.Oa=1;var e=x(this.Qa);switch(e){case 100:return!0;case 101:return!1;default:throw this.db.handleError(e)}},n.prototype.Ab=function(e){return e??(e=this.Oa,this.Oa+=1),T(this.Qa,e)},n.prototype.Ob=function(e){if(e??(e=this.Oa,this.Oa+=1),e=E(this.Qa,e),typeof BigInt!=`function`)throw Error(`BigInt is not supported`);return BigInt(e)},n.prototype.Tb=function(e){return e??(e=this.Oa,this.Oa+=1),E(this.Qa,e)},n.prototype.getBlob=function(e){e??(e=this.Oa,this.Oa+=1);var t=te(this.Qa,e);e=D(this.Qa,e);for(var n=new Uint8Array(t),r=0;r<t;r+=1)n[r]=C[e+r];return n},n.prototype.get=function(e,t){t||={},e!=null&&this.bind(e)&&this.step(),e=[];for(var n=w(this.Qa),r=0;r<n;r+=1)switch(ne(this.Qa,r)){case 1:var i=t.useBigInt?this.Ob(r):this.Ab(r);e.push(i);break;case 2:e.push(this.Ab(r));break;case 3:e.push(this.Tb(r));break;case 4:e.push(this.getBlob(r));break;default:e.push(null)}return e},n.prototype.qb=function(){for(var e=[],t=S(this.Qa),n=0;n<t;n+=1)e.push(O(this.Qa,n));return e},n.prototype.zb=function(e,t){e=this.get(e,t),t=this.qb();for(var n={},r=0;r<t.length;r+=1)n[t[r]]=e[r];return n},n.prototype.Sb=function(){return p(this.Qa)},n.prototype.Pb=function(){return m(this.Qa)},n.prototype.run=function(e){return e!=null&&this.bind(e),this.step(),this.reset()},n.prototype.wb=function(e,t){t??(t=this.Oa,this.Oa+=1),e=Et(e),this.mb.push(e),this.db.handleError(g(this.Qa,t,e,-1,0))},n.prototype.Fb=function(e,t){t??(t=this.Oa,this.Oa+=1);var n=Mt(e.length);C.set(e,n),this.mb.push(n),this.db.handleError(_(this.Qa,t,n,e.length,0))},n.prototype.vb=function(e,t){t??(t=this.Oa,this.Oa+=1),this.db.handleError((e===(e|0)?y:v)(this.Qa,t,e))},n.prototype.Ib=function(e){e??(e=this.Oa,this.Oa+=1),_(this.Qa,e,0,0,0)},n.prototype.xb=function(e,t){switch(t??(t=this.Oa,this.Oa+=1),typeof e){case`string`:this.wb(e,t);return;case`number`:this.vb(e,t);return;case`bigint`:this.wb(e.toString(),t);return;case`boolean`:this.vb(e+0,t);return;case`object`:if(e===null){this.Ib(t);return}if(e.length!=null){this.Fb(e,t);return}}throw`Wrong API use : tried to bind a value of an unknown type (`+e+`).`},n.prototype.Hb=function(e){var t=this;return Object.keys(e).forEach(function(n){var r=b(t.Qa,n);r!==0&&t.xb(e[n],r)}),!0},n.prototype.Gb=function(e){for(var t=0;t<e.length;t+=1)this.xb(e[t],t+1);return!0},n.prototype.reset=function(){return this.freemem(),k(this.Qa)===0&&re(this.Qa)===0},n.prototype.freemem=function(){for(var e;(e=this.mb.pop())!==void 0;)Nt(e)},n.prototype.Ya=function(){this.freemem();var e=ie(this.Qa)===0;return delete this.db.gb[this.Qa],this.Qa=0,e},r.prototype.next=function(){if(this.fb===null)return{done:!0};if(this.$a!==null&&(this.$a.Ya(),this.$a=null),!this.db.db)throw this.ob(),Error(`Database closed`);var e=Lt(),t=Q(4);pe(a),pe(t);try{this.db.handleError(h(this.db.db,this.lb,-1,a,t)),this.lb=M(t,`i32`);var r=M(a,`i32`);return r===0?(this.ob(),{done:!0}):(this.$a=new n(r,this.db),this.db.gb[r]=this.$a,{value:this.$a,done:!1})}catch(e){throw this.sb=F(this.lb),this.ob(),e}finally{It(e)}},r.prototype.ob=function(){Nt(this.fb),this.fb=null},r.prototype.Qb=function(){return this.sb===null?F(this.lb):this.sb},typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`&&(r.prototype[Symbol.iterator]=function(){return this}),i.prototype.run=function(e,t){if(!this.db)throw`Database closed`;if(t){e=this.tb(e,t);try{e.step()}finally{e.Ya()}}else this.handleError(u(this.db,e,0,0,a));return this},i.prototype.exec=function(e,t,r){if(!this.db)throw`Database closed`;var i=null,o=null,s=null;try{s=o=Et(e);var c=Q(4);for(e=[];M(s,`i8`)!==0;){pe(a),pe(c),this.handleError(h(this.db,s,-1,a,c));var l=M(a,`i32`);if(s=M(c,`i32`),l!==0){var u=null;for(i=new n(l,this),t!=null&&i.bind(t);i.step();)u===null&&(u={columns:i.qb(),values:[]},e.push(u)),u.values.push(i.get(null,r));i.Ya()}}return e}catch(e){throw i&&i.Ya(),e}finally{o&&Nt(o)}},i.prototype.Mb=function(e,t,n,r,i){typeof t==`function`&&(r=n,n=t,t=void 0),e=this.tb(e,t);try{for(;e.step();)n(e.zb(null,i))}finally{e.Ya()}if(typeof r==`function`)return r()},i.prototype.tb=function(e,t){if(pe(a),this.handleError(f(this.db,e,-1,a,0)),e=M(a,`i32`),e===0)throw`Nothing to prepare`;var r=new n(e,this);return t!=null&&r.bind(t),this.gb[e]=r},i.prototype.Ub=function(e){return new r(e,this)},i.prototype.Nb=function(){Object.values(this.gb).forEach(function(e){e.Ya()}),Object.values(this.Sa).forEach(Z),this.Sa={},this.handleError(l(this.db));var e=ft(this.filename);return this.handleError(c(this.filename,a)),this.db=M(a,`i32`),he(this.db),e},i.prototype.close=function(){this.db!==null&&(Object.values(this.gb).forEach(function(e){e.Ya()}),Object.values(this.Sa).forEach(Z),this.Sa={},this.Za&&=(Z(this.Za),void 0),this.handleError(l(this.db)),nt(`/`+this.filename),this.db=null)},i.prototype.handleError=function(e){if(e===0)return null;throw e=ee(this.db),Error(e)},i.prototype.Rb=function(){return d(this.db)},i.prototype.Kb=function(n,r){Object.prototype.hasOwnProperty.call(this.Sa,n)&&(Z(this.Sa[n]),delete this.Sa[n]);var i=jt(function(n,i,a){i=t(i,a);try{var o=r.apply(null,i)}catch(e){P(n,e,-1);return}e(n,o)},`viii`);return this.Sa[n]=i,this.handleError(ae(this.db,n,r.length,1,0,i,0,0,0)),this},i.prototype.Jb=function(n,r){var i=r.init||function(){return null},a=r.finalize||function(e){return e},o=r.step;if(!o)throw`An aggregate function must have a step function in `+n;var s={};Object.hasOwnProperty.call(this.Sa,n)&&(Z(this.Sa[n]),delete this.Sa[n]),r=n+`__finalize`,Object.hasOwnProperty.call(this.Sa,r)&&(Z(this.Sa[r]),delete this.Sa[r]);var c=jt(function(e,n,r){var a=me(e,1);Object.hasOwnProperty.call(s,a)||(s[a]=i()),n=t(n,r),n=[s[a]].concat(n);try{s[a]=o.apply(null,n)}catch(t){delete s[a],P(e,t,-1)}},`viii`),l=jt(function(t){var n=me(t,1);try{var r=a(s[n])}catch(e){delete s[n],P(t,e,-1);return}e(t,r),delete s[n]},`vi`);return this.Sa[n]=c,this.Sa[r]=l,this.handleError(ae(this.db,n,o.length-1,1,0,0,c,l,0)),this},i.prototype.Zb=function(e){return this.Za&&=(_e(this.db,0,0),Z(this.Za),void 0),e?(this.Za=jt(function(t,n,r,i,a){switch(n){case 18:t=`insert`;break;case 23:t=`update`;break;case 9:t=`delete`;break;default:throw`unknown operationCode in updateHook callback: `+n}if(r=F(r),i=F(i),a>2**53-1)throw`rowId too big to fit inside a Number`;e(t,r,i,Number(a))},`viiiij`),_e(this.db,this.Za,0),this):this},n.prototype.bind=n.prototype.bind,n.prototype.step=n.prototype.step,n.prototype.get=n.prototype.get,n.prototype.getColumnNames=n.prototype.qb,n.prototype.getAsObject=n.prototype.zb,n.prototype.getSQL=n.prototype.Sb,n.prototype.getNormalizedSQL=n.prototype.Pb,n.prototype.run=n.prototype.run,n.prototype.reset=n.prototype.reset,n.prototype.freemem=n.prototype.freemem,n.prototype.free=n.prototype.Ya,r.prototype.next=r.prototype.next,r.prototype.getRemainingSQL=r.prototype.Qb,i.prototype.run=i.prototype.run,i.prototype.exec=i.prototype.exec,i.prototype.each=i.prototype.Mb,i.prototype.prepare=i.prototype.tb,i.prototype.iterateStatements=i.prototype.Ub,i.prototype.export=i.prototype.Nb,i.prototype.close=i.prototype.close,i.prototype.handleError=i.prototype.handleError,i.prototype.getRowsModified=i.prototype.Rb,i.prototype.create_function=i.prototype.Kb,i.prototype.create_aggregate=i.prototype.Jb,i.prototype.updateHook=i.prototype.Zb,s.Database=i};var d=`./this.program`,f=(e,t)=>{throw t},p=globalThis.document?.currentScript?.src;typeof __filename<`u`?p=__filename:l&&(p=self.location.href);var m=``,h,g;if(u){var _=t(`node:fs`);m=__dirname+`/`,g=e=>(e=S(e)?new URL(e):e,_.readFileSync(e)),h=async e=>(e=S(e)?new URL(e):e,_.readFileSync(e,void 0)),1<process.argv.length&&(d=process.argv[1].replace(/\\/g,`/`)),process.argv.slice(2),n!==void 0&&(n.exports=s),f=(e,t)=>{throw process.exitCode=e,t}}else if(c||l){try{m=new URL(`.`,p).href}catch{}l&&(g=e=>{var t=new XMLHttpRequest;return t.open(`GET`,e,!1),t.responseType=`arraybuffer`,t.send(null),new Uint8Array(t.response)}),h=async e=>{if(S(e))return new Promise((t,n)=>{var r=new XMLHttpRequest;r.open(`GET`,e,!0),r.responseType=`arraybuffer`,r.onload=()=>{r.status==200||r.status==0&&r.response?t(r.response):n(r.status)},r.onerror=n,r.send(null)});var t=await fetch(e,{credentials:`same-origin`});if(t.ok)return t.arrayBuffer();throw Error(t.status+` : `+t.url)}}var v=console.log.bind(console),y=console.error.bind(console),b,x=!1,ee,S=e=>e.startsWith(`file://`),C,w,T,E,D,te,ne,O;function re(){var e=Rt.buffer;C=new Int8Array(e),T=new Int16Array(e),w=new Uint8Array(e),new Uint16Array(e),E=new Int32Array(e),D=new Uint32Array(e),te=new Float32Array(e),ne=new Float64Array(e),O=new BigInt64Array(e),new BigUint64Array(e)}function k(e){throw s.onAbort?.(e),e=`Aborted(`+e+`)`,y(e),x=!0,new WebAssembly.RuntimeError(e+`. Build with -sASSERTIONS for more info.`)}var ie;async function ae(e){if(!b)try{var t=await h(e);return new Uint8Array(t)}catch{}if(e==ie&&b)e=new Uint8Array(b);else if(g)e=g(e);else throw`both async and sync fetching of the wasm failed`;return e}async function oe(e,t){try{var n=await ae(e);return await WebAssembly.instantiate(n,t)}catch(e){y(`failed to asynchronously prepare wasm: ${e}`),k(e)}}async function se(e){var t=ie;if(!b&&!S(t)&&!u)try{var n=fetch(t,{credentials:`same-origin`});return await WebAssembly.instantiateStreaming(n,e)}catch(e){y(`wasm streaming compile failed: ${e}`),y(`falling back to ArrayBuffer instantiation`)}return oe(t,e)}class ce{name=`ExitStatus`;constructor(e){this.message=`Program terminated with exit(${e})`,this.status=e}}var le=e=>{for(;0<e.length;)e.shift()(s)},ue=[],de=[],fe=()=>{var e=s.preRun.shift();de.push(e)},A=0,j=null;function M(e,t=`i8`){switch(t.endsWith(`*`)&&(t=`*`),t){case`i1`:return C[e];case`i8`:return C[e];case`i16`:return T[e>>1];case`i32`:return E[e>>2];case`i64`:return O[e>>3];case`float`:return te[e>>2];case`double`:return ne[e>>3];case`*`:return D[e>>2];default:k(`invalid type for getValue: ${t}`)}}var N=!0;function pe(e){var t=`i32`;switch(t.endsWith(`*`)&&(t=`*`),t){case`i1`:C[e]=0;break;case`i8`:C[e]=0;break;case`i16`:T[e>>1]=0;break;case`i32`:E[e>>2]=0;break;case`i64`:O[e>>3]=BigInt(0);break;case`float`:te[e>>2]=0;break;case`double`:ne[e>>3]=0;break;case`*`:D[e>>2]=0;break;default:k(`invalid type for setValue: ${t}`)}}var P=new TextDecoder,me=(e,t,n,r)=>{if(n=t+n,r)return n;for(;e[t]&&!(t>=n);)++t;return t},F=(e,t,n)=>e?P.decode(w.subarray(e,me(w,e,t,n))):``,he=(e,t)=>{for(var n=0,r=e.length-1;0<=r;r--){var i=e[r];i===`.`?e.splice(r,1):i===`..`?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n;n--)e.unshift(`..`);return e},ge=e=>{var t=e.charAt(0)===`/`,n=e.slice(-1)===`/`;return(e=he(e.split(`/`).filter(e=>!!e),!t).join(`/`))||t||(e=`.`),e&&n&&(e+=`/`),(t?`/`:``)+e},_e=e=>{var t=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1);return e=t[0],t=t[1],!e&&!t?`.`:(t&&=t.slice(0,-1),e+t)},ve=e=>e&&e.match(/([^\/]+|\/)\/*$/)[1],ye=()=>{if(u){var e=t(`node:crypto`);return t=>e.randomFillSync(t)}return e=>crypto.getRandomValues(e)},be=e=>{(be=ye())(e)},xe=(...e)=>{for(var t=``,n=!1,r=e.length-1;-1<=r&&!n;r--){if(n=0<=r?e[r]:`/`,typeof n!=`string`)throw TypeError(`Arguments to path.resolve must be strings`);if(!n)return``;t=n+`/`+t,n=n.charAt(0)===`/`}return t=he(t.split(`/`).filter(e=>!!e),!n).join(`/`),(n?`/`:``)+t||`.`},Se=e=>{var t=me(e,0);return P.decode(e.buffer?e.subarray(0,t):new Uint8Array(e.slice(0,t)))},Ce=[],we=e=>{for(var t=0,n=0;n<e.length;++n){var r=e.charCodeAt(n);127>=r?t++:2047>=r?t+=2:55296<=r&&57343>=r?(t+=4,++n):t+=3}return t},I=(e,t,n,r)=>{if(!(0<r))return 0;var i=n;r=n+r-1;for(var a=0;a<e.length;++a){var o=e.codePointAt(a);if(127>=o){if(n>=r)break;t[n++]=o}else if(2047>=o){if(n+1>=r)break;t[n++]=192|o>>6,t[n++]=128|o&63}else if(65535>=o){if(n+2>=r)break;t[n++]=224|o>>12,t[n++]=128|o>>6&63,t[n++]=128|o&63}else{if(n+3>=r)break;t[n++]=240|o>>18,t[n++]=128|o>>12&63,t[n++]=128|o>>6&63,t[n++]=128|o&63,a++}}return t[n]=0,n-i},Te=[];function Ee(e,t){Te[e]={input:[],output:[],eb:t},Ye(e,De)}var De={open(e){var t=Te[e.node.rdev];if(!t)throw new B(43);e.tty=t,e.seekable=!1},close(e){e.tty.eb.fsync(e.tty)},fsync(e){e.tty.eb.fsync(e.tty)},read(e,t,n,r){if(!e.tty||!e.tty.eb.Bb)throw new B(60);for(var i=0,a=0;a<r;a++){try{var o=e.tty.eb.Bb(e.tty)}catch{throw new B(29)}if(o===void 0&&i===0)throw new B(6);if(o==null)break;i++,t[n+a]=o}return i&&(e.node.atime=Date.now()),i},write(e,t,n,r){if(!e.tty||!e.tty.eb.ub)throw new B(60);try{for(var i=0;i<r;i++)e.tty.eb.ub(e.tty,t[n+i])}catch{throw new B(29)}return r&&(e.node.mtime=e.node.ctime=Date.now()),i}},Oe={Bb(){a:{if(!Ce.length){var e=null;if(u){var t=Buffer.alloc(256),n=0,r=process.stdin.fd;try{n=_.readSync(r,t,0,256)}catch(e){if(e.toString().includes(`EOF`))n=0;else throw e}0<n&&(e=t.slice(0,n).toString(`utf-8`))}else globalThis.window?.prompt&&(e=window.prompt(`Input: `),e!==null&&(e+=`
|
|
1
|
+
import{a as e,i as t,t as n}from"./rolldown-runtime-DPpTSio4.mjs";import"./chunk-DXB73IDG-MLBj3lvC.mjs";import{t as r}from"./chunk-5QMZ5MUS-B37CnsNb.mjs";import{n as i,t as a}from"./chunk-A5O5YHGN-2_dxLAd1.mjs";import{n as o}from"./chunk-24IMIIXA-CZ-UxWg_.mjs";import{n as s,t as c}from"./chunk-3THT3N7L-DVKHLRUO.mjs";import{r as l,t as u}from"./chunk-74CEPOFO-BuzahJu2.mjs";import{existsSync as d}from"node:fs";import{dirname as f,join as p,sep as m}from"node:path";import{fileURLToPath as h}from"node:url";import{randomBytes as g}from"node:crypto";import{Worker as _}from"node:worker_threads";var v=e(n(((e,n)=>{var r=void 0,i=function(e){return r||(r=new Promise(function(r,i){var a=e===void 0?{}:e,o=a.onAbort;a.onAbort=function(e){i(Error(e)),o&&o(e)},a.postRun=a.postRun||[],a.postRun.push(function(){r(a)}),n=void 0;var s;s||=a===void 0?{}:a;var c=!!globalThis.window,l=!!globalThis.WorkerGlobalScope,u=globalThis.process?.versions?.node&&globalThis.process?.type!=`renderer`;s.onRuntimeInitialized=function(){function e(e,t){switch(typeof t){case`boolean`:N(e,+!!t);break;case`number`:de(e,t);break;case`string`:A(e,t,-1,-1);break;case`object`:if(t===null)fe(e);else if(t.length!=null){var n=Mt(t.length);C.set(t,n),j(e,n,t.length,-1),Nt(n)}else P(e,`Wrong API use : tried to return a value of an unknown type (`+t+`).`,-1);break;default:fe(e)}}function t(e,t){for(var n=[],r=0;r<e;r+=1){var i=M(t+4*r,`i32`),a=oe(i);if(a===1||a===2)i=ue(i);else if(a===3)i=ce(i);else if(a===4){a=i,i=se(a),a=le(a);for(var o=new Uint8Array(i),s=0;s<i;s+=1)o[s]=C[a+s];i=o}else i=null;n.push(i)}return n}function n(e,t){this.Qa=e,this.db=t,this.Oa=1,this.mb=[]}function r(e,t){if(this.db=t,this.fb=Et(e),this.fb===null)throw Error(`Unable to allocate memory for the SQL string`);this.lb=this.fb,this.$a=this.sb=null}function i(e){if(this.filename=`dbfile_`+(4294967295*Math.random()>>>0),e!=null){var t=this.filename,n=`/`,r=t;if(n&&(n=typeof n==`string`?n:Re(n),r=t?ge(n+`/`+t):n),t=Ae(!0,!0),r=Qe(r,t),e){if(typeof e==`string`){n=Array(e.length);for(var i=0,o=e.length;i<o;++i)n[i]=e.charCodeAt(i);e=n}at(r,t|146),n=st(r,577),dt(n,e,0,e.length,0),ct(n),at(r,t)}}this.handleError(c(this.filename,a)),this.db=M(a,`i32`),he(this.db),this.gb={},this.Sa={}}var a=Q(4),o=s.cwrap,c=o(`sqlite3_open`,`number`,[`string`,`number`]),l=o(`sqlite3_close_v2`,`number`,[`number`]),u=o(`sqlite3_exec`,`number`,[`number`,`string`,`number`,`number`,`number`]),d=o(`sqlite3_changes`,`number`,[`number`]),f=o(`sqlite3_prepare_v2`,`number`,[`number`,`string`,`number`,`number`,`number`]),p=o(`sqlite3_sql`,`string`,[`number`]),m=o(`sqlite3_normalized_sql`,`string`,[`number`]),h=o(`sqlite3_prepare_v2`,`number`,[`number`,`number`,`number`,`number`,`number`]),g=o(`sqlite3_bind_text`,`number`,[`number`,`number`,`number`,`number`,`number`]),_=o(`sqlite3_bind_blob`,`number`,[`number`,`number`,`number`,`number`,`number`]),v=o(`sqlite3_bind_double`,`number`,[`number`,`number`,`number`]),y=o(`sqlite3_bind_int`,`number`,[`number`,`number`,`number`]),b=o(`sqlite3_bind_parameter_index`,`number`,[`number`,`string`]),x=o(`sqlite3_step`,`number`,[`number`]),ee=o(`sqlite3_errmsg`,`string`,[`number`]),S=o(`sqlite3_column_count`,`number`,[`number`]),w=o(`sqlite3_data_count`,`number`,[`number`]),T=o(`sqlite3_column_double`,`number`,[`number`,`number`]),E=o(`sqlite3_column_text`,`string`,[`number`,`number`]),D=o(`sqlite3_column_blob`,`number`,[`number`,`number`]),te=o(`sqlite3_column_bytes`,`number`,[`number`,`number`]),ne=o(`sqlite3_column_type`,`number`,[`number`,`number`]),O=o(`sqlite3_column_name`,`string`,[`number`,`number`]),re=o(`sqlite3_reset`,`number`,[`number`]),k=o(`sqlite3_clear_bindings`,`number`,[`number`]),ie=o(`sqlite3_finalize`,`number`,[`number`]),ae=o(`sqlite3_create_function_v2`,`number`,`number string number number number number number number number`.split(` `)),oe=o(`sqlite3_value_type`,`number`,[`number`]),se=o(`sqlite3_value_bytes`,`number`,[`number`]),ce=o(`sqlite3_value_text`,`string`,[`number`]),le=o(`sqlite3_value_blob`,`number`,[`number`]),ue=o(`sqlite3_value_double`,`number`,[`number`]),de=o(`sqlite3_result_double`,``,[`number`,`number`]),fe=o(`sqlite3_result_null`,``,[`number`]),A=o(`sqlite3_result_text`,``,[`number`,`string`,`number`,`number`]),j=o(`sqlite3_result_blob`,``,[`number`,`number`,`number`,`number`]),N=o(`sqlite3_result_int`,``,[`number`,`number`]),P=o(`sqlite3_result_error`,``,[`number`,`string`,`number`]),me=o(`sqlite3_aggregate_context`,`number`,[`number`,`number`]),he=o(`RegisterExtensionFunctions`,`number`,[`number`]),_e=o(`sqlite3_update_hook`,`number`,[`number`,`number`,`number`]);n.prototype.bind=function(e){if(!this.Qa)throw`Statement closed`;return this.reset(),Array.isArray(e)?this.Gb(e):typeof e==`object`&&e?this.Hb(e):!0},n.prototype.step=function(){if(!this.Qa)throw`Statement closed`;this.Oa=1;var e=x(this.Qa);switch(e){case 100:return!0;case 101:return!1;default:throw this.db.handleError(e)}},n.prototype.Ab=function(e){return e??(e=this.Oa,this.Oa+=1),T(this.Qa,e)},n.prototype.Ob=function(e){if(e??(e=this.Oa,this.Oa+=1),e=E(this.Qa,e),typeof BigInt!=`function`)throw Error(`BigInt is not supported`);return BigInt(e)},n.prototype.Tb=function(e){return e??(e=this.Oa,this.Oa+=1),E(this.Qa,e)},n.prototype.getBlob=function(e){e??(e=this.Oa,this.Oa+=1);var t=te(this.Qa,e);e=D(this.Qa,e);for(var n=new Uint8Array(t),r=0;r<t;r+=1)n[r]=C[e+r];return n},n.prototype.get=function(e,t){t||={},e!=null&&this.bind(e)&&this.step(),e=[];for(var n=w(this.Qa),r=0;r<n;r+=1)switch(ne(this.Qa,r)){case 1:var i=t.useBigInt?this.Ob(r):this.Ab(r);e.push(i);break;case 2:e.push(this.Ab(r));break;case 3:e.push(this.Tb(r));break;case 4:e.push(this.getBlob(r));break;default:e.push(null)}return e},n.prototype.qb=function(){for(var e=[],t=S(this.Qa),n=0;n<t;n+=1)e.push(O(this.Qa,n));return e},n.prototype.zb=function(e,t){e=this.get(e,t),t=this.qb();for(var n={},r=0;r<t.length;r+=1)n[t[r]]=e[r];return n},n.prototype.Sb=function(){return p(this.Qa)},n.prototype.Pb=function(){return m(this.Qa)},n.prototype.run=function(e){return e!=null&&this.bind(e),this.step(),this.reset()},n.prototype.wb=function(e,t){t??(t=this.Oa,this.Oa+=1),e=Et(e),this.mb.push(e),this.db.handleError(g(this.Qa,t,e,-1,0))},n.prototype.Fb=function(e,t){t??(t=this.Oa,this.Oa+=1);var n=Mt(e.length);C.set(e,n),this.mb.push(n),this.db.handleError(_(this.Qa,t,n,e.length,0))},n.prototype.vb=function(e,t){t??(t=this.Oa,this.Oa+=1),this.db.handleError((e===(e|0)?y:v)(this.Qa,t,e))},n.prototype.Ib=function(e){e??(e=this.Oa,this.Oa+=1),_(this.Qa,e,0,0,0)},n.prototype.xb=function(e,t){switch(t??(t=this.Oa,this.Oa+=1),typeof e){case`string`:this.wb(e,t);return;case`number`:this.vb(e,t);return;case`bigint`:this.wb(e.toString(),t);return;case`boolean`:this.vb(e+0,t);return;case`object`:if(e===null){this.Ib(t);return}if(e.length!=null){this.Fb(e,t);return}}throw`Wrong API use : tried to bind a value of an unknown type (`+e+`).`},n.prototype.Hb=function(e){var t=this;return Object.keys(e).forEach(function(n){var r=b(t.Qa,n);r!==0&&t.xb(e[n],r)}),!0},n.prototype.Gb=function(e){for(var t=0;t<e.length;t+=1)this.xb(e[t],t+1);return!0},n.prototype.reset=function(){return this.freemem(),k(this.Qa)===0&&re(this.Qa)===0},n.prototype.freemem=function(){for(var e;(e=this.mb.pop())!==void 0;)Nt(e)},n.prototype.Ya=function(){this.freemem();var e=ie(this.Qa)===0;return delete this.db.gb[this.Qa],this.Qa=0,e},r.prototype.next=function(){if(this.fb===null)return{done:!0};if(this.$a!==null&&(this.$a.Ya(),this.$a=null),!this.db.db)throw this.ob(),Error(`Database closed`);var e=Lt(),t=Q(4);pe(a),pe(t);try{this.db.handleError(h(this.db.db,this.lb,-1,a,t)),this.lb=M(t,`i32`);var r=M(a,`i32`);return r===0?(this.ob(),{done:!0}):(this.$a=new n(r,this.db),this.db.gb[r]=this.$a,{value:this.$a,done:!1})}catch(e){throw this.sb=F(this.lb),this.ob(),e}finally{It(e)}},r.prototype.ob=function(){Nt(this.fb),this.fb=null},r.prototype.Qb=function(){return this.sb===null?F(this.lb):this.sb},typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`&&(r.prototype[Symbol.iterator]=function(){return this}),i.prototype.run=function(e,t){if(!this.db)throw`Database closed`;if(t){e=this.tb(e,t);try{e.step()}finally{e.Ya()}}else this.handleError(u(this.db,e,0,0,a));return this},i.prototype.exec=function(e,t,r){if(!this.db)throw`Database closed`;var i=null,o=null,s=null;try{s=o=Et(e);var c=Q(4);for(e=[];M(s,`i8`)!==0;){pe(a),pe(c),this.handleError(h(this.db,s,-1,a,c));var l=M(a,`i32`);if(s=M(c,`i32`),l!==0){var u=null;for(i=new n(l,this),t!=null&&i.bind(t);i.step();)u===null&&(u={columns:i.qb(),values:[]},e.push(u)),u.values.push(i.get(null,r));i.Ya()}}return e}catch(e){throw i&&i.Ya(),e}finally{o&&Nt(o)}},i.prototype.Mb=function(e,t,n,r,i){typeof t==`function`&&(r=n,n=t,t=void 0),e=this.tb(e,t);try{for(;e.step();)n(e.zb(null,i))}finally{e.Ya()}if(typeof r==`function`)return r()},i.prototype.tb=function(e,t){if(pe(a),this.handleError(f(this.db,e,-1,a,0)),e=M(a,`i32`),e===0)throw`Nothing to prepare`;var r=new n(e,this);return t!=null&&r.bind(t),this.gb[e]=r},i.prototype.Ub=function(e){return new r(e,this)},i.prototype.Nb=function(){Object.values(this.gb).forEach(function(e){e.Ya()}),Object.values(this.Sa).forEach(Z),this.Sa={},this.handleError(l(this.db));var e=ft(this.filename);return this.handleError(c(this.filename,a)),this.db=M(a,`i32`),he(this.db),e},i.prototype.close=function(){this.db!==null&&(Object.values(this.gb).forEach(function(e){e.Ya()}),Object.values(this.Sa).forEach(Z),this.Sa={},this.Za&&=(Z(this.Za),void 0),this.handleError(l(this.db)),nt(`/`+this.filename),this.db=null)},i.prototype.handleError=function(e){if(e===0)return null;throw e=ee(this.db),Error(e)},i.prototype.Rb=function(){return d(this.db)},i.prototype.Kb=function(n,r){Object.prototype.hasOwnProperty.call(this.Sa,n)&&(Z(this.Sa[n]),delete this.Sa[n]);var i=jt(function(n,i,a){i=t(i,a);try{var o=r.apply(null,i)}catch(e){P(n,e,-1);return}e(n,o)},`viii`);return this.Sa[n]=i,this.handleError(ae(this.db,n,r.length,1,0,i,0,0,0)),this},i.prototype.Jb=function(n,r){var i=r.init||function(){return null},a=r.finalize||function(e){return e},o=r.step;if(!o)throw`An aggregate function must have a step function in `+n;var s={};Object.hasOwnProperty.call(this.Sa,n)&&(Z(this.Sa[n]),delete this.Sa[n]),r=n+`__finalize`,Object.hasOwnProperty.call(this.Sa,r)&&(Z(this.Sa[r]),delete this.Sa[r]);var c=jt(function(e,n,r){var a=me(e,1);Object.hasOwnProperty.call(s,a)||(s[a]=i()),n=t(n,r),n=[s[a]].concat(n);try{s[a]=o.apply(null,n)}catch(t){delete s[a],P(e,t,-1)}},`viii`),l=jt(function(t){var n=me(t,1);try{var r=a(s[n])}catch(e){delete s[n],P(t,e,-1);return}e(t,r),delete s[n]},`vi`);return this.Sa[n]=c,this.Sa[r]=l,this.handleError(ae(this.db,n,o.length-1,1,0,0,c,l,0)),this},i.prototype.Zb=function(e){return this.Za&&=(_e(this.db,0,0),Z(this.Za),void 0),e?(this.Za=jt(function(t,n,r,i,a){switch(n){case 18:t=`insert`;break;case 23:t=`update`;break;case 9:t=`delete`;break;default:throw`unknown operationCode in updateHook callback: `+n}if(r=F(r),i=F(i),a>2**53-1)throw`rowId too big to fit inside a Number`;e(t,r,i,Number(a))},`viiiij`),_e(this.db,this.Za,0),this):this},n.prototype.bind=n.prototype.bind,n.prototype.step=n.prototype.step,n.prototype.get=n.prototype.get,n.prototype.getColumnNames=n.prototype.qb,n.prototype.getAsObject=n.prototype.zb,n.prototype.getSQL=n.prototype.Sb,n.prototype.getNormalizedSQL=n.prototype.Pb,n.prototype.run=n.prototype.run,n.prototype.reset=n.prototype.reset,n.prototype.freemem=n.prototype.freemem,n.prototype.free=n.prototype.Ya,r.prototype.next=r.prototype.next,r.prototype.getRemainingSQL=r.prototype.Qb,i.prototype.run=i.prototype.run,i.prototype.exec=i.prototype.exec,i.prototype.each=i.prototype.Mb,i.prototype.prepare=i.prototype.tb,i.prototype.iterateStatements=i.prototype.Ub,i.prototype.export=i.prototype.Nb,i.prototype.close=i.prototype.close,i.prototype.handleError=i.prototype.handleError,i.prototype.getRowsModified=i.prototype.Rb,i.prototype.create_function=i.prototype.Kb,i.prototype.create_aggregate=i.prototype.Jb,i.prototype.updateHook=i.prototype.Zb,s.Database=i};var d=`./this.program`,f=(e,t)=>{throw t},p=globalThis.document?.currentScript?.src;typeof __filename<`u`?p=__filename:l&&(p=self.location.href);var m=``,h,g;if(u){var _=t(`node:fs`);m=__dirname+`/`,g=e=>(e=S(e)?new URL(e):e,_.readFileSync(e)),h=async e=>(e=S(e)?new URL(e):e,_.readFileSync(e,void 0)),1<process.argv.length&&(d=process.argv[1].replace(/\\/g,`/`)),process.argv.slice(2),n!==void 0&&(n.exports=s),f=(e,t)=>{throw process.exitCode=e,t}}else if(c||l){try{m=new URL(`.`,p).href}catch{}l&&(g=e=>{var t=new XMLHttpRequest;return t.open(`GET`,e,!1),t.responseType=`arraybuffer`,t.send(null),new Uint8Array(t.response)}),h=async e=>{if(S(e))return new Promise((t,n)=>{var r=new XMLHttpRequest;r.open(`GET`,e,!0),r.responseType=`arraybuffer`,r.onload=()=>{r.status==200||r.status==0&&r.response?t(r.response):n(r.status)},r.onerror=n,r.send(null)});var t=await fetch(e,{credentials:`same-origin`});if(t.ok)return t.arrayBuffer();throw Error(t.status+` : `+t.url)}}var v=console.log.bind(console),y=console.error.bind(console),b,x=!1,ee,S=e=>e.startsWith(`file://`),C,w,T,E,D,te,ne,O;function re(){var e=Rt.buffer;C=new Int8Array(e),T=new Int16Array(e),w=new Uint8Array(e),new Uint16Array(e),E=new Int32Array(e),D=new Uint32Array(e),te=new Float32Array(e),ne=new Float64Array(e),O=new BigInt64Array(e),new BigUint64Array(e)}function k(e){throw s.onAbort?.(e),e=`Aborted(`+e+`)`,y(e),x=!0,new WebAssembly.RuntimeError(e+`. Build with -sASSERTIONS for more info.`)}var ie;async function ae(e){if(!b)try{var t=await h(e);return new Uint8Array(t)}catch{}if(e==ie&&b)e=new Uint8Array(b);else if(g)e=g(e);else throw`both async and sync fetching of the wasm failed`;return e}async function oe(e,t){try{var n=await ae(e);return await WebAssembly.instantiate(n,t)}catch(e){y(`failed to asynchronously prepare wasm: ${e}`),k(e)}}async function se(e){var t=ie;if(!b&&!S(t)&&!u)try{var n=fetch(t,{credentials:`same-origin`});return await WebAssembly.instantiateStreaming(n,e)}catch(e){y(`wasm streaming compile failed: ${e}`),y(`falling back to ArrayBuffer instantiation`)}return oe(t,e)}class ce{name=`ExitStatus`;constructor(e){this.message=`Program terminated with exit(${e})`,this.status=e}}var le=e=>{for(;0<e.length;)e.shift()(s)},ue=[],de=[],fe=()=>{var e=s.preRun.shift();de.push(e)},A=0,j=null;function M(e,t=`i8`){switch(t.endsWith(`*`)&&(t=`*`),t){case`i1`:return C[e];case`i8`:return C[e];case`i16`:return T[e>>1];case`i32`:return E[e>>2];case`i64`:return O[e>>3];case`float`:return te[e>>2];case`double`:return ne[e>>3];case`*`:return D[e>>2];default:k(`invalid type for getValue: ${t}`)}}var N=!0;function pe(e){var t=`i32`;switch(t.endsWith(`*`)&&(t=`*`),t){case`i1`:C[e]=0;break;case`i8`:C[e]=0;break;case`i16`:T[e>>1]=0;break;case`i32`:E[e>>2]=0;break;case`i64`:O[e>>3]=BigInt(0);break;case`float`:te[e>>2]=0;break;case`double`:ne[e>>3]=0;break;case`*`:D[e>>2]=0;break;default:k(`invalid type for setValue: ${t}`)}}var P=new TextDecoder,me=(e,t,n,r)=>{if(n=t+n,r)return n;for(;e[t]&&!(t>=n);)++t;return t},F=(e,t,n)=>e?P.decode(w.subarray(e,me(w,e,t,n))):``,he=(e,t)=>{for(var n=0,r=e.length-1;0<=r;r--){var i=e[r];i===`.`?e.splice(r,1):i===`..`?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n;n--)e.unshift(`..`);return e},ge=e=>{var t=e.charAt(0)===`/`,n=e.slice(-1)===`/`;return(e=he(e.split(`/`).filter(e=>!!e),!t).join(`/`))||t||(e=`.`),e&&n&&(e+=`/`),(t?`/`:``)+e},_e=e=>{var t=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1);return e=t[0],t=t[1],!e&&!t?`.`:(t&&=t.slice(0,-1),e+t)},ve=e=>e&&e.match(/([^\/]+|\/)\/*$/)[1],ye=()=>{if(u){var e=t(`node:crypto`);return t=>e.randomFillSync(t)}return e=>crypto.getRandomValues(e)},be=e=>{(be=ye())(e)},xe=(...e)=>{for(var t=``,n=!1,r=e.length-1;-1<=r&&!n;r--){if(n=0<=r?e[r]:`/`,typeof n!=`string`)throw TypeError(`Arguments to path.resolve must be strings`);if(!n)return``;t=n+`/`+t,n=n.charAt(0)===`/`}return t=he(t.split(`/`).filter(e=>!!e),!n).join(`/`),(n?`/`:``)+t||`.`},Se=e=>{var t=me(e,0);return P.decode(e.buffer?e.subarray(0,t):new Uint8Array(e.slice(0,t)))},Ce=[],we=e=>{for(var t=0,n=0;n<e.length;++n){var r=e.charCodeAt(n);127>=r?t++:2047>=r?t+=2:55296<=r&&57343>=r?(t+=4,++n):t+=3}return t},I=(e,t,n,r)=>{if(!(0<r))return 0;var i=n;r=n+r-1;for(var a=0;a<e.length;++a){var o=e.codePointAt(a);if(127>=o){if(n>=r)break;t[n++]=o}else if(2047>=o){if(n+1>=r)break;t[n++]=192|o>>6,t[n++]=128|o&63}else if(65535>=o){if(n+2>=r)break;t[n++]=224|o>>12,t[n++]=128|o>>6&63,t[n++]=128|o&63}else{if(n+3>=r)break;t[n++]=240|o>>18,t[n++]=128|o>>12&63,t[n++]=128|o>>6&63,t[n++]=128|o&63,a++}}return t[n]=0,n-i},Te=[];function Ee(e,t){Te[e]={input:[],output:[],eb:t},Ye(e,De)}var De={open(e){var t=Te[e.node.rdev];if(!t)throw new B(43);e.tty=t,e.seekable=!1},close(e){e.tty.eb.fsync(e.tty)},fsync(e){e.tty.eb.fsync(e.tty)},read(e,t,n,r){if(!e.tty||!e.tty.eb.Bb)throw new B(60);for(var i=0,a=0;a<r;a++){try{var o=e.tty.eb.Bb(e.tty)}catch{throw new B(29)}if(o===void 0&&i===0)throw new B(6);if(o==null)break;i++,t[n+a]=o}return i&&(e.node.atime=Date.now()),i},write(e,t,n,r){if(!e.tty||!e.tty.eb.ub)throw new B(60);try{for(var i=0;i<r;i++)e.tty.eb.ub(e.tty,t[n+i])}catch{throw new B(29)}return r&&(e.node.mtime=e.node.ctime=Date.now()),i}},Oe={Bb(){a:{if(!Ce.length){var e=null;if(u){var t=Buffer.alloc(256),n=0,r=process.stdin.fd;try{n=_.readSync(r,t,0,256)}catch(e){if(e.toString().includes(`EOF`))n=0;else throw e}0<n&&(e=t.slice(0,n).toString(`utf-8`))}else globalThis.window?.prompt&&(e=window.prompt(`Input: `),e!==null&&(e+=`
|
|
2
2
|
`));if(!e){e=null;break a}t=Array(we(e)+1),e=I(e,t,0,t.length),t.length=e,Ce=t}e=Ce.shift()}return e},ub(e,t){t===null||t===10?(v(Se(e.output)),e.output=[]):t!=0&&e.output.push(t)},fsync(e){0<e.output?.length&&(v(Se(e.output)),e.output=[])},hc(){return{bc:25856,dc:5,ac:191,cc:35387,$b:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ic(){return 0},jc(){return[24,80]}},ke={ub(e,t){t===null||t===10?(y(Se(e.output)),e.output=[]):t!=0&&e.output.push(t)},fsync(e){0<e.output?.length&&(y(Se(e.output)),e.output=[])}},L={Wa:null,Xa(){return L.createNode(null,`/`,16895,0)},createNode(e,t,n,r){if((n&61440)==24576||(n&61440)==4096)throw new B(63);return L.Wa||={dir:{node:{Ta:L.La.Ta,Ua:L.La.Ua,lookup:L.La.lookup,ib:L.La.ib,rename:L.La.rename,unlink:L.La.unlink,rmdir:L.La.rmdir,readdir:L.La.readdir,symlink:L.La.symlink},stream:{Va:L.Ma.Va}},file:{node:{Ta:L.La.Ta,Ua:L.La.Ua},stream:{Va:L.Ma.Va,read:L.Ma.read,write:L.Ma.write,jb:L.Ma.jb,kb:L.Ma.kb}},link:{node:{Ta:L.La.Ta,Ua:L.La.Ua,readlink:L.La.readlink},stream:{}},yb:{node:{Ta:L.La.Ta,Ua:L.La.Ua},stream:Je}},n=Ve(e,t,n,r),U(n.mode)?(n.La=L.Wa.dir.node,n.Ma=L.Wa.dir.stream,n.Na={}):(n.mode&61440)==32768?(n.La=L.Wa.file.node,n.Ma=L.Wa.file.stream,n.Ra=0,n.Na=null):(n.mode&61440)==40960?(n.La=L.Wa.link.node,n.Ma=L.Wa.link.stream):(n.mode&61440)==8192&&(n.La=L.Wa.yb.node,n.Ma=L.Wa.yb.stream),n.atime=n.mtime=n.ctime=Date.now(),e&&(e.Na[t]=n,e.atime=e.mtime=e.ctime=n.atime),n},fc(e){return e.Na?e.Na.subarray?e.Na.subarray(0,e.Ra):new Uint8Array(e.Na):new Uint8Array},La:{Ta(e){var t={};return t.dev=(e.mode&61440)==8192?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,t.size=U(e.mode)?4096:(e.mode&61440)==32768?e.Ra:(e.mode&61440)==40960?e.link.length:0,t.atime=new Date(e.atime),t.mtime=new Date(e.mtime),t.ctime=new Date(e.ctime),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},Ua(e,t){for(var n of[`mode`,`atime`,`mtime`,`ctime`])t[n]!=null&&(e[n]=t[n]);t.size!==void 0&&(t=t.size,e.Ra!=t&&(t==0?(e.Na=null,e.Ra=0):(n=e.Na,e.Na=new Uint8Array(t),n&&e.Na.set(n.subarray(0,Math.min(t,e.Ra))),e.Ra=t)))},lookup(){throw L.nb||(L.nb=new B(44),L.nb.stack=`<generic error, no stack>`),L.nb},ib(e,t,n,r){return L.createNode(e,t,n,r)},rename(e,t,n){try{var r=H(t,n)}catch{}if(r){if(U(e.mode))for(var i in r.Na)throw new B(55);Be(r)}delete e.parent.Na[e.name],t.Na[n]=e,e.name=n,t.ctime=t.mtime=e.parent.ctime=e.parent.mtime=Date.now()},unlink(e,t){delete e.Na[t],e.ctime=e.mtime=Date.now()},rmdir(e,t){var n=H(e,t),r;for(r in n.Na)throw new B(55);delete e.Na[t],e.ctime=e.mtime=Date.now()},readdir(e){return[`.`,`..`,...Object.keys(e.Na)]},symlink(e,t,n){return e=L.createNode(e,t,41471,0),e.link=n,e},readlink(e){if((e.mode&61440)!=40960)throw new B(28);return e.link}},Ma:{read(e,t,n,r,i){var a=e.node.Na;if(i>=e.node.Ra)return 0;if(e=Math.min(e.node.Ra-i,r),8<e&&a.subarray)t.set(a.subarray(i,i+e),n);else for(r=0;r<e;r++)t[n+r]=a[i+r];return e},write(e,t,n,r,i,a){if(t.buffer===C.buffer&&(a=!1),!r)return 0;if(e=e.node,e.mtime=e.ctime=Date.now(),t.subarray&&(!e.Na||e.Na.subarray)){if(a)return e.Na=t.subarray(n,n+r),e.Ra=r;if(e.Ra===0&&i===0)return e.Na=t.slice(n,n+r),e.Ra=r;if(i+r<=e.Ra)return e.Na.set(t.subarray(n,n+r),i),r}a=i+r;var o=e.Na?e.Na.length:0;if(o>=a||(a=Math.max(a,o*(1048576>o?2:1.125)>>>0),o!=0&&(a=Math.max(a,256)),o=e.Na,e.Na=new Uint8Array(a),0<e.Ra&&e.Na.set(o.subarray(0,e.Ra),0)),e.Na.subarray&&t.subarray)e.Na.set(t.subarray(n,n+r),i);else for(a=0;a<r;a++)e.Na[i+a]=t[n+a];return e.Ra=Math.max(e.Ra,i+r),r},Va(e,t,n){if(n===1?t+=e.position:n===2&&(e.node.mode&61440)==32768&&(t+=e.node.Ra),0>t)throw new B(28);return t},jb(e,t,n,r,i){if((e.node.mode&61440)!=32768)throw new B(43);if(e=e.node.Na,i&2||!e||e.buffer!==C.buffer){i=!0,r=65536*Math.ceil(t/65536);var a=Pt(65536,r);if(a&&w.fill(0,a,a+r),r=a,!r)throw new B(48);e&&((0<n||n+t<e.length)&&(e=e.subarray?e.subarray(n,n+t):Array.prototype.slice.call(e,n,n+t)),C.set(e,r))}else i=!1,r=e.byteOffset;return{Xb:r,Eb:i}},kb(e,t,n,r){return L.Ma.write(e,t,0,r,n,!1),0}}},Ae=(e,t)=>{var n=0;return e&&(n|=365),t&&(n|=146),n},je=null,Me={},R=[],Ne=1,z=null,Pe=!1,Fe=!0,B=class{name=`ErrnoError`;constructor(e){this.Pa=e}},Ie=class{hb={};node=null;get flags(){return this.hb.flags}set flags(e){this.hb.flags=e}get position(){return this.hb.position}set position(e){this.hb.position=e}},Le=class{La={};Ma={};bb=null;constructor(e,t,n,r){e||=this,this.parent=e,this.Xa=e.Xa,this.id=Ne++,this.name=t,this.mode=n,this.rdev=r,this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&365)==365}set read(e){e?this.mode|=365:this.mode&=-366}get write(){return(this.mode&146)==146}set write(e){e?this.mode|=146:this.mode&=-147}};function V(e,t={}){if(!e)throw new B(44);t.pb??=!0,e.charAt(0)===`/`||(e=`//`+e);var n=0;a:for(;40>n;n++){e=e.split(`/`).filter(e=>!!e);for(var r=je,i=`/`,a=0;a<e.length;a++){var o=a===e.length-1;if(o&&t.parent)break;if(e[a]!==`.`){if(e[a]===`..`){if(i=_e(i),r===r.parent){e=i+`/`+e.slice(a+1).join(`/`),n--;continue a}r=r.parent}else{i=ge(i+`/`+e[a]);try{r=H(r,e[a])}catch(e){if(e?.Pa===44&&o&&t.Wb)return{path:i};throw e}if(!r.bb||o&&!t.pb||(r=r.bb.root),(r.mode&61440)==40960&&(!o||t.ab)){if(!r.La.readlink)throw new B(52);r=r.La.readlink(r),r.charAt(0)===`/`||(r=_e(i)+`/`+r),e=r+`/`+e.slice(a+1).join(`/`);continue a}}}}return{path:i,node:r}}throw new B(32)}function Re(e){for(var t;;){if(e===e.parent)return e=e.Xa.Db,t?e[e.length-1]===`/`?e+t:`${e}/${t}`:e;t=t?`${e.name}/${t}`:e.name,e=e.parent}}function ze(e,t){for(var n=0,r=0;r<t.length;r++)n=(n<<5)-n+t.charCodeAt(r)|0;return(e+n>>>0)%z.length}function Be(e){var t=ze(e.parent.id,e.name);if(z[t]===e)z[t]=e.cb;else for(t=z[t];t;){if(t.cb===e){t.cb=e.cb;break}t=t.cb}}function H(e,t){var n=U(e.mode)?(n=W(e,`x`))?n:e.La.lookup?0:2:54;if(n)throw new B(n);for(n=z[ze(e.id,t)];n;n=n.cb){var r=n.name;if(n.parent.id===e.id&&r===t)return n}return e.La.lookup(e,t)}function Ve(e,t,n,r){return e=new Le(e,t,n,r),t=ze(e.parent.id,e.name),e.cb=z[t],z[t]=e}function U(e){return(e&61440)==16384}function W(e,t){return Fe?0:t.includes(`r`)&&!(e.mode&292)||t.includes(`w`)&&!(e.mode&146)||t.includes(`x`)&&!(e.mode&73)?2:0}function He(e,t){if(!U(e.mode))return 54;try{return H(e,t),20}catch{}return W(e,`wx`)}function Ue(e,t,n){try{var r=H(e,t)}catch(e){return e.Pa}if(e=W(e,`wx`))return e;if(n){if(!U(r.mode))return 54;if(r===r.parent||Re(r)===`/`)return 10}else if(U(r.mode))return 31;return 0}function We(e){if(!e)throw new B(63);return e}function G(e){if(e=R[e],!e)throw new B(8);return e}function Ge(e,t=-1){if(e=Object.assign(new Ie,e),t==-1)a:{for(t=0;4096>=t;t++)if(!R[t])break a;throw new B(33)}return e.fd=t,R[t]=e}function Ke(e,t=-1){return e=Ge(e,t),e.Ma?.ec?.(e),e}function qe(e,t,n){var r=e?.Ma.Ua;e=r?e:t,r??=t.La.Ua,We(r),r(e,n)}var Je={open(e){e.Ma=Me[e.node.rdev].Ma,e.Ma.open?.(e)},Va(){throw new B(70)}};function Ye(e,t){Me[e]={Ma:t}}function Xe(e,t){var n=t===`/`;if(n&&je)throw new B(10);if(!n&&t){var r=V(t,{pb:!1});if(t=r.path,r=r.node,r.bb)throw new B(10);if(!U(r.mode))throw new B(54)}t={type:e,kc:{},Db:t,Vb:[]},e=e.Xa(t),e.Xa=t,t.root=e,n?je=e:r&&(r.bb=t,r.Xa&&r.Xa.Vb.push(t))}function Ze(e,t,n){var r=V(e,{parent:!0}).node;if(e=ve(e),!e)throw new B(28);if(e===`.`||e===`..`)throw new B(20);var i=He(r,e);if(i)throw new B(i);if(!r.La.ib)throw new B(63);return r.La.ib(r,e,t,n)}function Qe(e,t=438){return Ze(e,t&4095|32768,0)}function K(e,t=511){return Ze(e,t&1023|16384,0)}function $e(e,t,n){n===void 0&&(n=t,t=438),Ze(e,t|8192,n)}function et(e,t){if(!xe(e))throw new B(44);var n=V(t,{parent:!0}).node;if(!n)throw new B(44);t=ve(t);var r=He(n,t);if(r)throw new B(r);if(!n.La.symlink)throw new B(63);n.La.symlink(n,t,e)}function tt(e){var t=V(e,{parent:!0}).node;e=ve(e);var n=H(t,e),r=Ue(t,e,!0);if(r)throw new B(r);if(!t.La.rmdir)throw new B(63);if(n.bb)throw new B(10);t.La.rmdir(t,e),Be(n)}function nt(e){var t=V(e,{parent:!0}).node;if(!t)throw new B(44);e=ve(e);var n=H(t,e),r=Ue(t,e,!1);if(r)throw new B(r);if(!t.La.unlink)throw new B(63);if(n.bb)throw new B(10);t.La.unlink(t,e),Be(n)}function rt(e,t){return e=V(e,{ab:!t}).node,We(e.La.Ta)(e)}function it(e,t,n,r){qe(e,t,{mode:n&4095|t.mode&-4096,ctime:Date.now(),Lb:r})}function at(e,t){e=typeof e==`string`?V(e,{ab:!0}).node:e,it(null,e,t)}function ot(e,t,n){if(U(t.mode))throw new B(31);if((t.mode&61440)!=32768)throw new B(28);var r=W(t,`w`);if(r)throw new B(r);qe(e,t,{size:n,timestamp:Date.now()})}function st(e,t,n=438){if(e===``)throw new B(44);if(typeof t==`string`){var r={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[t];if(r===void 0)throw Error(`Unknown file open mode: ${t}`);t=r}if(n=t&64?n&4095|32768:0,typeof e==`object`)r=e;else{var i=e.endsWith(`/`),a=V(e,{ab:!(t&131072),Wb:!0});r=a.node,e=a.path}if(a=!1,t&64){if(r){if(t&128)throw new B(20)}else{if(i)throw new B(31);r=Ze(e,n|511,0),a=!0}}if(!r)throw new B(44);if((r.mode&61440)==8192&&(t&=-513),t&65536&&!U(r.mode))throw new B(54);if(!a&&(r?(r.mode&61440)==40960?i=32:(i=[`r`,`w`,`rw`][t&3],t&512&&(i+=`w`),i=U(r.mode)&&(i!==`r`||t&576)?31:W(r,i)):i=44,i))throw new B(i);return t&512&&!a&&(i=r,i=typeof i==`string`?V(i,{ab:!0}).node:i,ot(null,i,0)),t=Ge({node:r,path:Re(r),flags:t&-131713,seekable:!0,position:0,Ma:r.Ma,Yb:[],error:!1}),t.Ma.open&&t.Ma.open(t),a&&at(r,n&511),t}function ct(e){if(e.fd===null)throw new B(8);e.rb&&=null;try{e.Ma.close&&e.Ma.close(e)}catch(e){throw e}finally{R[e.fd]=null}e.fd=null}function lt(e,t,n){if(e.fd===null)throw new B(8);if(!e.seekable||!e.Ma.Va)throw new B(70);if(n!=0&&n!=1&&n!=2)throw new B(28);e.position=e.Ma.Va(e,t,n),e.Yb=[]}function ut(e,t,n,r,i){if(0>r||0>i)throw new B(28);if(e.fd===null||(e.flags&2097155)==1)throw new B(8);if(U(e.node.mode))throw new B(31);if(!e.Ma.read)throw new B(28);var a=i!==void 0;if(!a)i=e.position;else if(!e.seekable)throw new B(70);return t=e.Ma.read(e,t,n,r,i),a||(e.position+=t),t}function dt(e,t,n,r,i){if(0>r||0>i)throw new B(28);if(e.fd===null||!(e.flags&2097155))throw new B(8);if(U(e.node.mode))throw new B(31);if(!e.Ma.write)throw new B(28);e.seekable&&e.flags&1024&<(e,0,2);var a=i!==void 0;if(!a)i=e.position;else if(!e.seekable)throw new B(70);return t=e.Ma.write(e,t,n,r,i,void 0),a||(e.position+=t),t}function ft(e){var t=t||0,n=`binary`;n!==`utf8`&&n!==`binary`&&k(`Invalid encoding type "${n}"`),t=st(e,t),e=rt(e).size;var r=new Uint8Array(e);return ut(t,r,0,e,0),n===`utf8`&&(r=Se(r)),ct(t),r}function q(e,t,n){e=ge(`/dev/`+e);var r=Ae(!!t,!!n);q.Cb??=64;var i=q.Cb++<<8|0;Ye(i,{open(e){e.seekable=!1},close(){n?.buffer?.length&&n(10)},read(e,n,r,i){for(var a=0,o=0;o<i;o++){try{var s=t()}catch{throw new B(29)}if(s===void 0&&a===0)throw new B(6);if(s==null)break;a++,n[r+o]=s}return a&&(e.node.atime=Date.now()),a},write(e,t,r,i){for(var a=0;a<i;a++)try{n(t[r+a])}catch{throw new B(29)}return i&&(e.node.mtime=e.node.ctime=Date.now()),a}}),$e(e,r,i)}var J={};function Y(e,t,n){if(t.charAt(0)===`/`)return t;if(e=e===-100?`/`:G(e).path,t.length==0){if(!n)throw new B(44);return e}return e+`/`+t}function pt(e,t){D[e>>2]=t.dev,D[e+4>>2]=t.mode,D[e+8>>2]=t.nlink,D[e+12>>2]=t.uid,D[e+16>>2]=t.gid,D[e+20>>2]=t.rdev,O[e+24>>3]=BigInt(t.size),E[e+32>>2]=4096,E[e+36>>2]=t.blocks;var n=t.atime.getTime(),r=t.mtime.getTime(),i=t.ctime.getTime();return O[e+40>>3]=BigInt(Math.floor(n/1e3)),D[e+48>>2]=n%1e3*1e6,O[e+56>>3]=BigInt(Math.floor(r/1e3)),D[e+64>>2]=r%1e3*1e6,O[e+72>>3]=BigInt(Math.floor(i/1e3)),D[e+80>>2]=i%1e3*1e6,O[e+88>>3]=BigInt(t.ino),0}var mt=void 0,ht=()=>{var e=E[mt>>2];return mt+=4,e},gt=0,_t=[0,31,60,91,121,152,182,213,244,274,305,335],vt=[0,31,59,90,120,151,181,212,243,273,304,334],yt={},bt=e=>{ee=e,N||0<gt||(s.onExit?.(e),x=!0),f(e,new ce(e))},xt=e=>{if(!x)try{e()}catch(e){e instanceof ce||e==`unwind`||f(1,e)}finally{if(!(N||0<gt))try{ee=e=ee,bt(e)}catch(e){e instanceof ce||e==`unwind`||f(1,e)}}},St={},Ct=()=>{if(!wt){var e={USER:`web_user`,LOGNAME:`web_user`,PATH:`/`,PWD:`/`,HOME:`/home/web_user`,LANG:(globalThis.navigator?.language??`C`).replace(`-`,`_`)+`.UTF-8`,_:d||`./this.program`},t;for(t in St)St[t]===void 0?delete e[t]:e[t]=St[t];var n=[];for(t in e)n.push(`${t}=${e[t]}`);wt=n}return wt},wt,Tt=(e,t,n,r)=>{var i={string:e=>{var t=0;if(e!=null&&e!==0){t=we(e)+1;var n=Q(t);I(e,w,n,t),t=n}return t},array:e=>{var t=Q(e.length);return C.set(e,t),t}};e=s[`_`+e];var a=[],o=0;if(r)for(var c=0;c<r.length;c++){var l=i[n[c]];l?(o===0&&(o=Lt()),a[c]=l(r[c])):a[c]=r[c]}return n=e(...a),n=function(e){return o!==0&&It(o),t===`string`?F(e):t===`boolean`?!!e:e}(n)},Et=e=>{var t=we(e)+1,n=Mt(t);return n&&I(e,w,n,t),n},X,Dt=[],Z=e=>{X.delete($.get(e)),$.set(e,null),Dt.push(e)},Ot=e=>{let t=e.length;return[t%128|128,t>>7,...e]},kt={i:127,p:127,j:126,f:125,d:124,e:111},At=e=>Ot(Array.from(e,e=>kt[e])),jt=(e,t)=>{if(!X){X=new WeakMap;var n=$.length;if(X)for(var r=0;r<0+n;r++){var i=$.get(r);i&&X.set(i,r)}}if(n=X.get(e)||0)return n;n=Dt.length?Dt.pop():$.grow(1);try{$.set(n,e)}catch(r){if(!(r instanceof TypeError))throw r;t=Uint8Array.of(0,97,115,109,1,0,0,0,1,...Ot([1,96,...At(t.slice(1)),...At(t[0]===`v`?``:t[0])]),2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0),t=new WebAssembly.Module(t),t=new WebAssembly.Instance(t,{e:{f:e}}).exports.f,$.set(n,t)}return X.set(e,n),n};if(z=Array(4096),Xe(L,`/`),K(`/tmp`),K(`/home`),K(`/home/web_user`),(function(){K(`/dev`),Ye(259,{read:()=>0,write:(e,t,n,r)=>r,Va:()=>0}),$e(`/dev/null`,259),Ee(1280,Oe),Ee(1536,ke),$e(`/dev/tty`,1280),$e(`/dev/tty1`,1536);var e=new Uint8Array(1024),t=0,n=()=>(t===0&&(be(e),t=e.byteLength),e[--t]);q(`random`,n),q(`urandom`,n),K(`/dev/shm`),K(`/dev/shm/tmp`)})(),(function(){K(`/proc`);var e=K(`/proc/self`);K(`/proc/self/fd`),Xe({Xa(){var t=Ve(e,`fd`,16895,73);return t.Ma={Va:L.Ma.Va},t.La={lookup(e,t){e=+t;var n=G(e);return e={parent:null,Xa:{Db:`fake`},La:{readlink:()=>n.path},id:e+1},e.parent=e},readdir(){return Array.from(R.entries()).filter(([,e])=>e).map(([e])=>e.toString())}},t}},`/proc/self/fd`)})(),s.noExitRuntime&&(N=s.noExitRuntime),s.print&&(v=s.print),s.printErr&&(y=s.printErr),s.wasmBinary&&(b=s.wasmBinary),s.thisProgram&&(d=s.thisProgram),s.preInit)for(typeof s.preInit==`function`&&(s.preInit=[s.preInit]);0<s.preInit.length;)s.preInit.shift()();s.stackSave=()=>Lt(),s.stackRestore=e=>It(e),s.stackAlloc=e=>Q(e),s.cwrap=(e,t,n,r)=>{var i=!n||n.every(e=>e===`number`||e===`boolean`);return t!==`string`&&i&&!r?s[`_`+e]:(...r)=>Tt(e,t,n,r)},s.addFunction=jt,s.removeFunction=Z,s.UTF8ToString=F,s.stringToNewUTF8=Et,s.writeArrayToMemory=(e,t)=>{C.set(e,t)};var Mt,Nt,Pt,Ft,It,Q,Lt,Rt,$,zt={a:(e,t,n,r)=>k(`Assertion failed: ${F(e)}, at: `+[t?F(t):`unknown filename`,n,r?F(r):`unknown function`]),i:function(e,t){try{return e=F(e),at(e,t),0}catch(e){if(J===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},L:function(e,t,n){try{if(t=F(t),t=Y(e,t),n&-8)return-28;var r=V(t,{ab:!0}).node;return r?(e=``,n&4&&(e+=`r`),n&2&&(e+=`w`),n&1&&(e+=`x`),e&&W(r,e)?-2:0):-44}catch(e){if(J===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},j:function(e,t){try{var n=G(e);return it(n,n.node,t,!1),0}catch(e){if(J===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},h:function(e){try{var t=G(e);return qe(t,t.node,{timestamp:Date.now(),Lb:!1}),0}catch(e){if(J===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},b:function(e,t,n){mt=n;try{var r=G(e);switch(t){case 0:var i=ht();if(0>i)break;for(;R[i];)i++;return Ke(r,i).fd;case 1:case 2:return 0;case 3:return r.flags;case 4:return i=ht(),r.flags|=i,0;case 12:return i=ht(),T[i+0>>1]=2,0;case 13:case 14:return 0}return-28}catch(e){if(J===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},g:function(e,t){try{var n=G(e),r=n.node,i=n.Ma.Ta;return e=i?n:r,i??=r.La.Ta,We(i),pt(t,i(e))}catch(e){if(J===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},H:function(e,t){t=-9007199254740992>t||9007199254740992<t?NaN:Number(t);try{if(isNaN(t))return-61;var n=G(e);if(0>t||!(n.flags&2097155))throw new B(28);return ot(n,n.node,t),0}catch(e){if(J===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},G:function(e,t){try{if(t===0)return-28;var n=we(`/`)+1;return t<n?-68:(I(`/`,w,e,t),n)}catch(e){if(J===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},K:function(e,t){try{return e=F(e),pt(t,rt(e,!0))}catch(e){if(J===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},C:function(e,t,n){try{return t=F(t),t=Y(e,t),K(t,n),0}catch(e){if(J===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},J:function(e,t,n,r){try{t=F(t);var i=r&256;return t=Y(e,t,r&4096),pt(n,i?rt(t,!0):rt(t))}catch(e){if(J===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},x:function(e,t,n,r){mt=r;try{t=F(t),t=Y(e,t);var i=r?ht():0;return st(t,n,i).fd}catch(e){if(J===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},v:function(e,t,n,r){try{if(t=F(t),t=Y(e,t),0>=r)return-28;var i=V(t).node;if(!i)throw new B(44);if(!i.La.readlink)throw new B(28);var a=i.La.readlink(i),o=Math.min(r,we(a)),s=C[n+o];return I(a,w,n,r+1),C[n+o]=s,o}catch(e){if(J===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},u:function(e){try{return e=F(e),tt(e),0}catch(e){if(J===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},f:function(e,t){try{return e=F(e),pt(t,rt(e))}catch(e){if(J===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},r:function(e,t,n){try{if(t=F(t),t=Y(e,t),n){if(n===512)tt(t);else return-28}else nt(t);return 0}catch(e){if(J===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},q:function(e,t,n){try{t=F(t),t=Y(e,t,!0);var r=Date.now(),i,a;if(n){var o=D[n>>2]+4294967296*E[n+4>>2],s=E[n+8>>2];i=s==1073741823?r:s==1073741822?null:1e3*o+s/1e6,n+=16,o=D[n>>2]+4294967296*E[n+4>>2],s=E[n+8>>2],a=s==1073741823?r:s==1073741822?null:1e3*o+s/1e6}else a=i=r;if((a??i)!==null){e=i;var c=V(t,{ab:!0}).node;We(c.La.Ua)(c,{atime:e,mtime:a})}return 0}catch(e){if(J===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},m:()=>k(``),l:()=>{N=!1,gt=0},A:function(e,t){e=-9007199254740992>e||9007199254740992<e?NaN:Number(e),e=new Date(1e3*e),E[t>>2]=e.getSeconds(),E[t+4>>2]=e.getMinutes(),E[t+8>>2]=e.getHours(),E[t+12>>2]=e.getDate(),E[t+16>>2]=e.getMonth(),E[t+20>>2]=e.getFullYear()-1900,E[t+24>>2]=e.getDay();var n=e.getFullYear();E[t+28>>2]=(n%4!=0||n%100==0&&n%400!=0?vt:_t)[e.getMonth()]+e.getDate()-1|0,E[t+36>>2]=-(60*e.getTimezoneOffset()),n=new Date(e.getFullYear(),6,1).getTimezoneOffset();var r=new Date(e.getFullYear(),0,1).getTimezoneOffset();E[t+32>>2]=(n!=r&&e.getTimezoneOffset()==Math.min(r,n))|0},y:function(e,t,n,r,i,a,o){i=-9007199254740992>i||9007199254740992<i?NaN:Number(i);try{var s=G(r);if(t&2&&!(n&2)&&(s.flags&2097155)!=2||(s.flags&2097155)==1)throw new B(2);if(!s.Ma.jb)throw new B(43);if(!e)throw new B(28);var c=s.Ma.jb(s,e,i,t,n),l=c.Xb;return E[a>>2]=c.Eb,D[o>>2]=l,0}catch(e){if(J===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},z:function(e,t,n,r,i,a){a=-9007199254740992>a||9007199254740992<a?NaN:Number(a);try{var o=G(i);if(n&2){if(n=a,(o.node.mode&61440)!=32768)throw new B(43);if(!(r&2)){var s=w.slice(e,e+t);o.Ma.kb&&o.Ma.kb(o,s,n,t,r)}}}catch(e){if(J===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},n:(e,t)=>(yt[e]&&(clearTimeout(yt[e].id),delete yt[e]),t&&(yt[e]={id:setTimeout(()=>{delete yt[e],xt(()=>Ft(e,performance.now()))},t),lc:t}),0),B:(e,t,n,r)=>{var i=new Date().getFullYear(),a=new Date(i,0,1).getTimezoneOffset();i=new Date(i,6,1).getTimezoneOffset(),D[e>>2]=60*Math.max(a,i),E[t>>2]=Number(a!=i),t=e=>{var t=Math.abs(e);return`UTC${0<=e?`-`:`+`}${String(Math.floor(t/60)).padStart(2,`0`)}${String(t%60).padStart(2,`0`)}`},e=t(a),t=t(i),i<a?(I(e,w,n,17),I(t,w,r,17)):(I(e,w,r,17),I(t,w,n,17))},d:()=>Date.now(),s:()=>2147483648,c:()=>performance.now(),o:e=>{var t=w.length;if(e>>>=0,2147483648<e)return!1;for(var n=1;4>=n;n*=2){var r=t*(1+.2/n);r=Math.min(r,e+100663296);a:{r=(Math.min(2147483648,65536*Math.ceil(Math.max(e,r)/65536))-Rt.buffer.byteLength+65535)/65536|0;try{Rt.grow(r),re();var i=1;break a}catch{}i=void 0}if(i)return!0}return!1},E:(e,t)=>{var n=0,r=0,i;for(i of Ct()){var a=t+n;D[e+r>>2]=a,n+=I(i,w,a,1/0)+1,r+=4}return 0},F:(e,t)=>{var n=Ct();D[e>>2]=n.length,e=0;for(var r of n)e+=we(r)+1;return D[t>>2]=e,0},e:function(e){try{return ct(G(e)),0}catch(e){if(J===void 0||e.name!==`ErrnoError`)throw e;return e.Pa}},p:function(e,t){try{var n=G(e);return C[t]=n.tty?2:U(n.mode)?3:(n.mode&61440)==40960?7:4,T[t+2>>1]=0,O[t+8>>3]=BigInt(0),O[t+16>>3]=BigInt(0),0}catch(e){if(J===void 0||e.name!==`ErrnoError`)throw e;return e.Pa}},w:function(e,t,n,r){try{a:{var i=G(e);e=t;for(var a,o=t=0;o<n;o++){var s=D[e>>2],c=D[e+4>>2];e+=8;var l=ut(i,C,s,c,a);if(0>l){var u=-1;break a}if(t+=l,l<c)break;a!==void 0&&(a+=l)}u=t}return D[r>>2]=u,0}catch(e){if(J===void 0||e.name!==`ErrnoError`)throw e;return e.Pa}},D:function(e,t,n,r){t=-9007199254740992>t||9007199254740992<t?NaN:Number(t);try{if(isNaN(t))return 61;var i=G(e);return lt(i,t,n),O[r>>3]=BigInt(i.position),i.rb&&t===0&&n===0&&(i.rb=null),0}catch(e){if(J===void 0||e.name!==`ErrnoError`)throw e;return e.Pa}},I:function(e){try{var t=G(e);return t.Ma?.fsync?.(t)}catch(e){if(J===void 0||e.name!==`ErrnoError`)throw e;return e.Pa}},t:function(e,t,n,r){try{a:{var i=G(e);e=t;for(var a,o=t=0;o<n;o++){var s=D[e>>2],c=D[e+4>>2];e+=8;var l=dt(i,C,s,c,a);if(0>l){var u=-1;break a}if(t+=l,l<c)break;a!==void 0&&(a+=l)}u=t}return D[r>>2]=u,0}catch(e){if(J===void 0||e.name!==`ErrnoError`)throw e;return e.Pa}},k:bt};function Bt(){function e(){if(s.calledRun=!0,!x){if(!s.noFSInit&&!Pe){var e,t;Pe=!0,e??=s.stdin,t??=s.stdout,n??=s.stderr,e?q(`stdin`,e):et(`/dev/tty`,`/dev/stdin`),t?q(`stdout`,null,t):et(`/dev/tty`,`/dev/stdout`),n?q(`stderr`,null,n):et(`/dev/tty1`,`/dev/stderr`),st(`/dev/stdin`,0),st(`/dev/stdout`,1),st(`/dev/stderr`,1)}if(Vt.N(),Fe=!1,s.onRuntimeInitialized?.(),s.postRun)for(typeof s.postRun==`function`&&(s.postRun=[s.postRun]);s.postRun.length;){var n=s.postRun.shift();ue.push(n)}le(ue)}}if(0<A)j=Bt;else{if(s.preRun)for(typeof s.preRun==`function`&&(s.preRun=[s.preRun]);s.preRun.length;)fe();le(de),0<A?j=Bt:s.setStatus?(s.setStatus(`Running...`),setTimeout(()=>{setTimeout(()=>s.setStatus(``),1),e()},1)):e()}}var Vt;return(async function(){function e(e){return e=Vt=e.exports,s._sqlite3_free=e.P,s._sqlite3_value_text=e.Q,s._sqlite3_prepare_v2=e.R,s._sqlite3_step=e.S,s._sqlite3_reset=e.T,s._sqlite3_exec=e.U,s._sqlite3_finalize=e.V,s._sqlite3_column_name=e.W,s._sqlite3_column_text=e.X,s._sqlite3_column_type=e.Y,s._sqlite3_errmsg=e.Z,s._sqlite3_clear_bindings=e._,s._sqlite3_value_blob=e.$,s._sqlite3_value_bytes=e.aa,s._sqlite3_value_double=e.ba,s._sqlite3_value_int=e.ca,s._sqlite3_value_type=e.da,s._sqlite3_result_blob=e.ea,s._sqlite3_result_double=e.fa,s._sqlite3_result_error=e.ga,s._sqlite3_result_int=e.ha,s._sqlite3_result_int64=e.ia,s._sqlite3_result_null=e.ja,s._sqlite3_result_text=e.ka,s._sqlite3_aggregate_context=e.la,s._sqlite3_column_count=e.ma,s._sqlite3_data_count=e.na,s._sqlite3_column_blob=e.oa,s._sqlite3_column_bytes=e.pa,s._sqlite3_column_double=e.qa,s._sqlite3_bind_blob=e.ra,s._sqlite3_bind_double=e.sa,s._sqlite3_bind_int=e.ta,s._sqlite3_bind_text=e.ua,s._sqlite3_bind_parameter_index=e.va,s._sqlite3_sql=e.wa,s._sqlite3_normalized_sql=e.xa,s._sqlite3_changes=e.ya,s._sqlite3_close_v2=e.za,s._sqlite3_create_function_v2=e.Aa,s._sqlite3_update_hook=e.Ba,s._sqlite3_open=e.Ca,Mt=s._malloc=e.Da,Nt=s._free=e.Ea,s._RegisterExtensionFunctions=e.Fa,Pt=e.Ga,Ft=e.Ha,It=e.Ia,Q=e.Ja,Lt=e.Ka,Rt=e.M,$=e.O,re(),A--,s.monitorRunDependencies?.(A),A==0&&j&&(e=j,j=null,e()),Vt}A++,s.monitorRunDependencies?.(A);var t={a:zt};return s.instantiateWasm?new Promise(n=>{s.instantiateWasm(t,(t,r)=>{n(e(t,r))})}):(ie??=s.locateFile?s.locateFile(`sql-wasm.wasm`,m):m+`sql-wasm.wasm`,e((await se(t)).instance))})(),Bt(),a}),r)};typeof e==`object`&&typeof n==`object`?(n.exports=i,n.exports.default=i):typeof define==`function`&&define.amd?define([],function(){return i}):typeof e==`object`&&(e.Module=i)}))(),1);function y(e,t,n){switch(n.mode){case`list`:return x(e,t,n);case`csv`:return ee(e,t,n);case`json`:return T(e,t);case`line`:return E(e,t,n);case`column`:return D(e,t,n);case`table`:return te(e,t,n);case`markdown`:return ne(e,t,n);case`tabs`:return O(e,t,n);case`box`:return re(e,t,n);case`quote`:return k(e,t,n);case`html`:return ie(e,t,n);case`ascii`:return oe(e,t,n)}}function b(e,t){return e==null?t:e instanceof Uint8Array||Buffer.isBuffer(e)?Buffer.from(e).toString(`utf8`):typeof e==`number`&&!Number.isInteger(e)?e.toPrecision(17).replace(/\.?0+$/,``):String(e)}function x(e,t,n){let r=[];n.header&&e.length>0&&r.push(e.join(n.separator));for(let e of t)r.push(e.map(e=>b(e,n.nullValue)).join(n.separator));return r.length>0?`${r.join(n.newline)}${n.newline}`:``}function ee(e,t,n){let r=[];n.header&&e.length>0&&r.push(e.map(S).join(`,`));for(let e of t)r.push(e.map(e=>S(b(e,n.nullValue))).join(`,`));return r.length>0?`${r.join(`
|
|
3
3
|
`)}
|
|
4
4
|
`:``}function S(e){return e.includes(`,`)||e.includes(`"`)||e.includes(`'`)||e.includes(`
|
|
@@ -23,7 +23,7 @@ import{a as e,i as t,t as n}from"./rolldown-runtime-DPpTSio4.mjs";import"./chunk
|
|
|
23
23
|
`,exitCode:1};t.nullValue=e[++o]}else if(s===`-cmd`){if(o+1>=e.length)return{stdout:``,stderr:`sqlite3: Error: missing argument to -cmd
|
|
24
24
|
`,exitCode:1};t.cmd=e[++o]}else{if(s.startsWith(`-`))return{stdout:``,stderr:`sqlite3: Error: unknown option: ${s.startsWith(`--`)?s.slice(1):s}
|
|
25
25
|
Use -help for a list of options.
|
|
26
|
-
`,exitCode:1};n===null?n=s:r===null&&(r=s)}}return{options:t,database:n,sql:r,showVersion:i}}async function ue(){let e=new(await(r.runTrustedAsync(()=>(0,v.default)()))).Database;try{let t=e.exec(`SELECT sqlite_version()`);return t.length>0&&t[0].values.length>0?String(t[0].values[0][0]):`unknown`}finally{e.close()}}function de(e=f(
|
|
26
|
+
`,exitCode:1};n===null?n=s:r===null&&(r=s)}}return{options:t,database:n,sql:r,showVersion:i}}async function ue(){let e=new(await(r.runTrustedAsync(()=>(0,v.default)()))).Database;try{let t=e.exec(`SELECT sqlite_version()`);return t.length>0&&t[0].values.length>0?String(t[0].values[0][0]):`unknown`}finally{e.close()}}function de(e=f(h(import.meta.url))){let t=[p(e,`sqlite3-worker.js`),p(e,`../../commands/sqlite3/worker.js`)];(e.endsWith(`${m}commands${m}sqlite3`)||e.endsWith(`/commands/sqlite3`))&&t.push(p(e,`worker.js`)),t.push(p(e,`../../../dist/commands/sqlite3/worker.js`));for(let e of t)if(d(e))return e;throw Error(`sqlite3 worker not found. Run 'pnpm build' to compile the worker.`)}var fe={createWorker(e,t){return new _(e,{workerData:t})},findWorkerPath:de};function A(){return g(16).toString(`hex`)}function j(e,t){if(!e||typeof e!=`object`)return{success:!1,error:`Malformed worker response`};let n=e;return typeof n.protocolToken!=`string`||n.protocolToken!==t?{success:!1,error:`Malformed worker response: invalid protocol token`}:n.type===`security-violation`?{success:!1,error:`Security violation: ${typeof n.violation?.type==`string`?n.violation.type:`unknown`}`}:typeof n.success==`boolean`?n.success?Array.isArray(n.results)?typeof n.hasModifications==`boolean`?n.dbBuffer!==null&&n.dbBuffer!==void 0&&!(n.dbBuffer instanceof Uint8Array)?{success:!1,error:`Malformed worker response: invalid dbBuffer`}:{success:!0,results:n.results,hasModifications:n.hasModifications,dbBuffer:n.dbBuffer===void 0?null:n.dbBuffer,defenseStats:n.defenseStats}:{success:!1,error:`Malformed worker response: missing hasModifications flag`}:{success:!1,error:`Malformed worker response: missing results array`}:{success:!1,error:typeof n.error==`string`&&n.error.length>0?n.error:`Worker execution failed`}:{success:!1,error:`Malformed worker response: missing success flag`}}async function M(e,t,n){try{let s=de();return await new Promise((l,u)=>{let d=r.runTrusted(()=>fe.createWorker(s,e)),f=o(n,`sqlite3`,`worker timeout callback`,()=>{d.terminate(),l({success:!1,error:`Query timeout: execution exceeded ${t}ms limit`})}),p=a(()=>{try{f()}catch(e){let t=e instanceof Error?e.message:String(e);l({success:!1,error:c(t)})}},t),m=o(n,`sqlite3`,`worker message callback`,t=>{i(p),l(j(t,e.protocolToken))}),h=o(n,`sqlite3`,`worker error callback`,e=>{i(p),u(e)}),g=o(n,`sqlite3`,`worker exit callback`,e=>{i(p),e!==0&&l({success:!1,error:`Worker exited with code ${e}`})});d.on(`message`,e=>{try{m(e)}catch(e){i(p);let t=e instanceof Error?e.message:String(e);l({success:!1,error:c(t)})}}),d.on(`error`,e=>{try{h(e)}catch(e){i(p);let t=e instanceof Error?e.message:String(e);u(Error(c(t)))}}),d.on(`exit`,e=>{try{g(e)}catch(e){i(p);let t=e instanceof Error?e.message:String(e);l({success:!1,error:c(t)})}})})}catch(e){let t=c(e.message);throw Error(`sqlite3 worker failed to load: ${t}`)}}var N={name:`sqlite3`,async execute(e,t){if(u(e)||e.includes(`-help`))return l(ce);let n=le(e);if(`exitCode`in n)return n;let{options:r,database:i,sql:a,showVersion:o}=n;if(o)return{stdout:`${await ue()}
|
|
27
27
|
`,stderr:``,exitCode:0};if(!i)return{stdout:``,stderr:`sqlite3: missing database argument
|
|
28
28
|
`,exitCode:1};let d=a||t.stdin.trim();if(r.cmd&&(d=r.cmd+(d?`; ${d}`:``)),!d)return{stdout:``,stderr:`sqlite3: no SQL provided
|
|
29
29
|
`,exitCode:1};let f=i===`:memory:`,p=``,m=null;try{f||(p=t.fs.resolvePath(t.cwd,i),await t.fs.exists(p)&&(m=await t.fs.readFileBuffer(p)))}catch(e){return{stdout:``,stderr:`sqlite3: unable to open database "${i}": ${s(e.message)}
|
|
@@ -34,4 +34,4 @@ Use -help for a list of options.
|
|
|
34
34
|
`,exitCode:1};b+=`Error: ${e.error}
|
|
35
35
|
`,x=!0}else e.columns&&e.rows&&(e.rows.length>0||r.header)&&(b+=y(e.columns,e.rows,v));if(_.hasModifications&&!r.readonly&&!f&&p&&_.dbBuffer)try{await t.fs.writeFile(p,_.dbBuffer)}catch(e){let t=s(e.message);return{stdout:b,stderr:`sqlite3: failed to write database: ${t}
|
|
36
36
|
`,exitCode:1}}return{stdout:b,stderr:``,exitCode:x&&r.bail?1:0}}};export{N as sqlite3Command};
|
|
37
|
-
//# sourceMappingURL=sqlite3-TE5AIOTF-
|
|
37
|
+
//# sourceMappingURL=sqlite3-TE5AIOTF-DVwda1Ow.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./md-manager-BGnqyqi1-DCa5-0ww.mjs";import"./init-DvYKQnB9.mjs";import"./registry-probes-p0ZApPjq.mjs";import"./src-Cy-zDyG6.mjs";import"./start-DTpjNc5f.mjs";import{n as e}from"./loader-DrjH_b9L.mjs";import"./preview-BYnQz9HD.mjs";import"./repair-mcp-configs-Dae5PZa1.mjs";export{e as loadConfig};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import{o as e}from"./rolldown-runtime-tZXQYakl.mjs";import{Ac as t,Cf as n,Df as r,Ds as i,Es as a,Fn as o,Ks as s,Ls as c,Oc as l,Pn as u,Ts as ee,Un as te,al as ne,ed as re,hf as d,jo as f,nl as p,rl as m}from"./md-manager-BGnqyqi1-DCa5-0ww.mjs";import{Ei as h,Go as g,Hn as _,Ho as v,Ko as y,Qn as b,Ti as x,Tt as S,Wo as C,Xr as w,ci as T,fa as E,go as D,hr as ie,li as O,m as k,ni as A,nr as j,ui as ae}from"./dist-GcFBLEr5.mjs";import{t as M}from"./yazl-BBz29IQN.mjs";import{Ct as N,ot as P,st as oe}from"./init-DvYKQnB9.mjs";import{l as se,x as ce}from"./registry-probes-p0ZApPjq.mjs";import{c as le}from"./colors-r_owlCuY.mjs";import{t as F}from"./is-object-BGze3w87.mjs";import{n as ue}from"./constants-H8MPNRhO.mjs";import"./loader-DrjH_b9L.mjs";import"./preview-BYnQz9HD.mjs";import{execSync as de,spawnSync as fe}from"node:child_process";import{basename as I,dirname as L,isAbsolute as pe,join as R,relative as me,resolve as z,sep as B}from"node:path";import{closeSync as he,cpSync as ge,createWriteStream as _e,existsSync as V,lstatSync as ve,mkdirSync as H,mkdtempSync as ye,openSync as be,readFileSync as U,readSync as xe,readdirSync as W,readlinkSync as Se,rmSync as G,rmdirSync as Ce,statSync as we,writeFileSync as K}from"node:fs";import{arch as Te,freemem as Ee,homedir as q,hostname as De,platform as Oe,release as ke,tmpdir as Ae,totalmem as je,type as Me,uptime as Ne}from"node:os";import"node:fs/promises";import{createHash as Pe}from"node:crypto";const Fe=new Set([`start`,`stop`,`status`,`clean`,`ui`,`mcp`,`preview`,`lint`,`audit`,`deinit`,`auth`]);function Ie(e,t,n=j){if(e!==void 0&&!Fe.has(e))return null;let r=n(t);return r===null||r.distance===0?null:r.rootPath}let Le=null;function Re(e){Le=e}function ze(){return Le??process.cwd()}const Be=`Open Knowledge`;function Ve(e={}){let t=e.platformName??process.platform,r=e.productName??n().productName;return P(t).join(oe({...e,platformName:t}),r)}function He(e={}){let t=e.platformName??process.platform,r=e.home??q(),i=e.env??process.env,a=P(t),o;return o=t===`win32`?i.LOCALAPPDATA||a.join(r,`AppData`,`Local`):t===`darwin`?a.join(r,`Library`,`Caches`):i.XDG_CACHE_HOME||a.join(r,`.cache`),a.join(o,`${n().packageName.replaceAll(`/`,``)}-updater`)}function Ue(e){if(typeof e!=`object`||!e)return null;let t=e.recentProjects;if(!Array.isArray(t))return null;let n=[];for(let e of t){if(typeof e!=`object`||!e)continue;let t=e;typeof t.path==`string`&&typeof t.name==`string`&&n.push({path:t.path,name:t.name})}return n}function We(e){let t=R(e,`state.json`);if(!V(t))return[];let n;try{n=JSON.parse(U(t,`utf-8`))}catch{return[]}return Ue(n)??[]}function Ge(e){let t=R(e,`state.json`);if(!V(t))return!1;try{return Ue(JSON.parse(U(t,`utf-8`)))!==null}catch{return!1}}const Ke=8192;function qe(e,t){if(e.outcome===`not-present`)return`not-present (no DiagnosticReports directory)`;if(e.outcome===`unreadable-directory`)return`unreadable (${e.directoryErrorCode??`unknown`} reading DiagnosticReports)`;let n=[`${e.windowDays}d`,`${e.foreignIgnored} other-process report(s) ignored`,`${e.unparseable} unparseable`];e.droppedOverCap>0&&n.push(`${e.droppedOverCap} older dropped over cap`);let r=e.files.length-t;return r>0&&n.push(`${r} vanished before staging`),e.outcome===`none-in-window`?`none found in window (${n.join(`; `)})`:`${t} collected (${n.join(`; `)})`}function Je(e){return e.replace(/\\+\/?/g,e=>{if(!e.endsWith(`/`))return e;let t=e.length-1;return`${`\\`.repeat(t-t%2)}/`})}const Ye=RegExp(`("(?:${[`crashReporterKey`,`bootSessionUUID`,`deviceIdentifierForVendor`].join(`|`)})"\\s*:\\s*)"[^"]*"`,`g`);function Xe(e){return e.replace(Ye,`$1"[REDACTED-DEVICE-ID]"`)}function Ze(e){return Xe(Je(e))}const Qe=/^(\d{4}-\d{2}-\d{2}) (\d{2}:\d{2}:\d{2})(\.\d+)? ([+-]\d{2})(\d{2})$/;function $e(e){if(typeof e!=`string`)return null;let t=Qe.exec(e.trim());if(t===null)return null;let[,n,r,i=``,a,o]=t,s=Date.parse(`${n}T${r}${i}${a}:${o}`);return Number.isNaN(s)?null:s}function et(e){let t=be(e,`r`);try{let e=Buffer.alloc(Ke),n=0,r=!1;for(;n<Ke;){let i=xe(t,e,n,Ke-n,n);if(i===0){r=!0;break}let a=n;n+=i;let o=e.subarray(0,n).indexOf(10,a);if(o!==-1)return e.subarray(0,o).toString(`utf-8`)}return r?e.subarray(0,n).toString(`utf-8`):null}finally{he(t)}}function tt(e){try{let t=et(e);if(t===null)return{kind:`unreadable`};let n=JSON.parse(t);if(typeof n!=`object`||!n)return{kind:`unreadable`};let{name:r,app_name:i,timestamp:a}=n,o=typeof r==`string`?r:typeof i==`string`?i:null;return o===null?{kind:`unreadable`}:{kind:`named`,name:o,timestampMs:$e(a)}}catch{return{kind:`unreadable`}}}function nt(e){return e===`OpenKnowledge`||e.startsWith(`OpenKnowledge `)}function rt(e,t){let n={files:[],foreignIgnored:0,unparseable:0,droppedOverCap:0,windowDays:7},r;try{r=W(e,{withFileTypes:!0})}catch(e){let t=e.code;return t===`ENOENT`?{...n,outcome:`not-present`}:{...n,outcome:`unreadable-directory`,directoryErrorCode:t??`unknown`}}let i=t.getTime()-6048e5,a=[],o=0,s=0;for(let t of r){if(!t.isFile()||!t.name.endsWith(`.ips`))continue;let n=R(e,t.name),r;try{r=we(n).mtimeMs}catch{continue}if(r<i)continue;let c=tt(n),l=c.kind===`named`&&c.timestampMs!==null?c.timestampMs:r;if(c.kind===`unreadable`){s+=1;continue}if(!nt(c.name)){o+=1;continue}a.push({path:n,atMs:l})}a.sort((e,t)=>t.atMs-e.atMs);let c=a.slice(0,25),l={foreignIgnored:o,unparseable:s,droppedOverCap:a.length-c.length,windowDays:7};return c.length===0?{...l,files:[],outcome:`none-in-window`}:{...l,files:c.map(e=>e.path),outcome:`collected`}}function J(){return R(v(),`bug-reports`)}function it(e=new Date){let t=e.toISOString().replace(/[:.]/g,`-`),n=J(),r=`${t}-bugreport`,i=R(n,`${r}.zip`);for(let e=2;V(i);e+=1)i=R(n,`${r}-${e}.zip`);return i}function at(e,t){let{scrubbed:n}=e;return n!==void 0&&n.patterns.length>0?{file:t,lineCount:n.lineCount,patterns:[...n.patterns]}:null}function ot(e,t){let n=R(e,`.ok`,`config.yml`);if(V(n))try{let e=U(n,`utf8`).match(/^\s*name:\s*['"]?(.+?)['"]?\s*$/m);if(e?.[1])return e[1]}catch(e){t?.warn({configPath:n,err:e},`bug-report: failed to read .ok/config.yml for project slug; using path-hash fallback`)}return V(R(e,`.ok`))?Pe(`sha256`).update(z(e)).digest(`hex`).slice(0,12):null}function st(){let e={timestamp:new Date().toISOString(),platform:Oe(),osType:Me(),osRelease:ke(),hostname:`[redacted]`,uptime:Ne(),freeMem:Ee(),totalMem:je(),nodeVersion:process.version,bunVersion:process.versions.bun??null,v8Version:process.versions.v8??null,pid:process.pid};try{e.macosVersion=de(`sw_vers -productVersion 2>/dev/null`,D({encoding:`utf8`})).trim()}catch{}try{let t=R(__dirname,`..`,`..`,`package.json`);V(t)&&(e.okVersion=JSON.parse(U(t,`utf8`)).version)}catch{}return e}const ct=[{prefix:`cli`,projectTagged:!0},{prefix:`desktop`,projectTagged:!1},{prefix:`mcp`,projectTagged:!1}];function lt(e){let t=I(e);return ct.some(e=>e.projectTagged&&t.startsWith(`${e.prefix}.`))}function ut(e,t){return mt(e,t).files}const dt=[`ShipIt_stderr.log`,`ShipIt_stdout.log`];function ft(e,t=se){let n=R(e,`${t}.ShipIt`);if(!V(n))return[];let r;try{r=W(n)}catch{return[]}return dt.flatMap(e=>r.map(t=>{if(t===e)return{entry:t,suffix:-1};if(!t.startsWith(`${e}.`))return null;let n=t.slice(e.length+1);return/^\d+$/.test(n)?{entry:t,suffix:Number(n)}:null}).filter(e=>e!==null).sort((e,t)=>e.suffix-t.suffix).slice(0,4).map(e=>R(n,e.entry)))}function pt(e){if(!V(e))return[];try{let t=new Map;for(let n of W(e).filter(e=>e.endsWith(`.yaml`)).sort()){let e=n.endsWith(`.sent.yaml`)?n.slice(0,-u.length):n.slice(0,-5),r=t.get(e);r===void 0?t.set(e,[n]):r.push(n)}return[...t.values()].slice(-25).flat().map(t=>R(e,t))}catch{return[]}}function mt(e,t){if(!V(t))return{files:[],excludedByProjectSlug:0};let n=W(t).filter(e=>e.endsWith(`.log`)||/\.log\.\d+$/.test(e)).map(e=>R(t,e));if(!e)return{files:n,excludedByProjectSlug:0};let r=n.filter(lt),i=[],a=r.filter(t=>{try{return U(t,`utf8`).includes(`"project":"${e}"`)}catch{return i.push(t),!1}});if(a.length===0)return{files:n,excludedByProjectSlug:0};let o=new Set([...a,...i]);return{files:n.filter(e=>!lt(e)||o.has(e)),excludedByProjectSlug:r.length-o.size}}function ht(e){let t=R(e,`.ok`,`local`);return V(t)?{files:[`server.lock`,`last-spawn-error.log`,p,l].map(e=>R(t,e)).filter(e=>V(e))}:{files:[]}}function gt(e){let t=R(e,`.ok`,`local`,`logs`);return V(t)?{files:[`server-current.jsonl`,`server-prev.jsonl`].map(e=>R(t,e)).filter(e=>V(e))}:{files:[]}}function _t(e){let t=0,n=new Map,r=e.replace(/("(?:docName|doc\.name|documentName)"\s*:\s*")((?:[^"\\]|\\.)*)"/g,(e,r,i)=>{t+=1;let a=n.get(i);return a===void 0&&(a=`doc#${Pe(`sha256`).update(i).digest(`hex`).slice(0,12)}`,n.set(i,a)),`${r}${a}"`});for(let[e,i]of[...n].sort(([e],[t])=>t.length-e.length)){if(e.length===0||!r.includes(e))continue;let n=r.split(e);t+=n.length-1,r=n.join(i)}return{text:r,count:t}}function vt(e){let t=e.revealDocNames?e.content:_t(e.content).text;if(e.redact){let{redacted:n,patterns:r,lineCount:i}=c(t);e.zipfile.addBuffer(Buffer.from(n,`utf8`),e.name),e.bundleFiles.push(e.name),r.length>0&&e.redactions.push({file:e.name,lineCount:i,patterns:r})}else e.zipfile.addBuffer(Buffer.from(t,`utf8`),e.name),e.bundleFiles.push(e.name)}function Y(e){for(let t of e.files)try{let n=U(t,`utf8`);vt({zipfile:e.zipfile,name:`${e.prefix}/${I(t)}`,content:t.endsWith(`.ips`)?Ze(n):n,redact:e.redact,revealDocNames:e.revealDocNames,bundleFiles:e.bundleFiles,redactions:e.redactions})}catch(n){e.logger?.warn({file:t,prefix:e.prefix,err:n},`bug-report: skipped unreadable file`)}}async function yt(t){let{redact:n,outputPath:r,logger:i}=t,a=t.revealDocNames??!1,s=t.userLogsDir??R(v(),`logs`),c=t.projectDir?ot(t.projectDir,i):null;H(L(r),{recursive:!0}),i?.info({projectSlug:c},`gathering diagnostic data`);let l=st();l.desktop=t.desktop??null,l.language=t.language??null;let{files:u,excludedByProjectSlug:ee}=mt(c,s),{files:ne}=t.projectDir?ht(t.projectDir):{files:[]},{files:re}=t.projectDir?gt(t.projectDir):{files:[]},d=t.shipItLogFiles??[],f=t.diagnosticReports?.files??[];i?.info({logFileCount:u.length,logFilesExcludedByProjectSlug:ee,lockFileCount:ne.length,localSinkFileCount:re.length,shipItLogFileCount:d.length,diagnosticReportCount:f.length},`files collected`);let p=[],m=[],{ZipFile:h}=await import(`./yazl-BsCX6KWo.mjs`).then(t=>e(t.default,1)),g=new h;Y({zipfile:g,files:[...u,...d],prefix:`logs`,redact:n,revealDocNames:a,bundleFiles:m,redactions:p,logger:i}),Y({zipfile:g,files:ne,prefix:`lockdir`,redact:n,revealDocNames:a,bundleFiles:m,redactions:p,logger:i}),Y({zipfile:g,files:re,prefix:`local-logs`,redact:n,revealDocNames:a,bundleFiles:m,redactions:p,logger:i}),Y({zipfile:g,files:t.bugReportLedgerFiles??[],prefix:o,redact:n,revealDocNames:a,bundleFiles:m,redactions:p,logger:i}),Y({zipfile:g,files:f,prefix:`diagnostic-reports`,redact:n,revealDocNames:a,bundleFiles:m,redactions:p,logger:i});for(let e of t.extraFiles??[])try{let t=U(e.sourcePath),n=`extra/${e.zipName??I(e.sourcePath)}`;g.addBuffer(t,n),m.push(n);let r=at(e,n);r!==null&&p.push(r)}catch(t){i?.warn({sourcePath:e.sourcePath,err:t},`extra file unreadable; omitted from bundle`)}t.note&&vt({zipfile:g,name:`note.txt`,content:t.note,redact:n,revealDocNames:a,bundleFiles:m,redactions:p});let _=new Set(f.map(e=>`diagnostic-reports/${I(e)}`)),y=m.filter(e=>_.has(e)),b=t.diagnosticReports===void 0?`not-collected (no collection attempted)`:qe(t.diagnosticReports,y.length);g.addBuffer(Buffer.from(`${b}\n`,`utf8`),`state/diagnostic-reports-status.txt`),m.push(`state/diagnostic-reports-status.txt`);let x=JSON.stringify(l,null,2);g.addBuffer(Buffer.from(x,`utf8`),`sysinfo.json`),m.push(`sysinfo.json`);let S={generatedAt:new Date().toISOString(),disciplineVersion:`1.0.0`,projectSlug:c,files:m,redactions:p,sysinfo:l};g.addBuffer(Buffer.from(JSON.stringify(S,null,2),`utf8`),`MANIFEST.json`);let C=p.reduce((e,t)=>e+t.lineCount,0),w=new Set(d.map(e=>`logs/${I(e)}`)),T=m.filter(e=>w.has(e)),E=new Set((t.bugReportLedgerFiles??[]).map(e=>`${o}/${I(e)}`)),D=m.filter(e=>E.has(e)),ie=c?m.filter(e=>e.startsWith(`logs/`)&&!lt(e)&&!w.has(e)):[],O=y.length>0?[`Crash reports under diagnostic-reports/ are rewritten on the way in,`,`independently of this setting: escaped path separators are normalised`,`so the scrub above can read them, and the identifiers that link this`,`machine's bundles to each other are replaced. Nothing else is changed;`,`they are not byte-identical to the files macOS wrote.`]:[],k=O.length>0?[`Redaction was disabled for this bundle; file contents are unmodified,`,`with one exception.`,...O]:[`Redaction was disabled for this bundle; file contents are unmodified.`],A=[`# Bug Report Bundle`,``,`Generated: ${S.generatedAt}`,`Project: ${c??`(unscoped)`}`,`Discipline version: ${S.disciplineVersion}`,``,`## Contents`,``,...m.map(e=>`- ${e}`),``,`## Privacy`,``,...ie.length>0?[`Scope: some collected logs are user-wide rather than project-scoped.`,`These are written once per machine per day and can contain activity`,`from other projects open on this machine, including captured console`,`output:`,...ie.map(e=>`- ${e}`),``]:[],...T.length>0?[`Installer logs: written by the macOS update helper rather than by`,`OpenKnowledge itself, and machine-wide rather than scoped to any one`,`project. They record the install and update history of this app on`,`this machine. Only this app is collected, never other applications`,`that use the same update mechanism:`,...T.map(e=>`- ${e}`),``]:[],...y.length>0?[`Crash reports: written by macOS itself rather than by OpenKnowledge,`,`and machine-wide rather than scoped to any one project. They record`,`why the operating system ended a process of this app — the signal or`,`exception, the code-signing verdict, and whatever text the process`,`left behind as it died. They also carry machine details the OS puts`,`in every report: the account uid, the Mac model, and the name of the`,`process that launched this app, which on a managed machine can be`,`internal tooling. The identifiers that would link this machine's`,`bundles to each other are replaced before bundling. Only this`,`app's own reports are collected, never another application's, though`,`a report of ours still names the processes it ran alongside:`,...y.map(e=>`- ${e}`),``]:[],...D.length>0?[`Send history: a small record for each bug report previously generated`,`on this machine — when it was generated, whether sending it`,`succeeded, and why it failed if it did. This is what makes a failed`,`send diagnosable at all. It is machine-wide rather than scoped to`,`this project, so it names the other projects reports were filed`,`from. It carries no document content:`,...D.map(e=>`- ${e}`),``]:[],...n?[`This bundle was auto-redacted before packaging.`,`Patterns checked: ${te.join(`, `)}`,C>0?`${C} line(s) were scrubbed across ${p.length} file(s).`:`No redactions were needed.`,`See MANIFEST.json for the full redaction audit report.`,...O,``,`This bundle is safe to attach to a GitHub issue.`]:k].join(`
|
|
2
|
+
`);g.addBuffer(Buffer.from(A,`utf8`),`README.md`),g.end();let j=_e(r);return g.outputStream.pipe(j),await new Promise((e,t)=>{j.on(`close`,e),j.on(`error`,t)}),i?.info({bundlePath:r,fileCount:m.length,redactionCount:C},`bundle written`),{zipPath:r,summary:{projectSlug:c,files:m,redactions:p,redactedLineCount:C,generatedAt:S.generatedAt}}}var bt=re(),xt=e(M(),1),X=e(le(),1);function St(e){let t=y(`user`,e,e);return C({absPath:t,sideline:!1,warn:()=>{}}).value.appearance?.language??`system`}function Ct({home:e=q(),env:n=process.env}={}){let r=St(e),{override:i,preferenceList:a}=g(n),{locale:o,source:c}=s({override:i,storedPreference:r,supportedLocales:ne,preferenceList:a,autoDetectableLocales:t});return{preference:r,locale:o,source:c,systemLanguages:a}}function wt(e,t){return t.length===0||!e.includes(t)?e:e.split(t).join(`<CONTENT_DIR>`)}function Tt(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Et(e,t){if(typeof e==`string`)return wt(e,t.contentDir);if(Array.isArray(e))return e.map(e=>Et(e,t));if(!Tt(e))return e;let n={};for(let[r,i]of Object.entries(e))n[r]=Et(i,t);return n}function Dt(e,t){let n=U(e,`utf-8`);if(n.length===0)return;let r=n.endsWith(`
|
|
3
|
+
`),i=n.split(`
|
|
4
|
+
`),a=[];for(let e=0;e<i.length;e++){let n=i[e]??``;if(e!==i.length-1||n!==``){if(n.length===0){a.push(``);continue}try{let e=Et(JSON.parse(n),t);a.push(JSON.stringify(e))}catch{a.push(n)}}}let o=r?`${a.join(`
|
|
5
|
+
`)}\n`:a.join(`
|
|
6
|
+
`);K(e,o)}function Ot(e,t){let n=U(e,`utf-8`);if(n.trim().length!==0)try{let r=Et(JSON.parse(n),t),i=n.endsWith(`
|
|
7
|
+
`)?`
|
|
8
|
+
`:``;K(e,`${JSON.stringify(r,null,2)}${i}`)}catch{let r=wt(n,t.contentDir);r!==n&&K(e,r)}}function kt(e,t){let n=U(e,`utf-8`),r=wt(n,t.contentDir);r!==n&&K(e,r)}function At(e){try{return W(e,{withFileTypes:!0}).filter(e=>e.isFile()).map(t=>R(e,t.name))}catch{return[]}}const jt=new Set([`agent-presence.json`,`agent-effects.json`,`runtime.json`]);function Mt(e){return/\.log\.\d+$/.test(e)}function Nt(e){return e.endsWith(`.jsonl`)||e.endsWith(`.log`)||Mt(e)}const Pt=[`telemetry`,`logs`,`process`,`diagnostic-reports`];function Ft(e){let t={contentDir:e.contentDir};for(let n of Pt)for(let r of At(R(e.stagingDir,n)))Nt(r)?Dt(r,t):r.endsWith(`.json`)?Ot(r,t):kt(r,t);for(let n of At(R(e.stagingDir,`state`))){let e=I(n);n.endsWith(`.jsonl`)?Dt(n,t):jt.has(e)?Ot(n,t):kt(n,t)}}const It=[`.ok`,`local`,`telemetry`],Lt=[`.ok`,`local`,`logs`],Rt=[`.ok`,`local`,`loss-capture`],zt=`spans-current.jsonl`,Bt=`spans-prev.jsonl`,Vt=`server-current.jsonl`,Ht=`server-prev.jsonl`,Ut=`loss-current.jsonl`,Wt=`loss-prev.jsonl`;function Gt(e){return R(e,...It,zt)}function Kt(e){return R(e,...It,Bt)}function qt(e){return R(e,...Lt,Vt)}function Jt(e){return R(e,...Lt,Ht)}function Yt(e){return R(e,...Rt,Ut)}function Xt(e){return R(e,...Rt,Wt)}const Zt=1e3;async function Qt(e){try{let t=await fetch(`http://127.0.0.1:${e}/api/metrics/agent-presence`,{signal:AbortSignal.timeout(Zt)});return t.ok?await t.text():null}catch{return null}}async function $t(e){try{let t=await fetch(`http://127.0.0.1:${e}/api/metrics/agent-effects`,{signal:AbortSignal.timeout(Zt)});return t.ok?await t.text():null}catch{return null}}async function en(e){try{let t=await fetch(`http://127.0.0.1:${e}/api/metrics/watcher-recent`,{signal:AbortSignal.timeout(Zt)});return t.ok?await t.text():null}catch{return null}}function tn(e){try{let t=JSON.parse(e);if(typeof t!=`object`||!t)return null;let n=t.decisions;return Array.isArray(n)?n.length===0?``:`${n.map(e=>JSON.stringify(e)).join(`
|
|
9
|
+
`)}\n`:null}catch{return null}}function nn(e){let t=R(e,`.git`,`ok`);if(!V(t))return null;let n=fe(`git`,[`-C`,t,`log`,`--oneline`,`-50`],D({encoding:`utf-8`,timeout:2e3}));return n.error||n.status!==0?null:n.stdout??``}function rn(e){let t=R(e,`.git`,`ok`);if(!V(t))return null;let n=fe(`git`,[`-C`,t,`for-each-ref`,`--sort=-creatordate`,`--count=50`,`--format=%(refname)%09%(creatordate:iso-strict)%09%(contents:subject)`,`refs/checkpoints/`],D({encoding:`utf-8`,timeout:2e3}));return n.error||n.status!==0?null:n.stdout??``}function an(){let e=process.env.OK_DESKTOP_VERSION,t=process.env.OK_DESKTOP_PACKAGED,n=process.env.OK_DESKTOP_CHANNEL;return e===void 0||t===void 0||n===void 0?null:{electronVersion:e,packaged:t===`1`||t.toLowerCase()===`true`,channel:n}}function on(){return{nodeVersion:process.version,platform:Oe(),arch:Te()}}function sn(){return process.env.OTEL_SDK_DISABLED===`false`}function cn(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function ln(e){if(!V(e))return{};let t;try{t=(0,bt.parse)(U(e,`utf-8`))}catch(t){return console.warn(`[ok diagnose bundle] failed to parse ${e} for manifest config; manifest will report schema defaults. Reason: ${t instanceof Error?t.message:String(t)}`),{}}if(!cn(t))return{};let n=t.telemetry;if(!cn(n))return{};let r=n.localSink;return cn(r)?r:{}}function un(e){return typeof e==`boolean`?e:void 0}function dn(e){return typeof e==`number`&&Number.isFinite(e)&&e>0?e:void 0}function fn(e){if(cn(e))return dn(e.maxBytes)}function pn(e){let t=ln(y(`project`,e)),n=ln(y(`project-local`,e));return{enabled:un(n.enabled)??un(t.enabled)??!0,spansMaxBytes:fn(n.spans)??fn(t.spans)??52428800,logsMaxBytes:fn(n.logs)??fn(t.logs)??26214400}}function mn(e){return Pe(`sha256`).update(e).digest(`hex`)}function hn(e){let t=U(e),n=0;for(let e=0;e<t.length;e++)t[e]===10&&n++;return n}const gn=[`"doc.name"`,`"docName"`];function _n(e){let t=U(e,`utf-8`),n=0;for(let e of gn){let r=t.indexOf(e);for(;r!==-1;)n++,r=t.indexOf(e,r+e.length)}return n}function Z(e,t){if(!V(e))return!1;try{return H(L(t),{recursive:!0}),e.endsWith(`.ips`)?K(t,Ze(U(e,`utf-8`))):ge(e,t),!0}catch{return!1}}function vn(e){let t=[],n=e=>{let r=W(e,{withFileTypes:!0});for(let i of r){let r=R(e,i.name);i.isDirectory()?n(r):i.isFile()&&t.push(r)}};return n(e),t.sort()}const yn=new Set([`.jsonl`]);function bn(e){let t=e.lastIndexOf(`.`);return t!==-1&&yn.has(e.slice(t))}const xn=new Set([`.jsonl`,`.json`,`.txt`,`.log`,`.lock`,`.yaml`,`.yml`,`.ips`]);function Sn(e){if(Mt(e))return!0;let t=e.lastIndexOf(`.`);return t!==-1&&xn.has(e.slice(t))}function Cn(e){let t=[];for(let n of vn(e)){let r=wn(e,n);if(!Sn(r))continue;let{redacted:i,patterns:a,lineCount:o}=c(U(n,`utf-8`));a.length!==0&&(K(n,i),t.push({file:r,lineCount:o,patterns:a}))}return{redactions:t,redactedLineCount:t.reduce((e,t)=>e+t.lineCount,0)}}function wn(e,t){return me(e,t).split(B).join(`/`)}async function Tn(e){let t=z(e.contentDir),n=z(e.projectDir??e.contentDir),r=e.deps??{},i=r.fetchAgentPresence??Qt,a=r.fetchAgentEffects??$t,s=r.fetchWatcherRecent??en,c=r.readShadowHead??nn,u=r.readCheckpointRefs??rn,ee=r.now??(()=>new Date),te=r.okVersion??(()=>ue),ne=r.readDesktopEnv??an,re=r.readLanguage??Ct,d=r.readRuntime??on,f=r.isOtlpPushEnabled??sn,h=ye(R(Ae(),`ok-bundle-`));try{H(R(h,`telemetry`),{recursive:!0}),H(R(h,`logs`),{recursive:!0}),H(R(h,`state`),{recursive:!0}),Z(Gt(n),R(h,`telemetry`,zt)),Z(Kt(n),R(h,`telemetry`,Bt)),Z(qt(n),R(h,`logs`,Vt)),Z(Jt(n),R(h,`logs`,Ht));for(let t of e.userLogFiles??[])Z(t,R(h,`logs`,I(t)));for(let t of e.userStateFiles??[])Z(t,R(h,o,I(t)));let g=0;for(let t of e.diagnosticReports?.files??[])Z(t,R(h,`diagnostic-reports`,I(t)))&&(g+=1);let _=R(n,`.ok`,`local`),v=R(_,`server.lock`),y=`not-running`,b=`no server.lock`,x=null;if(V(v)){Z(v,R(h,`state`,`server.lock`));try{let e=U(v,`utf-8`),t=JSON.parse(e);typeof t.port==`number`?x=t.port:b=`lock present but no port`}catch{b=`lock present but unparseable`}}if(x!==null){let e=await i(x);e===null?b=`agent-presence endpoint at :${x} unreachable`:(K(R(h,`state`,`agent-presence.json`),e),y=`running`,b=``);let t=await a(x);t!==null&&K(R(h,`state`,`agent-effects.json`),t);let n=await s(x);if(n!==null){let e=tn(n);e!==null&&K(R(h,`state`,`watcher-recent.jsonl`),e)}}let S=c(t);S!==null&&K(R(h,`state`,`shadow-head.txt`),S);let C=u(t);C!==null&&K(R(h,`state`,`checkpoint-refs.txt`),C),Z(Yt(n),R(h,`state`,Ut)),Z(Xt(n),R(h,`state`,Wt)),Z(R(_,`last-spawn-error.log`),R(h,`state`,`last-spawn-error.log`)),Z(R(_,m),R(h,`state`,m)),Z(R(_,p),R(h,`state`,p)),Z(R(_,l),R(h,`state`,l));let w=d(),T=ne(),E=re(),D={ok:{version:te(),nodeVersion:w.nodeVersion,platform:w.platform,arch:w.arch},host:{desktop:T,language:E}};K(R(h,`state`,`runtime.json`),`${JSON.stringify(D,null,2)}\n`);let ie=y===`running`?`running
|
|
10
|
+
`:`not-running (${b})\n`;K(R(h,`state`,`server-status.txt`),ie);let O=e.diagnosticReports===void 0?`not-collected (no collection attempted)`:qe(e.diagnosticReports,g);if(K(R(h,`state`,`diagnostic-reports-status.txt`),`${O}\n`),e.processDir&&V(e.processDir)){let t=R(h,`process`);H(t,{recursive:!0}),ge(e.processDir,t,{recursive:!0})}let k=e.redact===!0;k&&Ft({stagingDir:h,contentDir:t}),e.note&&K(R(h,`note.txt`),e.note);let A=null;e.scrubSecrets===!0&&(A=Cn(h));for(let t of e.extraFiles??[]){let e=t.zipName??I(t.sourcePath);if(!Z(t.sourcePath,R(h,`extra`,e))){r.logger?.warn({sourcePath:t.sourcePath},`extra file missing; omitted from bundle`);continue}let n=at(t,`extra/${e}`);n!==null&&(A??={redactions:[],redactedLineCount:0},A.redactions.push(n),A.redactedLineCount+=n.lineCount)}let j=pn(n),ae=vn(h),M=[],N=0,P=0;for(let e of ae){let t=wn(h,e),n=we(e).size,r=bn(t)?hn(e):0;M.push({path:t,bytes:n,lines:r}),N+=n,(t.startsWith(`telemetry/`)||t.startsWith(`logs/`))&&(P+=_n(e))}let oe={applied:k};A!==null&&(oe.secretScrub=A);let se={schemaVersion:2,createdAt:ee().toISOString(),ok:{version:te(),nodeVersion:w.nodeVersion,platform:w.platform,arch:w.arch},host:{desktop:T,language:E},contentDir:{pathSha256:mn(t),absolutePath:k?`<CONTENT_DIR>`:t},telemetry:{localSink:j,otlpPushEnabled:f()},redaction:oe,serverStatus:y,files:M};K(R(h,`manifest.json`),`${JSON.stringify(se,null,2)}\n`);let ce=ae.some(e=>{try{return U(e,`utf-8`).includes(t)}catch{return!1}}),le={stagedDiagnosticReports:g,totalBytes:N,fileCount:M.length,docNameCount:P,contentDirVisible:ce,redacted:k},F=!1;return{stagingDir:h,manifest:se,summary:le,cleanup:()=>{F||(F=!0,G(h,{recursive:!0,force:!0}))}}}catch(e){throw G(h,{recursive:!0,force:!0}),e}}async function En(e){let{collected:t,outputPath:n}=e,r=L(n);if(!V(r))throw Error(`ok diagnose bundle: parent directory does not exist: ${r}. Create it or pass --out with an existing parent.`);let i=new xt.ZipFile,a=vn(t.stagingDir);for(let e of a){let n=wn(t.stagingDir,e);i.addFile(e,n)}i.end();let o=_e(n);return i.outputStream.pipe(o),await new Promise((e,t)=>{o.on(`close`,e),o.on(`error`,t),i.outputStream.on(`error`,t)}),n}function Dn(e,t){let n=R(e,`.ok`,`config.yml`);if(V(n))try{let t=(0,bt.parse)(U(n,`utf-8`)),r=F(t)?t.content:void 0,i=F(r)?r.dir:void 0;if(typeof i==`string`&&i.length>0)return z(e,i)}catch(e){t?.warn({configPath:n,err:e},`bug-report: failed to read .ok/config.yml; falling back to project root as content dir`)}return z(e)}async function On(e,t,n,r,i){let a=ot(t,e.logger),o=await Tn({contentDir:Dn(t,e.logger),projectDir:t,redact:e.redact,scrubSecrets:e.redact,note:e.note,extraFiles:e.extraFiles,userLogFiles:[...ut(a,e.userLogsDir??R(v(),`logs`)),...ft(e.cachesDir??R(q(),`Library`,`Caches`))],userStateFiles:pt(e.bugReportsDir??J()),diagnosticReports:i,deps:{readDesktopEnv:n,readLanguage:r,logger:e.logger}});try{H(L(e.outputPath),{recursive:!0}),await En({collected:o,outputPath:e.outputPath});let t=o.manifest.redaction.secretScrub;return{zipPath:e.outputPath,summary:{level:`full`,systemWide:!1,projectSlug:a,files:o.manifest.files.map(e=>e.path),redactions:t?.redactions??[],redactedLineCount:t?.redactedLineCount??0,generatedAt:o.manifest.createdAt}}}finally{o.cleanup()}}async function kn(e){let{projectDir:t}=e,n=e.readDesktopEnv??an,r=e.readLanguage??Ct,i=()=>rt(e.diagnosticReportsDir??R(q(),`Library`,`Logs`,`DiagnosticReports`),new Date);if(e.level===`full`&&t!==void 0)return On(e,t,n,r,i());let{zipPath:a,summary:o}=await yt({projectDir:t,redact:e.redact,revealDocNames:e.level===`full`,outputPath:e.outputPath,userLogsDir:e.userLogsDir,shipItLogFiles:ft(e.cachesDir??R(q(),`Library`,`Caches`)),bugReportLedgerFiles:pt(e.bugReportsDir??J()),diagnosticReports:e.level===`full`?i():void 0,logger:e.logger,note:e.note,extraFiles:e.extraFiles,desktop:n(),language:r()});return{zipPath:a,summary:{level:e.level,systemWide:t===void 0,projectSlug:o.projectSlug,files:o.files,redactions:o.redactions,redactedLineCount:o.redactedLineCount,generatedAt:o.generatedAt}}}function Q(e,t,n={}){let r=ae(e,t),i;try{i=U(r,`utf-8`)}catch(e){return e&&typeof e==`object`&&`code`in e&&e.code===`ENOENT`?{status:`missing`,lockPath:r}:{status:`read-error`,lockPath:r,error:e instanceof Error?e.message:String(e)}}let a;try{a=JSON.parse(i)}catch{return{status:`corrupt`,lockPath:r}}let o=a&&typeof a==`object`?a:{},s=`machineId`in o&&typeof o.machineId==`string`?o.machineId!==(n.machineId??ie()):`hostname`in o&&typeof o.hostname==`string`&&o.hostname!==(n.host??De());if(!a||typeof a!=`object`||!A(a.pid))return{status:`corrupt`,lockPath:r,...s?{foreignHost:!0}:{}};let c=a.pid,l=`machineId`in o&&typeof o.machineId==`string`||`hostname`in o&&typeof o.hostname==`string`;return s?{status:`foreign-host`,lockPath:r,lock:a}:(n.isAlive??w)(c)?l?{status:`alive`,lockPath:r,lock:a}:{status:`unverified-owner`,lockPath:r,pid:c}:{status:`dead-pid`,lockPath:r,lock:a}}function An(e){return e.status===`unverified-owner`?`Cannot verify shutdown: the server lock at ${e.lockPath} does not record its owning machine, and its recorded process ${e.pid} is still running on this machine. Check whether process ${e.pid} is an OpenKnowledge server. If it is, stop it and retry. Do not remove the lock file while that process is running.`:`Cannot verify shutdown: the server lock at ${e.lockPath} belongs to another machine. Stop OpenKnowledge on the owning machine. Confirm that no OpenKnowledge server is using this directory on the owning machine or any other machine sharing it. Only then remove the stale lock file at ${e.lockPath} and retry cleanup.`}function jn(e){return e.replace(/:\d+$/,``)}function Mn(e){let t=e.trim();if(!t)return null;{let e=/^https?:\/\/(?:[^/?#]*@)?([^@/?#]+)\/([\w.\-~%]+)\/([\w.\-~%]+?)(?:\.git)?\/?$/.exec(t);if(e)return{protocol:`https`,hostname:jn(e[1]),owner:e[2],name:e[3]}}{let e=/^ssh:\/\/(?:[^/?#]*@)?([^@/?#]+)\/([\w.\-~%]+)\/([\w.\-~%]+?)(?:\.git)?\/?$/.exec(t);if(e)return{protocol:`ssh`,hostname:jn(e[1]),owner:e[2],name:e[3]}}{let e=/^git:\/\/([^/?#]+)\/([\w.\-~%]+)\/([\w.\-~%]+?)(?:\.git)?\/?$/.exec(t);if(e)return{protocol:`git`,hostname:jn(e[1]),owner:e[2],name:e[3]}}{let e=/^(?:[\w.\-~%]+@)?([\w.-]+):([\w.\-~%]+)\/([\w.\-~%]+?)(?:\.git)?$/.exec(t);if(e?.[1].includes(`.`)||e&&t.startsWith(`git@`))return{protocol:`ssh`,hostname:e[1],owner:e[2],name:e[3]}}{let e=/^git:([\w.-]+)\/([\w.\-~%]+)\/([\w.\-~%]+?)(?:\.git)?\/?$/.exec(t);if(e)return{protocol:`git`,hostname:e[1],owner:e[2],name:e[3]}}if(!t.includes(`://`)&&!t.includes(`@`)&&!t.startsWith(`/`)){let e=/^([\w.-]+)\/([\w.\-~%]+?)(?:\.git)?$/.exec(t);if(e)return{protocol:`https`,hostname:`github.com`,owner:e[1],name:e[2]}}return null}const Nn=/^# >>> open-knowledge cli >>>\n[\s\S]*?^# <<< open-knowledge cli <<<\n?/m;function Pn(e){return i(r(),e)}function Fn(){return a(r())}function In(){let e=r();if(e===`stable`)return Nn;let t=ee(e);return RegExp(`^# >>> ${t} >>>\\n[\\s\\S]*?^# <<< ${t} <<<\\n?`,`m`)}const Ln={existsSync:e=>V(e),readFileSync:(e,t)=>U(e,t),lstatSync:e=>ve(e),readlinkSync:e=>Se(e)};function Rn(e,t=Ln){let n=Pn(e);if(!t.existsSync(n))return null;try{let e=JSON.parse(t.readFileSync(n,`utf8`));return e?.version===1?e:null}catch{return null}}function zn(e){let t=e.replace(In(),``);return{text:t,changed:t!==e,emptyAfter:t.trim()===``}}function Bn(e,t,n=Ln){try{return n.lstatSync(e).isSymbolicLink()?n.readlinkSync(e)===t:!1}catch{return!1}}const Vn=[{hostDir:`.adal`,pruneRoot:`.adal`},{hostDir:`.aider-desk`,pruneRoot:`.aider-desk`},{hostDir:`.astrbot/data`,pruneRoot:`.astrbot`},{hostDir:`.augment`,pruneRoot:`.augment`},{hostDir:`.autohand`,pruneRoot:`.autohand`},{hostDir:`.bob`,pruneRoot:`.bob`},{hostDir:`.codeartsdoer`,pruneRoot:`.codeartsdoer`},{hostDir:`.codebuddy`,pruneRoot:`.codebuddy`},{hostDir:`.codeium/windsurf`,pruneRoot:`.codeium`},{hostDir:`.codemaker`,pruneRoot:`.codemaker`},{hostDir:`.codestudio`,pruneRoot:`.codestudio`},{hostDir:`.commandcode`,pruneRoot:`.commandcode`},{hostDir:`.config/crush`,pruneRoot:`.config/crush`},{hostDir:`.config/devin`,pruneRoot:`.config/devin`},{hostDir:`.config/goose`,pruneRoot:`.config/goose`},{hostDir:`.config/kimchi/harness`,pruneRoot:`.config/kimchi`},{hostDir:`.continue`,pruneRoot:`.continue`},{hostDir:`.factory`,pruneRoot:`.factory`},{hostDir:`.forge`,pruneRoot:`.forge`},{hostDir:`.grok`,pruneRoot:`.grok`},{hostDir:`.iflow`,pruneRoot:`.iflow`},{hostDir:`.inferencesh`,pruneRoot:`.inferencesh`},{hostDir:`.jazz`,pruneRoot:`.jazz`},{hostDir:`.junie`,pruneRoot:`.junie`},{hostDir:`.kilocode`,pruneRoot:`.kilocode`},{hostDir:`.kiro`,pruneRoot:`.kiro`},{hostDir:`.kode`,pruneRoot:`.kode`},{hostDir:`.lingma`,pruneRoot:`.lingma`},{hostDir:`.mcpjam`,pruneRoot:`.mcpjam`},{hostDir:`.moxby`,pruneRoot:`.moxby`},{hostDir:`.mux`,pruneRoot:`.mux`},{hostDir:`.neovate`,pruneRoot:`.neovate`},{hostDir:`.ona`,pruneRoot:`.ona`},{hostDir:`.openhands`,pruneRoot:`.openhands`},{hostDir:`.pochi`,pruneRoot:`.pochi`},{hostDir:`.qoder`,pruneRoot:`.qoder`},{hostDir:`.qoder-cn`,pruneRoot:`.qoder-cn`},{hostDir:`.qwen`,pruneRoot:`.qwen`},{hostDir:`.reasonix`,pruneRoot:`.reasonix`},{hostDir:`.roo`,pruneRoot:`.roo`},{hostDir:`.rovodev`,pruneRoot:`.rovodev`},{hostDir:`.snowflake/cortex`,pruneRoot:`.snowflake`},{hostDir:`.tabnine/agent`,pruneRoot:`.tabnine`},{hostDir:`.terramind`,pruneRoot:`.terramind`},{hostDir:`.tinycloud`,pruneRoot:`.tinycloud`},{hostDir:`.trae`,pruneRoot:`.trae`},{hostDir:`.trae-cn`,pruneRoot:`.trae-cn`},{hostDir:`.vibe`,pruneRoot:`.vibe`},{hostDir:`.zcode`,pruneRoot:`.zcode`},{hostDir:`.zencoder`,pruneRoot:`.zencoder`}],Hn=[...S.map(e=>k[e]),`open-knowledge`];function Un(e){if(!pe(e))throw Error(`skill cleanup requires an absolute home directory; got ${JSON.stringify(e)}`);let t=z(e);if(t===B||L(t)===t)throw Error(`skill cleanup refuses to operate on the filesystem root (${t})`);return t}function Wn(e,t){let n=me(e,t);if(n.startsWith(`..`)||pe(n))return!1;let r=e;for(let e of n.split(B)){r=R(r,e);try{if(!ve(r).isDirectory())return!1}catch{return!1}}return!0}function Gn(e,t){try{return W(e).every(n=>t.has(R(e,n)))}catch{return!1}}function Kn(e){let t=Un(e),n=[],r=[],i=new Set;for(let e of Vn){let a=R(t,e.hostDir,`skills`);if(!Wn(t,a))continue;let o=Hn.map(e=>R(a,e)).filter(e=>V(e));n.push(...o);for(let e of o)i.add(e);let s=R(t,e.pruneRoot),c=a;for(;Gn(c,i)&&(r.push(c),i.add(c),c!==s);){let e=L(c);if(e===c||e===t||!e.startsWith(t+B))break;c=e}}return{skillDirs:n,emptyDirs:r}}function qn(e){try{if(!ve(e).isDirectory())return!1;let t=W(e);return t.length===0||t.includes(`SKILL.md`)}catch{return!1}}function Jn(e){let t=new Set,n=new Set;for(let r of Vn){let i=R(e,r.hostDir,`skills`);for(let e of Hn)t.add(R(i,e));let a=R(e,r.pruneRoot),o=i;for(;n.add(o),o!==a;){let t=L(o);if(t===o||t===e||!t.startsWith(e+B))break;o=t}}return{skillDirs:t,emptyDirs:n}}function Yn(e,t){let n=Un(e),r=Jn(n),i=[...t.skillDirs.filter(e=>!r.skillDirs.has(e)),...t.emptyDirs.filter(e=>!r.emptyDirs.has(e))];if(i.length>0)throw Error(`refusing skill cleanup — ${i.length} path(s) outside the known legacy set: ${i.join(`, `)}`);let a=[];for(let e of t.skillDirs)if(Wn(n,e)&&qn(e))try{G(e,{recursive:!0,force:!0}),a.push(e)}catch{}for(let e of t.emptyDirs)if(Wn(n,e))try{Ce(e),a.push(e)}catch{}return a}function Xn(e){let t=Un(e),n=[];for(let e of S){let r=k[e];n.push({path:R(t,`.agents`,`skills`,r),bundleId:e,scope:`central`});for(let i of d)n.push({path:R(t,i.skillsRoot,r),bundleId:e,scope:`host`,hostDir:i.hostDir})}return n}function Zn(e,t){let n=[];for(let r of Xn(e))if(r.bundleId===t)try{G(r.path,{recursive:!0,force:!0})}catch(e){n.push(e instanceof Error?e:Error(String(e)))}if(n.length>0)throw AggregateError(n,`Failed to remove ${n.length} path(s) for ${t}`)}function Qn(e){return e!=null&&e.includes(`--type=utility`)&&e.includes(`--utility-sub-type=node.mojom.NodeService`)}function $n(e,t=Date.now()){if(e===null)return`—`;let n=f(e,t);return n===`unknown`?`—`:n}function er(e){let t=L(e);return I(e)===`local`&&I(t)===`.ok`?L(t):I(e)===`.ok`?t:null}function tr(e,t,n,r){if(t.status===`missing`||t.status===`corrupt`||t.status===`read-error`)return null;if(t.status===`unverified-owner`)return{directory:er(e),server:{port:null,status:t.status,pid:t.pid,startedAt:null,usage:null},ui:null,hostname:null,lockPath:t.lockPath,binary:null,command:null,isDesktop:!1};let i=t.lock,a=t.status===`alive`&&T(i)?{port:i.port,status:t.status,pid:i.pid,startedAt:i.startedAt,usage:r}:null;return{directory:i.worktreeRoot,server:{port:i.port,status:t.status,pid:i.pid,startedAt:i.startedAt,usage:r},ui:a,hostname:i.hostname,lockPath:t.lockPath,binary:n==null?null:b(n),command:n,isDesktop:Qn(n)}}function nr(e){let t=e.server.status;switch(t){case`unverified-owner`:return`unverified`;case`alive`:return e.isDesktop?`desktop`:`running`;case`foreign-host`:return e.isDesktop?`desktop`:`foreign`;case`dead-pid`:return`stale`;default:return t}}const rr=new Set([`running`,`desktop`,`foreign`,`unverified`]);function ir(e){switch(e){case`running`:return X.default.green(e);case`desktop`:return X.default.blue(e);case`foreign`:return X.default.cyan(e);case`unverified`:case`stale`:return X.default.yellow(e)}}function ar(e){return e==null?`—`:`${e.cpuPercent.toFixed(1)}% / ${e.memPercent.toFixed(1)}%`}function or(e){return`${ar(e.server.usage)} | ${ar(e.ui?.usage??null)}`}function sr(e){return`${e.server.port===null?`—`:e.server.port===0?`(starting)`:String(e.server.port)} / ${e.ui==null?`—`:String(e.ui.port)}`}function cr(e){if(e.length===0)return`No open-knowledge servers found.`;let t=[`DIRECTORY`,`PORTS (API/UI)`,`CPU/MEM (API | UI)`,`STATUS`,`PID`,`STARTED`,`BINARY`],n=e.map(e=>[e.directory??`—`,sr(e),or(e),nr(e),String(e.server.pid),$n(e.server.startedAt),e.binary??`—`]),r=t.length,i=t.map(e=>e.length);for(let e of n)for(let t=0;t<r;t++)i[t]=Math.max(i[t]??0,(e[t]??``).length);let a=t.map((e,t)=>e.padEnd(i[t]??0)).join(` `).trimEnd(),o=e.map((e,t)=>{let a=n[t]??[],o=[];for(let t=0;t<r;t++){let n=(a[t]??``).padEnd(i[t]??0);if(t===3){let r=a[t]??``;n=ir(nr(e))+` `.repeat(Math.max(0,(i[t]??0)-r.length))}o.push(n)}return o.join(` `).trimEnd()}),s=X.default.dim(`To stop a server: ok stop <port|pid|directory|all>`);return[a,...o,``,s].join(`
|
|
11
|
+
`)}async function lr(e={}){let t=e.discover??_,n=e.inspect??(e=>Q(e,`server`)),r=e.log??(e=>console.log(e)),i=e.resolveCommand??x,a=e.resolveUsage??h,o=await t(),s=[];for(let e of o){let t=n(e),r=tr(e,t,t.status===`missing`||t.status===`corrupt`||t.status===`read-error`||t.status===`unverified-owner`?null:i(t.lock.pid),t.status===`missing`||t.status===`corrupt`||t.status===`read-error`||t.status===`unverified-owner`?null:a(t.lock.pid));r!=null&&s.push(r)}if(e.json){let e=s.map(e=>({...e,displayStatus:nr(e)}));r(JSON.stringify(e,null,2));return}r(cr(e.all?s:s.filter(e=>rr.has(nr(e)))))}function ur(){return new N(`ps`).description(`List all running open-knowledge servers`).argument(`[modifier]`,`"all" to include stale (dead-pid) entries`).option(`--all`,`Include stale entries (foreign and unverified entries already show)`).option(`--json`,`Emit structured JSON (always includes all statuses)`).action(async(e,t)=>{await lr({all:t.all===!0||e===`all`,json:t.json===!0})})}async function dr(e,t=ce()){let n=Q(e,`server`);if(n.status!==`alive`&&n.status!==`foreign-host`)return null;let r=O(n.lock);if(r===null)return null;try{let n=await fetch(`${r}/api/server-info`,{signal:AbortSignal.timeout(1500),redirect:`manual`});if(!n.ok)return t?.warn({lockDir:e,baseUrl:r,outcome:`http-error`,status:n.status},`stop client-probe failed`),null;let i=(await n.json())?.collabClients;return typeof i==`number`&&Number.isFinite(i)?i:(t?.warn({lockDir:e,baseUrl:r,outcome:`no-client-count`,received:typeof i},`stop client-probe failed`),null)}catch(n){return t?.warn({lockDir:e,baseUrl:r,outcome:`unreachable`,err:n},`stop client-probe failed`),null}}function fr(e,t={}){return{targets:$(e,t.isAlive??w)?[{name:`server`,pid:e.lock.pid,port:e.lock.port}]:[]}}async function pr(e){let t=e.inspect??(()=>Q(e.lockDir,`server`)),n=e.kill??((e,t)=>process.kill(e,t)),r=e.log??(e=>console.log(e)),i=e.error??(e=>console.error(e)),a=e.probeClients??dr,o=e.logger??ce(),s=fr(t(),{isAlive:e.isAlive});if(s.targets.length===0)return r(`No running open-knowledge processes.`),o?.info({lockDir:e.lockDir,targets:0},`stop found nothing to signal`),{stopped:[],failed:[],hadTargets:!1};if(e.force!==!0){let t=await a(e.lockDir,o);if(t!==null&&t>0)return i(`Not stopping: ${t} collaboration client${t===1?``:`s`} (editor window${t===1?``:`s`} or agents) still connected to the server at ${e.lockDir}. Close them, or re-run with --force to terminate anyway.`),o?.warn({lockDir:e.lockDir,clients:t,pids:s.targets.map(e=>e.pid)},`stop declined: live collaboration clients`),{stopped:[],failed:[],hadTargets:!0,declined:{clients:t}}}let c=[],l=[];for(let e of s.targets)try{n(e.pid,`SIGTERM`),c.push(e)}catch(t){l.push({target:e,error:t instanceof Error?t.message:String(t)})}return c.length>0&&r(`Stopped: ${c.map(e=>`${e.name} (pid=${e.pid}, port=${e.port})`).join(`, `)}`),o?.info({lockDir:e.lockDir,signalled:c.map(e=>({name:e.name,pid:e.pid,port:e.port})),failed:l.map(({target:e,error:t})=>({pid:e.pid,error:t})),forced:e.force===!0},`stop signalled processes`),l.length>0&&i(`Failed to stop: ${l.map(({target:e,error:t})=>`${e.name} (pid=${e.pid}): ${t}`).join(`; `)}`),{stopped:c,failed:l,hadTargets:!0}}function $(e,t){return e.status===`alive`||e.status===`foreign-host`&&t(e.lock.pid)}async function mr(e,t=w){let n=await _(),r=null;for(let i of n){let n=Q(i,`server`);if($(n,t)){if(n.lock.port===e)return i;r===null&&n.lock.pid===e&&(r=i)}}return r}async function hr(e,t){let n=await pr({lockDir:e,force:t});return(n.failed.length>0||n.declined!==void 0)&&(process.exitCode=1),n}function gr(e,t,n={}){return t===0?`Nothing was running for ${e}, and no other open-knowledge servers are running.`:`Nothing was running for ${e}. ${t} other open-knowledge server${t===1?` is`:`s are`} running${n.listingFollows===!0?``:" — run `ok ps` to list them"}.`}async function _r(e){let t=await _(),n=0;for(let r of t)r!==e&&$(Q(r,`server`),w)&&n++;return n}function vr(e){return new N(`stop`).description(`Stop open-knowledge server(s). With no argument: stops the server for the enclosing project — run it from anywhere inside the project. Pass a port number, a directory path, or "all" to target globally.`).argument(`[target...]`,`port number, directory path (spaces OK), or "all"`).option(`--force`,`Stop even when editor windows or agents are still connected to the server`).action(async(t,n)=>{let r=n.force===!0,i=t.length===0?void 0:t.join(` `);if(i===void 0){e();let t=E(process.cwd()),n=await pr({lockDir:t,force:r,log:()=>{}});if(n.hadTargets){if(n.stopped.length>0){let e=n.stopped.map(e=>`${e.name} (pid=${e.pid}, port=${e.port})`).join(`, `);console.log(`Stopped: ${e}`)}(n.failed.length>0||n.declined!==void 0)&&(process.exitCode=1)}else{let e=await _r(t);console.log(gr(process.cwd(),e,{listingFollows:e>0})),e>0&&await lr({})}return}if(i===`all`){let e=await _();if(e.length===0){console.log(`No running open-knowledge servers found.`);return}let t=0;for(let n of e)$(Q(n,`server`),w)&&(await hr(n,r),t++);t===0&&console.log(`No running open-knowledge servers found.`);return}if(/^\d+$/.test(i)){let e=Number.parseInt(i,10),t=await mr(e);if(t===null){console.log(`No running open-knowledge server found with port or PID ${e}.`);return}await hr(t,r);return}let a=z(ze(),i),o=E(a),s=[],c=await pr({lockDir:o,force:r,log:e=>s.push(e)});if((c.failed.length>0||c.declined!==void 0)&&(process.exitCode=1),c.hadTargets)for(let e of s)console.log(e);else console.log(gr(a,await _r(o)))})}export{ze as A,rt as C,Ve as D,He as E,Ie as M,We as O,J as S,Be as T,Q as _,Yn as a,En as b,Xn as c,Pn as d,Fn as f,An as g,Mn as h,ur as i,Re as j,Ge as k,Nn as l,zn as m,pr as n,Kn as o,Rn as p,vr as r,Zn as s,dr as t,Bn as u,kn as v,qe as w,it as x,Tn as y};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{S as e,m as t,p as n,r}from"./start-DTpjNc5f.mjs";export{r as bootStartServer,n as resolveBundledReactShellDir,t as resolveHost,e as startCommand};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import{
|
|
2
|
-
`)){let e=r.replace(me,``),i=de.exec(e)?.[1];if(i){n={login:i,active:!1},t.push(n);continue}if(fe.test(e)){n=void 0;continue}n&&pe.test(e)&&(n.active=!0)}return t}const ge={mode:`published`,skipAvailabilityCheck:!0,replaceEntry:!0};function K(){return{action:`failed`,errorId:`write-failed`}}function q(){return{action:`skipped-missing`,errorId:`surface-missing`}}function J(e,t,n){f(`agent-integrations-apply`).warn({editor:e,path:t,reason:n},`skill write failed`)}function Y(){return{action:`skipped-unsupported`,errorId:`no-writer`}}function _e(e){switch(e){case`removed`:return{action:`removed`};case`not-present`:return{action:`no-op`};case`left-foreign`:return{action:`skipped-foreign`,errorId:`foreign-artifact`};case`declined`:return{action:`declined`,errorId:`write-declined`}}}function ve(e,t,n,r,i){let a=_[e];try{let o=D(a,t,n,r,i);return o.kind===`removed`&&o.trustDetail&&f(`agent-integrations-apply`).warn({editor:e,path:r??a.configPath(t,n),trust:o.trust,trustDetail:o.trustDetail},`MCP config removal retained Pi folder trust`),_e(o.kind)}catch(i){return f(`agent-integrations-apply`).warn({editor:e,path:r??a.configPath(t,n),reason:i instanceof Error?i.message:String(i)},`MCP config removal failed`),K()}}async function ye(e,t,n){if(_[e].scope!==`global`)return q();if(n===`absent`)return ve(e,``,t.home,void 0,t.env);let r=(await v({editors:[e],home:t.home,replaceEntry:!0})).find(t=>t.editorId===e);if(r===void 0)return K();switch(r.action){case`written`:case`overwritten`:return{action:r.action};case`declined`:return{action:`declined`,errorId:`write-declined`};case`skipped-missing`:return q();case`skipped-flag`:return Y();default:return K()}}function be(e,t,n){let r=_[e].projectConfigPath?.(t.cwd);if(r===void 0)return q();if(n===`absent`)return ve(e,t.cwd,t.home,r,t.env);let i=x(_[e],t.cwd,ge,void 0,r);switch(i.action){case`written`:case`overwritten`:return{action:i.action};case`declined`:return{action:`declined`,errorId:`write-declined`};default:return K()}}function xe(e,t,n){let r=t.home??ie();if(n===`absent`){let t=k(e,r);switch(t.action){case`removed`:return{action:`removed`};case`not-present`:return{action:`no-op`};case`skipped-unsupported`:return q();case`failed`:return J(e,t.path,t.error),K()}}let i=C(e,r);switch(i.action){case`written`:return{action:`written`};case`overwritten`:return{action:`overwritten`};case`skipped-unsupported`:return q();case`failed`:return J(e,i.path,i.error),K()}}function Se(e,t,n){if(n===`absent`){let n=h(_[e],t.cwd);switch(n.action){case`removed`:return{action:`removed`};case`not-present`:return{action:`no-op`};case`skipped-unsupported`:return q();case`failed`:return J(e,n.path,n.error),K()}}let r=S(_[e],t.cwd);switch(r.action){case`written`:return{action:`written`};case`overwritten`:return{action:`overwritten`};case`skipped-unsupported`:return q();case`skipped-prerequisite`:return{action:`skipped-prerequisite`,errorId:`dependency-failed`};case`failed`:return J(e,r.path,r.error),K()}}function Ce(e){return t=>{if(t.pathId===void 0)return Y();let n=a(t.pathId);if(n===null||n.kind===`central-skill-store`)return Y();switch(n.kind){case`editor-user-config`:return ye(n.editor,e,t.desired);case`editor-project-config`:return be(n.editor,e,t.desired);case`editor-project-skill-root`:return Se(n.editor,e,t.desired);case`editor-user-skill-root`:return xe(n.editor,e,t.desired)}}}function we(e,t){return e.bind?.[0]??t.HOST??`127.0.0.1`}function Te(e){if(e===`server`)return e;throw new b(`--only must be 'server'`)}function Ee(e=B){let t=import.meta.dirname??new URL(`.`,import.meta.url).pathname;return[z(t,`public`),z(t,`../../app/dist`),z(t,`../../../app/dist`)].find(t=>e(t))}function De(e){if(e.explicitDir!==void 0)return{dir:e.explicitDir,missingBundle:!1};if(e.only===`server`)return{dir:void 0,missingBundle:!1};let t=e.findBundledDir();return{dir:t,missingBundle:t===void 0}}function Oe(e){if(e===`off`)return`off`;if(!t.test(e))throw new b(`--idle-shutdown must be 'off' or a duration like 90s, 30m, 2h`);return e}function ke(e){return e===`localhost`||e===`::1`||e===`[::1]`||e.startsWith(`127.`)}function Ae(e){return!e.flagBindSet&&!e.okBindSet&&e.hostEnvSet&&e.fileBindCount>1}function je(e){return!e.openBrowser||e.ephemeral||e.only===`server`||!e.servesUi?!1:(e.explicitOn||ke(e.host))&&e.isTTY}function Me(e,t){let n;try{n=new URL(t)}catch{throw new b(`${e} is not a valid URL: ${t}`)}if(n.protocol!==`http:`&&n.protocol!==`https:`)throw new b(`${e} must be an http(s) origin (got: ${t})`);return t}function Ne(e){return Me(`--external-url`,e)}function Pe(e){let t=L(e).replace(/[^\x20-\x7E]/g,``).trim().slice(0,64);return`open-knowledge-server ${t.length>0?t:`unknown`}`}var X=class extends Error{cwd;constructor(e){super("This directory isn't set up yet. Run `ok init` first, then `ok start` again."),this.name=`OkDirMissingError`,this.cwd=e}},Z=class extends Error{projectDir;constructor(e){super(`--project-dir must be a throwaway ${d}* directory under the OS temp dir. Refusing to write ephemeral session state into ${e}. Omit --project-dir to let ok start create (and clean up) its own.`),this.name=`EphemeralProjectDirNotThrowawayError`,this.projectDir=e}};function Q(e,t={}){let n=t.tmpdirFn??ae,r=t.realpathFn??re,i=e=>{try{return r(e)}catch(t){return t.code===`ENOENT`?z(e):null}},a=z(e),o;try{o=r(a)}catch(e){if(e.code===`ENOENT`){let e=i(R(a));o=e===null?null:z(e,L(a))}else o=null}if(o===null)return!1;let s=i(n());return s!==null&&R(o)===s&&L(o).startsWith(`ok-ephemeral-`)}function $(e,t,n=e=>oe(e,{recursive:!0,force:!0})){return async()=>{try{await e()}finally{if(Q(t))try{await n(t)}catch(e){process.stderr.write(`[start] ephemeral temp dir reap failed for ${t}: ${e instanceof Error?e.message:String(e)}\n`)}else process.stderr.write(`[start] leaving ${t} in place: only ${d}* dirs under the OS temp dir are removed on ephemeral teardown\n`)}}}function Fe(e,t={}){let n=t.exit??(e=>process.exit(e)),r=t.getActiveHandles??(()=>{let e=process._getActiveHandles;return e?e.call(process):null});return async()=>{let i=!1;try{await e()}catch(e){i=!0,t.log?.error({err:e},`idle-shutdown: destroy failed — exiting anyway`)}finally{let e=null;try{let t=r();if(t!==null){e={};for(let n of t){let t=n?.constructor?.name??`unknown`;e[t]=(e[t]??0)+1}}}catch{e=null}t.log?.info({event:`idle-shutdown-exit`,exitCode:+!!i,openHandles:e??{},handlesAvailable:e!==null},`idle-shutdown: teardown finished — exiting process`),n(+!!i)}}}async function Ie(e){let{config:t,cwd:n,host:r}=e,i=e.skipAutoInit??!1,a=e.idleThresholdMs===void 0?18e5:e.idleThresholdMs,{existsSync:o,mkdirSync:s}=await import(`node:fs`),{basename:c,dirname:l,resolve:d}=await import(`node:path`),{bootServer:f,createEphemeralProjectDir:m,getLogger:h,resolveContentDir:g,resolveLockDir:_,seedEphemeralProjectDir:v,waitForServerLockDrain:b}=await import(`./dist-CuWl8z8W.mjs`),x=e.log??h(`start`),S=e.singleFile!==void 0,C=S?p(e.singleFile).canonicalFilePath:void 0,T=C?l(C):void 0,E=C?c(C):void 0,D,O=!1;if(T!==void 0){if(e.projectDir!==void 0){if(D=e.projectDir,!Q(D))throw new Z(D);o(d(D,`.ok`,`config.yml`))||v(D,T)}else D=m(T),O=!0}let k=async()=>{if(!(!O||D===void 0)){if(!Q(D)){x.warn({ephemeralProjectDir:D},`[start] refusing to reap self-provisioned ephemeral dir: no longer resolves to an ok-ephemeral-* temp dir`);return}try{await oe(D,{recursive:!0,force:!0})}catch(e){x.warn({err:e,ephemeralProjectDir:D},`[start] failed to reap self-provisioned ephemeral temp dir`)}}},M=D;if(!S){if(!i&&!ee(n))throw new X(n);let t=process.env.OK_RECLAIM_DISABLE??null,r=e=>{e.severity===`info`?x.debug({event:e},`[start] reclaim sweep event`):x.warn({event:e},`[start] reclaim sweep reported a problem`)};try{let i=(e.repairMcpConfigsFn??(await import(`./repair-mcp-configs-DzGALib-.mjs`)).repairMcpConfigs)({projectDir:n,reclaimDisableEnv:t,logger:r}).outcomes.filter(e=>e.outcome!==`no-entry`&&e.outcome!==`canonical`&&e.outcome!==`repaired`&&e.outcome!==`foreign`);i.length>0&&x.warn({unhealed:i},`[start] reclaim sweep left entries it could not heal`)}catch(e){x.warn({err:e},`[start] mcp-config repair sweep failed; continuing`)}try{(e.repairLaunchJsonFn??(await import(`./repair-launch-json-CMMYwCjW.mjs`)).repairLaunchJson)({projectDir:n,reclaimDisableEnv:t,logger:r})}catch(e){x.warn({err:e},`[start] launch.json repair sweep failed; continuing`)}}let P=T??g(t,n);!S&&!o(P)&&(s(P,{recursive:!0}),x.info({contentDir:P},`Created content directory`));let F=N(),I=u(),L;try{{let e=_(D??n),t=Date.now(),r=await b(e);r!==`no-drain`&&x.info({event:`start-waited-for-draining-predecessor`,outcome:r,waitedMs:Date.now()-t,drainLockDir:e},r===`released`?`[start] predecessor server finished draining — proceeding`:`[start] predecessor server still draining after wait — proceeding to collide`)}L=await f({config:t,contentDir:P,projectDir:D??n,contentRoot:S?void 0:t.content.dir,port:e.port,host:r,quiet:!1,detectGh:V,detectGhAccounts:W,tokenStore:F,embeddingsKeyStore:I,mcpTomlEditor:y(),...S?{ephemeral:!0,singleDocRelPath:E,gitEnabled:!1,gitPreflight:()=>({ok:!0,version:`0.0.0`,resolvedPath:`git`,source:`PATH`})}:{},localOpCliArgs:[process.execPath,process.argv[1]],probeHarnessManagedMcpEntry:(e,t)=>ne(e,t),probePiAcpBridge:e=>w(e),ensurePiAcpBridge:(e,t)=>A(e,void 0,void 0,void 0,t),agentIntegrations:(()=>{let e={cwd:D??n,home:ie(),env:process.env};return{probe:j(e),execute:Ce(e),userSkillPresentAnywhere:te}})(),idleShutdownMs:a,...e.serverRuntime===void 0?{}:{serverRuntime:e.serverRuntime},...e.bind===void 0?{}:{bind:e.bind},skipAutoInit:!0,idleShutdownHandler:t=>{let n=t;return Fe(M===void 0?n:$(n,M),{log:x,exit:e.idleExit})},log:x,...e.serveContentAssets===void 0?{}:{serveContentAssets:e.serveContentAssets},...e.reactShellDistDir?{reactShellDistDir:e.reactShellDistDir}:{},...e.terminalAuthAvailable===!0?{terminalAuthAvailable:!0}:{}})}catch(e){throw await k(),e}let R=L.destroy,z=O?async()=>{try{await R()}finally{await k()}}:R;return{httpServer:L.httpServer,destroy:z,lockDir:L.lockDir,contentDir:P,port:L.port,ready:L.ready,degraded:L.degraded}}function Le(e,t,n=()=>c({absPath:s(`user`,process.cwd()),sideline:!1,warn:()=>{}}).value){return t===void 0?e:n()}function Re(e){if(e===`browser`||e===`app`)return e;throw new b(`--mode must be 'browser' or 'app'`)}function ze(e){return e.OK_CONSOLE_LEVEL!==void 0||e.LOG_LEVEL!==void 0?null:`warn`}function Be(e){let t=[`Stopping OpenKnowledge…`,`Saving pending changes and releasing the server lock — this can take a few seconds.`];return e===`SIGINT`&&t.push(`Press Ctrl+C again to force quit.`),t}async function Ve(t,a){let s=Le(t,a.singleFile),c=ze(process.env);c!==null&&(process.env.OK_CONSOLE_LEVEL=c);let{renderBanner:ee}=await import(`./banner-kywHhVaC.mjs`),{accent:l,dim:u,error:d,warning:f}=await import(`./colors-SgU3JHQu.mjs`),p=process.cwd();process.title=Pe(p);let m;try{m=e(process.env)}catch(e){throw e instanceof i&&(console.error(d(e.message)),process.exit(78)),e}for(let e of m.diagnostics)console.warn(f(`[config] ${e.message}`));let h=r(s,m.layer),g=m.overrides.some(e=>e.envVar===`OK_BIND`),_=a.bind!==void 0&&a.bind.length>0?a.bind:void 0,v=process.env.HOST,y=v!==void 0&&v.trim()!==``?v:void 0,b=o(h),x=_??(g||y===void 0?[...b.bind]:[y]);Ae({flagBindSet:_!==void 0,okBindSet:g,hostEnvSet:y!==void 0,fileBindCount:b.bind.length})&&console.warn(f(`[config] HOST=${y} overrides server.bind — dropping the file-configured addresses (${b.bind.join(`, `)}). Use OK_BIND with a space-separated list to keep multiple binds.`));let S=x[0]??`127.0.0.1`,C=x,w=a.externalUrl,T=o(r(h,{server:{bind:C,...w===void 0?{}:{externalUrl:w}}}));if(T.allowExternal&&(!T.loopbackOnly||T.externalUrl)){let e=T.externalUrl??T.bind.join(`, `);console.warn(f([``,`⚠ EXTERNAL ACCESS ENABLED (server.allowExternal) — no server-side authentication.`,` This server is reachable beyond this machine (${e}). Anyone who can`,` reach it has FULL control of this knowledge base — sync, publishing, GitHub`,` credentials, and local operations (clone, sign-in, repo spawn).`,` Restrict who can reach it at the edge: a Tailscale ACL, a reverse proxy with`,` auth (Cloudflare Access, oauth2-proxy), or a firewall.`,``].join(`
|
|
3
|
-
`)))}let E=
|
|
1
|
+
import{Ws as e,_a as t,_d as n,gt as r,qc as i,qs as a,zo as o}from"./md-manager-BGnqyqi1-DCa5-0ww.mjs";import{Ko as s,Wo as c,Zr as ee,ci as l,fi as u,k as d,rs as f,wi as p}from"./dist-GcFBLEr5.mjs";import{Ct as m,L as h,Tt as g,X as _,b as v,ut as y,wt as b,y as x,z as S}from"./init-DvYKQnB9.mjs";import{a as C,c as w,d as T,f as E,i as te,n as ne,o as D,p as O,r as k,s as A,t as j,u as M,y as N}from"./registry-probes-p0ZApPjq.mjs";import{n as P}from"./constants-H8MPNRhO.mjs";import{execFileSync as F,spawn as I}from"node:child_process";import{basename as L,dirname as R,resolve as z}from"node:path";import{existsSync as B,realpathSync as re}from"node:fs";import{homedir as ie,tmpdir as ae}from"node:os";import{rm as oe}from"node:fs/promises";import{setTimeout as se}from"node:timers/promises";const ce=[`/opt/homebrew/bin/gh`,`/usr/local/bin/gh`,`/opt/local/bin/gh`,`/snap/bin/gh`,`/usr/bin/gh`],le={encoding:`utf-8`,stdio:[`ignore`,`pipe`,`pipe`],timeout:5e3,windowsHide:!0};function V(e,t={}){let{login:n}=t,r=t._exec??F,i=H(t._fileExists??B),a=e?[`--hostname`,e]:[];if(n){let e=U(r,i,[`auth`,`token`,...a,`--user`,n]);if(e)return{available:!0,token:e,resolvedLogin:n,fallback:!1}}let o=U(r,i,[`auth`,`token`,...a]);return o?n?{available:!0,token:o,fallback:!0}:{available:!0,token:o}:{available:!1}}function H(e){return[`gh`,...ce.filter(e)]}function U(e,t,n){for(let r of t)try{let t=e(r,n,le).toString().trim();if(t.length>0)return t}catch{}}function W(e,t={}){let n=t._exec??F,r=H(t._fileExists??B),i=[`auth`,`status`,...e?[`--hostname`,e]:[]],a=U(n,r,[...i,`--json`,`hosts`]);if(a!==void 0){let t=ue(a,e);if(t)return t}let o=U(n,r,i);if(o!==void 0){let e=he(o);if(e.length>0)return e}}function G(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}function ue(e,t){let n;try{n=JSON.parse(e)}catch{return}let r=G(G(n)?.hosts);if(!r||t!==void 0&&r[t]===void 0)return;let i=t===void 0?Object.values(r):[r[t]],a=[];for(let e of i){if(!Array.isArray(e))return;for(let t of e){let e=G(t);if(!e)continue;let n=e.login;typeof n==`string`&&n.length!==0&&a.push({login:n,active:e.active===!0})}}return a}const de=/Logged in to \S+ account (\S+) \(/,fe=/(?:Failed to log in to|Timeout trying to log in to) \S+/,pe=/^\s*-\s*Active account:\s*true\s*$/,me=/\u001b\[[0-9;]*m/g;function he(e){let t=[],n;for(let r of e.split(`
|
|
2
|
+
`)){let e=r.replace(me,``),i=de.exec(e)?.[1];if(i){n={login:i,active:!1},t.push(n);continue}if(fe.test(e)){n=void 0;continue}n&&pe.test(e)&&(n.active=!0)}return t}const ge={mode:`published`,skipAvailabilityCheck:!0,replaceEntry:!0};function K(){return{action:`failed`,errorId:`write-failed`}}function q(){return{action:`skipped-missing`,errorId:`surface-missing`}}function J(e,t,n){f(`agent-integrations-apply`).warn({editor:e,path:t,reason:n},`skill write failed`)}function Y(){return{action:`skipped-unsupported`,errorId:`no-writer`}}function _e(e){switch(e){case`removed`:return{action:`removed`};case`not-present`:return{action:`no-op`};case`left-foreign`:return{action:`skipped-foreign`,errorId:`foreign-artifact`};case`declined`:return{action:`declined`,errorId:`write-declined`}}}function ve(e,t,n,r,i){let a=_[e];try{let o=D(a,t,n,r,i);return o.kind===`removed`&&o.trustDetail&&f(`agent-integrations-apply`).warn({editor:e,path:r??a.configPath(t,n),trust:o.trust,trustDetail:o.trustDetail},`MCP config removal retained Pi folder trust`),_e(o.kind)}catch(i){return f(`agent-integrations-apply`).warn({editor:e,path:r??a.configPath(t,n),reason:i instanceof Error?i.message:String(i)},`MCP config removal failed`),K()}}async function ye(e,t,n){if(_[e].scope!==`global`)return q();if(n===`absent`)return ve(e,``,t.home,void 0,t.env);let r=(await v({editors:[e],home:t.home,replaceEntry:!0})).find(t=>t.editorId===e);if(r===void 0)return K();switch(r.action){case`written`:case`overwritten`:return{action:r.action};case`declined`:return{action:`declined`,errorId:`write-declined`};case`skipped-missing`:return q();case`skipped-flag`:return Y();default:return K()}}function be(e,t,n){let r=_[e].projectConfigPath?.(t.cwd);if(r===void 0)return q();if(n===`absent`)return ve(e,t.cwd,t.home,r,t.env);let i=x(_[e],t.cwd,ge,void 0,r);switch(i.action){case`written`:case`overwritten`:return{action:i.action};case`declined`:return{action:`declined`,errorId:`write-declined`};default:return K()}}function xe(e,t,n){let r=t.home??ie();if(n===`absent`){let t=k(e,r);switch(t.action){case`removed`:return{action:`removed`};case`not-present`:return{action:`no-op`};case`skipped-unsupported`:return q();case`failed`:return J(e,t.path,t.error),K()}}let i=C(e,r);switch(i.action){case`written`:return{action:`written`};case`overwritten`:return{action:`overwritten`};case`skipped-unsupported`:return q();case`failed`:return J(e,i.path,i.error),K()}}function Se(e,t,n){if(n===`absent`){let n=h(_[e],t.cwd);switch(n.action){case`removed`:return{action:`removed`};case`not-present`:return{action:`no-op`};case`skipped-unsupported`:return q();case`failed`:return J(e,n.path,n.error),K()}}let r=S(_[e],t.cwd);switch(r.action){case`written`:return{action:`written`};case`overwritten`:return{action:`overwritten`};case`skipped-unsupported`:return q();case`skipped-prerequisite`:return{action:`skipped-prerequisite`,errorId:`dependency-failed`};case`failed`:return J(e,r.path,r.error),K()}}function Ce(e){return t=>{if(t.pathId===void 0)return Y();let r=n(t.pathId);if(r===null||r.kind===`central-skill-store`)return Y();switch(r.kind){case`editor-user-config`:return ye(r.editor,e,t.desired);case`editor-project-config`:return be(r.editor,e,t.desired);case`editor-project-skill-root`:return Se(r.editor,e,t.desired);case`editor-user-skill-root`:return xe(r.editor,e,t.desired)}}}function we(e,t){return e.bind?.[0]??t.HOST??`127.0.0.1`}function Te(e){if(e===`server`)return e;throw new b(`--only must be 'server'`)}function Ee(e=B){let t=import.meta.dirname??new URL(`.`,import.meta.url).pathname;return[z(t,`public`),z(t,`../../app/dist`),z(t,`../../../app/dist`)].find(t=>e(t))}function De(e){if(e.explicitDir!==void 0)return{dir:e.explicitDir,missingBundle:!1};if(e.only===`server`)return{dir:void 0,missingBundle:!1};let t=e.findBundledDir();return{dir:t,missingBundle:t===void 0}}function Oe(e){if(e===`off`)return`off`;if(!i.test(e))throw new b(`--idle-shutdown must be 'off' or a duration like 90s, 30m, 2h`);return e}function ke(e){return e===`localhost`||e===`::1`||e===`[::1]`||e.startsWith(`127.`)}function Ae(e){return!e.flagBindSet&&!e.okBindSet&&e.hostEnvSet&&e.fileBindCount>1}function je(e){return!e.openBrowser||e.ephemeral||e.only===`server`||!e.servesUi?!1:(e.explicitOn||ke(e.host))&&e.isTTY}function Me(e,t){let n;try{n=new URL(t)}catch{throw new b(`${e} is not a valid URL: ${t}`)}if(n.protocol!==`http:`&&n.protocol!==`https:`)throw new b(`${e} must be an http(s) origin (got: ${t})`);return t}function Ne(e){return Me(`--external-url`,e)}function Pe(e){let t=L(e).replace(/[^\x20-\x7E]/g,``).trim().slice(0,64);return`open-knowledge-server ${t.length>0?t:`unknown`}`}var X=class extends Error{cwd;constructor(e){super("This directory isn't set up yet. Run `ok init` first, then `ok start` again."),this.name=`OkDirMissingError`,this.cwd=e}},Z=class extends Error{projectDir;constructor(e){super(`--project-dir must be a throwaway ${d}* directory under the OS temp dir. Refusing to write ephemeral session state into ${e}. Omit --project-dir to let ok start create (and clean up) its own.`),this.name=`EphemeralProjectDirNotThrowawayError`,this.projectDir=e}};function Q(e,t={}){let n=t.tmpdirFn??ae,r=t.realpathFn??re,i=e=>{try{return r(e)}catch(t){return t.code===`ENOENT`?z(e):null}},a=z(e),o;try{o=r(a)}catch(e){if(e.code===`ENOENT`){let e=i(R(a));o=e===null?null:z(e,L(a))}else o=null}if(o===null)return!1;let s=i(n());return s!==null&&R(o)===s&&L(o).startsWith(`ok-ephemeral-`)}function $(e,t,n=e=>oe(e,{recursive:!0,force:!0})){return async()=>{try{await e()}finally{if(Q(t))try{await n(t)}catch(e){process.stderr.write(`[start] ephemeral temp dir reap failed for ${t}: ${e instanceof Error?e.message:String(e)}\n`)}else process.stderr.write(`[start] leaving ${t} in place: only ${d}* dirs under the OS temp dir are removed on ephemeral teardown\n`)}}}function Fe(e,t={}){let n=t.exit??(e=>process.exit(e)),r=t.getActiveHandles??(()=>{let e=process._getActiveHandles;return e?e.call(process):null});return async()=>{let i=!1;try{await e()}catch(e){i=!0,t.log?.error({err:e},`idle-shutdown: destroy failed — exiting anyway`)}finally{let e=null;try{let t=r();if(t!==null){e={};for(let n of t){let t=n?.constructor?.name??`unknown`;e[t]=(e[t]??0)+1}}}catch{e=null}t.log?.info({event:`idle-shutdown-exit`,exitCode:+!!i,openHandles:e??{},handlesAvailable:e!==null},`idle-shutdown: teardown finished — exiting process`),n(+!!i)}}}async function Ie(e){let{config:t,cwd:n,host:r}=e,i=e.skipAutoInit??!1,a=e.idleThresholdMs===void 0?18e5:e.idleThresholdMs,{existsSync:o,mkdirSync:s}=await import(`node:fs`),{basename:c,dirname:l,resolve:d}=await import(`node:path`),{bootServer:f,createEphemeralProjectDir:m,getLogger:h,resolveContentDir:g,resolveLockDir:_,seedEphemeralProjectDir:v,waitForServerLockDrain:b}=await import(`./dist-BBi7mVvL.mjs`),x=e.log??h(`start`),S=e.singleFile!==void 0,C=S?p(e.singleFile).canonicalFilePath:void 0,T=C?l(C):void 0,E=C?c(C):void 0,D,O=!1;if(T!==void 0){if(e.projectDir!==void 0){if(D=e.projectDir,!Q(D))throw new Z(D);o(d(D,`.ok`,`config.yml`))||v(D,T)}else D=m(T),O=!0}let k=async()=>{if(!(!O||D===void 0)){if(!Q(D)){x.warn({ephemeralProjectDir:D},`[start] refusing to reap self-provisioned ephemeral dir: no longer resolves to an ok-ephemeral-* temp dir`);return}try{await oe(D,{recursive:!0,force:!0})}catch(e){x.warn({err:e,ephemeralProjectDir:D},`[start] failed to reap self-provisioned ephemeral temp dir`)}}},M=D;if(!S){if(!i&&!ee(n))throw new X(n);let t=process.env.OK_RECLAIM_DISABLE??null,r=e=>{e.severity===`info`?x.debug({event:e},`[start] reclaim sweep event`):x.warn({event:e},`[start] reclaim sweep reported a problem`)};try{let i=(e.repairMcpConfigsFn??(await import(`./repair-mcp-configs-Dae5PZa1.mjs`)).repairMcpConfigs)({projectDir:n,reclaimDisableEnv:t,logger:r}).outcomes.filter(e=>e.outcome!==`no-entry`&&e.outcome!==`canonical`&&e.outcome!==`repaired`&&e.outcome!==`foreign`);i.length>0&&x.warn({unhealed:i},`[start] reclaim sweep left entries it could not heal`)}catch(e){x.warn({err:e},`[start] mcp-config repair sweep failed; continuing`)}try{(e.repairLaunchJsonFn??(await import(`./repair-launch-json-Bfv2MHor.mjs`)).repairLaunchJson)({projectDir:n,reclaimDisableEnv:t,logger:r})}catch(e){x.warn({err:e},`[start] launch.json repair sweep failed; continuing`)}}let P=T??g(t,n);!S&&!o(P)&&(s(P,{recursive:!0}),x.info({contentDir:P},`Created content directory`));let F=N(),I=u(),L;try{{let e=_(D??n),t=Date.now(),r=await b(e);r!==`no-drain`&&x.info({event:`start-waited-for-draining-predecessor`,outcome:r,waitedMs:Date.now()-t,drainLockDir:e},r===`released`?`[start] predecessor server finished draining — proceeding`:`[start] predecessor server still draining after wait — proceeding to collide`)}L=await f({config:t,contentDir:P,projectDir:D??n,contentRoot:S?void 0:t.content.dir,port:e.port,host:r,quiet:!1,detectGh:V,detectGhAccounts:W,tokenStore:F,embeddingsKeyStore:I,mcpTomlEditor:y(),...S?{ephemeral:!0,singleDocRelPath:E,gitEnabled:!1,gitPreflight:()=>({ok:!0,version:`0.0.0`,resolvedPath:`git`,source:`PATH`})}:{},localOpCliArgs:[process.execPath,process.argv[1]],probeHarnessManagedMcpEntry:(e,t)=>ne(e,t),probePiAcpBridge:e=>w(e),ensurePiAcpBridge:(e,t)=>A(e,void 0,void 0,void 0,t),agentIntegrations:(()=>{let e={cwd:D??n,home:ie(),env:process.env};return{probe:j(e),execute:Ce(e),userSkillPresentAnywhere:te}})(),idleShutdownMs:a,...e.serverRuntime===void 0?{}:{serverRuntime:e.serverRuntime},...e.bind===void 0?{}:{bind:e.bind},skipAutoInit:!0,idleShutdownHandler:t=>{let n=t;return Fe(M===void 0?n:$(n,M),{log:x,exit:e.idleExit})},log:x,...e.serveContentAssets===void 0?{}:{serveContentAssets:e.serveContentAssets},...e.reactShellDistDir?{reactShellDistDir:e.reactShellDistDir}:{},...e.terminalAuthAvailable===!0?{terminalAuthAvailable:!0}:{}})}catch(e){throw await k(),e}let R=L.destroy,z=O?async()=>{try{await R()}finally{await k()}}:R;return{httpServer:L.httpServer,destroy:z,lockDir:L.lockDir,contentDir:P,port:L.port,ready:L.ready,degraded:L.degraded}}function Le(e,t,n=()=>c({absPath:s(`user`,process.cwd()),sideline:!1,warn:()=>{}}).value){return t===void 0?e:n()}function Re(e){if(e===`browser`||e===`app`)return e;throw new b(`--mode must be 'browser' or 'app'`)}function ze(e){return e.OK_CONSOLE_LEVEL!==void 0||e.LOG_LEVEL!==void 0?null:`warn`}function Be(e){let t=[`Stopping OpenKnowledge…`,`Saving pending changes and releasing the server lock — this can take a few seconds.`];return e===`SIGINT`&&t.push(`Press Ctrl+C again to force quit.`),t}async function Ve(n,i){let s=Le(n,i.singleFile),c=ze(process.env);c!==null&&(process.env.OK_CONSOLE_LEVEL=c);let{renderBanner:ee}=await import(`./banner-kywHhVaC.mjs`),{accent:l,dim:u,error:d,warning:f}=await import(`./colors-SgU3JHQu.mjs`),p=process.cwd();process.title=Pe(p);let m;try{m=e(process.env)}catch(e){throw e instanceof r&&(console.error(d(e.message)),process.exit(78)),e}for(let e of m.diagnostics)console.warn(f(`[config] ${e.message}`));let h=t(s,m.layer),g=m.overrides.some(e=>e.envVar===`OK_BIND`),_=i.bind!==void 0&&i.bind.length>0?i.bind:void 0,v=process.env.HOST,y=v!==void 0&&v.trim()!==``?v:void 0,b=a(h),x=_??(g||y===void 0?[...b.bind]:[y]);Ae({flagBindSet:_!==void 0,okBindSet:g,hostEnvSet:y!==void 0,fileBindCount:b.bind.length})&&console.warn(f(`[config] HOST=${y} overrides server.bind — dropping the file-configured addresses (${b.bind.join(`, `)}). Use OK_BIND with a space-separated list to keep multiple binds.`));let S=x[0]??`127.0.0.1`,C=x,w=i.externalUrl,T=a(t(h,{server:{bind:C,...w===void 0?{}:{externalUrl:w}}}));if(T.allowExternal&&(!T.loopbackOnly||T.externalUrl)){let e=T.externalUrl??T.bind.join(`, `);console.warn(f([``,`⚠ EXTERNAL ACCESS ENABLED (server.allowExternal) — no server-side authentication.`,` This server is reachable beyond this machine (${e}). Anyone who can`,` reach it has FULL control of this knowledge base — sync, publishing, GitHub`,` credentials, and local operations (clone, sign-in, repo spawn).`,` Restrict who can reach it at the edge: a Tailscale ACL, a reverse proxy with`,` auth (Cloudflare Access, oauth2-proxy), or a firewall.`,``].join(`
|
|
3
|
+
`)))}let E=i.port===void 0?void 0:Number(i.port),te=m.overrides.find(e=>e.envVar===`PORT`)?.value,ne=E??te??s.server?.port,D=De({explicitDir:i.reactShellDistDir,only:i.only,findBundledDir:Ee}),O=D.dir;D.missingBundle&&console.warn(`bundled web UI not found — serving /api and /mcp only. Reinstall @inkeep/open-knowledge, or build packages/app in a source checkout.`);let k;try{k=await Ie({config:s,cwd:p,host:S,port:ne,bind:C,...i.serveContentAssets===void 0?{}:{serveContentAssets:i.serveContentAssets},...O?{reactShellDistDir:O}:{},idleThresholdMs:o(i.idleShutdown??T.idleShutdown),serverRuntime:T,...i.singleFile?{singleFile:i.singleFile}:{},...i.projectDir?{projectDir:i.projectDir}:{},...i.terminalAuth===!0?{terminalAuthAvailable:!0}:{}})}catch(e){e instanceof X&&(console.error(d(e.message)),process.exit(1)),e instanceof Z&&(console.error(d(e.message)),process.exit(1));let t=await import(`./dist-BBi7mVvL.mjs`);if((e instanceof t.GitNotAvailableError||e instanceof t.GitTooOldError)&&process.exit(78),e instanceof t.ExposureConsentError&&(console.error(d(e.message)),process.exit(78)),(e instanceof t.SingleFileNotFoundError||e instanceof t.SingleFileNotAFileError||e instanceof t.SingleFileNotMarkdownError)&&(console.error(d(e.message)),process.exit(1)),(e instanceof t.MissingOkConfigError||e instanceof t.DocumentDurabilityStateError)&&(console.error(d(e.message)),process.exit(1)),We(e,t)){let e=t.resolveLockDir(p),n=null;try{n=await He({readServerLock:()=>t.readServerLock(e),now:Date.now,sleep:e=>se(e),timeoutMs:3e3,pollIntervalMs:50})}catch(e){process.stderr.write(`[start] spawn-or-reuse: lock poll failed (${e instanceof Error?e.message:String(e)}) — falling back to the collision message\n`)}if(n!==null){let[e,...t]=Ue(n);console.log(l(e));for(let e of t)console.log(u(e));process.exit(0)}}let n=Ge(e,p,t);n!==null&&(console.error(d(n)),process.exit(1)),console.error(`${d(`Failed to start:`)} ${e instanceof Error?e.stack??e.message:String(e)}`),process.exit(1)}let A=!1,j=async e=>{if(A)return;A=!0;let[t,...n]=Be(e);console.log(l(`\n${t}`));for(let e of n)console.log(u(` ${e}`));try{await k.destroy(`external-signal`)}catch(e){console.error(`${d(`destroy() failed:`)} ${e instanceof Error?e.stack??e.message:String(e)}`),process.exitCode=1}process.exit(process.exitCode??0)};process.once(`SIGINT`,()=>{j(`SIGINT`)}),process.once(`SIGTERM`,()=>{j(`SIGTERM`)});let M=`http://${S.includes(`:`)&&!S.startsWith(`[`)?`[${S}]`:S}:${k.port}`,N=S===`0.0.0.0`||S===`::`?`http://0.0.0.0:${k.port}`:void 0,F=M;console.log(ee({name:`open-knowledge`,version:P,localUrl:F,networkUrl:N,nextSteps:[`Open the Editor URL in your browser to start editing.`]}));let I={"shadow-repo":`Version history and branch-switch safety unavailable`,"file-watcher":`External file changes will not sync to the editor`,"head-watcher":`Git branch switches may cause document inconsistency`};k.ready.then(async()=>{if(k.degraded.length>0){console.log();for(let e of k.degraded){let t=I[e]??`${e} (check server logs for details)`;console.warn(` ${f(`⚠`)} ${f(e)}: ${u(t)}`)}console.log()}if(je({openBrowser:i.openBrowser!==!1&&T.openBrowser,explicitOn:i.openBrowser!==!1&&h.server?.openBrowser===!0,host:S,isTTY:process.stdout.isTTY===!0,ephemeral:i.singleFile!==void 0,only:i.only,servesUi:O!==void 0})){let{openBrowser:e}=await import(`./open-browser-CDL2mqCk.mjs`);e(F)}}).catch(e=>{console.error(` ${d(`Server initialization failed:`)} ${e instanceof Error?e.message:String(e)}`)})}async function He(e){let t=e.now()+e.timeoutMs,n=e.readServerLock();for(;n!==null&&n.draining!==!0&&n.port<=0&&e.now()<t;)await e.sleep(e.pollIntervalMs),n=e.readServerLock();return n===null||n.draining===!0||n.port<=0?null:l(n)&&n.url!==void 0?{url:n.url,kind:n.kind,pid:n.pid,servesUi:!0}:{url:n.url??`http://127.0.0.1:${n.port}`,kind:n.kind,pid:n.pid,servesUi:!1}}function Ue(e){return[`${e.kind===`mcp-spawned`?`An MCP-spawned OpenKnowledge server is already running on this project`:`OpenKnowledge is already running on this project`} (pid ${e.pid}).`,` ${e.url}`,"Leaving it running — run `ok stop` first if you want a fresh server."]}function We(e,t){let n=t.ServerLockCollisionError;return n!==void 0&&e instanceof n}function Ge(e,t,n){let r=n.ServerLockCollisionError;if(r===void 0||!(e instanceof r))return null;try{let e=n.readServerLock(n.resolveLockDir(t));return e&&e.kind===`mcp-spawned`?"An MCP-spawned server holds this lock; it should release on idle-shutdown (~30 min). Or run `ok stop`.":"OpenKnowledge server is already running on this project — check `ok status` or `ok stop`."}catch{return null}}function Ke(e){return new m(`start`).description(`Start the OpenKnowledge server (UI + API + MCP + collab on one port)`).option(`-p, --port <port>`,`Server port`,void 0).option(`--bind <address>`,`Bind address (repeatable; default 127.0.0.1 — loopback only)`,(e,t)=>[...t??[],e]).option(`--no-open-browser`,`Do not open the browser after start (interactive loopback starts open it by default)`).option(`--only <module>`,`Serve one module: 'server' (API + MCP only, no shell or browser)`,Te).option(`--idle-shutdown <duration>`,`Shut the server down after this long with no connected clients ('off', or a duration like 90s, 30m, 2h; default 30m)`,Oe).option(`--mode <mode>`,`Force dispatch mode: 'browser' or 'app'`,Re).option(`--serve-content-assets`,`Serve content assets from this server (now the default; kept for compatibility)`).option(`--react-shell-dist-dir <path>`,`Serve React shell from <path>`).addOption(new g(`--single-file <path>`,`No-project ephemeral single-file mode: scope the server to one markdown file (git + MCP off)`).hideHelp()).addOption(new g(`--project-dir <dir>`,`Throwaway project root for --single-file (where ephemeral .ok/ state lives)`).hideHelp()).addOption(new g(`--terminal-auth`,`Tell in-app agents that this server's client can run terminal sign-ins (the desktop app passes it when it has a terminal)`).hideHelp()).option(`--external-url <url>`,`Canonical external origin clients dial (sets server.externalUrl for this run) — its host joins the Host/Origin allowlists (CORS + external-Host admission). External exposure additionally requires consent (OK_ALLOW_EXTERNAL=1 or server.allowExternal).`,Ne).action(async t=>{let n=e();if(t.only===`server`&&t.reactShellDistDir!==void 0&&(process.stderr.write(`error: option '--only server' cannot be combined with '--react-shell-dist-dir'
|
|
4
4
|
`),process.exit(2)),t.projectDir!==void 0&&t.singleFile===void 0&&(process.stderr.write(`error: option '--project-dir' requires '--single-file'
|
|
5
5
|
`),process.exit(2)),t.mode===`app`){let e=[];if(t.port!==void 0&&e.push(`--port`),t.bind!==void 0&&e.push(`--bind`),t.only!==void 0&&e.push(`--only`),t.idleShutdown!==void 0&&e.push(`--idle-shutdown`),t.openBrowser===!1&&e.push(`--no-open-browser`),t.externalUrl!==void 0&&e.push(`--external-url`),e.length>0){let t=process.env.OK_LOG_LEVEL??`info`;(t===`debug`||t===`trace`)&&console.error(`--mode=app: ignoring ${e.join(`, `)}`)}let n=T(M());if(n.available){E({spawn:I},n);return}console.error(O(n.reason)),process.exit(1)}await Ve(n,t)})}export{Ge as C,W as D,V as E,Ke as S,Fe as T,ze as _,Ue as a,je as b,Q as c,Oe as d,Te as f,Le as g,He as h,Pe as i,We as l,we as m,X as n,Be as o,Ee as p,Ie as r,ke as s,Z as t,Ne as u,De as v,$ as w,Ae as x,Ve as y};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import{a as e,t}from"./rolldown-runtime-DPpTSio4.mjs";import{t as n}from"./chunk-B74TABJS-DAm9lxFL.mjs";import"./chunk-DXB73IDG-MLBj3lvC.mjs";import{t as r}from"./chunk-5QMZ5MUS-B37CnsNb.mjs";import{n as i,r as a,t as o}from"./chunk-74CEPOFO-BuzahJu2.mjs";import{t as s}from"./chunk-X2AJGDEF-CsSnWGW7.mjs";var c=t(((e,t)=>{var n=[0,1,3,7,15,31,63,127,255],r=function(e){this.stream=e,this.bitOffset=0,this.curByte=0,this.hasByte=!1};r.prototype._ensureByte=function(){this.hasByte||=(this.curByte=this.stream.readByte(),!0)},r.prototype.read=function(e){for(var t=0;e>0;){this._ensureByte();var r=8-this.bitOffset;if(e>=r)t<<=r,t|=n[r]&this.curByte,this.hasByte=!1,this.bitOffset=0,e-=r;else{t<<=e;var i=r-e;t|=(this.curByte&n[e]<<i)>>i,this.bitOffset+=e,e=0}}return t},r.prototype.seek=function(e){var t=e%8,n=(e-t)/8;this.bitOffset=t,this.stream.seek(n),this.hasByte=!1},r.prototype.pi=function(){var e=new Buffer(6),t;for(t=0;t<e.length;t++)e[t]=this.read(8);return e.toString(`hex`)},t.exports=r})),l=t(((e,t)=>{var n=function(){};n.prototype.readByte=function(){throw Error(`abstract method readByte() not implemented`)},n.prototype.read=function(e,t,n){for(var r=0;r<n;){var i=this.readByte();if(i<0)return r===0?-1:r;e[t++]=i,r++}return r},n.prototype.seek=function(e){throw Error(`abstract method seek() not implemented`)},n.prototype.writeByte=function(e){throw Error(`abstract method readByte() not implemented`)},n.prototype.write=function(e,t,n){var r;for(r=0;r<n;r++)this.writeByte(e[t++]);return n},n.prototype.flush=function(){},t.exports=n})),u=t(((e,t)=>{t.exports=(function(){var e=new Uint32Array([0,79764919,159529838,222504665,319059676,398814059,445009330,507990021,638119352,583659535,797628118,726387553,890018660,835552979,1015980042,944750013,1276238704,1221641927,1167319070,1095957929,1595256236,1540665371,1452775106,1381403509,1780037320,1859660671,1671105958,1733955601,2031960084,2111593891,1889500026,1952343757,2552477408,2632100695,2443283854,2506133561,2334638140,2414271883,2191915858,2254759653,3190512472,3135915759,3081330742,3009969537,2905550212,2850959411,2762807018,2691435357,3560074640,3505614887,3719321342,3648080713,3342211916,3287746299,3467911202,3396681109,4063920168,4143685023,4223187782,4286162673,3779000052,3858754371,3904687514,3967668269,881225847,809987520,1023691545,969234094,662832811,591600412,771767749,717299826,311336399,374308984,453813921,533576470,25881363,88864420,134795389,214552010,2023205639,2086057648,1897238633,1976864222,1804852699,1867694188,1645340341,1724971778,1587496639,1516133128,1461550545,1406951526,1302016099,1230646740,1142491917,1087903418,2896545431,2825181984,2770861561,2716262478,3215044683,3143675388,3055782693,3001194130,2326604591,2389456536,2200899649,2280525302,2578013683,2640855108,2418763421,2498394922,3769900519,3832873040,3912640137,3992402750,4088425275,4151408268,4197601365,4277358050,3334271071,3263032808,3476998961,3422541446,3585640067,3514407732,3694837229,3640369242,1762451694,1842216281,1619975040,1682949687,2047383090,2127137669,1938468188,2001449195,1325665622,1271206113,1183200824,1111960463,1543535498,1489069629,1434599652,1363369299,622672798,568075817,748617968,677256519,907627842,853037301,1067152940,995781531,51762726,131386257,177728840,240578815,269590778,349224269,429104020,491947555,4046411278,4126034873,4172115296,4234965207,3794477266,3874110821,3953728444,4016571915,3609705398,3555108353,3735388376,3664026991,3290680682,3236090077,3449943556,3378572211,3174993278,3120533705,3032266256,2961025959,2923101090,2868635157,2813903052,2742672763,2604032198,2683796849,2461293480,2524268063,2284983834,2364738477,2175806836,2238787779,1569362073,1498123566,1409854455,1355396672,1317987909,1246755826,1192025387,1137557660,2072149281,2135122070,1912620623,1992383480,1753615357,1816598090,1627664531,1707420964,295390185,358241886,404320391,483945776,43990325,106832002,186451547,266083308,932423249,861060070,1041341759,986742920,613929101,542559546,756411363,701822548,3316196985,3244833742,3425377559,3370778784,3601682597,3530312978,3744426955,3689838204,3819031489,3881883254,3928223919,4007849240,4037393693,4100235434,4180117107,4259748804,2310601993,2373574846,2151335527,2231098320,2596047829,2659030626,2470359227,2550115596,2947551409,2876312838,2788305887,2733848168,3165939309,3094707162,3040238851,2985771188]);return function(){var t=4294967295;this.getCRC=function(){return~t>>>0},this.updateCRC=function(n){t=t<<8^e[(t>>>24^n)&255]},this.updateCRCRun=function(n,r){for(;r-->0;)t=t<<8^e[(t>>>24^n)&255]}}})()})),d=t(((e,t)=>{t.exports={name:`seek-bzip`,version:`2.0.0`,contributors:[`C. Scott Ananian (http://cscott.net)`,`Eli Skeggs`,`Kevin Kwok`,`Rob Landley (http://landley.net)`],description:`a pure-JavaScript Node.JS module for random-access decoding bzip2 data`,main:`./lib/index.js`,repository:{type:`git`,url:`https://github.com/cscott/seek-bzip.git`},license:`MIT`,bin:{"seek-bunzip":`./bin/seek-bunzip`,"seek-table":`./bin/seek-bzip-table`},directories:{test:`test`},dependencies:{commander:`^6.0.0`},devDependencies:{fibers:`^5.0.0`,mocha:`^8.1.0`},scripts:{test:`mocha`}}})),f=e(t(((e,t)=>{var n=c(),r=l(),i=u(),a=d(),o=20,s=258,f=0,p=1,m=2,h=6,g=50,_=`314159265359`,v=`177245385090`,y=function(e,t){var n=e[t],r;for(r=t;r>0;r--)e[r]=e[r-1];return e[0]=n,n},b={OK:0,LAST_BLOCK:-1,NOT_BZIP_DATA:-2,UNEXPECTED_INPUT_EOF:-3,UNEXPECTED_OUTPUT_EOF:-4,DATA_ERROR:-5,OUT_OF_MEMORY:-6,OBSOLETE_INPUT:-7,END_OF_BLOCK:-8},x={};x[b.LAST_BLOCK]=`Bad file checksum`,x[b.NOT_BZIP_DATA]=`Not bzip data`,x[b.UNEXPECTED_INPUT_EOF]=`Unexpected input EOF`,x[b.UNEXPECTED_OUTPUT_EOF]=`Unexpected output EOF`,x[b.DATA_ERROR]=`Data error`,x[b.OUT_OF_MEMORY]=`Out of memory`,x[b.OBSOLETE_INPUT]=`Obsolete (pre 0.9.5) bzip format not supported.`;var S=function(e,t){var n=x[e]||`unknown error`;t&&(n+=`: `+t);var r=TypeError(n);throw r.errorCode=e,r},C=function(e,t){this.writePos=this.writeCurrent=this.writeCount=0,this._start_bunzip(e,t)};C.prototype._init_block=function(){return this._get_next_block()?(this.blockCRC=new i,!0):(this.writeCount=-1,!1)},C.prototype._start_bunzip=function(e,t){var r=new Buffer(4);(e.read(r,0,4)!==4||String.fromCharCode(r[0],r[1],r[2])!==`BZh`)&&S(b.NOT_BZIP_DATA,`bad magic`);var i=r[3]-48;(i<1||i>9)&&S(b.NOT_BZIP_DATA,`level out of range`),this.reader=new n(e),this.dbufSize=1e5*i,this.nextoutput=0,this.outputStream=t,this.streamCRC=0},C.prototype._get_next_block=function(){var e,t,n,r=this.reader,i=r.pi();if(i===v)return!1;i!==_&&S(b.NOT_BZIP_DATA),this.targetBlockCRC=r.read(32)>>>0,this.streamCRC=(this.targetBlockCRC^(this.streamCRC<<1|this.streamCRC>>>31))>>>0,r.read(1)&&S(b.OBSOLETE_INPUT);var a=r.read(24);a>this.dbufSize&&S(b.DATA_ERROR,`initial position out of bounds`);var c=r.read(16),l=new Buffer(256),u=0;for(e=0;e<16;e++)if(c&1<<15-e){var d=e*16;for(n=r.read(16),t=0;t<16;t++)n&1<<15-t&&(l[u++]=d+t)}var x=r.read(3);(x<m||x>h)&&S(b.DATA_ERROR);var C=r.read(15);C===0&&S(b.DATA_ERROR);var w=new Buffer(256);for(e=0;e<x;e++)w[e]=e;var T=new Buffer(C);for(e=0;e<C;e++){for(t=0;r.read(1);t++)t>=x&&S(b.DATA_ERROR);T[e]=y(w,t)}var E=u+2,D=[],O;for(t=0;t<x;t++){var k=new Buffer(E),A=new Uint16Array(o+1);for(c=r.read(5),e=0;e<E;e++){for(;(c<1||c>o)&&S(b.DATA_ERROR),r.read(1);)r.read(1)?c--:c++;k[e]=c}var j=M=k[0],M;for(e=1;e<E;e++)k[e]>M?M=k[e]:k[e]<j&&(j=k[e]);O={},D.push(O),O.permute=new Uint16Array(s),O.limit=new Uint32Array(o+2),O.base=new Uint32Array(o+1),O.minLen=j,O.maxLen=M;var N=0;for(e=j;e<=M;e++)for(A[e]=O.limit[e]=0,c=0;c<E;c++)k[c]===e&&(O.permute[N++]=c);for(e=0;e<E;e++)A[k[e]]++;for(N=c=0,e=j;e<M;e++)N+=A[e],O.limit[e]=N-1,N<<=1,c+=A[e],O.base[e+1]=N-c;O.limit[M+1]=Number.MAX_VALUE,O.limit[M]=N+A[M]-1,O.base[j]=0}var P=new Uint32Array(256);for(e=0;e<256;e++)w[e]=e;var F=0,I=0,ee=0,L,R=this.dbuf=new Uint32Array(this.dbufSize);for(E=0;;){for(E--||(E=g-1,ee>=C&&S(b.DATA_ERROR),O=D[T[ee++]]),e=O.minLen,t=r.read(e);e>O.maxLen&&S(b.DATA_ERROR),!(t<=O.limit[e]);e++)t=t<<1|r.read(1);t-=O.base[e],(t<0||t>=s)&&S(b.DATA_ERROR);var z=O.permute[t];if(z===f||z===p){F||(F=1,c=0),c+=z===f?F:2*F,F<<=1;continue}if(F)for(F=0,I+c>this.dbufSize&&S(b.DATA_ERROR),L=l[w[0]],P[L]+=c;c--;)R[I++]=L;if(z>u)break;I>=this.dbufSize&&S(b.DATA_ERROR),e=z-1,L=y(w,e),L=l[L],P[L]++,R[I++]=L}for((a<0||a>=I)&&S(b.DATA_ERROR),t=0,e=0;e<256;e++)n=t+P[e],P[e]=t,t=n;for(e=0;e<I;e++)L=R[e]&255,R[P[L]]|=e<<8,P[L]++;var B=0,te=0,V=0;return I&&(B=R[a],te=B&255,B>>=8,V=-1),this.writePos=B,this.writeCurrent=te,this.writeCount=I,this.writeRun=V,!0},C.prototype._read_bunzip=function(e,t){var n,r,i;if(this.writeCount<0)return 0;var a=this.dbuf,o=this.writePos,s=this.writeCurrent,c=this.writeCount;this.outputsize;for(var l=this.writeRun;c;){for(c--,r=s,o=a[o],s=o&255,o>>=8,l++===3?(n=s,i=r,s=-1):(n=1,i=s),this.blockCRC.updateCRCRun(i,n);n--;)this.outputStream.writeByte(i),this.nextoutput++;s!=r&&(l=0)}return this.writeCount=c,this.blockCRC.getCRC()!==this.targetBlockCRC&&S(b.DATA_ERROR,`Bad block CRC (got `+this.blockCRC.getCRC().toString(16)+` expected `+this.targetBlockCRC.toString(16)+`)`),this.nextoutput};var w=function(e){if(`readByte`in e)return e;var t=new r;return t.pos=0,t.readByte=function(){return e[this.pos++]},t.seek=function(e){this.pos=e},t.eof=function(){return this.pos>=e.length},t},T=function(e){var t=new r,n=!0;if(e){if(typeof e==`number`)t.buffer=new Buffer(e),n=!1;else if(`writeByte`in e)return e;else t.buffer=e,n=!1}else t.buffer=new Buffer(16384);return t.pos=0,t.writeByte=function(e){if(n&&this.pos>=this.buffer.length){var t=new Buffer(this.buffer.length*2);this.buffer.copy(t),this.buffer=t}this.buffer[this.pos++]=e},t.getBuffer=function(){if(this.pos!==this.buffer.length){if(!n)throw TypeError(`outputsize does not match decoded input`);var e=new Buffer(this.pos);this.buffer.copy(e,0,0,this.pos),this.buffer=e}return this.buffer},t._coerced=!0,t};C.Err=b,C.decode=function(e,t,n){for(var r=w(e),i=T(t),a=new C(r,i);!(`eof`in r&&r.eof());)if(a._init_block())a._read_bunzip();else{var o=a.reader.read(32)>>>0;if(o!==a.streamCRC&&S(b.DATA_ERROR,`Bad stream CRC (got `+a.streamCRC.toString(16)+` expected `+o.toString(16)+`)`),n&&`eof`in r&&!r.eof())a._start_bunzip(r,i);else break}if(`getBuffer`in i)return i.getBuffer()},C.decodeBlock=function(e,t,n){var r=w(e),a=T(n),o=new C(r,a);if(o.reader.seek(t),o._get_next_block()&&(o.blockCRC=new i,o.writeCopies=0,o._read_bunzip()),`getBuffer`in a)return a.getBuffer()},C.table=function(e,t,n){var i=new r;i.delegate=w(e),i.pos=0,i.readByte=function(){return this.pos++,this.delegate.readByte()},i.delegate.eof&&(i.eof=i.delegate.eof.bind(i.delegate));var a=new r;a.pos=0,a.writeByte=function(){this.pos++};for(var o=new C(i,a),s=o.dbufSize;!(`eof`in i&&i.eof());){var c=i.pos*8+o.reader.bitOffset;if(o.reader.hasByte&&(c-=8),o._init_block()){var l=a.pos;o._read_bunzip(),t(c,a.pos-l)}else if(o.reader.read(32),n&&`eof`in i&&!i.eof())o._start_bunzip(i,a),console.assert(o.dbufSize===s,`shouldn't change block size within multistream file`);else break}},C.Stream=r,C.version=a.version,C.license=a.license,t.exports=C}))(),1),p=`file`,m=`link`,h=`symlink`,g=`directory`,_={file:`0`,link:`1`,symlink:`2`,"character-device":`3`,"block-device":`4`,directory:`5`,fifo:`6`,"pax-header":`x`,"pax-global-header":`g`,"gnu-long-name":`L`,"gnu-long-link-name":`K`},v={0:p,1:m,2:h,3:`character-device`,4:`block-device`,5:g,6:`fifo`,x:`pax-header`,g:`pax-global-header`,L:`gnu-long-name`,K:`gnu-long-link-name`},y=new Uint8Array(512),b=new Uint8Array,x=new TextEncoder,S=new TextDecoder;function C(e,t,n,r){r&&x.encodeInto(r,e.subarray(t,t+n))}function w(e,t,n,r){if(r===void 0)return;let i=r.toString(8).padStart(n-1,`0`);x.encodeInto(i,e.subarray(t,t+n-1))}function T(e,t,n){let r=e.indexOf(0,t),i=r===-1||r>t+n?t+n:r;return S.decode(e.subarray(t,i))}function E(e,t,n){let r=0,i=t+n;for(let n=t;n<i;n++){let t=e[n];if(t===0)break;t!==32&&(r=r*8+(t-48))}return r}function D(e,t,n){if(e[t]&128){let r=0;r=e[t]&127;for(let i=1;i<n;i++)r=r*256+e[t+i];if(!Number.isSafeInteger(r))throw Error(`TAR number too large`);return r}return E(e,t,n)}var O=e=>e.type===`directory`||e.type===`symlink`||e.type===`link`||e.type===`character-device`||e.type===`block-device`||e.type===`fifo`;async function k(e){if(e==null)return b;if(e instanceof Uint8Array)return e;if(typeof e==`string`)return x.encode(e);if(e instanceof ArrayBuffer)return new Uint8Array(e);if(e instanceof Blob)return new Uint8Array(await e.arrayBuffer());throw TypeError(`Unsupported content type for entry body.`)}var A=(e,t)=>{let n=e.split(`/`).filter(Boolean);return t>=n.length?``:n.slice(t).join(`/`)};function j(e,t){let{strip:n,filter:r,map:i}=t;if(!n&&!r&&!i)return e;let a={...e};if(n&&n>0){let e=A(a.name,n);if(!e)return null;if(a.name=a.type===`directory`&&!e.endsWith(`/`)?`${e}/`:e,a.linkname){let e=a.linkname.startsWith(`/`);if(e||a.type===`link`){let t=A(a.linkname,n);a.linkname=e?`/${t}`||`/`:t}}}if(r?.(a)===!1)return null;let o=i?i(a):a;return o&&(!o.name||!o.name.trim()||o.name===`.`||o.name===`/`)?null:o}var M=32,N=48;function P(e){let t=E(e,148,8),n=0;for(let t=0;t<e.length;t++)n+=t>=148&&t<156?M:e[t];return t===n}function F(e){e.fill(M,148,156);let t=0;for(let n of e)t+=n;for(let n=153;n>=148;n--)e[n]=(t&7)+N,t>>=3;e[154]=0,e[155]=M}var I=256;function ee(e){let t={};x.encode(e.name).length>100&&L(e.name)===null&&(t.path=e.name),e.linkname&&x.encode(e.linkname).length>100&&(t.linkpath=e.linkname),e.uname&&x.encode(e.uname).length>32&&(t.uname=e.uname),e.gname&&x.encode(e.gname).length>32&&(t.gname=e.gname),e.uid!=null&&e.uid>2097151&&(t.uid=String(e.uid)),e.gid!=null&&e.gid>2097151&&(t.gid=String(e.gid)),e.size!=null&&e.size>8589934591&&(t.size=String(e.size)),e.pax&&Object.assign(t,e.pax);let n=Object.entries(t);if(n.length===0)return null;let r=x.encode(n.map(([e,t])=>{let n=`${e}=${t}
|
|
2
|
-
`,r=x.encode(n).length+1,i=r+String(r).length;return i=r+String(i).length,`${i} ${n}`}).join(``));return{paxHeader:R({name:S.decode(x.encode(`PaxHeader/${e.name}`).slice(0,100)),size:r.length,type:`pax-header`,mode:420,mtime:e.mtime,uname:e.uname,gname:e.gname,uid:e.uid,gid:e.gid}),paxBody:r}}function L(e){let t=x.encode(e).length;if(t<=100||t>I)return null;for(let t=e.length-1;t>0;t--){if(e[t]!==`/`)continue;let n=e.slice(0,t),r=e.slice(t+1);if(x.encode(n).length<=155&&x.encode(r).length<=100)return{prefix:n,name:r}}return null}function R(e){let t=new Uint8Array(512),n=O(e)?0:e.size??0,r=e.name,i=``;if(!e.pax?.path){let e=L(r);e&&(r=e.name,i=e.prefix)}return C(t,0,100,r),w(t,100,8,e.mode??(e.type===`directory`?493:420)),w(t,108,8,e.uid??0),w(t,116,8,e.gid??0),w(t,124,12,n),w(t,136,12,Math.floor((e.mtime?.getTime()??Date.now())/1e3)),C(t,156,1,_[e.type??`file`]),C(t,157,100,e.linkname),C(t,257,6,`ustar\0`),C(t,263,2,`00`),C(t,265,32,e.uname),C(t,297,32,e.gname),C(t,345,155,i),F(t),t}function z(e,t){if(t&&!P(e))throw Error(`Invalid tar header checksum.`);let n=T(e,156,1),r={name:T(e,0,100),mode:E(e,100,8),uid:D(e,108,8),gid:D(e,116,8),size:D(e,124,12),mtime:new Date(D(e,136,12)*1e3),type:v[n]||`file`,linkname:T(e,157,100)},i=T(e,257,6);return O(r)&&(r.size=0),i.trim()===`ustar`&&(r.uname=T(e,265,32),r.gname=T(e,297,32)),i===`ustar`&&(r.prefix=T(e,345,155)),r}var B={path:[`name`,e=>e],linkpath:[`linkname`,e=>e],size:[`size`,e=>parseInt(e,10)],mtime:[`mtime`,parseFloat],uid:[`uid`,e=>parseInt(e,10)],gid:[`gid`,e=>parseInt(e,10)],uname:[`uname`,e=>e],gname:[`gname`,e=>e]};function te(e){let t=new TextDecoder(`utf-8`),n=Object.create(null),r=Object.create(null),i=0;for(;i<e.length;){let a=e.indexOf(32,i);if(a===-1)break;let o=parseInt(t.decode(e.subarray(i,a)),10);if(Number.isNaN(o)||o===0)break;let s=i+o,[c,l]=t.decode(e.subarray(a+1,s-1)).split(`=`,2);if(c&&l!==void 0&&(r[c]=l,Object.hasOwn(B,c))){let[e,t]=B[c],r=t(l);(typeof r==`string`||!Number.isNaN(r))&&(n[e]=r)}i=s}return Object.keys(r).length>0&&(n.pax=r),n}function V(e,t){t.name!==void 0&&(e.name=t.name),t.linkname!==void 0&&(e.linkname=t.linkname),t.size!==void 0&&(e.size=t.size),t.mtime!==void 0&&(e.mtime=new Date(t.mtime*1e3)),t.uid!==void 0&&(e.uid=t.uid),t.gid!==void 0&&(e.gid=t.gid),t.uname!==void 0&&(e.uname=t.uname),t.gname!==void 0&&(e.gname=t.gname),t.pax&&(e.pax=Object.assign({},e.pax??{},t.pax))}function ne(e){switch(e){case`pax-global-header`:case`pax-header`:return te;case`gnu-long-name`:return e=>({name:T(e,0,e.length)});case`gnu-long-link-name`:return e=>({linkname:T(e,0,e.length)});default:return}}function re(e){let t=R(e),n=ee(e);if(!n)return[t];let r=-n.paxBody.length&511,i=r>0?[y.subarray(0,r)]:[];return[n.paxHeader,n.paxBody,...i,t]}var ie=new Uint8Array(1024);function ae(e,t,n){let r=null,i=0,a=!1,o=e=>{let n=Error(e);throw t(n),n};return{add(n){a&&o(`No new tar entries after finalize.`),r!==null&&o(`Previous entry must be completed before adding a new one`);let s=O(n)?0:n.size;(!Number.isSafeInteger(s)||s<0)&&o(`Invalid tar entry size.`);try{let t=re({...n,size:s});for(let n of t)e(n);r={...n,size:s},i=0}catch(e){t(e)}},write(n){r||o(`No active tar entry.`),a&&o(`Cannot write data after finalize.`);let s=i+n.length;s>r.size&&o(`"${r.name}" exceeds given size of ${r.size} bytes.`);try{i=s,e(n)}catch(e){t(e)}},endEntry(){r||o(`No active entry to end.`),a&&o(`Cannot end entry after finalize.`);try{i!==r.size&&o(`Size mismatch for "${r.name}".`);let t=-r.size&511;t>0&&e(new Uint8Array(t)),r=null,i=0}catch(e){throw t(e),e}},finalize(){a&&o(`Archive has already been finalized`),r!==null&&o(`Cannot finalize while an entry is still active`);try{e(ie),a=!0,n&&n()}catch(e){t(e)}}}}var H=256;function oe(){let e=Array(H),t=e.length-1,n=0,r=0,i=0,a=a=>{let o=e[n];a===o.length?(e[n]=b,n=n+1&t):e[n]=o.subarray(a),i-=a,i===0&&e.length>H&&(e=Array(H),t=H-1,n=0,r=0)};function o(t,r){if(r){let o=0,s=Math.min(t,i);for(;s>0;){let t=e[n],i=Math.min(s,t.length),c=i===t.length?t:t.subarray(0,i);if(a(i),s-=i,o+=i,!r(c))break}return o}if(i<t)return null;if(t===0)return b;let o=e[n];if(o.length>=t){let e=o.length===t?o:o.subarray(0,t);return a(t),e}let s=new Uint8Array(t),c=0,l=t;for(;l>0;){let t=e[n],r=Math.min(l,t.length);s.set(r===t.length?t:t.subarray(0,r),c),c+=r,l-=r,a(r)}return s}return{push:a=>{if(a.length===0)return;let o=r+1&t;if(o===n){let i=e.length,a=i*2,s=Array(a),c=r-n+i&i-1;if(n<r)for(let t=0;t<c;t++)s[t]=e[n+t];else if(c>0){let t=i-n;for(let r=0;r<t;r++)s[r]=e[n+r];for(let n=0;n<r;n++)s[t+n]=e[n]}e=s,t=a-1,n=0,r=c,o=r+1&t}e[r]=a,r=o,i+=a.length},available:()=>i,peek:r=>{if(i<r)return null;if(r===0)return b;let a=e[n];if(a.length>=r)return a.length===r?a:a.subarray(0,r);let o=new Uint8Array(r),s=0,c=n;for(;s<r;){let n=e[c],i=Math.min(r-s,n.length);i===n.length?o.set(n,s):o.set(n.subarray(0,i),s),s+=i,c=c+1&t}return o},discard:t=>{if(t>i)throw Error(`Too many bytes consumed`);if(t===0)return;let r=t;for(;r>0;){let t=e[n],i=Math.min(r,t.length);a(i),r-=i}},pull:o}}var se=0,U=1,W=Error(`Tar archive is truncated.`);function ce(e={}){let t=e.strict??!1,{available:n,peek:r,push:i,discard:a,pull:o}=oe(),s=se,c=!1,l=!1,u=!1,d=null,f={},p={},m={isEntryActive:()=>s===U,isBodyComplete:()=>!d||d.remaining===0,canFinish:()=>!d||n()>=d.remaining+d.padding,write(e){if(c)throw Error(`Archive already ended.`);i(e)},end(){c=!0},readHeader(){if(s!==se)throw Error(`Cannot read header while an entry is active`);if(!l)for(;!l;){if(n()<512){if(c){if(n()>0&&t)throw W;l=!0;return}return null}let e=r(512);if(le(e)){if(n()<1024){if(c){if(t)throw W;l=!0;return}return null}if(le(r(1024).subarray(512))){a(1024),l=!0,u=!0;return}if(t)throw Error(`Invalid tar header.`);a(512);continue}let i;try{i=z(e,t)}catch(e){if(t)throw e;a(512);continue}let m=ne(i.type);if(m){let e=i.size+(-i.size&511);if(n()<512+e){if(c&&t)throw W;return null}a(512);let r=m(o(e).subarray(0,i.size)),s=i.type===`pax-global-header`?f:p;for(let e in r)s[e]=r[e];continue}a(512);let h=i;return i.prefix&&(h.name=`${i.prefix}/${h.name}`),V(h,f),V(h,p),h.name.endsWith(`/`)&&h.type===`file`&&(h.type=g),p={},d={header:h,remaining:h.size,padding:-h.size&511},s=U,h}},streamBody(e){if(s!==U||!d||d.remaining===0)return 0;let t=Math.min(d.remaining,n());if(t===0)return 0;let r=o(t,e);return d.remaining-=r,r},skipPadding(){if(s!==U||!d)return!0;if(d.remaining>0)throw Error(`Body not fully consumed`);return n()<d.padding?!1:(a(d.padding),d=null,s=se,!0)},skipEntry(){if(s!==U||!d)return!0;let e=Math.min(d.remaining,n());return e>0&&(a(e),d.remaining-=e),d.remaining>0?!1:m.skipPadding()},validateEOF(){if(t){if(!u)throw W;if(n()>0&&o(n()).some(e=>e!==0))throw Error(`Invalid EOF.`)}}};return m}function le(e){if(e.byteOffset%8==0){let t=new BigUint64Array(e.buffer,e.byteOffset,e.length/8);for(let e=0;e<t.length;e++)if(t[e]!==0n)return!1;return!0}for(let t=0;t<e.length;t++)if(e[t]!==0)return!1;return!0}function ue(){return new CompressionStream(`gzip`)}function de(){return new DecompressionStream(`gzip`)}function fe(){let e,t;return{readable:new ReadableStream({start(n){e=n,t=ae(n.enqueue.bind(n),n.error.bind(n),n.close.bind(n))}}),controller:{add(n){let r=O(n);return t.add(n),r&&t.endEntry(),new WritableStream({write(e){t.write(e)},close(){r||t.endEntry()},abort(t){e.error(t)}})},finalize(){t.finalize()},error(t){e.error(t)}}}}async function pe(e){let t=[],n=e.getReader(),r=0;try{for(;;){let{done:e,value:i}=await n.read();if(e)break;t.push(i),r+=i.length}let e=new Uint8Array(r),i=0;for(let n of t)e.set(n,i),i+=n.length;return e}finally{n.releaseLock()}}var me=e=>e.pipeTo(new WritableStream);function he(e={}){let t=ce(e),n=e.strict??!1,r=null,i=null,a=!1,o=!1,s=!1,c=!1,l=()=>{try{i?.close()}catch{}i=null},u=e=>{if(!c){c=!0;try{i?.error(e)}catch{}i=null;try{r.error(e)}catch{}r=null}},d=()=>{if(!c){c=!0,l();try{r.close()}catch{}r=null}},f=()=>{if(n)throw Error(`Tar archive is truncated.`);d()},p=()=>{if(!(a||c||!r)){a=!0;try{for(;;){if(o){s&&(t.validateEOF(),d());break}if(t.isEntryActive()){if(s&&!t.canFinish()){f();break}if(i){if((i.desiredSize??1)<=0)break;if(t.streamBody(e=>(i.enqueue(e),(i.desiredSize??1)>0))===0&&!t.isBodyComplete()){s&&f();break}}else if(!t.skipEntry()){s&&f();break}if(t.isBodyComplete()&&(l(),!t.skipPadding())){s&&f();break}}else{if((r.desiredSize??0)<0)break;let e=t.readHeader();if(e===null){s&&d();break}if(e===void 0){if(s){t.validateEOF(),d();break}o=!0;break}r.enqueue({header:e,body:new ReadableStream({start(t){e.size===0?t.close():i=t},pull:p,cancel(){i=null,p()}})})}}}catch(e){throw u(e),e}finally{a=!1}}};return{readable:new ReadableStream({start(e){r=e},pull:p,cancel(e){e===void 0?d():u(e)}},{highWaterMark:2}),writable:new WritableStream({write(e){try{if(o&&n&&e.some(e=>e!==0))throw Error(`Invalid EOF.`);t.write(e),p()}catch(e){throw u(e),e}},close(){try{s=!0,t.end(),p()}catch(e){throw u(e),e}},abort(e){u(e)}})}}async function ge(e){let{readable:t,controller:n}=fe();return await(async()=>{for(let t of e){let e=n.add(t.header),r=`body`in t?t.body:t.data;if(!r){await e.close();continue}if(r instanceof ReadableStream)await r.pipeTo(e);else if(r instanceof Blob)await r.stream().pipeTo(e);else try{let t=await k(r);if(t.length>0){let n=e.getWriter();await n.write(t),await n.close()}else await e.close()}catch{throw TypeError(`Unsupported content type for entry "${t.header.name}".`)}}})().then(()=>n.finalize()).catch(e=>n.error(e)),new Uint8Array(await pe(t))}async function _e(e,t={}){let n=e instanceof ReadableStream?e:new ReadableStream({start(t){t.enqueue(e instanceof Uint8Array?e:new Uint8Array(e)),t.close()}}),r=[],i=n.pipeThrough(he(t));for await(let e of i){let n;try{n=j(e.header,t)}catch(t){throw await e.body.cancel(),t}if(n===null){await me(e.body);continue}O(n)?(await me(e.body),r.push({header:n})):r.push({header:n,data:await pe(e.body)})}return r}var ve=(()=>{let e=new Uint32Array(256);for(let t=0;t<256;t++){let n=t<<24;for(let e=0;e<8;e++)n=n&2147483648?n<<1^79764919:n<<1;e[t]=n>>>0}return e})();function ye(e,t){return(e<<8^ve[(e>>>24^t)&255])>>>0}var be=class{buffer=[];current=0;bitCount=0;writeBits(e,t){for(let n=e-1;n>=0;n--)this.current=this.current<<1|t>>>n&1,this.bitCount++,this.bitCount===8&&(this.buffer.push(this.current),this.current=0,this.bitCount=0)}writeBit(e){this.current=this.current<<1|e&1,this.bitCount++,this.bitCount===8&&(this.buffer.push(this.current),this.current=0,this.bitCount=0)}finish(){return this.bitCount>0&&this.buffer.push(this.current<<8-this.bitCount),new Uint8Array(this.buffer)}};function xe(e){let t=[],n=0;for(;n<e.length;){let r=e[n],i=1;for(;n+i<e.length&&e[n+i]===r&&i<255;)i++;i>=4?(t.push(r,r,r,r),t.push(i-4),n+=i):(t.push(r),n++)}return new Uint8Array(t)}function Se(e){let t=e.length;if(t===0)return{transformed:new Uint8Array,pointer:0};let n=Ce(e),r=new Uint8Array(t),i=0;for(let a=0;a<t;a++)n[a]===0?(i=a,r[a]=e[t-1]):r[a]=e[n[a]-1];return{transformed:r,pointer:i}}function Ce(e){let t=e.length,n=new Int32Array(t),r=new Int32Array(t);for(let i=0;i<t;i++)n[i]=i,r[i]=e[i];for(let e=1;e<t;e*=2){let i=r.slice();n.sort((n,r)=>i[n]===i[r]?i[(n+e)%t]-i[(r+e)%t]:i[n]-i[r]),r[n[0]]=0;for(let a=1;a<t;a++)i[n[a]]===i[n[a-1]]&&i[(n[a]+e)%t]===i[(n[a-1]+e)%t]?r[n[a]]=r[n[a-1]]:r[n[a]]=r[n[a-1]]+1;if(r[n[t-1]]===t-1)break}return n}function we(e,t){let n=[];for(let e=0;e<256;e++)t[e]&&n.push(e);let r=Array(256).fill(-1);for(let e=0;e<n.length;e++)r[n[e]]=e;let i=new Uint16Array(e.length),a=n.slice();for(let t=0;t<e.length;t++){let n=e[t],r=0;for(;a[r]!==n;)r++;if(i[t]=r,r>0){let e=a[r];for(let e=r;e>0;e--)a[e]=a[e-1];a[0]=e}}return{encoded:i,length:e.length}}function Te(e,t,n){let r=n+1,i=[],a=0;for(;a<t;)if(e[a]===0){let n=0;for(;a<t&&e[a]===0;)n++,a++;let r=n;for(;r>0;)r--,r&1?i.push(1):i.push(0),r>>>=1}else i.push(e[a]+1),a++;i.push(r);let o=new Uint16Array(i.length);for(let e=0;e<i.length;e++)o[e]=i[e];return{symbols:o,length:i.length,eob:r}}function Ee(e,t,n){if(t<=1){let t=Array(e.length).fill(0);for(let n=0;n<e.length;n++)e[n]>0&&(t[n]=1);return{codeLengths:t,maxLen:1,minLen:1}}let r=[];for(let t=0;t<e.length;t++)e[t]>0&&r.push({freq:e[t],symbol:t,left:null,right:null});if(r.length===0)return{codeLengths:Array(e.length).fill(0),maxLen:0,minLen:0};if(r.length===1){let t=Array(e.length).fill(0);return t[r[0].symbol]=1,{codeLengths:t,maxLen:1,minLen:1}}for(;r.length>1;){r.sort((e,t)=>e.freq-t.freq);let e=r.shift(),t=r.shift();r.push({freq:e.freq+t.freq,symbol:-1,left:e,right:t})}let i=Array(e.length).fill(0);function a(e,t){if(!e.left&&!e.right){i[e.symbol]=t;return}e.left&&a(e.left,t+1),e.right&&a(e.right,t+1)}a(r[0],0);let o=!0;for(;o;){o=!1;for(let e=0;e<i.length;e++)i[e]>n&&(i[e]=n,o=!0);if(o){let e=0;for(let t=0;t<i.length;t++)i[t]>0&&(e+=1/(1<<i[t]));if(e>1)for(let t=1;t<n&&e>1;t++)for(let n=0;n<i.length&&e>1;n++)i[n]===t&&(i[n]++,e-=1/(1<<t)-1/(1<<t+1));o=!1;for(let e=0;e<i.length;e++)if(i[e]>n){o=!0;break}}}let s=n,c=0;for(let e=0;e<i.length;e++)i[e]>0&&(i[e]<s&&(s=i[e]),i[e]>c&&(c=i[e]));return{codeLengths:i,maxLen:c,minLen:s}}function De(e,t){let n=Array(t).fill(0),r=e.slice(0,t),i=Math.max(...r,0),a=Array(i+1).fill(0);for(let e=0;e<t;e++)r[e]>0&&a[r[e]]++;let o=Array(i+1).fill(0),s=0;for(let e=1;e<=i;e++)s=s+a[e-1]<<1,o[e]=s;for(let e=0;e<t;e++)r[e]>0&&(n[e]=o[r[e]]++);return{codes:n,lengths:r}}function Oe(e,t,n){e.writeBits(24,3227993),e.writeBits(24,2511705),e.writeBits(32,n),e.writeBit(0);let{transformed:r,pointer:i}=Se(xe(t));e.writeBits(24,i);let a=Array(256).fill(!1);for(let e=0;e<r.length;e++)a[r[e]]=!0;let o=Array(16).fill(!1);for(let e=0;e<16;e++)for(let t=0;t<16;t++)if(a[e*16+t]){o[e]=!0;break}for(let t=0;t<16;t++)e.writeBit(+!!o[t]);for(let t=0;t<16;t++)if(o[t])for(let n=0;n<16;n++)e.writeBit(+!!a[t*16+n]);let s=0;for(let e=0;e<256;e++)a[e]&&s++;let{encoded:c,length:l}=we(r,a),{symbols:u,length:d}=Te(c,l,s),f=s+2,p=Math.ceil(d/50),m;m=d<200?2:d<600?3:d<1200?4:d<2400?5:6,m>p&&(m=Math.max(2,p));let h=[];for(let e=0;e<m;e++)h.push(Array(f).fill(0));let g=new Int32Array(p);for(let e=0;e<p;e++)g[e]=e%m;for(let e=0;e<p;e++){let t=e*50,n=Math.min(t+50,d),r=g[e];for(let e=t;e<n;e++)h[r][u[e]]++}function _(e){for(let t=0;t<f;t++)e[t]<1&&(e[t]=1)}let v=[];for(let e=0;e<m;e++)_(h[e]),v.push(Ee(h[e],f,20));for(let e=0;e<4;e++){for(let e=0;e<m;e++)h[e].fill(0);for(let e=0;e<p;e++){let t=e*50,n=Math.min(t+50,d),r=0,i=1/0;for(let e=0;e<m;e++){let a=0;for(let r=t;r<n;r++)a+=v[e].codeLengths[u[r]]||20;a<i&&(i=a,r=e)}g[e]=r;for(let e=t;e<n;e++)h[r][u[e]]++}for(let e=0;e<m;e++)_(h[e]),v[e]=Ee(h[e],f,20)}e.writeBits(3,m),e.writeBits(15,p);let y=[],b=[];for(let e=0;e<m;e++)b.push(e);for(let e=0;e<p;e++){let t=g[e],n=0;for(;b[n]!==t;)n++;if(y.push(n),n>0){let e=b[n];for(let e=n;e>0;e--)b[e]=b[e-1];b[0]=e}}for(let t=0;t<p;t++){for(let n=0;n<y[t];n++)e.writeBit(1);e.writeBit(0)}for(let t=0;t<m;t++){let n=v[t].codeLengths,r=n[0];e.writeBits(5,r);for(let t=0;t<f;t++){let i=n[t];for(;r<i;)e.writeBit(1),e.writeBit(0),r++;for(;r>i;)e.writeBit(1),e.writeBit(1),r--;e.writeBit(0)}}for(let e=0;e<m;e++){let{codes:t,lengths:n}=De(v[e].codeLengths,f);v[e]=Object.assign(v[e],{_codes:t,_lengths:n})}let x=0,S=0;for(let t=0;t<d;t++){(S===0||S>=50)&&(t>0&&x++,S=0);let n=v[g[x]],r=u[t],i=n._lengths[r],a=n._codes[r];i>0&&e.writeBits(i,a),S++}}var ke=10485760;function Ae(e,t=9,n=ke){if(t<1||t>9)throw Error(`Block size level must be 1-9`);if(e.length>n)throw Error(`Input too large for bzip2 compression (${e.length} bytes, max ${n})`);let r=t*1e5,i=new be;i.writeBits(8,66),i.writeBits(8,90),i.writeBits(8,104),i.writeBits(8,48+t);let a=0,o=0;for(;o<e.length;){let t=Math.min(o+r,e.length),n=e.subarray(o,t),s=4294967295;for(let e=0;e<n.length;e++)s=ye(s,n[e]);s=~s>>>0,a=(a<<1|a>>>31)>>>0,a=(a^s)>>>0,Oe(i,n,s),o=t}return i.writeBits(24,1536581),i.writeBits(24,3690640),i.writeBits(32,a),i.finish()}var G=null,K=null;async function je(){if(G)return G;if(K)throw K;try{return G=await r.runTrustedAsync(()=>import(`./lzma-C5bZvzmx.mjs`)),G}catch{throw K=Error(`xz compression requires node-liblzma which failed to load. Install liblzma-dev (apt) or xz (brew) and reinstall dependencies.`),K}}var q=null,J=null;async function Me(){if(q)return q;if(J)throw J;try{return q=await r.runTrustedAsync(()=>import(`./lib-DtUfeRTs.mjs`).then(t=>e(t.default,1))),q}catch{throw J=Error(`zstd compression requires @mongodb-js/zstd which is not installed. Install it with: npm install @mongodb-js/zstd`),J}}var Y=104857600,Ne=512,Pe=1e4;function Fe(e){let t=`file`;e.isDirectory?t=`directory`:e.isSymlink&&(t=`symlink`);let n=e.name;e.isDirectory&&!n.endsWith(`/`)&&(n+=`/`);let r;e.content!==void 0&&(r=typeof e.content==`string`?new TextEncoder().encode(e.content):e.content);let i=e.isDirectory||e.isSymlink?0:r?.length??0;return{header:{name:n,mode:e.mode??(e.isDirectory?493:420),uid:e.uid??0,gid:e.gid??0,size:i,mtime:e.mtime??new Date,type:t,linkname:e.linkTarget??``,uname:`user`,gname:`user`},body:r}}async function X(e){return ge(e.map(Fe))}async function Ie(e){let t=await X(e),n=new ReadableStream({start(e){e.enqueue(t),e.close()}}).pipeThrough(ue()).getReader(),r=[];for(;;){let{done:e,value:t}=await n.read();if(e)break;r.push(t)}let i=r.reduce((e,t)=>e+t.length,0),a=new Uint8Array(i),o=0;for(let e of r)a.set(e,o),o+=e.length;return a}async function Z(e){if(e.length>Y)return{entries:[],error:`Archive too large (max ${Y} bytes)`};if(e.length<Ne||e.length%Ne!==0)return{entries:[],error:`Invalid tar archive format`};try{let t=await _e(e),n=[];for(let e of t){if(n.length>=Pe)return{entries:n,error:`Too many entries (max ${Pe})`};let t=`file`;switch(e.header.type){case`directory`:t=`directory`;break;case`symlink`:t=`symlink`;break;case`link`:t=`hardlink`;break;case`file`:t=`file`;break;default:t=`other`}n.push({name:e.header.name,mode:e.header.mode??420,uid:e.header.uid??0,gid:e.header.gid??0,size:e.header.size,mtime:e.header.mtime??new Date,type:t,linkTarget:e.header.linkname||void 0,content:e.data??new Uint8Array})}return{entries:n}}catch(e){return{entries:[],error:e instanceof Error?e.message:`Unknown error`}}}async function Le(e){if(e.length>Y)return{entries:[],error:`Archive too large (max ${Y} bytes)`};try{let t=new ReadableStream({start(t){t.enqueue(e),t.close()}}).pipeThrough(de()).getReader(),n=[],r=0;for(;;){let{done:e,value:i}=await t.read();if(e)break;if(r+=i.length,r>Y)return await t.cancel(),{entries:[],error:`Decompressed archive too large (max ${Y} bytes)`};n.push(i)}let i=new Uint8Array(r),a=0;for(let e of n)i.set(e,a),a+=e.length;return Z(i)}catch(e){return{entries:[],error:`Decompression failed: ${e instanceof Error?e.message:`Unknown error`}`}}}function Re(e){return e.length>=2&&e[0]===31&&e[1]===139}function ze(e){return e.length>=3&&e[0]===66&&e[1]===90&&e[2]===104}function Be(e){return e.length>=6&&e[0]===253&&e[1]===55&&e[2]===122&&e[3]===88&&e[4]===90&&e[5]===0}async function Ve(e){let t=f.default.decode(Buffer.from(e));return new Uint8Array(t)}async function He(e){return Ae(e,9)}async function Ue(e){let t=(await je()).unxzSync(Buffer.from(e));return new Uint8Array(t)}async function We(e){let t=(await je()).xzSync(Buffer.from(e));return new Uint8Array(t)}async function Ge(e){return He(await X(e))}async function Ke(e,t){if(!t?.allowNativeCodecs)throw Error(`xz compression is disabled by default (native codec risk). Pass { allowNativeCodecs: true } to opt in.`);return We(await X(e))}async function qe(e){if(e.length>Y)return{entries:[],error:`Archive too large (max ${Y} bytes)`};try{let t=await Ve(e);return t.length>Y?{entries:[],error:`Decompressed archive too large (max ${Y} bytes)`}:Z(t)}catch(e){return{entries:[],error:e instanceof Error?e.message:`Unknown error`}}}async function Je(e,t){if(!t?.allowNativeCodecs)return{entries:[],error:`xz decompression is disabled by default (native codec risk). Pass { allowNativeCodecs: true } to opt in, or decompress the archive externally before extraction.`};if(e.length>Y)return{entries:[],error:`Archive too large (max ${Y} bytes)`};try{let t=await Ue(e);return t.length>Y?{entries:[],error:`Decompressed archive too large (max ${Y} bytes)`}:Z(t)}catch(e){return{entries:[],error:e instanceof Error?e.message:`Unknown error`}}}function Ye(e){return e.length>=4&&e[0]===40&&e[1]===181&&e[2]===47&&e[3]===253}async function Xe(e){let t=await(await Me()).compress(Buffer.from(e),3);return new Uint8Array(t)}async function Ze(e){let t=await(await Me()).decompress(Buffer.from(e));return new Uint8Array(t)}async function Qe(e,t){if(!t?.allowNativeCodecs)throw Error(`zstd compression is disabled by default (native codec risk). Pass { allowNativeCodecs: true } to opt in.`);return Xe(await X(e))}async function $e(e,t){if(!t?.allowNativeCodecs)return{entries:[],error:`zstd decompression is disabled by default (native codec risk). Pass { allowNativeCodecs: true } to opt in, or decompress the archive externally before extraction.`};if(e.length>Y)return{entries:[],error:`Archive too large (max ${Y} bytes)`};try{let t=await Ze(e);return t.length>Y?{entries:[],error:`Decompressed archive too large (max ${Y} bytes)`}:Z(t)}catch(e){return{entries:[],error:e instanceof Error?e.message:`Unknown error`}}}function et(e){let t={create:!1,append:!1,update:!1,extract:!1,list:!1,file:``,autoCompress:!1,gzip:!1,bzip2:!1,xz:!1,zstd:!1,verbose:!1,toStdout:!1,keepOldFiles:!1,touch:!1,directory:``,preserve:!1,absoluteNames:!1,strip:0,exclude:[],filesFrom:``,excludeFrom:``,wildcards:!1},n=[],r=0;for(;r<e.length;){let a=e[r];if(a.startsWith(`-`)&&!a.startsWith(`--`)&&a.length>2){if(/^-\d+$/.test(a)){n.push(a),r++;continue}for(let n=1;n<a.length;n++){let o=a[n];switch(o){case`c`:t.create=!0;break;case`r`:t.append=!0;break;case`u`:t.update=!0;break;case`x`:t.extract=!0;break;case`t`:t.list=!0;break;case`a`:t.autoCompress=!0;break;case`z`:t.gzip=!0;break;case`j`:t.bzip2=!0;break;case`J`:t.xz=!0;break;case`v`:t.verbose=!0;break;case`O`:t.toStdout=!0;break;case`k`:t.keepOldFiles=!0;break;case`m`:t.touch=!0;break;case`p`:t.preserve=!0;break;case`P`:t.absoluteNames=!0;break;case`f`:if(n<a.length-1)t.file=a.substring(n+1),n=a.length;else{if(r++,r>=e.length)return{ok:!1,error:{stdout:``,stderr:`tar: option requires an argument -- 'f'
|
|
2
|
+
`,r=x.encode(n).length+1,i=r+String(r).length;return i=r+String(i).length,`${i} ${n}`}).join(``));return{paxHeader:R({name:S.decode(x.encode(`PaxHeader/${e.name}`).slice(0,100)),size:r.length,type:`pax-header`,mode:420,mtime:e.mtime,uname:e.uname,gname:e.gname,uid:e.uid,gid:e.gid}),paxBody:r}}function L(e){let t=x.encode(e).length;if(t<=100||t>I)return null;for(let t=e.length-1;t>0;t--){if(e[t]!==`/`)continue;let n=e.slice(0,t),r=e.slice(t+1);if(x.encode(n).length<=155&&x.encode(r).length<=100)return{prefix:n,name:r}}return null}function R(e){let t=new Uint8Array(512),n=O(e)?0:e.size??0,r=e.name,i=``;if(!e.pax?.path){let e=L(r);e&&(r=e.name,i=e.prefix)}return C(t,0,100,r),w(t,100,8,e.mode??(e.type===`directory`?493:420)),w(t,108,8,e.uid??0),w(t,116,8,e.gid??0),w(t,124,12,n),w(t,136,12,Math.floor((e.mtime?.getTime()??Date.now())/1e3)),C(t,156,1,_[e.type??`file`]),C(t,157,100,e.linkname),C(t,257,6,`ustar\0`),C(t,263,2,`00`),C(t,265,32,e.uname),C(t,297,32,e.gname),C(t,345,155,i),F(t),t}function z(e,t){if(t&&!P(e))throw Error(`Invalid tar header checksum.`);let n=T(e,156,1),r={name:T(e,0,100),mode:E(e,100,8),uid:D(e,108,8),gid:D(e,116,8),size:D(e,124,12),mtime:new Date(D(e,136,12)*1e3),type:v[n]||`file`,linkname:T(e,157,100)},i=T(e,257,6);return O(r)&&(r.size=0),i.trim()===`ustar`&&(r.uname=T(e,265,32),r.gname=T(e,297,32)),i===`ustar`&&(r.prefix=T(e,345,155)),r}var B={path:[`name`,e=>e],linkpath:[`linkname`,e=>e],size:[`size`,e=>parseInt(e,10)],mtime:[`mtime`,parseFloat],uid:[`uid`,e=>parseInt(e,10)],gid:[`gid`,e=>parseInt(e,10)],uname:[`uname`,e=>e],gname:[`gname`,e=>e]};function te(e){let t=new TextDecoder(`utf-8`),n=Object.create(null),r=Object.create(null),i=0;for(;i<e.length;){let a=e.indexOf(32,i);if(a===-1)break;let o=parseInt(t.decode(e.subarray(i,a)),10);if(Number.isNaN(o)||o===0)break;let s=i+o,[c,l]=t.decode(e.subarray(a+1,s-1)).split(`=`,2);if(c&&l!==void 0&&(r[c]=l,Object.hasOwn(B,c))){let[e,t]=B[c],r=t(l);(typeof r==`string`||!Number.isNaN(r))&&(n[e]=r)}i=s}return Object.keys(r).length>0&&(n.pax=r),n}function V(e,t){t.name!==void 0&&(e.name=t.name),t.linkname!==void 0&&(e.linkname=t.linkname),t.size!==void 0&&(e.size=t.size),t.mtime!==void 0&&(e.mtime=new Date(t.mtime*1e3)),t.uid!==void 0&&(e.uid=t.uid),t.gid!==void 0&&(e.gid=t.gid),t.uname!==void 0&&(e.uname=t.uname),t.gname!==void 0&&(e.gname=t.gname),t.pax&&(e.pax=Object.assign({},e.pax??{},t.pax))}function ne(e){switch(e){case`pax-global-header`:case`pax-header`:return te;case`gnu-long-name`:return e=>({name:T(e,0,e.length)});case`gnu-long-link-name`:return e=>({linkname:T(e,0,e.length)});default:return}}function re(e){let t=R(e),n=ee(e);if(!n)return[t];let r=-n.paxBody.length&511,i=r>0?[y.subarray(0,r)]:[];return[n.paxHeader,n.paxBody,...i,t]}var ie=new Uint8Array(1024);function ae(e,t,n){let r=null,i=0,a=!1,o=e=>{let n=Error(e);throw t(n),n};return{add(n){a&&o(`No new tar entries after finalize.`),r!==null&&o(`Previous entry must be completed before adding a new one`);let s=O(n)?0:n.size;(!Number.isSafeInteger(s)||s<0)&&o(`Invalid tar entry size.`);try{let t=re({...n,size:s});for(let n of t)e(n);r={...n,size:s},i=0}catch(e){t(e)}},write(n){r||o(`No active tar entry.`),a&&o(`Cannot write data after finalize.`);let s=i+n.length;s>r.size&&o(`"${r.name}" exceeds given size of ${r.size} bytes.`);try{i=s,e(n)}catch(e){t(e)}},endEntry(){r||o(`No active entry to end.`),a&&o(`Cannot end entry after finalize.`);try{i!==r.size&&o(`Size mismatch for "${r.name}".`);let t=-r.size&511;t>0&&e(new Uint8Array(t)),r=null,i=0}catch(e){throw t(e),e}},finalize(){a&&o(`Archive has already been finalized`),r!==null&&o(`Cannot finalize while an entry is still active`);try{e(ie),a=!0,n&&n()}catch(e){t(e)}}}}var H=256;function oe(){let e=Array(H),t=e.length-1,n=0,r=0,i=0,a=a=>{let o=e[n];a===o.length?(e[n]=b,n=n+1&t):e[n]=o.subarray(a),i-=a,i===0&&e.length>H&&(e=Array(H),t=H-1,n=0,r=0)};function o(t,r){if(r){let o=0,s=Math.min(t,i);for(;s>0;){let t=e[n],i=Math.min(s,t.length),c=i===t.length?t:t.subarray(0,i);if(a(i),s-=i,o+=i,!r(c))break}return o}if(i<t)return null;if(t===0)return b;let o=e[n];if(o.length>=t){let e=o.length===t?o:o.subarray(0,t);return a(t),e}let s=new Uint8Array(t),c=0,l=t;for(;l>0;){let t=e[n],r=Math.min(l,t.length);s.set(r===t.length?t:t.subarray(0,r),c),c+=r,l-=r,a(r)}return s}return{push:a=>{if(a.length===0)return;let o=r+1&t;if(o===n){let i=e.length,a=i*2,s=Array(a),c=r-n+i&i-1;if(n<r)for(let t=0;t<c;t++)s[t]=e[n+t];else if(c>0){let t=i-n;for(let r=0;r<t;r++)s[r]=e[n+r];for(let n=0;n<r;n++)s[t+n]=e[n]}e=s,t=a-1,n=0,r=c,o=r+1&t}e[r]=a,r=o,i+=a.length},available:()=>i,peek:r=>{if(i<r)return null;if(r===0)return b;let a=e[n];if(a.length>=r)return a.length===r?a:a.subarray(0,r);let o=new Uint8Array(r),s=0,c=n;for(;s<r;){let n=e[c],i=Math.min(r-s,n.length);i===n.length?o.set(n,s):o.set(n.subarray(0,i),s),s+=i,c=c+1&t}return o},discard:t=>{if(t>i)throw Error(`Too many bytes consumed`);if(t===0)return;let r=t;for(;r>0;){let t=e[n],i=Math.min(r,t.length);a(i),r-=i}},pull:o}}var se=0,U=1,W=Error(`Tar archive is truncated.`);function ce(e={}){let t=e.strict??!1,{available:n,peek:r,push:i,discard:a,pull:o}=oe(),s=se,c=!1,l=!1,u=!1,d=null,f={},p={},m={isEntryActive:()=>s===U,isBodyComplete:()=>!d||d.remaining===0,canFinish:()=>!d||n()>=d.remaining+d.padding,write(e){if(c)throw Error(`Archive already ended.`);i(e)},end(){c=!0},readHeader(){if(s!==se)throw Error(`Cannot read header while an entry is active`);if(!l)for(;!l;){if(n()<512){if(c){if(n()>0&&t)throw W;l=!0;return}return null}let e=r(512);if(le(e)){if(n()<1024){if(c){if(t)throw W;l=!0;return}return null}if(le(r(1024).subarray(512))){a(1024),l=!0,u=!0;return}if(t)throw Error(`Invalid tar header.`);a(512);continue}let i;try{i=z(e,t)}catch(e){if(t)throw e;a(512);continue}let m=ne(i.type);if(m){let e=i.size+(-i.size&511);if(n()<512+e){if(c&&t)throw W;return null}a(512);let r=m(o(e).subarray(0,i.size)),s=i.type===`pax-global-header`?f:p;for(let e in r)s[e]=r[e];continue}a(512);let h=i;return i.prefix&&(h.name=`${i.prefix}/${h.name}`),V(h,f),V(h,p),h.name.endsWith(`/`)&&h.type===`file`&&(h.type=g),p={},d={header:h,remaining:h.size,padding:-h.size&511},s=U,h}},streamBody(e){if(s!==U||!d||d.remaining===0)return 0;let t=Math.min(d.remaining,n());if(t===0)return 0;let r=o(t,e);return d.remaining-=r,r},skipPadding(){if(s!==U||!d)return!0;if(d.remaining>0)throw Error(`Body not fully consumed`);return n()<d.padding?!1:(a(d.padding),d=null,s=se,!0)},skipEntry(){if(s!==U||!d)return!0;let e=Math.min(d.remaining,n());return e>0&&(a(e),d.remaining-=e),d.remaining>0?!1:m.skipPadding()},validateEOF(){if(t){if(!u)throw W;if(n()>0&&o(n()).some(e=>e!==0))throw Error(`Invalid EOF.`)}}};return m}function le(e){if(e.byteOffset%8==0){let t=new BigUint64Array(e.buffer,e.byteOffset,e.length/8);for(let e=0;e<t.length;e++)if(t[e]!==0n)return!1;return!0}for(let t=0;t<e.length;t++)if(e[t]!==0)return!1;return!0}function ue(){return new CompressionStream(`gzip`)}function de(){return new DecompressionStream(`gzip`)}function fe(){let e,t;return{readable:new ReadableStream({start(n){e=n,t=ae(n.enqueue.bind(n),n.error.bind(n),n.close.bind(n))}}),controller:{add(n){let r=O(n);return t.add(n),r&&t.endEntry(),new WritableStream({write(e){t.write(e)},close(){r||t.endEntry()},abort(t){e.error(t)}})},finalize(){t.finalize()},error(t){e.error(t)}}}}async function pe(e){let t=[],n=e.getReader(),r=0;try{for(;;){let{done:e,value:i}=await n.read();if(e)break;t.push(i),r+=i.length}let e=new Uint8Array(r),i=0;for(let n of t)e.set(n,i),i+=n.length;return e}finally{n.releaseLock()}}var me=e=>e.pipeTo(new WritableStream);function he(e={}){let t=ce(e),n=e.strict??!1,r=null,i=null,a=!1,o=!1,s=!1,c=!1,l=()=>{try{i?.close()}catch{}i=null},u=e=>{if(!c){c=!0;try{i?.error(e)}catch{}i=null;try{r.error(e)}catch{}r=null}},d=()=>{if(!c){c=!0,l();try{r.close()}catch{}r=null}},f=()=>{if(n)throw Error(`Tar archive is truncated.`);d()},p=()=>{if(!(a||c||!r)){a=!0;try{for(;;){if(o){s&&(t.validateEOF(),d());break}if(t.isEntryActive()){if(s&&!t.canFinish()){f();break}if(i){if((i.desiredSize??1)<=0)break;if(t.streamBody(e=>(i.enqueue(e),(i.desiredSize??1)>0))===0&&!t.isBodyComplete()){s&&f();break}}else if(!t.skipEntry()){s&&f();break}if(t.isBodyComplete()&&(l(),!t.skipPadding())){s&&f();break}}else{if((r.desiredSize??0)<0)break;let e=t.readHeader();if(e===null){s&&d();break}if(e===void 0){if(s){t.validateEOF(),d();break}o=!0;break}r.enqueue({header:e,body:new ReadableStream({start(t){e.size===0?t.close():i=t},pull:p,cancel(){i=null,p()}})})}}}catch(e){throw u(e),e}finally{a=!1}}};return{readable:new ReadableStream({start(e){r=e},pull:p,cancel(e){e===void 0?d():u(e)}},{highWaterMark:2}),writable:new WritableStream({write(e){try{if(o&&n&&e.some(e=>e!==0))throw Error(`Invalid EOF.`);t.write(e),p()}catch(e){throw u(e),e}},close(){try{s=!0,t.end(),p()}catch(e){throw u(e),e}},abort(e){u(e)}})}}async function ge(e){let{readable:t,controller:n}=fe();return await(async()=>{for(let t of e){let e=n.add(t.header),r=`body`in t?t.body:t.data;if(!r){await e.close();continue}if(r instanceof ReadableStream)await r.pipeTo(e);else if(r instanceof Blob)await r.stream().pipeTo(e);else try{let t=await k(r);if(t.length>0){let n=e.getWriter();await n.write(t),await n.close()}else await e.close()}catch{throw TypeError(`Unsupported content type for entry "${t.header.name}".`)}}})().then(()=>n.finalize()).catch(e=>n.error(e)),new Uint8Array(await pe(t))}async function _e(e,t={}){let n=e instanceof ReadableStream?e:new ReadableStream({start(t){t.enqueue(e instanceof Uint8Array?e:new Uint8Array(e)),t.close()}}),r=[],i=n.pipeThrough(he(t));for await(let e of i){let n;try{n=j(e.header,t)}catch(t){throw await e.body.cancel(),t}if(n===null){await me(e.body);continue}O(n)?(await me(e.body),r.push({header:n})):r.push({header:n,data:await pe(e.body)})}return r}var ve=(()=>{let e=new Uint32Array(256);for(let t=0;t<256;t++){let n=t<<24;for(let e=0;e<8;e++)n=n&2147483648?n<<1^79764919:n<<1;e[t]=n>>>0}return e})();function ye(e,t){return(e<<8^ve[(e>>>24^t)&255])>>>0}var be=class{buffer=[];current=0;bitCount=0;writeBits(e,t){for(let n=e-1;n>=0;n--)this.current=this.current<<1|t>>>n&1,this.bitCount++,this.bitCount===8&&(this.buffer.push(this.current),this.current=0,this.bitCount=0)}writeBit(e){this.current=this.current<<1|e&1,this.bitCount++,this.bitCount===8&&(this.buffer.push(this.current),this.current=0,this.bitCount=0)}finish(){return this.bitCount>0&&this.buffer.push(this.current<<8-this.bitCount),new Uint8Array(this.buffer)}};function xe(e){let t=[],n=0;for(;n<e.length;){let r=e[n],i=1;for(;n+i<e.length&&e[n+i]===r&&i<255;)i++;i>=4?(t.push(r,r,r,r),t.push(i-4),n+=i):(t.push(r),n++)}return new Uint8Array(t)}function Se(e){let t=e.length;if(t===0)return{transformed:new Uint8Array,pointer:0};let n=Ce(e),r=new Uint8Array(t),i=0;for(let a=0;a<t;a++)n[a]===0?(i=a,r[a]=e[t-1]):r[a]=e[n[a]-1];return{transformed:r,pointer:i}}function Ce(e){let t=e.length,n=new Int32Array(t),r=new Int32Array(t);for(let i=0;i<t;i++)n[i]=i,r[i]=e[i];for(let e=1;e<t;e*=2){let i=r.slice();n.sort((n,r)=>i[n]===i[r]?i[(n+e)%t]-i[(r+e)%t]:i[n]-i[r]),r[n[0]]=0;for(let a=1;a<t;a++)i[n[a]]===i[n[a-1]]&&i[(n[a]+e)%t]===i[(n[a-1]+e)%t]?r[n[a]]=r[n[a-1]]:r[n[a]]=r[n[a-1]]+1;if(r[n[t-1]]===t-1)break}return n}function we(e,t){let n=[];for(let e=0;e<256;e++)t[e]&&n.push(e);let r=Array(256).fill(-1);for(let e=0;e<n.length;e++)r[n[e]]=e;let i=new Uint16Array(e.length),a=n.slice();for(let t=0;t<e.length;t++){let n=e[t],r=0;for(;a[r]!==n;)r++;if(i[t]=r,r>0){let e=a[r];for(let e=r;e>0;e--)a[e]=a[e-1];a[0]=e}}return{encoded:i,length:e.length}}function Te(e,t,n){let r=n+1,i=[],a=0;for(;a<t;)if(e[a]===0){let n=0;for(;a<t&&e[a]===0;)n++,a++;let r=n;for(;r>0;)r--,r&1?i.push(1):i.push(0),r>>>=1}else i.push(e[a]+1),a++;i.push(r);let o=new Uint16Array(i.length);for(let e=0;e<i.length;e++)o[e]=i[e];return{symbols:o,length:i.length,eob:r}}function Ee(e,t,n){if(t<=1){let t=Array(e.length).fill(0);for(let n=0;n<e.length;n++)e[n]>0&&(t[n]=1);return{codeLengths:t,maxLen:1,minLen:1}}let r=[];for(let t=0;t<e.length;t++)e[t]>0&&r.push({freq:e[t],symbol:t,left:null,right:null});if(r.length===0)return{codeLengths:Array(e.length).fill(0),maxLen:0,minLen:0};if(r.length===1){let t=Array(e.length).fill(0);return t[r[0].symbol]=1,{codeLengths:t,maxLen:1,minLen:1}}for(;r.length>1;){r.sort((e,t)=>e.freq-t.freq);let e=r.shift(),t=r.shift();r.push({freq:e.freq+t.freq,symbol:-1,left:e,right:t})}let i=Array(e.length).fill(0);function a(e,t){if(!e.left&&!e.right){i[e.symbol]=t;return}e.left&&a(e.left,t+1),e.right&&a(e.right,t+1)}a(r[0],0);let o=!0;for(;o;){o=!1;for(let e=0;e<i.length;e++)i[e]>n&&(i[e]=n,o=!0);if(o){let e=0;for(let t=0;t<i.length;t++)i[t]>0&&(e+=1/(1<<i[t]));if(e>1)for(let t=1;t<n&&e>1;t++)for(let n=0;n<i.length&&e>1;n++)i[n]===t&&(i[n]++,e-=1/(1<<t)-1/(1<<t+1));o=!1;for(let e=0;e<i.length;e++)if(i[e]>n){o=!0;break}}}let s=n,c=0;for(let e=0;e<i.length;e++)i[e]>0&&(i[e]<s&&(s=i[e]),i[e]>c&&(c=i[e]));return{codeLengths:i,maxLen:c,minLen:s}}function De(e,t){let n=Array(t).fill(0),r=e.slice(0,t),i=Math.max(...r,0),a=Array(i+1).fill(0);for(let e=0;e<t;e++)r[e]>0&&a[r[e]]++;let o=Array(i+1).fill(0),s=0;for(let e=1;e<=i;e++)s=s+a[e-1]<<1,o[e]=s;for(let e=0;e<t;e++)r[e]>0&&(n[e]=o[r[e]]++);return{codes:n,lengths:r}}function Oe(e,t,n){e.writeBits(24,3227993),e.writeBits(24,2511705),e.writeBits(32,n),e.writeBit(0);let{transformed:r,pointer:i}=Se(xe(t));e.writeBits(24,i);let a=Array(256).fill(!1);for(let e=0;e<r.length;e++)a[r[e]]=!0;let o=Array(16).fill(!1);for(let e=0;e<16;e++)for(let t=0;t<16;t++)if(a[e*16+t]){o[e]=!0;break}for(let t=0;t<16;t++)e.writeBit(+!!o[t]);for(let t=0;t<16;t++)if(o[t])for(let n=0;n<16;n++)e.writeBit(+!!a[t*16+n]);let s=0;for(let e=0;e<256;e++)a[e]&&s++;let{encoded:c,length:l}=we(r,a),{symbols:u,length:d}=Te(c,l,s),f=s+2,p=Math.ceil(d/50),m;m=d<200?2:d<600?3:d<1200?4:d<2400?5:6,m>p&&(m=Math.max(2,p));let h=[];for(let e=0;e<m;e++)h.push(Array(f).fill(0));let g=new Int32Array(p);for(let e=0;e<p;e++)g[e]=e%m;for(let e=0;e<p;e++){let t=e*50,n=Math.min(t+50,d),r=g[e];for(let e=t;e<n;e++)h[r][u[e]]++}function _(e){for(let t=0;t<f;t++)e[t]<1&&(e[t]=1)}let v=[];for(let e=0;e<m;e++)_(h[e]),v.push(Ee(h[e],f,20));for(let e=0;e<4;e++){for(let e=0;e<m;e++)h[e].fill(0);for(let e=0;e<p;e++){let t=e*50,n=Math.min(t+50,d),r=0,i=1/0;for(let e=0;e<m;e++){let a=0;for(let r=t;r<n;r++)a+=v[e].codeLengths[u[r]]||20;a<i&&(i=a,r=e)}g[e]=r;for(let e=t;e<n;e++)h[r][u[e]]++}for(let e=0;e<m;e++)_(h[e]),v[e]=Ee(h[e],f,20)}e.writeBits(3,m),e.writeBits(15,p);let y=[],b=[];for(let e=0;e<m;e++)b.push(e);for(let e=0;e<p;e++){let t=g[e],n=0;for(;b[n]!==t;)n++;if(y.push(n),n>0){let e=b[n];for(let e=n;e>0;e--)b[e]=b[e-1];b[0]=e}}for(let t=0;t<p;t++){for(let n=0;n<y[t];n++)e.writeBit(1);e.writeBit(0)}for(let t=0;t<m;t++){let n=v[t].codeLengths,r=n[0];e.writeBits(5,r);for(let t=0;t<f;t++){let i=n[t];for(;r<i;)e.writeBit(1),e.writeBit(0),r++;for(;r>i;)e.writeBit(1),e.writeBit(1),r--;e.writeBit(0)}}for(let e=0;e<m;e++){let{codes:t,lengths:n}=De(v[e].codeLengths,f);v[e]=Object.assign(v[e],{_codes:t,_lengths:n})}let x=0,S=0;for(let t=0;t<d;t++){(S===0||S>=50)&&(t>0&&x++,S=0);let n=v[g[x]],r=u[t],i=n._lengths[r],a=n._codes[r];i>0&&e.writeBits(i,a),S++}}var ke=10485760;function Ae(e,t=9,n=ke){if(t<1||t>9)throw Error(`Block size level must be 1-9`);if(e.length>n)throw Error(`Input too large for bzip2 compression (${e.length} bytes, max ${n})`);let r=t*1e5,i=new be;i.writeBits(8,66),i.writeBits(8,90),i.writeBits(8,104),i.writeBits(8,48+t);let a=0,o=0;for(;o<e.length;){let t=Math.min(o+r,e.length),n=e.subarray(o,t),s=4294967295;for(let e=0;e<n.length;e++)s=ye(s,n[e]);s=~s>>>0,a=(a<<1|a>>>31)>>>0,a=(a^s)>>>0,Oe(i,n,s),o=t}return i.writeBits(24,1536581),i.writeBits(24,3690640),i.writeBits(32,a),i.finish()}var G=null,K=null;async function je(){if(G)return G;if(K)throw K;try{return G=await r.runTrustedAsync(()=>import(`./lzma-CEMDJHEs.mjs`)),G}catch{throw K=Error(`xz compression requires node-liblzma which failed to load. Install liblzma-dev (apt) or xz (brew) and reinstall dependencies.`),K}}var q=null,J=null;async function Me(){if(q)return q;if(J)throw J;try{return q=await r.runTrustedAsync(()=>import(`./lib-DtUfeRTs.mjs`).then(t=>e(t.default,1))),q}catch{throw J=Error(`zstd compression requires @mongodb-js/zstd which is not installed. Install it with: npm install @mongodb-js/zstd`),J}}var Y=104857600,Ne=512,Pe=1e4;function Fe(e){let t=`file`;e.isDirectory?t=`directory`:e.isSymlink&&(t=`symlink`);let n=e.name;e.isDirectory&&!n.endsWith(`/`)&&(n+=`/`);let r;e.content!==void 0&&(r=typeof e.content==`string`?new TextEncoder().encode(e.content):e.content);let i=e.isDirectory||e.isSymlink?0:r?.length??0;return{header:{name:n,mode:e.mode??(e.isDirectory?493:420),uid:e.uid??0,gid:e.gid??0,size:i,mtime:e.mtime??new Date,type:t,linkname:e.linkTarget??``,uname:`user`,gname:`user`},body:r}}async function X(e){return ge(e.map(Fe))}async function Ie(e){let t=await X(e),n=new ReadableStream({start(e){e.enqueue(t),e.close()}}).pipeThrough(ue()).getReader(),r=[];for(;;){let{done:e,value:t}=await n.read();if(e)break;r.push(t)}let i=r.reduce((e,t)=>e+t.length,0),a=new Uint8Array(i),o=0;for(let e of r)a.set(e,o),o+=e.length;return a}async function Z(e){if(e.length>Y)return{entries:[],error:`Archive too large (max ${Y} bytes)`};if(e.length<Ne||e.length%Ne!==0)return{entries:[],error:`Invalid tar archive format`};try{let t=await _e(e),n=[];for(let e of t){if(n.length>=Pe)return{entries:n,error:`Too many entries (max ${Pe})`};let t=`file`;switch(e.header.type){case`directory`:t=`directory`;break;case`symlink`:t=`symlink`;break;case`link`:t=`hardlink`;break;case`file`:t=`file`;break;default:t=`other`}n.push({name:e.header.name,mode:e.header.mode??420,uid:e.header.uid??0,gid:e.header.gid??0,size:e.header.size,mtime:e.header.mtime??new Date,type:t,linkTarget:e.header.linkname||void 0,content:e.data??new Uint8Array})}return{entries:n}}catch(e){return{entries:[],error:e instanceof Error?e.message:`Unknown error`}}}async function Le(e){if(e.length>Y)return{entries:[],error:`Archive too large (max ${Y} bytes)`};try{let t=new ReadableStream({start(t){t.enqueue(e),t.close()}}).pipeThrough(de()).getReader(),n=[],r=0;for(;;){let{done:e,value:i}=await t.read();if(e)break;if(r+=i.length,r>Y)return await t.cancel(),{entries:[],error:`Decompressed archive too large (max ${Y} bytes)`};n.push(i)}let i=new Uint8Array(r),a=0;for(let e of n)i.set(e,a),a+=e.length;return Z(i)}catch(e){return{entries:[],error:`Decompression failed: ${e instanceof Error?e.message:`Unknown error`}`}}}function Re(e){return e.length>=2&&e[0]===31&&e[1]===139}function ze(e){return e.length>=3&&e[0]===66&&e[1]===90&&e[2]===104}function Be(e){return e.length>=6&&e[0]===253&&e[1]===55&&e[2]===122&&e[3]===88&&e[4]===90&&e[5]===0}async function Ve(e){let t=f.default.decode(Buffer.from(e));return new Uint8Array(t)}async function He(e){return Ae(e,9)}async function Ue(e){let t=(await je()).unxzSync(Buffer.from(e));return new Uint8Array(t)}async function We(e){let t=(await je()).xzSync(Buffer.from(e));return new Uint8Array(t)}async function Ge(e){return He(await X(e))}async function Ke(e,t){if(!t?.allowNativeCodecs)throw Error(`xz compression is disabled by default (native codec risk). Pass { allowNativeCodecs: true } to opt in.`);return We(await X(e))}async function qe(e){if(e.length>Y)return{entries:[],error:`Archive too large (max ${Y} bytes)`};try{let t=await Ve(e);return t.length>Y?{entries:[],error:`Decompressed archive too large (max ${Y} bytes)`}:Z(t)}catch(e){return{entries:[],error:e instanceof Error?e.message:`Unknown error`}}}async function Je(e,t){if(!t?.allowNativeCodecs)return{entries:[],error:`xz decompression is disabled by default (native codec risk). Pass { allowNativeCodecs: true } to opt in, or decompress the archive externally before extraction.`};if(e.length>Y)return{entries:[],error:`Archive too large (max ${Y} bytes)`};try{let t=await Ue(e);return t.length>Y?{entries:[],error:`Decompressed archive too large (max ${Y} bytes)`}:Z(t)}catch(e){return{entries:[],error:e instanceof Error?e.message:`Unknown error`}}}function Ye(e){return e.length>=4&&e[0]===40&&e[1]===181&&e[2]===47&&e[3]===253}async function Xe(e){let t=await(await Me()).compress(Buffer.from(e),3);return new Uint8Array(t)}async function Ze(e){let t=await(await Me()).decompress(Buffer.from(e));return new Uint8Array(t)}async function Qe(e,t){if(!t?.allowNativeCodecs)throw Error(`zstd compression is disabled by default (native codec risk). Pass { allowNativeCodecs: true } to opt in.`);return Xe(await X(e))}async function $e(e,t){if(!t?.allowNativeCodecs)return{entries:[],error:`zstd decompression is disabled by default (native codec risk). Pass { allowNativeCodecs: true } to opt in, or decompress the archive externally before extraction.`};if(e.length>Y)return{entries:[],error:`Archive too large (max ${Y} bytes)`};try{let t=await Ze(e);return t.length>Y?{entries:[],error:`Decompressed archive too large (max ${Y} bytes)`}:Z(t)}catch(e){return{entries:[],error:e instanceof Error?e.message:`Unknown error`}}}function et(e){let t={create:!1,append:!1,update:!1,extract:!1,list:!1,file:``,autoCompress:!1,gzip:!1,bzip2:!1,xz:!1,zstd:!1,verbose:!1,toStdout:!1,keepOldFiles:!1,touch:!1,directory:``,preserve:!1,absoluteNames:!1,strip:0,exclude:[],filesFrom:``,excludeFrom:``,wildcards:!1},n=[],r=0;for(;r<e.length;){let a=e[r];if(a.startsWith(`-`)&&!a.startsWith(`--`)&&a.length>2){if(/^-\d+$/.test(a)){n.push(a),r++;continue}for(let n=1;n<a.length;n++){let o=a[n];switch(o){case`c`:t.create=!0;break;case`r`:t.append=!0;break;case`u`:t.update=!0;break;case`x`:t.extract=!0;break;case`t`:t.list=!0;break;case`a`:t.autoCompress=!0;break;case`z`:t.gzip=!0;break;case`j`:t.bzip2=!0;break;case`J`:t.xz=!0;break;case`v`:t.verbose=!0;break;case`O`:t.toStdout=!0;break;case`k`:t.keepOldFiles=!0;break;case`m`:t.touch=!0;break;case`p`:t.preserve=!0;break;case`P`:t.absoluteNames=!0;break;case`f`:if(n<a.length-1)t.file=a.substring(n+1),n=a.length;else{if(r++,r>=e.length)return{ok:!1,error:{stdout:``,stderr:`tar: option requires an argument -- 'f'
|
|
3
3
|
`,exitCode:2}};t.file=e[r]}break;case`C`:if(n<a.length-1)t.directory=a.substring(n+1),n=a.length;else{if(r++,r>=e.length)return{ok:!1,error:{stdout:``,stderr:`tar: option requires an argument -- 'C'
|
|
4
4
|
`,exitCode:2}};t.directory=e[r]}break;case`T`:if(n<a.length-1)t.filesFrom=a.substring(n+1),n=a.length;else{if(r++,r>=e.length)return{ok:!1,error:{stdout:``,stderr:`tar: option requires an argument -- 'T'
|
|
5
5
|
`,exitCode:2}};t.filesFrom=e[r]}break;case`X`:if(n<a.length-1)t.excludeFrom=a.substring(n+1),n=a.length;else{if(r++,r>=e.length)return{ok:!1,error:{stdout:``,stderr:`tar: option requires an argument -- 'X'
|
|
@@ -60,4 +60,4 @@ import{a as e,t}from"./rolldown-runtime-DPpTSio4.mjs";import{t as n}from"./chunk
|
|
|
60
60
|
`,exitCode:2}}}if(r.excludeFrom){let e=t.fs.resolvePath(t.cwd,r.excludeFrom);try{let n=(await t.fs.readFile(e)).split(`
|
|
61
61
|
`).map(e=>e.trim()).filter(e=>e.length>0&&!e.startsWith(`#`));r.exclude.push(...n)}catch{return{stdout:``,stderr:`tar: ${r.excludeFrom}: Cannot open: No such file or directory
|
|
62
62
|
`,exitCode:2}}}return r.create?ct(t,r,l):r.append?lt(t,r,l):r.update?ut(t,r,l):r.extract?dt(t,r,l):ft(t,r,l)}};export{pt as tarCommand};
|
|
63
|
-
//# sourceMappingURL=tar-MZQD7NO4-
|
|
63
|
+
//# sourceMappingURL=tar-MZQD7NO4-BRGDcHqv.mjs.map
|