0sec-cli 0.22.1 → 0.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/0.js +64 -47
- package/README.md +73 -53
- package/chunks/{adapt-loop-J6QCZZTB.js → adapt-loop-V3JFWOKC.js} +4 -4
- package/chunks/{artifact-scraper-MFKT6OI4.js → artifact-scraper-NYKUF2M5.js} +2 -2
- package/chunks/{assumption-mining-646LYSJY.js → assumption-mining-ZX3YVWEH.js} +19 -15
- package/chunks/backend-connections-H52NIVH2.js +23 -0
- package/chunks/{chunk-NLH4LMWH.js → chunk-3E54JYS4.js} +1 -1
- package/chunks/chunk-3P3XXSIJ.js +463 -0
- package/chunks/{chunk-CPWA6RWE.js → chunk-3ZNI7F42.js} +3 -3
- package/chunks/{chunk-LGCASF2C.js → chunk-4HGGNBKK.js} +7405 -2225
- package/chunks/{chunk-TM74SSHC.js → chunk-62ENS6XO.js} +1 -1
- package/chunks/{chunk-4VGLO2YS.js → chunk-65H3MRBF.js} +5 -2
- package/chunks/chunk-A2ADXAC5.js +5329 -0
- package/chunks/chunk-A5QO7N3S.js +74 -0
- package/chunks/chunk-AAA4PRWK.js +990 -0
- package/chunks/{chunk-AV2LG2L7.js → chunk-BF5FIK7H.js} +257 -145
- package/chunks/chunk-CP6HANBE.js +355 -0
- package/chunks/{chunk-HHPWRY2M.js → chunk-EH2WTNY7.js} +23474 -22746
- package/chunks/{chunk-OSBPGWTE.js → chunk-EJH2TNVH.js} +3 -3
- package/chunks/chunk-EWXOG6D3.js +1695 -0
- package/chunks/{chunk-WZRVS7SB.js → chunk-F344NYUN.js} +1 -1
- package/chunks/chunk-FXR3BT2G.js +226 -0
- package/chunks/{chunk-GOEA3NW6.js → chunk-HFDSIHTE.js} +1603 -1295
- package/chunks/chunk-I3OCJ2OA.js +309 -0
- package/chunks/{chunk-X7LAEEUW.js → chunk-ITES7BCY.js} +1 -1
- package/chunks/{chunk-YL6YAGLL.js → chunk-JEYIWMGL.js} +1 -1
- package/chunks/{chunk-WSDDGFA6.js → chunk-K55B4OH4.js} +1 -1
- package/chunks/{chunk-TH2LW437.js → chunk-KCA35IL3.js} +2 -190
- package/chunks/chunk-KHPOSLCF.js +1659 -0
- package/chunks/chunk-LT7BFGXA.js +733 -0
- package/chunks/{chunk-KAU6NLGP.js → chunk-LTEE2JWK.js} +786 -20
- package/chunks/{chunk-ZKQ2I3S2.js → chunk-LVGZGG63.js} +1 -1
- package/chunks/chunk-MQJVU2GZ.js +277 -0
- package/chunks/{chunk-OHHCGDJ2.js → chunk-NI6QYQSK.js} +126 -1089
- package/chunks/{chunk-6YNKRUMC.js → chunk-NJLKFC66.js} +321 -5
- package/chunks/{chunk-3E2KALZ5.js → chunk-NX4H6L4M.js} +2 -2
- package/chunks/{chunk-W6UWZFKL.js → chunk-O6KPVYOI.js} +100 -5
- package/chunks/{chunk-IVQV574Y.js → chunk-O6Z4XPOM.js} +1 -1
- package/chunks/{chunk-V6GHX34G.js → chunk-OLSKXTQZ.js} +8 -274
- package/chunks/{chunk-5BTJMINS.js → chunk-P7KDN5PK.js} +208 -46
- package/chunks/chunk-PIR6BNE7.js +83 -0
- package/chunks/{chunk-XCISCI4T.js → chunk-QMICC5O2.js} +30 -12
- package/chunks/{chunk-6GHSR47F.js → chunk-R35KKJA4.js} +1 -58
- package/chunks/chunk-RS4MAN3Q.js +73 -0
- package/chunks/{chunk-VWITLWXB.js → chunk-T7ZEVY5G.js} +307 -34
- package/chunks/chunk-TPUJZ74W.js +36 -0
- package/chunks/{chunk-IFME676H.js → chunk-UZUELPFW.js} +79 -18
- package/chunks/{chunk-TV27OWIW.js → chunk-V2BWXPZP.js} +9 -9
- package/chunks/chunk-VDOWARMJ.js +63 -0
- package/chunks/{chunk-XDKB2P5X.js → chunk-W5VNCB57.js} +1 -1
- package/chunks/{chunk-4G7OVYJX.js → chunk-WIYNYNL2.js} +1 -1
- package/chunks/chunk-WYNZFNMF.js +457 -0
- package/chunks/{chunk-7XCKYNLO.js → chunk-XORZUR2H.js} +1 -1
- package/chunks/{chunk-2OQOQ2FZ.js → chunk-Y4HJRUFE.js} +20 -4
- package/chunks/{chunk-V36HVTUL.js → chunk-YAEJAZYW.js} +21 -18
- package/chunks/{chunk-XA2O4WXA.js → chunk-YYS2H33A.js} +169 -15
- package/chunks/{codex-models-NHQW45SO.js → codex-models-Y457ND6Q.js} +9 -3
- package/chunks/{commands-N6GN5SBF.js → commands-PBDAOZKA.js} +7019 -5937
- package/chunks/{db-5IWEJUYV.js → db-TPSI552V.js} +3 -3
- package/chunks/deep-review-DKED6EN5.js +81 -0
- package/chunks/{dist-L3XJWWZ6.js → dist-4LGRIBOC.js} +209 -114
- package/chunks/{dist-FSS7MBDF.js → dist-7Q5A6TQM.js} +12 -2
- package/chunks/{dist-KEULE5IQ.js → dist-LNXGATR2.js} +2 -2
- package/chunks/{dist-XZB53PS5.js → dist-M2X367VW.js} +2 -2
- package/chunks/{dist-BS4CY4RG.js → dist-RLPNLRZD.js} +79 -1
- package/chunks/eval-runner-RZKDOQ2G.js +30 -0
- package/chunks/{exploit-agent-KW4EB7BE.js → exploit-agent-RMFYNG7H.js} +1 -1
- package/chunks/{exploit-autoclimb-CXJ2ERRO.js → exploit-autoclimb-2A2PQI4E.js} +1 -1
- package/chunks/{exploit-climb-TJWLY4XC.js → exploit-climb-DEJ232QN.js} +2 -2
- package/chunks/{fix-UUKPXCFB.js → fix-JGBW7XUN.js} +12 -6
- package/chunks/{harness-C5HOKIEV.js → harness-CBOLMUHB.js} +3 -3
- package/chunks/{hunt-scan-KZZ444V2.js → hunt-scan-MIRMABY4.js} +17 -13
- package/chunks/{kernel-primitive-Z77IR7YS.js → kernel-primitive-NAPDMJC7.js} +2 -2
- package/chunks/{kernel-vm-runner-JW77P276.js → kernel-vm-runner-PR5OSDQ2.js} +2 -2
- package/chunks/managed-operation-YNQQEA5V.js +59 -0
- package/chunks/{memsafety-scan-FCPAXIZE.js → memsafety-scan-RPS446CD.js} +2 -2
- package/chunks/{native-loop-P6P5GYVJ.js → native-loop-CGOJMNHV.js} +19 -9
- package/chunks/orchestrate-5NK34H3W.js +62 -0
- package/chunks/{prepare-KYHGFWCJ.js → prepare-YVNENPNL.js} +6 -2
- package/chunks/{process-N245QIQG.js → process-MJYJ2K5E.js} +2 -1
- package/chunks/remote-workflow-runtime-RGQ5ECMN.js +96 -0
- package/chunks/{run-GAFKBCTN.js → run-VH4OIDKF.js} +1919 -4817
- package/chunks/{runtime-XFWJTBUO.js → runtime-4TAJFVF7.js} +7 -1
- package/chunks/{runtime-H7YBR5IZ.js → runtime-HWL6HG7A.js} +10 -4
- package/chunks/{scan-stream-BMOCPKQX.js → scan-stream-HJAZJONE.js} +7 -1
- package/chunks/{scope-QWY4VQZ7.js → scope-Q5PIX2IS.js} +2 -2
- package/chunks/service-plugins-QYFITODK.js +63 -0
- package/chunks/{session-store-XIDFGG7K.js → session-store-2FEIZGSV.js} +6 -4
- package/chunks/{variant-candidates-7D4F5E4H.js → variant-candidates-TX5V6XOT.js} +9 -3
- package/chunks/{web-recon-prepass-VXXBPDAV.js → web-recon-prepass-6HOUGF7Q.js} +11 -6
- package/chunks/workflow-runtime-ZEEBJFQG.js +64 -0
- package/dashboard/apple-touch-icon.png +0 -0
- package/dashboard/assets/abnfDiagram-VCTEODGH-BuvumFYR.js +1 -0
- package/dashboard/assets/arc-DZzWDuCG.js +1 -0
- package/dashboard/assets/architecture-7GRP2DOG-DK9bv1Md.js +1 -0
- package/dashboard/assets/architectureDiagram-5GKGNRK7-Bw5el_EL.js +36 -0
- package/dashboard/assets/array-BifhSqXX.js +1 -0
- package/dashboard/assets/blockDiagram-I7D4REHJ-BjVLEApp.js +129 -0
- package/dashboard/assets/c4Diagram-7LVT6UL2-B9nNzx2J.js +38 -0
- package/dashboard/assets/channel-Ck17eKdX.js +1 -0
- package/dashboard/assets/chunk-2Q5K7J3B-C1jixKkw.js +1 -0
- package/dashboard/assets/chunk-4HAMMTFA-y72Q95nW.js +62 -0
- package/dashboard/assets/chunk-5VM5RSS4-ZNzvKenW.js +15 -0
- package/dashboard/assets/chunk-75Z2AOVW-BOhrOGMO.js +2 -0
- package/dashboard/assets/chunk-DU6HZSFF-B0EhAaNb.js +127 -0
- package/dashboard/assets/chunk-F27PBJKO-BR-hiDvM.js +1 -0
- package/dashboard/assets/chunk-FOHPRMQF-DHwB1DNv.js +161 -0
- package/dashboard/assets/chunk-GMAD6QVW-H15vJYXg.js +72 -0
- package/dashboard/assets/chunk-GVQU2GXP-BRndps0o.js +1 -0
- package/dashboard/assets/chunk-IMKFNOWR-CIzC_OWx.js +231 -0
- package/dashboard/assets/chunk-JWPE2WC7-DVXcaiue.js +1 -0
- package/dashboard/assets/chunk-L3NEJ4N5-NR4P1Vko.js +1 -0
- package/dashboard/assets/chunk-OSK3NFVY-DtjTDf8S.js +10 -0
- package/dashboard/assets/chunk-P2QGCYS3-CYT11Qjx.js +1 -0
- package/dashboard/assets/chunk-POPQ4Y6H-Duj2Ygwu.js +1 -0
- package/dashboard/assets/chunk-PWAF6VOD-z4p5Tf_y.js +1 -0
- package/dashboard/assets/chunk-SHT3W25Y-DYeLYLS3.js +168 -0
- package/dashboard/assets/chunk-SVP7TREG-BKowxCVI.js +88 -0
- package/dashboard/assets/chunk-TICWLB2K-GDAwEFlH.js +206 -0
- package/dashboard/assets/chunk-XXDRQBXY-DRD79Mjx.js +1 -0
- package/dashboard/assets/chunk-Y2CYZVJY-DsF7k-Jl.js +1 -0
- package/dashboard/assets/classDiagram-ZZMXUADV-BaeZA6LE.js +1 -0
- package/dashboard/assets/classDiagram-v2-VYDZK3BY-BaeZA6LE.js +1 -0
- package/dashboard/assets/common-vnzd7UOF.js +5 -0
- package/dashboard/assets/cose-bilkent-JH36ORCC-GqCLsRyf.js +1 -0
- package/dashboard/assets/cynefin-OW5HDTMX-CJN9YwWN.js +1 -0
- package/dashboard/assets/cynefinDiagram-5FMLGOSQ-DVJHCYQY.js +62 -0
- package/dashboard/assets/cytoscape.esm-CGd-uY3x.js +321 -0
- package/dashboard/assets/dagre-GXQ25YYZ-BMCrrJJR.js +4 -0
- package/dashboard/assets/dagre-PrKaheQc.js +1 -0
- package/dashboard/assets/defaultLocale-BFoDCU3G.js +1 -0
- package/dashboard/assets/diagram-S7CK7UJ4-CLYDdOEm.js +30 -0
- package/dashboard/assets/diagram-UQ7AKVKN-CnPuAZK7.js +41 -0
- package/dashboard/assets/diagram-VSXAHHWV-Cr2I2DnG.js +3 -0
- package/dashboard/assets/diagram-VX7I27RA-_mGW1wpp.js +24 -0
- package/dashboard/assets/diagram-Z3DM3KII-igybB0l9.js +24 -0
- package/dashboard/assets/dist-Bb7_-x5y.js +1 -0
- package/dashboard/assets/ebnfDiagram-PWID7BFC-CVCICf2R.js +1 -0
- package/dashboard/assets/erDiagram-RLTQ6QDP-CRjnfgxj.js +99 -0
- package/dashboard/assets/eventmodeling-NTZA5JFV-po5oDydv.js +1 -0
- package/dashboard/assets/flowDiagram-HODETNUW-TSV9s7q4.js +1 -0
- package/dashboard/assets/ganttDiagram-EL5Y4UJY-DppD7sD7.js +292 -0
- package/dashboard/assets/gitGraph-4MIJSDKK-Tw0vNnQc.js +1 -0
- package/dashboard/assets/gitGraphDiagram-WWUBYQGX-Cpf96-z3.js +106 -0
- package/dashboard/assets/graphlib-DS17s2tU.js +1 -0
- package/dashboard/assets/info-A6RAGUB7-DLyt9arx.js +1 -0
- package/dashboard/assets/infoDiagram-27XIBGKW-B6_piSNS.js +2 -0
- package/dashboard/assets/init-C-OQMol4.js +1 -0
- package/dashboard/assets/ishikawaDiagram-5VMMS53U-DvMO0B0X.js +70 -0
- package/dashboard/assets/journeyDiagram-3NMN7TZE-f7ZK98b6.js +139 -0
- package/dashboard/assets/kanban-definition-UXKFOSKX-Dso0nAxL.js +89 -0
- package/dashboard/assets/katex-CXMH3UgJ.js +257 -0
- package/dashboard/assets/line-VcKaFG0G.js +1 -0
- package/dashboard/assets/linear-D7YnpiWh.js +1 -0
- package/dashboard/assets/mermaid-parser.core-DriL2hrV.js +7 -0
- package/dashboard/assets/mermaid.core-DJWYDh_P.js +44 -0
- package/dashboard/assets/mindmap-definition-YA3MSWOX-DZsoIeac.js +96 -0
- package/dashboard/assets/operations-BIaUSnYv.js +121 -0
- package/dashboard/assets/operations-BeCdkT4S.css +1 -0
- package/dashboard/assets/ordinal-BDEzSJ7C.js +1 -0
- package/dashboard/assets/packet-AYTQ26CC-BQBIXKxk.js +1 -0
- package/dashboard/assets/path-fybaL0A-.js +1 -0
- package/dashboard/assets/pegDiagram-XKGWAZYB-B0-lslgW.js +1 -0
- package/dashboard/assets/pie-WAS4IAKB-DoY6dwQs.js +1 -0
- package/dashboard/assets/pieDiagram-E7YTZNPT-ElmdRjp5.js +39 -0
- package/dashboard/assets/quadrantDiagram-AXDQQJYC-Ci1h98Q2.js +7 -0
- package/dashboard/assets/radar-RG4KPBEZ-DHod2WgB.js +1 -0
- package/dashboard/assets/railroad-74A4TZTK-90JxB4xV.js +1 -0
- package/dashboard/assets/railroad-abnf-HS5TGJTU-BkXGl114.js +1 -0
- package/dashboard/assets/railroad-ebnf-LZEXJU2U-QVAERn2C.js +1 -0
- package/dashboard/assets/railroad-peg-WCYAUIDC-B1-PM01z.js +1 -0
- package/dashboard/assets/railroadDiagram-O6MQD6OU-k3190A6L.js +1 -0
- package/dashboard/assets/requirementDiagram-BXWQKSXE-C3-eR7I5.js +84 -0
- package/dashboard/assets/rough.esm-Dy-Kn_BL.js +1 -0
- package/dashboard/assets/sankeyDiagram-P5KCCOFB-Bc86pi8w.js +40 -0
- package/dashboard/assets/sequenceDiagram-WJ2MYXX4-Bv_MvEmz.js +162 -0
- package/dashboard/assets/sizeCapture-INFHLROL-B0uUizjq.js +1 -0
- package/dashboard/assets/src-D7Dqq5yP.js +1 -0
- package/dashboard/assets/stateDiagram-D77RDMKH-Bq_GVmeW.js +1 -0
- package/dashboard/assets/stateDiagram-v2-MP3YSRHH-z1XRaftz.js +1 -0
- package/dashboard/assets/swimlanes-42K2YHIH-q0iK-e0P.js +1 -0
- package/dashboard/assets/swimlanesDiagram-VR7AAH4N-C9L6XBQj.js +8 -0
- package/dashboard/assets/timeline-definition-24CTP7MA-CNfF07hM.js +120 -0
- package/dashboard/assets/treeView-Q6P3EWNA-m629ePnS.js +1 -0
- package/dashboard/assets/treemap-WGGIJYW6-D9Cb2ETv.js +1 -0
- package/dashboard/assets/vennDiagram-4TSXK5OY-v4dKF-FE.js +34 -0
- package/dashboard/assets/wardley-WFR3VGLG-DkwH_nRe.js +1 -0
- package/dashboard/assets/wardleyDiagram-VM6X3IG4-3ImohVu4.js +78 -0
- package/dashboard/assets/xychartDiagram-S5SC5T6Z-QJu3dm7K.js +7 -0
- package/dashboard/assets/zero-connect-BGDY0PMZ.webp +0 -0
- package/dashboard/assets/zero-curious-DovTLOs8.webp +0 -0
- package/dashboard/assets/zero-peek-Dzm3MT3X.png +0 -0
- package/dashboard/assets/zero-planning-CBeHDrG_.webp +0 -0
- package/dashboard/favicon.ico +0 -0
- package/dashboard/favicon.svg +10 -0
- package/dashboard/index.html +5 -3
- package/package.json +1 -1
- package/chunks/chunk-BCSRRQG5.js +0 -3514
- package/chunks/chunk-BOUGKEKA.js +0 -193
- package/chunks/chunk-GHWODZMR.js +0 -16
- package/chunks/eval-runner-EMEGF24P.js +0 -26
- package/chunks/orchestrate-DWWUT5RC.js +0 -58
- package/dashboard/assets/bot-Bg1Tp9_d.js +0 -1
- package/dashboard/assets/dist-B_dDCPbu.js +0 -1
- package/dashboard/assets/findings-page-mayGhNx6.js +0 -5
- package/dashboard/assets/format--susmHX7.js +0 -1
- package/dashboard/assets/input-TuVPR3Zl.js +0 -1
- package/dashboard/assets/jsx-runtime-MGseXjj5.js +0 -3
- package/dashboard/assets/live-page-HWWHX99U.js +0 -1
- package/dashboard/assets/meta-tile-ckHo-w7k.js +0 -1
- package/dashboard/assets/operations-BxZ0OoXO.js +0 -10
- package/dashboard/assets/operations-CMFVrXEe.css +0 -2
- package/dashboard/assets/operations-app-D3d35rgo.js +0 -46
- package/dashboard/assets/overview-page-W_4IteEr.js +0 -1
- package/dashboard/assets/page-header-Bw9AJgBV.js +0 -1
- package/dashboard/assets/scans-page-CgzVXHnn.js +0 -1
- package/dashboard/assets/siren-KQj8QAnJ.js +0 -1
- package/dashboard/assets/table-8EDklulN.js +0 -1
- package/dashboard/assets/tabs-CFHPOwg8.js +0 -1
|
@@ -0,0 +1,309 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { createRequire as __0CreateRequire } from "node:module";
|
|
3
|
+
const require = __0CreateRequire(import.meta.url);
|
|
4
|
+
import {
|
|
5
|
+
homeStateDir
|
|
6
|
+
} from "./chunk-LTEE2JWK.js";
|
|
7
|
+
import {
|
|
8
|
+
external_exports
|
|
9
|
+
} from "./chunk-VIT5ALXF.js";
|
|
10
|
+
|
|
11
|
+
// packages/cli/src/tui/session-store.ts
|
|
12
|
+
import { chmodSync, mkdirSync, readdirSync, readFileSync, rmSync, writeFileSync } from "node:fs";
|
|
13
|
+
import { join } from "node:path";
|
|
14
|
+
var SESSIONS_DIRNAME = "console-sessions";
|
|
15
|
+
var FILE_MODE = 384;
|
|
16
|
+
var DIR_MODE = 448;
|
|
17
|
+
var DEFAULT_PRUNE_KEEP = 20;
|
|
18
|
+
var PREVIEW_MAX_LENGTH = 120;
|
|
19
|
+
var SUMMARY_MAX_LENGTH = 120;
|
|
20
|
+
var SESSION_ID_PATTERN = /^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/;
|
|
21
|
+
var FILE_SUFFIX = ".json";
|
|
22
|
+
function sessionsDir(homeDir) {
|
|
23
|
+
return join(homeStateDir(homeDir), SESSIONS_DIRNAME);
|
|
24
|
+
}
|
|
25
|
+
function isValidSessionId(id) {
|
|
26
|
+
return typeof id === "string" && SESSION_ID_PATTERN.test(id);
|
|
27
|
+
}
|
|
28
|
+
function sessionFilePath(id, homeDir) {
|
|
29
|
+
if (!isValidSessionId(id)) return null;
|
|
30
|
+
return join(sessionsDir(homeDir), `${id}${FILE_SUFFIX}`);
|
|
31
|
+
}
|
|
32
|
+
function rawValue(raw, key) {
|
|
33
|
+
if (typeof raw !== "object" || raw === null || Array.isArray(raw)) return void 0;
|
|
34
|
+
return raw[key];
|
|
35
|
+
}
|
|
36
|
+
function optionalString(raw, key) {
|
|
37
|
+
const value = rawValue(raw, key);
|
|
38
|
+
return typeof value === "string" && value.length > 0 ? value : void 0;
|
|
39
|
+
}
|
|
40
|
+
var CONTROL_CHARS = /[\u0000-\u001F\u007F-\u009F]+/g;
|
|
41
|
+
function sanitizeLine(value, maxLength) {
|
|
42
|
+
if (typeof value !== "string") return "";
|
|
43
|
+
const flattened = value.replace(CONTROL_CHARS, " ").replace(/\s+/g, " ").trim();
|
|
44
|
+
return flattened.length > maxLength ? `${flattened.slice(0, maxLength - 1)}\u2026` : flattened;
|
|
45
|
+
}
|
|
46
|
+
function sanitizePreview(value) {
|
|
47
|
+
return sanitizeLine(value, PREVIEW_MAX_LENGTH);
|
|
48
|
+
}
|
|
49
|
+
function sanitizeSummary(value) {
|
|
50
|
+
const flattened = sanitizeLine(value, SUMMARY_MAX_LENGTH);
|
|
51
|
+
return flattened.length > 0 ? flattened : void 0;
|
|
52
|
+
}
|
|
53
|
+
function toMeta(id, raw, messageCount) {
|
|
54
|
+
const savedAt = rawValue(raw, "savedAt");
|
|
55
|
+
const cwd = rawValue(raw, "cwd");
|
|
56
|
+
const target = optionalString(raw, "target");
|
|
57
|
+
const model = optionalString(raw, "model");
|
|
58
|
+
const mode = optionalString(raw, "mode");
|
|
59
|
+
const summary = sanitizeSummary(rawValue(raw, "summary"));
|
|
60
|
+
return {
|
|
61
|
+
id,
|
|
62
|
+
savedAt: typeof savedAt === "number" && Number.isFinite(savedAt) ? savedAt : 0,
|
|
63
|
+
...target !== void 0 ? { target } : {},
|
|
64
|
+
...model !== void 0 ? { model } : {},
|
|
65
|
+
...mode !== void 0 ? { mode } : {},
|
|
66
|
+
cwd: typeof cwd === "string" ? cwd : "",
|
|
67
|
+
messageCount,
|
|
68
|
+
preview: sanitizePreview(rawValue(raw, "preview")),
|
|
69
|
+
...rawValue(raw, "archived") === true ? { archived: true } : {},
|
|
70
|
+
...summary !== void 0 ? { summary } : {}
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
var finite = external_exports.number().finite().nonnegative();
|
|
74
|
+
var boundedString = external_exports.string().max(1e6);
|
|
75
|
+
var jsonValueSchema = external_exports.lazy(() => external_exports.union([
|
|
76
|
+
external_exports.null(),
|
|
77
|
+
external_exports.boolean(),
|
|
78
|
+
external_exports.number().finite(),
|
|
79
|
+
boundedString,
|
|
80
|
+
external_exports.array(jsonValueSchema).max(1e4),
|
|
81
|
+
external_exports.record(jsonValueSchema)
|
|
82
|
+
]));
|
|
83
|
+
var toolCallSchema = external_exports.object({ id: external_exports.string().max(256).optional(), name: external_exports.string().max(256), arguments: jsonValueSchema }).strict();
|
|
84
|
+
var workerTurnSchema = external_exports.object({
|
|
85
|
+
turn: finite,
|
|
86
|
+
ts: finite,
|
|
87
|
+
assistant: boundedString.optional(),
|
|
88
|
+
reasoning_summary: boundedString.optional(),
|
|
89
|
+
partial: external_exports.boolean().optional(),
|
|
90
|
+
tools: external_exports.array(external_exports.object({ callIndex: finite, call: toolCallSchema, result: jsonValueSchema, running: external_exports.boolean().optional() }).strict()).max(1e3).optional()
|
|
91
|
+
}).strict();
|
|
92
|
+
var workerSchema = external_exports.object({
|
|
93
|
+
id: external_exports.string().max(256),
|
|
94
|
+
parentId: external_exports.string().max(256),
|
|
95
|
+
name: external_exports.string().max(200),
|
|
96
|
+
status: external_exports.enum(["queued", "running", "parked", "completed", "failed", "stopped"]),
|
|
97
|
+
task: boundedString,
|
|
98
|
+
transcript: external_exports.array(workerTurnSchema).max(1e4),
|
|
99
|
+
telemetry: external_exports.record(jsonValueSchema).optional(),
|
|
100
|
+
operatorMessages: external_exports.array(external_exports.object({ id: external_exports.string().max(256), text: boundedString, createdAt: external_exports.string().max(64) }).strict()).max(1e4).optional(),
|
|
101
|
+
summary: boundedString.optional(),
|
|
102
|
+
error: boundedString.optional(),
|
|
103
|
+
model: external_exports.string().max(256).optional(),
|
|
104
|
+
role: external_exports.string().max(64).optional()
|
|
105
|
+
}).strict();
|
|
106
|
+
var consoleStateSchema = external_exports.object({
|
|
107
|
+
configuration: external_exports.object({
|
|
108
|
+
target: external_exports.string().max(8e3),
|
|
109
|
+
role: external_exports.enum(["discovery", "attack", "verify", "report", "audit", "review"]),
|
|
110
|
+
runtime: external_exports.object({
|
|
111
|
+
providerId: external_exports.string().max(256).optional(),
|
|
112
|
+
model: external_exports.string().max(256).optional(),
|
|
113
|
+
reasoningEffort: external_exports.enum(["none", "low", "medium", "high", "xhigh", "max"]).optional(),
|
|
114
|
+
agentModels: external_exports.record(external_exports.string().max(256)).optional(),
|
|
115
|
+
singleModel: external_exports.boolean().optional(),
|
|
116
|
+
autoRoute: external_exports.boolean().optional()
|
|
117
|
+
}).strict()
|
|
118
|
+
}).strict().optional(),
|
|
119
|
+
version: external_exports.literal(1),
|
|
120
|
+
title: external_exports.string().max(200),
|
|
121
|
+
objective: external_exports.string().max(8e3),
|
|
122
|
+
usage: external_exports.object({
|
|
123
|
+
inputTokens: finite,
|
|
124
|
+
outputTokens: finite,
|
|
125
|
+
costUsd: finite.optional(),
|
|
126
|
+
costKind: external_exports.enum(["estimated", "reported"]).optional(),
|
|
127
|
+
costUnavailable: external_exports.boolean().optional()
|
|
128
|
+
}).strict(),
|
|
129
|
+
contextInputTokens: finite.optional(),
|
|
130
|
+
lastOutcome: external_exports.object({
|
|
131
|
+
assistantText: boundedString,
|
|
132
|
+
stopReason: external_exports.enum(["end_turn", "max_tool_iterations", "max_turn_tokens", "output_cap", "cancelled", "error"]),
|
|
133
|
+
budget: external_exports.object({ tokensUsed: finite, tokenBudget: finite.nullable(), iterations: finite, maxToolIterations: finite }).strict(),
|
|
134
|
+
error: boundedString.optional(),
|
|
135
|
+
usage: external_exports.object({ inputTokens: finite, outputTokens: finite }).strict().optional(),
|
|
136
|
+
contextInputTokens: finite.optional(),
|
|
137
|
+
outputCap: external_exports.object({ checkpoint: jsonValueSchema, continuations: finite, message: boundedString }).strict().optional()
|
|
138
|
+
}).strict().nullable(),
|
|
139
|
+
todos: external_exports.object({
|
|
140
|
+
todos: external_exports.array(external_exports.object({ id: external_exports.string().max(256), content: external_exports.string().max(8e3), status: external_exports.string().max(64), group: external_exports.string().max(200).optional() }).strict()).max(1e3),
|
|
141
|
+
done: finite,
|
|
142
|
+
total: finite,
|
|
143
|
+
line: external_exports.string().max(8e3),
|
|
144
|
+
revision: finite
|
|
145
|
+
}).strict().nullable(),
|
|
146
|
+
workers: external_exports.array(workerSchema).max(1e3),
|
|
147
|
+
compaction: jsonValueSchema.nullable(),
|
|
148
|
+
queuedMessages: external_exports.array(external_exports.object({ id: external_exports.string().max(256), text: boundedString, createdAt: external_exports.string().max(64) }).strict()).max(20),
|
|
149
|
+
focusedFindingId: external_exports.string().max(256).optional(),
|
|
150
|
+
stagedPrompt: boundedString.optional()
|
|
151
|
+
}).strict();
|
|
152
|
+
function parseConsoleState(value) {
|
|
153
|
+
let nodes = 0;
|
|
154
|
+
const ancestors = /* @__PURE__ */ new Set();
|
|
155
|
+
const boundedJson = (entry, depth) => {
|
|
156
|
+
if (++nodes > 1e5 || depth > 24) return false;
|
|
157
|
+
if (entry === null || typeof entry === "boolean") return true;
|
|
158
|
+
if (typeof entry === "string") return entry.length <= 1e6;
|
|
159
|
+
if (typeof entry === "number") return Number.isFinite(entry);
|
|
160
|
+
if (typeof entry !== "object" || ancestors.has(entry)) return false;
|
|
161
|
+
if (!Array.isArray(entry) && Object.getPrototypeOf(entry) !== Object.prototype && Object.getPrototypeOf(entry) !== null) return false;
|
|
162
|
+
ancestors.add(entry);
|
|
163
|
+
const valid = (Array.isArray(entry) ? entry : Object.values(entry)).every((item) => boundedJson(item, depth + 1));
|
|
164
|
+
ancestors.delete(entry);
|
|
165
|
+
return valid;
|
|
166
|
+
};
|
|
167
|
+
if (!boundedJson(value, 0)) return void 0;
|
|
168
|
+
try {
|
|
169
|
+
if (JSON.stringify(value).length > 4 * 1024 * 1024) return void 0;
|
|
170
|
+
const parsed = consoleStateSchema.safeParse(value);
|
|
171
|
+
return parsed.success ? parsed.data : void 0;
|
|
172
|
+
} catch {
|
|
173
|
+
return void 0;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
function parseSession(id, text) {
|
|
177
|
+
let raw;
|
|
178
|
+
try {
|
|
179
|
+
raw = JSON.parse(text);
|
|
180
|
+
} catch {
|
|
181
|
+
return null;
|
|
182
|
+
}
|
|
183
|
+
const messages = rawValue(raw, "messages");
|
|
184
|
+
if (!Array.isArray(messages)) return null;
|
|
185
|
+
const consoleState = parseConsoleState(rawValue(raw, "consoleState"));
|
|
186
|
+
return { ...toMeta(id, raw, messages.length), messages, ...consoleState ? { consoleState } : {} };
|
|
187
|
+
}
|
|
188
|
+
function saveSession(session, homeDir) {
|
|
189
|
+
try {
|
|
190
|
+
if (!Array.isArray(session?.messages)) return false;
|
|
191
|
+
const path = sessionFilePath(session.id, homeDir);
|
|
192
|
+
if (path === null) return false;
|
|
193
|
+
const consoleState = session.consoleState === void 0 ? void 0 : parseConsoleState(session.consoleState);
|
|
194
|
+
if (session.consoleState !== void 0 && !consoleState) return false;
|
|
195
|
+
const dir = sessionsDir(homeDir);
|
|
196
|
+
mkdirSync(dir, { recursive: true, mode: DIR_MODE });
|
|
197
|
+
chmodSync(dir, DIR_MODE);
|
|
198
|
+
const payload = {
|
|
199
|
+
...toMeta(session.id, session, session.messages.length),
|
|
200
|
+
messages: session.messages,
|
|
201
|
+
...consoleState ? { consoleState } : {}
|
|
202
|
+
};
|
|
203
|
+
writeFileSync(path, `${JSON.stringify(payload)}
|
|
204
|
+
`, { encoding: "utf8", mode: FILE_MODE });
|
|
205
|
+
chmodSync(path, FILE_MODE);
|
|
206
|
+
return true;
|
|
207
|
+
} catch {
|
|
208
|
+
return false;
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
function listSessions(homeDir, opts) {
|
|
212
|
+
const dir = sessionsDir(homeDir);
|
|
213
|
+
let entries;
|
|
214
|
+
try {
|
|
215
|
+
entries = readdirSync(dir);
|
|
216
|
+
} catch {
|
|
217
|
+
return [];
|
|
218
|
+
}
|
|
219
|
+
const out = [];
|
|
220
|
+
for (const entry of entries) {
|
|
221
|
+
if (!entry.endsWith(FILE_SUFFIX)) continue;
|
|
222
|
+
const id = entry.slice(0, -FILE_SUFFIX.length);
|
|
223
|
+
if (!isValidSessionId(id)) continue;
|
|
224
|
+
let text;
|
|
225
|
+
try {
|
|
226
|
+
text = readFileSync(join(dir, entry), "utf8");
|
|
227
|
+
} catch {
|
|
228
|
+
continue;
|
|
229
|
+
}
|
|
230
|
+
const parsed = parseSession(id, text);
|
|
231
|
+
if (parsed === null) continue;
|
|
232
|
+
if (opts?.cwd !== void 0 && parsed.cwd !== opts.cwd) continue;
|
|
233
|
+
const { messages: _messages, ...meta } = parsed;
|
|
234
|
+
out.push(meta);
|
|
235
|
+
}
|
|
236
|
+
out.sort((a, b) => b.savedAt - a.savedAt || a.id.localeCompare(b.id));
|
|
237
|
+
const limit = opts?.limit;
|
|
238
|
+
if (typeof limit === "number" && Number.isFinite(limit)) {
|
|
239
|
+
return out.slice(0, Math.max(0, Math.floor(limit)));
|
|
240
|
+
}
|
|
241
|
+
return out;
|
|
242
|
+
}
|
|
243
|
+
var SECONDS_PER_MINUTE = 60;
|
|
244
|
+
var MINUTES_PER_HOUR = 60;
|
|
245
|
+
var HOURS_PER_DAY = 24;
|
|
246
|
+
var DAYS_PER_WEEK = 7;
|
|
247
|
+
var FUTURE_SKEW_MS = 6e4;
|
|
248
|
+
function relativeAge(savedAt, now) {
|
|
249
|
+
if (!Number.isFinite(savedAt) || savedAt <= 0) return "";
|
|
250
|
+
if (savedAt > now + FUTURE_SKEW_MS) return "";
|
|
251
|
+
const seconds = Math.max(0, Math.floor((now - savedAt) / 1e3));
|
|
252
|
+
if (seconds < SECONDS_PER_MINUTE) return `${seconds}s`;
|
|
253
|
+
const minutes = Math.floor(seconds / SECONDS_PER_MINUTE);
|
|
254
|
+
if (minutes < MINUTES_PER_HOUR) return `${minutes}m`;
|
|
255
|
+
const hours = Math.floor(minutes / MINUTES_PER_HOUR);
|
|
256
|
+
if (hours < HOURS_PER_DAY) return `${hours}h`;
|
|
257
|
+
const days = Math.floor(hours / HOURS_PER_DAY);
|
|
258
|
+
if (days < DAYS_PER_WEEK) return `${days}d`;
|
|
259
|
+
return `${Math.floor(days / DAYS_PER_WEEK)}w`;
|
|
260
|
+
}
|
|
261
|
+
function loadSession(id, homeDir) {
|
|
262
|
+
const path = sessionFilePath(id, homeDir);
|
|
263
|
+
if (path === null) return null;
|
|
264
|
+
try {
|
|
265
|
+
return parseSession(id, readFileSync(path, "utf8"));
|
|
266
|
+
} catch {
|
|
267
|
+
return null;
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
function deleteSession(id, homeDir, opts) {
|
|
271
|
+
if (opts?.protectedIds?.has(id)) return false;
|
|
272
|
+
const path = sessionFilePath(id, homeDir);
|
|
273
|
+
if (path === null) return false;
|
|
274
|
+
try {
|
|
275
|
+
rmSync(path, { force: false });
|
|
276
|
+
return true;
|
|
277
|
+
} catch {
|
|
278
|
+
return false;
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
function pruneSessions(homeDir, opts) {
|
|
282
|
+
const requested = opts?.keep;
|
|
283
|
+
const keep = typeof requested === "number" && Number.isFinite(requested) ? Math.max(0, Math.floor(requested)) : DEFAULT_PRUNE_KEEP;
|
|
284
|
+
let removed = 0;
|
|
285
|
+
let archived = 0;
|
|
286
|
+
for (const meta of listSessions(homeDir)) {
|
|
287
|
+
if (opts?.protectedIds?.has(meta.id)) continue;
|
|
288
|
+
if (archived++ < keep) continue;
|
|
289
|
+
if (deleteSession(meta.id, homeDir, opts)) removed += 1;
|
|
290
|
+
}
|
|
291
|
+
return removed;
|
|
292
|
+
}
|
|
293
|
+
function setSessionArchived(id, archived, homeDir) {
|
|
294
|
+
const session = loadSession(id, homeDir);
|
|
295
|
+
return session !== null && saveSession({ ...session, archived }, homeDir);
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
export {
|
|
299
|
+
DEFAULT_PRUNE_KEEP,
|
|
300
|
+
sessionsDir,
|
|
301
|
+
isValidSessionId,
|
|
302
|
+
saveSession,
|
|
303
|
+
listSessions,
|
|
304
|
+
relativeAge,
|
|
305
|
+
loadSession,
|
|
306
|
+
deleteSession,
|
|
307
|
+
pruneSessions,
|
|
308
|
+
setSessionArchived
|
|
309
|
+
};
|
|
@@ -3,7 +3,7 @@ import { createRequire as __0CreateRequire } from "node:module";
|
|
|
3
3
|
const require = __0CreateRequire(import.meta.url);
|
|
4
4
|
import {
|
|
5
5
|
homeStateDir
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-LTEE2JWK.js";
|
|
7
7
|
|
|
8
8
|
// packages/core/dist/scope/waf-detect.js
|
|
9
9
|
function readHeader(headers, name) {
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { createRequire as __0CreateRequire } from "node:module";
|
|
3
3
|
const require = __0CreateRequire(import.meta.url);
|
|
4
4
|
import {
|
|
5
|
+
EventSourceParserStream,
|
|
5
6
|
_enum,
|
|
6
7
|
any,
|
|
7
8
|
array,
|
|
@@ -16,7 +17,7 @@ import {
|
|
|
16
17
|
toJSONSchema,
|
|
17
18
|
union,
|
|
18
19
|
unknown
|
|
19
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-NJLKFC66.js";
|
|
20
21
|
import {
|
|
21
22
|
require_auth_errors,
|
|
22
23
|
require_token_error,
|
|
@@ -583,195 +584,6 @@ function isJSONObject(value) {
|
|
|
583
584
|
);
|
|
584
585
|
}
|
|
585
586
|
|
|
586
|
-
// node_modules/.pnpm/eventsource-parser@3.0.8/node_modules/eventsource-parser/dist/index.js
|
|
587
|
-
var ParseError = class extends Error {
|
|
588
|
-
constructor(message, options) {
|
|
589
|
-
super(message), this.name = "ParseError", this.type = options.type, this.field = options.field, this.value = options.value, this.line = options.line;
|
|
590
|
-
}
|
|
591
|
-
};
|
|
592
|
-
var LF = 10;
|
|
593
|
-
var CR = 13;
|
|
594
|
-
var SPACE = 32;
|
|
595
|
-
function noop(_arg) {
|
|
596
|
-
}
|
|
597
|
-
function createParser(callbacks) {
|
|
598
|
-
if (typeof callbacks == "function")
|
|
599
|
-
throw new TypeError(
|
|
600
|
-
"`callbacks` must be an object, got a function instead. Did you mean `{onEvent: fn}`?"
|
|
601
|
-
);
|
|
602
|
-
const { onEvent = noop, onError = noop, onRetry = noop, onComment } = callbacks, pendingFragments = [];
|
|
603
|
-
let isFirstChunk = true, id, data = "", dataLines = 0, eventType;
|
|
604
|
-
function feed(chunk) {
|
|
605
|
-
if (isFirstChunk && (isFirstChunk = false, chunk.charCodeAt(0) === 239 && chunk.charCodeAt(1) === 187 && chunk.charCodeAt(2) === 191 && (chunk = chunk.slice(3))), pendingFragments.length === 0) {
|
|
606
|
-
const trailing2 = processLines(chunk);
|
|
607
|
-
trailing2 !== "" && pendingFragments.push(trailing2);
|
|
608
|
-
return;
|
|
609
|
-
}
|
|
610
|
-
if (chunk.indexOf(`
|
|
611
|
-
`) === -1 && chunk.indexOf("\r") === -1) {
|
|
612
|
-
pendingFragments.push(chunk);
|
|
613
|
-
return;
|
|
614
|
-
}
|
|
615
|
-
pendingFragments.push(chunk);
|
|
616
|
-
const input = pendingFragments.join("");
|
|
617
|
-
pendingFragments.length = 0;
|
|
618
|
-
const trailing = processLines(input);
|
|
619
|
-
trailing !== "" && pendingFragments.push(trailing);
|
|
620
|
-
}
|
|
621
|
-
function processLines(chunk) {
|
|
622
|
-
let searchIndex = 0;
|
|
623
|
-
if (chunk.indexOf("\r") === -1) {
|
|
624
|
-
let lfIndex = chunk.indexOf(`
|
|
625
|
-
`, searchIndex);
|
|
626
|
-
for (; lfIndex !== -1; ) {
|
|
627
|
-
if (searchIndex === lfIndex) {
|
|
628
|
-
dataLines > 0 && onEvent({ id, event: eventType, data }), id = void 0, data = "", dataLines = 0, eventType = void 0, searchIndex = lfIndex + 1, lfIndex = chunk.indexOf(`
|
|
629
|
-
`, searchIndex);
|
|
630
|
-
continue;
|
|
631
|
-
}
|
|
632
|
-
const firstCharCode = chunk.charCodeAt(searchIndex);
|
|
633
|
-
if (isDataPrefix(chunk, searchIndex, firstCharCode)) {
|
|
634
|
-
const valueStart = chunk.charCodeAt(searchIndex + 5) === SPACE ? searchIndex + 6 : searchIndex + 5, value = chunk.slice(valueStart, lfIndex);
|
|
635
|
-
if (dataLines === 0 && chunk.charCodeAt(lfIndex + 1) === LF) {
|
|
636
|
-
onEvent({ id, event: eventType, data: value }), id = void 0, data = "", eventType = void 0, searchIndex = lfIndex + 2, lfIndex = chunk.indexOf(`
|
|
637
|
-
`, searchIndex);
|
|
638
|
-
continue;
|
|
639
|
-
}
|
|
640
|
-
data = dataLines === 0 ? value : `${data}
|
|
641
|
-
${value}`, dataLines++;
|
|
642
|
-
} else isEventPrefix(chunk, searchIndex, firstCharCode) ? eventType = chunk.slice(
|
|
643
|
-
chunk.charCodeAt(searchIndex + 6) === SPACE ? searchIndex + 7 : searchIndex + 6,
|
|
644
|
-
lfIndex
|
|
645
|
-
) || void 0 : parseLine(chunk, searchIndex, lfIndex);
|
|
646
|
-
searchIndex = lfIndex + 1, lfIndex = chunk.indexOf(`
|
|
647
|
-
`, searchIndex);
|
|
648
|
-
}
|
|
649
|
-
return chunk.slice(searchIndex);
|
|
650
|
-
}
|
|
651
|
-
for (; searchIndex < chunk.length; ) {
|
|
652
|
-
const crIndex = chunk.indexOf("\r", searchIndex), lfIndex = chunk.indexOf(`
|
|
653
|
-
`, searchIndex);
|
|
654
|
-
let lineEnd = -1;
|
|
655
|
-
if (crIndex !== -1 && lfIndex !== -1 ? lineEnd = crIndex < lfIndex ? crIndex : lfIndex : crIndex !== -1 ? crIndex === chunk.length - 1 ? lineEnd = -1 : lineEnd = crIndex : lfIndex !== -1 && (lineEnd = lfIndex), lineEnd === -1)
|
|
656
|
-
break;
|
|
657
|
-
parseLine(chunk, searchIndex, lineEnd), searchIndex = lineEnd + 1, chunk.charCodeAt(searchIndex - 1) === CR && chunk.charCodeAt(searchIndex) === LF && searchIndex++;
|
|
658
|
-
}
|
|
659
|
-
return chunk.slice(searchIndex);
|
|
660
|
-
}
|
|
661
|
-
function parseLine(chunk, start, end) {
|
|
662
|
-
if (start === end) {
|
|
663
|
-
dispatchEvent();
|
|
664
|
-
return;
|
|
665
|
-
}
|
|
666
|
-
const firstCharCode = chunk.charCodeAt(start);
|
|
667
|
-
if (isDataPrefix(chunk, start, firstCharCode)) {
|
|
668
|
-
const valueStart = chunk.charCodeAt(start + 5) === SPACE ? start + 6 : start + 5, value2 = chunk.slice(valueStart, end);
|
|
669
|
-
data = dataLines === 0 ? value2 : `${data}
|
|
670
|
-
${value2}`, dataLines++;
|
|
671
|
-
return;
|
|
672
|
-
}
|
|
673
|
-
if (isEventPrefix(chunk, start, firstCharCode)) {
|
|
674
|
-
eventType = chunk.slice(chunk.charCodeAt(start + 6) === SPACE ? start + 7 : start + 6, end) || void 0;
|
|
675
|
-
return;
|
|
676
|
-
}
|
|
677
|
-
if (firstCharCode === 105 && chunk.charCodeAt(start + 1) === 100 && chunk.charCodeAt(start + 2) === 58) {
|
|
678
|
-
const value2 = chunk.slice(chunk.charCodeAt(start + 3) === SPACE ? start + 4 : start + 3, end);
|
|
679
|
-
id = value2.includes("\0") ? void 0 : value2;
|
|
680
|
-
return;
|
|
681
|
-
}
|
|
682
|
-
if (firstCharCode === 58) {
|
|
683
|
-
if (onComment) {
|
|
684
|
-
const line2 = chunk.slice(start, end);
|
|
685
|
-
onComment(line2.slice(chunk.charCodeAt(start + 1) === SPACE ? 2 : 1));
|
|
686
|
-
}
|
|
687
|
-
return;
|
|
688
|
-
}
|
|
689
|
-
const line = chunk.slice(start, end), fieldSeparatorIndex = line.indexOf(":");
|
|
690
|
-
if (fieldSeparatorIndex === -1) {
|
|
691
|
-
processField(line, "", line);
|
|
692
|
-
return;
|
|
693
|
-
}
|
|
694
|
-
const field = line.slice(0, fieldSeparatorIndex), offset = line.charCodeAt(fieldSeparatorIndex + 1) === SPACE ? 2 : 1, value = line.slice(fieldSeparatorIndex + offset);
|
|
695
|
-
processField(field, value, line);
|
|
696
|
-
}
|
|
697
|
-
function processField(field, value, line) {
|
|
698
|
-
switch (field) {
|
|
699
|
-
case "event":
|
|
700
|
-
eventType = value || void 0;
|
|
701
|
-
break;
|
|
702
|
-
case "data":
|
|
703
|
-
data = dataLines === 0 ? value : `${data}
|
|
704
|
-
${value}`, dataLines++;
|
|
705
|
-
break;
|
|
706
|
-
case "id":
|
|
707
|
-
id = value.includes("\0") ? void 0 : value;
|
|
708
|
-
break;
|
|
709
|
-
case "retry":
|
|
710
|
-
/^\d+$/.test(value) ? onRetry(parseInt(value, 10)) : onError(
|
|
711
|
-
new ParseError(`Invalid \`retry\` value: "${value}"`, {
|
|
712
|
-
type: "invalid-retry",
|
|
713
|
-
value,
|
|
714
|
-
line
|
|
715
|
-
})
|
|
716
|
-
);
|
|
717
|
-
break;
|
|
718
|
-
default:
|
|
719
|
-
onError(
|
|
720
|
-
new ParseError(
|
|
721
|
-
`Unknown field "${field.length > 20 ? `${field.slice(0, 20)}\u2026` : field}"`,
|
|
722
|
-
{ type: "unknown-field", field, value, line }
|
|
723
|
-
)
|
|
724
|
-
);
|
|
725
|
-
break;
|
|
726
|
-
}
|
|
727
|
-
}
|
|
728
|
-
function dispatchEvent() {
|
|
729
|
-
dataLines > 0 && onEvent({
|
|
730
|
-
id,
|
|
731
|
-
event: eventType,
|
|
732
|
-
data
|
|
733
|
-
}), id = void 0, data = "", dataLines = 0, eventType = void 0;
|
|
734
|
-
}
|
|
735
|
-
function reset(options = {}) {
|
|
736
|
-
if (options.consume && pendingFragments.length > 0) {
|
|
737
|
-
const incompleteLine = pendingFragments.join("");
|
|
738
|
-
parseLine(incompleteLine, 0, incompleteLine.length);
|
|
739
|
-
}
|
|
740
|
-
isFirstChunk = true, id = void 0, data = "", dataLines = 0, eventType = void 0, pendingFragments.length = 0;
|
|
741
|
-
}
|
|
742
|
-
return { feed, reset };
|
|
743
|
-
}
|
|
744
|
-
function isDataPrefix(chunk, i, firstCharCode) {
|
|
745
|
-
return firstCharCode === 100 && chunk.charCodeAt(i + 1) === 97 && chunk.charCodeAt(i + 2) === 116 && chunk.charCodeAt(i + 3) === 97 && chunk.charCodeAt(i + 4) === 58;
|
|
746
|
-
}
|
|
747
|
-
function isEventPrefix(chunk, i, firstCharCode) {
|
|
748
|
-
return firstCharCode === 101 && chunk.charCodeAt(i + 1) === 118 && chunk.charCodeAt(i + 2) === 101 && chunk.charCodeAt(i + 3) === 110 && chunk.charCodeAt(i + 4) === 116 && chunk.charCodeAt(i + 5) === 58;
|
|
749
|
-
}
|
|
750
|
-
|
|
751
|
-
// node_modules/.pnpm/eventsource-parser@3.0.8/node_modules/eventsource-parser/dist/stream.js
|
|
752
|
-
var EventSourceParserStream = class extends TransformStream {
|
|
753
|
-
constructor({ onError, onRetry, onComment } = {}) {
|
|
754
|
-
let parser;
|
|
755
|
-
super({
|
|
756
|
-
start(controller) {
|
|
757
|
-
parser = createParser({
|
|
758
|
-
onEvent: (event) => {
|
|
759
|
-
controller.enqueue(event);
|
|
760
|
-
},
|
|
761
|
-
onError(error) {
|
|
762
|
-
onError === "terminate" ? controller.error(error) : typeof onError == "function" && onError(error);
|
|
763
|
-
},
|
|
764
|
-
onRetry,
|
|
765
|
-
onComment
|
|
766
|
-
});
|
|
767
|
-
},
|
|
768
|
-
transform(chunk) {
|
|
769
|
-
parser.feed(chunk);
|
|
770
|
-
}
|
|
771
|
-
});
|
|
772
|
-
}
|
|
773
|
-
};
|
|
774
|
-
|
|
775
587
|
// node_modules/.pnpm/@workflow+serde@4.1.0/node_modules/@workflow/serde/dist/index.js
|
|
776
588
|
var WORKFLOW_SERIALIZE = /* @__PURE__ */ Symbol.for("workflow-serialize");
|
|
777
589
|
var WORKFLOW_DESERIALIZE = /* @__PURE__ */ Symbol.for("workflow-deserialize");
|