@opencode-ai/cli-darwin-x64 0.0.0-beta-202606070621 → 0.0.0-beta-202606070725
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/bin/{chunk-jfkqg2y4.js.map → chunk-05nepysv.js.map} +1 -1
- package/bin/{chunk-xsdvcn6v.js.map → chunk-07m152g3.js.map} +1 -1
- package/bin/{chunk-1btww6bw.js.map → chunk-0h23a7y9.js.map} +1 -1
- package/bin/chunk-0hw6knq4.js.map +13 -0
- package/bin/{chunk-1yyxvqw9.js.map → chunk-0mrc2mg3.js.map} +1 -1
- package/bin/{chunk-31ab3ht9.js.map → chunk-0paaeft0.js.map} +1 -1
- package/bin/{chunk-h2dnda4d.js.map → chunk-0qga0hbv.js.map} +1 -1
- package/bin/{chunk-hra5nhs3.js.map → chunk-1a8qsjj9.js.map} +2 -2
- package/bin/{chunk-w2t59bwj.js.map → chunk-1n111v89.js.map} +1 -1
- package/bin/{chunk-pcsm2n5f.js.map → chunk-1pr4t7q1.js.map} +1 -1
- package/bin/{chunk-btpgrkq6.js.map → chunk-1xnbtmtm.js.map} +1 -1
- package/bin/{chunk-z93jensj.js.map → chunk-2nz63b6j.js.map} +2 -2
- package/bin/{chunk-sfc8xzmv.js.map → chunk-2pwf1mhm.js.map} +1 -1
- package/bin/{chunk-7j6m8b4q.js.map → chunk-2q8jpzfn.js.map} +1 -1
- package/bin/{chunk-5n6r19gh.js.map → chunk-2xhv7bwb.js.map} +1 -1
- package/bin/{chunk-kr8mp1wy.js.map → chunk-2z35fkzr.js.map} +1 -1
- package/bin/{chunk-bhnn1691.js.map → chunk-30yw80hh.js.map} +1 -1
- package/bin/{chunk-bjf29a8y.js.map → chunk-381b2j09.js.map} +2 -2
- package/bin/{chunk-ws5m6p05.js.map → chunk-3ft127pe.js.map} +1 -1
- package/bin/{chunk-xe2n32pr.js.map → chunk-3k30kbd9.js.map} +1 -1
- package/bin/{chunk-jf83720m.js.map → chunk-3kjpb3v3.js.map} +1 -1
- package/bin/{chunk-9b0ef92v.js.map → chunk-3p5p3nae.js.map} +1 -1
- package/bin/{chunk-akgvtcd9.js.map → chunk-44wnjjsc.js.map} +1 -1
- package/bin/{chunk-19b0m0ky.js.map → chunk-4n6c7ts6.js.map} +2 -2
- package/bin/{chunk-m1przeh1.js.map → chunk-4vsstw6x.js.map} +1 -1
- package/bin/{chunk-dwynxw8t.js.map → chunk-50q0tjz5.js.map} +1 -1
- package/bin/{chunk-acr6w36h.js.map → chunk-5cgzyybw.js.map} +2 -2
- package/bin/{chunk-g97p4qzs.js.map → chunk-5g0bwafa.js.map} +1 -1
- package/bin/chunk-5gw08dzg.js.map +22 -0
- package/bin/{chunk-3qhwcyq6.js.map → chunk-5seh0nhz.js.map} +1 -1
- package/bin/{chunk-c25fj37p.js.map → chunk-5xx71t8z.js.map} +1 -1
- package/bin/chunk-60etdgbd.js.map +12 -0
- package/bin/{chunk-qwdzfdj2.js.map → chunk-63knpfq1.js.map} +1 -1
- package/bin/{chunk-5a0snzf9.js.map → chunk-66byxq9k.js.map} +1 -1
- package/bin/{chunk-qrrqmb05.js.map → chunk-69v174p8.js.map} +1 -1
- package/bin/chunk-6cb62ch8.js.map +10 -0
- package/bin/{chunk-7vtzx4v9.js.map → chunk-6e4sw21w.js.map} +1 -1
- package/bin/{chunk-0dfz3rfx.js.map → chunk-6fqjh62z.js.map} +1 -1
- package/bin/{chunk-978h2k33.js.map → chunk-6ft5bhb2.js.map} +1 -1
- package/bin/{chunk-mphhgn7h.js.map → chunk-6ggvgnwh.js.map} +1 -1
- package/bin/chunk-6nvbh08w.js.map +9 -0
- package/bin/{chunk-43t6skjx.js.map → chunk-6qe8a762.js.map} +1 -1
- package/bin/{chunk-xc9mm9wr.js.map → chunk-71zm581w.js.map} +1 -1
- package/bin/{chunk-xfrb0zb6.js.map → chunk-7d6009yk.js.map} +1 -1
- package/bin/{chunk-14vmwrn4.js.map → chunk-7jjsnyew.js.map} +1 -1
- package/bin/{chunk-v2ptw5k6.js.map → chunk-81qbsn9g.js.map} +1 -1
- package/bin/{chunk-wt57cmjq.js.map → chunk-8arnfnw2.js.map} +1 -1
- package/bin/chunk-8ehrd2z2.js.map +43 -0
- package/bin/{chunk-twx6x0fz.js.map → chunk-8k7t56f3.js.map} +1 -1
- package/bin/{chunk-es43e5my.js.map → chunk-8mdnc8m4.js.map} +1 -1
- package/bin/chunk-8xcptstn.js.map +9 -0
- package/bin/{chunk-q61kxqbe.js.map → chunk-908ng9qg.js.map} +2 -2
- package/bin/chunk-90nfrm64.js.map +9 -0
- package/bin/{chunk-vk88dwxs.js.map → chunk-9adrvbn6.js.map} +1 -1
- package/bin/{chunk-4wpwdxpa.js.map → chunk-9ecqt2ks.js.map} +1 -1
- package/bin/{chunk-0z6t0v97.js.map → chunk-9g3q18wt.js.map} +1 -1
- package/bin/{chunk-d3pdw16m.js.map → chunk-9hcjy5f4.js.map} +1 -1
- package/bin/chunk-aj1e34xj.js.map +9 -0
- package/bin/{chunk-4917dwmd.js.map → chunk-at4f25tr.js.map} +1 -1
- package/bin/chunk-az7hwa3e.js.map +9 -0
- package/bin/{chunk-q00bcy0f.js.map → chunk-b6dc9586.js.map} +1 -1
- package/bin/{chunk-t2aa31rp.js.map → chunk-b8cf49k4.js.map} +1 -1
- package/bin/chunk-bh2e2q3h.js.map +14 -0
- package/bin/{chunk-48q3mrvq.js.map → chunk-bjxnd74r.js.map} +2 -2
- package/bin/chunk-bwxwd975.js.map +9 -0
- package/bin/{chunk-39gmh462.js.map → chunk-c07gab7c.js.map} +1 -1
- package/bin/{chunk-f7yan2vf.js.map → chunk-c9tn4tzh.js.map} +1 -1
- package/bin/{chunk-c99gahsy.js.map → chunk-d2t7aagn.js.map} +1 -1
- package/bin/{chunk-dtxtc2sy.js.map → chunk-d394zad5.js.map} +1 -1
- package/bin/{chunk-jgnjm6y5.js.map → chunk-d8brx98x.js.map} +1 -1
- package/bin/{chunk-153vk1m3.js.map → chunk-df3rw1ne.js.map} +2 -2
- package/bin/{chunk-k1m7r6tj.js.map → chunk-dgy9xw12.js.map} +1 -1
- package/bin/{chunk-v9973v8h.js.map → chunk-dj7zttan.js.map} +1 -1
- package/bin/{chunk-gqrkt3a7.js.map → chunk-dnkfwbwg.js.map} +1 -1
- package/bin/{chunk-kk1nq2f1.js.map → chunk-dryp63pb.js.map} +3 -3
- package/bin/{chunk-bm703r9f.js.map → chunk-dyvep3sh.js.map} +1 -1
- package/bin/chunk-dzt8fjgz.js.map +9 -0
- package/bin/{chunk-y5245ch7.js.map → chunk-e1z47jyw.js.map} +1 -1
- package/bin/{chunk-zvewfgek.js.map → chunk-f99xt0bc.js.map} +1 -1
- package/bin/{chunk-pr7kx9ej.js.map → chunk-ffggz7qw.js.map} +1 -1
- package/bin/chunk-fks82d7n.js.map +9 -0
- package/bin/{chunk-6rtxapab.js.map → chunk-fwn55d8w.js.map} +1 -1
- package/bin/{chunk-h6vq83c7.js.map → chunk-fxsm4kgh.js.map} +1 -1
- package/bin/{chunk-wcv8z956.js.map → chunk-gdp4wta8.js.map} +1 -1
- package/bin/{chunk-hw28zjp5.js.map → chunk-gvf7e487.js.map} +1 -1
- package/bin/{chunk-gr4gaegr.js.map → chunk-gxfwkqnv.js.map} +1 -1
- package/bin/{chunk-1t20hffk.js.map → chunk-gy5ads9p.js.map} +1 -1
- package/bin/{chunk-b4r31cma.js.map → chunk-gyarmpw7.js.map} +1 -1
- package/bin/{chunk-yk37gmmn.js.map → chunk-h6b32d43.js.map} +1 -1
- package/bin/{chunk-kedzcskc.js.map → chunk-hd5bn2mk.js.map} +2 -2
- package/bin/{chunk-qkm5mqf9.js.map → chunk-hm6pq177.js.map} +1 -1
- package/bin/{chunk-6avjg6e5.js.map → chunk-hq3d2kgt.js.map} +1 -1
- package/bin/{chunk-y157cxe2.js.map → chunk-hrznn6sn.js.map} +2 -2
- package/bin/{chunk-9wn3bjxq.js.map → chunk-hzhkheeb.js.map} +1 -1
- package/bin/{chunk-bsbg6n7z.js.map → chunk-jk3aqnc8.js.map} +1 -1
- package/bin/{chunk-mbg5gncf.js.map → chunk-jqc9qey3.js.map} +1 -1
- package/bin/{chunk-qnsg43hx.js.map → chunk-jvgv8ajb.js.map} +1 -1
- package/bin/{chunk-pgx96176.js.map → chunk-k4x9m2c5.js.map} +1 -1
- package/bin/{chunk-a1fpn07n.js.map → chunk-ka1eaag1.js.map} +7 -58
- package/bin/{chunk-cvjeb3xd.js.map → chunk-kgzwrrp5.js.map} +1 -1
- package/bin/chunk-m3rn1hsq.js.map +9 -0
- package/bin/{chunk-taj5bzcz.js.map → chunk-mjranvm8.js.map} +2 -2
- package/bin/{chunk-fmex48bv.js.map → chunk-n3hke128.js.map} +1 -1
- package/bin/{chunk-n64t4f4m.js.map → chunk-na2tnz0a.js.map} +2 -2
- package/bin/{chunk-qt51te01.js.map → chunk-ndqpbp32.js.map} +1 -1
- package/bin/{chunk-pf56x9mm.js.map → chunk-ne5eywh3.js.map} +1 -1
- package/bin/{chunk-0kj87vqs.js.map → chunk-nqadg33p.js.map} +1 -1
- package/bin/{chunk-v698jxr0.js.map → chunk-nv0t395g.js.map} +1 -1
- package/bin/{chunk-k66r62yv.js.map → chunk-p374savw.js.map} +47 -41
- package/bin/{chunk-bk9mhkh3.js.map → chunk-p3x9ne5r.js.map} +1 -1
- package/bin/chunk-p65bwz8s.js.map +12 -0
- package/bin/{chunk-gh9t7d7h.js.map → chunk-p7fa27wc.js.map} +1 -1
- package/bin/{chunk-vyacx963.js.map → chunk-pe5nrzx3.js.map} +1 -1
- package/bin/{chunk-tby159gz.js.map → chunk-pjmywr55.js.map} +1 -1
- package/bin/{chunk-nng8bf3c.js.map → chunk-pmxe1gmf.js.map} +1 -1
- package/bin/{chunk-f9tkgqft.js.map → chunk-qcxqmxwq.js.map} +1 -1
- package/bin/{chunk-cpf29q6y.js.map → chunk-qjs7zc19.js.map} +5 -14
- package/bin/chunk-qjw21x98.js.map +9 -0
- package/bin/{chunk-e8xahsbg.js.map → chunk-qnz1bxd8.js.map} +2 -2
- package/bin/chunk-qsee8ghh.js.map +9 -0
- package/bin/{chunk-d2b3wd2q.js.map → chunk-qt2h927m.js.map} +1 -1
- package/bin/{chunk-qfbth2hc.js.map → chunk-qv8tfqzb.js.map} +2 -2
- package/bin/{chunk-z8624k76.js.map → chunk-r8y45bpd.js.map} +1 -1
- package/bin/{chunk-bv6f8mp7.js.map → chunk-rdvn30xx.js.map} +1 -1
- package/bin/{chunk-55n12zjn.js.map → chunk-rem3r2ke.js.map} +2 -2
- package/bin/{chunk-8257tbzy.js.map → chunk-rjedvemj.js.map} +2 -2
- package/bin/{chunk-6xsfk6xf.js.map → chunk-rx93gb4n.js.map} +3 -6
- package/bin/{chunk-b0f9yxmd.js.map → chunk-rys9sxdh.js.map} +2 -2
- package/bin/{chunk-ez683gpw.js.map → chunk-s1nnhawg.js.map} +2 -2
- package/bin/{chunk-rb8g67rn.js.map → chunk-s5gvmfg3.js.map} +1 -1
- package/bin/{chunk-z4pfyvdt.js.map → chunk-sb1p4n26.js.map} +2 -2
- package/bin/{chunk-wwqbzm6a.js.map → chunk-stemmahm.js.map} +1 -1
- package/bin/{chunk-1v0wx4g7.js.map → chunk-swdswq2s.js.map} +2 -2
- package/bin/{chunk-h4a8ncwv.js.map → chunk-sz9sv23a.js.map} +1 -1
- package/bin/chunk-t0js2h0x.js.map +9 -0
- package/bin/{chunk-svc6b5zz.js.map → chunk-t61xv9gg.js.map} +1 -1
- package/bin/{chunk-n6ez4zwv.js.map → chunk-vwcy664j.js.map} +1 -1
- package/bin/chunk-w0g55qhh.js.map +9 -0
- package/bin/chunk-wfv63d0v.js.map +9 -0
- package/bin/{chunk-x1z9q0xt.js.map → chunk-wtbjzm53.js.map} +1 -1
- package/bin/{chunk-jb52qddd.js.map → chunk-wybrd18c.js.map} +2 -2
- package/bin/{chunk-se8x72p4.js.map → chunk-xcsndda4.js.map} +2 -2
- package/bin/{chunk-g8r1za5z.js.map → chunk-xdwr90k4.js.map} +1 -1
- package/bin/{chunk-pvs1at3w.js.map → chunk-xhsynmg0.js.map} +1 -1
- package/bin/{chunk-48c1x0jv.js.map → chunk-ychv7rak.js.map} +2 -2
- package/bin/{chunk-ck4qx8dc.js.map → chunk-yehw6nax.js.map} +1 -1
- package/bin/{chunk-dbg8jrjh.js.map → chunk-yghrdbys.js.map} +1 -1
- package/bin/{chunk-ak3539e9.js.map → chunk-yqt6henw.js.map} +1 -1
- package/bin/chunk-zbjb256b.js.map +9 -0
- package/bin/{chunk-2rpcbx8t.js.map → chunk-zgf7kdrj.js.map} +1 -1
- package/bin/chunk-zhvcqj0q.js.map +9 -0
- package/bin/chunk-zqc04gwf.js.map +60 -0
- package/bin/{chunk-2qyrzjxd.js.map → chunk-zvxbwcsb.js.map} +2 -2
- package/bin/index.js.map +2 -2
- package/bin/lildax +0 -0
- package/bin/parser.worker.js.map +1 -1
- package/package.json +1 -1
- package/bin/chunk-4rxmd0jf.js.map +0 -9
- package/bin/chunk-62gzrntd.js.map +0 -9
- package/bin/chunk-72k04pp5.js.map +0 -9
- package/bin/chunk-789rbqnv.js.map +0 -9
- package/bin/chunk-8zfk2s84.js.map +0 -9
- package/bin/chunk-cbagtvm0.js.map +0 -9
- package/bin/chunk-cn8h4k4c.js.map +0 -9
- package/bin/chunk-dbsaw841.js.map +0 -9
- package/bin/chunk-hy2fbqh5.js.map +0 -9
- package/bin/chunk-jk11w70c.js.map +0 -9
- package/bin/chunk-mjgpytxy.js.map +0 -9
- package/bin/chunk-s9987b4a.js.map +0 -9
- package/bin/chunk-snpj1wx0.js.map +0 -9
- package/bin/chunk-tc1dtvdt.js.map +0 -9
- package/bin/chunk-vt7s4zqh.js.map +0 -9
- package/bin/chunk-vw8t9c6q.js.map +0 -23
- /package/bin/{chunk-mmjnd00g.js.map → chunk-0j2z4c6m.js.map} +0 -0
- /package/bin/{chunk-hg33f0me.js.map → chunk-3mz1tnad.js.map} +0 -0
- /package/bin/{chunk-739rgk4j.js.map → chunk-4bn3kj1m.js.map} +0 -0
- /package/bin/{chunk-ceyh19m4.js.map → chunk-70c010v4.js.map} +0 -0
- /package/bin/{chunk-0y4mpb71.js.map → chunk-c7hn1ayf.js.map} +0 -0
- /package/bin/{chunk-dgbcsqv5.js.map → chunk-ecbk06fn.js.map} +0 -0
- /package/bin/{chunk-dfeq3x3s.js.map → chunk-eeqacqws.js.map} +0 -0
- /package/bin/{chunk-j0mdv0fg.js.map → chunk-fe5fh1j3.js.map} +0 -0
- /package/bin/{chunk-qk4a2yxz.js.map → chunk-kpw1tm9n.js.map} +0 -0
- /package/bin/{chunk-xr4xvjwq.js.map → chunk-p2a3txy0.js.map} +0 -0
- /package/bin/{chunk-pb2v8f5g.js.map → chunk-qf3xwqzr.js.map} +0 -0
- /package/bin/{chunk-08kwcnfp.js.map → chunk-vh7bfqmh.js.map} +0 -0
- /package/bin/{chunk-fbpdepn7.js.map → chunk-ypjzed98.js.map} +0 -0
- /package/bin/{chunk-rbp7r2yk.js.map → chunk-zrwgc9n7.js.map} +0 -0
|
@@ -5,6 +5,6 @@
|
|
|
5
5
|
"import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260603141458_session_input_inbox\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`\n CREATE TABLE \\`session_input\\` (\n \\`seq\\` integer PRIMARY KEY AUTOINCREMENT,\n \\`id\\` text NOT NULL UNIQUE,\n \\`session_id\\` text NOT NULL,\n \\`prompt\\` text NOT NULL,\n \\`delivery\\` text NOT NULL,\n \\`promoted_seq\\` integer,\n \\`time_created\\` integer NOT NULL,\n CONSTRAINT \\`fk_session_input_session_id_session_id_fk\\` FOREIGN KEY (\\`session_id\\`) REFERENCES \\`session\\`(\\`id\\`) ON DELETE CASCADE\n );\n `)\n yield* tx.run(\n `CREATE INDEX \\`session_input_session_pending_seq_idx\\` ON \\`session_input\\` (\\`session_id\\`,\\`promoted_seq\\`,\\`seq\\`);`,\n )\n })\n },\n} satisfies DatabaseMigration.Migration\n"
|
|
6
6
|
],
|
|
7
7
|
"mappings": ";wHAGA,SAAe,QACb,GAAI,qCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,geAWb,EACD,MAAO,EAAG,IACR,8GACF,EACD,EAEL",
|
|
8
|
-
"debugId": "
|
|
8
|
+
"debugId": "4C5E82D5BDD9A02064756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
|
@@ -5,6 +5,6 @@
|
|
|
5
5
|
"import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260227213759_add_session_workspace_id\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`ALTER TABLE \\`session\\` ADD \\`workspace_id\\` text;`)\n yield* tx.run(`CREATE INDEX \\`session_workspace_idx\\` ON \\`session\\` (\\`workspace_id\\`);`)\n })\n },\n} satisfies DatabaseMigration.Migration\n"
|
|
6
6
|
],
|
|
7
7
|
"mappings": ";wHAGA,SAAe,QACb,GAAI,0CACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,gDAAoD,EAClE,MAAO,EAAG,IAAI,qEAA2E,EAC1F,EAEL",
|
|
8
|
-
"debugId": "
|
|
8
|
+
"debugId": "1B73EFAAE8264FBE64756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
|
@@ -5,6 +5,6 @@
|
|
|
5
5
|
"export default async function pMap(\n\titerable,\n\tmapper,\n\t{\n\t\tconcurrency = Number.POSITIVE_INFINITY,\n\t\tstopOnError = true,\n\t\tsignal,\n\t} = {},\n) {\n\treturn new Promise((resolve_, reject_) => {\n\t\tif (iterable[Symbol.iterator] === undefined && iterable[Symbol.asyncIterator] === undefined) {\n\t\t\tthrow new TypeError(`Expected \\`input\\` to be either an \\`Iterable\\` or \\`AsyncIterable\\`, got (${typeof iterable})`);\n\t\t}\n\n\t\tif (typeof mapper !== 'function') {\n\t\t\tthrow new TypeError('Mapper function is required');\n\t\t}\n\n\t\tif (!((Number.isSafeInteger(concurrency) && concurrency >= 1) || concurrency === Number.POSITIVE_INFINITY)) {\n\t\t\tthrow new TypeError(`Expected \\`concurrency\\` to be an integer from 1 and up or \\`Infinity\\`, got \\`${concurrency}\\` (${typeof concurrency})`);\n\t\t}\n\n\t\tconst result = [];\n\t\tconst errors = [];\n\t\tconst skippedIndexesMap = new Map();\n\t\tlet isRejected = false;\n\t\tlet isResolved = false;\n\t\tlet isIterableDone = false;\n\t\tlet resolvingCount = 0;\n\t\tlet currentIndex = 0;\n\t\tconst iterator = iterable[Symbol.iterator] === undefined ? iterable[Symbol.asyncIterator]() : iterable[Symbol.iterator]();\n\n\t\tconst signalListener = () => {\n\t\t\treject(signal.reason);\n\t\t};\n\n\t\tconst cleanup = () => {\n\t\t\tsignal?.removeEventListener('abort', signalListener);\n\t\t};\n\n\t\tconst resolve = value => {\n\t\t\tresolve_(value);\n\t\t\tcleanup();\n\t\t};\n\n\t\tconst reject = reason => {\n\t\t\tisRejected = true;\n\t\t\tisResolved = true;\n\t\t\treject_(reason);\n\t\t\tcleanup();\n\t\t};\n\n\t\tif (signal) {\n\t\t\tif (signal.aborted) {\n\t\t\t\treject(signal.reason);\n\t\t\t}\n\n\t\t\tsignal.addEventListener('abort', signalListener, {once: true});\n\t\t}\n\n\t\tconst next = async () => {\n\t\t\tif (isResolved) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst nextItem = await iterator.next();\n\n\t\t\tconst index = currentIndex;\n\t\t\tcurrentIndex++;\n\n\t\t\t// Note: `iterator.next()` can be called many times in parallel.\n\t\t\t// This can cause multiple calls to this `next()` function to\n\t\t\t// receive a `nextItem` with `done === true`.\n\t\t\t// The shutdown logic that rejects/resolves must be protected\n\t\t\t// so it runs only one time as the `skippedIndex` logic is\n\t\t\t// non-idempotent.\n\t\t\tif (nextItem.done) {\n\t\t\t\tisIterableDone = true;\n\n\t\t\t\tif (resolvingCount === 0 && !isResolved) {\n\t\t\t\t\tif (!stopOnError && errors.length > 0) {\n\t\t\t\t\t\treject(new AggregateError(errors)); // eslint-disable-line unicorn/error-message\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tisResolved = true;\n\n\t\t\t\t\tif (skippedIndexesMap.size === 0) {\n\t\t\t\t\t\tresolve(result);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst pureResult = [];\n\n\t\t\t\t\t// Support multiple `pMapSkip`'s.\n\t\t\t\t\tfor (const [index, value] of result.entries()) {\n\t\t\t\t\t\tif (skippedIndexesMap.get(index) === pMapSkip) {\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tpureResult.push(value);\n\t\t\t\t\t}\n\n\t\t\t\t\tresolve(pureResult);\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tresolvingCount++;\n\n\t\t\t// Intentionally detached\n\t\t\t(async () => {\n\t\t\t\ttry {\n\t\t\t\t\tconst element = await nextItem.value;\n\n\t\t\t\t\tif (isResolved) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst value = await mapper(element, index);\n\n\t\t\t\t\t// Use Map to stage the index of the element.\n\t\t\t\t\tif (value === pMapSkip) {\n\t\t\t\t\t\tskippedIndexesMap.set(index, value);\n\t\t\t\t\t}\n\n\t\t\t\t\tresult[index] = value;\n\n\t\t\t\t\tresolvingCount--;\n\t\t\t\t\tawait next();\n\t\t\t\t} catch (error) {\n\t\t\t\t\tif (stopOnError) {\n\t\t\t\t\t\treject(error);\n\t\t\t\t\t} else {\n\t\t\t\t\t\terrors.push(error);\n\t\t\t\t\t\tresolvingCount--;\n\n\t\t\t\t\t\t// In that case we can't really continue regardless of `stopOnError` state\n\t\t\t\t\t\t// since an iterable is likely to continue throwing after it throws once.\n\t\t\t\t\t\t// If we continue calling `next()` indefinitely we will likely end up\n\t\t\t\t\t\t// in an infinite loop of failed iteration.\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tawait next();\n\t\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t\treject(error);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})();\n\t\t};\n\n\t\t// Create the concurrent runners in a detached (non-awaited)\n\t\t// promise. We need this so we can await the `next()` calls\n\t\t// to stop creating runners before hitting the concurrency limit\n\t\t// if the iterable has already been marked as done.\n\t\t// NOTE: We *must* do this for async iterators otherwise we'll spin up\n\t\t// infinite `next()` calls by default and never start the event loop.\n\t\t(async () => {\n\t\t\tfor (let index = 0; index < concurrency; index++) {\n\t\t\t\ttry {\n\t\t\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\t\t\tawait next();\n\t\t\t\t} catch (error) {\n\t\t\t\t\treject(error);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tif (isIterableDone || isRejected) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t})();\n\t});\n}\n\nexport function pMapIterable(\n\titerable,\n\tmapper,\n\t{\n\t\tconcurrency = Number.POSITIVE_INFINITY,\n\t\tbackpressure = concurrency,\n\t} = {},\n) {\n\tif (iterable[Symbol.iterator] === undefined && iterable[Symbol.asyncIterator] === undefined) {\n\t\tthrow new TypeError(`Expected \\`input\\` to be either an \\`Iterable\\` or \\`AsyncIterable\\`, got (${typeof iterable})`);\n\t}\n\n\tif (typeof mapper !== 'function') {\n\t\tthrow new TypeError('Mapper function is required');\n\t}\n\n\tif (!((Number.isSafeInteger(concurrency) && concurrency >= 1) || concurrency === Number.POSITIVE_INFINITY)) {\n\t\tthrow new TypeError(`Expected \\`concurrency\\` to be an integer from 1 and up or \\`Infinity\\`, got \\`${concurrency}\\` (${typeof concurrency})`);\n\t}\n\n\tif (!((Number.isSafeInteger(backpressure) && backpressure >= concurrency) || backpressure === Number.POSITIVE_INFINITY)) {\n\t\tthrow new TypeError(`Expected \\`backpressure\\` to be an integer from \\`concurrency\\` (${concurrency}) and up or \\`Infinity\\`, got \\`${backpressure}\\` (${typeof backpressure})`);\n\t}\n\n\treturn {\n\t\tasync * [Symbol.asyncIterator]() {\n\t\t\tconst iterator = iterable[Symbol.asyncIterator] === undefined ? iterable[Symbol.iterator]() : iterable[Symbol.asyncIterator]();\n\n\t\t\tconst promises = [];\n\t\t\tlet pendingPromisesCount = 0;\n\t\t\tlet isDone = false;\n\t\t\tlet index = 0;\n\n\t\t\tfunction trySpawn() {\n\t\t\t\tif (isDone || !(pendingPromisesCount < concurrency && promises.length < backpressure)) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tpendingPromisesCount++;\n\n\t\t\t\tconst promise = (async () => {\n\t\t\t\t\tconst {done, value} = await iterator.next();\n\n\t\t\t\t\tif (done) {\n\t\t\t\t\t\tpendingPromisesCount--;\n\t\t\t\t\t\treturn {done: true};\n\t\t\t\t\t}\n\n\t\t\t\t\t// Spawn if still below concurrency and backpressure limit\n\t\t\t\t\ttrySpawn();\n\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst returnValue = await mapper(await value, index++);\n\n\t\t\t\t\t\tpendingPromisesCount--;\n\n\t\t\t\t\t\tif (returnValue === pMapSkip) {\n\t\t\t\t\t\t\tconst index = promises.indexOf(promise);\n\n\t\t\t\t\t\t\tif (index > 0) {\n\t\t\t\t\t\t\t\tpromises.splice(index, 1);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Spawn if still below backpressure limit and just dropped below concurrency limit\n\t\t\t\t\t\ttrySpawn();\n\n\t\t\t\t\t\treturn {done: false, value: returnValue};\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tpendingPromisesCount--;\n\t\t\t\t\t\tisDone = true;\n\t\t\t\t\t\treturn {error};\n\t\t\t\t\t}\n\t\t\t\t})();\n\n\t\t\t\tpromises.push(promise);\n\t\t\t}\n\n\t\t\ttrySpawn();\n\n\t\t\twhile (promises.length > 0) {\n\t\t\t\tconst {error, done, value} = await promises[0]; // eslint-disable-line no-await-in-loop\n\n\t\t\t\tpromises.shift();\n\n\t\t\t\tif (error) {\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\n\t\t\t\tif (done) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Spawn if just dropped below backpressure limit and below the concurrency limit\n\t\t\t\ttrySpawn();\n\n\t\t\t\tif (value === pMapSkip) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tyield value;\n\t\t\t}\n\t\t},\n\t};\n}\n\nexport const pMapSkip = Symbol('skip');\n"
|
|
6
6
|
],
|
|
7
7
|
"mappings": "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",
|
|
8
|
-
"debugId": "
|
|
8
|
+
"debugId": "B84E58E088AF970D64756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../core/src/global.ts", "../../node_modules/.bun/xdg-basedir@5.1.0/node_modules/xdg-basedir/index.js", "../core/src/util/flock.ts", "../core/src/util/hash.ts", "../core/src/flag/flag.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"import path from \"path\"\nimport fs from \"fs/promises\"\nimport { xdgData, xdgCache, xdgConfig, xdgState } from \"xdg-basedir\"\nimport os from \"os\"\nimport { Context, Effect, Layer } from \"effect\"\nimport { Flock } from \"./util/flock\"\nimport { Flag } from \"./flag/flag\"\n\nconst app = \"opencode\"\nconst data = path.join(xdgData!, app)\nconst cache = path.join(xdgCache!, app)\nconst config = path.join(xdgConfig!, app)\nconst state = path.join(xdgState!, app)\nconst tmp = path.join(os.tmpdir(), app)\n\nconst paths = {\n get home() {\n return process.env.OPENCODE_TEST_HOME ?? os.homedir()\n },\n data,\n bin: path.join(cache, \"bin\"),\n log: path.join(data, \"log\"),\n repos: path.join(data, \"repos\"),\n cache,\n config,\n state,\n tmp,\n}\n\nexport const Path = paths\n\nFlock.setGlobal({ state })\n\nawait Promise.all([\n fs.mkdir(Path.data, { recursive: true }),\n fs.mkdir(Path.config, { recursive: true }),\n fs.mkdir(Path.state, { recursive: true }),\n fs.mkdir(Path.tmp, { recursive: true }),\n fs.mkdir(Path.log, { recursive: true }),\n fs.mkdir(Path.bin, { recursive: true }),\n fs.mkdir(Path.repos, { recursive: true }),\n])\n\nexport class Service extends Context.Service<Service, Interface>()(\"@opencode/Global\") {}\n\nexport interface Interface {\n readonly home: string\n readonly data: string\n readonly cache: string\n readonly config: string\n readonly state: string\n readonly tmp: string\n readonly bin: string\n readonly log: string\n readonly repos: string\n}\n\nexport function make(input: Partial<Interface> = {}): Interface {\n return {\n home: Path.home,\n data: Path.data,\n cache: Path.cache,\n config: Flag.OPENCODE_CONFIG_DIR ?? Path.config,\n state: Path.state,\n tmp: Path.tmp,\n bin: Path.bin,\n log: Path.log,\n repos: Path.repos,\n ...input,\n }\n}\n\nexport const layer = Layer.effect(\n Service,\n Effect.sync(() => Service.of(make())),\n)\n\nexport const defaultLayer = layer\n\nexport const layerWith = (input: Partial<Interface>) =>\n Layer.effect(\n Service,\n Effect.sync(() => Service.of(make(input))),\n )\n\nexport * as Global from \"./global\"\n",
|
|
6
|
+
"import os from 'os';\nimport path from 'path';\n\nconst homeDirectory = os.homedir();\nconst {env} = process;\n\nexport const xdgData = env.XDG_DATA_HOME ||\n\t(homeDirectory ? path.join(homeDirectory, '.local', 'share') : undefined);\n\nexport const xdgConfig = env.XDG_CONFIG_HOME ||\n\t(homeDirectory ? path.join(homeDirectory, '.config') : undefined);\n\nexport const xdgState = env.XDG_STATE_HOME ||\n\t(homeDirectory ? path.join(homeDirectory, '.local', 'state') : undefined);\n\nexport const xdgCache = env.XDG_CACHE_HOME || (homeDirectory ? path.join(homeDirectory, '.cache') : undefined);\n\nexport const xdgRuntime = env.XDG_RUNTIME_DIR || undefined;\n\nexport const xdgDataDirectories = (env.XDG_DATA_DIRS || '/usr/local/share/:/usr/share/').split(':');\n\nif (xdgData) {\n\txdgDataDirectories.unshift(xdgData);\n}\n\nexport const xdgConfigDirectories = (env.XDG_CONFIG_DIRS || '/etc/xdg').split(':');\n\nif (xdgConfig) {\n\txdgConfigDirectories.unshift(xdgConfig);\n}\n",
|
|
7
|
+
"import path from \"path\"\nimport os from \"os\"\nimport { randomBytes, randomUUID } from \"crypto\"\nimport { mkdir, readFile, rm, stat, utimes, writeFile } from \"fs/promises\"\nimport { Hash } from \"./hash\"\nimport { Effect } from \"effect\"\n\nexport type FlockGlobal = {\n state: string\n}\n\nexport namespace Flock {\n let global: FlockGlobal | undefined\n\n export function setGlobal(g: FlockGlobal) {\n global = g\n }\n\n const root = () => {\n if (!global) throw new Error(\"Flock global not set\")\n return path.join(global.state, \"locks\")\n }\n\n // Defaults for callers that do not provide timing options.\n const defaultOpts = {\n staleMs: 60_000,\n timeoutMs: 5 * 60_000,\n baseDelayMs: 100,\n maxDelayMs: 2_000,\n }\n\n export interface WaitEvent {\n key: string\n attempt: number\n delay: number\n waited: number\n }\n\n export type Wait = (input: WaitEvent) => void | Promise<void>\n\n export interface Options {\n dir?: string\n signal?: AbortSignal\n staleMs?: number\n timeoutMs?: number\n baseDelayMs?: number\n maxDelayMs?: number\n onWait?: Wait\n }\n\n type Opts = {\n staleMs: number\n timeoutMs: number\n baseDelayMs: number\n maxDelayMs: number\n }\n\n type Owned = {\n acquired: true\n startHeartbeat: (intervalMs?: number) => void\n release: () => Promise<void>\n }\n\n export interface Lease {\n release: () => Promise<void>\n [Symbol.asyncDispose]: () => Promise<void>\n }\n\n function code(err: unknown) {\n if (typeof err !== \"object\" || err === null || !(\"code\" in err)) return\n const value = err.code\n if (typeof value !== \"string\") return\n return value\n }\n\n function sleep(ms: number, signal?: AbortSignal) {\n return new Promise<void>((resolve, reject) => {\n if (signal?.aborted) {\n reject(signal.reason ?? new Error(\"Aborted\"))\n return\n }\n\n let timer: NodeJS.Timeout | undefined\n\n const done = () => {\n signal?.removeEventListener(\"abort\", abort)\n resolve()\n }\n\n const abort = () => {\n if (timer) {\n clearTimeout(timer)\n }\n signal?.removeEventListener(\"abort\", abort)\n reject(signal?.reason ?? new Error(\"Aborted\"))\n }\n\n signal?.addEventListener(\"abort\", abort, { once: true })\n timer = setTimeout(done, ms)\n })\n }\n\n function jitter(ms: number) {\n const j = Math.floor(ms * 0.3)\n const d = Math.floor(Math.random() * (2 * j + 1)) - j\n return Math.max(0, ms + d)\n }\n\n function mono() {\n return performance.now()\n }\n\n function wall() {\n return performance.timeOrigin + mono()\n }\n\n async function stats(file: string) {\n try {\n return await stat(file)\n } catch (err) {\n const errCode = code(err)\n if (errCode === \"ENOENT\" || errCode === \"ENOTDIR\") return\n throw err\n }\n }\n\n async function stale(lockDir: string, heartbeatPath: string, metaPath: string, staleMs: number) {\n // Stale detection allows automatic recovery after crashed owners.\n const now = wall()\n const heartbeat = await stats(heartbeatPath)\n if (heartbeat) {\n return now - heartbeat.mtimeMs > staleMs\n }\n\n const meta = await stats(metaPath)\n if (meta) {\n return now - meta.mtimeMs > staleMs\n }\n\n const dir = await stats(lockDir)\n if (!dir) {\n return false\n }\n\n return now - dir.mtimeMs > staleMs\n }\n\n async function tryAcquireLockDir(lockDir: string, opts: Opts): Promise<Owned | { acquired: false }> {\n const token = randomUUID?.() ?? randomBytes(16).toString(\"hex\")\n const metaPath = path.join(lockDir, \"meta.json\")\n const heartbeatPath = path.join(lockDir, \"heartbeat\")\n\n try {\n await mkdir(lockDir, { mode: 0o700 })\n } catch (err) {\n if (code(err) !== \"EEXIST\") {\n throw err\n }\n\n if (!(await stale(lockDir, heartbeatPath, metaPath, opts.staleMs))) {\n return { acquired: false }\n }\n\n const breakerPath = lockDir + \".breaker\"\n try {\n await mkdir(breakerPath, { mode: 0o700 })\n } catch (claimErr) {\n const errCode = code(claimErr)\n if (errCode === \"EEXIST\") {\n const breaker = await stats(breakerPath)\n if (breaker && wall() - breaker.mtimeMs > opts.staleMs) {\n await rm(breakerPath, { recursive: true, force: true }).catch(() => undefined)\n }\n return { acquired: false }\n }\n\n if (errCode === \"ENOENT\" || errCode === \"ENOTDIR\") {\n return { acquired: false }\n }\n\n throw claimErr\n }\n\n try {\n // Breaker ownership ensures only one contender performs stale cleanup.\n if (!(await stale(lockDir, heartbeatPath, metaPath, opts.staleMs))) {\n return { acquired: false }\n }\n\n await rm(lockDir, { recursive: true, force: true })\n\n try {\n await mkdir(lockDir, { mode: 0o700 })\n } catch (retryErr) {\n const errCode = code(retryErr)\n if (errCode === \"EEXIST\" || errCode === \"ENOTEMPTY\") {\n return { acquired: false }\n }\n throw retryErr\n }\n } finally {\n await rm(breakerPath, { recursive: true, force: true }).catch(() => undefined)\n }\n }\n\n const meta = {\n token,\n pid: process.pid,\n hostname: os.hostname(),\n createdAt: new Date().toISOString(),\n }\n\n await writeFile(heartbeatPath, \"\", { flag: \"wx\" }).catch(async () => {\n await rm(lockDir, { recursive: true, force: true })\n throw new Error(\"Lock acquired but heartbeat already existed (possible compromise).\")\n })\n\n await writeFile(metaPath, JSON.stringify(meta, null, 2), { flag: \"wx\" }).catch(async () => {\n await rm(lockDir, { recursive: true, force: true })\n throw new Error(\"Lock acquired but meta.json already existed (possible compromise).\")\n })\n\n let timer: NodeJS.Timeout | undefined\n\n const startHeartbeat = (intervalMs = Math.max(100, Math.floor(opts.staleMs / 3))) => {\n if (timer) return\n // Heartbeat prevents long critical sections from being evicted as stale.\n timer = setInterval(() => {\n const t = new Date()\n void utimes(heartbeatPath, t, t).catch(() => undefined)\n }, intervalMs)\n timer.unref?.()\n }\n\n const release = async () => {\n if (timer) {\n clearInterval(timer)\n timer = undefined\n }\n\n const current = await readFile(metaPath, \"utf8\")\n .then((raw) => {\n const parsed = JSON.parse(raw)\n if (!parsed || typeof parsed !== \"object\") return {}\n return {\n token: \"token\" in parsed && typeof parsed.token === \"string\" ? parsed.token : undefined,\n }\n })\n .catch((err) => {\n const errCode = code(err)\n if (errCode === \"ENOENT\" || errCode === \"ENOTDIR\") {\n throw new Error(\"Refusing to release: lock is compromised (metadata missing).\")\n }\n if (err instanceof SyntaxError) {\n throw new Error(\"Refusing to release: lock is compromised (metadata invalid).\")\n }\n throw err\n })\n // Token check prevents deleting a lock that was re-acquired by another process.\n if (current.token !== token) {\n throw new Error(\"Refusing to release: lock token mismatch (not the owner).\")\n }\n\n await rm(lockDir, { recursive: true, force: true })\n }\n\n return {\n acquired: true,\n startHeartbeat,\n release,\n }\n }\n\n async function acquireLockDir(\n lockDir: string,\n input: { key: string; onWait?: Wait; signal?: AbortSignal },\n opts: Opts,\n ) {\n const stop = mono() + opts.timeoutMs\n let attempt = 0\n let waited = 0\n let delay = opts.baseDelayMs\n\n while (true) {\n input.signal?.throwIfAborted()\n\n const res = await tryAcquireLockDir(lockDir, opts)\n if (res.acquired) {\n return res\n }\n\n if (mono() > stop) {\n throw new Error(`Timed out waiting for lock: ${input.key}`)\n }\n\n attempt += 1\n const ms = jitter(delay)\n await input.onWait?.({\n key: input.key,\n attempt,\n delay: ms,\n waited,\n })\n await sleep(ms, input.signal)\n waited += ms\n delay = Math.min(opts.maxDelayMs, Math.floor(delay * 1.7))\n }\n }\n\n export async function acquire(key: string, input: Options = {}): Promise<Lease> {\n input.signal?.throwIfAborted()\n const cfg: Opts = {\n staleMs: input.staleMs ?? defaultOpts.staleMs,\n timeoutMs: input.timeoutMs ?? defaultOpts.timeoutMs,\n baseDelayMs: input.baseDelayMs ?? defaultOpts.baseDelayMs,\n maxDelayMs: input.maxDelayMs ?? defaultOpts.maxDelayMs,\n }\n const dir = input.dir ?? root()\n\n await mkdir(dir, { recursive: true })\n const lockfile = path.join(dir, Hash.fast(key) + \".lock\")\n const lock = await acquireLockDir(\n lockfile,\n {\n key,\n onWait: input.onWait,\n signal: input.signal,\n },\n cfg,\n )\n lock.startHeartbeat()\n\n const release = () => lock.release()\n return {\n release,\n [Symbol.asyncDispose]() {\n return release()\n },\n }\n }\n\n export async function withLock<T>(key: string, fn: () => Promise<T>, input: Options = {}) {\n await using _ = await acquire(key, input)\n input.signal?.throwIfAborted()\n return await fn()\n }\n\n export const effect = Effect.fn(\"Flock.effect\")(function* (key: string, input: Options = {}) {\n return yield* Effect.acquireRelease(\n Effect.promise((signal) => Flock.acquire(key, { ...input, signal })).pipe(\n Effect.withSpan(\"Flock.acquire\", {\n attributes: { key },\n }),\n ),\n (lock) => Effect.promise(() => lock.release()).pipe(Effect.withSpan(\"Flock.release\")),\n ).pipe(Effect.asVoid)\n })\n}\n",
|
|
8
|
+
"import { createHash } from \"crypto\"\n\nexport namespace Hash {\n export function fast(input: string | Buffer): string {\n return createHash(\"sha1\").update(input).digest(\"hex\")\n }\n\n export function sha256(input: string | Buffer): string {\n return createHash(\"sha256\").update(input).digest(\"hex\")\n }\n}\n",
|
|
9
|
+
"import { Config } from \"effect\"\n\nexport function truthy(key: string) {\n const value = process.env[key]?.toLowerCase()\n return value === \"true\" || value === \"1\"\n}\n\nconst copy = process.env[\"OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT\"]\n\nfunction enabledByExperimental(key: string) {\n return process.env[key] === undefined ? truthy(\"OPENCODE_EXPERIMENTAL\") : truthy(key)\n}\n\nexport const Flag = {\n OTEL_EXPORTER_OTLP_ENDPOINT: process.env[\"OTEL_EXPORTER_OTLP_ENDPOINT\"],\n OTEL_EXPORTER_OTLP_HEADERS: process.env[\"OTEL_EXPORTER_OTLP_HEADERS\"],\n\n OPENCODE_AUTO_HEAP_SNAPSHOT: truthy(\"OPENCODE_AUTO_HEAP_SNAPSHOT\"),\n OPENCODE_GIT_BASH_PATH: process.env[\"OPENCODE_GIT_BASH_PATH\"],\n OPENCODE_CONFIG: process.env[\"OPENCODE_CONFIG\"],\n OPENCODE_CONFIG_CONTENT: process.env[\"OPENCODE_CONFIG_CONTENT\"],\n OPENCODE_DISABLE_AUTOUPDATE: truthy(\"OPENCODE_DISABLE_AUTOUPDATE\"),\n OPENCODE_ALWAYS_NOTIFY_UPDATE: truthy(\"OPENCODE_ALWAYS_NOTIFY_UPDATE\"),\n OPENCODE_DISABLE_PRUNE: truthy(\"OPENCODE_DISABLE_PRUNE\"),\n OPENCODE_DISABLE_TERMINAL_TITLE: truthy(\"OPENCODE_DISABLE_TERMINAL_TITLE\"),\n OPENCODE_SHOW_TTFD: truthy(\"OPENCODE_SHOW_TTFD\"),\n OPENCODE_DISABLE_AUTOCOMPACT: truthy(\"OPENCODE_DISABLE_AUTOCOMPACT\"),\n OPENCODE_DISABLE_MODELS_FETCH: truthy(\"OPENCODE_DISABLE_MODELS_FETCH\"),\n OPENCODE_DISABLE_MOUSE: truthy(\"OPENCODE_DISABLE_MOUSE\"),\n OPENCODE_FAKE_VCS: process.env[\"OPENCODE_FAKE_VCS\"],\n OPENCODE_SERVER_PASSWORD: process.env[\"OPENCODE_SERVER_PASSWORD\"],\n OPENCODE_SERVER_USERNAME: process.env[\"OPENCODE_SERVER_USERNAME\"],\n\n // Experimental\n OPENCODE_EXPERIMENTAL_FILEWATCHER: Config.boolean(\"OPENCODE_EXPERIMENTAL_FILEWATCHER\").pipe(\n Config.withDefault(false),\n ),\n OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER: Config.boolean(\"OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER\").pipe(\n Config.withDefault(false),\n ),\n OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT:\n copy === undefined ? process.platform === \"win32\" : truthy(\"OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT\"),\n OPENCODE_MODELS_URL: process.env[\"OPENCODE_MODELS_URL\"],\n OPENCODE_MODELS_PATH: process.env[\"OPENCODE_MODELS_PATH\"],\n OPENCODE_DB: process.env[\"OPENCODE_DB\"],\n\n OPENCODE_WORKSPACE_ID: process.env[\"OPENCODE_WORKSPACE_ID\"],\n OPENCODE_EXPERIMENTAL_WORKSPACES: enabledByExperimental(\"OPENCODE_EXPERIMENTAL_WORKSPACES\"),\n OPENCODE_EXPERIMENTAL_SESSION_SWITCHER: enabledByExperimental(\"OPENCODE_EXPERIMENTAL_SESSION_SWITCHER\"),\n\n // Evaluated at access time (not module load) because tests, the CLI, and\n // external tooling set these env vars at runtime.\n get OPENCODE_DISABLE_PROJECT_CONFIG() {\n return truthy(\"OPENCODE_DISABLE_PROJECT_CONFIG\")\n },\n get OPENCODE_EXPERIMENTAL_REFERENCES() {\n return enabledByExperimental(\"OPENCODE_EXPERIMENTAL_REFERENCES\")\n },\n get OPENCODE_TUI_CONFIG() {\n return process.env[\"OPENCODE_TUI_CONFIG\"]\n },\n get OPENCODE_CONFIG_DIR() {\n return process.env[\"OPENCODE_CONFIG_DIR\"]\n },\n get OPENCODE_PURE() {\n return truthy(\"OPENCODE_PURE\")\n },\n get OPENCODE_PERMISSION() {\n return process.env[\"OPENCODE_PERMISSION\"]\n },\n get OPENCODE_PLUGIN_META_FILE() {\n return process.env[\"OPENCODE_PLUGIN_META_FILE\"]\n },\n get OPENCODE_CLIENT() {\n return process.env[\"OPENCODE_CLIENT\"] ?? \"cli\"\n },\n}\n"
|
|
10
|
+
],
|
|
11
|
+
"mappings": "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",
|
|
12
|
+
"debugId": "AC87481214F43D6864756E2164756E21",
|
|
13
|
+
"names": []
|
|
14
|
+
}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"// src/perplexity-provider.ts\nimport {\n NoSuchModelError\n} from \"@ai-sdk/provider\";\nimport {\n generateId,\n loadApiKey,\n withoutTrailingSlash,\n withUserAgentSuffix\n} from \"@ai-sdk/provider-utils\";\n\n// src/perplexity-language-model.ts\nimport {\n combineHeaders,\n createEventSourceResponseHandler,\n createJsonErrorResponseHandler,\n createJsonResponseHandler,\n postJsonToApi\n} from \"@ai-sdk/provider-utils\";\nimport { z } from \"zod/v4\";\n\n// src/convert-perplexity-usage.ts\nfunction convertPerplexityUsage(usage) {\n var _a, _b, _c;\n if (usage == null) {\n return {\n inputTokens: {\n total: void 0,\n noCache: void 0,\n cacheRead: void 0,\n cacheWrite: void 0\n },\n outputTokens: {\n total: void 0,\n text: void 0,\n reasoning: void 0\n },\n raw: void 0\n };\n }\n const promptTokens = (_a = usage.prompt_tokens) != null ? _a : 0;\n const completionTokens = (_b = usage.completion_tokens) != null ? _b : 0;\n const reasoningTokens = (_c = usage.reasoning_tokens) != null ? _c : 0;\n return {\n inputTokens: {\n total: promptTokens,\n noCache: promptTokens,\n cacheRead: void 0,\n cacheWrite: void 0\n },\n outputTokens: {\n total: completionTokens,\n text: completionTokens - reasoningTokens,\n reasoning: reasoningTokens\n },\n raw: usage\n };\n}\n\n// src/convert-to-perplexity-messages.ts\nimport {\n UnsupportedFunctionalityError\n} from \"@ai-sdk/provider\";\nimport { convertUint8ArrayToBase64 } from \"@ai-sdk/provider-utils\";\nfunction convertToPerplexityMessages(prompt) {\n const messages = [];\n for (const { role, content } of prompt) {\n switch (role) {\n case \"system\": {\n messages.push({ role: \"system\", content });\n break;\n }\n case \"user\":\n case \"assistant\": {\n const hasMultipartContent = content.some(\n (part) => part.type === \"file\" && part.mediaType.startsWith(\"image/\") || part.type === \"file\" && part.mediaType === \"application/pdf\"\n );\n const messageContent = content.map((part, index) => {\n var _a;\n switch (part.type) {\n case \"text\": {\n return {\n type: \"text\",\n text: part.text\n };\n }\n case \"file\": {\n if (part.mediaType === \"application/pdf\") {\n return part.data instanceof URL ? {\n type: \"file_url\",\n file_url: {\n url: part.data.toString()\n },\n file_name: part.filename\n } : {\n type: \"file_url\",\n file_url: {\n url: typeof part.data === \"string\" ? part.data : convertUint8ArrayToBase64(part.data)\n },\n file_name: part.filename || `document-${index}.pdf`\n };\n } else if (part.mediaType.startsWith(\"image/\")) {\n return part.data instanceof URL ? {\n type: \"image_url\",\n image_url: {\n url: part.data.toString()\n }\n } : {\n type: \"image_url\",\n image_url: {\n url: `data:${(_a = part.mediaType) != null ? _a : \"image/jpeg\"};base64,${typeof part.data === \"string\" ? part.data : convertUint8ArrayToBase64(part.data)}`\n }\n };\n }\n }\n }\n }).filter(Boolean);\n messages.push({\n role,\n content: hasMultipartContent ? messageContent : messageContent.filter((part) => part.type === \"text\").map((part) => part.text).join(\"\")\n });\n break;\n }\n case \"tool\": {\n throw new UnsupportedFunctionalityError({\n functionality: \"Tool messages\"\n });\n }\n default: {\n const _exhaustiveCheck = role;\n throw new Error(`Unsupported role: ${_exhaustiveCheck}`);\n }\n }\n }\n return messages;\n}\n\n// src/map-perplexity-finish-reason.ts\nfunction mapPerplexityFinishReason(finishReason) {\n switch (finishReason) {\n case \"stop\":\n case \"length\":\n return finishReason;\n default:\n return \"other\";\n }\n}\n\n// src/perplexity-language-model.ts\nvar PerplexityLanguageModel = class {\n constructor(modelId, config) {\n this.specificationVersion = \"v3\";\n this.provider = \"perplexity\";\n this.supportedUrls = {\n // No URLs are supported.\n };\n this.modelId = modelId;\n this.config = config;\n }\n getArgs({\n prompt,\n maxOutputTokens,\n temperature,\n topP,\n topK,\n frequencyPenalty,\n presencePenalty,\n stopSequences,\n responseFormat,\n seed,\n providerOptions\n }) {\n var _a;\n const warnings = [];\n if (topK != null) {\n warnings.push({ type: \"unsupported\", feature: \"topK\" });\n }\n if (stopSequences != null) {\n warnings.push({ type: \"unsupported\", feature: \"stopSequences\" });\n }\n if (seed != null) {\n warnings.push({ type: \"unsupported\", feature: \"seed\" });\n }\n return {\n args: {\n // model id:\n model: this.modelId,\n // standardized settings:\n frequency_penalty: frequencyPenalty,\n max_tokens: maxOutputTokens,\n presence_penalty: presencePenalty,\n temperature,\n top_k: topK,\n top_p: topP,\n // response format:\n response_format: (responseFormat == null ? void 0 : responseFormat.type) === \"json\" ? {\n type: \"json_schema\",\n json_schema: { schema: responseFormat.schema }\n } : void 0,\n // provider extensions\n ...(_a = providerOptions == null ? void 0 : providerOptions.perplexity) != null ? _a : {},\n // messages:\n messages: convertToPerplexityMessages(prompt)\n },\n warnings\n };\n }\n async doGenerate(options) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l;\n const { args: body, warnings } = this.getArgs(options);\n const {\n responseHeaders,\n value: response,\n rawValue: rawResponse\n } = await postJsonToApi({\n url: `${this.config.baseURL}/chat/completions`,\n headers: combineHeaders(this.config.headers(), options.headers),\n body,\n failedResponseHandler: createJsonErrorResponseHandler({\n errorSchema: perplexityErrorSchema,\n errorToMessage\n }),\n successfulResponseHandler: createJsonResponseHandler(\n perplexityResponseSchema\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch\n });\n const choice = response.choices[0];\n const content = [];\n const text = choice.message.content;\n if (text.length > 0) {\n content.push({ type: \"text\", text });\n }\n if (response.citations != null) {\n for (const url of response.citations) {\n content.push({\n type: \"source\",\n sourceType: \"url\",\n id: this.config.generateId(),\n url\n });\n }\n }\n return {\n content,\n finishReason: {\n unified: mapPerplexityFinishReason(choice.finish_reason),\n raw: (_a = choice.finish_reason) != null ? _a : void 0\n },\n usage: convertPerplexityUsage(response.usage),\n request: { body },\n response: {\n ...getResponseMetadata(response),\n headers: responseHeaders,\n body: rawResponse\n },\n warnings,\n providerMetadata: {\n perplexity: {\n images: (_c = (_b = response.images) == null ? void 0 : _b.map((image) => ({\n imageUrl: image.image_url,\n originUrl: image.origin_url,\n height: image.height,\n width: image.width\n }))) != null ? _c : null,\n usage: {\n citationTokens: (_e = (_d = response.usage) == null ? void 0 : _d.citation_tokens) != null ? _e : null,\n numSearchQueries: (_g = (_f = response.usage) == null ? void 0 : _f.num_search_queries) != null ? _g : null\n },\n cost: ((_h = response.usage) == null ? void 0 : _h.cost) ? {\n inputTokensCost: (_i = response.usage.cost.input_tokens_cost) != null ? _i : null,\n outputTokensCost: (_j = response.usage.cost.output_tokens_cost) != null ? _j : null,\n requestCost: (_k = response.usage.cost.request_cost) != null ? _k : null,\n totalCost: (_l = response.usage.cost.total_cost) != null ? _l : null\n } : null\n }\n }\n };\n }\n async doStream(options) {\n const { args, warnings } = this.getArgs(options);\n const body = { ...args, stream: true };\n const { responseHeaders, value: response } = await postJsonToApi({\n url: `${this.config.baseURL}/chat/completions`,\n headers: combineHeaders(this.config.headers(), options.headers),\n body,\n failedResponseHandler: createJsonErrorResponseHandler({\n errorSchema: perplexityErrorSchema,\n errorToMessage\n }),\n successfulResponseHandler: createEventSourceResponseHandler(\n perplexityChunkSchema\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch\n });\n let finishReason = {\n unified: \"other\",\n raw: void 0\n };\n let usage = void 0;\n const providerMetadata = {\n perplexity: {\n usage: {\n citationTokens: null,\n numSearchQueries: null\n },\n cost: null,\n images: null\n }\n };\n let isFirstChunk = true;\n let isActive = false;\n const self = this;\n return {\n stream: response.pipeThrough(\n new TransformStream({\n start(controller) {\n controller.enqueue({ type: \"stream-start\", warnings });\n },\n transform(chunk, controller) {\n var _a, _b, _c, _d, _e, _f, _g;\n if (options.includeRawChunks) {\n controller.enqueue({ type: \"raw\", rawValue: chunk.rawValue });\n }\n if (!chunk.success) {\n controller.enqueue({ type: \"error\", error: chunk.error });\n return;\n }\n const value = chunk.value;\n if (isFirstChunk) {\n controller.enqueue({\n type: \"response-metadata\",\n ...getResponseMetadata(value)\n });\n (_a = value.citations) == null ? void 0 : _a.forEach((url) => {\n controller.enqueue({\n type: \"source\",\n sourceType: \"url\",\n id: self.config.generateId(),\n url\n });\n });\n isFirstChunk = false;\n }\n if (value.usage != null) {\n usage = value.usage;\n providerMetadata.perplexity.usage = {\n citationTokens: (_b = value.usage.citation_tokens) != null ? _b : null,\n numSearchQueries: (_c = value.usage.num_search_queries) != null ? _c : null\n };\n providerMetadata.perplexity.cost = value.usage.cost ? {\n inputTokensCost: (_d = value.usage.cost.input_tokens_cost) != null ? _d : null,\n outputTokensCost: (_e = value.usage.cost.output_tokens_cost) != null ? _e : null,\n requestCost: (_f = value.usage.cost.request_cost) != null ? _f : null,\n totalCost: (_g = value.usage.cost.total_cost) != null ? _g : null\n } : null;\n }\n if (value.images != null) {\n providerMetadata.perplexity.images = value.images.map((image) => ({\n imageUrl: image.image_url,\n originUrl: image.origin_url,\n height: image.height,\n width: image.width\n }));\n }\n const choice = value.choices[0];\n if ((choice == null ? void 0 : choice.finish_reason) != null) {\n finishReason = {\n unified: mapPerplexityFinishReason(choice.finish_reason),\n raw: choice.finish_reason\n };\n }\n if ((choice == null ? void 0 : choice.delta) == null) {\n return;\n }\n const delta = choice.delta;\n const textContent = delta.content;\n if (textContent != null) {\n if (!isActive) {\n controller.enqueue({ type: \"text-start\", id: \"0\" });\n isActive = true;\n }\n controller.enqueue({\n type: \"text-delta\",\n id: \"0\",\n delta: textContent\n });\n }\n },\n flush(controller) {\n if (isActive) {\n controller.enqueue({ type: \"text-end\", id: \"0\" });\n }\n controller.enqueue({\n type: \"finish\",\n finishReason,\n usage: convertPerplexityUsage(usage),\n providerMetadata\n });\n }\n })\n ),\n request: { body },\n response: { headers: responseHeaders }\n };\n }\n};\nfunction getResponseMetadata({\n id,\n model,\n created\n}) {\n return {\n id,\n modelId: model,\n timestamp: new Date(created * 1e3)\n };\n}\nvar perplexityCostSchema = z.object({\n input_tokens_cost: z.number().nullish(),\n output_tokens_cost: z.number().nullish(),\n request_cost: z.number().nullish(),\n total_cost: z.number().nullish()\n});\nvar perplexityUsageSchema = z.object({\n prompt_tokens: z.number(),\n completion_tokens: z.number(),\n total_tokens: z.number().nullish(),\n citation_tokens: z.number().nullish(),\n num_search_queries: z.number().nullish(),\n reasoning_tokens: z.number().nullish(),\n cost: perplexityCostSchema.nullish()\n});\nvar perplexityImageSchema = z.object({\n image_url: z.string(),\n origin_url: z.string(),\n height: z.number(),\n width: z.number()\n});\nvar perplexityResponseSchema = z.object({\n id: z.string(),\n created: z.number(),\n model: z.string(),\n choices: z.array(\n z.object({\n message: z.object({\n role: z.literal(\"assistant\"),\n content: z.string()\n }),\n finish_reason: z.string().nullish()\n })\n ),\n citations: z.array(z.string()).nullish(),\n images: z.array(perplexityImageSchema).nullish(),\n usage: perplexityUsageSchema.nullish()\n});\nvar perplexityChunkSchema = z.object({\n id: z.string(),\n created: z.number(),\n model: z.string(),\n choices: z.array(\n z.object({\n delta: z.object({\n role: z.literal(\"assistant\"),\n content: z.string()\n }),\n finish_reason: z.string().nullish()\n })\n ),\n citations: z.array(z.string()).nullish(),\n images: z.array(perplexityImageSchema).nullish(),\n usage: perplexityUsageSchema.nullish()\n});\nvar perplexityErrorSchema = z.object({\n error: z.object({\n code: z.number(),\n message: z.string().nullish(),\n type: z.string().nullish()\n })\n});\nvar errorToMessage = (data) => {\n var _a, _b;\n return (_b = (_a = data.error.message) != null ? _a : data.error.type) != null ? _b : \"unknown error\";\n};\n\n// src/version.ts\nvar VERSION = true ? \"3.0.26\" : \"0.0.0-test\";\n\n// src/perplexity-provider.ts\nfunction createPerplexity(options = {}) {\n const getHeaders = () => withUserAgentSuffix(\n {\n Authorization: `Bearer ${loadApiKey({\n apiKey: options.apiKey,\n environmentVariableName: \"PERPLEXITY_API_KEY\",\n description: \"Perplexity\"\n })}`,\n ...options.headers\n },\n `ai-sdk/perplexity/${VERSION}`\n );\n const createLanguageModel = (modelId) => {\n var _a;\n return new PerplexityLanguageModel(modelId, {\n baseURL: withoutTrailingSlash(\n (_a = options.baseURL) != null ? _a : \"https://api.perplexity.ai\"\n ),\n headers: getHeaders,\n generateId,\n fetch: options.fetch\n });\n };\n const provider = (modelId) => createLanguageModel(modelId);\n provider.specificationVersion = \"v3\";\n provider.languageModel = createLanguageModel;\n provider.embeddingModel = (modelId) => {\n throw new NoSuchModelError({ modelId, modelType: \"embeddingModel\" });\n };\n provider.textEmbeddingModel = provider.embeddingModel;\n provider.imageModel = (modelId) => {\n throw new NoSuchModelError({ modelId, modelType: \"imageModel\" });\n };\n return provider;\n}\nvar perplexity = createPerplexity();\nexport {\n VERSION,\n createPerplexity,\n perplexity\n};\n//# sourceMappingURL=index.mjs.map"
|
|
6
6
|
],
|
|
7
|
-
"mappings": ";
|
|
8
|
-
"debugId": "
|
|
7
|
+
"mappings": "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",
|
|
8
|
+
"debugId": "C5479C91409229E964756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
|
@@ -5,6 +5,6 @@
|
|
|
5
5
|
"import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260602002951_lowly_union_jack\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`\n CREATE TABLE \\`permission\\` (\n \\`id\\` text PRIMARY KEY,\n \\`project_id\\` text NOT NULL,\n \\`action\\` text NOT NULL,\n \\`resource\\` text NOT NULL,\n \\`time_created\\` integer NOT NULL,\n \\`time_updated\\` integer NOT NULL,\n CONSTRAINT \\`fk_permission_project_id_project_id_fk\\` FOREIGN KEY (\\`project_id\\`) REFERENCES \\`project\\`(\\`id\\`) ON DELETE CASCADE\n );\n `)\n yield* tx.run(\n `CREATE UNIQUE INDEX \\`permission_project_action_resource_idx\\` ON \\`permission\\` (\\`project_id\\`,\\`action\\`,\\`resource\\`);`,\n )\n })\n },\n} satisfies DatabaseMigration.Migration\n"
|
|
6
6
|
],
|
|
7
7
|
"mappings": ";wHAGA,SAAe,QACb,GAAI,kCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,2aAUb,EACD,MAAO,EAAG,IACR,kHACF,EACD,EAEL",
|
|
8
|
-
"debugId": "
|
|
8
|
+
"debugId": "D95988A3E2F9A52964756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|