gemi 0.113.0 → 0.114.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/dist/ai/index.js +32 -32
- package/dist/ai/index.js.map +3 -5
- package/dist/app/App.d.ts.map +1 -1
- package/dist/app/index.js +1 -1
- package/dist/bin/gemi.js +8 -1
- package/dist/bin/gemi.js.map +3 -3
- package/dist/bun/plugin.js +1 -1
- package/dist/bun/preload.js +1 -1
- package/dist/chunk-0n9vs1ad.js +14 -0
- package/dist/{chunk-cqnfp0n9.js.map → chunk-0n9vs1ad.js.map} +4 -4
- package/dist/{chunk-68s1f5d5.js → chunk-1f9sqht5.js} +2 -2
- package/dist/{chunk-68s1f5d5.js.map → chunk-1f9sqht5.js.map} +1 -1
- package/dist/{chunk-qt8nvpqp.js → chunk-1p0dazvk.js} +2 -2
- package/dist/{chunk-qt8nvpqp.js.map → chunk-1p0dazvk.js.map} +1 -1
- package/dist/{chunk-3f1kq32g.js → chunk-2rphhsr7.js} +2 -2
- package/dist/{chunk-3f1kq32g.js.map → chunk-2rphhsr7.js.map} +1 -1
- package/dist/{chunk-qx87cdfg.js → chunk-2z1981d0.js} +2 -2
- package/dist/{chunk-qx87cdfg.js.map → chunk-2z1981d0.js.map} +1 -1
- package/dist/{chunk-zng3qexn.js → chunk-329ggbcw.js} +2 -2
- package/dist/{chunk-zng3qexn.js.map → chunk-329ggbcw.js.map} +1 -1
- package/dist/{chunk-v4gwmhtf.js → chunk-37qk5dh8.js} +2 -2
- package/dist/{chunk-v4gwmhtf.js.map → chunk-37qk5dh8.js.map} +1 -1
- package/dist/{chunk-7jnpnjth.js → chunk-3ma9m432.js} +2 -2
- package/dist/{chunk-7jnpnjth.js.map → chunk-3ma9m432.js.map} +1 -1
- package/dist/{chunk-fnkjmq94.js → chunk-4szjp84e.js} +2 -2
- package/dist/{chunk-fnkjmq94.js.map → chunk-4szjp84e.js.map} +1 -1
- package/dist/{chunk-fr0arqdj.js → chunk-56fgk5rq.js} +2 -2
- package/dist/{chunk-fr0arqdj.js.map → chunk-56fgk5rq.js.map} +1 -1
- package/dist/{chunk-y6v0x869.js → chunk-583vxa2v.js} +2 -2
- package/dist/{chunk-y6v0x869.js.map → chunk-583vxa2v.js.map} +1 -1
- package/dist/{chunk-vqa3agzw.js → chunk-5j76r5q8.js} +3 -3
- package/dist/{chunk-vqa3agzw.js.map → chunk-5j76r5q8.js.map} +1 -1
- package/dist/chunk-60nyk1w8.js +10 -0
- package/dist/chunk-60nyk1w8.js.map +38 -0
- package/dist/{chunk-vwprq300.js → chunk-6h9j3f1x.js} +2 -2
- package/dist/{chunk-vwprq300.js.map → chunk-6h9j3f1x.js.map} +1 -1
- package/dist/{chunk-r7b12dmm.js → chunk-75wk4jxd.js} +2 -2
- package/dist/{chunk-r7b12dmm.js.map → chunk-75wk4jxd.js.map} +1 -1
- package/dist/{chunk-de03dewf.js → chunk-7fwp7vwh.js} +2 -2
- package/dist/{chunk-de03dewf.js.map → chunk-7fwp7vwh.js.map} +1 -1
- package/dist/{chunk-9vsj0ksk.js → chunk-7rmjr8p7.js} +3 -3
- package/dist/{chunk-9vsj0ksk.js.map → chunk-7rmjr8p7.js.map} +1 -1
- package/dist/{chunk-atmzm0z3.js → chunk-7v8sgqen.js} +2 -2
- package/dist/{chunk-atmzm0z3.js.map → chunk-7v8sgqen.js.map} +1 -1
- package/dist/{chunk-4t1pbt9p.js → chunk-8c2fs0n0.js} +3 -3
- package/dist/{chunk-4t1pbt9p.js.map → chunk-8c2fs0n0.js.map} +1 -1
- package/dist/{chunk-vzf5pbx3.js → chunk-8h7dh2h2.js} +2 -2
- package/dist/{chunk-vzf5pbx3.js.map → chunk-8h7dh2h2.js.map} +1 -1
- package/dist/{chunk-c7mp2kyp.js → chunk-8k8534kg.js} +2 -2
- package/dist/{chunk-c7mp2kyp.js.map → chunk-8k8534kg.js.map} +1 -1
- package/dist/{chunk-g8kx549d.js → chunk-8rt4wx8z.js} +3 -3
- package/dist/{chunk-g8kx549d.js.map → chunk-8rt4wx8z.js.map} +1 -1
- package/dist/{chunk-bq5nqqeq.js → chunk-a5sbgffr.js} +1 -1
- package/dist/{chunk-szr1k584.js → chunk-ap5gek56.js} +2 -2
- package/dist/{chunk-szr1k584.js.map → chunk-ap5gek56.js.map} +1 -1
- package/dist/{chunk-4tp2cr02.js → chunk-awp3n119.js} +2 -2
- package/dist/{chunk-4tp2cr02.js.map → chunk-awp3n119.js.map} +1 -1
- package/dist/{chunk-5q4a7yqf.js → chunk-cna105t6.js} +2 -2
- package/dist/{chunk-5q4a7yqf.js.map → chunk-cna105t6.js.map} +1 -1
- package/dist/{chunk-rg4hhxj3.js → chunk-d4m4amy4.js} +2 -2
- package/dist/{chunk-rg4hhxj3.js.map → chunk-d4m4amy4.js.map} +1 -1
- package/dist/{chunk-8mbyyh8j.js → chunk-e6fp6dxx.js} +2 -2
- package/dist/{chunk-8mbyyh8j.js.map → chunk-e6fp6dxx.js.map} +1 -1
- package/dist/{chunk-1se4t9rg.js → chunk-e7axa0d5.js} +3 -3
- package/dist/{chunk-1se4t9rg.js.map → chunk-e7axa0d5.js.map} +1 -1
- package/dist/{chunk-9tpx9ag3.js → chunk-erxv1jz7.js} +2 -2
- package/dist/{chunk-9tpx9ag3.js.map → chunk-erxv1jz7.js.map} +1 -1
- package/dist/chunk-fakvf9wb.js +5 -0
- package/dist/{chunk-fsfbyg5e.js.map → chunk-fakvf9wb.js.map} +1 -1
- package/dist/{chunk-nysqgzp1.js → chunk-fv9mr1t4.js} +2 -2
- package/dist/{chunk-nysqgzp1.js.map → chunk-fv9mr1t4.js.map} +1 -1
- package/dist/{chunk-p3zmc8k8.js → chunk-gdmsn3f5.js} +2 -2
- package/dist/{chunk-p3zmc8k8.js.map → chunk-gdmsn3f5.js.map} +1 -1
- package/dist/{chunk-y6frz1vm.js → chunk-gv91vjeb.js} +1 -1
- package/dist/{chunk-5x0aacrn.js → chunk-h2r2rdhj.js} +2 -2
- package/dist/{chunk-5x0aacrn.js.map → chunk-h2r2rdhj.js.map} +1 -1
- package/dist/{chunk-1p85fdrk.js → chunk-h4pazcgg.js} +2 -2
- package/dist/{chunk-1p85fdrk.js.map → chunk-h4pazcgg.js.map} +1 -1
- package/dist/{chunk-mk0rtgd1.js → chunk-hrvzchxd.js} +2 -2
- package/dist/{chunk-mk0rtgd1.js.map → chunk-hrvzchxd.js.map} +1 -1
- package/dist/{chunk-w45agtch.js → chunk-hytt9qyj.js} +2 -2
- package/dist/{chunk-w45agtch.js.map → chunk-hytt9qyj.js.map} +1 -1
- package/dist/{chunk-5nqkwa2w.js → chunk-hz6yzzbz.js} +1 -1
- package/dist/{chunk-z5hrymvn.js → chunk-j3nr4cg0.js} +3 -3
- package/dist/{chunk-z5hrymvn.js.map → chunk-j3nr4cg0.js.map} +1 -1
- package/dist/{chunk-dbwhgyg3.js → chunk-jk97wv0q.js} +2 -2
- package/dist/{chunk-dbwhgyg3.js.map → chunk-jk97wv0q.js.map} +1 -1
- package/dist/{chunk-x5sert1k.js → chunk-jv4g8grc.js} +2 -2
- package/dist/{chunk-x5sert1k.js.map → chunk-jv4g8grc.js.map} +1 -1
- package/dist/{chunk-yyzexrnb.js → chunk-jyrsd1dn.js} +2 -2
- package/dist/{chunk-yyzexrnb.js.map → chunk-jyrsd1dn.js.map} +1 -1
- package/dist/{chunk-y596ghpz.js → chunk-jzp0fs6h.js} +2 -2
- package/dist/{chunk-y596ghpz.js.map → chunk-jzp0fs6h.js.map} +1 -1
- package/dist/{chunk-kz4yp5n7.js → chunk-kcx468qv.js} +2 -2
- package/dist/{chunk-kz4yp5n7.js.map → chunk-kcx468qv.js.map} +1 -1
- package/dist/{chunk-zyer1g7k.js → chunk-kg1nbxvm.js} +4 -4
- package/dist/{chunk-zyer1g7k.js.map → chunk-kg1nbxvm.js.map} +1 -1
- package/dist/{chunk-qpttgn4k.js → chunk-kqb4s1r0.js} +3 -3
- package/dist/{chunk-qpttgn4k.js.map → chunk-kqb4s1r0.js.map} +1 -1
- package/dist/{chunk-rh2fad7n.js → chunk-m17ktssc.js} +1 -1
- package/dist/{chunk-k2fh4r0p.js → chunk-m2yfvwrn.js} +2 -2
- package/dist/{chunk-k2fh4r0p.js.map → chunk-m2yfvwrn.js.map} +1 -1
- package/dist/{chunk-wr3e4sez.js → chunk-mqcy5vja.js} +2 -2
- package/dist/{chunk-wr3e4sez.js.map → chunk-mqcy5vja.js.map} +1 -1
- package/dist/{chunk-f1y8eggf.js → chunk-n672d4g8.js} +2 -2
- package/dist/{chunk-f1y8eggf.js.map → chunk-n672d4g8.js.map} +1 -1
- package/dist/{chunk-xqwdn9kb.js → chunk-nek1gzz2.js} +3 -3
- package/dist/{chunk-xqwdn9kb.js.map → chunk-nek1gzz2.js.map} +1 -1
- package/dist/{chunk-01qd6xx3.js → chunk-pmywkp1w.js} +3 -3
- package/dist/{chunk-01qd6xx3.js.map → chunk-pmywkp1w.js.map} +1 -1
- package/dist/chunk-q95k1ymq.js +4 -0
- package/dist/{chunk-kp7k4s5c.js.map → chunk-q95k1ymq.js.map} +3 -3
- package/dist/{chunk-vdwagp7y.js → chunk-r4namj39.js} +2 -2
- package/dist/{chunk-vdwagp7y.js.map → chunk-r4namj39.js.map} +1 -1
- package/dist/{chunk-571rvxe6.js → chunk-rrqr1dwq.js} +2 -2
- package/dist/{chunk-571rvxe6.js.map → chunk-rrqr1dwq.js.map} +1 -1
- package/dist/{chunk-sr18y2ck.js → chunk-tp3mzj4v.js} +2 -2
- package/dist/{chunk-sr18y2ck.js.map → chunk-tp3mzj4v.js.map} +1 -1
- package/dist/{chunk-6wymbbes.js → chunk-ty4aj41k.js} +3 -3
- package/dist/{chunk-6wymbbes.js.map → chunk-ty4aj41k.js.map} +1 -1
- package/dist/chunk-v9na3dny.js +46 -0
- package/dist/{chunk-6g20zec2.js.map → chunk-v9na3dny.js.map} +6 -6
- package/dist/{chunk-d04r0hdf.js → chunk-w2fpr99k.js} +2 -2
- package/dist/{chunk-d04r0hdf.js.map → chunk-w2fpr99k.js.map} +1 -1
- package/dist/{chunk-vc9phr57.js → chunk-wwmdqhzy.js} +2 -2
- package/dist/{chunk-vc9phr57.js.map → chunk-wwmdqhzy.js.map} +1 -1
- package/dist/chunk-wysm6qte.js +5 -0
- package/dist/chunk-wysm6qte.js.map +12 -0
- package/dist/{chunk-mepaedy5.js → chunk-x157wrgy.js} +2 -2
- package/dist/{chunk-mepaedy5.js.map → chunk-x157wrgy.js.map} +1 -1
- package/dist/{chunk-nksn6xcd.js → chunk-xrh6k13s.js} +2 -2
- package/dist/{chunk-nksn6xcd.js.map → chunk-xrh6k13s.js.map} +1 -1
- package/dist/{chunk-g8sc6scv.js → chunk-y0wx6w80.js} +2 -2
- package/dist/{chunk-g8sc6scv.js.map → chunk-y0wx6w80.js.map} +1 -1
- package/dist/{chunk-kexsfyjj.js → chunk-yp5979we.js} +2 -2
- package/dist/{chunk-kexsfyjj.js.map → chunk-yp5979we.js.map} +1 -1
- package/dist/{chunk-essqp1ek.js → chunk-z32xfe8c.js} +2 -2
- package/dist/{chunk-essqp1ek.js.map → chunk-z32xfe8c.js.map} +1 -1
- package/dist/{chunk-x5yq097b.js → chunk-zgn0p8qr.js} +3 -3
- package/dist/{chunk-x5yq097b.js.map → chunk-zgn0p8qr.js.map} +1 -1
- package/dist/{chunk-agw3anaf.js → chunk-zns7xcz9.js} +1 -1
- package/dist/config/index.js +1 -1
- package/dist/console/run.js +2 -2
- package/dist/console/run.js.map +1 -1
- package/dist/container/index.js +2 -2
- package/dist/container/index.js.map +1 -1
- package/dist/database/index.js +2 -2
- package/dist/database/index.js.map +1 -1
- package/dist/email/index.js +2 -2
- package/dist/email/index.js.map +1 -1
- package/dist/facades/index.js +2 -2
- package/dist/facades/index.js.map +1 -1
- package/dist/foundation/index.js +2 -2
- package/dist/foundation/index.js.map +1 -1
- package/dist/http/HttpRequest.d.ts +31 -0
- package/dist/http/HttpRequest.d.ts.map +1 -1
- package/dist/http/McpRouter.d.ts +54 -1
- package/dist/http/McpRouter.d.ts.map +1 -1
- package/dist/http/RateLimitMiddleware.d.ts +4 -1
- package/dist/http/RateLimitMiddleware.d.ts.map +1 -1
- package/dist/http/index.d.ts +1 -0
- package/dist/http/index.d.ts.map +1 -1
- package/dist/http/index.js +2 -2
- package/dist/http/index.js.map +1 -1
- package/dist/http/modelOriginated.d.ts +36 -2
- package/dist/http/modelOriginated.d.ts.map +1 -1
- package/dist/i18n/dictionaryRuntime.js +2 -2
- package/dist/i18n/dictionaryRuntime.js.map +1 -1
- package/dist/i18n/index.js +2 -2
- package/dist/i18n/index.js.map +1 -1
- package/dist/kernel/Kernel.d.ts +3 -0
- package/dist/kernel/Kernel.d.ts.map +1 -1
- package/dist/kernel/index.js +3 -3
- package/dist/kernel/index.js.map +3 -3
- package/dist/orm/index.js +2 -2
- package/dist/orm/index.js.map +1 -1
- package/dist/server/index.js +2 -2
- package/dist/server/index.js.map +1 -1
- package/dist/services/index.d.ts +6 -1
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +44 -9
- package/dist/services/index.js.map +6 -3
- package/dist/services/mcp/McpRegistry.d.ts +190 -29
- package/dist/services/mcp/McpRegistry.d.ts.map +1 -1
- package/dist/services/mcp/http/McpHttpServer.d.ts +153 -0
- package/dist/services/mcp/http/McpHttpServer.d.ts.map +1 -0
- package/dist/services/mcp/http/callers.d.ts +131 -0
- package/dist/services/mcp/http/callers.d.ts.map +1 -0
- package/dist/services/mcp/http/limits.d.ts +11 -0
- package/dist/services/mcp/http/limits.d.ts.map +1 -0
- package/dist/services/mcp/http/oauth/McpOAuthServer.d.ts +150 -0
- package/dist/services/mcp/http/oauth/McpOAuthServer.d.ts.map +1 -0
- package/dist/services/mcp/http/oauth/consentPage.d.ts +14 -0
- package/dist/services/mcp/http/oauth/consentPage.d.ts.map +1 -0
- package/dist/services/mcp/http/oauth/store.d.ts +98 -0
- package/dist/services/mcp/http/oauth/store.d.ts.map +1 -0
- package/dist/services/mcp/http/protocol.d.ts +95 -0
- package/dist/services/mcp/http/protocol.d.ts.map +1 -0
- package/dist/services/mcp/http/signedState.d.ts +25 -0
- package/dist/services/mcp/http/signedState.d.ts.map +1 -0
- package/dist/services/queue/work.js +2 -2
- package/dist/services/queue/work.js.map +1 -1
- package/dist/services/router/ApiRouteDispatcher.d.ts +29 -0
- package/dist/services/router/ApiRouteDispatcher.d.ts.map +1 -1
- package/dist/services/router/RouteServiceProvider.d.ts +6 -0
- package/dist/services/router/RouteServiceProvider.d.ts.map +1 -1
- package/dist/services/router/config.d.ts +16 -0
- package/dist/services/router/config.d.ts.map +1 -1
- package/dist/stats/route-table.js +1 -1
- package/dist/support/index.js +2 -2
- package/dist/support/index.js.map +1 -1
- package/dist/vitest/index.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-3z9vhjd7.js +0 -5
- package/dist/chunk-3z9vhjd7.js.map +0 -10
- package/dist/chunk-5zzhypmt.js +0 -5
- package/dist/chunk-5zzhypmt.js.map +0 -33
- package/dist/chunk-6g20zec2.js +0 -46
- package/dist/chunk-cqnfp0n9.js +0 -14
- package/dist/chunk-fsfbyg5e.js +0 -5
- package/dist/chunk-kp7k4s5c.js +0 -4
- /package/dist/{chunk-bq5nqqeq.js.map → chunk-a5sbgffr.js.map} +0 -0
- /package/dist/{chunk-y6frz1vm.js.map → chunk-gv91vjeb.js.map} +0 -0
- /package/dist/{chunk-5nqkwa2w.js.map → chunk-hz6yzzbz.js.map} +0 -0
- /package/dist/{chunk-rh2fad7n.js.map → chunk-m17ktssc.js.map} +0 -0
- /package/dist/{chunk-agw3anaf.js.map → chunk-zns7xcz9.js.map} +0 -0
|
@@ -6,6 +6,6 @@
|
|
|
6
6
|
"import { LockLostError, type LockStore } from \"./LockStore\";\n\nexport type AcquireOptions = {\n /** The lease, in milliseconds. Default one minute. */\n ttl?: number;\n /**\n * How long to keep trying when the lock is held, in milliseconds. Default\n * `0`: one try.\n */\n wait?: number;\n /**\n * Renew the lease every third of `ttl` until the lock is released. Default\n * `true` for `run`, `false` for `acquire`, whose caller may never release.\n */\n renew?: boolean;\n};\n\nexport type LockRunResult<T> = { acquired: true; value: T } | { acquired: false };\n\nconst DEFAULT_TTL = 60_000;\nconst WAIT_STEP = 100;\n\nconst sleep = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms));\n\n/**\n * One hold on a lock, from a successful `acquire` until `release` or the end\n * of its lease.\n *\n * `token` is the fencing token: it grows with each new holder of the name, so\n * a write that records it can be refused when an older holder tries to make\n * it late. `fence` does that refusal for writes to the application's own\n * database.\n *\n * `lost` aborts when the hold is known to be gone: a renewal found another\n * holder, or the lease ran out by this process's clock without a successful\n * renewal. The local deadline is measured from just before each request that\n * set the lease, so it always falls before the store's own expiry.\n */\nexport class HeldLock {\n readonly lost: AbortSignal;\n private readonly controller = new AbortController();\n private deadline: number;\n private expiryTimer: ReturnType<typeof setTimeout> | undefined;\n private renewTimer: ReturnType<typeof setInterval> | undefined;\n private done = false;\n\n constructor(\n private readonly store: LockStore,\n readonly name: string,\n readonly owner: string,\n readonly token: number,\n readonly ttl: number,\n requestedAt: number,\n ) {\n this.lost = this.controller.signal;\n this.deadline = requestedAt + ttl;\n this.armExpiry();\n }\n\n /** Whether the lease has run out by this process's clock, or the hold was lost. */\n get expired(): boolean {\n return this.lost.aborted || performance.now() >= this.deadline;\n }\n\n /** Renews the lease. `false`, and `lost` aborted, when the hold was already gone. */\n async extend(ttl = this.ttl): Promise<boolean> {\n if (this.lost.aborted) return false;\n const requestedAt = performance.now();\n const ok = await this.store.extend(this.name, this.owner, this.token, ttl);\n if (!ok) {\n this.markLost();\n return false;\n }\n if (this.done) return true;\n this.deadline = Math.max(this.deadline, requestedAt + ttl);\n this.armExpiry();\n return true;\n }\n\n /** Asks the store whether this hold is still current. */\n async isHeld(): Promise<boolean> {\n if (this.lost.aborted) return false;\n const held = await this.store.held(this.name, this.owner, this.token);\n if (!held) this.markLost();\n return held;\n }\n\n /**\n * Runs `fn` only while this hold is current, and keeps the lock from\n * changing hands until it settles; rejects with `LockLostError` otherwise.\n * On the database store `fn` runs in a transaction on the store's\n * connection, so ORM writes inside it commit only if the hold was current.\n */\n async fence<T>(fn: () => Promise<T>): Promise<T> {\n if (this.lost.aborted) throw new LockLostError(this.name, this.token);\n try {\n return await this.store.fence(this.name, this.owner, this.token, fn);\n } catch (error) {\n if (error instanceof LockLostError) this.markLost();\n throw error;\n }\n }\n\n /** Ends the hold. `false` when it had already been lost. */\n async release(): Promise<boolean> {\n this.stop();\n if (this.lost.aborted) return false;\n return this.store.release(this.name, this.owner, this.token);\n }\n\n /** Renews every third of the lease until `release`. */\n startRenewing() {\n if (this.renewTimer || this.done) return;\n this.renewTimer = setInterval(\n () => {\n this.extend().catch((error) => {\n // Not lost yet: the local deadline still decides, so a store that\n // comes back within the lease keeps the hold.\n console.error(`[gemi] Could not renew the lock \"${this.name}\".`, error);\n });\n },\n Math.max(1, Math.floor(this.ttl / 3)),\n );\n this.renewTimer.unref?.();\n }\n\n /** @internal Marks the hold as gone and stops every timer. */\n markLost(detail?: string) {\n this.stop();\n if (!this.lost.aborted) {\n this.controller.abort(new LockLostError(this.name, this.token, detail));\n }\n }\n\n private stop() {\n this.done = true;\n clearInterval(this.renewTimer);\n clearTimeout(this.expiryTimer);\n this.renewTimer = undefined;\n this.expiryTimer = undefined;\n }\n\n private armExpiry() {\n clearTimeout(this.expiryTimer);\n this.expiryTimer = setTimeout(\n () => this.markLost(\"its lease ran out before it was renewed\"),\n Math.max(0, this.deadline - performance.now()),\n );\n this.expiryTimer.unref?.();\n }\n}\n\n/**\n * Named locks with leases and fencing tokens, over a `LockStore`. The queue\n * builds one over its own storage (`app(QueueManager).locks`), so with the\n * database driver the locks hold across every process sharing the database.\n * The `Lock` facade fronts it.\n */\nexport class LockManager {\n static token = \"locks\";\n\n constructor(readonly store: LockStore) {}\n\n /** Takes the lock, or resolves `null` if it is held (after `wait`, when given). */\n async acquire(name: string, options: AcquireOptions = {}): Promise<HeldLock | null> {\n const ttl = options.ttl ?? DEFAULT_TTL;\n if (!(ttl > 0))\n throw new Error(`A lock's ttl must be a positive number of milliseconds; got ${ttl}.`);\n const owner = Bun.randomUUIDv7();\n const giveUpAt = performance.now() + Math.max(0, options.wait ?? 0);\n for (;;) {\n const requestedAt = performance.now();\n const token = await this.store.acquire(name, owner, ttl);\n if (token !== null) {\n const lock = new HeldLock(this.store, name, owner, token, ttl, requestedAt);\n if (options.renew) lock.startRenewing();\n return lock;\n }\n const left = giveUpAt - performance.now();\n if (left <= 0) return null;\n await sleep(Math.min(WAIT_STEP, left));\n }\n }\n\n /**\n * Runs `fn` while holding the lock, renewing the lease as it runs, and\n * releases it after. `{ acquired: false }` when the lock was held.\n *\n * If the hold is lost while `fn` runs, `lock.lost` aborts, and once `fn`\n * settles this rejects with `LockLostError` instead of resolving: the caller\n * must not treat work done without the lock as done under it.\n */\n async run<T>(\n name: string,\n options: AcquireOptions,\n fn: (lock: HeldLock) => Promise<T> | T,\n ): Promise<LockRunResult<T>> {\n const lock = await this.acquire(name, { ...options, renew: options.renew ?? true });\n if (!lock) return { acquired: false };\n\n let value: T;\n try {\n value = await fn(lock);\n } catch (error) {\n await lock.release().catch(() => {});\n throw error;\n }\n if (lock.expired) {\n lock.markLost();\n throw lock.lost.reason as LockLostError;\n }\n await lock.release();\n return { acquired: true, value };\n }\n}\n"
|
|
7
7
|
],
|
|
8
8
|
"mappings": "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",
|
|
9
|
-
"debugId": "
|
|
9
|
+
"debugId": "0345D8A2F1E5245564756E2164756E21",
|
|
10
10
|
"names": []
|
|
11
11
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{
|
|
2
|
+
import{Wg as J,Yg as h}from"./chunk-8k8534kg.js";import{Zg as g}from"./chunk-583vxa2v.js";import{$g as D,ah as L,bh as Q,dh as _,fh as T,oh as N}from"./chunk-8c2fs0n0.js";import{Dh as C}from"./chunk-6h9j3f1x.js";import{Zh as v,ai as p}from"./chunk-j3nr4cg0.js";import{di as f}from"./chunk-wwmdqhzy.js";class W{entries=new Map;counters=new Map;async acquire(z,G,H){let V=Date.now(),Y=this.entries.get(z);if(Y&&(Y.expiresAt>V||Y.fences>0))return null;let Z=(Y?.token??0)+1;return this.entries.set(z,{owner:G,token:Z,expiresAt:V+Math.max(0,H),fences:0}),Z}async extend(z,G,H,V){let Y=this.current(z,G,H);if(!Y)return!1;return Y.expiresAt=Date.now()+Math.max(0,V),!0}async release(z,G,H){let V=this.current(z,G,H);if(!V)return!1;return V.owner="",V.expiresAt=0,!0}async holder(z){let G=this.entries.get(z);if(!G||G.expiresAt<=Date.now())return null;return{owner:G.owner,token:G.token}}async held(z,G,H){return this.current(z,G,H)!==void 0}async advance(z,G){if((this.counters.get(z)??-1/0)>=G)return!1;return this.counters.set(z,G),!0}async fence(z,G,H,V){let Y=this.current(z,G,H);if(!Y)throw new J(z,H);Y.fences++;try{return await V()}finally{Y.fences--}}windows=new Map;async hit(z,G,H){let V=Date.now(),Y=this.windows.get(z);if(!Y||Y.endsAt<=V)Y={count:0,endsAt:V+Math.max(1,H)},this.windows.set(z,Y);if(Y.count>=G)return{allowed:!1,resetInMs:Y.endsAt-V};return Y.count++,{allowed:!0,resetInMs:Y.endsAt-V}}async refund(z){let G=this.windows.get(z);if(G&&G.endsAt>Date.now()&&G.count>0)G.count--}current(z,G,H){let V=this.entries.get(z);if(!V||V.owner!==G||V.expiresAt<=Date.now())return;if(H!==void 0&&V.token!==H)return;return V}}class F{table;sql;dialect;connection;busyTimeout;configured;constructor(z,G={}){let H=G.table??"gemi_locks";if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(H))throw Error(`The lock table name "${H}" is not a plain identifier. Use letters, digits and underscores.`);this.table=H,this.sql=z.sql,this.dialect=z.dialect,this.connection=z.name,this.busyTimeout=G.busyTimeout??1000}async createTable(){await this.configure();for(let z of j(this.dialect,this.table))await this.sql.unsafe(z)}async acquire(z,G,H){await this.configure();let V=this.sql,Y=this.now(V);if(await this.seed(V,z),this.mysql){let $=await V`
|
|
3
3
|
UPDATE ${this.name(V)}
|
|
4
4
|
SET owner = ${G}, token = token + 1, expires_at = ${Y} + ${this.ms(V,H)},
|
|
5
5
|
updated_at = ${Y}
|
|
@@ -212,6 +212,6 @@ import{Bg as h,zg as J}from"./chunk-c7mp2kyp.js";import{Cg as g}from"./chunk-y6v
|
|
|
212
212
|
}
|
|
213
213
|
};
|
|
214
214
|
`],"worker.ts"),Y=URL.createObjectURL(V);return new Worker(Y)}async function d(z,G){let H=b();return H.postMessage({jobName:z,args:G}),await new Promise((V,Y)=>{H.onmessage=(Z)=>{let $=Z.data;if("error"in $)Y($.error);else V($.result)}})}var m=new u("gemi.queue"),c=60000;class E{static token="queue";jobs={};config;driver;application;inFlight=new Map;state="idle";looping=!1;claiming;woken=!1;claimFailures=0;resume;unsubscribe;heartbeatTimer;releasedNames=new Set;lockManager;constructor(z={},G={}){this.config=g(M(),z),this.application=G.application,this.driver=t(this.config.driver,this.application),this.useJobs(this.config.jobs)}useJobs(z){this.config.jobs=z,this.jobs={};for(let G of z)this.claim(G)}registerJob(z){this.config.jobs=[...this.config.jobs,z],this.claim(z)}claim(z){if(this.jobs[z.name]){console.error(`Two queued jobs are named "${z.name}" \u2014 the first is registered `+"and this one is not, so dispatching either would have run one of them. A class name is the queue's key, so only one job can hold it. Rename one.");return}this.jobs[z.name]=z}get registeredJobs(){return[...this.config.jobs]}dispatchJob(z,G){if(this.jobs[z])return new this.jobs[z]().run(JSON.parse(G))}push(z,G,H={}){let V=this.uniqueKey(z,G);if(V)return this.pushUnique(z,G,V,H);let Y=this.driver.joinsTransaction?.()===!0;if(!Y){let Z=Bun.randomUUIDv7();if(_(()=>this.record(z,G,{id:Z,reportFailure:!0,committed:!0}).then(()=>{},()=>{})))return Promise.resolve(Z)}return this.record(z,G,{reportFailure:H.reportFailure,joins:Y})}get locks(){return this.lockManager??=new h(this.resolveLockStore()),this.lockManager}resolveLockStore(){let z=this.config.locks;if(z==="auto"){let G=this.driver.lockStore?.();if(G)return G;if(this.durable)console.warn('[gemi] The queue driver keeps no locks, so unique jobs, withoutOverlapping and onOneServer only hold within this process. Set the queue slice\'s `locks` to "database" or a LockStore.');return new W}if(z==="memory")return new W;if(z==="database"||typeof z==="function"){if(!this.application&&(z==="database"||z.length>0))throw Error("The queue's locks need the application they belong to, and this QueueManager was built without one. Pass { application }.");if(z==="database")return new F(this.application.make(C));return z(this.application)}if(typeof z==="string")throw Error(`Unknown queue locks "${z}". The queue slice's locks is "auto", "memory", "database", a LockStore, or a function returning one.`);return z}uniqueKey(z,G){if(z.prototype.uniqueId===R.prototype.uniqueId)return;let H=new z,V=H.uniqueId(...JSON.parse(G));if(V===void 0||V===null||V==="")return;return{key:x(z.name,V),ttl:Math.max(1,H.uniqueFor)}}pushUnique(z,G,H,V){let Y=Bun.randomUUIDv7();if(_(()=>this.recordUnique(z,G,H,Y,{report:!0,committed:!0}).then(()=>{},()=>{})))return Promise.resolve(Y);return this.recordUnique(z,G,H,Y,{report:V.reportFailure!==!1,committed:!1})}recordUnique(z,G,H,V,Y){let Z=this.locks.store,$=(async()=>{for(let B=0;B<5;B++){if(await Z.acquire(H.key,V,H.ttl)!==null)try{return await this.record(z,G,{id:V,reportFailure:!1})}catch(K){throw await Z.release(H.key,V).catch(()=>{}),K}let X=await Z.holder(H.key);if(X)return X.owner}throw Error(`The unique key "${H.key}" kept changing hands, so ${z.name} was not queued.`)})();return $.catch((B)=>{if(!Y.report)return;console.error(`[gemi] The queue could not record the unique job ${z.name}`+(Y.committed?", which was held until its transaction committed. The transaction stays committed; the job did not run and will not be retried.":", so it did not run and will not be retried."),B)}),$}async releaseUnique(z,G,H){if(z.uniqueId===R.prototype.uniqueId)return;try{let V=z.uniqueId(...G);if(V===void 0||V===null||V==="")return;await this.locks.store.release(x(H.name,V),H.id)}catch(V){console.error(`[gemi] Could not free the unique key of ${H.name} (${H.id}); it frees itself after uniqueFor.`,V)}}record(z,G,H){let V=this.driver.enqueue({name:z.name,args:G,...H.id===void 0?{}:{id:H.id}});this.startIfIdle();let Y=()=>!this.driver.subscribe&&this.state==="running"&&this.wake(),Z=H.joins===!0&&_(Y);return V.then(()=>Z||Y(),($)=>{if(H.reportFailure===!1)return;console.error(`[gemi] The queue driver could not record ${z.name}`+(H.committed?", which was held until its transaction committed. The transaction stays committed; the job did not run and will not be retried.":", so it did not run and will not be retried."),$)}),V}async retryDead(z){if(!this.driver.retryDead)throw Error("This queue's driver keeps nothing of a dead-lettered job, so there is nothing to retry. The database driver keeps them.");let G=await this.driver.retryDead(z);if(G)this.claimSoon();return G}startIfIdle(){if(this.state==="idle"&&(!this.durable||this.mayClaimHere()))this.start()}claimSoon(){if(this.startIfIdle(),!this.driver.subscribe&&this.state==="running")this.wake()}start(){if(this.state==="running")return;if(this.state="running",this.durable&&this.application&&this.mayClaimHere()&&!l())globalThis.__gemiDevQueue=this;if(this.unsubscribe=this.driver.subscribe?.(()=>this.wake()),this.looping)return this.wake();m.runInAsyncScope(()=>void this.loop())}async drain(z=1/0){if(this.state="stopped",globalThis.__gemiDevQueue===this)globalThis.__gemiDevQueue=void 0;this.unsubscribe?.(),this.unsubscribe=void 0,this.wake();let G,H=new Promise((Y)=>{if(z!==1/0)G=setTimeout(Y,z)}),V=(async()=>{await this.claiming?.catch(()=>{}),await Promise.allSettled([...this.inFlight.values()].map((Y)=>Y.done))})();return await Promise.race([V,H]),clearTimeout(G),{unfinished:[...this.inFlight.values()].map((Y)=>({...Y.job}))}}stop(){return this.drain(0)}get running(){return this.inFlight.size}async loop(){this.looping=!0;try{await this.claimWhileRunning()}finally{this.looping=!1}}async claimWhileRunning(){while(this.state==="running"){let z=this.durable&&f()?0:this.config.concurrency-this.inFlight.size;if(z>0){this.woken=!1;let G=this.driver.claim(z,{...this.lease(),registered:{names:Object.keys(this.jobs),graceMs:this.config.unknownJobGrace}});this.claiming=G;let H=[];try{H=await G,this.claimFailures=0}catch(V){this.claimFailures++,console.error(`The queue could not claim jobs from its driver; it will try again in ${this.retryDelay()}ms.`,V)}finally{this.claiming=void 0}for(let V of H)this.execute(V);if(H.length===z)continue;if(this.woken&&this.inFlight.size<this.config.concurrency)continue}await this.sleep()}}sleep(){return new Promise((z)=>{let G,H=this.claimFailures>0?this.retryDelay():this.driver.subscribe?void 0:this.config.pollInterval;if(H!==void 0)G=setTimeout(()=>this.wake(),H),G.unref?.();this.resume=()=>{clearTimeout(G),z()}})}retryDelay(){let z=Math.min(Math.max(0,this.claimFailures-1),30);return Math.min(this.config.pollInterval*2**z,c)}wake(){this.woken=!0;let z=this.resume;this.resume=void 0,z?.()}get durable(){return!(this.driver instanceof U)}mayClaimHere(){return!this.application||s()}lease(){return{visibilityTimeoutMs:this.config.visibilityTimeout}}execute(z){let G=`${z.id}:${z.attempt}`,H=()=>this.run(z),V=(this.application?v.run(this.application,H):H()).catch((Y)=>{console.error(`The queue could not record the outcome of ${z.name}.`,Y)}).finally(()=>{this.inFlight.delete(G),this.wake()});this.inFlight.set(G,{job:z,done:V}),this.heartbeat()}heartbeat(){let z=this.driver;if(!z.heartbeat||this.heartbeatTimer)return;this.heartbeatTimer=setInterval(()=>{if(this.inFlight.size===0){clearInterval(this.heartbeatTimer),this.heartbeatTimer=void 0;return}let G=[...this.inFlight.values()].map((H)=>H.job);z.heartbeat(G,this.lease()).catch((H)=>{console.error("The queue could not extend its job leases.",H)})},Math.max(1,Math.floor(this.config.visibilityTimeout/3))),this.heartbeatTimer.unref?.()}async run(z){let G=this.jobs[z.name];if(!G){let K=Date.now()-z.createdAt;if(this.durable&&K<this.config.unknownJobGrace){if(!this.releasedNames.has(z.name))this.releasedNames.add(z.name),console.error(`Left a queued "${z.name}" for another replica: nothing is registered here under that name. It is dead-lettered if no replica has run it within unknownJobGrace (${this.config.unknownJobGrace}ms) of its dispatch.`);await this.driver.release(z,{retryInMs:Math.round(this.config.pollInterval*(1+Math.random()))});return}console.error(`Dropped a queued job: nothing is registered under the name "${z.name}". If the class exists, it was not `+"discovered \u2014 check that it is under the queue slice's jobsDir "+"(app/jobs by default), or list it in app/config/queue.ts."),await this.driver.fail(z,{error:`No job is registered under the name "${z.name}".`,retryInMs:null});return}let H;try{H=new G}catch(K){console.error(`Dropped a queued ${z.name}: it could not be constructed.`,K),await this.driver.fail(z,{error:`The job could not be constructed: ${String(K)}`,retryInMs:null});return}let V;try{V=JSON.parse(z.args)}catch(K){console.error(`Dropped a queued ${z.name}: its arguments are not JSON.`,K),await this.driver.fail(z,{error:`The arguments are not JSON: ${String(K)}`,retryInMs:null});return}if(z.attempt>Math.max(1,H.maxAttempts)){let K=Error(`${z.name} was claimed for attempt ${z.attempt} of ${H.maxAttempts}: an earlier attempt never finished, most likely because the process running it exited. Dead-lettered without running it again.`);P(`${z.name}.onDeadletter`,()=>H.onDeadletter(K,...V)),await this.driver.fail(z,{error:K.message,retryInMs:null}),await this.releaseUnique(H,V,z);return}let Y=await this.admit(H,V,z);if(!Y)return;let Z,$;try{$=await(H.worker?d(z.name,z.args):H.run(...V))}catch(K){Z=K}finally{await Y.done()}let B=H.$outcome;if(Z===void 0&&B?.kind==="release"){await this.driver.release(z,{retryInMs:Math.max(0,B.delayMs)});return}if(Z===void 0&&B?.kind==="fail")Z=B.error;let X=B?.kind==="fail"?B.retry:!0;if(Z===void 0)try{H.onSuccess($,...V)}catch(K){Z=K}if(Z!==void 0){let K=String(Z?.stack??Z);if(P(`${z.name}.onFail`,()=>H.onFail(Z,...V)),!X||z.attempt>=H.maxAttempts)P(`${z.name}.onDeadletter`,()=>H.onDeadletter(Z,...V)),await this.driver.fail(z,{error:K,retryInMs:null}),await this.releaseUnique(H,V,z);else await this.driver.fail(z,{error:K,retryInMs:r(H.backoff,z.attempt)});return}await this.driver.complete(z),await this.releaseUnique(H,V,z)}async admit(z,G,H){let V=z.concurrency(...G),Y=[z.throttle(...G)??[]].flat();if(!V&&Y.length===0)return{done:async()=>{}};let Z=this.locks,$;if(V&&V.limit>0){let X=this.config.visibilityTimeout;for(let K=0;K<V.limit&&!$;K++)$=await Z.acquire(`gemi:concurrency:${V.key}:${K}`,{ttl:X,renew:!0})??void 0;if(!$){await this.driver.release(H,{retryInMs:Math.round(this.config.pollInterval*(1+Math.random()))});return}}let B=[];for(let X of Y){let K=`gemi:throttle:${X.key}`,O=await Z.store.hit(K,X.limit,X.window);if(!O.allowed){await Promise.all(B.map((k)=>Z.store.refund(k))),await $?.release(),await this.driver.release(H,{retryInMs:Math.max(1,O.resetInMs)});return}B.push(K)}return{done:async()=>{await $?.release().catch((X)=>{console.error(`[gemi] Could not free a concurrency slot of ${H.name}.`,X)})}}}}function x(z,G){return`gemi:job:${z}:${String(G)}`}function P(z,G){try{G()}catch(H){console.error(`${z} threw; the job's claim was ended anyway.`,H)}}function l(){return Bun.env.NODE_ENV==="production"}function s(){if(!w)return!1;if(a())return!0;return process.env.ROOT_DIR!==void 0&&!i()}function i(z=process.env){return(z.GEMI_QUEUE_CLAIM??"").trim().toLowerCase()==="off"}var y=Symbol.for("gemi.queue.worker");function Qz(z=!0){globalThis[y]=z}function a(){return globalThis[y]===!0}function r(z,G){let H=Array.isArray(z)?z[Math.min(G,z.length)-1]:z;return Math.max(0,H??0)}function t(z,G){if(z==="memory")return new U;if(z==="database"||typeof z==="function"){if(!G&&(z==="database"||z.length>0))throw Error("The queue driver needs the application it belongs to, and this QueueManager was built without one. Pass { application }.");if(z==="database")return new I(G.make(C));return z(G)}if(typeof z==="string")throw Error(`Unknown queue driver "${z}". The queue slice's driver is "memory", "database", a QueueDriver, or a function returning one.`);return z}class R{static name="unset";worker=!1;maxAttempts=3;backoff=0;uniqueId(...z){return}uniqueFor=3600000;throttle(...z){return}concurrency(...z){return}release(z=0){this.$outcome={kind:"release",delayMs:z}}fail(z,G={}){this.$outcome={kind:"fail",error:z instanceof Error?z:Error(String(z)),retry:G.retry??!0}}$outcome;run(...z){}onFail(z,...G){}onSuccess(z,...G){}onDeadletter(z,...G){}static dispatch(...z){if(this.name==="unset")throw Error("Cannot dispatch a job with no name");return p(E).push(this,JSON.stringify(z))}}
|
|
215
|
-
export{W as
|
|
215
|
+
export{W as xc,F as yc,I as zc,R as Ac,Zz as Bc,M as Cc,U as Dc,E as Ec,s as Fc,i as Gc,Qz as Hc,a as Ic};
|
|
216
216
|
|
|
217
|
-
//# debugId=
|
|
217
|
+
//# debugId=667578306C5FB6A664756E2164756E21
|
|
@@ -11,6 +11,6 @@
|
|
|
11
11
|
"import { app } from \"../../foundation/app\";\nimport { QueueManager } from \"./QueueManager\";\n\nexport class Job {\n static name = \"unset\";\n worker = false;\n maxAttempts = 3;\n\n /**\n * Milliseconds to wait before each retry. A number is used for every retry;\n * an array gives the delay before the first retry, the second, and so on,\n * repeating its last entry. `0`, the default, retries as soon as a slot is\n * free.\n */\n backoff: number | number[] = 0;\n\n /**\n * Makes the job unique per key, across every process sharing the queue's\n * storage. Return a key from the dispatch arguments, or `undefined` for a\n * dispatch that should not be unique. While a job with the same key is\n * waiting or running, another dispatch is not queued: it resolves to the\n * id of the job already there. The key is freed when that job completes or\n * is dead-lettered, and at the latest after `uniqueFor`.\n *\n * The default returns `undefined`: a job is not unique unless it says so.\n */\n uniqueId(..._args: any[]): string | number | undefined | null {\n return undefined;\n }\n\n /**\n * How long a unique job's key is held at most, in milliseconds, so a job\n * lost with its process does not block its key forever. Default one hour.\n */\n uniqueFor = 60 * 60_000;\n\n /**\n * Rate limits per key, computed from the dispatch arguments: at most\n * `limit` jobs admitted per fixed `window` (milliseconds) under each `key`,\n * across every process sharing the queue's storage. A job over a limit is\n * put back until the window resets, without spending an attempt. Counted\n * when the job is admitted to run, whether it then succeeds or not.\n */\n throttle(..._args: any[]): JobThrottle | JobThrottle[] | undefined | null {\n return undefined;\n }\n\n /**\n * At most `limit` jobs with this `key` running at once, across every process\n * sharing the queue's storage. A job with no free slot waits, without\n * spending an attempt.\n */\n concurrency(..._args: any[]): JobConcurrency | undefined | null {\n return undefined;\n }\n\n /**\n * Called from `run`: puts the job back to wait `delayMs` once `run`\n * returns, without counting the attempt or calling any hook. For a provider\n * that answered \"slow down\". Not available to `worker` jobs.\n */\n release(delayMs = 0): void {\n this.$outcome = { kind: \"release\", delayMs };\n }\n\n /**\n * Called from `run`: fails this attempt once `run` returns, as a throw\n * would. With `retry: false` it is dead-lettered at once, whatever\n * `maxAttempts` says: for work that must not be repeated, such as a send\n * whose acceptance is uncertain. A throw after `fail(..., { retry: false })`\n * is dead-lettered too. Not available to `worker` jobs.\n */\n fail(error: unknown, options: { retry?: boolean } = {}): void {\n this.$outcome = {\n kind: \"fail\",\n error: error instanceof Error ? error : new Error(String(error)),\n retry: options.retry ?? true,\n };\n }\n\n /** @internal What `release` or `fail` asked for during this run. */\n $outcome:\n | { kind: \"release\"; delayMs: number }\n | { kind: \"fail\"; error: Error; retry: boolean }\n | undefined;\n\n run(..._args: any[]): Promise<any> | any {}\n\n onFail(_error: Error, ..._args: any[]): void {}\n onSuccess(_result: any, ..._args: any[]): void {}\n onDeadletter(_error: Error, ..._args: any[]): void {}\n\n /**\n * Queues the job and resolves to its id once the driver has recorded it.\n *\n * Not `async`, deliberately: a missing name and arguments JSON cannot carry\n * still throw here, on the caller's stack, as they did when this returned\n * `void`. Only the driver's answer is asynchronous. Ignoring the promise is\n * fine with the memory driver, whose enqueue cannot fail; with a driver\n * that can, an ignored rejection is an unhandled one, so await it.\n */\n static dispatch<T extends Job>(\n this: new () => T,\n ...args: Parameters<T[\"run\"]>\n ): Promise<string> {\n if (this.name === \"unset\") {\n throw new Error(\"Cannot dispatch a job with no name\");\n }\n\n return app(QueueManager).push(this, JSON.stringify(args));\n }\n}\n\nexport type JobThrottle = {\n /** Shared by every job that counts against the same budget. */\n key: string;\n limit: number;\n /** The window, in milliseconds. */\n window: number;\n};\n\nexport type JobConcurrency = { key: string; limit: number };\n"
|
|
12
12
|
],
|
|
13
13
|
"mappings": "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",
|
|
14
|
-
"debugId": "
|
|
14
|
+
"debugId": "667578306C5FB6A664756E2164756E21",
|
|
15
15
|
"names": []
|
|
16
16
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{ea as k,fa as p}from"./chunk-
|
|
2
|
+
import{ea as k,fa as p}from"./chunk-ty4aj41k.js";function D(){return{name:"gemi-custom-request",setup(x){x.onLoad({filter:k},async(j)=>{let y=await Bun.file(j.path).text();return{contents:await p(y),loader:j.path.endsWith(".tsx")?"tsx":"ts"}})}}}
|
|
3
3
|
export{D as da};
|
|
4
4
|
|
|
5
5
|
//# debugId=C25FB85268C08A0064756E2164756E21
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{$ as J}from"./chunk-
|
|
2
|
+
import{$ as J}from"./chunk-jk97wv0q.js";import{qi as I}from"./chunk-e6fp6dxx.js";var Z=I((Q)=>{var K=J(),L=(b)=>{return{setHttpHandler(j){b.httpHandler=j},httpHandler(){return b.httpHandler},updateHttpClientConfig(j,w){b.httpHandler?.updateHttpClientConfig(j,w)},httpHandlerConfigs(){return b.httpHandler.httpHandlerConfigs()}}},M=(b)=>{return{httpHandler:b.httpHandler()}};class B{name;kind;values;constructor({name:b,kind:j=K.FieldPosition.HEADER,values:w=[]}){this.name=b,this.kind=j,this.values=w}add(b){this.values.push(b)}set(b){this.values=b}remove(b){this.values=this.values.filter((j)=>j!==b)}toString(){return this.values.map((b)=>b.includes(",")||b.includes(" ")?`"${b}"`:b).join(", ")}get(){return this.values}}class D{entries={};encoding;constructor({fields:b=[],encoding:j="utf-8"}){b.forEach(this.setField.bind(this)),this.encoding=j}setField(b){this.entries[b.name.toLowerCase()]=b}getField(b){return this.entries[b.toLowerCase()]}removeField(b){delete this.entries[b.toLowerCase()]}getByType(b){return Object.values(this.entries).filter((j)=>j.kind===b)}}class z{method;protocol;hostname;port;path;query;headers;username;password;fragment;body;constructor(b){this.method=b.method||"GET",this.hostname=b.hostname||"localhost",this.port=b.port,this.query=b.query||{},this.headers=b.headers||{},this.body=b.body,this.protocol=b.protocol?b.protocol.slice(-1)!==":"?`${b.protocol}:`:b.protocol:"https:",this.path=b.path?b.path.charAt(0)!=="/"?`/${b.path}`:b.path:"/",this.username=b.username,this.password=b.password,this.fragment=b.fragment}static clone(b){let j=new z({...b,headers:{...b.headers}});if(j.query)j.query=O(j.query);return j}static isInstance(b){if(!b)return!1;let j=b;return"method"in j&&"protocol"in j&&"hostname"in j&&"path"in j&&typeof j.query==="object"&&typeof j.headers==="object"}clone(){return z.clone(this)}}function O(b){return Object.keys(b).reduce((j,w)=>{let A=b[w];return{...j,[w]:Array.isArray(A)?[...A]:A}},{})}class G{statusCode;reason;headers;body;constructor(b){this.statusCode=b.statusCode,this.reason=b.reason,this.headers=b.headers||{},this.body=b.body}static isInstance(b){if(!b)return!1;let j=b;return typeof j.statusCode==="number"&&typeof j.headers==="object"}}function P(b){return/^[a-z0-9][a-z0-9\.\-]*[a-z0-9]$/.test(b)}Q.Field=B;Q.Fields=D;Q.HttpRequest=z;Q.HttpResponse=G;Q.getHttpHandlerExtensionConfiguration=L;Q.isValidHostname=P;Q.resolveHttpHandlerRuntimeConfig=M});
|
|
3
3
|
export{Z as P};
|
|
4
4
|
|
|
5
|
-
//# debugId=
|
|
5
|
+
//# debugId=E36A9C5533E4A3F764756E2164756E21
|
|
@@ -5,6 +5,6 @@
|
|
|
5
5
|
"'use strict';\n\nvar types = require('@smithy/types');\n\nconst getHttpHandlerExtensionConfiguration = (runtimeConfig) => {\n return {\n setHttpHandler(handler) {\n runtimeConfig.httpHandler = handler;\n },\n httpHandler() {\n return runtimeConfig.httpHandler;\n },\n updateHttpClientConfig(key, value) {\n runtimeConfig.httpHandler?.updateHttpClientConfig(key, value);\n },\n httpHandlerConfigs() {\n return runtimeConfig.httpHandler.httpHandlerConfigs();\n },\n };\n};\nconst resolveHttpHandlerRuntimeConfig = (httpHandlerExtensionConfiguration) => {\n return {\n httpHandler: httpHandlerExtensionConfiguration.httpHandler(),\n };\n};\n\nclass Field {\n name;\n kind;\n values;\n constructor({ name, kind = types.FieldPosition.HEADER, values = [] }) {\n this.name = name;\n this.kind = kind;\n this.values = values;\n }\n add(value) {\n this.values.push(value);\n }\n set(values) {\n this.values = values;\n }\n remove(value) {\n this.values = this.values.filter((v) => v !== value);\n }\n toString() {\n return this.values.map((v) => (v.includes(\",\") || v.includes(\" \") ? `\"${v}\"` : v)).join(\", \");\n }\n get() {\n return this.values;\n }\n}\n\nclass Fields {\n entries = {};\n encoding;\n constructor({ fields = [], encoding = \"utf-8\" }) {\n fields.forEach(this.setField.bind(this));\n this.encoding = encoding;\n }\n setField(field) {\n this.entries[field.name.toLowerCase()] = field;\n }\n getField(name) {\n return this.entries[name.toLowerCase()];\n }\n removeField(name) {\n delete this.entries[name.toLowerCase()];\n }\n getByType(kind) {\n return Object.values(this.entries).filter((field) => field.kind === kind);\n }\n}\n\nclass HttpRequest {\n method;\n protocol;\n hostname;\n port;\n path;\n query;\n headers;\n username;\n password;\n fragment;\n body;\n constructor(options) {\n this.method = options.method || \"GET\";\n this.hostname = options.hostname || \"localhost\";\n this.port = options.port;\n this.query = options.query || {};\n this.headers = options.headers || {};\n this.body = options.body;\n this.protocol = options.protocol\n ? options.protocol.slice(-1) !== \":\"\n ? `${options.protocol}:`\n : options.protocol\n : \"https:\";\n this.path = options.path ? (options.path.charAt(0) !== \"/\" ? `/${options.path}` : options.path) : \"/\";\n this.username = options.username;\n this.password = options.password;\n this.fragment = options.fragment;\n }\n static clone(request) {\n const cloned = new HttpRequest({\n ...request,\n headers: { ...request.headers },\n });\n if (cloned.query) {\n cloned.query = cloneQuery(cloned.query);\n }\n return cloned;\n }\n static isInstance(request) {\n if (!request) {\n return false;\n }\n const req = request;\n return (\"method\" in req &&\n \"protocol\" in req &&\n \"hostname\" in req &&\n \"path\" in req &&\n typeof req[\"query\"] === \"object\" &&\n typeof req[\"headers\"] === \"object\");\n }\n clone() {\n return HttpRequest.clone(this);\n }\n}\nfunction cloneQuery(query) {\n return Object.keys(query).reduce((carry, paramName) => {\n const param = query[paramName];\n return {\n ...carry,\n [paramName]: Array.isArray(param) ? [...param] : param,\n };\n }, {});\n}\n\nclass HttpResponse {\n statusCode;\n reason;\n headers;\n body;\n constructor(options) {\n this.statusCode = options.statusCode;\n this.reason = options.reason;\n this.headers = options.headers || {};\n this.body = options.body;\n }\n static isInstance(response) {\n if (!response)\n return false;\n const resp = response;\n return typeof resp.statusCode === \"number\" && typeof resp.headers === \"object\";\n }\n}\n\nfunction isValidHostname(hostname) {\n const hostPattern = /^[a-z0-9][a-z0-9\\.\\-]*[a-z0-9]$/;\n return hostPattern.test(hostname);\n}\n\nexports.Field = Field;\nexports.Fields = Fields;\nexports.HttpRequest = HttpRequest;\nexports.HttpResponse = HttpResponse;\nexports.getHttpHandlerExtensionConfiguration = getHttpHandlerExtensionConfiguration;\nexports.isValidHostname = isValidHostname;\nexports.resolveHttpHandlerRuntimeConfig = resolveHttpHandlerRuntimeConfig;\n"
|
|
6
6
|
],
|
|
7
7
|
"mappings": "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",
|
|
8
|
-
"debugId": "
|
|
8
|
+
"debugId": "E36A9C5533E4A3F764756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{Q as I}from"./chunk-
|
|
2
|
+
import{Q as I}from"./chunk-m2yfvwrn.js";import{_ as A}from"./chunk-gdmsn3f5.js";import"./chunk-jk97wv0q.js";import{aa as f}from"./chunk-2rphhsr7.js";import{pi as t,ti as T}from"./chunk-e6fp6dxx.js";var N=t(I(),1),a=t(f(),1),d=t(A(),1);import{readFileSync as g}from"fs";var c=(e)=>async(s)=>{e.logger?.debug("@aws-sdk/credential-provider-web-identity - fromWebToken");let{roleArn:o,roleSessionName:r,webIdentityToken:i,providerId:n,policyArns:m,policy:S,durationSeconds:l}=e,{roleAssumerWithWebIdentity:E}=e;if(!E){let{getDefaultRoleAssumerWithWebIdentity:p}=await import("./chunk-1p0dazvk.js").then((m)=>t(m.default,1));E=p({...e.clientConfig,credentialProviderLogger:e.logger,parentClientConfig:{...s?.callerClientConfig,...e.parentClientConfig}},e.clientPlugins)}return E({RoleArn:o,RoleSessionName:r??`aws-sdk-js-session-${Date.now()}`,WebIdentityToken:i,ProviderId:n,PolicyArns:m,Policy:S,DurationSeconds:l})};var _="AWS_WEB_IDENTITY_TOKEN_FILE",O="AWS_ROLE_ARN",k="AWS_ROLE_SESSION_NAME",L=(e={})=>async(s)=>{e.logger?.debug("@aws-sdk/credential-provider-web-identity - fromTokenFile");let o=e?.webIdentityTokenFile??process.env[_],r=e?.roleArn??process.env[O],i=e?.roleSessionName??process.env[k];if(!o||!r)throw new a.CredentialsProviderError("Web identity configuration not specified",{logger:e.logger});let n=await c({...e,webIdentityToken:d.externalDataInterceptor?.getTokenRecord?.()[o]??g(o,{encoding:"ascii"}),roleArn:r,roleSessionName:i})(s);if(o===process.env[_])N.setCredentialFeature(n,"CREDENTIALS_ENV_VARS_STS_WEB_ID_TOKEN","h");return n};export{c as fromWebToken,L as fromTokenFile};
|
|
3
3
|
|
|
4
|
-
//# debugId=
|
|
4
|
+
//# debugId=CFAD69C9FF4821C864756E2164756E21
|
|
@@ -6,6 +6,6 @@
|
|
|
6
6
|
"export const fromWebToken = (init) => async (awsIdentityProperties) => {\n init.logger?.debug(\"@aws-sdk/credential-provider-web-identity - fromWebToken\");\n const { roleArn, roleSessionName, webIdentityToken, providerId, policyArns, policy, durationSeconds } = init;\n let { roleAssumerWithWebIdentity } = init;\n if (!roleAssumerWithWebIdentity) {\n const { getDefaultRoleAssumerWithWebIdentity } = await import(\"@aws-sdk/nested-clients/sts\");\n roleAssumerWithWebIdentity = getDefaultRoleAssumerWithWebIdentity({\n ...init.clientConfig,\n credentialProviderLogger: init.logger,\n parentClientConfig: {\n ...awsIdentityProperties?.callerClientConfig,\n ...init.parentClientConfig,\n },\n }, init.clientPlugins);\n }\n return roleAssumerWithWebIdentity({\n RoleArn: roleArn,\n RoleSessionName: roleSessionName ?? `aws-sdk-js-session-${Date.now()}`,\n WebIdentityToken: webIdentityToken,\n ProviderId: providerId,\n PolicyArns: policyArns,\n Policy: policy,\n DurationSeconds: durationSeconds,\n });\n};\n"
|
|
7
7
|
],
|
|
8
8
|
"mappings": ";8NAAA,SACA,KACA,KACA,iBAAS,WCHF,IAAM,EAAe,CAAC,IAAS,MAAO,IAA0B,CACnE,EAAK,QAAQ,MAAM,0DAA0D,EAC7E,IAAQ,UAAS,kBAAiB,mBAAkB,aAAY,aAAY,SAAQ,mBAAoB,GAClG,8BAA+B,EACrC,GAAI,CAAC,EAA4B,CAC7B,IAAQ,wCAAyC,KAAa,yDAC9D,EAA6B,EAAqC,IAC3D,EAAK,aACR,yBAA0B,EAAK,OAC/B,mBAAoB,IACb,GAAuB,sBACvB,EAAK,kBACZ,CACJ,EAAG,EAAK,aAAa,EAEzB,OAAO,EAA2B,CAC9B,QAAS,EACT,gBAAiB,GAAmB,sBAAsB,KAAK,IAAI,IACnE,iBAAkB,EAClB,WAAY,EACZ,WAAY,EACZ,OAAQ,EACR,gBAAiB,CACrB,CAAC,GDlBL,IAAM,EAAiB,8BACjB,EAAe,eACf,EAAwB,wBACjB,EAAgB,CAAC,EAAO,CAAC,IAAM,MAAO,IAA0B,CACzE,EAAK,QAAQ,MAAM,2DAA2D,EAC9E,IAAM,EAAuB,GAAM,sBAAwB,QAAQ,IAAI,GACjE,EAAU,GAAM,SAAW,QAAQ,IAAI,GACvC,EAAkB,GAAM,iBAAmB,QAAQ,IAAI,GAC7D,GAAI,CAAC,GAAwB,CAAC,EAC1B,MAAM,IAAI,2BAAyB,2CAA4C,CAC3E,OAAQ,EAAK,MACjB,CAAC,EAEL,IAAM,EAAc,MAAM,EAAa,IAChC,EACH,iBAAkB,2BAAyB,iBAAiB,EAAE,IAC1D,EAAa,EAAsB,CAAE,SAAU,OAAQ,CAAC,EAC5D,UACA,iBACJ,CAAC,EAAE,CAAqB,EACxB,GAAI,IAAyB,QAAQ,IAAI,GACrC,uBAAqB,EAAa,wCAAyC,GAAG,EAElF,OAAO",
|
|
9
|
-
"debugId": "
|
|
9
|
+
"debugId": "CFAD69C9FF4821C864756E2164756E21",
|
|
10
10
|
"names": []
|
|
11
11
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{
|
|
2
|
+
import{qi as t,ti as A}from"./chunk-e6fp6dxx.js";var o=t((b)=>{var i=(r)=>typeof ArrayBuffer==="function"&&r instanceof ArrayBuffer||Object.prototype.toString.call(r)==="[object ArrayBuffer]";b.isArrayBuffer=i});var y=t((g)=>{var m=o(),f=A("buffer"),B=(r,e=0,u=r.byteLength-e)=>{if(!m.isArrayBuffer(r))throw TypeError(`The "input" argument must be ArrayBuffer. Received type ${typeof r} (${r})`);return f.Buffer.from(r,e,u)},a=(r,e)=>{if(typeof r!=="string")throw TypeError(`The "input" argument must be of type string. Received type ${typeof r} (${r})`);return e?f.Buffer.from(r,e):f.Buffer.from(r)};g.fromArrayBuffer=B;g.fromString=a});var x=t((w)=>{var n=y(),s=(r)=>{let e=n.fromString(r,"utf8");return new Uint8Array(e.buffer,e.byteOffset,e.byteLength/Uint8Array.BYTES_PER_ELEMENT)},h=(r)=>{if(typeof r==="string")return s(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength/Uint8Array.BYTES_PER_ELEMENT);return new Uint8Array(r)},p=(r)=>{if(typeof r==="string")return r;if(typeof r!=="object"||typeof r.byteOffset!=="number"||typeof r.byteLength!=="number")throw Error("@smithy/util-utf8: toUtf8 encoder function only accepts string | Uint8Array.");return n.fromArrayBuffer(r.buffer,r.byteOffset,r.byteLength).toString("utf8")};w.fromUtf8=s;w.toUint8Array=h;w.toUtf8=p});
|
|
3
3
|
export{o as V,y as W,x as X};
|
|
4
4
|
|
|
5
|
-
//# debugId=
|
|
5
|
+
//# debugId=78A7B914A80FC47664756E2164756E21
|
|
@@ -7,6 +7,6 @@
|
|
|
7
7
|
"'use strict';\n\nvar utilBufferFrom = require('@smithy/util-buffer-from');\n\nconst fromUtf8 = (input) => {\n const buf = utilBufferFrom.fromString(input, \"utf8\");\n return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength / Uint8Array.BYTES_PER_ELEMENT);\n};\n\nconst toUint8Array = (data) => {\n if (typeof data === \"string\") {\n return fromUtf8(data);\n }\n if (ArrayBuffer.isView(data)) {\n return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT);\n }\n return new Uint8Array(data);\n};\n\nconst toUtf8 = (input) => {\n if (typeof input === \"string\") {\n return input;\n }\n if (typeof input !== \"object\" || typeof input.byteOffset !== \"number\" || typeof input.byteLength !== \"number\") {\n throw new Error(\"@smithy/util-utf8: toUtf8 encoder function only accepts string | Uint8Array.\");\n }\n return utilBufferFrom.fromArrayBuffer(input.buffer, input.byteOffset, input.byteLength).toString(\"utf8\");\n};\n\nexports.fromUtf8 = fromUtf8;\nexports.toUint8Array = toUint8Array;\nexports.toUtf8 = toUtf8;\n"
|
|
8
8
|
],
|
|
9
9
|
"mappings": ";+DAEA,IAAM,EAAgB,CAAC,IAAS,OAAO,cAAgB,YAAc,aAAe,aAChF,OAAO,UAAU,SAAS,KAAK,CAAG,IAAM,uBAEpC,gBAAgB,kBCHxB,IAAI,MACA,cAEE,EAAkB,CAAC,EAAO,EAAS,EAAG,EAAS,EAAM,WAAa,IAAW,CAC/E,GAAI,CAAC,EAAc,cAAc,CAAK,EAClC,MAAU,UAAU,2DAA2D,OAAO,MAAU,IAAQ,EAE5G,OAAO,EAAO,OAAO,KAAK,EAAO,EAAQ,CAAM,GAE7C,EAAa,CAAC,EAAO,IAAa,CACpC,GAAI,OAAO,IAAU,SACjB,MAAU,UAAU,8DAA8D,OAAO,MAAU,IAAQ,EAE/G,OAAO,EAAW,EAAO,OAAO,KAAK,EAAO,CAAQ,EAAI,EAAO,OAAO,KAAK,CAAK,GAG5E,kBAAkB,EAClB,aAAa,kBCjBrB,IAAI,MAEE,EAAW,CAAC,IAAU,CACxB,IAAM,EAAM,EAAe,WAAW,EAAO,MAAM,EACnD,OAAO,IAAI,WAAW,EAAI,OAAQ,EAAI,WAAY,EAAI,WAAa,WAAW,iBAAiB,GAG7F,EAAe,CAAC,IAAS,CAC3B,GAAI,OAAO,IAAS,SAChB,OAAO,EAAS,CAAI,EAExB,GAAI,YAAY,OAAO,CAAI,EACvB,OAAO,IAAI,WAAW,EAAK,OAAQ,EAAK,WAAY,EAAK,WAAa,WAAW,iBAAiB,EAEtG,OAAO,IAAI,WAAW,CAAI,GAGxB,EAAS,CAAC,IAAU,CACtB,GAAI,OAAO,IAAU,SACjB,OAAO,EAEX,GAAI,OAAO,IAAU,UAAY,OAAO,EAAM,aAAe,UAAY,OAAO,EAAM,aAAe,SACjG,MAAU,MAAM,8EAA8E,EAElG,OAAO,EAAe,gBAAgB,EAAM,OAAQ,EAAM,WAAY,EAAM,UAAU,EAAE,SAAS,MAAM,GAGnG,WAAW,EACX,eAAe,EACf,SAAS",
|
|
10
|
-
"debugId": "
|
|
10
|
+
"debugId": "78A7B914A80FC47664756E2164756E21",
|
|
11
11
|
"names": []
|
|
12
12
|
}
|