@opencode-ai/cli-linux-x64-baseline
Advanced tools
| { | ||
| "version": 3, | ||
| "sources": ["../tui/src/util/locale.ts"], | ||
| "sourcesContent": [ | ||
| "export function titlecase(str: string) {\n return str.replace(/\\b\\w/g, (c) => c.toUpperCase())\n}\n\nexport function time(input: number): string {\n const date = new Date(input)\n return date.toLocaleTimeString(undefined, { timeStyle: \"short\" })\n}\n\nexport function datetime(input: number): string {\n const date = new Date(input)\n const localTime = time(input)\n const localDate = date.toLocaleDateString()\n return `${localTime} · ${localDate}`\n}\n\nexport function todayTimeOrDateTime(input: number): string {\n const date = new Date(input)\n const now = new Date()\n const isToday =\n date.getFullYear() === now.getFullYear() && date.getMonth() === now.getMonth() && date.getDate() === now.getDate()\n\n if (isToday) {\n return time(input)\n } else {\n return datetime(input)\n }\n}\n\nexport function number(num: number): string {\n if (num >= 1000000) {\n return (num / 1000000).toFixed(1) + \"M\"\n } else if (num >= 1000) {\n return (num / 1000).toFixed(1) + \"K\"\n }\n return num.toString()\n}\n\nexport function duration(input: number) {\n if (input < 1000) {\n return `${input}ms`\n }\n if (input < 60000) {\n return `${(input / 1000).toFixed(1)}s`\n }\n if (input < 3600000) {\n const minutes = Math.floor(input / 60000)\n const seconds = Math.floor((input % 60000) / 1000)\n return `${minutes}m ${seconds}s`\n }\n if (input < 86400000) {\n const hours = Math.floor(input / 3600000)\n const minutes = Math.floor((input % 3600000) / 60000)\n return `${hours}h ${minutes}m`\n }\n const days = Math.floor(input / 86400000)\n const hours = Math.floor((input % 86400000) / 3600000)\n return `${days}d ${hours}h`\n}\n\nexport function truncate(str: string, len: number): string {\n if (str.length <= len) return str\n return str.slice(0, len - 1) + \"…\"\n}\n\nexport function truncateLeft(str: string, len: number): string {\n if (str.length <= len) return str\n return \"…\" + str.slice(-(len - 1))\n}\n\nexport function truncateMiddle(str: string, maxLength: number = 35): string {\n if (str.length <= maxLength) return str\n\n const ellipsis = \"…\"\n const keepStart = Math.ceil((maxLength - ellipsis.length) / 2)\n const keepEnd = Math.floor((maxLength - ellipsis.length) / 2)\n\n return str.slice(0, keepStart) + ellipsis + str.slice(-keepEnd)\n}\n\nexport function pluralize(count: number, singular: string, plural: string): string {\n const template = count === 1 ? singular : plural\n return template.replace(\"{}\", count.toString())\n}\n\nexport * as Locale from \"./locale\"\n" | ||
| ], | ||
| "mappings": ";wPAAO,SAAS,CAAS,CAAC,EAAa,CACrC,OAAO,EAAI,QAAQ,QAAS,CAAC,IAAM,EAAE,YAAY,CAAC,EAG7C,SAAS,CAAI,CAAC,EAAuB,CAE1C,OADa,IAAI,KAAK,CAAK,EACf,mBAAmB,OAAW,CAAE,UAAW,OAAQ,CAAC,EAG3D,SAAS,CAAQ,CAAC,EAAuB,CAC9C,IAAM,EAAO,IAAI,KAAK,CAAK,EACrB,EAAY,EAAK,CAAK,EACtB,EAAY,EAAK,mBAAmB,EAC1C,MAAO,GAAG,UAAc,IAGnB,SAAS,CAAmB,CAAC,EAAuB,CACzD,IAAM,EAAO,IAAI,KAAK,CAAK,EACrB,EAAM,IAAI,KAIhB,GAFE,EAAK,YAAY,IAAM,EAAI,YAAY,GAAK,EAAK,SAAS,IAAM,EAAI,SAAS,GAAK,EAAK,QAAQ,IAAM,EAAI,QAAQ,EAGjH,OAAO,EAAK,CAAK,EAEjB,YAAO,EAAS,CAAK,EAIlB,SAAS,CAAM,CAAC,EAAqB,CAC1C,GAAI,GAAO,IACT,OAAQ,EAAM,KAAS,QAAQ,CAAC,EAAI,IAC/B,QAAI,GAAO,KAChB,OAAQ,EAAM,MAAM,QAAQ,CAAC,EAAI,IAEnC,OAAO,EAAI,SAAS,EAGf,SAAS,CAAQ,CAAC,EAAe,CACtC,GAAI,EAAQ,KACV,MAAO,GAAG,MAEZ,GAAI,EAAQ,MACV,MAAO,IAAI,EAAQ,MAAM,QAAQ,CAAC,KAEpC,GAAI,EAAQ,QAAS,CACnB,IAAM,EAAU,KAAK,MAAM,EAAQ,KAAK,EAClC,EAAU,KAAK,MAAO,EAAQ,MAAS,IAAI,EACjD,MAAO,GAAG,MAAY,KAExB,GAAI,EAAQ,SAAU,CACpB,IAAM,EAAQ,KAAK,MAAM,EAAQ,OAAO,EAClC,EAAU,KAAK,MAAO,EAAQ,QAAW,KAAK,EACpD,MAAO,GAAG,MAAU,KAEtB,IAAM,EAAO,KAAK,MAAM,EAAQ,QAAQ,EAClC,EAAQ,KAAK,MAAO,EAAQ,SAAY,OAAO,EACrD,MAAO,GAAG,MAAS,KAGd,SAAS,CAAQ,CAAC,EAAa,EAAqB,CACzD,GAAI,EAAI,QAAU,EAAK,OAAO,EAC9B,OAAO,EAAI,MAAM,EAAG,EAAM,CAAC,EAAI,SAG1B,SAAS,CAAY,CAAC,EAAa,EAAqB,CAC7D,GAAI,EAAI,QAAU,EAAK,OAAO,EAC9B,MAAO,SAAK,EAAI,MAAM,EAAE,EAAM,EAAE,EAG3B,SAAS,CAAc,CAAC,EAAa,EAAoB,GAAY,CAC1E,GAAI,EAAI,QAAU,EAAW,OAAO,EAEpC,IAAM,EAAW,SACX,EAAY,KAAK,MAAM,EAAY,EAAS,QAAU,CAAC,EACvD,EAAU,KAAK,OAAO,EAAY,EAAS,QAAU,CAAC,EAE5D,OAAO,EAAI,MAAM,EAAG,CAAS,EAAI,EAAW,EAAI,MAAM,CAAC,CAAO,EAGzD,SAAS,CAAS,CAAC,EAAe,EAAkB,EAAwB,CAEjF,OADiB,IAAU,EAAI,EAAW,GAC1B,QAAQ,KAAM,EAAM,SAAS,CAAC", | ||
| "debugId": "DB560697A5890BF664756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["src/commands/handlers/migrate.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport { Commands } from \"../commands\"\nimport { Runtime } from \"../../framework/runtime\"\n\nexport default Runtime.handler(Commands.commands.migrate, (_input) => Effect.log(\"No migrations to run.\"))\n" | ||
| ], | ||
| "mappings": ";6ZAIA,SAAe,SAAQ,aAAQ,OAAS,cAAS,aAAS,MAAC,SAAW,OAAO,SAAI,uBAAuB,CAAC", | ||
| "debugId": "02EFB4DE378E8E6464756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260603160727_jittery_ezekiel_stane.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260603160727_jittery_ezekiel_stane\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`DROP INDEX IF EXISTS \\`session_input_session_pending_seq_idx\\`;`)\n yield* tx.run(\n `CREATE INDEX IF NOT EXISTS \\`event_aggregate_type_seq_idx\\` ON \\`event\\` (\\`aggregate_id\\`,\\`type\\`,\\`seq\\`);`,\n )\n yield* tx.run(\n `CREATE INDEX IF NOT EXISTS \\`session_input_session_pending_delivery_seq_idx\\` ON \\`session_input\\` (\\`session_id\\`,\\`promoted_seq\\`,\\`delivery\\`,\\`seq\\`);`,\n )\n yield* tx.run(\n `CREATE INDEX IF NOT EXISTS \\`session_message_session_time_created_id_idx\\` ON \\`session_message\\` (\\`session_id\\`,\\`time_created\\`,\\`id\\`);`,\n )\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,uCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,+DAAiE,EAC/E,MAAO,EAAG,IACR,qGACF,EACA,MAAO,EAAG,IACR,gJACF,EACA,MAAO,EAAG,IACR,mIACF,EACD,EAEL", | ||
| "debugId": "115771D888ECD54A64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260303231226_add_workspace_fields.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260303231226_add_workspace_fields\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`ALTER TABLE \\`workspace\\` ADD \\`type\\` text NOT NULL;`)\n yield* tx.run(`ALTER TABLE \\`workspace\\` ADD \\`name\\` text;`)\n yield* tx.run(`ALTER TABLE \\`workspace\\` ADD \\`directory\\` text;`)\n yield* tx.run(`ALTER TABLE \\`workspace\\` ADD \\`extra\\` text;`)\n yield* tx.run(`ALTER TABLE \\`workspace\\` DROP COLUMN \\`config\\`;`)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,sCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,mDAAuD,EACrE,MAAO,EAAG,IAAI,0CAA8C,EAC5D,MAAO,EAAG,IAAI,+CAAmD,EACjE,MAAO,EAAG,IAAI,2CAA+C,EAC7D,MAAO,EAAG,IAAI,+CAAmD,EAClE,EAEL", | ||
| "debugId": "E506508C6D03D15864756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["src/commands/handlers/service/stop.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport { Service } from \"@opencode-ai/client/effect\"\nimport { Commands } from \"../../commands\"\nimport { Runtime } from \"../../../framework/runtime\"\nimport { ServiceConfig } from \"../../../services/service-config\"\n\nexport default Runtime.handler(\n Commands.commands.service.commands.stop,\n Effect.fn(\"cli.service.stop\")(function* () {\n yield* Service.stop(yield* ServiceConfig.options())\n }),\n)\n" | ||
| ], | ||
| "mappings": ";moBAMA,SAAe,SAAQ,aACrB,OAAS,cAAS,aAAQ,cAAS,UACnC,OAAO,QAAG,uBAAkB,OAAE,cAAU,OAAG,MACzC,WAAO,EAAQ,KAAK,MAAO,EAAc,QAAQ,CAAC,EACnD,CACH", | ||
| "debugId": "294BB4AEAFC286B764756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260323234822_events.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260323234822_events\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`\n CREATE TABLE \\`event_sequence\\` (\n \\`aggregate_id\\` text PRIMARY KEY,\n \\`seq\\` integer NOT NULL\n );\n `)\n yield* tx.run(`\n CREATE TABLE \\`event\\` (\n \\`id\\` text PRIMARY KEY,\n \\`aggregate_id\\` text NOT NULL,\n \\`seq\\` integer NOT NULL,\n \\`type\\` text NOT NULL,\n \\`data\\` text NOT NULL,\n CONSTRAINT \\`fk_event_aggregate_id_event_sequence_aggregate_id_fk\\` FOREIGN KEY (\\`aggregate_id\\`) REFERENCES \\`event_sequence\\`(\\`aggregate_id\\`) ON DELETE CASCADE\n );\n `)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,wBACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,6IAKb,EACD,MAAO,EAAG,IAAI,8YASb,EACF,EAEL", | ||
| "debugId": "1D47FDC6D4A1C29D64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["src/commands/handlers/pair.ts"], | ||
| "sourcesContent": [ | ||
| "import { EOL } from \"os\"\nimport { Effect } from \"effect\"\nimport { Service } from \"@opencode-ai/client/effect\"\nimport { OpenCode } from \"@opencode-ai/client/promise\"\nimport { renderUnicodeCompact } from \"uqr\"\nimport { Commands } from \"../commands\"\nimport { Runtime } from \"../../framework/runtime\"\nimport { ServiceConfig } from \"../../services/service-config\"\n\nexport default Runtime.handler(\n Commands.commands.pair,\n Effect.fn(\"cli.pair\")(function* () {\n const endpoint = yield* Service.start(yield* ServiceConfig.options())\n const password = yield* ServiceConfig.password()\n const server = yield* Effect.tryPromise(() =>\n OpenCode.make({ baseUrl: endpoint.url, headers: Service.headers(endpoint) }).server.get(),\n )\n const info = { urls: server.urls, username: \"opencode\", password }\n process.stdout.write(\n [\n \"\",\n ` URLs ${info.urls[0] ?? \"(none)\"}`,\n ...info.urls.slice(1).map((url) => ` ${url}`),\n ` Username ${info.username}`,\n ` Password ${info.password}`,\n \"\",\n \" Scan to pair\",\n \"\",\n renderUnicodeCompact(JSON.stringify(info), { border: 2 })\n .split(EOL)\n .map((line) => \" \" + line)\n .join(EOL),\n \"\",\n ].join(EOL) + EOL,\n )\n\n const hostname = new URL(endpoint.url).hostname\n if (![\"localhost\", \"127.0.0.1\", \"[::1]\"].includes(hostname)) return\n process.stderr.write(\n ` Run \\`opencode service set hostname 0.0.0.0\\` to access the service remotely.${EOL}${EOL}`,\n )\n }),\n)\n" | ||
| ], | ||
| "mappings": ";guBAAA,mBAAS,gBAST,SAAe,SAAQ,aACrB,OAAS,cAAS,UAClB,OAAO,QAAG,eAAU,OAAE,cAAU,OAAG,MACjC,SAAM,OAAW,WAAO,EAAQ,MAAM,MAAO,EAAc,QAAQ,CAAC,EAC9D,EAAW,MAAO,EAAc,SAAS,EAIzC,EAAO,CAAE,MAHA,MAAO,EAAO,WAAW,IACtC,EAAS,KAAK,CAAE,QAAS,EAAS,IAAK,QAAS,EAAQ,QAAQ,CAAQ,CAAE,CAAC,EAAE,OAAO,IAAI,CAC1F,GAC4B,KAAM,SAAU,WAAY,UAAS,EACjE,QAAQ,OAAO,MACb,CACE,GACA,eAAe,EAAK,KAAK,IAAM,WAC/B,GAAG,EAAK,KAAK,MAAM,CAAC,EAAE,IAAI,CAAC,IAAQ,eAAe,GAAK,EACvD,eAAe,EAAK,WACpB,eAAe,EAAK,WACpB,GACA,iBACA,GACA,EAAqB,KAAK,UAAU,CAAI,EAAG,CAAE,OAAQ,CAAE,CAAC,EACrD,MAAM,CAAG,EACT,IAAI,CAAC,IAAS,KAAO,CAAI,EACzB,KAAK,CAAG,EACX,EACF,EAAE,KAAK,CAAG,EAAI,CAChB,EAEA,IAAM,EAAW,IAAI,IAAI,EAAS,GAAG,EAAE,SACvC,GAAI,CAAC,CAAC,YAAa,YAAa,OAAO,EAAE,SAAS,CAAQ,EAAG,OAC7D,QAAQ,OAAO,MACb,kFAAkF,IAAM,GAC1F,EACD,CACH", | ||
| "debugId": "1F9A0BBF5A86B2AF64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["src/services/service-config.ts"], | ||
| "sourcesContent": [ | ||
| "import { Global } from \"@opencode-ai/core/global\"\nimport { InstallationChannel, InstallationVersion } from \"@opencode-ai/core/installation/version\"\nimport { Service } from \"@opencode-ai/client/effect\"\nimport { Effect, FileSystem, Schema } from \"effect\"\nimport { randomBytes } from \"crypto\"\nimport path from \"path\"\n\n// The CLI's service configuration file, plus the Service.Options binding that\n// points the client package's service operations at this CLI: which\n// registration file (by channel), which version, and how to spawn opencode.\n\nexport const Info = Schema.Struct({\n hostname: Schema.optional(Schema.String),\n port: Schema.optional(Schema.Int.check(Schema.isGreaterThanOrEqualTo(1), Schema.isLessThanOrEqualTo(65_535))),\n password: Schema.optional(Schema.String),\n})\nexport type Info = typeof Info.Type\n\nconst keys = [\"hostname\", \"port\", \"password\"] as const\ntype Key = (typeof keys)[number]\n\nconst decodeInfo = Schema.decodeUnknownEffect(Schema.fromJsonString(Info))\n\nfunction configKey(key: string): Key {\n if (keys.includes(key as Key)) return key as Key\n throw new Error(`Unknown service config key: ${key}`)\n}\n\nconst env = Effect.gen(function* () {\n const fs = yield* FileSystem.FileSystem\n const global = yield* Global.Service\n const filename = InstallationChannel === \"local\" ? \"service-local.json\" : \"service.json\"\n return {\n fs,\n file: path.join(global.state, filename),\n configFile: path.join(global.config, filename),\n }\n})\n\nexport const options = Effect.fnUntraced(function* () {\n const { file } = yield* env\n const compiled = path.basename(process.execPath).replace(/\\.exe$/, \"\") !== \"bun\"\n const entrypoint = compiled ? undefined : process.argv[1]\n if (!compiled && entrypoint === undefined) return yield* Effect.fail(new Error(\"Failed to resolve CLI entrypoint\"))\n return {\n file,\n version: InstallationVersion,\n command: [process.execPath, ...(entrypoint ? [entrypoint] : []), \"serve\", \"--service\"],\n }\n})\n\nexport const read = Effect.fn(\"cli.service-config.read\")(function* () {\n const { fs, configFile } = yield* env\n return yield* fs.readFileString(configFile).pipe(\n Effect.flatMap(decodeInfo),\n Effect.catch(() => Effect.succeed({} as Info)),\n )\n})\n\nconst write = Effect.fn(\"cli.service-config.write\")(function* (value: Info) {\n const { fs, configFile } = yield* env\n const temp = configFile + \".tmp\"\n yield* fs.makeDirectory(path.dirname(configFile), { recursive: true })\n yield* fs.writeFileString(temp, JSON.stringify(value, null, 2) + \"\\n\", { mode: 0o600 })\n yield* fs.rename(temp, configFile)\n})\n\nexport const password = Effect.fn(\"cli.service-config.password\")(function* (value?: string) {\n const existing = yield* read()\n if (value === undefined && existing.password) return existing.password\n const next = value ?? randomBytes(32).toString(\"base64url\")\n\n // Keep one private credential across server restarts so discovered clients\n // can reconnect without exposing a password flag or environment variable.\n yield* write({ ...existing, password: next })\n return next\n})\n\nexport const get = Effect.fn(\"cli.service-config.get\")(function* (key?: string) {\n if (key === undefined) {\n const { password: _password, ...safe } = yield* read()\n return JSON.stringify(safe, null, 2)\n }\n switch (configKey(key)) {\n case \"hostname\": {\n return (yield* read()).hostname ?? \"\"\n }\n case \"port\": {\n const port = (yield* read()).port\n return port === undefined ? \"\" : String(port)\n }\n case \"password\": {\n return yield* password()\n }\n }\n})\n\nexport const set = Effect.fn(\"cli.service-config.set\")(function* (key: string, value: string) {\n switch (configKey(key)) {\n case \"hostname\": {\n yield* Service.stop(yield* options())\n yield* write({ ...(yield* read()), hostname: value })\n return\n }\n case \"port\": {\n const port = Number(value)\n if (!Number.isInteger(port) || port < 1 || port > 65_535) throw new Error(\"Port must be between 1 and 65535\")\n yield* Service.stop(yield* options())\n yield* write({ ...(yield* read()), port })\n return\n }\n case \"password\": {\n yield* Service.stop(yield* options())\n yield* password(value)\n return\n }\n }\n})\n\nexport const unset = Effect.fn(\"cli.service-config.unset\")(function* (key: string) {\n switch (configKey(key)) {\n case \"hostname\": {\n yield* Service.stop(yield* options())\n const { hostname: _hostname, ...next } = yield* read()\n yield* write(next)\n return\n }\n case \"port\": {\n yield* Service.stop(yield* options())\n const { port: _port, ...next } = yield* read()\n yield* write(next)\n return\n }\n case \"password\": {\n yield* Service.stop(yield* options())\n const { password: _password, ...next } = yield* read()\n yield* write(next)\n return\n }\n }\n})\n\nexport * as ServiceConfig from \"./service-config\"\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "21CB22FF7FD4EAC864756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@smithy+credential-provider-imds@4.3.6/node_modules/@smithy/credential-provider-imds/dist-es/fromContainerMetadata.js", "../../node_modules/.bun/@smithy+credential-provider-imds@4.3.6/node_modules/@smithy/credential-provider-imds/dist-es/remoteProvider/ImdsCredentials.js", "../../node_modules/.bun/@smithy+credential-provider-imds@4.3.6/node_modules/@smithy/credential-provider-imds/dist-es/remoteProvider/RemoteProviderInit.js", "../../node_modules/.bun/@smithy+credential-provider-imds@4.3.6/node_modules/@smithy/credential-provider-imds/dist-es/remoteProvider/httpRequest.js", "../../node_modules/.bun/@smithy+credential-provider-imds@4.3.6/node_modules/@smithy/credential-provider-imds/dist-es/remoteProvider/retry.js", "../../node_modules/.bun/@smithy+credential-provider-imds@4.3.6/node_modules/@smithy/credential-provider-imds/dist-es/fromInstanceMetadata.js", "../../node_modules/.bun/@smithy+credential-provider-imds@4.3.6/node_modules/@smithy/credential-provider-imds/dist-es/error/InstanceMetadataV1FallbackError.js", "../../node_modules/.bun/@smithy+credential-provider-imds@4.3.6/node_modules/@smithy/credential-provider-imds/dist-es/utils/getInstanceMetadataEndpoint.js", "../../node_modules/.bun/@smithy+credential-provider-imds@4.3.6/node_modules/@smithy/credential-provider-imds/dist-es/config/Endpoint.js", "../../node_modules/.bun/@smithy+credential-provider-imds@4.3.6/node_modules/@smithy/credential-provider-imds/dist-es/config/EndpointConfigOptions.js", "../../node_modules/.bun/@smithy+credential-provider-imds@4.3.6/node_modules/@smithy/credential-provider-imds/dist-es/config/EndpointMode.js", "../../node_modules/.bun/@smithy+credential-provider-imds@4.3.6/node_modules/@smithy/credential-provider-imds/dist-es/config/EndpointModeConfigOptions.js", "../../node_modules/.bun/@smithy+credential-provider-imds@4.3.6/node_modules/@smithy/credential-provider-imds/dist-es/utils/getExtendedInstanceMetadataCredentials.js", "../../node_modules/.bun/@smithy+credential-provider-imds@4.3.6/node_modules/@smithy/credential-provider-imds/dist-es/utils/staticStabilityProvider.js"], | ||
| "sourcesContent": [ | ||
| "import { CredentialsProviderError } from \"@smithy/core/config\";\nimport { fromImdsCredentials, isImdsCredentials } from \"./remoteProvider/ImdsCredentials\";\nimport { providerConfigFromInit } from \"./remoteProvider/RemoteProviderInit\";\nimport { httpRequest } from \"./remoteProvider/httpRequest\";\nimport { retry } from \"./remoteProvider/retry\";\nexport const ENV_CMDS_FULL_URI = \"AWS_CONTAINER_CREDENTIALS_FULL_URI\";\nexport const ENV_CMDS_RELATIVE_URI = \"AWS_CONTAINER_CREDENTIALS_RELATIVE_URI\";\nexport const ENV_CMDS_AUTH_TOKEN = \"AWS_CONTAINER_AUTHORIZATION_TOKEN\";\nexport const fromContainerMetadata = (init = {}) => {\n const { timeout, maxRetries } = providerConfigFromInit(init);\n return () => retry(async () => {\n const requestOptions = await getCmdsUri({ logger: init.logger });\n const credsResponse = JSON.parse(await requestFromEcsImds(timeout, requestOptions));\n if (!isImdsCredentials(credsResponse)) {\n throw new CredentialsProviderError(\"Invalid response received from instance metadata service.\", {\n logger: init.logger,\n });\n }\n return fromImdsCredentials(credsResponse);\n }, maxRetries);\n};\nconst requestFromEcsImds = async (timeout, options) => {\n if (process.env[ENV_CMDS_AUTH_TOKEN]) {\n options.headers = {\n ...options.headers,\n Authorization: process.env[ENV_CMDS_AUTH_TOKEN],\n };\n }\n const buffer = await httpRequest({\n ...options,\n timeout,\n });\n return buffer.toString();\n};\nconst CMDS_IP = \"169.254.170.2\";\nconst GREENGRASS_HOSTS = new Set([\"localhost\", \"127.0.0.1\"]);\nconst GREENGRASS_PROTOCOLS = new Set([\"http:\", \"https:\"]);\nconst getCmdsUri = async ({ logger }) => {\n if (process.env[ENV_CMDS_RELATIVE_URI]) {\n return {\n hostname: CMDS_IP,\n path: process.env[ENV_CMDS_RELATIVE_URI],\n };\n }\n if (process.env[ENV_CMDS_FULL_URI]) {\n let parsed;\n try {\n parsed = new URL(process.env[ENV_CMDS_FULL_URI]);\n }\n catch {\n throw new CredentialsProviderError(`${process.env[ENV_CMDS_FULL_URI]} is not a valid container metadata service URL`, { tryNextLink: false, logger });\n }\n if (!parsed.hostname || !GREENGRASS_HOSTS.has(parsed.hostname)) {\n throw new CredentialsProviderError(`${parsed.hostname} is not a valid container metadata service hostname`, {\n tryNextLink: false,\n logger,\n });\n }\n if (!parsed.protocol || !GREENGRASS_PROTOCOLS.has(parsed.protocol)) {\n throw new CredentialsProviderError(`${parsed.protocol} is not a valid container metadata service protocol`, {\n tryNextLink: false,\n logger,\n });\n }\n return {\n protocol: parsed.protocol,\n hostname: parsed.hostname,\n path: parsed.pathname + parsed.search,\n port: parsed.port ? parseInt(parsed.port, 10) : undefined,\n };\n }\n throw new CredentialsProviderError(\"The container metadata credential provider cannot be used unless\" +\n ` the ${ENV_CMDS_RELATIVE_URI} or ${ENV_CMDS_FULL_URI} environment` +\n \" variable is set\", {\n tryNextLink: false,\n logger,\n });\n};\n", | ||
| "export const isImdsCredentials = (arg) => Boolean(arg) &&\n typeof arg === \"object\" &&\n typeof arg.AccessKeyId === \"string\" &&\n typeof arg.SecretAccessKey === \"string\" &&\n typeof arg.Token === \"string\" &&\n typeof arg.Expiration === \"string\";\nexport const fromImdsCredentials = (creds) => ({\n accessKeyId: creds.AccessKeyId,\n secretAccessKey: creds.SecretAccessKey,\n sessionToken: creds.Token,\n expiration: new Date(creds.Expiration),\n ...(creds.AccountId && { accountId: creds.AccountId }),\n});\n", | ||
| "export const DEFAULT_TIMEOUT = 1000;\nexport const DEFAULT_MAX_RETRIES = 0;\nexport const providerConfigFromInit = ({ maxRetries = DEFAULT_MAX_RETRIES, timeout = DEFAULT_TIMEOUT, }) => ({ maxRetries, timeout });\n", | ||
| "import { request } from \"node:http\";\nimport { ProviderError } from \"@smithy/core/config\";\nexport function httpRequest(options) {\n return new Promise((resolve, reject) => {\n const req = request({\n method: \"GET\",\n ...options,\n hostname: options.hostname?.replace(/^\\[(.+)\\]$/, \"$1\"),\n });\n req.on(\"error\", (err) => {\n reject(Object.assign(new ProviderError(\"Unable to connect to instance metadata service\"), err));\n req.destroy();\n });\n req.on(\"timeout\", () => {\n reject(new ProviderError(\"TimeoutError from instance metadata service\"));\n req.destroy();\n });\n req.on(\"response\", (res) => {\n const { statusCode = 400 } = res;\n if (statusCode < 200 || 300 <= statusCode) {\n reject(Object.assign(new ProviderError(\"Error response received from instance metadata service\"), { statusCode }));\n req.destroy();\n }\n const chunks = [];\n res.on(\"data\", (chunk) => {\n chunks.push(chunk);\n });\n res.on(\"end\", () => {\n resolve(Buffer.concat(chunks));\n req.destroy();\n });\n });\n req.end();\n });\n}\n", | ||
| "export const retry = (toRetry, maxRetries) => {\n let promise = toRetry();\n for (let i = 0; i < maxRetries; i++) {\n promise = promise.catch(toRetry);\n }\n return promise;\n};\n", | ||
| "import { CredentialsProviderError, loadConfig } from \"@smithy/core/config\";\nimport { InstanceMetadataV1FallbackError } from \"./error/InstanceMetadataV1FallbackError\";\nimport { fromImdsCredentials, isImdsCredentials } from \"./remoteProvider/ImdsCredentials\";\nimport { providerConfigFromInit } from \"./remoteProvider/RemoteProviderInit\";\nimport { httpRequest } from \"./remoteProvider/httpRequest\";\nimport { retry } from \"./remoteProvider/retry\";\nimport { getInstanceMetadataEndpoint } from \"./utils/getInstanceMetadataEndpoint\";\nimport { staticStabilityProvider } from \"./utils/staticStabilityProvider\";\nconst IMDS_PATH = \"/latest/meta-data/iam/security-credentials/\";\nconst IMDS_TOKEN_PATH = \"/latest/api/token\";\nconst AWS_EC2_METADATA_V1_DISABLED = \"AWS_EC2_METADATA_V1_DISABLED\";\nconst PROFILE_AWS_EC2_METADATA_V1_DISABLED = \"ec2_metadata_v1_disabled\";\nconst X_AWS_EC2_METADATA_TOKEN = \"x-aws-ec2-metadata-token\";\nexport const fromInstanceMetadata = (init = {}) => staticStabilityProvider(getInstanceMetadataProvider(init), { logger: init.logger });\nconst getInstanceMetadataProvider = (init = {}) => {\n let disableFetchToken = false;\n const { logger, profile } = init;\n const { timeout, maxRetries } = providerConfigFromInit(init);\n const getCredentials = async (maxRetries, options) => {\n const isImdsV1Fallback = disableFetchToken || options.headers?.[X_AWS_EC2_METADATA_TOKEN] == null;\n if (isImdsV1Fallback) {\n let fallbackBlockedFromProfile = false;\n let fallbackBlockedFromProcessEnv = false;\n const configValue = await loadConfig({\n environmentVariableSelector: (env) => {\n const envValue = env[AWS_EC2_METADATA_V1_DISABLED];\n fallbackBlockedFromProcessEnv = !!envValue && envValue !== \"false\";\n if (envValue === undefined) {\n throw new CredentialsProviderError(`${AWS_EC2_METADATA_V1_DISABLED} not set in env, checking config file next.`, { logger: init.logger });\n }\n return fallbackBlockedFromProcessEnv;\n },\n configFileSelector: (profile) => {\n const profileValue = profile[PROFILE_AWS_EC2_METADATA_V1_DISABLED];\n fallbackBlockedFromProfile = !!profileValue && profileValue !== \"false\";\n return fallbackBlockedFromProfile;\n },\n default: false,\n }, {\n profile,\n })();\n if (init.ec2MetadataV1Disabled || configValue) {\n const causes = [];\n if (init.ec2MetadataV1Disabled)\n causes.push(\"credential provider initialization (runtime option ec2MetadataV1Disabled)\");\n if (fallbackBlockedFromProfile)\n causes.push(`config file profile (${PROFILE_AWS_EC2_METADATA_V1_DISABLED})`);\n if (fallbackBlockedFromProcessEnv)\n causes.push(`process environment variable (${AWS_EC2_METADATA_V1_DISABLED})`);\n throw new InstanceMetadataV1FallbackError(`AWS EC2 Metadata v1 fallback has been blocked by AWS SDK configuration in the following: [${causes.join(\", \")}].`);\n }\n }\n const imdsProfile = (await retry(async () => {\n let profile;\n try {\n profile = await getProfile(options);\n }\n catch (err) {\n if (err.statusCode === 401) {\n disableFetchToken = false;\n }\n throw err;\n }\n return profile;\n }, maxRetries)).trim();\n return retry(async () => {\n let creds;\n try {\n creds = await getCredentialsFromProfile(imdsProfile, options, init);\n }\n catch (err) {\n if (err.statusCode === 401) {\n disableFetchToken = false;\n }\n throw err;\n }\n return creds;\n }, maxRetries);\n };\n return async () => {\n const endpoint = await getInstanceMetadataEndpoint();\n if (disableFetchToken) {\n logger?.debug(\"AWS SDK Instance Metadata\", \"using v1 fallback (no token fetch)\");\n return getCredentials(maxRetries, { ...endpoint, timeout });\n }\n else {\n let token;\n try {\n token = (await getMetadataToken({ ...endpoint, timeout })).toString();\n }\n catch (error) {\n if (error?.statusCode === 400) {\n throw Object.assign(error, {\n message: \"EC2 Metadata token request returned error\",\n });\n }\n else if (error.message === \"TimeoutError\" || [403, 404, 405].includes(error.statusCode)) {\n disableFetchToken = true;\n }\n logger?.debug(\"AWS SDK Instance Metadata\", \"using v1 fallback (initial)\");\n return getCredentials(maxRetries, { ...endpoint, timeout });\n }\n return getCredentials(maxRetries, {\n ...endpoint,\n headers: {\n [X_AWS_EC2_METADATA_TOKEN]: token,\n },\n timeout,\n });\n }\n };\n};\nconst getMetadataToken = async (options) => httpRequest({\n ...options,\n path: IMDS_TOKEN_PATH,\n method: \"PUT\",\n headers: {\n \"x-aws-ec2-metadata-token-ttl-seconds\": \"21600\",\n },\n});\nconst getProfile = async (options) => (await httpRequest({ ...options, path: IMDS_PATH })).toString();\nconst getCredentialsFromProfile = async (profile, options, init) => {\n const credentialsResponse = JSON.parse((await httpRequest({\n ...options,\n path: IMDS_PATH + profile,\n })).toString());\n if (!isImdsCredentials(credentialsResponse)) {\n throw new CredentialsProviderError(\"Invalid response received from instance metadata service.\", {\n logger: init.logger,\n });\n }\n return fromImdsCredentials(credentialsResponse);\n};\n", | ||
| "import { CredentialsProviderError } from \"@smithy/core/config\";\nexport class InstanceMetadataV1FallbackError extends CredentialsProviderError {\n tryNextLink;\n name = \"InstanceMetadataV1FallbackError\";\n constructor(message, tryNextLink = true) {\n super(message, tryNextLink);\n this.tryNextLink = tryNextLink;\n Object.setPrototypeOf(this, InstanceMetadataV1FallbackError.prototype);\n }\n}\n", | ||
| "import { loadConfig } from \"@smithy/core/config\";\nimport { parseUrl } from \"@smithy/core/protocols\";\nimport { Endpoint as InstanceMetadataEndpoint } from \"../config/Endpoint\";\nimport { ENDPOINT_CONFIG_OPTIONS } from \"../config/EndpointConfigOptions\";\nimport { EndpointMode } from \"../config/EndpointMode\";\nimport { ENDPOINT_MODE_CONFIG_OPTIONS, } from \"../config/EndpointModeConfigOptions\";\nexport const getInstanceMetadataEndpoint = async () => parseUrl((await getFromEndpointConfig()) || (await getFromEndpointModeConfig()));\nconst getFromEndpointConfig = async () => loadConfig(ENDPOINT_CONFIG_OPTIONS)();\nconst getFromEndpointModeConfig = async () => {\n const endpointMode = await loadConfig(ENDPOINT_MODE_CONFIG_OPTIONS)();\n switch (endpointMode) {\n case EndpointMode.IPv4:\n return InstanceMetadataEndpoint.IPv4;\n case EndpointMode.IPv6:\n return InstanceMetadataEndpoint.IPv6;\n default:\n throw new Error(`Unsupported endpoint mode: ${endpointMode}.` + ` Select from ${Object.values(EndpointMode)}`);\n }\n};\n", | ||
| "export var Endpoint;\n(function (Endpoint) {\n Endpoint[\"IPv4\"] = \"http://169.254.169.254\";\n Endpoint[\"IPv6\"] = \"http://[fd00:ec2::254]\";\n})(Endpoint || (Endpoint = {}));\n", | ||
| "export const ENV_ENDPOINT_NAME = \"AWS_EC2_METADATA_SERVICE_ENDPOINT\";\nexport const CONFIG_ENDPOINT_NAME = \"ec2_metadata_service_endpoint\";\nexport const ENDPOINT_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => env[ENV_ENDPOINT_NAME],\n configFileSelector: (profile) => profile[CONFIG_ENDPOINT_NAME],\n default: undefined,\n};\n", | ||
| "export var EndpointMode;\n(function (EndpointMode) {\n EndpointMode[\"IPv4\"] = \"IPv4\";\n EndpointMode[\"IPv6\"] = \"IPv6\";\n})(EndpointMode || (EndpointMode = {}));\n", | ||
| "import { EndpointMode } from \"./EndpointMode\";\nexport const ENV_ENDPOINT_MODE_NAME = \"AWS_EC2_METADATA_SERVICE_ENDPOINT_MODE\";\nexport const CONFIG_ENDPOINT_MODE_NAME = \"ec2_metadata_service_endpoint_mode\";\nexport const ENDPOINT_MODE_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => env[ENV_ENDPOINT_MODE_NAME],\n configFileSelector: (profile) => profile[CONFIG_ENDPOINT_MODE_NAME],\n default: EndpointMode.IPv4,\n};\n", | ||
| "const STATIC_STABILITY_REFRESH_INTERVAL_SECONDS = 5 * 60;\nconst STATIC_STABILITY_REFRESH_INTERVAL_JITTER_WINDOW_SECONDS = 5 * 60;\nconst STATIC_STABILITY_DOC_URL = \"https://docs.aws.amazon.com/sdkref/latest/guide/feature-static-credentials.html\";\nexport const getExtendedInstanceMetadataCredentials = (credentials, logger) => {\n const refreshInterval = STATIC_STABILITY_REFRESH_INTERVAL_SECONDS +\n Math.floor(Math.random() * STATIC_STABILITY_REFRESH_INTERVAL_JITTER_WINDOW_SECONDS);\n const newExpiration = new Date(Date.now() + refreshInterval * 1000);\n logger.warn(\"Attempting credential expiration extension due to a credential service availability issue. A refresh of these \" +\n `credentials will be attempted after ${new Date(newExpiration)}.\\nFor more information, please visit: ` +\n STATIC_STABILITY_DOC_URL);\n const originalExpiration = credentials.originalExpiration ?? credentials.expiration;\n return {\n ...credentials,\n ...(originalExpiration ? { originalExpiration } : {}),\n expiration: newExpiration,\n };\n};\n", | ||
| "import { getExtendedInstanceMetadataCredentials } from \"./getExtendedInstanceMetadataCredentials\";\nexport const staticStabilityProvider = (provider, options = {}) => {\n const logger = options?.logger || console;\n let pastCredentials;\n return async () => {\n let credentials;\n try {\n credentials = await provider();\n if (credentials.expiration && credentials.expiration.getTime() < Date.now()) {\n credentials = getExtendedInstanceMetadataCredentials(credentials, logger);\n }\n }\n catch (e) {\n if (pastCredentials) {\n logger.warn(\"Credential renew failed: \", e);\n credentials = getExtendedInstanceMetadataCredentials(pastCredentials, logger);\n }\n else {\n throw e;\n }\n }\n pastCredentials = credentials;\n return credentials;\n };\n};\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "E61A354C9522FA9F64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["src/commands/handlers/mcp/auth.ts"], | ||
| "sourcesContent": [ | ||
| "import { EOL } from \"node:os\"\nimport { Effect } from \"effect\"\nimport {\n createOpencodeClient,\n type IntegrationAttemptStatus,\n type IntegrationOAuthMethod,\n type OpencodeClient,\n} from \"@opencode-ai/sdk/v2/client\"\nimport { Commands } from \"../../commands\"\nimport { Runtime } from \"../../../framework/runtime\"\nimport { Service } from \"@opencode-ai/client/effect\"\nimport { ServiceConfig } from \"../../../services/service-config\"\nimport { resolveIntegration } from \"./resolve\"\n\nconst location = { directory: process.cwd() }\n\nexport default Runtime.handler(\n Commands.commands.mcp.commands.auth,\n Effect.fn(\"cli.mcp.auth\")(function* (input) {\n const options = yield* ServiceConfig.options()\n const found = yield* Service.discover(options)\n const endpoint = found ?? (yield* Service.start(options))\n const client = createOpencodeClient({ baseUrl: endpoint.url, headers: Service.headers(endpoint) })\n\n const integration = yield* resolveIntegration(client, input.name, location)\n if (!integration)\n return yield* Effect.fail(new Error(`MCP server \"${input.name}\" is not an OAuth-capable remote server`))\n const method = integration.methods.find(\n (candidate): candidate is IntegrationOAuthMethod => candidate.type === \"oauth\",\n )\n if (!method)\n return yield* Effect.fail(new Error(`MCP server \"${input.name}\" is not an OAuth-capable remote server`))\n\n const started = yield* Effect.promise(() =>\n client.v2.integration.connect.oauth({ integrationID: integration.id, methodID: method.id, inputs: {}, location }),\n )\n const attempt = started.data?.data\n if (!attempt) return yield* Effect.fail(new Error(started.error?.message ?? \"Failed to start OAuth attempt\"))\n if (attempt.mode === \"code\")\n return yield* Effect.fail(new Error(\"This server requires manual code entry, which the CLI does not support\"))\n\n process.stdout.write(attempt.instructions + EOL + attempt.url + EOL)\n\n const result = yield* poll(client, attempt.attemptID)\n if (result.status === \"complete\") {\n process.stdout.write(`Authenticated with ${input.name}` + EOL)\n return\n }\n const reason = result.status === \"failed\" ? `: ${result.message}` : \"\"\n return yield* Effect.fail(new Error(`Authentication ${result.status}${reason}`))\n }),\n)\n\nconst poll = (\n client: OpencodeClient,\n attemptID: string,\n): Effect.Effect<Exclude<IntegrationAttemptStatus, { status: \"pending\" }>> =>\n Effect.gen(function* () {\n const response = yield* Effect.promise(() => client.v2.integration.attempt.status({ attemptID, location }))\n const status = response.data?.data\n if (!status || status.status === \"pending\") {\n yield* Effect.sleep(\"1 second\")\n return yield* poll(client, attemptID)\n }\n return status\n })\n" | ||
| ], | ||
| "mappings": ";guBAAA,mBAAS,gBAcT,SAAM,OAAW,MAAE,eAAW,aAAQ,SAAI,MAAE,OAE7B,SAAQ,aACrB,OAAS,cAAS,SAAI,cAAS,UAC/B,OAAO,GAAG,cAAc,EAAE,SAAU,CAAC,EAAO,CAC1C,IAAM,EAAU,MAAO,EAAc,QAAQ,EAEvC,GADQ,MAAO,EAAQ,SAAS,CAAO,KAClB,MAAO,EAAQ,MAAM,CAAO,GACjD,EAAS,EAAqB,CAAE,QAAS,EAAS,IAAK,QAAS,EAAQ,QAAQ,CAAQ,CAAE,CAAC,EAE3F,EAAc,MAAO,EAAmB,EAAQ,EAAM,KAAM,CAAQ,EAC1E,GAAI,CAAC,EACH,OAAO,MAAO,EAAO,KAAS,MAAM,eAAe,EAAM,6CAA6C,CAAC,EACzG,IAAM,EAAS,EAAY,QAAQ,KACjC,CAAC,IAAmD,EAAU,OAAS,OACzE,EACA,GAAI,CAAC,EACH,OAAO,MAAO,EAAO,KAAS,MAAM,eAAe,EAAM,6CAA6C,CAAC,EAEzG,IAAM,EAAU,MAAO,EAAO,QAAQ,IACpC,EAAO,GAAG,YAAY,QAAQ,MAAM,CAAE,cAAe,EAAY,GAAI,SAAU,EAAO,GAAI,OAAQ,CAAC,EAAG,UAAS,CAAC,CAClH,EACM,EAAU,EAAQ,MAAM,KAC9B,GAAI,CAAC,EAAS,OAAO,MAAO,EAAO,KAAS,MAAM,EAAQ,OAAO,SAAW,+BAA+B,CAAC,EAC5G,GAAI,EAAQ,OAAS,OACnB,OAAO,MAAO,EAAO,KAAS,MAAM,wEAAwE,CAAC,EAE/G,QAAQ,OAAO,MAAM,EAAQ,aAAe,EAAM,EAAQ,IAAM,CAAG,EAEnE,IAAM,EAAS,MAAO,EAAK,EAAQ,EAAQ,SAAS,EACpD,GAAI,EAAO,SAAW,WAAY,CAChC,QAAQ,OAAO,MAAM,sBAAsB,EAAM,OAAS,CAAG,EAC7D,OAEF,IAAM,EAAS,EAAO,SAAW,SAAW,KAAK,EAAO,UAAY,GACpE,OAAO,MAAO,EAAO,KAAS,MAAM,kBAAkB,EAAO,SAAS,GAAQ,CAAC,EAChF,CACH,EAEM,EAAO,CACX,EACA,IAEA,EAAO,IAAI,SAAU,EAAG,CAEtB,IAAM,GADW,MAAO,EAAO,QAAQ,IAAM,EAAO,GAAG,YAAY,QAAQ,OAAO,CAAE,YAAW,UAAS,CAAC,CAAC,GAClF,MAAM,KAC9B,GAAI,CAAC,GAAU,EAAO,SAAW,UAE/B,OADA,MAAO,EAAO,MAAM,UAAU,EACvB,MAAO,EAAK,EAAQ,CAAS,EAEtC,OAAO,EACR", | ||
| "debugId": "06182C3AEA22A09D64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/util/which.ts"], | ||
| "sourcesContent": [ | ||
| "import whichPkg from \"which\"\nimport path from \"path\"\nimport { Global } from \"../global\"\n\nexport function which(cmd: string, env?: NodeJS.ProcessEnv) {\n const base = env?.PATH ?? env?.Path ?? process.env.PATH ?? process.env.Path ?? \"\"\n const full = base ? base + path.delimiter + Global.Path.bin : Global.Path.bin\n const result = whichPkg.sync(cmd, {\n nothrow: true,\n path: full,\n pathExt: env?.PATHEXT ?? env?.PathExt ?? process.env.PATHEXT ?? process.env.PathExt,\n })\n return typeof result === \"string\" ? result : null\n}\n" | ||
| ], | ||
| "mappings": ";kJAAA,oBACA,yBAGO,SAAS,CAAK,CAAC,EAAa,EAAyB,CAC1D,IAAM,EAAO,GAAK,MAAQ,GAAK,MAAQ,QAAQ,IAAI,MAAQ,QAAQ,IAAI,MAAQ,GACzE,EAAO,EAAO,EAAO,EAAK,UAAY,EAAO,KAAK,IAAM,EAAO,KAAK,IACpE,EAAS,UAAS,KAAK,EAAK,CAChC,QAAS,GACT,KAAM,EACN,QAAS,GAAK,SAAW,GAAK,SAAW,QAAQ,IAAI,SAAW,QAAQ,IAAI,OAC9E,CAAC,EACD,OAAO,OAAO,IAAW,SAAW,EAAS", | ||
| "debugId": "71EF99F07CA5639364756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "DFC31ACD12C9721664756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260706223930_add-session-fork.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260706223930_add-session-fork\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`ALTER TABLE \\`session\\` ADD \\`fork_session_id\\` text;`)\n yield* tx.run(`ALTER TABLE \\`session\\` ADD \\`fork_message_id\\` text;`)\n yield* tx.run(`\n UPDATE \\`session\\`\n SET\n \\`parent_id\\` = NULL,\n \\`fork_session_id\\` = (\n SELECT json_extract(\\`event\\`.\\`data\\`, '$.parentID')\n FROM \\`event\\`\n WHERE \\`event\\`.\\`aggregate_id\\` = \\`session\\`.\\`id\\`\n AND \\`event\\`.\\`type\\` = 'session.forked'\n ORDER BY \\`event\\`.\\`seq\\`\n LIMIT 1\n ),\n \\`fork_message_id\\` = (\n SELECT json_extract(\\`event\\`.\\`data\\`, '$.from')\n FROM \\`event\\`\n WHERE \\`event\\`.\\`aggregate_id\\` = \\`session\\`.\\`id\\`\n AND \\`event\\`.\\`type\\` = 'session.forked'\n ORDER BY \\`event\\`.\\`seq\\`\n LIMIT 1\n )\n WHERE EXISTS (\n SELECT 1\n FROM \\`event\\`\n WHERE \\`event\\`.\\`aggregate_id\\` = \\`session\\`.\\`id\\`\n AND \\`event\\`.\\`type\\` = 'session.forked'\n );\n `)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,kCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,mDAAuD,EACrE,MAAO,EAAG,IAAI,mDAAuD,EACrE,MAAO,EAAG,IAAI,y2BA0Bb,EACF,EAEL", | ||
| "debugId": "556602114FF306AF64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "4428BADDE1B7D91964756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["src/mini/demo.ts"], | ||
| "sourcesContent": [ | ||
| "// Demo mode for testing direct interactive mode without a real SDK.\n//\n// Enabled with `--demo`. Intercepts prompt submissions and generates synthetic\n// SDK events that feed through the real reducer and footer pipeline. This\n// lets you test scrollback formatting, permission UI, question UI, and tool\n// snapshots without making actual model calls. Pass a demo slash command as\n// the initial interactive message to trigger a preview immediately.\n//\n// Slash commands:\n// /permission [kind] → triggers a permission request variant\n// /question [kind] → triggers a question request variant\n// /fmt <kind> → emits a specific tool/text type (text, reasoning, bash,\n// write, edit, patch, task, question, error, mix)\n//\n// Demo mode also handles permission and question replies locally, completing\n// or failing the synthetic tool parts as appropriate.\nimport path from \"path\"\nimport type { Event, ToolPart } from \"@opencode-ai/sdk/v2\"\nimport { createSessionData, reduceSessionData, type SessionData } from \"./session-data\"\nimport { writeSessionOutput } from \"./stream\"\nimport type { FooterApi, PermissionReply, QuestionReject, QuestionReply, RunPrompt, StreamCommit } from \"./types\"\n\nconst KINDS = [\n \"markdown\",\n \"table\",\n \"text\",\n \"reasoning\",\n \"bash\",\n \"write\",\n \"edit\",\n \"patch\",\n \"task\",\n \"question\",\n \"error\",\n \"mix\",\n]\nconst PERMISSIONS = [\"edit\", \"bash\", \"read\", \"task\", \"external\", \"doom\"] as const\nconst QUESTIONS = [\"multi\", \"single\", \"checklist\", \"custom\"] as const\n\ntype PermissionKind = (typeof PERMISSIONS)[number]\ntype QuestionKind = (typeof QUESTIONS)[number]\n\nfunction permissionKind(value: string | undefined): PermissionKind | undefined {\n const next = (value || \"edit\").toLowerCase()\n return PERMISSIONS.find((item) => item === next)\n}\n\nfunction questionKind(value: string | undefined): QuestionKind | undefined {\n const next = (value || \"multi\").toLowerCase()\n return QUESTIONS.find((item) => item === next)\n}\n\nconst SAMPLE_MARKDOWN = [\n \"# Direct Mode Demo\",\n \"\",\n \"This is a realistic assistant response for direct-mode formatting checks.\",\n \"It mixes **bold**, _italic_, `inline code`, links, code fences, and tables in one streamed reply.\",\n \"\",\n \"## Summary\",\n \"\",\n \"- Restored the final markdown flush so the last block is committed on idle.\",\n \"- Switched markdown scrollback commits back to top-level block boundaries.\",\n \"- Added footer-level regression coverage for split-footer rendering.\",\n \"\",\n \"## Status\",\n \"\",\n \"| Area | Before | After | Notes |\",\n \"| --- | --- | --- | --- |\",\n \"| Direct mode | Missing final rows | Stable | Final markdown block now flushes on idle |\",\n \"| Tables | Dropped in streaming mode | Visible | Block-based commits match the working OpenTUI demo |\",\n \"| Tests | Partial coverage | Broader coverage | Includes a footer-level split render capture |\",\n \"\",\n \"> This sample intentionally includes a wide table so you can spot wrapping and commit bugs quickly.\",\n \"\",\n \"```ts\",\n \"const result = { markdown: true, tables: 2, stable: true }\",\n \"```\",\n \"\",\n \"## Files\",\n \"\",\n \"| File | Change |\",\n \"| --- | --- |\",\n \"| `scrollback.surface.ts` | Align markdown commit logic with the split-footer demo |\",\n \"| `footer.ts` | Keep active surfaces across footer-height-only resizes |\",\n \"| `footer.test.ts` | Capture real split-footer markdown payloads during idle completion |\",\n \"\",\n \"Next step: run `/fmt table` if you want a tighter table-only sample.\",\n].join(\"\\n\")\n\nconst SAMPLE_TABLE = [\n \"# Table Sample\",\n \"\",\n \"| Kind | Example | Notes |\",\n \"| --- | --- | --- |\",\n \"| Pipe | `A\\\\|B` | Escaped pipes should stay in one cell |\",\n \"| Unicode | `漢字` | Wide characters should remain aligned |\",\n \"| Wrap | `LongTokenWithoutNaturalBreaks_1234567890` | Useful for width stress |\",\n \"| Status | done | Final row should still appear after idle |\",\n].join(\"\\n\")\n\ntype Ref = {\n msg: string\n part: string\n call: string\n tool: string\n input: Record<string, unknown>\n start: number\n}\n\ntype Ask = {\n ref: Ref\n}\n\ntype Perm = {\n ref: Ref\n done: {\n title: string\n output: string\n metadata?: Record<string, unknown>\n }\n}\n\ntype Permit = {\n ref: Ref\n permission: string\n patterns: string[]\n metadata?: Record<string, unknown>\n always: string[]\n done: Perm[\"done\"]\n}\n\ntype State = {\n id: string\n thinking: boolean\n data: SessionData\n footer: FooterApi\n limits: () => Record<string, number>\n msg: number\n part: number\n call: number\n perm: number\n ask: number\n perms: Map<string, Perm>\n asks: Map<string, Ask>\n}\n\ntype Input = {\n sessionID: string\n thinking: boolean\n limits: () => Record<string, number>\n footer: FooterApi\n}\n\nfunction note(footer: FooterApi, text: string): void {\n footer.append({\n kind: \"system\",\n text,\n phase: \"start\",\n source: \"system\",\n })\n}\n\nfunction clearSubagent(footer: FooterApi): void {\n footer.event({\n type: \"stream.subagent\",\n state: {\n tabs: [],\n details: {},\n permissions: [],\n questions: [],\n },\n })\n}\n\nfunction showSubagent(\n state: State,\n input: {\n sessionID: string\n partID: string\n callID: string\n label: string\n description: string\n status: \"running\" | \"completed\" | \"cancelled\" | \"error\"\n title?: string\n toolCalls?: number\n commits: StreamCommit[]\n },\n) {\n state.footer.event({\n type: \"stream.subagent\",\n state: {\n tabs: [\n {\n sessionID: input.sessionID,\n partID: input.partID,\n callID: input.callID,\n label: input.label,\n description: input.description,\n status: input.status,\n title: input.title,\n toolCalls: input.toolCalls,\n lastUpdatedAt: Date.now(),\n },\n ],\n details: {\n [input.sessionID]: {\n sessionID: input.sessionID,\n commits: input.commits,\n },\n },\n permissions: [],\n questions: [],\n },\n })\n}\n\nfunction wait(ms: number, signal?: AbortSignal): Promise<void> {\n return new Promise((resolve) => {\n if (!signal) {\n setTimeout(resolve, ms)\n return\n }\n\n if (signal.aborted) {\n resolve()\n return\n }\n\n const done = () => {\n clearTimeout(timer)\n signal.removeEventListener(\"abort\", done)\n resolve()\n }\n\n const timer = setTimeout(() => {\n signal.removeEventListener(\"abort\", done)\n resolve()\n }, ms)\n\n signal.addEventListener(\"abort\", done, { once: true })\n })\n}\n\nfunction split(text: string): string[] {\n if (text.length <= 48) {\n return [text]\n }\n\n const size = Math.ceil(text.length / 3)\n return [text.slice(0, size), text.slice(size, size * 2), text.slice(size * 2)]\n}\n\nfunction take(state: State, key: \"msg\" | \"part\" | \"call\" | \"perm\" | \"ask\", prefix: string): string {\n state[key] += 1\n return `demo_${prefix}_${state[key]}`\n}\n\nfunction feed(state: State, event: Event): void {\n const out = reduceSessionData({\n data: state.data,\n event,\n sessionID: state.id,\n thinking: state.thinking,\n limits: state.limits(),\n })\n state.data = out.data\n writeSessionOutput(\n {\n footer: state.footer,\n },\n out,\n )\n}\n\nfunction open(state: State): string {\n const id = take(state, \"msg\", \"msg\")\n feed(state, {\n type: \"message.updated\",\n properties: {\n sessionID: state.id,\n info: {\n id,\n sessionID: state.id,\n role: \"assistant\",\n time: {\n created: Date.now(),\n },\n parentID: `user_${id}`,\n modelID: \"demo\",\n providerID: \"demo\",\n mode: \"demo\",\n agent: \"demo\",\n path: {\n cwd: process.cwd(),\n root: process.cwd(),\n },\n cost: 0.001,\n tokens: {\n input: 120,\n output: 320,\n reasoning: 80,\n cache: {\n read: 0,\n write: 0,\n },\n },\n },\n },\n } as Event)\n return id\n}\n\nasync function emitText(state: State, body: string, signal?: AbortSignal): Promise<void> {\n const msg = open(state)\n const part = take(state, \"part\", \"part\")\n const start = Date.now()\n\n feed(state, {\n type: \"message.part.updated\",\n properties: {\n sessionID: state.id,\n time: Date.now(),\n part: {\n id: part,\n sessionID: state.id,\n messageID: msg,\n type: \"text\",\n text: \"\",\n time: {\n start,\n },\n },\n },\n } as Event)\n\n let next = \"\"\n for (const item of split(body)) {\n if (signal?.aborted) {\n return\n }\n\n next += item\n feed(state, {\n type: \"message.part.delta\",\n properties: {\n sessionID: state.id,\n messageID: msg,\n partID: part,\n field: \"text\",\n delta: item,\n },\n } as Event)\n await wait(45, signal)\n }\n\n feed(state, {\n type: \"message.part.updated\",\n properties: {\n sessionID: state.id,\n time: Date.now(),\n part: {\n id: part,\n sessionID: state.id,\n messageID: msg,\n type: \"text\",\n text: next,\n time: {\n start,\n end: Date.now(),\n },\n },\n },\n } as Event)\n}\n\nasync function emitReasoning(state: State, body: string, signal?: AbortSignal): Promise<void> {\n const msg = open(state)\n const part = take(state, \"part\", \"part\")\n const start = Date.now()\n\n feed(state, {\n type: \"message.part.updated\",\n properties: {\n sessionID: state.id,\n time: Date.now(),\n part: {\n id: part,\n sessionID: state.id,\n messageID: msg,\n type: \"reasoning\",\n text: \"\",\n time: {\n start,\n },\n },\n },\n } as Event)\n\n let next = \"\"\n for (const item of split(body)) {\n if (signal?.aborted) {\n return\n }\n\n next += item\n feed(state, {\n type: \"message.part.delta\",\n properties: {\n sessionID: state.id,\n messageID: msg,\n partID: part,\n field: \"text\",\n delta: item,\n },\n } as Event)\n await wait(45, signal)\n }\n\n feed(state, {\n type: \"message.part.updated\",\n properties: {\n sessionID: state.id,\n time: Date.now(),\n part: {\n id: part,\n sessionID: state.id,\n messageID: msg,\n type: \"reasoning\",\n text: next,\n time: {\n start,\n end: Date.now(),\n },\n },\n },\n } as Event)\n}\n\nfunction make(state: State, tool: string, input: Record<string, unknown>): Ref {\n return {\n msg: open(state),\n part: take(state, \"part\", \"part\"),\n call: take(state, \"call\", \"call\"),\n tool,\n input,\n start: Date.now(),\n }\n}\n\nfunction startTool(state: State, ref: Ref, metadata: Record<string, unknown> = {}): void {\n feed(state, {\n type: \"message.part.updated\",\n properties: {\n sessionID: state.id,\n time: Date.now(),\n part: {\n id: ref.part,\n sessionID: state.id,\n messageID: ref.msg,\n type: \"tool\",\n callID: ref.call,\n tool: ref.tool,\n state: {\n status: \"running\",\n input: ref.input,\n metadata,\n time: {\n start: ref.start,\n },\n },\n },\n },\n } as Event)\n}\n\nfunction askPermission(state: State, item: Permit): void {\n startTool(state, item.ref)\n\n const id = take(state, \"perm\", \"perm\")\n state.perms.set(id, {\n ref: item.ref,\n done: item.done,\n })\n\n feed(state, {\n type: \"permission.asked\",\n properties: {\n id,\n sessionID: state.id,\n permission: item.permission,\n patterns: item.patterns,\n metadata: item.metadata ?? {},\n always: item.always,\n tool: {\n messageID: item.ref.msg,\n callID: item.ref.call,\n },\n },\n } as Event)\n}\n\nfunction doneTool(\n state: State,\n ref: Ref,\n output: {\n title: string\n output: string\n metadata?: Record<string, unknown>\n },\n): void {\n feed(state, {\n type: \"message.part.updated\",\n properties: {\n sessionID: state.id,\n time: Date.now(),\n part: {\n id: ref.part,\n sessionID: state.id,\n messageID: ref.msg,\n type: \"tool\",\n callID: ref.call,\n tool: ref.tool,\n state: {\n status: \"completed\",\n input: ref.input,\n output: output.output,\n title: output.title,\n metadata: output.metadata ?? {},\n time: {\n start: ref.start,\n end: Date.now(),\n },\n },\n },\n },\n } as Event)\n}\n\nfunction failTool(state: State, ref: Ref, error: string): void {\n feed(state, {\n type: \"message.part.updated\",\n properties: {\n sessionID: state.id,\n time: Date.now(),\n part: {\n id: ref.part,\n sessionID: state.id,\n messageID: ref.msg,\n type: \"tool\",\n callID: ref.call,\n tool: ref.tool,\n state: {\n status: \"error\",\n input: ref.input,\n error,\n metadata: {},\n time: {\n start: ref.start,\n end: Date.now(),\n },\n },\n },\n },\n } as Event)\n}\n\nfunction emitError(state: State, text: string): void {\n const event = {\n id: `session.error:${state.id}:${Date.now()}`,\n type: \"session.error\",\n properties: {\n sessionID: state.id,\n error: {\n name: \"UnknownError\",\n data: {\n message: text,\n },\n },\n },\n } satisfies Event\n feed(state, event)\n}\n\nasync function emitBash(state: State, signal?: AbortSignal): Promise<void> {\n const ref = make(state, \"bash\", {\n command: \"git status\",\n workdir: process.cwd(),\n description: \"Show git status\",\n })\n startTool(state, ref)\n await wait(70, signal)\n doneTool(state, ref, {\n title: \"git status\",\n output: `${process.cwd()}\\ngit status\\nOn branch demo\\nnothing to commit, working tree clean\\n`,\n metadata: {\n exitCode: 0,\n },\n })\n}\n\nfunction emitWrite(state: State): void {\n const file = path.join(process.cwd(), \"src\", \"demo-format.ts\")\n const ref = make(state, \"write\", {\n filePath: file,\n content: \"export const demo = 42\\n\",\n })\n doneTool(state, ref, {\n title: \"write\",\n output: \"\",\n metadata: {},\n })\n}\n\nfunction emitEdit(state: State): void {\n const file = path.join(process.cwd(), \"src\", \"demo-format.ts\")\n const ref = make(state, \"edit\", {\n filePath: file,\n })\n doneTool(state, ref, {\n title: \"edit\",\n output: \"\",\n metadata: {\n diff: \"@@ -1 +1 @@\\n-export const demo = 1\\n+export const demo = 42\\n\",\n },\n })\n}\n\nfunction emitPatch(state: State): void {\n const file = path.join(process.cwd(), \"src\", \"demo-format.ts\")\n const ref = make(state, \"patch\", {\n patchText: \"*** Begin Patch\\n*** End Patch\",\n })\n doneTool(state, ref, {\n title: \"patch\",\n output: \"\",\n metadata: {\n files: [\n {\n type: \"update\",\n filePath: file,\n relativePath: \"src/demo-format.ts\",\n diff: \"@@ -1 +1 @@\\n-export const demo = 1\\n+export const demo = 42\\n\",\n deletions: 1,\n },\n {\n type: \"add\",\n filePath: path.join(process.cwd(), \"README-demo.md\"),\n relativePath: \"README-demo.md\",\n diff: \"@@ -0,0 +1,4 @@\\n+# Demo\\n+This is a generated preview file.\\n\",\n deletions: 0,\n },\n ],\n },\n })\n}\n\nfunction emitTask(state: State): void {\n const ref = make(state, \"task\", {\n description: \"Scan run/* for reducer touchpoints\",\n subagent_type: \"explore\",\n })\n doneTool(state, ref, {\n title: \"Reducer touchpoints found\",\n output: \"\",\n metadata: {\n toolcalls: 4,\n sessionId: \"sub_demo_1\",\n },\n })\n const part = {\n id: \"sub_demo_tool_1\",\n type: \"tool\",\n sessionID: \"sub_demo_1\",\n messageID: \"sub_demo_msg_tool\",\n callID: \"sub_demo_call_1\",\n tool: \"read\",\n state: {\n status: \"running\",\n input: {\n filePath: \"packages/cli/src/mini/stream.ts\",\n offset: 1,\n limit: 200,\n },\n time: {\n start: Date.now(),\n },\n },\n } satisfies ToolPart\n showSubagent(state, {\n sessionID: \"sub_demo_1\",\n partID: ref.part,\n callID: ref.call,\n label: \"Explore\",\n description: \"Scan run/* for reducer touchpoints\",\n status: \"completed\",\n title: \"Reducer touchpoints found\",\n toolCalls: 4,\n commits: [\n {\n kind: \"user\",\n text: \"Scan run/* for reducer touchpoints\",\n phase: \"start\",\n source: \"system\",\n },\n {\n kind: \"reasoning\",\n text: \"Thinking: tracing reducer and footer boundaries\",\n phase: \"progress\",\n source: \"reasoning\",\n messageID: \"sub_demo_msg_reasoning\",\n partID: \"sub_demo_reasoning_1\",\n },\n {\n kind: \"tool\",\n text: \"running read\",\n phase: \"start\",\n source: \"tool\",\n messageID: \"sub_demo_msg_tool\",\n partID: \"sub_demo_tool_1\",\n tool: \"read\",\n part,\n },\n {\n kind: \"assistant\",\n text: \"Footer updates flow through stream.ts into RunFooter\",\n phase: \"progress\",\n source: \"assistant\",\n messageID: \"sub_demo_msg_text\",\n partID: \"sub_demo_text_1\",\n },\n ],\n })\n}\n\nfunction emitQuestionTool(state: State): void {\n const ref = make(state, \"question\", {\n questions: [\n {\n header: \"Style\",\n question: \"Which output style do you want to inspect?\",\n options: [\n { label: \"Diff\", description: \"Show diff block\" },\n { label: \"Code\", description: \"Show code block\" },\n ],\n multiple: false,\n },\n {\n header: \"Extras\",\n question: \"Pick extra rows\",\n options: [\n { label: \"Usage\", description: \"Add usage row\" },\n { label: \"Duration\", description: \"Add duration row\" },\n ],\n multiple: true,\n custom: true,\n },\n ],\n })\n doneTool(state, ref, {\n title: \"question\",\n output: \"\",\n metadata: {\n answers: [[\"Diff\"], [\"Usage\", \"custom-note\"]],\n },\n })\n}\n\nfunction emitPermission(state: State, kind: PermissionKind = \"edit\"): void {\n const root = process.cwd()\n const file = path.join(root, \"src\", \"demo-format.ts\")\n\n if (kind === \"bash\") {\n const command = \"git status --short\"\n const ref = make(state, \"bash\", {\n command,\n workdir: root,\n description: \"Inspect worktree changes\",\n })\n askPermission(state, {\n ref,\n permission: \"bash\",\n patterns: [command],\n always: [\"*\"],\n done: {\n title: \"git status --short\",\n output: `${root}\\ngit status --short\\n M src/demo-format.ts\\n?? src/demo-permission.ts\\n`,\n metadata: {\n exitCode: 0,\n },\n },\n })\n return\n }\n\n if (kind === \"read\") {\n const target = path.join(root, \"package.json\")\n const ref = make(state, \"read\", {\n filePath: target,\n offset: 1,\n limit: 80,\n })\n askPermission(state, {\n ref,\n permission: \"read\",\n patterns: [target],\n always: [target],\n done: {\n title: \"read\",\n output: [\"1: {\", '2: \"name\": \"opencode\",', '3: \"private\": true', \"4: }\"].join(\"\\n\"),\n metadata: {},\n },\n })\n return\n }\n\n if (kind === \"task\") {\n const ref = make(state, \"task\", {\n description: \"Inspect footer spacing across direct-mode prompts\",\n subagent_type: \"explore\",\n })\n askPermission(state, {\n ref,\n permission: \"task\",\n patterns: [\"explore\"],\n always: [\"*\"],\n done: {\n title: \"Footer spacing checked\",\n output: \"\",\n metadata: {\n toolcalls: 3,\n sessionId: \"sub_demo_perm_1\",\n },\n },\n })\n return\n }\n\n if (kind === \"external\") {\n const dir = path.join(path.dirname(root), \"demo-shared\")\n const target = path.join(dir, \"README.md\")\n const ref = make(state, \"read\", {\n filePath: target,\n offset: 1,\n limit: 40,\n })\n askPermission(state, {\n ref,\n permission: \"external_directory\",\n patterns: [`${dir}/**`],\n metadata: {\n parentDir: dir,\n filepath: target,\n },\n always: [`${dir}/**`],\n done: {\n title: \"read\",\n output: `1: # External demo\\n2: Shared preview file\\nPath: ${target}`,\n metadata: {},\n },\n })\n return\n }\n\n if (kind === \"doom\") {\n const ref = make(state, \"task\", {\n description: \"Retry the formatter after repeated failures\",\n subagent_type: \"general\",\n })\n askPermission(state, {\n ref,\n permission: \"doom_loop\",\n patterns: [\"*\"],\n always: [\"*\"],\n done: {\n title: \"Retry allowed\",\n output: \"Continuing after repeated failures.\\n\",\n metadata: {},\n },\n })\n return\n }\n\n const diff = \"@@ -1 +1 @@\\n-export const demo = 1\\n+export const demo = 42\\n\"\n const ref = make(state, \"edit\", {\n filePath: file,\n filepath: file,\n diff,\n })\n askPermission(state, {\n ref,\n permission: \"edit\",\n patterns: [file],\n always: [file],\n done: {\n title: \"edit\",\n output: \"\",\n metadata: {\n diff,\n },\n },\n })\n}\n\nfunction emitQuestion(state: State, kind: QuestionKind = \"multi\"): void {\n const questions = (() => {\n if (kind === \"single\") {\n return [\n {\n header: \"Mode\",\n question: \"Which footer should be the reference for spacing checks?\",\n options: [\n { label: \"Permission\", description: \"Inspect the permission footer\" },\n { label: \"Question\", description: \"Keep this question footer open\" },\n { label: \"Prompt\", description: \"Return to the normal composer\" },\n ],\n multiple: false,\n custom: false,\n },\n ]\n }\n\n if (kind === \"checklist\") {\n return [\n {\n header: \"Checks\",\n question: \"Select the direct-mode cases you want to inspect next\",\n options: [\n { label: \"Diff\", description: \"Show an edit diff in the footer\" },\n { label: \"Task\", description: \"Show a structured task summary\" },\n { label: \"Error\", description: \"Show an error transcript row\" },\n ],\n multiple: true,\n custom: false,\n },\n ]\n }\n\n if (kind === \"custom\") {\n return [\n {\n header: \"Reply\",\n question: \"What custom answer should appear in the footer preview?\",\n options: [\n { label: \"Short note\", description: \"Keep the answer to one line\" },\n { label: \"Wrapped note\", description: \"Use a longer answer to test wrapping\" },\n ],\n multiple: false,\n custom: true,\n },\n ]\n }\n\n return [\n {\n header: \"Layout\",\n question: \"Which footer view should stay active while testing?\",\n options: [\n { label: \"Prompt\", description: \"Return to prompt\" },\n { label: \"Question\", description: \"Keep question open\" },\n ],\n multiple: false,\n },\n {\n header: \"Rows\",\n question: \"Pick formatting previews\",\n options: [\n { label: \"Diff\", description: \"Emit edit diff\" },\n { label: \"Task\", description: \"Emit task card\" },\n ],\n multiple: true,\n custom: true,\n },\n ]\n })()\n\n const ref = make(state, \"question\", { questions })\n startTool(state, ref)\n\n const id = take(state, \"ask\", \"ask\")\n state.asks.set(id, { ref })\n\n feed(state, {\n type: \"question.asked\",\n properties: {\n id,\n sessionID: state.id,\n questions,\n tool: {\n messageID: ref.msg,\n callID: ref.call,\n },\n },\n } as Event)\n}\n\nasync function emitFmt(state: State, kind: string, body: string, signal?: AbortSignal): Promise<boolean> {\n if (kind === \"text\") {\n await emitText(state, body || SAMPLE_MARKDOWN, signal)\n return true\n }\n\n if (kind === \"markdown\" || kind === \"md\") {\n await emitText(state, body || SAMPLE_MARKDOWN, signal)\n return true\n }\n\n if (kind === \"table\") {\n await emitText(state, body || SAMPLE_TABLE, signal)\n return true\n }\n\n if (kind === \"reasoning\") {\n await emitReasoning(state, body || \"Planning next steps [REDACTED] while preserving reducer ordering.\", signal)\n return true\n }\n\n if (kind === \"bash\") {\n await emitBash(state, signal)\n return true\n }\n\n if (kind === \"write\") {\n emitWrite(state)\n return true\n }\n\n if (kind === \"edit\") {\n emitEdit(state)\n return true\n }\n\n if (kind === \"patch\") {\n emitPatch(state)\n return true\n }\n\n if (kind === \"task\") {\n emitTask(state)\n return true\n }\n\n if (kind === \"question\") {\n emitQuestionTool(state)\n return true\n }\n\n if (kind === \"error\") {\n emitError(state, body || \"demo error event\")\n return true\n }\n\n if (kind === \"mix\") {\n await emitText(state, SAMPLE_MARKDOWN, signal)\n await wait(50, signal)\n await emitReasoning(state, \"Thinking through formatter edge cases [REDACTED].\", signal)\n await wait(50, signal)\n await emitBash(state, signal)\n emitWrite(state)\n emitEdit(state)\n emitPatch(state)\n emitTask(state)\n emitQuestionTool(state)\n emitError(state, \"demo mixed scenario error\")\n return true\n }\n\n return false\n}\n\nfunction intro(state: State): void {\n note(\n state.footer,\n [\n \"Demo slash commands enabled for interactive mode.\",\n `- /permission [kind] (${PERMISSIONS.join(\", \")})`,\n `- /question [kind] (${QUESTIONS.join(\", \")})`,\n `- /fmt <kind> (${KINDS.join(\", \")})`,\n \"Examples:\",\n \"- /permission bash\",\n \"- /question custom\",\n \"- /fmt markdown\",\n \"- /fmt table\",\n \"- /fmt text your custom text\",\n ].join(\"\\n\"),\n )\n}\n\nexport function createRunDemo(input: Input) {\n const state: State = {\n id: input.sessionID,\n thinking: input.thinking,\n data: createSessionData(),\n footer: input.footer,\n limits: input.limits,\n msg: 0,\n part: 0,\n call: 0,\n perm: 0,\n ask: 0,\n perms: new Map(),\n asks: new Map(),\n }\n\n const start = async (): Promise<void> => {\n intro(state)\n }\n\n const prompt = async (line: RunPrompt, signal?: AbortSignal): Promise<boolean> => {\n const text = line.text.trim()\n const list = text.split(/\\s+/)\n const cmd = list[0] || \"\"\n\n clearSubagent(state.footer)\n\n if (cmd === \"/help\") {\n intro(state)\n return true\n }\n\n if (cmd === \"/permission\") {\n const kind = permissionKind(list[1])\n if (!kind) {\n note(state.footer, `Pick a permission kind: ${PERMISSIONS.join(\", \")}`)\n return true\n }\n\n emitPermission(state, kind)\n return true\n }\n\n if (cmd === \"/question\") {\n const kind = questionKind(list[1])\n if (!kind) {\n note(state.footer, `Pick a question kind: ${QUESTIONS.join(\", \")}`)\n return true\n }\n\n emitQuestion(state, kind)\n return true\n }\n\n if (cmd === \"/fmt\") {\n const kind = (list[1] || \"\").toLowerCase()\n const body = list.slice(2).join(\" \")\n if (!kind) {\n note(state.footer, `Pick a kind: ${KINDS.join(\", \")}`)\n return true\n }\n\n const ok = await emitFmt(state, kind, body, signal)\n if (ok) {\n return true\n }\n\n note(state.footer, `Unknown kind \"${kind}\". Use: ${KINDS.join(\", \")}`)\n return true\n }\n\n return false\n }\n\n const permission = (input: PermissionReply): boolean => {\n const item = state.perms.get(input.requestID)\n if (!item || !input.reply) {\n return false\n }\n\n state.perms.delete(input.requestID)\n const event = {\n id: `permission.replied:${input.requestID}:${Date.now()}`,\n type: \"permission.replied\",\n properties: {\n sessionID: state.id,\n requestID: input.requestID,\n reply: input.reply,\n },\n } satisfies Event\n feed(state, event)\n\n if (input.reply === \"reject\") {\n failTool(state, item.ref, input.message || \"permission rejected\")\n return true\n }\n\n doneTool(state, item.ref, item.done)\n return true\n }\n\n const questionReply = (input: QuestionReply): boolean => {\n const ask = state.asks.get(input.requestID)\n if (!ask || !input.answers) {\n return false\n }\n\n state.asks.delete(input.requestID)\n const event = {\n id: `question.replied:${input.requestID}:${Date.now()}`,\n type: \"question.replied\",\n properties: {\n sessionID: state.id,\n requestID: input.requestID,\n answers: input.answers,\n },\n } satisfies Event\n feed(state, event)\n doneTool(state, ask.ref, {\n title: \"question\",\n output: \"\",\n metadata: {\n answers: input.answers,\n },\n })\n return true\n }\n\n const questionReject = (input: QuestionReject): boolean => {\n const ask = state.asks.get(input.requestID)\n if (!ask) {\n return false\n }\n\n state.asks.delete(input.requestID)\n feed(state, {\n type: \"question.rejected\",\n properties: {\n sessionID: state.id,\n requestID: input.requestID,\n },\n } as Event)\n failTool(state, ask.ref, \"question rejected\")\n return true\n }\n\n return {\n start,\n prompt,\n permission,\n questionReply,\n questionReject,\n }\n}\n" | ||
| ], | ||
| "mappings": ";yMAgBA,yBAMA,SAAM,OAAQ,MACZ,WACA,QACA,OACA,YACA,OACA,QACA,OACA,QACA,OACA,WACA,QACA,KACF,EACM,EAAc,CAAC,OAAQ,OAAQ,OAAQ,OAAQ,WAAY,MAAM,EACjE,EAAY,CAAC,QAAS,SAAU,YAAa,QAAQ,EAK3D,SAAS,CAAc,CAAC,EAAuD,CAC7E,IAAM,GAAQ,GAAS,QAAQ,YAAY,EAC3C,OAAO,EAAY,KAAK,CAAC,IAAS,IAAS,CAAI,EAGjD,SAAS,CAAY,CAAC,EAAqD,CACzE,IAAM,GAAQ,GAAS,SAAS,YAAY,EAC5C,OAAO,EAAU,KAAK,CAAC,IAAS,IAAS,CAAI,EAG/C,IAAM,EAAkB,CACtB,qBACA,GACA,4EACA,oGACA,GACA,aACA,GACA,8EACA,6EACA,uEACA,GACA,YACA,GACA,oCACA,4BACA,2FACA,wGACA,iGACA,GACA,sGACA,GACA,QACA,6DACA,MACA,GACA,WACA,GACA,oBACA,gBACA,uFACA,2EACA,4FACA,GACA,sEACF,EAAE,KAAK;AAAA,CAAI,EAEL,EAAe,CACnB,iBACA,GACA,6BACA,sBACA,6DACA,uEACA,kFACA,8DACF,EAAE,KAAK;AAAA,CAAI,EAuDX,SAAS,CAAI,CAAC,EAAmB,EAAoB,CACnD,EAAO,OAAO,CACZ,KAAM,SACN,OACA,MAAO,QACP,OAAQ,QACV,CAAC,EAGH,SAAS,CAAa,CAAC,EAAyB,CAC9C,EAAO,MAAM,CACX,KAAM,kBACN,MAAO,CACL,KAAM,CAAC,EACP,QAAS,CAAC,EACV,YAAa,CAAC,EACd,UAAW,CAAC,CACd,CACF,CAAC,EAGH,SAAS,CAAY,CACnB,EACA,EAWA,CACA,EAAM,OAAO,MAAM,CACjB,KAAM,kBACN,MAAO,CACL,KAAM,CACJ,CACE,UAAW,EAAM,UACjB,OAAQ,EAAM,OACd,OAAQ,EAAM,OACd,MAAO,EAAM,MACb,YAAa,EAAM,YACnB,OAAQ,EAAM,OACd,MAAO,EAAM,MACb,UAAW,EAAM,UACjB,cAAe,KAAK,IAAI,CAC1B,CACF,EACA,QAAS,EACN,EAAM,WAAY,CACjB,UAAW,EAAM,UACjB,QAAS,EAAM,OACjB,CACF,EACA,YAAa,CAAC,EACd,UAAW,CAAC,CACd,CACF,CAAC,EAGH,SAAS,CAAI,CAAC,EAAY,EAAqC,CAC7D,OAAO,IAAI,QAAQ,CAAC,IAAY,CAC9B,GAAI,CAAC,EAAQ,CACX,WAAW,EAAS,CAAE,EACtB,OAGF,GAAI,EAAO,QAAS,CAClB,EAAQ,EACR,OAGF,IAAM,EAAO,IAAM,CACjB,aAAa,CAAK,EAClB,EAAO,oBAAoB,QAAS,CAAI,EACxC,EAAQ,GAGJ,EAAQ,WAAW,IAAM,CAC7B,EAAO,oBAAoB,QAAS,CAAI,EACxC,EAAQ,GACP,CAAE,EAEL,EAAO,iBAAiB,QAAS,EAAM,CAAE,KAAM,EAAK,CAAC,EACtD,EAGH,SAAS,CAAK,CAAC,EAAwB,CACrC,GAAI,EAAK,QAAU,GACjB,MAAO,CAAC,CAAI,EAGd,IAAM,EAAO,KAAK,KAAK,EAAK,OAAS,CAAC,EACtC,MAAO,CAAC,EAAK,MAAM,EAAG,CAAI,EAAG,EAAK,MAAM,EAAM,EAAO,CAAC,EAAG,EAAK,MAAM,EAAO,CAAC,CAAC,EAG/E,SAAS,CAAI,CAAC,EAAc,EAA+C,EAAwB,CAEjG,OADA,EAAM,IAAQ,EACP,QAAQ,KAAU,EAAM,KAGjC,SAAS,CAAI,CAAC,EAAc,EAAoB,CAC9C,IAAM,EAAM,EAAkB,CAC5B,KAAM,EAAM,KACZ,QACA,UAAW,EAAM,GACjB,SAAU,EAAM,SAChB,OAAQ,EAAM,OAAO,CACvB,CAAC,EACD,EAAM,KAAO,EAAI,KACjB,EACE,CACE,OAAQ,EAAM,MAChB,EACA,CACF,EAGF,SAAS,CAAI,CAAC,EAAsB,CAClC,IAAM,EAAK,EAAK,EAAO,MAAO,KAAK,EAkCnC,OAjCA,EAAK,EAAO,CACV,KAAM,kBACN,WAAY,CACV,UAAW,EAAM,GACjB,KAAM,CACJ,KACA,UAAW,EAAM,GACjB,KAAM,YACN,KAAM,CACJ,QAAS,KAAK,IAAI,CACpB,EACA,SAAU,QAAQ,IAClB,QAAS,OACT,WAAY,OACZ,KAAM,OACN,MAAO,OACP,KAAM,CACJ,IAAK,QAAQ,IAAI,EACjB,KAAM,QAAQ,IAAI,CACpB,EACA,KAAM,MACN,OAAQ,CACN,MAAO,IACP,OAAQ,IACR,UAAW,GACX,MAAO,CACL,KAAM,EACN,MAAO,CACT,CACF,CACF,CACF,CACF,CAAU,EACH,EAGT,eAAe,CAAQ,CAAC,EAAc,EAAc,EAAqC,CACvF,IAAM,EAAM,EAAK,CAAK,EAChB,EAAO,EAAK,EAAO,OAAQ,MAAM,EACjC,EAAQ,KAAK,IAAI,EAEvB,EAAK,EAAO,CACV,KAAM,uBACN,WAAY,CACV,UAAW,EAAM,GACjB,KAAM,KAAK,IAAI,EACf,KAAM,CACJ,GAAI,EACJ,UAAW,EAAM,GACjB,UAAW,EACX,KAAM,OACN,KAAM,GACN,KAAM,CACJ,OACF,CACF,CACF,CACF,CAAU,EAEV,IAAI,EAAO,GACX,QAAW,KAAQ,EAAM,CAAI,EAAG,CAC9B,GAAI,GAAQ,QACV,OAGF,GAAQ,EACR,EAAK,EAAO,CACV,KAAM,qBACN,WAAY,CACV,UAAW,EAAM,GACjB,UAAW,EACX,OAAQ,EACR,MAAO,OACP,MAAO,CACT,CACF,CAAU,EACV,MAAM,EAAK,GAAI,CAAM,EAGvB,EAAK,EAAO,CACV,KAAM,uBACN,WAAY,CACV,UAAW,EAAM,GACjB,KAAM,KAAK,IAAI,EACf,KAAM,CACJ,GAAI,EACJ,UAAW,EAAM,GACjB,UAAW,EACX,KAAM,OACN,KAAM,EACN,KAAM,CACJ,QACA,IAAK,KAAK,IAAI,CAChB,CACF,CACF,CACF,CAAU,EAGZ,eAAe,CAAa,CAAC,EAAc,EAAc,EAAqC,CAC5F,IAAM,EAAM,EAAK,CAAK,EAChB,EAAO,EAAK,EAAO,OAAQ,MAAM,EACjC,EAAQ,KAAK,IAAI,EAEvB,EAAK,EAAO,CACV,KAAM,uBACN,WAAY,CACV,UAAW,EAAM,GACjB,KAAM,KAAK,IAAI,EACf,KAAM,CACJ,GAAI,EACJ,UAAW,EAAM,GACjB,UAAW,EACX,KAAM,YACN,KAAM,GACN,KAAM,CACJ,OACF,CACF,CACF,CACF,CAAU,EAEV,IAAI,EAAO,GACX,QAAW,KAAQ,EAAM,CAAI,EAAG,CAC9B,GAAI,GAAQ,QACV,OAGF,GAAQ,EACR,EAAK,EAAO,CACV,KAAM,qBACN,WAAY,CACV,UAAW,EAAM,GACjB,UAAW,EACX,OAAQ,EACR,MAAO,OACP,MAAO,CACT,CACF,CAAU,EACV,MAAM,EAAK,GAAI,CAAM,EAGvB,EAAK,EAAO,CACV,KAAM,uBACN,WAAY,CACV,UAAW,EAAM,GACjB,KAAM,KAAK,IAAI,EACf,KAAM,CACJ,GAAI,EACJ,UAAW,EAAM,GACjB,UAAW,EACX,KAAM,YACN,KAAM,EACN,KAAM,CACJ,QACA,IAAK,KAAK,IAAI,CAChB,CACF,CACF,CACF,CAAU,EAGZ,SAAS,CAAI,CAAC,EAAc,EAAc,EAAqC,CAC7E,MAAO,CACL,IAAK,EAAK,CAAK,EACf,KAAM,EAAK,EAAO,OAAQ,MAAM,EAChC,KAAM,EAAK,EAAO,OAAQ,MAAM,EAChC,OACA,QACA,MAAO,KAAK,IAAI,CAClB,EAGF,SAAS,CAAS,CAAC,EAAc,EAAU,EAAoC,CAAC,EAAS,CACvF,EAAK,EAAO,CACV,KAAM,uBACN,WAAY,CACV,UAAW,EAAM,GACjB,KAAM,KAAK,IAAI,EACf,KAAM,CACJ,GAAI,EAAI,KACR,UAAW,EAAM,GACjB,UAAW,EAAI,IACf,KAAM,OACN,OAAQ,EAAI,KACZ,KAAM,EAAI,KACV,MAAO,CACL,OAAQ,UACR,MAAO,EAAI,MACX,WACA,KAAM,CACJ,MAAO,EAAI,KACb,CACF,CACF,CACF,CACF,CAAU,EAGZ,SAAS,CAAa,CAAC,EAAc,EAAoB,CACvD,EAAU,EAAO,EAAK,GAAG,EAEzB,IAAM,EAAK,EAAK,EAAO,OAAQ,MAAM,EACrC,EAAM,MAAM,IAAI,EAAI,CAClB,IAAK,EAAK,IACV,KAAM,EAAK,IACb,CAAC,EAED,EAAK,EAAO,CACV,KAAM,mBACN,WAAY,CACV,KACA,UAAW,EAAM,GACjB,WAAY,EAAK,WACjB,SAAU,EAAK,SACf,SAAU,EAAK,UAAY,CAAC,EAC5B,OAAQ,EAAK,OACb,KAAM,CACJ,UAAW,EAAK,IAAI,IACpB,OAAQ,EAAK,IAAI,IACnB,CACF,CACF,CAAU,EAGZ,SAAS,CAAQ,CACf,EACA,EACA,EAKM,CACN,EAAK,EAAO,CACV,KAAM,uBACN,WAAY,CACV,UAAW,EAAM,GACjB,KAAM,KAAK,IAAI,EACf,KAAM,CACJ,GAAI,EAAI,KACR,UAAW,EAAM,GACjB,UAAW,EAAI,IACf,KAAM,OACN,OAAQ,EAAI,KACZ,KAAM,EAAI,KACV,MAAO,CACL,OAAQ,YACR,MAAO,EAAI,MACX,OAAQ,EAAO,OACf,MAAO,EAAO,MACd,SAAU,EAAO,UAAY,CAAC,EAC9B,KAAM,CACJ,MAAO,EAAI,MACX,IAAK,KAAK,IAAI,CAChB,CACF,CACF,CACF,CACF,CAAU,EAGZ,SAAS,CAAQ,CAAC,EAAc,EAAU,EAAqB,CAC7D,EAAK,EAAO,CACV,KAAM,uBACN,WAAY,CACV,UAAW,EAAM,GACjB,KAAM,KAAK,IAAI,EACf,KAAM,CACJ,GAAI,EAAI,KACR,UAAW,EAAM,GACjB,UAAW,EAAI,IACf,KAAM,OACN,OAAQ,EAAI,KACZ,KAAM,EAAI,KACV,MAAO,CACL,OAAQ,QACR,MAAO,EAAI,MACX,QACA,SAAU,CAAC,EACX,KAAM,CACJ,MAAO,EAAI,MACX,IAAK,KAAK,IAAI,CAChB,CACF,CACF,CACF,CACF,CAAU,EAGZ,SAAS,CAAS,CAAC,EAAc,EAAoB,CACnD,IAAM,EAAQ,CACZ,GAAI,iBAAiB,EAAM,MAAM,KAAK,IAAI,IAC1C,KAAM,gBACN,WAAY,CACV,UAAW,EAAM,GACjB,MAAO,CACL,KAAM,eACN,KAAM,CACJ,QAAS,CACX,CACF,CACF,CACF,EACA,EAAK,EAAO,CAAK,EAGnB,eAAe,CAAQ,CAAC,EAAc,EAAqC,CACzE,IAAM,EAAM,EAAK,EAAO,OAAQ,CAC9B,QAAS,aACT,QAAS,QAAQ,IAAI,EACrB,YAAa,iBACf,CAAC,EACD,EAAU,EAAO,CAAG,EACpB,MAAM,EAAK,GAAI,CAAM,EACrB,EAAS,EAAO,EAAK,CACnB,MAAO,aACP,OAAQ,GAAG,QAAQ,IAAI;AAAA;AAAA;AAAA;AAAA,EACvB,SAAU,CACR,SAAU,CACZ,CACF,CAAC,EAGH,SAAS,CAAS,CAAC,EAAoB,CACrC,IAAM,EAAO,EAAK,KAAK,QAAQ,IAAI,EAAG,MAAO,gBAAgB,EACvD,EAAM,EAAK,EAAO,QAAS,CAC/B,SAAU,EACV,QAAS;AAAA,CACX,CAAC,EACD,EAAS,EAAO,EAAK,CACnB,MAAO,QACP,OAAQ,GACR,SAAU,CAAC,CACb,CAAC,EAGH,SAAS,CAAQ,CAAC,EAAoB,CACpC,IAAM,EAAO,EAAK,KAAK,QAAQ,IAAI,EAAG,MAAO,gBAAgB,EACvD,EAAM,EAAK,EAAO,OAAQ,CAC9B,SAAU,CACZ,CAAC,EACD,EAAS,EAAO,EAAK,CACnB,MAAO,OACP,OAAQ,GACR,SAAU,CACR,KAAM;AAAA;AAAA;AAAA,CACR,CACF,CAAC,EAGH,SAAS,CAAS,CAAC,EAAoB,CACrC,IAAM,EAAO,EAAK,KAAK,QAAQ,IAAI,EAAG,MAAO,gBAAgB,EACvD,EAAM,EAAK,EAAO,QAAS,CAC/B,UAAW;AAAA,cACb,CAAC,EACD,EAAS,EAAO,EAAK,CACnB,MAAO,QACP,OAAQ,GACR,SAAU,CACR,MAAO,CACL,CACE,KAAM,SACN,SAAU,EACV,aAAc,qBACd,KAAM;AAAA;AAAA;AAAA,EACN,UAAW,CACb,EACA,CACE,KAAM,MACN,SAAU,EAAK,KAAK,QAAQ,IAAI,EAAG,gBAAgB,EACnD,aAAc,iBACd,KAAM;AAAA;AAAA;AAAA,EACN,UAAW,CACb,CACF,CACF,CACF,CAAC,EAGH,SAAS,CAAQ,CAAC,EAAoB,CACpC,IAAM,EAAM,EAAK,EAAO,OAAQ,CAC9B,YAAa,qCACb,cAAe,SACjB,CAAC,EACD,EAAS,EAAO,EAAK,CACnB,MAAO,4BACP,OAAQ,GACR,SAAU,CACR,UAAW,EACX,UAAW,YACb,CACF,CAAC,EACD,IAAM,EAAO,CACX,GAAI,kBACJ,KAAM,OACN,UAAW,aACX,UAAW,oBACX,OAAQ,kBACR,KAAM,OACN,MAAO,CACL,OAAQ,UACR,MAAO,CACL,SAAU,kCACV,OAAQ,EACR,MAAO,GACT,EACA,KAAM,CACJ,MAAO,KAAK,IAAI,CAClB,CACF,CACF,EACA,EAAa,EAAO,CAClB,UAAW,aACX,OAAQ,EAAI,KACZ,OAAQ,EAAI,KACZ,MAAO,UACP,YAAa,qCACb,OAAQ,YACR,MAAO,4BACP,UAAW,EACX,QAAS,CACP,CACE,KAAM,OACN,KAAM,qCACN,MAAO,QACP,OAAQ,QACV,EACA,CACE,KAAM,YACN,KAAM,kDACN,MAAO,WACP,OAAQ,YACR,UAAW,yBACX,OAAQ,sBACV,EACA,CACE,KAAM,OACN,KAAM,eACN,MAAO,QACP,OAAQ,OACR,UAAW,oBACX,OAAQ,kBACR,KAAM,OACN,MACF,EACA,CACE,KAAM,YACN,KAAM,uDACN,MAAO,WACP,OAAQ,YACR,UAAW,oBACX,OAAQ,iBACV,CACF,CACF,CAAC,EAGH,SAAS,CAAgB,CAAC,EAAoB,CAC5C,IAAM,EAAM,EAAK,EAAO,WAAY,CAClC,UAAW,CACT,CACE,OAAQ,QACR,SAAU,6CACV,QAAS,CACP,CAAE,MAAO,OAAQ,YAAa,iBAAkB,EAChD,CAAE,MAAO,OAAQ,YAAa,iBAAkB,CAClD,EACA,SAAU,EACZ,EACA,CACE,OAAQ,SACR,SAAU,kBACV,QAAS,CACP,CAAE,MAAO,QAAS,YAAa,eAAgB,EAC/C,CAAE,MAAO,WAAY,YAAa,kBAAmB,CACvD,EACA,SAAU,GACV,OAAQ,EACV,CACF,CACF,CAAC,EACD,EAAS,EAAO,EAAK,CACnB,MAAO,WACP,OAAQ,GACR,SAAU,CACR,QAAS,CAAC,CAAC,MAAM,EAAG,CAAC,QAAS,aAAa,CAAC,CAC9C,CACF,CAAC,EAGH,SAAS,CAAc,CAAC,EAAc,EAAuB,OAAc,CACzE,IAAM,EAAO,QAAQ,IAAI,EACnB,EAAO,EAAK,KAAK,EAAM,MAAO,gBAAgB,EAEpD,GAAI,IAAS,OAAQ,CAEnB,IAAM,EAAM,EAAK,EAAO,OAAQ,CAC9B,QAFc,qBAGd,QAAS,EACT,YAAa,0BACf,CAAC,EACD,EAAc,EAAO,CACnB,MACA,WAAY,OACZ,SAAU,CATI,oBASI,EAClB,OAAQ,CAAC,GAAG,EACZ,KAAM,CACJ,MAAO,qBACP,OAAQ,GAAG;AAAA;AAAA;AAAA;AAAA,EACX,SAAU,CACR,SAAU,CACZ,CACF,CACF,CAAC,EACD,OAGF,GAAI,IAAS,OAAQ,CACnB,IAAM,EAAS,EAAK,KAAK,EAAM,cAAc,EACvC,EAAM,EAAK,EAAO,OAAQ,CAC9B,SAAU,EACV,OAAQ,EACR,MAAO,EACT,CAAC,EACD,EAAc,EAAO,CACnB,MACA,WAAY,OACZ,SAAU,CAAC,CAAM,EACjB,OAAQ,CAAC,CAAM,EACf,KAAM,CACJ,MAAO,OACP,OAAQ,CAAC,OAAQ,2BAA4B,uBAAwB,MAAM,EAAE,KAAK;AAAA,CAAI,EACtF,SAAU,CAAC,CACb,CACF,CAAC,EACD,OAGF,GAAI,IAAS,OAAQ,CACnB,IAAM,EAAM,EAAK,EAAO,OAAQ,CAC9B,YAAa,oDACb,cAAe,SACjB,CAAC,EACD,EAAc,EAAO,CACnB,MACA,WAAY,OACZ,SAAU,CAAC,SAAS,EACpB,OAAQ,CAAC,GAAG,EACZ,KAAM,CACJ,MAAO,yBACP,OAAQ,GACR,SAAU,CACR,UAAW,EACX,UAAW,iBACb,CACF,CACF,CAAC,EACD,OAGF,GAAI,IAAS,WAAY,CACvB,IAAM,EAAM,EAAK,KAAK,EAAK,QAAQ,CAAI,EAAG,aAAa,EACjD,EAAS,EAAK,KAAK,EAAK,WAAW,EACnC,EAAM,EAAK,EAAO,OAAQ,CAC9B,SAAU,EACV,OAAQ,EACR,MAAO,EACT,CAAC,EACD,EAAc,EAAO,CACnB,MACA,WAAY,qBACZ,SAAU,CAAC,GAAG,MAAQ,EACtB,SAAU,CACR,UAAW,EACX,SAAU,CACZ,EACA,OAAQ,CAAC,GAAG,MAAQ,EACpB,KAAM,CACJ,MAAO,OACP,OAAQ;AAAA;AAAA,QAAqD,IAC7D,SAAU,CAAC,CACb,CACF,CAAC,EACD,OAGF,GAAI,IAAS,OAAQ,CACnB,IAAM,EAAM,EAAK,EAAO,OAAQ,CAC9B,YAAa,8CACb,cAAe,SACjB,CAAC,EACD,EAAc,EAAO,CACnB,MACA,WAAY,YACZ,SAAU,CAAC,GAAG,EACd,OAAQ,CAAC,GAAG,EACZ,KAAM,CACJ,MAAO,gBACP,OAAQ;AAAA,EACR,SAAU,CAAC,CACb,CACF,CAAC,EACD,OAGF,IAAM,EAAO;AAAA;AAAA;AAAA,EACP,EAAM,EAAK,EAAO,OAAQ,CAC9B,SAAU,EACV,SAAU,EACV,MACF,CAAC,EACD,EAAc,EAAO,CACnB,MACA,WAAY,OACZ,SAAU,CAAC,CAAI,EACf,OAAQ,CAAC,CAAI,EACb,KAAM,CACJ,MAAO,OACP,OAAQ,GACR,SAAU,CACR,MACF,CACF,CACF,CAAC,EAGH,SAAS,CAAY,CAAC,EAAc,EAAqB,QAAe,CACtE,IAAM,GAAa,IAAM,CACvB,GAAI,IAAS,SACX,MAAO,CACL,CACE,OAAQ,OACR,SAAU,2DACV,QAAS,CACP,CAAE,MAAO,aAAc,YAAa,+BAAgC,EACpE,CAAE,MAAO,WAAY,YAAa,gCAAiC,EACnE,CAAE,MAAO,SAAU,YAAa,+BAAgC,CAClE,EACA,SAAU,GACV,OAAQ,EACV,CACF,EAGF,GAAI,IAAS,YACX,MAAO,CACL,CACE,OAAQ,SACR,SAAU,wDACV,QAAS,CACP,CAAE,MAAO,OAAQ,YAAa,iCAAkC,EAChE,CAAE,MAAO,OAAQ,YAAa,gCAAiC,EAC/D,CAAE,MAAO,QAAS,YAAa,8BAA+B,CAChE,EACA,SAAU,GACV,OAAQ,EACV,CACF,EAGF,GAAI,IAAS,SACX,MAAO,CACL,CACE,OAAQ,QACR,SAAU,0DACV,QAAS,CACP,CAAE,MAAO,aAAc,YAAa,6BAA8B,EAClE,CAAE,MAAO,eAAgB,YAAa,sCAAuC,CAC/E,EACA,SAAU,GACV,OAAQ,EACV,CACF,EAGF,MAAO,CACL,CACE,OAAQ,SACR,SAAU,sDACV,QAAS,CACP,CAAE,MAAO,SAAU,YAAa,kBAAmB,EACnD,CAAE,MAAO,WAAY,YAAa,oBAAqB,CACzD,EACA,SAAU,EACZ,EACA,CACE,OAAQ,OACR,SAAU,2BACV,QAAS,CACP,CAAE,MAAO,OAAQ,YAAa,gBAAiB,EAC/C,CAAE,MAAO,OAAQ,YAAa,gBAAiB,CACjD,EACA,SAAU,GACV,OAAQ,EACV,CACF,IACC,EAEG,EAAM,EAAK,EAAO,WAAY,CAAE,WAAU,CAAC,EACjD,EAAU,EAAO,CAAG,EAEpB,IAAM,EAAK,EAAK,EAAO,MAAO,KAAK,EACnC,EAAM,KAAK,IAAI,EAAI,CAAE,KAAI,CAAC,EAE1B,EAAK,EAAO,CACV,KAAM,iBACN,WAAY,CACV,KACA,UAAW,EAAM,GACjB,YACA,KAAM,CACJ,UAAW,EAAI,IACf,OAAQ,EAAI,IACd,CACF,CACF,CAAU,EAGZ,eAAe,CAAO,CAAC,EAAc,EAAc,EAAc,EAAwC,CACvG,GAAI,IAAS,OAEX,OADA,MAAM,EAAS,EAAO,GAAQ,EAAiB,CAAM,EAC9C,GAGT,GAAI,IAAS,YAAc,IAAS,KAElC,OADA,MAAM,EAAS,EAAO,GAAQ,EAAiB,CAAM,EAC9C,GAGT,GAAI,IAAS,QAEX,OADA,MAAM,EAAS,EAAO,GAAQ,EAAc,CAAM,EAC3C,GAGT,GAAI,IAAS,YAEX,OADA,MAAM,EAAc,EAAO,GAAQ,oEAAqE,CAAM,EACvG,GAGT,GAAI,IAAS,OAEX,OADA,MAAM,EAAS,EAAO,CAAM,EACrB,GAGT,GAAI,IAAS,QAEX,OADA,EAAU,CAAK,EACR,GAGT,GAAI,IAAS,OAEX,OADA,EAAS,CAAK,EACP,GAGT,GAAI,IAAS,QAEX,OADA,EAAU,CAAK,EACR,GAGT,GAAI,IAAS,OAEX,OADA,EAAS,CAAK,EACP,GAGT,GAAI,IAAS,WAEX,OADA,EAAiB,CAAK,EACf,GAGT,GAAI,IAAS,QAEX,OADA,EAAU,EAAO,GAAQ,kBAAkB,EACpC,GAGT,GAAI,IAAS,MAYX,OAXA,MAAM,EAAS,EAAO,EAAiB,CAAM,EAC7C,MAAM,EAAK,GAAI,CAAM,EACrB,MAAM,EAAc,EAAO,oDAAqD,CAAM,EACtF,MAAM,EAAK,GAAI,CAAM,EACrB,MAAM,EAAS,EAAO,CAAM,EAC5B,EAAU,CAAK,EACf,EAAS,CAAK,EACd,EAAU,CAAK,EACf,EAAS,CAAK,EACd,EAAiB,CAAK,EACtB,EAAU,EAAO,2BAA2B,EACrC,GAGT,MAAO,GAGT,SAAS,CAAK,CAAC,EAAoB,CACjC,EACE,EAAM,OACN,CACE,oDACA,yBAAyB,EAAY,KAAK,IAAI,KAC9C,uBAAuB,EAAU,KAAK,IAAI,KAC1C,kBAAkB,EAAM,KAAK,IAAI,KACjC,YACA,qBACA,qBACA,kBACA,eACA,8BACF,EAAE,KAAK;AAAA,CAAI,CACb,EAGK,SAAS,EAAa,CAAC,EAAc,CAC1C,IAAM,EAAe,CACnB,GAAI,EAAM,UACV,SAAU,EAAM,SAChB,KAAM,EAAkB,EACxB,OAAQ,EAAM,OACd,OAAQ,EAAM,OACd,IAAK,EACL,KAAM,EACN,KAAM,EACN,KAAM,EACN,IAAK,EACL,MAAO,IAAI,IACX,KAAM,IAAI,GACZ,EAoIA,MAAO,CACL,MAnIY,SAA2B,CACvC,EAAM,CAAK,GAmIX,OAhIa,MAAO,EAAiB,IAA2C,CAEhF,IAAM,EADO,EAAK,KAAK,KAAK,EACV,MAAM,KAAK,EACvB,EAAM,EAAK,IAAM,GAIvB,GAFA,EAAc,EAAM,MAAM,EAEtB,IAAQ,QAEV,OADA,EAAM,CAAK,EACJ,GAGT,GAAI,IAAQ,cAAe,CACzB,IAAM,EAAO,EAAe,EAAK,EAAE,EACnC,GAAI,CAAC,EAEH,OADA,EAAK,EAAM,OAAQ,2BAA2B,EAAY,KAAK,IAAI,GAAG,EAC/D,GAIT,OADA,EAAe,EAAO,CAAI,EACnB,GAGT,GAAI,IAAQ,YAAa,CACvB,IAAM,EAAO,EAAa,EAAK,EAAE,EACjC,GAAI,CAAC,EAEH,OADA,EAAK,EAAM,OAAQ,yBAAyB,EAAU,KAAK,IAAI,GAAG,EAC3D,GAIT,OADA,EAAa,EAAO,CAAI,EACjB,GAGT,GAAI,IAAQ,OAAQ,CAClB,IAAM,GAAQ,EAAK,IAAM,IAAI,YAAY,EACnC,EAAO,EAAK,MAAM,CAAC,EAAE,KAAK,GAAG,EACnC,GAAI,CAAC,EAEH,OADA,EAAK,EAAM,OAAQ,gBAAgB,EAAM,KAAK,IAAI,GAAG,EAC9C,GAIT,GADW,MAAM,EAAQ,EAAO,EAAM,EAAM,CAAM,EAEhD,MAAO,GAIT,OADA,EAAK,EAAM,OAAQ,iBAAiB,YAAe,EAAM,KAAK,IAAI,GAAG,EAC9D,GAGT,MAAO,IA8EP,WA3EiB,CAAC,IAAoC,CACtD,IAAM,EAAO,EAAM,MAAM,IAAI,EAAM,SAAS,EAC5C,GAAI,CAAC,GAAQ,CAAC,EAAM,MAClB,MAAO,GAGT,EAAM,MAAM,OAAO,EAAM,SAAS,EAClC,IAAM,EAAQ,CACZ,GAAI,sBAAsB,EAAM,aAAa,KAAK,IAAI,IACtD,KAAM,qBACN,WAAY,CACV,UAAW,EAAM,GACjB,UAAW,EAAM,UACjB,MAAO,EAAM,KACf,CACF,EAGA,GAFA,EAAK,EAAO,CAAK,EAEb,EAAM,QAAU,SAElB,OADA,EAAS,EAAO,EAAK,IAAK,EAAM,SAAW,qBAAqB,EACzD,GAIT,OADA,EAAS,EAAO,EAAK,IAAK,EAAK,IAAI,EAC5B,IAoDP,cAjDoB,CAAC,IAAkC,CACvD,IAAM,EAAM,EAAM,KAAK,IAAI,EAAM,SAAS,EAC1C,GAAI,CAAC,GAAO,CAAC,EAAM,QACjB,MAAO,GAGT,EAAM,KAAK,OAAO,EAAM,SAAS,EACjC,IAAM,EAAQ,CACZ,GAAI,oBAAoB,EAAM,aAAa,KAAK,IAAI,IACpD,KAAM,mBACN,WAAY,CACV,UAAW,EAAM,GACjB,UAAW,EAAM,UACjB,QAAS,EAAM,OACjB,CACF,EASA,OARA,EAAK,EAAO,CAAK,EACjB,EAAS,EAAO,EAAI,IAAK,CACvB,MAAO,WACP,OAAQ,GACR,SAAU,CACR,QAAS,EAAM,OACjB,CACF,CAAC,EACM,IA0BP,eAvBqB,CAAC,IAAmC,CACzD,IAAM,EAAM,EAAM,KAAK,IAAI,EAAM,SAAS,EAC1C,GAAI,CAAC,EACH,MAAO,GAYT,OATA,EAAM,KAAK,OAAO,EAAM,SAAS,EACjC,EAAK,EAAO,CACV,KAAM,oBACN,WAAY,CACV,UAAW,EAAM,GACjB,UAAW,EAAM,SACnB,CACF,CAAU,EACV,EAAS,EAAO,EAAI,IAAK,mBAAmB,EACrC,GAST", | ||
| "debugId": "619EA04F2BC7931864756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["src/commands/handlers/run.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect, Option } from \"effect\"\nimport { Commands } from \"../commands\"\nimport { Runtime } from \"../../framework/runtime\"\nimport { Server } from \"../../services/server\"\n\nexport default Runtime.handler(Commands.commands.run, (input) =>\n Effect.gen(function* () {\n const { runNonInteractive } = yield* Effect.promise(() => import(\"../../mini\"))\n const separator = process.argv.indexOf(\"--\", 2)\n const server = yield* Server.resolve({\n server: Option.getOrUndefined(input.server),\n standalone: input.standalone,\n })\n yield* Effect.promise(() =>\n runNonInteractive({\n server,\n message: [...input.message, ...(separator === -1 ? [] : process.argv.slice(separator + 1))],\n continue: input.continue,\n session: Option.getOrUndefined(input.session),\n fork: input.fork,\n model: Option.getOrUndefined(input.model),\n agent: Option.getOrUndefined(input.agent),\n format: input.format,\n file: [...input.file],\n title: Option.getOrUndefined(input.title),\n thinking: input.thinking,\n auto: input.auto || input.yolo,\n }),\n )\n }),\n)\n" | ||
| ], | ||
| "mappings": ";qkCAKA,SAAe,SAAQ,aAAQ,OAAS,cAAS,SAAK,MAAC,SACrD,OAAO,SAAI,cAAU,OAAG,MACtB,SAAQ,0BAAsB,WAAO,OAAO,aAAQ,SAAa,wCAAa,OACxE,OAAY,aAAQ,UAAK,aAAQ,UAAM,MAAC,OACxC,OAAS,WAAO,EAAO,QAAQ,CACnC,OAAQ,EAAO,eAAe,EAAM,MAAM,EAC1C,WAAY,EAAM,UACpB,CAAC,EACD,MAAO,EAAO,QAAQ,IACpB,EAAkB,CAChB,SACA,QAAS,CAAC,GAAG,EAAM,QAAS,GAAI,IAAc,GAAK,CAAC,EAAI,QAAQ,KAAK,MAAM,EAAY,CAAC,CAAE,EAC1F,SAAU,EAAM,SAChB,QAAS,EAAO,eAAe,EAAM,OAAO,EAC5C,KAAM,EAAM,KACZ,MAAO,EAAO,eAAe,EAAM,KAAK,EACxC,MAAO,EAAO,eAAe,EAAM,KAAK,EACxC,OAAQ,EAAM,OACd,KAAM,CAAC,GAAG,EAAM,IAAI,EACpB,MAAO,EAAO,eAAe,EAAM,KAAK,EACxC,SAAU,EAAM,SAChB,KAAM,EAAM,MAAQ,EAAM,IAC5B,CAAC,CACH,EACD,CACH", | ||
| "debugId": "103CA1FC05DC6E6464756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@ai-sdk+cohere@3.0.27+d6123d32214422cb/node_modules/@ai-sdk/cohere/dist/index.mjs"], | ||
| "sourcesContent": [ | ||
| "// src/cohere-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/cohere-chat-language-model.ts\nimport {\n combineHeaders,\n createEventSourceResponseHandler,\n createJsonResponseHandler,\n parseProviderOptions,\n postJsonToApi\n} from \"@ai-sdk/provider-utils\";\nimport { z as z3 } from \"zod/v4\";\n\n// src/cohere-chat-options.ts\nimport { z } from \"zod/v4\";\nvar cohereLanguageModelOptions = z.object({\n /**\n * Configuration for reasoning features (optional)\n *\n * Can be set to an object with the two properties `type` and `tokenBudget`. `type` can be set to `'enabled'` or `'disabled'` (defaults to `'enabled'`).\n * `tokenBudget` is the maximum number of tokens the model can use for thinking, which must be set to a positive integer. The model will stop thinking if it reaches the thinking token budget and will proceed with the response\n *\n * @see https://docs.cohere.com/reference/chat#request.body.thinking\n */\n thinking: z.object({\n type: z.enum([\"enabled\", \"disabled\"]).optional(),\n tokenBudget: z.number().optional()\n }).optional()\n});\n\n// src/cohere-error.ts\nimport { createJsonErrorResponseHandler } from \"@ai-sdk/provider-utils\";\nimport { z as z2 } from \"zod/v4\";\nvar cohereErrorDataSchema = z2.object({\n message: z2.string()\n});\nvar cohereFailedResponseHandler = createJsonErrorResponseHandler({\n errorSchema: cohereErrorDataSchema,\n errorToMessage: (data) => data.message\n});\n\n// src/cohere-prepare-tools.ts\nimport {\n UnsupportedFunctionalityError\n} from \"@ai-sdk/provider\";\nfunction prepareTools({\n tools,\n toolChoice\n}) {\n tools = (tools == null ? void 0 : tools.length) ? tools : void 0;\n const toolWarnings = [];\n if (tools == null) {\n return { tools: void 0, toolChoice: void 0, toolWarnings };\n }\n const cohereTools = [];\n for (const tool of tools) {\n if (tool.type === \"provider\") {\n toolWarnings.push({\n type: \"unsupported\",\n feature: `provider-defined tool ${tool.id}`\n });\n } else {\n cohereTools.push({\n type: \"function\",\n function: {\n name: tool.name,\n description: tool.description,\n parameters: tool.inputSchema\n }\n });\n }\n }\n if (toolChoice == null) {\n return { tools: cohereTools, toolChoice: void 0, toolWarnings };\n }\n const type = toolChoice.type;\n switch (type) {\n case \"auto\":\n return { tools: cohereTools, toolChoice: void 0, toolWarnings };\n case \"none\":\n return { tools: cohereTools, toolChoice: \"NONE\", toolWarnings };\n case \"required\":\n return { tools: cohereTools, toolChoice: \"REQUIRED\", toolWarnings };\n case \"tool\":\n return {\n tools: cohereTools.filter(\n (tool) => tool.function.name === toolChoice.toolName\n ),\n toolChoice: \"REQUIRED\",\n toolWarnings\n };\n default: {\n const _exhaustiveCheck = type;\n throw new UnsupportedFunctionalityError({\n functionality: `tool choice type: ${_exhaustiveCheck}`\n });\n }\n }\n}\n\n// src/convert-cohere-usage.ts\nfunction convertCohereUsage(tokens) {\n if (tokens == 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 inputTokens = tokens.input_tokens;\n const outputTokens = tokens.output_tokens;\n return {\n inputTokens: {\n total: inputTokens,\n noCache: inputTokens,\n cacheRead: void 0,\n cacheWrite: void 0\n },\n outputTokens: {\n total: outputTokens,\n text: outputTokens,\n reasoning: void 0\n },\n raw: tokens\n };\n}\n\n// src/convert-to-cohere-chat-prompt.ts\nimport {\n UnsupportedFunctionalityError as UnsupportedFunctionalityError2\n} from \"@ai-sdk/provider\";\nfunction convertToCohereChatPrompt(prompt) {\n const messages = [];\n const documents = [];\n const warnings = [];\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 messages.push({\n role: \"user\",\n content: content.map((part) => {\n var _a;\n switch (part.type) {\n case \"text\": {\n return part.text;\n }\n case \"file\": {\n let textContent;\n if (typeof part.data === \"string\") {\n textContent = part.data;\n } else if (part.data instanceof Uint8Array) {\n if (!(((_a = part.mediaType) == null ? void 0 : _a.startsWith(\"text/\")) || part.mediaType === \"application/json\")) {\n throw new UnsupportedFunctionalityError2({\n functionality: `document media type: ${part.mediaType}`,\n message: `Media type '${part.mediaType}' is not supported. Supported media types are: text/* and application/json.`\n });\n }\n textContent = new TextDecoder().decode(part.data);\n } else {\n throw new UnsupportedFunctionalityError2({\n functionality: \"File URL data\",\n message: \"URLs should be downloaded by the AI SDK and not reach this point. This indicates a configuration issue.\"\n });\n }\n documents.push({\n data: {\n text: textContent,\n title: part.filename\n }\n });\n return \"\";\n }\n }\n }).join(\"\")\n });\n break;\n }\n case \"assistant\": {\n let text = \"\";\n const toolCalls = [];\n for (const part of content) {\n switch (part.type) {\n case \"text\": {\n text += part.text;\n break;\n }\n case \"tool-call\": {\n toolCalls.push({\n id: part.toolCallId,\n type: \"function\",\n function: {\n name: part.toolName,\n arguments: JSON.stringify(part.input)\n }\n });\n break;\n }\n }\n }\n messages.push({\n role: \"assistant\",\n content: toolCalls.length > 0 ? void 0 : text,\n tool_calls: toolCalls.length > 0 ? toolCalls : void 0,\n tool_plan: void 0\n });\n break;\n }\n case \"tool\": {\n messages.push(\n ...content.filter((toolResult) => toolResult.type !== \"tool-approval-response\").map((toolResult) => {\n var _a;\n const output = toolResult.output;\n let contentValue;\n switch (output.type) {\n case \"text\":\n case \"error-text\":\n contentValue = output.value;\n break;\n case \"execution-denied\":\n contentValue = (_a = output.reason) != null ? _a : \"Tool execution denied.\";\n break;\n case \"content\":\n case \"json\":\n case \"error-json\":\n contentValue = JSON.stringify(output.value);\n break;\n }\n return {\n role: \"tool\",\n content: contentValue,\n tool_call_id: toolResult.toolCallId\n };\n })\n );\n break;\n }\n default: {\n const _exhaustiveCheck = role;\n throw new Error(`Unsupported role: ${_exhaustiveCheck}`);\n }\n }\n }\n return { messages, documents, warnings };\n}\n\n// src/map-cohere-finish-reason.ts\nfunction mapCohereFinishReason(finishReason) {\n switch (finishReason) {\n case \"COMPLETE\":\n case \"STOP_SEQUENCE\":\n return \"stop\";\n case \"MAX_TOKENS\":\n return \"length\";\n case \"ERROR\":\n return \"error\";\n case \"TOOL_CALL\":\n return \"tool-calls\";\n default:\n return \"other\";\n }\n}\n\n// src/cohere-chat-language-model.ts\nvar CohereChatLanguageModel = class {\n constructor(modelId, config) {\n this.specificationVersion = \"v3\";\n this.supportedUrls = {\n // No URLs are supported.\n };\n this.modelId = modelId;\n this.config = config;\n }\n get provider() {\n return this.config.provider;\n }\n async getArgs({\n prompt,\n maxOutputTokens,\n temperature,\n topP,\n topK,\n frequencyPenalty,\n presencePenalty,\n stopSequences,\n responseFormat,\n seed,\n tools,\n toolChoice,\n providerOptions\n }) {\n var _a, _b;\n const cohereOptions = (_a = await parseProviderOptions({\n provider: \"cohere\",\n providerOptions,\n schema: cohereLanguageModelOptions\n })) != null ? _a : {};\n const {\n messages: chatPrompt,\n documents: cohereDocuments,\n warnings: promptWarnings\n } = convertToCohereChatPrompt(prompt);\n const {\n tools: cohereTools,\n toolChoice: cohereToolChoice,\n toolWarnings\n } = prepareTools({ tools, toolChoice });\n return {\n args: {\n // model id:\n model: this.modelId,\n // standardized settings:\n frequency_penalty: frequencyPenalty,\n presence_penalty: presencePenalty,\n max_tokens: maxOutputTokens,\n temperature,\n p: topP,\n k: topK,\n seed,\n stop_sequences: stopSequences,\n // response format:\n response_format: (responseFormat == null ? void 0 : responseFormat.type) === \"json\" ? { type: \"json_object\", json_schema: responseFormat.schema } : void 0,\n // messages:\n messages: chatPrompt,\n // tools:\n tools: cohereTools,\n tool_choice: cohereToolChoice,\n // documents for RAG:\n ...cohereDocuments.length > 0 && { documents: cohereDocuments },\n // reasoning\n ...cohereOptions.thinking && {\n thinking: {\n type: (_b = cohereOptions.thinking.type) != null ? _b : \"enabled\",\n token_budget: cohereOptions.thinking.tokenBudget\n }\n }\n },\n warnings: [...toolWarnings, ...promptWarnings]\n };\n }\n async doGenerate(options) {\n var _a, _b, _c, _d, _e, _f, _g;\n const { args, warnings } = await this.getArgs(options);\n const {\n responseHeaders,\n value: response,\n rawValue: rawResponse\n } = await postJsonToApi({\n url: `${this.config.baseURL}/chat`,\n headers: combineHeaders(this.config.headers(), options.headers),\n body: args,\n failedResponseHandler: cohereFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler(\n cohereChatResponseSchema\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch\n });\n const content = [];\n for (const item of (_a = response.message.content) != null ? _a : []) {\n if (item.type === \"text\" && item.text.length > 0) {\n content.push({ type: \"text\", text: item.text });\n continue;\n }\n if (item.type === \"thinking\" && item.thinking.length > 0) {\n content.push({ type: \"reasoning\", text: item.thinking });\n continue;\n }\n }\n for (const citation of (_b = response.message.citations) != null ? _b : []) {\n content.push({\n type: \"source\",\n sourceType: \"document\",\n id: this.config.generateId(),\n mediaType: \"text/plain\",\n title: ((_d = (_c = citation.sources[0]) == null ? void 0 : _c.document) == null ? void 0 : _d.title) || \"Document\",\n providerMetadata: {\n cohere: {\n start: citation.start,\n end: citation.end,\n text: citation.text,\n sources: citation.sources,\n ...citation.type && { citationType: citation.type }\n }\n }\n });\n }\n for (const toolCall of (_e = response.message.tool_calls) != null ? _e : []) {\n content.push({\n type: \"tool-call\",\n toolCallId: toolCall.id,\n toolName: toolCall.function.name,\n // Cohere sometimes returns `null` for tool call arguments for tools\n // defined as having no arguments.\n input: toolCall.function.arguments.replace(/^null$/, \"{}\")\n });\n }\n return {\n content,\n finishReason: {\n unified: mapCohereFinishReason(response.finish_reason),\n raw: (_f = response.finish_reason) != null ? _f : void 0\n },\n usage: convertCohereUsage(response.usage.tokens),\n request: { body: args },\n response: {\n // TODO timestamp, model id\n id: (_g = response.generation_id) != null ? _g : void 0,\n headers: responseHeaders,\n body: rawResponse\n },\n warnings\n };\n }\n async doStream(options) {\n const { args, warnings } = await this.getArgs(options);\n const { responseHeaders, value: response } = await postJsonToApi({\n url: `${this.config.baseURL}/chat`,\n headers: combineHeaders(this.config.headers(), options.headers),\n body: { ...args, stream: true },\n failedResponseHandler: cohereFailedResponseHandler,\n successfulResponseHandler: createEventSourceResponseHandler(\n cohereChatChunkSchema\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 let pendingToolCall = null;\n let isActiveReasoning = false;\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;\n if (options.includeRawChunks) {\n controller.enqueue({ type: \"raw\", rawValue: chunk.rawValue });\n }\n if (!chunk.success) {\n finishReason = { unified: \"error\", raw: void 0 };\n controller.enqueue({ type: \"error\", error: chunk.error });\n return;\n }\n const value = chunk.value;\n const type = value.type;\n switch (type) {\n case \"content-start\": {\n if (value.delta.message.content.type === \"thinking\") {\n controller.enqueue({\n type: \"reasoning-start\",\n id: String(value.index)\n });\n isActiveReasoning = true;\n return;\n }\n controller.enqueue({\n type: \"text-start\",\n id: String(value.index)\n });\n return;\n }\n case \"content-delta\": {\n if (\"thinking\" in value.delta.message.content) {\n controller.enqueue({\n type: \"reasoning-delta\",\n id: String(value.index),\n delta: value.delta.message.content.thinking\n });\n return;\n }\n controller.enqueue({\n type: \"text-delta\",\n id: String(value.index),\n delta: value.delta.message.content.text\n });\n return;\n }\n case \"content-end\": {\n if (isActiveReasoning) {\n controller.enqueue({\n type: \"reasoning-end\",\n id: String(value.index)\n });\n isActiveReasoning = false;\n return;\n }\n controller.enqueue({\n type: \"text-end\",\n id: String(value.index)\n });\n return;\n }\n case \"tool-call-start\": {\n const toolId = value.delta.message.tool_calls.id;\n const toolName = value.delta.message.tool_calls.function.name;\n const initialArgs = value.delta.message.tool_calls.function.arguments;\n pendingToolCall = {\n id: toolId,\n name: toolName,\n arguments: initialArgs,\n hasFinished: false\n };\n controller.enqueue({\n type: \"tool-input-start\",\n id: toolId,\n toolName\n });\n if (initialArgs.length > 0) {\n controller.enqueue({\n type: \"tool-input-delta\",\n id: toolId,\n delta: initialArgs\n });\n }\n return;\n }\n case \"tool-call-delta\": {\n if (pendingToolCall && !pendingToolCall.hasFinished) {\n const argsDelta = value.delta.message.tool_calls.function.arguments;\n pendingToolCall.arguments += argsDelta;\n controller.enqueue({\n type: \"tool-input-delta\",\n id: pendingToolCall.id,\n delta: argsDelta\n });\n }\n return;\n }\n case \"tool-call-end\": {\n if (pendingToolCall && !pendingToolCall.hasFinished) {\n controller.enqueue({\n type: \"tool-input-end\",\n id: pendingToolCall.id\n });\n controller.enqueue({\n type: \"tool-call\",\n toolCallId: pendingToolCall.id,\n toolName: pendingToolCall.name,\n input: JSON.stringify(\n JSON.parse(((_a = pendingToolCall.arguments) == null ? void 0 : _a.trim()) || \"{}\")\n )\n });\n pendingToolCall.hasFinished = true;\n pendingToolCall = null;\n }\n return;\n }\n case \"message-start\": {\n controller.enqueue({\n type: \"response-metadata\",\n id: (_b = value.id) != null ? _b : void 0\n });\n return;\n }\n case \"message-end\": {\n finishReason = {\n unified: mapCohereFinishReason(value.delta.finish_reason),\n raw: value.delta.finish_reason\n };\n usage = value.delta.usage.tokens;\n return;\n }\n default: {\n return;\n }\n }\n },\n flush(controller) {\n controller.enqueue({\n type: \"finish\",\n finishReason,\n usage: convertCohereUsage(usage)\n });\n }\n })\n ),\n request: { body: { ...args, stream: true } },\n response: { headers: responseHeaders }\n };\n }\n};\nvar cohereChatResponseSchema = z3.object({\n generation_id: z3.string().nullish(),\n message: z3.object({\n role: z3.string(),\n content: z3.array(\n z3.union([\n z3.object({\n type: z3.literal(\"text\"),\n text: z3.string()\n }),\n z3.object({\n type: z3.literal(\"thinking\"),\n thinking: z3.string()\n })\n ])\n ).nullish(),\n tool_plan: z3.string().nullish(),\n tool_calls: z3.array(\n z3.object({\n id: z3.string(),\n type: z3.literal(\"function\"),\n function: z3.object({\n name: z3.string(),\n arguments: z3.string()\n })\n })\n ).nullish(),\n citations: z3.array(\n z3.object({\n start: z3.number(),\n end: z3.number(),\n text: z3.string(),\n sources: z3.array(\n z3.object({\n type: z3.string().optional(),\n id: z3.string().optional(),\n document: z3.object({\n id: z3.string().optional(),\n text: z3.string(),\n title: z3.string()\n })\n })\n ),\n type: z3.string().optional()\n })\n ).nullish()\n }),\n finish_reason: z3.string(),\n usage: z3.object({\n billed_units: z3.object({\n input_tokens: z3.number(),\n output_tokens: z3.number()\n }),\n tokens: z3.object({\n input_tokens: z3.number(),\n output_tokens: z3.number()\n })\n })\n});\nvar cohereChatChunkSchema = z3.discriminatedUnion(\"type\", [\n z3.object({\n type: z3.literal(\"citation-start\")\n }),\n z3.object({\n type: z3.literal(\"citation-end\")\n }),\n z3.object({\n type: z3.literal(\"content-start\"),\n index: z3.number(),\n delta: z3.object({\n message: z3.object({\n content: z3.union([\n z3.object({\n type: z3.literal(\"text\"),\n text: z3.string()\n }),\n z3.object({\n type: z3.literal(\"thinking\"),\n thinking: z3.string()\n })\n ])\n })\n })\n }),\n z3.object({\n type: z3.literal(\"content-delta\"),\n index: z3.number(),\n delta: z3.object({\n message: z3.object({\n content: z3.union([\n z3.object({\n text: z3.string()\n }),\n z3.object({\n thinking: z3.string()\n })\n ])\n })\n })\n }),\n z3.object({\n type: z3.literal(\"content-end\"),\n index: z3.number()\n }),\n z3.object({\n type: z3.literal(\"message-start\"),\n id: z3.string().nullish()\n }),\n z3.object({\n type: z3.literal(\"message-end\"),\n delta: z3.object({\n finish_reason: z3.string(),\n usage: z3.object({\n tokens: z3.object({\n input_tokens: z3.number(),\n output_tokens: z3.number()\n })\n })\n })\n }),\n // https://docs.cohere.com/v2/docs/streaming#tool-use-stream-events-for-tool-calling\n z3.object({\n type: z3.literal(\"tool-plan-delta\"),\n delta: z3.object({\n message: z3.object({\n tool_plan: z3.string()\n })\n })\n }),\n z3.object({\n type: z3.literal(\"tool-call-start\"),\n delta: z3.object({\n message: z3.object({\n tool_calls: z3.object({\n id: z3.string(),\n type: z3.literal(\"function\"),\n function: z3.object({\n name: z3.string(),\n arguments: z3.string()\n })\n })\n })\n })\n }),\n // A single tool call's `arguments` stream in chunks and must be accumulated\n // in a string and so the full tool object info can only be parsed once we see\n // `tool-call-end`.\n z3.object({\n type: z3.literal(\"tool-call-delta\"),\n delta: z3.object({\n message: z3.object({\n tool_calls: z3.object({\n function: z3.object({\n arguments: z3.string()\n })\n })\n })\n })\n }),\n z3.object({\n type: z3.literal(\"tool-call-end\")\n })\n]);\n\n// src/cohere-embedding-model.ts\nimport {\n TooManyEmbeddingValuesForCallError\n} from \"@ai-sdk/provider\";\nimport {\n combineHeaders as combineHeaders2,\n createJsonResponseHandler as createJsonResponseHandler2,\n parseProviderOptions as parseProviderOptions2,\n postJsonToApi as postJsonToApi2\n} from \"@ai-sdk/provider-utils\";\nimport { z as z5 } from \"zod/v4\";\n\n// src/cohere-embedding-options.ts\nimport { z as z4 } from \"zod/v4\";\nvar cohereEmbeddingModelOptions = z4.object({\n /**\n * Specifies the type of input passed to the model. Default is `search_query`.\n *\n * - \"search_document\": Used for embeddings stored in a vector database for search use-cases.\n * - \"search_query\": Used for embeddings of search queries run against a vector DB to find relevant documents.\n * - \"classification\": Used for embeddings passed through a text classifier.\n * - \"clustering\": Used for embeddings run through a clustering algorithm.\n */\n inputType: z4.enum([\"search_document\", \"search_query\", \"classification\", \"clustering\"]).optional(),\n /**\n * Specifies how the API will handle inputs longer than the maximum token length.\n * Default is `END`.\n *\n * - \"NONE\": If selected, when the input exceeds the maximum input token length will return an error.\n * - \"START\": Will discard the start of the input until the remaining input is exactly the maximum input token length for the model.\n * - \"END\": Will discard the end of the input until the remaining input is exactly the maximum input token length for the model.\n */\n truncate: z4.enum([\"NONE\", \"START\", \"END\"]).optional(),\n /**\n * The number of dimensions of the output embedding.\n * Only available for `embed-v4.0` and newer models.\n *\n * Possible values are `256`, `512`, `1024`, and `1536`.\n * The default is `1536`.\n */\n outputDimension: z4.union([z4.literal(256), z4.literal(512), z4.literal(1024), z4.literal(1536)]).optional()\n});\n\n// src/cohere-embedding-model.ts\nvar CohereEmbeddingModel = class {\n constructor(modelId, config) {\n this.specificationVersion = \"v3\";\n this.maxEmbeddingsPerCall = 96;\n this.supportsParallelCalls = true;\n this.modelId = modelId;\n this.config = config;\n }\n get provider() {\n return this.config.provider;\n }\n async doEmbed({\n values,\n headers,\n abortSignal,\n providerOptions\n }) {\n var _a;\n const embeddingOptions = await parseProviderOptions2({\n provider: \"cohere\",\n providerOptions,\n schema: cohereEmbeddingModelOptions\n });\n if (values.length > this.maxEmbeddingsPerCall) {\n throw new TooManyEmbeddingValuesForCallError({\n provider: this.provider,\n modelId: this.modelId,\n maxEmbeddingsPerCall: this.maxEmbeddingsPerCall,\n values\n });\n }\n const {\n responseHeaders,\n value: response,\n rawValue\n } = await postJsonToApi2({\n url: `${this.config.baseURL}/embed`,\n headers: combineHeaders2(this.config.headers(), headers),\n body: {\n model: this.modelId,\n // The AI SDK only supports 'float' embeddings. Note that the Cohere API\n // supports other embedding types, but they are not currently supported by the AI SDK.\n // https://docs.cohere.com/v2/reference/embed#request.body.embedding_types\n embedding_types: [\"float\"],\n texts: values,\n input_type: (_a = embeddingOptions == null ? void 0 : embeddingOptions.inputType) != null ? _a : \"search_query\",\n truncate: embeddingOptions == null ? void 0 : embeddingOptions.truncate,\n output_dimension: embeddingOptions == null ? void 0 : embeddingOptions.outputDimension\n },\n failedResponseHandler: cohereFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler2(\n cohereTextEmbeddingResponseSchema\n ),\n abortSignal,\n fetch: this.config.fetch\n });\n return {\n warnings: [],\n embeddings: response.embeddings.float,\n usage: { tokens: response.meta.billed_units.input_tokens },\n response: { headers: responseHeaders, body: rawValue }\n };\n }\n};\nvar cohereTextEmbeddingResponseSchema = z5.object({\n embeddings: z5.object({\n float: z5.array(z5.array(z5.number()))\n }),\n meta: z5.object({\n billed_units: z5.object({\n input_tokens: z5.number()\n })\n })\n});\n\n// src/reranking/cohere-reranking-model.ts\nimport {\n combineHeaders as combineHeaders3,\n createJsonResponseHandler as createJsonResponseHandler3,\n parseProviderOptions as parseProviderOptions3,\n postJsonToApi as postJsonToApi3\n} from \"@ai-sdk/provider-utils\";\n\n// src/reranking/cohere-reranking-api.ts\nimport { lazySchema, zodSchema } from \"@ai-sdk/provider-utils\";\nimport { z as z6 } from \"zod/v4\";\nvar cohereRerankingResponseSchema = lazySchema(\n () => zodSchema(\n z6.object({\n id: z6.string().nullish(),\n results: z6.array(\n z6.object({\n index: z6.number(),\n relevance_score: z6.number()\n })\n ),\n meta: z6.any()\n })\n )\n);\n\n// src/reranking/cohere-reranking-options.ts\nimport { lazySchema as lazySchema2, zodSchema as zodSchema2 } from \"@ai-sdk/provider-utils\";\nimport { z as z7 } from \"zod/v4\";\nvar cohereRerankingModelOptionsSchema = lazySchema2(\n () => zodSchema2(\n z7.object({\n maxTokensPerDoc: z7.number().optional(),\n priority: z7.number().optional()\n })\n )\n);\n\n// src/reranking/cohere-reranking-model.ts\nvar CohereRerankingModel = class {\n constructor(modelId, config) {\n this.specificationVersion = \"v3\";\n this.modelId = modelId;\n this.config = config;\n }\n get provider() {\n return this.config.provider;\n }\n // current implementation is based on v2 of the API: https://docs.cohere.com/v2/reference/rerank\n async doRerank({\n documents,\n headers,\n query,\n topN,\n abortSignal,\n providerOptions\n }) {\n var _a;\n const rerankingOptions = await parseProviderOptions3({\n provider: \"cohere\",\n providerOptions,\n schema: cohereRerankingModelOptionsSchema\n });\n const warnings = [];\n if (documents.type === \"object\") {\n warnings.push({\n type: \"compatibility\",\n feature: \"object documents\",\n details: \"Object documents are converted to strings.\"\n });\n }\n const {\n responseHeaders,\n value: response,\n rawValue\n } = await postJsonToApi3({\n url: `${this.config.baseURL}/rerank`,\n headers: combineHeaders3(this.config.headers(), headers),\n body: {\n model: this.modelId,\n query,\n documents: documents.type === \"text\" ? documents.values : documents.values.map((value) => JSON.stringify(value)),\n top_n: topN,\n max_tokens_per_doc: rerankingOptions == null ? void 0 : rerankingOptions.maxTokensPerDoc,\n priority: rerankingOptions == null ? void 0 : rerankingOptions.priority\n },\n failedResponseHandler: cohereFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler3(\n cohereRerankingResponseSchema\n ),\n abortSignal,\n fetch: this.config.fetch\n });\n return {\n ranking: response.results.map((result) => ({\n index: result.index,\n relevanceScore: result.relevance_score\n })),\n warnings,\n response: {\n id: (_a = response.id) != null ? _a : void 0,\n headers: responseHeaders,\n body: rawValue\n }\n };\n }\n};\n\n// src/version.ts\nvar VERSION = true ? \"3.0.27\" : \"0.0.0-test\";\n\n// src/cohere-provider.ts\nfunction createCohere(options = {}) {\n var _a;\n const baseURL = (_a = withoutTrailingSlash(options.baseURL)) != null ? _a : \"https://api.cohere.com/v2\";\n const getHeaders = () => withUserAgentSuffix(\n {\n Authorization: `Bearer ${loadApiKey({\n apiKey: options.apiKey,\n environmentVariableName: \"COHERE_API_KEY\",\n description: \"Cohere\"\n })}`,\n ...options.headers\n },\n `ai-sdk/cohere/${VERSION}`\n );\n const createChatModel = (modelId) => {\n var _a2;\n return new CohereChatLanguageModel(modelId, {\n provider: \"cohere.chat\",\n baseURL,\n headers: getHeaders,\n fetch: options.fetch,\n generateId: (_a2 = options.generateId) != null ? _a2 : generateId\n });\n };\n const createEmbeddingModel = (modelId) => new CohereEmbeddingModel(modelId, {\n provider: \"cohere.textEmbedding\",\n baseURL,\n headers: getHeaders,\n fetch: options.fetch\n });\n const createRerankingModel = (modelId) => new CohereRerankingModel(modelId, {\n provider: \"cohere.reranking\",\n baseURL,\n headers: getHeaders,\n fetch: options.fetch\n });\n const provider = function(modelId) {\n if (new.target) {\n throw new Error(\n \"The Cohere model function cannot be called with the new keyword.\"\n );\n }\n return createChatModel(modelId);\n };\n provider.specificationVersion = \"v3\";\n provider.languageModel = createChatModel;\n provider.embedding = createEmbeddingModel;\n provider.embeddingModel = createEmbeddingModel;\n provider.textEmbedding = createEmbeddingModel;\n provider.textEmbeddingModel = createEmbeddingModel;\n provider.reranking = createRerankingModel;\n provider.rerankingModel = createRerankingModel;\n provider.imageModel = (modelId) => {\n throw new NoSuchModelError({ modelId, modelType: \"imageModel\" });\n };\n return provider;\n}\nvar cohere = createCohere();\nexport {\n VERSION,\n cohere,\n createCohere\n};\n//# sourceMappingURL=index.mjs.map" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "B1BE7604CD10545364756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "13683CC121D531FA64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../schema/src/llm.ts"], | ||
| "sourcesContent": [ | ||
| "export * as LLM from \"./llm.js\"\n\nimport { Schema } from \"effect\"\nimport { optional } from \"./schema.js\"\n\nexport const ProviderMetadata = Schema.Record(Schema.String, Schema.Record(Schema.String, Schema.Unknown)).annotate({\n identifier: \"LLM.ProviderMetadata\",\n})\nexport type ProviderMetadata = Schema.Schema.Type<typeof ProviderMetadata>\n\nexport const FinishReason = Schema.Literals([\"stop\", \"length\", \"tool-calls\", \"content-filter\", \"error\", \"unknown\"])\nexport type FinishReason = typeof FinishReason.Type\n\nexport interface ToolTextContent extends Schema.Schema.Type<typeof ToolTextContent> {}\nexport const ToolTextContent = Schema.Struct({\n type: Schema.Literal(\"text\"),\n text: Schema.String,\n}).annotate({ identifier: \"Tool.TextContent\" })\n\nexport interface ToolFileContent extends Schema.Schema.Type<typeof ToolFileContent> {}\nexport const ToolFileContent = Schema.Struct({\n type: Schema.Literal(\"file\"),\n uri: Schema.String,\n mime: Schema.String,\n name: optional(Schema.String),\n}).annotate({ identifier: \"Tool.FileContent\" })\n\nexport const ToolContent = Schema.Union([ToolTextContent, ToolFileContent])\n .pipe(Schema.toTaggedUnion(\"type\"))\n .annotate({ identifier: \"LLM.ToolContent\" })\nexport type ToolContent = Schema.Schema.Type<typeof ToolContent>\n" | ||
| ], | ||
| "mappings": ";oRAKO,SAAM,OAAmB,EAAO,OAAO,EAAO,OAAQ,EAAO,OAAO,EAAO,OAAQ,EAAO,OAAO,CAAC,EAAE,SAAS,CAClH,WAAY,sBACd,CAAC,EAGY,EAAe,EAAO,SAAS,CAAC,OAAQ,SAAU,aAAc,iBAAkB,QAAS,SAAS,CAAC,EAIrG,EAAkB,EAAO,OAAO,CAC3C,KAAM,EAAO,QAAQ,MAAM,EAC3B,KAAM,EAAO,MACf,CAAC,EAAE,SAAS,CAAE,WAAY,kBAAmB,CAAC,EAGjC,EAAkB,EAAO,OAAO,CAC3C,KAAM,EAAO,QAAQ,MAAM,EAC3B,IAAK,EAAO,OACZ,KAAM,EAAO,OACb,KAAM,EAAS,EAAO,MAAM,CAC9B,CAAC,EAAE,SAAS,CAAE,WAAY,kBAAmB,CAAC,EAEjC,EAAc,EAAO,MAAM,CAAC,EAAiB,CAAe,CAAC,EACvE,KAAK,EAAO,cAAc,MAAM,CAAC,EACjC,SAAS,CAAE,WAAY,iBAAkB,CAAC", | ||
| "debugId": "68C149423470349764756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@ai-sdk+groq@3.0.31+d6123d32214422cb/node_modules/@ai-sdk/groq/dist/index.mjs"], | ||
| "sourcesContent": [ | ||
| "// src/groq-provider.ts\nimport {\n NoSuchModelError\n} from \"@ai-sdk/provider\";\nimport {\n loadApiKey,\n withoutTrailingSlash,\n withUserAgentSuffix\n} from \"@ai-sdk/provider-utils\";\n\n// src/groq-chat-language-model.ts\nimport {\n InvalidResponseDataError\n} from \"@ai-sdk/provider\";\nimport {\n combineHeaders,\n createEventSourceResponseHandler,\n createJsonResponseHandler,\n generateId,\n isParsableJson,\n parseProviderOptions,\n postJsonToApi\n} from \"@ai-sdk/provider-utils\";\nimport { z as z3 } from \"zod/v4\";\n\n// src/convert-groq-usage.ts\nfunction convertGroqUsage(usage) {\n var _a, _b, _c, _d;\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 = (_d = (_c = usage.completion_tokens_details) == null ? void 0 : _c.reasoning_tokens) != null ? _d : void 0;\n const textTokens = reasoningTokens != null ? completionTokens - reasoningTokens : completionTokens;\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: textTokens,\n reasoning: reasoningTokens\n },\n raw: usage\n };\n}\n\n// src/convert-to-groq-chat-messages.ts\nimport {\n UnsupportedFunctionalityError\n} from \"@ai-sdk/provider\";\nimport { convertToBase64 } from \"@ai-sdk/provider-utils\";\nfunction convertToGroqChatMessages(prompt) {\n var _a;\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 if (content.length === 1 && content[0].type === \"text\") {\n messages.push({ role: \"user\", content: content[0].text });\n break;\n }\n messages.push({\n role: \"user\",\n content: content.map((part) => {\n switch (part.type) {\n case \"text\": {\n return { type: \"text\", text: part.text };\n }\n case \"file\": {\n if (!part.mediaType.startsWith(\"image/\")) {\n throw new UnsupportedFunctionalityError({\n functionality: \"Non-image file content parts\"\n });\n }\n const mediaType = part.mediaType === \"image/*\" ? \"image/jpeg\" : part.mediaType;\n return {\n type: \"image_url\",\n image_url: {\n url: part.data instanceof URL ? part.data.toString() : `data:${mediaType};base64,${convertToBase64(part.data)}`\n }\n };\n }\n }\n })\n });\n break;\n }\n case \"assistant\": {\n let text = \"\";\n let reasoning = \"\";\n const toolCalls = [];\n for (const part of content) {\n switch (part.type) {\n // groq supports reasoning for tool-calls in multi-turn conversations\n // https://github.com/vercel/ai/issues/7860\n case \"reasoning\": {\n reasoning += part.text;\n break;\n }\n case \"text\": {\n text += part.text;\n break;\n }\n case \"tool-call\": {\n toolCalls.push({\n id: part.toolCallId,\n type: \"function\",\n function: {\n name: part.toolName,\n arguments: JSON.stringify(part.input)\n }\n });\n break;\n }\n }\n }\n messages.push({\n role: \"assistant\",\n content: text,\n ...reasoning.length > 0 ? { reasoning } : null,\n ...toolCalls.length > 0 ? { tool_calls: toolCalls } : null\n });\n break;\n }\n case \"tool\": {\n for (const toolResponse of content) {\n if (toolResponse.type === \"tool-approval-response\") {\n continue;\n }\n const output = toolResponse.output;\n let contentValue;\n switch (output.type) {\n case \"text\":\n case \"error-text\":\n contentValue = output.value;\n break;\n case \"execution-denied\":\n contentValue = (_a = output.reason) != null ? _a : \"Tool execution denied.\";\n break;\n case \"content\":\n case \"json\":\n case \"error-json\":\n contentValue = JSON.stringify(output.value);\n break;\n }\n messages.push({\n role: \"tool\",\n tool_call_id: toolResponse.toolCallId,\n content: contentValue\n });\n }\n break;\n }\n default: {\n const _exhaustiveCheck = role;\n throw new Error(`Unsupported role: ${_exhaustiveCheck}`);\n }\n }\n }\n return messages;\n}\n\n// src/get-response-metadata.ts\nfunction getResponseMetadata({\n id,\n model,\n created\n}) {\n return {\n id: id != null ? id : void 0,\n modelId: model != null ? model : void 0,\n timestamp: created != null ? new Date(created * 1e3) : void 0\n };\n}\n\n// src/groq-chat-options.ts\nimport { z } from \"zod/v4\";\nvar groqLanguageModelOptions = z.object({\n reasoningFormat: z.enum([\"parsed\", \"raw\", \"hidden\"]).optional(),\n /**\n * Specifies the reasoning effort level for model inference.\n * @see https://console.groq.com/docs/reasoning#reasoning-effort\n */\n reasoningEffort: z.enum([\"none\", \"default\", \"low\", \"medium\", \"high\"]).optional(),\n /**\n * Whether to enable parallel function calling during tool use. Default to true.\n */\n parallelToolCalls: z.boolean().optional(),\n /**\n * A unique identifier representing your end-user, which can help OpenAI to\n * monitor and detect abuse. Learn more.\n */\n user: z.string().optional(),\n /**\n * Whether to use structured outputs.\n *\n * @default true\n */\n structuredOutputs: z.boolean().optional(),\n /**\n * Whether to use strict JSON schema validation.\n * When true, the model uses constrained decoding to guarantee schema compliance.\n * Only used when structured outputs are enabled and a schema is provided.\n *\n * @default true\n */\n strictJsonSchema: z.boolean().optional(),\n /**\n * Service tier for the request.\n * - 'on_demand': Default tier with consistent performance and fairness\n * - 'flex': Higher throughput tier optimized for workloads that can handle occasional request failures\n * - 'auto': Uses on_demand rate limits, then falls back to flex tier if exceeded\n *\n * @default 'on_demand'\n */\n serviceTier: z.enum([\"on_demand\", \"flex\", \"auto\"]).optional()\n});\n\n// src/groq-error.ts\nimport { z as z2 } from \"zod/v4\";\nimport { createJsonErrorResponseHandler } from \"@ai-sdk/provider-utils\";\nvar groqErrorDataSchema = z2.object({\n error: z2.object({\n message: z2.string(),\n type: z2.string()\n })\n});\nvar groqFailedResponseHandler = createJsonErrorResponseHandler({\n errorSchema: groqErrorDataSchema,\n errorToMessage: (data) => data.error.message\n});\n\n// src/groq-prepare-tools.ts\nimport {\n UnsupportedFunctionalityError as UnsupportedFunctionalityError2\n} from \"@ai-sdk/provider\";\n\n// src/groq-browser-search-models.ts\nvar BROWSER_SEARCH_SUPPORTED_MODELS = [\n \"openai/gpt-oss-20b\",\n \"openai/gpt-oss-120b\"\n];\nfunction isBrowserSearchSupportedModel(modelId) {\n return BROWSER_SEARCH_SUPPORTED_MODELS.includes(modelId);\n}\nfunction getSupportedModelsString() {\n return BROWSER_SEARCH_SUPPORTED_MODELS.join(\", \");\n}\n\n// src/groq-prepare-tools.ts\nfunction prepareTools({\n tools,\n toolChoice,\n modelId\n}) {\n tools = (tools == null ? void 0 : tools.length) ? tools : void 0;\n const toolWarnings = [];\n if (tools == null) {\n return { tools: void 0, toolChoice: void 0, toolWarnings };\n }\n const groqTools2 = [];\n for (const tool of tools) {\n if (tool.type === \"provider\") {\n if (tool.id === \"groq.browser_search\") {\n if (!isBrowserSearchSupportedModel(modelId)) {\n toolWarnings.push({\n type: \"unsupported\",\n feature: `provider-defined tool ${tool.id}`,\n details: `Browser search is only supported on the following models: ${getSupportedModelsString()}. Current model: ${modelId}`\n });\n } else {\n groqTools2.push({\n type: \"browser_search\"\n });\n }\n } else {\n toolWarnings.push({\n type: \"unsupported\",\n feature: `provider-defined tool ${tool.id}`\n });\n }\n } else {\n groqTools2.push({\n type: \"function\",\n function: {\n name: tool.name,\n description: tool.description,\n parameters: tool.inputSchema,\n ...tool.strict != null ? { strict: tool.strict } : {}\n }\n });\n }\n }\n if (toolChoice == null) {\n return { tools: groqTools2, toolChoice: void 0, toolWarnings };\n }\n const type = toolChoice.type;\n switch (type) {\n case \"auto\":\n case \"none\":\n case \"required\":\n return { tools: groqTools2, toolChoice: type, toolWarnings };\n case \"tool\":\n return {\n tools: groqTools2,\n toolChoice: {\n type: \"function\",\n function: {\n name: toolChoice.toolName\n }\n },\n toolWarnings\n };\n default: {\n const _exhaustiveCheck = type;\n throw new UnsupportedFunctionalityError2({\n functionality: `tool choice type: ${_exhaustiveCheck}`\n });\n }\n }\n}\n\n// src/map-groq-finish-reason.ts\nfunction mapGroqFinishReason(finishReason) {\n switch (finishReason) {\n case \"stop\":\n return \"stop\";\n case \"length\":\n return \"length\";\n case \"content_filter\":\n return \"content-filter\";\n case \"function_call\":\n case \"tool_calls\":\n return \"tool-calls\";\n default:\n return \"other\";\n }\n}\n\n// src/groq-chat-language-model.ts\nvar GroqChatLanguageModel = class {\n constructor(modelId, config) {\n this.specificationVersion = \"v3\";\n this.supportedUrls = {\n \"image/*\": [/^https?:\\/\\/.*$/]\n };\n this.modelId = modelId;\n this.config = config;\n }\n get provider() {\n return this.config.provider;\n }\n async getArgs({\n prompt,\n maxOutputTokens,\n temperature,\n topP,\n topK,\n frequencyPenalty,\n presencePenalty,\n stopSequences,\n responseFormat,\n seed,\n stream,\n tools,\n toolChoice,\n providerOptions\n }) {\n var _a, _b, _c;\n const warnings = [];\n const groqOptions = await parseProviderOptions({\n provider: \"groq\",\n providerOptions,\n schema: groqLanguageModelOptions\n });\n const structuredOutputs = (_a = groqOptions == null ? void 0 : groqOptions.structuredOutputs) != null ? _a : true;\n const strictJsonSchema = (_b = groqOptions == null ? void 0 : groqOptions.strictJsonSchema) != null ? _b : true;\n if (topK != null) {\n warnings.push({ type: \"unsupported\", feature: \"topK\" });\n }\n if ((responseFormat == null ? void 0 : responseFormat.type) === \"json\" && responseFormat.schema != null && !structuredOutputs) {\n warnings.push({\n type: \"unsupported\",\n feature: \"responseFormat\",\n details: \"JSON response format schema is only supported with structuredOutputs\"\n });\n }\n const {\n tools: groqTools2,\n toolChoice: groqToolChoice,\n toolWarnings\n } = prepareTools({ tools, toolChoice, modelId: this.modelId });\n return {\n args: {\n // model id:\n model: this.modelId,\n // model specific settings:\n user: groqOptions == null ? void 0 : groqOptions.user,\n parallel_tool_calls: groqOptions == null ? void 0 : groqOptions.parallelToolCalls,\n // standardized settings:\n max_tokens: maxOutputTokens,\n temperature,\n top_p: topP,\n frequency_penalty: frequencyPenalty,\n presence_penalty: presencePenalty,\n stop: stopSequences,\n seed,\n // response format:\n response_format: (responseFormat == null ? void 0 : responseFormat.type) === \"json\" ? structuredOutputs && responseFormat.schema != null ? {\n type: \"json_schema\",\n json_schema: {\n schema: responseFormat.schema,\n strict: strictJsonSchema,\n name: (_c = responseFormat.name) != null ? _c : \"response\",\n description: responseFormat.description\n }\n } : { type: \"json_object\" } : void 0,\n // provider options:\n reasoning_format: groqOptions == null ? void 0 : groqOptions.reasoningFormat,\n reasoning_effort: groqOptions == null ? void 0 : groqOptions.reasoningEffort,\n service_tier: groqOptions == null ? void 0 : groqOptions.serviceTier,\n // messages:\n messages: convertToGroqChatMessages(prompt),\n // tools:\n tools: groqTools2,\n tool_choice: groqToolChoice\n },\n warnings: [...warnings, ...toolWarnings]\n };\n }\n async doGenerate(options) {\n var _a, _b;\n const { args, warnings } = await this.getArgs({\n ...options,\n stream: false\n });\n const body = JSON.stringify(args);\n const {\n responseHeaders,\n value: response,\n rawValue: rawResponse\n } = await postJsonToApi({\n url: this.config.url({\n path: \"/chat/completions\",\n modelId: this.modelId\n }),\n headers: combineHeaders(this.config.headers(), options.headers),\n body: args,\n failedResponseHandler: groqFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler(\n groqChatResponseSchema\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 != null && text.length > 0) {\n content.push({ type: \"text\", text });\n }\n const reasoning = choice.message.reasoning;\n if (reasoning != null && reasoning.length > 0) {\n content.push({\n type: \"reasoning\",\n text: reasoning\n });\n }\n if (choice.message.tool_calls != null) {\n for (const toolCall of choice.message.tool_calls) {\n content.push({\n type: \"tool-call\",\n toolCallId: (_a = toolCall.id) != null ? _a : generateId(),\n toolName: toolCall.function.name,\n input: toolCall.function.arguments\n });\n }\n }\n return {\n content,\n finishReason: {\n unified: mapGroqFinishReason(choice.finish_reason),\n raw: (_b = choice.finish_reason) != null ? _b : void 0\n },\n usage: convertGroqUsage(response.usage),\n response: {\n ...getResponseMetadata(response),\n headers: responseHeaders,\n body: rawResponse\n },\n warnings,\n request: { body }\n };\n }\n async doStream(options) {\n const { args, warnings } = await this.getArgs({ ...options, stream: true });\n const body = JSON.stringify({ ...args, stream: true });\n const { responseHeaders, value: response } = await postJsonToApi({\n url: this.config.url({\n path: \"/chat/completions\",\n modelId: this.modelId\n }),\n headers: combineHeaders(this.config.headers(), options.headers),\n body: {\n ...args,\n stream: true\n },\n failedResponseHandler: groqFailedResponseHandler,\n successfulResponseHandler: createEventSourceResponseHandler(groqChatChunkSchema),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch\n });\n const toolCalls = [];\n let finishReason = {\n unified: \"other\",\n raw: void 0\n };\n let usage = void 0;\n let isFirstChunk = true;\n let isActiveText = false;\n let isActiveReasoning = false;\n let providerMetadata;\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, _h, _i, _j, _k, _l, _m;\n if (options.includeRawChunks) {\n controller.enqueue({ type: \"raw\", rawValue: chunk.rawValue });\n }\n if (!chunk.success) {\n finishReason = {\n unified: \"error\",\n raw: void 0\n };\n controller.enqueue({ type: \"error\", error: chunk.error });\n return;\n }\n const value = chunk.value;\n if (\"error\" in value) {\n finishReason = {\n unified: \"error\",\n raw: void 0\n };\n controller.enqueue({ type: \"error\", error: value.error });\n return;\n }\n if (isFirstChunk) {\n isFirstChunk = false;\n controller.enqueue({\n type: \"response-metadata\",\n ...getResponseMetadata(value)\n });\n }\n if (((_a = value.x_groq) == null ? void 0 : _a.usage) != null) {\n usage = value.x_groq.usage;\n }\n const choice = value.choices[0];\n if ((choice == null ? void 0 : choice.finish_reason) != null) {\n finishReason = {\n unified: mapGroqFinishReason(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 if (delta.reasoning != null && delta.reasoning.length > 0) {\n if (!isActiveReasoning) {\n controller.enqueue({\n type: \"reasoning-start\",\n id: \"reasoning-0\"\n });\n isActiveReasoning = true;\n }\n controller.enqueue({\n type: \"reasoning-delta\",\n id: \"reasoning-0\",\n delta: delta.reasoning\n });\n }\n if (delta.content != null && delta.content.length > 0) {\n if (isActiveReasoning) {\n controller.enqueue({\n type: \"reasoning-end\",\n id: \"reasoning-0\"\n });\n isActiveReasoning = false;\n }\n if (!isActiveText) {\n controller.enqueue({ type: \"text-start\", id: \"txt-0\" });\n isActiveText = true;\n }\n controller.enqueue({\n type: \"text-delta\",\n id: \"txt-0\",\n delta: delta.content\n });\n }\n if (delta.tool_calls != null) {\n if (isActiveReasoning) {\n controller.enqueue({\n type: \"reasoning-end\",\n id: \"reasoning-0\"\n });\n isActiveReasoning = false;\n }\n for (const toolCallDelta of delta.tool_calls) {\n const index = toolCallDelta.index;\n if (toolCalls[index] == null) {\n if (toolCallDelta.type !== \"function\") {\n throw new InvalidResponseDataError({\n data: toolCallDelta,\n message: `Expected 'function' type.`\n });\n }\n if (toolCallDelta.id == null) {\n throw new InvalidResponseDataError({\n data: toolCallDelta,\n message: `Expected 'id' to be a string.`\n });\n }\n if (((_b = toolCallDelta.function) == null ? void 0 : _b.name) == null) {\n throw new InvalidResponseDataError({\n data: toolCallDelta,\n message: `Expected 'function.name' to be a string.`\n });\n }\n controller.enqueue({\n type: \"tool-input-start\",\n id: toolCallDelta.id,\n toolName: toolCallDelta.function.name\n });\n toolCalls[index] = {\n id: toolCallDelta.id,\n type: \"function\",\n function: {\n name: toolCallDelta.function.name,\n arguments: (_c = toolCallDelta.function.arguments) != null ? _c : \"\"\n },\n hasFinished: false\n };\n const toolCall2 = toolCalls[index];\n if (((_d = toolCall2.function) == null ? void 0 : _d.name) != null && ((_e = toolCall2.function) == null ? void 0 : _e.arguments) != null) {\n if (toolCall2.function.arguments.length > 0) {\n controller.enqueue({\n type: \"tool-input-delta\",\n id: toolCall2.id,\n delta: toolCall2.function.arguments\n });\n }\n if (isParsableJson(toolCall2.function.arguments)) {\n controller.enqueue({\n type: \"tool-input-end\",\n id: toolCall2.id\n });\n controller.enqueue({\n type: \"tool-call\",\n toolCallId: (_f = toolCall2.id) != null ? _f : generateId(),\n toolName: toolCall2.function.name,\n input: toolCall2.function.arguments\n });\n toolCall2.hasFinished = true;\n }\n }\n continue;\n }\n const toolCall = toolCalls[index];\n if (toolCall.hasFinished) {\n continue;\n }\n if (((_g = toolCallDelta.function) == null ? void 0 : _g.arguments) != null) {\n toolCall.function.arguments += (_i = (_h = toolCallDelta.function) == null ? void 0 : _h.arguments) != null ? _i : \"\";\n }\n controller.enqueue({\n type: \"tool-input-delta\",\n id: toolCall.id,\n delta: (_j = toolCallDelta.function.arguments) != null ? _j : \"\"\n });\n if (((_k = toolCall.function) == null ? void 0 : _k.name) != null && ((_l = toolCall.function) == null ? void 0 : _l.arguments) != null && isParsableJson(toolCall.function.arguments)) {\n controller.enqueue({\n type: \"tool-input-end\",\n id: toolCall.id\n });\n controller.enqueue({\n type: \"tool-call\",\n toolCallId: (_m = toolCall.id) != null ? _m : generateId(),\n toolName: toolCall.function.name,\n input: toolCall.function.arguments\n });\n toolCall.hasFinished = true;\n }\n }\n }\n },\n flush(controller) {\n if (isActiveReasoning) {\n controller.enqueue({ type: \"reasoning-end\", id: \"reasoning-0\" });\n }\n if (isActiveText) {\n controller.enqueue({ type: \"text-end\", id: \"txt-0\" });\n }\n controller.enqueue({\n type: \"finish\",\n finishReason,\n usage: convertGroqUsage(usage),\n ...providerMetadata != null ? { providerMetadata } : {}\n });\n }\n })\n ),\n request: { body },\n response: { headers: responseHeaders }\n };\n }\n};\nvar groqChatResponseSchema = z3.object({\n id: z3.string().nullish(),\n created: z3.number().nullish(),\n model: z3.string().nullish(),\n choices: z3.array(\n z3.object({\n message: z3.object({\n content: z3.string().nullish(),\n reasoning: z3.string().nullish(),\n tool_calls: z3.array(\n z3.object({\n id: z3.string().nullish(),\n type: z3.literal(\"function\"),\n function: z3.object({\n name: z3.string(),\n arguments: z3.string()\n })\n })\n ).nullish()\n }),\n index: z3.number(),\n finish_reason: z3.string().nullish()\n })\n ),\n usage: z3.object({\n prompt_tokens: z3.number().nullish(),\n completion_tokens: z3.number().nullish(),\n total_tokens: z3.number().nullish(),\n prompt_tokens_details: z3.object({\n cached_tokens: z3.number().nullish()\n }).nullish(),\n completion_tokens_details: z3.object({\n reasoning_tokens: z3.number().nullish()\n }).nullish()\n }).nullish()\n});\nvar groqChatChunkSchema = z3.union([\n z3.object({\n id: z3.string().nullish(),\n created: z3.number().nullish(),\n model: z3.string().nullish(),\n choices: z3.array(\n z3.object({\n delta: z3.object({\n content: z3.string().nullish(),\n reasoning: z3.string().nullish(),\n tool_calls: z3.array(\n z3.object({\n index: z3.number(),\n id: z3.string().nullish(),\n type: z3.literal(\"function\").optional(),\n function: z3.object({\n name: z3.string().nullish(),\n arguments: z3.string().nullish()\n })\n })\n ).nullish()\n }).nullish(),\n finish_reason: z3.string().nullable().optional(),\n index: z3.number()\n })\n ),\n x_groq: z3.object({\n usage: z3.object({\n prompt_tokens: z3.number().nullish(),\n completion_tokens: z3.number().nullish(),\n total_tokens: z3.number().nullish(),\n prompt_tokens_details: z3.object({\n cached_tokens: z3.number().nullish()\n }).nullish(),\n completion_tokens_details: z3.object({\n reasoning_tokens: z3.number().nullish()\n }).nullish()\n }).nullish()\n }).nullish()\n }),\n groqErrorDataSchema\n]);\n\n// src/groq-transcription-model.ts\nimport {\n combineHeaders as combineHeaders2,\n convertBase64ToUint8Array,\n createJsonResponseHandler as createJsonResponseHandler2,\n mediaTypeToExtension,\n parseProviderOptions as parseProviderOptions2,\n postFormDataToApi\n} from \"@ai-sdk/provider-utils\";\nimport { z as z5 } from \"zod/v4\";\n\n// src/groq-transcription-options.ts\nimport { lazySchema, zodSchema } from \"@ai-sdk/provider-utils\";\nimport { z as z4 } from \"zod/v4\";\nvar groqTranscriptionModelOptions = lazySchema(\n () => zodSchema(\n z4.object({\n language: z4.string().nullish(),\n prompt: z4.string().nullish(),\n responseFormat: z4.string().nullish(),\n temperature: z4.number().min(0).max(1).nullish(),\n timestampGranularities: z4.array(z4.string()).nullish()\n })\n )\n);\n\n// src/groq-transcription-model.ts\nvar GroqTranscriptionModel = class {\n constructor(modelId, config) {\n this.modelId = modelId;\n this.config = config;\n this.specificationVersion = \"v3\";\n }\n get provider() {\n return this.config.provider;\n }\n async getArgs({\n audio,\n mediaType,\n providerOptions\n }) {\n var _a, _b, _c, _d, _e;\n const warnings = [];\n const groqOptions = await parseProviderOptions2({\n provider: \"groq\",\n providerOptions,\n schema: groqTranscriptionModelOptions\n });\n const formData = new FormData();\n const blob = audio instanceof Uint8Array ? new Blob([audio]) : new Blob([convertBase64ToUint8Array(audio)]);\n formData.append(\"model\", this.modelId);\n const fileExtension = mediaTypeToExtension(mediaType);\n formData.append(\n \"file\",\n new File([blob], \"audio\", { type: mediaType }),\n `audio.${fileExtension}`\n );\n if (groqOptions) {\n const transcriptionModelOptions = {\n language: (_a = groqOptions.language) != null ? _a : void 0,\n prompt: (_b = groqOptions.prompt) != null ? _b : void 0,\n response_format: (_c = groqOptions.responseFormat) != null ? _c : void 0,\n temperature: (_d = groqOptions.temperature) != null ? _d : void 0,\n timestamp_granularities: (_e = groqOptions.timestampGranularities) != null ? _e : void 0\n };\n for (const key in transcriptionModelOptions) {\n const value = transcriptionModelOptions[key];\n if (value !== void 0) {\n if (Array.isArray(value)) {\n for (const item of value) {\n formData.append(`${key}[]`, String(item));\n }\n } else {\n formData.append(key, String(value));\n }\n }\n }\n }\n return {\n formData,\n warnings\n };\n }\n async doGenerate(options) {\n var _a, _b, _c, _d, _e, _f, _g;\n const currentDate = (_c = (_b = (_a = this.config._internal) == null ? void 0 : _a.currentDate) == null ? void 0 : _b.call(_a)) != null ? _c : /* @__PURE__ */ new Date();\n const { formData, warnings } = await this.getArgs(options);\n const {\n value: response,\n responseHeaders,\n rawValue: rawResponse\n } = await postFormDataToApi({\n url: this.config.url({\n path: \"/audio/transcriptions\",\n modelId: this.modelId\n }),\n headers: combineHeaders2(this.config.headers(), options.headers),\n formData,\n failedResponseHandler: groqFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler2(\n groqTranscriptionResponseSchema\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch\n });\n return {\n text: response.text,\n segments: (_e = (_d = response.segments) == null ? void 0 : _d.map((segment) => ({\n text: segment.text,\n startSecond: segment.start,\n endSecond: segment.end\n }))) != null ? _e : [],\n language: (_f = response.language) != null ? _f : void 0,\n durationInSeconds: (_g = response.duration) != null ? _g : void 0,\n warnings,\n response: {\n timestamp: currentDate,\n modelId: this.modelId,\n headers: responseHeaders,\n body: rawResponse\n }\n };\n }\n};\nvar groqTranscriptionResponseSchema = z5.object({\n text: z5.string(),\n x_groq: z5.object({\n id: z5.string()\n }),\n // additional properties are returned when `response_format: 'verbose_json'` is\n task: z5.string().nullish(),\n language: z5.string().nullish(),\n duration: z5.number().nullish(),\n segments: z5.array(\n z5.object({\n id: z5.number(),\n seek: z5.number(),\n start: z5.number(),\n end: z5.number(),\n text: z5.string(),\n tokens: z5.array(z5.number()),\n temperature: z5.number(),\n avg_logprob: z5.number(),\n compression_ratio: z5.number(),\n no_speech_prob: z5.number()\n })\n ).nullish()\n});\n\n// src/tool/browser-search.ts\nimport { createProviderToolFactory } from \"@ai-sdk/provider-utils\";\nimport { z as z6 } from \"zod/v4\";\nvar browserSearch = createProviderToolFactory({\n id: \"groq.browser_search\",\n inputSchema: z6.object({})\n});\n\n// src/groq-tools.ts\nvar groqTools = {\n browserSearch\n};\n\n// src/version.ts\nvar VERSION = true ? \"3.0.31\" : \"0.0.0-test\";\n\n// src/groq-provider.ts\nfunction createGroq(options = {}) {\n var _a;\n const baseURL = (_a = withoutTrailingSlash(options.baseURL)) != null ? _a : \"https://api.groq.com/openai/v1\";\n const getHeaders = () => withUserAgentSuffix(\n {\n Authorization: `Bearer ${loadApiKey({\n apiKey: options.apiKey,\n environmentVariableName: \"GROQ_API_KEY\",\n description: \"Groq\"\n })}`,\n ...options.headers\n },\n `ai-sdk/groq/${VERSION}`\n );\n const createChatModel = (modelId) => new GroqChatLanguageModel(modelId, {\n provider: \"groq.chat\",\n url: ({ path }) => `${baseURL}${path}`,\n headers: getHeaders,\n fetch: options.fetch\n });\n const createLanguageModel = (modelId) => {\n if (new.target) {\n throw new Error(\n \"The Groq model function cannot be called with the new keyword.\"\n );\n }\n return createChatModel(modelId);\n };\n const createTranscriptionModel = (modelId) => {\n return new GroqTranscriptionModel(modelId, {\n provider: \"groq.transcription\",\n url: ({ path }) => `${baseURL}${path}`,\n headers: getHeaders,\n fetch: options.fetch\n });\n };\n const provider = function(modelId) {\n return createLanguageModel(modelId);\n };\n provider.specificationVersion = \"v3\";\n provider.languageModel = createLanguageModel;\n provider.chat = createChatModel;\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 provider.transcription = createTranscriptionModel;\n provider.transcriptionModel = createTranscriptionModel;\n provider.tools = groqTools;\n return provider;\n}\nvar groq = createGroq();\nexport {\n VERSION,\n browserSearch,\n createGroq,\n groq\n};\n//# sourceMappingURL=index.mjs.map" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "4FE68C64837B6DCB64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["src/commands/handlers/api.ts"], | ||
| "sourcesContent": [ | ||
| "import { EOL } from \"node:os\"\nimport { Effect, Option } from \"effect\"\nimport { Commands } from \"../commands\"\nimport { Runtime } from \"../../framework/runtime\"\nimport { Service } from \"@opencode-ai/client/effect\"\nimport { Server } from \"../../services/server\"\n\nconst methods = new Set([\"delete\", \"get\", \"head\", \"options\", \"patch\", \"post\", \"put\"])\n\ntype Operation = {\n operationId?: string\n}\n\ntype OpenApi = {\n paths?: Record<string, Record<string, Operation>>\n}\n\nexport default Runtime.handler(\n Commands.commands.api,\n Effect.fn(\"cli.api\")(function* (input) {\n const server = yield* Server.resolve({\n server: Option.getOrUndefined(input.server),\n standalone: input.standalone,\n mismatch: \"ignore\",\n })\n const endpoint = server.endpoint\n const params = Option.getOrElse(input.param, () => ({}))\n const request = yield* resolveRequest(endpoint, input.request, params)\n const headers = new Headers(Service.headers(endpoint))\n for (const header of input.header) {\n const index = header.indexOf(\":\")\n if (index < 1) return yield* Effect.fail(new Error(`Invalid header, expected name:value: ${header}`))\n headers.set(header.slice(0, index).trim(), header.slice(index + 1).trim())\n }\n const body = Option.getOrUndefined(input.data)\n if (body !== undefined && !headers.has(\"content-type\")) headers.set(\"content-type\", \"application/json\")\n\n const response = yield* Effect.tryPromise(() =>\n fetch(new URL(request.path, endpoint.url), {\n method: request.method,\n headers,\n body,\n }),\n )\n const output = yield* Effect.promise(() => response.text())\n if (output) process.stdout.write(output + (output.endsWith(EOL) ? \"\" : EOL))\n }),\n)\n\nexport function resolveOperation(spec: OpenApi, operationID: string, params: Record<string, string>) {\n for (const [path, operations] of Object.entries(spec.paths ?? {})) {\n for (const [method, operation] of Object.entries(operations)) {\n if (!methods.has(method) || operation.operationId !== operationID) continue\n return { method: method.toUpperCase(), path: interpolate(path, params) }\n }\n }\n throw new Error(`Operation not found: ${operationID}`)\n}\n\nexport function rawRequest(input: readonly string[]) {\n if (input.length !== 2 || !methods.has(input[0].toLowerCase()) || !input[1].startsWith(\"/\")) return\n return { method: input[0].toUpperCase(), path: input[1] }\n}\n\nfunction resolveRequest(\n endpoint: Service.Endpoint,\n input: readonly string[],\n params: Record<string, string>,\n) {\n const raw = rawRequest(input)\n if (raw) return Effect.succeed(raw)\n if (input.length !== 1) return Effect.fail(new Error(\"Expected an operation name or an HTTP method and path\"))\n return Effect.tryPromise(async () => {\n const response = await fetch(new URL(\"/openapi.json\", endpoint.url), { headers: Service.headers(endpoint) })\n if (!response.ok) throw new Error(`Failed to load OpenAPI document: HTTP ${response.status}`)\n return resolveOperation((await response.json()) as OpenApi, input[0], params)\n })\n}\n\nfunction interpolate(path: string, params: Record<string, string>) {\n const used = new Set<string>()\n const pathname = path.replaceAll(/\\{([^}]+)\\}/g, (_, name: string) => {\n const value = params[name]\n if (value === undefined) throw new Error(`Missing path parameter: ${name}`)\n used.add(name)\n return encodeURIComponent(value)\n })\n const query = new URLSearchParams(Object.entries(params).filter(([name]) => !used.has(name))).toString()\n return query ? `${pathname}?${query}` : pathname\n}\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "628F1FD50491238F64756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260511173437_session-metadata.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260511173437_session-metadata\",\n up(tx) {\n return Effect.gen(function* () {\n // This column briefly shipped again under 20260530232709_lovely_romulus.\n if (\n (yield* tx.all<{ name: string }>(`PRAGMA table_info(\\`session\\`)`)).some((column) => column.name === \"metadata\")\n )\n return\n yield* tx.run(`ALTER TABLE \\`session\\` ADD \\`metadata\\` text;`)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,kCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAE7B,IACG,MAAO,EAAG,IAAsB,8BAAgC,GAAG,KAAK,CAAC,IAAW,EAAO,OAAS,UAAU,EAE/G,OACF,MAAO,EAAG,IAAI,4CAAgD,EAC/D,EAEL", | ||
| "debugId": "C71C5DCA94AC0E9264756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@opentelemetry+resources@2.6.1+460773ef8ff1e07c/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/machine-id/getMachineId-bsd.js"], | ||
| "sourcesContent": [ | ||
| "\"use strict\";\n/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getMachineId = void 0;\nconst fs_1 = require(\"fs\");\nconst execAsync_1 = require(\"./execAsync\");\nconst api_1 = require(\"@opentelemetry/api\");\nasync function getMachineId() {\n try {\n const result = await fs_1.promises.readFile('/etc/hostid', { encoding: 'utf8' });\n return result.trim();\n }\n catch (e) {\n api_1.diag.debug(`error reading machine id: ${e}`);\n }\n try {\n const result = await (0, execAsync_1.execAsync)('kenv -q smbios.system.uuid');\n return result.stdout.trim();\n }\n catch (e) {\n api_1.diag.debug(`error reading machine id: ${e}`);\n }\n return undefined;\n}\nexports.getMachineId = getMachineId;\n//# sourceMappingURL=getMachineId-bsd.js.map" | ||
| ], | ||
| "mappings": ";wKAKA,YAAO,oBAAe,EAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EACpD,eAAoB,OAC5B,IAAM,UACA,MACA,MACN,eAAe,CAAY,EAAG,CAC1B,GAAI,CAEA,OADe,MAAM,EAAK,SAAS,SAAS,cAAe,CAAE,SAAU,MAAO,CAAC,GACjE,KAAK,EAEvB,MAAO,EAAG,CACN,EAAM,KAAK,MAAM,6BAA6B,GAAG,EAErD,GAAI,CAEA,OADe,MAAO,EAAG,EAAY,WAAW,4BAA4B,GAC9D,OAAO,KAAK,EAE9B,MAAO,EAAG,CACN,EAAM,KAAK,MAAM,6BAA6B,GAAG,EAErD,OAEI,eAAe", | ||
| "debugId": "3E5E93A55BDEE8D164756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../schema/src/command.ts", "../schema/src/form.ts", "../schema/src/session.ts", "../schema/src/prompt-input.ts", "../schema/src/question.ts", "../schema/src/permission-saved.ts", "../schema/src/pty.ts", "../schema/src/reference.ts", "../schema/src/project-copy.ts", "../schema/src/catalog.ts", "../schema/src/mcp.ts", "../schema/src/mcp-event.ts", "../schema/src/plugin.ts", "../schema/src/project-directories.ts", "../schema/src/instruction-entry.ts", "../schema/src/vcs.ts", "../schema/src/models-dev.ts", "../schema/src/v1/filesystem.ts", "../schema/src/installation-event.ts", "../schema/src/v1/legacy-event.ts", "../schema/src/lsp-event.ts", "../schema/src/v1/question.ts", "../schema/src/server-event.ts", "../schema/src/session-compaction-event.ts", "../schema/src/session-status-event.ts", "../schema/src/tui-event.ts", "../schema/src/vcs-event.ts", "../schema/src/workspace-event.ts", "../schema/src/worktree-event.ts", "../schema/src/event-manifest.ts", "../schema/src/workspace.ts"], | ||
| "sourcesContent": [ | ||
| "export * as Command from \"./command.js\"\n\nimport { Schema } from \"effect\"\nimport { ephemeral, inventory } from \"./event.js\"\nimport { optional } from \"./schema.js\"\nimport { Model } from \"./model.js\"\nimport { Agent } from \"./agent.js\"\n\nconst Updated = ephemeral({ type: \"command.updated\", schema: {} })\n\nexport interface Info extends Schema.Schema.Type<typeof Info> {}\nexport const Info = Schema.Struct({\n name: Schema.String,\n template: Schema.String,\n description: Schema.String.pipe(optional),\n agent: Agent.ID.pipe(optional),\n model: Model.Ref.pipe(optional),\n subtask: Schema.Boolean.pipe(optional),\n}).annotate({ identifier: \"Command.Info\" })\n\nexport const Event = {\n Updated,\n Definitions: inventory(Updated),\n}\n", | ||
| "export * as Form from \"./form.js\"\n\nimport { Schema } from \"effect\"\nimport { ephemeral, inventory } from \"./event.js\"\nimport { ascending } from \"./identifier.js\"\nimport { NonNegativeInt, optional, statics } from \"./schema.js\"\n\nconst IDSchema = Schema.String.check(Schema.isStartsWith(\"frm_\")).pipe(Schema.brand(\"Form.ID\"))\n\nexport const ID = IDSchema.pipe(\n statics((schema: typeof IDSchema) => ({ create: (id?: string) => schema.make(id ?? \"frm_\" + ascending()) })),\n)\nexport type ID = typeof ID.Type\n\nexport const Metadata = Schema.Record(Schema.String, Schema.Unknown).annotate({ identifier: \"Form.Metadata\" })\nexport type Metadata = typeof Metadata.Type\n\nexport const Option = Schema.Struct({\n value: Schema.String,\n label: Schema.String,\n description: Schema.String.pipe(optional),\n}).annotate({ identifier: \"Form.Option\" })\nexport interface Option extends Schema.Schema.Type<typeof Option> {}\n\n// One visibility condition on a field. A field's `when` is a list of conditions that must all\n// hold (AND) against the current answers for the field to be active. Semantics:\n// - `value` must match the referenced field's type; against a multiselect answer, `eq` means\n// \"selection includes value\" and `neq` means \"selection does not include value\".\n// - An unanswered referenced field makes the condition false for both ops.\n// - `key` must reference a field defined earlier in the form's field list.\n// Inactive fields are neither required nor answerable.\nexport const When = Schema.Struct({\n key: Schema.String,\n op: Schema.Literals([\"eq\", \"neq\"]),\n value: Schema.Union([Schema.String, Schema.Number, Schema.Boolean]),\n}).annotate({ identifier: \"Form.When\" })\nexport interface When extends Schema.Schema.Type<typeof When> {}\n\nconst FieldBase = {\n key: Schema.String,\n title: Schema.String.pipe(optional),\n description: Schema.String.pipe(optional),\n required: Schema.Boolean.pipe(optional),\n when: Schema.Array(When).pipe(optional),\n}\n\nexport const StringField = Schema.Struct({\n ...FieldBase,\n type: Schema.Literal(\"string\"),\n format: Schema.Literals([\"email\", \"uri\", \"date\", \"date-time\"]).pipe(optional),\n minLength: NonNegativeInt.pipe(optional),\n maxLength: NonNegativeInt.pipe(optional),\n pattern: Schema.String.pipe(optional),\n placeholder: Schema.String.pipe(optional),\n default: Schema.String.pipe(optional),\n options: Schema.Array(Option).pipe(optional),\n custom: Schema.Boolean.pipe(optional),\n}).annotate({ identifier: \"Form.StringField\" })\nexport interface StringField extends Schema.Schema.Type<typeof StringField> {}\n\nexport const NumberField = Schema.Struct({\n ...FieldBase,\n type: Schema.Literal(\"number\"),\n minimum: Schema.Number.pipe(optional),\n maximum: Schema.Number.pipe(optional),\n default: Schema.Number.pipe(optional),\n}).annotate({ identifier: \"Form.NumberField\" })\nexport interface NumberField extends Schema.Schema.Type<typeof NumberField> {}\n\nexport const IntegerField = Schema.Struct({\n ...FieldBase,\n type: Schema.Literal(\"integer\"),\n minimum: Schema.Number.pipe(optional),\n maximum: Schema.Number.pipe(optional),\n default: Schema.Number.pipe(optional),\n}).annotate({ identifier: \"Form.IntegerField\" })\nexport interface IntegerField extends Schema.Schema.Type<typeof IntegerField> {}\n\nexport const BooleanField = Schema.Struct({\n ...FieldBase,\n type: Schema.Literal(\"boolean\"),\n default: Schema.Boolean.pipe(optional),\n}).annotate({ identifier: \"Form.BooleanField\" })\nexport interface BooleanField extends Schema.Schema.Type<typeof BooleanField> {}\n\nexport const MultiselectField = Schema.Struct({\n ...FieldBase,\n type: Schema.Literal(\"multiselect\"),\n options: Schema.Array(Option),\n minItems: NonNegativeInt.pipe(optional),\n maxItems: NonNegativeInt.pipe(optional),\n custom: Schema.Boolean.pipe(optional),\n default: Schema.Array(Schema.String).pipe(optional),\n}).annotate({ identifier: \"Form.MultiselectField\" })\nexport interface MultiselectField extends Schema.Schema.Type<typeof MultiselectField> {}\n\nexport const Field = Schema.Union([StringField, NumberField, IntegerField, BooleanField, MultiselectField]).pipe(\n Schema.toTaggedUnion(\"type\"),\n)\nexport type Field = StringField | NumberField | IntegerField | BooleanField | MultiselectField\n\nconst InfoBase = {\n id: ID,\n // This should be typed as SessionID. It is a plain string only because MCP elicitation\n // temporarily needs the `\"global\"` sentinel owner, which is not a real session. Once\n // elicitations can be attributed to real sessions, revert this to SessionID. Do not rely\n // on non-session owners anywhere else.\n sessionID: Schema.String,\n title: Schema.String,\n metadata: Metadata.pipe(optional),\n}\n\nexport const FormInfo = Schema.Struct({\n ...InfoBase,\n mode: Schema.Literal(\"form\"),\n fields: Schema.Array(Field),\n}).annotate({ identifier: \"Form.FormInfo\" })\nexport interface FormInfo extends Schema.Schema.Type<typeof FormInfo> {}\n\nexport const UrlInfo = Schema.Struct({\n ...InfoBase,\n mode: Schema.Literal(\"url\"),\n url: Schema.String,\n}).annotate({ identifier: \"Form.UrlInfo\" })\nexport interface UrlInfo extends Schema.Schema.Type<typeof UrlInfo> {}\n\nexport const Info = Schema.Union([FormInfo, UrlInfo]).pipe(Schema.toTaggedUnion(\"mode\"))\nexport type Info = FormInfo | UrlInfo\n\nexport const Value = Schema.Union([Schema.String, Schema.Number, Schema.Boolean, Schema.Array(Schema.String)]).annotate(\n {\n identifier: \"Form.Value\",\n },\n)\nexport type Value = typeof Value.Type\n\nexport const Answer = Schema.Record(Schema.String, Value).annotate({ identifier: \"Form.Answer\" })\nexport type Answer = typeof Answer.Type\n\nexport const State = Schema.Union([\n Schema.Struct({ status: Schema.Literal(\"pending\") }),\n Schema.Struct({ status: Schema.Literal(\"answered\"), answer: Answer }),\n Schema.Struct({ status: Schema.Literal(\"cancelled\") }),\n])\n .pipe(Schema.toTaggedUnion(\"status\"))\n .annotate({ identifier: \"Form.State\" })\nexport type State = typeof State.Type\n\nexport const Reply = Schema.Struct({\n answer: Answer,\n}).annotate({ identifier: \"Form.Reply\" })\nexport interface Reply extends Schema.Schema.Type<typeof Reply> {}\n\nconst Created = ephemeral({ type: \"form.created\", schema: { form: Info } })\nconst Replied = ephemeral({ type: \"form.replied\", schema: { id: ID, sessionID: Schema.String, answer: Answer } })\nconst Cancelled = ephemeral({ type: \"form.cancelled\", schema: { id: ID, sessionID: Schema.String } })\n\nexport const Event = { Created, Replied, Cancelled, Definitions: inventory(Created, Replied, Cancelled) }\n", | ||
| "export * as Session from \"./session.js\"\n\nimport { Schema } from \"effect\"\nimport { Agent } from \"./agent.js\"\nimport { Location } from \"./location.js\"\nimport { Model } from \"./model.js\"\nimport { Project } from \"./project.js\"\nimport { DateTimeUtcFromMillis, optional, RelativePath } from \"./schema.js\"\nimport { SessionEvent } from \"./session-event.js\"\nimport { SessionID } from \"./session-id.js\"\nimport { SessionMessage } from \"./session-message.js\"\nimport { Money } from \"./money.js\"\nimport { TokenUsage } from \"./token-usage.js\"\nimport { Revert } from \"./session-revert.js\"\n\nexport const ID = SessionID\nexport type ID = SessionID\n\nexport const Event = SessionEvent\n\nexport { Revert }\n\nexport interface Info extends Schema.Schema.Type<typeof Info> {}\nexport const Info = Schema.Struct({\n id: ID,\n parentID: ID.pipe(optional),\n fork: Schema.Struct({\n sessionID: ID,\n /** Messages before this exclusive boundary are copied into the fork. */\n messageID: SessionMessage.ID.pipe(optional),\n }).pipe(optional),\n projectID: Project.ID,\n agent: Agent.ID.pipe(optional),\n model: Model.Ref.pipe(optional),\n cost: Money.USD,\n tokens: TokenUsage.Info,\n time: Schema.Struct({\n created: DateTimeUtcFromMillis,\n updated: DateTimeUtcFromMillis,\n archived: DateTimeUtcFromMillis.pipe(optional),\n }),\n title: Schema.String,\n location: Location.Ref,\n subpath: RelativePath.pipe(optional),\n revert: Revert.pipe(optional),\n}).annotate({ identifier: \"Session.Info\" })\n\nexport const ListAnchor = Schema.Struct({\n id: ID,\n time: Schema.Finite,\n direction: Schema.Literals([\"previous\", \"next\"]),\n}).annotate({ identifier: \"Session.ListAnchor\" })\nexport interface ListAnchor extends Schema.Schema.Type<typeof ListAnchor> {}\n", | ||
| "export * as PromptInput from \"./prompt-input.js\"\n\nimport { Schema } from \"effect\"\nimport { AgentAttachment, PromptMention } from \"./prompt.js\"\nimport { optional, statics } from \"./schema.js\"\n\nexport interface FileAttachment extends Schema.Schema.Type<typeof FileAttachment> {}\nexport const FileAttachment = Schema.Struct({\n uri: Schema.String,\n name: Schema.String.pipe(optional),\n description: Schema.String.pipe(optional),\n mention: PromptMention.pipe(optional),\n})\n .annotate({ identifier: \"PromptInput.FileAttachment\" })\n .pipe(\n statics((schema) => ({\n create: (input: FileAttachment) => schema.make(input),\n })),\n )\n\nexport interface Prompt extends Schema.Schema.Type<typeof Prompt> {}\nexport const Prompt = Schema.Struct({\n text: Schema.String,\n files: Schema.Array(FileAttachment).pipe(optional),\n agents: Schema.Array(AgentAttachment).pipe(optional),\n}).annotate({ identifier: \"PromptInput\" })\n", | ||
| "export * as Question from \"./question.js\"\n\nimport { Schema } from \"effect\"\nimport { optional } from \"./schema.js\"\nimport { ephemeral, inventory } from \"./event.js\"\nimport { ascending } from \"./identifier.js\"\nimport { SessionID } from \"./session-id.js\"\nimport { statics } from \"./schema.js\"\n\nexport const ID = Schema.String.check(Schema.isStartsWith(\"que\")).pipe(\n Schema.brand(\"QuestionV2.ID\"),\n statics((schema) => {\n const create = () => schema.make(\"que_\" + ascending())\n return {\n create,\n ascending: (id?: string) => (id === undefined ? create() : schema.make(id)),\n }\n }),\n)\nexport type ID = typeof ID.Type\n\nexport const Option = Schema.Struct({\n label: Schema.String.annotate({ description: \"Display text (1-5 words, concise)\" }),\n description: Schema.String.annotate({ description: \"Explanation of choice\" }),\n}).annotate({ identifier: \"QuestionV2.Option\" })\nexport interface Option extends Schema.Schema.Type<typeof Option> {}\n\nconst base = {\n question: Schema.String.annotate({ description: \"Complete question\" }),\n header: Schema.String.annotate({ description: \"Very short label (max 30 chars)\" }),\n options: Schema.Array(Option).annotate({ description: \"Available choices\" }),\n multiple: Schema.Boolean.pipe(optional).annotate({ description: \"Allow selecting multiple choices\" }),\n}\n\nexport const Info = Schema.Struct({\n ...base,\n custom: Schema.Boolean.pipe(optional).annotate({\n description: \"Allow typing a custom answer (default: true)\",\n }),\n}).annotate({ identifier: \"QuestionV2.Info\" })\nexport interface Info extends Schema.Schema.Type<typeof Info> {}\n\nexport const Prompt = Schema.Struct(base).annotate({ identifier: \"QuestionV2.Prompt\" })\nexport interface Prompt extends Schema.Schema.Type<typeof Prompt> {}\n\nexport const Tool = Schema.Struct({\n messageID: Schema.String,\n callID: Schema.String,\n}).annotate({ identifier: \"QuestionV2.Tool\" })\nexport interface Tool extends Schema.Schema.Type<typeof Tool> {}\n\nexport const Request = Schema.Struct({\n id: ID,\n sessionID: SessionID,\n questions: Schema.Array(Info).annotate({ description: \"Questions to ask\" }),\n tool: Tool.pipe(optional),\n}).annotate({ identifier: \"QuestionV2.Request\" })\nexport interface Request extends Schema.Schema.Type<typeof Request> {}\n\nexport const Answer = Schema.Array(Schema.String).annotate({ identifier: \"QuestionV2.Answer\" })\nexport type Answer = typeof Answer.Type\n\nexport const Reply = Schema.Struct({\n answers: Schema.Array(Answer).annotate({\n description: \"User answers in order of questions (each answer is an array of selected labels)\",\n }),\n}).annotate({ identifier: \"QuestionV2.Reply\" })\nexport interface Reply extends Schema.Schema.Type<typeof Reply> {}\n\nconst Asked = ephemeral({ type: \"question.v2.asked\", schema: Request.fields })\nconst Replied = ephemeral({\n type: \"question.v2.replied\",\n schema: {\n sessionID: SessionID,\n requestID: ID,\n answers: Schema.Array(Answer),\n },\n})\nconst Rejected = ephemeral({\n type: \"question.v2.rejected\",\n schema: {\n sessionID: SessionID,\n requestID: ID,\n },\n})\nexport const Event = { Asked, Replied, Rejected, Definitions: inventory(Asked, Replied, Rejected) }\n", | ||
| "export * as PermissionSaved from \"./permission-saved.js\"\n\nimport { Schema } from \"effect\"\nimport { ascending } from \"./identifier.js\"\nimport { ProjectID } from \"./project-id.js\"\nimport { statics } from \"./schema.js\"\n\nexport const ID = Schema.String.pipe(\n Schema.brand(\"PermissionSaved.ID\"),\n statics((schema) => ({ create: () => schema.make(\"psv_\" + ascending()) })),\n)\nexport type ID = typeof ID.Type\n\nexport const Info = Schema.Struct({\n id: ID,\n projectID: ProjectID,\n action: Schema.String,\n resource: Schema.String,\n}).annotate({ identifier: \"PermissionSaved.Info\" })\nexport interface Info extends Schema.Schema.Type<typeof Info> {}\n", | ||
| "export * as Pty from \"./pty.js\"\n\nimport { Schema } from \"effect\"\nimport { optional } from \"./schema.js\"\nimport { ephemeral, inventory } from \"./event.js\"\nimport { ascending } from \"./identifier.js\"\nimport { NonNegativeInt, PositiveInt, statics } from \"./schema.js\"\n\nconst IDSchema = Schema.String.check(Schema.isStartsWith(\"pty\")).pipe(Schema.brand(\"PtyID\"))\n\nexport const ID = IDSchema.pipe(\n statics((schema: typeof IDSchema) => {\n const create = () => schema.make(\"pty_\" + ascending())\n return {\n create,\n ascending: (id?: string) => (id === undefined ? create() : schema.make(id)),\n }\n }),\n)\nexport type ID = typeof ID.Type\n\nexport const Info = Schema.Struct({\n id: ID,\n title: Schema.String,\n command: Schema.String,\n args: Schema.Array(Schema.String),\n cwd: Schema.String,\n status: Schema.Literals([\"running\", \"exited\"]),\n pid: NonNegativeInt,\n exitCode: optional(NonNegativeInt),\n}).annotate({ identifier: \"Pty\" })\nexport interface Info extends Schema.Schema.Type<typeof Info> {}\n\nconst Created = ephemeral({ type: \"pty.created\", schema: { info: Info } })\nconst Updated = ephemeral({ type: \"pty.updated\", schema: { info: Info } })\nconst Exited = ephemeral({ type: \"pty.exited\", schema: { id: ID, exitCode: NonNegativeInt } })\nconst Deleted = ephemeral({ type: \"pty.deleted\", schema: { id: ID } })\nexport const Event = { Created, Updated, Exited, Deleted, Definitions: inventory(Created, Updated, Exited, Deleted) }\n\nexport const CreateInput = Schema.Struct({\n command: optional(Schema.String),\n args: optional(Schema.Array(Schema.String)),\n cwd: optional(Schema.String),\n title: optional(Schema.String),\n env: optional(Schema.Record(Schema.String, Schema.String)),\n})\nexport interface CreateInput extends Schema.Schema.Type<typeof CreateInput> {}\n\nexport const UpdateInput = Schema.Struct({\n title: optional(Schema.String),\n size: optional(\n Schema.Struct({\n rows: PositiveInt,\n cols: PositiveInt,\n }),\n ),\n})\nexport interface UpdateInput extends Schema.Schema.Type<typeof UpdateInput> {}\n", | ||
| "export * as Reference from \"./reference.js\"\n\nimport { Schema } from \"effect\"\nimport { optional } from \"./schema.js\"\nimport { ephemeral, inventory } from \"./event.js\"\nimport { AbsolutePath } from \"./schema.js\"\n\nconst Updated = ephemeral({ type: \"reference.updated\", schema: {} })\nexport const Event = { Updated, Definitions: inventory(Updated) }\n\nexport interface LocalSource extends Schema.Schema.Type<typeof LocalSource> {}\nexport const LocalSource = Schema.Struct({\n type: Schema.Literal(\"local\"),\n path: AbsolutePath,\n description: Schema.String.pipe(optional),\n hidden: Schema.Boolean.pipe(optional),\n}).annotate({ identifier: \"Reference.LocalSource\" })\n\nexport interface GitSource extends Schema.Schema.Type<typeof GitSource> {}\nexport const GitSource = Schema.Struct({\n type: Schema.Literal(\"git\"),\n repository: Schema.String,\n branch: Schema.String.pipe(optional),\n description: Schema.String.pipe(optional),\n hidden: Schema.Boolean.pipe(optional),\n}).annotate({ identifier: \"Reference.GitSource\" })\n\nexport const Source = Schema.Union([LocalSource, GitSource])\n .pipe(Schema.toTaggedUnion(\"type\"))\n .annotate({ identifier: \"Reference.Source\" })\nexport type Source = typeof Source.Type\n\nexport class Info extends Schema.Class<Info>(\"Reference.Info\")({\n name: Schema.String,\n path: AbsolutePath,\n description: Schema.String.pipe(optional),\n hidden: Schema.Boolean.pipe(optional),\n source: Source,\n}) {}\n", | ||
| "export * as ProjectCopy from \"./project-copy.js\"\n\nimport { Schema } from \"effect\"\nimport { optional } from \"./schema.js\"\nimport { ProjectID } from \"./project-id.js\"\nimport { AbsolutePath } from \"./schema.js\"\n\nexport const StrategyID = Schema.Trim.pipe(Schema.check(Schema.isNonEmpty()), Schema.brand(\"ProjectCopy.StrategyID\"))\nexport type StrategyID = typeof StrategyID.Type\n\nexport const CreateInput = Schema.Struct({\n projectID: ProjectID,\n strategy: StrategyID,\n sourceDirectory: AbsolutePath,\n directory: AbsolutePath,\n name: optional(Schema.String),\n}).annotate({ identifier: \"ProjectCopy.CreateInput\" })\nexport interface CreateInput extends Schema.Schema.Type<typeof CreateInput> {}\n\nexport const RemoveInput = Schema.Struct({\n projectID: ProjectID,\n directory: AbsolutePath,\n force: Schema.Boolean,\n}).annotate({ identifier: \"ProjectCopy.RemoveInput\" })\nexport interface RemoveInput extends Schema.Schema.Type<typeof RemoveInput> {}\n\nexport const Copy = Schema.Struct({\n directory: AbsolutePath,\n}).annotate({ identifier: \"ProjectCopy.Copy\" })\nexport interface Copy extends Schema.Schema.Type<typeof Copy> {}\n", | ||
| "export * as Catalog from \"./catalog.js\"\n\nimport { ephemeral, inventory } from \"./event.js\"\n\nconst Updated = ephemeral({ type: \"catalog.updated\", schema: {} })\nexport const Event = { Updated, Definitions: inventory(Updated) }\n", | ||
| "export * as Mcp from \"./mcp.js\"\n\nimport { Schema } from \"effect\"\nimport { optional } from \"./schema.js\"\nimport { IntegrationID } from \"./integration-id.js\"\n\nconst Connected = Schema.Struct({ status: Schema.Literal(\"connected\") }).annotate({\n identifier: \"Mcp.Status.Connected\",\n})\nconst Pending = Schema.Struct({ status: Schema.Literal(\"pending\") }).annotate({\n identifier: \"Mcp.Status.Pending\",\n})\nconst Disabled = Schema.Struct({ status: Schema.Literal(\"disabled\") }).annotate({\n identifier: \"Mcp.Status.Disabled\",\n})\nconst Failed = Schema.Struct({ status: Schema.Literal(\"failed\"), error: Schema.String }).annotate({\n identifier: \"Mcp.Status.Failed\",\n})\nconst NeedsAuth = Schema.Struct({ status: Schema.Literal(\"needs_auth\") }).annotate({\n identifier: \"Mcp.Status.NeedsAuth\",\n})\nconst NeedsClientRegistration = Schema.Struct({\n status: Schema.Literal(\"needs_client_registration\"),\n error: Schema.String,\n}).annotate({ identifier: \"Mcp.Status.NeedsClientRegistration\" })\n\nexport type Status = typeof Status.Type\nexport const Status = Schema.Union([Connected, Pending, Disabled, Failed, NeedsAuth, NeedsClientRegistration]).pipe(\n Schema.toTaggedUnion(\"status\"),\n)\n\nexport interface Server extends Schema.Schema.Type<typeof Server> {}\nexport const Server = Schema.Struct({\n name: Schema.String,\n status: Status,\n // Set for remote servers registered as OAuth integrations; lets clients act on the right integration\n // without matching by name, which could collide with provider or plugin integrations.\n integrationID: optional(IntegrationID),\n}).annotate({ identifier: \"Mcp.Server\" })\n\nexport interface Resource extends Schema.Schema.Type<typeof Resource> {}\nexport const Resource = Schema.Struct({\n server: Schema.String,\n name: Schema.String,\n uri: Schema.String,\n description: optional(Schema.String),\n mimeType: optional(Schema.String),\n}).annotate({ identifier: \"Mcp.Resource\" })\n\nexport interface ResourceTemplate extends Schema.Schema.Type<typeof ResourceTemplate> {}\nexport const ResourceTemplate = Schema.Struct({\n server: Schema.String,\n name: Schema.String,\n uriTemplate: Schema.String,\n description: optional(Schema.String),\n mimeType: optional(Schema.String),\n}).annotate({ identifier: \"Mcp.ResourceTemplate\" })\n\nexport interface ResourceCatalog extends Schema.Schema.Type<typeof ResourceCatalog> {}\nexport const ResourceCatalog = Schema.Struct({\n resources: Schema.Array(Resource),\n templates: Schema.Array(ResourceTemplate),\n}).annotate({ identifier: \"Mcp.ResourceCatalog\" })\n\nexport const ResourceContentPart = Schema.Union([\n Schema.Struct({\n type: Schema.Literal(\"text\"),\n uri: Schema.String,\n text: Schema.String,\n mimeType: optional(Schema.String),\n }),\n Schema.Struct({\n type: Schema.Literal(\"blob\"),\n uri: Schema.String,\n blob: Schema.String,\n mimeType: optional(Schema.String),\n }),\n]).pipe(Schema.toTaggedUnion(\"type\"), Schema.annotate({ identifier: \"Mcp.ResourceContentPart\" }))\nexport type ResourceContentPart = typeof ResourceContentPart.Type\n\nexport interface ResourceContent extends Schema.Schema.Type<typeof ResourceContent> {}\nexport const ResourceContent = Schema.Struct({\n server: Schema.String,\n uri: Schema.String,\n contents: Schema.Array(ResourceContentPart),\n}).annotate({ identifier: \"Mcp.ResourceContent\" })\n", | ||
| "export * as McpEvent from \"./mcp-event.js\"\n\nimport { Schema } from \"effect\"\nimport { Event } from \"./event.js\"\n\nexport const ToolsChanged = Event.ephemeral({\n type: \"mcp.tools.changed\",\n schema: {\n server: Schema.String,\n },\n})\n\nexport const ResourcesChanged = Event.ephemeral({\n type: \"mcp.resources.changed\",\n schema: {\n server: Schema.String,\n },\n})\n\nexport const BrowserOpenFailed = Event.ephemeral({\n type: \"mcp.browser.open.failed\",\n schema: {\n mcpName: Schema.String,\n url: Schema.String,\n },\n})\n\n// Emitted whenever a server's connection status settles (connected, failed, needs_auth, closed) so\n// observers can refresh status without polling.\nexport const StatusChanged = Event.ephemeral({\n type: \"mcp.status.changed\",\n schema: {\n server: Schema.String,\n },\n})\n\nexport const Definitions = Event.inventory(ToolsChanged, ResourcesChanged, StatusChanged)\n", | ||
| "export * as Plugin from \"./plugin.js\"\n\nimport { Schema } from \"effect\"\nimport { ephemeral, inventory } from \"./event.js\"\n\nexport const ID = Schema.String.pipe(Schema.brand(\"Plugin.ID\"))\nexport type ID = typeof ID.Type\n\nexport interface Info extends Schema.Schema.Type<typeof Info> {}\nexport const Info = Schema.Struct({\n id: ID,\n}).annotate({ identifier: \"Plugin.Info\" })\n\nconst Added = ephemeral({\n type: \"plugin.added\",\n schema: { id: ID },\n})\nconst Updated = ephemeral({\n type: \"plugin.updated\",\n schema: {},\n})\nexport const Event = { Added, Updated, Definitions: inventory(Added, Updated) }\n", | ||
| "export * as ProjectDirectories from \"./project-directories.js\"\n\nimport { ephemeral, inventory } from \"./event.js\"\nimport { Project } from \"./project.js\"\n\nconst Updated = ephemeral({\n type: \"project.directories.updated\",\n schema: { projectID: Project.ID },\n})\nexport const Event = { Updated, Definitions: inventory(Updated) }\n", | ||
| "export * as InstructionEntry from \"./instruction-entry.js\"\n\nimport { Schema } from \"effect\"\n\n/**\n * Slash-free client-facing key for one API-managed instruction entry. The server\n * derives the namespaced Instructions key as `api/<key>`, keeping the\n * `api/*` namespace enforced by construction.\n */\nexport const Key = Schema.String.check(Schema.isPattern(/^[a-z0-9][a-z0-9._-]*$/)).annotate({\n identifier: \"InstructionEntry.Key\",\n description: \"Instruction entry key (lowercase alphanumerics plus . _ -)\",\n})\nexport type Key = typeof Key.Type\n\nexport const Info = Schema.Struct({\n key: Key,\n value: Schema.Json.annotate({ description: \"JSON value attached to the session's instructions\" }),\n}).annotate({ identifier: \"InstructionEntry.Info\" })\nexport interface Info extends Schema.Schema.Type<typeof Info> {}\n", | ||
| "export * as Vcs from \"./vcs.js\"\n\nimport { Schema } from \"effect\"\nimport { NonNegativeInt } from \"./schema.js\"\n\nexport const Mode = Schema.Literals([\"working\", \"branch\"]).annotate({ identifier: \"Vcs.Mode\" })\nexport type Mode = typeof Mode.Type\n\nexport const FileStatus = Schema.Struct({\n file: Schema.String,\n additions: NonNegativeInt,\n deletions: NonNegativeInt,\n status: Schema.Literals([\"added\", \"deleted\", \"modified\"]),\n}).annotate({ identifier: \"Vcs.FileStatus\" })\nexport interface FileStatus extends Schema.Schema.Type<typeof FileStatus> {}\n", | ||
| "export * as ModelsDev from \"./models-dev.js\"\n\nimport { ephemeral, inventory } from \"./event.js\"\n\nconst Refreshed = ephemeral({\n type: \"models-dev.refreshed\",\n schema: {},\n})\nexport const Event = { Refreshed, Definitions: inventory(Refreshed) }\n", | ||
| "export * as FileSystemV1 from \"./filesystem.js\"\n\nimport { Schema } from \"effect\"\nimport { ephemeral, inventory } from \"../event.js\"\n\nconst Edited = ephemeral({\n type: \"file.edited\",\n schema: { file: Schema.String },\n})\n\nexport const Event = { Edited, Definitions: inventory(Edited) }\n", | ||
| "export * as InstallationEvent from \"./installation-event.js\"\n\nimport { Schema } from \"effect\"\nimport { Event } from \"./event.js\"\n\nexport const Updated = Event.ephemeral({\n type: \"installation.updated\",\n schema: {\n version: Schema.String,\n },\n})\n\nexport const UpdateAvailable = Event.ephemeral({\n type: \"installation.update-available\",\n schema: {\n version: Schema.String,\n },\n})\n\nexport const Definitions = Event.inventory(Updated, UpdateAvailable)\n", | ||
| "export * as LegacyEvent from \"./legacy-event.js\"\n\nimport { Schema } from \"effect\"\nimport { ephemeral, inventory } from \"../event.js\"\nimport { SessionID } from \"../session-id.js\"\nimport { SessionV1 } from \"./session.js\"\n\nexport const CommandExecuted = ephemeral({\n type: \"command.executed\",\n schema: {\n name: Schema.String,\n sessionID: SessionID,\n arguments: Schema.String,\n messageID: SessionV1.MessageID,\n },\n})\n\nexport const Definitions = inventory(CommandExecuted)\n", | ||
| "export * as LspEvent from \"./lsp-event.js\"\n\nimport { Event } from \"./event.js\"\n\nexport const Updated = Event.ephemeral({ type: \"lsp.updated\", schema: {} })\n\nexport const Definitions = Event.inventory(Updated)\n", | ||
| "export * as QuestionV1 from \"./question.js\"\n\nimport { Schema } from \"effect\"\nimport { ephemeral, inventory } from \"../event.js\"\nimport { ascending } from \"../identifier.js\"\nimport { statics } from \"../schema.js\"\nimport { SessionID } from \"../session-id.js\"\nimport { SessionV1 } from \"./session.js\"\n\nexport const ID = Schema.String.check(Schema.isStartsWith(\"que\")).pipe(\n Schema.brand(\"QuestionID\"),\n statics((schema) => ({ ascending: (id?: string) => schema.make(id ?? \"que_\" + ascending()) })),\n)\n\nexport const Option = Schema.Struct({\n label: Schema.String.annotate({ description: \"Display text (1-5 words, concise)\" }),\n description: Schema.String.annotate({ description: \"Explanation of choice\" }),\n}).annotate({ identifier: \"QuestionOption\" })\n\nconst base = {\n question: Schema.String.annotate({ description: \"Complete question\" }),\n header: Schema.String.annotate({ description: \"Very short label (max 30 chars)\" }),\n options: Schema.Array(Option).annotate({ description: \"Available choices\" }),\n multiple: Schema.optional(Schema.Boolean).annotate({ description: \"Allow selecting multiple choices\" }),\n}\n\nexport const Info = Schema.Struct({\n ...base,\n custom: Schema.optional(Schema.Boolean).annotate({ description: \"Allow typing a custom answer (default: true)\" }),\n}).annotate({ identifier: \"QuestionInfo\" })\nexport const Prompt = Schema.Struct(base).annotate({ identifier: \"QuestionPrompt\" })\nexport const Tool = Schema.Struct({ messageID: SessionV1.MessageID, callID: Schema.String }).annotate({\n identifier: \"QuestionTool\",\n})\nexport const Request = Schema.Struct({\n id: ID,\n sessionID: SessionID,\n questions: Schema.Array(Info).annotate({ description: \"Questions to ask\" }),\n tool: Schema.optional(Tool),\n}).annotate({ identifier: \"QuestionRequest\" })\nexport const Answer = Schema.Array(Schema.String).annotate({ identifier: \"QuestionAnswer\" })\nexport const Reply = Schema.Struct({\n answers: Schema.Array(Answer).annotate({\n description: \"User answers in order of questions (each answer is an array of selected labels)\",\n }),\n}).annotate({ identifier: \"QuestionReply\" })\nexport const Replied = Schema.Struct({\n sessionID: SessionID,\n requestID: ID,\n answers: Schema.Array(Answer),\n}).annotate({\n identifier: \"QuestionReplied\",\n})\nexport const Rejected = Schema.Struct({ sessionID: SessionID, requestID: ID }).annotate({\n identifier: \"QuestionRejected\",\n})\n\nconst Asked = ephemeral({ type: \"question.asked\", schema: Request.fields })\nconst RepliedEvent = ephemeral({ type: \"question.replied\", schema: Replied.fields })\nconst RejectedEvent = ephemeral({ type: \"question.rejected\", schema: Rejected.fields })\nexport const Event = {\n Asked,\n Replied: RepliedEvent,\n Rejected: RejectedEvent,\n Definitions: inventory(Asked, RepliedEvent, RejectedEvent),\n}\n", | ||
| "export * as ServerEvent from \"./server-event.js\"\n\nimport { Event } from \"./event.js\"\n\nexport const Connected = Event.ephemeral({ type: \"server.connected\", schema: {} })\nexport const Disposed = Event.ephemeral({ type: \"global.disposed\", schema: {} })\n\nexport const Definitions = Event.inventory(Connected, Disposed)\n", | ||
| "export * as SessionCompactionEvent from \"./session-compaction-event.js\"\n\nimport { Event } from \"./event.js\"\nimport { SessionID } from \"./session-id.js\"\n\nexport const Compacted = Event.ephemeral({\n type: \"session.compacted\",\n schema: {\n sessionID: SessionID,\n },\n})\n\nexport const Definitions = Event.inventory(Compacted)\n", | ||
| "export * as SessionStatusEvent from \"./session-status-event.js\"\n\nimport { Schema } from \"effect\"\nimport { optional } from \"./schema.js\"\nimport { Event } from \"./event.js\"\nimport { NonNegativeInt } from \"./schema.js\"\nimport { SessionID } from \"./session-id.js\"\n\nexport const Info = Schema.Union([\n Schema.Struct({\n type: Schema.Literal(\"idle\"),\n }),\n Schema.Struct({\n type: Schema.Literal(\"retry\"),\n attempt: NonNegativeInt,\n message: Schema.String,\n action: optional(\n Schema.Struct({\n reason: Schema.String,\n provider: Schema.String,\n title: Schema.String,\n message: Schema.String,\n label: Schema.String,\n link: optional(Schema.String),\n }),\n ),\n next: NonNegativeInt,\n }),\n Schema.Struct({\n type: Schema.Literal(\"busy\"),\n }),\n]).annotate({ identifier: \"SessionStatus\" })\nexport type Info = Schema.Schema.Type<typeof Info>\n\nexport const Status = Event.ephemeral({\n type: \"session.status\",\n schema: {\n sessionID: SessionID,\n status: Info,\n },\n})\n\n// deprecated\nexport const Idle = Event.ephemeral({\n type: \"session.idle\",\n schema: {\n sessionID: SessionID,\n },\n})\n\nexport const Definitions = Event.inventory(Status, Idle)\n", | ||
| "export * as TuiEvent from \"./tui-event.js\"\n\nimport { Effect, Schema } from \"effect\"\nimport { optional } from \"./schema.js\"\nimport { Event } from \"./event.js\"\nimport { PositiveInt } from \"./schema.js\"\nimport { SessionID } from \"./session-id.js\"\n\nconst DEFAULT_TOAST_DURATION = 5000\n\nexport const PromptAppend = Event.ephemeral({ type: \"tui.prompt.append\", schema: { text: Schema.String } })\n\nexport const CommandExecute = Event.ephemeral({\n type: \"tui.command.execute\",\n schema: {\n command: Schema.Union([\n Schema.Literals([\n \"session.list\",\n \"session.new\",\n \"session.share\",\n \"session.interrupt\",\n \"session.background\",\n \"session.compact\",\n \"session.page.up\",\n \"session.page.down\",\n \"session.line.up\",\n \"session.line.down\",\n \"session.half.page.up\",\n \"session.half.page.down\",\n \"session.first\",\n \"session.last\",\n \"prompt.clear\",\n \"prompt.submit\",\n \"agent.cycle\",\n ]),\n Schema.String,\n ]),\n },\n})\n\nexport const ToastShow = Event.ephemeral({\n type: \"tui.toast.show\",\n schema: {\n title: optional(Schema.String),\n message: Schema.String,\n variant: Schema.Literals([\"info\", \"success\", \"warning\", \"error\"]),\n duration: PositiveInt.pipe(Schema.withDecodingDefault(Effect.succeed(DEFAULT_TOAST_DURATION))).annotate({\n description: \"Duration in milliseconds\",\n }),\n },\n})\n\nexport const SessionSelect = Event.ephemeral({\n type: \"tui.session.select\",\n schema: {\n sessionID: SessionID.annotate({ description: \"Session ID to navigate to\" }),\n },\n})\n\nexport const Definitions = Event.inventory(PromptAppend, CommandExecute, ToastShow, SessionSelect)\n", | ||
| "export * as VcsEvent from \"./vcs-event.js\"\n\nimport { Schema } from \"effect\"\nimport { optional } from \"./schema.js\"\nimport { Event } from \"./event.js\"\n\nexport const BranchUpdated = Event.ephemeral({\n type: \"vcs.branch.updated\",\n schema: {\n branch: optional(Schema.String),\n },\n})\n\nexport const Definitions = Event.inventory(BranchUpdated)\n", | ||
| "export * as WorkspaceEvent from \"./workspace-event.js\"\n\nimport { Schema } from \"effect\"\nimport { Event } from \"./event.js\"\nimport { WorkspaceID } from \"./workspace-id.js\"\n\nexport const ConnectionStatus = Schema.Struct({\n workspaceID: WorkspaceID,\n status: Schema.Literals([\"connected\", \"connecting\", \"disconnected\", \"error\"]),\n}).annotate({ identifier: \"WorkspaceEvent.ConnectionStatus\" })\nexport interface ConnectionStatus extends Schema.Schema.Type<typeof ConnectionStatus> {}\n\nexport const Ready = Event.ephemeral({\n type: \"workspace.ready\",\n schema: {\n name: Schema.String,\n },\n})\n\nexport const Failed = Event.ephemeral({\n type: \"workspace.failed\",\n schema: {\n message: Schema.String,\n },\n})\n\nexport const Status = Event.ephemeral({\n type: \"workspace.status\",\n schema: ConnectionStatus.fields,\n})\n\nexport const Definitions = Event.inventory(Ready, Failed, Status)\n", | ||
| "export * as WorktreeEvent from \"./worktree-event.js\"\n\nimport { Schema } from \"effect\"\nimport { optional } from \"./schema.js\"\nimport { Event } from \"./event.js\"\n\nexport const Ready = Event.ephemeral({\n type: \"worktree.ready\",\n schema: {\n name: Schema.String,\n branch: optional(Schema.String),\n },\n})\n\nexport const Failed = Event.ephemeral({\n type: \"worktree.failed\",\n schema: {\n message: Schema.String,\n },\n})\n\nexport const Definitions = Event.inventory(Ready, Failed)\n", | ||
| "export * as EventManifest from \"./event-manifest.js\"\n\nimport { Schema } from \"effect\"\nimport { Agent } from \"./agent.js\"\nimport { Catalog } from \"./catalog.js\"\nimport { Command } from \"./command.js\"\nimport { Config } from \"./config.js\"\nimport { Durable } from \"./durable-event-manifest.js\"\nimport { Event } from \"./event.js\"\nimport { FileSystem } from \"./filesystem.js\"\nimport { FileSystemV1 } from \"./filesystem-v1.js\"\nimport { Form } from \"./form.js\"\nimport { InstallationEvent } from \"./installation-event.js\"\nimport { Integration } from \"./integration.js\"\nimport { LegacyEvent } from \"./legacy-event.js\"\nimport { LspEvent } from \"./lsp-event.js\"\nimport { McpEvent } from \"./mcp-event.js\"\nimport { ModelsDev } from \"./models-dev.js\"\nimport { Permission } from \"./permission.js\"\nimport { PermissionV1 } from \"./permission-v1.js\"\nimport { Plugin } from \"./plugin.js\"\nimport { Project } from \"./project.js\"\nimport { ProjectDirectories } from \"./project-directories.js\"\nimport { Pty } from \"./pty.js\"\nimport { Question } from \"./question.js\"\nimport { QuestionV1 } from \"./question-v1.js\"\nimport { Reference } from \"./reference.js\"\nimport { ServerEvent } from \"./server-event.js\"\nimport { Shell } from \"./shell.js\"\nimport { Skill } from \"./skill.js\"\nimport { SessionCompactionEvent } from \"./session-compaction-event.js\"\nimport { SessionEvent } from \"./session-event.js\"\nimport { SessionStatusEvent } from \"./session-status-event.js\"\nimport { SessionV1 } from \"./session-v1.js\"\nimport { TuiEvent } from \"./tui-event.js\"\nimport { VcsEvent } from \"./vcs-event.js\"\nimport { WorkspaceEvent } from \"./workspace-event.js\"\nimport { WorktreeEvent } from \"./worktree-event.js\"\n\nconst sessionV1DurableDefinitions = SessionV1.Event.Definitions.filter(\n (definition) => definition.durability === \"durable\",\n)\nconst sessionV1LiveDefinitions = SessionV1.Event.Definitions.filter(\n (definition) => definition.durability === \"ephemeral\",\n)\n\nconst coreDefinitions = Event.inventory(...sessionV1DurableDefinitions, ...SessionEvent.Definitions)\n\nconst foundationDefinitions = Event.inventory(\n ...ModelsDev.Event.Definitions,\n ...Integration.Event.Definitions,\n ...Catalog.Event.Definitions,\n ...Agent.Event.Definitions,\n ...coreDefinitions,\n)\n\nconst featureDefinitions = Event.inventory(\n ...FileSystem.Event.Definitions,\n ...Reference.Event.Definitions,\n ...Permission.Event.Definitions,\n ...Plugin.Event.Definitions,\n ...ProjectDirectories.Event.Definitions,\n ...Command.Event.Definitions,\n ...Config.Event.Definitions,\n ...Skill.Event.Definitions,\n ...Pty.Event.Definitions,\n ...Shell.Event.Definitions,\n ...Question.Event.Definitions,\n ...Form.Event.Definitions,\n)\n\nexport const ServerDefinitions = Event.inventory(\n ...foundationDefinitions,\n ...featureDefinitions,\n // Current events the TUI consumes from the public stream.\n ...SessionStatusEvent.Definitions,\n ...TuiEvent.Definitions,\n ...InstallationEvent.Definitions,\n ...VcsEvent.Definitions,\n McpEvent.StatusChanged,\n McpEvent.ResourcesChanged,\n // Shared transitional: V1 contracts the current TUI still consumes during\n // the migration (permission.asked/replied, question.asked, session.error).\n // Remove when the TUI moves to the current permission/question surfaces.\n ...PermissionV1.Event.Definitions,\n ...QuestionV1.Event.Definitions,\n SessionV1.Error,\n)\nexport const Server = Event.latest(ServerDefinitions)\nexport type ServerEvent = Schema.Schema.Type<(typeof ServerDefinitions)[number]>\nexport const isServer = (event: { readonly type: string }): event is ServerEvent => Server.has(event.type)\n\nexport const Definitions = Event.inventory(\n ...foundationDefinitions,\n ...sessionV1LiveDefinitions,\n ...InstallationEvent.Definitions,\n ...featureDefinitions,\n ...LspEvent.Definitions,\n ...PermissionV1.Event.Definitions,\n ...TuiEvent.Definitions,\n ...McpEvent.Definitions,\n ...LegacyEvent.Definitions,\n ...FileSystemV1.Event.Definitions,\n ...Project.Event.Definitions,\n ...SessionStatusEvent.Definitions,\n ...QuestionV1.Event.Definitions,\n ...SessionCompactionEvent.Definitions,\n ...VcsEvent.Definitions,\n ...WorkspaceEvent.Definitions,\n ...WorktreeEvent.Definitions,\n ...ServerEvent.Definitions,\n)\nexport const Latest = Event.latest(Definitions)\nexport { Durable }\n", | ||
| "export * as Workspace from \"./workspace.js\"\n\nimport { WorkspaceEvent } from \"./workspace-event.js\"\nimport { WorkspaceID } from \"./workspace-id.js\"\n\nexport const ID = WorkspaceID\nexport type ID = WorkspaceID\n\nexport const Event = WorkspaceEvent\n" | ||
| ], | ||
| "mappings": ";umBAQA,SAAM,QAAU,OAAU,MAAE,UAAM,kBAAmB,OAAQ,CAAC,CAAE,CAAC,EAGpD,GAAO,EAAO,OAAO,CAChC,KAAM,EAAO,OACb,SAAU,EAAO,OACjB,YAAa,EAAO,OAAO,KAAK,CAAQ,EACxC,MAAO,EAAM,GAAG,KAAK,CAAQ,EAC7B,MAAO,EAAM,IAAI,KAAK,CAAQ,EAC9B,QAAS,EAAO,QAAQ,KAAK,CAAQ,CACvC,CAAC,EAAE,SAAS,CAAE,WAAY,cAAe,CAAC,EAE7B,GAAQ,CACnB,WACA,YAAa,EAAU,EAAO,CAChC,8SChBA,IAAM,GAAW,EAAO,OAAO,MAAM,EAAO,aAAa,MAAM,CAAC,EAAE,KAAK,EAAO,MAAM,SAAS,CAAC,EAEjF,EAAK,GAAS,KACzB,EAAQ,CAAC,KAA6B,CAAE,OAAQ,CAAC,IAAgB,EAAO,KAAK,GAAM,OAAS,EAAU,CAAC,CAAE,EAAE,CAC7G,EAGa,GAAW,EAAO,OAAO,EAAO,OAAQ,EAAO,OAAO,EAAE,SAAS,CAAE,WAAY,eAAgB,CAAC,EAGhG,EAAS,EAAO,OAAO,CAClC,MAAO,EAAO,OACd,MAAO,EAAO,OACd,YAAa,EAAO,OAAO,KAAK,CAAQ,CAC1C,CAAC,EAAE,SAAS,CAAE,WAAY,aAAc,CAAC,EAU5B,GAAO,EAAO,OAAO,CAChC,IAAK,EAAO,OACZ,GAAI,EAAO,SAAS,CAAC,KAAM,KAAK,CAAC,EACjC,MAAO,EAAO,MAAM,CAAC,EAAO,OAAQ,EAAO,OAAQ,EAAO,OAAO,CAAC,CACpE,CAAC,EAAE,SAAS,CAAE,WAAY,WAAY,CAAC,EAGjC,EAAY,CAChB,IAAK,EAAO,OACZ,MAAO,EAAO,OAAO,KAAK,CAAQ,EAClC,YAAa,EAAO,OAAO,KAAK,CAAQ,EACxC,SAAU,EAAO,QAAQ,KAAK,CAAQ,EACtC,KAAM,EAAO,MAAM,EAAI,EAAE,KAAK,CAAQ,CACxC,EAEa,GAAc,EAAO,OAAO,IACpC,EACH,KAAM,EAAO,QAAQ,QAAQ,EAC7B,OAAQ,EAAO,SAAS,CAAC,QAAS,MAAO,OAAQ,WAAW,CAAC,EAAE,KAAK,CAAQ,EAC5E,UAAW,EAAe,KAAK,CAAQ,EACvC,UAAW,EAAe,KAAK,CAAQ,EACvC,QAAS,EAAO,OAAO,KAAK,CAAQ,EACpC,YAAa,EAAO,OAAO,KAAK,CAAQ,EACxC,QAAS,EAAO,OAAO,KAAK,CAAQ,EACpC,QAAS,EAAO,MAAM,CAAM,EAAE,KAAK,CAAQ,EAC3C,OAAQ,EAAO,QAAQ,KAAK,CAAQ,CACtC,CAAC,EAAE,SAAS,CAAE,WAAY,kBAAmB,CAAC,EAGjC,GAAc,EAAO,OAAO,IACpC,EACH,KAAM,EAAO,QAAQ,QAAQ,EAC7B,QAAS,EAAO,OAAO,KAAK,CAAQ,EACpC,QAAS,EAAO,OAAO,KAAK,CAAQ,EACpC,QAAS,EAAO,OAAO,KAAK,CAAQ,CACtC,CAAC,EAAE,SAAS,CAAE,WAAY,kBAAmB,CAAC,EAGjC,GAAe,EAAO,OAAO,IACrC,EACH,KAAM,EAAO,QAAQ,SAAS,EAC9B,QAAS,EAAO,OAAO,KAAK,CAAQ,EACpC,QAAS,EAAO,OAAO,KAAK,CAAQ,EACpC,QAAS,EAAO,OAAO,KAAK,CAAQ,CACtC,CAAC,EAAE,SAAS,CAAE,WAAY,mBAAoB,CAAC,EAGlC,GAAe,EAAO,OAAO,IACrC,EACH,KAAM,EAAO,QAAQ,SAAS,EAC9B,QAAS,EAAO,QAAQ,KAAK,CAAQ,CACvC,CAAC,EAAE,SAAS,CAAE,WAAY,mBAAoB,CAAC,EAGlC,GAAmB,EAAO,OAAO,IACzC,EACH,KAAM,EAAO,QAAQ,aAAa,EAClC,QAAS,EAAO,MAAM,CAAM,EAC5B,SAAU,EAAe,KAAK,CAAQ,EACtC,SAAU,EAAe,KAAK,CAAQ,EACtC,OAAQ,EAAO,QAAQ,KAAK,CAAQ,EACpC,QAAS,EAAO,MAAM,EAAO,MAAM,EAAE,KAAK,CAAQ,CACpD,CAAC,EAAE,SAAS,CAAE,WAAY,uBAAwB,CAAC,EAGtC,GAAQ,EAAO,MAAM,CAAC,GAAa,GAAa,GAAc,GAAc,EAAgB,CAAC,EAAE,KAC1G,EAAO,cAAc,MAAM,CAC7B,EAGM,GAAW,CACf,GAAI,EAKJ,UAAW,EAAO,OAClB,MAAO,EAAO,OACd,SAAU,GAAS,KAAK,CAAQ,CAClC,EAEa,GAAW,EAAO,OAAO,IACjC,GACH,KAAM,EAAO,QAAQ,MAAM,EAC3B,OAAQ,EAAO,MAAM,EAAK,CAC5B,CAAC,EAAE,SAAS,CAAE,WAAY,eAAgB,CAAC,EAG9B,GAAU,EAAO,OAAO,IAChC,GACH,KAAM,EAAO,QAAQ,KAAK,EAC1B,IAAK,EAAO,MACd,CAAC,EAAE,SAAS,CAAE,WAAY,cAAe,CAAC,EAG7B,GAAO,EAAO,MAAM,CAAC,GAAU,EAAO,CAAC,EAAE,KAAK,EAAO,cAAc,MAAM,CAAC,EAG1E,GAAQ,EAAO,MAAM,CAAC,EAAO,OAAQ,EAAO,OAAQ,EAAO,QAAS,EAAO,MAAM,EAAO,MAAM,CAAC,CAAC,EAAE,SAC7G,CACE,WAAY,YACd,CACF,EAGa,EAAS,EAAO,OAAO,EAAO,OAAQ,EAAK,EAAE,SAAS,CAAE,WAAY,aAAc,CAAC,EAGnF,GAAQ,EAAO,MAAM,CAChC,EAAO,OAAO,CAAE,OAAQ,EAAO,QAAQ,SAAS,CAAE,CAAC,EACnD,EAAO,OAAO,CAAE,OAAQ,EAAO,QAAQ,UAAU,EAAG,OAAQ,CAAO,CAAC,EACpE,EAAO,OAAO,CAAE,OAAQ,EAAO,QAAQ,WAAW,CAAE,CAAC,CACvD,CAAC,EACE,KAAK,EAAO,cAAc,QAAQ,CAAC,EACnC,SAAS,CAAE,WAAY,YAAa,CAAC,EAG3B,GAAQ,EAAO,OAAO,CACjC,OAAQ,CACV,CAAC,EAAE,SAAS,CAAE,WAAY,YAAa,CAAC,EAGlC,GAAU,EAAU,CAAE,KAAM,eAAgB,OAAQ,CAAE,KAAM,EAAK,CAAE,CAAC,EACpE,GAAU,EAAU,CAAE,KAAM,eAAgB,OAAQ,CAAE,GAAI,EAAI,UAAW,EAAO,OAAQ,OAAQ,CAAO,CAAE,CAAC,EAC1G,GAAY,EAAU,CAAE,KAAM,iBAAkB,OAAQ,CAAE,GAAI,EAAI,UAAW,EAAO,MAAO,CAAE,CAAC,EAEvF,GAAQ,CAAE,WAAS,WAAS,aAAW,YAAa,EAAU,GAAS,GAAS,EAAS,CAAE,oGC9IjG,IAAM,EAAK,EAGL,GAAQ,EAKd,IAAM,GAAO,EAAO,OAAO,CAChC,GAAI,EACJ,SAAU,EAAG,KAAK,CAAQ,EAC1B,KAAM,EAAO,OAAO,CAClB,UAAW,EAEX,UAAW,GAAe,GAAG,KAAK,CAAQ,CAC5C,CAAC,EAAE,KAAK,CAAQ,EAChB,UAAW,EAAQ,GACnB,MAAO,EAAM,GAAG,KAAK,CAAQ,EAC7B,MAAO,EAAM,IAAI,KAAK,CAAQ,EAC9B,KAAM,GAAM,IACZ,OAAQ,GAAW,KACnB,KAAM,EAAO,OAAO,CAClB,QAAS,EACT,QAAS,EACT,SAAU,EAAsB,KAAK,CAAQ,CAC/C,CAAC,EACD,MAAO,EAAO,OACd,SAAU,GAAS,IACnB,QAAS,GAAa,KAAK,CAAQ,EACnC,OAAQ,EAAO,KAAK,CAAQ,CAC9B,CAAC,EAAE,SAAS,CAAE,WAAY,cAAe,CAAC,EAE7B,GAAa,EAAO,OAAO,CACtC,GAAI,EACJ,KAAM,EAAO,OACb,UAAW,EAAO,SAAS,CAAC,WAAY,MAAM,CAAC,CACjD,CAAC,EAAE,SAAS,CAAE,WAAY,oBAAqB,CAAC,2EC5CzC,IAAM,GAAiB,EAAO,OAAO,CAC1C,IAAK,EAAO,OACZ,KAAM,EAAO,OAAO,KAAK,CAAQ,EACjC,YAAa,EAAO,OAAO,KAAK,CAAQ,EACxC,QAAS,GAAc,KAAK,CAAQ,CACtC,CAAC,EACE,SAAS,CAAE,WAAY,4BAA6B,CAAC,EACrD,KACC,EAAQ,CAAC,KAAY,CACnB,OAAQ,CAAC,IAA0B,EAAO,KAAK,CAAK,CACtD,EAAE,CACJ,EAGW,GAAS,EAAO,OAAO,CAClC,KAAM,EAAO,OACb,MAAO,EAAO,MAAM,EAAc,EAAE,KAAK,CAAQ,EACjD,OAAQ,EAAO,MAAM,EAAe,EAAE,KAAK,CAAQ,CACrD,CAAC,EAAE,SAAS,CAAE,WAAY,aAAc,CAAC,qJChBlC,IAAM,EAAK,EAAO,OAAO,MAAM,EAAO,aAAa,KAAK,CAAC,EAAE,KAChE,EAAO,MAAM,eAAe,EAC5B,EAAQ,CAAC,IAAW,CAClB,IAAM,EAAS,IAAM,EAAO,KAAK,OAAS,EAAU,CAAC,EACrD,MAAO,CACL,SACA,UAAW,CAAC,IAAiB,IAAO,OAAY,EAAO,EAAI,EAAO,KAAK,CAAE,CAC3E,EACD,CACH,EAGa,GAAS,EAAO,OAAO,CAClC,MAAO,EAAO,OAAO,SAAS,CAAE,YAAa,mCAAoC,CAAC,EAClF,YAAa,EAAO,OAAO,SAAS,CAAE,YAAa,uBAAwB,CAAC,CAC9E,CAAC,EAAE,SAAS,CAAE,WAAY,mBAAoB,CAAC,EAGzC,GAAO,CACX,SAAU,EAAO,OAAO,SAAS,CAAE,YAAa,mBAAoB,CAAC,EACrE,OAAQ,EAAO,OAAO,SAAS,CAAE,YAAa,iCAAkC,CAAC,EACjF,QAAS,EAAO,MAAM,EAAM,EAAE,SAAS,CAAE,YAAa,mBAAoB,CAAC,EAC3E,SAAU,EAAO,QAAQ,KAAK,CAAQ,EAAE,SAAS,CAAE,YAAa,kCAAmC,CAAC,CACtG,EAEa,GAAO,EAAO,OAAO,IAC7B,GACH,OAAQ,EAAO,QAAQ,KAAK,CAAQ,EAAE,SAAS,CAC7C,YAAa,8CACf,CAAC,CACH,CAAC,EAAE,SAAS,CAAE,WAAY,iBAAkB,CAAC,EAGhC,GAAS,EAAO,OAAO,EAAI,EAAE,SAAS,CAAE,WAAY,mBAAoB,CAAC,EAGzE,GAAO,EAAO,OAAO,CAChC,UAAW,EAAO,OAClB,OAAQ,EAAO,MACjB,CAAC,EAAE,SAAS,CAAE,WAAY,iBAAkB,CAAC,EAGhC,GAAU,EAAO,OAAO,CACnC,GAAI,EACJ,UAAW,EACX,UAAW,EAAO,MAAM,EAAI,EAAE,SAAS,CAAE,YAAa,kBAAmB,CAAC,EAC1E,KAAM,GAAK,KAAK,CAAQ,CAC1B,CAAC,EAAE,SAAS,CAAE,WAAY,oBAAqB,CAAC,EAGnC,GAAS,EAAO,MAAM,EAAO,MAAM,EAAE,SAAS,CAAE,WAAY,mBAAoB,CAAC,EAGjF,GAAQ,EAAO,OAAO,CACjC,QAAS,EAAO,MAAM,EAAM,EAAE,SAAS,CACrC,YAAa,iFACf,CAAC,CACH,CAAC,EAAE,SAAS,CAAE,WAAY,kBAAmB,CAAC,EAGxC,GAAQ,EAAU,CAAE,KAAM,oBAAqB,OAAQ,GAAQ,MAAO,CAAC,EACvE,GAAU,EAAU,CACxB,KAAM,sBACN,OAAQ,CACN,UAAW,EACX,UAAW,EACX,QAAS,EAAO,MAAM,EAAM,CAC9B,CACF,CAAC,EACK,GAAW,EAAU,CACzB,KAAM,uBACN,OAAQ,CACN,UAAW,EACX,UAAW,CACb,CACF,CAAC,EACY,GAAQ,CAAE,SAAO,WAAS,YAAU,YAAa,EAAU,GAAO,GAAS,EAAQ,CAAE,iEC9E3F,IAAM,GAAK,EAAO,OAAO,KAC9B,EAAO,MAAM,oBAAoB,EACjC,EAAQ,CAAC,KAAY,CAAE,OAAQ,IAAM,EAAO,KAAK,OAAS,EAAU,CAAC,CAAE,EAAE,CAC3E,EAGa,GAAO,EAAO,OAAO,CAChC,GAAI,GACJ,UAAW,EACX,OAAQ,EAAO,OACf,SAAU,EAAO,MACnB,CAAC,EAAE,SAAS,CAAE,WAAY,sBAAuB,CAAC,oGCVlD,IAAM,GAAW,EAAO,OAAO,MAAM,EAAO,aAAa,KAAK,CAAC,EAAE,KAAK,EAAO,MAAM,OAAO,CAAC,EAE9E,EAAK,GAAS,KACzB,EAAQ,CAAC,IAA4B,CACnC,IAAM,EAAS,IAAM,EAAO,KAAK,OAAS,EAAU,CAAC,EACrD,MAAO,CACL,SACA,UAAW,CAAC,IAAiB,IAAO,OAAY,EAAO,EAAI,EAAO,KAAK,CAAE,CAC3E,EACD,CACH,EAGa,GAAO,EAAO,OAAO,CAChC,GAAI,EACJ,MAAO,EAAO,OACd,QAAS,EAAO,OAChB,KAAM,EAAO,MAAM,EAAO,MAAM,EAChC,IAAK,EAAO,OACZ,OAAQ,EAAO,SAAS,CAAC,UAAW,QAAQ,CAAC,EAC7C,IAAK,EACL,SAAU,EAAS,CAAc,CACnC,CAAC,EAAE,SAAS,CAAE,WAAY,KAAM,CAAC,EAG3B,GAAU,EAAU,CAAE,KAAM,cAAe,OAAQ,CAAE,KAAM,EAAK,CAAE,CAAC,EACnE,GAAU,EAAU,CAAE,KAAM,cAAe,OAAQ,CAAE,KAAM,EAAK,CAAE,CAAC,EACnE,GAAS,EAAU,CAAE,KAAM,aAAc,OAAQ,CAAE,GAAI,EAAI,SAAU,CAAe,CAAE,CAAC,EACvF,GAAU,EAAU,CAAE,KAAM,cAAe,OAAQ,CAAE,GAAI,CAAG,CAAE,CAAC,EACxD,GAAQ,CAAE,WAAS,WAAS,UAAQ,WAAS,YAAa,EAAU,GAAS,GAAS,GAAQ,EAAO,CAAE,EAEvG,GAAc,EAAO,OAAO,CACvC,QAAS,EAAS,EAAO,MAAM,EAC/B,KAAM,EAAS,EAAO,MAAM,EAAO,MAAM,CAAC,EAC1C,IAAK,EAAS,EAAO,MAAM,EAC3B,MAAO,EAAS,EAAO,MAAM,EAC7B,IAAK,EAAS,EAAO,OAAO,EAAO,OAAQ,EAAO,MAAM,CAAC,CAC3D,CAAC,EAGY,GAAc,EAAO,OAAO,CACvC,MAAO,EAAS,EAAO,MAAM,EAC7B,KAAM,EACJ,EAAO,OAAO,CACZ,KAAM,EACN,KAAM,CACR,CAAC,CACH,CACF,CAAC,6GCjDD,IAAM,GAAU,EAAU,CAAE,KAAM,oBAAqB,OAAQ,CAAC,CAAE,CAAC,EACtD,GAAQ,CAAE,WAAS,YAAa,EAAU,EAAO,CAAE,EAGnD,GAAc,EAAO,OAAO,CACvC,KAAM,EAAO,QAAQ,OAAO,EAC5B,KAAM,EACN,YAAa,EAAO,OAAO,KAAK,CAAQ,EACxC,OAAQ,EAAO,QAAQ,KAAK,CAAQ,CACtC,CAAC,EAAE,SAAS,CAAE,WAAY,uBAAwB,CAAC,EAGtC,GAAY,EAAO,OAAO,CACrC,KAAM,EAAO,QAAQ,KAAK,EAC1B,WAAY,EAAO,OACnB,OAAQ,EAAO,OAAO,KAAK,CAAQ,EACnC,YAAa,EAAO,OAAO,KAAK,CAAQ,EACxC,OAAQ,EAAO,QAAQ,KAAK,CAAQ,CACtC,CAAC,EAAE,SAAS,CAAE,WAAY,qBAAsB,CAAC,EAEpC,GAAS,EAAO,MAAM,CAAC,GAAa,EAAS,CAAC,EACxD,KAAK,EAAO,cAAc,MAAM,CAAC,EACjC,SAAS,CAAE,WAAY,kBAAmB,CAAC,EAGvC,MAAM,WAAa,EAAO,MAAY,gBAAgB,EAAE,CAC7D,KAAM,EAAO,OACb,KAAM,EACN,YAAa,EAAO,OAAO,KAAK,CAAQ,EACxC,OAAQ,EAAO,QAAQ,KAAK,CAAQ,EACpC,OAAQ,EACV,CAAC,CAAE,CAAC,0GC/BG,IAAM,GAAa,EAAO,KAAK,KAAK,EAAO,MAAM,EAAO,WAAW,CAAC,EAAG,EAAO,MAAM,wBAAwB,CAAC,EAGvG,GAAc,EAAO,OAAO,CACvC,UAAW,EACX,SAAU,GACV,gBAAiB,EACjB,UAAW,EACX,KAAM,EAAS,EAAO,MAAM,CAC9B,CAAC,EAAE,SAAS,CAAE,WAAY,yBAA0B,CAAC,EAGxC,GAAc,EAAO,OAAO,CACvC,UAAW,EACX,UAAW,EACX,MAAO,EAAO,OAChB,CAAC,EAAE,SAAS,CAAE,WAAY,yBAA0B,CAAC,EAGxC,GAAO,EAAO,OAAO,CAChC,UAAW,CACb,CAAC,EAAE,SAAS,CAAE,WAAY,kBAAmB,CAAC,6CCxB9C,IAAM,GAAU,EAAU,CAAE,KAAM,kBAAmB,OAAQ,CAAC,CAAE,CAAC,EACpD,GAAQ,CAAE,WAAS,YAAa,EAAU,EAAO,CAAE,4KCChE,IAAM,GAAY,EAAO,OAAO,CAAE,OAAQ,EAAO,QAAQ,WAAW,CAAE,CAAC,EAAE,SAAS,CAChF,WAAY,sBACd,CAAC,EACK,GAAU,EAAO,OAAO,CAAE,OAAQ,EAAO,QAAQ,SAAS,CAAE,CAAC,EAAE,SAAS,CAC5E,WAAY,oBACd,CAAC,EACK,GAAW,EAAO,OAAO,CAAE,OAAQ,EAAO,QAAQ,UAAU,CAAE,CAAC,EAAE,SAAS,CAC9E,WAAY,qBACd,CAAC,EACK,GAAS,EAAO,OAAO,CAAE,OAAQ,EAAO,QAAQ,QAAQ,EAAG,MAAO,EAAO,MAAO,CAAC,EAAE,SAAS,CAChG,WAAY,mBACd,CAAC,EACK,GAAY,EAAO,OAAO,CAAE,OAAQ,EAAO,QAAQ,YAAY,CAAE,CAAC,EAAE,SAAS,CACjF,WAAY,sBACd,CAAC,EACK,GAA0B,EAAO,OAAO,CAC5C,OAAQ,EAAO,QAAQ,2BAA2B,EAClD,MAAO,EAAO,MAChB,CAAC,EAAE,SAAS,CAAE,WAAY,oCAAqC,CAAC,EAGnD,GAAS,EAAO,MAAM,CAAC,GAAW,GAAS,GAAU,GAAQ,GAAW,EAAuB,CAAC,EAAE,KAC7G,EAAO,cAAc,QAAQ,CAC/B,EAGa,GAAS,EAAO,OAAO,CAClC,KAAM,EAAO,OACb,OAAQ,GAGR,cAAe,EAAS,EAAa,CACvC,CAAC,EAAE,SAAS,CAAE,WAAY,YAAa,CAAC,EAG3B,GAAW,EAAO,OAAO,CACpC,OAAQ,EAAO,OACf,KAAM,EAAO,OACb,IAAK,EAAO,OACZ,YAAa,EAAS,EAAO,MAAM,EACnC,SAAU,EAAS,EAAO,MAAM,CAClC,CAAC,EAAE,SAAS,CAAE,WAAY,cAAe,CAAC,EAG7B,GAAmB,EAAO,OAAO,CAC5C,OAAQ,EAAO,OACf,KAAM,EAAO,OACb,YAAa,EAAO,OACpB,YAAa,EAAS,EAAO,MAAM,EACnC,SAAU,EAAS,EAAO,MAAM,CAClC,CAAC,EAAE,SAAS,CAAE,WAAY,sBAAuB,CAAC,EAGrC,GAAkB,EAAO,OAAO,CAC3C,UAAW,EAAO,MAAM,EAAQ,EAChC,UAAW,EAAO,MAAM,EAAgB,CAC1C,CAAC,EAAE,SAAS,CAAE,WAAY,qBAAsB,CAAC,EAEpC,GAAsB,EAAO,MAAM,CAC9C,EAAO,OAAO,CACZ,KAAM,EAAO,QAAQ,MAAM,EAC3B,IAAK,EAAO,OACZ,KAAM,EAAO,OACb,SAAU,EAAS,EAAO,MAAM,CAClC,CAAC,EACD,EAAO,OAAO,CACZ,KAAM,EAAO,QAAQ,MAAM,EAC3B,IAAK,EAAO,OACZ,KAAM,EAAO,OACb,SAAU,EAAS,EAAO,MAAM,CAClC,CAAC,CACH,CAAC,EAAE,KAAK,EAAO,cAAc,MAAM,EAAG,EAAO,SAAS,CAAE,WAAY,yBAA0B,CAAC,CAAC,EAInF,GAAkB,EAAO,OAAO,CAC3C,OAAQ,EAAO,OACf,IAAK,EAAO,OACZ,SAAU,EAAO,MAAM,EAAmB,CAC5C,CAAC,EAAE,SAAS,CAAE,WAAY,qBAAsB,CAAC,8IChF1C,IAAM,GAAe,EAAM,UAAU,CAC1C,KAAM,oBACN,OAAQ,CACN,OAAQ,EAAO,MACjB,CACF,CAAC,EAEY,GAAmB,EAAM,UAAU,CAC9C,KAAM,wBACN,OAAQ,CACN,OAAQ,EAAO,MACjB,CACF,CAAC,EAEY,GAAoB,EAAM,UAAU,CAC/C,KAAM,0BACN,OAAQ,CACN,QAAS,EAAO,OAChB,IAAK,EAAO,MACd,CACF,CAAC,EAIY,GAAgB,EAAM,UAAU,CAC3C,KAAM,qBACN,OAAQ,CACN,OAAQ,EAAO,MACjB,CACF,CAAC,EAEY,GAAc,EAAM,UAAU,GAAc,GAAkB,EAAa,kEC/BjF,IAAM,GAAK,EAAO,OAAO,KAAK,EAAO,MAAM,WAAW,CAAC,EAIjD,GAAO,EAAO,OAAO,CAChC,GAAI,EACN,CAAC,EAAE,SAAS,CAAE,WAAY,aAAc,CAAC,EAEnC,GAAQ,EAAU,CACtB,KAAM,eACN,OAAQ,CAAE,GAAI,EAAG,CACnB,CAAC,EACK,GAAU,EAAU,CACxB,KAAM,iBACN,OAAQ,CAAC,CACX,CAAC,EACY,GAAQ,CAAE,SAAO,WAAS,YAAa,EAAU,GAAO,EAAO,CAAE,wDChB9E,IAAM,GAAU,EAAU,CACxB,KAAM,8BACN,OAAQ,CAAE,UAAW,EAAQ,EAAG,CAClC,CAAC,EACY,GAAQ,CAAE,WAAS,YAAa,EAAU,EAAO,CAAE,mECAzD,IAAM,GAAM,EAAO,OAAO,MAAM,EAAO,UAAU,wBAAwB,CAAC,EAAE,SAAS,CAC1F,WAAY,uBACZ,YAAa,4DACf,CAAC,EAGY,GAAO,EAAO,OAAO,CAChC,IAAK,GACL,MAAO,EAAO,KAAK,SAAS,CAAE,YAAa,mDAAoD,CAAC,CAClG,CAAC,EAAE,SAAS,CAAE,WAAY,uBAAwB,CAAC,6DCb5C,IAAM,GAAO,EAAO,SAAS,CAAC,UAAW,QAAQ,CAAC,EAAE,SAAS,CAAE,WAAY,UAAW,CAAC,EAGjF,GAAa,EAAO,OAAO,CACtC,KAAM,EAAO,OACb,UAAW,EACX,UAAW,EACX,OAAQ,EAAO,SAAS,CAAC,QAAS,UAAW,UAAU,CAAC,CAC1D,CAAC,EAAE,SAAS,CAAE,WAAY,gBAAiB,CAAC,+CCT5C,IAAM,GAAY,EAAU,CAC1B,KAAM,uBACN,OAAQ,CAAC,CACX,CAAC,EACY,GAAQ,CAAE,aAAW,YAAa,EAAU,EAAS,CAAE,gMCHpE,IAAM,GAAS,EAAU,CACvB,KAAM,cACN,OAAQ,CAAE,KAAM,EAAO,MAAO,CAChC,CAAC,EAEY,GAAQ,CAAE,UAAQ,YAAa,EAAU,EAAM,CAAE,mGCLvD,IAAM,GAAU,EAAM,UAAU,CACrC,KAAM,uBACN,OAAQ,CACN,QAAS,EAAO,MAClB,CACF,CAAC,EAEY,GAAkB,EAAM,UAAU,CAC7C,KAAM,gCACN,OAAQ,CACN,QAAS,EAAO,MAClB,CACF,CAAC,EAEY,GAAc,EAAM,UAAU,GAAS,EAAe,8ECZ5D,IAAM,GAAkB,EAAU,CACvC,KAAM,mBACN,OAAQ,CACN,KAAM,EAAO,OACb,UAAW,EACX,UAAW,EAAO,OAClB,UAAW,EAAU,SACvB,CACF,CAAC,EAEY,GAAc,EAAU,EAAe,mECb7C,IAAM,GAAU,EAAM,UAAU,CAAE,KAAM,cAAe,OAAQ,CAAC,CAAE,CAAC,EAE7D,GAAc,EAAM,UAAU,EAAO,sLCG3C,IAAM,EAAK,EAAO,OAAO,MAAM,EAAO,aAAa,KAAK,CAAC,EAAE,KAChE,EAAO,MAAM,YAAY,EACzB,EAAQ,CAAC,KAAY,CAAE,UAAW,CAAC,IAAgB,EAAO,KAAK,GAAM,OAAS,EAAU,CAAC,CAAE,EAAE,CAC/F,EAEa,GAAS,EAAO,OAAO,CAClC,MAAO,EAAO,OAAO,SAAS,CAAE,YAAa,mCAAoC,CAAC,EAClF,YAAa,EAAO,OAAO,SAAS,CAAE,YAAa,uBAAwB,CAAC,CAC9E,CAAC,EAAE,SAAS,CAAE,WAAY,gBAAiB,CAAC,EAEtC,GAAO,CACX,SAAU,EAAO,OAAO,SAAS,CAAE,YAAa,mBAAoB,CAAC,EACrE,OAAQ,EAAO,OAAO,SAAS,CAAE,YAAa,iCAAkC,CAAC,EACjF,QAAS,EAAO,MAAM,EAAM,EAAE,SAAS,CAAE,YAAa,mBAAoB,CAAC,EAC3E,SAAU,EAAO,SAAS,EAAO,OAAO,EAAE,SAAS,CAAE,YAAa,kCAAmC,CAAC,CACxG,EAEa,GAAO,EAAO,OAAO,IAC7B,GACH,OAAQ,EAAO,SAAS,EAAO,OAAO,EAAE,SAAS,CAAE,YAAa,8CAA+C,CAAC,CAClH,CAAC,EAAE,SAAS,CAAE,WAAY,cAAe,CAAC,EAC7B,GAAS,EAAO,OAAO,EAAI,EAAE,SAAS,CAAE,WAAY,gBAAiB,CAAC,EACtE,GAAO,EAAO,OAAO,CAAE,UAAW,EAAU,UAAW,OAAQ,EAAO,MAAO,CAAC,EAAE,SAAS,CACpG,WAAY,cACd,CAAC,EACY,GAAU,EAAO,OAAO,CACnC,GAAI,EACJ,UAAW,EACX,UAAW,EAAO,MAAM,EAAI,EAAE,SAAS,CAAE,YAAa,kBAAmB,CAAC,EAC1E,KAAM,EAAO,SAAS,EAAI,CAC5B,CAAC,EAAE,SAAS,CAAE,WAAY,iBAAkB,CAAC,EAChC,GAAS,EAAO,MAAM,EAAO,MAAM,EAAE,SAAS,CAAE,WAAY,gBAAiB,CAAC,EAC9E,GAAQ,EAAO,OAAO,CACjC,QAAS,EAAO,MAAM,EAAM,EAAE,SAAS,CACrC,YAAa,iFACf,CAAC,CACH,CAAC,EAAE,SAAS,CAAE,WAAY,eAAgB,CAAC,EAC9B,GAAU,EAAO,OAAO,CACnC,UAAW,EACX,UAAW,EACX,QAAS,EAAO,MAAM,EAAM,CAC9B,CAAC,EAAE,SAAS,CACV,WAAY,iBACd,CAAC,EACY,GAAW,EAAO,OAAO,CAAE,UAAW,EAAW,UAAW,CAAG,CAAC,EAAE,SAAS,CACtF,WAAY,kBACd,CAAC,EAEK,GAAQ,EAAU,CAAE,KAAM,iBAAkB,OAAQ,GAAQ,MAAO,CAAC,EACpE,GAAe,EAAU,CAAE,KAAM,mBAAoB,OAAQ,GAAQ,MAAO,CAAC,EAC7E,GAAgB,EAAU,CAAE,KAAM,oBAAqB,OAAQ,GAAS,MAAO,CAAC,EACzE,GAAQ,CACnB,SACA,QAAS,GACT,SAAU,GACV,YAAa,EAAU,GAAO,GAAc,EAAa,CAC3D,wFC7DO,IAAM,GAAY,EAAM,UAAU,CAAE,KAAM,mBAAoB,OAAQ,CAAC,CAAE,CAAC,EACpE,GAAW,EAAM,UAAU,CAAE,KAAM,kBAAmB,OAAQ,CAAC,CAAE,CAAC,EAElE,GAAc,EAAM,UAAU,GAAW,EAAQ,mFCFvD,IAAM,GAAY,EAAM,UAAU,CACvC,KAAM,oBACN,OAAQ,CACN,UAAW,CACb,CACF,CAAC,EAEY,GAAc,EAAM,UAAU,EAAS,oGCJ7C,IAAM,GAAO,EAAO,MAAM,CAC/B,EAAO,OAAO,CACZ,KAAM,EAAO,QAAQ,MAAM,CAC7B,CAAC,EACD,EAAO,OAAO,CACZ,KAAM,EAAO,QAAQ,OAAO,EAC5B,QAAS,EACT,QAAS,EAAO,OAChB,OAAQ,EACN,EAAO,OAAO,CACZ,OAAQ,EAAO,OACf,SAAU,EAAO,OACjB,MAAO,EAAO,OACd,QAAS,EAAO,OAChB,MAAO,EAAO,OACd,KAAM,EAAS,EAAO,MAAM,CAC9B,CAAC,CACH,EACA,KAAM,CACR,CAAC,EACD,EAAO,OAAO,CACZ,KAAM,EAAO,QAAQ,MAAM,CAC7B,CAAC,CACH,CAAC,EAAE,SAAS,CAAE,WAAY,eAAgB,CAAC,EAG9B,GAAS,EAAM,UAAU,CACpC,KAAM,iBACN,OAAQ,CACN,UAAW,EACX,OAAQ,EACV,CACF,CAAC,EAGY,GAAO,EAAM,UAAU,CAClC,KAAM,eACN,OAAQ,CACN,UAAW,CACb,CACF,CAAC,EAEY,GAAc,EAAM,UAAU,GAAQ,EAAI,oIC1CvD,IAAM,GAAyB,KAElB,GAAe,EAAM,UAAU,CAAE,KAAM,oBAAqB,OAAQ,CAAE,KAAM,EAAO,MAAO,CAAE,CAAC,EAE7F,GAAiB,EAAM,UAAU,CAC5C,KAAM,sBACN,OAAQ,CACN,QAAS,EAAO,MAAM,CACpB,EAAO,SAAS,CACd,eACA,cACA,gBACA,oBACA,qBACA,kBACA,kBACA,oBACA,kBACA,oBACA,uBACA,yBACA,gBACA,eACA,eACA,gBACA,aACF,CAAC,EACD,EAAO,MACT,CAAC,CACH,CACF,CAAC,EAEY,GAAY,EAAM,UAAU,CACvC,KAAM,iBACN,OAAQ,CACN,MAAO,EAAS,EAAO,MAAM,EAC7B,QAAS,EAAO,OAChB,QAAS,EAAO,SAAS,CAAC,OAAQ,UAAW,UAAW,OAAO,CAAC,EAChE,SAAU,EAAY,KAAK,EAAO,oBAAoB,GAAO,QAAQ,EAAsB,CAAC,CAAC,EAAE,SAAS,CACtG,YAAa,0BACf,CAAC,CACH,CACF,CAAC,EAEY,GAAgB,EAAM,UAAU,CAC3C,KAAM,qBACN,OAAQ,CACN,UAAW,EAAU,SAAS,CAAE,YAAa,2BAA4B,CAAC,CAC5E,CACF,CAAC,EAEY,GAAc,EAAM,UAAU,GAAc,GAAgB,GAAW,EAAa,yECrD1F,IAAM,GAAgB,EAAM,UAAU,CAC3C,KAAM,qBACN,OAAQ,CACN,OAAQ,EAAS,EAAO,MAAM,CAChC,CACF,CAAC,EAEY,GAAc,EAAM,UAAU,EAAa,2HCPjD,IAAM,GAAmB,EAAO,OAAO,CAC5C,YAAa,EACb,OAAQ,EAAO,SAAS,CAAC,YAAa,aAAc,eAAgB,OAAO,CAAC,CAC9E,CAAC,EAAE,SAAS,CAAE,WAAY,iCAAkC,CAAC,EAGhD,GAAQ,EAAM,UAAU,CACnC,KAAM,kBACN,OAAQ,CACN,KAAM,EAAO,MACf,CACF,CAAC,EAEY,GAAS,EAAM,UAAU,CACpC,KAAM,mBACN,OAAQ,CACN,QAAS,EAAO,MAClB,CACF,CAAC,EAEY,GAAS,EAAM,UAAU,CACpC,KAAM,mBACN,OAAQ,GAAiB,MAC3B,CAAC,EAEY,GAAc,EAAM,UAAU,GAAO,GAAQ,EAAM,oFCzBzD,IAAM,GAAQ,EAAM,UAAU,CACnC,KAAM,iBACN,OAAQ,CACN,KAAM,EAAO,OACb,OAAQ,EAAS,EAAO,MAAM,CAChC,CACF,CAAC,EAEY,GAAS,EAAM,UAAU,CACpC,KAAM,kBACN,OAAQ,CACN,QAAS,EAAO,MAClB,CACF,CAAC,EAEY,GAAc,EAAM,UAAU,GAAO,EAAM,ECkBxD,IAAM,GAA8B,EAAU,MAAM,YAAY,OAC9D,CAAC,IAAe,EAAW,aAAe,SAC5C,EACM,GAA2B,EAAU,MAAM,YAAY,OAC3D,CAAC,IAAe,EAAW,aAAe,WAC5C,EAEM,GAAkB,EAAM,UAAU,GAAG,GAA6B,GAAG,EAAa,WAAW,EAE7F,GAAwB,EAAM,UAClC,GAAG,EAAU,MAAM,YACnB,GAAG,GAAY,MAAM,YACrB,GAAG,EAAQ,MAAM,YACjB,GAAG,EAAM,MAAM,YACf,GAAG,EACL,EAEM,GAAqB,EAAM,UAC/B,GAAG,GAAW,MAAM,YACpB,GAAG,EAAU,MAAM,YACnB,GAAG,GAAW,MAAM,YACpB,GAAG,EAAO,MAAM,YAChB,GAAG,EAAmB,MAAM,YAC5B,GAAG,EAAQ,MAAM,YACjB,GAAG,GAAO,MAAM,YAChB,GAAG,GAAM,MAAM,YACf,GAAG,EAAI,MAAM,YACb,GAAG,GAAM,MAAM,YACf,GAAG,EAAS,MAAM,YAClB,GAAG,EAAK,MAAM,WAChB,EAEa,GAAoB,EAAM,UACrC,GAAG,GACH,GAAG,GAEH,GAAG,EAAmB,YACtB,GAAG,EAAS,YACZ,GAAG,EAAkB,YACrB,GAAG,EAAS,YACZ,EAAS,cACT,EAAS,iBAIT,GAAG,GAAa,MAAM,YACtB,GAAG,EAAW,MAAM,YACpB,EAAU,KACZ,EACa,GAAS,EAAM,OAAO,EAAiB,EAEvC,GAAW,CAAC,IAA2D,GAAO,IAAI,EAAM,IAAI,EAE5F,GAAc,EAAM,UAC/B,GAAG,GACH,GAAG,GACH,GAAG,EAAkB,YACrB,GAAG,GACH,GAAG,EAAS,YACZ,GAAG,GAAa,MAAM,YACtB,GAAG,EAAS,YACZ,GAAG,EAAS,YACZ,GAAG,EAAY,YACf,GAAG,EAAa,MAAM,YACtB,GAAG,EAAQ,MAAM,YACjB,GAAG,EAAmB,YACtB,GAAG,EAAW,MAAM,YACpB,GAAG,EAAuB,YAC1B,GAAG,EAAS,YACZ,GAAG,EAAe,YAClB,GAAG,EAAc,YACjB,GAAG,EAAY,WACjB,EACa,GAAS,EAAM,OAAO,EAAW,4DC3GvC,IAAM,GAAK,EAGL,GAAQ", | ||
| "debugId": "7821C3461FB1B50A64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260612174303_project_dir_strategy.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260612174303_project_dir_strategy\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`ALTER TABLE \\`project_directory\\` ADD \\`strategy\\` text;`)\n yield* tx.run(`PRAGMA foreign_keys=OFF;`)\n yield* tx.run(`\n CREATE TABLE \\`__new_project_directory\\` (\n \\`project_id\\` text NOT NULL,\n \\`directory\\` text NOT NULL,\n \\`type\\` text,\n \\`strategy\\` text,\n \\`time_created\\` integer NOT NULL,\n CONSTRAINT \\`project_directory_pk\\` PRIMARY KEY(\\`project_id\\`, \\`directory\\`),\n CONSTRAINT \\`fk_project_directory_project_id_project_id_fk\\` FOREIGN KEY (\\`project_id\\`) REFERENCES \\`project\\`(\\`id\\`) ON DELETE CASCADE\n );\n `)\n yield* tx.run(\n `INSERT INTO \\`__new_project_directory\\`(\\`project_id\\`, \\`directory\\`, \\`type\\`, \\`time_created\\`) SELECT \\`project_id\\`, \\`directory\\`, \\`type\\`, \\`time_created\\` FROM \\`project_directory\\`;`,\n )\n yield* tx.run(`DROP TABLE \\`project_directory\\`;`)\n yield* tx.run(`ALTER TABLE \\`__new_project_directory\\` RENAME TO \\`project_directory\\`;`)\n yield* tx.run(`PRAGMA foreign_keys=ON;`)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,sCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,sDAA0D,EACxE,MAAO,EAAG,IAAI,0BAA0B,EACxC,MAAO,EAAG,IAAI,wdAUb,EACD,MAAO,EAAG,IACR,6KACF,EACA,MAAO,EAAG,IAAI,iCAAmC,EACjD,MAAO,EAAG,IAAI,sEAA0E,EACxF,MAAO,EAAG,IAAI,yBAAyB,EACxC,EAEL", | ||
| "debugId": "D74A3311EBADAF2864756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["src/commands/handlers/mcp/resolve.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { OpencodeClient } from \"@opencode-ai/sdk/v2/client\"\n\n// Resolve through the MCP-owned integrationID rather than matching integration names: the shared\n// integration registry also holds provider/plugin integrations, whose names could collide with a server.\n// Fails when the server is unknown; returns undefined when the server has no integration (e.g. a local\n// or anonymous server), leaving that case for the caller to interpret.\nexport const resolveIntegration = (client: OpencodeClient, name: string, location: { directory: string }) =>\n Effect.gen(function* () {\n const servers = yield* Effect.promise(() => client.v2.mcp.list({ location }))\n const server = (servers.data?.data ?? []).find((entry) => entry.name === name)\n if (!server) return yield* Effect.fail(new Error(`MCP server not found: ${name}`))\n const integrationID = server.integrationID\n if (!integrationID) return undefined\n const found = yield* Effect.promise(() => client.v2.integration.get({ integrationID, location }))\n return found.data?.data\n })\n" | ||
| ], | ||
| "mappings": ";oDAOO,IAAM,EAAqB,CAAC,EAAwB,EAAc,IACvE,EAAO,IAAI,SAAU,EAAG,CAEtB,IAAM,IADU,MAAO,EAAO,QAAQ,IAAM,EAAO,GAAG,IAAI,KAAK,CAAE,UAAS,CAAC,CAAC,GACpD,MAAM,MAAQ,CAAC,GAAG,KAAK,CAAC,IAAU,EAAM,OAAS,CAAI,EAC7E,GAAI,CAAC,EAAQ,OAAO,MAAO,EAAO,KAAS,MAAM,yBAAyB,GAAM,CAAC,EACjF,IAAM,EAAgB,EAAO,cAC7B,GAAI,CAAC,EAAe,OAEpB,OADc,MAAO,EAAO,QAAQ,IAAM,EAAO,GAAG,YAAY,IAAI,CAAE,gBAAe,UAAS,CAAC,CAAC,GACnF,MAAM,KACpB", | ||
| "debugId": "CC1074801125C4B664756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@ai-sdk+perplexity@3.0.26+d6123d32214422cb/node_modules/@ai-sdk/perplexity/dist/index.mjs"], | ||
| "sourcesContent": [ | ||
| "// 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" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "92E1E6E918941AC864756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@aws-sdk+credential-provider-http@3.972.43/node_modules/@aws-sdk/credential-provider-http/dist-es/fromHttp/fromHttp.js", "../../node_modules/.bun/@aws-sdk+credential-provider-http@3.972.43/node_modules/@aws-sdk/credential-provider-http/dist-es/fromHttp/checkUrl.js", "../../node_modules/.bun/@aws-sdk+credential-provider-http@3.972.43/node_modules/@aws-sdk/credential-provider-http/dist-es/fromHttp/requestHelpers.js", "../../node_modules/.bun/@aws-sdk+credential-provider-http@3.972.43/node_modules/@aws-sdk/credential-provider-http/dist-es/fromHttp/retry-wrapper.js"], | ||
| "sourcesContent": [ | ||
| "import { setCredentialFeature } from \"@aws-sdk/core/client\";\nimport { CredentialsProviderError } from \"@smithy/core/config\";\nimport { NodeHttpHandler } from \"@smithy/node-http-handler\";\nimport fs from \"node:fs/promises\";\nimport { checkUrl } from \"./checkUrl\";\nimport { createGetRequest, getCredentials } from \"./requestHelpers\";\nimport { retryWrapper } from \"./retry-wrapper\";\nconst AWS_CONTAINER_CREDENTIALS_RELATIVE_URI = \"AWS_CONTAINER_CREDENTIALS_RELATIVE_URI\";\nconst DEFAULT_LINK_LOCAL_HOST = \"http://169.254.170.2\";\nconst AWS_CONTAINER_CREDENTIALS_FULL_URI = \"AWS_CONTAINER_CREDENTIALS_FULL_URI\";\nconst AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE = \"AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE\";\nconst AWS_CONTAINER_AUTHORIZATION_TOKEN = \"AWS_CONTAINER_AUTHORIZATION_TOKEN\";\nexport const fromHttp = (options = {}) => {\n options.logger?.debug(\"@aws-sdk/credential-provider-http - fromHttp\");\n let host;\n const relative = options.awsContainerCredentialsRelativeUri ?? process.env[AWS_CONTAINER_CREDENTIALS_RELATIVE_URI];\n const full = options.awsContainerCredentialsFullUri ?? process.env[AWS_CONTAINER_CREDENTIALS_FULL_URI];\n const token = options.awsContainerAuthorizationToken ?? process.env[AWS_CONTAINER_AUTHORIZATION_TOKEN];\n const tokenFile = options.awsContainerAuthorizationTokenFile ?? process.env[AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE];\n const warn = options.logger?.constructor?.name === \"NoOpLogger\" || !options.logger?.warn\n ? console.warn\n : options.logger.warn.bind(options.logger);\n if (relative && full) {\n warn(\"@aws-sdk/credential-provider-http: \" +\n \"you have set both awsContainerCredentialsRelativeUri and awsContainerCredentialsFullUri.\");\n warn(\"awsContainerCredentialsFullUri will take precedence.\");\n }\n if (token && tokenFile) {\n warn(\"@aws-sdk/credential-provider-http: \" +\n \"you have set both awsContainerAuthorizationToken and awsContainerAuthorizationTokenFile.\");\n warn(\"awsContainerAuthorizationToken will take precedence.\");\n }\n if (full) {\n host = full;\n }\n else if (relative) {\n host = `${DEFAULT_LINK_LOCAL_HOST}${relative}`;\n }\n else {\n throw new CredentialsProviderError(`No HTTP credential provider host provided.\nSet AWS_CONTAINER_CREDENTIALS_FULL_URI or AWS_CONTAINER_CREDENTIALS_RELATIVE_URI.`, { logger: options.logger });\n }\n const url = new URL(host);\n checkUrl(url, options.logger);\n const requestHandler = NodeHttpHandler.create({ connectionTimeout: options.timeout ?? 1000 });\n const requestTimeout = options.timeout ?? 1000;\n const provider = retryWrapper(async () => {\n const request = createGetRequest(url);\n if (token) {\n request.headers.Authorization = token;\n }\n else if (tokenFile) {\n request.headers.Authorization = (await fs.readFile(tokenFile)).toString();\n }\n try {\n const result = await requestHandler.handle(request, { requestTimeout });\n return getCredentials(result.response).then((creds) => setCredentialFeature(creds, \"CREDENTIALS_HTTP\", \"z\"));\n }\n catch (e) {\n throw new CredentialsProviderError(String(e), { logger: options.logger });\n }\n }, options.maxRetries ?? 3, options.timeout ?? 1000);\n return async () => {\n try {\n return await provider();\n }\n finally {\n requestHandler.destroy?.();\n }\n };\n};\n", | ||
| "import { CredentialsProviderError } from \"@smithy/core/config\";\nconst LOOPBACK_CIDR_IPv4 = \"127.0.0.0/8\";\nconst LOOPBACK_CIDR_IPv6 = \"::1/128\";\nconst ECS_CONTAINER_HOST = \"169.254.170.2\";\nconst EKS_CONTAINER_HOST_IPv4 = \"169.254.170.23\";\nconst EKS_CONTAINER_HOST_IPv6 = \"[fd00:ec2::23]\";\nexport const checkUrl = (url, logger) => {\n if (url.protocol === \"https:\") {\n return;\n }\n if (url.hostname === ECS_CONTAINER_HOST ||\n url.hostname === EKS_CONTAINER_HOST_IPv4 ||\n url.hostname === EKS_CONTAINER_HOST_IPv6) {\n return;\n }\n if (url.hostname.includes(\"[\")) {\n if (url.hostname === \"[::1]\" || url.hostname === \"[0000:0000:0000:0000:0000:0000:0000:0001]\") {\n return;\n }\n }\n else {\n if (url.hostname === \"localhost\") {\n return;\n }\n const ipComponents = url.hostname.split(\".\");\n const inRange = (component) => {\n const num = parseInt(component, 10);\n return 0 <= num && num <= 255;\n };\n if (ipComponents[0] === \"127\" &&\n inRange(ipComponents[1]) &&\n inRange(ipComponents[2]) &&\n inRange(ipComponents[3]) &&\n ipComponents.length === 4) {\n return;\n }\n }\n throw new CredentialsProviderError(`URL not accepted. It must either be HTTPS or match one of the following:\n - loopback CIDR 127.0.0.0/8 or [::1/128]\n - ECS container host 169.254.170.2\n - EKS container host 169.254.170.23 or [fd00:ec2::23]`, { logger });\n};\n", | ||
| "import { CredentialsProviderError } from \"@smithy/core/config\";\nimport { HttpRequest } from \"@smithy/core/protocols\";\nimport { parseRfc3339DateTime } from \"@smithy/core/serde\";\nimport { sdkStreamMixin } from \"@smithy/core/serde\";\nexport function createGetRequest(url) {\n return new HttpRequest({\n protocol: url.protocol,\n hostname: url.hostname,\n port: Number(url.port),\n path: url.pathname,\n query: Array.from(url.searchParams.entries()).reduce((acc, [k, v]) => {\n acc[k] = v;\n return acc;\n }, {}),\n fragment: url.hash,\n });\n}\nexport async function getCredentials(response, logger) {\n const stream = sdkStreamMixin(response.body);\n const str = await stream.transformToString();\n if (response.statusCode === 200) {\n const parsed = JSON.parse(str);\n if (typeof parsed.AccessKeyId !== \"string\" ||\n typeof parsed.SecretAccessKey !== \"string\" ||\n typeof parsed.Token !== \"string\" ||\n typeof parsed.Expiration !== \"string\") {\n throw new CredentialsProviderError(\"HTTP credential provider response not of the required format, an object matching: \" +\n \"{ AccessKeyId: string, SecretAccessKey: string, Token: string, Expiration: string(rfc3339) }\", { logger });\n }\n return {\n accessKeyId: parsed.AccessKeyId,\n secretAccessKey: parsed.SecretAccessKey,\n sessionToken: parsed.Token,\n expiration: parseRfc3339DateTime(parsed.Expiration),\n };\n }\n if (response.statusCode >= 400 && response.statusCode < 500) {\n let parsedBody = {};\n try {\n parsedBody = JSON.parse(str);\n }\n catch (e) { }\n throw Object.assign(new CredentialsProviderError(`Server responded with status: ${response.statusCode}`, { logger }), {\n Code: parsedBody.Code,\n Message: parsedBody.Message,\n });\n }\n throw new CredentialsProviderError(`Server responded with status: ${response.statusCode}`, { logger });\n}\n", | ||
| "export const retryWrapper = (toRetry, maxRetries, delayMs) => {\n return async () => {\n for (let i = 0; i < maxRetries; ++i) {\n try {\n return await toRetry();\n }\n catch (e) {\n await new Promise((resolve) => setTimeout(resolve, delayMs));\n }\n }\n return await toRetry();\n };\n};\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "7581C3C58753FD3764756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/mime-types@3.0.2/node_modules/mime-types/mimeScore.js", "../core/src/fs-util.ts", "../../node_modules/.bun/mime-types@3.0.2/node_modules/mime-types/index.js", "../core/src/effect/service-use.ts"], | ||
| "sourcesContent": [ | ||
| "// 'mime-score' back-ported to CommonJS\n\n// Score RFC facets (see https://tools.ietf.org/html/rfc6838#section-3)\nvar FACET_SCORES = {\n 'prs.': 100,\n 'x-': 200,\n 'x.': 300,\n 'vnd.': 400,\n default: 900\n}\n\n// Score mime source (Logic originally from `jshttp/mime-types` module)\nvar SOURCE_SCORES = {\n nginx: 10,\n apache: 20,\n iana: 40,\n default: 30 // definitions added by `jshttp/mime-db` project?\n}\n\nvar TYPE_SCORES = {\n // prefer application/xml over text/xml\n // prefer application/rtf over text/rtf\n application: 1,\n\n // prefer font/woff over application/font-woff\n font: 2,\n\n // prefer video/mp4 over audio/mp4 over application/mp4\n // See https://www.rfc-editor.org/rfc/rfc4337.html#section-2\n audio: 2,\n video: 3,\n\n default: 0\n}\n\n/**\n * Get each component of the score for a mime type. The sum of these is the\n * total score. The higher the score, the more \"official\" the type.\n */\nmodule.exports = function mimeScore (mimeType, source = 'default') {\n if (mimeType === 'application/octet-stream') {\n return 0\n }\n\n const [type, subtype] = mimeType.split('/')\n\n const facet = subtype.replace(/(\\.|x-).*/, '$1')\n\n const facetScore = FACET_SCORES[facet] || FACET_SCORES.default\n const sourceScore = SOURCE_SCORES[source] || SOURCE_SCORES.default\n const typeScore = TYPE_SCORES[type] || TYPE_SCORES.default\n\n // All else being equal prefer shorter types\n const lengthScore = 1 - mimeType.length / 100\n\n return facetScore + sourceScore + typeScore + lengthScore\n}\n", | ||
| "import { NodeFileSystem } from \"@effect/platform-node\"\nimport path, { dirname, isAbsolute, join, relative, sep } from \"path\"\nimport { realpathSync } from \"fs\"\nimport { readdir } from \"fs/promises\"\nimport { lookup } from \"mime-types\"\nimport { Context, Effect, FileSystem, Layer, Schema } from \"effect\"\nimport type { PlatformError } from \"effect/PlatformError\"\nimport { Glob } from \"./util/glob\"\nimport { serviceUse } from \"./effect/service-use\"\nimport { makeGlobalNode } from \"./effect/app-node\"\nimport { filesystem } from \"./effect/app-node-platform\"\n\nexport namespace FSUtil {\n export class FileSystemError extends Schema.TaggedErrorClass<FileSystemError>()(\"FileSystemError\", {\n method: Schema.String,\n cause: Schema.optional(Schema.Defect()),\n }) {\n override get message() {\n const detail = this.cause instanceof Error ? this.cause.message : this.cause && String(this.cause)\n return `Filesystem operation failed: ${this.method}${detail ? `: ${detail}` : \"\"}`\n }\n }\n\n export type Error = PlatformError | FileSystemError\n\n export interface DirEntry {\n readonly name: string\n readonly type: \"file\" | \"directory\" | \"symlink\" | \"other\"\n }\n\n export interface Interface extends FileSystem.FileSystem {\n readonly isDir: (path: string) => Effect.Effect<boolean>\n readonly isFile: (path: string) => Effect.Effect<boolean>\n readonly existsSafe: (path: string) => Effect.Effect<boolean>\n readonly readFileStringSafe: (path: string) => Effect.Effect<string | undefined, Error>\n readonly readJson: (path: string) => Effect.Effect<unknown, Error>\n readonly writeJson: (path: string, data: unknown, mode?: number) => Effect.Effect<void, Error>\n readonly ensureDir: (path: string) => Effect.Effect<void, Error>\n readonly writeWithDirs: (path: string, content: string | Uint8Array, mode?: number) => Effect.Effect<void, Error>\n readonly readDirectoryEntries: (path: string) => Effect.Effect<DirEntry[], Error>\n readonly resolve: (path: string) => Effect.Effect<string>\n readonly findUp: (target: string, start: string, stop?: string) => Effect.Effect<string[], Error>\n readonly up: (options: { targets: string[]; start: string; stop?: string }) => Effect.Effect<string[], Error>\n readonly globUp: (pattern: string, start: string, stop?: string) => Effect.Effect<string[], Error>\n readonly glob: (pattern: string, options?: Glob.Options) => Effect.Effect<string[], Error>\n readonly globMatch: (pattern: string, filepath: string) => boolean\n }\n\n export class Service extends Context.Service<Service, Interface>()(\"@opencode/FileSystem\") {}\n\n export const use = serviceUse(Service)\n\n // Exported so simulation can wrap this layer and override the methods that\n // bypass the injected FileSystem (readDirectoryEntries, glob, globUp).\n export const layer = Layer.effect(\n Service,\n Effect.gen(function* () {\n const fs = yield* FileSystem.FileSystem\n\n const existsSafe = Effect.fn(\"FileSystem.existsSafe\")(function* (path: string) {\n return yield* fs.exists(path).pipe(Effect.orElseSucceed(() => false))\n })\n\n const readFileStringSafe = Effect.fn(\"FileSystem.readFileStringSafe\")(function* (path: string) {\n return yield* fs.readFileString(path).pipe(\n Effect.catchReason(\"PlatformError\", \"NotFound\", () => Effect.succeed(undefined)),\n Effect.catchReason(\"PlatformError\", \"PermissionDenied\", () => Effect.succeed(undefined)),\n )\n })\n\n const isDir = Effect.fn(\"FileSystem.isDir\")(function* (path: string) {\n const info = yield* fs.stat(path).pipe(Effect.catch(() => Effect.void))\n return info?.type === \"Directory\"\n })\n\n const isFile = Effect.fn(\"FileSystem.isFile\")(function* (path: string) {\n const info = yield* fs.stat(path).pipe(Effect.catch(() => Effect.void))\n return info?.type === \"File\"\n })\n\n const readDirectoryEntries = Effect.fn(\"FileSystem.readDirectoryEntries\")(function* (dirPath: string) {\n return yield* Effect.tryPromise({\n try: async () => {\n const entries = await readdir(dirPath, { withFileTypes: true })\n return entries.map(\n (e): DirEntry => ({\n name: e.name,\n type: e.isDirectory() ? \"directory\" : e.isSymbolicLink() ? \"symlink\" : e.isFile() ? \"file\" : \"other\",\n }),\n )\n },\n catch: (cause) => new FileSystemError({ method: \"readDirectoryEntries\", cause }),\n })\n })\n\n const resolve = Effect.fn(\"FileSystem.resolve\")(function* (input: string) {\n const resolved = path.resolve(windowsPath(input))\n return yield* fs.realPath(resolved).pipe(\n Effect.catchReason(\"PlatformError\", \"NotFound\", () => Effect.succeed(resolved)),\n Effect.orDie,\n )\n })\n\n const readJson = Effect.fn(\"FileSystem.readJson\")(function* (path: string) {\n const text = yield* fs.readFileString(path)\n return yield* Effect.try({\n try: () => JSON.parse(text),\n catch: (cause) => new FileSystemError({ method: \"readJson\", cause }),\n })\n })\n\n const writeJson = Effect.fn(\"FileSystem.writeJson\")(function* (path: string, data: unknown, mode?: number) {\n const content = JSON.stringify(data, null, 2)\n yield* fs.writeFileString(path, content)\n if (mode) yield* fs.chmod(path, mode)\n })\n\n const ensureDir = Effect.fn(\"FileSystem.ensureDir\")(function* (path: string) {\n yield* fs.makeDirectory(path, { recursive: true })\n })\n\n const writeWithDirs = Effect.fn(\"FileSystem.writeWithDirs\")(function* (\n path: string,\n content: string | Uint8Array,\n mode?: number,\n ) {\n const write = typeof content === \"string\" ? fs.writeFileString(path, content) : fs.writeFile(path, content)\n\n yield* write.pipe(\n Effect.catchIf(\n (e) => e.reason._tag === \"NotFound\",\n () =>\n Effect.gen(function* () {\n yield* fs.makeDirectory(dirname(path), { recursive: true })\n yield* write\n }),\n ),\n )\n if (mode) yield* fs.chmod(path, mode)\n })\n\n const glob = Effect.fn(\"FileSystem.glob\")(function* (pattern: string, options?: Glob.Options) {\n return yield* Effect.tryPromise({\n try: () => Glob.scan(pattern, options),\n catch: (cause) => new FileSystemError({ method: \"glob\", cause }),\n })\n })\n\n const findUp = Effect.fn(\"FileSystem.findUp\")(function* (target: string, start: string, stop?: string) {\n const result: string[] = []\n let current = start\n while (true) {\n const search = join(current, target)\n if (yield* fs.exists(search)) result.push(search)\n if (stop === current) break\n const parent = dirname(current)\n if (parent === current) break\n current = parent\n }\n return result\n })\n\n const up = Effect.fn(\"FileSystem.up\")(function* (options: { targets: string[]; start: string; stop?: string }) {\n const result: string[] = []\n let current = options.start\n while (true) {\n for (const target of options.targets) {\n const search = join(current, target)\n if (yield* fs.exists(search)) result.push(search)\n }\n if (options.stop === current) break\n const parent = dirname(current)\n if (parent === current) break\n current = parent\n }\n return result\n })\n\n const globUp = Effect.fn(\"FileSystem.globUp\")(function* (pattern: string, start: string, stop?: string) {\n const result: string[] = []\n let current = start\n while (true) {\n const matches = yield* glob(pattern, { cwd: current, absolute: true, include: \"file\", dot: true }).pipe(\n Effect.catch(() => Effect.succeed([] as string[])),\n )\n result.push(...matches)\n if (stop === current) break\n const parent = dirname(current)\n if (parent === current) break\n current = parent\n }\n return result\n })\n\n return Service.of({\n ...fs,\n existsSafe,\n readFileStringSafe,\n isDir,\n isFile,\n readDirectoryEntries,\n resolve,\n readJson,\n writeJson,\n ensureDir,\n writeWithDirs,\n findUp,\n up,\n globUp,\n glob,\n globMatch: Glob.match,\n })\n }),\n )\n\n export const node = makeGlobalNode({ service: Service, layer: layer, deps: [filesystem] })\n\n // Pure helpers that don't need Effect (path manipulation, sync operations)\n export function mimeType(p: string): string {\n return lookup(p) || \"application/octet-stream\"\n }\n\n export function normalizePath(p: string): string {\n if (process.platform !== \"win32\") return p\n const resolved = path.resolve(windowsPath(p))\n try {\n return realpathSync.native(resolved)\n } catch {\n return resolved\n }\n }\n\n export function normalizePathPattern(p: string): string {\n if (process.platform !== \"win32\") return p\n if (p === \"*\") return p\n const match = p.match(/^(.*)[\\\\/]\\*$/)\n if (!match) return normalizePath(p)\n const dir = /^[A-Za-z]:$/.test(match[1]) ? match[1] + \"\\\\\" : match[1]\n return join(normalizePath(dir), \"*\")\n }\n\n export function resolve(p: string): string {\n const resolved = path.resolve(windowsPath(p))\n try {\n return normalizePath(realpathSync(resolved))\n } catch (e: any) {\n if (e?.code === \"ENOENT\") return normalizePath(resolved)\n throw e\n }\n }\n\n export function windowsPath(p: string): string {\n if (process.platform !== \"win32\") return p\n return p\n .replace(/^\\/([a-zA-Z]):(?:[\\\\/]|$)/, (_, drive) => `${drive.toUpperCase()}:/`)\n .replace(/^\\/([a-zA-Z])(?:\\/|$)/, (_, drive) => `${drive.toUpperCase()}:/`)\n .replace(/^\\/cygdrive\\/([a-zA-Z])(?:\\/|$)/, (_, drive) => `${drive.toUpperCase()}:/`)\n .replace(/^\\/mnt\\/([a-zA-Z])(?:\\/|$)/, (_, drive) => `${drive.toUpperCase()}:/`)\n }\n\n export function overlaps(a: string, b: string) {\n return contains(a, b) || contains(b, a)\n }\n\n export function contains(parent: string, child: string) {\n const result = relative(parent, child)\n return result === \"\" || (!isAbsolute(result) && result !== \"..\" && !result.startsWith(`..${sep}`))\n }\n}\n", | ||
| "/*!\n * mime-types\n * Copyright(c) 2014 Jonathan Ong\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n'use strict'\n\n/**\n * Module dependencies.\n * @private\n */\n\nvar db = require('mime-db')\nvar extname = require('path').extname\nvar mimeScore = require('./mimeScore')\n\n/**\n * Module variables.\n * @private\n */\n\nvar EXTRACT_TYPE_REGEXP = /^\\s*([^;\\s]*)(?:;|\\s|$)/\nvar TEXT_TYPE_REGEXP = /^text\\//i\n\n/**\n * Module exports.\n * @public\n */\n\nexports.charset = charset\nexports.charsets = { lookup: charset }\nexports.contentType = contentType\nexports.extension = extension\nexports.extensions = Object.create(null)\nexports.lookup = lookup\nexports.types = Object.create(null)\nexports._extensionConflicts = []\n\n// Populate the extensions/types maps\npopulateMaps(exports.extensions, exports.types)\n\n/**\n * Get the default charset for a MIME type.\n *\n * @param {string} type\n * @return {false|string}\n */\n\nfunction charset (type) {\n if (!type || typeof type !== 'string') {\n return false\n }\n\n // TODO: use media-typer\n var match = EXTRACT_TYPE_REGEXP.exec(type)\n var mime = match && db[match[1].toLowerCase()]\n\n if (mime && mime.charset) {\n return mime.charset\n }\n\n // default text/* to utf-8\n if (match && TEXT_TYPE_REGEXP.test(match[1])) {\n return 'UTF-8'\n }\n\n return false\n}\n\n/**\n * Create a full Content-Type header given a MIME type or extension.\n *\n * @param {string} str\n * @return {false|string}\n */\n\nfunction contentType (str) {\n // TODO: should this even be in this module?\n if (!str || typeof str !== 'string') {\n return false\n }\n\n var mime = str.indexOf('/') === -1 ? exports.lookup(str) : str\n\n if (!mime) {\n return false\n }\n\n // TODO: use content-type or other module\n if (mime.indexOf('charset') === -1) {\n var charset = exports.charset(mime)\n if (charset) mime += '; charset=' + charset.toLowerCase()\n }\n\n return mime\n}\n\n/**\n * Get the default extension for a MIME type.\n *\n * @param {string} type\n * @return {false|string}\n */\n\nfunction extension (type) {\n if (!type || typeof type !== 'string') {\n return false\n }\n\n // TODO: use media-typer\n var match = EXTRACT_TYPE_REGEXP.exec(type)\n\n // get extensions\n var exts = match && exports.extensions[match[1].toLowerCase()]\n\n if (!exts || !exts.length) {\n return false\n }\n\n return exts[0]\n}\n\n/**\n * Lookup the MIME type for a file path/extension.\n *\n * @param {string} path\n * @return {false|string}\n */\n\nfunction lookup (path) {\n if (!path || typeof path !== 'string') {\n return false\n }\n\n // get the extension (\"ext\" or \".ext\" or full path)\n var extension = extname('x.' + path)\n .toLowerCase()\n .slice(1)\n\n if (!extension) {\n return false\n }\n\n return exports.types[extension] || false\n}\n\n/**\n * Populate the extensions and types maps.\n * @private\n */\n\nfunction populateMaps (extensions, types) {\n Object.keys(db).forEach(function forEachMimeType (type) {\n var mime = db[type]\n var exts = mime.extensions\n\n if (!exts || !exts.length) {\n return\n }\n\n // mime -> extensions\n extensions[type] = exts\n\n // extension -> mime\n for (var i = 0; i < exts.length; i++) {\n var extension = exts[i]\n types[extension] = _preferredType(extension, types[extension], type)\n\n // DELETE (eventually): Capture extension->type maps that change as a\n // result of switching to mime-score. This is just to help make reviewing\n // PR #119 easier, and can be removed once that PR is approved.\n const legacyType = _preferredTypeLegacy(\n extension,\n types[extension],\n type\n )\n if (legacyType !== types[extension]) {\n exports._extensionConflicts.push([extension, legacyType, types[extension]])\n }\n }\n })\n}\n\n// Resolve type conflict using mime-score\nfunction _preferredType (ext, type0, type1) {\n var score0 = type0 ? mimeScore(type0, db[type0].source) : 0\n var score1 = type1 ? mimeScore(type1, db[type1].source) : 0\n\n return score0 > score1 ? type0 : type1\n}\n\n// Resolve type conflict using pre-mime-score logic\nfunction _preferredTypeLegacy (ext, type0, type1) {\n var SOURCE_RANK = ['nginx', 'apache', undefined, 'iana']\n\n var score0 = type0 ? SOURCE_RANK.indexOf(db[type0].source) : 0\n var score1 = type1 ? SOURCE_RANK.indexOf(db[type1].source) : 0\n\n if (\n exports.types[extension] !== 'application/octet-stream' &&\n (score0 > score1 ||\n (score0 === score1 &&\n exports.types[extension]?.slice(0, 12) === 'application/'))\n ) {\n return type0\n }\n\n return score0 > score1 ? type0 : type1\n}\n", | ||
| "import { Context, Effect } from \"effect\"\n\ntype EffectMethod = (...args: ReadonlyArray<never>) => Effect.Effect<unknown, unknown, unknown>\n\ntype ServiceUse<Identifier, Shape> = {\n readonly [Key in keyof Shape as Shape[Key] extends EffectMethod ? Key : never]: Shape[Key] extends (\n ...args: infer Args\n ) => infer Return\n ? Args extends ReadonlyArray<unknown>\n ? Return extends Effect.Effect<infer A, infer E, infer R>\n ? (...args: Args) => Effect.Effect<A, E, R | Identifier>\n : never\n : never\n : never\n}\n\nexport const serviceUse = <Identifier, Shape>(tag: Context.Service<Identifier, Shape>) => {\n const cache = new Map<string, (...args: unknown[]) => Effect.Effect<unknown, unknown, unknown>>()\n // This is the only dynamic boundary: TypeScript knows the accessor shape,\n // but Proxy property names are runtime values.\n const access = new Proxy(\n {},\n {\n get: (_, key) => {\n if (typeof key !== \"string\") return undefined\n const cached = cache.get(key)\n if (cached) return cached\n const accessor = (...args: unknown[]) =>\n tag.use((service) => {\n // oxlint-disable-next-line typescript-eslint/no-unsafe-type-assertion -- Proxy keys are checked at runtime.\n const method = service[key as keyof Shape]\n if (typeof method !== \"function\") return Effect.die(new Error(`Service method not found: ${key}`))\n // oxlint-disable-next-line typescript-eslint/no-unsafe-type-assertion -- ServiceUse exposes only Effect-returning methods.\n return (method as (...args: unknown[]) => Effect.Effect<unknown, unknown, unknown>)(...args)\n })\n cache.set(key, accessor)\n return accessor\n },\n },\n )\n // oxlint-disable-next-line typescript-eslint/no-unsafe-type-assertion -- Proxy implements the mapped accessor surface lazily.\n return access as ServiceUse<Identifier, Shape>\n}\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "B64E78624B75366764756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["src/mini/session-data.ts", "src/mini/stream.ts"], | ||
| "sourcesContent": [ | ||
| "// Core reducer for direct interactive mode.\n//\n// Takes raw SDK events and produces two outputs:\n// - StreamCommit[]: append-only scrollback entries (text, tool, error, etc.)\n// - FooterOutput: status bar patches and view transitions (permission, question)\n//\n// The reducer mutates SessionData in place for performance but has no\n// external side effects -- no IO, no footer calls. The demo runtime\n// (demo.ts) feeds events in and forwards output to the footer through\n// stream.ts; the current transport reuses the blocker helpers below.\n//\n// Key design decisions:\n//\n// - Text parts buffer in `data.text` until their message role is confirmed as\n// \"assistant\". This prevents echoing user-role text parts. The `ready()`\n// check gates output: if we see a text delta before the message.updated\n// event that tells us the role, we stash it and flush later via `replay()`.\n//\n// - Tool echo stripping: bash tools may echo their own output in the next\n// assistant text part. `stashEcho()` records completed bash output, and\n// `stripEcho()` removes it from the start of the next assistant chunk.\n//\n// - Permission and question requests queue in `data.permissions` and\n// `data.questions`. The footer shows whichever is first. When a reply\n// event arrives, the queue entry is removed and the footer falls back\n// to the next pending request or to the prompt view.\nimport type { Event, PermissionRequest, QuestionRequest, ToolPart } from \"@opencode-ai/sdk/v2\"\nimport { Locale } from \"@opencode-ai/tui/util/locale\"\nimport { toolView } from \"./tool\"\nimport type { FooterOutput, FooterPatch, FooterView, StreamCommit } from \"./types\"\n\nconst money = new Intl.NumberFormat(\"en-US\", {\n style: \"currency\",\n currency: \"USD\",\n})\n\ntype Tokens = {\n input?: number\n output?: number\n reasoning?: number\n cache?: {\n read?: number\n write?: number\n }\n}\n\ntype PartKind = \"assistant\" | \"reasoning\" | \"user\"\ntype MessageRole = \"assistant\" | \"user\"\ntype Dict = Record<string, unknown>\ntype SessionCommit = StreamCommit\n\n// Mutable accumulator for the reducer. Each field tracks a different aspect\n// of the stream so we can produce correct incremental output:\n//\n// - ids: parts and error keys we've already committed (dedup guard)\n// - tools: tool parts we've emitted a \"start\" for but not yet completed\n// - call: tool call inputs, keyed by msg:call, for enriching permission views\n// - role: message ID → \"assistant\" | \"user\", learned from message.updated\n// - msg: part ID → message ID\n// - part: part ID → \"assistant\" | \"reasoning\" (text parts only)\n// - text: part ID → full accumulated text so far\n// - sent: part ID → byte offset of last flushed text (for incremental output)\n// - visible: part ID → rendered text for an active part after display transforms\n// - end: part IDs whose time.end has arrived (part is finished)\n// - shell: shell ID → chosen transcript source for direct shell calls\n// - echo: message ID → bash outputs to strip from the next assistant chunk\ntype ShellCall = {\n source: \"shell\" | \"tool\"\n command?: string\n}\n\nexport type SessionData = {\n includeUserText: boolean\n announced: boolean\n ids: Set<string>\n tools: Set<string>\n call: Map<string, Dict>\n shell: Map<string, ShellCall>\n permissions: PermissionRequest[]\n questions: QuestionRequest[]\n role: Map<string, MessageRole>\n msg: Map<string, string>\n part: Map<string, PartKind>\n text: Map<string, string>\n sent: Map<string, number>\n visible: Map<string, string>\n end: Set<string>\n echo: Map<string, Set<string>>\n}\n\nexport type SessionDataInput = {\n data: SessionData\n event: Event\n sessionID: string\n thinking: boolean\n limits: Record<string, number>\n}\n\nexport type SessionDataOutput = {\n data: SessionData\n commits: SessionCommit[]\n footer?: FooterOutput\n}\n\nexport function createSessionData(\n input: {\n includeUserText?: boolean\n } = {},\n): SessionData {\n return {\n includeUserText: input.includeUserText ?? false,\n announced: false,\n ids: new Set(),\n tools: new Set(),\n call: new Map(),\n shell: new Map(),\n permissions: [],\n questions: [],\n role: new Map(),\n msg: new Map(),\n part: new Map(),\n text: new Map(),\n sent: new Map(),\n visible: new Map(),\n end: new Set(),\n echo: new Map(),\n }\n}\n\nfunction modelKey(provider: string, model: string): string {\n return `${provider}/${model}`\n}\n\nfunction formatUsage(\n tokens: Tokens | undefined,\n limit: number | undefined,\n cost: number | undefined,\n): string | undefined {\n const total =\n (tokens?.input ?? 0) +\n (tokens?.output ?? 0) +\n (tokens?.reasoning ?? 0) +\n (tokens?.cache?.read ?? 0) +\n (tokens?.cache?.write ?? 0)\n\n if (total <= 0) {\n if (typeof cost === \"number\" && cost > 0) {\n return money.format(cost)\n }\n return undefined\n }\n\n const text =\n limit && limit > 0 ? `${Locale.number(total)} (${Math.round((total / limit) * 100)}%)` : Locale.number(total)\n\n if (typeof cost === \"number\" && cost > 0) {\n return `${text} · ${money.format(cost)}`\n }\n\n return text\n}\n\nexport function formatError(error: {\n name?: string\n message?: string\n data?: {\n message?: string\n }\n}): string {\n if (error.data?.message) {\n return error.data.message\n }\n\n if (error.message) {\n return error.message\n }\n\n if (error.name) {\n return error.name\n }\n\n return \"unknown error\"\n}\n\nfunction isAbort(error: { name?: string } | undefined): boolean {\n return error?.name === \"MessageAbortedError\"\n}\n\nfunction msgErr(id: string): string {\n return `msg:${id}:error`\n}\n\nfunction patch(patch?: FooterPatch, view?: FooterView): FooterOutput | undefined {\n if (!patch && !view) {\n return undefined\n }\n\n return {\n patch,\n view,\n }\n}\n\nfunction out(data: SessionData, commits: SessionCommit[], footer?: FooterOutput): SessionDataOutput {\n if (!footer) {\n return {\n data,\n commits,\n }\n }\n\n return {\n data,\n commits,\n footer,\n }\n}\n\nexport function pickBlockerView(input: { permission?: PermissionRequest; question?: QuestionRequest }): FooterView {\n if (input.permission) {\n return { type: \"permission\", request: input.permission }\n }\n\n if (input.question) {\n return { type: \"question\", request: input.question }\n }\n\n return { type: \"prompt\" }\n}\n\nexport function blockerStatus(view: FooterView) {\n if (view.type === \"permission\") {\n return \"awaiting permission\"\n }\n\n if (view.type === \"question\") {\n return \"awaiting answer\"\n }\n\n return \"\"\n}\n\nfunction pickSessionView(data: SessionData): FooterView {\n return pickBlockerView({\n permission: data.permissions[0],\n question: data.questions[0],\n })\n}\n\nfunction queueFooter(data: SessionData): FooterOutput {\n const view = pickSessionView(data)\n\n return {\n view,\n patch: { status: blockerStatus(view) },\n }\n}\n\nfunction queueOut(data: SessionData, commits: SessionCommit[]): SessionDataOutput {\n return out(data, commits, queueFooter(data))\n}\n\nfunction upsert<T extends { id: string }>(list: T[], item: T) {\n const idx = list.findIndex((entry) => entry.id === item.id)\n if (idx === -1) {\n list.push(item)\n return\n }\n\n list[idx] = item\n}\n\nfunction remove(list: Array<{ id: string }>, id: string): boolean {\n const idx = list.findIndex((entry) => entry.id === id)\n if (idx === -1) {\n return false\n }\n\n list.splice(idx, 1)\n return true\n}\n\nfunction key(msg: string, call: string): string {\n return `${msg}:${call}`\n}\n\nfunction enrichPermission(data: SessionData, request: PermissionRequest): PermissionRequest {\n if (!request.tool) {\n return request\n }\n\n const input = data.call.get(key(request.tool.messageID, request.tool.callID))\n if (!input) {\n return request\n }\n\n const meta = request.metadata ?? {}\n if (meta.input === input) {\n return request\n }\n\n return {\n ...request,\n metadata: {\n ...meta,\n input,\n },\n }\n}\n\n// Updates the active permission request when the matching tool part gets\n// new input (e.g., a diff). This keeps the permission UI in sync with the\n// tool's evolving state. Only triggers a footer update if the currently\n// displayed permission was the one that changed.\nfunction syncPermission(data: SessionData, part: ToolPart): FooterOutput | undefined {\n data.call.set(key(part.messageID, part.callID), part.state.input)\n if (data.permissions.length === 0) {\n return undefined\n }\n\n let changed = false\n let active = false\n data.permissions = data.permissions.map((request, index) => {\n if (!request.tool || request.tool.messageID !== part.messageID || request.tool.callID !== part.callID) {\n return request\n }\n\n const next = enrichPermission(data, request)\n if (next === request) {\n return request\n }\n\n changed = true\n active ||= index === 0\n return next\n })\n\n if (!changed || !active) {\n return undefined\n }\n\n return {\n view: pickSessionView(data),\n }\n}\n\n// Question tool replies can complete without a matching question.replied event.\n// When that happens, drop the recovered pending request tied to this tool call so\n// the footer can return to the next blocker or to the prompt.\nfunction syncQuestion(data: SessionData, part: ToolPart): FooterOutput | undefined {\n if (part.tool !== \"question\") {\n return undefined\n }\n\n if (part.state.status !== \"completed\" && part.state.status !== \"error\") {\n return undefined\n }\n\n const next = data.questions.filter(\n (request) => request.tool?.messageID !== part.messageID || request.tool?.callID !== part.callID,\n )\n if (next.length === data.questions.length) {\n return undefined\n }\n\n data.questions = next\n return queueFooter(data)\n}\n\nfunction toolStatus(part: ToolPart): string {\n if (part.tool !== \"task\") {\n return `running ${part.tool}`\n }\n\n const state = part.state as {\n input?: {\n description?: unknown\n subagent_type?: unknown\n }\n }\n const desc = state.input?.description\n if (typeof desc === \"string\" && desc.trim()) {\n return `running ${desc.trim()}`\n }\n\n const type = state.input?.subagent_type\n if (typeof type === \"string\" && type.trim()) {\n return `running ${type.trim()}`\n }\n\n return \"running task\"\n}\n\n// Returns true if we can flush this part's text to scrollback.\n//\n// We gate on the message role being \"assistant\" because user-role messages\n// also contain text parts (the user's own input) which we don't want to\n// echo. If we haven't received the message.updated event yet, we return\n// false and the text stays buffered until replay() flushes it.\nfunction ready(data: SessionData, partID: string): boolean {\n const msg = data.msg.get(partID)\n if (!msg) {\n return true\n }\n\n const role = data.role.get(msg)\n if (!role) {\n return false\n }\n\n if (role === \"assistant\") {\n return true\n }\n\n return data.includeUserText && role === \"user\"\n}\n\nfunction syncText(data: SessionData, partID: string, next: string) {\n const prev = data.text.get(partID) ?? \"\"\n if (!next) {\n return prev\n }\n\n if (!prev || next.length >= prev.length) {\n data.text.set(partID, next)\n return next\n }\n\n return prev\n}\n\n// Records bash tool output for echo stripping. Some models echo bash output\n// verbatim at the start of their next text part. We save both the raw and\n// trimmed forms so stripEcho() can match either.\nfunction stashEcho(data: SessionData, part: ToolPart) {\n if (part.tool !== \"bash\") {\n return\n }\n\n if (typeof part.messageID !== \"string\" || !part.messageID) {\n return\n }\n\n const output = \"output\" in part.state ? part.state.output : undefined\n if (typeof output !== \"string\") {\n return\n }\n\n const text = output.replace(/^\\n+/, \"\")\n if (!text.trim()) {\n return\n }\n\n const set = data.echo.get(part.messageID) ?? new Set<string>()\n set.add(text)\n const trim = text.replace(/\\n+$/, \"\")\n if (trim && trim !== text) {\n set.add(trim)\n }\n data.echo.set(part.messageID, set)\n}\n\nfunction stripEcho(data: SessionData, msg: string | undefined, chunk: string): string {\n if (!msg) {\n return chunk\n }\n\n const set = data.echo.get(msg)\n if (!set || set.size === 0) {\n return chunk\n }\n\n data.echo.delete(msg)\n const list = [...set].sort((a, b) => b.length - a.length)\n for (const item of list) {\n if (!item || !chunk.startsWith(item)) {\n continue\n }\n\n return chunk.slice(item.length).replace(/^\\n+/, \"\")\n }\n\n return chunk\n}\n\nfunction flushPart(data: SessionData, commits: SessionCommit[], partID: string, interrupted = false) {\n const kind = data.part.get(partID)\n if (!kind) {\n return\n }\n\n const text = data.text.get(partID) ?? \"\"\n const sent = data.sent.get(partID) ?? 0\n let chunk = text.slice(sent)\n const msg = data.msg.get(partID)\n\n if (sent === 0) {\n chunk = chunk.replace(/^\\n+/, \"\")\n // Some models emit a standalone whitespace token before real content.\n // Keep buffering until we have visible text so scrollback doesn't get a blank row.\n if (!chunk.trim()) {\n return\n }\n if (kind === \"reasoning\" && chunk) {\n chunk = `Thinking: ${chunk.replace(/\\[REDACTED\\]/g, \"\")}`\n }\n if (kind === \"assistant\" && chunk) {\n chunk = stripEcho(data, msg, chunk)\n if (!chunk.trim()) {\n return\n }\n }\n }\n\n if (chunk) {\n data.sent.set(partID, text.length)\n data.visible.set(partID, (data.visible.get(partID) ?? \"\") + chunk)\n commits.push({\n kind,\n text: chunk,\n phase: \"progress\",\n source: kind === \"user\" ? \"system\" : kind,\n messageID: msg,\n partID,\n })\n }\n\n if (!interrupted) {\n return\n }\n\n commits.push({\n kind,\n text: \"\",\n phase: \"final\",\n source: kind === \"user\" ? \"system\" : kind,\n messageID: msg,\n partID,\n interrupted: true,\n })\n}\n\nfunction drop(data: SessionData, partID: string) {\n data.part.delete(partID)\n data.text.delete(partID)\n data.sent.delete(partID)\n data.visible.delete(partID)\n data.msg.delete(partID)\n data.end.delete(partID)\n}\n\n// Called when we learn a message's role (from message.updated). Flushes any\n// buffered text parts that were waiting on role confirmation. User-role\n// parts are silently dropped.\nfunction replay(data: SessionData, commits: SessionCommit[], messageID: string, role: MessageRole, thinking: boolean) {\n for (const [partID, msg] of data.msg.entries()) {\n if (msg !== messageID || data.ids.has(partID)) {\n continue\n }\n\n if (role === \"user\" && !data.includeUserText) {\n data.ids.add(partID)\n drop(data, partID)\n continue\n }\n\n const kind = data.part.get(partID)\n if (!kind) {\n continue\n }\n\n if (role === \"user\" && kind === \"assistant\") {\n data.part.set(partID, \"user\")\n }\n\n if (kind === \"reasoning\" && !thinking) {\n if (data.end.has(partID)) {\n data.ids.add(partID)\n }\n drop(data, partID)\n continue\n }\n\n flushPart(data, commits, partID)\n\n if (!data.end.has(partID)) {\n continue\n }\n\n data.ids.add(partID)\n drop(data, partID)\n }\n}\n\nfunction toolCommit(\n part: ToolPart,\n next: Pick<SessionCommit, \"text\" | \"phase\" | \"toolState\"> & { toolError?: string },\n): SessionCommit {\n return {\n kind: \"tool\",\n source: \"tool\",\n messageID: part.messageID,\n partID: part.id,\n tool: part.tool,\n part,\n ...next,\n }\n}\n\nfunction shellPartID(shellID: string): string {\n return `shell:${shellID}`\n}\n\nfunction claimShell(data: SessionData, shellID: string, source: ShellCall[\"source\"], command?: string): ShellCall {\n const current = data.shell.get(shellID)\n if (current) {\n if (command && !current.command) {\n current.command = command\n }\n\n return current\n }\n\n const next = {\n source,\n ...(command ? { command } : {}),\n } satisfies ShellCall\n data.shell.set(shellID, next)\n return next\n}\n\nfunction bashCommand(part: ToolPart): string | undefined {\n if (part.tool !== \"bash\") {\n return undefined\n }\n\n const input = part.state.input\n if (!input || typeof input !== \"object\" || Array.isArray(input)) {\n return undefined\n }\n\n const command = Reflect.get(input, \"command\")\n return typeof command === \"string\" ? command : undefined\n}\n\nfunction shellCommit(\n input: {\n callID: string\n command: string\n },\n next: Pick<SessionCommit, \"text\" | \"phase\" | \"toolState\">,\n): SessionCommit {\n return {\n kind: \"tool\",\n source: \"tool\",\n partID: shellPartID(input.callID),\n tool: \"bash\",\n shell: input,\n ...next,\n }\n}\n\nfunction startShell(callID: string, command: string): SessionCommit {\n return shellCommit(\n {\n callID,\n command,\n },\n {\n text: \"running shell\",\n phase: \"start\",\n toolState: \"running\",\n },\n )\n}\n\nfunction doneShell(callID: string, command: string, output: string): SessionCommit {\n return shellCommit(\n {\n callID,\n command,\n },\n {\n text: output,\n phase: \"progress\",\n toolState: \"completed\",\n },\n )\n}\n\nfunction startTool(part: ToolPart): SessionCommit {\n return toolCommit(part, {\n text: toolStatus(part),\n phase: \"start\",\n toolState: \"running\",\n })\n}\n\nfunction doneTool(part: ToolPart): SessionCommit {\n return toolCommit(part, {\n text: \"\",\n phase: \"final\",\n toolState: \"completed\",\n })\n}\n\nfunction failTool(part: ToolPart, text: string): SessionCommit {\n return toolCommit(part, {\n text,\n phase: \"final\",\n toolState: \"error\",\n toolError: text,\n })\n}\n\n// The main reducer. Takes one SDK event and returns scrollback commits and\n// footer updates. Called once per event from the stream transport's watch loop.\n//\n// Event handling follows the SDK event types:\n// message.updated → learn role, flush buffered parts, track usage\n// message.part.delta → accumulate text, flush if ready\n// message.part.updated → handle text/reasoning/tool state transitions\n// permission.* → manage the permission queue, drive footer view\n// question.* → manage the question queue, drive footer view\n// session.error → emit error scrollback entry\nexport function reduceSessionData(input: SessionDataInput): SessionDataOutput {\n const commits: SessionCommit[] = []\n const data = input.data\n const event = input.event\n\n if (event.type === \"session.shell.started\") {\n if (event.properties.sessionID !== input.sessionID) {\n return out(data, commits)\n }\n\n const shell = claimShell(data, event.properties.shell.id, \"shell\", event.properties.shell.command)\n if (shell.source !== \"shell\") {\n return out(data, commits)\n }\n\n const partID = shellPartID(event.properties.shell.id)\n if (data.ids.has(partID) || data.tools.has(partID)) {\n return out(data, commits, patch({ status: \"running shell\" }))\n }\n\n data.tools.add(partID)\n commits.push(startShell(event.properties.shell.id, shell.command ?? event.properties.shell.command))\n return out(data, commits, patch({ status: \"running shell\" }))\n }\n\n if (event.type === \"session.shell.ended\") {\n if (event.properties.sessionID !== input.sessionID) {\n return out(data, commits)\n }\n\n const shell = claimShell(data, event.properties.shell.id, \"shell\")\n if (shell.source !== \"shell\") {\n return out(data, commits)\n }\n\n const partID = shellPartID(event.properties.shell.id)\n const seen = data.tools.has(partID)\n const command = shell.command ?? \"\"\n data.tools.delete(partID)\n if (data.ids.has(partID)) {\n return out(data, commits)\n }\n\n if (!seen && command) {\n commits.push(startShell(event.properties.shell.id, command))\n }\n\n data.ids.add(partID)\n commits.push(doneShell(event.properties.shell.id, command, event.properties.output.output))\n return out(data, commits)\n }\n\n if (event.type === \"message.updated\") {\n if (event.properties.sessionID !== input.sessionID) {\n return out(data, commits)\n }\n\n const info = event.properties.info\n if (typeof info.id === \"string\") {\n data.role.set(info.id, info.role)\n replay(data, commits, info.id, info.role, input.thinking)\n }\n\n if (info.role !== \"assistant\") {\n return out(data, commits)\n }\n\n let next: FooterPatch | undefined\n if (!data.announced) {\n data.announced = true\n next = { status: \"assistant responding\" }\n }\n\n const usage = formatUsage(\n info.tokens,\n input.limits[modelKey(info.providerID, info.modelID)],\n typeof info.cost === \"number\" ? info.cost : undefined,\n )\n if (usage) {\n next = {\n ...next,\n usage,\n }\n }\n\n if (typeof info.id === \"string\" && info.error && !isAbort(info.error) && !data.ids.has(msgErr(info.id))) {\n data.ids.add(msgErr(info.id))\n commits.push({\n kind: \"error\",\n text: formatError(info.error),\n phase: \"start\",\n source: \"system\",\n messageID: info.id,\n })\n }\n\n return out(data, commits, patch(next))\n }\n\n if (event.type === \"message.part.delta\") {\n if (event.properties.sessionID !== input.sessionID) {\n return out(data, commits)\n }\n\n if (\n typeof event.properties.partID !== \"string\" ||\n typeof event.properties.field !== \"string\" ||\n typeof event.properties.delta !== \"string\"\n ) {\n return out(data, commits)\n }\n\n if (event.properties.field !== \"text\") {\n return out(data, commits)\n }\n\n const partID = event.properties.partID\n if (data.ids.has(partID)) {\n return out(data, commits)\n }\n\n if (typeof event.properties.messageID === \"string\") {\n data.msg.set(partID, event.properties.messageID)\n }\n\n const text = data.text.get(partID) ?? \"\"\n data.text.set(partID, text + event.properties.delta)\n\n const kind = data.part.get(partID)\n if (!kind) {\n return out(data, commits)\n }\n\n if (kind === \"reasoning\" && !input.thinking) {\n return out(data, commits)\n }\n\n if (!ready(data, partID)) {\n return out(data, commits)\n }\n\n flushPart(data, commits, partID)\n return out(data, commits)\n }\n\n if (event.type === \"message.part.updated\") {\n const part = event.properties.part\n if (part.sessionID !== input.sessionID) {\n return out(data, commits)\n }\n\n if (part.type === \"tool\") {\n const view = syncPermission(data, part) ?? syncQuestion(data, part)\n if (part.tool === \"bash\" && part.callID) {\n if (claimShell(data, part.callID, \"tool\", bashCommand(part)).source === \"shell\") {\n return out(data, commits, view)\n }\n }\n\n if (part.state.status === \"running\") {\n if (data.ids.has(part.id)) {\n return out(data, commits, view)\n }\n\n if (!data.tools.has(part.id)) {\n data.tools.add(part.id)\n commits.push(startTool(part))\n }\n\n return out(data, commits, view ?? patch({ status: toolStatus(part) }))\n }\n\n if (part.state.status === \"completed\") {\n const seen = data.tools.has(part.id)\n const mode = toolView(part.tool)\n data.tools.delete(part.id)\n if (data.ids.has(part.id)) {\n return out(data, commits, view)\n }\n\n if (!seen) {\n commits.push(startTool(part))\n }\n\n data.ids.add(part.id)\n stashEcho(data, part)\n\n const output = part.state.output\n if (mode.output && typeof output === \"string\" && output.trim()) {\n commits.push({\n kind: \"tool\",\n text: output,\n phase: \"progress\",\n source: \"tool\",\n messageID: part.messageID,\n partID: part.id,\n tool: part.tool,\n part,\n toolState: \"completed\",\n })\n }\n\n if (mode.final) {\n commits.push(doneTool(part))\n }\n\n return out(data, commits, view)\n }\n\n if (part.state.status === \"error\") {\n const seen = data.tools.has(part.id)\n data.tools.delete(part.id)\n if (data.ids.has(part.id)) {\n return out(data, commits, view)\n }\n\n if (!seen) {\n commits.push(startTool(part))\n }\n\n data.ids.add(part.id)\n const text =\n typeof part.state.error === \"string\" && part.state.error.trim() ? part.state.error : \"unknown error\"\n commits.push(failTool(part, text))\n return out(data, commits, view)\n }\n }\n\n if (part.type !== \"text\" && part.type !== \"reasoning\") {\n return out(data, commits)\n }\n\n if (data.ids.has(part.id)) {\n return out(data, commits)\n }\n\n const kind = part.type === \"text\" ? \"assistant\" : \"reasoning\"\n if (typeof part.messageID === \"string\") {\n data.msg.set(part.id, part.messageID)\n }\n\n const msg = part.messageID\n const role = msg ? data.role.get(msg) : undefined\n if (role === \"user\" && part.type === \"text\" && !data.includeUserText) {\n data.ids.add(part.id)\n drop(data, part.id)\n return out(data, commits)\n }\n\n if (kind === \"reasoning\" && !input.thinking) {\n if (part.time?.end) {\n data.ids.add(part.id)\n }\n drop(data, part.id)\n return out(data, commits)\n }\n\n data.part.set(part.id, role === \"user\" && kind === \"assistant\" ? \"user\" : kind)\n syncText(data, part.id, part.text)\n\n if (part.time?.end) {\n data.end.add(part.id)\n }\n\n if (msg && !role) {\n return out(data, commits)\n }\n\n if (!ready(data, part.id)) {\n return out(data, commits)\n }\n\n flushPart(data, commits, part.id)\n\n if (!part.time?.end) {\n return out(data, commits)\n }\n\n data.ids.add(part.id)\n drop(data, part.id)\n return out(data, commits)\n }\n\n if (event.type === \"permission.asked\") {\n if (event.properties.sessionID !== input.sessionID) {\n return out(data, commits)\n }\n\n upsert(data.permissions, enrichPermission(data, event.properties))\n return queueOut(data, commits)\n }\n\n if (event.type === \"permission.replied\") {\n if (event.properties.sessionID !== input.sessionID) {\n return out(data, commits)\n }\n\n if (!remove(data.permissions, event.properties.requestID)) {\n return out(data, commits)\n }\n\n return queueOut(data, commits)\n }\n\n if (event.type === \"question.asked\") {\n if (event.properties.sessionID !== input.sessionID) {\n return out(data, commits)\n }\n\n upsert(data.questions, event.properties)\n return queueOut(data, commits)\n }\n\n if (event.type === \"question.replied\" || event.type === \"question.rejected\") {\n if (event.properties.sessionID !== input.sessionID) {\n return out(data, commits)\n }\n\n if (!remove(data.questions, event.properties.requestID)) {\n return out(data, commits)\n }\n\n return queueOut(data, commits)\n }\n\n if (event.type === \"session.error\") {\n if (event.properties.sessionID !== input.sessionID || !event.properties.error) {\n return out(data, commits)\n }\n\n commits.push({\n kind: \"error\",\n text: formatError(event.properties.error),\n phase: \"start\",\n source: \"system\",\n })\n return out(data, commits)\n }\n\n return out(data, commits)\n}\n", | ||
| "// Thin bridge between reducer output and the footer API.\n//\n// The reducers produce StreamCommit[] and an optional FooterOutput (patch +\n// view + subagent state). This module forwards them to footer.append() and\n// footer.event() respectively, adding trace writes along the way. It also\n// defaults status updates to phase \"running\" if the caller didn't set a\n// phase -- a convenience so reducer code doesn't have to repeat that.\nimport type { FooterApi, FooterOutput, FooterPatch, FooterSubagentState, StreamCommit } from \"./types\"\n\ntype Trace = {\n write(type: string, data?: unknown): void\n}\n\ntype OutputInput = {\n footer: FooterApi\n trace?: Trace\n}\n\ntype StreamOutput = {\n commits: StreamCommit[]\n footer?: FooterOutput\n}\n\n// Default to \"running\" phase when a status string arrives without an explicit phase.\nfunction patch(next: FooterPatch): FooterPatch {\n if (typeof next.status === \"string\" && next.phase === undefined) {\n return {\n phase: \"running\",\n ...next,\n }\n }\n\n return next\n}\n\nfunction summarize(value: unknown): unknown {\n if (typeof value === \"string\") {\n if (value.length <= 160) {\n return value\n }\n\n return {\n type: \"string\",\n length: value.length,\n preview: `${value.slice(0, 160)}...`,\n }\n }\n\n if (Array.isArray(value)) {\n return {\n type: \"array\",\n length: value.length,\n }\n }\n\n if (!value || typeof value !== \"object\") {\n return value\n }\n\n return {\n type: \"object\",\n keys: Object.keys(value),\n }\n}\n\nfunction traceCommit(commit: StreamCommit) {\n return {\n ...commit,\n text: summarize(commit.text),\n textLength: commit.text.length,\n part: commit.part\n ? {\n id: commit.part.id,\n sessionID: commit.part.sessionID,\n messageID: commit.part.messageID,\n callID: commit.part.callID,\n tool: commit.part.tool,\n state: {\n status: commit.part.state.status,\n title: \"title\" in commit.part.state ? summarize(commit.part.state.title) : undefined,\n error: \"error\" in commit.part.state ? summarize(commit.part.state.error) : undefined,\n time: \"time\" in commit.part.state ? summarize(commit.part.state.time) : undefined,\n input: summarize(commit.part.state.input),\n metadata: \"metadata\" in commit.part.state ? summarize(commit.part.state.metadata) : undefined,\n },\n }\n : undefined,\n }\n}\n\nexport function traceSubagentState(state: FooterSubagentState) {\n return {\n tabs: state.tabs,\n details: Object.fromEntries(\n Object.entries(state.details).map(([sessionID, detail]) => [\n sessionID,\n {\n sessionID,\n commits: detail.commits.map(traceCommit),\n },\n ]),\n ),\n permissions: state.permissions.map((item) => ({\n id: item.id,\n sessionID: item.sessionID,\n permission: item.permission,\n patterns: item.patterns,\n tool: item.tool,\n metadata: item.metadata\n ? {\n keys: Object.keys(item.metadata),\n input: summarize(item.metadata.input),\n }\n : undefined,\n })),\n questions: state.questions.map((item) => ({\n id: item.id,\n sessionID: item.sessionID,\n questions: item.questions.map((question) => ({\n header: question.header,\n question: question.question,\n options: question.options.length,\n multiple: question.multiple,\n })),\n })),\n }\n}\n\nexport function traceFooterOutput(footer?: FooterOutput) {\n if (!footer?.subagent) {\n return footer\n }\n\n return {\n ...footer,\n subagent: traceSubagentState(footer.subagent),\n }\n}\n\n// Forwards reducer output to the footer: commits go to scrollback, patches update the status bar.\nexport function writeSessionOutput(input: OutputInput, out: StreamOutput): void {\n for (const commit of out.commits) {\n input.trace?.write(\"ui.commit\", commit)\n input.footer.append(commit)\n }\n\n if (out.footer?.patch) {\n const next = patch(out.footer.patch)\n input.trace?.write(\"ui.patch\", next)\n input.footer.event({\n type: \"stream.patch\",\n patch: next,\n })\n }\n\n if (out.footer?.subagent) {\n input.trace?.write(\"ui.subagent\", traceSubagentState(out.footer.subagent))\n input.footer.event({\n type: \"stream.subagent\",\n state: out.footer.subagent,\n })\n }\n\n if (!out.footer?.view) {\n return\n }\n\n input.trace?.write(\"ui.patch\", {\n view: out.footer.view,\n })\n input.footer.event({\n type: \"stream.view\",\n view: out.footer.view,\n })\n}\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "D98046BE4519417F64756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@opentui+keymap@0.4.3+aeceedea454d57be/node_modules/@opentui/keymap/src/opentui.js", "../tui/src/util/session.ts", "../tui/src/logo.ts"], | ||
| "sourcesContent": [ | ||
| "// @bun\nimport\"../chunks/index-p35cyhc4.js\";\n\n// src/opentui.ts\nimport { CliRenderEvents, KeyEvent, RenderableEvents } from \"@opentui/core\";\nimport { Keymap } from \"@opentui/keymap\";\nimport { registerDefaultKeys, registerEnabledFields, registerMetadataFields } from \"@opentui/keymap/addons\";\nfunction createSyntheticCommandEvent() {\n return new KeyEvent({\n name: \"command\",\n ctrl: false,\n meta: false,\n shift: false,\n option: false,\n sequence: \"\",\n number: false,\n raw: \"\",\n eventType: \"press\",\n source: \"raw\"\n });\n}\nfunction normalizeRuntimePlatform(platform) {\n if (platform === \"darwin\") {\n return \"macos\";\n }\n if (platform === \"win32\") {\n return \"windows\";\n }\n if (platform === \"linux\") {\n return \"linux\";\n }\n return \"unknown\";\n}\nfunction createOpenTuiHostMetadata(renderer) {\n const platform = normalizeRuntimePlatform(process.platform);\n const hasKittyKeyboard = renderer.capabilities?.kitty_keyboard === true;\n return {\n platform,\n primaryModifier: platform === \"macos\" ? \"super\" : platform === \"unknown\" ? \"unknown\" : \"ctrl\",\n modifiers: {\n ctrl: \"supported\",\n shift: \"supported\",\n meta: \"supported\",\n super: hasKittyKeyboard ? \"supported\" : \"unknown\",\n hyper: hasKittyKeyboard ? \"supported\" : \"unknown\"\n }\n };\n}\nfunction createOpenTuiKeymapHost(renderer) {\n return {\n get metadata() {\n return createOpenTuiHostMetadata(renderer);\n },\n rootTarget: renderer.root,\n get isDestroyed() {\n return renderer.isDestroyed;\n },\n getFocusedTarget() {\n const focused = renderer.currentFocusedRenderable;\n if (!focused || focused.isDestroyed || !focused.focused) {\n return null;\n }\n return focused;\n },\n getParentTarget(target) {\n return target.parent;\n },\n isTargetDestroyed(target) {\n return target.isDestroyed;\n },\n onKeyPress(listener) {\n renderer.keyInput.prependListener(\"keypress\", listener);\n return () => {\n renderer.keyInput.off(\"keypress\", listener);\n };\n },\n onKeyRelease(listener) {\n renderer.keyInput.prependListener(\"keyrelease\", listener);\n return () => {\n renderer.keyInput.off(\"keyrelease\", listener);\n };\n },\n onFocusChange(listener) {\n renderer.on(CliRenderEvents.FOCUSED_RENDERABLE, listener);\n return () => {\n renderer.off(CliRenderEvents.FOCUSED_RENDERABLE, listener);\n };\n },\n onDestroy(listener) {\n renderer.once(CliRenderEvents.DESTROY, listener);\n return () => {\n renderer.off(CliRenderEvents.DESTROY, listener);\n };\n },\n onTargetDestroy(target, listener) {\n target.once(RenderableEvents.DESTROYED, listener);\n return () => {\n target.off(RenderableEvents.DESTROYED, listener);\n };\n },\n onRawInput(listener) {\n renderer.prependInputHandler(listener);\n return () => {\n renderer.removeInputHandler(listener);\n };\n },\n createCommandEvent() {\n return createSyntheticCommandEvent();\n }\n };\n}\nfunction createOpenTuiKeymap(renderer) {\n if (renderer.isDestroyed) {\n throw new Error(\"Cannot create a keymap for a destroyed renderer\");\n }\n return new Keymap(createOpenTuiKeymapHost(renderer));\n}\nfunction createDefaultOpenTuiKeymap(renderer) {\n if (renderer.isDestroyed) {\n throw new Error(\"Cannot create a keymap for a destroyed renderer\");\n }\n const keymap = new Keymap(createOpenTuiKeymapHost(renderer));\n registerDefaultKeys(keymap);\n registerEnabledFields(keymap);\n registerMetadataFields(keymap);\n return keymap;\n}\nexport {\n createOpenTuiKeymapHost,\n createOpenTuiKeymap,\n createDefaultOpenTuiKeymap\n};\n\n//# debugId=3536CBBE2B01723A64756E2164756E21\n//# sourceMappingURL=opentui.js.map\n", | ||
| "import type { SessionMessageAssistant, SessionMessageInfo } from \"@opencode-ai/sdk/v2\"\n\nexport function isDefaultTitle(title: string) {\n return /^(New session - |Child session - )\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$/.test(title)\n}\n\nexport function lastAssistantWithUsage(messages: ReadonlyArray<SessionMessageInfo>, boundary?: string) {\n const boundaryIndex = boundary ? messages.findIndex((message) => message.id === boundary) : -1\n if (boundary && boundaryIndex === -1) return undefined\n return messages.findLast(\n (message, index): message is SessionMessageAssistant & { tokens: NonNullable<SessionMessageAssistant[\"tokens\"]> } =>\n message.type === \"assistant\" && message.tokens !== undefined && (boundaryIndex === -1 || index < boundaryIndex),\n )\n}\n", | ||
| "export const logo = {\n left: [\" \", \"█▀▀█ █▀▀█ █▀▀█ █▀▀▄\", \"█__█ █__█ █^^^ █__█\", \"▀▀▀▀ █▀▀▀ ▀▀▀▀ ▀~~▀\"],\n right: [\" ▄ \", \"█▀▀▀ █▀▀█ █▀▀█ █▀▀█\", \"█___ █__█ █__█ █^^^\", \"▀▀▀▀ ▀▀▀▀ ▀▀▀▀ ▀▀▀▀\"],\n}\n\nexport const go = {\n left: [\" \", \"█▀▀▀\", \"█_^█\", \"▀▀▀▀\"],\n right: [\" \", \"█▀▀█\", \"█__█\", \"▀▀▀▀\"],\n}\n\nexport const marks = \"_^~,\"\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "A58CA7D905B2079264756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260127222353_familiar_lady_ursula.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260127222353_familiar_lady_ursula\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`\n CREATE TABLE \\`project\\` (\n \\`id\\` text PRIMARY KEY,\n \\`worktree\\` text NOT NULL,\n \\`vcs\\` text,\n \\`name\\` text,\n \\`icon_url\\` text,\n \\`icon_color\\` text,\n \\`time_created\\` integer NOT NULL,\n \\`time_updated\\` integer NOT NULL,\n \\`time_initialized\\` integer,\n \\`sandboxes\\` text NOT NULL\n );\n `)\n yield* tx.run(`\n CREATE TABLE \\`message\\` (\n \\`id\\` text PRIMARY KEY,\n \\`session_id\\` text NOT NULL,\n \\`time_created\\` integer NOT NULL,\n \\`time_updated\\` integer NOT NULL,\n \\`data\\` text NOT NULL,\n CONSTRAINT \\`fk_message_session_id_session_id_fk\\` FOREIGN KEY (\\`session_id\\`) REFERENCES \\`session\\`(\\`id\\`) ON DELETE CASCADE\n );\n `)\n yield* tx.run(`\n CREATE TABLE \\`part\\` (\n \\`id\\` text PRIMARY KEY,\n \\`message_id\\` text NOT NULL,\n \\`session_id\\` text NOT NULL,\n \\`time_created\\` integer NOT NULL,\n \\`time_updated\\` integer NOT NULL,\n \\`data\\` text NOT NULL,\n CONSTRAINT \\`fk_part_message_id_message_id_fk\\` FOREIGN KEY (\\`message_id\\`) REFERENCES \\`message\\`(\\`id\\`) ON DELETE CASCADE\n );\n `)\n yield* tx.run(`\n CREATE TABLE \\`permission\\` (\n \\`project_id\\` text PRIMARY KEY,\n \\`time_created\\` integer NOT NULL,\n \\`time_updated\\` integer NOT NULL,\n \\`data\\` text 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 TABLE \\`session\\` (\n \\`id\\` text PRIMARY KEY,\n \\`project_id\\` text NOT NULL,\n \\`parent_id\\` text,\n \\`slug\\` text NOT NULL,\n \\`directory\\` text NOT NULL,\n \\`title\\` text NOT NULL,\n \\`version\\` text NOT NULL,\n \\`share_url\\` text,\n \\`summary_additions\\` integer,\n \\`summary_deletions\\` integer,\n \\`summary_files\\` integer,\n \\`summary_diffs\\` text,\n \\`revert\\` text,\n \\`permission\\` text,\n \\`time_created\\` integer NOT NULL,\n \\`time_updated\\` integer NOT NULL,\n \\`time_compacting\\` integer,\n \\`time_archived\\` integer,\n CONSTRAINT \\`fk_session_project_id_project_id_fk\\` FOREIGN KEY (\\`project_id\\`) REFERENCES \\`project\\`(\\`id\\`) ON DELETE CASCADE\n );\n `)\n yield* tx.run(`\n CREATE TABLE \\`todo\\` (\n \\`session_id\\` text NOT NULL,\n \\`content\\` text NOT NULL,\n \\`status\\` text NOT NULL,\n \\`priority\\` text NOT NULL,\n \\`position\\` integer NOT NULL,\n \\`time_created\\` integer NOT NULL,\n \\`time_updated\\` integer NOT NULL,\n CONSTRAINT \\`todo_pk\\` PRIMARY KEY(\\`session_id\\`, \\`position\\`),\n CONSTRAINT \\`fk_todo_session_id_session_id_fk\\` FOREIGN KEY (\\`session_id\\`) REFERENCES \\`session\\`(\\`id\\`) ON DELETE CASCADE\n );\n `)\n yield* tx.run(`\n CREATE TABLE \\`session_share\\` (\n \\`session_id\\` text PRIMARY KEY,\n \\`id\\` text NOT NULL,\n \\`secret\\` text NOT NULL,\n \\`url\\` text NOT NULL,\n \\`time_created\\` integer NOT NULL,\n \\`time_updated\\` integer NOT NULL,\n CONSTRAINT \\`fk_session_share_session_id_session_id_fk\\` FOREIGN KEY (\\`session_id\\`) REFERENCES \\`session\\`(\\`id\\`) ON DELETE CASCADE\n );\n `)\n yield* tx.run(`CREATE INDEX \\`message_session_idx\\` ON \\`message\\` (\\`session_id\\`);`)\n yield* tx.run(`CREATE INDEX \\`part_message_idx\\` ON \\`part\\` (\\`message_id\\`);`)\n yield* tx.run(`CREATE INDEX \\`part_session_idx\\` ON \\`part\\` (\\`session_id\\`);`)\n yield* tx.run(`CREATE INDEX \\`session_project_idx\\` ON \\`session\\` (\\`project_id\\`);`)\n yield* tx.run(`CREATE INDEX \\`session_parent_idx\\` ON \\`session\\` (\\`parent_id\\`);`)\n yield* tx.run(`CREATE INDEX \\`todo_session_idx\\` ON \\`todo\\` (\\`session_id\\`);`)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,sCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,4YAab,EACD,MAAO,EAAG,IAAI,8XASb,EACD,MAAO,EAAG,IAAI,+ZAUb,EACD,MAAO,EAAG,IAAI,qWAQb,EACD,MAAO,EAAG,IAAI,2zBAsBb,EACD,MAAO,EAAG,IAAI,ghBAYb,EACD,MAAO,EAAG,IAAI,4aAUb,EACD,MAAO,EAAG,IAAI,iEAAuE,EACrF,MAAO,EAAG,IAAI,2DAAiE,EAC/E,MAAO,EAAG,IAAI,2DAAiE,EAC/E,MAAO,EAAG,IAAI,iEAAuE,EACrF,MAAO,EAAG,IAAI,+DAAqE,EACnF,MAAO,EAAG,IAAI,2DAAiE,EAChF,EAEL", | ||
| "debugId": "1615CFEA491B034E64756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260603001617_session_message_projection_indexes.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260603001617_session_message_projection_indexes\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`DROP INDEX IF EXISTS \\`session_message_session_idx\\`;`)\n yield* tx.run(`DROP INDEX IF EXISTS \\`session_message_session_type_idx\\`;`)\n yield* tx.run(`CREATE INDEX \\`event_aggregate_seq_idx\\` ON \\`event\\` (\\`aggregate_id\\`,\\`seq\\`);`)\n yield* tx.run(\n `CREATE INDEX \\`session_message_session_time_created_id_idx\\` ON \\`session_message\\` (\\`session_id\\`,\\`time_created\\`,\\`id\\`);`,\n )\n yield* tx.run(\n `CREATE INDEX \\`session_message_session_type_time_created_id_idx\\` ON \\`session_message\\` (\\`session_id\\`,\\`type\\`,\\`time_created\\`,\\`id\\`);`,\n )\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,oDACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,qDAAuD,EACrE,MAAO,EAAG,IAAI,0DAA4D,EAC1E,MAAO,EAAG,IAAI,2EAAmF,EACjG,MAAO,EAAG,IACR,qHACF,EACA,MAAO,EAAG,IACR,iIACF,EACD,EAEL", | ||
| "debugId": "E3FA8C27AB44137064756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "ABAA069E1796D0C264756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@aws-sdk+nested-clients@3.997.13/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/index.js"], | ||
| "sourcesContent": [ | ||
| "'use strict';\n\nvar client$1 = require('@aws-sdk/core/client');\nvar core = require('@smithy/core');\nvar client = require('@smithy/core/client');\nvar config = require('@smithy/core/config');\nvar endpoints = require('@smithy/core/endpoints');\nvar protocols = require('@smithy/core/protocols');\nvar retry = require('@smithy/core/retry');\nvar schema = require('@smithy/core/schema');\nvar httpAuthSchemes = require('@aws-sdk/core/httpAuthSchemes');\nvar serde = require('@smithy/core/serde');\nvar nodeHttpHandler = require('@smithy/node-http-handler');\nvar protocols$1 = require('@aws-sdk/core/protocols');\n\nconst defaultSSOOIDCHttpAuthSchemeParametersProvider = async (config, context, input) => {\n return {\n operation: client.getSmithyContext(context).operation,\n region: (await client.normalizeProvider(config.region)()) ||\n (() => {\n throw new Error(\"expected `region` to be configured for `aws.auth#sigv4`\");\n })(),\n };\n};\nfunction createAwsAuthSigv4HttpAuthOption(authParameters) {\n return {\n schemeId: \"aws.auth#sigv4\",\n signingProperties: {\n name: \"sso-oauth\",\n region: authParameters.region,\n },\n propertiesExtractor: (config, context) => ({\n signingProperties: {\n config,\n context,\n },\n }),\n };\n}\nfunction createSmithyApiNoAuthHttpAuthOption(authParameters) {\n return {\n schemeId: \"smithy.api#noAuth\",\n };\n}\nconst defaultSSOOIDCHttpAuthSchemeProvider = (authParameters) => {\n const options = [];\n switch (authParameters.operation) {\n case \"CreateToken\": {\n options.push(createSmithyApiNoAuthHttpAuthOption());\n break;\n }\n default: {\n options.push(createAwsAuthSigv4HttpAuthOption(authParameters));\n }\n }\n return options;\n};\nconst resolveHttpAuthSchemeConfig = (config) => {\n const config_0 = httpAuthSchemes.resolveAwsSdkSigV4Config(config);\n return Object.assign(config_0, {\n authSchemePreference: client.normalizeProvider(config.authSchemePreference ?? []),\n });\n};\n\nconst resolveClientEndpointParameters = (options) => {\n return Object.assign(options, {\n useDualstackEndpoint: options.useDualstackEndpoint ?? false,\n useFipsEndpoint: options.useFipsEndpoint ?? false,\n defaultSigningName: \"sso-oauth\",\n });\n};\nconst commonParams = {\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n};\n\nvar version = \"3.997.12\";\nvar packageInfo = {\n\tversion: version};\n\nconst k = \"ref\";\nconst a = -1, b = true, c = \"isSet\", d = \"PartitionResult\", e = \"booleanEquals\", f = \"getAttr\", g = { [k]: \"Endpoint\" }, h = { [k]: d }, i = {}, j = [{ [k]: \"Region\" }];\nconst _data = {\n conditions: [\n [c, [g]],\n [c, j],\n [\"aws.partition\", j, d],\n [e, [{ [k]: \"UseFIPS\" }, b]],\n [e, [{ [k]: \"UseDualStack\" }, b]],\n [e, [{ fn: f, argv: [h, \"supportsDualStack\"] }, b]],\n [e, [{ fn: f, argv: [h, \"supportsFIPS\"] }, b]],\n [\"stringEquals\", [{ fn: f, argv: [h, \"name\"] }, \"aws-us-gov\"]],\n ],\n results: [\n [a],\n [a, \"Invalid Configuration: FIPS and custom endpoint are not supported\"],\n [a, \"Invalid Configuration: Dualstack and custom endpoint are not supported\"],\n [g, i],\n [\"https://oidc-fips.{Region}.{PartitionResult#dualStackDnsSuffix}\", i],\n [a, \"FIPS and DualStack are enabled, but this partition does not support one or both\"],\n [\"https://oidc.{Region}.amazonaws.com\", i],\n [\"https://oidc-fips.{Region}.{PartitionResult#dnsSuffix}\", i],\n [a, \"FIPS is enabled but this partition does not support FIPS\"],\n [\"https://oidc.{Region}.{PartitionResult#dualStackDnsSuffix}\", i],\n [a, \"DualStack is enabled but this partition does not support DualStack\"],\n [\"https://oidc.{Region}.{PartitionResult#dnsSuffix}\", i],\n [a, \"Invalid Configuration: Missing Region\"],\n ],\n};\nconst root = 2;\nconst r = 100_000_000;\nconst nodes = new Int32Array([\n -1,\n 1,\n -1,\n 0,\n 13,\n 3,\n 1,\n 4,\n r + 12,\n 2,\n 5,\n r + 12,\n 3,\n 8,\n 6,\n 4,\n 7,\n r + 11,\n 5,\n r + 9,\n r + 10,\n 4,\n 11,\n 9,\n 6,\n 10,\n r + 8,\n 7,\n r + 6,\n r + 7,\n 5,\n 12,\n r + 5,\n 6,\n r + 4,\n r + 5,\n 3,\n r + 1,\n 14,\n 4,\n r + 2,\n r + 3,\n]);\nconst bdd = endpoints.BinaryDecisionDiagram.from(nodes, root, _data.conditions, _data.results);\n\nconst cache = new endpoints.EndpointCache({\n size: 50,\n params: [\"Endpoint\", \"Region\", \"UseDualStack\", \"UseFIPS\"],\n});\nconst defaultEndpointResolver = (endpointParams, context = {}) => {\n return cache.get(endpointParams, () => endpoints.decideEndpoint(bdd, {\n endpointParams: endpointParams,\n logger: context.logger,\n }));\n};\nendpoints.customEndpointFunctions.aws = client$1.awsEndpointFunctions;\n\nclass SSOOIDCServiceException extends client.ServiceException {\n constructor(options) {\n super(options);\n Object.setPrototypeOf(this, SSOOIDCServiceException.prototype);\n }\n}\n\nclass AccessDeniedException extends SSOOIDCServiceException {\n name = \"AccessDeniedException\";\n $fault = \"client\";\n error;\n reason;\n error_description;\n constructor(opts) {\n super({\n name: \"AccessDeniedException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, AccessDeniedException.prototype);\n this.error = opts.error;\n this.reason = opts.reason;\n this.error_description = opts.error_description;\n }\n}\nclass AuthorizationPendingException extends SSOOIDCServiceException {\n name = \"AuthorizationPendingException\";\n $fault = \"client\";\n error;\n error_description;\n constructor(opts) {\n super({\n name: \"AuthorizationPendingException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, AuthorizationPendingException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nclass ExpiredTokenException extends SSOOIDCServiceException {\n name = \"ExpiredTokenException\";\n $fault = \"client\";\n error;\n error_description;\n constructor(opts) {\n super({\n name: \"ExpiredTokenException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, ExpiredTokenException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nclass InternalServerException extends SSOOIDCServiceException {\n name = \"InternalServerException\";\n $fault = \"server\";\n error;\n error_description;\n constructor(opts) {\n super({\n name: \"InternalServerException\",\n $fault: \"server\",\n ...opts,\n });\n Object.setPrototypeOf(this, InternalServerException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nclass InvalidClientException extends SSOOIDCServiceException {\n name = \"InvalidClientException\";\n $fault = \"client\";\n error;\n error_description;\n constructor(opts) {\n super({\n name: \"InvalidClientException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, InvalidClientException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nclass InvalidGrantException extends SSOOIDCServiceException {\n name = \"InvalidGrantException\";\n $fault = \"client\";\n error;\n error_description;\n constructor(opts) {\n super({\n name: \"InvalidGrantException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, InvalidGrantException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nclass InvalidRequestException extends SSOOIDCServiceException {\n name = \"InvalidRequestException\";\n $fault = \"client\";\n error;\n reason;\n error_description;\n constructor(opts) {\n super({\n name: \"InvalidRequestException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, InvalidRequestException.prototype);\n this.error = opts.error;\n this.reason = opts.reason;\n this.error_description = opts.error_description;\n }\n}\nclass InvalidScopeException extends SSOOIDCServiceException {\n name = \"InvalidScopeException\";\n $fault = \"client\";\n error;\n error_description;\n constructor(opts) {\n super({\n name: \"InvalidScopeException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, InvalidScopeException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nclass SlowDownException extends SSOOIDCServiceException {\n name = \"SlowDownException\";\n $fault = \"client\";\n error;\n error_description;\n constructor(opts) {\n super({\n name: \"SlowDownException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, SlowDownException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nclass UnauthorizedClientException extends SSOOIDCServiceException {\n name = \"UnauthorizedClientException\";\n $fault = \"client\";\n error;\n error_description;\n constructor(opts) {\n super({\n name: \"UnauthorizedClientException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, UnauthorizedClientException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nclass UnsupportedGrantTypeException extends SSOOIDCServiceException {\n name = \"UnsupportedGrantTypeException\";\n $fault = \"client\";\n error;\n error_description;\n constructor(opts) {\n super({\n name: \"UnsupportedGrantTypeException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, UnsupportedGrantTypeException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\n\nconst _ADE = \"AccessDeniedException\";\nconst _APE = \"AuthorizationPendingException\";\nconst _AT = \"AccessToken\";\nconst _CS = \"ClientSecret\";\nconst _CT = \"CreateToken\";\nconst _CTR = \"CreateTokenRequest\";\nconst _CTRr = \"CreateTokenResponse\";\nconst _CV = \"CodeVerifier\";\nconst _ETE = \"ExpiredTokenException\";\nconst _ICE = \"InvalidClientException\";\nconst _IGE = \"InvalidGrantException\";\nconst _IRE = \"InvalidRequestException\";\nconst _ISE = \"InternalServerException\";\nconst _ISEn = \"InvalidScopeException\";\nconst _IT = \"IdToken\";\nconst _RT = \"RefreshToken\";\nconst _SDE = \"SlowDownException\";\nconst _UCE = \"UnauthorizedClientException\";\nconst _UGTE = \"UnsupportedGrantTypeException\";\nconst _aT = \"accessToken\";\nconst _c = \"client\";\nconst _cI = \"clientId\";\nconst _cS = \"clientSecret\";\nconst _cV = \"codeVerifier\";\nconst _co = \"code\";\nconst _dC = \"deviceCode\";\nconst _e = \"error\";\nconst _eI = \"expiresIn\";\nconst _ed = \"error_description\";\nconst _gT = \"grantType\";\nconst _h = \"http\";\nconst _hE = \"httpError\";\nconst _iT = \"idToken\";\nconst _r = \"reason\";\nconst _rT = \"refreshToken\";\nconst _rU = \"redirectUri\";\nconst _s = \"smithy.ts.sdk.synthetic.com.amazonaws.ssooidc\";\nconst _sc = \"scope\";\nconst _se = \"server\";\nconst _tT = \"tokenType\";\nconst n0 = \"com.amazonaws.ssooidc\";\nconst _s_registry = schema.TypeRegistry.for(_s);\nvar SSOOIDCServiceException$ = [-3, _s, \"SSOOIDCServiceException\", 0, [], []];\n_s_registry.registerError(SSOOIDCServiceException$, SSOOIDCServiceException);\nconst n0_registry = schema.TypeRegistry.for(n0);\nvar AccessDeniedException$ = [\n -3,\n n0,\n _ADE,\n { [_e]: _c, [_hE]: 400 },\n [_e, _r, _ed],\n [0, 0, 0],\n];\nn0_registry.registerError(AccessDeniedException$, AccessDeniedException);\nvar AuthorizationPendingException$ = [\n -3,\n n0,\n _APE,\n { [_e]: _c, [_hE]: 400 },\n [_e, _ed],\n [0, 0],\n];\nn0_registry.registerError(AuthorizationPendingException$, AuthorizationPendingException);\nvar ExpiredTokenException$ = [-3, n0, _ETE, { [_e]: _c, [_hE]: 400 }, [_e, _ed], [0, 0]];\nn0_registry.registerError(ExpiredTokenException$, ExpiredTokenException);\nvar InternalServerException$ = [-3, n0, _ISE, { [_e]: _se, [_hE]: 500 }, [_e, _ed], [0, 0]];\nn0_registry.registerError(InternalServerException$, InternalServerException);\nvar InvalidClientException$ = [-3, n0, _ICE, { [_e]: _c, [_hE]: 401 }, [_e, _ed], [0, 0]];\nn0_registry.registerError(InvalidClientException$, InvalidClientException);\nvar InvalidGrantException$ = [-3, n0, _IGE, { [_e]: _c, [_hE]: 400 }, [_e, _ed], [0, 0]];\nn0_registry.registerError(InvalidGrantException$, InvalidGrantException);\nvar InvalidRequestException$ = [\n -3,\n n0,\n _IRE,\n { [_e]: _c, [_hE]: 400 },\n [_e, _r, _ed],\n [0, 0, 0],\n];\nn0_registry.registerError(InvalidRequestException$, InvalidRequestException);\nvar InvalidScopeException$ = [-3, n0, _ISEn, { [_e]: _c, [_hE]: 400 }, [_e, _ed], [0, 0]];\nn0_registry.registerError(InvalidScopeException$, InvalidScopeException);\nvar SlowDownException$ = [-3, n0, _SDE, { [_e]: _c, [_hE]: 400 }, [_e, _ed], [0, 0]];\nn0_registry.registerError(SlowDownException$, SlowDownException);\nvar UnauthorizedClientException$ = [\n -3,\n n0,\n _UCE,\n { [_e]: _c, [_hE]: 400 },\n [_e, _ed],\n [0, 0],\n];\nn0_registry.registerError(UnauthorizedClientException$, UnauthorizedClientException);\nvar UnsupportedGrantTypeException$ = [\n -3,\n n0,\n _UGTE,\n { [_e]: _c, [_hE]: 400 },\n [_e, _ed],\n [0, 0],\n];\nn0_registry.registerError(UnsupportedGrantTypeException$, UnsupportedGrantTypeException);\nconst errorTypeRegistries = [_s_registry, n0_registry];\nvar AccessToken = [0, n0, _AT, 8, 0];\nvar ClientSecret = [0, n0, _CS, 8, 0];\nvar CodeVerifier = [0, n0, _CV, 8, 0];\nvar IdToken = [0, n0, _IT, 8, 0];\nvar RefreshToken = [0, n0, _RT, 8, 0];\nvar CreateTokenRequest$ = [\n 3,\n n0,\n _CTR,\n 0,\n [_cI, _cS, _gT, _dC, _co, _rT, _sc, _rU, _cV],\n [0, [() => ClientSecret, 0], 0, 0, 0, [() => RefreshToken, 0], 64 | 0, 0, [() => CodeVerifier, 0]],\n 3,\n];\nvar CreateTokenResponse$ = [\n 3,\n n0,\n _CTRr,\n 0,\n [_aT, _tT, _eI, _rT, _iT],\n [[() => AccessToken, 0], 0, 1, [() => RefreshToken, 0], [() => IdToken, 0]],\n];\nvar CreateToken$ = [\n 9,\n n0,\n _CT,\n { [_h]: [\"POST\", \"/token\", 200] },\n () => CreateTokenRequest$,\n () => CreateTokenResponse$,\n];\n\nconst getRuntimeConfig$1 = (config) => {\n return {\n apiVersion: \"2019-06-10\",\n base64Decoder: config?.base64Decoder ?? serde.fromBase64,\n base64Encoder: config?.base64Encoder ?? serde.toBase64,\n disableHostPrefix: config?.disableHostPrefix ?? false,\n endpointProvider: config?.endpointProvider ?? defaultEndpointResolver,\n extensions: config?.extensions ?? [],\n httpAuthSchemeProvider: config?.httpAuthSchemeProvider ?? defaultSSOOIDCHttpAuthSchemeProvider,\n httpAuthSchemes: config?.httpAuthSchemes ?? [\n {\n schemeId: \"aws.auth#sigv4\",\n identityProvider: (ipc) => ipc.getIdentityProvider(\"aws.auth#sigv4\"),\n signer: new httpAuthSchemes.AwsSdkSigV4Signer(),\n },\n {\n schemeId: \"smithy.api#noAuth\",\n identityProvider: (ipc) => ipc.getIdentityProvider(\"smithy.api#noAuth\") || (async () => ({})),\n signer: new core.NoAuthSigner(),\n },\n ],\n logger: config?.logger ?? new client.NoOpLogger(),\n protocol: config?.protocol ?? protocols$1.AwsRestJsonProtocol,\n protocolSettings: config?.protocolSettings ?? {\n defaultNamespace: \"com.amazonaws.ssooidc\",\n errorTypeRegistries,\n version: \"2019-06-10\",\n serviceTarget: \"AWSSSOOIDCService\",\n },\n serviceId: config?.serviceId ?? \"SSO OIDC\",\n urlParser: config?.urlParser ?? protocols.parseUrl,\n utf8Decoder: config?.utf8Decoder ?? serde.fromUtf8,\n utf8Encoder: config?.utf8Encoder ?? serde.toUtf8,\n };\n};\n\nconst getRuntimeConfig = (config$1) => {\n client.emitWarningIfUnsupportedVersion(process.version);\n const defaultsMode = config.resolveDefaultsModeConfig(config$1);\n const defaultConfigProvider = () => defaultsMode().then(client.loadConfigsForDefaultMode);\n const clientSharedValues = getRuntimeConfig$1(config$1);\n client$1.emitWarningIfUnsupportedVersion(process.version);\n const loaderConfig = {\n profile: config$1?.profile,\n logger: clientSharedValues.logger,\n };\n return {\n ...clientSharedValues,\n ...config$1,\n runtime: \"node\",\n defaultsMode,\n authSchemePreference: config$1?.authSchemePreference ?? config.loadConfig(httpAuthSchemes.NODE_AUTH_SCHEME_PREFERENCE_OPTIONS, loaderConfig),\n bodyLengthChecker: config$1?.bodyLengthChecker ?? serde.calculateBodyLength,\n defaultUserAgentProvider: config$1?.defaultUserAgentProvider ??\n client$1.createDefaultUserAgentProvider({ serviceId: clientSharedValues.serviceId, clientVersion: packageInfo.version }),\n maxAttempts: config$1?.maxAttempts ?? config.loadConfig(retry.NODE_MAX_ATTEMPT_CONFIG_OPTIONS, config$1),\n region: config$1?.region ??\n config.loadConfig(config.NODE_REGION_CONFIG_OPTIONS, { ...config.NODE_REGION_CONFIG_FILE_OPTIONS, ...loaderConfig }),\n requestHandler: nodeHttpHandler.NodeHttpHandler.create(config$1?.requestHandler ?? defaultConfigProvider),\n retryMode: config$1?.retryMode ??\n config.loadConfig({\n ...retry.NODE_RETRY_MODE_CONFIG_OPTIONS,\n default: async () => (await defaultConfigProvider()).retryMode || retry.DEFAULT_RETRY_MODE,\n }, config$1),\n sha256: config$1?.sha256 ?? serde.Hash.bind(null, \"sha256\"),\n streamCollector: config$1?.streamCollector ?? nodeHttpHandler.streamCollector,\n useDualstackEndpoint: config$1?.useDualstackEndpoint ?? config.loadConfig(config.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS, loaderConfig),\n useFipsEndpoint: config$1?.useFipsEndpoint ?? config.loadConfig(config.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS, loaderConfig),\n userAgentAppId: config$1?.userAgentAppId ?? config.loadConfig(client$1.NODE_APP_ID_CONFIG_OPTIONS, loaderConfig),\n };\n};\n\nconst getHttpAuthExtensionConfiguration = (runtimeConfig) => {\n const _httpAuthSchemes = runtimeConfig.httpAuthSchemes;\n let _httpAuthSchemeProvider = runtimeConfig.httpAuthSchemeProvider;\n let _credentials = runtimeConfig.credentials;\n return {\n setHttpAuthScheme(httpAuthScheme) {\n const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId);\n if (index === -1) {\n _httpAuthSchemes.push(httpAuthScheme);\n }\n else {\n _httpAuthSchemes.splice(index, 1, httpAuthScheme);\n }\n },\n httpAuthSchemes() {\n return _httpAuthSchemes;\n },\n setHttpAuthSchemeProvider(httpAuthSchemeProvider) {\n _httpAuthSchemeProvider = httpAuthSchemeProvider;\n },\n httpAuthSchemeProvider() {\n return _httpAuthSchemeProvider;\n },\n setCredentials(credentials) {\n _credentials = credentials;\n },\n credentials() {\n return _credentials;\n },\n };\n};\nconst resolveHttpAuthRuntimeConfig = (config) => {\n return {\n httpAuthSchemes: config.httpAuthSchemes(),\n httpAuthSchemeProvider: config.httpAuthSchemeProvider(),\n credentials: config.credentials(),\n };\n};\n\nconst resolveRuntimeExtensions = (runtimeConfig, extensions) => {\n const extensionConfiguration = Object.assign(client$1.getAwsRegionExtensionConfiguration(runtimeConfig), client.getDefaultExtensionConfiguration(runtimeConfig), protocols.getHttpHandlerExtensionConfiguration(runtimeConfig), getHttpAuthExtensionConfiguration(runtimeConfig));\n extensions.forEach((extension) => extension.configure(extensionConfiguration));\n return Object.assign(runtimeConfig, client$1.resolveAwsRegionExtensionConfiguration(extensionConfiguration), client.resolveDefaultRuntimeConfig(extensionConfiguration), protocols.resolveHttpHandlerRuntimeConfig(extensionConfiguration), resolveHttpAuthRuntimeConfig(extensionConfiguration));\n};\n\nclass SSOOIDCClient extends client.Client {\n config;\n constructor(...[configuration]) {\n const _config_0 = getRuntimeConfig(configuration || {});\n super(_config_0);\n this.initConfig = _config_0;\n const _config_1 = resolveClientEndpointParameters(_config_0);\n const _config_2 = client$1.resolveUserAgentConfig(_config_1);\n const _config_3 = retry.resolveRetryConfig(_config_2);\n const _config_4 = config.resolveRegionConfig(_config_3);\n const _config_5 = client$1.resolveHostHeaderConfig(_config_4);\n const _config_6 = endpoints.resolveEndpointConfig(_config_5);\n const _config_7 = resolveHttpAuthSchemeConfig(_config_6);\n const _config_8 = resolveRuntimeExtensions(_config_7, configuration?.extensions || []);\n this.config = _config_8;\n this.middlewareStack.use(schema.getSchemaSerdePlugin(this.config));\n this.middlewareStack.use(client$1.getUserAgentPlugin(this.config));\n this.middlewareStack.use(retry.getRetryPlugin(this.config));\n this.middlewareStack.use(protocols.getContentLengthPlugin(this.config));\n this.middlewareStack.use(client$1.getHostHeaderPlugin(this.config));\n this.middlewareStack.use(client$1.getLoggerPlugin(this.config));\n this.middlewareStack.use(client$1.getRecursionDetectionPlugin(this.config));\n this.middlewareStack.use(core.getHttpAuthSchemeEndpointRuleSetPlugin(this.config, {\n httpAuthSchemeParametersProvider: defaultSSOOIDCHttpAuthSchemeParametersProvider,\n identityProviderConfigProvider: async (config) => new core.DefaultIdentityProviderConfig({\n \"aws.auth#sigv4\": config.credentials,\n }),\n }));\n this.middlewareStack.use(core.getHttpSigningPlugin(this.config));\n }\n destroy() {\n super.destroy();\n }\n}\n\nclass CreateTokenCommand extends client.Command\n .classBuilder()\n .ep(commonParams)\n .m(function (Command, cs, config, o) {\n return [endpoints.getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"AWSSSOOIDCService\", \"CreateToken\", {})\n .n(\"SSOOIDCClient\", \"CreateTokenCommand\")\n .sc(CreateToken$)\n .build() {\n}\n\nconst commands = {\n CreateTokenCommand,\n};\nclass SSOOIDC extends SSOOIDCClient {\n}\nclient.createAggregatedClient(commands, SSOOIDC);\n\nconst AccessDeniedExceptionReason = {\n KMS_ACCESS_DENIED: \"KMS_AccessDeniedException\",\n};\nconst InvalidRequestExceptionReason = {\n KMS_DISABLED_KEY: \"KMS_DisabledException\",\n KMS_INVALID_KEY_USAGE: \"KMS_InvalidKeyUsageException\",\n KMS_INVALID_STATE: \"KMS_InvalidStateException\",\n KMS_KEY_NOT_FOUND: \"KMS_NotFoundException\",\n};\n\nexports.$Command = client.Command;\nexports.__Client = client.Client;\nexports.AccessDeniedException = AccessDeniedException;\nexports.AccessDeniedException$ = AccessDeniedException$;\nexports.AccessDeniedExceptionReason = AccessDeniedExceptionReason;\nexports.AuthorizationPendingException = AuthorizationPendingException;\nexports.AuthorizationPendingException$ = AuthorizationPendingException$;\nexports.CreateToken$ = CreateToken$;\nexports.CreateTokenCommand = CreateTokenCommand;\nexports.CreateTokenRequest$ = CreateTokenRequest$;\nexports.CreateTokenResponse$ = CreateTokenResponse$;\nexports.ExpiredTokenException = ExpiredTokenException;\nexports.ExpiredTokenException$ = ExpiredTokenException$;\nexports.InternalServerException = InternalServerException;\nexports.InternalServerException$ = InternalServerException$;\nexports.InvalidClientException = InvalidClientException;\nexports.InvalidClientException$ = InvalidClientException$;\nexports.InvalidGrantException = InvalidGrantException;\nexports.InvalidGrantException$ = InvalidGrantException$;\nexports.InvalidRequestException = InvalidRequestException;\nexports.InvalidRequestException$ = InvalidRequestException$;\nexports.InvalidRequestExceptionReason = InvalidRequestExceptionReason;\nexports.InvalidScopeException = InvalidScopeException;\nexports.InvalidScopeException$ = InvalidScopeException$;\nexports.SSOOIDC = SSOOIDC;\nexports.SSOOIDCClient = SSOOIDCClient;\nexports.SSOOIDCServiceException = SSOOIDCServiceException;\nexports.SSOOIDCServiceException$ = SSOOIDCServiceException$;\nexports.SlowDownException = SlowDownException;\nexports.SlowDownException$ = SlowDownException$;\nexports.UnauthorizedClientException = UnauthorizedClientException;\nexports.UnauthorizedClientException$ = UnauthorizedClientException$;\nexports.UnsupportedGrantTypeException = UnsupportedGrantTypeException;\nexports.UnsupportedGrantTypeException$ = UnsupportedGrantTypeException$;\nexports.errorTypeRegistries = errorTypeRegistries;\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "748AB676BFA0204A64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260611035744_credential.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260611035744_credential\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`\n CREATE TABLE \\`credential\\` (\n \\`id\\` text PRIMARY KEY,\n \\`connector_id\\` text NOT NULL,\n \\`method_id\\` text NOT NULL,\n \\`label\\` text NOT NULL,\n \\`value\\` text NOT NULL,\n \\`active\\` integer DEFAULT false NOT NULL,\n \\`time_created\\` integer NOT NULL,\n \\`time_updated\\` integer NOT NULL\n );\n `)\n yield* tx.run(\n `CREATE UNIQUE INDEX \\`credential_connector_active_idx\\` ON \\`credential\\` (\\`connector_id\\`) WHERE \"credential\".\"active\" = 1;`,\n )\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,4BACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,2XAWb,EACD,MAAO,EAAG,IACR,yHACF,EACD,EAEL", | ||
| "debugId": "F0FF5DF7DF59FD4464756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../tui/src/prompt/content.ts"], | ||
| "sourcesContent": [ | ||
| "export function normalizePromptContent(content: string) {\n if (content.endsWith(\"\\r\\n\")) {\n const body = content.slice(0, -2)\n return !body.includes(\"\\n\") && !body.includes(\"\\r\") ? body : content\n }\n\n if (content.endsWith(\"\\n\")) {\n const body = content.slice(0, -1)\n return !body.includes(\"\\n\") && !body.includes(\"\\r\") ? body : content\n }\n\n return content\n}\n" | ||
| ], | ||
| "mappings": ";AAAO,SAAS,CAAsB,CAAC,EAAiB,CACtD,GAAI,EAAQ,SAAS;AAAA,CAAM,EAAG,CAC5B,IAAM,EAAO,EAAQ,MAAM,EAAG,EAAE,EAChC,MAAO,CAAC,EAAK,SAAS;AAAA,CAAI,GAAK,CAAC,EAAK,SAAS,IAAI,EAAI,EAAO,EAG/D,GAAI,EAAQ,SAAS;AAAA,CAAI,EAAG,CAC1B,IAAM,EAAO,EAAQ,MAAM,EAAG,EAAE,EAChC,MAAO,CAAC,EAAK,SAAS;AAAA,CAAI,GAAK,CAAC,EAAK,SAAS,IAAI,EAAI,EAAO,EAG/D,OAAO", | ||
| "debugId": "CB895D362155A54364756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../schema/src/identifier.ts", "../schema/src/project-id.ts", "../schema/src/workspace-id.ts", "../schema/src/location.ts", "../schema/src/event.ts"], | ||
| "sourcesContent": [ | ||
| "const length = 26\nconst chars = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\"\nlet lastTimestamp = 0\nlet counter = 0\n\nexport function ascending() {\n return create(false)\n}\n\nexport function descending() {\n return create(true)\n}\n\nexport function create(descending: boolean, timestamp = Date.now()) {\n if (timestamp !== lastTimestamp) {\n lastTimestamp = timestamp\n counter = 0\n }\n counter++\n\n const current = BigInt(timestamp) * 0x1000n + BigInt(counter)\n const value = descending ? ~current : current\n const time = Array.from({ length: 6 }, (_, index) =>\n Number((value >> BigInt(40 - 8 * index)) & 0xffn)\n .toString(16)\n .padStart(2, \"0\"),\n ).join(\"\")\n const bytes = crypto.getRandomValues(new Uint8Array(length - 12))\n return time + Array.from(bytes, (byte) => chars[byte % 62]).join(\"\")\n}\n", | ||
| "import { Schema } from \"effect\"\nimport { statics } from \"./schema.js\"\n\nexport const ProjectID = Schema.String.pipe(\n Schema.brand(\"Project.ID\"),\n statics((schema) => ({ global: schema.make(\"global\") })),\n)\nexport type ProjectID = typeof ProjectID.Type\n", | ||
| "import { Schema } from \"effect\"\nimport { ascending } from \"./identifier.js\"\nimport { statics } from \"./schema.js\"\n\nexport const WorkspaceID = Schema.String.check(Schema.isStartsWith(\"wrk\")).pipe(\n Schema.brand(\"WorkspaceV2.ID\"),\n statics((schema) => {\n const create = () => schema.make(\"wrk_\" + ascending())\n return {\n ascending: (id?: string) => {\n if (!id) return create()\n if (!id.startsWith(\"wrk\")) throw new Error(`ID ${id} does not start with wrk`)\n return schema.make(id)\n },\n create,\n }\n }),\n)\nexport type WorkspaceID = typeof WorkspaceID.Type\n", | ||
| "export * as Location from \"./location.js\"\n\nimport { Schema } from \"effect\"\nimport { AbsolutePath, optional } from \"./schema.js\"\nimport { ProjectID } from \"./project-id.js\"\nimport { WorkspaceID } from \"./workspace-id.js\"\n\nexport interface Ref extends Schema.Schema.Type<typeof Ref> {}\nexport const Ref = Schema.Struct({\n directory: AbsolutePath,\n workspaceID: optional(WorkspaceID),\n}).annotate({ identifier: \"Location.Ref\" })\n\nexport class Info extends Schema.Class<Info>(\"Location.Info\")({\n directory: AbsolutePath,\n workspaceID: optional(WorkspaceID),\n project: Schema.Struct({\n id: ProjectID,\n directory: AbsolutePath,\n }),\n}) {}\n\nexport function response<S extends Schema.Top>(data: S) {\n return Schema.Struct({ location: Info, data })\n}\n", | ||
| "export * as Event from \"./event.js\"\n\nimport { Schema, SchemaTransformation } from \"effect\"\nimport { optional } from \"./schema.js\"\nimport { ascending } from \"./identifier.js\"\nimport { Location } from \"./location.js\"\nimport { DateTimeUtcFromMillis, statics } from \"./schema.js\"\n\nexport const ID = Schema.String.check(Schema.isStartsWith(\"evt_\")).pipe(\n Schema.brand(\"Event.ID\"),\n statics((schema) => ({ create: () => schema.make(\"evt_\" + ascending()) })),\n)\nexport type ID = typeof ID.Type\n\n/**\n * Position in one aggregate's durable log. Values originate from the durable\n * event envelope and synced markers;\n * `after` cursors accept only values that came from those sources.\n */\nexport const Seq = Schema.Int.check(Schema.isGreaterThanOrEqualTo(0)).pipe(Schema.brand(\"Event.Seq\"))\nexport type Seq = typeof Seq.Type\n\n/** Durable schema version of one event type, from the event definition that committed it. */\nexport const Version = Schema.Int.check(Schema.isGreaterThanOrEqualTo(1)).pipe(Schema.brand(\"Event.Version\"))\nexport type Version = typeof Version.Type\n\nconst DurableEnvelope = Schema.Struct({ aggregateID: Schema.String, seq: Seq, version: Version })\nexport type DurableEnvelope = typeof DurableEnvelope.Type\n\nexport type DurableDefinition<\n Type extends string = string,\n DataSchema extends Schema.Codec<unknown, unknown> = Schema.Codec<unknown, unknown>,\n> = Schema.Top & {\n readonly type: Type\n readonly durability: \"durable\"\n readonly durable: {\n readonly version: number\n readonly aggregate: string\n }\n readonly data: DataSchema\n}\n\nexport type EphemeralDefinition<\n Type extends string = string,\n DataSchema extends Schema.Codec<unknown, unknown> = Schema.Codec<unknown, unknown>,\n> = Schema.Top & {\n readonly type: Type\n readonly durability: \"ephemeral\"\n readonly durable?: never\n readonly data: DataSchema\n}\n\nexport type Definition<\n Type extends string = string,\n DataSchema extends Schema.Codec<unknown, unknown> = Schema.Codec<unknown, unknown>,\n> = DurableDefinition<Type, DataSchema> | EphemeralDefinition<Type, DataSchema>\n\nexport type Data<D extends Definition> = Schema.Schema.Type<D[\"data\"]>\n\ntype PayloadBase<D extends Definition> = {\n readonly id: ID\n readonly type: D[\"type\"]\n readonly created: typeof DateTimeUtcFromMillis.Type\n readonly data: Data<D>\n readonly location?: Location.Ref\n readonly metadata?: Record<string, unknown>\n}\n\nexport type Payload<D extends Definition = Definition> = D extends DurableDefinition\n ? PayloadBase<D> & { readonly durable: DurableEnvelope }\n : PayloadBase<D> & { readonly durable?: never }\n\ntype Input<Type extends string, Fields extends Readonly<Record<PropertyKey, Schema.Codec<unknown, unknown>>>> = {\n readonly type: Type\n readonly identifier?: string\n readonly durable?: {\n readonly version: number\n readonly aggregate: string\n }\n readonly schema: Fields\n}\n\nexport function durable<\n const Type extends string,\n const Fields extends Readonly<Record<PropertyKey, Schema.Codec<unknown, unknown>>>,\n>(input: Input<Type, Fields> & { readonly durable: NonNullable<Input<Type, Fields>[\"durable\"]> }) {\n const data = Schema.Struct(input.schema)\n const durable = Schema.Struct({\n aggregateID: DurableEnvelope.fields.aggregateID,\n seq: DurableEnvelope.fields.seq,\n version: Schema.Literal(input.durable.version).pipe(\n Schema.decodeTo(\n Schema.toType(Version),\n SchemaTransformation.transform({\n decode: () => Version.make(input.durable.version),\n encode: () => input.durable.version,\n }),\n ),\n ),\n })\n return Schema.Struct({\n id: ID,\n created: DateTimeUtcFromMillis,\n metadata: optional(Schema.Record(Schema.String, Schema.Unknown)),\n type: Schema.Literal(input.type),\n durable,\n location: optional(Location.Ref),\n data,\n })\n .annotate({ identifier: input.identifier ?? input.type })\n .pipe(\n statics(() => ({\n type: input.type,\n durability: \"durable\" as const,\n durable: input.durable,\n data,\n })),\n ) satisfies DurableDefinition<Type, typeof data>\n}\n\nexport function ephemeral<\n const Type extends string,\n const Fields extends Readonly<Record<PropertyKey, Schema.Codec<unknown, unknown>>>,\n>(input: Omit<Input<Type, Fields>, \"durable\">) {\n const data = Schema.Struct(input.schema)\n return Schema.Struct({\n id: ID,\n created: DateTimeUtcFromMillis,\n metadata: optional(Schema.Record(Schema.String, Schema.Unknown)),\n type: Schema.Literal(input.type),\n location: optional(Location.Ref),\n data,\n })\n .annotate({ identifier: input.identifier ?? input.type })\n .pipe(\n statics(() => ({\n type: input.type,\n durability: \"ephemeral\" as const,\n durable: undefined,\n data,\n })),\n ) satisfies EphemeralDefinition<Type, typeof data>\n}\n\nexport function inventory<const Definitions extends ReadonlyArray<Definition>>(...definitions: Definitions) {\n return Object.freeze(definitions)\n}\n\nexport function latest(definitions: ReadonlyArray<Definition>) {\n return readonlyMap(\n definitions.reduce((result, definition) => {\n const existing = result.get(definition.type)\n if (!existing) {\n result.set(definition.type, definition)\n return result\n }\n if (definition.durable && existing.durable && definition.durable.version !== existing.durable.version) {\n if (definition.durable.version > existing.durable.version) result.set(definition.type, definition)\n return result\n }\n if (definition !== existing) throw new Error(`Duplicate latest event definition for ${definition.type}`)\n return result\n }, new Map<string, Definition>()),\n )\n}\n\nexport function versionedType(type: string, version: number) {\n return `${type}.${version}`\n}\n\nexport function durableMap<const Definitions extends ReadonlyArray<Definition>>(definitions: Definitions) {\n return readonlyMap(\n definitions.reduce((result, definition) => {\n if (definition.durability !== \"durable\") return result\n const key = versionedType(definition.type, definition.durable.version)\n if (result.has(key)) throw new Error(`Duplicate durable event definition for ${key}`)\n result.set(key, definition)\n return result\n }, new Map<string, DurableDefinition>()),\n )\n}\n\nfunction readonlyMap<Key, Value>(map: Map<Key, Value>): ReadonlyMap<Key, Value> {\n const result: ReadonlyMap<Key, Value> = Object.freeze({\n get size() {\n return map.size\n },\n entries: () => map.entries(),\n forEach: (callback: (value: Value, key: Key, map: ReadonlyMap<Key, Value>) => void, thisArg?: unknown) =>\n map.forEach((value, key) => callback.call(thisArg, value, key, result)),\n get: (key: Key) => map.get(key),\n has: (key: Key) => map.has(key),\n keys: () => map.keys(),\n values: () => map.values(),\n [Symbol.iterator]: () => map[Symbol.iterator](),\n })\n return result\n}\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "173C4A26C0FD0B8C64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260709025533_drop-todo.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260709025533_drop-todo\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`DROP INDEX IF EXISTS \\`todo_session_idx\\`;`)\n yield* tx.run(`DROP TABLE \\`todo\\`;`)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,2BACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,0CAA4C,EAC1D,MAAO,EAAG,IAAI,oBAAsB,EACrC,EAEL", | ||
| "debugId": "49F8CC1234F80FA264756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260602002951_lowly_union_jack.ts"], | ||
| "sourcesContent": [ | ||
| "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" | ||
| ], | ||
| "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", | ||
| "debugId": "19AFF0CA7DD61DE664756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "C4F50787C843D03964756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260604172448_event_sourced_session_input.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260604172448_event_sourced_session_input\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`DELETE FROM \\`session_input\\`;`)\n yield* tx.run(`DELETE FROM \\`session_message\\`;`)\n yield* tx.run(`DELETE FROM \\`event\\`;`)\n yield* tx.run(`DELETE FROM \\`event_sequence\\`;`)\n yield* tx.run(`UPDATE \\`session\\` SET \\`workspace_id\\` = NULL;`)\n yield* tx.run(`DELETE FROM \\`workspace\\`;`)\n yield* tx.run(`DROP INDEX IF EXISTS \\`event_aggregate_seq_idx\\`;`)\n yield* tx.run(`CREATE UNIQUE INDEX \\`event_aggregate_seq_idx\\` ON \\`event\\` (\\`aggregate_id\\`,\\`seq\\`);`)\n yield* tx.run(`DROP INDEX IF EXISTS \\`session_message_session_seq_idx\\`;`)\n yield* tx.run(\n `CREATE UNIQUE INDEX \\`session_message_session_seq_idx\\` ON \\`session_message\\` (\\`session_id\\`,\\`seq\\`);`,\n )\n yield* tx.run(`PRAGMA foreign_keys=OFF;`)\n yield* tx.run(`\n CREATE TABLE \\`__new_session_input\\` (\n \\`id\\` text PRIMARY KEY,\n \\`session_id\\` text NOT NULL,\n \\`prompt\\` text NOT NULL,\n \\`delivery\\` text NOT NULL,\n \\`admitted_seq\\` integer 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(`DROP TABLE \\`session_input\\`;`)\n yield* tx.run(`ALTER TABLE \\`__new_session_input\\` RENAME TO \\`session_input\\`;`)\n yield* tx.run(`PRAGMA foreign_keys=ON;`)\n yield* tx.run(\n `CREATE INDEX \\`session_input_session_pending_delivery_seq_idx\\` ON \\`session_input\\` (\\`session_id\\`,\\`promoted_seq\\`,\\`delivery\\`,\\`admitted_seq\\`);`,\n )\n yield* tx.run(\n `CREATE UNIQUE INDEX \\`session_input_session_admitted_seq_idx\\` ON \\`session_input\\` (\\`session_id\\`,\\`admitted_seq\\`);`,\n )\n yield* tx.run(\n `CREATE UNIQUE INDEX \\`session_input_session_promoted_seq_idx\\` ON \\`session_input\\` (\\`session_id\\`,\\`promoted_seq\\`);`,\n )\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,6CACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,8BAAgC,EAC9C,MAAO,EAAG,IAAI,gCAAkC,EAChD,MAAO,EAAG,IAAI,sBAAwB,EACtC,MAAO,EAAG,IAAI,+BAAiC,EAC/C,MAAO,EAAG,IAAI,6CAAiD,EAC/D,MAAO,EAAG,IAAI,0BAA4B,EAC1C,MAAO,EAAG,IAAI,iDAAmD,EACjE,MAAO,EAAG,IAAI,kFAA0F,EACxG,MAAO,EAAG,IAAI,yDAA2D,EACzE,MAAO,EAAG,IACR,kGACF,EACA,MAAO,EAAG,IAAI,0BAA0B,EACxC,MAAO,EAAG,IAAI,0dAWb,EACD,MAAO,EAAG,IAAI,6BAA+B,EAC7C,MAAO,EAAG,IAAI,8DAAkE,EAChF,MAAO,EAAG,IAAI,yBAAyB,EACvC,MAAO,EAAG,IACR,2IACF,EACA,MAAO,EAAG,IACR,gHACF,EACA,MAAO,EAAG,IACR,gHACF,EACD,EAEL", | ||
| "debugId": "73DD95C3B901476064756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260703200000_reset_v2_session_events.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260703200000_reset_v2_session_events\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`DELETE FROM \\`session_input\\`;`)\n yield* tx.run(`DELETE FROM \\`session_message\\`;`)\n yield* tx.run(`DELETE FROM \\`event\\`;`)\n yield* tx.run(`DELETE FROM \\`event_sequence\\`;`)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,yCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,8BAAgC,EAC9C,MAAO,EAAG,IAAI,gCAAkC,EAChD,MAAO,EAAG,IAAI,sBAAwB,EACtC,MAAO,EAAG,IAAI,+BAAiC,EAChD,EAEL", | ||
| "debugId": "9DD26B89846DE11E64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["src/mini/mini.ts", "src/mini/run.ts", "src/mini/noninteractive.ts", "src/mini/ui.ts"], | ||
| "sourcesContent": [ | ||
| "import { Service } from \"@opencode-ai/client/effect\"\nimport { OpenCode, type OpenCodeClient } from \"@opencode-ai/client/promise\"\nimport { Server } from \"../services/server\"\nimport { waitForCatalogReady } from \"./catalog.shared\"\nimport { INTERACTIVE_INPUT_ERROR, resolveInteractiveStdin } from \"./runtime.stdin\"\nimport type { RunInput, RunTuiConfig } from \"./types\"\n\nexport type MiniCommandInput = {\n server: Server.Resolved\n continue?: boolean\n session?: string\n fork?: boolean\n model?: string\n agent?: string\n prompt?: string\n replay?: boolean\n replayLimit?: number\n demo?: boolean\n tuiConfig?: RunTuiConfig | Promise<RunTuiConfig>\n}\n\ntype Session = Awaited<ReturnType<OpenCodeClient[\"session\"][\"get\"]>>\nexport async function runMini(input: MiniCommandInput) {\n validate(input)\n const initialInput = mergeInput(process.stdin.isTTY ? undefined : await Bun.stdin.text(), input.prompt)\n const runtimeTask = import(\"./runtime\")\n const directory = localDirectory()\n\n try {\n const sdk = OpenCode.make({\n baseUrl: input.server.endpoint.url,\n headers: Service.headers(input.server.endpoint),\n })\n const model = parseModel(input.model)\n let agentTask: Promise<string | undefined> | undefined\n const resolveAgent = () => {\n agentTask ??= validateAgent(sdk, directory, input.agent)\n return agentTask\n }\n const resolveSession = async () => {\n const [agent, selected] = await Promise.all([\n resolveAgent(),\n selectSession(sdk, directory, input),\n ])\n const readyModel =\n model ?? (selected?.model ? { providerID: selected.model.providerID, modelID: selected.model.id } : undefined)\n if (readyModel) await waitForCatalogReady({ sdk, directory, model: readyModel })\n const session = selected ?? (await createSession(sdk, directory, agent, model))\n return { id: session.id, title: session.title, resume: selected !== undefined }\n }\n const create = (\n _sdk: OpenCodeClient,\n next: { agent: string | undefined; model: RunInput[\"model\"]; variant: string | undefined },\n ) => createSession(sdk, directory, next.agent, next.model, next.variant)\n const runtime = await runtimeTask\n await runtime.runInteractiveDeferredMode({\n sdk,\n directory,\n resolveAgent,\n session: resolveSession,\n createSession: create,\n agent: input.agent,\n model,\n variant: undefined,\n files: [],\n initialInput,\n thinking: true,\n replay: input.replay ?? true,\n replayLimit: input.replayLimit,\n demo: input.demo,\n tuiConfig: input.tuiConfig,\n })\n } catch (error) {\n if (error instanceof Error && error.message === INTERACTIVE_INPUT_ERROR) fail(error.message)\n throw error\n }\n}\n\nexport function validateMiniTerminal() {\n if (!process.stdout.isTTY) fail(\"opencode mini requires a TTY stdout\")\n}\n\n/** @internal Exported for testing. */\nexport function mergeInput(piped: string | undefined, prompt: string | undefined) {\n if (!prompt) return piped || undefined\n if (!piped) return prompt\n return piped + \"\\n\" + prompt\n}\n\nfunction validate(input: MiniCommandInput) {\n validateMiniTerminal()\n if (input.replayLimit !== undefined && (!Number.isInteger(input.replayLimit) || input.replayLimit <= 0)) {\n fail(\"--replay-limit must be a positive integer\")\n }\n if (input.fork && !input.continue && !input.session) fail(\"--fork requires --continue or --session\")\n resolveInteractiveStdin().cleanup?.()\n}\n\nfunction localDirectory(): string {\n const root = process.env.PWD ?? process.cwd()\n try {\n process.chdir(root)\n return process.cwd()\n } catch {\n fail(`Failed to change directory to ${root}`)\n }\n}\n\nfunction parseModel(value?: string): RunInput[\"model\"] {\n if (!value) return\n const [providerID, ...rest] = value.split(\"/\")\n const modelID = rest.join(\"/\")\n if (!providerID || !modelID) fail(\"--model must use the format provider/model\")\n return { providerID, modelID }\n}\n\nasync function validateAgent(sdk: OpenCodeClient, directory: string, name?: string) {\n if (!name) return\n const deadline = Date.now() + 5_000\n let agents: Awaited<ReturnType<OpenCodeClient[\"agent\"][\"list\"]>> | undefined\n while (Date.now() < deadline) {\n agents = await sdk.agent.list({ location: { directory } }).catch(() => undefined)\n const agent = agents?.data.find((item) => item.id === name)\n if (agent?.mode === \"subagent\") {\n warning(`agent \"${name}\" is a subagent, not a primary agent. Falling back to default agent`)\n return\n }\n if (agent) return name\n await Bun.sleep(25)\n }\n if (!agents) {\n warning(\"failed to list agents. Falling back to default agent\")\n return\n }\n warning(`agent \"${name}\" not found. Falling back to default agent`)\n}\n\nasync function selectSession(sdk: OpenCodeClient, directory: string, input: MiniCommandInput, preselected?: Session) {\n const selected =\n preselected ??\n (input.session\n ? await sdk.session.get({ sessionID: input.session }).catch(() => undefined)\n : input.continue\n ? await sdk.session\n .list({ directory, parentID: null, limit: 1, order: \"desc\" })\n .then((result) => result.data[0])\n : undefined)\n if (input.session && !selected) fail(\"Session not found\")\n if (!selected) return\n if (!input.fork) return selected\n return sdk.session.fork({ sessionID: selected.id })\n}\n\nasync function createSession(\n sdk: OpenCodeClient,\n directory: string,\n agent: string | undefined,\n model: RunInput[\"model\"],\n variant?: string,\n): Promise<Session> {\n if (model) await waitForCatalogReady({ sdk, directory, model })\n return sdk.session.create({\n agent,\n model: model ? { providerID: model.providerID, id: model.modelID, variant } : undefined,\n location: { directory },\n })\n}\n\nfunction warning(message: string) {\n process.stderr.write(`\\x1b[93m\\x1b[1m!\\x1b[0m ${message}\\n`)\n}\n\nfunction fail(message: string): never {\n process.stderr.write(`\\x1b[91m\\x1b[1mError: \\x1b[0m${message}\\n`)\n process.exit(1)\n}\n", | ||
| "import { Service } from \"@opencode-ai/client/effect\"\nimport { OpenCode, type OpenCodeClient } from \"@opencode-ai/client/promise\"\nimport { FSUtil } from \"@opencode-ai/core/fs-util\"\nimport { Model } from \"@opencode-ai/schema/model\"\nimport type { ToolPart } from \"@opencode-ai/sdk/v2\"\nimport { open } from \"node:fs/promises\"\nimport path from \"node:path\"\nimport { Server } from \"../services/server\"\nimport { loadRunAgents, waitForCatalogReady } from \"./catalog.shared\"\nimport { runNonInteractivePrompt } from \"./noninteractive\"\nimport { toolInlineInfo } from \"./tool\"\nimport { UI } from \"./ui\"\n\nexport type RunCommandInput = {\n server: Server.Resolved\n message: string[]\n continue?: boolean\n session?: string\n fork?: boolean\n model?: string\n agent?: string\n format: \"default\" | \"json\"\n file: string[]\n title?: string\n thinking?: boolean\n auto?: boolean\n}\n\ntype FilePart = {\n url: string\n filename: string\n mime: string\n}\n\ntype Prepared = {\n directory?: string\n message: string\n files: FilePart[]\n}\n\nconst ATTACH_FILE_MAX_BYTES = 10 * 1024 * 1024\n\nexport function runNonInteractive(input: RunCommandInput) {\n return run(input).catch((error) => reportError(input, error instanceof Error ? error.message : String(error)))\n}\n\nasync function run(input: RunCommandInput) {\n if (input.fork && !input.continue && !input.session) fail(\"--fork requires --continue or --session\")\n const root = process.env.PWD ?? process.cwd()\n const directory = localDirectory(root)\n const message = mergeInput(formatMessage(input.message), process.stdin.isTTY ? undefined : await Bun.stdin.text())\n if (!message?.trim()) fail(\"You must provide a message\")\n const files = await Promise.all(input.file.map((file) => prepareFile(file, root)))\n const prepared = { directory, message, files }\n return execute(input, prepared, input.server.endpoint)\n}\n\nasync function execute(input: RunCommandInput, prepared: Prepared, endpoint: Service.Endpoint) {\n const client = OpenCode.make({ baseUrl: endpoint.url, headers: Service.headers(endpoint) })\n const requestedDirectory = prepared.directory ?? (await client.location.get()).directory\n if (!requestedDirectory) fail(\"Failed to resolve server directory\")\n const session = await selectSession(client, requestedDirectory, input)\n const cwd = session?.location.directory ?? requestedDirectory\n const workspace = session?.location.workspaceID\n const explicit = parseRunModel(input.model)\n const explicitModel = explicit?.model\n const variant = explicit?.variant\n const sessionModel = session?.model ? { providerID: session.model.providerID, modelID: session.model.id } : undefined\n const defaultModel =\n !explicitModel && !sessionModel\n ? await client.model\n .default({ location: { directory: cwd, workspace } })\n .then((result) => (result.data ? { providerID: result.data.providerID, modelID: result.data.id } : undefined))\n : undefined\n const model = pickRunModel(explicitModel, variant, sessionModel, defaultModel)\n if (variant && !model)\n return reportError(input, \"Cannot select a variant before selecting a model\", session?.id)\n if (model) {\n await waitForCatalogReady({ sdk: client, directory: cwd, workspace, model })\n const available = await client.model.list({ location: { directory: cwd, workspace } })\n if (!available.data.some((item) => item.providerID === model.providerID && item.id === model.modelID))\n return reportError(input, `Model unavailable: ${model.providerID}/${model.modelID}`, session?.id)\n }\n const agent = await validateAgent(client, cwd, input.agent)\n const selected =\n session ??\n (await client.session.create({\n agent,\n model: model ? { providerID: model.providerID, id: model.modelID, variant } : undefined,\n location: { directory: cwd },\n }))\n if (!session && input.title !== undefined) {\n await client.session.rename({\n sessionID: selected.id,\n title: input.title || prepared.message.slice(0, 50) + (prepared.message.length > 50 ? \"...\" : \"\"),\n })\n }\n\n await runNonInteractivePrompt({\n client,\n sessionID: selected.id,\n message: prepared.message,\n files: prepared.files,\n agent,\n model,\n variant,\n thinking: input.thinking ?? false,\n format: input.format,\n auto: input.auto ?? false,\n attached: true,\n renderTool,\n renderToolError,\n }).catch((error) => reportError(input, error instanceof Error ? error.message : String(error), selected.id))\n}\n\nexport function mergeInput(message: string | undefined, piped: string | undefined) {\n if (!message) return piped || undefined\n if (!piped) return message\n return message + \"\\n\" + piped\n}\n\nexport function pickRunModel(\n explicit: { providerID: string; modelID: string } | undefined,\n variant: string | undefined,\n session: { providerID: string; modelID: string } | undefined,\n fallback: { providerID: string; modelID: string } | undefined,\n) {\n if (explicit) return explicit\n if (!variant) return\n return session ?? fallback\n}\n\nfunction formatMessage(message: string[]) {\n const value = message.map((part) => (part.includes(\" \") ? `\"${part.replace(/\"/g, '\\\\\"')}\"` : part)).join(\" \")\n return value || undefined\n}\n\nfunction localDirectory(root: string) {\n try {\n process.chdir(root)\n return process.cwd()\n } catch {\n fail(`Failed to change directory to ${root}`)\n }\n}\n\nexport function parseRunModel(value?: string) {\n if (!value) return\n const ref = Model.Ref.parse(value)\n return {\n model: { providerID: ref.providerID, modelID: ref.id },\n variant: ref.variant,\n }\n}\n\nasync function validateAgent(client: OpenCodeClient, directory: string, name?: string) {\n if (!name) return\n const agents = await loadRunAgents(client, directory).catch(() => undefined)\n if (!agents) {\n warning(\"failed to list agents. Falling back to default agent\")\n return\n }\n const agent = agents.find((item) => item.id === name)\n if (!agent) {\n warning(`agent \"${name}\" not found. Falling back to default agent`)\n return\n }\n if (agent.mode === \"subagent\") {\n warning(`agent \"${name}\" is a subagent, not a primary agent. Falling back to default agent`)\n return\n }\n return name\n}\n\nasync function selectSession(client: OpenCodeClient, directory: string, input: RunCommandInput) {\n const selected = input.session\n ? await client.session.get({ sessionID: input.session }).catch(() => undefined)\n : input.continue\n ? await client.session\n .list({ directory, parentID: null, limit: 1, order: \"desc\" })\n .then((result) => result.data[0])\n : undefined\n if (input.session && !selected) fail(\"Session not found\")\n if (!selected || !input.fork) return selected\n return client.session.fork({ sessionID: selected.id })\n}\n\nasync function prepareFile(input: string, directory: string): Promise<FilePart> {\n const file = path.resolve(directory, input)\n const handle = await open(file, \"r\").catch(() => fail(`File not found: ${input}`))\n try {\n const stat = await handle.stat()\n if (!stat.isFile() || stat.size > ATTACH_FILE_MAX_BYTES)\n fail(`Cannot attach a directory, special file, or file larger than 10 MiB: ${input}`)\n const content = Buffer.alloc(Number(stat.size))\n let offset = 0\n while (offset < content.length) {\n const read = await handle.read(content, offset, content.length - offset, offset)\n if (read.bytesRead === 0) break\n offset += read.bytesRead\n }\n const bytes = content.subarray(0, offset)\n const detected = FSUtil.mimeType(file)\n const text = bytes.toString(\"utf8\")\n const mime =\n detected.startsWith(\"image/\") || detected === \"application/pdf\"\n ? detected\n : !isBinaryContent(bytes) && Buffer.from(text, \"utf8\").equals(bytes)\n ? \"text/plain\"\n : detected\n return {\n url: `data:${mime};base64,${bytes.toString(\"base64\")}`,\n filename: path.basename(file),\n mime,\n }\n } finally {\n await handle.close()\n }\n}\n\nfunction isBinaryContent(bytes: Uint8Array) {\n if (bytes.length === 0) return false\n if (bytes.includes(0)) return true\n return bytes.reduce((count, byte) => count + Number(byte < 9 || (byte > 13 && byte < 32)), 0) / bytes.length > 0.3\n}\n\nasync function renderTool(part: ToolPart) {\n const info = toolInlineInfo(part)\n if (info.mode === \"block\") {\n UI.empty()\n UI.println(UI.Style.TEXT_NORMAL + info.icon, UI.Style.TEXT_NORMAL + info.title)\n if (info.body?.trim()) UI.println(info.body)\n UI.empty()\n return\n }\n UI.println(\n UI.Style.TEXT_NORMAL + info.icon,\n UI.Style.TEXT_NORMAL + info.title,\n info.description ? UI.Style.TEXT_DIM + info.description + UI.Style.TEXT_NORMAL : \"\",\n )\n}\n\nasync function renderToolError(part: ToolPart) {\n const info = toolInlineInfo(part)\n UI.println(UI.Style.TEXT_NORMAL + \"✗\", UI.Style.TEXT_NORMAL + `${info.title} failed`)\n}\n\nfunction warning(message: string) {\n UI.println(UI.Style.TEXT_WARNING_BOLD + \"!\", UI.Style.TEXT_NORMAL, message)\n}\n\nfunction reportError(input: RunCommandInput, message: string, sessionID?: string) {\n process.exitCode = 1\n if (input.format === \"json\") {\n process.stdout.write(\n JSON.stringify({\n type: \"error\",\n timestamp: Date.now(),\n sessionID: sessionID ?? \"\",\n error: { type: \"unknown\", message },\n }) + \"\\n\",\n )\n return\n }\n UI.error(message)\n}\n\nfunction fail(message: string): never {\n throw new Error(message)\n}\n", | ||
| "import type { EventSubscribeOutput, OpenCodeClient } from \"@opencode-ai/client/promise\"\nimport type { ReasoningPart, StepFinishPart, StepStartPart, TextPart, ToolPart } from \"@opencode-ai/sdk/v2\"\nimport { SessionMessage } from \"@opencode-ai/schema/session-message\"\nimport { EOL } from \"node:os\"\nimport { UI } from \"./ui\"\n\ntype Model = {\n providerID: string\n modelID: string\n}\n\ntype File = {\n url: string\n filename: string\n mime: string\n}\n\ntype Input = {\n client: OpenCodeClient\n sessionID: string\n message: string\n files: File[]\n agent?: string\n model?: Model\n variant?: string\n thinking: boolean\n format: \"default\" | \"json\"\n auto: boolean\n /** True when the client is attached to a shared server rather than an exclusive in-process one. */\n attached: boolean\n renderTool: (part: ToolPart) => Promise<void>\n renderToolError: (part: ToolPart) => Promise<void>\n}\n\ntype StartedPart = {\n id: string\n timestamp: number\n}\n\ntype ToolState = StartedPart & {\n assistantMessageID: string\n tool: string\n input: Record<string, unknown>\n raw?: string\n provider?: unknown\n}\n\ntype V2Event = EventSubscribeOutput\ntype FormRequest = Extract<V2Event, { type: \"form.created\" }>[\"data\"][\"form\"]\n\n// MCP elicitations are temporarily owned by the \"global\" sentinel instead of a real\n// session. An exclusive local process may treat them as this run's blockers; an\n// attached client must not cancel input that may belong to another session.\nconst GLOBAL_FORM_SESSION_ID = \"global\"\n\nexport async function runNonInteractivePrompt(input: Input) {\n const controller = new AbortController()\n const stream = input.client.event.subscribe({ signal: controller.signal })[Symbol.asyncIterator]()\n const connected = await stream.next()\n if (connected.done) throw new Error(\"Event stream disconnected before prompt admission\")\n\n const messageID = SessionMessage.ID.create()\n const starts = new Map<string, StartedPart>()\n const tools = new Map<string, ToolState>()\n let submitted = false\n let promoted = false\n let emittedError = false\n let questionRejected = false\n let permissionRejected = false\n let formCancelled = false\n let interrupted = false\n let admission: AbortController | undefined\n\n const emit = (type: string, timestamp: number, data: Record<string, unknown>) => {\n if (input.format !== \"json\") return false\n process.stdout.write(JSON.stringify({ type, timestamp, sessionID: input.sessionID, ...data }) + EOL)\n return true\n }\n\n const writeText = (part: TextPart, timestamp: number) => {\n if (emit(\"text\", timestamp, { part })) return\n const text = part.text.trim()\n if (!text) return\n if (!process.stdout.isTTY) {\n process.stdout.write(text + EOL)\n return\n }\n UI.empty()\n UI.println(text)\n UI.empty()\n }\n\n const replyPermission = async (request: { id: string; action: string; resources: ReadonlyArray<string> }) => {\n if (!input.auto) {\n permissionRejected = true\n UI.println(\n UI.Style.TEXT_WARNING_BOLD + \"!\",\n UI.Style.TEXT_NORMAL +\n `permission requested: ${request.action} (${request.resources.join(\", \")}); auto-rejecting`,\n )\n }\n await input.client.permission\n .reply({\n sessionID: input.sessionID,\n requestID: request.id,\n reply: input.auto ? \"once\" : \"reject\",\n })\n .catch(() => {})\n if (!input.auto) {\n await input.client.session.interrupt({ sessionID: input.sessionID }).catch(() => {})\n }\n }\n\n const rejectQuestion = async (request: { id: string }) => {\n questionRejected = true\n await input.client.question.reject({ sessionID: input.sessionID, requestID: request.id }).catch(() => {})\n }\n\n const cancelForm = async (request: Pick<FormRequest, \"id\" | \"sessionID\">) => {\n formCancelled = true\n await input.client.form.cancel({ sessionID: request.sessionID, formID: request.id }).catch(() => {})\n }\n\n const consume = async () => {\n while (!controller.signal.aborted) {\n const next = await stream.next().catch((error) => {\n if (!emittedError) throw error\n return { done: true as const, value: undefined }\n })\n if (next.done) {\n if (emittedError) return\n throw new Error(\"Event stream disconnected during prompt execution\")\n }\n const event = next.value\n\n if (event.type === \"permission.v2.asked\" && submitted && event.data.sessionID === input.sessionID) {\n await replyPermission(event.data)\n continue\n }\n if (event.type === \"question.v2.asked\" && submitted && event.data.sessionID === input.sessionID) {\n await rejectQuestion(event.data)\n continue\n }\n if (\n event.type === \"form.created\" &&\n submitted &&\n (event.data.form.sessionID === input.sessionID ||\n (!input.attached && event.data.form.sessionID === GLOBAL_FORM_SESSION_ID))\n ) {\n await cancelForm(event.data.form)\n continue\n }\n if (!(\"sessionID\" in event.data) || event.data.sessionID !== input.sessionID) continue\n const time = toMillis(\"created\" in event ? event.created : undefined)\n\n if (event.type === \"session.input.promoted\") {\n if (event.data.inputID === messageID) {\n promoted = true\n continue\n }\n }\n if (\n event.type === \"session.execution.interrupted\" &&\n event.data.reason === \"user\" &&\n (interrupted || permissionRejected || questionRejected || formCancelled)\n ) {\n return\n }\n if (!promoted) continue\n\n if (event.type === \"session.step.started\") {\n const part: StepStartPart = {\n id: partID(event.id),\n sessionID: input.sessionID,\n messageID: event.data.assistantMessageID,\n type: \"step-start\",\n snapshot: event.data.snapshot,\n }\n if (!emit(\"step_start\", time, { part }) && input.format !== \"json\") {\n UI.empty()\n UI.println(`> ${event.data.agent} · ${event.data.model.id}`)\n UI.empty()\n }\n continue\n }\n\n if (event.type === \"session.text.started\") {\n starts.set(\"text\", { id: partID(event.id), timestamp: time })\n continue\n }\n if (event.type === \"session.text.ended\") {\n const started = starts.get(\"text\")\n starts.delete(\"text\")\n const part: TextPart = {\n id: started?.id ?? partID(event.id),\n sessionID: input.sessionID,\n messageID: event.data.assistantMessageID,\n type: \"text\",\n text: event.data.text,\n time: { start: started?.timestamp ?? time, end: time },\n }\n writeText(part, time)\n continue\n }\n\n if (event.type === \"session.reasoning.started\") {\n starts.set(\"reasoning\", { id: partID(event.id), timestamp: time })\n continue\n }\n if (event.type === \"session.reasoning.ended\" && input.thinking) {\n const started = starts.get(\"reasoning\")\n starts.delete(\"reasoning\")\n const part: ReasoningPart = {\n id: started?.id ?? partID(event.id),\n sessionID: input.sessionID,\n messageID: event.data.assistantMessageID,\n type: \"reasoning\",\n text: event.data.text,\n metadata: event.data.state,\n time: { start: started?.timestamp ?? time, end: time },\n }\n if (emit(\"reasoning\", time, { part })) continue\n const text = part.text.trim()\n if (!text) continue\n const line = `Thinking: ${text}`\n if (!process.stdout.isTTY) {\n process.stdout.write(line + EOL)\n continue\n }\n UI.empty()\n UI.println(`${UI.Style.TEXT_DIM}\\u001b[3m${line}\\u001b[0m${UI.Style.TEXT_NORMAL}`)\n UI.empty()\n continue\n }\n\n if (event.type === \"session.tool.input.started\") {\n tools.set(event.data.callID, {\n id: partID(event.id),\n timestamp: time,\n assistantMessageID: event.data.assistantMessageID,\n tool: event.data.name,\n input: {},\n })\n continue\n }\n if (event.type === \"session.tool.input.ended\") {\n const current = tools.get(event.data.callID)\n if (current) current.raw = event.data.text\n continue\n }\n if (event.type === \"session.tool.called\") {\n const current = tools.get(event.data.callID)\n tools.set(event.data.callID, {\n id: current?.id ?? partID(event.id),\n timestamp: current?.timestamp ?? time,\n assistantMessageID: event.data.assistantMessageID,\n tool: current?.tool ?? \"tool\",\n input: event.data.input,\n raw: current?.raw,\n provider: { executed: event.data.executed, state: event.data.state },\n })\n continue\n }\n if (event.type === \"session.tool.success\") {\n const current = tools.get(event.data.callID) ?? fallbackTool(event)\n const part: ToolPart = {\n id: current.id,\n sessionID: input.sessionID,\n messageID: event.data.assistantMessageID,\n type: \"tool\",\n callID: event.data.callID,\n tool: current.tool,\n state: {\n status: \"completed\",\n input: current.input,\n output: event.data.content\n .filter((item) => item.type === \"text\")\n .map((item) => item.text)\n .join(\"\\n\"),\n title: current.tool,\n metadata: {\n structured: event.data.structured,\n content: event.data.content,\n result: event.data.result,\n providerCall: current.provider,\n providerResult: { executed: event.data.executed, state: event.data.resultState },\n rawInput: current.raw,\n },\n time: { start: current.timestamp, end: time },\n },\n }\n tools.delete(event.data.callID)\n if (!emit(\"tool_use\", time, { part })) await input.renderTool(part)\n continue\n }\n if (event.type === \"session.tool.failed\") {\n const current = tools.get(event.data.callID) ?? fallbackTool(event)\n const error = event.data.error.message\n const part: ToolPart = {\n id: current.id,\n sessionID: input.sessionID,\n messageID: event.data.assistantMessageID,\n type: \"tool\",\n callID: event.data.callID,\n tool: current.tool,\n state: {\n status: \"error\",\n input: current.input,\n error,\n metadata: {\n result: event.data.result,\n providerCall: current.provider,\n providerResult: { executed: event.data.executed, state: event.data.resultState },\n rawInput: current.raw,\n },\n time: { start: current.timestamp, end: time },\n },\n }\n tools.delete(event.data.callID)\n if (!emit(\"tool_use\", time, { part })) {\n await input.renderToolError(part)\n UI.error(error)\n }\n continue\n }\n\n if (event.type === \"session.step.ended\") {\n const part: StepFinishPart = {\n id: partID(event.id),\n sessionID: input.sessionID,\n messageID: event.data.assistantMessageID,\n type: \"step-finish\",\n reason: event.data.finish,\n snapshot: event.data.snapshot,\n cost: event.data.cost,\n tokens: event.data.tokens,\n }\n emit(\"step_finish\", time, { part })\n continue\n }\n if (event.type === \"session.step.failed\") {\n if (interrupted || permissionRejected || questionRejected || formCancelled) continue\n emittedError = true\n process.exitCode = 1\n if (!emit(\"error\", time, { error: event.data.error })) UI.error(event.data.error.message)\n continue\n }\n if (event.type === \"session.execution.failed\") {\n if (!emittedError && !questionRejected && !formCancelled) {\n emittedError = true\n process.exitCode = 1\n if (!emit(\"error\", time, { error: event.data.error })) UI.error(event.data.error.message)\n }\n return\n }\n if (event.type === \"session.execution.interrupted\") {\n if (event.data.reason === \"user\" && interrupted) process.exitCode = 130\n if (event.data.reason !== \"user\" && !emittedError) {\n emittedError = true\n process.exitCode = 1\n const error = { type: \"aborted\" as const, message: `Session interrupted: ${event.data.reason}` }\n if (!emit(\"error\", time, { error })) UI.error(error.message)\n }\n return\n }\n if (event.type === \"session.execution.succeeded\") return\n }\n }\n\n const interrupt = () => {\n if (interrupted) process.exit(130)\n interrupted = true\n process.exitCode = 130\n admission?.abort()\n void input.client.session.interrupt({ sessionID: input.sessionID }).catch(() => {})\n }\n process.on(\"SIGINT\", interrupt)\n\n let completed: Promise<void> | undefined\n try {\n if (input.agent) {\n await input.client.session.switchAgent({ sessionID: input.sessionID, agent: input.agent })\n }\n const selected = input.model\n ? { providerID: input.model.providerID, id: input.model.modelID, variant: input.variant }\n : input.variant\n ? await input.client.session\n .get({ sessionID: input.sessionID })\n .then((result) => result.model)\n .then(async (model) => {\n if (model) return { ...model, variant: input.variant }\n const result = await input.client.model.default()\n const fallback = result.data\n return fallback ? { providerID: fallback.providerID, id: fallback.id, variant: input.variant } : undefined\n })\n : undefined\n if (input.variant && !selected) throw new Error(\"Cannot select a variant before selecting a model\")\n if (selected) {\n await input.client.session.switchModel({ sessionID: input.sessionID, model: selected })\n }\n\n const prepared = await Promise.all(input.files.map(prepareFile))\n if (interrupted) return\n submitted = true\n completed = consume()\n admission = new AbortController()\n const response = await input.client.session\n .prompt(\n {\n sessionID: input.sessionID,\n id: messageID,\n text: [input.message, ...prepared.flatMap((file) => (file.text ? [file.text] : []))].join(\"\\n\\n\"),\n files: prepared.flatMap((file) => (file.attachment ? [file.attachment] : [])),\n delivery: \"steer\",\n },\n { signal: admission.signal },\n )\n .catch(async (error) => {\n if (interrupted) {\n await input.client.session.interrupt({ sessionID: input.sessionID }).catch(() => {})\n }\n controller.abort()\n await completed?.catch(() => {})\n if (interrupted || emittedError) return undefined\n throw error\n })\n admission = undefined\n if (!response) return\n if (interrupted) await input.client.session.interrupt({ sessionID: input.sessionID }).catch(() => {})\n\n const [permissions, questions, forms] = await Promise.all([\n input.client.permission.list({ sessionID: input.sessionID }).catch(() => undefined),\n input.client.question.list({ sessionID: input.sessionID }).catch(() => undefined),\n Promise.all(\n (input.attached ? [input.sessionID] : [input.sessionID, GLOBAL_FORM_SESSION_ID]).map((sessionID) =>\n input.client.form.list({ sessionID }).catch(() => undefined),\n ),\n ),\n ])\n await Promise.all([\n ...(permissions ?? []).map(replyPermission),\n ...(questions ?? []).map(rejectQuestion),\n ...forms.flatMap((response) => response ?? []).map(cancelForm),\n ])\n await completed\n } finally {\n process.off(\"SIGINT\", interrupt)\n controller.abort()\n await stream.return?.(undefined).catch(() => {})\n }\n}\n\nfunction partID(eventID: string) {\n return `prt_${eventID.replace(/^evt_/, \"\")}`\n}\n\nfunction fallbackTool(event: {\n id: string\n created: number\n data: { assistantMessageID: string; callID: string }\n}): ToolState {\n return {\n id: partID(event.id),\n timestamp: toMillis(event.created),\n assistantMessageID: event.data.assistantMessageID,\n tool: \"tool\",\n input: {},\n }\n}\n\nfunction toMillis(value: unknown) {\n if (typeof value === \"number\") return value\n if (typeof value === \"string\") return new Date(value).getTime()\n return Date.now()\n}\n\nasync function prepareFile(file: File) {\n if (file.mime !== \"text/plain\") {\n const uri = file.url.startsWith(\"data:\")\n ? file.url\n : `data:${file.mime};base64,${Buffer.from(await Bun.file(new URL(file.url)).arrayBuffer()).toString(\"base64\")}`\n return { attachment: { uri, mime: file.mime, name: file.filename } }\n }\n const content = file.url.startsWith(\"data:\")\n ? Buffer.from(file.url.slice(file.url.indexOf(\",\") + 1), \"base64\").toString(\"utf8\")\n : await Bun.file(new URL(file.url)).text()\n return { text: `<file name=\"${file.filename}\">\\n${content}\\n</file>` }\n}\n", | ||
| "import { EOL } from \"node:os\"\n\nexport const Style = {\n TEXT_DIM: \"\\x1b[90m\",\n TEXT_NORMAL: \"\\x1b[0m\",\n TEXT_WARNING_BOLD: \"\\x1b[93m\\x1b[1m\",\n TEXT_DANGER_BOLD: \"\\x1b[91m\\x1b[1m\",\n}\n\nexport function println(...message: string[]) {\n process.stderr.write(message.join(\" \") + EOL)\n}\n\nlet blank = false\n\nexport function empty() {\n if (blank) return\n println(Style.TEXT_NORMAL)\n blank = true\n}\n\nexport function error(message: string) {\n if (message.startsWith(\"Error: \")) message = message.slice(\"Error: \".length)\n println(Style.TEXT_DANGER_BOLD + \"Error: \" + Style.TEXT_NORMAL + message)\n}\n\nexport * as UI from \"./ui\"\n" | ||
| ], | ||
| "mappings": ";8wBAsBA,oBAAsB,OAAO,MAAC,OAAyB,MACrD,QAAS,MAAK,OACd,SAAM,OAAe,OAAW,aAAQ,WAAM,WAAQ,YAAY,WAAM,SAAI,WAAM,KAAK,EAAG,EAAM,MAAM,EAChG,EAAqB,yCACrB,EAAY,GAAe,EAEjC,GAAI,CACF,IAAM,EAAM,EAAS,KAAK,CACxB,QAAS,EAAM,OAAO,SAAS,IAC/B,QAAS,EAAQ,QAAQ,EAAM,OAAO,QAAQ,CAChD,CAAC,EACK,EAAQ,GAAW,EAAM,KAAK,EAChC,EACE,EAAe,IAAM,CAEzB,OADA,IAAc,GAAc,EAAK,EAAW,EAAM,KAAK,EAChD,GAEH,EAAiB,SAAY,CACjC,IAAO,EAAO,GAAY,MAAM,QAAQ,IAAI,CAC1C,EAAa,EACb,GAAc,EAAK,EAAW,CAAK,CACrC,CAAC,EACK,EACJ,IAAU,GAAU,MAAQ,CAAE,WAAY,EAAS,MAAM,WAAY,QAAS,EAAS,MAAM,EAAG,EAAI,QACtG,GAAI,EAAY,MAAM,EAAoB,CAAE,MAAK,YAAW,MAAO,CAAW,CAAC,EAC/E,IAAM,EAAU,GAAa,MAAM,EAAc,EAAK,EAAW,EAAO,CAAK,EAC7E,MAAO,CAAE,GAAI,EAAQ,GAAI,MAAO,EAAQ,MAAO,OAAQ,IAAa,MAAU,GAE1E,EAAS,CACb,EACA,IACG,EAAc,EAAK,EAAW,EAAK,MAAO,EAAK,MAAO,EAAK,OAAO,EAEvE,MADgB,MAAM,GACR,2BAA2B,CACvC,MACA,YACA,eACA,QAAS,EACT,cAAe,EACf,MAAO,EAAM,MACb,QACA,QAAS,OACT,MAAO,CAAC,EACR,eACA,SAAU,GACV,OAAQ,EAAM,QAAU,GACxB,YAAa,EAAM,YACnB,KAAM,EAAM,KACZ,UAAW,EAAM,SACnB,CAAC,EACD,MAAO,EAAO,CACd,GAAI,aAAiB,OAAS,EAAM,UAAY,EAAyB,EAAK,EAAM,OAAO,EAC3F,MAAM,GAIH,SAAS,CAAoB,EAAG,CACrC,GAAI,CAAC,QAAQ,OAAO,MAAO,EAAK,qCAAqC,EAIhE,SAAS,CAAU,CAAC,EAA2B,EAA4B,CAChF,GAAI,CAAC,EAAQ,OAAO,GAAS,OAC7B,GAAI,CAAC,EAAO,OAAO,EACnB,OAAO,EAAQ;AAAA,EAAO,EAGxB,SAAS,EAAQ,CAAC,EAAyB,CAEzC,GADA,EAAqB,EACjB,EAAM,cAAgB,SAAc,CAAC,OAAO,UAAU,EAAM,WAAW,GAAK,EAAM,aAAe,GACnG,EAAK,2CAA2C,EAElD,GAAI,EAAM,MAAQ,CAAC,EAAM,UAAY,CAAC,EAAM,QAAS,EAAK,yCAAyC,EACnG,EAAwB,EAAE,UAAU,EAGtC,SAAS,EAAc,EAAW,CAChC,IAAM,EAAO,QAAQ,IAAI,KAAO,QAAQ,IAAI,EAC5C,GAAI,CAEF,OADA,QAAQ,MAAM,CAAI,EACX,QAAQ,IAAI,EACnB,KAAM,CACN,EAAK,iCAAiC,GAAM,GAIhD,SAAS,EAAU,CAAC,EAAmC,CACrD,GAAI,CAAC,EAAO,OACZ,IAAO,KAAe,GAAQ,EAAM,MAAM,GAAG,EACvC,EAAU,EAAK,KAAK,GAAG,EAC7B,GAAI,CAAC,GAAc,CAAC,EAAS,EAAK,4CAA4C,EAC9E,MAAO,CAAE,aAAY,SAAQ,EAG/B,eAAe,EAAa,CAAC,EAAqB,EAAmB,EAAe,CAClF,GAAI,CAAC,EAAM,OACX,IAAM,EAAW,KAAK,IAAI,EAAI,KAC1B,EACJ,MAAO,KAAK,IAAI,EAAI,EAAU,CAC5B,EAAS,MAAM,EAAI,MAAM,KAAK,CAAE,SAAU,CAAE,WAAU,CAAE,CAAC,EAAE,MAAM,IAAG,CAAG,OAAS,EAChF,IAAM,EAAQ,GAAQ,KAAK,KAAK,CAAC,IAAS,EAAK,KAAO,CAAI,EAC1D,GAAI,GAAO,OAAS,WAAY,CAC9B,EAAQ,UAAU,sEAAyE,EAC3F,OAEF,GAAI,EAAO,OAAO,EAClB,MAAM,IAAI,MAAM,EAAE,EAEpB,GAAI,CAAC,EAAQ,CACX,EAAQ,sDAAsD,EAC9D,OAEF,EAAQ,UAAU,6CAAgD,EAGpE,eAAe,EAAa,CAAC,EAAqB,EAAmB,EAAyB,EAAuB,CACnH,IAAM,EACJ,IACC,EAAM,QACH,MAAM,EAAI,QAAQ,IAAI,CAAE,UAAW,EAAM,OAAQ,CAAC,EAAE,MAAM,IAAG,CAAG,OAAS,EACzE,EAAM,SACJ,MAAM,EAAI,QACP,KAAK,CAAE,YAAW,SAAU,KAAM,MAAO,EAAG,MAAO,MAAO,CAAC,EAC3D,KAAK,CAAC,IAAW,EAAO,KAAK,EAAE,EAClC,QACR,GAAI,EAAM,SAAW,CAAC,EAAU,EAAK,mBAAmB,EACxD,GAAI,CAAC,EAAU,OACf,GAAI,CAAC,EAAM,KAAM,OAAO,EACxB,OAAO,EAAI,QAAQ,KAAK,CAAE,UAAW,EAAS,EAAG,CAAC,EAGpD,eAAe,CAAa,CAC1B,EACA,EACA,EACA,EACA,EACkB,CAClB,GAAI,EAAO,MAAM,EAAoB,CAAE,MAAK,YAAW,OAAM,CAAC,EAC9D,OAAO,EAAI,QAAQ,OAAO,CACxB,QACA,MAAO,EAAQ,CAAE,WAAY,EAAM,WAAY,GAAI,EAAM,QAAS,SAAQ,EAAI,OAC9E,SAAU,CAAE,WAAU,CACxB,CAAC,EAGH,SAAS,CAAO,CAAC,EAAiB,CAChC,QAAQ,OAAO,MAAM,2BAA2B;AAAA,CAAW,EAG7D,SAAS,CAAI,CAAC,EAAwB,CACpC,QAAQ,OAAO,MAAM,gCAAgC;AAAA,CAAW,EAChE,QAAQ,KAAK,CAAC,ECzKhB,eAAS,qBACT,qBCHA,cAAS,yFCHT,cAAS,YAEF,IAAM,EAAQ,CACnB,SAAU,WACV,YAAa,UACb,kBAAmB,kBACnB,iBAAkB,iBACpB,EAEO,SAAS,CAAO,IAAI,EAAmB,CAC5C,QAAQ,OAAO,MAAM,EAAQ,KAAK,GAAG,EAAI,EAAG,EAG9C,IAAI,EAAQ,GAEL,SAAS,EAAK,EAAG,CACtB,GAAI,EAAO,OACX,EAAQ,EAAM,WAAW,EACzB,EAAQ,GAGH,SAAS,EAAK,CAAC,EAAiB,CACrC,GAAI,EAAQ,WAAW,SAAS,EAAG,EAAU,EAAQ,MAAM,CAAgB,EAC3E,EAAQ,EAAM,iBAAmB,UAAY,EAAM,YAAc,CAAO,ED8B1E,IAAM,EAAyB,SAE/B,eAAsB,CAAuB,CAAC,EAAc,CAC1D,IAAM,EAAa,IAAI,gBACjB,EAAS,EAAM,OAAO,MAAM,UAAU,CAAE,OAAQ,EAAW,MAAO,CAAC,EAAE,OAAO,eAAe,EAEjG,IADkB,MAAM,EAAO,KAAK,GACtB,KAAM,MAAU,MAAM,mDAAmD,EAEvF,IAAM,EAAY,EAAe,GAAG,OAAO,EACrC,EAAS,IAAI,IACb,EAAQ,IAAI,IACd,EAAY,GACZ,EAAW,GACX,EAAe,GACf,EAAmB,GACnB,EAAqB,GACrB,EAAgB,GAChB,EAAc,GACd,EAEE,EAAO,CAAC,EAAc,EAAmB,IAAkC,CAC/E,GAAI,EAAM,SAAW,OAAQ,MAAO,GAEpC,OADA,QAAQ,OAAO,MAAM,KAAK,UAAU,CAAE,OAAM,YAAW,UAAW,EAAM,aAAc,CAAK,CAAC,EAAI,CAAG,EAC5F,IAGH,EAAY,CAAC,EAAgB,IAAsB,CACvD,GAAI,EAAK,OAAQ,EAAW,CAAE,MAAK,CAAC,EAAG,OACvC,IAAM,EAAO,EAAK,KAAK,KAAK,EAC5B,GAAI,CAAC,EAAM,OACX,GAAI,CAAC,QAAQ,OAAO,MAAO,CACzB,QAAQ,OAAO,MAAM,EAAO,CAAG,EAC/B,OAEF,EAAG,MAAM,EACT,EAAG,QAAQ,CAAI,EACf,EAAG,MAAM,GAGL,EAAkB,MAAO,IAA8E,CAC3G,GAAI,CAAC,EAAM,KACT,EAAqB,GACrB,EAAG,QACD,EAAG,MAAM,kBAAoB,IAC7B,EAAG,MAAM,YACP,yBAAyB,EAAQ,WAAW,EAAQ,UAAU,KAAK,IAAI,oBAC3E,EASF,GAPA,MAAM,EAAM,OAAO,WAChB,MAAM,CACL,UAAW,EAAM,UACjB,UAAW,EAAQ,GACnB,MAAO,EAAM,KAAO,OAAS,QAC/B,CAAC,EACA,MAAM,IAAM,EAAE,EACb,CAAC,EAAM,KACT,MAAM,EAAM,OAAO,QAAQ,UAAU,CAAE,UAAW,EAAM,SAAU,CAAC,EAAE,MAAM,IAAM,EAAE,GAIjF,EAAiB,MAAO,IAA4B,CACxD,EAAmB,GACnB,MAAM,EAAM,OAAO,SAAS,OAAO,CAAE,UAAW,EAAM,UAAW,UAAW,EAAQ,EAAG,CAAC,EAAE,MAAM,IAAM,EAAE,GAGpG,EAAa,MAAO,IAAmD,CAC3E,EAAgB,GAChB,MAAM,EAAM,OAAO,KAAK,OAAO,CAAE,UAAW,EAAQ,UAAW,OAAQ,EAAQ,EAAG,CAAC,EAAE,MAAM,IAAM,EAAE,GAG/F,GAAU,SAAY,CAC1B,MAAO,CAAC,EAAW,OAAO,QAAS,CACjC,IAAM,EAAO,MAAM,EAAO,KAAK,EAAE,MAAM,CAAC,IAAU,CAChD,GAAI,CAAC,EAAc,MAAM,EACzB,MAAO,CAAE,KAAM,GAAe,MAAO,MAAU,EAChD,EACD,GAAI,EAAK,KAAM,CACb,GAAI,EAAc,OAClB,MAAU,MAAM,mDAAmD,EAErE,IAAM,EAAQ,EAAK,MAEnB,GAAI,EAAM,OAAS,uBAAyB,GAAa,EAAM,KAAK,YAAc,EAAM,UAAW,CACjG,MAAM,EAAgB,EAAM,IAAI,EAChC,SAEF,GAAI,EAAM,OAAS,qBAAuB,GAAa,EAAM,KAAK,YAAc,EAAM,UAAW,CAC/F,MAAM,EAAe,EAAM,IAAI,EAC/B,SAEF,GACE,EAAM,OAAS,gBACf,IACC,EAAM,KAAK,KAAK,YAAc,EAAM,WAClC,CAAC,EAAM,UAAY,EAAM,KAAK,KAAK,YAAc,GACpD,CACA,MAAM,EAAW,EAAM,KAAK,IAAI,EAChC,SAEF,GAAI,EAAE,cAAe,EAAM,OAAS,EAAM,KAAK,YAAc,EAAM,UAAW,SAC9E,IAAM,EAAO,GAAS,YAAa,EAAQ,EAAM,QAAU,MAAS,EAEpE,GAAI,EAAM,OAAS,0BACjB,GAAI,EAAM,KAAK,UAAY,EAAW,CACpC,EAAW,GACX,UAGJ,GACE,EAAM,OAAS,iCACf,EAAM,KAAK,SAAW,SACrB,GAAe,GAAsB,GAAoB,GAE1D,OAEF,GAAI,CAAC,EAAU,SAEf,GAAI,EAAM,OAAS,uBAAwB,CACzC,IAAM,EAAsB,CAC1B,GAAI,EAAO,EAAM,EAAE,EACnB,UAAW,EAAM,UACjB,UAAW,EAAM,KAAK,mBACtB,KAAM,aACN,SAAU,EAAM,KAAK,QACvB,EACA,GAAI,CAAC,EAAK,aAAc,EAAM,CAAE,MAAK,CAAC,GAAK,EAAM,SAAW,OAC1D,EAAG,MAAM,EACT,EAAG,QAAQ,KAAK,EAAM,KAAK,cAAU,EAAM,KAAK,MAAM,IAAI,EAC1D,EAAG,MAAM,EAEX,SAGF,GAAI,EAAM,OAAS,uBAAwB,CACzC,EAAO,IAAI,OAAQ,CAAE,GAAI,EAAO,EAAM,EAAE,EAAG,UAAW,CAAK,CAAC,EAC5D,SAEF,GAAI,EAAM,OAAS,qBAAsB,CACvC,IAAM,EAAU,EAAO,IAAI,MAAM,EACjC,EAAO,OAAO,MAAM,EACpB,IAAM,EAAiB,CACrB,GAAI,GAAS,IAAM,EAAO,EAAM,EAAE,EAClC,UAAW,EAAM,UACjB,UAAW,EAAM,KAAK,mBACtB,KAAM,OACN,KAAM,EAAM,KAAK,KACjB,KAAM,CAAE,MAAO,GAAS,WAAa,EAAM,IAAK,CAAK,CACvD,EACA,EAAU,EAAM,CAAI,EACpB,SAGF,GAAI,EAAM,OAAS,4BAA6B,CAC9C,EAAO,IAAI,YAAa,CAAE,GAAI,EAAO,EAAM,EAAE,EAAG,UAAW,CAAK,CAAC,EACjE,SAEF,GAAI,EAAM,OAAS,2BAA6B,EAAM,SAAU,CAC9D,IAAM,EAAU,EAAO,IAAI,WAAW,EACtC,EAAO,OAAO,WAAW,EACzB,IAAM,EAAsB,CAC1B,GAAI,GAAS,IAAM,EAAO,EAAM,EAAE,EAClC,UAAW,EAAM,UACjB,UAAW,EAAM,KAAK,mBACtB,KAAM,YACN,KAAM,EAAM,KAAK,KACjB,SAAU,EAAM,KAAK,MACrB,KAAM,CAAE,MAAO,GAAS,WAAa,EAAM,IAAK,CAAK,CACvD,EACA,GAAI,EAAK,YAAa,EAAM,CAAE,MAAK,CAAC,EAAG,SACvC,IAAM,EAAO,EAAK,KAAK,KAAK,EAC5B,GAAI,CAAC,EAAM,SACX,IAAM,EAAO,aAAa,IAC1B,GAAI,CAAC,QAAQ,OAAO,MAAO,CACzB,QAAQ,OAAO,MAAM,EAAO,CAAG,EAC/B,SAEF,EAAG,MAAM,EACT,EAAG,QAAQ,GAAG,EAAG,MAAM,kBAAoB,WAAgB,EAAG,MAAM,aAAa,EACjF,EAAG,MAAM,EACT,SAGF,GAAI,EAAM,OAAS,6BAA8B,CAC/C,EAAM,IAAI,EAAM,KAAK,OAAQ,CAC3B,GAAI,EAAO,EAAM,EAAE,EACnB,UAAW,EACX,mBAAoB,EAAM,KAAK,mBAC/B,KAAM,EAAM,KAAK,KACjB,MAAO,CAAC,CACV,CAAC,EACD,SAEF,GAAI,EAAM,OAAS,2BAA4B,CAC7C,IAAM,EAAU,EAAM,IAAI,EAAM,KAAK,MAAM,EAC3C,GAAI,EAAS,EAAQ,IAAM,EAAM,KAAK,KACtC,SAEF,GAAI,EAAM,OAAS,sBAAuB,CACxC,IAAM,EAAU,EAAM,IAAI,EAAM,KAAK,MAAM,EAC3C,EAAM,IAAI,EAAM,KAAK,OAAQ,CAC3B,GAAI,GAAS,IAAM,EAAO,EAAM,EAAE,EAClC,UAAW,GAAS,WAAa,EACjC,mBAAoB,EAAM,KAAK,mBAC/B,KAAM,GAAS,MAAQ,OACvB,MAAO,EAAM,KAAK,MAClB,IAAK,GAAS,IACd,SAAU,CAAE,SAAU,EAAM,KAAK,SAAU,MAAO,EAAM,KAAK,KAAM,CACrE,CAAC,EACD,SAEF,GAAI,EAAM,OAAS,uBAAwB,CACzC,IAAM,EAAU,EAAM,IAAI,EAAM,KAAK,MAAM,GAAK,EAAa,CAAK,EAC5D,EAAiB,CACrB,GAAI,EAAQ,GACZ,UAAW,EAAM,UACjB,UAAW,EAAM,KAAK,mBACtB,KAAM,OACN,OAAQ,EAAM,KAAK,OACnB,KAAM,EAAQ,KACd,MAAO,CACL,OAAQ,YACR,MAAO,EAAQ,MACf,OAAQ,EAAM,KAAK,QAChB,OAAO,CAAC,IAAS,EAAK,OAAS,MAAM,EACrC,IAAI,CAAC,IAAS,EAAK,IAAI,EACvB,KAAK;AAAA,CAAI,EACZ,MAAO,EAAQ,KACf,SAAU,CACR,WAAY,EAAM,KAAK,WACvB,QAAS,EAAM,KAAK,QACpB,OAAQ,EAAM,KAAK,OACnB,aAAc,EAAQ,SACtB,eAAgB,CAAE,SAAU,EAAM,KAAK,SAAU,MAAO,EAAM,KAAK,WAAY,EAC/E,SAAU,EAAQ,GACpB,EACA,KAAM,CAAE,MAAO,EAAQ,UAAW,IAAK,CAAK,CAC9C,CACF,EAEA,GADA,EAAM,OAAO,EAAM,KAAK,MAAM,EAC1B,CAAC,EAAK,WAAY,EAAM,CAAE,MAAK,CAAC,EAAG,MAAM,EAAM,WAAW,CAAI,EAClE,SAEF,GAAI,EAAM,OAAS,sBAAuB,CACxC,IAAM,EAAU,EAAM,IAAI,EAAM,KAAK,MAAM,GAAK,EAAa,CAAK,EAC5D,EAAQ,EAAM,KAAK,MAAM,QACzB,EAAiB,CACrB,GAAI,EAAQ,GACZ,UAAW,EAAM,UACjB,UAAW,EAAM,KAAK,mBACtB,KAAM,OACN,OAAQ,EAAM,KAAK,OACnB,KAAM,EAAQ,KACd,MAAO,CACL,OAAQ,QACR,MAAO,EAAQ,MACf,QACA,SAAU,CACR,OAAQ,EAAM,KAAK,OACnB,aAAc,EAAQ,SACtB,eAAgB,CAAE,SAAU,EAAM,KAAK,SAAU,MAAO,EAAM,KAAK,WAAY,EAC/E,SAAU,EAAQ,GACpB,EACA,KAAM,CAAE,MAAO,EAAQ,UAAW,IAAK,CAAK,CAC9C,CACF,EAEA,GADA,EAAM,OAAO,EAAM,KAAK,MAAM,EAC1B,CAAC,EAAK,WAAY,EAAM,CAAE,MAAK,CAAC,EAClC,MAAM,EAAM,gBAAgB,CAAI,EAChC,EAAG,MAAM,CAAK,EAEhB,SAGF,GAAI,EAAM,OAAS,qBAAsB,CACvC,IAAM,EAAuB,CAC3B,GAAI,EAAO,EAAM,EAAE,EACnB,UAAW,EAAM,UACjB,UAAW,EAAM,KAAK,mBACtB,KAAM,cACN,OAAQ,EAAM,KAAK,OACnB,SAAU,EAAM,KAAK,SACrB,KAAM,EAAM,KAAK,KACjB,OAAQ,EAAM,KAAK,MACrB,EACA,EAAK,cAAe,EAAM,CAAE,MAAK,CAAC,EAClC,SAEF,GAAI,EAAM,OAAS,sBAAuB,CACxC,GAAI,GAAe,GAAsB,GAAoB,EAAe,SAG5E,GAFA,EAAe,GACf,QAAQ,SAAW,EACf,CAAC,EAAK,QAAS,EAAM,CAAE,MAAO,EAAM,KAAK,KAAM,CAAC,EAAG,EAAG,MAAM,EAAM,KAAK,MAAM,OAAO,EACxF,SAEF,GAAI,EAAM,OAAS,2BAA4B,CAC7C,GAAI,CAAC,GAAgB,CAAC,GAAoB,CAAC,GAGzC,GAFA,EAAe,GACf,QAAQ,SAAW,EACf,CAAC,EAAK,QAAS,EAAM,CAAE,MAAO,EAAM,KAAK,KAAM,CAAC,EAAG,EAAG,MAAM,EAAM,KAAK,MAAM,OAAO,EAE1F,OAEF,GAAI,EAAM,OAAS,gCAAiC,CAClD,GAAI,EAAM,KAAK,SAAW,QAAU,EAAa,QAAQ,SAAW,IACpE,GAAI,EAAM,KAAK,SAAW,QAAU,CAAC,EAAc,CACjD,EAAe,GACf,QAAQ,SAAW,EACnB,IAAM,EAAQ,CAAE,KAAM,UAAoB,QAAS,wBAAwB,EAAM,KAAK,QAAS,EAC/F,GAAI,CAAC,EAAK,QAAS,EAAM,CAAE,OAAM,CAAC,EAAG,EAAG,MAAM,EAAM,OAAO,EAE7D,OAEF,GAAI,EAAM,OAAS,8BAA+B,SAIhD,EAAY,IAAM,CACtB,GAAI,EAAa,QAAQ,KAAK,GAAG,EACjC,EAAc,GACd,QAAQ,SAAW,IACnB,GAAW,MAAM,EACZ,EAAM,OAAO,QAAQ,UAAU,CAAE,UAAW,EAAM,SAAU,CAAC,EAAE,MAAM,IAAM,EAAE,GAEpF,QAAQ,GAAG,SAAU,CAAS,EAE9B,IAAI,EACJ,GAAI,CACF,GAAI,EAAM,MACR,MAAM,EAAM,OAAO,QAAQ,YAAY,CAAE,UAAW,EAAM,UAAW,MAAO,EAAM,KAAM,CAAC,EAE3F,IAAM,EAAW,EAAM,MACnB,CAAE,WAAY,EAAM,MAAM,WAAY,GAAI,EAAM,MAAM,QAAS,QAAS,EAAM,OAAQ,EACtF,EAAM,QACJ,MAAM,EAAM,OAAO,QAChB,IAAI,CAAE,UAAW,EAAM,SAAU,CAAC,EAClC,KAAK,CAAC,IAAW,EAAO,KAAK,EAC7B,KAAK,MAAO,IAAU,CACrB,GAAI,EAAO,MAAO,IAAK,EAAO,QAAS,EAAM,OAAQ,EAErD,IAAM,GADS,MAAM,EAAM,OAAO,MAAM,QAAQ,GACxB,KACxB,OAAO,EAAW,CAAE,WAAY,EAAS,WAAY,GAAI,EAAS,GAAI,QAAS,EAAM,OAAQ,EAAI,OAClG,EACH,OACN,GAAI,EAAM,SAAW,CAAC,EAAU,MAAU,MAAM,kDAAkD,EAClG,GAAI,EACF,MAAM,EAAM,OAAO,QAAQ,YAAY,CAAE,UAAW,EAAM,UAAW,MAAO,CAAS,CAAC,EAGxF,IAAM,EAAW,MAAM,QAAQ,IAAI,EAAM,MAAM,IAAI,EAAW,CAAC,EAC/D,GAAI,EAAa,OACjB,EAAY,GACZ,EAAY,GAAQ,EACpB,EAAY,IAAI,gBAChB,IAAM,EAAW,MAAM,EAAM,OAAO,QACjC,OACC,CACE,UAAW,EAAM,UACjB,GAAI,EACJ,KAAM,CAAC,EAAM,QAAS,GAAG,EAAS,QAAQ,CAAC,IAAU,EAAK,KAAO,CAAC,EAAK,IAAI,EAAI,CAAC,CAAE,CAAC,EAAE,KAAK;AAAA;AAAA,CAAM,EAChG,MAAO,EAAS,QAAQ,CAAC,IAAU,EAAK,WAAa,CAAC,EAAK,UAAU,EAAI,CAAC,CAAE,EAC5E,SAAU,OACZ,EACA,CAAE,OAAQ,EAAU,MAAO,CAC7B,EACC,MAAM,MAAO,IAAU,CACtB,GAAI,EACF,MAAM,EAAM,OAAO,QAAQ,UAAU,CAAE,UAAW,EAAM,SAAU,CAAC,EAAE,MAAM,IAAM,EAAE,EAIrF,GAFA,EAAW,MAAM,EACjB,MAAM,GAAW,MAAM,IAAM,EAAE,EAC3B,GAAe,EAAc,OACjC,MAAM,EACP,EAEH,GADA,EAAY,OACR,CAAC,EAAU,OACf,GAAI,EAAa,MAAM,EAAM,OAAO,QAAQ,UAAU,CAAE,UAAW,EAAM,SAAU,CAAC,EAAE,MAAM,IAAM,EAAE,EAEpG,IAAO,EAAa,EAAW,GAAS,MAAM,QAAQ,IAAI,CACxD,EAAM,OAAO,WAAW,KAAK,CAAE,UAAW,EAAM,SAAU,CAAC,EAAE,MAAM,IAAG,CAAG,OAAS,EAClF,EAAM,OAAO,SAAS,KAAK,CAAE,UAAW,EAAM,SAAU,CAAC,EAAE,MAAM,IAAG,CAAG,OAAS,EAChF,QAAQ,KACL,EAAM,SAAW,CAAC,EAAM,SAAS,EAAI,CAAC,EAAM,UAAW,CAAsB,GAAG,IAAI,CAAC,IACpF,EAAM,OAAO,KAAK,KAAK,CAAE,WAAU,CAAC,EAAE,MAAM,IAAG,CAAG,OAAS,CAC7D,CACF,CACF,CAAC,EACD,MAAM,QAAQ,IAAI,CAChB,IAAI,GAAe,CAAC,GAAG,IAAI,CAAe,EAC1C,IAAI,GAAa,CAAC,GAAG,IAAI,CAAc,EACvC,GAAG,EAAM,QAAQ,CAAC,IAAa,GAAY,CAAC,CAAC,EAAE,IAAI,CAAU,CAC/D,CAAC,EACD,MAAM,SACN,CACA,QAAQ,IAAI,SAAU,CAAS,EAC/B,EAAW,MAAM,EACjB,MAAM,EAAO,SAAS,MAAS,EAAE,MAAM,IAAM,EAAE,GAInD,SAAS,CAAM,CAAC,EAAiB,CAC/B,MAAO,OAAO,EAAQ,QAAQ,QAAS,EAAE,IAG3C,SAAS,CAAY,CAAC,EAIR,CACZ,MAAO,CACL,GAAI,EAAO,EAAM,EAAE,EACnB,UAAW,GAAS,EAAM,OAAO,EACjC,mBAAoB,EAAM,KAAK,mBAC/B,KAAM,OACN,MAAO,CAAC,CACV,EAGF,SAAS,EAAQ,CAAC,EAAgB,CAChC,GAAI,OAAO,IAAU,SAAU,OAAO,EACtC,GAAI,OAAO,IAAU,SAAU,OAAO,IAAI,KAAK,CAAK,EAAE,QAAQ,EAC9D,OAAO,KAAK,IAAI,EAGlB,eAAe,EAAW,CAAC,EAAY,CACrC,GAAI,EAAK,OAAS,aAIhB,MAAO,CAAE,WAAY,CAAE,IAHX,EAAK,IAAI,WAAW,OAAO,EACnC,EAAK,IACL,QAAQ,EAAK,eAAe,OAAO,KAAK,MAAM,IAAI,KAAK,IAAI,IAAI,EAAK,GAAG,CAAC,EAAE,YAAY,CAAC,EAAE,SAAS,QAAQ,IAClF,KAAM,EAAK,KAAM,KAAM,EAAK,QAAS,CAAE,EAErE,IAAM,EAAU,EAAK,IAAI,WAAW,OAAO,EACvC,OAAO,KAAK,EAAK,IAAI,MAAM,EAAK,IAAI,QAAQ,GAAG,EAAI,CAAC,EAAG,QAAQ,EAAE,SAAS,MAAM,EAChF,MAAM,IAAI,KAAK,IAAI,IAAI,EAAK,GAAG,CAAC,EAAE,KAAK,EAC3C,MAAO,CAAE,KAAM,eAAe,EAAK;AAAA,EAAe;AAAA,QAAmB,ED9bvE,IAAM,GAAwB,SAEvB,SAAS,EAAiB,CAAC,EAAwB,CACxD,OAAO,GAAI,CAAK,EAAE,MAAM,CAAC,IAAU,EAAY,EAAO,aAAiB,MAAQ,EAAM,QAAU,OAAO,CAAK,CAAC,CAAC,EAG/G,eAAe,EAAG,CAAC,EAAwB,CACzC,GAAI,EAAM,MAAQ,CAAC,EAAM,UAAY,CAAC,EAAM,QAAS,EAAK,yCAAyC,EACnG,IAAM,EAAO,QAAQ,IAAI,KAAO,QAAQ,IAAI,EACtC,EAAY,GAAe,CAAI,EAC/B,EAAU,GAAW,GAAc,EAAM,OAAO,EAAG,QAAQ,MAAM,MAAQ,OAAY,MAAM,IAAI,MAAM,KAAK,CAAC,EACjH,GAAI,CAAC,GAAS,KAAK,EAAG,EAAK,4BAA4B,EACvD,IAAM,EAAQ,MAAM,QAAQ,IAAI,EAAM,KAAK,IAAI,CAAC,IAAS,GAAY,EAAM,CAAI,CAAC,CAAC,EAEjF,OAAO,GAAQ,EADE,CAAE,YAAW,UAAS,OAAM,EACb,EAAM,OAAO,QAAQ,EAGvD,eAAe,EAAO,CAAC,EAAwB,EAAoB,EAA4B,CAC7F,IAAM,EAAS,EAAS,KAAK,CAAE,QAAS,EAAS,IAAK,QAAS,EAAQ,QAAQ,CAAQ,CAAE,CAAC,EACpF,EAAqB,EAAS,YAAc,MAAM,EAAO,SAAS,IAAI,GAAG,UAC/E,GAAI,CAAC,EAAoB,EAAK,oCAAoC,EAClE,IAAM,EAAU,MAAM,GAAc,EAAQ,EAAoB,CAAK,EAC/D,EAAM,GAAS,SAAS,WAAa,EACrC,EAAY,GAAS,SAAS,YAC9B,EAAW,GAAc,EAAM,KAAK,EACpC,EAAgB,GAAU,MAC1B,EAAU,GAAU,QACpB,EAAe,GAAS,MAAQ,CAAE,WAAY,EAAQ,MAAM,WAAY,QAAS,EAAQ,MAAM,EAAG,EAAI,OACtG,EACJ,CAAC,GAAiB,CAAC,EACf,MAAM,EAAO,MACV,QAAQ,CAAE,SAAU,CAAE,UAAW,EAAK,WAAU,CAAE,CAAC,EACnD,KAAK,CAAC,IAAY,EAAO,KAAO,CAAE,WAAY,EAAO,KAAK,WAAY,QAAS,EAAO,KAAK,EAAG,EAAI,MAAU,EAC/G,OACA,EAAQ,GAAa,EAAe,EAAS,EAAc,CAAY,EAC7E,GAAI,GAAW,CAAC,EACd,OAAO,EAAY,EAAO,mDAAoD,GAAS,EAAE,EAC3F,GAAI,GAGF,GAFA,MAAM,EAAoB,CAAE,IAAK,EAAQ,UAAW,EAAK,YAAW,OAAM,CAAC,EAEvE,EADc,MAAM,EAAO,MAAM,KAAK,CAAE,SAAU,CAAE,UAAW,EAAK,WAAU,CAAE,CAAC,GACtE,KAAK,KAAK,CAAC,IAAS,EAAK,aAAe,EAAM,YAAc,EAAK,KAAO,EAAM,OAAO,EAClG,OAAO,EAAY,EAAO,sBAAsB,EAAM,cAAc,EAAM,UAAW,GAAS,EAAE,EAEpG,IAAM,EAAQ,MAAM,GAAc,EAAQ,EAAK,EAAM,KAAK,EACpD,EACJ,GACC,MAAM,EAAO,QAAQ,OAAO,CAC3B,QACA,MAAO,EAAQ,CAAE,WAAY,EAAM,WAAY,GAAI,EAAM,QAAS,SAAQ,EAAI,OAC9E,SAAU,CAAE,UAAW,CAAI,CAC7B,CAAC,EACH,GAAI,CAAC,GAAW,EAAM,QAAU,OAC9B,MAAM,EAAO,QAAQ,OAAO,CAC1B,UAAW,EAAS,GACpB,MAAO,EAAM,OAAS,EAAS,QAAQ,MAAM,EAAG,EAAE,GAAK,EAAS,QAAQ,OAAS,GAAK,MAAQ,GAChG,CAAC,EAGH,MAAM,EAAwB,CAC5B,SACA,UAAW,EAAS,GACpB,QAAS,EAAS,QAClB,MAAO,EAAS,MAChB,QACA,QACA,UACA,SAAU,EAAM,UAAY,GAC5B,OAAQ,EAAM,OACd,KAAM,EAAM,MAAQ,GACpB,SAAU,GACV,cACA,kBACF,CAAC,EAAE,MAAM,CAAC,IAAU,EAAY,EAAO,aAAiB,MAAQ,EAAM,QAAU,OAAO,CAAK,EAAG,EAAS,EAAE,CAAC,EAGtG,SAAS,EAAU,CAAC,EAA6B,EAA2B,CACjF,GAAI,CAAC,EAAS,OAAO,GAAS,OAC9B,GAAI,CAAC,EAAO,OAAO,EACnB,OAAO,EAAU;AAAA,EAAO,EAGnB,SAAS,EAAY,CAC1B,EACA,EACA,EACA,EACA,CACA,GAAI,EAAU,OAAO,EACrB,GAAI,CAAC,EAAS,OACd,OAAO,GAAW,EAGpB,SAAS,EAAa,CAAC,EAAmB,CAExC,OADc,EAAQ,IAAI,CAAC,IAAU,EAAK,SAAS,GAAG,EAAI,IAAI,EAAK,QAAQ,KAAM,MAAK,KAAO,CAAK,EAAE,KAAK,GAAG,GAC5F,OAGlB,SAAS,EAAc,CAAC,EAAc,CACpC,GAAI,CAEF,OADA,QAAQ,MAAM,CAAI,EACX,QAAQ,IAAI,EACnB,KAAM,CACN,EAAK,iCAAiC,GAAM,GAIzC,SAAS,EAAa,CAAC,EAAgB,CAC5C,GAAI,CAAC,EAAO,OACZ,IAAM,EAAM,GAAM,IAAI,MAAM,CAAK,EACjC,MAAO,CACL,MAAO,CAAE,WAAY,EAAI,WAAY,QAAS,EAAI,EAAG,EACrD,QAAS,EAAI,OACf,EAGF,eAAe,EAAa,CAAC,EAAwB,EAAmB,EAAe,CACrF,GAAI,CAAC,EAAM,OACX,IAAM,EAAS,MAAM,GAAc,EAAQ,CAAS,EAAE,MAAM,IAAG,CAAG,OAAS,EAC3E,GAAI,CAAC,EAAQ,CACX,EAAQ,sDAAsD,EAC9D,OAEF,IAAM,EAAQ,EAAO,KAAK,CAAC,IAAS,EAAK,KAAO,CAAI,EACpD,GAAI,CAAC,EAAO,CACV,EAAQ,UAAU,6CAAgD,EAClE,OAEF,GAAI,EAAM,OAAS,WAAY,CAC7B,EAAQ,UAAU,sEAAyE,EAC3F,OAEF,OAAO,EAGT,eAAe,EAAa,CAAC,EAAwB,EAAmB,EAAwB,CAC9F,IAAM,EAAW,EAAM,QACnB,MAAM,EAAO,QAAQ,IAAI,CAAE,UAAW,EAAM,OAAQ,CAAC,EAAE,MAAM,IAAG,CAAG,OAAS,EAC5E,EAAM,SACJ,MAAM,EAAO,QACV,KAAK,CAAE,YAAW,SAAU,KAAM,MAAO,EAAG,MAAO,MAAO,CAAC,EAC3D,KAAK,CAAC,IAAW,EAAO,KAAK,EAAE,EAClC,OACN,GAAI,EAAM,SAAW,CAAC,EAAU,EAAK,mBAAmB,EACxD,GAAI,CAAC,GAAY,CAAC,EAAM,KAAM,OAAO,EACrC,OAAO,EAAO,QAAQ,KAAK,CAAE,UAAW,EAAS,EAAG,CAAC,EAGvD,eAAe,EAAW,CAAC,EAAe,EAAsC,CAC9E,IAAM,EAAO,GAAK,QAAQ,EAAW,CAAK,EACpC,EAAS,MAAM,GAAK,EAAM,GAAG,EAAE,MAAM,IAAM,EAAK,mBAAmB,GAAO,CAAC,EACjF,GAAI,CACF,IAAM,EAAO,MAAM,EAAO,KAAK,EAC/B,GAAI,CAAC,EAAK,OAAO,GAAK,EAAK,KAAO,GAChC,EAAK,wEAAwE,GAAO,EACtF,IAAM,EAAU,OAAO,MAAM,OAAO,EAAK,IAAI,CAAC,EAC1C,EAAS,EACb,MAAO,EAAS,EAAQ,OAAQ,CAC9B,IAAM,EAAO,MAAM,EAAO,KAAK,EAAS,EAAQ,EAAQ,OAAS,EAAQ,CAAM,EAC/E,GAAI,EAAK,YAAc,EAAG,MAC1B,GAAU,EAAK,UAEjB,IAAM,EAAQ,EAAQ,SAAS,EAAG,CAAM,EAClC,EAAW,GAAO,SAAS,CAAI,EAC/B,EAAO,EAAM,SAAS,MAAM,EAC5B,EACJ,EAAS,WAAW,QAAQ,GAAK,IAAa,kBAC1C,EACA,CAAC,GAAgB,CAAK,GAAK,OAAO,KAAK,EAAM,MAAM,EAAE,OAAO,CAAK,EAC/D,aACA,EACR,MAAO,CACL,IAAK,QAAQ,YAAe,EAAM,SAAS,QAAQ,IACnD,SAAU,GAAK,SAAS,CAAI,EAC5B,MACF,SACA,CACA,MAAM,EAAO,MAAM,GAIvB,SAAS,EAAe,CAAC,EAAmB,CAC1C,GAAI,EAAM,SAAW,EAAG,MAAO,GAC/B,GAAI,EAAM,SAAS,CAAC,EAAG,MAAO,GAC9B,OAAO,EAAM,OAAO,CAAC,EAAO,IAAS,EAAQ,OAAO,EAAO,GAAM,EAAO,IAAM,EAAO,EAAG,EAAG,CAAC,EAAI,EAAM,OAAS,IAGjH,eAAe,EAAU,CAAC,EAAgB,CACxC,IAAM,EAAO,EAAe,CAAI,EAChC,GAAI,EAAK,OAAS,QAAS,CAGzB,GAFA,EAAG,MAAM,EACT,EAAG,QAAQ,EAAG,MAAM,YAAc,EAAK,KAAM,EAAG,MAAM,YAAc,EAAK,KAAK,EAC1E,EAAK,MAAM,KAAK,EAAG,EAAG,QAAQ,EAAK,IAAI,EAC3C,EAAG,MAAM,EACT,OAEF,EAAG,QACD,EAAG,MAAM,YAAc,EAAK,KAC5B,EAAG,MAAM,YAAc,EAAK,MAC5B,EAAK,YAAc,EAAG,MAAM,SAAW,EAAK,YAAc,EAAG,MAAM,YAAc,EACnF,EAGF,eAAe,EAAe,CAAC,EAAgB,CAC7C,IAAM,EAAO,EAAe,CAAI,EAChC,EAAG,QAAQ,EAAG,MAAM,YAAc,SAAI,EAAG,MAAM,YAAc,GAAG,EAAK,cAAc,EAGrF,SAAS,CAAO,CAAC,EAAiB,CAChC,EAAG,QAAQ,EAAG,MAAM,kBAAoB,IAAK,EAAG,MAAM,YAAa,CAAO,EAG5E,SAAS,CAAW,CAAC,EAAwB,EAAiB,EAAoB,CAEhF,GADA,QAAQ,SAAW,EACf,EAAM,SAAW,OAAQ,CAC3B,QAAQ,OAAO,MACb,KAAK,UAAU,CACb,KAAM,QACN,UAAW,KAAK,IAAI,EACpB,UAAW,GAAa,GACxB,MAAO,CAAE,KAAM,UAAW,SAAQ,CACpC,CAAC,EAAI;AAAA,CACP,EACA,OAEF,EAAG,MAAM,CAAO,EAGlB,SAAS,CAAI,CAAC,EAAwB,CACpC,MAAU,MAAM,CAAO", | ||
| "debugId": "E832BE3E7BA4E07E64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@aws-sdk+credential-provider-process@3.972.41/node_modules/@aws-sdk/credential-provider-process/dist-es/fromProcess.js", "../../node_modules/.bun/@aws-sdk+credential-provider-process@3.972.41/node_modules/@aws-sdk/credential-provider-process/dist-es/resolveProcessCredentials.js", "../../node_modules/.bun/@aws-sdk+credential-provider-process@3.972.41/node_modules/@aws-sdk/credential-provider-process/dist-es/getValidatedProcessCredentials.js"], | ||
| "sourcesContent": [ | ||
| "import { getProfileName, parseKnownFiles } from \"@smithy/core/config\";\nimport { resolveProcessCredentials } from \"./resolveProcessCredentials\";\nexport const fromProcess = (init = {}) => async ({ callerClientConfig } = {}) => {\n init.logger?.debug(\"@aws-sdk/credential-provider-process - fromProcess\");\n const profiles = await parseKnownFiles(init);\n return resolveProcessCredentials(getProfileName({\n profile: init.profile ?? callerClientConfig?.profile,\n }), profiles, init.logger);\n};\n", | ||
| "import { CredentialsProviderError, externalDataInterceptor } from \"@smithy/core/config\";\nimport { exec } from \"node:child_process\";\nimport { promisify } from \"node:util\";\nimport { getValidatedProcessCredentials } from \"./getValidatedProcessCredentials\";\nexport const resolveProcessCredentials = async (profileName, profiles, logger) => {\n const profile = profiles[profileName];\n if (profiles[profileName]) {\n const credentialProcess = profile[\"credential_process\"];\n if (credentialProcess !== undefined) {\n const execPromise = promisify(externalDataInterceptor?.getTokenRecord?.().exec ?? exec);\n try {\n const { stdout } = await execPromise(credentialProcess);\n let data;\n try {\n data = JSON.parse(stdout.trim());\n }\n catch {\n throw Error(`Profile ${profileName} credential_process returned invalid JSON.`);\n }\n return getValidatedProcessCredentials(profileName, data, profiles);\n }\n catch (error) {\n throw new CredentialsProviderError(error.message, { logger });\n }\n }\n else {\n throw new CredentialsProviderError(`Profile ${profileName} did not contain credential_process.`, { logger });\n }\n }\n else {\n throw new CredentialsProviderError(`Profile ${profileName} could not be found in shared credentials file.`, {\n logger,\n });\n }\n};\n", | ||
| "import { setCredentialFeature } from \"@aws-sdk/core/client\";\nexport const getValidatedProcessCredentials = (profileName, data, profiles) => {\n if (data.Version !== 1) {\n throw Error(`Profile ${profileName} credential_process did not return Version 1.`);\n }\n if (data.AccessKeyId === undefined || data.SecretAccessKey === undefined) {\n throw Error(`Profile ${profileName} credential_process returned invalid credentials.`);\n }\n if (data.Expiration) {\n const currentTime = new Date();\n const expireTime = new Date(data.Expiration);\n if (expireTime < currentTime) {\n throw Error(`Profile ${profileName} credential_process returned expired credentials.`);\n }\n }\n let accountId = data.AccountId;\n if (!accountId && profiles?.[profileName]?.aws_account_id) {\n accountId = profiles[profileName].aws_account_id;\n }\n const credentials = {\n accessKeyId: data.AccessKeyId,\n secretAccessKey: data.SecretAccessKey,\n ...(data.SessionToken && { sessionToken: data.SessionToken }),\n ...(data.Expiration && { expiration: new Date(data.Expiration) }),\n ...(data.CredentialScope && { credentialScope: data.CredentialScope }),\n ...(accountId && { accountId }),\n };\n setCredentialFeature(credentials, \"CREDENTIALS_PROCESS\", \"w\");\n return credentials;\n};\n" | ||
| ], | ||
| "mappings": ";kJAAA,oBCAA,oBACA,eAAS,sBACT,oBAAS,aCFT,eACa,EAAiC,CAAC,EAAa,EAAM,IAAa,CAC3E,GAAI,EAAK,UAAY,EACjB,MAAM,MAAM,WAAW,gDAA0D,EAErF,GAAI,EAAK,cAAgB,QAAa,EAAK,kBAAoB,OAC3D,MAAM,MAAM,WAAW,oDAA8D,EAEzF,GAAI,EAAK,WAAY,CACjB,IAAM,EAAc,IAAI,KAExB,GADmB,IAAI,KAAK,EAAK,UAAU,EAC1B,EACb,MAAM,MAAM,WAAW,oDAA8D,EAG7F,IAAI,EAAY,EAAK,UACrB,GAAI,CAAC,GAAa,IAAW,IAAc,eACvC,EAAY,EAAS,GAAa,eAEtC,IAAM,EAAc,CAChB,YAAa,EAAK,YAClB,gBAAiB,EAAK,mBAClB,EAAK,cAAgB,CAAE,aAAc,EAAK,YAAa,KACvD,EAAK,YAAc,CAAE,WAAY,IAAI,KAAK,EAAK,UAAU,CAAE,KAC3D,EAAK,iBAAmB,CAAE,gBAAiB,EAAK,eAAgB,KAChE,GAAa,CAAE,WAAU,CACjC,EAEA,OADA,uBAAqB,EAAa,sBAAuB,GAAG,EACrD,GDxBJ,IAAM,EAA4B,MAAO,EAAa,EAAU,IAAW,CAC9E,IAAM,EAAU,EAAS,GACzB,GAAI,EAAS,GAAc,CACvB,IAAM,EAAoB,EAAQ,mBAClC,GAAI,IAAsB,OAAW,CACjC,IAAM,EAAc,EAAU,2BAAyB,iBAAiB,EAAE,MAAQ,CAAI,EACtF,GAAI,CACA,IAAQ,UAAW,MAAM,EAAY,CAAiB,EAClD,EACJ,GAAI,CACA,EAAO,KAAK,MAAM,EAAO,KAAK,CAAC,EAEnC,KAAM,CACF,MAAM,MAAM,WAAW,6CAAuD,EAElF,OAAO,EAA+B,EAAa,EAAM,CAAQ,EAErE,MAAO,EAAO,CACV,MAAM,IAAI,2BAAyB,EAAM,QAAS,CAAE,QAAO,CAAC,GAIhE,WAAM,IAAI,2BAAyB,WAAW,wCAAmD,CAAE,QAAO,CAAC,EAI/G,WAAM,IAAI,2BAAyB,WAAW,mDAA8D,CACxG,QACJ,CAAC,GD9BF,IAAM,EAAc,CAAC,EAAO,CAAC,IAAM,OAAS,sBAAuB,CAAC,IAAM,CAC7E,EAAK,QAAQ,MAAM,oDAAoD,EACvE,IAAM,EAAW,MAAM,kBAAgB,CAAI,EAC3C,OAAO,EAA0B,iBAAe,CAC5C,QAAS,EAAK,SAAW,GAAoB,OACjD,CAAC,EAAG,EAAU,EAAK,MAAM", | ||
| "debugId": "FB15BD7F25D125A364756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/flag/flag.ts", "../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"], | ||
| "sourcesContent": [ | ||
| "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\"]\nconst fff = process.env[\"OPENCODE_DISABLE_FFF\"]\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 OPENCODE_DISABLE_FFF: fff === undefined ? process.platform === \"win32\" : truthy(\"OPENCODE_DISABLE_FFF\"),\n OPENCODE_DISABLE_FILEWATCHER: truthy(\"OPENCODE_DISABLE_FILEWATCHER\"),\n\n // Experimental\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\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 CODEMODE_ENABLED() {\n return process.env[\"CODEMODE_ENABLED\"] === undefined || truthy(\"CODEMODE_ENABLED\")\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", | ||
| "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\"\nimport { makeGlobalNode } from \"./effect/app-node\"\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\nconst layer = Layer.effect(\n Service,\n Effect.sync(() => Service.of(make())),\n)\n\nexport const node = makeGlobalNode({ service: Service, layer: layer, deps: [] })\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", | ||
| "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", | ||
| "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", | ||
| "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" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "151921018C19398964756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260602182828_add_project_directories.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260602182828_add_project_directories\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`\n CREATE TABLE \\`project_directory\\` (\n \\`project_id\\` text NOT NULL,\n \\`directory\\` text NOT NULL,\n \\`type\\` text NOT NULL,\n \\`time_created\\` integer NOT NULL,\n CONSTRAINT \\`project_directory_pk\\` PRIMARY KEY(\\`project_id\\`, \\`directory\\`),\n CONSTRAINT \\`fk_project_directory_project_id_project_id_fk\\` FOREIGN KEY (\\`project_id\\`) REFERENCES \\`project\\`(\\`id\\`) ON DELETE CASCADE\n );\n `)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,yCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,+bASb,EACF,EAEL", | ||
| "debugId": "BFECB0AB6683C77B64756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "44B097DAD2F3905E64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["src/commands/handlers/service/get.ts"], | ||
| "sourcesContent": [ | ||
| "import { EOL } from \"os\"\nimport { Effect, Option } from \"effect\"\nimport { Commands } from \"../../commands\"\nimport { Runtime } from \"../../../framework/runtime\"\nimport { ServiceConfig } from \"../../../services/service-config\"\n\nexport default Runtime.handler(\n Commands.commands.service.commands.get,\n Effect.fn(\"cli.service.get\")(function* (input) {\n process.stdout.write((yield* ServiceConfig.get(Option.getOrUndefined(input.key))) + EOL)\n }),\n)\n" | ||
| ], | ||
| "mappings": ";8nBAAA,mBAAS,gBAMT,SAAe,SAAQ,aACrB,OAAS,cAAS,aAAQ,cAAS,SACnC,OAAO,QAAG,sBAAiB,OAAE,cAAU,MAAC,EAAO,CAC7C,QAAQ,OAAO,OAAO,MAAO,EAAc,IAAI,EAAO,eAAe,EAAM,GAAG,CAAC,GAAK,CAAG,EACxF,CACH", | ||
| "debugId": "CB821E8ADFBB637B64756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["src/commands/handlers/service/status.ts"], | ||
| "sourcesContent": [ | ||
| "import { EOL } from \"os\"\nimport { Effect } from \"effect\"\nimport { Service } from \"@opencode-ai/client/effect\"\nimport { Commands } from \"../../commands\"\nimport { Runtime } from \"../../../framework/runtime\"\nimport { ServiceConfig } from \"../../../services/service-config\"\n\nexport default Runtime.handler(\n Commands.commands.service.commands.status,\n Effect.fn(\"cli.service.status\")(function* () {\n const found = yield* Service.discover(yield* ServiceConfig.options())\n process.stdout.write((found ? found.url : \"stopped\") + EOL)\n }),\n)\n" | ||
| ], | ||
| "mappings": ";moBAAA,mBAAS,gBAOT,SAAe,SAAQ,aACrB,OAAS,cAAS,aAAQ,cAAS,YACnC,OAAO,QAAG,yBAAoB,OAAE,cAAU,OAAG,CAC3C,IAAM,EAAQ,MAAO,EAAQ,SAAS,MAAO,EAAc,QAAQ,CAAC,EACpE,QAAQ,OAAO,OAAO,EAAQ,EAAM,IAAM,WAAa,CAAG,EAC3D,CACH", | ||
| "debugId": "BD37901871B07B1864756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@aws-sdk+credential-provider-web-identity@3.972.45/node_modules/@aws-sdk/credential-provider-web-identity/dist-es/fromTokenFile.js", "../../node_modules/.bun/@aws-sdk+credential-provider-web-identity@3.972.45/node_modules/@aws-sdk/credential-provider-web-identity/dist-es/fromWebToken.js"], | ||
| "sourcesContent": [ | ||
| "import { setCredentialFeature } from \"@aws-sdk/core/client\";\nimport { CredentialsProviderError, externalDataInterceptor } from \"@smithy/core/config\";\nimport { readFileSync } from \"node:fs\";\nimport { fromWebToken } from \"./fromWebToken\";\nconst ENV_TOKEN_FILE = \"AWS_WEB_IDENTITY_TOKEN_FILE\";\nconst ENV_ROLE_ARN = \"AWS_ROLE_ARN\";\nconst ENV_ROLE_SESSION_NAME = \"AWS_ROLE_SESSION_NAME\";\nexport const fromTokenFile = (init = {}) => async (awsIdentityProperties) => {\n init.logger?.debug(\"@aws-sdk/credential-provider-web-identity - fromTokenFile\");\n const webIdentityTokenFile = init?.webIdentityTokenFile ?? process.env[ENV_TOKEN_FILE];\n const roleArn = init?.roleArn ?? process.env[ENV_ROLE_ARN];\n const roleSessionName = init?.roleSessionName ?? process.env[ENV_ROLE_SESSION_NAME];\n if (!webIdentityTokenFile || !roleArn) {\n throw new CredentialsProviderError(\"Web identity configuration not specified\", {\n logger: init.logger,\n });\n }\n const credentials = await fromWebToken({\n ...init,\n webIdentityToken: externalDataInterceptor?.getTokenRecord?.()[webIdentityTokenFile] ??\n readFileSync(webIdentityTokenFile, { encoding: \"ascii\" }),\n roleArn,\n roleSessionName,\n })(awsIdentityProperties);\n if (webIdentityTokenFile === process.env[ENV_TOKEN_FILE]) {\n setCredentialFeature(credentials, \"CREDENTIALS_ENV_VARS_STS_WEB_ID_TOKEN\", \"h\");\n }\n return credentials;\n};\n", | ||
| "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" | ||
| ], | ||
| "mappings": ";kJAAA,oBACA,gBACA,uBAAS,WCFF,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,0CAC9D,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,GDnBL,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", | ||
| "debugId": "E40E207330E73F6164756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["src/commands/handlers/mcp/list.ts"], | ||
| "sourcesContent": [ | ||
| "import { EOL } from \"node:os\"\nimport { Effect } from \"effect\"\nimport { createOpencodeClient, type McpServer } from \"@opencode-ai/sdk/v2/client\"\nimport { Commands } from \"../../commands\"\nimport { Runtime } from \"../../../framework/runtime\"\nimport { Service } from \"@opencode-ai/client/effect\"\nimport { ServiceConfig } from \"../../../services/service-config\"\n\nexport default Runtime.handler(\n Commands.commands.mcp.commands.list,\n Effect.fn(\"cli.mcp.list\")(function* () {\n const options = yield* ServiceConfig.options()\n const found = yield* Service.discover(options)\n const endpoint = found ?? (yield* Service.start(options))\n const client = createOpencodeClient({ baseUrl: endpoint.url, headers: Service.headers(endpoint) })\n const response = yield* Effect.promise(() => client.v2.mcp.list({ location: { directory: process.cwd() } }))\n const servers = (response.data?.data ?? []).toSorted((a, b) => a.name.localeCompare(b.name))\n if (servers.length === 0) {\n process.stdout.write(\"No MCP servers configured\" + EOL)\n return\n }\n const width = Math.max(...servers.map((server) => server.name.length))\n const lines = servers.map(\n (server) => `${icon(server.status)} ${server.name.padEnd(width)} ${describe(server.status)}`,\n )\n process.stdout.write(lines.join(EOL) + EOL)\n }),\n)\n\nfunction icon(status: McpServer[\"status\"]) {\n switch (status.status) {\n case \"connected\":\n return \"✓\"\n case \"needs_auth\":\n return \"⚠\"\n case \"failed\":\n case \"needs_client_registration\":\n return \"✗\"\n default:\n return \"○\"\n }\n}\n\nfunction describe(status: McpServer[\"status\"]) {\n switch (status.status) {\n case \"needs_auth\":\n return \"needs authentication\"\n case \"needs_client_registration\":\n return `needs client registration: ${status.error}`\n case \"failed\":\n return `failed: ${status.error}`\n default:\n return status.status\n }\n}\n" | ||
| ], | ||
| "mappings": ";krBAAA,mBAAS,gBAQT,SAAe,SAAQ,aACrB,OAAS,cAAS,SAAI,cAAS,UAC/B,OAAO,QAAG,mBAAc,OAAE,cAAU,OAAG,MACrC,IAAM,EAAU,MAAO,EAAc,QAAQ,EAEvC,GADQ,MAAO,EAAQ,SAAS,CAAO,KAClB,MAAO,EAAQ,MAAM,CAAO,GACjD,EAAS,EAAqB,CAAE,QAAS,EAAS,IAAK,QAAS,EAAQ,QAAQ,CAAQ,CAAE,CAAC,EAE3F,IADW,MAAO,EAAO,QAAQ,IAAM,EAAO,GAAG,IAAI,KAAK,CAAE,SAAU,CAAE,UAAW,QAAQ,IAAI,CAAE,CAAE,CAAC,CAAC,GACjF,MAAM,MAAQ,CAAC,GAAG,SAAS,CAAC,EAAG,IAAM,EAAE,KAAK,cAAc,EAAE,IAAI,CAAC,EAC3F,GAAI,EAAQ,SAAW,EAAG,CACxB,QAAQ,OAAO,MAAM,4BAA8B,CAAG,EACtD,OAEF,IAAM,EAAQ,KAAK,IAAI,GAAG,EAAQ,IAAI,CAAC,IAAW,EAAO,KAAK,MAAM,CAAC,EAC/D,EAAQ,EAAQ,IACpB,CAAC,IAAW,GAAG,EAAK,EAAO,MAAM,KAAK,EAAO,KAAK,OAAO,CAAK,MAAM,EAAS,EAAO,MAAM,GAC5F,EACA,QAAQ,OAAO,MAAM,EAAM,KAAK,CAAG,EAAI,CAAG,EAC3C,CACH,EAEA,SAAS,CAAI,CAAC,EAA6B,CACzC,OAAQ,EAAO,YACR,YACH,MAAO,aACJ,aACH,MAAO,aACJ,aACA,4BACH,MAAO,iBAEP,MAAO,UAIb,SAAS,CAAQ,CAAC,EAA6B,CAC7C,OAAQ,EAAO,YACR,aACH,MAAO,2BACJ,4BACH,MAAO,8BAA8B,EAAO,YACzC,SACH,MAAO,WAAW,EAAO,gBAEzB,OAAO,EAAO", | ||
| "debugId": "EE38791B213B936A64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260213144116_wakeful_the_professor.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260213144116_wakeful_the_professor\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`\n CREATE TABLE \\`control_account\\` (\n \\`email\\` text NOT NULL,\n \\`url\\` text NOT NULL,\n \\`access_token\\` text NOT NULL,\n \\`refresh_token\\` text NOT NULL,\n \\`token_expiry\\` integer,\n \\`active\\` integer NOT NULL,\n \\`time_created\\` integer NOT NULL,\n \\`time_updated\\` integer NOT NULL,\n CONSTRAINT \\`control_account_pk\\` PRIMARY KEY(\\`email\\`, \\`url\\`)\n );\n `)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,uCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,6bAYb,EACF,EAEL", | ||
| "debugId": "CB9F2C38C61E96F264756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["src/commands/handlers/mcp/add.ts"], | ||
| "sourcesContent": [ | ||
| "import { EOL } from \"node:os\"\nimport path from \"node:path\"\nimport { Effect, Option } from \"effect\"\nimport { applyEdits, modify } from \"jsonc-parser\"\nimport { Global } from \"@opencode-ai/core/global\"\nimport { Commands } from \"../../commands\"\nimport { Runtime } from \"../../../framework/runtime\"\n\nexport default Runtime.handler(\n Commands.commands.mcp.commands.add,\n Effect.fn(\"cli.mcp.add\")(function* (input) {\n const url = Option.getOrUndefined(input.url)\n const headers = Option.getOrUndefined(input.header)\n const environment = Option.getOrUndefined(input.env)\n // The CLI framework strands `--` operands on the root command, so read the local server command\n // straight from argv after `--`. This also lets the command carry its own flags (e.g. `npx -y`).\n const dash = process.argv.indexOf(\"--\")\n const command = dash === -1 ? [...input.command] : process.argv.slice(dash + 1)\n\n const hasCommand = command.length > 0\n if (url && hasCommand)\n return yield* Effect.fail(new Error(\"Provide either --url <url> or a command after --, not both\"))\n if (!url && !hasCommand) return yield* Effect.fail(new Error(\"Provide either --url <url> or a command after --\"))\n if (url && !URL.canParse(url)) return yield* Effect.fail(new Error(`Invalid URL: ${url}`))\n if (url && environment) return yield* Effect.fail(new Error(\"--env is only valid for local MCP servers\"))\n if (hasCommand && headers) return yield* Effect.fail(new Error(\"--header is only valid for remote MCP servers\"))\n\n const server = url\n ? { type: \"remote\" as const, url, ...(headers ? { headers } : {}) }\n : { type: \"local\" as const, command, ...(environment ? { environment } : {}) }\n\n const configPath = yield* Effect.promise(() => resolveConfigPath(input.global ? Global.Path.config : process.cwd()))\n yield* Effect.promise(() => write(configPath, input.name, server))\n process.stdout.write(`MCP server \"${input.name}\" added to ${configPath}` + EOL)\n }),\n)\n\nasync function resolveConfigPath(directory: string) {\n const candidates = [\n path.join(directory, \"opencode.json\"),\n path.join(directory, \"opencode.jsonc\"),\n path.join(directory, \".opencode\", \"opencode.json\"),\n path.join(directory, \".opencode\", \"opencode.jsonc\"),\n ]\n for (const candidate of candidates) {\n if (await Bun.file(candidate).exists()) return candidate\n }\n return candidates[0]\n}\n\nasync function write(configPath: string, name: string, server: unknown) {\n const file = Bun.file(configPath)\n const text = (await file.exists()) ? await file.text() : \"{}\"\n const edits = modify(text, [\"mcp\", \"servers\", name], server, {\n formattingOptions: { tabSize: 2, insertSpaces: true },\n })\n await Bun.write(configPath, applyEdits(text, edits))\n}\n" | ||
| ], | ||
| "mappings": ";ucAAA,mBAAS,gBACT,yBAOA,SAAe,SAAQ,aACrB,OAAS,cAAS,SAAI,cAAS,IAC/B,EAAO,GAAG,aAAa,EAAE,SAAU,CAAC,EAAO,CACzC,IAAM,EAAM,EAAO,eAAe,EAAM,GAAG,EACrC,EAAU,EAAO,eAAe,EAAM,MAAM,EAC5C,EAAc,EAAO,eAAe,EAAM,GAAG,EAG7C,EAAO,QAAQ,KAAK,QAAQ,IAAI,EAChC,EAAU,IAAS,GAAK,CAAC,GAAG,EAAM,OAAO,EAAI,QAAQ,KAAK,MAAM,EAAO,CAAC,EAExE,EAAa,EAAQ,OAAS,EACpC,GAAI,GAAO,EACT,OAAO,MAAO,EAAO,KAAS,MAAM,4DAA4D,CAAC,EACnG,GAAI,CAAC,GAAO,CAAC,EAAY,OAAO,MAAO,EAAO,KAAS,MAAM,kDAAkD,CAAC,EAChH,GAAI,GAAO,CAAC,IAAI,SAAS,CAAG,EAAG,OAAO,MAAO,EAAO,KAAS,MAAM,gBAAgB,GAAK,CAAC,EACzF,GAAI,GAAO,EAAa,OAAO,MAAO,EAAO,KAAS,MAAM,2CAA2C,CAAC,EACxG,GAAI,GAAc,EAAS,OAAO,MAAO,EAAO,KAAS,MAAM,+CAA+C,CAAC,EAE/G,IAAM,EAAS,EACX,CAAE,KAAM,SAAmB,SAAS,EAAU,CAAE,SAAQ,EAAI,CAAC,CAAG,EAChE,CAAE,KAAM,QAAkB,aAAa,EAAc,CAAE,aAAY,EAAI,CAAC,CAAG,EAEzE,EAAa,MAAO,EAAO,QAAQ,IAAM,EAAkB,EAAM,OAAS,EAAO,KAAK,OAAS,QAAQ,IAAI,CAAC,CAAC,EACnH,MAAO,EAAO,QAAQ,IAAM,EAAM,EAAY,EAAM,KAAM,CAAM,CAAC,EACjE,QAAQ,OAAO,MAAM,eAAe,EAAM,kBAAkB,IAAe,CAAG,EAC/E,CACH,EAEA,eAAe,CAAiB,CAAC,EAAmB,CAClD,IAAM,EAAa,CACjB,EAAK,KAAK,EAAW,eAAe,EACpC,EAAK,KAAK,EAAW,gBAAgB,EACrC,EAAK,KAAK,EAAW,YAAa,eAAe,EACjD,EAAK,KAAK,EAAW,YAAa,gBAAgB,CACpD,EACA,QAAW,KAAa,EACtB,GAAI,MAAM,IAAI,KAAK,CAAS,EAAE,OAAO,EAAG,OAAO,EAEjD,OAAO,EAAW,GAGpB,eAAe,CAAK,CAAC,EAAoB,EAAc,EAAiB,CACtE,IAAM,EAAO,IAAI,KAAK,CAAU,EAC1B,EAAQ,MAAM,EAAK,OAAO,EAAK,MAAM,EAAK,KAAK,EAAI,KACnD,EAAQ,EAAO,EAAM,CAAC,MAAO,UAAW,CAAI,EAAG,EAAQ,CAC3D,kBAAmB,CAAE,QAAS,EAAG,aAAc,EAAK,CACtD,CAAC,EACD,MAAM,IAAI,MAAM,EAAY,EAAW,EAAM,CAAK,CAAC", | ||
| "debugId": "8558196A3A59424564756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "E3E638146C8030F164756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260707010146_durable_session_inbox.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260707010146_durable_session_inbox\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`PRAGMA foreign_keys=OFF;`)\n yield* tx.run(`\n CREATE TABLE \\`__new_session_input\\` (\n \\`id\\` text PRIMARY KEY,\n \\`session_id\\` text NOT NULL,\n \\`type\\` text NOT NULL,\n \\`prompt\\` text,\n \\`delivery\\` text,\n \\`admitted_seq\\` integer 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 `INSERT INTO \\`__new_session_input\\`(\\`id\\`, \\`session_id\\`, \\`type\\`, \\`prompt\\`, \\`delivery\\`, \\`admitted_seq\\`, \\`promoted_seq\\`, \\`time_created\\`) SELECT \\`id\\`, \\`session_id\\`, 'prompt', \\`prompt\\`, \\`delivery\\`, \\`admitted_seq\\`, \\`promoted_seq\\`, \\`time_created\\` FROM \\`session_input\\`;`,\n )\n yield* tx.run(`DROP TABLE \\`session_input\\`;`)\n yield* tx.run(`ALTER TABLE \\`__new_session_input\\` RENAME TO \\`session_input\\`;`)\n yield* tx.run(`PRAGMA foreign_keys=ON;`)\n yield* tx.run(`DROP INDEX IF EXISTS \\`session_input_session_pending_delivery_seq_idx\\`;`)\n yield* tx.run(\n `CREATE INDEX \\`session_input_session_pending_type_delivery_seq_idx\\` ON \\`session_input\\` (\\`session_id\\`,\\`promoted_seq\\`,\\`type\\`,\\`delivery\\`,\\`admitted_seq\\`);`,\n )\n yield* tx.run(\n `CREATE UNIQUE INDEX \\`session_input_session_pending_compaction_idx\\` ON \\`session_input\\` (\\`session_id\\`) WHERE \"session_input\".\"type\" = 'compaction' and \"session_input\".\"promoted_seq\" is null;`,\n )\n yield* tx.run(\n `CREATE UNIQUE INDEX \\`session_input_session_admitted_seq_idx\\` ON \\`session_input\\` (\\`session_id\\`,\\`admitted_seq\\`);`,\n )\n yield* tx.run(\n `CREATE UNIQUE INDEX \\`session_input_session_promoted_seq_idx\\` ON \\`session_input\\` (\\`session_id\\`,\\`promoted_seq\\`);`,\n )\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,uCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,0BAA0B,EACxC,MAAO,EAAG,IAAI,yeAYb,EACD,MAAO,EAAG,IACR,qQACF,EACA,MAAO,EAAG,IAAI,6BAA+B,EAC7C,MAAO,EAAG,IAAI,8DAAkE,EAChF,MAAO,EAAG,IAAI,yBAAyB,EACvC,MAAO,EAAG,IAAI,wEAA0E,EACxF,MAAO,EAAG,IACR,uJACF,EACA,MAAO,EAAG,IACR,gMACF,EACA,MAAO,EAAG,IACR,gHACF,EACA,MAAO,EAAG,IACR,gHACF,EACD,EAEL", | ||
| "debugId": "4464F18430A80B8664756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["../simulation/src/manifest.ts", "../simulation/src/protocol/index.ts"], | ||
| "sourcesContent": [ | ||
| "import { existsSync, readFileSync } from \"node:fs\"\nimport { homedir } from \"node:os\"\nimport { isAbsolute, join } from \"node:path\"\n\nexport interface Manifest {\n readonly endpoints: {\n readonly ui: string\n readonly backend: string\n }\n readonly recording?: {\n readonly timeline: string\n }\n}\n\nexport const defaults: Manifest = {\n endpoints: {\n ui: \"ws://127.0.0.1:40900\",\n backend: \"ws://127.0.0.1:40950\",\n },\n}\n\nexport function resolve() {\n const name = process.env.OPENCODE_DRIVE\n if (!name) throw new Error(\"OPENCODE_DRIVE must contain a drive instance name\")\n if (name === \"1\") return defaults\n if (!/^[a-zA-Z0-9][a-zA-Z0-9._-]{0,63}$/.test(name)) throw new Error(`Invalid drive instance name: ${name}`)\n\n const directory =\n process.env.DRIVE_REGISTRY_DIR ??\n join(process.env.XDG_STATE_HOME ?? join(homedir(), \".local\", \"state\"), \"opencode-drive\", \"instances\")\n const file = join(directory, `${name}.json`)\n if (!existsSync(file)) throw new Error(`Drive manifest not found: ${file}`)\n\n const manifest: unknown = JSON.parse(readFileSync(file, \"utf8\"))\n if (!isManifest(manifest)) throw new Error(`Invalid drive manifest: ${file}`)\n validateEndpoint(manifest.endpoints.ui, \"ui\")\n validateEndpoint(manifest.endpoints.backend, \"backend\")\n if (manifest.recording && !isAbsolute(manifest.recording.timeline)) {\n throw new Error(`Invalid drive recording timeline path: ${manifest.recording.timeline}`)\n }\n return manifest\n}\n\nfunction isManifest(value: unknown): value is Manifest {\n if (typeof value !== \"object\" || value === null || !(\"endpoints\" in value)) return false\n if (typeof value.endpoints !== \"object\" || value.endpoints === null) return false\n return \"ui\" in value.endpoints && \"backend\" in value.endpoints\n}\n\nfunction validateEndpoint(value: string, name: string) {\n const endpoint = new URL(value)\n const port = Number(endpoint.port)\n if (endpoint.protocol !== \"ws:\" || endpoint.hostname !== \"127.0.0.1\" || !Number.isInteger(port) || port < 1) {\n throw new Error(`Invalid drive ${name} endpoint: ${value}`)\n }\n}\n\nexport * as DriveManifest from \"./manifest\"\n", | ||
| "import { Effect, Schema } from \"effect\"\n\nconst JsonRpcID = Schema.Union([Schema.String, Schema.Number, Schema.Null])\ntype Json = Schema.Schema.Type<typeof Schema.Json>\n\nexport namespace JsonRpc {\n export const RequestFields = {\n jsonrpc: Schema.Literal(\"2.0\"),\n id: Schema.optional(JsonRpcID),\n }\n export const Request = Schema.Struct({\n ...RequestFields,\n method: Schema.String,\n params: Schema.optional(Schema.Json),\n })\n export interface Request extends Schema.Schema.Type<typeof Request> {}\n\n export const ErrorObject = Schema.Struct({\n code: Schema.Number,\n message: Schema.String,\n data: Schema.optional(Schema.Json),\n })\n\n export const Response = Schema.Struct({\n jsonrpc: Schema.Literal(\"2.0\"),\n id: JsonRpcID,\n result: Schema.optional(Schema.Json),\n error: Schema.optional(ErrorObject),\n })\n export interface Response extends Schema.Schema.Type<typeof Response> {}\n\n export const decodeRequest = Schema.decodeUnknownSync(Request)\n\n export function success(id: Request[\"id\"], result: unknown): Response | undefined {\n if (id === undefined) return undefined\n return { jsonrpc: \"2.0\", id, result: result as Json }\n }\n\n export function failure(id: Request[\"id\"], error: unknown): Response {\n return {\n jsonrpc: \"2.0\",\n id: id ?? null,\n error: {\n code: -32000,\n message: error instanceof Error ? error.message : String(error),\n },\n }\n }\n}\n\nexport namespace Frontend {\n export const KeyModifiers = Schema.Struct({\n ctrl: Schema.optional(Schema.Boolean),\n shift: Schema.optional(Schema.Boolean),\n meta: Schema.optional(Schema.Boolean),\n super: Schema.optional(Schema.Boolean),\n hyper: Schema.optional(Schema.Boolean),\n })\n export interface KeyModifiers extends Schema.Schema.Type<typeof KeyModifiers> {}\n\n export const Action = Schema.Union([\n Schema.Struct({ type: Schema.Literal(\"ui.type\"), text: Schema.String }),\n Schema.Struct({ type: Schema.Literal(\"ui.press\"), key: Schema.String, modifiers: Schema.optional(KeyModifiers) }),\n Schema.Struct({ type: Schema.Literal(\"ui.enter\") }),\n Schema.Struct({ type: Schema.Literal(\"ui.arrow\"), direction: Schema.Literals([\"up\", \"down\", \"left\", \"right\"]) }),\n Schema.Struct({ type: Schema.Literal(\"ui.focus\"), target: Schema.Number }),\n Schema.Struct({ type: Schema.Literal(\"ui.click\"), target: Schema.Number, x: Schema.Number, y: Schema.Number }),\n ])\n export type Action = Schema.Schema.Type<typeof Action>\n\n export const Element = Schema.Struct({\n id: Schema.String,\n num: Schema.Number,\n x: Schema.Number,\n y: Schema.Number,\n width: Schema.Number,\n height: Schema.Number,\n focusable: Schema.Boolean,\n focused: Schema.Boolean,\n clickable: Schema.Boolean,\n editor: Schema.Boolean,\n })\n export interface Element extends Schema.Schema.Type<typeof Element> {}\n\n export const State = Schema.Struct({\n focused: Schema.Struct({\n renderable: Schema.optional(Schema.Number),\n editor: Schema.Boolean,\n }),\n elements: Schema.Array(Element),\n })\n export interface State extends Schema.Schema.Type<typeof State> {}\n\n export const Screenshot = Schema.String\n export type Screenshot = Schema.Schema.Type<typeof Screenshot>\n\n export const RecordingFinish = Schema.String\n export type RecordingFinish = Schema.Schema.Type<typeof RecordingFinish>\n\n export const Matches = Schema.Boolean\n export type Matches = Schema.Schema.Type<typeof Matches>\n\n export const ScreenshotParams = Schema.Struct({ name: Schema.optional(Schema.String) })\n export interface ScreenshotParams extends Schema.Schema.Type<typeof ScreenshotParams> {}\n\n export const TypeParams = Schema.Struct({ text: Schema.String })\n export interface TypeParams extends Schema.Schema.Type<typeof TypeParams> {}\n\n export const MatchesParams = Schema.Struct({ text: Schema.String })\n export interface MatchesParams extends Schema.Schema.Type<typeof MatchesParams> {}\n\n export const PressParams = Schema.Struct({ key: Schema.String, modifiers: Schema.optional(KeyModifiers) })\n export interface PressParams extends Schema.Schema.Type<typeof PressParams> {}\n\n export const ArrowParams = Schema.Struct({ direction: Schema.Literals([\"up\", \"down\", \"left\", \"right\"]) })\n export interface ArrowParams extends Schema.Schema.Type<typeof ArrowParams> {}\n\n export const FocusParams = Schema.Struct({ target: Schema.Number })\n export interface FocusParams extends Schema.Schema.Type<typeof FocusParams> {}\n\n export const ClickParams = Schema.Struct({ target: Schema.Number, x: Schema.Number, y: Schema.Number })\n export interface ClickParams extends Schema.Schema.Type<typeof ClickParams> {}\n\n export const Request = Schema.Union([\n Schema.Struct({ ...JsonRpc.RequestFields, method: Schema.Literal(\"ui.type\"), params: TypeParams }),\n Schema.Struct({ ...JsonRpc.RequestFields, method: Schema.Literal(\"ui.press\"), params: PressParams }),\n Schema.Struct({ ...JsonRpc.RequestFields, method: Schema.Literal(\"ui.arrow\"), params: ArrowParams }),\n Schema.Struct({ ...JsonRpc.RequestFields, method: Schema.Literal(\"ui.focus\"), params: FocusParams }),\n Schema.Struct({ ...JsonRpc.RequestFields, method: Schema.Literal(\"ui.click\"), params: ClickParams }),\n Schema.Struct({ ...JsonRpc.RequestFields, method: Schema.Literal(\"ui.matches\"), params: MatchesParams }),\n Schema.Struct({\n ...JsonRpc.RequestFields,\n method: Schema.Literal(\"ui.screenshot\"),\n params: Schema.optional(ScreenshotParams),\n }),\n Schema.Struct({\n ...JsonRpc.RequestFields,\n method: Schema.Literals([\"ui.enter\", \"ui.state\", \"ui.recording.finish\"]),\n }),\n ])\n export type Request = Schema.Schema.Type<typeof Request>\n export const decodeRequest = Schema.decodeUnknownSync(Request)\n}\n\nexport namespace Backend {\n export const Item = Schema.Union([\n Schema.Struct({ type: Schema.Literal(\"textDelta\"), text: Schema.String }),\n Schema.Struct({ type: Schema.Literal(\"reasoningDelta\"), text: Schema.String }),\n Schema.Struct({\n type: Schema.Literal(\"toolCall\"),\n index: Schema.Number,\n id: Schema.String,\n name: Schema.String,\n input: Schema.Json,\n }),\n Schema.Struct({ type: Schema.Literal(\"raw\"), chunk: Schema.Json }),\n ])\n export type Item = Schema.Schema.Type<typeof Item>\n\n export const FinishReason = Schema.Literals([\"stop\", \"tool-calls\", \"length\", \"content-filter\"])\n export type FinishReason = Schema.Schema.Type<typeof FinishReason>\n\n export const ChunkParams = Schema.Struct({ id: Schema.String, items: Schema.Array(Item) })\n export interface ChunkParams extends Schema.Schema.Type<typeof ChunkParams> {}\n\n export const FinishParams = Schema.Struct({\n id: Schema.String,\n reason: FinishReason.pipe(Schema.withDecodingDefault(Effect.succeed(\"stop\" as const))),\n })\n export interface FinishParams extends Schema.Schema.Type<typeof FinishParams> {}\n\n export const DisconnectParams = Schema.Struct({ id: Schema.String })\n export interface DisconnectParams extends Schema.Schema.Type<typeof DisconnectParams> {}\n\n export const Request = Schema.Union([\n Schema.Struct({ ...JsonRpc.RequestFields, method: Schema.Literal(\"llm.chunk\"), params: ChunkParams }),\n Schema.Struct({ ...JsonRpc.RequestFields, method: Schema.Literal(\"llm.finish\"), params: FinishParams }),\n Schema.Struct({ ...JsonRpc.RequestFields, method: Schema.Literal(\"llm.disconnect\"), params: DisconnectParams }),\n Schema.Struct({\n ...JsonRpc.RequestFields,\n method: Schema.Literals([\"llm.attach\", \"llm.pending\"]),\n }),\n ])\n export type Request = Schema.Schema.Type<typeof Request>\n export const decodeRequest = Schema.decodeUnknownSync(Request)\n\n export const OpenedExchange = Schema.Struct({ id: Schema.String, url: Schema.String, body: Schema.Json })\n export interface OpenedExchange extends Schema.Schema.Type<typeof OpenedExchange> {}\n\n export const NetworkLogEntry = Schema.Struct({\n time: Schema.Number,\n method: Schema.String,\n url: Schema.String,\n matched: Schema.Boolean,\n })\n export interface NetworkLogEntry extends Schema.Schema.Type<typeof NetworkLogEntry> {}\n}\n\nexport * as SimulationProtocol from \"./index\"\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "3E0C8D57338DAA9A64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/isexe@2.0.0/node_modules/isexe/windows.js", "../../node_modules/.bun/isexe@2.0.0/node_modules/isexe/mode.js", "../../node_modules/.bun/isexe@2.0.0/node_modules/isexe/index.js", "../../node_modules/.bun/which@2.0.2/node_modules/which/which.js", "../../node_modules/.bun/path-key@3.1.1/node_modules/path-key/index.js", "../../node_modules/.bun/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/resolveCommand.js", "../../node_modules/.bun/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/escape.js", "../../node_modules/.bun/shebang-regex@3.0.0/node_modules/shebang-regex/index.js", "../../node_modules/.bun/shebang-command@2.0.0/node_modules/shebang-command/index.js", "../../node_modules/.bun/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/readShebang.js", "../../node_modules/.bun/cross-spawn@7.0.6/node_modules/cross-spawn/lib/parse.js", "../../node_modules/.bun/cross-spawn@7.0.6/node_modules/cross-spawn/lib/enoent.js", "../../node_modules/.bun/cross-spawn@7.0.6/node_modules/cross-spawn/index.js"], | ||
| "sourcesContent": [ | ||
| "module.exports = isexe\nisexe.sync = sync\n\nvar fs = require('fs')\n\nfunction checkPathExt (path, options) {\n var pathext = options.pathExt !== undefined ?\n options.pathExt : process.env.PATHEXT\n\n if (!pathext) {\n return true\n }\n\n pathext = pathext.split(';')\n if (pathext.indexOf('') !== -1) {\n return true\n }\n for (var i = 0; i < pathext.length; i++) {\n var p = pathext[i].toLowerCase()\n if (p && path.substr(-p.length).toLowerCase() === p) {\n return true\n }\n }\n return false\n}\n\nfunction checkStat (stat, path, options) {\n if (!stat.isSymbolicLink() && !stat.isFile()) {\n return false\n }\n return checkPathExt(path, options)\n}\n\nfunction isexe (path, options, cb) {\n fs.stat(path, function (er, stat) {\n cb(er, er ? false : checkStat(stat, path, options))\n })\n}\n\nfunction sync (path, options) {\n return checkStat(fs.statSync(path), path, options)\n}\n", | ||
| "module.exports = isexe\nisexe.sync = sync\n\nvar fs = require('fs')\n\nfunction isexe (path, options, cb) {\n fs.stat(path, function (er, stat) {\n cb(er, er ? false : checkStat(stat, options))\n })\n}\n\nfunction sync (path, options) {\n return checkStat(fs.statSync(path), options)\n}\n\nfunction checkStat (stat, options) {\n return stat.isFile() && checkMode(stat, options)\n}\n\nfunction checkMode (stat, options) {\n var mod = stat.mode\n var uid = stat.uid\n var gid = stat.gid\n\n var myUid = options.uid !== undefined ?\n options.uid : process.getuid && process.getuid()\n var myGid = options.gid !== undefined ?\n options.gid : process.getgid && process.getgid()\n\n var u = parseInt('100', 8)\n var g = parseInt('010', 8)\n var o = parseInt('001', 8)\n var ug = u | g\n\n var ret = (mod & o) ||\n (mod & g) && gid === myGid ||\n (mod & u) && uid === myUid ||\n (mod & ug) && myUid === 0\n\n return ret\n}\n", | ||
| "var fs = require('fs')\nvar core\nif (process.platform === 'win32' || global.TESTING_WINDOWS) {\n core = require('./windows.js')\n} else {\n core = require('./mode.js')\n}\n\nmodule.exports = isexe\nisexe.sync = sync\n\nfunction isexe (path, options, cb) {\n if (typeof options === 'function') {\n cb = options\n options = {}\n }\n\n if (!cb) {\n if (typeof Promise !== 'function') {\n throw new TypeError('callback not provided')\n }\n\n return new Promise(function (resolve, reject) {\n isexe(path, options || {}, function (er, is) {\n if (er) {\n reject(er)\n } else {\n resolve(is)\n }\n })\n })\n }\n\n core(path, options || {}, function (er, is) {\n // ignore EACCES because that just means we aren't allowed to run it\n if (er) {\n if (er.code === 'EACCES' || options && options.ignoreErrors) {\n er = null\n is = false\n }\n }\n cb(er, is)\n })\n}\n\nfunction sync (path, options) {\n // my kingdom for a filtered catch\n try {\n return core.sync(path, options || {})\n } catch (er) {\n if (options && options.ignoreErrors || er.code === 'EACCES') {\n return false\n } else {\n throw er\n }\n }\n}\n", | ||
| "const isWindows = process.platform === 'win32' ||\n process.env.OSTYPE === 'cygwin' ||\n process.env.OSTYPE === 'msys'\n\nconst path = require('path')\nconst COLON = isWindows ? ';' : ':'\nconst isexe = require('isexe')\n\nconst getNotFoundError = (cmd) =>\n Object.assign(new Error(`not found: ${cmd}`), { code: 'ENOENT' })\n\nconst getPathInfo = (cmd, opt) => {\n const colon = opt.colon || COLON\n\n // If it has a slash, then we don't bother searching the pathenv.\n // just check the file itself, and that's it.\n const pathEnv = cmd.match(/\\//) || isWindows && cmd.match(/\\\\/) ? ['']\n : (\n [\n // windows always checks the cwd first\n ...(isWindows ? [process.cwd()] : []),\n ...(opt.path || process.env.PATH ||\n /* istanbul ignore next: very unusual */ '').split(colon),\n ]\n )\n const pathExtExe = isWindows\n ? opt.pathExt || process.env.PATHEXT || '.EXE;.CMD;.BAT;.COM'\n : ''\n const pathExt = isWindows ? pathExtExe.split(colon) : ['']\n\n if (isWindows) {\n if (cmd.indexOf('.') !== -1 && pathExt[0] !== '')\n pathExt.unshift('')\n }\n\n return {\n pathEnv,\n pathExt,\n pathExtExe,\n }\n}\n\nconst which = (cmd, opt, cb) => {\n if (typeof opt === 'function') {\n cb = opt\n opt = {}\n }\n if (!opt)\n opt = {}\n\n const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt)\n const found = []\n\n const step = i => new Promise((resolve, reject) => {\n if (i === pathEnv.length)\n return opt.all && found.length ? resolve(found)\n : reject(getNotFoundError(cmd))\n\n const ppRaw = pathEnv[i]\n const pathPart = /^\".*\"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw\n\n const pCmd = path.join(pathPart, cmd)\n const p = !pathPart && /^\\.[\\\\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd\n : pCmd\n\n resolve(subStep(p, i, 0))\n })\n\n const subStep = (p, i, ii) => new Promise((resolve, reject) => {\n if (ii === pathExt.length)\n return resolve(step(i + 1))\n const ext = pathExt[ii]\n isexe(p + ext, { pathExt: pathExtExe }, (er, is) => {\n if (!er && is) {\n if (opt.all)\n found.push(p + ext)\n else\n return resolve(p + ext)\n }\n return resolve(subStep(p, i, ii + 1))\n })\n })\n\n return cb ? step(0).then(res => cb(null, res), cb) : step(0)\n}\n\nconst whichSync = (cmd, opt) => {\n opt = opt || {}\n\n const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt)\n const found = []\n\n for (let i = 0; i < pathEnv.length; i ++) {\n const ppRaw = pathEnv[i]\n const pathPart = /^\".*\"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw\n\n const pCmd = path.join(pathPart, cmd)\n const p = !pathPart && /^\\.[\\\\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd\n : pCmd\n\n for (let j = 0; j < pathExt.length; j ++) {\n const cur = p + pathExt[j]\n try {\n const is = isexe.sync(cur, { pathExt: pathExtExe })\n if (is) {\n if (opt.all)\n found.push(cur)\n else\n return cur\n }\n } catch (ex) {}\n }\n }\n\n if (opt.all && found.length)\n return found\n\n if (opt.nothrow)\n return null\n\n throw getNotFoundError(cmd)\n}\n\nmodule.exports = which\nwhich.sync = whichSync\n", | ||
| "'use strict';\n\nconst pathKey = (options = {}) => {\n\tconst environment = options.env || process.env;\n\tconst platform = options.platform || process.platform;\n\n\tif (platform !== 'win32') {\n\t\treturn 'PATH';\n\t}\n\n\treturn Object.keys(environment).reverse().find(key => key.toUpperCase() === 'PATH') || 'Path';\n};\n\nmodule.exports = pathKey;\n// TODO: Remove this for the next major release\nmodule.exports.default = pathKey;\n", | ||
| "'use strict';\n\nconst path = require('path');\nconst which = require('which');\nconst getPathKey = require('path-key');\n\nfunction resolveCommandAttempt(parsed, withoutPathExt) {\n const env = parsed.options.env || process.env;\n const cwd = process.cwd();\n const hasCustomCwd = parsed.options.cwd != null;\n // Worker threads do not have process.chdir()\n const shouldSwitchCwd = hasCustomCwd && process.chdir !== undefined && !process.chdir.disabled;\n\n // If a custom `cwd` was specified, we need to change the process cwd\n // because `which` will do stat calls but does not support a custom cwd\n if (shouldSwitchCwd) {\n try {\n process.chdir(parsed.options.cwd);\n } catch (err) {\n /* Empty */\n }\n }\n\n let resolved;\n\n try {\n resolved = which.sync(parsed.command, {\n path: env[getPathKey({ env })],\n pathExt: withoutPathExt ? path.delimiter : undefined,\n });\n } catch (e) {\n /* Empty */\n } finally {\n if (shouldSwitchCwd) {\n process.chdir(cwd);\n }\n }\n\n // If we successfully resolved, ensure that an absolute path is returned\n // Note that when a custom `cwd` was used, we need to resolve to an absolute path based on it\n if (resolved) {\n resolved = path.resolve(hasCustomCwd ? parsed.options.cwd : '', resolved);\n }\n\n return resolved;\n}\n\nfunction resolveCommand(parsed) {\n return resolveCommandAttempt(parsed) || resolveCommandAttempt(parsed, true);\n}\n\nmodule.exports = resolveCommand;\n", | ||
| "'use strict';\n\n// See http://www.robvanderwoude.com/escapechars.php\nconst metaCharsRegExp = /([()\\][%!^\"`<>&|;, *?])/g;\n\nfunction escapeCommand(arg) {\n // Escape meta chars\n arg = arg.replace(metaCharsRegExp, '^$1');\n\n return arg;\n}\n\nfunction escapeArgument(arg, doubleEscapeMetaChars) {\n // Convert to string\n arg = `${arg}`;\n\n // Algorithm below is based on https://qntm.org/cmd\n // It's slightly altered to disable JS backtracking to avoid hanging on specially crafted input\n // Please see https://github.com/moxystudio/node-cross-spawn/pull/160 for more information\n\n // Sequence of backslashes followed by a double quote:\n // double up all the backslashes and escape the double quote\n arg = arg.replace(/(?=(\\\\+?)?)\\1\"/g, '$1$1\\\\\"');\n\n // Sequence of backslashes followed by the end of the string\n // (which will become a double quote later):\n // double up all the backslashes\n arg = arg.replace(/(?=(\\\\+?)?)\\1$/, '$1$1');\n\n // All other backslashes occur literally\n\n // Quote the whole thing:\n arg = `\"${arg}\"`;\n\n // Escape meta chars\n arg = arg.replace(metaCharsRegExp, '^$1');\n\n // Double escape meta chars if necessary\n if (doubleEscapeMetaChars) {\n arg = arg.replace(metaCharsRegExp, '^$1');\n }\n\n return arg;\n}\n\nmodule.exports.command = escapeCommand;\nmodule.exports.argument = escapeArgument;\n", | ||
| "'use strict';\nmodule.exports = /^#!(.*)/;\n", | ||
| "'use strict';\nconst shebangRegex = require('shebang-regex');\n\nmodule.exports = (string = '') => {\n\tconst match = string.match(shebangRegex);\n\n\tif (!match) {\n\t\treturn null;\n\t}\n\n\tconst [path, argument] = match[0].replace(/#! ?/, '').split(' ');\n\tconst binary = path.split('/').pop();\n\n\tif (binary === 'env') {\n\t\treturn argument;\n\t}\n\n\treturn argument ? `${binary} ${argument}` : binary;\n};\n", | ||
| "'use strict';\n\nconst fs = require('fs');\nconst shebangCommand = require('shebang-command');\n\nfunction readShebang(command) {\n // Read the first 150 bytes from the file\n const size = 150;\n const buffer = Buffer.alloc(size);\n\n let fd;\n\n try {\n fd = fs.openSync(command, 'r');\n fs.readSync(fd, buffer, 0, size, 0);\n fs.closeSync(fd);\n } catch (e) { /* Empty */ }\n\n // Attempt to extract shebang (null is returned if not a shebang)\n return shebangCommand(buffer.toString());\n}\n\nmodule.exports = readShebang;\n", | ||
| "'use strict';\n\nconst path = require('path');\nconst resolveCommand = require('./util/resolveCommand');\nconst escape = require('./util/escape');\nconst readShebang = require('./util/readShebang');\n\nconst isWin = process.platform === 'win32';\nconst isExecutableRegExp = /\\.(?:com|exe)$/i;\nconst isCmdShimRegExp = /node_modules[\\\\/].bin[\\\\/][^\\\\/]+\\.cmd$/i;\n\nfunction detectShebang(parsed) {\n parsed.file = resolveCommand(parsed);\n\n const shebang = parsed.file && readShebang(parsed.file);\n\n if (shebang) {\n parsed.args.unshift(parsed.file);\n parsed.command = shebang;\n\n return resolveCommand(parsed);\n }\n\n return parsed.file;\n}\n\nfunction parseNonShell(parsed) {\n if (!isWin) {\n return parsed;\n }\n\n // Detect & add support for shebangs\n const commandFile = detectShebang(parsed);\n\n // We don't need a shell if the command filename is an executable\n const needsShell = !isExecutableRegExp.test(commandFile);\n\n // If a shell is required, use cmd.exe and take care of escaping everything correctly\n // Note that `forceShell` is an hidden option used only in tests\n if (parsed.options.forceShell || needsShell) {\n // Need to double escape meta chars if the command is a cmd-shim located in `node_modules/.bin/`\n // The cmd-shim simply calls execute the package bin file with NodeJS, proxying any argument\n // Because the escape of metachars with ^ gets interpreted when the cmd.exe is first called,\n // we need to double escape them\n const needsDoubleEscapeMetaChars = isCmdShimRegExp.test(commandFile);\n\n // Normalize posix paths into OS compatible paths (e.g.: foo/bar -> foo\\bar)\n // This is necessary otherwise it will always fail with ENOENT in those cases\n parsed.command = path.normalize(parsed.command);\n\n // Escape command & arguments\n parsed.command = escape.command(parsed.command);\n parsed.args = parsed.args.map((arg) => escape.argument(arg, needsDoubleEscapeMetaChars));\n\n const shellCommand = [parsed.command].concat(parsed.args).join(' ');\n\n parsed.args = ['/d', '/s', '/c', `\"${shellCommand}\"`];\n parsed.command = process.env.comspec || 'cmd.exe';\n parsed.options.windowsVerbatimArguments = true; // Tell node's spawn that the arguments are already escaped\n }\n\n return parsed;\n}\n\nfunction parse(command, args, options) {\n // Normalize arguments, similar to nodejs\n if (args && !Array.isArray(args)) {\n options = args;\n args = null;\n }\n\n args = args ? args.slice(0) : []; // Clone array to avoid changing the original\n options = Object.assign({}, options); // Clone object to avoid changing the original\n\n // Build our parsed object\n const parsed = {\n command,\n args,\n options,\n file: undefined,\n original: {\n command,\n args,\n },\n };\n\n // Delegate further parsing to shell or non-shell\n return options.shell ? parsed : parseNonShell(parsed);\n}\n\nmodule.exports = parse;\n", | ||
| "'use strict';\n\nconst isWin = process.platform === 'win32';\n\nfunction notFoundError(original, syscall) {\n return Object.assign(new Error(`${syscall} ${original.command} ENOENT`), {\n code: 'ENOENT',\n errno: 'ENOENT',\n syscall: `${syscall} ${original.command}`,\n path: original.command,\n spawnargs: original.args,\n });\n}\n\nfunction hookChildProcess(cp, parsed) {\n if (!isWin) {\n return;\n }\n\n const originalEmit = cp.emit;\n\n cp.emit = function (name, arg1) {\n // If emitting \"exit\" event and exit code is 1, we need to check if\n // the command exists and emit an \"error\" instead\n // See https://github.com/IndigoUnited/node-cross-spawn/issues/16\n if (name === 'exit') {\n const err = verifyENOENT(arg1, parsed);\n\n if (err) {\n return originalEmit.call(cp, 'error', err);\n }\n }\n\n return originalEmit.apply(cp, arguments); // eslint-disable-line prefer-rest-params\n };\n}\n\nfunction verifyENOENT(status, parsed) {\n if (isWin && status === 1 && !parsed.file) {\n return notFoundError(parsed.original, 'spawn');\n }\n\n return null;\n}\n\nfunction verifyENOENTSync(status, parsed) {\n if (isWin && status === 1 && !parsed.file) {\n return notFoundError(parsed.original, 'spawnSync');\n }\n\n return null;\n}\n\nmodule.exports = {\n hookChildProcess,\n verifyENOENT,\n verifyENOENTSync,\n notFoundError,\n};\n", | ||
| "'use strict';\n\nconst cp = require('child_process');\nconst parse = require('./lib/parse');\nconst enoent = require('./lib/enoent');\n\nfunction spawn(command, args, options) {\n // Parse the arguments\n const parsed = parse(command, args, options);\n\n // Spawn the child process\n const spawned = cp.spawn(parsed.command, parsed.args, parsed.options);\n\n // Hook into child process \"exit\" event to emit an error if the command\n // does not exists, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16\n enoent.hookChildProcess(spawned, parsed);\n\n return spawned;\n}\n\nfunction spawnSync(command, args, options) {\n // Parse the arguments\n const parsed = parse(command, args, options);\n\n // Spawn the child process\n const result = cp.spawnSync(parsed.command, parsed.args, parsed.options);\n\n // Analyze if the command does not exist, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16\n result.error = result.error || enoent.verifyENOENTSync(result.status, parsed);\n\n return result;\n}\n\nmodule.exports = spawn;\nmodule.exports.spawn = spawn;\nmodule.exports.sync = spawnSync;\n\nmodule.exports._parse = parse;\nmodule.exports._enoent = enoent;\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "C00AE3BB4DEA49B064756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@aws-sdk+credential-provider-env@3.972.41/node_modules/@aws-sdk/credential-provider-env/dist-es/fromEnv.js"], | ||
| "sourcesContent": [ | ||
| "import { setCredentialFeature } from \"@aws-sdk/core/client\";\nimport { CredentialsProviderError } from \"@smithy/core/config\";\nexport const ENV_KEY = \"AWS_ACCESS_KEY_ID\";\nexport const ENV_SECRET = \"AWS_SECRET_ACCESS_KEY\";\nexport const ENV_SESSION = \"AWS_SESSION_TOKEN\";\nexport const ENV_EXPIRATION = \"AWS_CREDENTIAL_EXPIRATION\";\nexport const ENV_CREDENTIAL_SCOPE = \"AWS_CREDENTIAL_SCOPE\";\nexport const ENV_ACCOUNT_ID = \"AWS_ACCOUNT_ID\";\nexport const fromEnv = (init) => async () => {\n init?.logger?.debug(\"@aws-sdk/credential-provider-env - fromEnv\");\n const accessKeyId = process.env[ENV_KEY];\n const secretAccessKey = process.env[ENV_SECRET];\n const sessionToken = process.env[ENV_SESSION];\n const expiry = process.env[ENV_EXPIRATION];\n const credentialScope = process.env[ENV_CREDENTIAL_SCOPE];\n const accountId = process.env[ENV_ACCOUNT_ID];\n if (accessKeyId && secretAccessKey) {\n const credentials = {\n accessKeyId,\n secretAccessKey,\n ...(sessionToken && { sessionToken }),\n ...(expiry && { expiration: new Date(expiry) }),\n ...(credentialScope && { credentialScope }),\n ...(accountId && { accountId }),\n };\n setCredentialFeature(credentials, \"CREDENTIALS_ENV_VARS\", \"g\");\n return credentials;\n }\n throw new CredentialsProviderError(\"Unable to find environment variable credentials.\", { logger: init?.logger });\n};\n" | ||
| ], | ||
| "mappings": ";kJAAA,oBACA,gBACa,EAAU,oBACV,EAAa,wBACb,EAAc,oBACd,EAAiB,4BACjB,EAAuB,uBACvB,EAAiB,iBACjB,EAAU,CAAC,IAAS,SAAY,CACzC,GAAM,QAAQ,MAAM,4CAA4C,EAChE,IAAM,EAAc,QAAQ,IAAI,GAC1B,EAAkB,QAAQ,IAAI,GAC9B,EAAe,QAAQ,IAAI,GAC3B,EAAS,QAAQ,IAAI,GACrB,EAAkB,QAAQ,IAAI,GAC9B,EAAY,QAAQ,IAAI,GAC9B,GAAI,GAAe,EAAiB,CAChC,IAAM,EAAc,CAChB,cACA,qBACI,GAAgB,CAAE,cAAa,KAC/B,GAAU,CAAE,WAAY,IAAI,KAAK,CAAM,CAAE,KACzC,GAAmB,CAAE,iBAAgB,KACrC,GAAa,CAAE,WAAU,CACjC,EAEA,OADA,uBAAqB,EAAa,uBAAwB,GAAG,EACtD,EAEX,MAAM,IAAI,2BAAyB,mDAAoD,CAAE,OAAQ,GAAM,MAAO,CAAC", | ||
| "debugId": "0FDC5F46DC65D28F64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "508B8A2EF684408E64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "7A6EDE55C1288FE164756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260611192811_lush_chimera.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260611192811_lush_chimera\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`DROP INDEX IF EXISTS \\`credential_connector_active_idx\\`;`)\n yield* tx.run(`DROP TABLE \\`credential\\`;`)\n yield* tx.run(`\n CREATE TABLE \\`credential\\` (\n \\`id\\` text PRIMARY KEY,\n \\`integration_id\\` text,\n \\`label\\` text NOT NULL,\n \\`value\\` text NOT NULL,\n \\`connector_id\\` text,\n \\`method_id\\` text,\n \\`active\\` integer,\n \\`time_created\\` integer NOT NULL,\n \\`time_updated\\` integer NOT NULL\n );\n `)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,8BACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,yDAA2D,EACzE,MAAO,EAAG,IAAI,0BAA4B,EAC1C,MAAO,EAAG,IAAI,oXAYb,EACF,EAEL", | ||
| "debugId": "322E2651630BED8C64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260703090000_reset_v2_event_rename_sweep.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260703090000_reset_v2_event_rename_sweep\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`DELETE FROM \\`session_input\\`;`)\n yield* tx.run(`DELETE FROM \\`session_message\\`;`)\n yield* tx.run(`DELETE FROM \\`event\\`;`)\n yield* tx.run(`DELETE FROM \\`event_sequence\\`;`)\n // `created` column is added by the generated 20260703181610_event_created_column\n // migration, which runs after this wipe (NOT NULL without default is safe on the\n // emptied table).\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,6CACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,8BAAgC,EAC9C,MAAO,EAAG,IAAI,gCAAkC,EAChD,MAAO,EAAG,IAAI,sBAAwB,EACtC,MAAO,EAAG,IAAI,+BAAiC,EAIhD,EAEL", | ||
| "debugId": "57E244D43778418764756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "5C1357249B3C04C864756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "C12335D2112B8E6564756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260501142318_next_venus.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260501142318_next_venus\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`ALTER TABLE \\`session\\` ADD \\`agent\\` text;`)\n yield* tx.run(`ALTER TABLE \\`session\\` ADD \\`model\\` text;`)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,4BACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,yCAA6C,EAC3D,MAAO,EAAG,IAAI,yCAA6C,EAC5D,EAEL", | ||
| "debugId": "3C2DD3DAE61D9A6A64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["src/commands/handlers/mcp/logout.ts"], | ||
| "sourcesContent": [ | ||
| "import { EOL } from \"node:os\"\nimport { Effect } from \"effect\"\nimport { createOpencodeClient } from \"@opencode-ai/sdk/v2/client\"\nimport { Commands } from \"../../commands\"\nimport { Runtime } from \"../../../framework/runtime\"\nimport { Service } from \"@opencode-ai/client/effect\"\nimport { ServiceConfig } from \"../../../services/service-config\"\nimport { resolveIntegration } from \"./resolve\"\n\nconst location = { directory: process.cwd() }\n\nexport default Runtime.handler(\n Commands.commands.mcp.commands.logout,\n Effect.fn(\"cli.mcp.logout\")(function* (input) {\n const options = yield* ServiceConfig.options()\n const found = yield* Service.discover(options)\n const endpoint = found ?? (yield* Service.start(options))\n const client = createOpencodeClient({ baseUrl: endpoint.url, headers: Service.headers(endpoint) })\n\n const integration = yield* resolveIntegration(client, input.name, location)\n if (!integration) {\n process.stdout.write(`No stored credentials for ${input.name}` + EOL)\n return\n }\n\n const credentials = integration.connections.filter((connection) => connection.type === \"credential\")\n if (credentials.length === 0) {\n process.stdout.write(`No stored credentials for ${input.name}` + EOL)\n return\n }\n\n yield* Effect.forEach(\n credentials,\n (connection) => Effect.promise(() => client.v2.credential.remove({ credentialID: connection.id, location })),\n { discard: true },\n )\n process.stdout.write(`Removed OAuth credentials for ${input.name}` + EOL)\n }),\n)\n" | ||
| ], | ||
| "mappings": ";guBAAA,mBAAS,gBAST,SAAM,OAAW,MAAE,eAAW,aAAQ,SAAI,MAAE,OAE7B,SAAQ,aACrB,OAAS,cAAS,SAAI,cAAS,YAC/B,OAAO,GAAG,gBAAgB,EAAE,SAAU,CAAC,EAAO,CAC5C,IAAM,EAAU,MAAO,EAAc,QAAQ,EAEvC,GADQ,MAAO,EAAQ,SAAS,CAAO,KAClB,MAAO,EAAQ,MAAM,CAAO,GACjD,EAAS,EAAqB,CAAE,QAAS,EAAS,IAAK,QAAS,EAAQ,QAAQ,CAAQ,CAAE,CAAC,EAE3F,EAAc,MAAO,EAAmB,EAAQ,EAAM,KAAM,CAAQ,EAC1E,GAAI,CAAC,EAAa,CAChB,QAAQ,OAAO,MAAM,6BAA6B,EAAM,OAAS,CAAG,EACpE,OAGF,IAAM,EAAc,EAAY,YAAY,OAAO,CAAC,IAAe,EAAW,OAAS,YAAY,EACnG,GAAI,EAAY,SAAW,EAAG,CAC5B,QAAQ,OAAO,MAAM,6BAA6B,EAAM,OAAS,CAAG,EACpE,OAGF,MAAO,EAAO,QACZ,EACA,CAAC,IAAe,EAAO,QAAQ,IAAM,EAAO,GAAG,WAAW,OAAO,CAAE,aAAc,EAAW,GAAI,UAAS,CAAC,CAAC,EAC3G,CAAE,QAAS,EAAK,CAClB,EACA,QAAQ,OAAO,MAAM,iCAAiC,EAAM,OAAS,CAAG,EACzE,CACH", | ||
| "debugId": "2BE3EBBE8AD7372964756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260705180000_rename_instructions.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260705180000_rename_instructions\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`ALTER TABLE \\`session_context_entry\\` RENAME TO \\`instruction_entry\\``)\n yield* tx.run(`ALTER TABLE \\`session_context_epoch\\` RENAME TO \\`instruction_checkpoint\\``)\n yield* tx.run(`\n UPDATE \\`event\\`\n SET \\`type\\` = 'session.instructions.updated.1'\n WHERE \\`type\\` = 'session.context.updated.1'\n `)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,qCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,mEAAuE,EACrF,MAAO,EAAG,IAAI,wEAA4E,EAC1F,MAAO,EAAG,IAAI,6IAIb,EACF,EAEL", | ||
| "debugId": "0533392BD77EFB0164756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@aws-sdk+credential-providers@3.1057.0/node_modules/@aws-sdk/credential-providers/dist-es/createCredentialChain.js", "../../node_modules/.bun/@aws-sdk+credential-provider-cognito-identity@3.972.38/node_modules/@aws-sdk/credential-provider-cognito-identity/dist-es/fromCognitoIdentity.js", "../../node_modules/.bun/@aws-sdk+credential-provider-cognito-identity@3.972.38/node_modules/@aws-sdk/credential-provider-cognito-identity/dist-es/resolveLogins.js", "../../node_modules/.bun/@aws-sdk+credential-provider-cognito-identity@3.972.38/node_modules/@aws-sdk/credential-provider-cognito-identity/dist-es/fromCognitoIdentityPool.js", "../../node_modules/.bun/@aws-sdk+credential-provider-cognito-identity@3.972.38/node_modules/@aws-sdk/credential-provider-cognito-identity/dist-es/IndexedDbStorage.js", "../../node_modules/.bun/@aws-sdk+credential-provider-cognito-identity@3.972.38/node_modules/@aws-sdk/credential-provider-cognito-identity/dist-es/InMemoryStorage.js", "../../node_modules/.bun/@aws-sdk+credential-provider-cognito-identity@3.972.38/node_modules/@aws-sdk/credential-provider-cognito-identity/dist-es/localStorage.js", "../../node_modules/.bun/@aws-sdk+credential-providers@3.1057.0/node_modules/@aws-sdk/credential-providers/dist-es/fromCognitoIdentity.js", "../../node_modules/.bun/@aws-sdk+credential-providers@3.1057.0/node_modules/@aws-sdk/credential-providers/dist-es/fromCognitoIdentityPool.js", "../../node_modules/.bun/@aws-sdk+credential-providers@3.1057.0/node_modules/@aws-sdk/credential-providers/dist-es/fromContainerMetadata.js", "../../node_modules/.bun/@aws-sdk+credential-providers@3.1057.0/node_modules/@aws-sdk/credential-providers/dist-es/fromEnv.js", "../../node_modules/.bun/@aws-sdk+credential-providers@3.1057.0/node_modules/@aws-sdk/credential-providers/dist-es/fromIni.js", "../../node_modules/.bun/@aws-sdk+credential-providers@3.1057.0/node_modules/@aws-sdk/credential-providers/dist-es/fromInstanceMetadata.js", "../../node_modules/.bun/@aws-sdk+credential-providers@3.1057.0/node_modules/@aws-sdk/credential-providers/dist-es/fromLoginCredentials.js", "../../node_modules/.bun/@aws-sdk+credential-provider-node@3.972.47/node_modules/@aws-sdk/credential-provider-node/dist-es/defaultProvider.js", "../../node_modules/.bun/@aws-sdk+credential-provider-node@3.972.47/node_modules/@aws-sdk/credential-provider-node/dist-es/remoteProvider.js", "../../node_modules/.bun/@aws-sdk+credential-provider-node@3.972.47/node_modules/@aws-sdk/credential-provider-node/dist-es/runtime/memoize-chain.js", "../../node_modules/.bun/@aws-sdk+credential-providers@3.1057.0/node_modules/@aws-sdk/credential-providers/dist-es/fromNodeProviderChain.js", "../../node_modules/.bun/@aws-sdk+credential-providers@3.1057.0/node_modules/@aws-sdk/credential-providers/dist-es/fromProcess.js", "../../node_modules/.bun/@aws-sdk+credential-providers@3.1057.0/node_modules/@aws-sdk/credential-providers/dist-es/fromSSO.js", "../../node_modules/.bun/@aws-sdk+credential-providers@3.1057.0/node_modules/@aws-sdk/credential-providers/dist-es/fromTemporaryCredentials.js", "../../node_modules/.bun/@aws-sdk+credential-providers@3.1057.0/node_modules/@aws-sdk/credential-providers/dist-es/fromTemporaryCredentials.base.js", "../../node_modules/.bun/@aws-sdk+credential-providers@3.1057.0/node_modules/@aws-sdk/credential-providers/dist-es/fromTokenFile.js", "../../node_modules/.bun/@aws-sdk+credential-providers@3.1057.0/node_modules/@aws-sdk/credential-providers/dist-es/fromWebToken.js"], | ||
| "sourcesContent": [ | ||
| "import { ProviderError } from \"@smithy/core/config\";\nexport const createCredentialChain = (...credentialProviders) => {\n let expireAfter = -1;\n const baseFunction = async (awsIdentityProperties) => {\n const credentials = await propertyProviderChain(...credentialProviders)(awsIdentityProperties);\n if (!credentials.expiration && expireAfter !== -1) {\n credentials.expiration = new Date(Date.now() + expireAfter);\n }\n return credentials;\n };\n const withOptions = Object.assign(baseFunction, {\n expireAfter(milliseconds) {\n if (milliseconds < 5 * 60_000) {\n throw new Error(\"@aws-sdk/credential-providers - createCredentialChain(...).expireAfter(ms) may not be called with a duration lower than five minutes.\");\n }\n expireAfter = milliseconds;\n return withOptions;\n },\n });\n return withOptions;\n};\nexport const propertyProviderChain = (...providers) => async (awsIdentityProperties) => {\n if (providers.length === 0) {\n throw new ProviderError(\"No providers in chain\", { tryNextLink: false });\n }\n let lastProviderError;\n for (const provider of providers) {\n try {\n return await provider(awsIdentityProperties);\n }\n catch (err) {\n lastProviderError = err;\n if (err?.tryNextLink) {\n continue;\n }\n throw err;\n }\n }\n throw lastProviderError;\n};\n", | ||
| "import { CredentialsProviderError } from \"@smithy/core/config\";\nimport { resolveLogins } from \"./resolveLogins\";\nexport function fromCognitoIdentity(parameters) {\n return async (awsIdentityProperties) => {\n parameters.logger?.debug(\"@aws-sdk/credential-provider-cognito-identity - fromCognitoIdentity\");\n const { GetCredentialsForIdentityCommand, CognitoIdentityClient } = await import(\"./loadCognitoIdentity.js\");\n const fromConfigs = (property) => parameters.clientConfig?.[property] ??\n parameters.parentClientConfig?.[property] ??\n awsIdentityProperties?.callerClientConfig?.[property];\n const { Credentials: { AccessKeyId = throwOnMissingAccessKeyId(parameters.logger), Expiration, SecretKey = throwOnMissingSecretKey(parameters.logger), SessionToken, } = throwOnMissingCredentials(parameters.logger), } = await (parameters.client ??\n new CognitoIdentityClient(Object.assign({}, parameters.clientConfig ?? {}, {\n region: fromConfigs(\"region\"),\n profile: fromConfigs(\"profile\"),\n userAgentAppId: fromConfigs(\"userAgentAppId\"),\n }))).send(new GetCredentialsForIdentityCommand({\n CustomRoleArn: parameters.customRoleArn,\n IdentityId: parameters.identityId,\n Logins: parameters.logins ? await resolveLogins(parameters.logins) : undefined,\n }));\n return {\n identityId: parameters.identityId,\n accessKeyId: AccessKeyId,\n secretAccessKey: SecretKey,\n sessionToken: SessionToken,\n expiration: Expiration,\n };\n };\n}\nfunction throwOnMissingAccessKeyId(logger) {\n throw new CredentialsProviderError(\"Response from Amazon Cognito contained no access key ID\", { logger });\n}\nfunction throwOnMissingCredentials(logger) {\n throw new CredentialsProviderError(\"Response from Amazon Cognito contained no credentials\", { logger });\n}\nfunction throwOnMissingSecretKey(logger) {\n throw new CredentialsProviderError(\"Response from Amazon Cognito contained no secret key\", { logger });\n}\n", | ||
| "export function resolveLogins(logins) {\n return Promise.all(Object.keys(logins).reduce((arr, name) => {\n const tokenOrProvider = logins[name];\n if (typeof tokenOrProvider === \"string\") {\n arr.push([name, tokenOrProvider]);\n }\n else {\n arr.push(tokenOrProvider().then((token) => [name, token]));\n }\n return arr;\n }, [])).then((resolvedPairs) => resolvedPairs.reduce((logins, [key, value]) => {\n logins[key] = value;\n return logins;\n }, {}));\n}\n", | ||
| "import { CredentialsProviderError } from \"@smithy/core/config\";\nimport { fromCognitoIdentity } from \"./fromCognitoIdentity\";\nimport { localStorage } from \"./localStorage\";\nimport { resolveLogins } from \"./resolveLogins\";\nexport function fromCognitoIdentityPool({ accountId, cache = localStorage(), client, clientConfig, customRoleArn, identityPoolId, logins, userIdentifier = !logins || Object.keys(logins).length === 0 ? \"ANONYMOUS\" : undefined, logger, parentClientConfig, }) {\n logger?.debug(\"@aws-sdk/credential-provider-cognito-identity - fromCognitoIdentity\");\n const cacheKey = userIdentifier\n ? `aws:cognito-identity-credentials:${identityPoolId}:${userIdentifier}`\n : undefined;\n let provider = async (awsIdentityProperties) => {\n const { GetIdCommand, CognitoIdentityClient } = await import(\"./loadCognitoIdentity.js\");\n const fromConfigs = (property) => clientConfig?.[property] ??\n parentClientConfig?.[property] ??\n awsIdentityProperties?.callerClientConfig?.[property];\n const _client = client ??\n new CognitoIdentityClient(Object.assign({}, clientConfig ?? {}, {\n region: fromConfigs(\"region\"),\n profile: fromConfigs(\"profile\"),\n userAgentAppId: fromConfigs(\"userAgentAppId\"),\n }));\n let identityId = (cacheKey && (await cache.getItem(cacheKey)));\n if (!identityId) {\n const { IdentityId = throwOnMissingId(logger) } = await _client.send(new GetIdCommand({\n AccountId: accountId,\n IdentityPoolId: identityPoolId,\n Logins: logins ? await resolveLogins(logins) : undefined,\n }));\n identityId = IdentityId;\n if (cacheKey) {\n Promise.resolve(cache.setItem(cacheKey, identityId)).catch(() => { });\n }\n }\n provider = fromCognitoIdentity({\n client: _client,\n customRoleArn,\n logins,\n identityId,\n });\n return provider(awsIdentityProperties);\n };\n return (awsIdentityProperties) => provider(awsIdentityProperties).catch(async (err) => {\n if (cacheKey) {\n Promise.resolve(cache.removeItem(cacheKey)).catch(() => { });\n }\n throw err;\n });\n}\nfunction throwOnMissingId(logger) {\n throw new CredentialsProviderError(\"Response from Amazon Cognito contained no identity ID\", { logger });\n}\n", | ||
| "const STORE_NAME = \"IdentityIds\";\nexport class IndexedDbStorage {\n dbName;\n constructor(dbName = \"aws:cognito-identity-ids\") {\n this.dbName = dbName;\n }\n getItem(key) {\n return this.withObjectStore(\"readonly\", (store) => {\n const req = store.get(key);\n return new Promise((resolve) => {\n req.onerror = () => resolve(null);\n req.onsuccess = () => resolve(req.result ? req.result.value : null);\n });\n }).catch(() => null);\n }\n removeItem(key) {\n return this.withObjectStore(\"readwrite\", (store) => {\n const req = store.delete(key);\n return new Promise((resolve, reject) => {\n req.onerror = () => reject(req.error);\n req.onsuccess = () => resolve();\n });\n });\n }\n setItem(id, value) {\n return this.withObjectStore(\"readwrite\", (store) => {\n const req = store.put({ id, value });\n return new Promise((resolve, reject) => {\n req.onerror = () => reject(req.error);\n req.onsuccess = () => resolve();\n });\n });\n }\n getDb() {\n const openDbRequest = self.indexedDB.open(this.dbName, 1);\n return new Promise((resolve, reject) => {\n openDbRequest.onsuccess = () => {\n resolve(openDbRequest.result);\n };\n openDbRequest.onerror = () => {\n reject(openDbRequest.error);\n };\n openDbRequest.onblocked = () => {\n reject(new Error(\"Unable to access DB\"));\n };\n openDbRequest.onupgradeneeded = () => {\n const db = openDbRequest.result;\n db.onerror = () => {\n reject(new Error(\"Failed to create object store\"));\n };\n db.createObjectStore(STORE_NAME, { keyPath: \"id\" });\n };\n });\n }\n withObjectStore(mode, action) {\n return this.getDb().then((db) => {\n const tx = db.transaction(STORE_NAME, mode);\n tx.oncomplete = () => db.close();\n return new Promise((resolve, reject) => {\n tx.onerror = () => reject(tx.error);\n resolve(action(tx.objectStore(STORE_NAME)));\n }).catch((err) => {\n db.close();\n throw err;\n });\n });\n }\n}\n", | ||
| "export class InMemoryStorage {\n store;\n constructor(store = {}) {\n this.store = store;\n }\n getItem(key) {\n if (key in this.store) {\n return this.store[key];\n }\n return null;\n }\n removeItem(key) {\n delete this.store[key];\n }\n setItem(key, value) {\n this.store[key] = value;\n }\n}\n", | ||
| "import { IndexedDbStorage } from \"./IndexedDbStorage\";\nimport { InMemoryStorage } from \"./InMemoryStorage\";\nconst inMemoryStorage = new InMemoryStorage();\nexport function localStorage() {\n if (typeof self === \"object\" && self.indexedDB) {\n return new IndexedDbStorage();\n }\n if (typeof window === \"object\" && window.localStorage) {\n return window.localStorage;\n }\n return inMemoryStorage;\n}\n", | ||
| "import { fromCognitoIdentity as _fromCognitoIdentity } from \"@aws-sdk/credential-provider-cognito-identity\";\nexport const fromCognitoIdentity = (options) => _fromCognitoIdentity({\n ...options,\n});\n", | ||
| "import { fromCognitoIdentityPool as _fromCognitoIdentityPool } from \"@aws-sdk/credential-provider-cognito-identity\";\nexport const fromCognitoIdentityPool = (options) => _fromCognitoIdentityPool({\n ...options,\n});\n", | ||
| "import { fromContainerMetadata as _fromContainerMetadata } from \"@smithy/credential-provider-imds\";\nexport const fromContainerMetadata = (init) => {\n init?.logger?.debug(\"@smithy/credential-provider-imds\", \"fromContainerMetadata\");\n return _fromContainerMetadata(init);\n};\n", | ||
| "import { fromEnv as _fromEnv } from \"@aws-sdk/credential-provider-env\";\nexport const fromEnv = (init) => _fromEnv(init);\n", | ||
| "import { fromIni as _fromIni } from \"@aws-sdk/credential-provider-ini\";\nexport const fromIni = (init = {}) => _fromIni({\n ...init,\n});\n", | ||
| "import { setCredentialFeature } from \"@aws-sdk/core/client\";\nimport { fromInstanceMetadata as _fromInstanceMetadata } from \"@smithy/credential-provider-imds\";\nexport const fromInstanceMetadata = (init) => {\n init?.logger?.debug(\"@smithy/credential-provider-imds\", \"fromInstanceMetadata\");\n return async () => _fromInstanceMetadata(init)().then((creds) => setCredentialFeature(creds, \"CREDENTIALS_IMDS\", \"0\"));\n};\n", | ||
| "import { fromLoginCredentials as _fromLoginCredentials, } from \"@aws-sdk/credential-provider-login\";\nexport const fromLoginCredentials = (init) => _fromLoginCredentials({\n ...init,\n});\n", | ||
| "import { ENV_KEY, ENV_SECRET, fromEnv } from \"@aws-sdk/credential-provider-env\";\nimport { CredentialsProviderError, ENV_PROFILE } from \"@smithy/core/config\";\nimport { remoteProvider } from \"./remoteProvider\";\nimport { memoizeChain } from \"./runtime/memoize-chain\";\nlet multipleCredentialSourceWarningEmitted = false;\nexport const defaultProvider = (init = {}) => memoizeChain([\n async () => {\n const profile = init.profile ?? process.env[ENV_PROFILE];\n if (profile) {\n const envStaticCredentialsAreSet = process.env[ENV_KEY] && process.env[ENV_SECRET];\n if (envStaticCredentialsAreSet) {\n if (!multipleCredentialSourceWarningEmitted) {\n const warnFn = init.logger?.warn && init.logger?.constructor?.name !== \"NoOpLogger\"\n ? init.logger.warn.bind(init.logger)\n : console.warn;\n warnFn(`@aws-sdk/credential-provider-node - defaultProvider::fromEnv WARNING:\n Multiple credential sources detected: \n Both AWS_PROFILE and the pair AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY static credentials are set.\n This SDK will proceed with the AWS_PROFILE value.\n \n However, a future version may change this behavior to prefer the ENV static credentials.\n Please ensure that your environment only sets either the AWS_PROFILE or the\n AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY pair.\n`);\n multipleCredentialSourceWarningEmitted = true;\n }\n }\n throw new CredentialsProviderError(\"AWS_PROFILE is set, skipping fromEnv provider.\", {\n logger: init.logger,\n tryNextLink: true,\n });\n }\n init.logger?.debug(\"@aws-sdk/credential-provider-node - defaultProvider::fromEnv\");\n return fromEnv(init)();\n },\n async (awsIdentityProperties) => {\n init.logger?.debug(\"@aws-sdk/credential-provider-node - defaultProvider::fromSSO\");\n const { ssoStartUrl, ssoAccountId, ssoRegion, ssoRoleName, ssoSession } = init;\n if (!ssoStartUrl && !ssoAccountId && !ssoRegion && !ssoRoleName && !ssoSession) {\n throw new CredentialsProviderError(\"Skipping SSO provider in default chain (inputs do not include SSO fields).\", { logger: init.logger });\n }\n const { fromSSO } = await import(\"@aws-sdk/credential-provider-sso\");\n return fromSSO(init)(awsIdentityProperties);\n },\n async (awsIdentityProperties) => {\n init.logger?.debug(\"@aws-sdk/credential-provider-node - defaultProvider::fromIni\");\n const { fromIni } = await import(\"@aws-sdk/credential-provider-ini\");\n return fromIni(init)(awsIdentityProperties);\n },\n async (awsIdentityProperties) => {\n init.logger?.debug(\"@aws-sdk/credential-provider-node - defaultProvider::fromProcess\");\n const { fromProcess } = await import(\"@aws-sdk/credential-provider-process\");\n return fromProcess(init)(awsIdentityProperties);\n },\n async (awsIdentityProperties) => {\n init.logger?.debug(\"@aws-sdk/credential-provider-node - defaultProvider::fromTokenFile\");\n const { fromTokenFile } = await import(\"@aws-sdk/credential-provider-web-identity\");\n return fromTokenFile(init)(awsIdentityProperties);\n },\n async () => {\n init.logger?.debug(\"@aws-sdk/credential-provider-node - defaultProvider::remoteProvider\");\n return (await remoteProvider(init))();\n },\n async () => {\n throw new CredentialsProviderError(\"Could not load credentials from any providers\", {\n tryNextLink: false,\n logger: init.logger,\n });\n },\n], credentialsTreatedAsExpired);\nexport const credentialsWillNeedRefresh = (credentials) => credentials?.expiration !== undefined;\nexport const credentialsTreatedAsExpired = (credentials) => credentials?.expiration !== undefined && credentials.expiration.getTime() - Date.now() < 300000;\n", | ||
| "import { chain, CredentialsProviderError } from \"@smithy/core/config\";\nexport const ENV_IMDS_DISABLED = \"AWS_EC2_METADATA_DISABLED\";\nexport const remoteProvider = async (init) => {\n const { ENV_CMDS_FULL_URI, ENV_CMDS_RELATIVE_URI, fromContainerMetadata, fromInstanceMetadata } = await import(\"@smithy/credential-provider-imds\");\n if (process.env[ENV_CMDS_RELATIVE_URI] || process.env[ENV_CMDS_FULL_URI]) {\n init.logger?.debug(\"@aws-sdk/credential-provider-node - remoteProvider::fromHttp/fromContainerMetadata\");\n const { fromHttp } = await import(\"@aws-sdk/credential-provider-http\");\n return chain(fromHttp(init), fromContainerMetadata(init));\n }\n if (process.env[ENV_IMDS_DISABLED] && process.env[ENV_IMDS_DISABLED] !== \"false\") {\n return async () => {\n throw new CredentialsProviderError(\"EC2 Instance Metadata Service access disabled\", { logger: init.logger });\n };\n }\n init.logger?.debug(\"@aws-sdk/credential-provider-node - remoteProvider::fromInstanceMetadata\");\n return fromInstanceMetadata(init);\n};\n", | ||
| "export function memoizeChain(providers, treatAsExpired) {\n const chain = internalCreateChain(providers);\n let activeLock;\n let passiveLock;\n let credentials;\n const provider = async (options) => {\n if (options?.forceRefresh) {\n return await chain(options);\n }\n if (credentials?.expiration) {\n if (credentials?.expiration?.getTime() < Date.now()) {\n credentials = undefined;\n }\n }\n if (activeLock) {\n await activeLock;\n }\n else if (!credentials || treatAsExpired?.(credentials)) {\n if (credentials) {\n if (!passiveLock) {\n passiveLock = chain(options)\n .then((c) => {\n credentials = c;\n })\n .finally(() => {\n passiveLock = undefined;\n });\n }\n }\n else {\n activeLock = chain(options)\n .then((c) => {\n credentials = c;\n })\n .finally(() => {\n activeLock = undefined;\n });\n return provider(options);\n }\n }\n return credentials;\n };\n return provider;\n}\nexport const internalCreateChain = (providers) => async (awsIdentityProperties) => {\n let lastProviderError;\n for (const provider of providers) {\n try {\n return await provider(awsIdentityProperties);\n }\n catch (err) {\n lastProviderError = err;\n if (err?.tryNextLink) {\n continue;\n }\n throw err;\n }\n }\n throw lastProviderError;\n};\n", | ||
| "import { defaultProvider } from \"@aws-sdk/credential-provider-node\";\nexport const fromNodeProviderChain = (init = {}) => defaultProvider({\n ...init,\n});\n", | ||
| "import { fromProcess as _fromProcess } from \"@aws-sdk/credential-provider-process\";\nexport const fromProcess = (init) => _fromProcess(init);\n", | ||
| "import { fromSSO as _fromSSO } from \"@aws-sdk/credential-provider-sso\";\nexport const fromSSO = (init = {}) => {\n return _fromSSO({ ...init });\n};\n", | ||
| "import { loadConfig, NODE_REGION_CONFIG_FILE_OPTIONS } from \"@smithy/core/config\";\nimport { fromNodeProviderChain } from \"./fromNodeProviderChain\";\nimport { fromTemporaryCredentials as fromTemporaryCredentialsBase } from \"./fromTemporaryCredentials.base\";\nexport const fromTemporaryCredentials = (options) => {\n return fromTemporaryCredentialsBase(options, fromNodeProviderChain, async ({ profile = process.env.AWS_PROFILE }) => loadConfig({\n environmentVariableSelector: (env) => env.AWS_REGION,\n configFileSelector: (profileData) => {\n return profileData.region;\n },\n default: () => undefined,\n }, { ...NODE_REGION_CONFIG_FILE_OPTIONS, profile })());\n};\n", | ||
| "import { normalizeProvider } from \"@smithy/core\";\nimport { CredentialsProviderError } from \"@smithy/core/config\";\nconst ASSUME_ROLE_DEFAULT_REGION = \"us-east-1\";\nexport const fromTemporaryCredentials = (options, credentialDefaultProvider, regionProvider) => {\n let stsClient;\n return async (awsIdentityProperties = {}) => {\n const { callerClientConfig } = awsIdentityProperties;\n const profile = options.clientConfig?.profile ?? callerClientConfig?.profile;\n const logger = options.logger ?? callerClientConfig?.logger;\n logger?.debug(\"@aws-sdk/credential-providers - fromTemporaryCredentials (STS)\");\n const params = { ...options.params, RoleSessionName: options.params.RoleSessionName ?? \"aws-sdk-js-\" + Date.now() };\n if (params?.SerialNumber) {\n if (!options.mfaCodeProvider) {\n throw new CredentialsProviderError(`Temporary credential requires multi-factor authentication, but no MFA code callback was provided.`, {\n tryNextLink: false,\n logger,\n });\n }\n params.TokenCode = await options.mfaCodeProvider(params?.SerialNumber);\n }\n const { AssumeRoleCommand, STSClient } = await import(\"./loadSts.js\");\n if (!stsClient) {\n const defaultCredentialsOrError = typeof credentialDefaultProvider === \"function\" ? credentialDefaultProvider() : undefined;\n const credentialSources = [\n options.masterCredentials,\n options.clientConfig?.credentials,\n void callerClientConfig?.credentials,\n callerClientConfig?.credentialDefaultProvider?.(),\n defaultCredentialsOrError,\n ];\n let credentialSource = \"STS client default credentials\";\n if (credentialSources[0]) {\n credentialSource = \"options.masterCredentials\";\n }\n else if (credentialSources[1]) {\n credentialSource = \"options.clientConfig.credentials\";\n }\n else if (credentialSources[2]) {\n credentialSource = \"caller client's credentials\";\n throw new Error(\"fromTemporaryCredentials recursion in callerClientConfig.credentials\");\n }\n else if (credentialSources[3]) {\n credentialSource = \"caller client's credentialDefaultProvider\";\n }\n else if (credentialSources[4]) {\n credentialSource = \"AWS SDK default credentials\";\n }\n const regionSources = [\n options.clientConfig?.region,\n callerClientConfig?.region,\n await regionProvider?.({\n profile,\n }),\n ASSUME_ROLE_DEFAULT_REGION,\n ];\n let regionSource = \"default partition's default region\";\n if (regionSources[0]) {\n regionSource = \"options.clientConfig.region\";\n }\n else if (regionSources[1]) {\n regionSource = \"caller client's region\";\n }\n else if (regionSources[2]) {\n regionSource = \"file or env region\";\n }\n const requestHandlerSources = [\n filterRequestHandler(options.clientConfig?.requestHandler),\n filterRequestHandler(callerClientConfig?.requestHandler),\n ];\n let requestHandlerSource = \"STS default requestHandler\";\n if (requestHandlerSources[0]) {\n requestHandlerSource = \"options.clientConfig.requestHandler\";\n }\n else if (requestHandlerSources[1]) {\n requestHandlerSource = \"caller client's requestHandler\";\n }\n logger?.debug?.(`@aws-sdk/credential-providers - fromTemporaryCredentials STS client init with ` +\n `${regionSource}=${await normalizeProvider(coalesce(regionSources))()}, ${credentialSource}, ${requestHandlerSource}.`);\n stsClient = new STSClient({\n userAgentAppId: callerClientConfig?.userAgentAppId,\n ...options.clientConfig,\n credentials: coalesce(credentialSources),\n logger,\n profile,\n region: coalesce(regionSources),\n requestHandler: coalesce(requestHandlerSources),\n });\n }\n if (options.clientPlugins) {\n for (const plugin of options.clientPlugins) {\n stsClient.middlewareStack.use(plugin);\n }\n }\n const { Credentials } = await stsClient.send(new AssumeRoleCommand(params));\n if (!Credentials || !Credentials.AccessKeyId || !Credentials.SecretAccessKey) {\n throw new CredentialsProviderError(`Invalid response from STS.assumeRole call with role ${params.RoleArn}`, {\n logger,\n });\n }\n return {\n accessKeyId: Credentials.AccessKeyId,\n secretAccessKey: Credentials.SecretAccessKey,\n sessionToken: Credentials.SessionToken,\n expiration: Credentials.Expiration,\n credentialScope: Credentials.CredentialScope,\n };\n };\n};\nconst filterRequestHandler = (requestHandler) => {\n return requestHandler?.metadata?.handlerProtocol === \"h2\" ? undefined : requestHandler;\n};\nconst coalesce = (args) => {\n for (const item of args) {\n if (item !== undefined) {\n return item;\n }\n }\n};\n", | ||
| "import { fromTokenFile as _fromTokenFile } from \"@aws-sdk/credential-provider-web-identity\";\nexport const fromTokenFile = (init = {}) => _fromTokenFile({\n ...init,\n});\n", | ||
| "import { fromWebToken as _fromWebToken } from \"@aws-sdk/credential-provider-web-identity\";\nexport const fromWebToken = (init) => _fromWebToken({\n ...init,\n});\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "B11B9793A52C44A664756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["src/commands/handlers/mini.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect, Option } from \"effect\"\nimport { Commands } from \"../commands\"\nimport { Runtime } from \"../../framework/runtime\"\nimport { Server } from \"../../services/server\"\n\nexport default Runtime.handler(Commands.commands.mini, (input) =>\n Effect.gen(function* () {\n const { runMini, validateMiniTerminal } = yield* Effect.promise(() => import(\"../../mini\"))\n yield* Effect.promise(async () => validateMiniTerminal())\n const serverURL = Option.getOrUndefined(input.server)\n const server = yield* Server.resolve({ server: serverURL, standalone: input.standalone })\n yield* Effect.promise(() =>\n runMini({\n server,\n continue: input.continue,\n session: Option.getOrUndefined(input.session),\n fork: input.fork,\n model: Option.getOrUndefined(input.model),\n agent: Option.getOrUndefined(input.agent),\n prompt: Option.getOrUndefined(input.prompt),\n replay: input.replay,\n replayLimit: Option.getOrUndefined(input.replayLimit),\n demo: input.demo,\n }),\n )\n }),\n)\n" | ||
| ], | ||
| "mappings": ";qkCAKA,SAAe,SAAQ,aAAQ,OAAS,cAAS,UAAM,MAAC,SACtD,OAAO,SAAI,cAAU,OAAG,MACtB,SAAQ,eAAS,6BAAyB,WAAO,OAAO,aAAQ,SAAa,wCAAa,OAC1F,WAAO,OAAO,aAAQ,cAAY,OAAqB,MAAC,OACxD,SAAM,EAAY,EAAO,eAAe,EAAM,MAAM,EAC9C,EAAS,MAAO,EAAO,QAAQ,CAAE,OAAQ,EAAW,WAAY,EAAM,UAAW,CAAC,EACxF,MAAO,EAAO,QAAQ,IACpB,EAAQ,CACN,SACA,SAAU,EAAM,SAChB,QAAS,EAAO,eAAe,EAAM,OAAO,EAC5C,KAAM,EAAM,KACZ,MAAO,EAAO,eAAe,EAAM,KAAK,EACxC,MAAO,EAAO,eAAe,EAAM,KAAK,EACxC,OAAQ,EAAO,eAAe,EAAM,MAAM,EAC1C,OAAQ,EAAM,OACd,YAAa,EAAO,eAAe,EAAM,WAAW,EACpD,KAAM,EAAM,IACd,CAAC,CACH,EACD,CACH", | ||
| "debugId": "76AC00764103835C64756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "802172186216958964756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@ai-sdk+vercel@2.0.39+d6123d32214422cb/node_modules/@ai-sdk/vercel/dist/index.mjs"], | ||
| "sourcesContent": [ | ||
| "// src/vercel-provider.ts\nimport {\n NoSuchModelError\n} from \"@ai-sdk/provider\";\nimport { OpenAICompatibleChatLanguageModel } from \"@ai-sdk/openai-compatible\";\nimport {\n loadApiKey,\n withoutTrailingSlash,\n withUserAgentSuffix\n} from \"@ai-sdk/provider-utils\";\n\n// src/version.ts\nvar VERSION = true ? \"2.0.39\" : \"0.0.0-test\";\n\n// src/vercel-provider.ts\nfunction createVercel(options = {}) {\n var _a;\n const baseURL = withoutTrailingSlash(\n (_a = options.baseURL) != null ? _a : \"https://api.v0.dev/v1\"\n );\n const getHeaders = () => withUserAgentSuffix(\n {\n Authorization: `Bearer ${loadApiKey({\n apiKey: options.apiKey,\n environmentVariableName: \"VERCEL_API_KEY\",\n description: \"Vercel\"\n })}`,\n ...options.headers\n },\n `ai-sdk/vercel/${VERSION}`\n );\n const getCommonModelConfig = (modelType) => ({\n provider: `vercel.${modelType}`,\n url: ({ path }) => `${baseURL}${path}`,\n headers: getHeaders,\n fetch: options.fetch\n });\n const createChatModel = (modelId) => {\n return new OpenAICompatibleChatLanguageModel(modelId, {\n ...getCommonModelConfig(\"chat\")\n });\n };\n const provider = (modelId) => createChatModel(modelId);\n provider.specificationVersion = \"v3\";\n provider.languageModel = createChatModel;\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 vercel = createVercel();\nexport {\n VERSION,\n createVercel,\n vercel\n};\n//# sourceMappingURL=index.mjs.map" | ||
| ], | ||
| "mappings": ";wQAYA,SAAI,OAAiB,cAGrB,cAAS,MAAY,CAAC,EAAU,CAAC,EAAG,CAClC,IAAI,EACJ,IAAM,EAAU,GACb,EAAK,EAAQ,UAAY,KAAO,EAAK,uBACxC,EACM,EAAa,IAAM,EACvB,CACE,cAAe,UAAU,EAAW,CAClC,OAAQ,EAAQ,OAChB,wBAAyB,iBACzB,YAAa,QACf,CAAC,OACE,EAAQ,OACb,EACA,iBAAiB,GACnB,EACM,EAAuB,CAAC,KAAe,CAC3C,SAAU,UAAU,IACpB,IAAK,EAAG,UAAW,GAAG,IAAU,IAChC,QAAS,EACT,MAAO,EAAQ,KACjB,GACM,EAAkB,CAAC,IAAY,CACnC,OAAO,IAAI,EAAkC,EAAS,IACjD,EAAqB,MAAM,CAChC,CAAC,GAEG,EAAW,CAAC,IAAY,EAAgB,CAAO,EAUrD,OATA,EAAS,qBAAuB,KAChC,EAAS,cAAgB,EACzB,EAAS,eAAiB,CAAC,IAAY,CACrC,MAAM,IAAI,EAAiB,CAAE,UAAS,UAAW,gBAAiB,CAAC,GAErE,EAAS,mBAAqB,EAAS,eACvC,EAAS,WAAa,CAAC,IAAY,CACjC,MAAM,IAAI,EAAiB,CAAE,UAAS,UAAW,YAAa,CAAC,GAE1D,EAET,IAAI,EAAS,EAAa", | ||
| "debugId": "C2D131888D78A76164756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@aws-sdk+nested-clients@3.997.13/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/index.js"], | ||
| "sourcesContent": [ | ||
| "'use strict';\n\nvar client$1 = require('@aws-sdk/core/client');\nvar core = require('@smithy/core');\nvar client = require('@smithy/core/client');\nvar config = require('@smithy/core/config');\nvar endpoints = require('@smithy/core/endpoints');\nvar protocols = require('@smithy/core/protocols');\nvar retry = require('@smithy/core/retry');\nvar schema = require('@smithy/core/schema');\nvar httpAuthSchemes = require('@aws-sdk/core/httpAuthSchemes');\nvar serde = require('@smithy/core/serde');\nvar nodeHttpHandler = require('@smithy/node-http-handler');\nvar protocols$1 = require('@aws-sdk/core/protocols');\n\nconst defaultSSOHttpAuthSchemeParametersProvider = async (config, context, input) => {\n return {\n operation: client.getSmithyContext(context).operation,\n region: (await client.normalizeProvider(config.region)()) ||\n (() => {\n throw new Error(\"expected `region` to be configured for `aws.auth#sigv4`\");\n })(),\n };\n};\nfunction createAwsAuthSigv4HttpAuthOption(authParameters) {\n return {\n schemeId: \"aws.auth#sigv4\",\n signingProperties: {\n name: \"awsssoportal\",\n region: authParameters.region,\n },\n propertiesExtractor: (config, context) => ({\n signingProperties: {\n config,\n context,\n },\n }),\n };\n}\nfunction createSmithyApiNoAuthHttpAuthOption(authParameters) {\n return {\n schemeId: \"smithy.api#noAuth\",\n };\n}\nconst defaultSSOHttpAuthSchemeProvider = (authParameters) => {\n const options = [];\n switch (authParameters.operation) {\n case \"GetRoleCredentials\": {\n options.push(createSmithyApiNoAuthHttpAuthOption());\n break;\n }\n default: {\n options.push(createAwsAuthSigv4HttpAuthOption(authParameters));\n }\n }\n return options;\n};\nconst resolveHttpAuthSchemeConfig = (config) => {\n const config_0 = httpAuthSchemes.resolveAwsSdkSigV4Config(config);\n return Object.assign(config_0, {\n authSchemePreference: client.normalizeProvider(config.authSchemePreference ?? []),\n });\n};\n\nconst resolveClientEndpointParameters = (options) => {\n return Object.assign(options, {\n useDualstackEndpoint: options.useDualstackEndpoint ?? false,\n useFipsEndpoint: options.useFipsEndpoint ?? false,\n defaultSigningName: \"awsssoportal\",\n });\n};\nconst commonParams = {\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n};\n\nvar version = \"3.997.12\";\nvar packageInfo = {\n\tversion: version};\n\nconst k = \"ref\";\nconst a = -1, b = true, c = \"isSet\", d = \"PartitionResult\", e = \"booleanEquals\", f = \"getAttr\", g = { [k]: \"Endpoint\" }, h = { [k]: d }, i = {}, j = [{ [k]: \"Region\" }];\nconst _data = {\n conditions: [\n [c, [g]],\n [c, j],\n [\"aws.partition\", j, d],\n [e, [{ [k]: \"UseFIPS\" }, b]],\n [e, [{ [k]: \"UseDualStack\" }, b]],\n [e, [{ fn: f, argv: [h, \"supportsDualStack\"] }, b]],\n [e, [{ fn: f, argv: [h, \"supportsFIPS\"] }, b]],\n [\"stringEquals\", [{ fn: f, argv: [h, \"name\"] }, \"aws-us-gov\"]],\n ],\n results: [\n [a],\n [a, \"Invalid Configuration: FIPS and custom endpoint are not supported\"],\n [a, \"Invalid Configuration: Dualstack and custom endpoint are not supported\"],\n [g, i],\n [\"https://portal.sso-fips.{Region}.{PartitionResult#dualStackDnsSuffix}\", i],\n [a, \"FIPS and DualStack are enabled, but this partition does not support one or both\"],\n [\"https://portal.sso.{Region}.amazonaws.com\", i],\n [\"https://portal.sso-fips.{Region}.{PartitionResult#dnsSuffix}\", i],\n [a, \"FIPS is enabled but this partition does not support FIPS\"],\n [\"https://portal.sso.{Region}.{PartitionResult#dualStackDnsSuffix}\", i],\n [a, \"DualStack is enabled but this partition does not support DualStack\"],\n [\"https://portal.sso.{Region}.{PartitionResult#dnsSuffix}\", i],\n [a, \"Invalid Configuration: Missing Region\"],\n ],\n};\nconst root = 2;\nconst r = 100_000_000;\nconst nodes = new Int32Array([\n -1,\n 1,\n -1,\n 0,\n 13,\n 3,\n 1,\n 4,\n r + 12,\n 2,\n 5,\n r + 12,\n 3,\n 8,\n 6,\n 4,\n 7,\n r + 11,\n 5,\n r + 9,\n r + 10,\n 4,\n 11,\n 9,\n 6,\n 10,\n r + 8,\n 7,\n r + 6,\n r + 7,\n 5,\n 12,\n r + 5,\n 6,\n r + 4,\n r + 5,\n 3,\n r + 1,\n 14,\n 4,\n r + 2,\n r + 3,\n]);\nconst bdd = endpoints.BinaryDecisionDiagram.from(nodes, root, _data.conditions, _data.results);\n\nconst cache = new endpoints.EndpointCache({\n size: 50,\n params: [\"Endpoint\", \"Region\", \"UseDualStack\", \"UseFIPS\"],\n});\nconst defaultEndpointResolver = (endpointParams, context = {}) => {\n return cache.get(endpointParams, () => endpoints.decideEndpoint(bdd, {\n endpointParams: endpointParams,\n logger: context.logger,\n }));\n};\nendpoints.customEndpointFunctions.aws = client$1.awsEndpointFunctions;\n\nclass SSOServiceException extends client.ServiceException {\n constructor(options) {\n super(options);\n Object.setPrototypeOf(this, SSOServiceException.prototype);\n }\n}\n\nclass InvalidRequestException extends SSOServiceException {\n name = \"InvalidRequestException\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"InvalidRequestException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, InvalidRequestException.prototype);\n }\n}\nclass ResourceNotFoundException extends SSOServiceException {\n name = \"ResourceNotFoundException\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"ResourceNotFoundException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, ResourceNotFoundException.prototype);\n }\n}\nclass TooManyRequestsException extends SSOServiceException {\n name = \"TooManyRequestsException\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"TooManyRequestsException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, TooManyRequestsException.prototype);\n }\n}\nclass UnauthorizedException extends SSOServiceException {\n name = \"UnauthorizedException\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"UnauthorizedException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, UnauthorizedException.prototype);\n }\n}\n\nconst _ATT = \"AccessTokenType\";\nconst _GRC = \"GetRoleCredentials\";\nconst _GRCR = \"GetRoleCredentialsRequest\";\nconst _GRCRe = \"GetRoleCredentialsResponse\";\nconst _IRE = \"InvalidRequestException\";\nconst _RC = \"RoleCredentials\";\nconst _RNFE = \"ResourceNotFoundException\";\nconst _SAKT = \"SecretAccessKeyType\";\nconst _STT = \"SessionTokenType\";\nconst _TMRE = \"TooManyRequestsException\";\nconst _UE = \"UnauthorizedException\";\nconst _aI = \"accountId\";\nconst _aKI = \"accessKeyId\";\nconst _aT = \"accessToken\";\nconst _ai = \"account_id\";\nconst _c = \"client\";\nconst _e = \"error\";\nconst _ex = \"expiration\";\nconst _h = \"http\";\nconst _hE = \"httpError\";\nconst _hH = \"httpHeader\";\nconst _hQ = \"httpQuery\";\nconst _m = \"message\";\nconst _rC = \"roleCredentials\";\nconst _rN = \"roleName\";\nconst _rn = \"role_name\";\nconst _s = \"smithy.ts.sdk.synthetic.com.amazonaws.sso\";\nconst _sAK = \"secretAccessKey\";\nconst _sT = \"sessionToken\";\nconst _xasbt = \"x-amz-sso_bearer_token\";\nconst n0 = \"com.amazonaws.sso\";\nconst _s_registry = schema.TypeRegistry.for(_s);\nvar SSOServiceException$ = [-3, _s, \"SSOServiceException\", 0, [], []];\n_s_registry.registerError(SSOServiceException$, SSOServiceException);\nconst n0_registry = schema.TypeRegistry.for(n0);\nvar InvalidRequestException$ = [-3, n0, _IRE, { [_e]: _c, [_hE]: 400 }, [_m], [0]];\nn0_registry.registerError(InvalidRequestException$, InvalidRequestException);\nvar ResourceNotFoundException$ = [-3, n0, _RNFE, { [_e]: _c, [_hE]: 404 }, [_m], [0]];\nn0_registry.registerError(ResourceNotFoundException$, ResourceNotFoundException);\nvar TooManyRequestsException$ = [-3, n0, _TMRE, { [_e]: _c, [_hE]: 429 }, [_m], [0]];\nn0_registry.registerError(TooManyRequestsException$, TooManyRequestsException);\nvar UnauthorizedException$ = [-3, n0, _UE, { [_e]: _c, [_hE]: 401 }, [_m], [0]];\nn0_registry.registerError(UnauthorizedException$, UnauthorizedException);\nconst errorTypeRegistries = [_s_registry, n0_registry];\nvar AccessTokenType = [0, n0, _ATT, 8, 0];\nvar SecretAccessKeyType = [0, n0, _SAKT, 8, 0];\nvar SessionTokenType = [0, n0, _STT, 8, 0];\nvar GetRoleCredentialsRequest$ = [\n 3,\n n0,\n _GRCR,\n 0,\n [_rN, _aI, _aT],\n [\n [0, { [_hQ]: _rn }],\n [0, { [_hQ]: _ai }],\n [() => AccessTokenType, { [_hH]: _xasbt }],\n ],\n 3,\n];\nvar GetRoleCredentialsResponse$ = [\n 3,\n n0,\n _GRCRe,\n 0,\n [_rC],\n [[() => RoleCredentials$, 0]],\n];\nvar RoleCredentials$ = [\n 3,\n n0,\n _RC,\n 0,\n [_aKI, _sAK, _sT, _ex],\n [0, [() => SecretAccessKeyType, 0], [() => SessionTokenType, 0], 1],\n];\nvar GetRoleCredentials$ = [\n 9,\n n0,\n _GRC,\n { [_h]: [\"GET\", \"/federation/credentials\", 200] },\n () => GetRoleCredentialsRequest$,\n () => GetRoleCredentialsResponse$,\n];\n\nconst getRuntimeConfig$1 = (config) => {\n return {\n apiVersion: \"2019-06-10\",\n base64Decoder: config?.base64Decoder ?? serde.fromBase64,\n base64Encoder: config?.base64Encoder ?? serde.toBase64,\n disableHostPrefix: config?.disableHostPrefix ?? false,\n endpointProvider: config?.endpointProvider ?? defaultEndpointResolver,\n extensions: config?.extensions ?? [],\n httpAuthSchemeProvider: config?.httpAuthSchemeProvider ?? defaultSSOHttpAuthSchemeProvider,\n httpAuthSchemes: config?.httpAuthSchemes ?? [\n {\n schemeId: \"aws.auth#sigv4\",\n identityProvider: (ipc) => ipc.getIdentityProvider(\"aws.auth#sigv4\"),\n signer: new httpAuthSchemes.AwsSdkSigV4Signer(),\n },\n {\n schemeId: \"smithy.api#noAuth\",\n identityProvider: (ipc) => ipc.getIdentityProvider(\"smithy.api#noAuth\") || (async () => ({})),\n signer: new core.NoAuthSigner(),\n },\n ],\n logger: config?.logger ?? new client.NoOpLogger(),\n protocol: config?.protocol ?? protocols$1.AwsRestJsonProtocol,\n protocolSettings: config?.protocolSettings ?? {\n defaultNamespace: \"com.amazonaws.sso\",\n errorTypeRegistries,\n version: \"2019-06-10\",\n serviceTarget: \"SWBPortalService\",\n },\n serviceId: config?.serviceId ?? \"SSO\",\n urlParser: config?.urlParser ?? protocols.parseUrl,\n utf8Decoder: config?.utf8Decoder ?? serde.fromUtf8,\n utf8Encoder: config?.utf8Encoder ?? serde.toUtf8,\n };\n};\n\nconst getRuntimeConfig = (config$1) => {\n client.emitWarningIfUnsupportedVersion(process.version);\n const defaultsMode = config.resolveDefaultsModeConfig(config$1);\n const defaultConfigProvider = () => defaultsMode().then(client.loadConfigsForDefaultMode);\n const clientSharedValues = getRuntimeConfig$1(config$1);\n client$1.emitWarningIfUnsupportedVersion(process.version);\n const loaderConfig = {\n profile: config$1?.profile,\n logger: clientSharedValues.logger,\n };\n return {\n ...clientSharedValues,\n ...config$1,\n runtime: \"node\",\n defaultsMode,\n authSchemePreference: config$1?.authSchemePreference ?? config.loadConfig(httpAuthSchemes.NODE_AUTH_SCHEME_PREFERENCE_OPTIONS, loaderConfig),\n bodyLengthChecker: config$1?.bodyLengthChecker ?? serde.calculateBodyLength,\n defaultUserAgentProvider: config$1?.defaultUserAgentProvider ??\n client$1.createDefaultUserAgentProvider({ serviceId: clientSharedValues.serviceId, clientVersion: packageInfo.version }),\n maxAttempts: config$1?.maxAttempts ?? config.loadConfig(retry.NODE_MAX_ATTEMPT_CONFIG_OPTIONS, config$1),\n region: config$1?.region ??\n config.loadConfig(config.NODE_REGION_CONFIG_OPTIONS, { ...config.NODE_REGION_CONFIG_FILE_OPTIONS, ...loaderConfig }),\n requestHandler: nodeHttpHandler.NodeHttpHandler.create(config$1?.requestHandler ?? defaultConfigProvider),\n retryMode: config$1?.retryMode ??\n config.loadConfig({\n ...retry.NODE_RETRY_MODE_CONFIG_OPTIONS,\n default: async () => (await defaultConfigProvider()).retryMode || retry.DEFAULT_RETRY_MODE,\n }, config$1),\n sha256: config$1?.sha256 ?? serde.Hash.bind(null, \"sha256\"),\n streamCollector: config$1?.streamCollector ?? nodeHttpHandler.streamCollector,\n useDualstackEndpoint: config$1?.useDualstackEndpoint ?? config.loadConfig(config.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS, loaderConfig),\n useFipsEndpoint: config$1?.useFipsEndpoint ?? config.loadConfig(config.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS, loaderConfig),\n userAgentAppId: config$1?.userAgentAppId ?? config.loadConfig(client$1.NODE_APP_ID_CONFIG_OPTIONS, loaderConfig),\n };\n};\n\nconst getHttpAuthExtensionConfiguration = (runtimeConfig) => {\n const _httpAuthSchemes = runtimeConfig.httpAuthSchemes;\n let _httpAuthSchemeProvider = runtimeConfig.httpAuthSchemeProvider;\n let _credentials = runtimeConfig.credentials;\n return {\n setHttpAuthScheme(httpAuthScheme) {\n const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId);\n if (index === -1) {\n _httpAuthSchemes.push(httpAuthScheme);\n }\n else {\n _httpAuthSchemes.splice(index, 1, httpAuthScheme);\n }\n },\n httpAuthSchemes() {\n return _httpAuthSchemes;\n },\n setHttpAuthSchemeProvider(httpAuthSchemeProvider) {\n _httpAuthSchemeProvider = httpAuthSchemeProvider;\n },\n httpAuthSchemeProvider() {\n return _httpAuthSchemeProvider;\n },\n setCredentials(credentials) {\n _credentials = credentials;\n },\n credentials() {\n return _credentials;\n },\n };\n};\nconst resolveHttpAuthRuntimeConfig = (config) => {\n return {\n httpAuthSchemes: config.httpAuthSchemes(),\n httpAuthSchemeProvider: config.httpAuthSchemeProvider(),\n credentials: config.credentials(),\n };\n};\n\nconst resolveRuntimeExtensions = (runtimeConfig, extensions) => {\n const extensionConfiguration = Object.assign(client$1.getAwsRegionExtensionConfiguration(runtimeConfig), client.getDefaultExtensionConfiguration(runtimeConfig), protocols.getHttpHandlerExtensionConfiguration(runtimeConfig), getHttpAuthExtensionConfiguration(runtimeConfig));\n extensions.forEach((extension) => extension.configure(extensionConfiguration));\n return Object.assign(runtimeConfig, client$1.resolveAwsRegionExtensionConfiguration(extensionConfiguration), client.resolveDefaultRuntimeConfig(extensionConfiguration), protocols.resolveHttpHandlerRuntimeConfig(extensionConfiguration), resolveHttpAuthRuntimeConfig(extensionConfiguration));\n};\n\nclass SSOClient extends client.Client {\n config;\n constructor(...[configuration]) {\n const _config_0 = getRuntimeConfig(configuration || {});\n super(_config_0);\n this.initConfig = _config_0;\n const _config_1 = resolveClientEndpointParameters(_config_0);\n const _config_2 = client$1.resolveUserAgentConfig(_config_1);\n const _config_3 = retry.resolveRetryConfig(_config_2);\n const _config_4 = config.resolveRegionConfig(_config_3);\n const _config_5 = client$1.resolveHostHeaderConfig(_config_4);\n const _config_6 = endpoints.resolveEndpointConfig(_config_5);\n const _config_7 = resolveHttpAuthSchemeConfig(_config_6);\n const _config_8 = resolveRuntimeExtensions(_config_7, configuration?.extensions || []);\n this.config = _config_8;\n this.middlewareStack.use(schema.getSchemaSerdePlugin(this.config));\n this.middlewareStack.use(client$1.getUserAgentPlugin(this.config));\n this.middlewareStack.use(retry.getRetryPlugin(this.config));\n this.middlewareStack.use(protocols.getContentLengthPlugin(this.config));\n this.middlewareStack.use(client$1.getHostHeaderPlugin(this.config));\n this.middlewareStack.use(client$1.getLoggerPlugin(this.config));\n this.middlewareStack.use(client$1.getRecursionDetectionPlugin(this.config));\n this.middlewareStack.use(core.getHttpAuthSchemeEndpointRuleSetPlugin(this.config, {\n httpAuthSchemeParametersProvider: defaultSSOHttpAuthSchemeParametersProvider,\n identityProviderConfigProvider: async (config) => new core.DefaultIdentityProviderConfig({\n \"aws.auth#sigv4\": config.credentials,\n }),\n }));\n this.middlewareStack.use(core.getHttpSigningPlugin(this.config));\n }\n destroy() {\n super.destroy();\n }\n}\n\nclass GetRoleCredentialsCommand extends client.Command\n .classBuilder()\n .ep(commonParams)\n .m(function (Command, cs, config, o) {\n return [endpoints.getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"SWBPortalService\", \"GetRoleCredentials\", {})\n .n(\"SSOClient\", \"GetRoleCredentialsCommand\")\n .sc(GetRoleCredentials$)\n .build() {\n}\n\nconst commands = {\n GetRoleCredentialsCommand,\n};\nclass SSO extends SSOClient {\n}\nclient.createAggregatedClient(commands, SSO);\n\nexports.$Command = client.Command;\nexports.__Client = client.Client;\nexports.GetRoleCredentials$ = GetRoleCredentials$;\nexports.GetRoleCredentialsCommand = GetRoleCredentialsCommand;\nexports.GetRoleCredentialsRequest$ = GetRoleCredentialsRequest$;\nexports.GetRoleCredentialsResponse$ = GetRoleCredentialsResponse$;\nexports.InvalidRequestException = InvalidRequestException;\nexports.InvalidRequestException$ = InvalidRequestException$;\nexports.ResourceNotFoundException = ResourceNotFoundException;\nexports.ResourceNotFoundException$ = ResourceNotFoundException$;\nexports.RoleCredentials$ = RoleCredentials$;\nexports.SSO = SSO;\nexports.SSOClient = SSOClient;\nexports.SSOServiceException = SSOServiceException;\nexports.SSOServiceException$ = SSOServiceException$;\nexports.TooManyRequestsException = TooManyRequestsException;\nexports.TooManyRequestsException$ = TooManyRequestsException$;\nexports.UnauthorizedException = UnauthorizedException;\nexports.UnauthorizedException$ = UnauthorizedException$;\nexports.errorTypeRegistries = errorTypeRegistries;\n" | ||
| ], | ||
| "mappings": ";sVAEA,SAAI,YACA,YACA,YACA,YACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,QAEE,GAA6C,MAAO,EAAQ,EAAS,IAAU,CACjF,MAAO,CACH,UAAW,EAAO,iBAAiB,CAAO,EAAE,UAC5C,OAAS,MAAM,EAAO,kBAAkB,EAAO,MAAM,EAAE,IAClD,IAAM,CACH,MAAU,MAAM,yDAAyD,IAC1E,CACX,GAEJ,SAAS,EAAgC,CAAC,EAAgB,CACtD,MAAO,CACH,SAAU,iBACV,kBAAmB,CACf,KAAM,eACN,OAAQ,EAAe,MAC3B,EACA,oBAAqB,CAAC,EAAQ,KAAa,CACvC,kBAAmB,CACf,SACA,SACJ,CACJ,EACJ,EAEJ,SAAS,EAAmC,CAAC,EAAgB,CACzD,MAAO,CACH,SAAU,mBACd,EAEJ,IAAM,GAAmC,CAAC,IAAmB,CACzD,IAAM,EAAU,CAAC,EACjB,OAAQ,EAAe,eACd,qBAAsB,CACvB,EAAQ,KAAK,GAAoC,CAAC,EAClD,KACJ,SAEI,EAAQ,KAAK,GAAiC,CAAc,CAAC,EAGrE,OAAO,GAEL,GAA8B,CAAC,IAAW,CAC5C,IAAM,EAAW,EAAgB,yBAAyB,CAAM,EAChE,OAAO,OAAO,OAAO,EAAU,CAC3B,qBAAsB,EAAO,kBAAkB,EAAO,sBAAwB,CAAC,CAAC,CACpF,CAAC,GAGC,GAAkC,CAAC,IAAY,CACjD,OAAO,OAAO,OAAO,EAAS,CAC1B,qBAAsB,EAAQ,sBAAwB,GACtD,gBAAiB,EAAQ,iBAAmB,GAC5C,mBAAoB,cACxB,CAAC,GAEC,GAAe,CACjB,QAAS,CAAE,KAAM,gBAAiB,KAAM,iBAAkB,EAC1D,SAAU,CAAE,KAAM,gBAAiB,KAAM,UAAW,EACpD,OAAQ,CAAE,KAAM,gBAAiB,KAAM,QAAS,EAChD,aAAc,CAAE,KAAM,gBAAiB,KAAM,sBAAuB,CACxE,EAEI,GAAU,WACV,GAAc,CACjB,QAAS,EAAO,EAEX,EAAI,MACJ,EAAI,GAAI,EAAI,GAAM,EAAI,QAAS,EAAI,kBAAmB,EAAI,gBAAiB,EAAI,UAAW,EAAI,EAAG,GAAI,UAAW,EAAG,EAAI,EAAG,GAAI,CAAE,EAAG,EAAI,CAAC,EAAG,EAAI,CAAC,EAAG,GAAI,QAAS,CAAC,EACjK,EAAQ,CACV,WAAY,CACR,CAAC,EAAG,CAAC,CAAC,CAAC,EACP,CAAC,EAAG,CAAC,EACL,CAAC,gBAAiB,EAAG,CAAC,EACtB,CAAC,EAAG,CAAC,EAAG,GAAI,SAAU,EAAG,CAAC,CAAC,EAC3B,CAAC,EAAG,CAAC,EAAG,GAAI,cAAe,EAAG,CAAC,CAAC,EAChC,CAAC,EAAG,CAAC,CAAE,GAAI,EAAG,KAAM,CAAC,EAAG,mBAAmB,CAAE,EAAG,CAAC,CAAC,EAClD,CAAC,EAAG,CAAC,CAAE,GAAI,EAAG,KAAM,CAAC,EAAG,cAAc,CAAE,EAAG,CAAC,CAAC,EAC7C,CAAC,eAAgB,CAAC,CAAE,GAAI,EAAG,KAAM,CAAC,EAAG,MAAM,CAAE,EAAG,YAAY,CAAC,CACjE,EACA,QAAS,CACL,CAAC,CAAC,EACF,CAAC,EAAG,mEAAmE,EACvE,CAAC,EAAG,wEAAwE,EAC5E,CAAC,EAAG,CAAC,EACL,CAAC,wEAAyE,CAAC,EAC3E,CAAC,EAAG,iFAAiF,EACrF,CAAC,4CAA6C,CAAC,EAC/C,CAAC,+DAAgE,CAAC,EAClE,CAAC,EAAG,0DAA0D,EAC9D,CAAC,mEAAoE,CAAC,EACtE,CAAC,EAAG,oEAAoE,EACxE,CAAC,0DAA2D,CAAC,EAC7D,CAAC,EAAG,uCAAuC,CAC/C,CACJ,EACM,GAAO,EACP,EAAI,IACJ,GAAQ,IAAI,WAAW,CACzB,GACA,EACA,GACA,EACA,GACA,EACA,EACA,EACA,EAAI,GACJ,EACA,EACA,EAAI,GACJ,EACA,EACA,EACA,EACA,EACA,EAAI,GACJ,EACA,EAAI,EACJ,EAAI,GACJ,EACA,GACA,EACA,EACA,GACA,EAAI,EACJ,EACA,EAAI,EACJ,EAAI,EACJ,EACA,GACA,EAAI,EACJ,EACA,EAAI,EACJ,EAAI,EACJ,EACA,EAAI,EACJ,GACA,EACA,EAAI,EACJ,EAAI,CACR,CAAC,EACK,GAAM,EAAU,sBAAsB,KAAK,GAAO,GAAM,EAAM,WAAY,EAAM,OAAO,EAEvF,GAAQ,IAAI,EAAU,cAAc,CACtC,KAAM,GACN,OAAQ,CAAC,WAAY,SAAU,eAAgB,SAAS,CAC5D,CAAC,EACK,GAA0B,CAAC,EAAgB,EAAU,CAAC,IAAM,CAC9D,OAAO,GAAM,IAAI,EAAgB,IAAM,EAAU,eAAe,GAAK,CACjE,eAAgB,EAChB,OAAQ,EAAQ,MACpB,CAAC,CAAC,GAEN,EAAU,wBAAwB,IAAM,EAAS,qBAEjD,MAAM,UAA4B,EAAO,gBAAiB,CACtD,WAAW,CAAC,EAAS,CACjB,MAAM,CAAO,EACb,OAAO,eAAe,KAAM,EAAoB,SAAS,EAEjE,CAEA,MAAM,UAAgC,CAAoB,CACtD,KAAO,0BACP,OAAS,SACT,WAAW,CAAC,EAAM,CACd,MAAM,CACF,KAAM,0BACN,OAAQ,YACL,CACP,CAAC,EACD,OAAO,eAAe,KAAM,EAAwB,SAAS,EAErE,CACA,MAAM,UAAkC,CAAoB,CACxD,KAAO,4BACP,OAAS,SACT,WAAW,CAAC,EAAM,CACd,MAAM,CACF,KAAM,4BACN,OAAQ,YACL,CACP,CAAC,EACD,OAAO,eAAe,KAAM,EAA0B,SAAS,EAEvE,CACA,MAAM,UAAiC,CAAoB,CACvD,KAAO,2BACP,OAAS,SACT,WAAW,CAAC,EAAM,CACd,MAAM,CACF,KAAM,2BACN,OAAQ,YACL,CACP,CAAC,EACD,OAAO,eAAe,KAAM,EAAyB,SAAS,EAEtE,CACA,MAAM,UAA8B,CAAoB,CACpD,KAAO,wBACP,OAAS,SACT,WAAW,CAAC,EAAM,CACd,MAAM,CACF,KAAM,wBACN,OAAQ,YACL,CACP,CAAC,EACD,OAAO,eAAe,KAAM,EAAsB,SAAS,EAEnE,CAEA,IAAM,GAAO,kBACP,GAAO,qBACP,GAAQ,4BACR,GAAS,6BACT,GAAO,0BACP,GAAM,kBACN,GAAQ,4BACR,GAAQ,sBACR,GAAO,mBACP,GAAQ,2BACR,GAAM,wBACN,GAAM,YACN,GAAO,cACP,GAAM,cACN,GAAM,aACN,EAAK,SACL,EAAK,QACL,GAAM,aACN,GAAK,OACL,EAAM,YACN,GAAM,aACN,EAAM,YACN,EAAK,UACL,GAAM,kBACN,GAAM,WACN,GAAM,YACN,EAAK,4CACL,GAAO,kBACP,GAAM,eACN,GAAS,yBACT,EAAK,oBACL,EAAc,EAAO,aAAa,IAAI,CAAE,EAC1C,GAAuB,CAAC,GAAI,EAAI,sBAAuB,EAAG,CAAC,EAAG,CAAC,CAAC,EACpE,EAAY,cAAc,GAAsB,CAAmB,EACnE,IAAM,EAAc,EAAO,aAAa,IAAI,CAAE,EAC1C,GAA2B,CAAC,GAAI,EAAI,GAAM,EAAG,GAAK,GAAK,GAAM,GAAI,EAAG,CAAC,CAAE,EAAG,CAAC,CAAC,CAAC,EACjF,EAAY,cAAc,GAA0B,CAAuB,EAC3E,IAAI,GAA6B,CAAC,GAAI,EAAI,GAAO,EAAG,GAAK,GAAK,GAAM,GAAI,EAAG,CAAC,CAAE,EAAG,CAAC,CAAC,CAAC,EACpF,EAAY,cAAc,GAA4B,CAAyB,EAC/E,IAAI,GAA4B,CAAC,GAAI,EAAI,GAAO,EAAG,GAAK,GAAK,GAAM,GAAI,EAAG,CAAC,CAAE,EAAG,CAAC,CAAC,CAAC,EACnF,EAAY,cAAc,GAA2B,CAAwB,EAC7E,IAAI,GAAyB,CAAC,GAAI,EAAI,GAAK,EAAG,GAAK,GAAK,GAAM,GAAI,EAAG,CAAC,CAAE,EAAG,CAAC,CAAC,CAAC,EAC9E,EAAY,cAAc,GAAwB,CAAqB,EACvE,IAAM,GAAsB,CAAC,EAAa,CAAW,EACjD,GAAkB,CAAC,EAAG,EAAI,GAAM,EAAG,CAAC,EACpC,GAAsB,CAAC,EAAG,EAAI,GAAO,EAAG,CAAC,EACzC,GAAmB,CAAC,EAAG,EAAI,GAAM,EAAG,CAAC,EACrC,GAA6B,CAC7B,EACA,EACA,GACA,EACA,CAAC,GAAK,GAAK,EAAG,EACd,CACI,CAAC,EAAG,EAAG,GAAM,EAAI,CAAC,EAClB,CAAC,EAAG,EAAG,GAAM,EAAI,CAAC,EAClB,CAAC,IAAM,GAAiB,EAAG,IAAM,EAAO,CAAC,CAC7C,EACA,CACJ,EACI,GAA8B,CAC9B,EACA,EACA,GACA,EACA,CAAC,EAAG,EACJ,CAAC,CAAC,IAAM,GAAkB,CAAC,CAAC,CAChC,EACI,GAAmB,CACnB,EACA,EACA,GACA,EACA,CAAC,GAAM,GAAM,GAAK,EAAG,EACrB,CAAC,EAAG,CAAC,IAAM,GAAqB,CAAC,EAAG,CAAC,IAAM,GAAkB,CAAC,EAAG,CAAC,CACtE,EACI,GAAsB,CACtB,EACA,EACA,GACA,EAAG,IAAK,CAAC,MAAO,0BAA2B,GAAG,CAAE,EAChD,IAAM,GACN,IAAM,EACV,EAEM,GAAqB,CAAC,IAAW,CACnC,MAAO,CACH,WAAY,aACZ,cAAe,GAAQ,eAAiB,EAAM,WAC9C,cAAe,GAAQ,eAAiB,EAAM,SAC9C,kBAAmB,GAAQ,mBAAqB,GAChD,iBAAkB,GAAQ,kBAAoB,GAC9C,WAAY,GAAQ,YAAc,CAAC,EACnC,uBAAwB,GAAQ,wBAA0B,GAC1D,gBAAiB,GAAQ,iBAAmB,CACxC,CACI,SAAU,iBACV,iBAAkB,CAAC,IAAQ,EAAI,oBAAoB,gBAAgB,EACnE,OAAQ,IAAI,EAAgB,iBAChC,EACA,CACI,SAAU,oBACV,iBAAkB,CAAC,IAAQ,EAAI,oBAAoB,mBAAmB,IAAM,UAAa,CAAC,IAC1F,OAAQ,IAAI,EAAK,YACrB,CACJ,EACA,OAAQ,GAAQ,QAAU,IAAI,EAAO,WACrC,SAAU,GAAQ,UAAY,GAAY,oBAC1C,iBAAkB,GAAQ,kBAAoB,CAC1C,iBAAkB,oBAClB,uBACA,QAAS,aACT,cAAe,kBACnB,EACA,UAAW,GAAQ,WAAa,MAChC,UAAW,GAAQ,WAAa,EAAU,SAC1C,YAAa,GAAQ,aAAe,EAAM,SAC1C,YAAa,GAAQ,aAAe,EAAM,MAC9C,GAGE,GAAmB,CAAC,IAAa,CACnC,EAAO,gCAAgC,QAAQ,OAAO,EACtD,IAAM,EAAe,EAAO,0BAA0B,CAAQ,EACxD,EAAwB,IAAM,EAAa,EAAE,KAAK,EAAO,yBAAyB,EAClF,EAAqB,GAAmB,CAAQ,EACtD,EAAS,gCAAgC,QAAQ,OAAO,EACxD,IAAM,EAAe,CACjB,QAAS,GAAU,QACnB,OAAQ,EAAmB,MAC/B,EACA,MAAO,IACA,KACA,EACH,QAAS,OACT,eACA,qBAAsB,GAAU,sBAAwB,EAAO,WAAW,EAAgB,oCAAqC,CAAY,EAC3I,kBAAmB,GAAU,mBAAqB,EAAM,oBACxD,yBAA0B,GAAU,0BAChC,EAAS,+BAA+B,CAAE,UAAW,EAAmB,UAAW,cAAe,GAAY,OAAQ,CAAC,EAC3H,YAAa,GAAU,aAAe,EAAO,WAAW,EAAM,gCAAiC,CAAQ,EACvG,OAAQ,GAAU,QACd,EAAO,WAAW,EAAO,2BAA4B,IAAK,EAAO,mCAAoC,CAAa,CAAC,EACvH,eAAgB,EAAgB,gBAAgB,OAAO,GAAU,gBAAkB,CAAqB,EACxG,UAAW,GAAU,WACjB,EAAO,WAAW,IACX,EAAM,+BACT,QAAS,UAAa,MAAM,EAAsB,GAAG,WAAa,EAAM,kBAC5E,EAAG,CAAQ,EACf,OAAQ,GAAU,QAAU,EAAM,KAAK,KAAK,KAAM,QAAQ,EAC1D,gBAAiB,GAAU,iBAAmB,EAAgB,gBAC9D,qBAAsB,GAAU,sBAAwB,EAAO,WAAW,EAAO,2CAA4C,CAAY,EACzI,gBAAiB,GAAU,iBAAmB,EAAO,WAAW,EAAO,sCAAuC,CAAY,EAC1H,eAAgB,GAAU,gBAAkB,EAAO,WAAW,EAAS,2BAA4B,CAAY,CACnH,GAGE,GAAoC,CAAC,IAAkB,CACzD,IAAuC,gBAAjC,EACsC,uBAAxC,EAC6B,YAA7B,GAD0B,EAE9B,MAAO,CACH,iBAAiB,CAAC,EAAgB,CAC9B,IAAM,EAAQ,EAAiB,UAAU,CAAC,IAAW,EAAO,WAAa,EAAe,QAAQ,EAChG,GAAI,IAAU,GACV,EAAiB,KAAK,CAAc,EAGpC,OAAiB,OAAO,EAAO,EAAG,CAAc,GAGxD,eAAe,EAAG,CACd,OAAO,GAEX,yBAAyB,CAAC,EAAwB,CAC9C,EAA0B,GAE9B,sBAAsB,EAAG,CACrB,OAAO,GAEX,cAAc,CAAC,EAAa,CACxB,EAAe,GAEnB,WAAW,EAAG,CACV,OAAO,EAEf,GAEE,GAA+B,CAAC,IAAW,CAC7C,MAAO,CACH,gBAAiB,EAAO,gBAAgB,EACxC,uBAAwB,EAAO,uBAAuB,EACtD,YAAa,EAAO,YAAY,CACpC,GAGE,GAA2B,CAAC,EAAe,IAAe,CAC5D,IAAM,EAAyB,OAAO,OAAO,EAAS,mCAAmC,CAAa,EAAG,EAAO,iCAAiC,CAAa,EAAG,EAAU,qCAAqC,CAAa,EAAG,GAAkC,CAAa,CAAC,EAEhR,OADA,EAAW,QAAQ,CAAC,IAAc,EAAU,UAAU,CAAsB,CAAC,EACtE,OAAO,OAAO,EAAe,EAAS,uCAAuC,CAAsB,EAAG,EAAO,4BAA4B,CAAsB,EAAG,EAAU,gCAAgC,CAAsB,EAAG,GAA6B,CAAsB,CAAC,GAGpS,MAAM,UAAkB,EAAO,MAAO,CAClC,OACA,WAAW,KAAK,GAAgB,CAC5B,IAAM,EAAY,GAAiB,GAAiB,CAAC,CAAC,EACtD,MAAM,CAAS,EACf,KAAK,WAAa,EAClB,IAAM,EAAY,GAAgC,CAAS,EACrD,EAAY,EAAS,uBAAuB,CAAS,EACrD,EAAY,EAAM,mBAAmB,CAAS,EAC9C,EAAY,EAAO,oBAAoB,CAAS,EAChD,EAAY,EAAS,wBAAwB,CAAS,EACtD,EAAY,EAAU,sBAAsB,CAAS,EACrD,EAAY,GAA4B,CAAS,EACjD,EAAY,GAAyB,EAAW,GAAe,YAAc,CAAC,CAAC,EACrF,KAAK,OAAS,EACd,KAAK,gBAAgB,IAAI,EAAO,qBAAqB,KAAK,MAAM,CAAC,EACjE,KAAK,gBAAgB,IAAI,EAAS,mBAAmB,KAAK,MAAM,CAAC,EACjE,KAAK,gBAAgB,IAAI,EAAM,eAAe,KAAK,MAAM,CAAC,EAC1D,KAAK,gBAAgB,IAAI,EAAU,uBAAuB,KAAK,MAAM,CAAC,EACtE,KAAK,gBAAgB,IAAI,EAAS,oBAAoB,KAAK,MAAM,CAAC,EAClE,KAAK,gBAAgB,IAAI,EAAS,gBAAgB,KAAK,MAAM,CAAC,EAC9D,KAAK,gBAAgB,IAAI,EAAS,4BAA4B,KAAK,MAAM,CAAC,EAC1E,KAAK,gBAAgB,IAAI,EAAK,uCAAuC,KAAK,OAAQ,CAC9E,iCAAkC,GAClC,+BAAgC,MAAO,IAAW,IAAI,EAAK,8BAA8B,CACrF,iBAAkB,EAAO,WAC7B,CAAC,CACL,CAAC,CAAC,EACF,KAAK,gBAAgB,IAAI,EAAK,qBAAqB,KAAK,MAAM,CAAC,EAEnE,OAAO,EAAG,CACN,MAAM,QAAQ,EAEtB,CAEA,MAAM,UAAkC,EAAO,QAC1C,aAAa,EACb,GAAG,EAAY,EACf,EAAE,QAAS,CAAC,EAAS,EAAI,EAAQ,EAAG,CACrC,MAAO,CAAC,EAAU,kBAAkB,EAAQ,EAAQ,iCAAiC,CAAC,CAAC,EAC1F,EACI,EAAE,mBAAoB,qBAAsB,CAAC,CAAC,EAC9C,EAAE,YAAa,2BAA2B,EAC1C,GAAG,EAAmB,EACtB,MAAM,CAAE,CACb,CAEA,IAAM,GAAW,CACb,2BACJ,EACA,MAAM,UAAY,CAAU,CAC5B,CACA,EAAO,uBAAuB,GAAU,CAAG,EAE3C,IAA0B,QAAlB,GACkB,OAAlB,IAAW,EAEnB,IAAQ,EAA4B,EASpC,IAAQ,EAAY", | ||
| "debugId": "470290AFC677957264756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/isexe@4.0.0/node_modules/isexe/dist/commonjs/index.min.js", "../../node_modules/.bun/which@6.0.1/node_modules/which/lib/index.js"], | ||
| "sourcesContent": [ | ||
| "\"use strict\";var a=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var _=a(i=>{\"use strict\";Object.defineProperty(i,\"__esModule\",{value:!0});i.sync=i.isexe=void 0;var M=require(\"node:fs\"),x=require(\"node:fs/promises\"),q=async(t,e={})=>{let{ignoreErrors:r=!1}=e;try{return d(await(0,x.stat)(t),e)}catch(s){let n=s;if(r||n.code===\"EACCES\")return!1;throw n}};i.isexe=q;var m=(t,e={})=>{let{ignoreErrors:r=!1}=e;try{return d((0,M.statSync)(t),e)}catch(s){let n=s;if(r||n.code===\"EACCES\")return!1;throw n}};i.sync=m;var d=(t,e)=>t.isFile()&&A(t,e),A=(t,e)=>{let r=e.uid??process.getuid?.(),s=e.groups??process.getgroups?.()??[],n=e.gid??process.getgid?.()??s[0];if(r===void 0||n===void 0)throw new Error(\"cannot get uid or gid\");let u=new Set([n,...s]),c=t.mode,S=t.uid,P=t.gid,f=parseInt(\"100\",8),l=parseInt(\"010\",8),j=parseInt(\"001\",8),C=f|l;return!!(c&j||c&l&&u.has(P)||c&f&&S===r||c&C&&r===0)}});var g=a(o=>{\"use strict\";Object.defineProperty(o,\"__esModule\",{value:!0});o.sync=o.isexe=void 0;var T=require(\"node:fs\"),I=require(\"node:fs/promises\"),D=require(\"node:path\"),F=async(t,e={})=>{let{ignoreErrors:r=!1}=e;try{return y(await(0,I.stat)(t),t,e)}catch(s){let n=s;if(r||n.code===\"EACCES\")return!1;throw n}};o.isexe=F;var L=(t,e={})=>{let{ignoreErrors:r=!1}=e;try{return y((0,T.statSync)(t),t,e)}catch(s){let n=s;if(r||n.code===\"EACCES\")return!1;throw n}};o.sync=L;var B=(t,e)=>{let{pathExt:r=process.env.PATHEXT||\"\"}=e,s=r.split(D.delimiter);if(s.indexOf(\"\")!==-1)return!0;for(let n of s){let u=n.toLowerCase(),c=t.substring(t.length-u.length).toLowerCase();if(u&&c===u)return!0}return!1},y=(t,e,r)=>t.isFile()&&B(e,r)});var p=a(h=>{\"use strict\";Object.defineProperty(h,\"__esModule\",{value:!0})});var v=exports&&exports.__createBinding||(Object.create?(function(t,e,r,s){s===void 0&&(s=r);var n=Object.getOwnPropertyDescriptor(e,r);(!n||(\"get\"in n?!e.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,s,n)}):(function(t,e,r,s){s===void 0&&(s=r),t[s]=e[r]})),G=exports&&exports.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,\"default\",{enumerable:!0,value:e})}):function(t,e){t.default=e}),w=exports&&exports.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var s=[];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(s[s.length]=n);return s},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var s=t(e),n=0;n<s.length;n++)s[n]!==\"default\"&&v(r,e,s[n]);return G(r,e),r}})(),X=exports&&exports.__exportStar||function(t,e){for(var r in t)r!==\"default\"&&!Object.prototype.hasOwnProperty.call(e,r)&&v(e,t,r)};Object.defineProperty(exports,\"__esModule\",{value:!0});exports.sync=exports.isexe=exports.posix=exports.win32=void 0;var E=w(_());exports.posix=E;var O=w(g());exports.win32=O;X(p(),exports);var H=process.env._ISEXE_TEST_PLATFORM_||process.platform,b=H===\"win32\"?O:E;exports.isexe=b.isexe;exports.sync=b.sync;\n//# sourceMappingURL=index.min.js.map\n", | ||
| "const { isexe, sync: isexeSync } = require('isexe')\nconst { join, delimiter, sep, posix } = require('path')\n\nconst isWindows = process.platform === 'win32'\n\n// used to check for slashed in commands passed in. always checks for the posix\n// seperator on all platforms, and checks for the current separator when not on\n// a posix platform. don't use the isWindows check for this since that is mocked\n// in tests but we still need the code to actually work when called. that is also\n// why it is ignored from coverage.\n/* istanbul ignore next */\nconst rSlash = new RegExp(`[${posix.sep}${sep === posix.sep ? '' : sep}]`.replace(/(\\\\)/g, '\\\\$1'))\nconst rRel = new RegExp(`^\\\\.${rSlash.source}`)\n\nconst getNotFoundError = (cmd) =>\n Object.assign(new Error(`not found: ${cmd}`), { code: 'ENOENT' })\n\nconst getPathInfo = (cmd, {\n path: optPath = process.env.PATH,\n pathExt: optPathExt = process.env.PATHEXT,\n delimiter: optDelimiter = delimiter,\n}) => {\n // If it has a slash, then we don't bother searching the pathenv.\n // just check the file itself, and that's it.\n const pathEnv = cmd.match(rSlash) ? [''] : [\n // windows always checks the cwd first\n ...(isWindows ? [process.cwd()] : []),\n ...(optPath || /* istanbul ignore next: very unusual */ '').split(optDelimiter),\n ]\n\n if (isWindows) {\n const pathExtExe = optPathExt ||\n ['.EXE', '.CMD', '.BAT', '.COM'].join(optDelimiter)\n const pathExt = pathExtExe.split(optDelimiter).flatMap((item) => [item, item.toLowerCase()])\n if (cmd.includes('.') && pathExt[0] !== '') {\n pathExt.unshift('')\n }\n return { pathEnv, pathExt, pathExtExe }\n }\n\n return { pathEnv, pathExt: [''] }\n}\n\nconst getPathPart = (raw, cmd) => {\n const pathPart = /^\".*\"$/.test(raw) ? raw.slice(1, -1) : raw\n const prefix = !pathPart && rRel.test(cmd) ? cmd.slice(0, 2) : ''\n return prefix + join(pathPart, cmd)\n}\n\nconst which = async (cmd, opt = {}) => {\n const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt)\n const found = []\n\n for (const envPart of pathEnv) {\n const p = getPathPart(envPart, cmd)\n\n for (const ext of pathExt) {\n const withExt = p + ext\n const is = await isexe(withExt, { pathExt: pathExtExe, ignoreErrors: true })\n if (is) {\n if (!opt.all) {\n return withExt\n }\n found.push(withExt)\n }\n }\n }\n\n if (opt.all && found.length) {\n return found\n }\n\n if (opt.nothrow) {\n return null\n }\n\n throw getNotFoundError(cmd)\n}\n\nconst whichSync = (cmd, opt = {}) => {\n const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt)\n const found = []\n\n for (const pathEnvPart of pathEnv) {\n const p = getPathPart(pathEnvPart, cmd)\n\n for (const ext of pathExt) {\n const withExt = p + ext\n const is = isexeSync(withExt, { pathExt: pathExtExe, ignoreErrors: true })\n if (is) {\n if (!opt.all) {\n return withExt\n }\n found.push(withExt)\n }\n }\n }\n\n if (opt.all && found.length) {\n return found\n }\n\n if (opt.nothrow) {\n return null\n }\n\n throw getNotFoundError(cmd)\n}\n\nmodule.exports = which\nwhich.sync = whichSync\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "5DCEC19BD85C6ED264756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260211171708_add_project_commands.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260211171708_add_project_commands\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`ALTER TABLE \\`project\\` ADD \\`commands\\` text;`)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,sCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,4CAAgD,EAC/D,EAEL", | ||
| "debugId": "1F77A019EFDDC6FE64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@opentui+keymap@0.4.3+aeceedea454d57be/node_modules/@opentui/keymap/src/extras/index.js", "../tui/src/config/keybind.ts", "../tui/src/config/index.tsx"], | ||
| "sourcesContent": [ | ||
| "// @bun\nimport\"../../chunks/index-p35cyhc4.js\";\n\n// src/extras/binding-lookup.ts\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar EMPTY_BINDINGS = Object.freeze([]);\nfunction isObject(value) {\n return !!value && typeof value === \"object\" && !Array.isArray(value);\n}\nfunction isKeyLike(value) {\n return typeof value === \"string\" || isObject(value);\n}\nfunction cloneKeyLike(key) {\n if (typeof key === \"string\") {\n return key;\n }\n return { ...key };\n}\nfunction normalizeCommand(command) {\n if (command.length === 0) {\n throw new Error(\"Invalid binding command: command cannot be empty\");\n }\n return command;\n}\nfunction mapCommand(command, commandMap) {\n const configCommand = normalizeCommand(command);\n if (!commandMap || !hasOwn.call(commandMap, configCommand)) {\n return configCommand;\n }\n const mappedCommand = commandMap[configCommand];\n if (typeof mappedCommand !== \"string\") {\n throw new Error(`Invalid binding command map entry for \"${configCommand}\": expected a command string`);\n }\n if (mappedCommand.length === 0) {\n throw new Error(`Invalid binding command map entry for \"${configCommand}\": command cannot be empty`);\n }\n return mappedCommand;\n}\nfunction invalidBindingValue(command, index) {\n const location = index === undefined ? `\"${command}\"` : `\"${command}\" at index ${index}`;\n return new Error(`Invalid binding value for ${location}: expected false, a key, a binding object, or an array of keys/binding objects`);\n}\nfunction resolveBindingItem(command, item, index) {\n if (!isKeyLike(item)) {\n throw invalidBindingValue(command, index);\n }\n if (typeof item === \"string\" || !(\"key\" in item)) {\n return {\n key: cloneKeyLike(item),\n cmd: command\n };\n }\n const key = item.key;\n if (!isKeyLike(key)) {\n throw invalidBindingValue(command, index);\n }\n return {\n ...item,\n key: cloneKeyLike(key),\n cmd: command\n };\n}\nfunction resolveBindingValue(command, value, bindingDefaults) {\n if (value === false || value === \"none\") {\n return;\n }\n if (Array.isArray(value)) {\n if (value.length === 0) {\n return;\n }\n const items = value;\n const bindings = new Array(items.length);\n for (let index = 0;index < items.length; index += 1) {\n const binding2 = resolveBindingItem(command, items[index], index);\n bindings[index] = bindingDefaults ? withBindingDefaults(command, binding2, bindingDefaults) : binding2;\n }\n return bindings;\n }\n const binding = resolveBindingItem(command, value);\n return [bindingDefaults ? withBindingDefaults(command, binding, bindingDefaults) : binding];\n}\nfunction withBindingDefaults(command, binding, bindingDefaults) {\n const defaults = bindingDefaults?.({ command, binding });\n if (!defaults)\n return binding;\n return { ...defaults, ...binding };\n}\nfunction flattenBindings(byCommand) {\n let bindingCount = 0;\n for (const bindings of byCommand.values()) {\n bindingCount += bindings.length;\n }\n const result = new Array(bindingCount);\n let bindingIndex = 0;\n for (const bindings of byCommand.values()) {\n for (let index = 0;index < bindings.length; index += 1) {\n result[bindingIndex] = bindings[index];\n bindingIndex += 1;\n }\n }\n return result;\n}\nfunction normalizeBindings(config, commandMap, bindingDefaults) {\n const byCommand = new Map;\n for (const rawCommand in config) {\n if (!hasOwn.call(config, rawCommand)) {\n continue;\n }\n const command = mapCommand(rawCommand, commandMap);\n const commandBindings = resolveBindingValue(command, config[rawCommand], bindingDefaults);\n if (!commandBindings) {\n byCommand.delete(command);\n } else {\n byCommand.set(command, commandBindings);\n }\n }\n return {\n bindings: flattenBindings(byCommand),\n byCommand\n };\n}\nfunction gatherBindings(byCommand, commands) {\n const gatheredByCommand = new Map;\n const bindings = [];\n for (const command of commands) {\n const commandBindings = byCommand.get(command);\n if (!commandBindings)\n continue;\n gatheredByCommand.set(command, commandBindings);\n for (let index = 0;index < commandBindings.length; index += 1) {\n bindings.push(commandBindings[index]);\n }\n }\n return { bindings, byCommand: gatheredByCommand };\n}\nfunction createBindingLookup(config, options) {\n let currentConfig = config;\n let normalized = normalizeBindings(currentConfig, options?.commandMap, options?.bindingDefaults);\n const gathered = new Map;\n return {\n get bindings() {\n return normalized.bindings;\n },\n get(command) {\n return normalized.byCommand.get(command) ?? EMPTY_BINDINGS;\n },\n has(command) {\n return normalized.byCommand.has(command);\n },\n gather(name, commands) {\n const existing = gathered.get(name);\n if (existing)\n return existing.bindings;\n const next = gatherBindings(normalized.byCommand, commands);\n gathered.set(name, next);\n return next.bindings;\n },\n pick(name, commands) {\n const group = gathered.get(name);\n if (!group)\n return [];\n const result = [];\n for (const command of commands) {\n const bindings = group.byCommand.get(command);\n if (!bindings)\n continue;\n for (let index = 0;index < bindings.length; index += 1) {\n result.push(bindings[index]);\n }\n }\n return result;\n },\n omit(name, commands) {\n const group = gathered.get(name);\n if (!group)\n return [];\n if (commands.length === 0)\n return group.bindings;\n if (commands.length === 1) {\n const omitted2 = commands[0];\n const result2 = [];\n for (let index = 0;index < group.bindings.length; index += 1) {\n const binding = group.bindings[index];\n if (typeof binding.cmd === \"string\" && binding.cmd === omitted2)\n continue;\n result2.push(binding);\n }\n return result2;\n }\n const omitted = new Set(commands);\n const result = [];\n for (let index = 0;index < group.bindings.length; index += 1) {\n const binding = group.bindings[index];\n if (typeof binding.cmd === \"string\" && omitted.has(binding.cmd))\n continue;\n result.push(binding);\n }\n return result;\n },\n invalidate(name) {\n if (name === undefined) {\n gathered.clear();\n return;\n }\n gathered.delete(name);\n },\n update(nextConfig) {\n if (nextConfig) {\n currentConfig = nextConfig;\n }\n normalized = normalizeBindings(currentConfig, options?.commandMap, options?.bindingDefaults);\n gathered.clear();\n }\n };\n}\n// src/extras/command-bindings.ts\nfunction isCommandBindingKey(value) {\n return typeof value === \"string\" || !!value && typeof value === \"object\" && !Array.isArray(value);\n}\nfunction commandBindings(bindings, options) {\n const normalized = [];\n const indexesByCommand = new Map;\n for (const [command, key] of Object.entries(bindings)) {\n if (!isCommandBindingKey(key)) {\n const error = new Error(`Invalid command binding for \"${command}\": command bindings must map command strings to key strings or keystroke objects`);\n options?.onError?.({\n code: \"invalid-command-binding\",\n command,\n value: key,\n reason: error\n });\n continue;\n }\n const normalizedCommand = command.trim();\n const nextBinding = {\n key: typeof key === \"string\" ? key : { ...key },\n cmd: normalizedCommand\n };\n const existingIndex = indexesByCommand.get(normalizedCommand);\n if (existingIndex !== undefined) {\n const previousBinding = normalized[existingIndex];\n options?.onWarning?.({\n code: \"command-binding-override\",\n command: normalizedCommand,\n previousKey: previousBinding.key,\n nextKey: nextBinding.key\n });\n normalized[existingIndex] = nextBinding;\n continue;\n }\n indexesByCommand.set(normalizedCommand, normalized.length);\n normalized.push(nextBinding);\n }\n return normalized;\n}\n// src/extras/formatting.ts\nfunction formatStroke(part, options) {\n if (part.tokenName) {\n const tokenDisplay = options.tokenDisplay;\n if (!tokenDisplay)\n return part.display;\n if (typeof tokenDisplay === \"function\")\n return tokenDisplay(part.tokenName, part) ?? part.display;\n return tokenDisplay[part.tokenName] ?? part.display;\n }\n if (part.patternName) {\n const patternDisplay = options.patternDisplay;\n if (!patternDisplay)\n return part.display;\n if (typeof patternDisplay === \"function\")\n return patternDisplay(part.patternName, part) ?? part.display;\n return patternDisplay[part.patternName] ?? part.display;\n }\n if (!options.keyNameAliases && !options.modifierAliases)\n return part.display;\n const stroke = part.stroke;\n const modifierAliases = options.modifierAliases;\n let formatted = \"\";\n let pieceCount = 0;\n if (stroke.ctrl) {\n formatted = modifierAliases?.ctrl ?? \"ctrl\";\n pieceCount = 1;\n }\n if (stroke.shift) {\n const alias = modifierAliases?.shift ?? \"shift\";\n formatted = pieceCount === 0 ? alias : `${formatted}+${alias}`;\n pieceCount += 1;\n }\n if (stroke.meta) {\n const alias = modifierAliases?.meta ?? \"meta\";\n formatted = pieceCount === 0 ? alias : `${formatted}+${alias}`;\n pieceCount += 1;\n }\n if (stroke.super) {\n const alias = modifierAliases?.super ?? \"super\";\n formatted = pieceCount === 0 ? alias : `${formatted}+${alias}`;\n pieceCount += 1;\n }\n if (stroke.hyper) {\n const alias = modifierAliases?.hyper ?? \"hyper\";\n formatted = pieceCount === 0 ? alias : `${formatted}+${alias}`;\n pieceCount += 1;\n }\n const name = stroke.name === \"return\" ? \"enter\" : stroke.name;\n const keyName = options.keyNameAliases?.[name] ?? name;\n return pieceCount === 0 ? keyName : `${formatted}+${keyName}`;\n}\nfunction formatKeySequence(parts, options = {}) {\n if (!parts || parts.length === 0)\n return \"\";\n const separator = options.separator ?? \" \";\n let formatted = formatStroke(parts[0], options);\n for (let index = 1;index < parts.length; index += 1) {\n formatted += separator + formatStroke(parts[index], options);\n }\n return formatted;\n}\nfunction formatCommandBindings(bindings, options = {}) {\n if (!bindings?.length)\n return;\n const bindingSeparator = options.bindingSeparator ?? \", \";\n const dedupe = options.dedupe !== false;\n const seen = dedupe ? new Set : undefined;\n let formatted = \"\";\n let itemCount = 0;\n for (const binding of bindings) {\n const item = formatKeySequence(binding.sequence, options);\n if (!item)\n continue;\n if (seen) {\n if (seen.has(item))\n continue;\n seen.add(item);\n }\n formatted = itemCount === 0 ? item : `${formatted}${bindingSeparator}${item}`;\n itemCount += 1;\n }\n return formatted;\n}\nexport {\n formatKeySequence,\n formatCommandBindings,\n createBindingLookup,\n commandBindings\n};\n\n//# debugId=418A62FEB87D11F164756E2164756E21\n//# sourceMappingURL=index.js.map\n", | ||
| "export * as TuiKeybind from \"./keybind\"\n\nimport type { KeyEvent, Renderable } from \"@opentui/core\"\nimport type { Binding } from \"@opentui/keymap\"\nimport type { BindingCommandMap, BindingConfig, BindingDefaults } from \"@opentui/keymap/extras\"\nimport { Schema } from \"effect\"\n\nconst KeyStroke = Schema.Struct({\n name: Schema.String,\n ctrl: Schema.optional(Schema.Boolean),\n shift: Schema.optional(Schema.Boolean),\n meta: Schema.optional(Schema.Boolean),\n super: Schema.optional(Schema.Boolean),\n hyper: Schema.optional(Schema.Boolean),\n})\n\nconst BindingObject = Schema.StructWithRest(\n Schema.Struct({\n key: Schema.Union([Schema.String, KeyStroke]),\n event: Schema.optional(Schema.Literals([\"press\", \"release\"])),\n preventDefault: Schema.optional(Schema.Boolean),\n fallthrough: Schema.optional(Schema.Boolean),\n }),\n [Schema.Record(Schema.String, Schema.Unknown)],\n)\n\nconst BindingItem = Schema.Union([Schema.String, KeyStroke, BindingObject])\nexport const BindingValueSchema = Schema.Union([\n Schema.Literal(false),\n Schema.Literal(\"none\"),\n BindingItem,\n Schema.Array(BindingItem),\n])\nexport type BindingValueSchema = Schema.Schema.Type<typeof BindingValueSchema>\n\ntype Definition = {\n default: BindingValueSchema\n description: string\n}\n\nexport const LeaderDefault = \"ctrl+x\"\n\nconst keybind = (value: Definition[\"default\"], description: string): Definition => ({ default: value, description })\n\nexport const Definitions = {\n leader: keybind(LeaderDefault, \"Leader key for keybind combinations\"),\n\n app_exit: keybind(\"ctrl+c,ctrl+d,<leader>q\", \"Exit the application\"),\n app_debug: keybind(\"none\", \"Toggle debug panel\"),\n app_console: keybind(\"none\", \"Toggle console\"),\n app_heap_snapshot: keybind(\"none\", \"Write heap snapshot\"),\n app_toggle_animations: keybind(\"none\", \"Toggle animations\"),\n app_toggle_file_context: keybind(\"none\", \"Toggle file context\"),\n app_toggle_diffwrap: keybind(\"none\", \"Toggle diff wrapping\"),\n app_toggle_paste_summary: keybind(\"none\", \"Toggle paste summary\"),\n app_toggle_session_directory_filter: keybind(\"none\", \"Toggle session directory filtering\"),\n command_list: keybind(\"ctrl+p\", \"List available commands\"),\n help_show: keybind(\"none\", \"Open help dialog\"),\n docs_open: keybind(\"none\", \"Open documentation\"),\n diff_open: keybind(\"none\", \"Open diff viewer\"),\n diff_close: keybind(\"escape,q\", \"Close diff viewer\"),\n diff_toggle: keybind(\"enter,space\", \"Toggle diff viewer item\"),\n diff_expand: keybind(\"right\", \"Expand diff viewer item\"),\n diff_expand_all: keybind(\"E\", \"Expand all diff viewer folders\"),\n diff_collapse: keybind(\"left\", \"Collapse diff viewer item\"),\n diff_switch_focus: keybind(\"tab\", \"Switch diff viewer focus\"),\n diff_next_hunk: keybind(\"]\", \"Jump to next diff hunk\"),\n diff_previous_hunk: keybind(\"[\", \"Jump to previous diff hunk\"),\n diff_next_file: keybind(\"n\", \"Jump to next diff file\"),\n diff_previous_file: keybind(\"p\", \"Jump to previous diff file\"),\n diff_toggle_file_tree: keybind(\"b\", \"Toggle diff viewer file tree\"),\n diff_single_patch: keybind(\"s\", \"Toggle single patch view\"),\n diff_switch_source: keybind(\"d\", \"Switch diff viewer source\"),\n diff_toggle_view: keybind(\"v\", \"Toggle diff viewer split or unified view\"),\n diff_help: keybind(\"?\", \"Show more diff viewer shortcuts\"),\n\n editor_open: keybind(\"<leader>e\", \"Open external editor\"),\n theme_list: keybind(\"<leader>t\", \"List available themes\"),\n theme_switch_mode: keybind(\"none\", \"Switch between light and dark theme mode\"),\n theme_mode_lock: keybind(\"none\", \"Lock or unlock theme mode\"),\n sidebar_toggle: keybind(\"<leader>b\", \"Toggle sidebar\"),\n scrollbar_toggle: keybind(\"none\", \"Toggle session scrollbar\"),\n status_view: keybind(\"<leader>s\", \"View status\"),\n debug_view: keybind(\"none\", \"View debug info\"),\n\n session_export: keybind(\"<leader>x\", \"Export session to editor\"),\n session_copy: keybind(\"none\", \"Copy session transcript\"),\n session_move: keybind(\"none\", \"Move session\"),\n session_new: keybind(\"<leader>n\", \"Create a new session\"),\n session_list: keybind(\"<leader>l\", \"List all sessions\"),\n session_timeline: keybind(\"<leader>g\", \"Show session timeline\"),\n session_fork: keybind(\"none\", \"Fork session from message\"),\n session_rename: keybind(\"ctrl+r\", \"Rename session\"),\n session_delete: keybind(\"ctrl+d\", \"Delete session\"),\n session_share: keybind(\"none\", \"Share current session\"),\n session_unshare: keybind(\"none\", \"Unshare current session\"),\n session_interrupt: keybind(\"escape\", \"Interrupt current session\"),\n session_background: keybind(\"ctrl+b\", \"Background blocking session tools\"),\n session_compact: keybind(\"<leader>c\", \"Compact the session\"),\n session_toggle_timestamps: keybind(\"none\", \"Toggle message timestamps\"),\n session_toggle_generic_tool_output: keybind(\"none\", \"Toggle generic tool output\"),\n session_queued_prompts: keybind(\"<leader>q\", \"Manage queued prompts\"),\n session_child_first: keybind(\"<leader>down\", \"Toggle subagent picker\"),\n session_child_cycle: keybind(\"right\", \"Go to next child session\"),\n session_child_cycle_reverse: keybind(\"left\", \"Go to previous child session\"),\n session_parent: keybind(\"up\", \"Go to parent session\"),\n session_pin_toggle: keybind(\"ctrl+f\", \"Pin or unpin session in the session list\"),\n session_quick_switch_1: keybind(\"<leader>1\", \"Switch to session in quick slot 1\"),\n session_quick_switch_2: keybind(\"<leader>2\", \"Switch to session in quick slot 2\"),\n session_quick_switch_3: keybind(\"<leader>3\", \"Switch to session in quick slot 3\"),\n session_quick_switch_4: keybind(\"<leader>4\", \"Switch to session in quick slot 4\"),\n session_quick_switch_5: keybind(\"<leader>5\", \"Switch to session in quick slot 5\"),\n session_quick_switch_6: keybind(\"<leader>6\", \"Switch to session in quick slot 6\"),\n session_quick_switch_7: keybind(\"<leader>7\", \"Switch to session in quick slot 7\"),\n session_quick_switch_8: keybind(\"<leader>8\", \"Switch to session in quick slot 8\"),\n session_quick_switch_9: keybind(\"<leader>9\", \"Switch to session in quick slot 9\"),\n\n stash_delete: keybind(\"ctrl+d\", \"Delete stash entry\"),\n model_provider_list: keybind(\"ctrl+a\", \"Open provider list from model dialog\"),\n model_favorite_toggle: keybind(\"ctrl+f\", \"Toggle model favorite status\"),\n model_list: keybind(\"<leader>m\", \"List available models\"),\n model_cycle_recent: keybind(\"f2\", \"Next recently used model\"),\n model_cycle_recent_reverse: keybind(\"shift+f2\", \"Previous recently used model\"),\n model_cycle_favorite: keybind(\"none\", \"Next favorite model\"),\n model_cycle_favorite_reverse: keybind(\"none\", \"Previous favorite model\"),\n mcp_list: keybind(\"none\", \"List MCP servers\"),\n provider_connect: keybind(\"none\", \"Connect integration\"),\n console_org_switch: keybind(\"none\", \"Switch console organization\"),\n agent_list: keybind(\"<leader>a\", \"List agents\"),\n agent_cycle: keybind(\"tab\", \"Next agent\"),\n agent_cycle_reverse: keybind(\"shift+tab\", \"Previous agent\"),\n variant_cycle: keybind(\"ctrl+t\", \"Cycle model variants\"),\n variant_list: keybind(\"none\", \"List model variants\"),\n\n messages_page_up: keybind(\"pageup,ctrl+alt+b\", \"Scroll messages up by one page\"),\n messages_page_down: keybind(\"pagedown,ctrl+alt+f\", \"Scroll messages down by one page\"),\n messages_line_up: keybind(\"ctrl+alt+y\", \"Scroll messages up by one line\"),\n messages_line_down: keybind(\"ctrl+alt+e\", \"Scroll messages down by one line\"),\n messages_half_page_up: keybind(\"ctrl+alt+u\", \"Scroll messages up by half page\"),\n messages_half_page_down: keybind(\"ctrl+alt+d\", \"Scroll messages down by half page\"),\n messages_first: keybind(\"ctrl+g,home\", \"Navigate to first message\"),\n messages_last: keybind(\"ctrl+alt+g,end\", \"Navigate to last message\"),\n messages_next: keybind(\"none\", \"Navigate to next message\"),\n messages_previous: keybind(\"none\", \"Navigate to previous message\"),\n messages_last_user: keybind(\"none\", \"Navigate to last user message\"),\n messages_copy: keybind(\"<leader>y\", \"Copy message\"),\n messages_undo: keybind(\"<leader>u\", \"Undo message\"),\n messages_redo: keybind(\"<leader>r\", \"Redo message\"),\n messages_toggle_conceal: keybind(\"<leader>h\", \"Toggle code block concealment in messages\"),\n tool_details: keybind(\"none\", \"Toggle tool details visibility\"),\n display_thinking: keybind(\"none\", \"Toggle thinking blocks visibility\"),\n\n prompt_submit: keybind(\"none\", \"Submit prompt\"),\n prompt_editor_context_clear: keybind(\"none\", \"Clear editor context\"),\n prompt_skills: keybind(\"none\", \"Open skill selector\"),\n prompt_stash: keybind(\"none\", \"Stash prompt\"),\n prompt_stash_pop: keybind(\"none\", \"Pop stashed prompt\"),\n prompt_stash_list: keybind(\"none\", \"List stashed prompts\"),\n workspace_set: keybind(\"none\", \"Set workspace\"),\n\n input_clear: keybind(\"ctrl+c\", \"Clear input field\"),\n input_paste: keybind({ key: \"ctrl+v\", preventDefault: false }, \"Paste from clipboard\"),\n input_submit: keybind(\"return\", \"Submit input\"),\n input_newline: keybind(\"shift+return,ctrl+return,alt+return,ctrl+j\", \"Insert newline in input\"),\n input_move_left: keybind(\"left,ctrl+b\", \"Move cursor left in input\"),\n input_move_right: keybind(\"right,ctrl+f\", \"Move cursor right in input\"),\n input_move_up: keybind(\"up\", \"Move cursor up in input\"),\n input_move_down: keybind(\"down\", \"Move cursor down in input\"),\n input_select_left: keybind(\"shift+left\", \"Select left in input\"),\n input_select_right: keybind(\"shift+right\", \"Select right in input\"),\n input_select_up: keybind(\"shift+up\", \"Select up in input\"),\n input_select_down: keybind(\"shift+down\", \"Select down in input\"),\n input_line_home: keybind(\"ctrl+a\", \"Move to start of line in input\"),\n input_line_end: keybind(\"ctrl+e\", \"Move to end of line in input\"),\n input_select_line_home: keybind(\"ctrl+shift+a\", \"Select to start of line in input\"),\n input_select_line_end: keybind(\"ctrl+shift+e\", \"Select to end of line in input\"),\n input_visual_line_home: keybind(\"alt+a\", \"Move to start of visual line in input\"),\n input_visual_line_end: keybind(\"alt+e\", \"Move to end of visual line in input\"),\n input_select_visual_line_home: keybind(\"alt+shift+a\", \"Select to start of visual line in input\"),\n input_select_visual_line_end: keybind(\"alt+shift+e\", \"Select to end of visual line in input\"),\n input_buffer_home: keybind(\"home\", \"Move to start of buffer in input\"),\n input_buffer_end: keybind(\"end\", \"Move to end of buffer in input\"),\n input_select_buffer_home: keybind(\"shift+home\", \"Select to start of buffer in input\"),\n input_select_buffer_end: keybind(\"shift+end\", \"Select to end of buffer in input\"),\n input_delete_line: keybind(\"ctrl+shift+d\", \"Delete line in input\"),\n input_delete_to_line_end: keybind(\"ctrl+k\", \"Delete to end of line in input\"),\n input_delete_to_line_start: keybind(\"ctrl+u\", \"Delete to start of line in input\"),\n input_backspace: keybind(\"backspace,shift+backspace\", \"Backspace in input\"),\n input_delete: keybind(\"ctrl+d,delete,shift+delete\", \"Delete character in input\"),\n input_undo: keybind(\"ctrl+-,super+z\", \"Undo in input\"),\n input_redo: keybind(\"ctrl+.,super+shift+z\", \"Redo in input\"),\n input_word_forward: keybind(\"alt+f,alt+right,ctrl+right\", \"Move word forward in input\"),\n input_word_backward: keybind(\"alt+b,alt+left,ctrl+left\", \"Move word backward in input\"),\n input_select_word_forward: keybind(\"alt+shift+f,alt+shift+right\", \"Select word forward in input\"),\n input_select_word_backward: keybind(\"alt+shift+b,alt+shift+left\", \"Select word backward in input\"),\n input_delete_word_forward: keybind(\"alt+d,alt+delete,ctrl+delete\", \"Delete word forward in input\"),\n input_delete_word_backward: keybind(\"ctrl+w,ctrl+backspace,alt+backspace\", \"Delete word backward in input\"),\n input_select_all: keybind(\"super+a\", \"Select all in input\"),\n history_previous: keybind(\"up\", \"Previous history item\"),\n history_next: keybind(\"down\", \"Next history item\"),\n\n \"dialog.select.prev\": keybind(\"up,ctrl+p\", \"Move to previous dialog item\"),\n \"dialog.select.next\": keybind(\"down,ctrl+n\", \"Move to next dialog item\"),\n \"dialog.select.page_up\": keybind(\"pageup\", \"Move up one page in dialog\"),\n \"dialog.select.page_down\": keybind(\"pagedown\", \"Move down one page in dialog\"),\n \"dialog.select.home\": keybind(\"home\", \"Move to first dialog item\"),\n \"dialog.select.end\": keybind(\"end\", \"Move to last dialog item\"),\n \"dialog.select.submit\": keybind(\"return\", \"Submit selected dialog item\"),\n \"dialog.prompt.submit\": keybind(\"return\", \"Submit dialog prompt\"),\n \"dialog.project_copy.generate\": keybind(\"tab\", \"Generate project copy name\"),\n \"dialog.mcp.toggle\": keybind(\"space\", \"Toggle MCP in MCP dialog\"),\n \"dialog.move_session.new\": keybind(\"ctrl+m\", \"New project copy\"),\n \"dialog.move_session.delete\": keybind(\"ctrl+d\", \"Delete project copy\"),\n \"dialog.move_session.refresh\": keybind(\"ctrl+r\", \"Refresh project copies\"),\n \"prompt.autocomplete.prev\": keybind(\"up,ctrl+p\", \"Move to previous autocomplete item\"),\n \"prompt.autocomplete.next\": keybind(\"down,ctrl+n\", \"Move to next autocomplete item\"),\n \"prompt.autocomplete.hide\": keybind(\"escape\", \"Hide autocomplete\"),\n \"prompt.autocomplete.select\": keybind(\"return\", \"Select autocomplete item\"),\n \"prompt.autocomplete.complete\": keybind(\"tab\", \"Complete autocomplete item\"),\n \"permission.prompt.fullscreen\": keybind(\"ctrl+f\", \"Toggle permission prompt fullscreen\"),\n \"plugins.toggle\": keybind(\"space\", \"Toggle plugin\"),\n \"dialog.plugins.install\": keybind(\"shift+i\", \"Install plugin from plugin dialog\"),\n\n terminal_suspend: keybind(\"ctrl+z\", \"Suspend terminal\"),\n terminal_title_toggle: keybind(\"none\", \"Toggle terminal title\"),\n tips_toggle: keybind(\"<leader>h\", \"Toggle tips on home screen\"),\n plugin_manager: keybind(\"none\", \"Open plugin manager dialog\"),\n plugin_install: keybind(\"none\", \"Install plugin\"),\n\n which_key_toggle: keybind(\"ctrl+alt+k\", \"Toggle which-key panel\"),\n which_key_layout_toggle: keybind(\"ctrl+alt+shift+k\", \"Switch which-key layout\"),\n which_key_pending_toggle: keybind(\"ctrl+alt+shift+p\", \"Toggle which-key pending preview\"),\n which_key_group_previous: keybind(\"ctrl+alt+left,ctrl+alt+[\", \"Previous which-key group\"),\n which_key_group_next: keybind(\"ctrl+alt+right,ctrl+alt+]\", \"Next which-key group\"),\n which_key_scroll_up: keybind(\"ctrl+alt+up,ctrl+alt+p\", \"Scroll which-key up\"),\n which_key_scroll_down: keybind(\"ctrl+alt+down,ctrl+alt+n\", \"Scroll which-key down\"),\n which_key_page_up: keybind(\"ctrl+alt+pageup\", \"Page which-key up\"),\n which_key_page_down: keybind(\"ctrl+alt+pagedown\", \"Page which-key down\"),\n which_key_home: keybind(\"ctrl+alt+home\", \"Jump to first which-key binding\"),\n which_key_end: keybind(\"ctrl+alt+end\", \"Jump to last which-key binding\"),\n} satisfies Record<string, Definition>\n\ntype KeybindName = keyof typeof Definitions\nconst KeybindNames = new Set<string>(Object.keys(Definitions))\n\nexport const KeybindOverrides = Schema.Struct(\n Object.fromEntries(\n Object.entries(Definitions).map(([name, item]) => [\n name,\n Schema.optional(BindingValueSchema).annotate({ description: item.description }),\n ]),\n ),\n).annotate({ description: \"TUI keybinding overrides\" })\nexport const Descriptions = Object.fromEntries(\n Object.entries(Definitions).map(([name, item]) => [name, item.description]),\n) as Record<KeybindName, string>\nexport const CommandMap = {\n app_exit: \"app.exit\",\n app_debug: \"app.debug\",\n app_console: \"app.console\",\n app_heap_snapshot: \"app.heap_snapshot\",\n app_toggle_animations: \"app.toggle.animations\",\n app_toggle_file_context: \"app.toggle.file_context\",\n app_toggle_diffwrap: \"app.toggle.diffwrap\",\n app_toggle_paste_summary: \"app.toggle.paste_summary\",\n app_toggle_session_directory_filter: \"app.toggle.session_directory_filter\",\n command_list: \"command.palette.show\",\n help_show: \"help.show\",\n docs_open: \"docs.open\",\n diff_open: \"diff.open\",\n diff_close: \"diff.close\",\n diff_toggle: \"diff.toggle\",\n diff_expand: \"diff.expand\",\n diff_expand_all: \"diff.expand_all\",\n diff_collapse: \"diff.collapse\",\n diff_switch_focus: \"diff.switch_focus\",\n diff_next_hunk: \"diff.next_hunk\",\n diff_previous_hunk: \"diff.previous_hunk\",\n diff_next_file: \"diff.next_file\",\n diff_previous_file: \"diff.previous_file\",\n diff_toggle_file_tree: \"diff.toggle_file_tree\",\n diff_single_patch: \"diff.single_patch\",\n diff_switch_source: \"diff.switch_source\",\n diff_toggle_view: \"diff.toggle_view\",\n diff_help: \"diff.help\",\n editor_open: \"prompt.editor\",\n theme_list: \"theme.switch\",\n theme_switch_mode: \"theme.switch_mode\",\n theme_mode_lock: \"theme.mode.lock\",\n sidebar_toggle: \"session.sidebar.toggle\",\n scrollbar_toggle: \"session.toggle.scrollbar\",\n status_view: \"opencode.status\",\n debug_view: \"opencode.debug\",\n session_export: \"session.export\",\n session_copy: \"session.copy\",\n session_move: \"session.move\",\n session_new: \"session.new\",\n session_list: \"session.list\",\n session_timeline: \"session.timeline\",\n session_fork: \"session.fork\",\n session_rename: \"session.rename\",\n session_delete: \"session.delete\",\n session_share: \"session.share\",\n session_unshare: \"session.unshare\",\n session_interrupt: \"session.interrupt\",\n session_background: \"session.background\",\n session_compact: \"session.compact\",\n session_toggle_timestamps: \"session.toggle.timestamps\",\n session_toggle_generic_tool_output: \"session.toggle.generic_tool_output\",\n session_queued_prompts: \"session.queued_prompts\",\n session_child_first: \"session.child.first\",\n session_child_cycle: \"session.child.next\",\n session_child_cycle_reverse: \"session.child.previous\",\n session_parent: \"session.parent\",\n session_pin_toggle: \"session.pin.toggle\",\n session_quick_switch_1: \"session.quick_switch.1\",\n session_quick_switch_2: \"session.quick_switch.2\",\n session_quick_switch_3: \"session.quick_switch.3\",\n session_quick_switch_4: \"session.quick_switch.4\",\n session_quick_switch_5: \"session.quick_switch.5\",\n session_quick_switch_6: \"session.quick_switch.6\",\n session_quick_switch_7: \"session.quick_switch.7\",\n session_quick_switch_8: \"session.quick_switch.8\",\n session_quick_switch_9: \"session.quick_switch.9\",\n stash_delete: \"stash.delete\",\n model_provider_list: \"model.dialog.provider\",\n model_favorite_toggle: \"model.dialog.favorite\",\n model_list: \"model.list\",\n model_cycle_recent: \"model.cycle_recent\",\n model_cycle_recent_reverse: \"model.cycle_recent_reverse\",\n model_cycle_favorite: \"model.cycle_favorite\",\n model_cycle_favorite_reverse: \"model.cycle_favorite_reverse\",\n mcp_list: \"mcp.list\",\n provider_connect: \"provider.connect\",\n console_org_switch: \"console.org.switch\",\n agent_list: \"agent.list\",\n agent_cycle: \"agent.cycle\",\n agent_cycle_reverse: \"agent.cycle.reverse\",\n variant_cycle: \"variant.cycle\",\n variant_list: \"variant.list\",\n messages_page_up: \"session.page.up\",\n messages_page_down: \"session.page.down\",\n messages_line_up: \"session.line.up\",\n messages_line_down: \"session.line.down\",\n messages_half_page_up: \"session.half.page.up\",\n messages_half_page_down: \"session.half.page.down\",\n messages_first: \"session.first\",\n messages_last: \"session.last\",\n messages_next: \"session.message.next\",\n messages_previous: \"session.message.previous\",\n messages_last_user: \"session.messages_last_user\",\n messages_copy: \"messages.copy\",\n messages_undo: \"session.undo\",\n messages_redo: \"session.redo\",\n messages_toggle_conceal: \"session.toggle.conceal\",\n tool_details: \"session.toggle.actions\",\n display_thinking: \"session.toggle.thinking\",\n prompt_submit: \"prompt.submit\",\n prompt_editor_context_clear: \"prompt.editor_context.clear\",\n prompt_skills: \"prompt.skills\",\n prompt_stash: \"prompt.stash\",\n prompt_stash_pop: \"prompt.stash.pop\",\n prompt_stash_list: \"prompt.stash.list\",\n workspace_set: \"workspace.set\",\n input_clear: \"prompt.clear\",\n input_paste: \"prompt.paste\",\n input_submit: \"input.submit\",\n input_newline: \"input.newline\",\n input_move_left: \"input.move.left\",\n input_move_right: \"input.move.right\",\n input_move_up: \"input.move.up\",\n input_move_down: \"input.move.down\",\n input_select_left: \"input.select.left\",\n input_select_right: \"input.select.right\",\n input_select_up: \"input.select.up\",\n input_select_down: \"input.select.down\",\n input_line_home: \"input.line.home\",\n input_line_end: \"input.line.end\",\n input_select_line_home: \"input.select.line.home\",\n input_select_line_end: \"input.select.line.end\",\n input_visual_line_home: \"input.visual.line.home\",\n input_visual_line_end: \"input.visual.line.end\",\n input_select_visual_line_home: \"input.select.visual.line.home\",\n input_select_visual_line_end: \"input.select.visual.line.end\",\n input_buffer_home: \"input.buffer.home\",\n input_buffer_end: \"input.buffer.end\",\n input_select_buffer_home: \"input.select.buffer.home\",\n input_select_buffer_end: \"input.select.buffer.end\",\n input_delete_line: \"input.delete.line\",\n input_delete_to_line_end: \"input.delete.to.line.end\",\n input_delete_to_line_start: \"input.delete.to.line.start\",\n input_backspace: \"input.backspace\",\n input_delete: \"input.delete\",\n input_undo: \"input.undo\",\n input_redo: \"input.redo\",\n input_word_forward: \"input.word.forward\",\n input_word_backward: \"input.word.backward\",\n input_select_word_forward: \"input.select.word.forward\",\n input_select_word_backward: \"input.select.word.backward\",\n input_delete_word_forward: \"input.delete.word.forward\",\n input_delete_word_backward: \"input.delete.word.backward\",\n input_select_all: \"input.select.all\",\n history_previous: \"prompt.history.previous\",\n history_next: \"prompt.history.next\",\n terminal_suspend: \"terminal.suspend\",\n terminal_title_toggle: \"terminal.title.toggle\",\n tips_toggle: \"tips.toggle\",\n plugin_manager: \"plugins.list\",\n plugin_install: \"plugins.install\",\n which_key_toggle: \"which-key.toggle\",\n which_key_layout_toggle: \"which-key.layout.toggle\",\n which_key_pending_toggle: \"which-key.pending.toggle\",\n which_key_group_previous: \"which-key.group.previous\",\n which_key_group_next: \"which-key.group.next\",\n which_key_scroll_up: \"which-key.scroll.up\",\n which_key_scroll_down: \"which-key.scroll.down\",\n which_key_page_up: \"which-key.page.up\",\n which_key_page_down: \"which-key.page.down\",\n which_key_home: \"which-key.home\",\n which_key_end: \"which-key.end\",\n} satisfies BindingCommandMap\nconst CommandDescriptions = Object.fromEntries(\n Object.entries(Definitions).map(([name, item]) => [\n CommandMap[name as keyof typeof CommandMap] ?? name,\n item.description,\n ]),\n) as Record<string, string>\n\nexport type Keybinds = { [K in KeybindName]: BindingValueSchema }\nexport type KeybindOverrides = Partial<Keybinds>\nexport type BindingLookupView = {\n readonly bindings: readonly Binding<Renderable, KeyEvent>[]\n get(command: string): readonly Binding<Renderable, KeyEvent>[]\n has(command: string): boolean\n gather(name: string, commands: readonly string[]): readonly Binding<Renderable, KeyEvent>[]\n pick(name: string, commands: readonly string[]): Binding<Renderable, KeyEvent>[]\n omit(name: string, commands: readonly string[]): Binding<Renderable, KeyEvent>[]\n}\n\nexport function toBindingConfig(keybinds: Keybinds): BindingConfig<Renderable, KeyEvent> {\n return Object.fromEntries(Object.entries(keybinds)) as BindingConfig<Renderable, KeyEvent>\n}\n\nconst decodeBindingValue = Schema.decodeUnknownSync(BindingValueSchema)\n\nexport function defaultValue(name: KeybindName) {\n return Definitions[name].default\n}\n\nexport function parse(keybinds: KeybindOverrides): Keybinds {\n const invalid = unknownKeys(keybinds)\n if (invalid.length) throw new Error(`Unrecognized keybind${invalid.length === 1 ? \"\" : \"s\"}: ${invalid.join(\", \")}`)\n return Object.fromEntries(\n Object.entries(Definitions).map(([name, item]) => [\n name,\n decodeBindingValue(keybinds[name as KeybindName] ?? item.default),\n ]),\n ) as Keybinds\n}\n\nexport const Keybinds = { parse }\n\nexport function unknownKeys(input: object) {\n return Object.keys(input).filter((key) => !KeybindNames.has(key))\n}\n\nexport function bindingDefaults(): BindingDefaults<Renderable, KeyEvent> {\n return ({ command, binding }) => {\n if (binding.desc !== undefined) return\n return { desc: CommandDescriptions[command] }\n }\n}\n", | ||
| "import { createComponent as _$createComponent } from \"@opentui/solid\";\nexport * as TuiConfig from \".\";\nimport { createBindingLookup } from \"@opentui/keymap/extras\";\nimport { Schema } from \"effect\";\nimport { createContext, useContext } from \"solid-js\";\nimport { TuiKeybind } from \"./keybind\";\nexport const AttentionSoundName = Schema.Literals([\"default\", \"question\", \"permission\", \"error\", \"done\", \"subagent_done\"]);\nexport const PluginOptions = Schema.Record(Schema.String, Schema.Unknown);\nexport const PluginSpec = Schema.Union([Schema.String, Schema.mutable(Schema.Tuple([Schema.String, PluginOptions]))]);\nexport const LeaderTimeoutDefault = 2000;\nexport const LeaderTimeout = Schema.Int.check(Schema.isGreaterThan(0)).annotate({\n description: \"Leader key timeout in milliseconds\"\n});\nexport const ScrollSpeed = Schema.Number.check(Schema.isGreaterThanOrEqualTo(0.001));\nexport const ScrollAcceleration = Schema.Struct({\n enabled: Schema.Boolean.annotate({\n description: \"Enable scroll acceleration\"\n })\n}).annotate({\n description: \"Scroll acceleration settings\"\n});\nexport const DiffStyle = Schema.Literals([\"auto\", \"stacked\"]).annotate({\n description: \"Control diff rendering style: 'auto' adapts to terminal width, 'stacked' always shows single column\"\n});\nexport const AttentionSounds = Schema.Record(AttentionSoundName, Schema.optionalKey(Schema.String));\nexport const Attention = Schema.Struct({\n enabled: Schema.optional(Schema.Boolean),\n notifications: Schema.optional(Schema.Boolean),\n sound: Schema.optional(Schema.Boolean),\n volume: Schema.optional(Schema.Number.check(Schema.isGreaterThanOrEqualTo(0), Schema.isLessThanOrEqualTo(1))),\n sound_pack: Schema.optional(Schema.String),\n sounds: Schema.optional(AttentionSounds)\n}).annotate({\n description: \"Attention notification and sound settings\"\n});\nconst PromptSize = Schema.Int.check(Schema.isGreaterThan(0));\nexport const Prompt = Schema.Struct({\n max_height: Schema.optional(PromptSize).annotate({\n description: \"Prompt textarea max height\"\n }),\n max_width: Schema.optional(Schema.Union([PromptSize, Schema.Literal(\"auto\")])).annotate({\n description: \"Home prompt max width: a positive integer for a fixed cap, or 'auto' to scale with terminal width\"\n })\n}).annotate({\n description: \"Prompt size settings\"\n});\nexport const Info = Schema.Struct({\n $schema: Schema.optional(Schema.String),\n theme: Schema.optional(Schema.String),\n keybinds: Schema.optional(TuiKeybind.KeybindOverrides),\n plugin: Schema.optional(Schema.Array(PluginSpec)),\n plugin_enabled: Schema.optional(Schema.Record(Schema.String, Schema.Boolean)),\n leader_timeout: Schema.optional(LeaderTimeout),\n attention: Schema.optional(Attention),\n prompt: Schema.optional(Prompt),\n scroll_speed: Schema.optional(ScrollSpeed).annotate({\n description: \"TUI scroll speed\"\n }),\n scroll_acceleration: Schema.optional(ScrollAcceleration),\n diff_style: Schema.optional(DiffStyle),\n mouse: Schema.optional(Schema.Boolean).annotate({\n description: \"Enable or disable mouse capture (default: true)\"\n })\n});\nexport const ResolveOptions = Schema.Struct({\n terminalSuspend: Schema.Boolean\n});\nexport function resolve(input, options) {\n const keybinds = {\n ...input.keybinds\n };\n if (!options.terminalSuspend) {\n keybinds.terminal_suspend = \"none\";\n if (keybinds.input_undo === undefined) {\n const inputUndo = TuiKeybind.defaultValue(\"input_undo\");\n keybinds.input_undo = [\"ctrl+z\", ...(typeof inputUndo === \"string\" ? inputUndo.split(\",\") : [])].filter((value, index, values) => values.indexOf(value) === index).join(\",\");\n }\n }\n return {\n ...input,\n attention: {\n enabled: input.attention?.enabled ?? false,\n notifications: input.attention?.notifications ?? true,\n sound: input.attention?.sound ?? true,\n volume: input.attention?.volume ?? 0.4,\n sound_pack: input.attention?.sound_pack ?? \"opencode.default\",\n sounds: input.attention?.sounds ?? {}\n },\n keybinds: createBindingLookup(TuiKeybind.toBindingConfig(TuiKeybind.parse(keybinds)), {\n commandMap: TuiKeybind.CommandMap,\n bindingDefaults: TuiKeybind.bindingDefaults()\n }),\n leader_timeout: input.leader_timeout ?? LeaderTimeoutDefault,\n mouse: input.mouse ?? true\n };\n}\nconst ConfigContext = createContext();\nexport function TuiConfigProvider(props) {\n return _$createComponent(ConfigContext.Provider, {\n get value() {\n return props.config;\n },\n get children() {\n return props.children;\n }\n });\n}\nexport function useTuiConfig() {\n const value = useContext(ConfigContext);\n if (!value) throw new Error(\"TuiConfigProvider is missing\");\n return value;\n}" | ||
| ], | ||
| "mappings": ";2fAIA,SAAI,OAAS,OAAO,UAAU,eAC1B,EAAiB,OAAO,OAAO,CAAC,CAAC,EACrC,SAAS,CAAQ,CAAC,EAAO,CACvB,MAAO,CAAC,CAAC,GAAS,OAAO,IAAU,UAAY,CAAC,MAAM,QAAQ,CAAK,EAErE,SAAS,CAAS,CAAC,EAAO,CACxB,OAAO,OAAO,IAAU,UAAY,EAAS,CAAK,EAEpD,SAAS,CAAY,CAAC,EAAK,CACzB,GAAI,OAAO,IAAQ,SACjB,OAAO,EAET,MAAO,IAAK,CAAI,EAElB,SAAS,EAAgB,CAAC,EAAS,CACjC,GAAI,EAAQ,SAAW,EACrB,MAAU,MAAM,kDAAkD,EAEpE,OAAO,EAET,SAAS,EAAU,CAAC,EAAS,EAAY,CACvC,IAAM,EAAgB,GAAiB,CAAO,EAC9C,GAAI,CAAC,GAAc,CAAC,EAAO,KAAK,EAAY,CAAa,EACvD,OAAO,EAET,IAAM,EAAgB,EAAW,GACjC,GAAI,OAAO,IAAkB,SAC3B,MAAU,MAAM,0CAA0C,+BAA2C,EAEvG,GAAI,EAAc,SAAW,EAC3B,MAAU,MAAM,0CAA0C,6BAAyC,EAErG,OAAO,EAET,SAAS,CAAmB,CAAC,EAAS,EAAO,CAC3C,IAAM,EAAW,IAAU,OAAY,IAAI,KAAa,IAAI,eAAqB,IACjF,OAAW,MAAM,6BAA6B,iFAAwF,EAExI,SAAS,CAAkB,CAAC,EAAS,EAAM,EAAO,CAChD,GAAI,CAAC,EAAU,CAAI,EACjB,MAAM,EAAoB,EAAS,CAAK,EAE1C,GAAI,OAAO,IAAS,UAAY,EAAE,QAAS,GACzC,MAAO,CACL,IAAK,EAAa,CAAI,EACtB,IAAK,CACP,EAEF,IAAM,EAAM,EAAK,IACjB,GAAI,CAAC,EAAU,CAAG,EAChB,MAAM,EAAoB,EAAS,CAAK,EAE1C,MAAO,IACF,EACH,IAAK,EAAa,CAAG,EACrB,IAAK,CACP,EAEF,SAAS,EAAmB,CAAC,EAAS,EAAO,EAAiB,CAC5D,GAAI,IAAU,IAAS,IAAU,OAC/B,OAEF,GAAI,MAAM,QAAQ,CAAK,EAAG,CACxB,GAAI,EAAM,SAAW,EACnB,OAEF,IAAM,EAAQ,EACR,EAAe,MAAM,EAAM,MAAM,EACvC,QAAS,EAAQ,EAAE,EAAQ,EAAM,OAAQ,GAAS,EAAG,CACnD,IAAM,EAAW,EAAmB,EAAS,EAAM,GAAQ,CAAK,EAChE,EAAS,GAAS,EAAkB,EAAoB,EAAS,EAAU,CAAe,EAAI,EAEhG,OAAO,EAET,IAAM,EAAU,EAAmB,EAAS,CAAK,EACjD,MAAO,CAAC,EAAkB,EAAoB,EAAS,EAAS,CAAe,EAAI,CAAO,EAE5F,SAAS,CAAmB,CAAC,EAAS,EAAS,EAAiB,CAC9D,IAAM,EAAW,IAAkB,CAAE,UAAS,SAAQ,CAAC,EACvD,GAAI,CAAC,EACH,OAAO,EACT,MAAO,IAAK,KAAa,CAAQ,EAEnC,SAAS,EAAe,CAAC,EAAW,CAClC,IAAI,EAAe,EACnB,QAAW,KAAY,EAAU,OAAO,EACtC,GAAgB,EAAS,OAE3B,IAAM,EAAa,MAAM,CAAY,EACjC,EAAe,EACnB,QAAW,KAAY,EAAU,OAAO,EACtC,QAAS,EAAQ,EAAE,EAAQ,EAAS,OAAQ,GAAS,EACnD,EAAO,GAAgB,EAAS,GAChC,GAAgB,EAGpB,OAAO,EAET,SAAS,CAAiB,CAAC,EAAQ,EAAY,EAAiB,CAC9D,IAAM,EAAY,IAAI,IACtB,QAAW,KAAc,EAAQ,CAC/B,GAAI,CAAC,EAAO,KAAK,EAAQ,CAAU,EACjC,SAEF,IAAM,EAAU,GAAW,EAAY,CAAU,EAC3C,EAAkB,GAAoB,EAAS,EAAO,GAAa,CAAe,EACxF,GAAI,CAAC,EACH,EAAU,OAAO,CAAO,EAExB,OAAU,IAAI,EAAS,CAAe,EAG1C,MAAO,CACL,SAAU,GAAgB,CAAS,EACnC,WACF,EAEF,SAAS,EAAc,CAAC,EAAW,EAAU,CAC3C,IAAM,EAAoB,IAAI,IACxB,EAAW,CAAC,EAClB,QAAW,KAAW,EAAU,CAC9B,IAAM,EAAkB,EAAU,IAAI,CAAO,EAC7C,GAAI,CAAC,EACH,SACF,EAAkB,IAAI,EAAS,CAAe,EAC9C,QAAS,EAAQ,EAAE,EAAQ,EAAgB,OAAQ,GAAS,EAC1D,EAAS,KAAK,EAAgB,EAAM,EAGxC,MAAO,CAAE,WAAU,UAAW,CAAkB,EAElD,SAAS,CAAmB,CAAC,EAAQ,EAAS,CAC5C,IAAI,EAAgB,EAChB,EAAa,EAAkB,EAAe,GAAS,WAAY,GAAS,eAAe,EACzF,EAAW,IAAI,IACrB,MAAO,IACD,SAAQ,EAAG,CACb,OAAO,EAAW,UAEpB,GAAG,CAAC,EAAS,CACX,OAAO,EAAW,UAAU,IAAI,CAAO,GAAK,GAE9C,GAAG,CAAC,EAAS,CACX,OAAO,EAAW,UAAU,IAAI,CAAO,GAEzC,MAAM,CAAC,EAAM,EAAU,CACrB,IAAM,EAAW,EAAS,IAAI,CAAI,EAClC,GAAI,EACF,OAAO,EAAS,SAClB,IAAM,EAAO,GAAe,EAAW,UAAW,CAAQ,EAE1D,OADA,EAAS,IAAI,EAAM,CAAI,EAChB,EAAK,UAEd,IAAI,CAAC,EAAM,EAAU,CACnB,IAAM,EAAQ,EAAS,IAAI,CAAI,EAC/B,GAAI,CAAC,EACH,MAAO,CAAC,EACV,IAAM,EAAS,CAAC,EAChB,QAAW,KAAW,EAAU,CAC9B,IAAM,EAAW,EAAM,UAAU,IAAI,CAAO,EAC5C,GAAI,CAAC,EACH,SACF,QAAS,EAAQ,EAAE,EAAQ,EAAS,OAAQ,GAAS,EACnD,EAAO,KAAK,EAAS,EAAM,EAG/B,OAAO,GAET,IAAI,CAAC,EAAM,EAAU,CACnB,IAAM,EAAQ,EAAS,IAAI,CAAI,EAC/B,GAAI,CAAC,EACH,MAAO,CAAC,EACV,GAAI,EAAS,SAAW,EACtB,OAAO,EAAM,SACf,GAAI,EAAS,SAAW,EAAG,CACzB,IAAM,EAAW,EAAS,GACpB,EAAU,CAAC,EACjB,QAAS,EAAQ,EAAE,EAAQ,EAAM,SAAS,OAAQ,GAAS,EAAG,CAC5D,IAAM,EAAU,EAAM,SAAS,GAC/B,GAAI,OAAO,EAAQ,MAAQ,UAAY,EAAQ,MAAQ,EACrD,SACF,EAAQ,KAAK,CAAO,EAEtB,OAAO,EAET,IAAM,EAAU,IAAI,IAAI,CAAQ,EAC1B,EAAS,CAAC,EAChB,QAAS,EAAQ,EAAE,EAAQ,EAAM,SAAS,OAAQ,GAAS,EAAG,CAC5D,IAAM,EAAU,EAAM,SAAS,GAC/B,GAAI,OAAO,EAAQ,MAAQ,UAAY,EAAQ,IAAI,EAAQ,GAAG,EAC5D,SACF,EAAO,KAAK,CAAO,EAErB,OAAO,GAET,UAAU,CAAC,EAAM,CACf,GAAI,IAAS,OAAW,CACtB,EAAS,MAAM,EACf,OAEF,EAAS,OAAO,CAAI,GAEtB,MAAM,CAAC,EAAY,CACjB,GAAI,EACF,EAAgB,EAElB,EAAa,EAAkB,EAAe,GAAS,WAAY,GAAS,eAAe,EAC3F,EAAS,MAAM,EAEnB,EA2CF,SAAS,CAAY,CAAC,EAAM,EAAS,CACnC,GAAI,EAAK,UAAW,CAClB,IAAM,EAAe,EAAQ,aAC7B,GAAI,CAAC,EACH,OAAO,EAAK,QACd,GAAI,OAAO,IAAiB,WAC1B,OAAO,EAAa,EAAK,UAAW,CAAI,GAAK,EAAK,QACpD,OAAO,EAAa,EAAK,YAAc,EAAK,QAE9C,GAAI,EAAK,YAAa,CACpB,IAAM,EAAiB,EAAQ,eAC/B,GAAI,CAAC,EACH,OAAO,EAAK,QACd,GAAI,OAAO,IAAmB,WAC5B,OAAO,EAAe,EAAK,YAAa,CAAI,GAAK,EAAK,QACxD,OAAO,EAAe,EAAK,cAAgB,EAAK,QAElD,GAAI,CAAC,EAAQ,gBAAkB,CAAC,EAAQ,gBACtC,OAAO,EAAK,QACd,IAAM,EAAS,EAAK,OACd,EAAkB,EAAQ,gBAC5B,EAAY,GACZ,EAAa,EACjB,GAAI,EAAO,KACT,EAAY,GAAiB,MAAQ,OACrC,EAAa,EAEf,GAAI,EAAO,MAAO,CAChB,IAAM,EAAQ,GAAiB,OAAS,QACxC,EAAY,IAAe,EAAI,EAAQ,GAAG,KAAa,IACvD,GAAc,EAEhB,GAAI,EAAO,KAAM,CACf,IAAM,EAAQ,GAAiB,MAAQ,OACvC,EAAY,IAAe,EAAI,EAAQ,GAAG,KAAa,IACvD,GAAc,EAEhB,GAAI,EAAO,MAAO,CAChB,IAAM,EAAQ,GAAiB,OAAS,QACxC,EAAY,IAAe,EAAI,EAAQ,GAAG,KAAa,IACvD,GAAc,EAEhB,GAAI,EAAO,MAAO,CAChB,IAAM,EAAQ,GAAiB,OAAS,QACxC,EAAY,IAAe,EAAI,EAAQ,GAAG,KAAa,IACvD,GAAc,EAEhB,IAAM,EAAO,EAAO,OAAS,SAAW,QAAU,EAAO,KACnD,EAAU,EAAQ,iBAAiB,IAAS,EAClD,OAAO,IAAe,EAAI,EAAU,GAAG,KAAa,IAEtD,SAAS,EAAiB,CAAC,EAAO,EAAU,CAAC,EAAG,CAC9C,GAAI,CAAC,GAAS,EAAM,SAAW,EAC7B,MAAO,GACT,IAAM,EAAY,EAAQ,WAAa,IACnC,EAAY,EAAa,EAAM,GAAI,CAAO,EAC9C,QAAS,EAAQ,EAAE,EAAQ,EAAM,OAAQ,GAAS,EAChD,GAAa,EAAY,EAAa,EAAM,GAAQ,CAAO,EAE7D,OAAO,EAET,SAAS,EAAqB,CAAC,EAAU,EAAU,CAAC,EAAG,CACrD,GAAI,CAAC,GAAU,OACb,OACF,IAAM,EAAmB,EAAQ,kBAAoB,KAE/C,EADS,EAAQ,SAAW,GACZ,IAAI,IAAM,OAC5B,EAAY,GACZ,EAAY,EAChB,QAAW,KAAW,EAAU,CAC9B,IAAM,EAAO,GAAkB,EAAQ,SAAU,CAAO,EACxD,GAAI,CAAC,EACH,SACF,GAAI,EAAM,CACR,GAAI,EAAK,IAAI,CAAI,EACf,SACF,EAAK,IAAI,CAAI,EAEf,EAAY,IAAc,EAAI,EAAO,GAAG,IAAY,IAAmB,IACvE,GAAa,EAEf,OAAO,+QC1UT,IAAM,EAAY,EAAO,OAAO,CAC9B,KAAM,EAAO,OACb,KAAM,EAAO,SAAS,EAAO,OAAO,EACpC,MAAO,EAAO,SAAS,EAAO,OAAO,EACrC,KAAM,EAAO,SAAS,EAAO,OAAO,EACpC,MAAO,EAAO,SAAS,EAAO,OAAO,EACrC,MAAO,EAAO,SAAS,EAAO,OAAO,CACvC,CAAC,EAEK,GAAgB,EAAO,eAC3B,EAAO,OAAO,CACZ,IAAK,EAAO,MAAM,CAAC,EAAO,OAAQ,CAAS,CAAC,EAC5C,MAAO,EAAO,SAAS,EAAO,SAAS,CAAC,QAAS,SAAS,CAAC,CAAC,EAC5D,eAAgB,EAAO,SAAS,EAAO,OAAO,EAC9C,YAAa,EAAO,SAAS,EAAO,OAAO,CAC7C,CAAC,EACD,CAAC,EAAO,OAAO,EAAO,OAAQ,EAAO,OAAO,CAAC,CAC/C,EAEM,EAAc,EAAO,MAAM,CAAC,EAAO,OAAQ,EAAW,EAAa,CAAC,EAC7D,EAAqB,EAAO,MAAM,CAC7C,EAAO,QAAQ,EAAK,EACpB,EAAO,QAAQ,MAAM,EACrB,EACA,EAAO,MAAM,CAAW,CAC1B,CAAC,EAQY,EAAgB,SAEvB,EAAU,CAAC,EAA8B,KAAqC,CAAE,QAAS,EAAO,aAAY,GAErG,EAAc,CACzB,OAAQ,EAAQ,EAAe,qCAAqC,EAEpE,SAAU,EAAQ,0BAA2B,sBAAsB,EACnE,UAAW,EAAQ,OAAQ,oBAAoB,EAC/C,YAAa,EAAQ,OAAQ,gBAAgB,EAC7C,kBAAmB,EAAQ,OAAQ,qBAAqB,EACxD,sBAAuB,EAAQ,OAAQ,mBAAmB,EAC1D,wBAAyB,EAAQ,OAAQ,qBAAqB,EAC9D,oBAAqB,EAAQ,OAAQ,sBAAsB,EAC3D,yBAA0B,EAAQ,OAAQ,sBAAsB,EAChE,oCAAqC,EAAQ,OAAQ,oCAAoC,EACzF,aAAc,EAAQ,SAAU,yBAAyB,EACzD,UAAW,EAAQ,OAAQ,kBAAkB,EAC7C,UAAW,EAAQ,OAAQ,oBAAoB,EAC/C,UAAW,EAAQ,OAAQ,kBAAkB,EAC7C,WAAY,EAAQ,WAAY,mBAAmB,EACnD,YAAa,EAAQ,cAAe,yBAAyB,EAC7D,YAAa,EAAQ,QAAS,yBAAyB,EACvD,gBAAiB,EAAQ,IAAK,gCAAgC,EAC9D,cAAe,EAAQ,OAAQ,2BAA2B,EAC1D,kBAAmB,EAAQ,MAAO,0BAA0B,EAC5D,eAAgB,EAAQ,IAAK,wBAAwB,EACrD,mBAAoB,EAAQ,IAAK,4BAA4B,EAC7D,eAAgB,EAAQ,IAAK,wBAAwB,EACrD,mBAAoB,EAAQ,IAAK,4BAA4B,EAC7D,sBAAuB,EAAQ,IAAK,8BAA8B,EAClE,kBAAmB,EAAQ,IAAK,0BAA0B,EAC1D,mBAAoB,EAAQ,IAAK,2BAA2B,EAC5D,iBAAkB,EAAQ,IAAK,0CAA0C,EACzE,UAAW,EAAQ,IAAK,iCAAiC,EAEzD,YAAa,EAAQ,YAAa,sBAAsB,EACxD,WAAY,EAAQ,YAAa,uBAAuB,EACxD,kBAAmB,EAAQ,OAAQ,0CAA0C,EAC7E,gBAAiB,EAAQ,OAAQ,2BAA2B,EAC5D,eAAgB,EAAQ,YAAa,gBAAgB,EACrD,iBAAkB,EAAQ,OAAQ,0BAA0B,EAC5D,YAAa,EAAQ,YAAa,aAAa,EAC/C,WAAY,EAAQ,OAAQ,iBAAiB,EAE7C,eAAgB,EAAQ,YAAa,0BAA0B,EAC/D,aAAc,EAAQ,OAAQ,yBAAyB,EACvD,aAAc,EAAQ,OAAQ,cAAc,EAC5C,YAAa,EAAQ,YAAa,sBAAsB,EACxD,aAAc,EAAQ,YAAa,mBAAmB,EACtD,iBAAkB,EAAQ,YAAa,uBAAuB,EAC9D,aAAc,EAAQ,OAAQ,2BAA2B,EACzD,eAAgB,EAAQ,SAAU,gBAAgB,EAClD,eAAgB,EAAQ,SAAU,gBAAgB,EAClD,cAAe,EAAQ,OAAQ,uBAAuB,EACtD,gBAAiB,EAAQ,OAAQ,yBAAyB,EAC1D,kBAAmB,EAAQ,SAAU,2BAA2B,EAChE,mBAAoB,EAAQ,SAAU,mCAAmC,EACzE,gBAAiB,EAAQ,YAAa,qBAAqB,EAC3D,0BAA2B,EAAQ,OAAQ,2BAA2B,EACtE,mCAAoC,EAAQ,OAAQ,4BAA4B,EAChF,uBAAwB,EAAQ,YAAa,uBAAuB,EACpE,oBAAqB,EAAQ,eAAgB,wBAAwB,EACrE,oBAAqB,EAAQ,QAAS,0BAA0B,EAChE,4BAA6B,EAAQ,OAAQ,8BAA8B,EAC3E,eAAgB,EAAQ,KAAM,sBAAsB,EACpD,mBAAoB,EAAQ,SAAU,0CAA0C,EAChF,uBAAwB,EAAQ,YAAa,mCAAmC,EAChF,uBAAwB,EAAQ,YAAa,mCAAmC,EAChF,uBAAwB,EAAQ,YAAa,mCAAmC,EAChF,uBAAwB,EAAQ,YAAa,mCAAmC,EAChF,uBAAwB,EAAQ,YAAa,mCAAmC,EAChF,uBAAwB,EAAQ,YAAa,mCAAmC,EAChF,uBAAwB,EAAQ,YAAa,mCAAmC,EAChF,uBAAwB,EAAQ,YAAa,mCAAmC,EAChF,uBAAwB,EAAQ,YAAa,mCAAmC,EAEhF,aAAc,EAAQ,SAAU,oBAAoB,EACpD,oBAAqB,EAAQ,SAAU,sCAAsC,EAC7E,sBAAuB,EAAQ,SAAU,8BAA8B,EACvE,WAAY,EAAQ,YAAa,uBAAuB,EACxD,mBAAoB,EAAQ,KAAM,0BAA0B,EAC5D,2BAA4B,EAAQ,WAAY,8BAA8B,EAC9E,qBAAsB,EAAQ,OAAQ,qBAAqB,EAC3D,6BAA8B,EAAQ,OAAQ,yBAAyB,EACvE,SAAU,EAAQ,OAAQ,kBAAkB,EAC5C,iBAAkB,EAAQ,OAAQ,qBAAqB,EACvD,mBAAoB,EAAQ,OAAQ,6BAA6B,EACjE,WAAY,EAAQ,YAAa,aAAa,EAC9C,YAAa,EAAQ,MAAO,YAAY,EACxC,oBAAqB,EAAQ,YAAa,gBAAgB,EAC1D,cAAe,EAAQ,SAAU,sBAAsB,EACvD,aAAc,EAAQ,OAAQ,qBAAqB,EAEnD,iBAAkB,EAAQ,oBAAqB,gCAAgC,EAC/E,mBAAoB,EAAQ,sBAAuB,kCAAkC,EACrF,iBAAkB,EAAQ,aAAc,gCAAgC,EACxE,mBAAoB,EAAQ,aAAc,kCAAkC,EAC5E,sBAAuB,EAAQ,aAAc,iCAAiC,EAC9E,wBAAyB,EAAQ,aAAc,mCAAmC,EAClF,eAAgB,EAAQ,cAAe,2BAA2B,EAClE,cAAe,EAAQ,iBAAkB,0BAA0B,EACnE,cAAe,EAAQ,OAAQ,0BAA0B,EACzD,kBAAmB,EAAQ,OAAQ,8BAA8B,EACjE,mBAAoB,EAAQ,OAAQ,+BAA+B,EACnE,cAAe,EAAQ,YAAa,cAAc,EAClD,cAAe,EAAQ,YAAa,cAAc,EAClD,cAAe,EAAQ,YAAa,cAAc,EAClD,wBAAyB,EAAQ,YAAa,2CAA2C,EACzF,aAAc,EAAQ,OAAQ,gCAAgC,EAC9D,iBAAkB,EAAQ,OAAQ,mCAAmC,EAErE,cAAe,EAAQ,OAAQ,eAAe,EAC9C,4BAA6B,EAAQ,OAAQ,sBAAsB,EACnE,cAAe,EAAQ,OAAQ,qBAAqB,EACpD,aAAc,EAAQ,OAAQ,cAAc,EAC5C,iBAAkB,EAAQ,OAAQ,oBAAoB,EACtD,kBAAmB,EAAQ,OAAQ,sBAAsB,EACzD,cAAe,EAAQ,OAAQ,eAAe,EAE9C,YAAa,EAAQ,SAAU,mBAAmB,EAClD,YAAa,EAAQ,CAAE,IAAK,SAAU,eAAgB,EAAM,EAAG,sBAAsB,EACrF,aAAc,EAAQ,SAAU,cAAc,EAC9C,cAAe,EAAQ,6CAA8C,yBAAyB,EAC9F,gBAAiB,EAAQ,cAAe,2BAA2B,EACnE,iBAAkB,EAAQ,eAAgB,4BAA4B,EACtE,cAAe,EAAQ,KAAM,yBAAyB,EACtD,gBAAiB,EAAQ,OAAQ,2BAA2B,EAC5D,kBAAmB,EAAQ,aAAc,sBAAsB,EAC/D,mBAAoB,EAAQ,cAAe,uBAAuB,EAClE,gBAAiB,EAAQ,WAAY,oBAAoB,EACzD,kBAAmB,EAAQ,aAAc,sBAAsB,EAC/D,gBAAiB,EAAQ,SAAU,gCAAgC,EACnE,eAAgB,EAAQ,SAAU,8BAA8B,EAChE,uBAAwB,EAAQ,eAAgB,kCAAkC,EAClF,sBAAuB,EAAQ,eAAgB,gCAAgC,EAC/E,uBAAwB,EAAQ,QAAS,uCAAuC,EAChF,sBAAuB,EAAQ,QAAS,qCAAqC,EAC7E,8BAA+B,EAAQ,cAAe,yCAAyC,EAC/F,6BAA8B,EAAQ,cAAe,uCAAuC,EAC5F,kBAAmB,EAAQ,OAAQ,kCAAkC,EACrE,iBAAkB,EAAQ,MAAO,gCAAgC,EACjE,yBAA0B,EAAQ,aAAc,oCAAoC,EACpF,wBAAyB,EAAQ,YAAa,kCAAkC,EAChF,kBAAmB,EAAQ,eAAgB,sBAAsB,EACjE,yBAA0B,EAAQ,SAAU,gCAAgC,EAC5E,2BAA4B,EAAQ,SAAU,kCAAkC,EAChF,gBAAiB,EAAQ,4BAA6B,oBAAoB,EAC1E,aAAc,EAAQ,6BAA8B,2BAA2B,EAC/E,WAAY,EAAQ,iBAAkB,eAAe,EACrD,WAAY,EAAQ,uBAAwB,eAAe,EAC3D,mBAAoB,EAAQ,6BAA8B,4BAA4B,EACtF,oBAAqB,EAAQ,2BAA4B,6BAA6B,EACtF,0BAA2B,EAAQ,8BAA+B,8BAA8B,EAChG,2BAA4B,EAAQ,6BAA8B,+BAA+B,EACjG,0BAA2B,EAAQ,+BAAgC,8BAA8B,EACjG,2BAA4B,EAAQ,sCAAuC,+BAA+B,EAC1G,iBAAkB,EAAQ,UAAW,qBAAqB,EAC1D,iBAAkB,EAAQ,KAAM,uBAAuB,EACvD,aAAc,EAAQ,OAAQ,mBAAmB,EAEjD,qBAAsB,EAAQ,YAAa,8BAA8B,EACzE,qBAAsB,EAAQ,cAAe,0BAA0B,EACvE,wBAAyB,EAAQ,SAAU,4BAA4B,EACvE,0BAA2B,EAAQ,WAAY,8BAA8B,EAC7E,qBAAsB,EAAQ,OAAQ,2BAA2B,EACjE,oBAAqB,EAAQ,MAAO,0BAA0B,EAC9D,uBAAwB,EAAQ,SAAU,6BAA6B,EACvE,uBAAwB,EAAQ,SAAU,sBAAsB,EAChE,+BAAgC,EAAQ,MAAO,4BAA4B,EAC3E,oBAAqB,EAAQ,QAAS,0BAA0B,EAChE,0BAA2B,EAAQ,SAAU,kBAAkB,EAC/D,6BAA8B,EAAQ,SAAU,qBAAqB,EACrE,8BAA+B,EAAQ,SAAU,wBAAwB,EACzE,2BAA4B,EAAQ,YAAa,oCAAoC,EACrF,2BAA4B,EAAQ,cAAe,gCAAgC,EACnF,2BAA4B,EAAQ,SAAU,mBAAmB,EACjE,6BAA8B,EAAQ,SAAU,0BAA0B,EAC1E,+BAAgC,EAAQ,MAAO,4BAA4B,EAC3E,+BAAgC,EAAQ,SAAU,qCAAqC,EACvF,iBAAkB,EAAQ,QAAS,eAAe,EAClD,yBAA0B,EAAQ,UAAW,mCAAmC,EAEhF,iBAAkB,EAAQ,SAAU,kBAAkB,EACtD,sBAAuB,EAAQ,OAAQ,uBAAuB,EAC9D,YAAa,EAAQ,YAAa,4BAA4B,EAC9D,eAAgB,EAAQ,OAAQ,4BAA4B,EAC5D,eAAgB,EAAQ,OAAQ,gBAAgB,EAEhD,iBAAkB,EAAQ,aAAc,wBAAwB,EAChE,wBAAyB,EAAQ,mBAAoB,yBAAyB,EAC9E,yBAA0B,EAAQ,mBAAoB,kCAAkC,EACxF,yBAA0B,EAAQ,2BAA4B,0BAA0B,EACxF,qBAAsB,EAAQ,4BAA6B,sBAAsB,EACjF,oBAAqB,EAAQ,yBAA0B,qBAAqB,EAC5E,sBAAuB,EAAQ,2BAA4B,uBAAuB,EAClF,kBAAmB,EAAQ,kBAAmB,mBAAmB,EACjE,oBAAqB,EAAQ,oBAAqB,qBAAqB,EACvE,eAAgB,EAAQ,gBAAiB,iCAAiC,EAC1E,cAAe,EAAQ,eAAgB,gCAAgC,CACzE,EAGM,GAAe,IAAI,IAAY,OAAO,KAAK,CAAW,CAAC,EAEhD,GAAmB,EAAO,OACrC,OAAO,YACL,OAAO,QAAQ,CAAW,EAAE,IAAI,EAAE,EAAM,KAAU,CAChD,EACA,EAAO,SAAS,CAAkB,EAAE,SAAS,CAAE,YAAa,EAAK,WAAY,CAAC,CAChF,CAAC,CACH,CACF,EAAE,SAAS,CAAE,YAAa,0BAA2B,CAAC,EACzC,GAAe,OAAO,YACjC,OAAO,QAAQ,CAAW,EAAE,IAAI,EAAE,EAAM,KAAU,CAAC,EAAM,EAAK,WAAW,CAAC,CAC5E,EACa,EAAa,CACxB,SAAU,WACV,UAAW,YACX,YAAa,cACb,kBAAmB,oBACnB,sBAAuB,wBACvB,wBAAyB,0BACzB,oBAAqB,sBACrB,yBAA0B,2BAC1B,oCAAqC,sCACrC,aAAc,uBACd,UAAW,YACX,UAAW,YACX,UAAW,YACX,WAAY,aACZ,YAAa,cACb,YAAa,cACb,gBAAiB,kBACjB,cAAe,gBACf,kBAAmB,oBACnB,eAAgB,iBAChB,mBAAoB,qBACpB,eAAgB,iBAChB,mBAAoB,qBACpB,sBAAuB,wBACvB,kBAAmB,oBACnB,mBAAoB,qBACpB,iBAAkB,mBAClB,UAAW,YACX,YAAa,gBACb,WAAY,eACZ,kBAAmB,oBACnB,gBAAiB,kBACjB,eAAgB,yBAChB,iBAAkB,2BAClB,YAAa,kBACb,WAAY,iBACZ,eAAgB,iBAChB,aAAc,eACd,aAAc,eACd,YAAa,cACb,aAAc,eACd,iBAAkB,mBAClB,aAAc,eACd,eAAgB,iBAChB,eAAgB,iBAChB,cAAe,gBACf,gBAAiB,kBACjB,kBAAmB,oBACnB,mBAAoB,qBACpB,gBAAiB,kBACjB,0BAA2B,4BAC3B,mCAAoC,qCACpC,uBAAwB,yBACxB,oBAAqB,sBACrB,oBAAqB,qBACrB,4BAA6B,yBAC7B,eAAgB,iBAChB,mBAAoB,qBACpB,uBAAwB,yBACxB,uBAAwB,yBACxB,uBAAwB,yBACxB,uBAAwB,yBACxB,uBAAwB,yBACxB,uBAAwB,yBACxB,uBAAwB,yBACxB,uBAAwB,yBACxB,uBAAwB,yBACxB,aAAc,eACd,oBAAqB,wBACrB,sBAAuB,wBACvB,WAAY,aACZ,mBAAoB,qBACpB,2BAA4B,6BAC5B,qBAAsB,uBACtB,6BAA8B,+BAC9B,SAAU,WACV,iBAAkB,mBAClB,mBAAoB,qBACpB,WAAY,aACZ,YAAa,cACb,oBAAqB,sBACrB,cAAe,gBACf,aAAc,eACd,iBAAkB,kBAClB,mBAAoB,oBACpB,iBAAkB,kBAClB,mBAAoB,oBACpB,sBAAuB,uBACvB,wBAAyB,yBACzB,eAAgB,gBAChB,cAAe,eACf,cAAe,uBACf,kBAAmB,2BACnB,mBAAoB,6BACpB,cAAe,gBACf,cAAe,eACf,cAAe,eACf,wBAAyB,yBACzB,aAAc,yBACd,iBAAkB,0BAClB,cAAe,gBACf,4BAA6B,8BAC7B,cAAe,gBACf,aAAc,eACd,iBAAkB,mBAClB,kBAAmB,oBACnB,cAAe,gBACf,YAAa,eACb,YAAa,eACb,aAAc,eACd,cAAe,gBACf,gBAAiB,kBACjB,iBAAkB,mBAClB,cAAe,gBACf,gBAAiB,kBACjB,kBAAmB,oBACnB,mBAAoB,qBACpB,gBAAiB,kBACjB,kBAAmB,oBACnB,gBAAiB,kBACjB,eAAgB,iBAChB,uBAAwB,yBACxB,sBAAuB,wBACvB,uBAAwB,yBACxB,sBAAuB,wBACvB,8BAA+B,gCAC/B,6BAA8B,+BAC9B,kBAAmB,oBACnB,iBAAkB,mBAClB,yBAA0B,2BAC1B,wBAAyB,0BACzB,kBAAmB,oBACnB,yBAA0B,2BAC1B,2BAA4B,6BAC5B,gBAAiB,kBACjB,aAAc,eACd,WAAY,aACZ,WAAY,aACZ,mBAAoB,qBACpB,oBAAqB,sBACrB,0BAA2B,4BAC3B,2BAA4B,6BAC5B,0BAA2B,4BAC3B,2BAA4B,6BAC5B,iBAAkB,mBAClB,iBAAkB,0BAClB,aAAc,sBACd,iBAAkB,mBAClB,sBAAuB,wBACvB,YAAa,cACb,eAAgB,eAChB,eAAgB,kBAChB,iBAAkB,mBAClB,wBAAyB,0BACzB,yBAA0B,2BAC1B,yBAA0B,2BAC1B,qBAAsB,uBACtB,oBAAqB,sBACrB,sBAAuB,wBACvB,kBAAmB,oBACnB,oBAAqB,sBACrB,eAAgB,iBAChB,cAAe,eACjB,EACM,GAAsB,OAAO,YACjC,OAAO,QAAQ,CAAW,EAAE,IAAI,EAAE,EAAM,KAAU,CAChD,EAAW,IAAoC,EAC/C,EAAK,WACP,CAAC,CACH,EAaO,SAAS,EAAe,CAAC,EAAyD,CACvF,OAAO,OAAO,YAAY,OAAO,QAAQ,CAAQ,CAAC,EAGpD,IAAM,GAAqB,EAAO,kBAAkB,CAAkB,EAE/D,SAAS,EAAY,CAAC,EAAmB,CAC9C,OAAO,EAAY,GAAM,QAGpB,SAAS,CAAK,CAAC,EAAsC,CAC1D,IAAM,EAAU,EAAY,CAAQ,EACpC,GAAI,EAAQ,OAAQ,MAAU,MAAM,uBAAuB,EAAQ,SAAW,EAAI,GAAK,QAAQ,EAAQ,KAAK,IAAI,GAAG,EACnH,OAAO,OAAO,YACZ,OAAO,QAAQ,CAAW,EAAE,IAAI,EAAE,EAAM,KAAU,CAChD,EACA,GAAmB,EAAS,IAAwB,EAAK,OAAO,CAClE,CAAC,CACH,EAGK,IAAM,GAAW,CAAE,OAAM,EAEzB,SAAS,CAAW,CAAC,EAAe,CACzC,OAAO,OAAO,KAAK,CAAK,EAAE,OAAO,CAAC,IAAQ,CAAC,GAAa,IAAI,CAAG,CAAC,EAG3D,SAAS,EAAe,EAA0C,CACvE,MAAO,EAAG,UAAS,aAAc,CAC/B,GAAI,EAAQ,OAAS,OAAW,OAChC,MAAO,CAAE,KAAM,GAAoB,EAAS,GC/czC,IAAM,EAAqB,EAAO,SAAS,CAAC,UAAW,WAAY,aAAc,QAAS,OAAQ,eAAe,CAAC,EAC5G,EAAgB,EAAO,OAAO,EAAO,OAAQ,EAAO,OAAO,EAC3D,EAAa,EAAO,MAAM,CAAC,EAAO,OAAQ,EAAO,QAAQ,EAAO,MAAM,CAAC,EAAO,OAAQ,CAAa,CAAC,CAAC,CAAC,CAAC,EACvG,EAAuB,KACvB,EAAgB,EAAO,IAAI,MAAM,EAAO,cAAc,CAAC,CAAC,EAAE,SAAS,CAC9E,YAAa,oCACf,CAAC,EACY,EAAc,EAAO,OAAO,MAAM,EAAO,uBAAuB,KAAK,CAAC,EACtE,EAAqB,EAAO,OAAO,CAC9C,QAAS,EAAO,QAAQ,SAAS,CAC/B,YAAa,4BACf,CAAC,CACH,CAAC,EAAE,SAAS,CACV,YAAa,8BACf,CAAC,EACY,EAAY,EAAO,SAAS,CAAC,OAAQ,SAAS,CAAC,EAAE,SAAS,CACrE,YAAa,qGACf,CAAC,EACY,EAAkB,EAAO,OAAO,EAAoB,EAAO,YAAY,EAAO,MAAM,CAAC,EACrF,EAAY,EAAO,OAAO,CACrC,QAAS,EAAO,SAAS,EAAO,OAAO,EACvC,cAAe,EAAO,SAAS,EAAO,OAAO,EAC7C,MAAO,EAAO,SAAS,EAAO,OAAO,EACrC,OAAQ,EAAO,SAAS,EAAO,OAAO,MAAM,EAAO,uBAAuB,CAAC,EAAG,EAAO,oBAAoB,CAAC,CAAC,CAAC,EAC5G,WAAY,EAAO,SAAS,EAAO,MAAM,EACzC,OAAQ,EAAO,SAAS,CAAe,CACzC,CAAC,EAAE,SAAS,CACV,YAAa,2CACf,CAAC,EACK,EAAa,EAAO,IAAI,MAAM,EAAO,cAAc,CAAC,CAAC,EAC9C,EAAS,EAAO,OAAO,CAClC,WAAY,EAAO,SAAS,CAAU,EAAE,SAAS,CAC/C,YAAa,4BACf,CAAC,EACD,UAAW,EAAO,SAAS,EAAO,MAAM,CAAC,EAAY,EAAO,QAAQ,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,CACtF,YAAa,mGACf,CAAC,CACH,CAAC,EAAE,SAAS,CACV,YAAa,sBACf,CAAC,EACY,GAAO,EAAO,OAAO,CAChC,QAAS,EAAO,SAAS,EAAO,MAAM,EACtC,MAAO,EAAO,SAAS,EAAO,MAAM,EACpC,SAAU,EAAO,SAAS,EAAW,gBAAgB,EACrD,OAAQ,EAAO,SAAS,EAAO,MAAM,CAAU,CAAC,EAChD,eAAgB,EAAO,SAAS,EAAO,OAAO,EAAO,OAAQ,EAAO,OAAO,CAAC,EAC5E,eAAgB,EAAO,SAAS,CAAa,EAC7C,UAAW,EAAO,SAAS,CAAS,EACpC,OAAQ,EAAO,SAAS,CAAM,EAC9B,aAAc,EAAO,SAAS,CAAW,EAAE,SAAS,CAClD,YAAa,kBACf,CAAC,EACD,oBAAqB,EAAO,SAAS,CAAkB,EACvD,WAAY,EAAO,SAAS,CAAS,EACrC,MAAO,EAAO,SAAS,EAAO,OAAO,EAAE,SAAS,CAC9C,YAAa,iDACf,CAAC,CACH,CAAC,EACY,GAAiB,EAAO,OAAO,CAC1C,gBAAiB,EAAO,OAC1B,CAAC,EACM,SAAS,EAAO,CAAC,EAAO,EAAS,CACtC,IAAM,EAAW,IACZ,EAAM,QACX,EACA,GAAI,CAAC,EAAQ,iBAEX,GADA,EAAS,iBAAmB,OACxB,EAAS,aAAe,OAAW,CACrC,IAAM,EAAY,EAAW,aAAa,YAAY,EACtD,EAAS,WAAa,CAAC,SAAU,GAAI,OAAO,IAAc,SAAW,EAAU,MAAM,GAAG,EAAI,CAAC,CAAE,EAAE,OAAO,CAAC,EAAO,EAAO,IAAW,EAAO,QAAQ,CAAK,IAAM,CAAK,EAAE,KAAK,GAAG,GAG/K,MAAO,IACF,EACH,UAAW,CACT,QAAS,EAAM,WAAW,SAAW,GACrC,cAAe,EAAM,WAAW,eAAiB,GACjD,MAAO,EAAM,WAAW,OAAS,GACjC,OAAQ,EAAM,WAAW,QAAU,IACnC,WAAY,EAAM,WAAW,YAAc,mBAC3C,OAAQ,EAAM,WAAW,QAAU,CAAC,CACtC,EACA,SAAU,EAAoB,EAAW,gBAAgB,EAAW,MAAM,CAAQ,CAAC,EAAG,CACpF,WAAY,EAAW,WACvB,gBAAiB,EAAW,gBAAgB,CAC9C,CAAC,EACD,eAAgB,EAAM,gBAAkB,EACxC,MAAO,EAAM,OAAS,EACxB,EAEF,IAAM,EAAgB,EAAc,EAC7B,SAAS,EAAiB,CAAC,EAAO,CACvC,OAAO,EAAkB,EAAc,SAAU,IAC3C,MAAK,EAAG,CACV,OAAO,EAAM,WAEX,SAAQ,EAAG,CACb,OAAO,EAAM,SAEjB,CAAC,EAEI,SAAS,EAAY,EAAG,CAC7B,IAAM,EAAQ,EAAW,CAAa,EACtC,GAAI,CAAC,EAAO,MAAU,MAAM,8BAA8B,EAC1D,OAAO", | ||
| "debugId": "2D1BDDAF3E4045DF64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../tui/src/component/spinner.tsx", "../tui/src/ui/spinner.ts"], | ||
| "sourcesContent": [ | ||
| "import { createTextNode as _$createTextNode } from \"@opentui/solid\";\nimport { insertNode as _$insertNode } from \"@opentui/solid\";\nimport { createComponent as _$createComponent } from \"@opentui/solid\";\nimport { effect as _$effect } from \"@opentui/solid\";\nimport { insert as _$insert } from \"@opentui/solid\";\nimport { setProp as _$setProp } from \"@opentui/solid\";\nimport { createElement as _$createElement } from \"@opentui/solid\";\nimport { Show } from \"solid-js\";\nimport { useTheme } from \"../context/theme\";\nimport { useKV } from \"../context/kv\";\nimport { registerOpencodeSpinner } from \"./register-spinner\";\nregisterOpencodeSpinner();\nexport const SPINNER_FRAMES = [\"⠋\", \"⠙\", \"⠹\", \"⠸\", \"⠼\", \"⠴\", \"⠦\", \"⠧\", \"⠇\", \"⠏\"];\nexport function Spinner(props) {\n const {\n theme\n } = useTheme();\n const kv = useKV();\n const color = () => props.color ?? theme.textMuted;\n return _$createComponent(Show, {\n get when() {\n return kv.get(\"animations_enabled\", true);\n },\n get fallback() {\n return (() => {\n var _el$4 = _$createElement(\"text\"),\n _el$5 = _$createTextNode(`⋯ `);\n _$insertNode(_el$4, _el$5);\n _$insert(_el$4, () => props.children, null);\n _$effect(_$p => _$setProp(_el$4, \"fg\", color(), _$p));\n return _el$4;\n })();\n },\n get children() {\n var _el$ = _$createElement(\"box\"),\n _el$2 = _$createElement(\"spinner\");\n _$insertNode(_el$, _el$2);\n _$setProp(_el$, \"flexDirection\", \"row\");\n _$setProp(_el$, \"gap\", 1);\n _$setProp(_el$2, \"frames\", SPINNER_FRAMES);\n _$setProp(_el$2, \"interval\", 80);\n _$insert(_el$, _$createComponent(Show, {\n get when() {\n return props.children;\n },\n get children() {\n var _el$3 = _$createElement(\"text\");\n _$insert(_el$3, () => props.children);\n _$effect(_$p => _$setProp(_el$3, \"fg\", color(), _$p));\n return _el$3;\n }\n }), null);\n _$effect(_$p => _$setProp(_el$2, \"color\", color(), _$p));\n return _el$;\n }\n });\n}", | ||
| "import type { ColorInput } from \"@opentui/core\"\nimport { RGBA } from \"@opentui/core\"\nimport type { ColorGenerator } from \"opentui-spinner\"\n\ninterface AdvancedGradientOptions {\n colors: ColorInput[]\n trailLength: number\n defaultColor?: ColorInput\n direction?: \"forward\" | \"backward\" | \"bidirectional\"\n holdFrames?: { start?: number; end?: number }\n enableFading?: boolean\n minAlpha?: number\n}\n\ninterface ScannerState {\n activePosition: number\n isHolding: boolean\n holdProgress: number\n holdTotal: number\n movementProgress: number\n movementTotal: number\n isMovingForward: boolean\n}\n\nfunction getScannerState(\n frameIndex: number,\n totalChars: number,\n options: Pick<AdvancedGradientOptions, \"direction\" | \"holdFrames\">,\n): ScannerState {\n const { direction = \"forward\", holdFrames = {} } = options\n\n if (direction === \"bidirectional\") {\n const forwardFrames = totalChars\n const holdEndFrames = holdFrames.end ?? 0\n const backwardFrames = totalChars - 1\n\n if (frameIndex < forwardFrames) {\n // Moving forward\n return {\n activePosition: frameIndex,\n isHolding: false,\n holdProgress: 0,\n holdTotal: 0,\n movementProgress: frameIndex,\n movementTotal: forwardFrames,\n isMovingForward: true,\n }\n } else if (frameIndex < forwardFrames + holdEndFrames) {\n // Holding at end\n return {\n activePosition: totalChars - 1,\n isHolding: true,\n holdProgress: frameIndex - forwardFrames,\n holdTotal: holdEndFrames,\n movementProgress: 0,\n movementTotal: 0,\n isMovingForward: true,\n }\n } else if (frameIndex < forwardFrames + holdEndFrames + backwardFrames) {\n // Moving backward\n const backwardIndex = frameIndex - forwardFrames - holdEndFrames\n return {\n activePosition: totalChars - 2 - backwardIndex,\n isHolding: false,\n holdProgress: 0,\n holdTotal: 0,\n movementProgress: backwardIndex,\n movementTotal: backwardFrames,\n isMovingForward: false,\n }\n } else {\n // Holding at start\n return {\n activePosition: 0,\n isHolding: true,\n holdProgress: frameIndex - forwardFrames - holdEndFrames - backwardFrames,\n holdTotal: holdFrames.start ?? 0,\n movementProgress: 0,\n movementTotal: 0,\n isMovingForward: false,\n }\n }\n } else if (direction === \"backward\") {\n return {\n activePosition: totalChars - 1 - (frameIndex % totalChars),\n isHolding: false,\n holdProgress: 0,\n holdTotal: 0,\n movementProgress: frameIndex % totalChars,\n movementTotal: totalChars,\n isMovingForward: false,\n }\n } else {\n return {\n activePosition: frameIndex % totalChars,\n isHolding: false,\n holdProgress: 0,\n holdTotal: 0,\n movementProgress: frameIndex % totalChars,\n movementTotal: totalChars,\n isMovingForward: true,\n }\n }\n}\n\nfunction calculateColorIndex(\n frameIndex: number,\n charIndex: number,\n totalChars: number,\n options: Pick<AdvancedGradientOptions, \"direction\" | \"holdFrames\" | \"trailLength\">,\n state?: ScannerState,\n): number {\n const { trailLength } = options\n const { activePosition, isHolding, holdProgress, isMovingForward } =\n state ?? getScannerState(frameIndex, totalChars, options)\n\n // Calculate directional distance (positive means trailing behind)\n const directionalDistance = isMovingForward\n ? activePosition - charIndex // For forward: trail is to the left (lower indices)\n : charIndex - activePosition // For backward: trail is to the right (higher indices)\n\n // Handle hold frame fading: keep the lead bright, fade the trail\n if (isHolding) {\n // Shift the color index by how long we've been holding\n return directionalDistance + holdProgress\n }\n\n // Normal movement - show gradient trail only behind the movement direction\n if (directionalDistance > 0 && directionalDistance < trailLength) {\n return directionalDistance\n }\n\n // At the active position, show the brightest color\n if (directionalDistance === 0) {\n return 0\n }\n\n return -1\n}\n\nfunction createKnightRiderTrail(options: AdvancedGradientOptions): ColorGenerator {\n const { colors, defaultColor, enableFading = true, minAlpha = 0 } = options\n\n // Use the provided defaultColor if it's an RGBA instance, otherwise convert/default\n // We use RGBA.fromHex for the fallback to ensure we have an RGBA object.\n // Note: If defaultColor is a string, we convert it once here.\n const defaultRgba = defaultColor instanceof RGBA ? defaultColor : RGBA.fromHex((defaultColor as string) || \"#000000\")\n\n // Store the base alpha from the inactive factor\n const baseInactiveAlpha = defaultRgba.a\n\n let cachedFrameIndex = -1\n let cachedState: ScannerState | null = null\n\n return (frameIndex: number, charIndex: number, _totalFrames: number, totalChars: number) => {\n if (frameIndex !== cachedFrameIndex) {\n cachedFrameIndex = frameIndex\n cachedState = getScannerState(frameIndex, totalChars, options)\n }\n\n const state = cachedState!\n\n const index = calculateColorIndex(frameIndex, charIndex, totalChars, options, state)\n\n // Calculate global fade for inactive dots during hold or movement\n const { isHolding, holdProgress, holdTotal, movementProgress, movementTotal } = state\n\n let fadeFactor = 1.0\n if (enableFading) {\n if (isHolding && holdTotal > 0) {\n // Fade out linearly to minAlpha\n const progress = Math.min(holdProgress / holdTotal, 1)\n fadeFactor = Math.max(minAlpha, 1 - progress * (1 - minAlpha))\n } else if (!isHolding && movementTotal > 0) {\n // Fade in linearly from minAlpha during movement\n const progress = Math.min(movementProgress / Math.max(1, movementTotal - 1), 1)\n fadeFactor = minAlpha + progress * (1 - minAlpha)\n }\n }\n\n // Combine base inactive alpha with the fade factor\n // This ensures inactiveFactor is respected while still allowing fading animation\n defaultRgba.a = baseInactiveAlpha * fadeFactor\n\n if (index === -1) {\n return defaultRgba\n }\n\n return colors[index] ?? defaultRgba\n }\n}\n\n/**\n * Derives a gradient of tail colors from a single bright color using alpha falloff\n * @param brightColor The brightest color (center/head of the scanner)\n * @param steps Number of gradient steps (default: 6)\n * @returns Array of RGBA colors with alpha-based trail fade (background-independent)\n */\nexport function deriveTrailColors(brightColor: ColorInput, steps: number = 6): RGBA[] {\n const baseRgba = brightColor instanceof RGBA ? brightColor : RGBA.fromHex(brightColor as string)\n\n const colors: RGBA[] = []\n\n for (let i = 0; i < steps; i++) {\n // Alpha-based falloff with optional bloom effect\n let alpha: number\n let brightnessFactor: number\n\n if (i === 0) {\n // Lead position: full brightness and opacity\n alpha = 1.0\n brightnessFactor = 1.0\n } else if (i === 1) {\n // Slight bloom/glare effect: brighten color but reduce opacity slightly\n alpha = 0.9\n brightnessFactor = 1.15\n } else {\n // Exponential alpha decay for natural-looking trail fade\n alpha = Math.pow(0.65, i - 1)\n brightnessFactor = 1.0\n }\n\n const r = Math.min(1.0, baseRgba.r * brightnessFactor)\n const g = Math.min(1.0, baseRgba.g * brightnessFactor)\n const b = Math.min(1.0, baseRgba.b * brightnessFactor)\n\n colors.push(RGBA.fromValues(r, g, b, alpha))\n }\n\n return colors\n}\n\n/**\n * Derives the inactive/default color from a bright color using alpha\n * @param brightColor The brightest color (center/head of the scanner)\n * @param factor Alpha factor for inactive color (default: 0.2, range: 0-1)\n * @returns The same color with reduced alpha for background-independent dimming\n */\nexport function deriveInactiveColor(brightColor: ColorInput, factor: number = 0.2): RGBA {\n const baseRgba = brightColor instanceof RGBA ? brightColor : RGBA.fromHex(brightColor as string)\n\n // Use the full color brightness but adjust alpha for background-independent dimming\n return RGBA.fromValues(baseRgba.r, baseRgba.g, baseRgba.b, factor)\n}\n\nexport type KnightRiderStyle = \"blocks\" | \"diamonds\"\n\nexport interface KnightRiderOptions {\n width?: number\n style?: KnightRiderStyle\n holdStart?: number\n holdEnd?: number\n colors?: ColorInput[]\n /** Single color to derive trail from (alternative to providing colors array) */\n color?: ColorInput\n /** Number of trail steps when using single color (default: 6) */\n trailSteps?: number\n defaultColor?: ColorInput\n /** Alpha factor for inactive color when using single color (default: 0.2, range: 0-1) */\n inactiveFactor?: number\n /** Enable fading of inactive dots during hold and movement (default: true) */\n enableFading?: boolean\n /** Minimum alpha value when fading (default: 0, range: 0-1) */\n minAlpha?: number\n}\n\n/**\n * Creates frame strings for a Knight Rider style scanner animation\n * @param options Configuration options for the Knight Rider effect\n * @returns Array of frame strings\n */\nexport function createFrames(options: KnightRiderOptions = {}): string[] {\n const width = options.width ?? 8\n const style = options.style ?? \"diamonds\"\n const holdStart = options.holdStart ?? 30\n const holdEnd = options.holdEnd ?? 9\n\n const colors =\n options.colors ??\n (options.color\n ? deriveTrailColors(options.color, options.trailSteps)\n : [\n RGBA.fromHex(\"#ff0000\"), // Brightest Red (Center)\n RGBA.fromHex(\"#ff5555\"), // Glare/Bloom\n RGBA.fromHex(\"#dd0000\"), // Trail 1\n RGBA.fromHex(\"#aa0000\"), // Trail 2\n RGBA.fromHex(\"#770000\"), // Trail 3\n RGBA.fromHex(\"#440000\"), // Trail 4\n ])\n\n const defaultColor =\n options.defaultColor ??\n (options.color ? deriveInactiveColor(options.color, options.inactiveFactor) : RGBA.fromHex(\"#330000\"))\n\n const trailOptions = {\n colors,\n trailLength: colors.length,\n defaultColor,\n direction: \"bidirectional\" as const,\n holdFrames: { start: holdStart, end: holdEnd },\n enableFading: options.enableFading,\n minAlpha: options.minAlpha,\n }\n\n // Bidirectional cycle: Forward (width) + Hold End + Backward (width-1) + Hold Start\n const totalFrames = width + holdEnd + (width - 1) + holdStart\n\n // Generate dynamic frames where inactive pixels are dots and active ones are blocks\n const frames = Array.from({ length: totalFrames }, (_, frameIndex) => {\n return Array.from({ length: width }, (_, charIndex) => {\n const index = calculateColorIndex(frameIndex, charIndex, width, trailOptions)\n\n if (style === \"diamonds\") {\n const shapes = [\"⬥\", \"◆\", \"⬩\", \"⬪\"]\n if (index >= 0 && index < trailOptions.colors.length) {\n return shapes[Math.min(index, shapes.length - 1)]\n }\n return \"·\"\n }\n\n // Default to blocks\n // It's active if we have a valid color index that is within our colors array\n const isActive = index >= 0 && index < trailOptions.colors.length\n return isActive ? \"■\" : \"⬝\"\n }).join(\"\")\n })\n\n return frames\n}\n\n/**\n * Creates a color generator function for Knight Rider style scanner animation\n * @param options Configuration options for the Knight Rider effect\n * @returns ColorGenerator function\n */\nexport function createColors(options: KnightRiderOptions = {}): ColorGenerator {\n const holdStart = options.holdStart ?? 30\n const holdEnd = options.holdEnd ?? 9\n\n const colors =\n options.colors ??\n (options.color\n ? deriveTrailColors(options.color, options.trailSteps)\n : [\n RGBA.fromHex(\"#ff0000\"), // Brightest Red (Center)\n RGBA.fromHex(\"#ff5555\"), // Glare/Bloom\n RGBA.fromHex(\"#dd0000\"), // Trail 1\n RGBA.fromHex(\"#aa0000\"), // Trail 2\n RGBA.fromHex(\"#770000\"), // Trail 3\n RGBA.fromHex(\"#440000\"), // Trail 4\n ])\n\n const defaultColor =\n options.defaultColor ??\n (options.color ? deriveInactiveColor(options.color, options.inactiveFactor) : RGBA.fromHex(\"#330000\"))\n\n const trailOptions = {\n colors,\n trailLength: colors.length,\n defaultColor,\n direction: \"bidirectional\" as const,\n holdFrames: { start: holdStart, end: holdEnd },\n enableFading: options.enableFading,\n minAlpha: options.minAlpha,\n }\n\n return createKnightRiderTrail(trailOptions)\n}\n" | ||
| ], | ||
| "mappings": ";iQAWA,OAAwB,OACjB,SAAM,EAAiB,CAAC,SAAI,SAAK,SAAK,SAAK,SAAK,SAAK,SAAK,SAAK,SAAK,QAAG,EACvE,SAAS,CAAO,CAAC,EAAO,CAC7B,IACE,SACE,EAAS,EACP,EAAK,EAAM,EACX,EAAQ,IAAM,EAAM,OAAS,EAAM,UACzC,OAAO,EAAkB,EAAM,IACzB,KAAI,EAAG,CACT,OAAO,EAAG,IAAI,qBAAsB,EAAI,MAEtC,SAAQ,EAAG,CACb,OAAQ,IAAM,CACZ,IAAI,EAAQ,EAAgB,MAAM,EAChC,EAAQ,EAAiB,SAAG,EAI9B,OAHA,EAAa,EAAO,CAAK,EACzB,EAAS,EAAO,IAAM,EAAM,SAAU,IAAI,EAC1C,EAAS,KAAO,EAAU,EAAO,KAAM,EAAM,EAAG,CAAG,CAAC,EAC7C,IACN,MAED,SAAQ,EAAG,CACb,IAAI,EAAO,EAAgB,KAAK,EAC9B,EAAQ,EAAgB,SAAS,EAkBnC,OAjBA,EAAa,EAAM,CAAK,EACxB,EAAU,EAAM,gBAAiB,KAAK,EACtC,EAAU,EAAM,MAAO,CAAC,EACxB,EAAU,EAAO,SAAU,CAAc,EACzC,EAAU,EAAO,WAAY,EAAE,EAC/B,EAAS,EAAM,EAAkB,EAAM,IACjC,KAAI,EAAG,CACT,OAAO,EAAM,aAEX,SAAQ,EAAG,CACb,IAAI,EAAQ,EAAgB,MAAM,EAGlC,OAFA,EAAS,EAAO,IAAM,EAAM,QAAQ,EACpC,EAAS,KAAO,EAAU,EAAO,KAAM,EAAM,EAAG,CAAG,CAAC,EAC7C,EAEX,CAAC,EAAG,IAAI,EACR,EAAS,KAAO,EAAU,EAAO,QAAS,EAAM,EAAG,CAAG,CAAC,EAChD,EAEX,CAAC,EC/BH,SAAS,CAAe,CACtB,EACA,EACA,EACc,CACd,IAAQ,YAAY,UAAW,aAAa,CAAC,GAAM,EAEnD,GAAI,IAAc,gBAAiB,CACjC,IAAM,EAAgB,EAChB,EAAgB,EAAW,KAAO,EAClC,EAAiB,EAAa,EAEpC,GAAI,EAAa,EAEf,MAAO,CACL,eAAgB,EAChB,UAAW,GACX,aAAc,EACd,UAAW,EACX,iBAAkB,EAClB,cAAe,EACf,gBAAiB,EACnB,EACK,QAAI,EAAa,EAAgB,EAEtC,MAAO,CACL,eAAgB,EAAa,EAC7B,UAAW,GACX,aAAc,EAAa,EAC3B,UAAW,EACX,iBAAkB,EAClB,cAAe,EACf,gBAAiB,EACnB,EACK,QAAI,EAAa,EAAgB,EAAgB,EAAgB,CAEtE,IAAM,EAAgB,EAAa,EAAgB,EACnD,MAAO,CACL,eAAgB,EAAa,EAAI,EACjC,UAAW,GACX,aAAc,EACd,UAAW,EACX,iBAAkB,EAClB,cAAe,EACf,gBAAiB,EACnB,EAGA,WAAO,CACL,eAAgB,EAChB,UAAW,GACX,aAAc,EAAa,EAAgB,EAAgB,EAC3D,UAAW,EAAW,OAAS,EAC/B,iBAAkB,EAClB,cAAe,EACf,gBAAiB,EACnB,EAEG,QAAI,IAAc,WACvB,MAAO,CACL,eAAgB,EAAa,EAAK,EAAa,EAC/C,UAAW,GACX,aAAc,EACd,UAAW,EACX,iBAAkB,EAAa,EAC/B,cAAe,EACf,gBAAiB,EACnB,EAEA,WAAO,CACL,eAAgB,EAAa,EAC7B,UAAW,GACX,aAAc,EACd,UAAW,EACX,iBAAkB,EAAa,EAC/B,cAAe,EACf,gBAAiB,EACnB,EAIJ,SAAS,CAAmB,CAC1B,EACA,EACA,EACA,EACA,EACQ,CACR,IAAQ,eAAgB,GAChB,iBAAgB,YAAW,eAAc,mBAC/C,GAAS,EAAgB,EAAY,EAAY,CAAO,EAGpD,EAAsB,EACxB,EAAiB,EACjB,EAAY,EAGhB,GAAI,EAEF,OAAO,EAAsB,EAI/B,GAAI,EAAsB,GAAK,EAAsB,EACnD,OAAO,EAIT,GAAI,IAAwB,EAC1B,MAAO,GAGT,MAAO,GAGT,SAAS,CAAsB,CAAC,EAAkD,CAChF,IAAQ,SAAQ,eAAc,eAAe,GAAM,WAAW,GAAM,EAK9D,EAAc,aAAwB,EAAO,EAAe,EAAK,QAAS,GAA2B,SAAS,EAG9G,EAAoB,EAAY,EAElC,EAAmB,GACnB,EAAmC,KAEvC,MAAO,CAAC,EAAoB,EAAmB,EAAsB,IAAuB,CAC1F,GAAI,IAAe,EACjB,EAAmB,EACnB,EAAc,EAAgB,EAAY,EAAY,CAAO,EAG/D,IAAM,EAAQ,EAER,EAAQ,EAAoB,EAAY,EAAW,EAAY,EAAS,CAAK,GAG3E,YAAW,eAAc,YAAW,mBAAkB,iBAAkB,EAE5E,EAAa,EACjB,GAAI,GACF,GAAI,GAAa,EAAY,EAAG,CAE9B,IAAM,EAAW,KAAK,IAAI,EAAe,EAAW,CAAC,EACrD,EAAa,KAAK,IAAI,EAAU,EAAI,GAAY,EAAI,EAAS,EACxD,QAAI,CAAC,GAAa,EAAgB,EAAG,CAE1C,IAAM,EAAW,KAAK,IAAI,EAAmB,KAAK,IAAI,EAAG,EAAgB,CAAC,EAAG,CAAC,EAC9E,EAAa,EAAW,GAAY,EAAI,IAQ5C,GAFA,EAAY,EAAI,EAAoB,EAEhC,IAAU,GACZ,OAAO,EAGT,OAAO,EAAO,IAAU,GAUrB,SAAS,CAAiB,CAAC,EAAyB,EAAgB,EAAW,CACpF,IAAM,EAAW,aAAuB,EAAO,EAAc,EAAK,QAAQ,CAAqB,EAEzF,EAAiB,CAAC,EAExB,QAAS,EAAI,EAAG,EAAI,EAAO,IAAK,CAE9B,IAAI,EACA,EAEJ,GAAI,IAAM,EAER,EAAQ,EACR,EAAmB,EACd,QAAI,IAAM,EAEf,EAAQ,IACR,EAAmB,KAGnB,OAAQ,KAAK,IAAI,KAAM,EAAI,CAAC,EAC5B,EAAmB,EAGrB,IAAM,EAAI,KAAK,IAAI,EAAK,EAAS,EAAI,CAAgB,EAC/C,EAAI,KAAK,IAAI,EAAK,EAAS,EAAI,CAAgB,EAC/C,EAAI,KAAK,IAAI,EAAK,EAAS,EAAI,CAAgB,EAErD,EAAO,KAAK,EAAK,WAAW,EAAG,EAAG,EAAG,CAAK,CAAC,EAG7C,OAAO,EASF,SAAS,CAAmB,CAAC,EAAyB,EAAiB,IAAW,CACvF,IAAM,EAAW,aAAuB,EAAO,EAAc,EAAK,QAAQ,CAAqB,EAG/F,OAAO,EAAK,WAAW,EAAS,EAAG,EAAS,EAAG,EAAS,EAAG,CAAM,EA6B5D,SAAS,EAAY,CAAC,EAA8B,CAAC,EAAa,CACvE,IAAM,EAAQ,EAAQ,OAAS,EACzB,EAAQ,EAAQ,OAAS,WACzB,EAAY,EAAQ,WAAa,GACjC,EAAU,EAAQ,SAAW,EAE7B,EACJ,EAAQ,SACP,EAAQ,MACL,EAAkB,EAAQ,MAAO,EAAQ,UAAU,EACnD,CACE,EAAK,QAAQ,SAAS,EACtB,EAAK,QAAQ,SAAS,EACtB,EAAK,QAAQ,SAAS,EACtB,EAAK,QAAQ,SAAS,EACtB,EAAK,QAAQ,SAAS,EACtB,EAAK,QAAQ,SAAS,CACxB,GAEA,EACJ,EAAQ,eACP,EAAQ,MAAQ,EAAoB,EAAQ,MAAO,EAAQ,cAAc,EAAI,EAAK,QAAQ,SAAS,GAEhG,EAAe,CACnB,SACA,YAAa,EAAO,OACpB,eACA,UAAW,gBACX,WAAY,CAAE,MAAO,EAAW,IAAK,CAAQ,EAC7C,aAAc,EAAQ,aACtB,SAAU,EAAQ,QACpB,EAGM,EAAc,EAAQ,GAAW,EAAQ,GAAK,EAsBpD,OAnBe,MAAM,KAAK,CAAE,OAAQ,CAAY,EAAG,CAAC,EAAG,IAAe,CACpE,OAAO,MAAM,KAAK,CAAE,OAAQ,CAAM,EAAG,CAAC,EAAG,IAAc,CACrD,IAAM,EAAQ,EAAoB,EAAY,EAAW,EAAO,CAAY,EAE5E,GAAI,IAAU,WAAY,CACxB,IAAM,EAAS,CAAC,SAAI,SAAK,SAAK,QAAG,EACjC,GAAI,GAAS,GAAK,EAAQ,EAAa,OAAO,OAC5C,OAAO,EAAO,KAAK,IAAI,EAAO,EAAO,OAAS,CAAC,GAEjD,MAAO,OAMT,OADiB,GAAS,GAAK,EAAQ,EAAa,OAAO,OACzC,SAAK,SACxB,EAAE,KAAK,EAAE,EACX,EAUI,SAAS,EAAY,CAAC,EAA8B,CAAC,EAAmB,CAC7E,IAAM,EAAY,EAAQ,WAAa,GACjC,EAAU,EAAQ,SAAW,EAE7B,EACJ,EAAQ,SACP,EAAQ,MACL,EAAkB,EAAQ,MAAO,EAAQ,UAAU,EACnD,CACE,EAAK,QAAQ,SAAS,EACtB,EAAK,QAAQ,SAAS,EACtB,EAAK,QAAQ,SAAS,EACtB,EAAK,QAAQ,SAAS,EACtB,EAAK,QAAQ,SAAS,EACtB,EAAK,QAAQ,SAAS,CACxB,GAEA,EACJ,EAAQ,eACP,EAAQ,MAAQ,EAAoB,EAAQ,MAAO,EAAQ,cAAc,EAAI,EAAK,QAAQ,SAAS,GAEhG,EAAe,CACnB,SACA,YAAa,EAAO,OACpB,eACA,UAAW,gBACX,WAAY,CAAE,MAAO,EAAW,IAAK,CAAQ,EAC7C,aAAc,EAAQ,aACtB,SAAU,EAAQ,QACpB,EAEA,OAAO,EAAuB,CAAY", | ||
| "debugId": "CF1130880D2DBD0B64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260622142730_simplify_session_context_epoch.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260622142730_simplify_session_context_epoch\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`ALTER TABLE \\`session_context_epoch\\` DROP COLUMN \\`agent\\`;`)\n yield* tx.run(`ALTER TABLE \\`session_context_epoch\\` DROP COLUMN \\`replacement_seq\\`;`)\n yield* tx.run(`ALTER TABLE \\`session_context_epoch\\` DROP COLUMN \\`revision\\`;`)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,gDACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,0DAA8D,EAC5E,MAAO,EAAG,IAAI,oEAAwE,EACtF,MAAO,EAAG,IAAI,6DAAiE,EAChF,EAEL", | ||
| "debugId": "48C30B53A35761B664756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260410174513_workspace-name.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260410174513_workspace-name\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`PRAGMA foreign_keys=OFF;`)\n yield* tx.run(`\n CREATE TABLE \\`__new_workspace\\` (\n \\`id\\` text PRIMARY KEY,\n \\`type\\` text NOT NULL,\n \\`name\\` text DEFAULT '' NOT NULL,\n \\`branch\\` text,\n \\`directory\\` text,\n \\`extra\\` text,\n \\`project_id\\` text NOT NULL,\n CONSTRAINT \\`fk_workspace_project_id_project_id_fk\\` FOREIGN KEY (\\`project_id\\`) REFERENCES \\`project\\`(\\`id\\`) ON DELETE CASCADE\n );\n `)\n yield* tx.run(\n `INSERT INTO \\`__new_workspace\\`(\\`id\\`, \\`type\\`, \\`branch\\`, \\`name\\`, \\`directory\\`, \\`extra\\`, \\`project_id\\`) SELECT \\`id\\`, \\`type\\`, \\`branch\\`, \\`name\\`, \\`directory\\`, \\`extra\\`, \\`project_id\\` FROM \\`workspace\\`;`,\n )\n yield* tx.run(`DROP TABLE \\`workspace\\`;`)\n yield* tx.run(`ALTER TABLE \\`__new_workspace\\` RENAME TO \\`workspace\\`;`)\n yield* tx.run(`PRAGMA foreign_keys=ON;`)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,gCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,0BAA0B,EACxC,MAAO,EAAG,IAAI,4aAWb,EACD,MAAO,EAAG,IACR,+LACF,EACA,MAAO,EAAG,IAAI,yBAA2B,EACzC,MAAO,EAAG,IAAI,sDAA0D,EACxE,MAAO,EAAG,IAAI,yBAAyB,EACxC,EAEL", | ||
| "debugId": "6BBE73225E2A137464756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "F39A73D50A3D88ED64756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260603040000_session_message_projection_order.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260603040000_session_message_projection_order\",\n up(tx) {\n return Effect.gen(function* () {\n // Pre-launch Session projections were written before durable event persistence\n // became unconditional, so they cannot be assigned truthful aggregate order.\n yield* tx.run(`DELETE FROM \\`session_message\\`;`)\n yield* tx.run(`ALTER TABLE \\`session_message\\` ADD COLUMN \\`seq\\` integer NOT NULL;`)\n yield* tx.run(`DROP INDEX IF EXISTS \\`session_message_session_type_time_created_id_idx\\`;`)\n yield* tx.run(`CREATE INDEX \\`session_message_session_seq_idx\\` ON \\`session_message\\` (\\`session_id\\`,\\`seq\\`);`)\n yield* tx.run(\n `CREATE INDEX \\`session_message_session_type_seq_idx\\` ON \\`session_message\\` (\\`session_id\\`,\\`type\\`,\\`seq\\`);`,\n )\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,kDACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAG7B,MAAO,EAAG,IAAI,gCAAkC,EAChD,MAAO,EAAG,IAAI,kEAAsE,EACpF,MAAO,EAAG,IAAI,0EAA4E,EAC1F,MAAO,EAAG,IAAI,2FAAmG,EACjH,MAAO,EAAG,IACR,uGACF,EACD,EAEL", | ||
| "debugId": "059EE3F00FBE1B0664756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260622202450_simplify_session_input.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260622202450_simplify_session_input\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`DELETE FROM \\`session_context_epoch\\`;`)\n yield* tx.run(`DELETE FROM \\`session_input\\`;`)\n yield* tx.run(`DELETE FROM \\`session_message\\`;`)\n yield* tx.run(`DELETE FROM \\`event\\`;`)\n yield* tx.run(`DELETE FROM \\`event_sequence\\`;`)\n yield* tx.run(`UPDATE \\`session\\` SET \\`workspace_id\\` = NULL WHERE \\`workspace_id\\` IS NOT NULL;`)\n yield* tx.run(`DELETE FROM \\`workspace\\`;`)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,wCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,sCAAwC,EACtD,MAAO,EAAG,IAAI,8BAAgC,EAC9C,MAAO,EAAG,IAAI,gCAAkC,EAChD,MAAO,EAAG,IAAI,sBAAwB,EACtC,MAAO,EAAG,IAAI,+BAAiC,EAC/C,MAAO,EAAG,IAAI,8EAAoF,EAClG,MAAO,EAAG,IAAI,0BAA4B,EAC3C,EAEL", | ||
| "debugId": "21CE42157DA0AD8864756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@aws-sdk+credential-provider-ini@3.972.46/node_modules/@aws-sdk/credential-provider-ini/dist-es/fromIni.js", "../../node_modules/.bun/@aws-sdk+credential-provider-ini@3.972.46/node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveProfileData.js", "../../node_modules/.bun/@aws-sdk+credential-provider-ini@3.972.46/node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveAssumeRoleCredentials.js", "../../node_modules/.bun/@aws-sdk+credential-provider-ini@3.972.46/node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveCredentialSource.js", "../../node_modules/.bun/@aws-sdk+credential-provider-ini@3.972.46/node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveLoginCredentials.js", "../../node_modules/.bun/@aws-sdk+credential-provider-login@3.972.45/node_modules/@aws-sdk/credential-provider-login/dist-es/fromLoginCredentials.js", "../../node_modules/.bun/@aws-sdk+credential-provider-login@3.972.45/node_modules/@aws-sdk/credential-provider-login/dist-es/LoginCredentialsFetcher.js", "../../node_modules/.bun/@aws-sdk+credential-provider-ini@3.972.46/node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveProcessCredentials.js", "../../node_modules/.bun/@aws-sdk+credential-provider-ini@3.972.46/node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveSsoCredentials.js", "../../node_modules/.bun/@aws-sdk+credential-provider-ini@3.972.46/node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveStaticCredentials.js", "../../node_modules/.bun/@aws-sdk+credential-provider-ini@3.972.46/node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveWebIdentityCredentials.js"], | ||
| "sourcesContent": [ | ||
| "import { getProfileName, parseKnownFiles } from \"@smithy/core/config\";\nimport { resolveProfileData } from \"./resolveProfileData\";\nexport const fromIni = (init = {}) => async ({ callerClientConfig } = {}) => {\n init.logger?.debug(\"@aws-sdk/credential-provider-ini - fromIni\");\n const profiles = await parseKnownFiles(init);\n return resolveProfileData(getProfileName({\n profile: init.profile ?? callerClientConfig?.profile,\n }), profiles, init, callerClientConfig);\n};\n", | ||
| "import { CredentialsProviderError } from \"@smithy/core/config\";\nimport { isAssumeRoleProfile, resolveAssumeRoleCredentials } from \"./resolveAssumeRoleCredentials\";\nimport { isLoginProfile, resolveLoginCredentials } from \"./resolveLoginCredentials\";\nimport { isProcessProfile, resolveProcessCredentials } from \"./resolveProcessCredentials\";\nimport { isSsoProfile, resolveSsoCredentials } from \"./resolveSsoCredentials\";\nimport { isStaticCredsProfile, resolveStaticCredentials } from \"./resolveStaticCredentials\";\nimport { isWebIdentityProfile, resolveWebIdentityCredentials } from \"./resolveWebIdentityCredentials\";\nexport const resolveProfileData = async (profileName, profiles, options, callerClientConfig, visitedProfiles = {}, isAssumeRoleRecursiveCall = false) => {\n const data = profiles[profileName];\n if (Object.keys(visitedProfiles).length > 0 && isStaticCredsProfile(data)) {\n return resolveStaticCredentials(data, options);\n }\n if (isAssumeRoleRecursiveCall || isAssumeRoleProfile(data, { profile: profileName, logger: options.logger })) {\n return resolveAssumeRoleCredentials(profileName, profiles, options, callerClientConfig, visitedProfiles, resolveProfileData);\n }\n if (isStaticCredsProfile(data)) {\n return resolveStaticCredentials(data, options);\n }\n if (isWebIdentityProfile(data)) {\n return resolveWebIdentityCredentials(data, options, callerClientConfig);\n }\n if (isProcessProfile(data)) {\n return resolveProcessCredentials(options, profileName);\n }\n if (isSsoProfile(data)) {\n return await resolveSsoCredentials(profileName, data, options, callerClientConfig);\n }\n if (isLoginProfile(data)) {\n return resolveLoginCredentials(profileName, options, callerClientConfig);\n }\n throw new CredentialsProviderError(`Could not resolve credentials using profile: [${profileName}] in configuration/credentials file(s).`, { logger: options.logger });\n};\n", | ||
| "import { setCredentialFeature } from \"@aws-sdk/core/client\";\nimport { CredentialsProviderError, getProfileName } from \"@smithy/core/config\";\nimport { resolveCredentialSource } from \"./resolveCredentialSource\";\nexport const isAssumeRoleProfile = (arg, { profile = \"default\", logger } = {}) => {\n return (Boolean(arg) &&\n typeof arg === \"object\" &&\n typeof arg.role_arn === \"string\" &&\n [\"undefined\", \"string\"].indexOf(typeof arg.role_session_name) > -1 &&\n [\"undefined\", \"string\"].indexOf(typeof arg.external_id) > -1 &&\n [\"undefined\", \"string\"].indexOf(typeof arg.mfa_serial) > -1 &&\n (isAssumeRoleWithSourceProfile(arg, { profile, logger }) || isCredentialSourceProfile(arg, { profile, logger })));\n};\nconst isAssumeRoleWithSourceProfile = (arg, { profile, logger }) => {\n const withSourceProfile = typeof arg.source_profile === \"string\" && typeof arg.credential_source === \"undefined\";\n if (withSourceProfile) {\n logger?.debug?.(` ${profile} isAssumeRoleWithSourceProfile source_profile=${arg.source_profile}`);\n }\n return withSourceProfile;\n};\nconst isCredentialSourceProfile = (arg, { profile, logger }) => {\n const withProviderProfile = typeof arg.credential_source === \"string\" && typeof arg.source_profile === \"undefined\";\n if (withProviderProfile) {\n logger?.debug?.(` ${profile} isCredentialSourceProfile credential_source=${arg.credential_source}`);\n }\n return withProviderProfile;\n};\nexport const resolveAssumeRoleCredentials = async (profileName, profiles, options, callerClientConfig, visitedProfiles = {}, resolveProfileData) => {\n options.logger?.debug(\"@aws-sdk/credential-provider-ini - resolveAssumeRoleCredentials (STS)\");\n const profileData = profiles[profileName];\n const { source_profile, region } = profileData;\n if (!options.roleAssumer) {\n const { getDefaultRoleAssumer } = await import(\"@aws-sdk/nested-clients/sts\");\n options.roleAssumer = getDefaultRoleAssumer({\n ...options.clientConfig,\n credentialProviderLogger: options.logger,\n parentClientConfig: {\n ...callerClientConfig,\n ...options?.parentClientConfig,\n region: region ?? options?.parentClientConfig?.region ?? callerClientConfig?.region,\n },\n }, options.clientPlugins);\n }\n if (source_profile && source_profile in visitedProfiles) {\n throw new CredentialsProviderError(`Detected a cycle attempting to resolve credentials for profile` +\n ` ${getProfileName(options)}. Profiles visited: ` +\n Object.keys(visitedProfiles).join(\", \"), { logger: options.logger });\n }\n options.logger?.debug(`@aws-sdk/credential-provider-ini - finding credential resolver using ${source_profile ? `source_profile=[${source_profile}]` : `profile=[${profileName}]`}`);\n const sourceCredsProvider = source_profile\n ? resolveProfileData(source_profile, profiles, options, callerClientConfig, {\n ...visitedProfiles,\n [source_profile]: true,\n }, isCredentialSourceWithoutRoleArn(profiles[source_profile] ?? {}))\n : (await resolveCredentialSource(profileData.credential_source, profileName, options.logger)(options))();\n if (isCredentialSourceWithoutRoleArn(profileData)) {\n return sourceCredsProvider.then((creds) => setCredentialFeature(creds, \"CREDENTIALS_PROFILE_SOURCE_PROFILE\", \"o\"));\n }\n else {\n const params = {\n RoleArn: profileData.role_arn,\n RoleSessionName: profileData.role_session_name || `aws-sdk-js-${Date.now()}`,\n ExternalId: profileData.external_id,\n DurationSeconds: parseInt(profileData.duration_seconds || \"3600\", 10),\n };\n const { mfa_serial } = profileData;\n if (mfa_serial) {\n if (!options.mfaCodeProvider) {\n throw new CredentialsProviderError(`Profile ${profileName} requires multi-factor authentication, but no MFA code callback was provided.`, { logger: options.logger, tryNextLink: false });\n }\n params.SerialNumber = mfa_serial;\n params.TokenCode = await options.mfaCodeProvider(mfa_serial);\n }\n const sourceCreds = await sourceCredsProvider;\n return options.roleAssumer(sourceCreds, params).then((creds) => setCredentialFeature(creds, \"CREDENTIALS_PROFILE_SOURCE_PROFILE\", \"o\"));\n }\n};\nconst isCredentialSourceWithoutRoleArn = (section) => {\n return !section.role_arn && !!section.credential_source;\n};\n", | ||
| "import { setCredentialFeature } from \"@aws-sdk/core/client\";\nimport { chain, CredentialsProviderError } from \"@smithy/core/config\";\nexport const resolveCredentialSource = (credentialSource, profileName, logger) => {\n const sourceProvidersMap = {\n EcsContainer: async (options) => {\n const { fromHttp } = await import(\"@aws-sdk/credential-provider-http\");\n const { fromContainerMetadata } = await import(\"@smithy/credential-provider-imds\");\n logger?.debug(\"@aws-sdk/credential-provider-ini - credential_source is EcsContainer\");\n return async () => chain(fromHttp(options ?? {}), fromContainerMetadata(options))().then(setNamedProvider);\n },\n Ec2InstanceMetadata: async (options) => {\n logger?.debug(\"@aws-sdk/credential-provider-ini - credential_source is Ec2InstanceMetadata\");\n const { fromInstanceMetadata } = await import(\"@smithy/credential-provider-imds\");\n return async () => fromInstanceMetadata(options)().then(setNamedProvider);\n },\n Environment: async (options) => {\n logger?.debug(\"@aws-sdk/credential-provider-ini - credential_source is Environment\");\n const { fromEnv } = await import(\"@aws-sdk/credential-provider-env\");\n return async () => fromEnv(options)().then(setNamedProvider);\n },\n };\n if (credentialSource in sourceProvidersMap) {\n return sourceProvidersMap[credentialSource];\n }\n else {\n throw new CredentialsProviderError(`Unsupported credential source in profile ${profileName}. Got ${credentialSource}, ` +\n `expected EcsContainer or Ec2InstanceMetadata or Environment.`, { logger });\n }\n};\nconst setNamedProvider = (creds) => setCredentialFeature(creds, \"CREDENTIALS_PROFILE_NAMED_PROVIDER\", \"p\");\n", | ||
| "import { setCredentialFeature } from \"@aws-sdk/core/client\";\nimport { fromLoginCredentials } from \"@aws-sdk/credential-provider-login\";\nexport const isLoginProfile = (data) => {\n return Boolean(data && data.login_session);\n};\nexport const resolveLoginCredentials = async (profileName, options, callerClientConfig) => {\n const credentials = await fromLoginCredentials({\n ...options,\n profile: profileName,\n })({ callerClientConfig });\n return setCredentialFeature(credentials, \"CREDENTIALS_PROFILE_LOGIN\", \"AC\");\n};\n", | ||
| "import { setCredentialFeature } from \"@aws-sdk/core/client\";\nimport { CredentialsProviderError, getProfileName, parseKnownFiles } from \"@smithy/core/config\";\nimport { LoginCredentialsFetcher } from \"./LoginCredentialsFetcher\";\nexport const fromLoginCredentials = (init) => async ({ callerClientConfig } = {}) => {\n init?.logger?.debug?.(\"@aws-sdk/credential-providers - fromLoginCredentials\");\n const profiles = await parseKnownFiles(init || {});\n const profileName = getProfileName({\n profile: init?.profile ?? callerClientConfig?.profile,\n });\n const profile = profiles[profileName];\n if (!profile?.login_session) {\n throw new CredentialsProviderError(`Profile ${profileName} does not contain login_session.`, {\n tryNextLink: true,\n logger: init?.logger,\n });\n }\n const fetcher = new LoginCredentialsFetcher(profile, init, callerClientConfig);\n const credentials = await fetcher.loadCredentials();\n return setCredentialFeature(credentials, \"CREDENTIALS_LOGIN\", \"AD\");\n};\n", | ||
| "import { CredentialsProviderError, readFile } from \"@smithy/core/config\";\nimport { HttpRequest } from \"@smithy/core/protocols\";\nimport { createHash, createPrivateKey, createPublicKey, sign } from \"node:crypto\";\nimport { promises as fs } from \"node:fs\";\nimport { homedir } from \"node:os\";\nimport { dirname, join } from \"node:path\";\nexport class LoginCredentialsFetcher {\n profileData;\n init;\n callerClientConfig;\n static REFRESH_THRESHOLD = 5 * 60 * 1000;\n constructor(profileData, init, callerClientConfig) {\n this.profileData = profileData;\n this.init = init;\n this.callerClientConfig = callerClientConfig;\n }\n async loadCredentials() {\n const token = await this.loadToken();\n if (!token) {\n throw new CredentialsProviderError(`Failed to load a token for session ${this.loginSession}, please re-authenticate using aws login`, { tryNextLink: false, logger: this.logger });\n }\n const accessToken = token.accessToken;\n const now = Date.now();\n const expiryTime = new Date(accessToken.expiresAt).getTime();\n const timeUntilExpiry = expiryTime - now;\n if (timeUntilExpiry <= LoginCredentialsFetcher.REFRESH_THRESHOLD) {\n return this.refresh(token);\n }\n return {\n accessKeyId: accessToken.accessKeyId,\n secretAccessKey: accessToken.secretAccessKey,\n sessionToken: accessToken.sessionToken,\n accountId: accessToken.accountId,\n expiration: new Date(accessToken.expiresAt),\n };\n }\n get logger() {\n return this.init?.logger;\n }\n get loginSession() {\n return this.profileData.login_session;\n }\n async refresh(token) {\n const { SigninClient, CreateOAuth2TokenCommand } = await import(\"@aws-sdk/nested-clients/signin\");\n const { logger, userAgentAppId } = this.callerClientConfig ?? {};\n const isH2 = (requestHandler) => {\n return requestHandler?.metadata?.handlerProtocol === \"h2\";\n };\n const requestHandler = isH2(this.callerClientConfig?.requestHandler)\n ? undefined\n : this.callerClientConfig?.requestHandler;\n const region = this.profileData.region ?? (await this.callerClientConfig?.region?.()) ?? process.env.AWS_REGION;\n const client = new SigninClient({\n credentials: {\n accessKeyId: \"\",\n secretAccessKey: \"\",\n },\n region,\n requestHandler,\n logger,\n userAgentAppId,\n ...this.init?.clientConfig,\n });\n this.createDPoPInterceptor(client.middlewareStack);\n const commandInput = {\n tokenInput: {\n clientId: token.clientId,\n refreshToken: token.refreshToken,\n grantType: \"refresh_token\",\n },\n };\n try {\n const response = await client.send(new CreateOAuth2TokenCommand(commandInput));\n const { accessKeyId, secretAccessKey, sessionToken } = response.tokenOutput?.accessToken ?? {};\n const { refreshToken, expiresIn } = response.tokenOutput ?? {};\n if (!accessKeyId || !secretAccessKey || !sessionToken || !refreshToken) {\n throw new CredentialsProviderError(\"Token refresh response missing required fields\", {\n logger: this.logger,\n tryNextLink: false,\n });\n }\n const expiresInMs = (expiresIn ?? 900) * 1000;\n const expiration = new Date(Date.now() + expiresInMs);\n const updatedToken = {\n ...token,\n accessToken: {\n ...token.accessToken,\n accessKeyId: accessKeyId,\n secretAccessKey: secretAccessKey,\n sessionToken: sessionToken,\n expiresAt: expiration.toISOString(),\n },\n refreshToken: refreshToken,\n };\n await this.saveToken(updatedToken);\n const newAccessToken = updatedToken.accessToken;\n return {\n accessKeyId: newAccessToken.accessKeyId,\n secretAccessKey: newAccessToken.secretAccessKey,\n sessionToken: newAccessToken.sessionToken,\n accountId: newAccessToken.accountId,\n expiration,\n };\n }\n catch (error) {\n if (error.name === \"AccessDeniedException\") {\n const errorType = error.error;\n let message;\n switch (errorType) {\n case \"TOKEN_EXPIRED\":\n message = \"Your session has expired. Please reauthenticate.\";\n break;\n case \"USER_CREDENTIALS_CHANGED\":\n message =\n \"Unable to refresh credentials because of a change in your password. Please reauthenticate with your new password.\";\n break;\n case \"INSUFFICIENT_PERMISSIONS\":\n message =\n \"Unable to refresh credentials due to insufficient permissions. You may be missing permission for the 'CreateOAuth2Token' action.\";\n break;\n default:\n message = `Failed to refresh token: ${String(error)}. Please re-authenticate using \\`aws login\\``;\n }\n throw new CredentialsProviderError(message, { logger: this.logger, tryNextLink: false });\n }\n throw new CredentialsProviderError(`Failed to refresh token: ${String(error)}. Please re-authenticate using aws login`, { logger: this.logger });\n }\n }\n async loadToken() {\n const tokenFilePath = this.getTokenFilePath();\n try {\n let tokenData;\n try {\n tokenData = await readFile(tokenFilePath, { ignoreCache: this.init?.ignoreCache });\n }\n catch {\n tokenData = await fs.readFile(tokenFilePath, \"utf8\");\n }\n const token = JSON.parse(tokenData);\n const missingFields = [\"accessToken\", \"clientId\", \"refreshToken\", \"dpopKey\"].filter((k) => !token[k]);\n if (!token.accessToken?.accountId) {\n missingFields.push(\"accountId\");\n }\n if (missingFields.length > 0) {\n throw new CredentialsProviderError(`Token validation failed, missing fields: ${missingFields.join(\", \")}`, {\n logger: this.logger,\n tryNextLink: false,\n });\n }\n return token;\n }\n catch (error) {\n throw new CredentialsProviderError(`Failed to load token from ${tokenFilePath}: ${String(error)}`, {\n logger: this.logger,\n tryNextLink: false,\n });\n }\n }\n async saveToken(token) {\n const tokenFilePath = this.getTokenFilePath();\n const directory = dirname(tokenFilePath);\n try {\n await fs.mkdir(directory, { recursive: true });\n }\n catch (error) {\n }\n await fs.writeFile(tokenFilePath, JSON.stringify(token, null, 2), \"utf8\");\n }\n getTokenFilePath() {\n const directory = process.env.AWS_LOGIN_CACHE_DIRECTORY ?? join(homedir(), \".aws\", \"login\", \"cache\");\n const loginSessionBytes = Buffer.from(this.loginSession, \"utf8\");\n const loginSessionSha256 = createHash(\"sha256\").update(loginSessionBytes).digest(\"hex\");\n return join(directory, `${loginSessionSha256}.json`);\n }\n derToRawSignature(derSignature) {\n let offset = 2;\n if (derSignature[offset] !== 0x02) {\n throw new Error(\"Invalid DER signature\");\n }\n offset++;\n const rLength = derSignature[offset++];\n let r = derSignature.subarray(offset, offset + rLength);\n offset += rLength;\n if (derSignature[offset] !== 0x02) {\n throw new Error(\"Invalid DER signature\");\n }\n offset++;\n const sLength = derSignature[offset++];\n let s = derSignature.subarray(offset, offset + sLength);\n r = r[0] === 0x00 ? r.subarray(1) : r;\n s = s[0] === 0x00 ? s.subarray(1) : s;\n const rPadded = Buffer.concat([Buffer.alloc(32 - r.length), r]);\n const sPadded = Buffer.concat([Buffer.alloc(32 - s.length), s]);\n return Buffer.concat([rPadded, sPadded]);\n }\n createDPoPInterceptor(middlewareStack) {\n middlewareStack.add((next) => async (args) => {\n if (HttpRequest.isInstance(args.request)) {\n const request = args.request;\n const actualEndpoint = `${request.protocol}//${request.hostname}${request.port ? `:${request.port}` : \"\"}${request.path}`;\n const dpop = await this.generateDpop(request.method, actualEndpoint);\n request.headers = {\n ...request.headers,\n DPoP: dpop,\n };\n }\n return next(args);\n }, {\n step: \"finalizeRequest\",\n name: \"dpopInterceptor\",\n override: true,\n });\n }\n async generateDpop(method = \"POST\", endpoint) {\n const token = await this.loadToken();\n try {\n const privateKey = createPrivateKey({\n key: token.dpopKey,\n format: \"pem\",\n type: \"sec1\",\n });\n const publicKey = createPublicKey(privateKey);\n const publicDer = publicKey.export({ format: \"der\", type: \"spki\" });\n let pointStart = -1;\n for (let i = 0; i < publicDer.length; i++) {\n if (publicDer[i] === 0x04) {\n pointStart = i;\n break;\n }\n }\n const x = publicDer.slice(pointStart + 1, pointStart + 33);\n const y = publicDer.slice(pointStart + 33, pointStart + 65);\n const header = {\n alg: \"ES256\",\n typ: \"dpop+jwt\",\n jwk: {\n kty: \"EC\",\n crv: \"P-256\",\n x: x.toString(\"base64url\"),\n y: y.toString(\"base64url\"),\n },\n };\n const payload = {\n jti: crypto.randomUUID(),\n htm: method,\n htu: endpoint,\n iat: Math.floor(Date.now() / 1000),\n };\n const headerB64 = Buffer.from(JSON.stringify(header)).toString(\"base64url\");\n const payloadB64 = Buffer.from(JSON.stringify(payload)).toString(\"base64url\");\n const message = `${headerB64}.${payloadB64}`;\n const asn1Signature = sign(\"sha256\", Buffer.from(message), privateKey);\n const rawSignature = this.derToRawSignature(asn1Signature);\n const signatureB64 = rawSignature.toString(\"base64url\");\n return `${message}.${signatureB64}`;\n }\n catch (error) {\n throw new CredentialsProviderError(`Failed to generate Dpop proof: ${error instanceof Error ? error.message : String(error)}`, { logger: this.logger, tryNextLink: false });\n }\n }\n}\n", | ||
| "import { setCredentialFeature } from \"@aws-sdk/core/client\";\nexport const isProcessProfile = (arg) => Boolean(arg) && typeof arg === \"object\" && typeof arg.credential_process === \"string\";\nexport const resolveProcessCredentials = async (options, profile) => import(\"@aws-sdk/credential-provider-process\").then(({ fromProcess }) => fromProcess({\n ...options,\n profile,\n})().then((creds) => setCredentialFeature(creds, \"CREDENTIALS_PROFILE_PROCESS\", \"v\")));\n", | ||
| "import { setCredentialFeature } from \"@aws-sdk/core/client\";\nexport const resolveSsoCredentials = async (profile, profileData, options = {}, callerClientConfig) => {\n const { fromSSO } = await import(\"@aws-sdk/credential-provider-sso\");\n return fromSSO({\n profile,\n logger: options.logger,\n parentClientConfig: options.parentClientConfig,\n clientConfig: options.clientConfig,\n })({\n callerClientConfig,\n }).then((creds) => {\n if (profileData.sso_session) {\n return setCredentialFeature(creds, \"CREDENTIALS_PROFILE_SSO\", \"r\");\n }\n else {\n return setCredentialFeature(creds, \"CREDENTIALS_PROFILE_SSO_LEGACY\", \"t\");\n }\n });\n};\nexport const isSsoProfile = (arg) => arg &&\n (typeof arg.sso_start_url === \"string\" ||\n typeof arg.sso_account_id === \"string\" ||\n typeof arg.sso_session === \"string\" ||\n typeof arg.sso_region === \"string\" ||\n typeof arg.sso_role_name === \"string\");\n", | ||
| "import { setCredentialFeature } from \"@aws-sdk/core/client\";\nexport const isStaticCredsProfile = (arg) => Boolean(arg) &&\n typeof arg === \"object\" &&\n typeof arg.aws_access_key_id === \"string\" &&\n typeof arg.aws_secret_access_key === \"string\" &&\n [\"undefined\", \"string\"].indexOf(typeof arg.aws_session_token) > -1 &&\n [\"undefined\", \"string\"].indexOf(typeof arg.aws_account_id) > -1;\nexport const resolveStaticCredentials = async (profile, options) => {\n options?.logger?.debug(\"@aws-sdk/credential-provider-ini - resolveStaticCredentials\");\n const credentials = {\n accessKeyId: profile.aws_access_key_id,\n secretAccessKey: profile.aws_secret_access_key,\n sessionToken: profile.aws_session_token,\n ...(profile.aws_credential_scope && { credentialScope: profile.aws_credential_scope }),\n ...(profile.aws_account_id && { accountId: profile.aws_account_id }),\n };\n return setCredentialFeature(credentials, \"CREDENTIALS_PROFILE\", \"n\");\n};\n", | ||
| "import { setCredentialFeature } from \"@aws-sdk/core/client\";\nexport const isWebIdentityProfile = (arg) => Boolean(arg) &&\n typeof arg === \"object\" &&\n typeof arg.web_identity_token_file === \"string\" &&\n typeof arg.role_arn === \"string\" &&\n [\"undefined\", \"string\"].indexOf(typeof arg.role_session_name) > -1;\nexport const resolveWebIdentityCredentials = async (profile, options, callerClientConfig) => import(\"@aws-sdk/credential-provider-web-identity\").then(({ fromTokenFile }) => fromTokenFile({\n webIdentityTokenFile: profile.web_identity_token_file,\n roleArn: profile.role_arn,\n roleSessionName: profile.role_session_name,\n roleAssumerWithWebIdentity: options.roleAssumerWithWebIdentity,\n logger: options.logger,\n parentClientConfig: options.parentClientConfig,\n})({\n callerClientConfig,\n}).then((creds) => setCredentialFeature(creds, \"CREDENTIALS_PROFILE_STS_WEB_ID_TOKEN\", \"q\")));\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "0D93FBCD990E031364756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@smithy+core@3.24.5/node_modules/@smithy/core/dist-cjs/submodules/event-streams/index.js"], | ||
| "sourcesContent": [ | ||
| "'use strict';\n\nvar crc32 = require('@aws-crypto/crc32');\nvar serde = require('@smithy/core/serde');\nvar node_stream = require('node:stream');\n\nclass Int64 {\n bytes;\n constructor(bytes) {\n this.bytes = bytes;\n if (bytes.byteLength !== 8) {\n throw new Error(\"Int64 buffers must be exactly 8 bytes\");\n }\n }\n static fromNumber(number) {\n if (number > 9_223_372_036_854_775_807 || number < -9223372036854776e3) {\n throw new Error(`${number} is too large (or, if negative, too small) to represent as an Int64`);\n }\n const bytes = new Uint8Array(8);\n for (let i = 7, remaining = Math.abs(Math.round(number)); i > -1 && remaining > 0; i--, remaining /= 256) {\n bytes[i] = remaining;\n }\n if (number < 0) {\n negate(bytes);\n }\n return new Int64(bytes);\n }\n valueOf() {\n const bytes = this.bytes.slice(0);\n const negative = bytes[0] & 0b10000000;\n if (negative) {\n negate(bytes);\n }\n return parseInt(serde.toHex(bytes), 16) * (negative ? -1 : 1);\n }\n toString() {\n return String(this.valueOf());\n }\n}\nfunction negate(bytes) {\n for (let i = 0; i < 8; i++) {\n bytes[i] ^= 0xff;\n }\n for (let i = 7; i > -1; i--) {\n bytes[i]++;\n if (bytes[i] !== 0)\n break;\n }\n}\n\nclass HeaderMarshaller {\n toUtf8;\n fromUtf8;\n constructor(toUtf8, fromUtf8) {\n this.toUtf8 = toUtf8;\n this.fromUtf8 = fromUtf8;\n }\n format(headers) {\n const chunks = [];\n for (const headerName of Object.keys(headers)) {\n const bytes = this.fromUtf8(headerName);\n chunks.push(Uint8Array.from([bytes.byteLength]), bytes, this.formatHeaderValue(headers[headerName]));\n }\n const out = new Uint8Array(chunks.reduce((carry, bytes) => carry + bytes.byteLength, 0));\n let position = 0;\n for (const chunk of chunks) {\n out.set(chunk, position);\n position += chunk.byteLength;\n }\n return out;\n }\n formatHeaderValue(header) {\n switch (header.type) {\n case \"boolean\":\n return Uint8Array.from([header.value ? 0 : 1]);\n case \"byte\":\n return Uint8Array.from([2, header.value]);\n case \"short\":\n const shortView = new DataView(new ArrayBuffer(3));\n shortView.setUint8(0, 3);\n shortView.setInt16(1, header.value, false);\n return new Uint8Array(shortView.buffer);\n case \"integer\":\n const intView = new DataView(new ArrayBuffer(5));\n intView.setUint8(0, 4);\n intView.setInt32(1, header.value, false);\n return new Uint8Array(intView.buffer);\n case \"long\":\n const longBytes = new Uint8Array(9);\n longBytes[0] = 5;\n longBytes.set(header.value.bytes, 1);\n return longBytes;\n case \"binary\":\n const binView = new DataView(new ArrayBuffer(3 + header.value.byteLength));\n binView.setUint8(0, 6);\n binView.setUint16(1, header.value.byteLength, false);\n const binBytes = new Uint8Array(binView.buffer);\n binBytes.set(header.value, 3);\n return binBytes;\n case \"string\":\n const utf8Bytes = this.fromUtf8(header.value);\n const strView = new DataView(new ArrayBuffer(3 + utf8Bytes.byteLength));\n strView.setUint8(0, 7);\n strView.setUint16(1, utf8Bytes.byteLength, false);\n const strBytes = new Uint8Array(strView.buffer);\n strBytes.set(utf8Bytes, 3);\n return strBytes;\n case \"timestamp\":\n const tsBytes = new Uint8Array(9);\n tsBytes[0] = 8;\n tsBytes.set(Int64.fromNumber(header.value.valueOf()).bytes, 1);\n return tsBytes;\n case \"uuid\":\n if (!UUID_PATTERN.test(header.value)) {\n throw new Error(`Invalid UUID received: ${header.value}`);\n }\n const uuidBytes = new Uint8Array(17);\n uuidBytes[0] = 9;\n uuidBytes.set(serde.fromHex(header.value.replace(/\\-/g, \"\")), 1);\n return uuidBytes;\n }\n }\n parse(headers) {\n const out = {};\n let position = 0;\n while (position < headers.byteLength) {\n const nameLength = headers.getUint8(position++);\n const name = this.toUtf8(new Uint8Array(headers.buffer, headers.byteOffset + position, nameLength));\n position += nameLength;\n switch (headers.getUint8(position++)) {\n case 0:\n out[name] = {\n type: BOOLEAN_TAG,\n value: true,\n };\n break;\n case 1:\n out[name] = {\n type: BOOLEAN_TAG,\n value: false,\n };\n break;\n case 2:\n out[name] = {\n type: BYTE_TAG,\n value: headers.getInt8(position++),\n };\n break;\n case 3:\n out[name] = {\n type: SHORT_TAG,\n value: headers.getInt16(position, false),\n };\n position += 2;\n break;\n case 4:\n out[name] = {\n type: INT_TAG,\n value: headers.getInt32(position, false),\n };\n position += 4;\n break;\n case 5:\n out[name] = {\n type: LONG_TAG,\n value: new Int64(new Uint8Array(headers.buffer, headers.byteOffset + position, 8)),\n };\n position += 8;\n break;\n case 6:\n const binaryLength = headers.getUint16(position, false);\n position += 2;\n out[name] = {\n type: BINARY_TAG,\n value: new Uint8Array(headers.buffer, headers.byteOffset + position, binaryLength),\n };\n position += binaryLength;\n break;\n case 7:\n const stringLength = headers.getUint16(position, false);\n position += 2;\n out[name] = {\n type: STRING_TAG,\n value: this.toUtf8(new Uint8Array(headers.buffer, headers.byteOffset + position, stringLength)),\n };\n position += stringLength;\n break;\n case 8:\n out[name] = {\n type: TIMESTAMP_TAG,\n value: new Date(new Int64(new Uint8Array(headers.buffer, headers.byteOffset + position, 8)).valueOf()),\n };\n position += 8;\n break;\n case 9:\n const uuidBytes = new Uint8Array(headers.buffer, headers.byteOffset + position, 16);\n position += 16;\n out[name] = {\n type: UUID_TAG,\n value: `${serde.toHex(uuidBytes.subarray(0, 4))}-${serde.toHex(uuidBytes.subarray(4, 6))}-${serde.toHex(uuidBytes.subarray(6, 8))}-${serde.toHex(uuidBytes.subarray(8, 10))}-${serde.toHex(uuidBytes.subarray(10))}`,\n };\n break;\n default:\n throw new Error(`Unrecognized header type tag`);\n }\n }\n return out;\n }\n}\nvar HEADER_VALUE_TYPE;\n(function (HEADER_VALUE_TYPE) {\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"boolTrue\"] = 0] = \"boolTrue\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"boolFalse\"] = 1] = \"boolFalse\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"byte\"] = 2] = \"byte\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"short\"] = 3] = \"short\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"integer\"] = 4] = \"integer\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"long\"] = 5] = \"long\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"byteArray\"] = 6] = \"byteArray\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"string\"] = 7] = \"string\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"timestamp\"] = 8] = \"timestamp\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"uuid\"] = 9] = \"uuid\";\n})(HEADER_VALUE_TYPE || (HEADER_VALUE_TYPE = {}));\nconst BOOLEAN_TAG = \"boolean\";\nconst BYTE_TAG = \"byte\";\nconst SHORT_TAG = \"short\";\nconst INT_TAG = \"integer\";\nconst LONG_TAG = \"long\";\nconst BINARY_TAG = \"binary\";\nconst STRING_TAG = \"string\";\nconst TIMESTAMP_TAG = \"timestamp\";\nconst UUID_TAG = \"uuid\";\nconst UUID_PATTERN = /^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;\n\nconst PRELUDE_MEMBER_LENGTH = 4;\nconst PRELUDE_LENGTH = PRELUDE_MEMBER_LENGTH * 2;\nconst CHECKSUM_LENGTH = 4;\nconst MINIMUM_MESSAGE_LENGTH = PRELUDE_LENGTH + CHECKSUM_LENGTH * 2;\nfunction splitMessage({ byteLength, byteOffset, buffer }) {\n if (byteLength < MINIMUM_MESSAGE_LENGTH) {\n throw new Error(\"Provided message too short to accommodate event stream message overhead\");\n }\n const view = new DataView(buffer, byteOffset, byteLength);\n const messageLength = view.getUint32(0, false);\n if (byteLength !== messageLength) {\n throw new Error(\"Reported message length does not match received message length\");\n }\n const headerLength = view.getUint32(PRELUDE_MEMBER_LENGTH, false);\n const expectedPreludeChecksum = view.getUint32(PRELUDE_LENGTH, false);\n const expectedMessageChecksum = view.getUint32(byteLength - CHECKSUM_LENGTH, false);\n const checksummer = new crc32.Crc32().update(new Uint8Array(buffer, byteOffset, PRELUDE_LENGTH));\n if (expectedPreludeChecksum !== checksummer.digest()) {\n throw new Error(`The prelude checksum specified in the message (${expectedPreludeChecksum}) does not match the calculated CRC32 checksum (${checksummer.digest()})`);\n }\n checksummer.update(new Uint8Array(buffer, byteOffset + PRELUDE_LENGTH, byteLength - (PRELUDE_LENGTH + CHECKSUM_LENGTH)));\n if (expectedMessageChecksum !== checksummer.digest()) {\n throw new Error(`The message checksum (${checksummer.digest()}) did not match the expected value of ${expectedMessageChecksum}`);\n }\n return {\n headers: new DataView(buffer, byteOffset + PRELUDE_LENGTH + CHECKSUM_LENGTH, headerLength),\n body: new Uint8Array(buffer, byteOffset + PRELUDE_LENGTH + CHECKSUM_LENGTH + headerLength, messageLength - headerLength - (PRELUDE_LENGTH + CHECKSUM_LENGTH + CHECKSUM_LENGTH)),\n };\n}\n\nclass EventStreamCodec {\n headerMarshaller;\n messageBuffer;\n isEndOfStream;\n constructor(toUtf8, fromUtf8) {\n this.headerMarshaller = new HeaderMarshaller(toUtf8, fromUtf8);\n this.messageBuffer = [];\n this.isEndOfStream = false;\n }\n feed(message) {\n this.messageBuffer.push(this.decode(message));\n }\n endOfStream() {\n this.isEndOfStream = true;\n }\n getMessage() {\n const message = this.messageBuffer.pop();\n const isEndOfStream = this.isEndOfStream;\n return {\n getMessage() {\n return message;\n },\n isEndOfStream() {\n return isEndOfStream;\n },\n };\n }\n getAvailableMessages() {\n const messages = this.messageBuffer;\n this.messageBuffer = [];\n const isEndOfStream = this.isEndOfStream;\n return {\n getMessages() {\n return messages;\n },\n isEndOfStream() {\n return isEndOfStream;\n },\n };\n }\n encode({ headers: rawHeaders, body }) {\n const headers = this.headerMarshaller.format(rawHeaders);\n const length = headers.byteLength + body.byteLength + 16;\n const out = new Uint8Array(length);\n const view = new DataView(out.buffer, out.byteOffset, out.byteLength);\n const checksum = new crc32.Crc32();\n view.setUint32(0, length, false);\n view.setUint32(4, headers.byteLength, false);\n view.setUint32(8, checksum.update(out.subarray(0, 8)).digest(), false);\n out.set(headers, 12);\n out.set(body, headers.byteLength + 12);\n view.setUint32(length - 4, checksum.update(out.subarray(8, length - 4)).digest(), false);\n return out;\n }\n decode(message) {\n const { headers, body } = splitMessage(message);\n return { headers: this.headerMarshaller.parse(headers), body };\n }\n formatHeaders(rawHeaders) {\n return this.headerMarshaller.format(rawHeaders);\n }\n}\n\nclass MessageDecoderStream {\n options;\n constructor(options) {\n this.options = options;\n }\n [Symbol.asyncIterator]() {\n return this.asyncIterator();\n }\n async *asyncIterator() {\n for await (const bytes of this.options.inputStream) {\n const decoded = this.options.decoder.decode(bytes);\n yield decoded;\n }\n }\n}\n\nclass MessageEncoderStream {\n options;\n constructor(options) {\n this.options = options;\n }\n [Symbol.asyncIterator]() {\n return this.asyncIterator();\n }\n async *asyncIterator() {\n for await (const msg of this.options.messageStream) {\n const encoded = this.options.encoder.encode(msg);\n yield encoded;\n }\n if (this.options.includeEndFrame) {\n yield new Uint8Array(0);\n }\n }\n}\n\nclass SmithyMessageDecoderStream {\n options;\n constructor(options) {\n this.options = options;\n }\n [Symbol.asyncIterator]() {\n return this.asyncIterator();\n }\n async *asyncIterator() {\n for await (const message of this.options.messageStream) {\n const deserialized = await this.options.deserializer(message);\n if (deserialized === undefined)\n continue;\n yield deserialized;\n }\n }\n}\n\nclass SmithyMessageEncoderStream {\n options;\n constructor(options) {\n this.options = options;\n }\n [Symbol.asyncIterator]() {\n return this.asyncIterator();\n }\n async *asyncIterator() {\n for await (const chunk of this.options.inputStream) {\n const payloadBuf = this.options.serializer(chunk);\n yield payloadBuf;\n }\n }\n}\n\nfunction getChunkedStream(source) {\n let currentMessageTotalLength = 0;\n let currentMessagePendingLength = 0;\n let currentMessage = null;\n let messageLengthBuffer = null;\n const allocateMessage = (size) => {\n if (typeof size !== \"number\") {\n throw new Error(\"Attempted to allocate an event message where size was not a number: \" + size);\n }\n currentMessageTotalLength = size;\n currentMessagePendingLength = 4;\n currentMessage = new Uint8Array(size);\n const currentMessageView = new DataView(currentMessage.buffer);\n currentMessageView.setUint32(0, size, false);\n };\n const iterator = async function* () {\n const sourceIterator = source[Symbol.asyncIterator]();\n while (true) {\n const { value, done } = await sourceIterator.next();\n if (done) {\n if (!currentMessageTotalLength) {\n return;\n }\n else if (currentMessageTotalLength === currentMessagePendingLength) {\n yield currentMessage;\n }\n else {\n throw new Error(\"Truncated event message received.\");\n }\n return;\n }\n const chunkLength = value.length;\n let currentOffset = 0;\n while (currentOffset < chunkLength) {\n if (!currentMessage) {\n const bytesRemaining = chunkLength - currentOffset;\n if (!messageLengthBuffer) {\n messageLengthBuffer = new Uint8Array(4);\n }\n const numBytesForTotal = Math.min(4 - currentMessagePendingLength, bytesRemaining);\n messageLengthBuffer.set(value.slice(currentOffset, currentOffset + numBytesForTotal), currentMessagePendingLength);\n currentMessagePendingLength += numBytesForTotal;\n currentOffset += numBytesForTotal;\n if (currentMessagePendingLength < 4) {\n break;\n }\n allocateMessage(new DataView(messageLengthBuffer.buffer).getUint32(0, false));\n messageLengthBuffer = null;\n }\n const numBytesToWrite = Math.min(currentMessageTotalLength - currentMessagePendingLength, chunkLength - currentOffset);\n currentMessage.set(value.slice(currentOffset, currentOffset + numBytesToWrite), currentMessagePendingLength);\n currentMessagePendingLength += numBytesToWrite;\n currentOffset += numBytesToWrite;\n if (currentMessageTotalLength && currentMessageTotalLength === currentMessagePendingLength) {\n yield currentMessage;\n currentMessage = null;\n currentMessageTotalLength = 0;\n currentMessagePendingLength = 0;\n }\n }\n }\n };\n return {\n [Symbol.asyncIterator]: iterator,\n };\n}\n\nfunction getUnmarshalledStream(source, options) {\n const messageUnmarshaller = getMessageUnmarshaller(options.deserializer, options.toUtf8);\n return {\n [Symbol.asyncIterator]: async function* () {\n for await (const chunk of source) {\n const message = options.eventStreamCodec.decode(chunk);\n const type = await messageUnmarshaller(message);\n if (type === undefined)\n continue;\n yield type;\n }\n },\n };\n}\nfunction getMessageUnmarshaller(deserializer, toUtf8) {\n return async function (message) {\n const { value: messageType } = message.headers[\":message-type\"];\n if (messageType === \"error\") {\n const unmodeledError = new Error(message.headers[\":error-message\"].value || \"UnknownError\");\n unmodeledError.name = message.headers[\":error-code\"].value;\n throw unmodeledError;\n }\n else if (messageType === \"exception\") {\n const code = message.headers[\":exception-type\"].value;\n const exception = { [code]: message };\n const deserializedException = await deserializer(exception);\n if (deserializedException.$unknown) {\n const error = new Error(toUtf8(message.body));\n error.name = code;\n throw error;\n }\n throw deserializedException[code];\n }\n else if (messageType === \"event\") {\n const event = {\n [message.headers[\":event-type\"].value]: message,\n };\n const deserialized = await deserializer(event);\n if (deserialized.$unknown)\n return;\n return deserialized;\n }\n else {\n throw Error(`Unrecognizable event type: ${message.headers[\":event-type\"].value}`);\n }\n };\n}\n\nlet EventStreamMarshaller$1 = class EventStreamMarshaller {\n eventStreamCodec;\n utfEncoder;\n constructor({ utf8Encoder, utf8Decoder }) {\n this.eventStreamCodec = new EventStreamCodec(utf8Encoder, utf8Decoder);\n this.utfEncoder = utf8Encoder;\n }\n deserialize(body, deserializer) {\n const inputStream = getChunkedStream(body);\n return new SmithyMessageDecoderStream({\n messageStream: new MessageDecoderStream({ inputStream, decoder: this.eventStreamCodec }),\n deserializer: getMessageUnmarshaller(deserializer, this.utfEncoder),\n });\n }\n serialize(inputStream, serializer) {\n return new MessageEncoderStream({\n messageStream: new SmithyMessageEncoderStream({ inputStream, serializer }),\n encoder: this.eventStreamCodec,\n includeEndFrame: true,\n });\n }\n};\nconst eventStreamSerdeProvider$1 = (options) => new EventStreamMarshaller$1(options);\n\nclass EventStreamMarshaller {\n universalMarshaller;\n constructor({ utf8Encoder, utf8Decoder }) {\n this.universalMarshaller = new EventStreamMarshaller$1({\n utf8Decoder,\n utf8Encoder,\n });\n }\n deserialize(body, deserializer) {\n const bodyIterable = typeof body[Symbol.asyncIterator] === \"function\" ? body : readableToIterable(body);\n return this.universalMarshaller.deserialize(bodyIterable, deserializer);\n }\n serialize(input, serializer) {\n return node_stream.Readable.from(this.universalMarshaller.serialize(input, serializer));\n }\n}\nconst eventStreamSerdeProvider = (options) => new EventStreamMarshaller(options);\nasync function* readableToIterable(readStream) {\n let streamEnded = false;\n let generationEnded = false;\n const records = new Array();\n readStream.on(\"error\", (err) => {\n if (!streamEnded) {\n streamEnded = true;\n }\n if (err) {\n throw err;\n }\n });\n readStream.on(\"data\", (data) => {\n records.push(data);\n });\n readStream.on(\"end\", () => {\n streamEnded = true;\n });\n while (!generationEnded) {\n const value = await new Promise((resolve) => setTimeout(() => resolve(records.shift()), 0));\n if (value) {\n yield value;\n }\n generationEnded = streamEnded && records.length === 0;\n }\n}\n\nconst readableStreamToIterable = (readableStream) => ({\n [Symbol.asyncIterator]: async function* () {\n const reader = readableStream.getReader();\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done)\n return;\n yield value;\n }\n }\n finally {\n reader.releaseLock();\n }\n },\n});\nconst iterableToReadableStream = (asyncIterable) => {\n const iterator = asyncIterable[Symbol.asyncIterator]();\n return new ReadableStream({\n async pull(controller) {\n const { done, value } = await iterator.next();\n if (done) {\n return controller.close();\n }\n controller.enqueue(value);\n },\n });\n};\n\nconst resolveEventStreamSerdeConfig = (input) => Object.assign(input, {\n eventStreamMarshaller: input.eventStreamSerdeProvider(input),\n});\n\nclass EventStreamSerde {\n marshaller;\n serializer;\n deserializer;\n serdeContext;\n defaultContentType;\n constructor({ marshaller, serializer, deserializer, serdeContext, defaultContentType, }) {\n this.marshaller = marshaller;\n this.serializer = serializer;\n this.deserializer = deserializer;\n this.serdeContext = serdeContext;\n this.defaultContentType = defaultContentType;\n }\n async serializeEventStream({ eventStream, requestSchema, initialRequest, }) {\n const marshaller = this.marshaller;\n const eventStreamMember = requestSchema.getEventStreamMember();\n const unionSchema = requestSchema.getMemberSchema(eventStreamMember);\n const serializer = this.serializer;\n const defaultContentType = this.defaultContentType;\n const initialRequestMarker = Symbol(\"initialRequestMarker\");\n const eventStreamIterable = {\n async *[Symbol.asyncIterator]() {\n if (initialRequest) {\n const headers = {\n \":event-type\": { type: \"string\", value: \"initial-request\" },\n \":message-type\": { type: \"string\", value: \"event\" },\n \":content-type\": { type: \"string\", value: defaultContentType },\n };\n serializer.write(requestSchema, initialRequest);\n const body = serializer.flush();\n yield {\n [initialRequestMarker]: true,\n headers,\n body,\n };\n }\n for await (const page of eventStream) {\n yield page;\n }\n },\n };\n return marshaller.serialize(eventStreamIterable, (event) => {\n if (event[initialRequestMarker]) {\n return {\n headers: event.headers,\n body: event.body,\n };\n }\n let unionMember = \"\";\n for (const key in event) {\n if (key !== \"__type\") {\n unionMember = key;\n break;\n }\n }\n const { additionalHeaders, body, eventType, explicitPayloadContentType } = this.writeEventBody(unionMember, unionSchema, event);\n const headers = {\n \":event-type\": { type: \"string\", value: eventType },\n \":message-type\": { type: \"string\", value: \"event\" },\n \":content-type\": { type: \"string\", value: explicitPayloadContentType ?? defaultContentType },\n ...additionalHeaders,\n };\n return {\n headers,\n body,\n };\n });\n }\n async deserializeEventStream({ response, responseSchema, initialResponseContainer, }) {\n const marshaller = this.marshaller;\n const eventStreamMember = responseSchema.getEventStreamMember();\n const unionSchema = responseSchema.getMemberSchema(eventStreamMember);\n const memberSchemas = unionSchema.getMemberSchemas();\n const initialResponseMarker = Symbol(\"initialResponseMarker\");\n const asyncIterable = marshaller.deserialize(response.body, async (event) => {\n let unionMember = \"\";\n for (const key in event) {\n if (key !== \"__type\") {\n unionMember = key;\n break;\n }\n }\n const body = event[unionMember].body;\n if (unionMember === \"initial-response\") {\n const dataObject = await this.deserializer.read(responseSchema, body);\n delete dataObject[eventStreamMember];\n return {\n [initialResponseMarker]: true,\n ...dataObject,\n };\n }\n else if (unionMember in memberSchemas) {\n const eventStreamSchema = memberSchemas[unionMember];\n if (eventStreamSchema.isStructSchema()) {\n const out = {};\n let hasBindings = false;\n for (const [name, member] of eventStreamSchema.structIterator()) {\n const { eventHeader, eventPayload } = member.getMergedTraits();\n hasBindings = hasBindings || Boolean(eventHeader || eventPayload);\n if (eventPayload) {\n if (member.isBlobSchema()) {\n out[name] = body;\n }\n else if (member.isStringSchema()) {\n out[name] = (this.serdeContext?.utf8Encoder ?? serde.toUtf8)(body);\n }\n else if (member.isStructSchema()) {\n out[name] = await this.deserializer.read(member, body);\n }\n }\n else if (eventHeader) {\n const value = event[unionMember].headers[name]?.value;\n if (value != null) {\n if (member.isNumericSchema()) {\n if (value && typeof value === \"object\" && \"bytes\" in value) {\n out[name] = BigInt(value.toString());\n }\n else {\n out[name] = Number(value);\n }\n }\n else {\n out[name] = value;\n }\n }\n }\n }\n if (hasBindings) {\n return {\n [unionMember]: out,\n };\n }\n if (body.byteLength === 0) {\n return {\n [unionMember]: {},\n };\n }\n }\n return {\n [unionMember]: await this.deserializer.read(eventStreamSchema, body),\n };\n }\n else {\n return {\n $unknown: event,\n };\n }\n });\n const asyncIterator = asyncIterable[Symbol.asyncIterator]();\n const firstEvent = await asyncIterator.next();\n if (firstEvent.done) {\n return asyncIterable;\n }\n if (firstEvent.value?.[initialResponseMarker]) {\n if (!responseSchema) {\n throw new Error(\"@smithy::core/protocols - initial-response event encountered in event stream but no response schema given.\");\n }\n for (const key in firstEvent.value) {\n initialResponseContainer[key] = firstEvent.value[key];\n }\n }\n return {\n async *[Symbol.asyncIterator]() {\n if (!firstEvent?.value?.[initialResponseMarker]) {\n yield firstEvent.value;\n }\n while (true) {\n const { done, value } = await asyncIterator.next();\n if (done) {\n break;\n }\n yield value;\n }\n },\n };\n }\n writeEventBody(unionMember, unionSchema, event) {\n const serializer = this.serializer;\n let eventType = unionMember;\n let explicitPayloadMember = null;\n let explicitPayloadContentType;\n const isKnownSchema = (() => {\n const struct = unionSchema.getSchema();\n return struct[4].includes(unionMember);\n })();\n const additionalHeaders = {};\n if (!isKnownSchema) {\n const [type, value] = event[unionMember];\n eventType = type;\n serializer.write(15, value);\n }\n else {\n const eventSchema = unionSchema.getMemberSchema(unionMember);\n if (eventSchema.isStructSchema()) {\n for (const [memberName, memberSchema] of eventSchema.structIterator()) {\n const { eventHeader, eventPayload } = memberSchema.getMergedTraits();\n if (eventPayload) {\n explicitPayloadMember = memberName;\n }\n else if (eventHeader) {\n const value = event[unionMember][memberName];\n let type = \"binary\";\n if (memberSchema.isNumericSchema()) {\n if ((-2) ** 31 <= value && value <= 2 ** 31 - 1) {\n type = \"integer\";\n }\n else {\n type = \"long\";\n }\n }\n else if (memberSchema.isTimestampSchema()) {\n type = \"timestamp\";\n }\n else if (memberSchema.isStringSchema()) {\n type = \"string\";\n }\n else if (memberSchema.isBooleanSchema()) {\n type = \"boolean\";\n }\n if (value != null) {\n additionalHeaders[memberName] = {\n type,\n value,\n };\n delete event[unionMember][memberName];\n }\n }\n }\n if (explicitPayloadMember !== null) {\n const payloadSchema = eventSchema.getMemberSchema(explicitPayloadMember);\n if (payloadSchema.isBlobSchema()) {\n explicitPayloadContentType = \"application/octet-stream\";\n }\n else if (payloadSchema.isStringSchema()) {\n explicitPayloadContentType = \"text/plain\";\n }\n serializer.write(payloadSchema, event[unionMember][explicitPayloadMember]);\n }\n else {\n serializer.write(eventSchema, event[unionMember]);\n }\n }\n else if (eventSchema.isUnitSchema()) {\n serializer.write(eventSchema, {});\n }\n else {\n throw new Error(\"@smithy/core/event-streams - non-struct member not supported in event stream union.\");\n }\n }\n const messageSerialization = serializer.flush() ?? new Uint8Array();\n const body = typeof messageSerialization === \"string\"\n ? (this.serdeContext?.utf8Decoder ?? serde.fromUtf8)(messageSerialization)\n : messageSerialization;\n return {\n body,\n eventType,\n explicitPayloadContentType,\n additionalHeaders,\n };\n }\n}\n\nexports.EventStreamCodec = EventStreamCodec;\nexports.EventStreamMarshaller = EventStreamMarshaller;\nexports.EventStreamSerde = EventStreamSerde;\nexports.HeaderMarshaller = HeaderMarshaller;\nexports.Int64 = Int64;\nexports.MessageDecoderStream = MessageDecoderStream;\nexports.MessageEncoderStream = MessageEncoderStream;\nexports.SmithyMessageDecoderStream = SmithyMessageDecoderStream;\nexports.SmithyMessageEncoderStream = SmithyMessageEncoderStream;\nexports.UniversalEventStreamMarshaller = EventStreamMarshaller$1;\nexports.eventStreamSerdeProvider = eventStreamSerdeProvider;\nexports.getChunkedStream = getChunkedStream;\nexports.getMessageUnmarshaller = getMessageUnmarshaller;\nexports.getUnmarshalledStream = getUnmarshalledStream;\nexports.iterableToReadableStream = iterableToReadableStream;\nexports.readableStreamToIterable = readableStreamToIterable;\nexports.resolveEventStreamSerdeConfig = resolveEventStreamSerdeConfig;\nexports.universalEventStreamSerdeProvider = eventStreamSerdeProvider$1;\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "3FF04B94A2E82EBA64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["src/env.ts"], | ||
| "sourcesContent": [ | ||
| "import { Config } from \"effect\"\n\n// Every environment variable the CLI reads, in one place. Consumers yield\n// these instead of touching process.env so the full surface stays visible,\n// typed, and redacted where secret.\n\n// The opencode server password: sent by clients connecting to an explicit\n// --server, and adopted by a manually run or standalone server. The legacy\n// name is still honored.\nexport const password = Config.redacted(\"OPENCODE_PASSWORD\").pipe(\n Config.orElse(() => Config.redacted(\"OPENCODE_SERVER_PASSWORD\")),\n Config.withDefault(undefined),\n)\n\nexport * as Env from \"./env\"\n" | ||
| ], | ||
| "mappings": ";4IASO,SAAM,EAAW,EAAO,SAAS,mBAAmB,EAAE,KAC3D,EAAO,OAAO,IAAM,EAAO,SAAS,0BAA0B,CAAC,EAC/D,EAAO,YAAY,MAAS,CAC9B", | ||
| "debugId": "D791A9A814C21B7E64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/aws4fetch@1.0.20/node_modules/aws4fetch/dist/aws4fetch.esm.mjs"], | ||
| "sourcesContent": [ | ||
| "/**\n * @license MIT <https://opensource.org/licenses/MIT>\n * @copyright Michael Hart 2024\n */\nconst encoder = new TextEncoder();\nconst HOST_SERVICES = {\n appstream2: 'appstream',\n cloudhsmv2: 'cloudhsm',\n email: 'ses',\n marketplace: 'aws-marketplace',\n mobile: 'AWSMobileHubService',\n pinpoint: 'mobiletargeting',\n queue: 'sqs',\n 'git-codecommit': 'codecommit',\n 'mturk-requester-sandbox': 'mturk-requester',\n 'personalize-runtime': 'personalize',\n};\nconst UNSIGNABLE_HEADERS = new Set([\n 'authorization',\n 'content-type',\n 'content-length',\n 'user-agent',\n 'presigned-expires',\n 'expect',\n 'x-amzn-trace-id',\n 'range',\n 'connection',\n]);\nclass AwsClient {\n constructor({ accessKeyId, secretAccessKey, sessionToken, service, region, cache, retries, initRetryMs }) {\n if (accessKeyId == null) throw new TypeError('accessKeyId is a required option')\n if (secretAccessKey == null) throw new TypeError('secretAccessKey is a required option')\n this.accessKeyId = accessKeyId;\n this.secretAccessKey = secretAccessKey;\n this.sessionToken = sessionToken;\n this.service = service;\n this.region = region;\n this.cache = cache || new Map();\n this.retries = retries != null ? retries : 10;\n this.initRetryMs = initRetryMs || 50;\n }\n async sign(input, init) {\n if (input instanceof Request) {\n const { method, url, headers, body } = input;\n init = Object.assign({ method, url, headers }, init);\n if (init.body == null && headers.has('Content-Type')) {\n init.body = body != null && headers.has('X-Amz-Content-Sha256') ? body : await input.clone().arrayBuffer();\n }\n input = url;\n }\n const signer = new AwsV4Signer(Object.assign({ url: input.toString() }, init, this, init && init.aws));\n const signed = Object.assign({}, init, await signer.sign());\n delete signed.aws;\n try {\n return new Request(signed.url.toString(), signed)\n } catch (e) {\n if (e instanceof TypeError) {\n return new Request(signed.url.toString(), Object.assign({ duplex: 'half' }, signed))\n }\n throw e\n }\n }\n async fetch(input, init) {\n for (let i = 0; i <= this.retries; i++) {\n const fetched = fetch(await this.sign(input, init));\n if (i === this.retries) {\n return fetched\n }\n const res = await fetched;\n if (res.status < 500 && res.status !== 429) {\n return res\n }\n await new Promise(resolve => setTimeout(resolve, Math.random() * this.initRetryMs * Math.pow(2, i)));\n }\n throw new Error('An unknown error occurred, ensure retries is not negative')\n }\n}\nclass AwsV4Signer {\n constructor({ method, url, headers, body, accessKeyId, secretAccessKey, sessionToken, service, region, cache, datetime, signQuery, appendSessionToken, allHeaders, singleEncode }) {\n if (url == null) throw new TypeError('url is a required option')\n if (accessKeyId == null) throw new TypeError('accessKeyId is a required option')\n if (secretAccessKey == null) throw new TypeError('secretAccessKey is a required option')\n this.method = method || (body ? 'POST' : 'GET');\n this.url = new URL(url);\n this.headers = new Headers(headers || {});\n this.body = body;\n this.accessKeyId = accessKeyId;\n this.secretAccessKey = secretAccessKey;\n this.sessionToken = sessionToken;\n let guessedService, guessedRegion;\n if (!service || !region) {\n[guessedService, guessedRegion] = guessServiceRegion(this.url, this.headers);\n }\n this.service = service || guessedService || '';\n this.region = region || guessedRegion || 'us-east-1';\n this.cache = cache || new Map();\n this.datetime = datetime || new Date().toISOString().replace(/[:-]|\\.\\d{3}/g, '');\n this.signQuery = signQuery;\n this.appendSessionToken = appendSessionToken || this.service === 'iotdevicegateway';\n this.headers.delete('Host');\n if (this.service === 's3' && !this.signQuery && !this.headers.has('X-Amz-Content-Sha256')) {\n this.headers.set('X-Amz-Content-Sha256', 'UNSIGNED-PAYLOAD');\n }\n const params = this.signQuery ? this.url.searchParams : this.headers;\n params.set('X-Amz-Date', this.datetime);\n if (this.sessionToken && !this.appendSessionToken) {\n params.set('X-Amz-Security-Token', this.sessionToken);\n }\n this.signableHeaders = ['host', ...this.headers.keys()]\n .filter(header => allHeaders || !UNSIGNABLE_HEADERS.has(header))\n .sort();\n this.signedHeaders = this.signableHeaders.join(';');\n this.canonicalHeaders = this.signableHeaders\n .map(header => header + ':' + (header === 'host' ? this.url.host : (this.headers.get(header) || '').replace(/\\s+/g, ' ')))\n .join('\\n');\n this.credentialString = [this.datetime.slice(0, 8), this.region, this.service, 'aws4_request'].join('/');\n if (this.signQuery) {\n if (this.service === 's3' && !params.has('X-Amz-Expires')) {\n params.set('X-Amz-Expires', '86400');\n }\n params.set('X-Amz-Algorithm', 'AWS4-HMAC-SHA256');\n params.set('X-Amz-Credential', this.accessKeyId + '/' + this.credentialString);\n params.set('X-Amz-SignedHeaders', this.signedHeaders);\n }\n if (this.service === 's3') {\n try {\n this.encodedPath = decodeURIComponent(this.url.pathname.replace(/\\+/g, ' '));\n } catch (e) {\n this.encodedPath = this.url.pathname;\n }\n } else {\n this.encodedPath = this.url.pathname.replace(/\\/+/g, '/');\n }\n if (!singleEncode) {\n this.encodedPath = encodeURIComponent(this.encodedPath).replace(/%2F/g, '/');\n }\n this.encodedPath = encodeRfc3986(this.encodedPath);\n const seenKeys = new Set();\n this.encodedSearch = [...this.url.searchParams]\n .filter(([k]) => {\n if (!k) return false\n if (this.service === 's3') {\n if (seenKeys.has(k)) return false\n seenKeys.add(k);\n }\n return true\n })\n .map(pair => pair.map(p => encodeRfc3986(encodeURIComponent(p))))\n .sort(([k1, v1], [k2, v2]) => k1 < k2 ? -1 : k1 > k2 ? 1 : v1 < v2 ? -1 : v1 > v2 ? 1 : 0)\n .map(pair => pair.join('='))\n .join('&');\n }\n async sign() {\n if (this.signQuery) {\n this.url.searchParams.set('X-Amz-Signature', await this.signature());\n if (this.sessionToken && this.appendSessionToken) {\n this.url.searchParams.set('X-Amz-Security-Token', this.sessionToken);\n }\n } else {\n this.headers.set('Authorization', await this.authHeader());\n }\n return {\n method: this.method,\n url: this.url,\n headers: this.headers,\n body: this.body,\n }\n }\n async authHeader() {\n return [\n 'AWS4-HMAC-SHA256 Credential=' + this.accessKeyId + '/' + this.credentialString,\n 'SignedHeaders=' + this.signedHeaders,\n 'Signature=' + (await this.signature()),\n ].join(', ')\n }\n async signature() {\n const date = this.datetime.slice(0, 8);\n const cacheKey = [this.secretAccessKey, date, this.region, this.service].join();\n let kCredentials = this.cache.get(cacheKey);\n if (!kCredentials) {\n const kDate = await hmac('AWS4' + this.secretAccessKey, date);\n const kRegion = await hmac(kDate, this.region);\n const kService = await hmac(kRegion, this.service);\n kCredentials = await hmac(kService, 'aws4_request');\n this.cache.set(cacheKey, kCredentials);\n }\n return buf2hex(await hmac(kCredentials, await this.stringToSign()))\n }\n async stringToSign() {\n return [\n 'AWS4-HMAC-SHA256',\n this.datetime,\n this.credentialString,\n buf2hex(await hash(await this.canonicalString())),\n ].join('\\n')\n }\n async canonicalString() {\n return [\n this.method.toUpperCase(),\n this.encodedPath,\n this.encodedSearch,\n this.canonicalHeaders + '\\n',\n this.signedHeaders,\n await this.hexBodyHash(),\n ].join('\\n')\n }\n async hexBodyHash() {\n let hashHeader = this.headers.get('X-Amz-Content-Sha256') || (this.service === 's3' && this.signQuery ? 'UNSIGNED-PAYLOAD' : null);\n if (hashHeader == null) {\n if (this.body && typeof this.body !== 'string' && !('byteLength' in this.body)) {\n throw new Error('body must be a string, ArrayBuffer or ArrayBufferView, unless you include the X-Amz-Content-Sha256 header')\n }\n hashHeader = buf2hex(await hash(this.body || ''));\n }\n return hashHeader\n }\n}\nasync function hmac(key, string) {\n const cryptoKey = await crypto.subtle.importKey(\n 'raw',\n typeof key === 'string' ? encoder.encode(key) : key,\n { name: 'HMAC', hash: { name: 'SHA-256' } },\n false,\n ['sign'],\n );\n return crypto.subtle.sign('HMAC', cryptoKey, encoder.encode(string))\n}\nasync function hash(content) {\n return crypto.subtle.digest('SHA-256', typeof content === 'string' ? encoder.encode(content) : content)\n}\nconst HEX_CHARS = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'];\nfunction buf2hex(arrayBuffer) {\n const buffer = new Uint8Array(arrayBuffer);\n let out = '';\n for (let idx = 0; idx < buffer.length; idx++) {\n const n = buffer[idx];\n out += HEX_CHARS[(n >>> 4) & 0xF];\n out += HEX_CHARS[n & 0xF];\n }\n return out\n}\nfunction encodeRfc3986(urlEncodedStr) {\n return urlEncodedStr.replace(/[!'()*]/g, c => '%' + c.charCodeAt(0).toString(16).toUpperCase())\n}\nfunction guessServiceRegion(url, headers) {\n const { hostname, pathname } = url;\n if (hostname.endsWith('.on.aws')) {\n const match = hostname.match(/^[^.]{1,63}\\.lambda-url\\.([^.]{1,63})\\.on\\.aws$/);\n return match != null ? ['lambda', match[1] || ''] : ['', '']\n }\n if (hostname.endsWith('.r2.cloudflarestorage.com')) {\n return ['s3', 'auto']\n }\n if (hostname.endsWith('.backblazeb2.com')) {\n const match = hostname.match(/^(?:[^.]{1,63}\\.)?s3\\.([^.]{1,63})\\.backblazeb2\\.com$/);\n return match != null ? ['s3', match[1] || ''] : ['', '']\n }\n const match = hostname.replace('dualstack.', '').match(/([^.]{1,63})\\.(?:([^.]{0,63})\\.)?amazonaws\\.com(?:\\.cn)?$/);\n let service = (match && match[1]) || '';\n let region = match && match[2];\n if (region === 'us-gov') {\n region = 'us-gov-west-1';\n } else if (region === 's3' || region === 's3-accelerate') {\n region = 'us-east-1';\n service = 's3';\n } else if (service === 'iot') {\n if (hostname.startsWith('iot.')) {\n service = 'execute-api';\n } else if (hostname.startsWith('data.jobs.iot.')) {\n service = 'iot-jobs-data';\n } else {\n service = pathname === '/mqtt' ? 'iotdevicegateway' : 'iotdata';\n }\n } else if (service === 'autoscaling') {\n const targetPrefix = (headers.get('X-Amz-Target') || '').split('.')[0];\n if (targetPrefix === 'AnyScaleFrontendService') {\n service = 'application-autoscaling';\n } else if (targetPrefix === 'AnyScaleScalingPlannerFrontendService') {\n service = 'autoscaling-plans';\n }\n } else if (region == null && service.startsWith('s3-')) {\n region = service.slice(3).replace(/^fips-|^external-1/, '');\n service = 's3';\n } else if (service.endsWith('-fips')) {\n service = service.slice(0, -5);\n } else if (region && /-\\d$/.test(service) && !/-\\d$/.test(region)) {\n[service, region] = [region, service];\n }\n return [HOST_SERVICES[service] || service, region || '']\n}\n\nexport { AwsClient, AwsV4Signer };\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "D3133DAC8BD797B564756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@smithy+core@3.24.5/node_modules/@smithy/core/dist-cjs/submodules/protocols/index.js"], | ||
| "sourcesContent": [ | ||
| "'use strict';\n\nvar serde = require('@smithy/core/serde');\nvar schema = require('@smithy/core/schema');\nvar transport = require('@smithy/core/transport');\nvar types = require('@smithy/types');\n\nconst collectBody = async (streamBody = new Uint8Array(), context) => {\n if (streamBody instanceof Uint8Array) {\n return serde.Uint8ArrayBlobAdapter.mutate(streamBody);\n }\n if (!streamBody) {\n return serde.Uint8ArrayBlobAdapter.mutate(new Uint8Array());\n }\n const fromContext = context.streamCollector(streamBody);\n return serde.Uint8ArrayBlobAdapter.mutate(await fromContext);\n};\n\nfunction extendedEncodeURIComponent(str) {\n return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\n return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n });\n}\n\nclass SerdeContext {\n serdeContext;\n setSerdeContext(serdeContext) {\n this.serdeContext = serdeContext;\n }\n}\n\nclass HttpProtocol extends SerdeContext {\n options;\n compositeErrorRegistry;\n constructor(options) {\n super();\n this.options = options;\n this.compositeErrorRegistry = schema.TypeRegistry.for(options.defaultNamespace);\n for (const etr of options.errorTypeRegistries ?? []) {\n this.compositeErrorRegistry.copyFrom(etr);\n }\n }\n getRequestType() {\n return transport.HttpRequest;\n }\n getResponseType() {\n return transport.HttpResponse;\n }\n setSerdeContext(serdeContext) {\n this.serdeContext = serdeContext;\n this.serializer.setSerdeContext(serdeContext);\n this.deserializer.setSerdeContext(serdeContext);\n if (this.getPayloadCodec()) {\n this.getPayloadCodec().setSerdeContext(serdeContext);\n }\n }\n updateServiceEndpoint(request, endpoint) {\n if (\"url\" in endpoint) {\n request.protocol = endpoint.url.protocol;\n request.hostname = endpoint.url.hostname;\n request.port = endpoint.url.port ? Number(endpoint.url.port) : undefined;\n request.path = endpoint.url.pathname;\n request.fragment = endpoint.url.hash || void 0;\n request.username = endpoint.url.username || void 0;\n request.password = endpoint.url.password || void 0;\n if (!request.query) {\n request.query = {};\n }\n for (const [k, v] of endpoint.url.searchParams.entries()) {\n request.query[k] = v;\n }\n if (endpoint.headers) {\n for (const name in endpoint.headers) {\n request.headers[name] = endpoint.headers[name].join(\", \");\n }\n }\n return request;\n }\n else {\n request.protocol = endpoint.protocol;\n request.hostname = endpoint.hostname;\n request.port = endpoint.port ? Number(endpoint.port) : undefined;\n request.path = endpoint.path;\n request.query = {\n ...endpoint.query,\n };\n if (endpoint.headers) {\n for (const name in endpoint.headers) {\n request.headers[name] = endpoint.headers[name];\n }\n }\n return request;\n }\n }\n setHostPrefix(request, operationSchema, input) {\n if (this.serdeContext?.disableHostPrefix) {\n return;\n }\n const inputNs = schema.NormalizedSchema.of(operationSchema.input);\n const opTraits = schema.translateTraits(operationSchema.traits ?? {});\n if (opTraits.endpoint) {\n let hostPrefix = opTraits.endpoint?.[0];\n if (typeof hostPrefix === \"string\") {\n for (const [name, member] of inputNs.structIterator()) {\n if (!member.getMergedTraits().hostLabel) {\n continue;\n }\n const replacement = input[name];\n if (typeof replacement !== \"string\") {\n throw new Error(`@smithy/core/schema - ${name} in input must be a string as hostLabel.`);\n }\n hostPrefix = hostPrefix.replace(`{${name}}`, replacement);\n }\n request.hostname = hostPrefix + request.hostname;\n }\n }\n }\n deserializeMetadata(output) {\n return {\n httpStatusCode: output.statusCode,\n requestId: output.headers[\"x-amzn-requestid\"] ?? output.headers[\"x-amzn-request-id\"] ?? output.headers[\"x-amz-request-id\"],\n extendedRequestId: output.headers[\"x-amz-id-2\"],\n cfId: output.headers[\"x-amz-cf-id\"],\n };\n }\n async serializeEventStream({ eventStream, requestSchema, initialRequest, }) {\n const eventStreamSerde = await this.loadEventStreamCapability();\n return eventStreamSerde.serializeEventStream({\n eventStream,\n requestSchema,\n initialRequest,\n });\n }\n async deserializeEventStream({ response, responseSchema, initialResponseContainer, }) {\n const eventStreamSerde = await this.loadEventStreamCapability();\n return eventStreamSerde.deserializeEventStream({\n response,\n responseSchema,\n initialResponseContainer,\n });\n }\n async loadEventStreamCapability() {\n const { EventStreamSerde } = await import('@smithy/core/event-streams');\n return new EventStreamSerde({\n marshaller: this.getEventStreamMarshaller(),\n serializer: this.serializer,\n deserializer: this.deserializer,\n serdeContext: this.serdeContext,\n defaultContentType: this.getDefaultContentType(),\n });\n }\n getDefaultContentType() {\n throw new Error(`@smithy/core/protocols - ${this.constructor.name} getDefaultContentType() implementation missing.`);\n }\n async deserializeHttpMessage(schema, context, response, arg4, arg5) {\n return [];\n }\n getEventStreamMarshaller() {\n const context = this.serdeContext;\n if (!context.eventStreamMarshaller) {\n throw new Error(\"@smithy/core - HttpProtocol: eventStreamMarshaller missing in serdeContext.\");\n }\n return context.eventStreamMarshaller;\n }\n}\n\nclass HttpBindingProtocol extends HttpProtocol {\n async serializeRequest(operationSchema, _input, context) {\n const input = _input && typeof _input === \"object\" ? _input : {};\n const serializer = this.serializer;\n const query = {};\n const headers = {};\n const endpoint = await context.endpoint();\n const ns = schema.NormalizedSchema.of(operationSchema?.input);\n const payloadMemberNames = [];\n const payloadMemberSchemas = [];\n let hasNonHttpBindingMember = false;\n let payload;\n const request = new transport.HttpRequest({\n protocol: \"\",\n hostname: \"\",\n port: undefined,\n path: \"\",\n fragment: undefined,\n query: query,\n headers: headers,\n body: undefined,\n });\n if (endpoint) {\n this.updateServiceEndpoint(request, endpoint);\n this.setHostPrefix(request, operationSchema, input);\n const opTraits = schema.translateTraits(operationSchema.traits);\n if (opTraits.http) {\n request.method = opTraits.http[0];\n const [path, search] = opTraits.http[1].split(\"?\");\n if (request.path == \"/\") {\n request.path = path;\n }\n else {\n request.path += path;\n }\n const traitSearchParams = new URLSearchParams(search ?? \"\");\n for (const [key, value] of traitSearchParams) {\n query[key] = value;\n }\n }\n }\n for (const [memberName, memberNs] of ns.structIterator()) {\n const memberTraits = memberNs.getMergedTraits() ?? {};\n const inputMemberValue = input[memberName];\n if (inputMemberValue == null && !memberNs.isIdempotencyToken()) {\n if (memberTraits.httpLabel) {\n if (request.path.includes(`{${memberName}+}`) || request.path.includes(`{${memberName}}`)) {\n throw new Error(`No value provided for input HTTP label: ${memberName}.`);\n }\n }\n continue;\n }\n if (memberTraits.httpPayload) {\n const isStreaming = memberNs.isStreaming();\n if (isStreaming) {\n const isEventStream = memberNs.isStructSchema();\n if (isEventStream) {\n if (input[memberName]) {\n payload = await this.serializeEventStream({\n eventStream: input[memberName],\n requestSchema: ns,\n });\n }\n }\n else {\n payload = inputMemberValue;\n }\n }\n else {\n serializer.write(memberNs, inputMemberValue);\n payload = serializer.flush();\n }\n }\n else if (memberTraits.httpLabel) {\n serializer.write(memberNs, inputMemberValue);\n const replacement = serializer.flush();\n if (request.path.includes(`{${memberName}+}`)) {\n request.path = request.path.replace(`{${memberName}+}`, replacement.split(\"/\").map(extendedEncodeURIComponent).join(\"/\"));\n }\n else if (request.path.includes(`{${memberName}}`)) {\n request.path = request.path.replace(`{${memberName}}`, extendedEncodeURIComponent(replacement));\n }\n }\n else if (memberTraits.httpHeader) {\n serializer.write(memberNs, inputMemberValue);\n headers[memberTraits.httpHeader.toLowerCase()] = String(serializer.flush());\n }\n else if (typeof memberTraits.httpPrefixHeaders === \"string\") {\n for (const key in inputMemberValue) {\n const val = inputMemberValue[key];\n const amalgam = memberTraits.httpPrefixHeaders + key;\n serializer.write([memberNs.getValueSchema(), { httpHeader: amalgam }], val);\n headers[amalgam.toLowerCase()] = serializer.flush();\n }\n }\n else if (memberTraits.httpQuery || memberTraits.httpQueryParams) {\n this.serializeQuery(memberNs, inputMemberValue, query);\n }\n else {\n hasNonHttpBindingMember = true;\n payloadMemberNames.push(memberName);\n payloadMemberSchemas.push(memberNs);\n }\n }\n if (hasNonHttpBindingMember && input) {\n const [namespace, name] = (ns.getName(true) ?? \"#Unknown\").split(\"#\");\n const requiredMembers = ns.getSchema()[6];\n const payloadSchema = [\n 3,\n namespace,\n name,\n ns.getMergedTraits(),\n payloadMemberNames,\n payloadMemberSchemas,\n undefined,\n ];\n if (requiredMembers) {\n payloadSchema[6] = requiredMembers;\n }\n else {\n payloadSchema.pop();\n }\n serializer.write(payloadSchema, input);\n payload = serializer.flush();\n }\n request.headers = headers;\n request.query = query;\n request.body = payload;\n return request;\n }\n serializeQuery(ns, data, query) {\n const serializer = this.serializer;\n const traits = ns.getMergedTraits();\n if (traits.httpQueryParams) {\n for (const key in data) {\n if (!(key in query)) {\n const val = data[key];\n const valueSchema = ns.getValueSchema();\n Object.assign(valueSchema.getMergedTraits(), {\n ...traits,\n httpQuery: key,\n httpQueryParams: undefined,\n });\n this.serializeQuery(valueSchema, val, query);\n }\n }\n return;\n }\n if (ns.isListSchema()) {\n const sparse = !!ns.getMergedTraits().sparse;\n const buffer = [];\n for (const item of data) {\n serializer.write([ns.getValueSchema(), traits], item);\n const serializable = serializer.flush();\n if (sparse || serializable !== undefined) {\n buffer.push(serializable);\n }\n }\n query[traits.httpQuery] = buffer;\n }\n else {\n serializer.write([ns, traits], data);\n query[traits.httpQuery] = serializer.flush();\n }\n }\n async deserializeResponse(operationSchema, context, response) {\n const deserializer = this.deserializer;\n const ns = schema.NormalizedSchema.of(operationSchema.output);\n const dataObject = {};\n if (response.statusCode >= 300) {\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n Object.assign(dataObject, await deserializer.read(15, bytes));\n }\n await this.handleError(operationSchema, context, response, dataObject, this.deserializeMetadata(response));\n throw new Error(\"@smithy/core/protocols - HTTP Protocol error handler failed to throw.\");\n }\n for (const header in response.headers) {\n const value = response.headers[header];\n delete response.headers[header];\n response.headers[header.toLowerCase()] = value;\n }\n const nonHttpBindingMembers = await this.deserializeHttpMessage(ns, context, response, dataObject);\n if (nonHttpBindingMembers.length) {\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n const dataFromBody = await deserializer.read(ns, bytes);\n for (const member of nonHttpBindingMembers) {\n if (dataFromBody[member] != null) {\n dataObject[member] = dataFromBody[member];\n }\n }\n }\n }\n else if (nonHttpBindingMembers.discardResponseBody) {\n await collectBody(response.body, context);\n }\n dataObject.$metadata = this.deserializeMetadata(response);\n return dataObject;\n }\n async deserializeHttpMessage(schema$1, context, response, arg4, arg5) {\n let dataObject;\n if (arg4 instanceof Set) {\n dataObject = arg5;\n }\n else {\n dataObject = arg4;\n }\n let discardResponseBody = true;\n const deserializer = this.deserializer;\n const ns = schema.NormalizedSchema.of(schema$1);\n const nonHttpBindingMembers = [];\n for (const [memberName, memberSchema] of ns.structIterator()) {\n const memberTraits = memberSchema.getMemberTraits();\n if (memberTraits.httpPayload) {\n discardResponseBody = false;\n const isStreaming = memberSchema.isStreaming();\n if (isStreaming) {\n const isEventStream = memberSchema.isStructSchema();\n if (isEventStream) {\n dataObject[memberName] = await this.deserializeEventStream({\n response,\n responseSchema: ns,\n });\n }\n else {\n dataObject[memberName] = serde.sdkStreamMixin(response.body);\n }\n }\n else if (response.body) {\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n dataObject[memberName] = await deserializer.read(memberSchema, bytes);\n }\n }\n }\n else if (memberTraits.httpHeader) {\n const key = String(memberTraits.httpHeader).toLowerCase();\n const value = response.headers[key];\n if (null != value) {\n if (memberSchema.isListSchema()) {\n const headerListValueSchema = memberSchema.getValueSchema();\n headerListValueSchema.getMergedTraits().httpHeader = key;\n let sections;\n if (headerListValueSchema.isTimestampSchema() &&\n headerListValueSchema.getSchema() === 4) {\n sections = serde.splitEvery(value, \",\", 2);\n }\n else {\n sections = serde.splitHeader(value);\n }\n const list = [];\n for (const section of sections) {\n list.push(await deserializer.read(headerListValueSchema, section.trim()));\n }\n dataObject[memberName] = list;\n }\n else {\n dataObject[memberName] = await deserializer.read(memberSchema, value);\n }\n }\n }\n else if (memberTraits.httpPrefixHeaders !== undefined) {\n dataObject[memberName] = {};\n for (const header in response.headers) {\n if (header.startsWith(memberTraits.httpPrefixHeaders)) {\n const value = response.headers[header];\n const valueSchema = memberSchema.getValueSchema();\n valueSchema.getMergedTraits().httpHeader = header;\n dataObject[memberName][header.slice(memberTraits.httpPrefixHeaders.length)] = await deserializer.read(valueSchema, value);\n }\n }\n }\n else if (memberTraits.httpResponseCode) {\n dataObject[memberName] = response.statusCode;\n }\n else {\n nonHttpBindingMembers.push(memberName);\n }\n }\n nonHttpBindingMembers.discardResponseBody = discardResponseBody;\n return nonHttpBindingMembers;\n }\n}\n\nclass RpcProtocol extends HttpProtocol {\n async serializeRequest(operationSchema, _input, context) {\n const serializer = this.serializer;\n const query = {};\n const headers = {};\n const endpoint = await context.endpoint();\n const ns = schema.NormalizedSchema.of(operationSchema?.input);\n const schema$1 = ns.getSchema();\n let payload;\n const input = _input && typeof _input === \"object\" ? _input : {};\n const request = new transport.HttpRequest({\n protocol: \"\",\n hostname: \"\",\n port: undefined,\n path: \"/\",\n fragment: undefined,\n query: query,\n headers: headers,\n body: undefined,\n });\n if (endpoint) {\n this.updateServiceEndpoint(request, endpoint);\n this.setHostPrefix(request, operationSchema, input);\n }\n if (input) {\n const eventStreamMember = ns.getEventStreamMember();\n if (eventStreamMember) {\n if (input[eventStreamMember]) {\n const initialRequest = {};\n for (const [memberName, memberSchema] of ns.structIterator()) {\n if (memberName !== eventStreamMember && input[memberName]) {\n serializer.write(memberSchema, input[memberName]);\n initialRequest[memberName] = serializer.flush();\n }\n }\n payload = await this.serializeEventStream({\n eventStream: input[eventStreamMember],\n requestSchema: ns,\n initialRequest,\n });\n }\n }\n else {\n serializer.write(schema$1, input);\n payload = serializer.flush();\n }\n }\n request.headers = Object.assign(request.headers, headers);\n request.query = query;\n request.body = payload;\n request.method = \"POST\";\n return request;\n }\n async deserializeResponse(operationSchema, context, response) {\n const deserializer = this.deserializer;\n const ns = schema.NormalizedSchema.of(operationSchema.output);\n const dataObject = {};\n if (response.statusCode >= 300) {\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n Object.assign(dataObject, await deserializer.read(15, bytes));\n }\n await this.handleError(operationSchema, context, response, dataObject, this.deserializeMetadata(response));\n throw new Error(\"@smithy/core/protocols - RPC Protocol error handler failed to throw.\");\n }\n for (const header in response.headers) {\n const value = response.headers[header];\n delete response.headers[header];\n response.headers[header.toLowerCase()] = value;\n }\n const eventStreamMember = ns.getEventStreamMember();\n if (eventStreamMember) {\n dataObject[eventStreamMember] = await this.deserializeEventStream({\n response,\n responseSchema: ns,\n initialResponseContainer: dataObject,\n });\n }\n else {\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n Object.assign(dataObject, await deserializer.read(ns, bytes));\n }\n }\n dataObject.$metadata = this.deserializeMetadata(response);\n return dataObject;\n }\n}\n\nconst resolvedPath = (resolvedPath, input, memberName, labelValueProvider, uriLabel, isGreedyLabel) => {\n if (input != null && input[memberName] !== undefined) {\n const labelValue = labelValueProvider();\n if (labelValue == null || labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: \" + memberName + \".\");\n }\n resolvedPath = resolvedPath.replace(uriLabel, isGreedyLabel\n ? labelValue\n .split(\"/\")\n .map((segment) => extendedEncodeURIComponent(segment))\n .join(\"/\")\n : extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: \" + memberName + \".\");\n }\n return resolvedPath;\n};\n\nfunction requestBuilder(input, context) {\n return new RequestBuilder(input, context);\n}\nclass RequestBuilder {\n input;\n context;\n query = {};\n method = \"\";\n headers = {};\n path = \"\";\n body = null;\n hostname = \"\";\n resolvePathStack = [];\n constructor(input, context) {\n this.input = input;\n this.context = context;\n }\n async build() {\n const { hostname, protocol = \"https\", port, path: basePath } = await this.context.endpoint();\n this.path = basePath;\n for (const resolvePath of this.resolvePathStack) {\n resolvePath(this.path);\n }\n return new transport.HttpRequest({\n protocol,\n hostname: this.hostname || hostname,\n port,\n method: this.method,\n path: this.path,\n query: this.query,\n body: this.body,\n headers: this.headers,\n });\n }\n hn(hostname) {\n this.hostname = hostname;\n return this;\n }\n bp(uriLabel) {\n this.resolvePathStack.push((basePath) => {\n this.path = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + uriLabel;\n });\n return this;\n }\n p(memberName, labelValueProvider, uriLabel, isGreedyLabel) {\n this.resolvePathStack.push((path) => {\n this.path = resolvedPath(path, this.input, memberName, labelValueProvider, uriLabel, isGreedyLabel);\n });\n return this;\n }\n h(headers) {\n this.headers = headers;\n return this;\n }\n q(query) {\n this.query = query;\n return this;\n }\n b(body) {\n this.body = body;\n return this;\n }\n m(method) {\n this.method = method;\n return this;\n }\n}\n\nfunction determineTimestampFormat(ns, settings) {\n if (settings.timestampFormat.useTrait) {\n if (ns.isTimestampSchema() &&\n (ns.getSchema() === 5 ||\n ns.getSchema() === 6 ||\n ns.getSchema() === 7)) {\n return ns.getSchema();\n }\n }\n const { httpLabel, httpPrefixHeaders, httpHeader, httpQuery } = ns.getMergedTraits();\n const bindingFormat = settings.httpBindings\n ? typeof httpPrefixHeaders === \"string\" || Boolean(httpHeader)\n ? 6\n : Boolean(httpQuery) || Boolean(httpLabel)\n ? 5\n : undefined\n : undefined;\n return bindingFormat ?? settings.timestampFormat.default;\n}\n\nclass FromStringShapeDeserializer extends SerdeContext {\n settings;\n constructor(settings) {\n super();\n this.settings = settings;\n }\n read(_schema, data) {\n const ns = schema.NormalizedSchema.of(_schema);\n if (ns.isListSchema()) {\n return serde.splitHeader(data).map((item) => this.read(ns.getValueSchema(), item));\n }\n if (ns.isBlobSchema()) {\n return (this.serdeContext?.base64Decoder ?? serde.fromBase64)(data);\n }\n if (ns.isTimestampSchema()) {\n const format = determineTimestampFormat(ns, this.settings);\n switch (format) {\n case 5:\n return serde._parseRfc3339DateTimeWithOffset(data);\n case 6:\n return serde._parseRfc7231DateTime(data);\n case 7:\n return serde._parseEpochTimestamp(data);\n default:\n console.warn(\"Missing timestamp format, parsing value with Date constructor:\", data);\n return new Date(data);\n }\n }\n if (ns.isStringSchema()) {\n const mediaType = ns.getMergedTraits().mediaType;\n let intermediateValue = data;\n if (mediaType) {\n if (ns.getMergedTraits().httpHeader) {\n intermediateValue = this.base64ToUtf8(intermediateValue);\n }\n const isJson = mediaType === \"application/json\" || mediaType.endsWith(\"+json\");\n if (isJson) {\n intermediateValue = serde.LazyJsonString.from(intermediateValue);\n }\n return intermediateValue;\n }\n }\n if (ns.isNumericSchema()) {\n return Number(data);\n }\n if (ns.isBigIntegerSchema()) {\n return BigInt(data);\n }\n if (ns.isBigDecimalSchema()) {\n return new serde.NumericValue(data, \"bigDecimal\");\n }\n if (ns.isBooleanSchema()) {\n return String(data).toLowerCase() === \"true\";\n }\n return data;\n }\n base64ToUtf8(base64String) {\n return (this.serdeContext?.utf8Encoder ?? serde.toUtf8)((this.serdeContext?.base64Decoder ?? serde.fromBase64)(base64String));\n }\n}\n\nclass HttpInterceptingShapeDeserializer extends SerdeContext {\n codecDeserializer;\n stringDeserializer;\n constructor(codecDeserializer, codecSettings) {\n super();\n this.codecDeserializer = codecDeserializer;\n this.stringDeserializer = new FromStringShapeDeserializer(codecSettings);\n }\n setSerdeContext(serdeContext) {\n this.stringDeserializer.setSerdeContext(serdeContext);\n this.codecDeserializer.setSerdeContext(serdeContext);\n this.serdeContext = serdeContext;\n }\n read(schema$1, data) {\n const ns = schema.NormalizedSchema.of(schema$1);\n const traits = ns.getMergedTraits();\n const toString = this.serdeContext?.utf8Encoder ?? serde.toUtf8;\n if (traits.httpHeader || traits.httpResponseCode) {\n return this.stringDeserializer.read(ns, toString(data));\n }\n if (traits.httpPayload) {\n if (ns.isBlobSchema()) {\n const toBytes = this.serdeContext?.utf8Decoder ?? serde.fromUtf8;\n if (typeof data === \"string\") {\n return toBytes(data);\n }\n return data;\n }\n else if (ns.isStringSchema()) {\n if (\"byteLength\" in data) {\n return toString(data);\n }\n return data;\n }\n }\n return this.codecDeserializer.read(ns, data);\n }\n}\n\nclass ToStringShapeSerializer extends SerdeContext {\n settings;\n stringBuffer = \"\";\n constructor(settings) {\n super();\n this.settings = settings;\n }\n write(schema$1, value) {\n const ns = schema.NormalizedSchema.of(schema$1);\n switch (typeof value) {\n case \"object\":\n if (value === null) {\n this.stringBuffer = \"null\";\n return;\n }\n if (ns.isTimestampSchema()) {\n if (!(value instanceof Date)) {\n throw new Error(`@smithy/core/protocols - received non-Date value ${value} when schema expected Date in ${ns.getName(true)}`);\n }\n const format = determineTimestampFormat(ns, this.settings);\n switch (format) {\n case 5:\n this.stringBuffer = value.toISOString().replace(\".000Z\", \"Z\");\n break;\n case 6:\n this.stringBuffer = serde.dateToUtcString(value);\n break;\n case 7:\n this.stringBuffer = String(value.getTime() / 1000);\n break;\n default:\n console.warn(\"Missing timestamp format, using epoch seconds\", value);\n this.stringBuffer = String(value.getTime() / 1000);\n }\n return;\n }\n if (ns.isBlobSchema() && \"byteLength\" in value) {\n this.stringBuffer = (this.serdeContext?.base64Encoder ?? serde.toBase64)(value);\n return;\n }\n if (ns.isListSchema() && Array.isArray(value)) {\n let buffer = \"\";\n for (const item of value) {\n this.write([ns.getValueSchema(), ns.getMergedTraits()], item);\n const headerItem = this.flush();\n const serialized = ns.getValueSchema().isTimestampSchema() ? headerItem : serde.quoteHeader(headerItem);\n if (buffer !== \"\") {\n buffer += \", \";\n }\n buffer += serialized;\n }\n this.stringBuffer = buffer;\n return;\n }\n this.stringBuffer = JSON.stringify(value, null, 2);\n break;\n case \"string\":\n const mediaType = ns.getMergedTraits().mediaType;\n let intermediateValue = value;\n if (mediaType) {\n const isJson = mediaType === \"application/json\" || mediaType.endsWith(\"+json\");\n if (isJson) {\n intermediateValue = serde.LazyJsonString.from(intermediateValue);\n }\n if (ns.getMergedTraits().httpHeader) {\n this.stringBuffer = (this.serdeContext?.base64Encoder ?? serde.toBase64)(intermediateValue.toString());\n return;\n }\n }\n this.stringBuffer = value;\n break;\n default:\n if (ns.isIdempotencyToken()) {\n this.stringBuffer = serde.generateIdempotencyToken();\n }\n else {\n this.stringBuffer = String(value);\n }\n }\n }\n flush() {\n const buffer = this.stringBuffer;\n this.stringBuffer = \"\";\n return buffer;\n }\n}\n\nclass HttpInterceptingShapeSerializer {\n codecSerializer;\n stringSerializer;\n buffer;\n constructor(codecSerializer, codecSettings, stringSerializer = new ToStringShapeSerializer(codecSettings)) {\n this.codecSerializer = codecSerializer;\n this.stringSerializer = stringSerializer;\n }\n setSerdeContext(serdeContext) {\n this.codecSerializer.setSerdeContext(serdeContext);\n this.stringSerializer.setSerdeContext(serdeContext);\n }\n write(schema$1, value) {\n const ns = schema.NormalizedSchema.of(schema$1);\n const traits = ns.getMergedTraits();\n if (traits.httpHeader || traits.httpLabel || traits.httpQuery) {\n this.stringSerializer.write(ns, value);\n this.buffer = this.stringSerializer.flush();\n return;\n }\n return this.codecSerializer.write(ns, value);\n }\n flush() {\n if (this.buffer !== undefined) {\n const buffer = this.buffer;\n this.buffer = undefined;\n return buffer;\n }\n return this.codecSerializer.flush();\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\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\nconst CONTENT_LENGTH_HEADER = \"content-length\";\nfunction contentLengthMiddleware(bodyLengthChecker) {\n return (next) => async (args) => {\n const request = args.request;\n if (transport.HttpRequest.isInstance(request)) {\n const { body, headers } = request;\n if (body &&\n Object.keys(headers)\n .map((str) => str.toLowerCase())\n .indexOf(CONTENT_LENGTH_HEADER) === -1) {\n try {\n const length = bodyLengthChecker(body);\n request.headers = {\n ...request.headers,\n [CONTENT_LENGTH_HEADER]: String(length),\n };\n }\n catch (error) {\n }\n }\n }\n return next({\n ...args,\n request,\n });\n };\n}\nconst contentLengthMiddlewareOptions = {\n step: \"build\",\n tags: [\"SET_CONTENT_LENGTH\", \"CONTENT_LENGTH\"],\n name: \"contentLengthMiddleware\",\n override: true,\n};\nconst getContentLengthPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add(contentLengthMiddleware(options.bodyLengthChecker), contentLengthMiddlewareOptions);\n },\n});\n\nconst escapeUri = (uri) => encodeURIComponent(uri).replace(/[!'()*]/g, hexEncode);\nconst hexEncode = (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`;\n\nconst escapeUriPath = (uri) => uri.split(\"/\").map(escapeUri).join(\"/\");\n\nfunction buildQueryString(query) {\n const parts = [];\n for (let key of Object.keys(query).sort()) {\n const value = query[key];\n key = escapeUri(key);\n if (Array.isArray(value)) {\n for (let i = 0, iLen = value.length; i < iLen; i++) {\n parts.push(`${key}=${escapeUri(value[i])}`);\n }\n }\n else {\n let qsEntry = key;\n if (value || typeof value === \"string\") {\n qsEntry += `=${escapeUri(value)}`;\n }\n parts.push(qsEntry);\n }\n }\n return parts.join(\"&\");\n}\n\nexports.HttpRequest = transport.HttpRequest;\nexports.HttpResponse = transport.HttpResponse;\nexports.isValidHostname = transport.isValidHostname;\nexports.parseQueryString = transport.parseQueryString;\nexports.parseUrl = transport.parseUrl;\nexports.Field = Field;\nexports.Fields = Fields;\nexports.FromStringShapeDeserializer = FromStringShapeDeserializer;\nexports.HttpBindingProtocol = HttpBindingProtocol;\nexports.HttpInterceptingShapeDeserializer = HttpInterceptingShapeDeserializer;\nexports.HttpInterceptingShapeSerializer = HttpInterceptingShapeSerializer;\nexports.HttpProtocol = HttpProtocol;\nexports.RequestBuilder = RequestBuilder;\nexports.RpcProtocol = RpcProtocol;\nexports.SerdeContext = SerdeContext;\nexports.ToStringShapeSerializer = ToStringShapeSerializer;\nexports.buildQueryString = buildQueryString;\nexports.collectBody = collectBody;\nexports.contentLengthMiddleware = contentLengthMiddleware;\nexports.contentLengthMiddlewareOptions = contentLengthMiddlewareOptions;\nexports.determineTimestampFormat = determineTimestampFormat;\nexports.escapeUri = escapeUri;\nexports.escapeUriPath = escapeUriPath;\nexports.extendedEncodeURIComponent = extendedEncodeURIComponent;\nexports.getContentLengthPlugin = getContentLengthPlugin;\nexports.getHttpHandlerExtensionConfiguration = getHttpHandlerExtensionConfiguration;\nexports.requestBuilder = requestBuilder;\nexports.resolveHttpHandlerRuntimeConfig = resolveHttpHandlerRuntimeConfig;\nexports.resolvedPath = resolvedPath;\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "5D8D90C1FF7BF77164756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "BDAF10EB480D614A64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260225215848_workspace.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260225215848_workspace\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`\n CREATE TABLE \\`workspace\\` (\n \\`id\\` text PRIMARY KEY,\n \\`branch\\` text,\n \\`project_id\\` text NOT NULL,\n \\`config\\` text NOT NULL,\n CONSTRAINT \\`fk_workspace_project_id_project_id_fk\\` FOREIGN KEY (\\`project_id\\`) REFERENCES \\`project\\`(\\`id\\`) ON DELETE CASCADE\n );\n `)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,2BACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,sUAQb,EACF,EAEL", | ||
| "debugId": "9E450C0538619F2A64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["src/ui/timeline.tsx", "src/commands/handlers/console/login.ts"], | ||
| "sourcesContent": [ | ||
| "import { createComponent as _$createComponent } from \"@opentui/solid\";\nimport { effect as _$effect } from \"@opentui/solid\";\nimport { createTextNode as _$createTextNode } from \"@opentui/solid\";\nimport { insertNode as _$insertNode } from \"@opentui/solid\";\nimport { insert as _$insert } from \"@opentui/solid\";\nimport { setProp as _$setProp } from \"@opentui/solid\";\nimport { createElement as _$createElement } from \"@opentui/solid\";\n/** @jsxImportSource @opentui/solid */\nimport { createCliRenderer, RGBA } from \"@opentui/core\";\nimport { createScrollbackWriter, render, useKeyboard } from \"@opentui/solid\";\nimport { registerOpencodeSpinner } from \"@opencode-ai/tui/component/register-spinner\";\nimport { Show, createSignal } from \"solid-js\";\nregisterOpencodeSpinner();\nconst SPINNER_FRAMES = [\"⠋\", \"⠙\", \"⠹\", \"⠸\", \"⠼\", \"⠴\", \"⠦\", \"⠧\", \"⠇\", \"⠏\"];\nconst IDLE_TIMEOUT = 1_000;\nconst COLORS = {\n accent: RGBA.fromIndex(6),\n error: RGBA.fromIndex(1),\n foreground: RGBA.defaultForeground(),\n muted: RGBA.fromIndex(8),\n success: RGBA.fromIndex(2)\n};\nconst ROWS = {\n intro: {\n marker: \"┌\",\n color: COLORS.muted,\n connector: true\n },\n item: {\n marker: \"●\",\n color: COLORS.accent,\n connector: true\n },\n success: {\n marker: \"◇\",\n color: COLORS.success,\n connector: true\n },\n failure: {\n marker: \"■\",\n color: COLORS.error,\n connector: false\n },\n outro: {\n marker: \"└\",\n color: COLORS.muted,\n connector: false\n }\n};\nfunction row(kind, value) {\n const style = ROWS[kind];\n return createScrollbackWriter(() => (() => {\n var _el$ = _$createElement(\"box\"),\n _el$2 = _$createElement(\"box\"),\n _el$3 = _$createElement(\"text\"),\n _el$4 = _$createElement(\"text\");\n _$insertNode(_el$, _el$2);\n _$setProp(_el$, \"width\", \"100%\");\n _$setProp(_el$, \"minHeight\", 1);\n _$setProp(_el$, \"flexDirection\", \"column\");\n _$insertNode(_el$2, _el$3);\n _$insertNode(_el$2, _el$4);\n _$setProp(_el$2, \"width\", \"100%\");\n _$setProp(_el$2, \"minHeight\", 1);\n _$setProp(_el$2, \"flexDirection\", \"row\");\n _$setProp(_el$2, \"gap\", 1);\n _$setProp(_el$3, \"flexShrink\", 0);\n _$insert(_el$3, () => style.marker);\n _$setProp(_el$4, \"wrapMode\", \"word\");\n _$insert(_el$4, value);\n _$insert(_el$, _$createComponent(Show, {\n get when() {\n return style.connector;\n },\n get children() {\n var _el$5 = _$createElement(\"text\");\n _$insertNode(_el$5, _$createTextNode(`│`));\n _$effect(_$p => _$setProp(_el$5, \"fg\", COLORS.muted, _$p));\n return _el$5;\n }\n }), null);\n _$effect(_p$ => {\n var _v$ = style.color,\n _v$2 = COLORS.foreground;\n _v$ !== _p$.e && (_p$.e = _$setProp(_el$3, \"fg\", _v$, _p$.e));\n _v$2 !== _p$.t && (_p$.t = _$setProp(_el$4, \"fg\", _v$2, _p$.t));\n return _p$;\n }, {\n e: undefined,\n t: undefined\n });\n return _el$;\n })(), {\n startOnNewLine: true,\n trailingNewline: !style.connector\n });\n}\nfunction TimelineFooter(props) {\n useKeyboard(event => {\n if (event.name !== \"escape\" && !(event.ctrl && event.name === \"c\")) return;\n event.preventDefault();\n props.cancel();\n });\n return (() => {\n var _el$7 = _$createElement(\"box\");\n _$setProp(_el$7, \"width\", \"100%\");\n _$setProp(_el$7, \"height\", 1);\n _$setProp(_el$7, \"flexDirection\", \"row\");\n _$setProp(_el$7, \"gap\", 1);\n _$insert(_el$7, _$createComponent(Show, {\n get when() {\n return props.pending();\n },\n children: text => [(() => {\n var _el$8 = _$createElement(\"spinner\");\n _$setProp(_el$8, \"frames\", SPINNER_FRAMES);\n _$setProp(_el$8, \"interval\", 80);\n _$effect(_$p => _$setProp(_el$8, \"color\", COLORS.accent, _$p));\n return _el$8;\n })(), (() => {\n var _el$9 = _$createElement(\"text\");\n _$setProp(_el$9, \"wrapMode\", \"none\");\n _$setProp(_el$9, \"truncate\", true);\n _$insert(_el$9, text);\n _$effect(_$p => _$setProp(_el$9, \"fg\", COLORS.foreground, _$p));\n return _el$9;\n })()]\n }));\n return _el$7;\n })();\n}\nfunction bounded(task) {\n return new Promise(resolve => {\n const timer = setTimeout(resolve, IDLE_TIMEOUT);\n timer.unref();\n const finish = () => {\n clearTimeout(timer);\n resolve();\n };\n void task.then(finish, finish);\n });\n}\nasync function shutdown(renderer) {\n await bounded(renderer.idle());\n try {\n renderer.externalOutputMode = \"passthrough\";\n } finally {\n try {\n renderer.screenMode = \"main-screen\";\n } finally {\n if (!renderer.isDestroyed) renderer.destroy();\n }\n }\n}\nexport async function createTimelineHost() {\n const stdout = process.stdout;\n const controller = new AbortController();\n const signals = [\"SIGINT\", \"SIGHUP\", \"SIGQUIT\"];\n const cancel = () => {\n if (!controller.signal.aborted) controller.abort();\n };\n signals.forEach(signal => process.on(signal, cancel));\n if (!stdout.isTTY || !process.stdin.isTTY) {\n let closed = false;\n let writing = false;\n let active;\n let closeTask;\n const write = async (kind, text) => {\n if (closed) throw new Error(\"timeline closed\");\n if (writing) throw new Error(\"timeline write already in progress\");\n writing = true;\n try {\n const style = kind === \"pending\" ? undefined : ROWS[kind];\n const marker = kind === \"pending\" ? \".\" : ROWS[kind].marker;\n const connector = style?.connector ? \"│\\n\" : \"\";\n active = new Promise((resolve, reject) => {\n stdout.write(`${marker} ${text}\\n${connector}`, error => error ? reject(error) : resolve());\n });\n await active;\n } finally {\n writing = false;\n active = undefined;\n }\n };\n const close = () => {\n if (closeTask) return closeTask;\n closed = true;\n closeTask = (async () => {\n await active?.catch(() => {});\n signals.forEach(signal => process.off(signal, cancel));\n })();\n return closeTask;\n };\n return {\n signal: controller.signal,\n intro: text => write(\"intro\", text),\n item: text => write(\"item\", text),\n pending: text => write(\"pending\", text),\n success: text => write(\"success\", text),\n failure: text => write(\"failure\", text),\n outro: text => write(\"outro\", text),\n close\n };\n }\n let renderer;\n try {\n // Start on a fresh row so delayed SSH cursor reports cannot make\n // split-footer overwrite the shell command.\n process.stdout.write(\"\\n\");\n renderer = await createCliRenderer({\n stdin: process.stdin,\n useMouse: false,\n autoFocus: false,\n openConsoleOnError: false,\n exitOnCtrlC: false,\n exitSignals: [],\n screenMode: \"split-footer\",\n footerHeight: 1,\n externalOutputMode: \"capture-stdout\",\n consoleMode: \"disabled\",\n clearOnShutdown: false\n });\n const activeRenderer = renderer;\n const [pending, setPending] = createSignal();\n const renderTask = render(() => _$createComponent(TimelineFooter, {\n pending: pending,\n cancel: cancel\n }), activeRenderer);\n void renderTask.catch(cancel);\n await bounded(activeRenderer.idle());\n let closed = false;\n let writing = false;\n let active;\n let closeTask;\n const write = (kind, text) => {\n if (closed) return Promise.reject(new Error(\"timeline closed\"));\n if (writing) return Promise.reject(new Error(\"timeline write already in progress\"));\n writing = true;\n active = (async () => {\n if (kind === \"pending\") {\n setPending(text);\n activeRenderer.requestRender();\n } else {\n if (kind === \"success\" || kind === \"failure\" || kind === \"outro\") setPending(undefined);\n activeRenderer.writeToScrollback(row(kind, text));\n activeRenderer.requestRender();\n }\n await bounded(activeRenderer.idle());\n })().finally(() => {\n writing = false;\n active = undefined;\n });\n return active;\n };\n const close = () => {\n if (closeTask) return closeTask;\n closed = true;\n closeTask = (async () => {\n await active?.catch(() => {});\n try {\n await shutdown(activeRenderer);\n await bounded(renderTask);\n } finally {\n signals.forEach(signal => process.off(signal, cancel));\n }\n })();\n return closeTask;\n };\n return {\n signal: controller.signal,\n intro: text => write(\"intro\", text),\n item: text => write(\"item\", text),\n pending: text => write(\"pending\", text),\n success: text => write(\"success\", text),\n failure: text => write(\"failure\", text),\n outro: text => write(\"outro\", text),\n close\n };\n } catch (error) {\n try {\n if (renderer) await shutdown(renderer);\n } finally {\n signals.forEach(signal => process.off(signal, cancel));\n }\n throw error;\n }\n}", | ||
| "import { Cause, Effect, Exit, Option } from \"effect\"\nimport { Service } from \"@opencode-ai/client/effect\"\nimport { OpenCode, type OpenCodeClient } from \"@opencode-ai/client/promise\"\nimport { AppProcess } from \"@opencode-ai/core/process\"\nimport { Commands } from \"../../commands\"\nimport { Runtime } from \"../../../framework/runtime\"\nimport { ServiceConfig } from \"../../../services/service-config\"\nimport { createTimelineHost, type TimelineHost } from \"../../../ui/timeline\"\n\nconst integrationID = \"opencode\"\nconst location = { directory: process.cwd() }\n\nexport default Runtime.handler(\n Commands.commands.console.commands.login,\n Effect.fn(\"cli.console.login\")(function* (input) {\n const timeline = yield* Effect.acquireRelease(\n Effect.promise(() => createTimelineHost()),\n (value) => request(() => value.close()).pipe(Effect.ignore),\n )\n const exit = yield* login(timeline, Option.getOrUndefined(input.url)).pipe(\n Effect.raceFirst(AppProcess.waitForAbort(timeline.signal)),\n Effect.exit,\n )\n if (Exit.isSuccess(exit)) return\n\n const cancelled = timeline.signal.aborted\n yield* request(() => timeline.failure(cancelled ? \"Authorization cancelled\" : errorMessage(exit.cause))).pipe(\n Effect.ignore,\n )\n process.exitCode = cancelled ? 130 : 1\n }),\n)\n\nconst login = Effect.fn(\"cli.console.login.run\")(function* (timeline: TimelineHost, server?: string) {\n yield* request(() => timeline.intro(\"Log in\"))\n yield* request(() => timeline.pending(\"Connecting to OpenCode...\"))\n\n const endpoint = yield* Service.start(yield* ServiceConfig.options())\n const client = OpenCode.make({ baseUrl: endpoint.url, headers: Service.headers(endpoint) })\n const found = yield* request((signal) => client.integration.get({ integrationID, location }, { signal }))\n const integration = yield* required(found.data, \"OpenCode Console integration is unavailable\")\n const method = yield* required(\n integration.methods.find((candidate) => candidate.type === \"oauth\"),\n \"OpenCode Console login is unavailable\",\n )\n\n yield* request(() => timeline.pending(\"Starting authorization...\"))\n const started = yield* request((signal) =>\n client.integration.connect.oauth(\n {\n integrationID,\n methodID: method.id,\n inputs: server ? { server } : {},\n location,\n },\n { signal },\n ),\n )\n const attempt = started.data\n yield* Effect.addFinalizer(() =>\n request(() =>\n client.integration.attempt.cancel(\n { attemptID: attempt.attemptID, location },\n { signal: AbortSignal.timeout(5_000) },\n ),\n ).pipe(Effect.ignore),\n )\n if (attempt.mode !== \"auto\") yield* Effect.fail(new Error(\"OpenCode Console requires a device login\"))\n\n yield* request(() => timeline.item(`Go to: ${attempt.url}`))\n yield* request(() => timeline.item(attempt.instructions))\n yield* request(async () => {\n const { default: open } = await import(\"open\")\n await open(attempt.url)\n }).pipe(Effect.ignore)\n yield* request(() => timeline.pending(\"Waiting for authorization...\"))\n\n const status = yield* waitForConsoleLogin(client, attempt.attemptID)\n if (status.status === \"failed\") yield* Effect.fail(new Error(status.message))\n if (status.status === \"expired\") yield* Effect.fail(new Error(\"Device code expired\"))\n\n yield* request(() => timeline.success(\"Connected to OpenCode Console\"))\n yield* request(() => timeline.outro(\"Done\"))\n})\n\nconst waitForConsoleLogin = Effect.fn(\"cli.console.login.wait\")(function* (\n client: OpenCodeClient,\n attemptID: string,\n) {\n while (true) {\n const response = yield* request((signal) =>\n client.integration.attempt.status({ attemptID, location }, { signal }),\n )\n if (response.data.status !== \"pending\") return response.data\n yield* Effect.sleep(500)\n }\n})\n\nfunction request<A>(task: (signal: AbortSignal) => Promise<A>) {\n return Effect.tryPromise({\n try: task,\n catch: (cause) => cause,\n })\n}\n\nfunction required<A>(value: A | null | undefined, message: string) {\n return value === null || value === undefined ? Effect.fail(new Error(message)) : Effect.succeed(value)\n}\n\nfunction errorMessage(cause: Cause.Cause<unknown>) {\n const error = Cause.squash(cause)\n if (error instanceof Error) return error.message\n if (typeof error === \"object\" && error !== null && \"message\" in error && typeof error.message === \"string\") {\n return error.message\n }\n return String(error)\n}\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "C1EA98F67788F69A64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260703190000_reset_v2_shell_event_payloads.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260703190000_reset_v2_shell_event_payloads\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`DELETE FROM \\`session_input\\`;`)\n yield* tx.run(`DELETE FROM \\`session_message\\`;`)\n yield* tx.run(`DELETE FROM \\`event\\`;`)\n yield* tx.run(`DELETE FROM \\`event_sequence\\`;`)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,+CACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,8BAAgC,EAC9C,MAAO,EAAG,IAAI,gCAAkC,EAChD,MAAO,EAAG,IAAI,sBAAwB,EACtC,MAAO,EAAG,IAAI,+BAAiC,EAChD,EAEL", | ||
| "debugId": "233C381721C8067164756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "82531CCFD693EE2064756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@aws-sdk+credential-provider-sso@3.972.45/node_modules/@aws-sdk/credential-provider-sso/dist-es/fromSSO.js", "../../node_modules/.bun/@aws-sdk+credential-provider-sso@3.972.45/node_modules/@aws-sdk/credential-provider-sso/dist-es/isSsoProfile.js", "../../node_modules/.bun/@aws-sdk+credential-provider-sso@3.972.45/node_modules/@aws-sdk/credential-provider-sso/dist-es/resolveSSOCredentials.js", "../../node_modules/.bun/@aws-sdk+token-providers@3.1056.0/node_modules/@aws-sdk/token-providers/dist-es/fromSso.js", "../../node_modules/.bun/@aws-sdk+token-providers@3.1056.0/node_modules/@aws-sdk/token-providers/dist-es/constants.js", "../../node_modules/.bun/@aws-sdk+token-providers@3.1056.0/node_modules/@aws-sdk/token-providers/dist-es/getSsoOidcClient.js", "../../node_modules/.bun/@aws-sdk+token-providers@3.1056.0/node_modules/@aws-sdk/token-providers/dist-es/getNewSsoOidcToken.js", "../../node_modules/.bun/@aws-sdk+token-providers@3.1056.0/node_modules/@aws-sdk/token-providers/dist-es/validateTokenExpiry.js", "../../node_modules/.bun/@aws-sdk+token-providers@3.1056.0/node_modules/@aws-sdk/token-providers/dist-es/validateTokenKey.js", "../../node_modules/.bun/@aws-sdk+token-providers@3.1056.0/node_modules/@aws-sdk/token-providers/dist-es/writeSSOTokenToFile.js", "../../node_modules/.bun/@aws-sdk+credential-provider-sso@3.972.45/node_modules/@aws-sdk/credential-provider-sso/dist-es/validateSsoProfile.js"], | ||
| "sourcesContent": [ | ||
| "import { CredentialsProviderError, getProfileName, loadSsoSessionData, parseKnownFiles } from \"@smithy/core/config\";\nimport { isSsoProfile } from \"./isSsoProfile\";\nimport { resolveSSOCredentials } from \"./resolveSSOCredentials\";\nimport { validateSsoProfile } from \"./validateSsoProfile\";\nexport const fromSSO = (init = {}) => async ({ callerClientConfig } = {}) => {\n init.logger?.debug(\"@aws-sdk/credential-provider-sso - fromSSO\");\n const { ssoStartUrl, ssoAccountId, ssoRegion, ssoRoleName, ssoSession } = init;\n const { ssoClient } = init;\n const profileName = getProfileName({\n profile: init.profile ?? callerClientConfig?.profile,\n });\n if (!ssoStartUrl && !ssoAccountId && !ssoRegion && !ssoRoleName && !ssoSession) {\n const profiles = await parseKnownFiles(init);\n const profile = profiles[profileName];\n if (!profile) {\n throw new CredentialsProviderError(`Profile ${profileName} was not found.`, { logger: init.logger });\n }\n if (!isSsoProfile(profile)) {\n throw new CredentialsProviderError(`Profile ${profileName} is not configured with SSO credentials.`, {\n logger: init.logger,\n });\n }\n if (profile?.sso_session) {\n const ssoSessions = await loadSsoSessionData(init);\n const session = ssoSessions[profile.sso_session];\n const conflictMsg = ` configurations in profile ${profileName} and sso-session ${profile.sso_session}`;\n if (ssoRegion && ssoRegion !== session.sso_region) {\n throw new CredentialsProviderError(`Conflicting SSO region` + conflictMsg, {\n tryNextLink: false,\n logger: init.logger,\n });\n }\n if (ssoStartUrl && ssoStartUrl !== session.sso_start_url) {\n throw new CredentialsProviderError(`Conflicting SSO start_url` + conflictMsg, {\n tryNextLink: false,\n logger: init.logger,\n });\n }\n profile.sso_region = session.sso_region;\n profile.sso_start_url = session.sso_start_url;\n }\n const { sso_start_url, sso_account_id, sso_region, sso_role_name, sso_session } = validateSsoProfile(profile, init.logger);\n return resolveSSOCredentials({\n ssoStartUrl: sso_start_url,\n ssoSession: sso_session,\n ssoAccountId: sso_account_id,\n ssoRegion: sso_region,\n ssoRoleName: sso_role_name,\n ssoClient: ssoClient,\n clientConfig: init.clientConfig,\n parentClientConfig: init.parentClientConfig,\n callerClientConfig: init.callerClientConfig,\n profile: profileName,\n filepath: init.filepath,\n configFilepath: init.configFilepath,\n ignoreCache: init.ignoreCache,\n logger: init.logger,\n });\n }\n else if (!ssoStartUrl || !ssoAccountId || !ssoRegion || !ssoRoleName) {\n throw new CredentialsProviderError(\"Incomplete configuration. The fromSSO() argument hash must include \" +\n '\"ssoStartUrl\", \"ssoAccountId\", \"ssoRegion\", \"ssoRoleName\"', { tryNextLink: false, logger: init.logger });\n }\n else {\n return resolveSSOCredentials({\n ssoStartUrl,\n ssoSession,\n ssoAccountId,\n ssoRegion,\n ssoRoleName,\n ssoClient,\n clientConfig: init.clientConfig,\n parentClientConfig: init.parentClientConfig,\n callerClientConfig: init.callerClientConfig,\n profile: profileName,\n filepath: init.filepath,\n configFilepath: init.configFilepath,\n ignoreCache: init.ignoreCache,\n logger: init.logger,\n });\n }\n};\n", | ||
| "export const isSsoProfile = (arg) => arg &&\n (typeof arg.sso_start_url === \"string\" ||\n typeof arg.sso_account_id === \"string\" ||\n typeof arg.sso_session === \"string\" ||\n typeof arg.sso_region === \"string\" ||\n typeof arg.sso_role_name === \"string\");\n", | ||
| "import { setCredentialFeature } from \"@aws-sdk/core/client\";\nimport { fromSso as getSsoTokenProvider } from \"@aws-sdk/token-providers\";\nimport { CredentialsProviderError, getSSOTokenFromFile } from \"@smithy/core/config\";\nconst SHOULD_FAIL_CREDENTIAL_CHAIN = false;\nexport const resolveSSOCredentials = async ({ ssoStartUrl, ssoSession, ssoAccountId, ssoRegion, ssoRoleName, ssoClient, clientConfig, parentClientConfig, callerClientConfig, profile, filepath, configFilepath, ignoreCache, logger, }) => {\n let token;\n const refreshMessage = `To refresh this SSO session run aws sso login with the corresponding profile.`;\n if (ssoSession) {\n try {\n const _token = await getSsoTokenProvider({\n profile,\n filepath,\n configFilepath,\n ignoreCache,\n })();\n token = {\n accessToken: _token.token,\n expiresAt: new Date(_token.expiration).toISOString(),\n };\n }\n catch (e) {\n throw new CredentialsProviderError(e.message, {\n tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN,\n logger,\n });\n }\n }\n else {\n try {\n token = await getSSOTokenFromFile(ssoStartUrl);\n }\n catch (e) {\n throw new CredentialsProviderError(`The SSO session associated with this profile is invalid. ${refreshMessage}`, {\n tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN,\n logger,\n });\n }\n }\n if (new Date(token.expiresAt).getTime() - Date.now() <= 0) {\n throw new CredentialsProviderError(`The SSO session associated with this profile has expired. ${refreshMessage}`, {\n tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN,\n logger,\n });\n }\n const { accessToken } = token;\n const { SSOClient, GetRoleCredentialsCommand } = await import(\"./loadSso.js\");\n const sso = ssoClient ||\n new SSOClient(Object.assign({}, clientConfig ?? {}, {\n logger: clientConfig?.logger ?? callerClientConfig?.logger ?? parentClientConfig?.logger,\n region: clientConfig?.region ?? ssoRegion,\n userAgentAppId: clientConfig?.userAgentAppId ?? callerClientConfig?.userAgentAppId ?? parentClientConfig?.userAgentAppId,\n }));\n let ssoResp;\n try {\n ssoResp = await sso.send(new GetRoleCredentialsCommand({\n accountId: ssoAccountId,\n roleName: ssoRoleName,\n accessToken,\n }));\n }\n catch (e) {\n throw new CredentialsProviderError(e, {\n tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN,\n logger,\n });\n }\n const { roleCredentials: { accessKeyId, secretAccessKey, sessionToken, expiration, credentialScope, accountId } = {}, } = ssoResp;\n if (!accessKeyId || !secretAccessKey || !sessionToken || !expiration) {\n throw new CredentialsProviderError(\"SSO returns an invalid temporary credential.\", {\n tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN,\n logger,\n });\n }\n const credentials = {\n accessKeyId,\n secretAccessKey,\n sessionToken,\n expiration: new Date(expiration),\n ...(credentialScope && { credentialScope }),\n ...(accountId && { accountId }),\n };\n if (ssoSession) {\n setCredentialFeature(credentials, \"CREDENTIALS_SSO\", \"s\");\n }\n else {\n setCredentialFeature(credentials, \"CREDENTIALS_SSO_LEGACY\", \"u\");\n }\n return credentials;\n};\n", | ||
| "import { getProfileName, getSSOTokenFromFile, loadSsoSessionData, parseKnownFiles, TokenProviderError, } from \"@smithy/core/config\";\nimport { EXPIRE_WINDOW_MS, REFRESH_MESSAGE } from \"./constants\";\nimport { getNewSsoOidcToken } from \"./getNewSsoOidcToken\";\nimport { validateTokenExpiry } from \"./validateTokenExpiry\";\nimport { validateTokenKey } from \"./validateTokenKey\";\nimport { writeSSOTokenToFile } from \"./writeSSOTokenToFile\";\nconst lastRefreshAttemptTime = new Date(0);\nexport const fromSso = (init = {}) => async ({ callerClientConfig } = {}) => {\n init.logger?.debug(\"@aws-sdk/token-providers - fromSso\");\n const profiles = await parseKnownFiles(init);\n const profileName = getProfileName({\n profile: init.profile ?? callerClientConfig?.profile,\n });\n const profile = profiles[profileName];\n if (!profile) {\n throw new TokenProviderError(`Profile '${profileName}' could not be found in shared credentials file.`, false);\n }\n else if (!profile[\"sso_session\"]) {\n throw new TokenProviderError(`Profile '${profileName}' is missing required property 'sso_session'.`);\n }\n const ssoSessionName = profile[\"sso_session\"];\n const ssoSessions = await loadSsoSessionData(init);\n const ssoSession = ssoSessions[ssoSessionName];\n if (!ssoSession) {\n throw new TokenProviderError(`Sso session '${ssoSessionName}' could not be found in shared credentials file.`, false);\n }\n for (const ssoSessionRequiredKey of [\"sso_start_url\", \"sso_region\"]) {\n if (!ssoSession[ssoSessionRequiredKey]) {\n throw new TokenProviderError(`Sso session '${ssoSessionName}' is missing required property '${ssoSessionRequiredKey}'.`, false);\n }\n }\n const ssoStartUrl = ssoSession[\"sso_start_url\"];\n const ssoRegion = ssoSession[\"sso_region\"];\n let ssoToken;\n try {\n ssoToken = await getSSOTokenFromFile(ssoSessionName);\n }\n catch (e) {\n throw new TokenProviderError(`The SSO session token associated with profile=${profileName} was not found or is invalid. ${REFRESH_MESSAGE}`, false);\n }\n validateTokenKey(\"accessToken\", ssoToken.accessToken);\n validateTokenKey(\"expiresAt\", ssoToken.expiresAt);\n const { accessToken, expiresAt } = ssoToken;\n const existingToken = { token: accessToken, expiration: new Date(expiresAt) };\n if (existingToken.expiration.getTime() - Date.now() > EXPIRE_WINDOW_MS) {\n return existingToken;\n }\n if (Date.now() - lastRefreshAttemptTime.getTime() < 30 * 1000) {\n validateTokenExpiry(existingToken);\n return existingToken;\n }\n validateTokenKey(\"clientId\", ssoToken.clientId, true);\n validateTokenKey(\"clientSecret\", ssoToken.clientSecret, true);\n validateTokenKey(\"refreshToken\", ssoToken.refreshToken, true);\n try {\n lastRefreshAttemptTime.setTime(Date.now());\n const newSsoOidcToken = await getNewSsoOidcToken(ssoToken, ssoRegion, init, callerClientConfig);\n validateTokenKey(\"accessToken\", newSsoOidcToken.accessToken);\n validateTokenKey(\"expiresIn\", newSsoOidcToken.expiresIn);\n const newTokenExpiration = new Date(Date.now() + newSsoOidcToken.expiresIn * 1000);\n try {\n await writeSSOTokenToFile(ssoSessionName, {\n ...ssoToken,\n accessToken: newSsoOidcToken.accessToken,\n expiresAt: newTokenExpiration.toISOString(),\n refreshToken: newSsoOidcToken.refreshToken,\n });\n }\n catch (error) {\n }\n return {\n token: newSsoOidcToken.accessToken,\n expiration: newTokenExpiration,\n };\n }\n catch (error) {\n validateTokenExpiry(existingToken);\n return existingToken;\n }\n};\n", | ||
| "export const EXPIRE_WINDOW_MS = 5 * 60 * 1000;\nexport const REFRESH_MESSAGE = `To refresh this SSO session run 'aws sso login' with the corresponding profile.`;\n", | ||
| "export const getSsoOidcClient = async (ssoRegion, init = {}, callerClientConfig) => {\n const { SSOOIDCClient } = await import(\"@aws-sdk/nested-clients/sso-oidc\");\n const coalesce = (prop) => init.clientConfig?.[prop] ?? init.parentClientConfig?.[prop] ?? callerClientConfig?.[prop];\n const ssoOidcClient = new SSOOIDCClient(Object.assign({}, init.clientConfig ?? {}, {\n region: ssoRegion ?? init.clientConfig?.region,\n logger: coalesce(\"logger\"),\n userAgentAppId: coalesce(\"userAgentAppId\"),\n }));\n return ssoOidcClient;\n};\n", | ||
| "import { getSsoOidcClient } from \"./getSsoOidcClient\";\nexport const getNewSsoOidcToken = async (ssoToken, ssoRegion, init = {}, callerClientConfig) => {\n const { CreateTokenCommand } = await import(\"@aws-sdk/nested-clients/sso-oidc\");\n const ssoOidcClient = await getSsoOidcClient(ssoRegion, init, callerClientConfig);\n return ssoOidcClient.send(new CreateTokenCommand({\n clientId: ssoToken.clientId,\n clientSecret: ssoToken.clientSecret,\n refreshToken: ssoToken.refreshToken,\n grantType: \"refresh_token\",\n }));\n};\n", | ||
| "import { TokenProviderError } from \"@smithy/core/config\";\nimport { REFRESH_MESSAGE } from \"./constants\";\nexport const validateTokenExpiry = (token) => {\n if (token.expiration && token.expiration.getTime() < Date.now()) {\n throw new TokenProviderError(`Token is expired. ${REFRESH_MESSAGE}`, false);\n }\n};\n", | ||
| "import { TokenProviderError } from \"@smithy/core/config\";\nimport { REFRESH_MESSAGE } from \"./constants\";\nexport const validateTokenKey = (key, value, forRefresh = false) => {\n if (typeof value === \"undefined\") {\n throw new TokenProviderError(`Value not present for '${key}' in SSO Token${forRefresh ? \". Cannot refresh\" : \"\"}. ${REFRESH_MESSAGE}`, false);\n }\n};\n", | ||
| "import { getSSOTokenFilepath } from \"@smithy/core/config\";\nimport { promises as fsPromises } from \"node:fs\";\nconst { writeFile } = fsPromises;\nexport const writeSSOTokenToFile = (id, ssoToken) => {\n const tokenFilepath = getSSOTokenFilepath(id);\n const tokenString = JSON.stringify(ssoToken, null, 2);\n return writeFile(tokenFilepath, tokenString);\n};\n", | ||
| "import { CredentialsProviderError } from \"@smithy/core/config\";\nexport const validateSsoProfile = (profile, logger) => {\n const { sso_start_url, sso_account_id, sso_region, sso_role_name } = profile;\n if (!sso_start_url || !sso_account_id || !sso_region || !sso_role_name) {\n throw new CredentialsProviderError(`Profile is configured with invalid SSO credentials. Required parameters \"sso_account_id\", ` +\n `\"sso_region\", \"sso_role_name\", \"sso_start_url\". Got ${Object.keys(profile).join(\", \")}\\nReference: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sso.html`, { tryNextLink: false, logger });\n }\n return profile;\n};\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "CD3E9039868B31EC64756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@aws-sdk+nested-clients@3.997.13/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/index.js"], | ||
| "sourcesContent": [ | ||
| "'use strict';\n\nvar client$1 = require('@aws-sdk/core/client');\nvar core = require('@smithy/core');\nvar client = require('@smithy/core/client');\nvar config = require('@smithy/core/config');\nvar endpoints = require('@smithy/core/endpoints');\nvar protocols = require('@smithy/core/protocols');\nvar retry = require('@smithy/core/retry');\nvar schema = require('@smithy/core/schema');\nvar httpAuthSchemes = require('@aws-sdk/core/httpAuthSchemes');\nvar serde = require('@smithy/core/serde');\nvar nodeHttpHandler = require('@smithy/node-http-handler');\nvar protocols$1 = require('@aws-sdk/core/protocols');\n\nconst defaultSigninHttpAuthSchemeParametersProvider = async (config, context, input) => {\n return {\n operation: client.getSmithyContext(context).operation,\n region: (await client.normalizeProvider(config.region)()) ||\n (() => {\n throw new Error(\"expected `region` to be configured for `aws.auth#sigv4`\");\n })(),\n };\n};\nfunction createAwsAuthSigv4HttpAuthOption(authParameters) {\n return {\n schemeId: \"aws.auth#sigv4\",\n signingProperties: {\n name: \"signin\",\n region: authParameters.region,\n },\n propertiesExtractor: (config, context) => ({\n signingProperties: {\n config,\n context,\n },\n }),\n };\n}\nfunction createSmithyApiNoAuthHttpAuthOption(authParameters) {\n return {\n schemeId: \"smithy.api#noAuth\",\n };\n}\nconst defaultSigninHttpAuthSchemeProvider = (authParameters) => {\n const options = [];\n switch (authParameters.operation) {\n case \"CreateOAuth2Token\": {\n options.push(createSmithyApiNoAuthHttpAuthOption());\n break;\n }\n default: {\n options.push(createAwsAuthSigv4HttpAuthOption(authParameters));\n }\n }\n return options;\n};\nconst resolveHttpAuthSchemeConfig = (config) => {\n const config_0 = httpAuthSchemes.resolveAwsSdkSigV4Config(config);\n return Object.assign(config_0, {\n authSchemePreference: client.normalizeProvider(config.authSchemePreference ?? []),\n });\n};\n\nconst resolveClientEndpointParameters = (options) => {\n return Object.assign(options, {\n useDualstackEndpoint: options.useDualstackEndpoint ?? false,\n useFipsEndpoint: options.useFipsEndpoint ?? false,\n defaultSigningName: \"signin\",\n });\n};\nconst commonParams = {\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n};\n\nvar version = \"3.997.12\";\nvar packageInfo = {\n\tversion: version};\n\nconst m = \"ref\";\nconst a = -1, b = true, c = \"isSet\", d = \"PartitionResult\", e = \"booleanEquals\", f = \"getAttr\", g = \"stringEquals\", h = { [m]: \"Endpoint\" }, i = { [m]: d }, j = { fn: f, argv: [i, \"name\"] }, k = {}, l = [{ [m]: \"Region\" }];\nconst _data = {\n conditions: [\n [c, [h]],\n [c, l],\n [\"aws.partition\", l, d],\n [e, [{ [m]: \"UseFIPS\" }, b]],\n [e, [{ [m]: \"UseDualStack\" }, b]],\n [e, [{ fn: f, argv: [i, \"supportsDualStack\"] }, b]],\n [e, [{ fn: f, argv: [i, \"supportsFIPS\"] }, b]],\n [g, [j, \"aws\"]],\n [g, [j, \"aws-cn\"]],\n [g, [j, \"aws-us-gov\"]],\n ],\n results: [\n [a],\n [a, \"Invalid Configuration: FIPS and custom endpoint are not supported\"],\n [a, \"Invalid Configuration: Dualstack and custom endpoint are not supported\"],\n [h, k],\n [\"https://{Region}.signin.aws.amazon.com\", k],\n [\"https://{Region}.signin.amazonaws.cn\", k],\n [\"https://{Region}.signin.amazonaws-us-gov.com\", k],\n [\"https://signin-fips.{Region}.{PartitionResult#dualStackDnsSuffix}\", k],\n [a, \"FIPS and DualStack are enabled, but this partition does not support one or both\"],\n [\"https://signin-fips.{Region}.{PartitionResult#dnsSuffix}\", k],\n [a, \"FIPS is enabled but this partition does not support FIPS\"],\n [\"https://signin.{Region}.{PartitionResult#dualStackDnsSuffix}\", k],\n [a, \"DualStack is enabled but this partition does not support DualStack\"],\n [\"https://signin.{Region}.{PartitionResult#dnsSuffix}\", k],\n [a, \"Invalid Configuration: Missing Region\"],\n ],\n};\nconst root = 2;\nconst r = 100_000_000;\nconst nodes = new Int32Array([\n -1,\n 1,\n -1,\n 0,\n 15,\n 3,\n 1,\n 4,\n r + 14,\n 2,\n 5,\n r + 14,\n 3,\n 11,\n 6,\n 4,\n 10,\n 7,\n 7,\n r + 4,\n 8,\n 8,\n r + 5,\n 9,\n 9,\n r + 6,\n r + 13,\n 5,\n r + 11,\n r + 12,\n 4,\n 13,\n 12,\n 6,\n r + 9,\n r + 10,\n 5,\n 14,\n r + 8,\n 6,\n r + 7,\n r + 8,\n 3,\n r + 1,\n 16,\n 4,\n r + 2,\n r + 3,\n]);\nconst bdd = endpoints.BinaryDecisionDiagram.from(nodes, root, _data.conditions, _data.results);\n\nconst cache = new endpoints.EndpointCache({\n size: 50,\n params: [\"Endpoint\", \"Region\", \"UseDualStack\", \"UseFIPS\"],\n});\nconst defaultEndpointResolver = (endpointParams, context = {}) => {\n return cache.get(endpointParams, () => endpoints.decideEndpoint(bdd, {\n endpointParams: endpointParams,\n logger: context.logger,\n }));\n};\nendpoints.customEndpointFunctions.aws = client$1.awsEndpointFunctions;\n\nclass SigninServiceException extends client.ServiceException {\n constructor(options) {\n super(options);\n Object.setPrototypeOf(this, SigninServiceException.prototype);\n }\n}\n\nclass AccessDeniedException extends SigninServiceException {\n name = \"AccessDeniedException\";\n $fault = \"client\";\n error;\n constructor(opts) {\n super({\n name: \"AccessDeniedException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, AccessDeniedException.prototype);\n this.error = opts.error;\n }\n}\nclass InternalServerException extends SigninServiceException {\n name = \"InternalServerException\";\n $fault = \"server\";\n error;\n constructor(opts) {\n super({\n name: \"InternalServerException\",\n $fault: \"server\",\n ...opts,\n });\n Object.setPrototypeOf(this, InternalServerException.prototype);\n this.error = opts.error;\n }\n}\nclass TooManyRequestsError extends SigninServiceException {\n name = \"TooManyRequestsError\";\n $fault = \"client\";\n error;\n constructor(opts) {\n super({\n name: \"TooManyRequestsError\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, TooManyRequestsError.prototype);\n this.error = opts.error;\n }\n}\nclass ValidationException extends SigninServiceException {\n name = \"ValidationException\";\n $fault = \"client\";\n error;\n constructor(opts) {\n super({\n name: \"ValidationException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, ValidationException.prototype);\n this.error = opts.error;\n }\n}\n\nconst _ADE = \"AccessDeniedException\";\nconst _AT = \"AccessToken\";\nconst _COAT = \"CreateOAuth2Token\";\nconst _COATR = \"CreateOAuth2TokenRequest\";\nconst _COATRB = \"CreateOAuth2TokenRequestBody\";\nconst _COATRBr = \"CreateOAuth2TokenResponseBody\";\nconst _COATRr = \"CreateOAuth2TokenResponse\";\nconst _ISE = \"InternalServerException\";\nconst _RT = \"RefreshToken\";\nconst _TMRE = \"TooManyRequestsError\";\nconst _VE = \"ValidationException\";\nconst _aKI = \"accessKeyId\";\nconst _aT = \"accessToken\";\nconst _c = \"client\";\nconst _cI = \"clientId\";\nconst _cV = \"codeVerifier\";\nconst _co = \"code\";\nconst _e = \"error\";\nconst _eI = \"expiresIn\";\nconst _gT = \"grantType\";\nconst _h = \"http\";\nconst _hE = \"httpError\";\nconst _iT = \"idToken\";\nconst _jN = \"jsonName\";\nconst _m = \"message\";\nconst _rT = \"refreshToken\";\nconst _rU = \"redirectUri\";\nconst _s = \"smithy.ts.sdk.synthetic.com.amazonaws.signin\";\nconst _sAK = \"secretAccessKey\";\nconst _sT = \"sessionToken\";\nconst _se = \"server\";\nconst _tI = \"tokenInput\";\nconst _tO = \"tokenOutput\";\nconst _tT = \"tokenType\";\nconst n0 = \"com.amazonaws.signin\";\nconst _s_registry = schema.TypeRegistry.for(_s);\nvar SigninServiceException$ = [-3, _s, \"SigninServiceException\", 0, [], []];\n_s_registry.registerError(SigninServiceException$, SigninServiceException);\nconst n0_registry = schema.TypeRegistry.for(n0);\nvar AccessDeniedException$ = [-3, n0, _ADE, { [_e]: _c }, [_e, _m], [0, 0], 2];\nn0_registry.registerError(AccessDeniedException$, AccessDeniedException);\nvar InternalServerException$ = [-3, n0, _ISE, { [_e]: _se, [_hE]: 500 }, [_e, _m], [0, 0], 2];\nn0_registry.registerError(InternalServerException$, InternalServerException);\nvar TooManyRequestsError$ = [-3, n0, _TMRE, { [_e]: _c, [_hE]: 429 }, [_e, _m], [0, 0], 2];\nn0_registry.registerError(TooManyRequestsError$, TooManyRequestsError);\nvar ValidationException$ = [-3, n0, _VE, { [_e]: _c, [_hE]: 400 }, [_e, _m], [0, 0], 2];\nn0_registry.registerError(ValidationException$, ValidationException);\nconst errorTypeRegistries = [_s_registry, n0_registry];\nvar RefreshToken = [0, n0, _RT, 8, 0];\nvar AccessToken$ = [\n 3,\n n0,\n _AT,\n 8,\n [_aKI, _sAK, _sT],\n [\n [0, { [_jN]: _aKI }],\n [0, { [_jN]: _sAK }],\n [0, { [_jN]: _sT }],\n ],\n 3,\n];\nvar CreateOAuth2TokenRequest$ = [\n 3,\n n0,\n _COATR,\n 0,\n [_tI],\n [[() => CreateOAuth2TokenRequestBody$, 16]],\n 1,\n];\nvar CreateOAuth2TokenRequestBody$ = [\n 3,\n n0,\n _COATRB,\n 0,\n [_cI, _gT, _co, _rU, _cV, _rT],\n [\n [0, { [_jN]: _cI }],\n [0, { [_jN]: _gT }],\n 0,\n [0, { [_jN]: _rU }],\n [0, { [_jN]: _cV }],\n [() => RefreshToken, { [_jN]: _rT }],\n ],\n 2,\n];\nvar CreateOAuth2TokenResponse$ = [\n 3,\n n0,\n _COATRr,\n 0,\n [_tO],\n [[() => CreateOAuth2TokenResponseBody$, 16]],\n 1,\n];\nvar CreateOAuth2TokenResponseBody$ = [\n 3,\n n0,\n _COATRBr,\n 0,\n [_aT, _tT, _eI, _rT, _iT],\n [\n [() => AccessToken$, { [_jN]: _aT }],\n [0, { [_jN]: _tT }],\n [1, { [_jN]: _eI }],\n [() => RefreshToken, { [_jN]: _rT }],\n [0, { [_jN]: _iT }],\n ],\n 4,\n];\nvar CreateOAuth2Token$ = [\n 9,\n n0,\n _COAT,\n { [_h]: [\"POST\", \"/v1/token\", 200] },\n () => CreateOAuth2TokenRequest$,\n () => CreateOAuth2TokenResponse$,\n];\n\nconst getRuntimeConfig$1 = (config) => {\n return {\n apiVersion: \"2023-01-01\",\n base64Decoder: config?.base64Decoder ?? serde.fromBase64,\n base64Encoder: config?.base64Encoder ?? serde.toBase64,\n disableHostPrefix: config?.disableHostPrefix ?? false,\n endpointProvider: config?.endpointProvider ?? defaultEndpointResolver,\n extensions: config?.extensions ?? [],\n httpAuthSchemeProvider: config?.httpAuthSchemeProvider ?? defaultSigninHttpAuthSchemeProvider,\n httpAuthSchemes: config?.httpAuthSchemes ?? [\n {\n schemeId: \"aws.auth#sigv4\",\n identityProvider: (ipc) => ipc.getIdentityProvider(\"aws.auth#sigv4\"),\n signer: new httpAuthSchemes.AwsSdkSigV4Signer(),\n },\n {\n schemeId: \"smithy.api#noAuth\",\n identityProvider: (ipc) => ipc.getIdentityProvider(\"smithy.api#noAuth\") || (async () => ({})),\n signer: new core.NoAuthSigner(),\n },\n ],\n logger: config?.logger ?? new client.NoOpLogger(),\n protocol: config?.protocol ?? protocols$1.AwsRestJsonProtocol,\n protocolSettings: config?.protocolSettings ?? {\n defaultNamespace: \"com.amazonaws.signin\",\n errorTypeRegistries,\n version: \"2023-01-01\",\n serviceTarget: \"Signin\",\n },\n serviceId: config?.serviceId ?? \"Signin\",\n urlParser: config?.urlParser ?? protocols.parseUrl,\n utf8Decoder: config?.utf8Decoder ?? serde.fromUtf8,\n utf8Encoder: config?.utf8Encoder ?? serde.toUtf8,\n };\n};\n\nconst getRuntimeConfig = (config$1) => {\n client.emitWarningIfUnsupportedVersion(process.version);\n const defaultsMode = config.resolveDefaultsModeConfig(config$1);\n const defaultConfigProvider = () => defaultsMode().then(client.loadConfigsForDefaultMode);\n const clientSharedValues = getRuntimeConfig$1(config$1);\n client$1.emitWarningIfUnsupportedVersion(process.version);\n const loaderConfig = {\n profile: config$1?.profile,\n logger: clientSharedValues.logger,\n };\n return {\n ...clientSharedValues,\n ...config$1,\n runtime: \"node\",\n defaultsMode,\n authSchemePreference: config$1?.authSchemePreference ?? config.loadConfig(httpAuthSchemes.NODE_AUTH_SCHEME_PREFERENCE_OPTIONS, loaderConfig),\n bodyLengthChecker: config$1?.bodyLengthChecker ?? serde.calculateBodyLength,\n defaultUserAgentProvider: config$1?.defaultUserAgentProvider ??\n client$1.createDefaultUserAgentProvider({ serviceId: clientSharedValues.serviceId, clientVersion: packageInfo.version }),\n maxAttempts: config$1?.maxAttempts ?? config.loadConfig(retry.NODE_MAX_ATTEMPT_CONFIG_OPTIONS, config$1),\n region: config$1?.region ??\n config.loadConfig(config.NODE_REGION_CONFIG_OPTIONS, { ...config.NODE_REGION_CONFIG_FILE_OPTIONS, ...loaderConfig }),\n requestHandler: nodeHttpHandler.NodeHttpHandler.create(config$1?.requestHandler ?? defaultConfigProvider),\n retryMode: config$1?.retryMode ??\n config.loadConfig({\n ...retry.NODE_RETRY_MODE_CONFIG_OPTIONS,\n default: async () => (await defaultConfigProvider()).retryMode || retry.DEFAULT_RETRY_MODE,\n }, config$1),\n sha256: config$1?.sha256 ?? serde.Hash.bind(null, \"sha256\"),\n streamCollector: config$1?.streamCollector ?? nodeHttpHandler.streamCollector,\n useDualstackEndpoint: config$1?.useDualstackEndpoint ?? config.loadConfig(config.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS, loaderConfig),\n useFipsEndpoint: config$1?.useFipsEndpoint ?? config.loadConfig(config.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS, loaderConfig),\n userAgentAppId: config$1?.userAgentAppId ?? config.loadConfig(client$1.NODE_APP_ID_CONFIG_OPTIONS, loaderConfig),\n };\n};\n\nconst getHttpAuthExtensionConfiguration = (runtimeConfig) => {\n const _httpAuthSchemes = runtimeConfig.httpAuthSchemes;\n let _httpAuthSchemeProvider = runtimeConfig.httpAuthSchemeProvider;\n let _credentials = runtimeConfig.credentials;\n return {\n setHttpAuthScheme(httpAuthScheme) {\n const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId);\n if (index === -1) {\n _httpAuthSchemes.push(httpAuthScheme);\n }\n else {\n _httpAuthSchemes.splice(index, 1, httpAuthScheme);\n }\n },\n httpAuthSchemes() {\n return _httpAuthSchemes;\n },\n setHttpAuthSchemeProvider(httpAuthSchemeProvider) {\n _httpAuthSchemeProvider = httpAuthSchemeProvider;\n },\n httpAuthSchemeProvider() {\n return _httpAuthSchemeProvider;\n },\n setCredentials(credentials) {\n _credentials = credentials;\n },\n credentials() {\n return _credentials;\n },\n };\n};\nconst resolveHttpAuthRuntimeConfig = (config) => {\n return {\n httpAuthSchemes: config.httpAuthSchemes(),\n httpAuthSchemeProvider: config.httpAuthSchemeProvider(),\n credentials: config.credentials(),\n };\n};\n\nconst resolveRuntimeExtensions = (runtimeConfig, extensions) => {\n const extensionConfiguration = Object.assign(client$1.getAwsRegionExtensionConfiguration(runtimeConfig), client.getDefaultExtensionConfiguration(runtimeConfig), protocols.getHttpHandlerExtensionConfiguration(runtimeConfig), getHttpAuthExtensionConfiguration(runtimeConfig));\n extensions.forEach((extension) => extension.configure(extensionConfiguration));\n return Object.assign(runtimeConfig, client$1.resolveAwsRegionExtensionConfiguration(extensionConfiguration), client.resolveDefaultRuntimeConfig(extensionConfiguration), protocols.resolveHttpHandlerRuntimeConfig(extensionConfiguration), resolveHttpAuthRuntimeConfig(extensionConfiguration));\n};\n\nclass SigninClient extends client.Client {\n config;\n constructor(...[configuration]) {\n const _config_0 = getRuntimeConfig(configuration || {});\n super(_config_0);\n this.initConfig = _config_0;\n const _config_1 = resolveClientEndpointParameters(_config_0);\n const _config_2 = client$1.resolveUserAgentConfig(_config_1);\n const _config_3 = retry.resolveRetryConfig(_config_2);\n const _config_4 = config.resolveRegionConfig(_config_3);\n const _config_5 = client$1.resolveHostHeaderConfig(_config_4);\n const _config_6 = endpoints.resolveEndpointConfig(_config_5);\n const _config_7 = resolveHttpAuthSchemeConfig(_config_6);\n const _config_8 = resolveRuntimeExtensions(_config_7, configuration?.extensions || []);\n this.config = _config_8;\n this.middlewareStack.use(schema.getSchemaSerdePlugin(this.config));\n this.middlewareStack.use(client$1.getUserAgentPlugin(this.config));\n this.middlewareStack.use(retry.getRetryPlugin(this.config));\n this.middlewareStack.use(protocols.getContentLengthPlugin(this.config));\n this.middlewareStack.use(client$1.getHostHeaderPlugin(this.config));\n this.middlewareStack.use(client$1.getLoggerPlugin(this.config));\n this.middlewareStack.use(client$1.getRecursionDetectionPlugin(this.config));\n this.middlewareStack.use(core.getHttpAuthSchemeEndpointRuleSetPlugin(this.config, {\n httpAuthSchemeParametersProvider: defaultSigninHttpAuthSchemeParametersProvider,\n identityProviderConfigProvider: async (config) => new core.DefaultIdentityProviderConfig({\n \"aws.auth#sigv4\": config.credentials,\n }),\n }));\n this.middlewareStack.use(core.getHttpSigningPlugin(this.config));\n }\n destroy() {\n super.destroy();\n }\n}\n\nclass CreateOAuth2TokenCommand extends client.Command\n .classBuilder()\n .ep(commonParams)\n .m(function (Command, cs, config, o) {\n return [endpoints.getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"Signin\", \"CreateOAuth2Token\", {})\n .n(\"SigninClient\", \"CreateOAuth2TokenCommand\")\n .sc(CreateOAuth2Token$)\n .build() {\n}\n\nconst commands = {\n CreateOAuth2TokenCommand,\n};\nclass Signin extends SigninClient {\n}\nclient.createAggregatedClient(commands, Signin);\n\nconst OAuth2ErrorCode = {\n AUTHCODE_EXPIRED: \"AUTHCODE_EXPIRED\",\n INSUFFICIENT_PERMISSIONS: \"INSUFFICIENT_PERMISSIONS\",\n INVALID_REQUEST: \"INVALID_REQUEST\",\n SERVER_ERROR: \"server_error\",\n TOKEN_EXPIRED: \"TOKEN_EXPIRED\",\n USER_CREDENTIALS_CHANGED: \"USER_CREDENTIALS_CHANGED\",\n};\n\nexports.$Command = client.Command;\nexports.__Client = client.Client;\nexports.AccessDeniedException = AccessDeniedException;\nexports.AccessDeniedException$ = AccessDeniedException$;\nexports.AccessToken$ = AccessToken$;\nexports.CreateOAuth2Token$ = CreateOAuth2Token$;\nexports.CreateOAuth2TokenCommand = CreateOAuth2TokenCommand;\nexports.CreateOAuth2TokenRequest$ = CreateOAuth2TokenRequest$;\nexports.CreateOAuth2TokenRequestBody$ = CreateOAuth2TokenRequestBody$;\nexports.CreateOAuth2TokenResponse$ = CreateOAuth2TokenResponse$;\nexports.CreateOAuth2TokenResponseBody$ = CreateOAuth2TokenResponseBody$;\nexports.InternalServerException = InternalServerException;\nexports.InternalServerException$ = InternalServerException$;\nexports.OAuth2ErrorCode = OAuth2ErrorCode;\nexports.Signin = Signin;\nexports.SigninClient = SigninClient;\nexports.SigninServiceException = SigninServiceException;\nexports.SigninServiceException$ = SigninServiceException$;\nexports.TooManyRequestsError = TooManyRequestsError;\nexports.TooManyRequestsError$ = TooManyRequestsError$;\nexports.ValidationException = ValidationException;\nexports.ValidationException$ = ValidationException$;\nexports.errorTypeRegistries = errorTypeRegistries;\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "4DFA6C2DE9F5915F64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "482DBF980CF344FC64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260601010001_normalize_storage_paths.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260601010001_normalize_storage_paths\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(\n `UPDATE project SET worktree = REPLACE(worktree, char(92), '/') WHERE worktree GLOB '[A-Za-z]:' || char(92) || '*' OR worktree LIKE char(92) || char(92) || '%';`,\n )\n yield* tx.run(\n `UPDATE project SET sandboxes = REPLACE(sandboxes, char(92) || char(92), '/') WHERE instr(sandboxes, char(92)) > 0 AND (worktree GLOB '[A-Za-z]:*' OR worktree LIKE '//%');`,\n )\n yield* tx.run(\n `UPDATE session SET directory = REPLACE(directory, char(92), '/') WHERE directory GLOB '[A-Za-z]:' || char(92) || '*' OR directory LIKE char(92) || char(92) || '%';`,\n )\n yield* tx.run(\n `UPDATE session SET path = REPLACE(path, char(92), '/') WHERE path IS NOT NULL AND instr(path, char(92)) > 0 AND (directory GLOB '[A-Za-z]:*' OR directory LIKE '//%');`,\n )\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,yCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IACR,iKACF,EACA,MAAO,EAAG,IACR,4KACF,EACA,MAAO,EAAG,IACR,qKACF,EACA,MAAO,EAAG,IACR,wKACF,EACD,EAEL", | ||
| "debugId": "08F3D31962FEFF3264756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260709163752_time_suspended.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260709163752_time_suspended\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`ALTER TABLE \\`session\\` ADD \\`time_suspended\\` integer;`)\n yield* tx.run(\n `CREATE INDEX \\`session_time_suspended_idx\\` ON \\`session\\` (\\`time_suspended\\`) WHERE \"session\".\"time_suspended\" is not null;`,\n )\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,gCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,qDAAyD,EACvE,MAAO,EAAG,IACR,yHACF,EACD,EAEL", | ||
| "debugId": "9DEC5B3238190AA064756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260510033149_session_usage.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260510033149_session_usage\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`ALTER TABLE \\`session\\` ADD \\`cost\\` real DEFAULT 0 NOT NULL;`)\n yield* tx.run(`ALTER TABLE \\`session\\` ADD \\`tokens_input\\` integer DEFAULT 0 NOT NULL;`)\n yield* tx.run(`ALTER TABLE \\`session\\` ADD \\`tokens_output\\` integer DEFAULT 0 NOT NULL;`)\n yield* tx.run(`ALTER TABLE \\`session\\` ADD \\`tokens_reasoning\\` integer DEFAULT 0 NOT NULL;`)\n yield* tx.run(`ALTER TABLE \\`session\\` ADD \\`tokens_cache_read\\` integer DEFAULT 0 NOT NULL;`)\n yield* tx.run(`ALTER TABLE \\`session\\` ADD \\`tokens_cache_write\\` integer DEFAULT 0 NOT NULL;`)\n yield* tx.run(`\n UPDATE session\n SET\n cost = coalesce((\n SELECT sum(coalesce(json_extract(message.data, '$.cost'), 0))\n FROM message\n WHERE message.session_id = session.id\n AND json_extract(message.data, '$.role') = 'assistant'\n ), 0),\n tokens_input = coalesce((\n SELECT sum(coalesce(json_extract(message.data, '$.tokens.input'), 0))\n FROM message\n WHERE message.session_id = session.id\n AND json_extract(message.data, '$.role') = 'assistant'\n ), 0),\n tokens_output = coalesce((\n SELECT sum(coalesce(json_extract(message.data, '$.tokens.output'), 0))\n FROM message\n WHERE message.session_id = session.id\n AND json_extract(message.data, '$.role') = 'assistant'\n ), 0),\n tokens_reasoning = coalesce((\n SELECT sum(coalesce(json_extract(message.data, '$.tokens.reasoning'), 0))\n FROM message\n WHERE message.session_id = session.id\n AND json_extract(message.data, '$.role') = 'assistant'\n ), 0),\n tokens_cache_read = coalesce((\n SELECT sum(coalesce(json_extract(message.data, '$.tokens.cache.read'), 0))\n FROM message\n WHERE message.session_id = session.id\n AND json_extract(message.data, '$.role') = 'assistant'\n ), 0),\n tokens_cache_write = coalesce((\n SELECT sum(coalesce(json_extract(message.data, '$.tokens.cache.write'), 0))\n FROM message\n WHERE message.session_id = session.id\n AND json_extract(message.data, '$.role') = 'assistant'\n ), 0)\n `)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,+BACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,2DAA+D,EAC7E,MAAO,EAAG,IAAI,sEAA0E,EACxF,MAAO,EAAG,IAAI,uEAA2E,EACzF,MAAO,EAAG,IAAI,0EAA8E,EAC5F,MAAO,EAAG,IAAI,2EAA+E,EAC7F,MAAO,EAAG,IAAI,4EAAgF,EAC9F,MAAO,EAAG,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAuCb,EACF,EAEL", | ||
| "debugId": "3BA9A2DFD32D3DAC64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "40C9DA4D20FF77BE64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/ai-gateway-provider@3.1.2+a6631614dda8d488/node_modules/ai-gateway-provider/dist/providers/unified.mjs"], | ||
| "sourcesContent": [ | ||
| "// src/providers/unified.ts\nimport { createOpenAICompatible } from \"@ai-sdk/openai-compatible\";\nvar createUnified = (arg) => {\n return createOpenAICompatible({\n baseURL: \"https://gateway.ai.cloudflare.com/v1/compat\",\n // intercepted and replaced with actual base URL later\n name: \"Unified\",\n ...arg || {}\n });\n};\nvar unified = createUnified();\nexport {\n createUnified,\n unified\n};\n//# sourceMappingURL=unified.mjs.map" | ||
| ], | ||
| "mappings": ";8NAEA,SAAI,OAAgB,MAAC,SAAQ,MAC3B,OAAO,EAAuB,CAC5B,QAAS,8CAET,KAAM,aACH,GAAO,CAAC,CACb,CAAC,GAEC,EAAU,EAAc", | ||
| "debugId": "073FDE05C6EA207A64756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["../schema/src/integration-id.ts", "../schema/src/credential.ts", "../schema/src/connection.ts", "../schema/src/integration.ts", "../schema/src/provider.ts", "../schema/src/money.ts", "../schema/src/model.ts", "../schema/src/prompt.ts", "../schema/src/shell.ts", "../schema/src/session-error.ts", "../schema/src/session-id.ts", "../schema/src/permission.ts", "../schema/src/agent.ts", "../schema/src/skill.ts", "../schema/src/snapshot.ts", "../schema/src/token-usage.ts", "../schema/src/session-message.ts"], | ||
| "sourcesContent": [ | ||
| "import { Schema } from \"effect\"\n\nexport const IntegrationID = Schema.String.pipe(Schema.brand(\"Integration.ID\"))\nexport type IntegrationID = typeof IntegrationID.Type\n\nexport const IntegrationMethodID = Schema.String.pipe(Schema.brand(\"Integration.MethodID\"))\nexport type IntegrationMethodID = typeof IntegrationMethodID.Type\n", | ||
| "export * as Credential from \"./credential.js\"\n\nimport { Schema } from \"effect\"\nimport { optional } from \"./schema.js\"\nimport { IntegrationMethodID } from \"./integration-id.js\"\nimport { ascending } from \"./identifier.js\"\nimport { NonNegativeInt, statics } from \"./schema.js\"\n\nexport const ID = Schema.String.pipe(\n Schema.brand(\"Credential.ID\"),\n statics((schema) => ({ create: () => schema.make(\"cred_\" + ascending()) })),\n)\nexport type ID = typeof ID.Type\n\nexport interface OAuth extends Schema.Schema.Type<typeof OAuth> {}\nexport const OAuth = Schema.Struct({\n type: Schema.Literal(\"oauth\"),\n methodID: IntegrationMethodID,\n refresh: Schema.String,\n access: Schema.String,\n expires: NonNegativeInt,\n metadata: optional(Schema.Record(Schema.String, Schema.Unknown)),\n}).annotate({ identifier: \"Credential.OAuth\" })\n\nexport interface Key extends Schema.Schema.Type<typeof Key> {}\nexport const Key = Schema.Struct({\n type: Schema.Literal(\"key\"),\n key: Schema.String,\n metadata: optional(Schema.Record(Schema.String, Schema.Unknown)),\n}).annotate({ identifier: \"Credential.Key\" })\n\nexport const Value = Schema.Union([OAuth, Key])\n .pipe(Schema.toTaggedUnion(\"type\"))\n .annotate({ identifier: \"Credential.Value\" })\nexport type Value = Schema.Schema.Type<typeof Value>\n", | ||
| "export * as Connection from \"./connection.js\"\n\nimport { Schema } from \"effect\"\nimport { Credential } from \"./credential.js\"\n\nexport interface CredentialInfo extends Schema.Schema.Type<typeof CredentialInfo> {}\nexport const CredentialInfo = Schema.Struct({\n type: Schema.Literal(\"credential\"),\n id: Credential.ID,\n label: Schema.String,\n}).annotate({ identifier: \"Connection.CredentialInfo\" })\n\nexport interface EnvInfo extends Schema.Schema.Type<typeof EnvInfo> {}\nexport const EnvInfo = Schema.Struct({\n type: Schema.Literal(\"env\"),\n name: Schema.String,\n}).annotate({ identifier: \"Connection.EnvInfo\" })\n\nexport const Info = Schema.Union([CredentialInfo, EnvInfo])\n .pipe(Schema.toTaggedUnion(\"type\"))\n .annotate({ identifier: \"Connection.Info\" })\nexport type Info = typeof Info.Type\n", | ||
| "export * as Integration from \"./integration.js\"\n\nimport { Schema } from \"effect\"\nimport { optional } from \"./schema.js\"\nimport { ephemeral, inventory } from \"./event.js\"\nimport { Connection } from \"./connection.js\"\nimport { ascending } from \"./identifier.js\"\nimport { statics } from \"./schema.js\"\nimport { IntegrationID, IntegrationMethodID } from \"./integration-id.js\"\n\nexport const ID = IntegrationID\nexport type ID = typeof ID.Type\n\nexport const MethodID = IntegrationMethodID\nexport type MethodID = typeof MethodID.Type\n\nexport interface When extends Schema.Schema.Type<typeof When> {}\nexport const When = Schema.Struct({\n key: Schema.String,\n op: Schema.Literals([\"eq\", \"neq\"]),\n value: Schema.String,\n}).annotate({ identifier: \"Integration.When\" })\n\nexport interface TextPrompt extends Schema.Schema.Type<typeof TextPrompt> {}\nexport const TextPrompt = Schema.Struct({\n type: Schema.Literal(\"text\"),\n key: Schema.String,\n message: Schema.String,\n placeholder: optional(Schema.String),\n when: optional(When),\n}).annotate({ identifier: \"Integration.TextPrompt\" })\n\nexport interface SelectPrompt extends Schema.Schema.Type<typeof SelectPrompt> {}\nexport const SelectPrompt = Schema.Struct({\n type: Schema.Literal(\"select\"),\n key: Schema.String,\n message: Schema.String,\n options: Schema.Array(\n Schema.Struct({\n label: Schema.String,\n value: Schema.String,\n hint: optional(Schema.String),\n }),\n ),\n when: optional(When),\n}).annotate({ identifier: \"Integration.SelectPrompt\" })\n\nexport const Prompt = Schema.Union([TextPrompt, SelectPrompt]).pipe(Schema.toTaggedUnion(\"type\"))\nexport type Prompt = typeof Prompt.Type\n\nexport interface OAuthMethod extends Schema.Schema.Type<typeof OAuthMethod> {}\nexport const OAuthMethod = Schema.Struct({\n id: MethodID,\n type: Schema.Literal(\"oauth\"),\n label: Schema.String,\n prompts: optional(Schema.Array(Prompt)),\n}).annotate({ identifier: \"Integration.OAuthMethod\" })\n\nexport interface KeyMethod extends Schema.Schema.Type<typeof KeyMethod> {}\nexport const KeyMethod = Schema.Struct({\n type: Schema.Literal(\"key\"),\n label: optional(Schema.String),\n}).annotate({ identifier: \"Integration.KeyMethod\" })\n\nexport interface EnvMethod extends Schema.Schema.Type<typeof EnvMethod> {}\nexport const EnvMethod = Schema.Struct({\n type: Schema.Literal(\"env\"),\n names: Schema.Array(Schema.String),\n}).annotate({ identifier: \"Integration.EnvMethod\" })\n\nexport const Method = Schema.Union([OAuthMethod, KeyMethod, EnvMethod])\n .pipe(Schema.toTaggedUnion(\"type\"))\n .annotate({ identifier: \"Integration.Method\" })\nexport type Method = typeof Method.Type\n\nexport const Inputs = Schema.Record(Schema.String, Schema.String).annotate({ identifier: \"Integration.Inputs\" })\nexport type Inputs = typeof Inputs.Type\n\nconst Updated = ephemeral({\n type: \"integration.updated\",\n schema: {},\n})\nconst ConnectionUpdated = ephemeral({\n type: \"integration.connection.updated\",\n schema: { integrationID: ID },\n})\nexport const Event = { Updated, ConnectionUpdated, Definitions: inventory(Updated, ConnectionUpdated) }\n\nexport interface Ref extends Schema.Schema.Type<typeof Ref> {}\nexport const Ref = Schema.Struct({\n id: ID,\n name: Schema.String,\n}).annotate({ identifier: \"Integration.Ref\" })\n\nexport class Info extends Schema.Class<Info>(\"Integration.Info\")({\n id: ID,\n name: Schema.String,\n methods: Schema.Array(Method),\n connections: Schema.Array(Connection.Info),\n}) {}\n\nexport const AttemptID = Schema.String.pipe(\n Schema.brand(\"Integration.AttemptID\"),\n statics((schema) => ({ create: () => schema.make(\"con_\" + ascending()) })),\n)\nexport type AttemptID = typeof AttemptID.Type\n\nconst AttemptTime = Schema.Struct({\n created: Schema.Number,\n expires: Schema.Number,\n})\n\nexport class Attempt extends Schema.Class<Attempt>(\"Integration.Attempt\")({\n attemptID: AttemptID,\n url: Schema.String,\n instructions: Schema.String,\n mode: Schema.Literals([\"auto\", \"code\"]),\n time: AttemptTime,\n}) {}\n\nexport const AttemptStatus = Schema.Union([\n Schema.Struct({ status: Schema.Literal(\"pending\"), time: AttemptTime }),\n Schema.Struct({ status: Schema.Literal(\"complete\"), time: AttemptTime }),\n Schema.Struct({ status: Schema.Literal(\"failed\"), message: Schema.String, time: AttemptTime }),\n Schema.Struct({ status: Schema.Literal(\"expired\"), time: AttemptTime }),\n])\n .pipe(Schema.toTaggedUnion(\"status\"))\n .annotate({ identifier: \"Integration.AttemptStatus\" })\nexport type AttemptStatus = typeof AttemptStatus.Type\n", | ||
| "export * as Provider from \"./provider.js\"\n\nimport { Effect, Schema } from \"effect\"\nimport { Integration } from \"./integration.js\"\nimport { optional, statics } from \"./schema.js\"\n\nexport const ID = Schema.String.pipe(\n Schema.brand(\"ProviderV2.ID\"),\n statics((schema) => ({\n opencode: schema.make(\"opencode\"),\n anthropic: schema.make(\"anthropic\"),\n openai: schema.make(\"openai\"),\n google: schema.make(\"google\"),\n googleVertex: schema.make(\"google-vertex\"),\n githubCopilot: schema.make(\"github-copilot\"),\n amazonBedrock: schema.make(\"amazon-bedrock\"),\n azure: schema.make(\"azure\"),\n openrouter: schema.make(\"openrouter\"),\n mistral: schema.make(\"mistral\"),\n gitlab: schema.make(\"gitlab\"),\n })),\n)\nexport type ID = typeof ID.Type\n\nexport const Package = Schema.String\nexport type Package = typeof Package.Type\n\nexport const Overlays = {\n settings: Schema.Record(Schema.String, Schema.Json).pipe(optional),\n headers: Schema.Record(Schema.String, Schema.String).pipe(optional),\n body: Schema.Record(Schema.String, Schema.Json).pipe(optional),\n}\n\nexport const Settings = Schema.Record(Schema.String, Schema.Json).annotate({ identifier: \"Provider.Settings\" })\nexport type Settings = typeof Settings.Type\n\nexport interface Request extends Schema.Schema.Type<typeof Request> {}\nexport const Request = Schema.Struct({\n settings: Settings.pipe(Schema.withConstructorDefault(Effect.succeed({}))),\n headers: Schema.Record(Schema.String, Schema.String),\n body: Schema.Record(Schema.String, Schema.Json),\n}).annotate({ identifier: \"Provider.Request\" })\n\nexport interface Info extends Schema.Schema.Type<typeof Info> {}\nexport const Info = Schema.Struct({\n id: ID,\n integrationID: Integration.ID.pipe(optional),\n name: Schema.String,\n disabled: Schema.Boolean.pipe(optional),\n package: Package,\n ...Overlays,\n})\n .annotate({ identifier: \"ProviderV2.Info\" })\n .pipe(\n statics(() => ({\n empty: (id: ID): Info => ({ id, name: id, package: \"\" }),\n })),\n )\n", | ||
| "export * as Money from \"./money.js\"\n\nimport { Schema } from \"effect\"\nimport { statics } from \"./schema.js\"\n\nexport const USD = Schema.Finite.pipe(\n Schema.brand(\"Money.USD\"),\n Schema.annotate({ identifier: \"Money.USD\" }),\n statics((schema) => ({ zero: schema.make(0) })),\n)\nexport type USD = typeof USD.Type\n\nexport const USDPerMillionTokens = Schema.Finite.pipe(\n Schema.brand(\"Money.USDPerMillionTokens\"),\n Schema.annotate({ identifier: \"Money.USDPerMillionTokens\" }),\n statics((schema) => ({ zero: schema.make(0) })),\n)\nexport type USDPerMillionTokens = typeof USDPerMillionTokens.Type\n", | ||
| "export * as Model from \"./model.js\"\n\nimport { Schema } from \"effect\"\nimport { optional, statics } from \"./schema.js\"\nimport { Provider } from \"./provider.js\"\nimport { Money } from \"./money.js\"\n\nexport const ID = Schema.String.pipe(Schema.brand(\"Model.ID\"))\nexport type ID = typeof ID.Type\n\nexport const VariantID = Schema.String.pipe(Schema.brand(\"Model.VariantID\"))\nexport type VariantID = typeof VariantID.Type\n\nexport const Ref = Schema.Struct({\n id: ID,\n providerID: Provider.ID,\n variant: VariantID.pipe(optional),\n})\n .annotate({ identifier: \"Model.Ref\" })\n .pipe(\n statics((schema) => ({\n parse: (input: string) => {\n const providerEnd = input.indexOf(\"/\")\n if (providerEnd <= 0) throw new Error(`Invalid model reference: ${input}`)\n const providerID = input.slice(0, providerEnd)\n const variantStart = input.indexOf(\"#\", providerEnd + 1)\n const id = input.slice(providerEnd + 1, variantStart === -1 ? undefined : variantStart)\n const variant = variantStart === -1 ? undefined : input.slice(variantStart + 1)\n if (!id || providerID.includes(\"#\") || (variant !== undefined && (!variant || variant.includes(\"#\"))))\n throw new Error(`Invalid model reference: ${input}`)\n return schema.make({\n providerID: Provider.ID.make(providerID),\n id: ID.make(id),\n ...(variant ? { variant: VariantID.make(variant) } : {}),\n })\n },\n })),\n )\nexport interface Ref extends Schema.Schema.Type<typeof Ref> {}\n\nexport const Family = Schema.String.pipe(Schema.brand(\"Model.Family\"))\nexport type Family = typeof Family.Type\n\nexport interface Capabilities extends Schema.Schema.Type<typeof Capabilities> {}\nexport const Capabilities = Schema.Struct({\n tools: Schema.Boolean,\n input: Schema.Array(Schema.String),\n output: Schema.Array(Schema.String),\n}).annotate({ identifier: \"Model.Capabilities\" })\n\nexport interface Cost extends Schema.Schema.Type<typeof Cost> {}\nexport const Cost = Schema.Struct({\n tier: Schema.Struct({\n type: Schema.tag(\"context\"),\n size: Schema.Int,\n }).pipe(optional),\n input: Money.USDPerMillionTokens,\n output: Money.USDPerMillionTokens,\n cache: Schema.Struct({\n read: Money.USDPerMillionTokens,\n write: Money.USDPerMillionTokens,\n }),\n}).annotate({ identifier: \"Model.Cost\" })\n\nexport interface Variant extends Schema.Schema.Type<typeof Variant> {}\nexport const Variant = Schema.Struct({\n id: VariantID,\n ...Provider.Overlays,\n}).annotate({ identifier: \"Model.Variant\" })\n\nexport interface Info extends Schema.Schema.Type<typeof Info> {}\nexport const Info = Schema.Struct({\n id: ID,\n modelID: ID,\n providerID: Provider.ID,\n family: Family.pipe(optional),\n name: Schema.String,\n package: Provider.Package.pipe(optional),\n ...Provider.Overlays,\n capabilities: Capabilities,\n variants: Schema.Array(Variant),\n time: Schema.Struct({\n released: Schema.Finite,\n }),\n cost: Schema.Array(Cost),\n status: Schema.Literals([\"alpha\", \"beta\", \"deprecated\", \"active\"]),\n enabled: Schema.Boolean,\n limit: Schema.Struct({\n context: Schema.Int,\n input: Schema.Int.pipe(optional),\n output: Schema.Int,\n }),\n})\n .annotate({ identifier: \"Model.Info\" })\n .pipe(\n statics(() => ({\n empty: (providerID: Provider.ID, id: ID) =>\n ({\n id,\n modelID: id,\n providerID,\n name: id,\n capabilities: { tools: false, input: [], output: [] },\n variants: [],\n time: { released: 0 },\n cost: [],\n status: \"active\",\n enabled: true,\n limit: { context: 0, output: 0 },\n }) satisfies Info,\n })),\n )\n", | ||
| "import { Schema } from \"effect\"\nimport { optional } from \"./schema.js\"\nimport { statics } from \"./schema.js\"\n\nexport interface PromptMention extends Schema.Schema.Type<typeof PromptMention> {}\nexport const PromptMention = Schema.Struct({\n start: Schema.Finite,\n end: Schema.Finite,\n text: Schema.String,\n}).annotate({ identifier: \"Prompt.Mention\" })\n\nexport const FileSource = Schema.Union([\n Schema.Struct({ type: Schema.Literal(\"inline\") }),\n Schema.Struct({ type: Schema.Literal(\"uri\"), uri: Schema.String }),\n])\n .pipe(Schema.toTaggedUnion(\"type\"))\n .annotate({ identifier: \"Prompt.FileSource\" })\nexport type FileSource = typeof FileSource.Type\n\nexport const Base64 = Schema.String.check(\n Schema.isPattern(/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/),\n).annotate({ identifier: \"Prompt.Base64\" })\nexport type Base64 = typeof Base64.Type\n\nexport interface FileAttachment extends Schema.Schema.Type<typeof FileAttachment> {}\nexport const FileAttachment = Schema.Struct({\n data: Base64,\n mime: Schema.String,\n source: FileSource,\n name: Schema.String.pipe(optional),\n description: Schema.String.pipe(optional),\n mention: PromptMention.pipe(optional),\n})\n .annotate({ identifier: \"Prompt.FileAttachment\" })\n .pipe(\n statics((schema) => ({\n create: (input: FileAttachment) =>\n schema.make({\n data: input.data,\n mime: input.mime,\n source: input.source,\n name: input.name,\n description: input.description,\n mention: input.mention,\n }),\n })),\n )\n\nexport interface AgentAttachment extends Schema.Schema.Type<typeof AgentAttachment> {}\nexport const AgentAttachment = Schema.Struct({\n name: Schema.String,\n mention: PromptMention.pipe(optional),\n}).annotate({ identifier: \"Prompt.AgentAttachment\" })\n\nexport interface Prompt extends Schema.Schema.Type<typeof Prompt> {}\nexport const Prompt = Schema.Struct({\n text: Schema.String,\n files: Schema.Array(FileAttachment).pipe(optional),\n agents: Schema.Array(AgentAttachment).pipe(optional),\n})\n .annotate({ identifier: \"Prompt\" })\n .pipe(\n statics((schema) => ({\n equivalence: Schema.toEquivalence(schema),\n fromUserMessage: (input: Pick<Prompt, \"text\" | \"files\" | \"agents\">) =>\n schema.make({\n text: input.text,\n ...(input.files === undefined ? {} : { files: input.files }),\n ...(input.agents === undefined ? {} : { agents: input.agents }),\n }),\n })),\n )\n", | ||
| "export * as Shell from \"./shell.js\"\n\nimport { Schema } from \"effect\"\nimport { optional } from \"./schema.js\"\nimport { ephemeral, inventory } from \"./event.js\"\nimport { ascending } from \"./identifier.js\"\nimport { NonNegativeInt, statics } from \"./schema.js\"\n\nconst IDSchema = Schema.String.check(Schema.isStartsWith(\"sh_\")).pipe(Schema.brand(\"Shell.ID\"))\n\nexport const ID = IDSchema.pipe(\n statics((schema: typeof IDSchema) => {\n const create = () => schema.make(\"sh_\" + ascending())\n return {\n create,\n ascending: (id?: string) => (id === undefined ? create() : schema.make(id)),\n }\n }),\n)\nexport type ID = typeof ID.Type\n\nexport const Status = Schema.Literals([\"running\", \"exited\", \"timeout\", \"killed\"])\nexport type Status = typeof Status.Type\n\nexport const Time = Schema.Struct({\n started: Schema.Number,\n completed: optional(Schema.Number),\n})\nexport interface Time extends Schema.Schema.Type<typeof Time> {}\n\n// Opaque caller-supplied tags echoed back on Info and events. The Shell service never interprets\n// these; callers (e.g. ShellTool stores the originating session ID) use them to filter or correlate.\nexport const Metadata = Schema.Record(Schema.String, Schema.Unknown)\nexport type Metadata = typeof Metadata.Type\n\nexport const Info = Schema.Struct({\n id: ID,\n status: Status,\n command: Schema.String,\n cwd: Schema.String,\n shell: Schema.String,\n // Absolute path of the file capturing combined stdout/stderr. Page through it via `output`.\n file: Schema.String,\n pid: optional(NonNegativeInt),\n exit: optional(Schema.Number),\n // Always present; defaults to an empty object when the creator supplies no metadata.\n metadata: Metadata,\n time: Time,\n}).annotate({ identifier: \"Shell\" })\nexport interface Info extends Schema.Schema.Type<typeof Info> {}\n\nconst Created = ephemeral({ type: \"shell.created\", schema: { info: Info } })\nconst Exited = ephemeral({ type: \"shell.exited\", schema: { id: ID, exit: optional(Schema.Number), status: Status } })\nconst Deleted = ephemeral({ type: \"shell.deleted\", schema: { id: ID } })\nexport const Event = { Created, Exited, Deleted, Definitions: inventory(Created, Exited, Deleted) }\n\nexport const CreateInput = Schema.Struct({\n command: Schema.String,\n cwd: optional(Schema.String),\n timeout: NonNegativeInt,\n metadata: optional(Metadata),\n})\nexport interface CreateInput extends Schema.Schema.Type<typeof CreateInput> {}\n\nexport const OutputInput = Schema.Struct({\n cursor: optional(NonNegativeInt),\n limit: optional(NonNegativeInt),\n})\nexport interface OutputInput extends Schema.Schema.Type<typeof OutputInput> {}\n\nexport const Output = Schema.Struct({\n output: Schema.String,\n // Absolute cursor after this page. Equals `size` once fully caught up.\n cursor: NonNegativeInt,\n // Total bytes captured so far. A consumer has more to page while `cursor < size`.\n size: NonNegativeInt,\n truncated: Schema.Boolean,\n})\nexport interface Output extends Schema.Schema.Type<typeof Output> {}\n", | ||
| "export * as SessionError from \"./session-error.js\"\n\nimport { Schema } from \"effect\"\n\nexport interface Error extends Schema.Schema.Type<typeof Error> {}\nexport const Error = Schema.Struct({\n type: Schema.String,\n message: Schema.String,\n}).annotate({ identifier: \"Session.StructuredError\" })\n", | ||
| "import { Schema } from \"effect\"\nimport { descending } from \"./identifier.js\"\nimport { statics } from \"./schema.js\"\n\nexport const SessionID = Schema.String.check(Schema.isStartsWith(\"ses\")).pipe(\n Schema.brand(\"SessionID\"),\n statics((schema) => {\n const create = () => schema.make(\"ses_\" + descending())\n return {\n create,\n descending: (id?: string) => (id === undefined ? create() : schema.make(id)),\n }\n }),\n)\nexport type SessionID = typeof SessionID.Type\n", | ||
| "export * as Permission from \"./permission.js\"\n\nimport { Schema } from \"effect\"\nimport { optional } from \"./schema.js\"\nimport { ephemeral, inventory } from \"./event.js\"\nimport { ascending } from \"./identifier.js\"\nimport { SessionID } from \"./session-id.js\"\nimport { statics } from \"./schema.js\"\n\nexport const ID = Schema.String.check(Schema.isStartsWith(\"per\")).pipe(\n Schema.brand(\"PermissionV2.ID\"),\n statics((schema) => ({ create: (id?: string) => schema.make(id ?? \"per_\" + ascending()) })),\n)\nexport type ID = typeof ID.Type\n\nexport const Source = Schema.Union([\n Schema.Struct({\n type: Schema.Literal(\"tool\"),\n messageID: Schema.String,\n callID: Schema.String,\n }),\n]).annotate({ identifier: \"PermissionV2.Source\" })\nexport type Source = typeof Source.Type\n\nconst RequestFields = {\n sessionID: SessionID,\n action: Schema.String,\n resources: Schema.Array(Schema.String),\n save: Schema.Array(Schema.String).pipe(optional),\n metadata: Schema.Record(Schema.String, Schema.Unknown).pipe(optional),\n source: Source.pipe(optional),\n}\n\nexport const Request = Schema.Struct({\n id: ID,\n ...RequestFields,\n}).annotate({ identifier: \"PermissionV2.Request\" })\nexport interface Request extends Schema.Schema.Type<typeof Request> {}\n\nexport const Reply = Schema.Literals([\"once\", \"always\", \"reject\"]).annotate({ identifier: \"PermissionV2.Reply\" })\nexport type Reply = typeof Reply.Type\n\nconst Asked = ephemeral({ type: \"permission.v2.asked\", schema: Request.fields })\nconst Replied = ephemeral({\n type: \"permission.v2.replied\",\n schema: {\n sessionID: SessionID,\n requestID: ID,\n reply: Reply,\n },\n})\nexport const Event = { Asked, Replied, Definitions: inventory(Asked, Replied) }\n\nexport const Effect = Schema.Literals([\"allow\", \"deny\", \"ask\"]).annotate({ identifier: \"PermissionV2.Effect\" })\nexport type Effect = typeof Effect.Type\n\nexport interface Rule extends Schema.Schema.Type<typeof Rule> {}\nexport const Rule = Schema.Struct({\n action: Schema.String,\n resource: Schema.String,\n effect: Effect,\n}).annotate({ identifier: \"PermissionV2.Rule\" })\n\nexport const Ruleset = Schema.Array(Rule).annotate({ identifier: \"PermissionV2.Ruleset\" })\nexport type Ruleset = typeof Ruleset.Type\n", | ||
| "export * as Agent from \"./agent.js\"\n\nimport { Schema } from \"effect\"\nimport { ephemeral, inventory } from \"./event.js\"\nimport { optional } from \"./schema.js\"\nimport { Model } from \"./model.js\"\nimport { Permission } from \"./permission.js\"\nimport { Provider } from \"./provider.js\"\nimport { PositiveInt, statics } from \"./schema.js\"\n\nconst Updated = ephemeral({ type: \"agent.updated\", schema: {} })\n\nexport const ID = Schema.String.pipe(Schema.brand(\"Agent.ID\"))\nexport type ID = typeof ID.Type\n\nexport const Name = Schema.String.pipe(Schema.brand(\"Agent.Name\"))\nexport type Name = typeof Name.Type\n\nexport const Color = Schema.Union([\n Schema.String.check(Schema.isPattern(/^#[0-9a-fA-F]{6}$/)),\n Schema.Literals([\"primary\", \"secondary\", \"accent\", \"success\", \"warning\", \"error\", \"info\"]),\n]).annotate({ identifier: \"Agent.Color\" })\nexport type Color = typeof Color.Type\n\nexport interface Info extends Schema.Schema.Type<typeof Info> {}\nexport const Info = Schema.Struct({\n id: ID,\n name: Name,\n model: Model.Ref.pipe(optional),\n request: Provider.Request,\n system: Schema.String.pipe(optional),\n description: Schema.String.pipe(optional),\n mode: Schema.Literals([\"subagent\", \"primary\", \"all\"]),\n hidden: Schema.Boolean,\n color: Color.pipe(optional),\n steps: PositiveInt.pipe(optional),\n permissions: Permission.Ruleset,\n})\n .annotate({ identifier: \"Agent.Info\" })\n .pipe(\n statics(() => ({\n empty: (id: ID) =>\n ({\n id,\n name: Name.make(id),\n request: { settings: {}, headers: {}, body: {} },\n mode: \"all\",\n hidden: false,\n permissions: [\n { action: \"*\", resource: \"*\", effect: \"allow\" },\n { action: \"external_directory\", resource: \"*\", effect: \"ask\" },\n ],\n }) satisfies Info,\n })),\n )\n\nexport const Event = {\n Updated,\n Definitions: inventory(Updated),\n}\n", | ||
| "export * as Skill from \"./skill.js\"\n\nimport { Schema } from \"effect\"\nimport { optional } from \"./schema.js\"\nimport { AbsolutePath } from \"./schema.js\"\nimport { ephemeral, inventory } from \"./event.js\"\n\nexport const ID = Schema.String.pipe(Schema.brand(\"Skill.ID\"))\nexport type ID = typeof ID.Type\n\nexport const Name = Schema.String.pipe(Schema.brand(\"Skill.Name\"))\nexport type Name = typeof Name.Type\n\nexport interface DirectorySource extends Schema.Schema.Type<typeof DirectorySource> {}\nexport const DirectorySource = Schema.Struct({\n type: Schema.tag(\"directory\"),\n path: AbsolutePath,\n}).annotate({ identifier: \"Skill.DirectorySource\" })\n\nexport interface UrlSource extends Schema.Schema.Type<typeof UrlSource> {}\nexport const UrlSource = Schema.Struct({\n type: Schema.tag(\"url\"),\n url: Schema.String,\n}).annotate({ identifier: \"Skill.UrlSource\" })\n\nexport interface Info extends Schema.Schema.Type<typeof Info> {}\nexport const Info = Schema.Struct({\n id: ID,\n name: Name,\n description: Schema.String.pipe(optional),\n slash: Schema.Boolean.pipe(optional),\n autoinvoke: Schema.Boolean.pipe(optional),\n location: AbsolutePath,\n content: Schema.String,\n}).annotate({ identifier: \"Skill.Info\" })\n\nconst Updated = ephemeral({ type: \"skill.updated\", schema: {} })\nexport const Event = { Updated, Definitions: inventory(Updated) }\n\nexport interface EmbeddedSource extends Schema.Schema.Type<typeof EmbeddedSource> {}\nexport const EmbeddedSource = Schema.Struct({\n type: Schema.tag(\"embedded\"),\n skill: Schema.suspend(() => Info),\n}).annotate({ identifier: \"Skill.EmbeddedSource\" })\n\nexport type Source = DirectorySource | UrlSource | EmbeddedSource\nexport const Source = Object.assign(\n Schema.Union([DirectorySource, UrlSource, EmbeddedSource]).pipe(\n Schema.toTaggedUnion(\"type\"),\n Schema.annotate({ identifier: \"Skill.Source\" }),\n ),\n {\n equals: (a: Source, b: Source) => {\n if (a.type !== b.type) return false\n if (a.type === \"directory\" && b.type === \"directory\") return a.path === b.path\n if (a.type === \"url\" && b.type === \"url\") return a.url === b.url\n if (a.type === \"embedded\" && b.type === \"embedded\") return a.skill.id === b.skill.id\n return false\n },\n key: (source: Source) =>\n source.type === \"directory\"\n ? `directory:${source.path}`\n : source.type === \"url\"\n ? `url:${source.url}`\n : `embedded:${source.skill.id}`,\n },\n)\n", | ||
| "export * as Snapshot from \"./snapshot.js\"\n\nimport { Schema } from \"effect\"\n\nexport const ID = Schema.String.pipe(Schema.brand(\"Snapshot.ID\"))\nexport type ID = typeof ID.Type\n", | ||
| "export * as TokenUsage from \"./token-usage.js\"\n\nimport { Schema } from \"effect\"\n\nexport interface Info extends Schema.Schema.Type<typeof Info> {}\nexport const Info = Schema.Struct({\n input: Schema.Finite,\n output: Schema.Finite,\n reasoning: Schema.Finite,\n cache: Schema.Struct({\n read: Schema.Finite,\n write: Schema.Finite,\n }),\n}).annotate({ identifier: \"TokenUsage.Info\" })\n", | ||
| "export * as SessionMessage from \"./session-message.js\"\n\nimport { Schema } from \"effect\"\nimport { optional } from \"./schema.js\"\nimport { ToolContent } from \"./llm.js\"\nimport { Model } from \"./model.js\"\nimport { Prompt } from \"./prompt.js\"\nimport { DateTimeUtcFromMillis, PositiveInt, RelativePath, statics } from \"./schema.js\"\nimport { ascending } from \"./identifier.js\"\nimport { Event } from \"./event.js\"\nimport { Shell as ShellSchema } from \"./shell.js\"\nimport { FinishReason } from \"./llm.js\"\nimport { SessionError } from \"./session-error.js\"\nimport { Agent } from \"./agent.js\"\nimport { Skill as SkillSchema } from \"./skill.js\"\nimport { Money } from \"./money.js\"\nimport { Snapshot } from \"./snapshot.js\"\nimport { TokenUsage } from \"./token-usage.js\"\n\nexport const ID = Schema.String.check(Schema.isStartsWith(\"msg_\")).pipe(\n Schema.brand(\"Session.Message.ID\"),\n statics((schema) => ({\n create: () => schema.make(\"msg_\" + ascending()),\n fromEvent: (eventID: Event.ID) => schema.make(eventID.replace(/^evt_/, \"msg_\")),\n })),\n)\nexport type ID = typeof ID.Type\n\nconst Base = {\n id: ID,\n metadata: Schema.Record(Schema.String, Schema.Unknown).pipe(optional),\n time: Schema.Struct({ created: DateTimeUtcFromMillis }),\n}\n\nexport const ProviderState = Schema.Record(Schema.String, Schema.Unknown).annotate({\n identifier: \"Session.Message.ProviderState\",\n})\nexport type ProviderState = typeof ProviderState.Type\n\nexport interface AgentSelected extends Schema.Schema.Type<typeof AgentSelected> {}\nexport const AgentSelected = Schema.Struct({\n ...Base,\n type: Schema.tag(\"agent-switched\"),\n agent: Agent.ID,\n}).annotate({ identifier: \"Session.Message.AgentSelected\" })\n\nexport interface ModelSelected extends Schema.Schema.Type<typeof ModelSelected> {}\nexport const ModelSelected = Schema.Struct({\n ...Base,\n type: Schema.tag(\"model-switched\"),\n model: Model.Ref,\n previous: Model.Ref.pipe(optional),\n}).annotate({ identifier: \"Session.Message.ModelSelected\" })\n\nexport interface User extends Schema.Schema.Type<typeof User> {}\nexport const User = Schema.Struct({\n ...Base,\n text: Prompt.fields.text,\n files: Prompt.fields.files,\n agents: Prompt.fields.agents,\n type: Schema.tag(\"user\"),\n}).annotate({ identifier: \"Session.Message.User\" })\n\nexport interface Synthetic extends Schema.Schema.Type<typeof Synthetic> {}\nexport const Synthetic = Schema.Struct({\n ...Base,\n text: Schema.String,\n description: Schema.String.pipe(optional),\n type: Schema.tag(\"synthetic\"),\n}).annotate({ identifier: \"Session.Message.Synthetic\" })\n\nexport interface System extends Schema.Schema.Type<typeof System> {}\nexport const System = Schema.Struct({\n ...Base,\n type: Schema.tag(\"system\"),\n text: Schema.String,\n}).annotate({ identifier: \"Session.Message.System\" })\n\nexport interface Skill extends Schema.Schema.Type<typeof Skill> {}\nexport const Skill = Schema.Struct({\n ...Base,\n type: Schema.tag(\"skill\"),\n skill: SkillSchema.ID,\n name: SkillSchema.Name,\n text: Schema.String,\n}).annotate({ identifier: \"Session.Message.Skill\" })\n\nexport interface Shell extends Schema.Schema.Type<typeof Shell> {}\nexport const Shell = Schema.Struct({\n ...Base,\n type: Schema.tag(\"shell\"),\n shellID: ShellSchema.ID,\n command: Schema.String,\n status: ShellSchema.Status,\n exit: Schema.Number.pipe(optional),\n output: ShellSchema.Output.pipe(optional),\n time: Schema.Struct({\n created: DateTimeUtcFromMillis,\n completed: DateTimeUtcFromMillis.pipe(optional),\n }),\n}).annotate({ identifier: \"Session.Message.Shell\" })\n\nexport interface ToolStateStreaming extends Schema.Schema.Type<typeof ToolStateStreaming> {}\nexport const ToolStateStreaming = Schema.Struct({\n status: Schema.tag(\"streaming\"),\n input: Schema.String,\n}).annotate({ identifier: \"Session.Message.ToolState.Streaming\" })\n\nexport interface ToolStateRunning extends Schema.Schema.Type<typeof ToolStateRunning> {}\nexport const ToolStateRunning = Schema.Struct({\n status: Schema.tag(\"running\"),\n input: Schema.Record(Schema.String, Schema.Unknown),\n structured: Schema.Record(Schema.String, Schema.Unknown),\n content: ToolContent.pipe(Schema.Array),\n}).annotate({ identifier: \"Session.Message.ToolState.Running\" })\n\nexport interface ToolStateCompleted extends Schema.Schema.Type<typeof ToolStateCompleted> {}\nexport const ToolStateCompleted = Schema.Struct({\n status: Schema.tag(\"completed\"),\n input: Schema.Record(Schema.String, Schema.Unknown),\n content: ToolContent.pipe(Schema.Array),\n structured: Schema.Record(Schema.String, Schema.Unknown),\n result: Schema.Unknown.pipe(optional),\n}).annotate({ identifier: \"Session.Message.ToolState.Completed\" })\n\nexport interface ToolStateError extends Schema.Schema.Type<typeof ToolStateError> {}\nexport const ToolStateError = Schema.Struct({\n status: Schema.tag(\"error\"),\n input: Schema.Record(Schema.String, Schema.Unknown),\n content: ToolContent.pipe(Schema.Array),\n structured: Schema.Record(Schema.String, Schema.Unknown),\n error: SessionError.Error,\n result: Schema.Unknown.pipe(optional),\n}).annotate({ identifier: \"Session.Message.ToolState.Error\" })\n\nexport const ToolState = Schema.Union([ToolStateStreaming, ToolStateRunning, ToolStateCompleted, ToolStateError]).pipe(\n Schema.toTaggedUnion(\"status\"),\n)\nexport type ToolState = ToolStateStreaming | ToolStateRunning | ToolStateCompleted | ToolStateError\n\nexport interface AssistantTool extends Schema.Schema.Type<typeof AssistantTool> {}\nexport const AssistantTool = Schema.Struct({\n type: Schema.tag(\"tool\"),\n id: Schema.String,\n name: Schema.String,\n executed: Schema.Boolean.pipe(optional),\n providerState: ProviderState.pipe(optional),\n providerResultState: ProviderState.pipe(optional),\n state: ToolState,\n time: Schema.Struct({\n created: DateTimeUtcFromMillis,\n ran: DateTimeUtcFromMillis.pipe(optional),\n completed: DateTimeUtcFromMillis.pipe(optional),\n }),\n}).annotate({ identifier: \"Session.Message.Assistant.Tool\" })\n\nexport interface AssistantText extends Schema.Schema.Type<typeof AssistantText> {}\nexport const AssistantText = Schema.Struct({\n type: Schema.tag(\"text\"),\n text: Schema.String,\n}).annotate({ identifier: \"Session.Message.Assistant.Text\" })\n\nexport interface AssistantReasoning extends Schema.Schema.Type<typeof AssistantReasoning> {}\nexport const AssistantReasoning = Schema.Struct({\n type: Schema.tag(\"reasoning\"),\n text: Schema.String,\n state: ProviderState.pipe(optional),\n time: Schema.Struct({\n created: DateTimeUtcFromMillis,\n completed: DateTimeUtcFromMillis.pipe(optional),\n }).pipe(optional),\n}).annotate({ identifier: \"Session.Message.Assistant.Reasoning\" })\n\nexport const AssistantContent = Schema.Union([AssistantText, AssistantReasoning, AssistantTool]).pipe(\n Schema.toTaggedUnion(\"type\"),\n)\nexport type AssistantContent = AssistantText | AssistantReasoning | AssistantTool\n\nexport interface AssistantRetry extends Schema.Schema.Type<typeof AssistantRetry> {}\nexport const AssistantRetry = Schema.Struct({\n attempt: PositiveInt,\n at: DateTimeUtcFromMillis,\n error: SessionError.Error,\n}).annotate({ identifier: \"Session.Message.Assistant.Retry\" })\n\nexport interface Assistant extends Schema.Schema.Type<typeof Assistant> {}\nexport const Assistant = Schema.Struct({\n ...Base,\n type: Schema.tag(\"assistant\"),\n agent: Agent.ID,\n model: Model.Ref,\n content: AssistantContent.pipe(Schema.Array),\n snapshot: Schema.Struct({\n start: Snapshot.ID.pipe(optional),\n end: Snapshot.ID.pipe(optional),\n files: Schema.Array(RelativePath).pipe(optional),\n }).pipe(optional),\n finish: FinishReason.pipe(optional),\n cost: Money.USD.pipe(optional),\n tokens: TokenUsage.Info.pipe(optional),\n error: SessionError.Error.pipe(optional),\n retry: AssistantRetry.pipe(optional),\n time: Schema.Struct({\n created: DateTimeUtcFromMillis,\n completed: DateTimeUtcFromMillis.pipe(optional),\n }),\n}).annotate({ identifier: \"Session.Message.Assistant\" })\n\nconst CompactionBase = { type: Schema.tag(\"compaction\"), ...Base }\n\nexport interface CompactionRunning extends Schema.Schema.Type<typeof CompactionRunning> {}\nexport const CompactionRunning = Schema.Struct({\n ...CompactionBase,\n status: Schema.tag(\"running\"),\n reason: Schema.Literals([\"auto\", \"manual\"]),\n summary: Schema.String,\n recent: Schema.String,\n}).annotate({ identifier: \"Session.Message.Compaction.Running\" })\n\nexport interface CompactionCompleted extends Schema.Schema.Type<typeof CompactionCompleted> {}\nexport const CompactionCompleted = Schema.Struct({\n ...CompactionBase,\n status: Schema.tag(\"completed\"),\n reason: Schema.Literals([\"auto\", \"manual\"]),\n summary: Schema.String,\n recent: Schema.String,\n}).annotate({ identifier: \"Session.Message.Compaction.Completed\" })\n\nexport interface CompactionFailed extends Schema.Schema.Type<typeof CompactionFailed> {}\nexport const CompactionFailed = Schema.Struct({\n ...CompactionBase,\n status: Schema.tag(\"failed\"),\n reason: Schema.Literals([\"auto\", \"manual\"]),\n error: SessionError.Error,\n}).annotate({ identifier: \"Session.Message.Compaction.Failed\" })\n\nexport const Compaction = Schema.Union([CompactionRunning, CompactionCompleted, CompactionFailed]).pipe(\n Schema.toTaggedUnion(\"status\"),\n Schema.annotate({ identifier: \"Session.Message.Compaction\" }),\n)\nexport type Compaction = CompactionRunning | CompactionCompleted | CompactionFailed\n\nexport const Info = Schema.Union([\n AgentSelected,\n ModelSelected,\n User,\n Synthetic,\n System,\n Skill,\n Shell,\n Assistant,\n Compaction,\n])\n .pipe(Schema.toTaggedUnion(\"type\"))\n .annotate({ identifier: \"Session.Message.Info\" })\nexport type Info = AgentSelected | ModelSelected | User | Synthetic | System | Skill | Shell | Assistant | Compaction\nexport type Type = Info[\"type\"]\n" | ||
| ], | ||
| "mappings": ";4hDAEO,SAAM,OAAgB,OAAO,YAAO,KAAK,EAAO,MAAM,gBAAgB,CAAC,EAGjE,EAAsB,EAAO,OAAO,KAAK,EAAO,MAAM,sBAAsB,CAAC,ECGnF,IAAM,GAAK,EAAO,OAAO,KAC9B,EAAO,MAAM,eAAe,EAC5B,EAAQ,CAAC,KAAY,CAAE,OAAQ,IAAM,EAAO,KAAK,QAAU,EAAU,CAAC,CAAE,EAAE,CAC5E,EAIa,EAAQ,EAAO,OAAO,CACjC,KAAM,EAAO,QAAQ,OAAO,EAC5B,SAAU,EACV,QAAS,EAAO,OAChB,OAAQ,EAAO,OACf,QAAS,EACT,SAAU,EAAS,EAAO,OAAO,EAAO,OAAQ,EAAO,OAAO,CAAC,CACjE,CAAC,EAAE,SAAS,CAAE,WAAY,kBAAmB,CAAC,EAGjC,EAAM,EAAO,OAAO,CAC/B,KAAM,EAAO,QAAQ,KAAK,EAC1B,IAAK,EAAO,OACZ,SAAU,EAAS,EAAO,OAAO,EAAO,OAAQ,EAAO,OAAO,CAAC,CACjE,CAAC,EAAE,SAAS,CAAE,WAAY,gBAAiB,CAAC,EAE/B,GAAQ,EAAO,MAAM,CAAC,EAAO,CAAG,CAAC,EAC3C,KAAK,EAAO,cAAc,MAAM,CAAC,EACjC,SAAS,CAAE,WAAY,kBAAmB,CAAC,EC3BvC,IAAM,EAAiB,EAAO,OAAO,CAC1C,KAAM,EAAO,QAAQ,YAAY,EACjC,GAAI,EAAW,GACf,MAAO,EAAO,MAChB,CAAC,EAAE,SAAS,CAAE,WAAY,2BAA4B,CAAC,EAG1C,EAAU,EAAO,OAAO,CACnC,KAAM,EAAO,QAAQ,KAAK,EAC1B,KAAM,EAAO,MACf,CAAC,EAAE,SAAS,CAAE,WAAY,oBAAqB,CAAC,EAEnC,GAAO,EAAO,MAAM,CAAC,EAAgB,CAAO,CAAC,EACvD,KAAK,EAAO,cAAc,MAAM,CAAC,EACjC,SAAS,CAAE,WAAY,iBAAkB,CAAC,ECVtC,IAAM,EAAK,EAGL,GAAW,EAIX,EAAO,EAAO,OAAO,CAChC,IAAK,EAAO,OACZ,GAAI,EAAO,SAAS,CAAC,KAAM,KAAK,CAAC,EACjC,MAAO,EAAO,MAChB,CAAC,EAAE,SAAS,CAAE,WAAY,kBAAmB,CAAC,EAGjC,GAAa,EAAO,OAAO,CACtC,KAAM,EAAO,QAAQ,MAAM,EAC3B,IAAK,EAAO,OACZ,QAAS,EAAO,OAChB,YAAa,EAAS,EAAO,MAAM,EACnC,KAAM,EAAS,CAAI,CACrB,CAAC,EAAE,SAAS,CAAE,WAAY,wBAAyB,CAAC,EAGvC,GAAe,EAAO,OAAO,CACxC,KAAM,EAAO,QAAQ,QAAQ,EAC7B,IAAK,EAAO,OACZ,QAAS,EAAO,OAChB,QAAS,EAAO,MACd,EAAO,OAAO,CACZ,MAAO,EAAO,OACd,MAAO,EAAO,OACd,KAAM,EAAS,EAAO,MAAM,CAC9B,CAAC,CACH,EACA,KAAM,EAAS,CAAI,CACrB,CAAC,EAAE,SAAS,CAAE,WAAY,0BAA2B,CAAC,EAEzC,GAAS,EAAO,MAAM,CAAC,GAAY,EAAY,CAAC,EAAE,KAAK,EAAO,cAAc,MAAM,CAAC,EAInF,GAAc,EAAO,OAAO,CACvC,GAAI,GACJ,KAAM,EAAO,QAAQ,OAAO,EAC5B,MAAO,EAAO,OACd,QAAS,EAAS,EAAO,MAAM,EAAM,CAAC,CACxC,CAAC,EAAE,SAAS,CAAE,WAAY,yBAA0B,CAAC,EAGxC,GAAY,EAAO,OAAO,CACrC,KAAM,EAAO,QAAQ,KAAK,EAC1B,MAAO,EAAS,EAAO,MAAM,CAC/B,CAAC,EAAE,SAAS,CAAE,WAAY,uBAAwB,CAAC,EAGtC,GAAY,EAAO,OAAO,CACrC,KAAM,EAAO,QAAQ,KAAK,EAC1B,MAAO,EAAO,MAAM,EAAO,MAAM,CACnC,CAAC,EAAE,SAAS,CAAE,WAAY,uBAAwB,CAAC,EAEtC,GAAS,EAAO,MAAM,CAAC,GAAa,GAAW,EAAS,CAAC,EACnE,KAAK,EAAO,cAAc,MAAM,CAAC,EACjC,SAAS,CAAE,WAAY,oBAAqB,CAAC,EAGnC,GAAS,EAAO,OAAO,EAAO,OAAQ,EAAO,MAAM,EAAE,SAAS,CAAE,WAAY,oBAAqB,CAAC,EAGzG,GAAU,EAAU,CACxB,KAAM,sBACN,OAAQ,CAAC,CACX,CAAC,EACK,GAAoB,EAAU,CAClC,KAAM,iCACN,OAAQ,CAAE,cAAe,CAAG,CAC9B,CAAC,EACY,GAAQ,CAAE,WAAS,qBAAmB,YAAa,EAAU,GAAS,EAAiB,CAAE,EAGzF,GAAM,EAAO,OAAO,CAC/B,GAAI,EACJ,KAAM,EAAO,MACf,CAAC,EAAE,SAAS,CAAE,WAAY,iBAAkB,CAAC,EAEtC,MAAM,WAAa,EAAO,MAAY,kBAAkB,EAAE,CAC/D,GAAI,EACJ,KAAM,EAAO,OACb,QAAS,EAAO,MAAM,EAAM,EAC5B,YAAa,EAAO,MAAM,EAAW,IAAI,CAC3C,CAAC,CAAE,CAAC,CAEG,IAAM,GAAY,EAAO,OAAO,KACrC,EAAO,MAAM,uBAAuB,EACpC,EAAQ,CAAC,KAAY,CAAE,OAAQ,IAAM,EAAO,KAAK,OAAS,EAAU,CAAC,CAAE,EAAE,CAC3E,EAGM,EAAc,EAAO,OAAO,CAChC,QAAS,EAAO,OAChB,QAAS,EAAO,MAClB,CAAC,EAEM,MAAM,WAAgB,EAAO,MAAe,qBAAqB,EAAE,CACxE,UAAW,GACX,IAAK,EAAO,OACZ,aAAc,EAAO,OACrB,KAAM,EAAO,SAAS,CAAC,OAAQ,MAAM,CAAC,EACtC,KAAM,CACR,CAAC,CAAE,CAAC,CAEG,IAAM,GAAgB,EAAO,MAAM,CACxC,EAAO,OAAO,CAAE,OAAQ,EAAO,QAAQ,SAAS,EAAG,KAAM,CAAY,CAAC,EACtE,EAAO,OAAO,CAAE,OAAQ,EAAO,QAAQ,UAAU,EAAG,KAAM,CAAY,CAAC,EACvE,EAAO,OAAO,CAAE,OAAQ,EAAO,QAAQ,QAAQ,EAAG,QAAS,EAAO,OAAQ,KAAM,CAAY,CAAC,EAC7F,EAAO,OAAO,CAAE,OAAQ,EAAO,QAAQ,SAAS,EAAG,KAAM,CAAY,CAAC,CACxE,CAAC,EACE,KAAK,EAAO,cAAc,QAAQ,CAAC,EACnC,SAAS,CAAE,WAAY,2BAA4B,CAAC,ECzHhD,IAAM,GAAK,EAAO,OAAO,KAC9B,EAAO,MAAM,eAAe,EAC5B,EAAQ,CAAC,KAAY,CACnB,SAAU,EAAO,KAAK,UAAU,EAChC,UAAW,EAAO,KAAK,WAAW,EAClC,OAAQ,EAAO,KAAK,QAAQ,EAC5B,OAAQ,EAAO,KAAK,QAAQ,EAC5B,aAAc,EAAO,KAAK,eAAe,EACzC,cAAe,EAAO,KAAK,gBAAgB,EAC3C,cAAe,EAAO,KAAK,gBAAgB,EAC3C,MAAO,EAAO,KAAK,OAAO,EAC1B,WAAY,EAAO,KAAK,YAAY,EACpC,QAAS,EAAO,KAAK,SAAS,EAC9B,OAAQ,EAAO,KAAK,QAAQ,CAC9B,EAAE,CACJ,EAGa,GAAU,EAAO,OAGjB,GAAW,CACtB,SAAU,EAAO,OAAO,EAAO,OAAQ,EAAO,IAAI,EAAE,KAAK,CAAQ,EACjE,QAAS,EAAO,OAAO,EAAO,OAAQ,EAAO,MAAM,EAAE,KAAK,CAAQ,EAClE,KAAM,EAAO,OAAO,EAAO,OAAQ,EAAO,IAAI,EAAE,KAAK,CAAQ,CAC/D,EAEa,GAAW,EAAO,OAAO,EAAO,OAAQ,EAAO,IAAI,EAAE,SAAS,CAAE,WAAY,mBAAoB,CAAC,EAIjG,GAAU,EAAO,OAAO,CACnC,SAAU,GAAS,KAAK,EAAO,uBAAuB,GAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,EACzE,QAAS,EAAO,OAAO,EAAO,OAAQ,EAAO,MAAM,EACnD,KAAM,EAAO,OAAO,EAAO,OAAQ,EAAO,IAAI,CAChD,CAAC,EAAE,SAAS,CAAE,WAAY,kBAAmB,CAAC,EAGjC,GAAO,EAAO,OAAO,CAChC,GAAI,GACJ,cAAe,EAAY,GAAG,KAAK,CAAQ,EAC3C,KAAM,EAAO,OACb,SAAU,EAAO,QAAQ,KAAK,CAAQ,EACtC,QAAS,MACN,EACL,CAAC,EACE,SAAS,CAAE,WAAY,iBAAkB,CAAC,EAC1C,KACC,EAAQ,KAAO,CACb,MAAO,CAAC,KAAkB,CAAE,KAAI,KAAM,EAAI,QAAS,EAAG,EACxD,EAAE,CACJ,oECpDK,IAAM,GAAM,EAAO,OAAO,KAC/B,EAAO,MAAM,WAAW,EACxB,EAAO,SAAS,CAAE,WAAY,WAAY,CAAC,EAC3C,EAAQ,CAAC,KAAY,CAAE,KAAM,EAAO,KAAK,CAAC,CAAE,EAAE,CAChD,EAGa,GAAsB,EAAO,OAAO,KAC/C,EAAO,MAAM,2BAA2B,EACxC,EAAO,SAAS,CAAE,WAAY,2BAA4B,CAAC,EAC3D,EAAQ,CAAC,KAAY,CAAE,KAAM,EAAO,KAAK,CAAC,CAAE,EAAE,CAChD,ECTO,IAAM,EAAK,EAAO,OAAO,KAAK,EAAO,MAAM,UAAU,CAAC,EAGhD,EAAY,EAAO,OAAO,KAAK,EAAO,MAAM,iBAAiB,CAAC,EAG9D,GAAM,EAAO,OAAO,CAC/B,GAAI,EACJ,WAAY,EAAS,GACrB,QAAS,EAAU,KAAK,CAAQ,CAClC,CAAC,EACE,SAAS,CAAE,WAAY,WAAY,CAAC,EACpC,KACC,EAAQ,CAAC,KAAY,CACnB,MAAO,CAAC,IAAkB,CACxB,IAAM,EAAc,EAAM,QAAQ,GAAG,EACrC,GAAI,GAAe,EAAG,MAAU,MAAM,4BAA4B,GAAO,EACzE,IAAM,EAAa,EAAM,MAAM,EAAG,CAAW,EACvC,EAAe,EAAM,QAAQ,IAAK,EAAc,CAAC,EACjD,EAAK,EAAM,MAAM,EAAc,EAAG,IAAiB,GAAK,OAAY,CAAY,EAChF,EAAU,IAAiB,GAAK,OAAY,EAAM,MAAM,EAAe,CAAC,EAC9E,GAAI,CAAC,GAAM,EAAW,SAAS,GAAG,GAAM,IAAY,SAAc,CAAC,GAAW,EAAQ,SAAS,GAAG,GAChG,MAAU,MAAM,4BAA4B,GAAO,EACrD,OAAO,EAAO,KAAK,CACjB,WAAY,EAAS,GAAG,KAAK,CAAU,EACvC,GAAI,EAAG,KAAK,CAAE,KACV,EAAU,CAAE,QAAS,EAAU,KAAK,CAAO,CAAE,EAAI,CAAC,CACxD,CAAC,EAEL,EAAE,CACJ,EAGW,GAAS,EAAO,OAAO,KAAK,EAAO,MAAM,cAAc,CAAC,EAIxD,GAAe,EAAO,OAAO,CACxC,MAAO,EAAO,QACd,MAAO,EAAO,MAAM,EAAO,MAAM,EACjC,OAAQ,EAAO,MAAM,EAAO,MAAM,CACpC,CAAC,EAAE,SAAS,CAAE,WAAY,oBAAqB,CAAC,EAGnC,GAAO,EAAO,OAAO,CAChC,KAAM,EAAO,OAAO,CAClB,KAAM,EAAO,IAAI,SAAS,EAC1B,KAAM,EAAO,GACf,CAAC,EAAE,KAAK,CAAQ,EAChB,MAAO,EAAM,oBACb,OAAQ,EAAM,oBACd,MAAO,EAAO,OAAO,CACnB,KAAM,EAAM,oBACZ,MAAO,EAAM,mBACf,CAAC,CACH,CAAC,EAAE,SAAS,CAAE,WAAY,YAAa,CAAC,EAG3B,GAAU,EAAO,OAAO,CACnC,GAAI,KACD,EAAS,QACd,CAAC,EAAE,SAAS,CAAE,WAAY,eAAgB,CAAC,EAG9B,GAAO,EAAO,OAAO,CAChC,GAAI,EACJ,QAAS,EACT,WAAY,EAAS,GACrB,OAAQ,GAAO,KAAK,CAAQ,EAC5B,KAAM,EAAO,OACb,QAAS,EAAS,QAAQ,KAAK,CAAQ,KACpC,EAAS,SACZ,aAAc,GACd,SAAU,EAAO,MAAM,EAAO,EAC9B,KAAM,EAAO,OAAO,CAClB,SAAU,EAAO,MACnB,CAAC,EACD,KAAM,EAAO,MAAM,EAAI,EACvB,OAAQ,EAAO,SAAS,CAAC,QAAS,OAAQ,aAAc,QAAQ,CAAC,EACjE,QAAS,EAAO,QAChB,MAAO,EAAO,OAAO,CACnB,QAAS,EAAO,IAChB,MAAO,EAAO,IAAI,KAAK,CAAQ,EAC/B,OAAQ,EAAO,GACjB,CAAC,CACH,CAAC,EACE,SAAS,CAAE,WAAY,YAAa,CAAC,EACrC,KACC,EAAQ,KAAO,CACb,MAAO,CAAC,EAAyB,KAC9B,CACC,KACA,QAAS,EACT,aACA,KAAM,EACN,aAAc,CAAE,MAAO,GAAO,MAAO,CAAC,EAAG,OAAQ,CAAC,CAAE,EACpD,SAAU,CAAC,EACX,KAAM,CAAE,SAAU,CAAE,EACpB,KAAM,CAAC,EACP,OAAQ,SACR,QAAS,GACT,MAAO,CAAE,QAAS,EAAG,OAAQ,CAAE,CACjC,EACJ,EAAE,CACJ,EC1GK,IAAM,GAAgB,EAAO,OAAO,CACzC,MAAO,EAAO,OACd,IAAK,EAAO,OACZ,KAAM,EAAO,MACf,CAAC,EAAE,SAAS,CAAE,WAAY,gBAAiB,CAAC,EAE/B,GAAa,EAAO,MAAM,CACrC,EAAO,OAAO,CAAE,KAAM,EAAO,QAAQ,QAAQ,CAAE,CAAC,EAChD,EAAO,OAAO,CAAE,KAAM,EAAO,QAAQ,KAAK,EAAG,IAAK,EAAO,MAAO,CAAC,CACnE,CAAC,EACE,KAAK,EAAO,cAAc,MAAM,CAAC,EACjC,SAAS,CAAE,WAAY,mBAAoB,CAAC,EAGlC,GAAS,EAAO,OAAO,MAClC,EAAO,UAAU,kEAAkE,CACrF,EAAE,SAAS,CAAE,WAAY,eAAgB,CAAC,EAI7B,GAAiB,EAAO,OAAO,CAC1C,KAAM,GACN,KAAM,EAAO,OACb,OAAQ,GACR,KAAM,EAAO,OAAO,KAAK,CAAQ,EACjC,YAAa,EAAO,OAAO,KAAK,CAAQ,EACxC,QAAS,GAAc,KAAK,CAAQ,CACtC,CAAC,EACE,SAAS,CAAE,WAAY,uBAAwB,CAAC,EAChD,KACC,EAAQ,CAAC,KAAY,CACnB,OAAQ,CAAC,IACP,EAAO,KAAK,CACV,KAAM,EAAM,KACZ,KAAM,EAAM,KACZ,OAAQ,EAAM,OACd,KAAM,EAAM,KACZ,YAAa,EAAM,YACnB,QAAS,EAAM,OACjB,CAAC,CACL,EAAE,CACJ,EAGW,GAAkB,EAAO,OAAO,CAC3C,KAAM,EAAO,OACb,QAAS,GAAc,KAAK,CAAQ,CACtC,CAAC,EAAE,SAAS,CAAE,WAAY,wBAAyB,CAAC,EAGvC,EAAS,EAAO,OAAO,CAClC,KAAM,EAAO,OACb,MAAO,EAAO,MAAM,EAAc,EAAE,KAAK,CAAQ,EACjD,OAAQ,EAAO,MAAM,EAAe,EAAE,KAAK,CAAQ,CACrD,CAAC,EACE,SAAS,CAAE,WAAY,QAAS,CAAC,EACjC,KACC,EAAQ,CAAC,KAAY,CACnB,YAAa,EAAO,cAAc,CAAM,EACxC,gBAAiB,CAAC,IAChB,EAAO,KAAK,CACV,KAAM,EAAM,QACR,EAAM,QAAU,OAAY,CAAC,EAAI,CAAE,MAAO,EAAM,KAAM,KACtD,EAAM,SAAW,OAAY,CAAC,EAAI,CAAE,OAAQ,EAAM,MAAO,CAC/D,CAAC,CACL,EAAE,CACJ,4JC/DF,IAAM,GAAW,EAAO,OAAO,MAAM,EAAO,aAAa,KAAK,CAAC,EAAE,KAAK,EAAO,MAAM,UAAU,CAAC,EAEjF,EAAK,GAAS,KACzB,EAAQ,CAAC,IAA4B,CACnC,IAAM,EAAS,IAAM,EAAO,KAAK,MAAQ,EAAU,CAAC,EACpD,MAAO,CACL,SACA,UAAW,CAAC,IAAiB,IAAO,OAAY,EAAO,EAAI,EAAO,KAAK,CAAE,CAC3E,EACD,CACH,EAGa,EAAS,EAAO,SAAS,CAAC,UAAW,SAAU,UAAW,QAAQ,CAAC,EAGnE,GAAO,EAAO,OAAO,CAChC,QAAS,EAAO,OAChB,UAAW,EAAS,EAAO,MAAM,CACnC,CAAC,EAKY,EAAW,EAAO,OAAO,EAAO,OAAQ,EAAO,OAAO,EAGtD,GAAO,EAAO,OAAO,CAChC,GAAI,EACJ,OAAQ,EACR,QAAS,EAAO,OAChB,IAAK,EAAO,OACZ,MAAO,EAAO,OAEd,KAAM,EAAO,OACb,IAAK,EAAS,CAAc,EAC5B,KAAM,EAAS,EAAO,MAAM,EAE5B,SAAU,EACV,KAAM,EACR,CAAC,EAAE,SAAS,CAAE,WAAY,OAAQ,CAAC,EAG7B,GAAU,EAAU,CAAE,KAAM,gBAAiB,OAAQ,CAAE,KAAM,EAAK,CAAE,CAAC,EACrE,GAAS,EAAU,CAAE,KAAM,eAAgB,OAAQ,CAAE,GAAI,EAAI,KAAM,EAAS,EAAO,MAAM,EAAG,OAAQ,CAAO,CAAE,CAAC,EAC9G,GAAU,EAAU,CAAE,KAAM,gBAAiB,OAAQ,CAAE,GAAI,CAAG,CAAE,CAAC,EAC1D,GAAQ,CAAE,WAAS,UAAQ,WAAS,YAAa,EAAU,GAAS,GAAQ,EAAO,CAAE,EAErF,GAAc,EAAO,OAAO,CACvC,QAAS,EAAO,OAChB,IAAK,EAAS,EAAO,MAAM,EAC3B,QAAS,EACT,SAAU,EAAS,CAAQ,CAC7B,CAAC,EAGY,GAAc,EAAO,OAAO,CACvC,OAAQ,EAAS,CAAc,EAC/B,MAAO,EAAS,CAAc,CAChC,CAAC,EAGY,GAAS,EAAO,OAAO,CAClC,OAAQ,EAAO,OAEf,OAAQ,EAER,KAAM,EACN,UAAW,EAAO,OACpB,CAAC,kDCxEM,IAAM,GAAQ,EAAO,OAAO,CACjC,KAAM,EAAO,OACb,QAAS,EAAO,MAClB,CAAC,EAAE,SAAS,CAAE,WAAY,yBAA0B,CAAC,mOCJ9C,IAAM,EAAY,EAAO,OAAO,MAAM,EAAO,aAAa,KAAK,CAAC,EAAE,KACvE,EAAO,MAAM,WAAW,EACxB,EAAQ,CAAC,IAAW,CAClB,IAAM,EAAS,IAAM,EAAO,KAAK,OAAS,GAAW,CAAC,EACtD,MAAO,CACL,SACA,WAAY,CAAC,IAAiB,IAAO,OAAY,EAAO,EAAI,EAAO,KAAK,CAAE,CAC5E,EACD,CACH,ECJO,IAAM,EAAK,EAAO,OAAO,MAAM,EAAO,aAAa,KAAK,CAAC,EAAE,KAChE,EAAO,MAAM,iBAAiB,EAC9B,EAAQ,CAAC,KAAY,CAAE,OAAQ,CAAC,IAAgB,EAAO,KAAK,GAAM,OAAS,EAAU,CAAC,CAAE,EAAE,CAC5F,EAGa,GAAS,EAAO,MAAM,CACjC,EAAO,OAAO,CACZ,KAAM,EAAO,QAAQ,MAAM,EAC3B,UAAW,EAAO,OAClB,OAAQ,EAAO,MACjB,CAAC,CACH,CAAC,EAAE,SAAS,CAAE,WAAY,qBAAsB,CAAC,EAG3C,GAAgB,CACpB,UAAW,EACX,OAAQ,EAAO,OACf,UAAW,EAAO,MAAM,EAAO,MAAM,EACrC,KAAM,EAAO,MAAM,EAAO,MAAM,EAAE,KAAK,CAAQ,EAC/C,SAAU,EAAO,OAAO,EAAO,OAAQ,EAAO,OAAO,EAAE,KAAK,CAAQ,EACpE,OAAQ,GAAO,KAAK,CAAQ,CAC9B,EAEa,GAAU,EAAO,OAAO,CACnC,GAAI,KACD,EACL,CAAC,EAAE,SAAS,CAAE,WAAY,sBAAuB,CAAC,EAGrC,GAAQ,EAAO,SAAS,CAAC,OAAQ,SAAU,QAAQ,CAAC,EAAE,SAAS,CAAE,WAAY,oBAAqB,CAAC,EAG1G,GAAQ,EAAU,CAAE,KAAM,sBAAuB,OAAQ,GAAQ,MAAO,CAAC,EACzE,GAAU,EAAU,CACxB,KAAM,wBACN,OAAQ,CACN,UAAW,EACX,UAAW,EACX,MAAO,EACT,CACF,CAAC,EACY,GAAQ,CAAE,SAAO,WAAS,YAAa,EAAU,GAAO,EAAO,CAAE,EAEjE,GAAS,EAAO,SAAS,CAAC,QAAS,OAAQ,KAAK,CAAC,EAAE,SAAS,CAAE,WAAY,qBAAsB,CAAC,EAIjG,GAAO,EAAO,OAAO,CAChC,OAAQ,EAAO,OACf,SAAU,EAAO,OACjB,OAAQ,EACV,CAAC,EAAE,SAAS,CAAE,WAAY,mBAAoB,CAAC,EAElC,GAAU,EAAO,MAAM,EAAI,EAAE,SAAS,CAAE,WAAY,sBAAuB,CAAC,ECrDzF,IAAM,GAAU,EAAU,CAAE,KAAM,gBAAiB,OAAQ,CAAC,CAAE,CAAC,EAElD,GAAK,EAAO,OAAO,KAAK,EAAO,MAAM,UAAU,CAAC,EAGhD,EAAO,EAAO,OAAO,KAAK,EAAO,MAAM,YAAY,CAAC,EAGpD,GAAQ,EAAO,MAAM,CAChC,EAAO,OAAO,MAAM,EAAO,UAAU,mBAAmB,CAAC,EACzD,EAAO,SAAS,CAAC,UAAW,YAAa,SAAU,UAAW,UAAW,QAAS,MAAM,CAAC,CAC3F,CAAC,EAAE,SAAS,CAAE,WAAY,aAAc,CAAC,EAI5B,GAAO,EAAO,OAAO,CAChC,GAAI,GACJ,KAAM,EACN,MAAO,EAAM,IAAI,KAAK,CAAQ,EAC9B,QAAS,EAAS,QAClB,OAAQ,EAAO,OAAO,KAAK,CAAQ,EACnC,YAAa,EAAO,OAAO,KAAK,CAAQ,EACxC,KAAM,EAAO,SAAS,CAAC,WAAY,UAAW,KAAK,CAAC,EACpD,OAAQ,EAAO,QACf,MAAO,GAAM,KAAK,CAAQ,EAC1B,MAAO,EAAY,KAAK,CAAQ,EAChC,YAAa,EAAW,OAC1B,CAAC,EACE,SAAS,CAAE,WAAY,YAAa,CAAC,EACrC,KACC,EAAQ,KAAO,CACb,MAAO,CAAC,KACL,CACC,KACA,KAAM,EAAK,KAAK,CAAE,EAClB,QAAS,CAAE,SAAU,CAAC,EAAG,QAAS,CAAC,EAAG,KAAM,CAAC,CAAE,EAC/C,KAAM,MACN,OAAQ,GACR,YAAa,CACX,CAAE,OAAQ,IAAK,SAAU,IAAK,OAAQ,OAAQ,EAC9C,CAAE,OAAQ,qBAAsB,SAAU,IAAK,OAAQ,KAAM,CAC/D,CACF,EACJ,EAAE,CACJ,EAEW,GAAQ,CACnB,WACA,YAAa,EAAU,EAAO,CAChC,yJCpDO,IAAM,GAAK,EAAO,OAAO,KAAK,EAAO,MAAM,UAAU,CAAC,EAGhD,GAAO,EAAO,OAAO,KAAK,EAAO,MAAM,YAAY,CAAC,EAIpD,GAAkB,EAAO,OAAO,CAC3C,KAAM,EAAO,IAAI,WAAW,EAC5B,KAAM,CACR,CAAC,EAAE,SAAS,CAAE,WAAY,uBAAwB,CAAC,EAGtC,GAAY,EAAO,OAAO,CACrC,KAAM,EAAO,IAAI,KAAK,EACtB,IAAK,EAAO,MACd,CAAC,EAAE,SAAS,CAAE,WAAY,iBAAkB,CAAC,EAGhC,GAAO,EAAO,OAAO,CAChC,GAAI,GACJ,KAAM,GACN,YAAa,EAAO,OAAO,KAAK,CAAQ,EACxC,MAAO,EAAO,QAAQ,KAAK,CAAQ,EACnC,WAAY,EAAO,QAAQ,KAAK,CAAQ,EACxC,SAAU,EACV,QAAS,EAAO,MAClB,CAAC,EAAE,SAAS,CAAE,WAAY,YAAa,CAAC,EAElC,GAAU,EAAU,CAAE,KAAM,gBAAiB,OAAQ,CAAC,CAAE,CAAC,EAClD,GAAQ,CAAE,WAAS,YAAa,EAAU,EAAO,CAAE,EAGnD,GAAiB,EAAO,OAAO,CAC1C,KAAM,EAAO,IAAI,UAAU,EAC3B,MAAO,EAAO,QAAQ,IAAM,EAAI,CAClC,CAAC,EAAE,SAAS,CAAE,WAAY,sBAAuB,CAAC,EAGrC,GAAS,OAAO,OAC3B,EAAO,MAAM,CAAC,GAAiB,GAAW,EAAc,CAAC,EAAE,KACzD,EAAO,cAAc,MAAM,EAC3B,EAAO,SAAS,CAAE,WAAY,cAAe,CAAC,CAChD,EACA,CACE,OAAQ,CAAC,EAAW,IAAc,CAChC,GAAI,EAAE,OAAS,EAAE,KAAM,MAAO,GAC9B,GAAI,EAAE,OAAS,aAAe,EAAE,OAAS,YAAa,OAAO,EAAE,OAAS,EAAE,KAC1E,GAAI,EAAE,OAAS,OAAS,EAAE,OAAS,MAAO,OAAO,EAAE,MAAQ,EAAE,IAC7D,GAAI,EAAE,OAAS,YAAc,EAAE,OAAS,WAAY,OAAO,EAAE,MAAM,KAAO,EAAE,MAAM,GAClF,MAAO,IAET,IAAK,CAAC,IACJ,EAAO,OAAS,YACZ,aAAa,EAAO,OACpB,EAAO,OAAS,MACd,OAAO,EAAO,MACd,YAAY,EAAO,MAAM,IACnC,CACF,2CC9DO,IAAM,GAAK,EAAO,OAAO,KAAK,EAAO,MAAM,aAAa,CAAC,+CCCzD,IAAM,GAAO,EAAO,OAAO,CAChC,MAAO,EAAO,OACd,OAAQ,EAAO,OACf,UAAW,EAAO,OAClB,MAAO,EAAO,OAAO,CACnB,KAAM,EAAO,OACb,MAAO,EAAO,MAChB,CAAC,CACH,CAAC,EAAE,SAAS,CAAE,WAAY,iBAAkB,CAAC,ECMtC,IAAM,GAAK,EAAO,OAAO,MAAM,EAAO,aAAa,MAAM,CAAC,EAAE,KACjE,EAAO,MAAM,oBAAoB,EACjC,EAAQ,CAAC,KAAY,CACnB,OAAQ,IAAM,EAAO,KAAK,OAAS,EAAU,CAAC,EAC9C,UAAW,CAAC,IAAsB,EAAO,KAAK,EAAQ,QAAQ,QAAS,MAAM,CAAC,CAChF,EAAE,CACJ,EAGM,EAAO,CACX,GAAI,GACJ,SAAU,EAAO,OAAO,EAAO,OAAQ,EAAO,OAAO,EAAE,KAAK,CAAQ,EACpE,KAAM,EAAO,OAAO,CAAE,QAAS,CAAsB,CAAC,CACxD,EAEa,EAAgB,EAAO,OAAO,EAAO,OAAQ,EAAO,OAAO,EAAE,SAAS,CACjF,WAAY,+BACd,CAAC,EAIY,GAAgB,EAAO,OAAO,IACtC,EACH,KAAM,EAAO,IAAI,gBAAgB,EACjC,MAAO,EAAM,EACf,CAAC,EAAE,SAAS,CAAE,WAAY,+BAAgC,CAAC,EAG9C,GAAgB,EAAO,OAAO,IACtC,EACH,KAAM,EAAO,IAAI,gBAAgB,EACjC,MAAO,EAAM,IACb,SAAU,EAAM,IAAI,KAAK,CAAQ,CACnC,CAAC,EAAE,SAAS,CAAE,WAAY,+BAAgC,CAAC,EAG9C,GAAO,EAAO,OAAO,IAC7B,EACH,KAAM,EAAO,OAAO,KACpB,MAAO,EAAO,OAAO,MACrB,OAAQ,EAAO,OAAO,OACtB,KAAM,EAAO,IAAI,MAAM,CACzB,CAAC,EAAE,SAAS,CAAE,WAAY,sBAAuB,CAAC,EAGrC,GAAY,EAAO,OAAO,IAClC,EACH,KAAM,EAAO,OACb,YAAa,EAAO,OAAO,KAAK,CAAQ,EACxC,KAAM,EAAO,IAAI,WAAW,CAC9B,CAAC,EAAE,SAAS,CAAE,WAAY,2BAA4B,CAAC,EAG1C,GAAS,EAAO,OAAO,IAC/B,EACH,KAAM,EAAO,IAAI,QAAQ,EACzB,KAAM,EAAO,MACf,CAAC,EAAE,SAAS,CAAE,WAAY,wBAAyB,CAAC,EAGvC,GAAQ,EAAO,OAAO,IAC9B,EACH,KAAM,EAAO,IAAI,OAAO,EACxB,MAAO,EAAY,GACnB,KAAM,EAAY,KAClB,KAAM,EAAO,MACf,CAAC,EAAE,SAAS,CAAE,WAAY,uBAAwB,CAAC,EAGtC,GAAQ,EAAO,OAAO,IAC9B,EACH,KAAM,EAAO,IAAI,OAAO,EACxB,QAAS,EAAY,GACrB,QAAS,EAAO,OAChB,OAAQ,EAAY,OACpB,KAAM,EAAO,OAAO,KAAK,CAAQ,EACjC,OAAQ,EAAY,OAAO,KAAK,CAAQ,EACxC,KAAM,EAAO,OAAO,CAClB,QAAS,EACT,UAAW,EAAsB,KAAK,CAAQ,CAChD,CAAC,CACH,CAAC,EAAE,SAAS,CAAE,WAAY,uBAAwB,CAAC,EAGtC,GAAqB,EAAO,OAAO,CAC9C,OAAQ,EAAO,IAAI,WAAW,EAC9B,MAAO,EAAO,MAChB,CAAC,EAAE,SAAS,CAAE,WAAY,qCAAsC,CAAC,EAGpD,GAAmB,EAAO,OAAO,CAC5C,OAAQ,EAAO,IAAI,SAAS,EAC5B,MAAO,EAAO,OAAO,EAAO,OAAQ,EAAO,OAAO,EAClD,WAAY,EAAO,OAAO,EAAO,OAAQ,EAAO,OAAO,EACvD,QAAS,EAAY,KAAK,EAAO,KAAK,CACxC,CAAC,EAAE,SAAS,CAAE,WAAY,mCAAoC,CAAC,EAGlD,GAAqB,EAAO,OAAO,CAC9C,OAAQ,EAAO,IAAI,WAAW,EAC9B,MAAO,EAAO,OAAO,EAAO,OAAQ,EAAO,OAAO,EAClD,QAAS,EAAY,KAAK,EAAO,KAAK,EACtC,WAAY,EAAO,OAAO,EAAO,OAAQ,EAAO,OAAO,EACvD,OAAQ,EAAO,QAAQ,KAAK,CAAQ,CACtC,CAAC,EAAE,SAAS,CAAE,WAAY,qCAAsC,CAAC,EAGpD,GAAiB,EAAO,OAAO,CAC1C,OAAQ,EAAO,IAAI,OAAO,EAC1B,MAAO,EAAO,OAAO,EAAO,OAAQ,EAAO,OAAO,EAClD,QAAS,EAAY,KAAK,EAAO,KAAK,EACtC,WAAY,EAAO,OAAO,EAAO,OAAQ,EAAO,OAAO,EACvD,MAAO,EAAa,MACpB,OAAQ,EAAO,QAAQ,KAAK,CAAQ,CACtC,CAAC,EAAE,SAAS,CAAE,WAAY,iCAAkC,CAAC,EAEhD,GAAY,EAAO,MAAM,CAAC,GAAoB,GAAkB,GAAoB,EAAc,CAAC,EAAE,KAChH,EAAO,cAAc,QAAQ,CAC/B,EAIa,GAAgB,EAAO,OAAO,CACzC,KAAM,EAAO,IAAI,MAAM,EACvB,GAAI,EAAO,OACX,KAAM,EAAO,OACb,SAAU,EAAO,QAAQ,KAAK,CAAQ,EACtC,cAAe,EAAc,KAAK,CAAQ,EAC1C,oBAAqB,EAAc,KAAK,CAAQ,EAChD,MAAO,GACP,KAAM,EAAO,OAAO,CAClB,QAAS,EACT,IAAK,EAAsB,KAAK,CAAQ,EACxC,UAAW,EAAsB,KAAK,CAAQ,CAChD,CAAC,CACH,CAAC,EAAE,SAAS,CAAE,WAAY,gCAAiC,CAAC,EAG/C,GAAgB,EAAO,OAAO,CACzC,KAAM,EAAO,IAAI,MAAM,EACvB,KAAM,EAAO,MACf,CAAC,EAAE,SAAS,CAAE,WAAY,gCAAiC,CAAC,EAG/C,GAAqB,EAAO,OAAO,CAC9C,KAAM,EAAO,IAAI,WAAW,EAC5B,KAAM,EAAO,OACb,MAAO,EAAc,KAAK,CAAQ,EAClC,KAAM,EAAO,OAAO,CAClB,QAAS,EACT,UAAW,EAAsB,KAAK,CAAQ,CAChD,CAAC,EAAE,KAAK,CAAQ,CAClB,CAAC,EAAE,SAAS,CAAE,WAAY,qCAAsC,CAAC,EAEpD,GAAmB,EAAO,MAAM,CAAC,GAAe,GAAoB,EAAa,CAAC,EAAE,KAC/F,EAAO,cAAc,MAAM,CAC7B,EAIa,GAAiB,EAAO,OAAO,CAC1C,QAAS,EACT,GAAI,EACJ,MAAO,EAAa,KACtB,CAAC,EAAE,SAAS,CAAE,WAAY,iCAAkC,CAAC,EAGhD,GAAY,EAAO,OAAO,IAClC,EACH,KAAM,EAAO,IAAI,WAAW,EAC5B,MAAO,EAAM,GACb,MAAO,EAAM,IACb,QAAS,GAAiB,KAAK,EAAO,KAAK,EAC3C,SAAU,EAAO,OAAO,CACtB,MAAO,EAAS,GAAG,KAAK,CAAQ,EAChC,IAAK,EAAS,GAAG,KAAK,CAAQ,EAC9B,MAAO,EAAO,MAAM,EAAY,EAAE,KAAK,CAAQ,CACjD,CAAC,EAAE,KAAK,CAAQ,EAChB,OAAQ,GAAa,KAAK,CAAQ,EAClC,KAAM,EAAM,IAAI,KAAK,CAAQ,EAC7B,OAAQ,EAAW,KAAK,KAAK,CAAQ,EACrC,MAAO,EAAa,MAAM,KAAK,CAAQ,EACvC,MAAO,GAAe,KAAK,CAAQ,EACnC,KAAM,EAAO,OAAO,CAClB,QAAS,EACT,UAAW,EAAsB,KAAK,CAAQ,CAChD,CAAC,CACH,CAAC,EAAE,SAAS,CAAE,WAAY,2BAA4B,CAAC,EAEjD,EAAiB,CAAE,KAAM,EAAO,IAAI,YAAY,KAAM,CAAK,EAGpD,GAAoB,EAAO,OAAO,IAC1C,EACH,OAAQ,EAAO,IAAI,SAAS,EAC5B,OAAQ,EAAO,SAAS,CAAC,OAAQ,QAAQ,CAAC,EAC1C,QAAS,EAAO,OAChB,OAAQ,EAAO,MACjB,CAAC,EAAE,SAAS,CAAE,WAAY,oCAAqC,CAAC,EAGnD,GAAsB,EAAO,OAAO,IAC5C,EACH,OAAQ,EAAO,IAAI,WAAW,EAC9B,OAAQ,EAAO,SAAS,CAAC,OAAQ,QAAQ,CAAC,EAC1C,QAAS,EAAO,OAChB,OAAQ,EAAO,MACjB,CAAC,EAAE,SAAS,CAAE,WAAY,sCAAuC,CAAC,EAGrD,GAAmB,EAAO,OAAO,IACzC,EACH,OAAQ,EAAO,IAAI,QAAQ,EAC3B,OAAQ,EAAO,SAAS,CAAC,OAAQ,QAAQ,CAAC,EAC1C,MAAO,EAAa,KACtB,CAAC,EAAE,SAAS,CAAE,WAAY,mCAAoC,CAAC,EAElD,GAAa,EAAO,MAAM,CAAC,GAAmB,GAAqB,EAAgB,CAAC,EAAE,KACjG,EAAO,cAAc,QAAQ,EAC7B,EAAO,SAAS,CAAE,WAAY,4BAA6B,CAAC,CAC9D,EAGa,GAAO,EAAO,MAAM,CAC/B,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,EACF,CAAC,EACE,KAAK,EAAO,cAAc,MAAM,CAAC,EACjC,SAAS,CAAE,WAAY,sBAAuB,CAAC", | ||
| "debugId": "4B261DA2D98BB99764756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "71C7A606A1E61B8564756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "DF5061E203C70FEE64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/bun-pty@0.4.8/node_modules/bun-pty/src/terminal.ts", "../../node_modules/.bun/bun-pty@0.4.8/node_modules/bun-pty/src/interfaces.ts", "../../node_modules/.bun/bun-pty@0.4.8/node_modules/bun-pty/src/index.ts", "../core/src/pty/pty.bun.ts"], | ||
| "sourcesContent": [ | ||
| "// terminal.ts — JS/TS front-end (final fixed version)\n\nimport { dlopen, FFIType, ptr } from \"bun:ffi\";\nimport { Buffer } from \"node:buffer\";\nimport { EventEmitter } from \"./interfaces\";\nimport type { IPty, IPtyForkOptions, IExitEvent } from \"./interfaces\";\nimport { join, dirname, basename } from \"node:path\";\nimport { existsSync } from \"node:fs\";\n\nexport const DEFAULT_COLS = 80;\nexport const DEFAULT_ROWS = 24;\nexport const DEFAULT_FILE = \"sh\";\nexport const DEFAULT_NAME = \"xterm\";\n\n/**\n * Quote a string for shell-words compatible splitting on the Rust side.\n * We are not invoking a shell; quoting is only to preserve token boundaries\n * when Rust parses the command line with shell_words::split.\n * \n * @param s - The string to quote\n * @returns The quoted string\n */\nfunction shQuote(s: string): string {\n\tif (s.length === 0) return \"''\";\n\t// Replace ' with '\\'' (close-quote, escaped ', reopen)\n\treturn `'${s.replace(/'/g, `'\\\\''`)}'`;\n}\n\n// terminal.ts – loader fragment only\n\nfunction resolveLibPath(): string {\n\tconst env = process.env.BUN_PTY_LIB;\n\tif (env && existsSync(env)) return env;\n\n\t// For bun compile: use statically analyzable require with inline ternary.\n\t// Bun evaluates process.platform and process.arch at compile time and only\n\t// bundles the file for the target platform. The ternary MUST be inline\n\t// in the template literal for Bun's static analysis to work.\n\t// See: https://github.com/sursaone/bun-pty/issues/19\n\ttry {\n\t\t// @ts-ignore - require returns path for binary files in Bun\n\t\tconst embeddedPath = require(`../rust-pty/target/release/${process.platform === \"win32\" ? \"rust_pty.dll\" : process.platform === \"darwin\" ? (process.arch === \"arm64\" ? \"librust_pty_arm64.dylib\" : \"librust_pty.dylib\") : process.arch === \"arm64\" ? \"librust_pty_arm64.so\" : \"librust_pty.so\"}`);\n\t\tif (embeddedPath) return embeddedPath;\n\t} catch {\n\t\t// Not running as compiled binary, fall through to dynamic resolution\n\t}\n\n\t// Fallback: dynamic resolution for development scenarios\n\tconst platform = process.platform;\n\tconst arch = process.arch;\n\n\t// Try both architecture-specific and generic filenames\n\tconst filenames =\n\t\tplatform === \"darwin\"\n\t\t\t? arch === \"arm64\"\n\t\t\t\t? [\"librust_pty_arm64.dylib\", \"librust_pty.dylib\"]\n\t\t\t\t: [\"librust_pty.dylib\"]\n\t\t\t: platform === \"win32\"\n\t\t\t? [\"rust_pty.dll\"]\n\t\t\t: arch === \"arm64\"\n\t\t\t? [\"librust_pty_arm64.so\", \"librust_pty.so\"]\n\t\t\t: [\"librust_pty.so\"];\n\n\t// Start from the current module's location\n\tconst base = Bun.fileURLToPath(import.meta.url);\n\tconst fileDir = dirname(base);\n\tconst dirName = basename(fileDir);\n\t\n\t// Handle both development (src/terminal.ts) and production (dist/terminal.js) cases\n\t// If we're in src/ or dist/, go up one level to get the project root\n\tconst here = (dirName === \"src\" || dirName === \"dist\")\n\t\t? dirname(fileDir) // Go up one level from src/ or dist/\n\t\t: fileDir; // Otherwise use the directory as-is\n\n\tconst basePaths = [\n\t\tjoin(here, \"rust-pty\", \"target\", \"release\"), // Direct path from project root\n\t\tjoin(here, \"..\", \"bun-pty\", \"rust-pty\", \"target\", \"release\"), // monorepo setups\n\t\tjoin(process.cwd(), \"node_modules\", \"bun-pty\", \"rust-pty\", \"target\", \"release\"),\n\t];\n\n\tconst fallbackPaths = [];\n\tfor (const basePath of basePaths) {\n\t\tfor (const filename of filenames) {\n\t\t\tfallbackPaths.push(join(basePath, filename));\n\t\t}\n\t}\n\n\tfor (const path of fallbackPaths) {\n\t\tif (existsSync(path)) return path;\n\t}\n\n\tthrow new Error(\n\t\t`librust_pty shared library not found.\\nChecked:\\n - BUN_PTY_LIB=${env ?? \"<unset>\"}\\n - ${fallbackPaths.join(\"\\n - \")}\\n\\nSet BUN_PTY_LIB or ensure one of these paths contains the file.`\n\t);\n}\n\nconst libPath = resolveLibPath();\n\n// biome-ignore lint/suspicious/noExplicitAny: <explanation>\nlet lib: any;\n\n// try to load the lib, if it fails log the error\ntry {\n\tlib = dlopen(libPath, {\n\t\tbun_pty_spawn: {\n\t\t\targs: [FFIType.cstring, FFIType.cstring, FFIType.cstring, FFIType.i32, FFIType.i32],\n\t\t\treturns: FFIType.i32,\n\t\t},\n\t\tbun_pty_write: {\n\t\t\targs: [FFIType.i32, FFIType.pointer, FFIType.i32],\n\t\t\treturns: FFIType.i32,\n\t\t},\n\t\tbun_pty_read: {\n\t\t\targs: [FFIType.i32, FFIType.pointer, FFIType.i32],\n\t\t\treturns: FFIType.i32,\n\t\t},\n\t\tbun_pty_resize: {\n\t\t\targs: [FFIType.i32, FFIType.i32, FFIType.i32],\n\t\t\treturns: FFIType.i32,\n\t\t},\n\t\tbun_pty_kill: { args: [FFIType.i32], returns: FFIType.i32 },\n\t\tbun_pty_get_pid: { args: [FFIType.i32], returns: FFIType.i32 },\n\t\tbun_pty_get_exit_code: { args: [FFIType.i32], returns: FFIType.i32 },\n\t\tbun_pty_close: { args: [FFIType.i32], returns: FFIType.void },\n\t});\n} catch (error) {\n\tconsole.error(\"Failed to load lib\", error);\n}\n\nexport class Terminal implements IPty {\n\tprivate handle = -1;\n\tprivate _pid = -1;\n\tprivate _cols = DEFAULT_COLS;\n\tprivate _rows = DEFAULT_ROWS;\n\tprivate readonly _name = DEFAULT_NAME;\n\n\tprivate _readLoop = false;\n\tprivate _closing = false;\n\n\t// TextDecoder with streaming mode to properly handle UTF-8 across chunk boundaries\n\t// Without this, multi-byte characters (like box-drawing ─) that span chunks become �\n\tprivate readonly _decoder = new TextDecoder(\"utf-8\");\n\n\tprivate readonly _onData = new EventEmitter<string>();\n\tprivate readonly _onExit = new EventEmitter<IExitEvent>();\n\n\tconstructor(\n\t\tfile = DEFAULT_FILE,\n\t\targs: string[] = [],\n\t\topts: IPtyForkOptions = { name: DEFAULT_NAME },\n\t) {\n\t\tthis._cols = opts.cols ?? DEFAULT_COLS;\n\t\tthis._rows = opts.rows ?? DEFAULT_ROWS;\n\t\tconst cwd = opts.cwd ?? process.cwd();\n\t\t// Properly quote file and arguments to preserve spaces and special characters\n\t\tconst cmdline = [shQuote(file), ...args.map(shQuote)].join(\" \");\n\n\t\t// Format environment variables as null-terminated string\n\t\tlet envStr = \"\";\n\t\tif (opts.env) {\n\t\t\tconst envPairs = Object.entries(opts.env).map(([k, v]) => `${k}=${v}`);\n\t\t\tenvStr = envPairs.join(\"\\0\") + \"\\0\";\n\t\t}\n\n\t\tthis.handle = lib.symbols.bun_pty_spawn(\n\t\t\tBuffer.from(`${cmdline}\\0`, \"utf8\"),\n\t\t\tBuffer.from(`${cwd}\\0`, \"utf8\"),\n\t\t\tBuffer.from(`${envStr}\\0`, \"utf8\"),\n\t\t\tthis._cols,\n\t\t\tthis._rows,\n\t\t);\n\t\tif (this.handle < 0) throw new Error(\"PTY spawn failed\");\n\n\t\tthis._pid = lib.symbols.bun_pty_get_pid(this.handle);\n\t\tthis._startReadLoop();\n\t}\n\n\t/* ------------- accessors ------------- */\n\n\tget pid() {\n\t\treturn this._pid;\n\t}\n\tget cols() {\n\t\treturn this._cols;\n\t}\n\tget rows() {\n\t\treturn this._rows;\n\t}\n\tget process() {\n\t\treturn \"shell\";\n\t}\n\n\tget onData() {\n\t\treturn this._onData.event;\n\t}\n\tget onExit() {\n\t\treturn this._onExit.event;\n\t}\n\n\t/* ------------- IO methods ------------- */\n\n\twrite(data: string) {\n\t\tif (this._closing) return;\n\t\tconst buf = Buffer.from(data, \"utf8\");\n\t\tlib.symbols.bun_pty_write(this.handle, ptr(buf), buf.length);\n\t}\n\n\tresize(cols: number, rows: number) {\n\t\tif (this._closing) return;\n\t\tthis._cols = cols;\n\t\tthis._rows = rows;\n\t\tlib.symbols.bun_pty_resize(this.handle, cols, rows);\n\t}\n\n\tkill(signal = \"SIGTERM\") {\n\t\tif (this._closing) return;\n\t\tthis._closing = true;\n\t\tlib.symbols.bun_pty_kill(this.handle);\n\t\tlib.symbols.bun_pty_close(this.handle);\n\t\tthis._onExit.fire({ exitCode: 0, signal });\n\t}\n\n\t/* ------------- read-loop ------------- */\n\n\tprivate async _startReadLoop() {\n\t\tif (this._readLoop) return;\n\t\tthis._readLoop = true;\n\n\t\tconst buf = Buffer.allocUnsafe(4096);\n\n\t\twhile (this._readLoop && !this._closing) {\n\t\t\tconst n = lib.symbols.bun_pty_read(this.handle, ptr(buf), buf.length);\n\t\t\tif (n > 0) {\n\t\t\t\t// Use streaming mode to buffer incomplete UTF-8 sequences across chunks\n\t\t\t\t// This prevents corruption when multi-byte chars span chunk boundaries\n\t\t\t\tconst decoded = this._decoder.decode(buf.subarray(0, n), { stream: true });\n\t\t\t\tif (decoded) {\n\t\t\t\t\tthis._onData.fire(decoded);\n\t\t\t\t}\n\t\t\t} else if (n === -2) {\n\t\t\t\t// CHILD_EXITED - flush any remaining bytes in the decoder\n\t\t\t\tconst remaining = this._decoder.decode();\n\t\t\t\tif (remaining) {\n\t\t\t\t\tthis._onData.fire(remaining);\n\t\t\t\t}\n\t\t\t\tconst exitCode = lib.symbols.bun_pty_get_exit_code(this.handle);\n\t\t\t\tthis._onExit.fire({ exitCode });\n\t\t\t\tbreak;\n\t\t\t} else if (n < 0) {\n\t\t\t\t// error - flush decoder before breaking\n\t\t\t\tconst remaining = this._decoder.decode();\n\t\t\t\tif (remaining) {\n\t\t\t\t\tthis._onData.fire(remaining);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t} else {\n\t\t\t\t// 0 bytes: wait\n\t\t\t\tawait new Promise((r) => setTimeout(r, 8));\n\t\t\t}\n\t\t}\n\t}\n}\n", | ||
| "import { Buffer } from \"node:buffer\";\n\n/**\n * Interface for disposable resources.\n */\nexport interface IDisposable {\n /**\n * Disposes the resource, performing any necessary cleanup.\n */\n dispose(): void;\n}\n\n/**\n * Event implementation for the terminal.\n */\nexport class EventEmitter<T> {\n private listeners: ((data: T) => void)[] = [];\n\n public event = (listener: (e: T) => void): IDisposable => {\n this.listeners.push(listener);\n return {\n dispose: () => {\n const i = this.listeners.indexOf(listener);\n if (i !== -1) {\n this.listeners.splice(i, 1);\n }\n }\n };\n };\n\n public fire(data: T): void {\n for (const listener of this.listeners) {\n listener(data);\n }\n }\n}\n\n/**\n * Options for spawning a new PTY process.\n */\nexport interface IPtyForkOptions {\n /**\n * The name of the terminal to be set in environment variables.\n */\n name: string;\n\n /**\n * The number of columns in the PTY.\n */\n cols?: number;\n\n /**\n * The number of rows in the PTY.\n */\n rows?: number;\n\n /**\n * The current working directory of the process.\n * Defaults to the current working directory of the parent process.\n */\n cwd?: string;\n\n /**\n * Environment variables to set for the process.\n */\n env?: Record<string, string>;\n}\n\n/**\n * Exit data for PTY process.\n */\nexport interface IExitEvent {\n /**\n * The process exit code.\n */\n exitCode: number;\n\n /**\n * The signal that caused the process to exit, if any.\n */\n signal?: number | string;\n}\n\n/**\n * Interface for interacting with a pseudo-terminal (PTY) instance.\n */\nexport interface IPty {\n /**\n * The PID of the process running in the PTY.\n */\n readonly pid: number;\n\n /**\n * The column size in characters.\n */\n readonly cols: number;\n\n /**\n * The row size in characters.\n */\n readonly rows: number;\n\n /**\n * The title of the active process.\n */\n readonly process: string;\n\n /**\n * Set a callback for when data is received from the PTY.\n */\n readonly onData: (listener: (data: string) => void) => IDisposable;\n\n /**\n * Event emitted when the PTY process exits.\n */\n readonly onExit: (listener: (event: IExitEvent) => void) => IDisposable;\n\n /**\n * Write data to the PTY.\n *\n * @param data - The data to write.\n */\n write(data: string): void;\n\n /**\n * Resize the PTY.\n *\n * @param columns - Number of columns (character width).\n * @param rows - Number of rows (character height).\n */\n resize(columns: number, rows: number): void;\n\n /**\n * Kill the process running in the PTY.\n *\n * @param signal - The signal to send to the process.\n * Defaults to \"SIGTERM\".\n */\n kill(signal?: string): void;\n} ", | ||
| "/**\n * The main export module for bun-pty.\n * Provides a cross-platform PTY interface for Bun runtime.\n */\n\nimport { Terminal } from './terminal';\nimport type { IPty, IPtyForkOptions, IExitEvent, IDisposable } from './interfaces';\n\n/**\n * Creates and spawns a new PTY with the given command and arguments.\n * \n * @param file - Path to the executable to run.\n * @param args - Arguments for the executable.\n * @param options - Options for the PTY.\n * @returns A new PTY instance.\n */\nexport function spawn(file: string, args: string[], options: IPtyForkOptions): IPty {\n return new Terminal(file, args, options);\n}\n\n// Export interfaces and implementations\nexport type { IPty, IPtyForkOptions, IExitEvent, IDisposable };\nexport { Terminal } from './terminal'; ", | ||
| "import { spawn } from \"bun-pty\"\nimport type { Opts, Proc } from \"./pty\"\n\nexport type { Disp, Exit, Opts, Proc } from \"./pty\"\n\nfunction spawnPty(file: string, args: string[], opts: Opts): Proc {\n const pty = spawn(file, args, opts)\n return {\n pid: pty.pid,\n onData(listener) {\n return pty.onData(listener)\n },\n onExit(listener) {\n return pty.onExit(listener)\n },\n write(data) {\n pty.write(data)\n },\n resize(cols, rows) {\n pty.resize(cols, rows)\n },\n kill(signal) {\n pty.kill(signal)\n },\n }\n}\n\nexport { spawnPty as spawn }\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "1F317E6DADA87B4064756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/cli-spinners@3.4.0/node_modules/cli-spinners/index.js", "../../node_modules/.bun/opentui-spinner@0.0.7+d3ea10796c516e66/node_modules/opentui-spinner/dist/src-DjeqLSfu.mjs", "../../node_modules/.bun/opentui-spinner@0.0.7+d3ea10796c516e66/node_modules/opentui-spinner/dist/solid.mjs", "../tui/src/component/register-spinner.ts"], | ||
| "sourcesContent": [ | ||
| "import spinners from './spinners.json' with {type: 'json'};\n\nexport default spinners;\n\nconst spinnersList = Object.keys(spinners);\n\nexport function randomSpinner() {\n\tconst randomIndex = Math.floor(Math.random() * spinnersList.length);\n\tconst spinnerName = spinnersList[randomIndex];\n\treturn spinners[spinnerName];\n}\n", | ||
| "import{Renderable as e,parseColor as t,resolveRenderLib as n}from\"@opentui/core\";import r from\"cli-spinners\";const i=1e3/60,a=1e3;function o(e){if(!Number.isFinite(e)||e<i||e>a)throw RangeError(`Spinner interval must be a finite number between ${i}ms and ${a}ms`);return e}const s={now:()=>performance.now(),setInterval:(e,t)=>{let n=setInterval(e,t);return n.unref(),n},clearInterval:e=>clearInterval(e)},c=new class{active=new Map;heap=[];timer=null;timerDueAt=0;generation=0;lastWakeAt=-1/0;clock;constructor(e=s,t=16){this.denseTickThreshold=t,this.clock=e}setClock(e){if(this.active.size>0||this.timer!==null)throw Error(`Cannot replace the spinner scheduler clock while active`);this.clock=e}start(e,t,n){if(this.active.has(e))return;let r={spinner:e,interval:t,nextDueAt:this.clock.now()+t,advance:n};this.active.set(e,r),this.push(r),this.armNext()}reschedule(e,t){let n=this.active.get(e);if(!n)return;let r={spinner:e,interval:t,nextDueAt:this.clock.now()+t,advance:n.advance};this.active.set(e,r),this.push(r),this.compactIfNeeded(),this.armNext()}stop(e){this.active.delete(e)&&(this.compactIfNeeded(),this.armNext())}armNext(){this.discardStaleRoots();let e=this.heap[0];if(!e){this.cancelTimer(),this.lastWakeAt=-1/0;return}let t=this.clock.now(),n=Math.max(e.nextDueAt,this.lastWakeAt+i);if(this.timer!==null&&this.timerDueAt===n)return;this.cancelTimer();let r=this.generation,a=Math.max(n-t,0);this.timerDueAt=n,this.timer=this.clock.setInterval(()=>this.tick(r),a)}cancelTimer(){this.timer!==null&&(this.generation++,this.clock.clearInterval(this.timer),this.timer=null)}tick(e){if(e!==this.generation||this.timer===null)return;let t=this.timer;this.generation++,this.timer=null,this.clock.clearInterval(t);let n=this.clock.now();this.discardStaleRoots();let r=!1,i=0,a=[];for(;this.heap[0]&&this.heap[0].nextDueAt<=n;){let e=this.pop();if(!(!e||!this.isCurrent(e))){try{e.advance()}catch(e){a.push(e)}if(r=!0,this.isCurrent(e)&&(e.nextDueAt=n+e.interval,this.push(e),i++,i===this.denseTickThreshold)){let e=this.heap;this.heap=[];for(let t of e)if(this.isCurrent(t)){if(t.nextDueAt<=n){try{t.advance()}catch(e){a.push(e)}if(r=!0,!this.isCurrent(t))continue;t.nextDueAt=n+t.interval}this.heap.push(t)}this.heapify();break}}}if(r&&(this.lastWakeAt=n),this.compactIfNeeded(),this.armNext(),a.length===1)throw a[0];if(a.length>1)throw AggregateError(a,`Multiple spinner callbacks failed`)}isCurrent(e){return this.active.get(e.spinner)===e}discardStaleRoots(){for(;this.heap[0]&&!this.isCurrent(this.heap[0]);)this.pop()}compactIfNeeded(){this.heap.length<=this.active.size*2+16||(this.heap=Array.from(this.active.values()),this.heapify())}heapify(){for(let e=Math.floor(this.heap.length/2)-1;e>=0;e--)this.siftDown(e)}push(e){this.heap.push(e);let t=this.heap.length-1;for(;t>0;){let n=Math.floor((t-1)/2);if(this.heap[n].nextDueAt<=e.nextDueAt)break;this.heap[t]=this.heap[n],t=n}this.heap[t]=e}pop(){let e=this.heap[0],t=this.heap.pop();return!e||!t||this.heap.length===0?e:(this.heap[0]=t,this.siftDown(0),e)}siftDown(e){let t=this.heap[e],n=e;for(;;){let e=n*2+1;if(e>=this.heap.length)break;let r=e+1,i=r<this.heap.length&&this.heap[r].nextDueAt<this.heap[e].nextDueAt?r:e;if(this.heap[i].nextDueAt>=t.nextDueAt)break;this.heap[n]=this.heap[i],n=i}this.heap[n]=t}};function l(e,t=1){if(e.length===0)throw RangeError(`createPulse requires at least one color`);return n=>e[Math.floor(n*t)%e.length]}function u(e){if(e.length===0)throw RangeError(`createWave requires at least one color`);return(t,n,r,i)=>{let a=(n+t)%i;return e[Math.floor(a/i*e.length)]??e[0]}}function d(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}var f=class extends e{_name;_frames;_interval;_autoplay;_backgroundColor;_parsedBackgroundColor;_color;_parsedColor;_currentFrameIndex=0;_encodedFrames={};_lib=n();_isRunning=!1;_advanceFrame=()=>{!this._isRunning||this.isDestroyed||(this._currentFrameIndex=(this._currentFrameIndex+1)%this._frames.length,this.requestRender())};_defaultOptions={name:`dots`,frames:r.dots.frames,interval:r.dots.interval,autoplay:!0,backgroundColor:`transparent`,color:`white`};constructor(e,n){super(e,n),this._name=n.name,this._frames=n.frames?.length?n.frames:this._name?r[this._name].frames:this._defaultOptions.frames,this._interval=o(n.interval??(this._name?r[this._name].interval:this._defaultOptions.interval)),this._autoplay=n.autoplay??this._defaultOptions.autoplay,this._backgroundColor=n.backgroundColor??this._defaultOptions.backgroundColor,this._parsedBackgroundColor=t(this._backgroundColor),this._color=n.color??this._defaultOptions.color,this._parsedColor=typeof this._color==`function`?t(this._defaultOptions.color):t(this._color),this.height=1,this._encodeFrames(),this._autoplay&&this.start()}_encodeFrames(){let e=0;for(let t of this._frames){if(this._encodedFrames[t])continue;let n=this._lib.encodeUnicode(t,this.ctx.widthMethod);n&&(this._encodedFrames[t]=n,e=Math.max(e,n.data.reduce((e,t)=>e+t.width,0)))}this.width=e}_freeFrames(){for(let e in this._encodedFrames)this._encodedFrames[e]&&this._lib.freeUnicode(this._encodedFrames[e]);this._encodedFrames={}}get interval(){return this._interval}set interval(e){this._interval=o(e),this._isRunning&&c.reschedule(this,this._interval)}get name(){return this._name}set name(e){let t=e?r[e].frames:this._defaultOptions.frames,n=o(e?r[e].interval:this._defaultOptions.interval),i=!d(this._frames,t),a=this._interval!==n;this._name=e,this._interval=n,i&&(this._freeFrames(),this._frames=t,this._currentFrameIndex=0,this._encodeFrames(),this.visible&&this.requestRender()),this._isRunning&&a&&c.reschedule(this,n)}get frames(){return this._frames}set frames(e){let t=e.length===0?this._defaultOptions.frames:e;if(d(this._frames,t)){this._frames=t;return}this._freeFrames(),this._frames=t,this._currentFrameIndex=0,this._encodeFrames(),this.visible&&this.requestRender()}get color(){return this._color}set color(e){this._color=e,typeof e!=`function`&&(this._parsedColor=t(e)),this.visible&&this.requestRender()}get backgroundColor(){return this._backgroundColor}set backgroundColor(e){this._backgroundColor=e,this._parsedBackgroundColor=t(e),this.visible&&this.requestRender()}get visible(){return super.visible}set visible(e){e!==super.visible&&(super.visible=e,this._isRunning&&(e?c.start(this,this._interval,this._advanceFrame):c.stop(this)))}get autoplay(){return this._autoplay}set autoplay(e){this._autoplay=e,e?this.start():this.stop()}start(){this._isRunning||this.isDestroyed||(this._isRunning=!0,this.visible&&c.start(this,this._interval,this._advanceFrame))}stop(){this._isRunning&&(this._isRunning=!1,c.stop(this))}renderSelf(e){if(!this.visible)return;let n=this._frames[this._currentFrameIndex];if(!n)return;let r=this._encodedFrames[n];if(!r)return;let i=this.x;for(let n=0;n<r.data.length;n++){let a=typeof this._color==`function`?t(this._color(this._currentFrameIndex,n,this._frames.length,r.data.length)):this._parsedColor;e.drawChar(r.data[n].char,i,this.y,a,this._parsedBackgroundColor),i+=r.data[n].width}}destroySelf(){this.stop(),this._freeFrames(),super.destroySelf()}};export{l as n,u as r,f as t};", | ||
| "import{t as e}from\"./src-DjeqLSfu.mjs\";import{extend as t}from\"@opentui/solid/components\";function n(){t({spinner:e})}n();export{n as registerSpinner};", | ||
| "import { getComponentCatalogue } from \"@opentui/solid/components\"\nimport { registerSpinner } from \"opentui-spinner/solid\"\n\nexport function registerOpencodeSpinner() {\n if (!getComponentCatalogue().spinner) registerSpinner()\n}\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "41F5EB08B72A991764756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@opentelemetry+context-async-hooks@2.6.1+460773ef8ff1e07c/node_modules/@opentelemetry/context-async-hooks/build/src/AbstractAsyncHooksContextManager.js", "../../node_modules/.bun/@opentelemetry+context-async-hooks@2.6.1+460773ef8ff1e07c/node_modules/@opentelemetry/context-async-hooks/build/src/AsyncHooksContextManager.js", "../../node_modules/.bun/@opentelemetry+context-async-hooks@2.6.1+460773ef8ff1e07c/node_modules/@opentelemetry/context-async-hooks/build/src/AsyncLocalStorageContextManager.js", "../../node_modules/.bun/@opentelemetry+context-async-hooks@2.6.1+460773ef8ff1e07c/node_modules/@opentelemetry/context-async-hooks/build/src/index.js"], | ||
| "sourcesContent": [ | ||
| "\"use strict\";\n/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AbstractAsyncHooksContextManager = void 0;\nconst events_1 = require(\"events\");\nconst ADD_LISTENER_METHODS = [\n 'addListener',\n 'on',\n 'once',\n 'prependListener',\n 'prependOnceListener',\n];\nclass AbstractAsyncHooksContextManager {\n /**\n * Binds a the certain context or the active one to the target function and then returns the target\n * @param context A context (span) to be bind to target\n * @param target a function or event emitter. When target or one of its callbacks is called,\n * the provided context will be used as the active context for the duration of the call.\n */\n bind(context, target) {\n if (target instanceof events_1.EventEmitter) {\n return this._bindEventEmitter(context, target);\n }\n if (typeof target === 'function') {\n return this._bindFunction(context, target);\n }\n return target;\n }\n _bindFunction(context, target) {\n const manager = this;\n const contextWrapper = function (...args) {\n return manager.with(context, () => target.apply(this, args));\n };\n Object.defineProperty(contextWrapper, 'length', {\n enumerable: false,\n configurable: true,\n writable: false,\n value: target.length,\n });\n /**\n * It isn't possible to tell Typescript that contextWrapper is the same as T\n * so we forced to cast as any here.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return contextWrapper;\n }\n /**\n * By default, EventEmitter call their callback with their context, which we do\n * not want, instead we will bind a specific context to all callbacks that\n * go through it.\n * @param context the context we want to bind\n * @param ee EventEmitter an instance of EventEmitter to patch\n */\n _bindEventEmitter(context, ee) {\n const map = this._getPatchMap(ee);\n if (map !== undefined)\n return ee;\n this._createPatchMap(ee);\n // patch methods that add a listener to propagate context\n ADD_LISTENER_METHODS.forEach(methodName => {\n if (ee[methodName] === undefined)\n return;\n ee[methodName] = this._patchAddListener(ee, ee[methodName], context);\n });\n // patch methods that remove a listener\n if (typeof ee.removeListener === 'function') {\n ee.removeListener = this._patchRemoveListener(ee, ee.removeListener);\n }\n if (typeof ee.off === 'function') {\n ee.off = this._patchRemoveListener(ee, ee.off);\n }\n // patch method that remove all listeners\n if (typeof ee.removeAllListeners === 'function') {\n ee.removeAllListeners = this._patchRemoveAllListeners(ee, ee.removeAllListeners);\n }\n return ee;\n }\n /**\n * Patch methods that remove a given listener so that we match the \"patched\"\n * version of that listener (the one that propagate context).\n * @param ee EventEmitter instance\n * @param original reference to the patched method\n */\n _patchRemoveListener(ee, original) {\n const contextManager = this;\n return function (event, listener) {\n const events = contextManager._getPatchMap(ee)?.[event];\n if (events === undefined) {\n return original.call(this, event, listener);\n }\n const patchedListener = events.get(listener);\n return original.call(this, event, patchedListener || listener);\n };\n }\n /**\n * Patch methods that remove all listeners so we remove our\n * internal references for a given event.\n * @param ee EventEmitter instance\n * @param original reference to the patched method\n */\n _patchRemoveAllListeners(ee, original) {\n const contextManager = this;\n return function (event) {\n const map = contextManager._getPatchMap(ee);\n if (map !== undefined) {\n if (arguments.length === 0) {\n contextManager._createPatchMap(ee);\n }\n else if (map[event] !== undefined) {\n delete map[event];\n }\n }\n return original.apply(this, arguments);\n };\n }\n /**\n * Patch methods on an event emitter instance that can add listeners so we\n * can force them to propagate a given context.\n * @param ee EventEmitter instance\n * @param original reference to the patched method\n * @param [context] context to propagate when calling listeners\n */\n _patchAddListener(ee, original, context) {\n const contextManager = this;\n return function (event, listener) {\n /**\n * This check is required to prevent double-wrapping the listener.\n * The implementation for ee.once wraps the listener and calls ee.on.\n * Without this check, we would wrap that wrapped listener.\n * This causes an issue because ee.removeListener depends on the onceWrapper\n * to properly remove the listener. If we wrap their wrapper, we break\n * that detection.\n */\n if (contextManager._wrapped) {\n return original.call(this, event, listener);\n }\n let map = contextManager._getPatchMap(ee);\n if (map === undefined) {\n map = contextManager._createPatchMap(ee);\n }\n let listeners = map[event];\n if (listeners === undefined) {\n listeners = new WeakMap();\n map[event] = listeners;\n }\n const patchedListener = contextManager.bind(context, listener);\n // store a weak reference of the user listener to ours\n listeners.set(listener, patchedListener);\n /**\n * See comment at the start of this function for the explanation of this property.\n */\n contextManager._wrapped = true;\n try {\n return original.call(this, event, patchedListener);\n }\n finally {\n contextManager._wrapped = false;\n }\n };\n }\n _createPatchMap(ee) {\n const map = Object.create(null);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ee[this._kOtListeners] = map;\n return map;\n }\n _getPatchMap(ee) {\n return ee[this._kOtListeners];\n }\n _kOtListeners = Symbol('OtListeners');\n _wrapped = false;\n}\nexports.AbstractAsyncHooksContextManager = AbstractAsyncHooksContextManager;\n//# sourceMappingURL=AbstractAsyncHooksContextManager.js.map", | ||
| "\"use strict\";\n/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AsyncHooksContextManager = void 0;\nconst api_1 = require(\"@opentelemetry/api\");\nconst asyncHooks = require(\"async_hooks\");\nconst AbstractAsyncHooksContextManager_1 = require(\"./AbstractAsyncHooksContextManager\");\n/**\n * @deprecated Use AsyncLocalStorageContextManager instead.\n */\nclass AsyncHooksContextManager extends AbstractAsyncHooksContextManager_1.AbstractAsyncHooksContextManager {\n _asyncHook;\n _contexts = new Map();\n _stack = [];\n constructor() {\n super();\n this._asyncHook = asyncHooks.createHook({\n init: this._init.bind(this),\n before: this._before.bind(this),\n after: this._after.bind(this),\n destroy: this._destroy.bind(this),\n promiseResolve: this._destroy.bind(this),\n });\n }\n active() {\n return this._stack[this._stack.length - 1] ?? api_1.ROOT_CONTEXT;\n }\n with(context, fn, thisArg, ...args) {\n this._enterContext(context);\n try {\n return fn.call(thisArg, ...args);\n }\n finally {\n this._exitContext();\n }\n }\n enable() {\n this._asyncHook.enable();\n return this;\n }\n disable() {\n this._asyncHook.disable();\n this._contexts.clear();\n this._stack = [];\n return this;\n }\n /**\n * Init hook will be called when userland create a async context, setting the\n * context as the current one if it exist.\n * @param uid id of the async context\n * @param type the resource type\n */\n _init(uid, type) {\n // ignore TIMERWRAP as they combine timers with same timeout which can lead to\n // false context propagation. TIMERWRAP has been removed in node 11\n // every timer has it's own `Timeout` resource anyway which is used to propagate\n // context.\n if (type === 'TIMERWRAP')\n return;\n const context = this._stack[this._stack.length - 1];\n if (context !== undefined) {\n this._contexts.set(uid, context);\n }\n }\n /**\n * Destroy hook will be called when a given context is no longer used so we can\n * remove its attached context.\n * @param uid uid of the async context\n */\n _destroy(uid) {\n this._contexts.delete(uid);\n }\n /**\n * Before hook is called just before executing a async context.\n * @param uid uid of the async context\n */\n _before(uid) {\n const context = this._contexts.get(uid);\n if (context !== undefined) {\n this._enterContext(context);\n }\n }\n /**\n * After hook is called just after completing the execution of a async context.\n */\n _after() {\n this._exitContext();\n }\n /**\n * Set the given context as active\n */\n _enterContext(context) {\n this._stack.push(context);\n }\n /**\n * Remove the context at the root of the stack\n */\n _exitContext() {\n this._stack.pop();\n }\n}\nexports.AsyncHooksContextManager = AsyncHooksContextManager;\n//# sourceMappingURL=AsyncHooksContextManager.js.map", | ||
| "\"use strict\";\n/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AsyncLocalStorageContextManager = void 0;\nconst api_1 = require(\"@opentelemetry/api\");\nconst async_hooks_1 = require(\"async_hooks\");\nconst AbstractAsyncHooksContextManager_1 = require(\"./AbstractAsyncHooksContextManager\");\nclass AsyncLocalStorageContextManager extends AbstractAsyncHooksContextManager_1.AbstractAsyncHooksContextManager {\n _asyncLocalStorage;\n constructor() {\n super();\n this._asyncLocalStorage = new async_hooks_1.AsyncLocalStorage();\n }\n active() {\n return this._asyncLocalStorage.getStore() ?? api_1.ROOT_CONTEXT;\n }\n with(context, fn, thisArg, ...args) {\n const cb = thisArg == null ? fn : fn.bind(thisArg);\n return this._asyncLocalStorage.run(context, cb, ...args);\n }\n enable() {\n return this;\n }\n disable() {\n this._asyncLocalStorage.disable();\n return this;\n }\n}\nexports.AsyncLocalStorageContextManager = AsyncLocalStorageContextManager;\n//# sourceMappingURL=AsyncLocalStorageContextManager.js.map", | ||
| "\"use strict\";\n/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AsyncLocalStorageContextManager = exports.AsyncHooksContextManager = void 0;\nvar AsyncHooksContextManager_1 = require(\"./AsyncHooksContextManager\");\nObject.defineProperty(exports, \"AsyncHooksContextManager\", { enumerable: true, get: function () { return AsyncHooksContextManager_1.AsyncHooksContextManager; } });\nvar AsyncLocalStorageContextManager_1 = require(\"./AsyncLocalStorageContextManager\");\nObject.defineProperty(exports, \"AsyncLocalStorageContextManager\", { enumerable: true, get: function () { return AsyncLocalStorageContextManager_1.AsyncLocalStorageContextManager; } });\n//# sourceMappingURL=index.js.map" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "7D7BE33C5B66468164756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260228203230_blue_harpoon.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260228203230_blue_harpoon\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`\n CREATE TABLE \\`account\\` (\n \\`id\\` text PRIMARY KEY,\n \\`email\\` text NOT NULL,\n \\`url\\` text NOT NULL,\n \\`access_token\\` text NOT NULL,\n \\`refresh_token\\` text NOT NULL,\n \\`token_expiry\\` integer,\n \\`selected_org_id\\` text,\n \\`time_created\\` integer NOT NULL,\n \\`time_updated\\` integer NOT NULL\n );\n `)\n yield* tx.run(`\n CREATE TABLE \\`account_state\\` (\n \\`id\\` integer PRIMARY KEY NOT NULL,\n \\`active_account_id\\` text,\n FOREIGN KEY (\\`active_account_id\\`) REFERENCES \\`account\\`(\\`id\\`) ON UPDATE no action ON DELETE set null\n );\n `)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,8BACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,4YAYb,EACD,MAAO,EAAG,IAAI,gQAMb,EACF,EAEL", | ||
| "debugId": "F4260EEE9662690864756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "FD56D9CF110FF36864756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/uqr@0.1.3/node_modules/uqr/dist/index.mjs"], | ||
| "sourcesContent": [ | ||
| "var QrCodeDataType = /* @__PURE__ */ ((QrCodeDataType2) => {\n QrCodeDataType2[QrCodeDataType2[\"Border\"] = -1] = \"Border\";\n QrCodeDataType2[QrCodeDataType2[\"Data\"] = 0] = \"Data\";\n QrCodeDataType2[QrCodeDataType2[\"Function\"] = 1] = \"Function\";\n QrCodeDataType2[QrCodeDataType2[\"Position\"] = 2] = \"Position\";\n QrCodeDataType2[QrCodeDataType2[\"Timing\"] = 3] = \"Timing\";\n QrCodeDataType2[QrCodeDataType2[\"Alignment\"] = 4] = \"Alignment\";\n return QrCodeDataType2;\n})(QrCodeDataType || {});\n\nconst LOW = [0, 1];\nconst MEDIUM = [1, 0];\nconst QUARTILE = [2, 3];\nconst HIGH = [3, 2];\nconst EccMap = {\n L: LOW,\n M: MEDIUM,\n Q: QUARTILE,\n H: HIGH\n};\nconst NUMERIC_REGEX = /^\\d*$/;\nconst ALPHANUMERIC_REGEX = /^[A-Z0-9 $%*+./:-]*$/;\nconst ALPHANUMERIC_CHARSET = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:\";\nconst MIN_VERSION = 1;\nconst MAX_VERSION = 40;\nconst PENALTY_N1 = 3;\nconst PENALTY_N2 = 3;\nconst PENALTY_N3 = 40;\nconst PENALTY_N4 = 10;\nconst ECC_CODEWORDS_PER_BLOCK = [\n // Version: (note that index 0 is for padding, and is set to an illegal value)\n // 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40 Error correction level\n [-1, 7, 10, 15, 20, 26, 18, 20, 24, 30, 18, 20, 24, 26, 30, 22, 24, 28, 30, 28, 28, 28, 28, 30, 30, 26, 28, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30],\n // Low\n [-1, 10, 16, 26, 18, 24, 16, 18, 22, 22, 26, 30, 22, 22, 24, 24, 28, 28, 26, 26, 26, 26, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28],\n // Medium\n [-1, 13, 22, 18, 26, 18, 24, 18, 22, 20, 24, 28, 26, 24, 20, 30, 24, 28, 28, 26, 30, 28, 30, 30, 30, 30, 28, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30],\n // Quartile\n [-1, 17, 28, 22, 16, 22, 28, 26, 26, 24, 28, 24, 28, 22, 24, 24, 30, 28, 28, 26, 28, 30, 24, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30]\n // High\n];\nconst NUM_ERROR_CORRECTION_BLOCKS = [\n // Version: (note that index 0 is for padding, and is set to an illegal value)\n // 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40 Error correction level\n [-1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 4, 4, 4, 4, 4, 6, 6, 6, 6, 7, 8, 8, 9, 9, 10, 12, 12, 12, 13, 14, 15, 16, 17, 18, 19, 19, 20, 21, 22, 24, 25],\n // Low\n [-1, 1, 1, 1, 2, 2, 4, 4, 4, 5, 5, 5, 8, 9, 9, 10, 10, 11, 13, 14, 16, 17, 17, 18, 20, 21, 23, 25, 26, 28, 29, 31, 33, 35, 37, 38, 40, 43, 45, 47, 49],\n // Medium\n [-1, 1, 1, 2, 2, 4, 4, 6, 6, 8, 8, 8, 10, 12, 16, 12, 17, 16, 18, 21, 20, 23, 23, 25, 27, 29, 34, 34, 35, 38, 40, 43, 45, 48, 51, 53, 56, 59, 62, 65, 68],\n // Quartile\n [-1, 1, 1, 2, 4, 4, 4, 5, 6, 8, 8, 11, 11, 16, 16, 18, 16, 19, 21, 25, 25, 25, 34, 30, 32, 35, 37, 40, 42, 45, 48, 51, 54, 57, 60, 63, 66, 70, 74, 77, 81]\n // High\n];\nclass QrCode {\n /* -- Constructor (low level) and fields -- */\n // Creates a new QR Code with the given version number,\n // error correction level, data codeword bytes, and mask number.\n // This is a low-level API that most users should not use directly.\n // A mid-level API is the encodeSegments() function.\n constructor(version, ecc, dataCodewords, msk) {\n this.version = version;\n this.ecc = ecc;\n if (version < MIN_VERSION || version > MAX_VERSION)\n throw new RangeError(\"Version value out of range\");\n if (msk < -1 || msk > 7)\n throw new RangeError(\"Mask value out of range\");\n this.size = version * 4 + 17;\n const row = Array.from({ length: this.size }).fill(false);\n for (let i = 0; i < this.size; i++) {\n this.modules.push(row.slice());\n this.types.push(row.map(() => 0));\n }\n this.drawFunctionPatterns();\n const allCodewords = this.addEccAndInterleave(dataCodewords);\n this.drawCodewords(allCodewords);\n if (msk === -1) {\n let minPenalty = 1e9;\n for (let i = 0; i < 8; i++) {\n this.applyMask(i);\n this.drawFormatBits(i);\n const penalty = this.getPenaltyScore();\n if (penalty < minPenalty) {\n msk = i;\n minPenalty = penalty;\n }\n this.applyMask(i);\n }\n }\n this.mask = msk;\n this.applyMask(msk);\n this.drawFormatBits(msk);\n }\n /* -- Fields -- */\n // The width and height of this QR Code, measured in modules, between\n // 21 and 177 (inclusive). This is equal to version * 4 + 17.\n size;\n // The index of the mask pattern used in this QR Code, which is between 0 and 7 (inclusive).\n // Even if a QR Code is created with automatic masking requested (mask = -1),\n // the resulting object still has a mask value between 0 and 7.\n mask;\n // The modules of this QR Code (false = light, true = dark).\n // Immutable after constructor finishes. Accessed through getModule().\n modules = [];\n types = [];\n /* -- Accessor methods -- */\n // Returns the color of the module (pixel) at the given coordinates, which is false\n // for light or true for dark. The top left corner has the coordinates (x=0, y=0).\n // If the given coordinates are out of bounds, then false (light) is returned.\n getModule(x, y) {\n return x >= 0 && x < this.size && y >= 0 && y < this.size && this.modules[y][x];\n }\n /* -- Private helper methods for constructor: Drawing function modules -- */\n // Reads this object's version field, and draws and marks all function modules.\n drawFunctionPatterns() {\n for (let i = 0; i < this.size; i++) {\n this.setFunctionModule(6, i, i % 2 === 0, QrCodeDataType.Timing);\n this.setFunctionModule(i, 6, i % 2 === 0, QrCodeDataType.Timing);\n }\n this.drawFinderPattern(3, 3);\n this.drawFinderPattern(this.size - 4, 3);\n this.drawFinderPattern(3, this.size - 4);\n const alignPatPos = this.getAlignmentPatternPositions();\n const numAlign = alignPatPos.length;\n for (let i = 0; i < numAlign; i++) {\n for (let j = 0; j < numAlign; j++) {\n if (!(i === 0 && j === 0 || i === 0 && j === numAlign - 1 || i === numAlign - 1 && j === 0))\n this.drawAlignmentPattern(alignPatPos[i], alignPatPos[j]);\n }\n }\n this.drawFormatBits(0);\n this.drawVersion();\n }\n // Draws two copies of the format bits (with its own error correction code)\n // based on the given mask and this object's error correction level field.\n drawFormatBits(mask) {\n const data = this.ecc[1] << 3 | mask;\n let rem = data;\n for (let i = 0; i < 10; i++)\n rem = rem << 1 ^ (rem >>> 9) * 1335;\n const bits = (data << 10 | rem) ^ 21522;\n for (let i = 0; i <= 5; i++)\n this.setFunctionModule(8, i, getBit(bits, i));\n this.setFunctionModule(8, 7, getBit(bits, 6));\n this.setFunctionModule(8, 8, getBit(bits, 7));\n this.setFunctionModule(7, 8, getBit(bits, 8));\n for (let i = 9; i < 15; i++)\n this.setFunctionModule(14 - i, 8, getBit(bits, i));\n for (let i = 0; i < 8; i++)\n this.setFunctionModule(this.size - 1 - i, 8, getBit(bits, i));\n for (let i = 8; i < 15; i++)\n this.setFunctionModule(8, this.size - 15 + i, getBit(bits, i));\n this.setFunctionModule(8, this.size - 8, true);\n }\n // Draws two copies of the version bits (with its own error correction code),\n // based on this object's version field, iff 7 <= version <= 40.\n drawVersion() {\n if (this.version < 7)\n return;\n let rem = this.version;\n for (let i = 0; i < 12; i++)\n rem = rem << 1 ^ (rem >>> 11) * 7973;\n const bits = this.version << 12 | rem;\n for (let i = 0; i < 18; i++) {\n const color = getBit(bits, i);\n const a = this.size - 11 + i % 3;\n const b = Math.floor(i / 3);\n this.setFunctionModule(a, b, color);\n this.setFunctionModule(b, a, color);\n }\n }\n // Draws a 9*9 finder pattern including the border separator,\n // with the center module at (x, y). Modules can be out of bounds.\n drawFinderPattern(x, y) {\n for (let dy = -4; dy <= 4; dy++) {\n for (let dx = -4; dx <= 4; dx++) {\n const dist = Math.max(Math.abs(dx), Math.abs(dy));\n const xx = x + dx;\n const yy = y + dy;\n if (xx >= 0 && xx < this.size && yy >= 0 && yy < this.size)\n this.setFunctionModule(xx, yy, dist !== 2 && dist !== 4, QrCodeDataType.Position);\n }\n }\n }\n // Draws a 5*5 alignment pattern, with the center module\n // at (x, y). All modules must be in bounds.\n drawAlignmentPattern(x, y) {\n for (let dy = -2; dy <= 2; dy++) {\n for (let dx = -2; dx <= 2; dx++) {\n this.setFunctionModule(\n x + dx,\n y + dy,\n Math.max(Math.abs(dx), Math.abs(dy)) !== 1,\n QrCodeDataType.Alignment\n );\n }\n }\n }\n // Sets the color of a module and marks it as a function module.\n // Only used by the constructor. Coordinates must be in bounds.\n setFunctionModule(x, y, isDark, type = QrCodeDataType.Function) {\n this.modules[y][x] = isDark;\n this.types[y][x] = type;\n }\n /* -- Private helper methods for constructor: Codewords and masking -- */\n // Returns a new byte string representing the given data with the appropriate error correction\n // codewords appended to it, based on this object's version and error correction level.\n addEccAndInterleave(data) {\n const ver = this.version;\n const ecl = this.ecc;\n if (data.length !== getNumDataCodewords(ver, ecl))\n throw new RangeError(\"Invalid argument\");\n const numBlocks = NUM_ERROR_CORRECTION_BLOCKS[ecl[0]][ver];\n const blockEccLen = ECC_CODEWORDS_PER_BLOCK[ecl[0]][ver];\n const rawCodewords = Math.floor(getNumRawDataModules(ver) / 8);\n const numShortBlocks = numBlocks - rawCodewords % numBlocks;\n const shortBlockLen = Math.floor(rawCodewords / numBlocks);\n const blocks = [];\n const rsDiv = reedSolomonComputeDivisor(blockEccLen);\n for (let i = 0, k = 0; i < numBlocks; i++) {\n const dat = data.slice(k, k + shortBlockLen - blockEccLen + (i < numShortBlocks ? 0 : 1));\n k += dat.length;\n const ecc = reedSolomonComputeRemainder(dat, rsDiv);\n if (i < numShortBlocks)\n dat.push(0);\n blocks.push(dat.concat(ecc));\n }\n const result = [];\n for (let i = 0; i < blocks[0].length; i++) {\n blocks.forEach((block, j) => {\n if (i !== shortBlockLen - blockEccLen || j >= numShortBlocks)\n result.push(block[i]);\n });\n }\n return result;\n }\n // Draws the given sequence of 8-bit codewords (data and error correction) onto the entire\n // data area of this QR Code. Function modules need to be marked off before this is called.\n drawCodewords(data) {\n if (data.length !== Math.floor(getNumRawDataModules(this.version) / 8))\n throw new RangeError(\"Invalid argument\");\n let i = 0;\n for (let right = this.size - 1; right >= 1; right -= 2) {\n if (right === 6)\n right = 5;\n for (let vert = 0; vert < this.size; vert++) {\n for (let j = 0; j < 2; j++) {\n const x = right - j;\n const upward = (right + 1 & 2) === 0;\n const y = upward ? this.size - 1 - vert : vert;\n if (!this.types[y][x] && i < data.length * 8) {\n this.modules[y][x] = getBit(data[i >>> 3], 7 - (i & 7));\n i++;\n }\n }\n }\n }\n }\n // XORs the codeword modules in this QR Code with the given mask pattern.\n // The function modules must be marked and the codeword bits must be drawn\n // before masking. Due to the arithmetic of XOR, calling applyMask() with\n // the same mask value a second time will undo the mask. A final well-formed\n // QR Code needs exactly one (not zero, two, etc.) mask applied.\n applyMask(mask) {\n if (mask < 0 || mask > 7)\n throw new RangeError(\"Mask value out of range\");\n for (let y = 0; y < this.size; y++) {\n for (let x = 0; x < this.size; x++) {\n let invert;\n switch (mask) {\n case 0:\n invert = (x + y) % 2 === 0;\n break;\n case 1:\n invert = y % 2 === 0;\n break;\n case 2:\n invert = x % 3 === 0;\n break;\n case 3:\n invert = (x + y) % 3 === 0;\n break;\n case 4:\n invert = (Math.floor(x / 3) + Math.floor(y / 2)) % 2 === 0;\n break;\n case 5:\n invert = x * y % 2 + x * y % 3 === 0;\n break;\n case 6:\n invert = (x * y % 2 + x * y % 3) % 2 === 0;\n break;\n case 7:\n invert = ((x + y) % 2 + x * y % 3) % 2 === 0;\n break;\n default:\n throw new Error(\"Unreachable\");\n }\n if (!this.types[y][x] && invert)\n this.modules[y][x] = !this.modules[y][x];\n }\n }\n }\n // Calculates and returns the penalty score based on state of this QR Code's current modules.\n // This is used by the automatic mask choice algorithm to find the mask pattern that yields the lowest score.\n getPenaltyScore() {\n let result = 0;\n for (let y = 0; y < this.size; y++) {\n let runColor = false;\n let runX = 0;\n const runHistory = [0, 0, 0, 0, 0, 0, 0];\n for (let x = 0; x < this.size; x++) {\n if (this.modules[y][x] === runColor) {\n runX++;\n if (runX === 5)\n result += PENALTY_N1;\n else if (runX > 5)\n result++;\n } else {\n this.finderPenaltyAddHistory(runX, runHistory);\n if (!runColor)\n result += this.finderPenaltyCountPatterns(runHistory) * PENALTY_N3;\n runColor = this.modules[y][x];\n runX = 1;\n }\n }\n result += this.finderPenaltyTerminateAndCount(runColor, runX, runHistory) * PENALTY_N3;\n }\n for (let x = 0; x < this.size; x++) {\n let runColor = false;\n let runY = 0;\n const runHistory = [0, 0, 0, 0, 0, 0, 0];\n for (let y = 0; y < this.size; y++) {\n if (this.modules[y][x] === runColor) {\n runY++;\n if (runY === 5)\n result += PENALTY_N1;\n else if (runY > 5)\n result++;\n } else {\n this.finderPenaltyAddHistory(runY, runHistory);\n if (!runColor)\n result += this.finderPenaltyCountPatterns(runHistory) * PENALTY_N3;\n runColor = this.modules[y][x];\n runY = 1;\n }\n }\n result += this.finderPenaltyTerminateAndCount(runColor, runY, runHistory) * PENALTY_N3;\n }\n for (let y = 0; y < this.size - 1; y++) {\n for (let x = 0; x < this.size - 1; x++) {\n const color = this.modules[y][x];\n if (color === this.modules[y][x + 1] && color === this.modules[y + 1][x] && color === this.modules[y + 1][x + 1]) {\n result += PENALTY_N2;\n }\n }\n }\n let dark = 0;\n for (const row of this.modules)\n dark = row.reduce((sum, color) => sum + (color ? 1 : 0), dark);\n const total = this.size * this.size;\n const k = Math.ceil(Math.abs(dark * 20 - total * 10) / total) - 1;\n result += k * PENALTY_N4;\n return result;\n }\n /* -- Private helper functions -- */\n // Returns an ascending list of positions of alignment patterns for this version number.\n // Each position is in the range [0,177), and are used on both the x and y axes.\n // This could be implemented as lookup table of 40 variable-length lists of integers.\n getAlignmentPatternPositions() {\n if (this.version === 1) {\n return [];\n } else {\n const numAlign = Math.floor(this.version / 7) + 2;\n const step = this.version === 32 ? 26 : Math.ceil((this.version * 4 + 4) / (numAlign * 2 - 2)) * 2;\n const result = [6];\n for (let pos = this.size - 7; result.length < numAlign; pos -= step)\n result.splice(1, 0, pos);\n return result;\n }\n }\n // Can only be called immediately after a light run is added, and\n // returns either 0, 1, or 2. A helper function for getPenaltyScore().\n finderPenaltyCountPatterns(runHistory) {\n const n = runHistory[1];\n const core = n > 0 && runHistory[2] === n && runHistory[3] === n * 3 && runHistory[4] === n && runHistory[5] === n;\n return (core && runHistory[0] >= n * 4 && runHistory[6] >= n ? 1 : 0) + (core && runHistory[6] >= n * 4 && runHistory[0] >= n ? 1 : 0);\n }\n // Must be called at the end of a line (row or column) of modules. A helper function for getPenaltyScore().\n finderPenaltyTerminateAndCount(currentRunColor, currentRunLength, runHistory) {\n if (currentRunColor) {\n this.finderPenaltyAddHistory(currentRunLength, runHistory);\n currentRunLength = 0;\n }\n currentRunLength += this.size;\n this.finderPenaltyAddHistory(currentRunLength, runHistory);\n return this.finderPenaltyCountPatterns(runHistory);\n }\n // Pushes the given value to the front and drops the last value. A helper function for getPenaltyScore().\n finderPenaltyAddHistory(currentRunLength, runHistory) {\n if (runHistory[0] === 0)\n currentRunLength += this.size;\n runHistory.pop();\n runHistory.unshift(currentRunLength);\n }\n}\nfunction appendBits(val, len, bb) {\n if (len < 0 || len > 31 || val >>> len !== 0)\n throw new RangeError(\"Value out of range\");\n for (let i = len - 1; i >= 0; i--)\n bb.push(val >>> i & 1);\n}\nfunction getBit(x, i) {\n return (x >>> i & 1) !== 0;\n}\nclass QrSegment {\n // Creates a new QR Code segment with the given attributes and data.\n // The character count (numChars) must agree with the mode and the bit buffer length,\n // but the constraint isn't checked. The given bit buffer is cloned and stored.\n constructor(mode, numChars, bitData) {\n this.mode = mode;\n this.numChars = numChars;\n this.bitData = bitData;\n if (numChars < 0)\n throw new RangeError(\"Invalid argument\");\n this.bitData = bitData.slice();\n }\n /* -- Methods -- */\n // Returns a new copy of the data bits of this segment.\n getData() {\n return this.bitData.slice();\n }\n}\nconst MODE_NUMERIC = [1, 10, 12, 14];\nconst MODE_ALPHANUMERIC = [2, 9, 11, 13];\nconst MODE_BYTE = [4, 8, 16, 16];\nfunction numCharCountBits(mode, ver) {\n return mode[Math.floor((ver + 7) / 17) + 1];\n}\nfunction makeBytes(data) {\n const bb = [];\n for (const b of data)\n appendBits(b, 8, bb);\n return new QrSegment(MODE_BYTE, data.length, bb);\n}\nfunction makeNumeric(digits) {\n if (!isNumeric(digits))\n throw new RangeError(\"String contains non-numeric characters\");\n const bb = [];\n for (let i = 0; i < digits.length; ) {\n const n = Math.min(digits.length - i, 3);\n appendBits(Number.parseInt(digits.substring(i, i + n), 10), n * 3 + 1, bb);\n i += n;\n }\n return new QrSegment(MODE_NUMERIC, digits.length, bb);\n}\nfunction makeAlphanumeric(text) {\n if (!isAlphanumeric(text))\n throw new RangeError(\"String contains unencodable characters in alphanumeric mode\");\n const bb = [];\n let i;\n for (i = 0; i + 2 <= text.length; i += 2) {\n let temp = ALPHANUMERIC_CHARSET.indexOf(text.charAt(i)) * 45;\n temp += ALPHANUMERIC_CHARSET.indexOf(text.charAt(i + 1));\n appendBits(temp, 11, bb);\n }\n if (i < text.length)\n appendBits(ALPHANUMERIC_CHARSET.indexOf(text.charAt(i)), 6, bb);\n return new QrSegment(MODE_ALPHANUMERIC, text.length, bb);\n}\nfunction makeSegments(text) {\n if (text === \"\")\n return [];\n else if (isNumeric(text))\n return [makeNumeric(text)];\n else if (isAlphanumeric(text))\n return [makeAlphanumeric(text)];\n else\n return [makeBytes(toUtf8ByteArray(text))];\n}\nfunction isNumeric(text) {\n return NUMERIC_REGEX.test(text);\n}\nfunction isAlphanumeric(text) {\n return ALPHANUMERIC_REGEX.test(text);\n}\nfunction getTotalBits(segs, version) {\n let result = 0;\n for (const seg of segs) {\n const ccbits = numCharCountBits(seg.mode, version);\n if (seg.numChars >= 1 << ccbits)\n return Number.POSITIVE_INFINITY;\n result += 4 + ccbits + seg.bitData.length;\n }\n return result;\n}\nfunction toUtf8ByteArray(str) {\n str = encodeURI(str);\n const result = [];\n for (let i = 0; i < str.length; i++) {\n if (str.charAt(i) !== \"%\") {\n result.push(str.charCodeAt(i));\n } else {\n result.push(Number.parseInt(str.substring(i + 1, i + 3), 16));\n i += 2;\n }\n }\n return result;\n}\nfunction getNumRawDataModules(ver) {\n if (ver < MIN_VERSION || ver > MAX_VERSION)\n throw new RangeError(\"Version number out of range\");\n let result = (16 * ver + 128) * ver + 64;\n if (ver >= 2) {\n const numAlign = Math.floor(ver / 7) + 2;\n result -= (25 * numAlign - 10) * numAlign - 55;\n if (ver >= 7)\n result -= 36;\n }\n return result;\n}\nfunction getNumDataCodewords(ver, ecl) {\n return Math.floor(getNumRawDataModules(ver) / 8) - ECC_CODEWORDS_PER_BLOCK[ecl[0]][ver] * NUM_ERROR_CORRECTION_BLOCKS[ecl[0]][ver];\n}\nfunction reedSolomonComputeDivisor(degree) {\n if (degree < 1 || degree > 255)\n throw new RangeError(\"Degree out of range\");\n const result = [];\n for (let i = 0; i < degree - 1; i++)\n result.push(0);\n result.push(1);\n let root = 1;\n for (let i = 0; i < degree; i++) {\n for (let j = 0; j < result.length; j++) {\n result[j] = reedSolomonMultiply(result[j], root);\n if (j + 1 < result.length)\n result[j] ^= result[j + 1];\n }\n root = reedSolomonMultiply(root, 2);\n }\n return result;\n}\nfunction reedSolomonComputeRemainder(data, divisor) {\n const result = divisor.map((_) => 0);\n for (const b of data) {\n const factor = b ^ result.shift();\n result.push(0);\n divisor.forEach((coef, i) => result[i] ^= reedSolomonMultiply(coef, factor));\n }\n return result;\n}\nfunction reedSolomonMultiply(x, y) {\n if (x >>> 8 !== 0 || y >>> 8 !== 0)\n throw new RangeError(\"Byte out of range\");\n let z = 0;\n for (let i = 7; i >= 0; i--) {\n z = z << 1 ^ (z >>> 7) * 285;\n z ^= (y >>> i & 1) * x;\n }\n return z;\n}\nfunction encodeSegments(segs, ecl, minVersion = 1, maxVersion = 40, mask = -1, boostEcl = true) {\n if (!(MIN_VERSION <= minVersion && minVersion <= maxVersion && maxVersion <= MAX_VERSION) || mask < -1 || mask > 7) {\n throw new RangeError(\"Invalid value\");\n }\n let version;\n let dataUsedBits;\n for (version = minVersion; ; version++) {\n const dataCapacityBits2 = getNumDataCodewords(version, ecl) * 8;\n const usedBits = getTotalBits(segs, version);\n if (usedBits <= dataCapacityBits2) {\n dataUsedBits = usedBits;\n break;\n }\n if (version >= maxVersion)\n throw new RangeError(\"Data too long\");\n }\n for (const newEcl of [MEDIUM, QUARTILE, HIGH]) {\n if (boostEcl && dataUsedBits <= getNumDataCodewords(version, newEcl) * 8)\n ecl = newEcl;\n }\n const bb = [];\n for (const seg of segs) {\n appendBits(seg.mode[0], 4, bb);\n appendBits(seg.numChars, numCharCountBits(seg.mode, version), bb);\n for (const b of seg.getData())\n bb.push(b);\n }\n const dataCapacityBits = getNumDataCodewords(version, ecl) * 8;\n appendBits(0, Math.min(4, dataCapacityBits - bb.length), bb);\n appendBits(0, (8 - bb.length % 8) % 8, bb);\n for (let padByte = 236; bb.length < dataCapacityBits; padByte ^= 236 ^ 17)\n appendBits(padByte, 8, bb);\n const dataCodewords = Array.from({ length: Math.ceil(bb.length / 8) }, () => 0);\n bb.forEach((b, i) => dataCodewords[i >>> 3] |= b << 7 - (i & 7));\n return new QrCode(version, ecl, dataCodewords, mask);\n}\n\nfunction encode(data, options) {\n const {\n ecc = \"L\",\n boostEcc = false,\n minVersion = 1,\n maxVersion = 40,\n maskPattern = -1,\n border = 1\n } = options || {};\n const segment = typeof data === \"string\" ? makeSegments(data) : Array.isArray(data) ? [makeBytes(data)] : void 0;\n if (!segment)\n throw new Error(`uqr only supports encoding string and binary data, but got: ${typeof data}`);\n const qr = encodeSegments(\n segment,\n EccMap[ecc],\n minVersion,\n maxVersion,\n maskPattern,\n boostEcc\n );\n const result = addBorder({\n version: qr.version,\n maskPattern: qr.mask,\n size: qr.size,\n data: qr.modules,\n types: qr.types\n }, border);\n if (options?.invert)\n result.data = result.data.map((row) => row.map((mod) => !mod));\n options?.onEncoded?.(result);\n return result;\n}\nfunction addBorder(input, border = 1) {\n if (!border)\n return input;\n const { size } = input;\n const newSize = size + border * 2;\n input.size = newSize;\n input.data.forEach((row) => {\n for (let i = 0; i < border; i++) {\n row.unshift(false);\n row.push(false);\n }\n });\n for (let i = 0; i < border; i++) {\n input.data.unshift(Array.from({ length: newSize }, (_) => false));\n input.data.push(Array.from({ length: newSize }, (_) => false));\n }\n const b = QrCodeDataType.Border;\n input.types.forEach((row) => {\n for (let i = 0; i < border; i++) {\n row.unshift(b);\n row.push(b);\n }\n });\n for (let i = 0; i < border; i++) {\n input.types.unshift(Array.from({ length: newSize }, (_) => b));\n input.types.push(Array.from({ length: newSize }, (_) => b));\n }\n return input;\n}\nfunction getDataAt(data, x, y, defaults = false) {\n if (x < 0 || y < 0 || x >= data.length || y >= data.length)\n return defaults;\n return data[y][x];\n}\n\nfunction renderUnicode(data, options = {}) {\n const {\n whiteChar = \"\\u2588\",\n blackChar = \"\\u2591\"\n } = options;\n const result = encode(data, options);\n return result.data.map((row) => {\n return row.map((mod) => mod ? blackChar : whiteChar).join(\"\");\n }).join(\"\\n\");\n}\nfunction renderANSI(data, options = {}) {\n return renderUnicode(data, {\n ...options,\n blackChar: \"\\x1B[40m\\u3000\\x1B[0m\",\n whiteChar: \"\\x1B[47m\\u3000\\x1B[0m\"\n });\n}\nfunction renderUnicodeCompact(data, options = {}) {\n const palette = {\n WHITE_ALL: \"\\u2588\",\n WHITE_BLACK: \"\\u2580\",\n BLACK_WHITE: \"\\u2584\",\n BLACK_ALL: \" \"\n };\n const result = encode(data, options);\n const WHITE = false;\n const BLACK = true;\n const at = (x, y) => getDataAt(result.data, x, y, true);\n const lines = [];\n let line = \"\";\n for (let row = 0; row < result.size; row += 2) {\n for (let col = 0; col < result.size; col++) {\n if (at(col, row) === WHITE && at(col, row + 1) === WHITE)\n line += palette.WHITE_ALL;\n else if (at(col, row) === WHITE && at(col, row + 1) === BLACK)\n line += palette.WHITE_BLACK;\n else if (at(col, row) === BLACK && at(col, row + 1) === WHITE)\n line += palette.BLACK_WHITE;\n else\n line += palette.BLACK_ALL;\n }\n lines.push(line);\n line = \"\";\n }\n return lines.join(\"\\n\");\n}\n\nfunction escapeAttr(value) {\n return value.replace(/&/g, \"&\").replace(/\"/g, \""\").replace(/</g, \"<\").replace(/>/g, \">\");\n}\nfunction renderSVG(data, options = {}) {\n const result = encode(data, options);\n const {\n pixelSize = 10,\n whiteColor = \"white\",\n blackColor = \"black\"\n } = options;\n const height = result.size * pixelSize;\n const width = result.size * pixelSize;\n let svg = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 ${width} ${height}\">`;\n const paths = [];\n for (let row = 0; row < result.size; row++) {\n for (let col = 0; col < result.size; col++) {\n const x = col * pixelSize;\n const y = row * pixelSize;\n if (result.data[row][col])\n paths.push(`M${x},${y}h${pixelSize}v${pixelSize}h-${pixelSize}z`);\n }\n }\n svg += `<rect fill=\"${escapeAttr(whiteColor)}\" width=\"${width}\" height=\"${height}\"/>`;\n svg += `<path fill=\"${escapeAttr(blackColor)}\" d=\"${paths.join(\"\")}\"/>`;\n svg += \"</svg>\";\n return svg;\n}\n\nexport { QrCodeDataType, encode, renderANSI, renderSVG, renderUnicode, renderUnicodeCompact };\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "B30E45AC584C8B8B64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "88140C4C6297AB4864756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "1AA60B9AE91994F764756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["src/services/standalone.ts", "src/services/server.ts"], | ||
| "sourcesContent": [ | ||
| "import { Service } from \"@opencode-ai/client/effect\"\nimport { CrossSpawnSpawner } from \"@opencode-ai/core/cross-spawn-spawner\"\nimport { AppNodeBuilder } from \"@opencode-ai/core/effect/app-node-builder\"\nimport { Effect, Schema, Stream } from \"effect\"\nimport { ChildProcess, ChildProcessSpawner } from \"effect/unstable/process\"\nimport { randomBytes } from \"node:crypto\"\nimport path from \"node:path\"\n\nconst Ready = Schema.Struct({ url: Schema.String })\nconst decodeReady = Schema.decodeUnknownPromise(Schema.fromJsonString(Ready))\n\ntype Options = {\n readonly command?: ReadonlyArray<string>\n}\n\nfunction command(password: string, options: Options) {\n const compiled = path.basename(process.execPath).replace(/\\.exe$/, \"\") !== \"bun\"\n const entrypoint = compiled ? [] : process.argv[1] ? [process.argv[1]] : []\n if (!compiled && entrypoint.length === 0) throw new Error(\"Failed to resolve CLI entrypoint\")\n const [executable, ...args] = options.command ?? [process.execPath, ...entrypoint, \"serve\"]\n if (!executable) throw new Error(\"Failed to resolve standalone server command\")\n return ChildProcess.make(executable, [...args, \"--stdio\", \"--port\", \"0\"], {\n cwd: process.cwd(),\n // Explicit entry wins over anything inherited, so a user-exported\n // OPENCODE_PASSWORD cannot shadow the child's lease credential.\n env: { OPENCODE_PASSWORD: password },\n extendEnv: true,\n // The server treats EOF on this pipe as the end of its ownership lease.\n // The OS closes it even when the TUI is killed before Effect finalizers run.\n stdin: \"pipe\",\n stderr: \"ignore\",\n killSignal: \"SIGTERM\",\n forceKillAfter: \"3 seconds\",\n })\n}\n\nconst makeEndpoint = Effect.fn(\"cli.standalone.endpoint\")(\n function* (options: Options) {\n const password = randomBytes(32).toString(\"base64url\")\n const spawner = yield* ChildProcessSpawner.ChildProcessSpawner\n const proc = yield* spawner.spawn(command(password, options))\n const output = yield* proc.stdout.pipe(Stream.decodeText(), Stream.splitLines, Stream.take(1), Stream.mkString)\n if (!output) return yield* Effect.fail(new Error(\"Standalone server exited before reporting readiness\"))\n const ready = yield* Effect.tryPromise(() => decodeReady(output))\n return {\n url: ready.url,\n auth: { type: \"basic\" as const, username: \"opencode\", password },\n pid: proc.pid,\n } satisfies Service.Endpoint & { readonly pid: number }\n },\n Effect.provide(AppNodeBuilder.build(CrossSpawnSpawner.node)),\n)\n\nexport function start(options: Options = {}) {\n return makeEndpoint(options)\n}\n\nexport * as Standalone from \"./standalone\"\n", | ||
| "import { NodeFileSystem } from \"@effect/platform-node\"\nimport { Service } from \"@opencode-ai/client/effect\"\nimport { ClientError, isUnauthorizedError, OpenCode } from \"@opencode-ai/client/promise\"\nimport { InstallationVersion } from \"@opencode-ai/core/installation/version\"\nimport { Effect, Redacted } from \"effect\"\nimport { Env } from \"../env\"\nimport { ServiceConfig } from \"./service-config\"\nimport { Standalone } from \"./standalone\"\n\nexport type Args = {\n readonly server?: string\n readonly standalone?: boolean\n readonly mismatch?: \"replace\" | \"ignore\" | \"error\"\n}\n\nexport type Resolved = {\n readonly endpoint: Service.Endpoint\n readonly reconnect?: (attempt: number) => Promise<Service.Endpoint>\n readonly reload?: () => Promise<void>\n}\n\nexport const resolve = Effect.fn(\"cli.server.resolve\")(function* (args: Args) {\n if (args.server !== undefined && args.standalone)\n return yield* Effect.fail(new Error(\"--server and --standalone cannot be combined\"))\n if (args.server !== undefined) {\n const password = yield* Env.password\n const endpoint = {\n url: args.server,\n auth: password\n ? { type: \"basic\" as const, username: \"opencode\", password: Redacted.value(password) }\n : undefined,\n } satisfies Service.Endpoint\n const client = OpenCode.make({ baseUrl: endpoint.url, headers: Service.headers(endpoint) })\n const health = yield* Effect.tryPromise({\n try: () => client.health.get({ signal: AbortSignal.timeout(5_000) }),\n catch: (cause) => connectError(endpoint, cause),\n })\n if (health.version !== InstallationVersion)\n process.stderr.write(\n `Warning: Server at ${endpoint.url} has version ${health.version}; this client is ${InstallationVersion}. Continuing anyway.\\n`,\n )\n return { endpoint } satisfies Resolved\n }\n if (args.standalone) {\n return { endpoint: yield* Standalone.start() } satisfies Resolved\n }\n\n const options = yield* ServiceConfig.options()\n const endpoint = yield* resolveManaged(options, args.mismatch ?? \"replace\")\n const reconnectOptions = { ...options, version: undefined }\n return {\n endpoint,\n reconnect: (attempt) =>\n Effect.runPromise(\n Effect.gen(function* () {\n if (attempt > 3) return yield* Service.start(reconnectOptions)\n const endpoint = yield* Service.discover(reconnectOptions)\n if (endpoint !== undefined) return endpoint\n return yield* Effect.fail(new Error(\"Background server is unavailable\"))\n }).pipe(Effect.provide(NodeFileSystem.layer)),\n ),\n reload: () =>\n Effect.runPromise(\n Effect.gen(function* () {\n yield* Service.stop(options)\n yield* Service.start(options)\n }).pipe(Effect.provide(NodeFileSystem.layer)),\n ),\n } satisfies Resolved\n})\n\nconst resolveManaged = Effect.fnUntraced(function* (\n options: Service.Options,\n mismatch: NonNullable<Args[\"mismatch\"]>,\n) {\n if (mismatch === \"replace\") return yield* Service.start(options)\n if (mismatch === \"ignore\") return yield* Service.start({ ...options, version: undefined })\n\n const compatible = yield* Service.discover(options)\n if (compatible !== undefined) return compatible\n const existing = yield* Service.discover({ ...options, version: undefined })\n if (existing !== undefined) return yield* Effect.fail(new Error(\"Background server version does not match this client\"))\n return yield* Service.start(options)\n})\n\nfunction connectError(endpoint: Service.Endpoint, cause: unknown) {\n if (isUnauthorizedError(cause)) {\n return new Error(\n endpoint.auth === undefined\n ? `Server at ${endpoint.url} requires a password; set OPENCODE_PASSWORD`\n : `Server at ${endpoint.url} rejected the password`,\n { cause },\n )\n }\n if (cause instanceof ClientError && cause.reason === \"Transport\")\n return new Error(`Could not reach server at ${endpoint.url}`, { cause })\n return new Error(`Server at ${endpoint.url} did not provide a compatible V2 health response`, { cause })\n}\n\nexport * as Server from \"./server\"\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "247D7C94F893581764756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@vercel+oidc@3.2.0/node_modules/@vercel/oidc/dist/token-error.js", "../../node_modules/.bun/@vercel+oidc@3.2.0/node_modules/@vercel/oidc/dist/token-io.js", "../../node_modules/.bun/@vercel+oidc@3.2.0/node_modules/@vercel/oidc/dist/auth-config.js", "../../node_modules/.bun/@vercel+oidc@3.2.0/node_modules/@vercel/oidc/dist/oauth.js", "../../node_modules/.bun/@vercel+oidc@3.2.0/node_modules/@vercel/oidc/dist/auth-errors.js", "../../node_modules/.bun/@vercel+oidc@3.2.0/node_modules/@vercel/oidc/dist/token-util.js"], | ||
| "sourcesContent": [ | ||
| "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar token_error_exports = {};\n__export(token_error_exports, {\n VercelOidcTokenError: () => VercelOidcTokenError\n});\nmodule.exports = __toCommonJS(token_error_exports);\nclass VercelOidcTokenError extends Error {\n constructor(message, cause) {\n super(message);\n this.name = \"VercelOidcTokenError\";\n this.cause = cause;\n }\n toString() {\n if (this.cause) {\n return `${this.name}: ${this.message}: ${this.cause}`;\n }\n return `${this.name}: ${this.message}`;\n }\n}\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n VercelOidcTokenError\n});\n", | ||
| "\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar token_io_exports = {};\n__export(token_io_exports, {\n findRootDir: () => findRootDir,\n getUserDataDir: () => getUserDataDir\n});\nmodule.exports = __toCommonJS(token_io_exports);\nvar import_path = __toESM(require(\"path\"));\nvar import_fs = __toESM(require(\"fs\"));\nvar import_os = __toESM(require(\"os\"));\nvar import_token_error = require(\"./token-error\");\nfunction findRootDir() {\n try {\n let dir = process.cwd();\n while (dir !== import_path.default.dirname(dir)) {\n const pkgPath = import_path.default.join(dir, \".vercel\");\n if (import_fs.default.existsSync(pkgPath)) {\n return dir;\n }\n dir = import_path.default.dirname(dir);\n }\n } catch (e) {\n throw new import_token_error.VercelOidcTokenError(\n \"Token refresh only supported in node server environments\"\n );\n }\n return null;\n}\nfunction getUserDataDir() {\n if (process.env.XDG_DATA_HOME) {\n return process.env.XDG_DATA_HOME;\n }\n switch (import_os.default.platform()) {\n case \"darwin\":\n return import_path.default.join(import_os.default.homedir(), \"Library/Application Support\");\n case \"linux\":\n return import_path.default.join(import_os.default.homedir(), \".local/share\");\n case \"win32\":\n if (process.env.LOCALAPPDATA) {\n return process.env.LOCALAPPDATA;\n }\n return null;\n default:\n return null;\n }\n}\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n findRootDir,\n getUserDataDir\n});\n", | ||
| "\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar auth_config_exports = {};\n__export(auth_config_exports, {\n isValidAccessToken: () => isValidAccessToken,\n readAuthConfig: () => readAuthConfig,\n writeAuthConfig: () => writeAuthConfig\n});\nmodule.exports = __toCommonJS(auth_config_exports);\nvar fs = __toESM(require(\"fs\"));\nvar path = __toESM(require(\"path\"));\nvar import_token_util = require(\"./token-util\");\nfunction getAuthConfigPath() {\n const dataDir = (0, import_token_util.getVercelDataDir)();\n if (!dataDir) {\n throw new Error(\n `Unable to find Vercel CLI data directory. Your platform: ${process.platform}. Supported: darwin, linux, win32.`\n );\n }\n return path.join(dataDir, \"auth.json\");\n}\nfunction readAuthConfig() {\n try {\n const authPath = getAuthConfigPath();\n if (!fs.existsSync(authPath)) {\n return null;\n }\n const content = fs.readFileSync(authPath, \"utf8\");\n if (!content) {\n return null;\n }\n return JSON.parse(content);\n } catch (error) {\n return null;\n }\n}\nfunction writeAuthConfig(config) {\n const authPath = getAuthConfigPath();\n const authDir = path.dirname(authPath);\n if (!fs.existsSync(authDir)) {\n fs.mkdirSync(authDir, { mode: 504, recursive: true });\n }\n fs.writeFileSync(authPath, JSON.stringify(config, null, 2), { mode: 384 });\n}\nfunction isValidAccessToken(authConfig, expirationBufferMs = 0) {\n if (!authConfig.token)\n return false;\n if (typeof authConfig.expiresAt !== \"number\")\n return true;\n const nowInSeconds = Math.floor(Date.now() / 1e3);\n const bufferInSeconds = expirationBufferMs / 1e3;\n return authConfig.expiresAt >= nowInSeconds + bufferInSeconds;\n}\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n isValidAccessToken,\n readAuthConfig,\n writeAuthConfig\n});\n", | ||
| "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar oauth_exports = {};\n__export(oauth_exports, {\n processTokenResponse: () => processTokenResponse,\n refreshTokenRequest: () => refreshTokenRequest\n});\nmodule.exports = __toCommonJS(oauth_exports);\nvar import_os = require(\"os\");\nconst VERCEL_ISSUER = \"https://vercel.com\";\nconst VERCEL_CLI_CLIENT_ID = \"cl_HYyOPBNtFMfHhaUn9L4QPfTZz6TP47bp\";\nconst userAgent = `@vercel/oidc node-${process.version} ${(0, import_os.platform)()} (${(0, import_os.arch)()}) ${(0, import_os.hostname)()}`;\nlet _tokenEndpoint = null;\nasync function getTokenEndpoint() {\n if (_tokenEndpoint) {\n return _tokenEndpoint;\n }\n const discoveryUrl = `${VERCEL_ISSUER}/.well-known/openid-configuration`;\n const response = await fetch(discoveryUrl, {\n headers: { \"user-agent\": userAgent }\n });\n if (!response.ok) {\n throw new Error(\"Failed to discover OAuth endpoints\");\n }\n const metadata = await response.json();\n if (!metadata || typeof metadata.token_endpoint !== \"string\") {\n throw new Error(\"Invalid OAuth discovery response\");\n }\n const endpoint = metadata.token_endpoint;\n _tokenEndpoint = endpoint;\n return endpoint;\n}\nasync function refreshTokenRequest(options) {\n const tokenEndpoint = await getTokenEndpoint();\n return await fetch(tokenEndpoint, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/x-www-form-urlencoded\",\n \"user-agent\": userAgent\n },\n body: new URLSearchParams({\n client_id: VERCEL_CLI_CLIENT_ID,\n grant_type: \"refresh_token\",\n ...options\n })\n });\n}\nasync function processTokenResponse(response) {\n const json = await response.json();\n if (!response.ok) {\n const errorMsg = typeof json === \"object\" && json && \"error\" in json ? String(json.error) : \"Token refresh failed\";\n return [new Error(errorMsg)];\n }\n if (typeof json !== \"object\" || json === null) {\n return [new Error(\"Invalid token response\")];\n }\n if (typeof json.access_token !== \"string\") {\n return [new Error(\"Missing access_token in response\")];\n }\n if (json.token_type !== \"Bearer\") {\n return [new Error(\"Invalid token_type in response\")];\n }\n if (typeof json.expires_in !== \"number\") {\n return [new Error(\"Missing expires_in in response\")];\n }\n return [null, json];\n}\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n processTokenResponse,\n refreshTokenRequest\n});\n", | ||
| "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar auth_errors_exports = {};\n__export(auth_errors_exports, {\n AccessTokenMissingError: () => AccessTokenMissingError,\n RefreshAccessTokenFailedError: () => RefreshAccessTokenFailedError\n});\nmodule.exports = __toCommonJS(auth_errors_exports);\nclass AccessTokenMissingError extends Error {\n constructor() {\n super(\n \"No authentication found. Please log in with the Vercel CLI (vercel login).\"\n );\n this.name = \"AccessTokenMissingError\";\n }\n}\nclass RefreshAccessTokenFailedError extends Error {\n constructor(cause) {\n super(\"Failed to refresh authentication token.\", { cause });\n this.name = \"RefreshAccessTokenFailedError\";\n }\n}\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n AccessTokenMissingError,\n RefreshAccessTokenFailedError\n});\n", | ||
| "\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar token_util_exports = {};\n__export(token_util_exports, {\n assertVercelOidcTokenResponse: () => assertVercelOidcTokenResponse,\n findProjectInfo: () => findProjectInfo,\n getTokenPayload: () => getTokenPayload,\n getVercelDataDir: () => getVercelDataDir,\n getVercelOidcToken: () => getVercelOidcToken,\n getVercelToken: () => getVercelToken,\n isExpired: () => isExpired,\n loadToken: () => loadToken,\n saveToken: () => saveToken\n});\nmodule.exports = __toCommonJS(token_util_exports);\nvar path = __toESM(require(\"path\"));\nvar fs = __toESM(require(\"fs\"));\nvar import_token_error = require(\"./token-error\");\nvar import_token_io = require(\"./token-io\");\nvar import_auth_config = require(\"./auth-config\");\nvar import_oauth = require(\"./oauth\");\nvar import_auth_errors = require(\"./auth-errors\");\nfunction getVercelDataDir() {\n const vercelFolder = \"com.vercel.cli\";\n const dataDir = (0, import_token_io.getUserDataDir)();\n if (!dataDir) {\n return null;\n }\n return path.join(dataDir, vercelFolder);\n}\nasync function getVercelToken(options) {\n const authConfig = (0, import_auth_config.readAuthConfig)();\n if (!authConfig?.token) {\n throw new import_auth_errors.AccessTokenMissingError();\n }\n if ((0, import_auth_config.isValidAccessToken)(authConfig, options?.expirationBufferMs)) {\n return authConfig.token;\n }\n if (!authConfig.refreshToken) {\n (0, import_auth_config.writeAuthConfig)({});\n throw new import_auth_errors.RefreshAccessTokenFailedError(\"No refresh token available\");\n }\n try {\n const tokenResponse = await (0, import_oauth.refreshTokenRequest)({\n refresh_token: authConfig.refreshToken\n });\n const [tokensError, tokens] = await (0, import_oauth.processTokenResponse)(tokenResponse);\n if (tokensError || !tokens) {\n (0, import_auth_config.writeAuthConfig)({});\n throw new import_auth_errors.RefreshAccessTokenFailedError(tokensError);\n }\n const updatedConfig = {\n token: tokens.access_token,\n expiresAt: Math.floor(Date.now() / 1e3) + tokens.expires_in\n };\n if (tokens.refresh_token) {\n updatedConfig.refreshToken = tokens.refresh_token;\n }\n (0, import_auth_config.writeAuthConfig)(updatedConfig);\n return updatedConfig.token;\n } catch (error) {\n (0, import_auth_config.writeAuthConfig)({});\n if (error instanceof import_auth_errors.AccessTokenMissingError || error instanceof import_auth_errors.RefreshAccessTokenFailedError) {\n throw error;\n }\n throw new import_auth_errors.RefreshAccessTokenFailedError(error);\n }\n}\nasync function getVercelOidcToken(authToken, projectId, teamId) {\n const url = `https://api.vercel.com/v1/projects/${projectId}/token?source=vercel-oidc-refresh${teamId ? `&teamId=${teamId}` : \"\"}`;\n const res = await fetch(url, {\n method: \"POST\",\n headers: {\n Authorization: `Bearer ${authToken}`\n }\n });\n if (!res.ok) {\n throw new import_token_error.VercelOidcTokenError(\n `Failed to refresh OIDC token: ${res.statusText}`\n );\n }\n const tokenRes = await res.json();\n assertVercelOidcTokenResponse(tokenRes);\n return tokenRes;\n}\nfunction assertVercelOidcTokenResponse(res) {\n if (!res || typeof res !== \"object\") {\n throw new TypeError(\n \"Vercel OIDC token is malformed. Expected an object. Please run `vc env pull` and try again\"\n );\n }\n if (!(\"token\" in res) || typeof res.token !== \"string\") {\n throw new TypeError(\n \"Vercel OIDC token is malformed. Expected a string-valued token property. Please run `vc env pull` and try again\"\n );\n }\n}\nfunction findProjectInfo() {\n const dir = (0, import_token_io.findRootDir)();\n if (!dir) {\n throw new import_token_error.VercelOidcTokenError(\n \"Unable to find project root directory. Have you linked your project with `vc link?`\"\n );\n }\n const prjPath = path.join(dir, \".vercel\", \"project.json\");\n if (!fs.existsSync(prjPath)) {\n throw new import_token_error.VercelOidcTokenError(\n \"project.json not found, have you linked your project with `vc link?`\"\n );\n }\n const prj = JSON.parse(fs.readFileSync(prjPath, \"utf8\"));\n if (typeof prj.projectId !== \"string\" && typeof prj.orgId !== \"string\") {\n throw new TypeError(\n \"Expected a string-valued projectId property. Try running `vc link` to re-link your project.\"\n );\n }\n return { projectId: prj.projectId, teamId: prj.orgId };\n}\nfunction saveToken(token, projectId) {\n const dir = (0, import_token_io.getUserDataDir)();\n if (!dir) {\n throw new import_token_error.VercelOidcTokenError(\n \"Unable to find user data directory. Please reach out to Vercel support.\"\n );\n }\n const tokenPath = path.join(dir, \"com.vercel.token\", `${projectId}.json`);\n const tokenJson = JSON.stringify(token);\n fs.mkdirSync(path.dirname(tokenPath), { mode: 504, recursive: true });\n fs.writeFileSync(tokenPath, tokenJson);\n fs.chmodSync(tokenPath, 432);\n return;\n}\nfunction loadToken(projectId) {\n const dir = (0, import_token_io.getUserDataDir)();\n if (!dir) {\n throw new import_token_error.VercelOidcTokenError(\n \"Unable to find user data directory. Please reach out to Vercel support.\"\n );\n }\n const tokenPath = path.join(dir, \"com.vercel.token\", `${projectId}.json`);\n if (!fs.existsSync(tokenPath)) {\n return null;\n }\n const token = JSON.parse(fs.readFileSync(tokenPath, \"utf8\"));\n assertVercelOidcTokenResponse(token);\n return token;\n}\nfunction getTokenPayload(token) {\n const tokenParts = token.split(\".\");\n if (tokenParts.length !== 3) {\n throw new import_token_error.VercelOidcTokenError(\n \"Invalid token. Please run `vc env pull` and try again\"\n );\n }\n const base64 = tokenParts[1].replace(/-/g, \"+\").replace(/_/g, \"/\");\n const padded = base64.padEnd(\n base64.length + (4 - base64.length % 4) % 4,\n \"=\"\n );\n return JSON.parse(Buffer.from(padded, \"base64\").toString(\"utf8\"));\n}\nfunction isExpired(token, bufferMs = 0) {\n return token.exp * 1e3 < Date.now() + bufferMs;\n}\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n assertVercelOidcTokenResponse,\n findProjectInfo,\n getTokenPayload,\n getVercelDataDir,\n getVercelOidcToken,\n getVercelToken,\n isExpired,\n loadToken,\n saveToken\n});\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "05BADF64B188336A64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@opentelemetry+resources@2.6.1+460773ef8ff1e07c/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/machine-id/getMachineId-win.js"], | ||
| "sourcesContent": [ | ||
| "\"use strict\";\n/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getMachineId = void 0;\nconst process = require(\"process\");\nconst execAsync_1 = require(\"./execAsync\");\nconst api_1 = require(\"@opentelemetry/api\");\nasync function getMachineId() {\n const args = 'QUERY HKEY_LOCAL_MACHINE\\\\SOFTWARE\\\\Microsoft\\\\Cryptography /v MachineGuid';\n let command = '%windir%\\\\System32\\\\REG.exe';\n if (process.arch === 'ia32' && 'PROCESSOR_ARCHITEW6432' in process.env) {\n command = '%windir%\\\\sysnative\\\\cmd.exe /c ' + command;\n }\n try {\n const result = await (0, execAsync_1.execAsync)(`${command} ${args}`);\n const parts = result.stdout.split('REG_SZ');\n if (parts.length === 2) {\n return parts[1].trim();\n }\n }\n catch (e) {\n api_1.diag.debug(`error reading machine id: ${e}`);\n }\n return undefined;\n}\nexports.getMachineId = getMachineId;\n//# sourceMappingURL=getMachineId-win.js.map" | ||
| ], | ||
| "mappings": ";wKAKA,YAAO,oBAAe,EAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EACpD,eAAoB,OAC5B,IAAM,eACA,MACA,MACN,eAAe,CAAY,EAAG,CAE1B,IAAI,EAAU,8BACd,GAAI,EAAQ,OAAS,QAAU,2BAA4B,EAAQ,IAC/D,EAAU,mCAAqC,EAEnD,GAAI,CAEA,IAAM,GADS,MAAO,EAAG,EAAY,WAAW,GAAG,8EAAiB,GAC/C,OAAO,MAAM,QAAQ,EAC1C,GAAI,EAAM,SAAW,EACjB,OAAO,EAAM,GAAG,KAAK,EAG7B,MAAO,EAAG,CACN,EAAM,KAAK,MAAM,6BAA6B,GAAG,EAErD,OAEI,eAAe", | ||
| "debugId": "5C9CAA8C02FD708864756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260507164347_add_workspace_time.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260507164347_add_workspace_time\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`ALTER TABLE \\`workspace\\` ADD \\`time_used\\` integer NOT NULL DEFAULT 0;`)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,oCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,qEAAyE,EACxF,EAEL", | ||
| "debugId": "6302D46B9FEDBFEF64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "CD7F916C31A1902864756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260428004200_add_session_path.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260428004200_add_session_path\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`ALTER TABLE \\`session\\` ADD \\`path\\` text;`)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,kCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,wCAA4C,EAC3D,EAEL", | ||
| "debugId": "EF01B2B93749E60764756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "E4EB1836B46220DE64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@ai-sdk+cerebras@2.0.41+d6123d32214422cb/node_modules/@ai-sdk/cerebras/dist/index.mjs"], | ||
| "sourcesContent": [ | ||
| "// src/cerebras-provider.ts\nimport { OpenAICompatibleChatLanguageModel } from \"@ai-sdk/openai-compatible\";\nimport {\n NoSuchModelError\n} from \"@ai-sdk/provider\";\nimport {\n loadApiKey,\n withoutTrailingSlash,\n withUserAgentSuffix\n} from \"@ai-sdk/provider-utils\";\nimport { z } from \"zod/v4\";\n\n// src/version.ts\nvar VERSION = true ? \"2.0.41\" : \"0.0.0-test\";\n\n// src/cerebras-provider.ts\nvar cerebrasErrorSchema = z.object({\n message: z.string(),\n type: z.string(),\n param: z.string(),\n code: z.string()\n});\nvar cerebrasErrorStructure = {\n errorSchema: cerebrasErrorSchema,\n errorToMessage: (data) => data.message\n};\nfunction createCerebras(options = {}) {\n var _a;\n const baseURL = withoutTrailingSlash(\n (_a = options.baseURL) != null ? _a : \"https://api.cerebras.ai/v1\"\n );\n const getHeaders = () => withUserAgentSuffix(\n {\n Authorization: `Bearer ${loadApiKey({\n apiKey: options.apiKey,\n environmentVariableName: \"CEREBRAS_API_KEY\",\n description: \"Cerebras API key\"\n })}`,\n ...options.headers\n },\n `ai-sdk/cerebras/${VERSION}`\n );\n const createLanguageModel = (modelId) => {\n return new OpenAICompatibleChatLanguageModel(modelId, {\n provider: `cerebras.chat`,\n url: ({ path }) => `${baseURL}${path}`,\n headers: getHeaders,\n fetch: options.fetch,\n errorStructure: cerebrasErrorStructure,\n supportsStructuredOutputs: true\n });\n };\n const provider = (modelId) => createLanguageModel(modelId);\n provider.specificationVersion = \"v3\";\n provider.languageModel = createLanguageModel;\n provider.chat = 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 cerebras = createCerebras();\nexport {\n VERSION,\n cerebras,\n createCerebras\n};\n//# sourceMappingURL=index.mjs.map" | ||
| ], | ||
| "mappings": ";qRAaA,SAAI,OAAiB,cAGjB,OAAsB,OAAE,OAAO,CACjC,QAAS,EAAE,OAAO,EAClB,KAAM,EAAE,OAAO,EACf,MAAO,EAAE,OAAO,EAChB,KAAM,EAAE,OAAO,CACjB,CAAC,EACG,EAAyB,CAC3B,YAAa,EACb,eAAgB,CAAC,IAAS,EAAK,OACjC,EACA,SAAS,CAAc,CAAC,EAAU,CAAC,EAAG,CACpC,IAAI,EACJ,IAAM,EAAU,GACb,EAAK,EAAQ,UAAY,KAAO,EAAK,4BACxC,EACM,EAAa,IAAM,EACvB,CACE,cAAe,UAAU,EAAW,CAClC,OAAQ,EAAQ,OAChB,wBAAyB,mBACzB,YAAa,kBACf,CAAC,OACE,EAAQ,OACb,EACA,mBAAmB,GACrB,EACM,EAAsB,CAAC,IAAY,CACvC,OAAO,IAAI,EAAkC,EAAS,CACpD,SAAU,gBACV,IAAK,EAAG,UAAW,GAAG,IAAU,IAChC,QAAS,EACT,MAAO,EAAQ,MACf,eAAgB,EAChB,0BAA2B,EAC7B,CAAC,GAEG,EAAW,CAAC,IAAY,EAAoB,CAAO,EAWzD,OAVA,EAAS,qBAAuB,KAChC,EAAS,cAAgB,EACzB,EAAS,KAAO,EAChB,EAAS,eAAiB,CAAC,IAAY,CACrC,MAAM,IAAI,EAAiB,CAAE,UAAS,UAAW,gBAAiB,CAAC,GAErE,EAAS,mBAAqB,EAAS,eACvC,EAAS,WAAa,CAAC,IAAY,CACjC,MAAM,IAAI,EAAiB,CAAE,UAAS,UAAW,YAAa,CAAC,GAE1D,EAET,IAAI,EAAW,EAAe", | ||
| "debugId": "286A871D5E56790E64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../tui/src/editor.ts", "../tui/src/editor-zed.ts"], | ||
| "sourcesContent": [ | ||
| "import type { CliRenderer } from \"@opentui/core\"\nimport { existsSync, readdirSync, readFileSync, statSync } from \"node:fs\"\nimport { readFile, rm, writeFile } from \"node:fs/promises\"\nimport os from \"node:os\"\nimport path from \"node:path\"\nimport { spawn } from \"node:child_process\"\nimport type { Stream } from \"node:stream\"\nimport { resolveZedDbPath, resolveZedSelection } from \"./editor-zed\"\n\nexport { normalizePromptContent } from \"./prompt/content\"\n\ntype EditorStdio = \"inherit\" | \"pipe\" | \"ignore\" | number | Stream\n\nexport async function openEditor(input: { value: string; renderer: CliRenderer; cwd?: string; stdin?: EditorStdio }) {\n const editor = process.env.VISUAL || process.env.EDITOR\n if (!editor) return\n const file = path.join(os.tmpdir(), `${Date.now()}.md`)\n await writeFile(file, input.value)\n input.renderer.suspend()\n input.renderer.currentRenderBuffer.clear()\n try {\n await new Promise<void>((resolve, reject) => {\n const parts = editor.split(\" \")\n const child = spawn(parts[0]!, [...parts.slice(1), file], {\n cwd: input.cwd && existsSync(input.cwd) ? input.cwd : process.cwd(),\n stdio: [input.stdin ?? \"inherit\", \"inherit\", \"inherit\"],\n shell: process.platform === \"win32\",\n })\n child.on(\"error\", reject)\n child.on(\"exit\", (code, signal) => {\n if (code === 0) return resolve()\n reject(new Error(`Editor exited with ${signal ? `signal ${signal}` : `code ${code}`}`))\n })\n })\n return (await readFile(file, \"utf8\")) || undefined\n } finally {\n await rm(file, { force: true }).catch(() => {})\n input.renderer.currentRenderBuffer.clear()\n input.renderer.resume()\n input.renderer.requestRender()\n }\n}\n\nexport function discoverEditorConnection(directory: string) {\n const root = path.join(os.homedir(), \".claude\", \"ide\")\n const contains = (parent: string) => {\n const resolved = path.resolve(parent)\n const relative = path.relative(resolved, path.resolve(directory))\n return relative === \"\" || (!relative.startsWith(\"..\") && !path.isAbsolute(relative)) ? resolved.length : 0\n }\n try {\n return readdirSync(root)\n .filter((entry) => entry.endsWith(\".lock\"))\n .flatMap((entry) => {\n const file = path.join(root, entry)\n const port = Number.parseInt(path.basename(file, \".lock\"), 10)\n if (!Number.isInteger(port) || port <= 0 || port > 65535) return []\n try {\n const value = JSON.parse(readFileSync(file, \"utf8\")) as Record<string, unknown>\n if (value.transport !== undefined && value.transport !== \"ws\") return []\n const folders = Array.isArray(value.workspaceFolders)\n ? value.workspaceFolders.filter((item): item is string => typeof item === \"string\")\n : []\n const score = Math.max(0, ...folders.map(contains))\n if (!score) return []\n return [\n {\n url: `ws://127.0.0.1:${port}`,\n authToken: typeof value.authToken === \"string\" ? value.authToken : undefined,\n source: `lock:${port}`,\n score,\n mtime: statSync(file).mtimeMs,\n },\n ]\n } catch {\n return []\n }\n })\n .sort((left, right) => right.score - left.score || right.mtime - left.mtime)\n .map(({ url, authToken, source }) => ({ url, authToken, source }))[0]\n } catch {\n return undefined\n }\n}\n\nexport const editorIntegration = {\n connection: discoverEditorConnection,\n selection: (directory: string) => resolveZedSelection(resolveZedDbPath() ?? \"\", directory),\n}\n", | ||
| "import { Database } from \"bun:sqlite\"\nimport { statSync } from \"node:fs\"\nimport { readFile as readFileAsync } from \"node:fs/promises\"\nimport os from \"node:os\"\nimport path from \"node:path\"\nimport { Option, Schema } from \"effect\"\nimport type { EditorSelection } from \"./context/editor\"\n\nconst ZedEditorRowSchema = Schema.Struct({\n item_kind: Schema.String,\n editor_id: Schema.NullOr(Schema.Number),\n workspace_id: Schema.Number,\n workspace_paths: Schema.NullOr(Schema.String),\n timestamp: Schema.String,\n buffer_path: Schema.NullOr(Schema.String),\n})\n\nconst ZedSelectionRowSchema = Schema.Struct({\n selection_start: Schema.NullOr(Schema.Number),\n selection_end: Schema.NullOr(Schema.Number),\n})\n\nconst ZedEditorContentsSchema = Schema.Struct({\n contents: Schema.NullOr(Schema.String),\n})\n\nconst decodeZedEditorRow = Schema.decodeUnknownOption(ZedEditorRowSchema)\nconst decodeZedSelectionRow = Schema.decodeUnknownOption(ZedSelectionRowSchema)\nconst decodeZedEditorContents = Schema.decodeUnknownOption(ZedEditorContentsSchema)\n\nconst utf8 = new TextEncoder()\n\ntype ZedEditorRow = Schema.Schema.Type<typeof ZedEditorRowSchema>\ntype ZedActiveEditorRow = ZedEditorRow & { item_kind: \"Editor\"; editor_id: number }\n\nexport type ZedSelectionResult =\n | { type: \"selection\"; selection: EditorSelection }\n | { type: \"empty\" }\n | { type: \"unavailable\" }\n\nexport async function resolveZedSelection(dbPath: string, cwd = process.cwd()): Promise<ZedSelectionResult> {\n const active = queryZedActiveEditor(dbPath, cwd)\n if (active.type !== \"row\") return active\n\n const row = active.row\n if (!row.buffer_path) return { type: \"empty\" }\n\n const selections = queryZedEditorSelections(dbPath, row)\n if (selections.type !== \"selections\") return selections\n const byteRanges = selections.selections\n .flatMap((selection) => {\n if (selection.selection_start == null || selection.selection_end == null) return []\n return [\n {\n start: Math.min(selection.selection_start, selection.selection_end),\n end: Math.max(selection.selection_start, selection.selection_end),\n },\n ]\n })\n .sort((left, right) => left.start - right.start || left.end - right.end)\n if (byteRanges.length === 0) return { type: \"unavailable\" }\n\n const contents = queryZedEditorContents(dbPath, row)\n const text =\n contents.type === \"contents\" && contents.contents != null\n ? contents.contents\n : await readFileAsync(row.buffer_path, \"utf8\").catch(() => undefined)\n if (text == null) return { type: \"unavailable\" }\n\n const ranges = byteRanges.map((range) => {\n const startOffset = utf8ByteOffsetToStringIndex(text, range.start)\n const endOffset = utf8ByteOffsetToStringIndex(text, range.end)\n return {\n text: text.slice(startOffset, endOffset),\n selection: offsetsToSelection(text, startOffset, endOffset),\n }\n })\n\n return {\n type: \"selection\",\n selection: {\n filePath: row.buffer_path,\n source: \"zed\",\n ranges,\n },\n }\n}\n\nfunction queryZedActiveEditor(dbPath: string, cwd: string) {\n let db: Database | undefined\n try {\n db = new Database(dbPath, { readonly: true })\n const raw = db\n .query(\n `select\n i.kind as item_kind,\n e.item_id as editor_id,\n i.workspace_id as workspace_id,\n w.paths as workspace_paths,\n w.timestamp as timestamp,\n e.buffer_path as buffer_path\n from items i\n join panes p on p.pane_id = i.pane_id and p.workspace_id = i.workspace_id\n join workspaces w on w.workspace_id = i.workspace_id\n left join editors e on e.item_id = i.item_id and e.workspace_id = i.workspace_id\n where i.active = 1 and p.active = 1\n order by w.timestamp desc`,\n )\n .all()\n\n const rows = raw.flatMap((row) => {\n const parsed = decodeZedEditorRow(row)\n return Option.isSome(parsed) ? [parsed.value] : []\n })\n\n if (raw.length > 0 && rows.length === 0) return { type: \"unavailable\" as const }\n\n const row = rows\n .map((row) => ({ row, score: scoreZedWorkspace(row.workspace_paths, cwd) }))\n .filter((entry) => entry.score > 0)\n .sort((left, right) => right.score - left.score || right.row.timestamp.localeCompare(left.row.timestamp))[0]?.row\n if (!row) return { type: \"empty\" as const }\n if (row.item_kind !== \"Editor\") return { type: \"unavailable\" as const }\n if (!isZedActiveEditorRow(row)) return { type: \"empty\" as const }\n return { type: \"row\" as const, row }\n } catch {\n return { type: \"unavailable\" as const }\n } finally {\n db?.close()\n }\n}\n\nfunction queryZedEditorSelections(dbPath: string, row: ZedActiveEditorRow) {\n let db: Database | undefined\n try {\n db = new Database(dbPath, { readonly: true })\n const raw = db\n .query(\n `select\n start as selection_start,\n end as selection_end\n from editor_selections\n where editor_id = $editorID and workspace_id = $workspaceID`,\n )\n .all({ $editorID: row.editor_id, $workspaceID: row.workspace_id })\n\n const selections = raw.flatMap((selection) => {\n const parsed = decodeZedSelectionRow(selection)\n return Option.isSome(parsed) ? [parsed.value] : []\n })\n\n if (raw.length > 0 && selections.length === 0) return { type: \"unavailable\" as const }\n return { type: \"selections\" as const, selections }\n } catch {\n return { type: \"unavailable\" as const }\n } finally {\n db?.close()\n }\n}\n\nfunction queryZedEditorContents(dbPath: string, row: ZedActiveEditorRow) {\n let db: Database | undefined\n try {\n db = new Database(dbPath, { readonly: true })\n const parsed = decodeZedEditorContents(\n db\n .query(\n `select contents\n from editors\n where item_id = $editorID and workspace_id = $workspaceID`,\n )\n .get({ $editorID: row.editor_id, $workspaceID: row.workspace_id }),\n )\n if (Option.isNone(parsed)) return { type: \"unavailable\" as const }\n return { type: \"contents\" as const, contents: parsed.value.contents }\n } catch {\n return { type: \"unavailable\" as const }\n } finally {\n db?.close()\n }\n}\n\nfunction isZedActiveEditorRow(row: ZedEditorRow): row is ZedActiveEditorRow {\n return row.item_kind === \"Editor\" && row.editor_id != null\n}\n\nexport function resolveZedDbPath() {\n const candidates = [\n process.env.OPENCODE_ZED_DB,\n path.join(os.homedir(), \"Library\", \"Application Support\", \"Zed\", \"db\", \"0-stable\", \"db.sqlite\"),\n path.join(os.homedir(), \".local\", \"share\", \"zed\", \"db\", \"0-stable\", \"db.sqlite\"),\n ].filter((item): item is string => Boolean(item))\n\n return candidates.find((item) => isFile(item))\n}\n\nexport function isZedTerminal() {\n return process.env.ZED_TERM === \"true\" || process.env.TERM_PROGRAM?.toLowerCase() === \"zed\"\n}\n\nfunction isFile(item: string) {\n try {\n return statSync(item).isFile()\n } catch {\n return false\n }\n}\n\nfunction scoreZedWorkspace(workspacePaths: string | null, cwd: string) {\n return zedWorkspacePaths(workspacePaths).reduce((score, item) => {\n if (pathContains(item, cwd)) return Math.max(score, path.resolve(item).length)\n return score\n }, 0)\n}\n\nfunction zedWorkspacePaths(value: string | null) {\n if (!value) return []\n const parsed = parseJson(value)\n if (Array.isArray(parsed)) return parsed.filter((item): item is string => typeof item === \"string\")\n return value.split(/\\r?\\n/).filter(Boolean)\n}\n\nexport function offsetToPosition(text: string, offset: number) {\n const stringOffset = utf8ByteOffsetToStringIndex(text, offset)\n return offsetsToSelection(text, stringOffset, stringOffset).start\n}\n\nfunction utf8ByteOffsetToStringIndex(text: string, byteOffset: number) {\n if (byteOffset <= 0) return 0\n\n let bytes = 0\n for (let index = 0; index < text.length; ) {\n const codePoint = text.codePointAt(index)\n if (codePoint === undefined) return text.length\n\n const nextIndex = index + (codePoint > 0xffff ? 2 : 1)\n bytes += utf8.encode(text.slice(index, nextIndex)).length\n if (bytes >= byteOffset) return nextIndex\n index = nextIndex\n }\n\n return text.length\n}\n\nfunction offsetsToSelection(text: string, startOffset: number, endOffset: number) {\n const start = Math.max(0, Math.min(startOffset, text.length))\n const end = Math.max(0, Math.min(endOffset, text.length))\n let line = 1\n let lineStart = 0\n let startPosition = position(line, lineStart, start)\n let endPosition = position(line, lineStart, end)\n\n for (let index = 0; index <= end; index++) {\n if (index === start) startPosition = position(line, lineStart, index)\n if (index === end) {\n endPosition = position(line, lineStart, index)\n break\n }\n if (text[index] === \"\\n\") {\n line += 1\n lineStart = index + 1\n }\n }\n\n return { start: startPosition, end: endPosition }\n}\n\nfunction position(line: number, lineStart: number, offset: number) {\n return {\n line,\n character: offset - lineStart + 1,\n }\n}\n\nfunction pathContains(parent: string, child: string) {\n const relative = path.relative(path.resolve(parent), path.resolve(child))\n return relative === \"\" || (!relative.startsWith(\"..\") && !path.isAbsolute(relative))\n}\n\nfunction parseJson(value: string) {\n try {\n return JSON.parse(value) as unknown\n } catch {\n return\n }\n}\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "21D30F3026D1362164756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/ai-gateway-provider@3.1.2+a6631614dda8d488/node_modules/ai-gateway-provider/dist/index.mjs"], | ||
| "sourcesContent": [ | ||
| "var __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n\n// src/auth.ts\nvar CF_TEMP_TOKEN = \"CF_TEMP_TOKEN\";\n\n// src/providers.ts\nvar providers = [\n {\n name: \"openai\",\n regex: /^https:\\/\\/api\\.openai\\.com\\//,\n transformEndpoint: (url) => url.replace(/^https:\\/\\/api\\.openai\\.com\\//, \"\")\n },\n {\n name: \"deepseek\",\n regex: /^https:\\/\\/api\\.deepseek\\.com\\//,\n transformEndpoint: (url) => url.replace(/^https:\\/\\/api\\.deepseek\\.com\\//, \"\")\n },\n {\n name: \"anthropic\",\n regex: /^https:\\/\\/api\\.anthropic\\.com\\//,\n transformEndpoint: (url) => url.replace(/^https:\\/\\/api\\.anthropic\\.com\\//, \"\"),\n headerKey: \"x-api-key\"\n },\n {\n name: \"google-ai-studio\",\n regex: /^https:\\/\\/generativelanguage\\.googleapis\\.com\\//,\n headerKey: \"x-goog-api-key\",\n transformEndpoint: (url) => url.replace(/^https:\\/\\/generativelanguage\\.googleapis\\.com\\//, \"\")\n },\n {\n name: \"google-vertex-ai\",\n regex: /aiplatform\\.googleapis\\.com/,\n transformEndpoint: (url) => url.replace(/https:\\/\\/(.*)[-]?aiplatform\\.googleapis\\.com\\//, \"\")\n },\n {\n name: \"grok\",\n regex: /^https:\\/\\/api\\.x\\.ai\\//,\n transformEndpoint: (url) => url.replace(/^https:\\/\\/api\\.x\\.ai\\//, \"\")\n },\n {\n name: \"mistral\",\n regex: /^https:\\/\\/api\\.mistral\\.ai\\//,\n transformEndpoint: (url) => url.replace(/^https:\\/\\/api\\.mistral\\.ai\\//, \"\")\n },\n {\n name: \"perplexity-ai\",\n regex: /^https:\\/\\/api\\.perplexity\\.ai\\//,\n transformEndpoint: (url) => url.replace(/^https:\\/\\/api\\.perplexity\\.ai\\//, \"\")\n },\n {\n name: \"replicate\",\n regex: /^https:\\/\\/api\\.replicate\\.com\\//,\n transformEndpoint: (url) => url.replace(/^https:\\/\\/api\\.replicate\\.com\\//, \"\")\n },\n {\n name: \"groq\",\n regex: /^https:\\/\\/api\\.groq\\.com\\/openai\\/v1\\//,\n transformEndpoint: (url) => url.replace(/^https:\\/\\/api\\.groq\\.com\\/openai\\/v1\\//, \"\")\n },\n {\n name: \"google-vertex-ai\",\n regex: /^https:\\/\\/(?:[a-z0-9]+-)*aiplatform\\.googleapis\\.com\\//,\n transformEndpoint: (url) => url.replace(/^https:\\/\\/(?:[a-z0-9]+-)*aiplatform\\.googleapis\\.com\\//, \"\"),\n headerKey: \"authorization\"\n },\n {\n name: \"azure-openai\",\n regex: /^https:\\/\\/(?<resource>[^.]+)\\.openai\\.azure\\.com\\/openai\\/deployments\\/(?<deployment>[^/]+)\\/(?<rest>.*)$/,\n transformEndpoint: (url) => {\n const match = url.match(\n /^https:\\/\\/(?<resource>[^.]+)\\.openai\\.azure\\.com\\/openai\\/deployments\\/(?<deployment>[^/]+)\\/(?<rest>.*)$/\n );\n if (!match || !match.groups) return url;\n const { resource, deployment, rest } = match.groups;\n if (!resource || !deployment || !rest) {\n throw new Error(\"Failed to parse Azure OpenAI endpoint URL.\");\n }\n return `${resource}/${deployment}/${rest}`;\n },\n headerKey: \"api-key\"\n },\n {\n name: \"openrouter\",\n regex: /^https:\\/\\/openrouter\\.ai\\/api\\//,\n transformEndpoint: (url) => url.replace(/^https:\\/\\/openrouter\\.ai\\/api\\//, \"\")\n },\n {\n name: \"compat\",\n regex: /^https:\\/\\/gateway\\.ai\\.cloudflare\\.com\\/v1\\/compat\\//,\n transformEndpoint: (url) => url.replace(/^https:\\/\\/gateway\\.ai\\.cloudflare\\.com\\/v1\\/compat\\//, \"\")\n }\n];\n\n// src/index.ts\nvar AiGatewayInternalFetchError = class extends Error {\n};\nvar AiGatewayDoesNotExist = class extends Error {\n};\nvar AiGatewayUnauthorizedError = class extends Error {\n};\nasync function streamToObject(stream) {\n const response = new Response(stream);\n return await response.json();\n}\nvar AiGatewayChatLanguageModel = class {\n constructor(models, config) {\n __publicField(this, \"specificationVersion\", \"v3\");\n __publicField(this, \"defaultObjectGenerationMode\", \"json\");\n __publicField(this, \"supportedUrls\", {\n // No URLS are supported for this language model\n });\n __publicField(this, \"models\");\n __publicField(this, \"config\");\n this.models = models;\n this.config = config;\n }\n get modelId() {\n if (!this.models[0]) {\n throw new Error(\"models cannot be empty array\");\n }\n return this.models[0].modelId;\n }\n get provider() {\n if (!this.models[0]) {\n throw new Error(\"models cannot be empty array\");\n }\n return this.models[0].provider;\n }\n async processModelRequest(options, modelMethod) {\n const requests = [];\n for (const model of this.models) {\n if (!model.config || !Object.keys(model.config).includes(\"fetch\")) {\n throw new Error(\n `Sorry, but provider \"${model.provider}\" is currently not supported, please open a issue in the github repo!`\n );\n }\n model.config.fetch = (url, request) => {\n requests.push({\n modelProvider: model.provider,\n request,\n url\n });\n throw new AiGatewayInternalFetchError(\"Stopping provider execution...\");\n };\n try {\n await model[modelMethod](options);\n } catch (e) {\n if (!(e instanceof AiGatewayInternalFetchError)) {\n throw e;\n }\n }\n }\n const body = await Promise.all(\n requests.map(async (req) => {\n let providerConfig = null;\n for (const provider of providers) {\n if (provider.regex.test(req.url)) {\n providerConfig = provider;\n }\n }\n if (!providerConfig) {\n throw new Error(\n `Sorry, but provider \"${req.modelProvider}\" is currently not supported, please open a issue in the github repo!`\n );\n }\n if (!req.request.body) {\n throw new Error(\"Ai Gateway provider received an unexpected empty body\");\n }\n const authHeader = providerConfig.headerKey ?? \"authorization\";\n const authValue = \"get\" in req.request.headers ? req.request.headers.get(authHeader) : req.request.headers[authHeader];\n if (authValue?.indexOf(CF_TEMP_TOKEN) !== -1) {\n if (\"delete\" in req.request.headers) {\n req.request.headers.delete(authHeader);\n } else {\n delete req.request.headers[authHeader];\n }\n }\n return {\n endpoint: providerConfig.transformEndpoint(req.url),\n headers: req.request.headers,\n provider: providerConfig.name,\n query: await streamToObject(req.request.body)\n };\n })\n );\n const headers = parseAiGatewayOptions(this.config.options ?? {});\n let resp;\n if (\"binding\" in this.config) {\n const updatedBody = body.map((obj) => ({\n ...obj,\n headers: {\n ...obj.headers ?? {},\n ...Object.fromEntries(headers.entries())\n }\n }));\n resp = await this.config.binding.run(updatedBody, {\n signal: options.abortSignal\n });\n } else {\n headers.set(\"Content-Type\", \"application/json\");\n headers.set(\"cf-aig-authorization\", `Bearer ${this.config.apiKey}`);\n resp = await fetch(\n `https://gateway.ai.cloudflare.com/v1/${this.config.accountId}/${this.config.gateway}`,\n {\n body: JSON.stringify(body),\n headers,\n method: \"POST\",\n signal: options.abortSignal\n }\n );\n }\n if (resp.status === 400) {\n const cloneResp = resp.clone();\n const result = await cloneResp.json();\n if (result.success === false && result.error && result.error.length > 0 && result.error[0]?.code === 2001) {\n throw new AiGatewayDoesNotExist(\"This AI gateway does not exist\");\n }\n } else if (resp.status === 401) {\n const cloneResp = resp.clone();\n const result = await cloneResp.json();\n if (result.success === false && result.error && result.error.length > 0 && result.error[0]?.code === 2009) {\n throw new AiGatewayUnauthorizedError(\n \"Your AI Gateway has authentication active, but you didn't provide a valid apiKey\"\n );\n }\n }\n const step = Number.parseInt(resp.headers.get(\"cf-aig-step\") ?? \"0\", 10);\n if (!this.models[step]) {\n throw new Error(\"Unexpected AI Gateway Error\");\n }\n this.models[step].config = {\n ...this.models[step].config,\n fetch: (_url, _req) => resp\n };\n return this.models[step][modelMethod](options);\n }\n async doStream(options) {\n return this.processModelRequest(options, \"doStream\");\n }\n async doGenerate(options) {\n return this.processModelRequest(options, \"doGenerate\");\n }\n};\nfunction createAiGateway(options) {\n const createChatModel = (models) => {\n return new AiGatewayChatLanguageModel(Array.isArray(models) ? models : [models], options);\n };\n const provider = (models) => createChatModel(models);\n provider.chat = createChatModel;\n return provider;\n}\nfunction parseAiGatewayOptions(options) {\n const headers = new Headers();\n if (options.skipCache === true) {\n headers.set(\"cf-skip-cache\", \"true\");\n }\n if (options.cacheTtl) {\n headers.set(\"cf-cache-ttl\", options.cacheTtl.toString());\n }\n if (options.metadata) {\n headers.set(\"cf-aig-metadata\", JSON.stringify(options.metadata));\n }\n if (options.cacheKey) {\n headers.set(\"cf-aig-cache-key\", options.cacheKey);\n }\n if (options.collectLog !== void 0) {\n headers.set(\"cf-aig-collect-log\", options.collectLog === true ? \"true\" : \"false\");\n }\n if (options.eventId !== void 0) {\n headers.set(\"cf-aig-event-id\", options.eventId);\n }\n if (options.requestTimeoutMs !== void 0) {\n headers.set(\"cf-aig-request-timeout\", options.requestTimeoutMs.toString());\n }\n if (options.retries !== void 0) {\n if (options.retries.maxAttempts !== void 0) {\n headers.set(\"cf-aig-max-attempts\", options.retries.maxAttempts.toString());\n }\n if (options.retries.retryDelayMs !== void 0) {\n headers.set(\"cf-aig-retry-delay\", options.retries.retryDelayMs.toString());\n }\n if (options.retries.backoff !== void 0) {\n headers.set(\"cf-aig-backoff\", options.retries.backoff);\n }\n }\n return headers;\n}\nexport {\n AiGatewayChatLanguageModel,\n AiGatewayDoesNotExist,\n AiGatewayInternalFetchError,\n AiGatewayUnauthorizedError,\n createAiGateway,\n parseAiGatewayOptions\n};\n//# sourceMappingURL=index.mjs.map" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "4A92B768FEBA117B64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@opentui+core-linux-x64@0.4.3/node_modules/@opentui/core-linux-x64/index.bun.js"], | ||
| "sourcesContent": [ | ||
| "const module = await import(\"./libopentui.so\", { with: { type: \"file\" } })\n\nexport default module.default\n" | ||
| ], | ||
| "mappings": ";oDAAA,IAAM,EAAS,KAAa,yCAAmB,CAAE,KAAM,CAAE,KAAM,MAAO,CAAE,GAEzD,IAAO", | ||
| "debugId": "86F5B415D99DE8B164756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["src/commands/handlers/service/unset.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport { Commands } from \"../../commands\"\nimport { Runtime } from \"../../../framework/runtime\"\nimport { ServiceConfig } from \"../../../services/service-config\"\n\nexport default Runtime.handler(\n Commands.commands.service.commands.unset,\n Effect.fn(\"cli.service.unset\")(function* (input) {\n yield* ServiceConfig.unset(input.key)\n }),\n)\n" | ||
| ], | ||
| "mappings": ";snBAKA,SAAe,SAAQ,aACrB,OAAS,cAAS,aAAQ,cAAS,WACnC,OAAO,QAAG,wBAAmB,OAAE,cAAU,MAAC,OAAO,MAC/C,MAAO,EAAc,MAAM,EAAM,GAAG,EACrC,CACH", | ||
| "debugId": "CAA4A3F1B5FE1C8464756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["../tui/src/util/filetype.ts", "../../node_modules/.bun/ansi-regex@6.2.2/node_modules/ansi-regex/index.js", "../../node_modules/.bun/strip-ansi@7.1.2/node_modules/strip-ansi/index.js"], | ||
| "sourcesContent": [ | ||
| "import path from \"node:path\"\n\nexport const LANGUAGE_EXTENSIONS: Record<string, string> = {\n \".abap\": \"abap\",\n \".bat\": \"bat\",\n \".bib\": \"bibtex\",\n \".bibtex\": \"bibtex\",\n \".clj\": \"clojure\",\n \".cljs\": \"clojure\",\n \".cljc\": \"clojure\",\n \".edn\": \"clojure\",\n \".coffee\": \"coffeescript\",\n \".c\": \"c\",\n \".cpp\": \"cpp\",\n \".cxx\": \"cpp\",\n \".cc\": \"cpp\",\n \".c++\": \"cpp\",\n \".cs\": \"csharp\",\n \".csx\": \"csharp\",\n \".css\": \"css\",\n \".d\": \"d\",\n \".pas\": \"pascal\",\n \".pascal\": \"pascal\",\n \".diff\": \"diff\",\n \".patch\": \"diff\",\n \".dart\": \"dart\",\n \".dockerfile\": \"dockerfile\",\n \".ex\": \"elixir\",\n \".exs\": \"elixir\",\n \".erl\": \"erlang\",\n \".ets\": \"typescript\",\n \".hrl\": \"erlang\",\n \".fs\": \"fsharp\",\n \".fsi\": \"fsharp\",\n \".fsx\": \"fsharp\",\n \".fsscript\": \"fsharp\",\n \".gitcommit\": \"git-commit\",\n \".gitrebase\": \"git-rebase\",\n \".go\": \"go\",\n \".groovy\": \"groovy\",\n \".gleam\": \"gleam\",\n \".hbs\": \"handlebars\",\n \".handlebars\": \"handlebars\",\n \".hs\": \"haskell\",\n \".lhs\": \"haskell\",\n \".html\": \"html\",\n \".htm\": \"html\",\n \".ini\": \"ini\",\n \".java\": \"java\",\n \".jl\": \"julia\",\n \".js\": \"javascript\",\n \".kt\": \"kotlin\",\n \".kts\": \"kotlin\",\n \".jsx\": \"javascriptreact\",\n \".json\": \"json\",\n \".tex\": \"latex\",\n \".latex\": \"latex\",\n \".less\": \"less\",\n \".lua\": \"lua\",\n \".makefile\": \"makefile\",\n makefile: \"makefile\",\n \".md\": \"markdown\",\n \".markdown\": \"markdown\",\n \".m\": \"objective-c\",\n \".mm\": \"objective-cpp\",\n \".pl\": \"perl\",\n \".pm\": \"perl\",\n \".pm6\": \"perl6\",\n \".php\": \"php\",\n \".ps1\": \"powershell\",\n \".psm1\": \"powershell\",\n \".pug\": \"jade\",\n \".jade\": \"jade\",\n \".py\": \"python\",\n \".r\": \"r\",\n \".cshtml\": \"razor\",\n \".razor\": \"razor\",\n \".rb\": \"ruby\",\n \".rake\": \"ruby\",\n \".gemspec\": \"ruby\",\n \".ru\": \"ruby\",\n \".erb\": \"erb\",\n \".html.erb\": \"erb\",\n \".js.erb\": \"erb\",\n \".css.erb\": \"erb\",\n \".json.erb\": \"erb\",\n \".rs\": \"rust\",\n \".scss\": \"scss\",\n \".sass\": \"sass\",\n \".scala\": \"scala\",\n \".shader\": \"shaderlab\",\n \".sh\": \"shellscript\",\n \".bash\": \"shellscript\",\n \".zsh\": \"shellscript\",\n \".ksh\": \"shellscript\",\n \".sql\": \"sql\",\n \".svelte\": \"svelte\",\n \".swift\": \"swift\",\n \".ts\": \"typescript\",\n \".tsx\": \"typescriptreact\",\n \".mts\": \"typescript\",\n \".cts\": \"typescript\",\n \".mtsx\": \"typescriptreact\",\n \".ctsx\": \"typescriptreact\",\n \".xml\": \"xml\",\n \".xsl\": \"xsl\",\n \".yaml\": \"yaml\",\n \".yml\": \"yaml\",\n \".mjs\": \"javascript\",\n \".cjs\": \"javascript\",\n \".vue\": \"vue\",\n \".zig\": \"zig\",\n \".zon\": \"zig\",\n \".astro\": \"astro\",\n \".ml\": \"ocaml\",\n \".mli\": \"ocaml\",\n \".tf\": \"terraform\",\n \".tfvars\": \"terraform-vars\",\n \".hcl\": \"hcl\",\n \".nix\": \"nix\",\n \".typ\": \"typst\",\n \".typc\": \"typst\",\n}\n\nexport function filetype(input?: string) {\n if (!input) return \"none\"\n const language = LANGUAGE_EXTENSIONS[path.extname(input)]\n if ([\"typescriptreact\", \"javascriptreact\", \"javascript\"].includes(language)) return \"typescript\"\n return language\n}\n", | ||
| "export default function ansiRegex({onlyFirst = false} = {}) {\n\t// Valid string terminator sequences are BEL, ESC\\, and 0x9c\n\tconst ST = '(?:\\\\u0007|\\\\u001B\\\\u005C|\\\\u009C)';\n\n\t// OSC sequences only: ESC ] ... ST (non-greedy until the first ST)\n\tconst osc = `(?:\\\\u001B\\\\][\\\\s\\\\S]*?${ST})`;\n\n\t// CSI and related: ESC/C1, optional intermediates, optional params (supports ; and :) then final byte\n\tconst csi = '[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:\\\\d{1,4}(?:[;:]\\\\d{0,4})*)?[\\\\dA-PR-TZcf-nq-uy=><~]';\n\n\tconst pattern = `${osc}|${csi}`;\n\n\treturn new RegExp(pattern, onlyFirst ? undefined : 'g');\n}\n", | ||
| "import ansiRegex from 'ansi-regex';\n\nconst regex = ansiRegex();\n\nexport default function stripAnsi(string) {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError(`Expected a \\`string\\`, got \\`${typeof string}\\``);\n\t}\n\n\t// Even though the regex is global, we don't need to reset the `.lastIndex`\n\t// because unlike `.exec()` and `.test()`, `.replace()` does it automatically\n\t// and doing it manually has a performance penalty.\n\treturn string.replace(regex, '');\n}\n" | ||
| ], | ||
| "mappings": ";AAAA,oBAEO,IAAM,EAA8C,CACzD,QAAS,OACT,OAAQ,MACR,OAAQ,SACR,UAAW,SACX,OAAQ,UACR,QAAS,UACT,QAAS,UACT,OAAQ,UACR,UAAW,eACX,KAAM,IACN,OAAQ,MACR,OAAQ,MACR,MAAO,MACP,OAAQ,MACR,MAAO,SACP,OAAQ,SACR,OAAQ,MACR,KAAM,IACN,OAAQ,SACR,UAAW,SACX,QAAS,OACT,SAAU,OACV,QAAS,OACT,cAAe,aACf,MAAO,SACP,OAAQ,SACR,OAAQ,SACR,OAAQ,aACR,OAAQ,SACR,MAAO,SACP,OAAQ,SACR,OAAQ,SACR,YAAa,SACb,aAAc,aACd,aAAc,aACd,MAAO,KACP,UAAW,SACX,SAAU,QACV,OAAQ,aACR,cAAe,aACf,MAAO,UACP,OAAQ,UACR,QAAS,OACT,OAAQ,OACR,OAAQ,MACR,QAAS,OACT,MAAO,QACP,MAAO,aACP,MAAO,SACP,OAAQ,SACR,OAAQ,kBACR,QAAS,OACT,OAAQ,QACR,SAAU,QACV,QAAS,OACT,OAAQ,MACR,YAAa,WACb,SAAU,WACV,MAAO,WACP,YAAa,WACb,KAAM,cACN,MAAO,gBACP,MAAO,OACP,MAAO,OACP,OAAQ,QACR,OAAQ,MACR,OAAQ,aACR,QAAS,aACT,OAAQ,OACR,QAAS,OACT,MAAO,SACP,KAAM,IACN,UAAW,QACX,SAAU,QACV,MAAO,OACP,QAAS,OACT,WAAY,OACZ,MAAO,OACP,OAAQ,MACR,YAAa,MACb,UAAW,MACX,WAAY,MACZ,YAAa,MACb,MAAO,OACP,QAAS,OACT,QAAS,OACT,SAAU,QACV,UAAW,YACX,MAAO,cACP,QAAS,cACT,OAAQ,cACR,OAAQ,cACR,OAAQ,MACR,UAAW,SACX,SAAU,QACV,MAAO,aACP,OAAQ,kBACR,OAAQ,aACR,OAAQ,aACR,QAAS,kBACT,QAAS,kBACT,OAAQ,MACR,OAAQ,MACR,QAAS,OACT,OAAQ,OACR,OAAQ,aACR,OAAQ,aACR,OAAQ,MACR,OAAQ,MACR,OAAQ,MACR,SAAU,QACV,MAAO,QACP,OAAQ,QACR,MAAO,YACP,UAAW,iBACX,OAAQ,MACR,OAAQ,MACR,OAAQ,QACR,QAAS,OACX,EAEO,SAAS,CAAQ,CAAC,EAAgB,CACvC,GAAI,CAAC,EAAO,MAAO,OACnB,IAAM,EAAW,EAAoB,EAAK,QAAQ,CAAK,GACvD,GAAI,CAAC,kBAAmB,kBAAmB,YAAY,EAAE,SAAS,CAAQ,EAAG,MAAO,aACpF,OAAO,EChIT,SAAwB,CAAS,EAAE,YAAY,IAAS,CAAC,EAAG,CAY3D,OAAO,IAAI,OAFK,gJAEW,EAAY,OAAY,GAAG,ECVvD,IAAM,EAAQ,EAAU,EAExB,SAAwB,CAAS,CAAC,EAAQ,CACzC,GAAI,OAAO,IAAW,SACrB,MAAU,UAAU,gCAAgC,OAAO,KAAU,EAMtE,OAAO,EAAO,QAAQ,EAAO,EAAE", | ||
| "debugId": "9075E17EF0FCA56964756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/image/photon.ts"], | ||
| "sourcesContent": [ | ||
| "// @ts-ignore Bun's static file import is embedded by `bun build --compile`; some consumers also declare *.wasm.\nimport photonWasm from \"@silvia-odwyer/photon-node/photon_rs_bg.wasm\" with { type: \"file\" }\nimport { Effect } from \"effect\"\nimport path from \"node:path\"\nimport { fileURLToPath } from \"node:url\"\nimport { FileSystem } from \"../filesystem\"\nimport { DecodeError, ResizerUnavailableError, SizeError } from \"../image\"\n\nconst JPEG_QUALITIES = [80, 85, 70, 55, 40]\n\nexport const make = Effect.gen(function* () {\n ;(globalThis as typeof globalThis & { __OPENCODE_PHOTON_WASM_PATH?: string }).__OPENCODE_PHOTON_WASM_PATH =\n path.isAbsolute(photonWasm) ? photonWasm : fileURLToPath(new URL(photonWasm, import.meta.url))\n const loadPhoton = yield* Effect.cached(\n Effect.tryPromise({\n try: () => import(\"@silvia-odwyer/photon-node\"),\n catch: () => new ResizerUnavailableError(),\n }),\n )\n return Effect.fn(\"Image.Photon.normalize\")(function* (\n resource: string,\n content: FileSystem.Content & { readonly encoding: \"base64\" },\n limits: {\n readonly autoResize: boolean\n readonly maxWidth: number\n readonly maxHeight: number\n readonly maxBase64Bytes: number\n },\n ) {\n const photon = yield* loadPhoton\n const decoded = yield* Effect.try({\n try: () => photon.PhotonImage.new_from_byteslice(Buffer.from(content.content, \"base64\")),\n catch: () => new DecodeError({ resource }),\n })\n try {\n const width = decoded.get_width()\n const height = decoded.get_height()\n const bytes = Buffer.byteLength(content.content, \"utf-8\")\n if (width <= limits.maxWidth && height <= limits.maxHeight && bytes <= limits.maxBase64Bytes) return content\n if (!limits.autoResize)\n return yield* new SizeError({\n resource,\n width,\n height,\n bytes,\n maxWidth: limits.maxWidth,\n maxHeight: limits.maxHeight,\n maxBytes: limits.maxBase64Bytes,\n })\n const scale = Math.min(1, limits.maxWidth / width, limits.maxHeight / height)\n const sizes = Array.from({ length: 32 }).reduce<Array<{ width: number; height: number }>>((acc) => {\n const previous = acc.at(-1) ?? {\n width: Math.max(1, Math.round(width * scale)),\n height: Math.max(1, Math.round(height * scale)),\n }\n const next =\n acc.length === 0\n ? previous\n : {\n width: previous.width === 1 ? 1 : Math.max(1, Math.floor(previous.width * 0.75)),\n height: previous.height === 1 ? 1 : Math.max(1, Math.floor(previous.height * 0.75)),\n }\n return acc.some((item) => item.width === next.width && item.height === next.height) ? acc : [...acc, next]\n }, [])\n for (const size of sizes) {\n const resized = photon.resize(decoded, size.width, size.height, photon.SamplingFilter.Lanczos3)\n try {\n const encoders: Array<readonly [mime: string, encode: () => Uint8Array]> = [\n [\"image/png\", () => resized.get_bytes()],\n ...JPEG_QUALITIES.map((quality) => [\"image/jpeg\", () => resized.get_bytes_jpeg(quality)] as const),\n ]\n for (const [mime, encode] of encoders) {\n const candidate = Buffer.from(encode()).toString(\"base64\")\n if (Buffer.byteLength(candidate, \"utf-8\") <= limits.maxBase64Bytes)\n return { ...content, content: candidate, encoding: \"base64\" as const, mime }\n }\n } finally {\n resized.free()\n }\n }\n return yield* new SizeError({\n resource,\n width,\n height,\n bytes,\n maxWidth: limits.maxWidth,\n maxHeight: limits.maxHeight,\n maxBytes: limits.maxBase64Bytes,\n })\n } finally {\n decoded.free()\n }\n })\n})\n" | ||
| ], | ||
| "mappings": ";yvBAGA,yBACA,6BAAS,iBAIT,SAAM,OAAiB,MAAC,QAAI,QAAI,QAAI,QAAI,OAAE,OAE7B,OAAO,OAAO,SAAI,cAAU,OAAG,MACxC,gBAA4E,0CAC5E,EAAK,WAAW,CAAU,EAAI,EAAa,EAAc,IAAI,IAAI,EAAY,YAAY,GAAG,CAAC,EAC/F,IAAM,EAAa,MAAO,EAAO,OAC/B,EAAO,WAAW,CAChB,IAAK,IAAa,yCAClB,MAAO,IAAM,IAAI,CACnB,CAAC,CACH,EACA,OAAO,EAAO,GAAG,wBAAwB,EAAE,SAAU,CACnD,EACA,EACA,EAMA,CACA,IAAM,EAAS,MAAO,EAChB,EAAU,MAAO,EAAO,IAAI,CAChC,IAAK,IAAM,EAAO,YAAY,mBAAmB,OAAO,KAAK,EAAQ,QAAS,QAAQ,CAAC,EACvF,MAAO,IAAM,IAAI,EAAY,CAAE,UAAS,CAAC,CAC3C,CAAC,EACD,GAAI,CACF,IAAM,EAAQ,EAAQ,UAAU,EAC1B,EAAS,EAAQ,WAAW,EAC5B,EAAQ,OAAO,WAAW,EAAQ,QAAS,OAAO,EACxD,GAAI,GAAS,EAAO,UAAY,GAAU,EAAO,WAAa,GAAS,EAAO,eAAgB,OAAO,EACrG,GAAI,CAAC,EAAO,WACV,OAAO,MAAO,IAAI,EAAU,CAC1B,WACA,QACA,SACA,QACA,SAAU,EAAO,SACjB,UAAW,EAAO,UAClB,SAAU,EAAO,cACnB,CAAC,EACH,IAAM,EAAQ,KAAK,IAAI,EAAG,EAAO,SAAW,EAAO,EAAO,UAAY,CAAM,EACtE,EAAQ,MAAM,KAAK,CAAE,OAAQ,EAAG,CAAC,EAAE,OAAiD,CAAC,IAAQ,CACjG,IAAM,EAAW,EAAI,GAAG,EAAE,GAAK,CAC7B,MAAO,KAAK,IAAI,EAAG,KAAK,MAAM,EAAQ,CAAK,CAAC,EAC5C,OAAQ,KAAK,IAAI,EAAG,KAAK,MAAM,EAAS,CAAK,CAAC,CAChD,EACM,EACJ,EAAI,SAAW,EACX,EACA,CACE,MAAO,EAAS,QAAU,EAAI,EAAI,KAAK,IAAI,EAAG,KAAK,MAAM,EAAS,MAAQ,IAAI,CAAC,EAC/E,OAAQ,EAAS,SAAW,EAAI,EAAI,KAAK,IAAI,EAAG,KAAK,MAAM,EAAS,OAAS,IAAI,CAAC,CACpF,EACN,OAAO,EAAI,KAAK,CAAC,IAAS,EAAK,QAAU,EAAK,OAAS,EAAK,SAAW,EAAK,MAAM,EAAI,EAAM,CAAC,GAAG,EAAK,CAAI,GACxG,CAAC,CAAC,EACL,QAAW,KAAQ,EAAO,CACxB,IAAM,EAAU,EAAO,OAAO,EAAS,EAAK,MAAO,EAAK,OAAQ,EAAO,eAAe,QAAQ,EAC9F,GAAI,CACF,IAAM,EAAqE,CACzE,CAAC,YAAa,IAAM,EAAQ,UAAU,CAAC,EACvC,GAAG,EAAe,IAAI,CAAC,IAAY,CAAC,aAAc,IAAM,EAAQ,eAAe,CAAO,CAAC,CAAU,CACnG,EACA,QAAY,EAAM,KAAW,EAAU,CACrC,IAAM,EAAY,OAAO,KAAK,EAAO,CAAC,EAAE,SAAS,QAAQ,EACzD,GAAI,OAAO,WAAW,EAAW,OAAO,GAAK,EAAO,eAClD,MAAO,IAAK,EAAS,QAAS,EAAW,SAAU,SAAmB,MAAK,UAE/E,CACA,EAAQ,KAAK,GAGjB,OAAO,MAAO,IAAI,EAAU,CAC1B,WACA,QACA,SACA,QACA,SAAU,EAAO,SACjB,UAAW,EAAO,UAClB,SAAU,EAAO,cACnB,CAAC,SACD,CACA,EAAQ,KAAK,GAEhB,EACF", | ||
| "debugId": "436F6D3CEBB3311E64756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260605042240_add_context_epoch_agent.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260605042240_add_context_epoch_agent\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`ALTER TABLE \\`session_context_epoch\\` ADD \\`agent\\` text DEFAULT 'build' NOT NULL;`)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,yCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,gFAAoF,EACnG,EAEL", | ||
| "debugId": "E987DE7E58BF769D64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260605003541_add_session_context_snapshot.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260605003541_add_session_context_snapshot\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`\n CREATE TABLE \\`session_context_epoch\\` (\n \\`session_id\\` text PRIMARY KEY,\n \\`baseline\\` text NOT NULL,\n \\`snapshot\\` text NOT NULL,\n \\`baseline_seq\\` integer NOT NULL,\n \\`replacement_seq\\` integer,\n \\`revision\\` integer DEFAULT 0 NOT NULL,\n CONSTRAINT \\`fk_session_context_epoch_session_id_session_id_fk\\` FOREIGN KEY (\\`session_id\\`) REFERENCES \\`session\\`(\\`id\\`) ON DELETE CASCADE\n );\n `)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,8CACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,gdAUb,EACF,EAEL", | ||
| "debugId": "2261F171401D1AC664756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "4EECD7C6C4A27B7964756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@ai-sdk+togetherai@2.0.41+d6123d32214422cb/node_modules/@ai-sdk/togetherai/dist/index.mjs"], | ||
| "sourcesContent": [ | ||
| "// src/togetherai-provider.ts\nimport {\n OpenAICompatibleChatLanguageModel,\n OpenAICompatibleCompletionLanguageModel,\n OpenAICompatibleEmbeddingModel\n} from \"@ai-sdk/openai-compatible\";\nimport {\n loadApiKey,\n withoutTrailingSlash,\n withUserAgentSuffix\n} from \"@ai-sdk/provider-utils\";\n\n// src/reranking/togetherai-reranking-model.ts\nimport {\n combineHeaders,\n createJsonErrorResponseHandler,\n createJsonResponseHandler,\n parseProviderOptions,\n postJsonToApi\n} from \"@ai-sdk/provider-utils\";\n\n// src/reranking/togetherai-reranking-api.ts\nimport { lazySchema, zodSchema } from \"@ai-sdk/provider-utils\";\nimport { z } from \"zod/v4\";\nvar togetheraiErrorSchema = lazySchema(\n () => zodSchema(\n z.object({\n error: z.object({\n message: z.string()\n })\n })\n )\n);\nvar togetheraiRerankingResponseSchema = lazySchema(\n () => zodSchema(\n z.object({\n id: z.string().nullish(),\n model: z.string().nullish(),\n results: z.array(\n z.object({\n index: z.number(),\n relevance_score: z.number()\n })\n ),\n usage: z.object({\n prompt_tokens: z.number(),\n completion_tokens: z.number(),\n total_tokens: z.number()\n })\n })\n )\n);\n\n// src/reranking/togetherai-reranking-options.ts\nimport { lazySchema as lazySchema2, zodSchema as zodSchema2 } from \"@ai-sdk/provider-utils\";\nimport { z as z2 } from \"zod/v4\";\nvar togetheraiRerankingModelOptionsSchema = lazySchema2(\n () => zodSchema2(\n z2.object({\n rankFields: z2.array(z2.string()).optional()\n })\n )\n);\n\n// src/reranking/togetherai-reranking-model.ts\nvar TogetherAIRerankingModel = class {\n constructor(modelId, config) {\n this.specificationVersion = \"v3\";\n this.modelId = modelId;\n this.config = config;\n }\n get provider() {\n return this.config.provider;\n }\n // see https://docs.together.ai/reference/rerank-1\n async doRerank({\n documents,\n headers,\n query,\n topN,\n abortSignal,\n providerOptions\n }) {\n var _a, _b;\n const rerankingOptions = await parseProviderOptions({\n provider: \"togetherai\",\n providerOptions,\n schema: togetheraiRerankingModelOptionsSchema\n });\n const {\n responseHeaders,\n value: response,\n rawValue\n } = await postJsonToApi({\n url: `${this.config.baseURL}/rerank`,\n headers: combineHeaders(this.config.headers(), headers),\n body: {\n model: this.modelId,\n documents: documents.values,\n query,\n top_n: topN,\n rank_fields: rerankingOptions == null ? void 0 : rerankingOptions.rankFields,\n return_documents: false\n // reduce response size\n },\n failedResponseHandler: createJsonErrorResponseHandler({\n errorSchema: togetheraiErrorSchema,\n errorToMessage: (data) => data.error.message\n }),\n successfulResponseHandler: createJsonResponseHandler(\n togetheraiRerankingResponseSchema\n ),\n abortSignal,\n fetch: this.config.fetch\n });\n return {\n ranking: response.results.map((result) => ({\n index: result.index,\n relevanceScore: result.relevance_score\n })),\n response: {\n id: (_a = response.id) != null ? _a : void 0,\n modelId: (_b = response.model) != null ? _b : void 0,\n headers: responseHeaders,\n body: rawValue\n }\n };\n }\n};\n\n// src/togetherai-image-model.ts\nimport {\n combineHeaders as combineHeaders2,\n convertImageModelFileToDataUri,\n createJsonResponseHandler as createJsonResponseHandler2,\n createJsonErrorResponseHandler as createJsonErrorResponseHandler2,\n lazySchema as lazySchema3,\n parseProviderOptions as parseProviderOptions2,\n postJsonToApi as postJsonToApi2,\n zodSchema as zodSchema3\n} from \"@ai-sdk/provider-utils\";\nimport { z as z3 } from \"zod/v4\";\nvar TogetherAIImageModel = class {\n constructor(modelId, config) {\n this.modelId = modelId;\n this.config = config;\n this.specificationVersion = \"v3\";\n this.maxImagesPerCall = 1;\n }\n get provider() {\n return this.config.provider;\n }\n async doGenerate({\n prompt,\n n,\n size,\n seed,\n providerOptions,\n headers,\n abortSignal,\n files,\n mask\n }) {\n var _a, _b, _c;\n const warnings = [];\n if (mask != null) {\n throw new Error(\n \"Together AI does not support mask-based image editing. Use FLUX Kontext models (e.g., black-forest-labs/FLUX.1-kontext-pro) with a reference image and descriptive prompt instead.\"\n );\n }\n if (size != null) {\n warnings.push({\n type: \"unsupported\",\n feature: \"aspectRatio\",\n details: \"This model does not support the `aspectRatio` option. Use `size` instead.\"\n });\n }\n const currentDate = (_c = (_b = (_a = this.config._internal) == null ? void 0 : _a.currentDate) == null ? void 0 : _b.call(_a)) != null ? _c : /* @__PURE__ */ new Date();\n const togetheraiOptions = await parseProviderOptions2({\n provider: \"togetherai\",\n providerOptions,\n schema: togetheraiImageModelOptionsSchema\n });\n let imageUrl;\n if (files != null && files.length > 0) {\n imageUrl = convertImageModelFileToDataUri(files[0]);\n if (files.length > 1) {\n warnings.push({\n type: \"other\",\n message: \"Together AI only supports a single input image. Additional images are ignored.\"\n });\n }\n }\n const splitSize = size == null ? void 0 : size.split(\"x\");\n const { value: response, responseHeaders } = await postJsonToApi2({\n url: `${this.config.baseURL}/images/generations`,\n headers: combineHeaders2(this.config.headers(), headers),\n body: {\n model: this.modelId,\n prompt,\n seed,\n ...n > 1 ? { n } : {},\n ...splitSize && {\n width: parseInt(splitSize[0]),\n height: parseInt(splitSize[1])\n },\n ...imageUrl != null ? { image_url: imageUrl } : {},\n response_format: \"base64\",\n ...togetheraiOptions != null ? togetheraiOptions : {}\n },\n failedResponseHandler: createJsonErrorResponseHandler2({\n errorSchema: togetheraiErrorSchema2,\n errorToMessage: (data) => data.error.message\n }),\n successfulResponseHandler: createJsonResponseHandler2(\n togetheraiImageResponseSchema\n ),\n abortSignal,\n fetch: this.config.fetch\n });\n return {\n images: response.data.map((item) => item.b64_json),\n warnings,\n response: {\n timestamp: currentDate,\n modelId: this.modelId,\n headers: responseHeaders\n }\n };\n }\n};\nvar togetheraiImageResponseSchema = z3.object({\n data: z3.array(\n z3.object({\n b64_json: z3.string()\n })\n )\n});\nvar togetheraiErrorSchema2 = z3.object({\n error: z3.object({\n message: z3.string()\n })\n});\nvar togetheraiImageModelOptionsSchema = lazySchema3(\n () => zodSchema3(\n z3.object({\n /**\n * Number of generation steps. Higher values can improve quality.\n */\n steps: z3.number().nullish(),\n /**\n * Guidance scale for image generation.\n */\n guidance: z3.number().nullish(),\n /**\n * Negative prompt to guide what to avoid.\n */\n negative_prompt: z3.string().nullish(),\n /**\n * Disable the safety checker for image generation.\n * When true, the API will not reject images flagged as potentially NSFW.\n * Not available for Flux Schnell Free and Flux Pro models.\n */\n disable_safety_checker: z3.boolean().nullish()\n }).passthrough()\n )\n);\n\n// src/version.ts\nvar VERSION = true ? \"2.0.41\" : \"0.0.0-test\";\n\n// src/togetherai-provider.ts\nfunction loadDeprecatedApiKey() {\n if (typeof process === \"undefined\") {\n return void 0;\n }\n if (typeof process.env.TOGETHER_API_KEY === \"string\") {\n return void 0;\n }\n const key = process.env.TOGETHER_AI_API_KEY;\n if (typeof key === \"string\") {\n console.warn(\n \"TOGETHER_AI_API_KEY is deprecated and will be removed in a future release. Please use TOGETHER_API_KEY instead.\"\n );\n }\n return key;\n}\nfunction createTogetherAI(options = {}) {\n var _a;\n const baseURL = withoutTrailingSlash(\n (_a = options.baseURL) != null ? _a : \"https://api.together.xyz/v1/\"\n );\n const getHeaders = () => {\n var _a2;\n return withUserAgentSuffix(\n {\n Authorization: `Bearer ${loadApiKey({\n apiKey: (_a2 = options.apiKey) != null ? _a2 : loadDeprecatedApiKey(),\n environmentVariableName: \"TOGETHER_API_KEY\",\n description: \"TogetherAI\"\n })}`,\n ...options.headers\n },\n `ai-sdk/togetherai/${VERSION}`\n );\n };\n const getCommonModelConfig = (modelType) => ({\n provider: `togetherai.${modelType}`,\n url: ({ path }) => `${baseURL}${path}`,\n headers: getHeaders,\n fetch: options.fetch\n });\n const createChatModel = (modelId) => {\n return new OpenAICompatibleChatLanguageModel(\n modelId,\n getCommonModelConfig(\"chat\")\n );\n };\n const createCompletionModel = (modelId) => new OpenAICompatibleCompletionLanguageModel(\n modelId,\n getCommonModelConfig(\"completion\")\n );\n const createEmbeddingModel = (modelId) => new OpenAICompatibleEmbeddingModel(\n modelId,\n getCommonModelConfig(\"embedding\")\n );\n const createImageModel = (modelId) => new TogetherAIImageModel(modelId, {\n ...getCommonModelConfig(\"image\"),\n baseURL: baseURL != null ? baseURL : \"https://api.together.xyz/v1/\"\n });\n const createRerankingModel = (modelId) => new TogetherAIRerankingModel(modelId, {\n ...getCommonModelConfig(\"reranking\"),\n baseURL: baseURL != null ? baseURL : \"https://api.together.xyz/v1/\"\n });\n const provider = (modelId) => createChatModel(modelId);\n provider.specificationVersion = \"v3\";\n provider.completionModel = createCompletionModel;\n provider.languageModel = createChatModel;\n provider.chatModel = createChatModel;\n provider.embeddingModel = createEmbeddingModel;\n provider.textEmbeddingModel = createEmbeddingModel;\n provider.image = createImageModel;\n provider.imageModel = createImageModel;\n provider.reranking = createRerankingModel;\n provider.rerankingModel = createRerankingModel;\n return provider;\n}\nvar togetherai = createTogetherAI();\nexport {\n VERSION,\n createTogetherAI,\n togetherai\n};\n//# sourceMappingURL=index.mjs.map" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "C65DF6A338F5292C64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@vercel+oidc@3.2.0/node_modules/@vercel/oidc/dist/token.js"], | ||
| "sourcesContent": [ | ||
| "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar token_exports = {};\n__export(token_exports, {\n refreshToken: () => refreshToken\n});\nmodule.exports = __toCommonJS(token_exports);\nvar import_token_error = require(\"./token-error\");\nvar import_token_util = require(\"./token-util\");\nasync function refreshToken(options) {\n let projectId = options?.project;\n let teamId = options?.team;\n if (!projectId && !teamId) {\n const projectInfo = (0, import_token_util.findProjectInfo)();\n projectId = projectInfo.projectId;\n teamId = projectInfo.teamId;\n } else if (!projectId || !teamId) {\n const projectInfo = (0, import_token_util.findProjectInfo)();\n projectId = projectId ?? projectInfo.projectId;\n teamId = teamId ?? projectInfo.teamId;\n }\n if (!projectId) {\n throw new import_token_error.VercelOidcTokenError(\n \"Failed to refresh OIDC token: No project specified. Try re-linking your project with `vc link`\"\n );\n }\n let maybeToken = (0, import_token_util.loadToken)(projectId);\n if (!maybeToken || (0, import_token_util.isExpired)((0, import_token_util.getTokenPayload)(maybeToken.token), options?.expirationBufferMs)) {\n const authToken = await (0, import_token_util.getVercelToken)({\n expirationBufferMs: options?.expirationBufferMs\n });\n maybeToken = await (0, import_token_util.getVercelOidcToken)(authToken, projectId, teamId);\n if (!maybeToken) {\n throw new import_token_error.VercelOidcTokenError(\"Failed to refresh OIDC token\");\n }\n (0, import_token_util.saveToken)(maybeToken, projectId);\n }\n process.env.VERCEL_OIDC_TOKEN = maybeToken.token;\n return;\n}\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n refreshToken\n});\n" | ||
| ], | ||
| "mappings": ";2HACA,SAAuB,eAAnB,EAC0B,yBAA1B,EAC2B,oBAA3B,GADmB,OAEnB,EAAe,OAAO,UAAU,eAChC,EAAW,CAAC,EAAQ,IAAQ,CAC9B,QAAS,KAAQ,EACf,EAAU,EAAQ,EAAM,CAAE,IAAK,EAAI,GAAO,WAAY,EAAK,CAAC,GAE5D,EAAc,CAAC,EAAI,EAAM,EAAQ,IAAS,CAC5C,GAAI,GAAQ,OAAO,IAAS,UAAY,OAAO,IAAS,YACtD,QAAS,KAAO,EAAkB,CAAI,EACpC,GAAI,CAAC,EAAa,KAAK,EAAI,CAAG,GAAK,IAAQ,EACzC,EAAU,EAAI,EAAK,CAAE,IAAK,IAAM,EAAK,GAAM,WAAY,EAAE,EAAO,EAAiB,EAAM,CAAG,IAAM,EAAK,UAAW,CAAC,EAEvH,OAAO,GAEL,EAAe,CAAC,IAAQ,EAAY,EAAU,CAAC,EAAG,aAAc,CAAE,MAAO,EAAK,CAAC,EAAG,CAAG,EACrF,EAAgB,CAAC,EACrB,EAAS,EAAe,CACtB,aAAc,IAAM,CACtB,CAAC,EACD,EAAO,QAAU,EAAa,CAAa,EAC3C,IAAI,MACA,MACJ,eAAe,CAAY,CAAC,EAAS,CACnC,IAAI,EAAY,GAAS,QACrB,EAAS,GAAS,KACtB,GAAI,CAAC,GAAa,CAAC,EAAQ,CACzB,IAAM,GAAe,EAAG,EAAkB,iBAAiB,EAC3D,EAAY,EAAY,UACxB,EAAS,EAAY,OAChB,QAAI,CAAC,GAAa,CAAC,EAAQ,CAChC,IAAM,GAAe,EAAG,EAAkB,iBAAiB,EAC3D,EAAY,GAAa,EAAY,UACrC,EAAS,GAAU,EAAY,OAEjC,GAAI,CAAC,EACH,MAAM,IAAI,EAAmB,qBAC3B,gGACF,EAEF,IAAI,GAAc,EAAG,EAAkB,WAAW,CAAS,EAC3D,GAAI,CAAC,IAAe,EAAG,EAAkB,YAAY,EAAG,EAAkB,iBAAiB,EAAW,KAAK,EAAG,GAAS,kBAAkB,EAAG,CAC1I,IAAM,EAAY,MAAO,EAAG,EAAkB,gBAAgB,CAC5D,mBAAoB,GAAS,kBAC/B,CAAC,EAED,GADA,EAAa,MAAO,EAAG,EAAkB,oBAAoB,EAAW,EAAW,CAAM,EACrF,CAAC,EACH,MAAM,IAAI,EAAmB,qBAAqB,8BAA8B,GAEjF,EAAG,EAAkB,WAAW,EAAY,CAAS,EAExD,QAAQ,IAAI,kBAAoB,EAAW,MAC3C", | ||
| "debugId": "A1D53272B963B47864756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../simulation/src/backend/llm-exchange.ts", "../simulation/src/backend/control.ts", "../simulation/src/backend/network.ts", "../simulation/src/backend/openai.ts", "../simulation/src/backend/index.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect, Queue } from \"effect\"\n\n/**\n * Pending driver-answered LLM exchanges.\n *\n * When the simulated network receives a provider request it opens an\n * exchange: the parsed request body plus a queue of response chunks. The\n * simulation control WebSocket notifies the external driver, and the driver\n * pushes chunks back until it finishes the exchange. The driver is the\n * model; nothing is scripted or enqueued server-side.\n *\n * Process-global by design (plain module state, like the network route\n * table): the simulated network and the control server must observe the same\n * exchanges regardless of which layer instance touched them.\n */\n\n/** One response item the driver sends back. Compiled to provider wire chunks by the endpoint. */\nexport type Item =\n | { readonly type: \"textDelta\"; readonly text: string }\n | { readonly type: \"reasoningDelta\"; readonly text: string }\n | {\n readonly type: \"toolCall\"\n readonly index: number\n readonly id: string\n readonly name: string\n readonly input: unknown\n }\n | { readonly type: \"raw\"; readonly chunk: unknown }\n\nexport type FinishReason = \"stop\" | \"tool-calls\" | \"length\" | \"content-filter\"\n\nexport type Chunk =\n | { readonly type: \"item\"; readonly item: Item }\n | { readonly type: \"finish\"; readonly reason: FinishReason }\n\nexport interface Exchange {\n readonly id: string\n readonly url: string\n readonly body: unknown\n readonly queue: Queue.Queue<Chunk>\n}\n\nexport interface OpenedExchange {\n readonly id: string\n readonly url: string\n readonly body: unknown\n}\n\nconst state = {\n counter: 0,\n exchanges: new Map<string, Exchange>(),\n listeners: new Set<(exchange: OpenedExchange) => void>(),\n}\n\nexport class ExchangeNotFoundError extends Error {\n constructor(id: string) {\n super(`Simulation LLM exchange not found or already finished: ${id}`)\n }\n}\n\n/** Opens an exchange and notifies listeners. Called by the simulated provider endpoint. */\nexport const open = (input: { readonly url: string; readonly body: unknown }) =>\n Effect.gen(function* () {\n const id = `ex_${++state.counter}`\n const queue = yield* Queue.unbounded<Chunk>()\n const exchange: Exchange = { id, url: input.url, body: input.body, queue }\n state.exchanges.set(id, exchange)\n for (const listener of state.listeners) listener({ id, url: input.url, body: input.body })\n return exchange\n })\n\n/** Closes an exchange without consuming remaining chunks (response interrupted or finished). */\nexport const close = (id: string) =>\n Effect.suspend(() => {\n const exchange = state.exchanges.get(id)\n state.exchanges.delete(id)\n if (!exchange) return Effect.void\n return Queue.shutdown(exchange.queue).pipe(Effect.asVoid)\n })\n\n/** Appends response chunks to an open exchange. Driver-facing. */\nexport const push = (id: string, chunks: readonly Chunk[]) =>\n Effect.gen(function* () {\n const exchange = state.exchanges.get(id)\n if (!exchange) return yield* Effect.fail(new ExchangeNotFoundError(id))\n yield* Queue.offerAll(exchange.queue, chunks)\n })\n\n/** Abruptly ends the provider body without a finish chunk or SSE sentinel. */\nexport const disconnect = (id: string) =>\n Effect.gen(function* () {\n const exchange = state.exchanges.get(id)\n if (!exchange) return yield* Effect.fail(new ExchangeNotFoundError(id))\n yield* Queue.shutdown(exchange.queue)\n })\n\n/**\n * Registers a listener for newly opened exchanges and immediately replays\n * currently-pending ones, so a late-attaching driver observes requests that\n * arrived before it connected. Returns an unsubscribe function.\n */\nexport function subscribe(listener: (exchange: OpenedExchange) => void) {\n state.listeners.add(listener)\n for (const exchange of pending()) listener(exchange)\n return () => {\n state.listeners.delete(listener)\n }\n}\n\n/** Snapshot of currently open exchanges, for control-surface inspection. */\nexport function pending(): OpenedExchange[] {\n return [...state.exchanges.values()].map((exchange) => ({\n id: exchange.id,\n url: exchange.url,\n body: exchange.body,\n }))\n}\n\nexport * as SimulationLLMExchange from \"./llm-exchange\"\n", | ||
| "import { Effect } from \"effect\"\nimport { SimulationProtocol } from \"../protocol\"\nimport { SimulationLLMExchange } from \"./llm-exchange\"\n\n/**\n * Backend-hosted simulation control WebSocket.\n *\n * JSON-RPC 2.0 over a loopback WebSocket, mirroring the protocol of the TUI\n * simulation server. Drivers connect directly (standalone topology; no\n * frontend proxy) to answer LLM exchanges and inspect the simulated network.\n * This is also the headless-simulation interface: it works with no TUI at\n * all.\n *\n * Methods:\n * - `llm.attach` -> subscribe; pending and future exchanges arrive\n * as `llm.request` notifications\n * - `llm.chunk` { id, items } append response items to an exchange\n * - `llm.finish` { id, reason? } finish an exchange\n * - `llm.disconnect` { id } abruptly terminate an exchange without a finish\n * - `llm.pending` list open exchanges\n */\n\ntype ControlSocket = Bun.ServerWebSocket<{ unsubscribe?: () => void }>\n\nfunction parseRequest(input: string | Buffer) {\n return SimulationProtocol.Backend.decodeRequest(JSON.parse(typeof input === \"string\" ? input : input.toString()))\n}\n\nasync function handle(socket: ControlSocket, request: SimulationProtocol.Backend.Request): Promise<unknown> {\n switch (request.method) {\n case \"llm.attach\": {\n socket.data.unsubscribe?.()\n socket.data.unsubscribe = SimulationLLMExchange.subscribe((exchange) => {\n socket.send(JSON.stringify({ jsonrpc: \"2.0\", method: \"llm.request\", params: exchange }))\n })\n return { attached: true }\n }\n case \"llm.chunk\": {\n await Effect.runPromise(\n SimulationLLMExchange.push(\n request.params.id,\n request.params.items.map((item) => ({ type: \"item\", item }) as const),\n ),\n )\n return { ok: true }\n }\n case \"llm.finish\": {\n await Effect.runPromise(\n SimulationLLMExchange.push(request.params.id, [{ type: \"finish\", reason: request.params.reason }]),\n )\n return { ok: true }\n }\n case \"llm.disconnect\": {\n await Effect.runPromise(SimulationLLMExchange.disconnect(request.params.id))\n return { ok: true }\n }\n case \"llm.pending\":\n return { exchanges: SimulationLLMExchange.pending() }\n }\n}\n\nexport function start(endpoint: string) {\n const url = new URL(endpoint)\n const server = Bun.serve<{ unsubscribe?: () => void }>({\n hostname: url.hostname,\n port: Number(url.port),\n fetch(request, server) {\n if (server.upgrade(request, { data: {} })) return undefined\n return new Response(\"opencode drive backend websocket\", { status: 426 })\n },\n websocket: {\n close(socket) {\n socket.data.unsubscribe?.()\n },\n async message(socket, message) {\n let request: SimulationProtocol.Backend.Request | undefined\n try {\n request = parseRequest(message)\n const result = await handle(socket, request)\n const response = SimulationProtocol.JsonRpc.success(request.id, result)\n if (response) socket.send(JSON.stringify(response))\n } catch (error) {\n socket.send(JSON.stringify(SimulationProtocol.JsonRpc.failure(request?.id, error)))\n }\n },\n },\n })\n process.stderr.write(`opencode drive backend websocket: ${endpoint}\\n`)\n return {\n url: endpoint,\n stop: () => {\n server.stop(true)\n },\n }\n}\n\nexport * as SimulationControl from \"./control\"\n", | ||
| "import { Effect, Layer } from \"effect\"\nimport { HttpClient, HttpClientResponse } from \"effect/unstable/http\"\nimport { HttpClientError, TransportError } from \"effect/unstable/http/HttpClientError\"\nimport type { HttpClientRequest } from \"effect/unstable/http\"\n\n/**\n * Simulated network.\n *\n * Replaces the `HttpClient.HttpClient` platform node in simulation mode. All\n * outbound HTTP resolves against an in-memory route table; unknown\n * destinations fail loudly with a transport error so no simulation run can\n * silently reach the real network. The scripted LLM is one registered route,\n * not a separate mechanism.\n *\n * The route table is process-global module state so the control surface and\n * the client layer observe the same registrations.\n */\n\nexport interface Route {\n /** Return a response effect to claim the request, undefined to pass. */\n readonly match: (\n request: HttpClientRequest.HttpClientRequest,\n url: URL,\n ) => Effect.Effect<HttpClientResponse.HttpClientResponse> | undefined\n}\n\ninterface LogEntry {\n readonly time: number\n readonly method: string\n readonly url: string\n readonly matched: boolean\n}\n\nconst state = {\n routes: [] as Route[],\n log: [] as LogEntry[],\n}\n\nconst LOG_LIMIT = 1000\n\nexport function register(route: Route) {\n state.routes.push(route)\n return () => {\n const index = state.routes.indexOf(route)\n if (index >= 0) state.routes.splice(index, 1)\n }\n}\n\n/** Static JSON route: exact method + origin/path match answered with a fixed body. */\nexport function json(method: string, url: string, body: unknown): Route {\n return {\n match: (request, requestUrl) => {\n if (request.method !== method) return undefined\n if (requestUrl.origin + requestUrl.pathname !== url) return undefined\n return Effect.sync(() =>\n HttpClientResponse.fromWeb(\n request,\n new Response(JSON.stringify(body), { status: 200, headers: { \"content-type\": \"application/json\" } }),\n ),\n )\n },\n }\n}\n\nexport function log(): readonly LogEntry[] {\n return state.log\n}\n\nfunction record(entry: LogEntry) {\n state.log.push(entry)\n if (state.log.length > LOG_LIMIT) state.log.splice(0, state.log.length - LOG_LIMIT)\n}\n\nexport const layer = Layer.sync(HttpClient.HttpClient)(() =>\n HttpClient.make((request, url) =>\n Effect.suspend(() => {\n const matched = state.routes\n .map((route) => route.match(request, url))\n .find((response) => response !== undefined)\n record({ time: Date.now(), method: request.method, url: url.toString(), matched: matched !== undefined })\n if (matched) return matched\n return Effect.fail(\n new HttpClientError({\n reason: new TransportError({\n request,\n description: `Simulation denied unregistered network destination: ${request.method} ${url}`,\n }),\n }),\n )\n }),\n ),\n)\n\nexport * as SimulationNetwork from \"./network\"\n", | ||
| "import { Effect, Schema, Stream } from \"effect\"\nimport { HttpClientResponse } from \"effect/unstable/http\"\nimport { OpenAIChatEvent, DEFAULT_BASE_URL, PATH } from \"@opencode-ai/llm/protocols/openai-chat\"\nimport { SimulationLLMExchange } from \"./llm-exchange\"\nimport { SimulationNetwork } from \"./network\"\n\n/**\n * Driver-answered OpenAI endpoint for the simulated network.\n *\n * Claims `POST {DEFAULT_BASE_URL}{PATH}` (the real openai-chat route\n * endpoint), opens an LLM exchange, and streams the driver's chunks back as\n * an OpenAI Chat SSE response terminated by `[DONE]`. Everything downstream\n * of the response bytes is the real pipeline: SSE framing, the OpenAIChat\n * event schema, the protocol state machine, and Lifecycle grammar.\n */\n\nconst encodeChunk = Schema.encodeUnknownSync(OpenAIChatEvent)\n\nconst encoder = new TextEncoder()\n\n// The simulated model id is echoed back only in non-schema fields; the\n// protocol event schema ignores unknown fields, so id/object/model are\n// decorative wire realism.\nfunction chunkOf(item: SimulationLLMExchange.Item): OpenAIChatEvent | unknown {\n if (item.type === \"textDelta\") return { choices: [{ delta: { content: item.text } }] }\n if (item.type === \"reasoningDelta\") return { choices: [{ delta: { reasoning_content: item.text } }] }\n if (item.type === \"toolCall\")\n return {\n choices: [\n {\n delta: {\n tool_calls: [\n {\n index: item.index,\n id: item.id,\n function: { name: item.name, arguments: JSON.stringify(item.input) },\n },\n ],\n },\n },\n ],\n }\n return item.chunk\n}\n\nconst finishReasonWire: Record<SimulationLLMExchange.FinishReason, string> = {\n stop: \"stop\",\n \"tool-calls\": \"tool_calls\",\n length: \"length\",\n \"content-filter\": \"content_filter\",\n}\n\nfunction frame(payload: unknown): Uint8Array {\n return encoder.encode(`data: ${JSON.stringify(payload)}\\n\\n`)\n}\n\nfunction sseBody(exchange: SimulationLLMExchange.Exchange): Stream.Stream<Uint8Array> {\n const chunks = Stream.fromQueue(exchange.queue).pipe(\n Stream.takeUntil((chunk) => chunk.type === \"finish\"),\n Stream.map((chunk) => {\n if (chunk.type === \"finish\")\n return frame(encodeChunk({ choices: [{ delta: {}, finish_reason: finishReasonWire[chunk.reason] }] }))\n if (chunk.item.type === \"raw\") return frame(chunk.item.chunk)\n return frame(encodeChunk(chunkOf(chunk.item)))\n }),\n )\n return chunks.pipe(\n Stream.concat(Stream.make(encoder.encode(\"data: [DONE]\\n\\n\"))),\n // Close the exchange when the response body ends or is interrupted, so\n // late driver pushes fail with ExchangeNotFoundError instead of leaking.\n Stream.ensuring(SimulationLLMExchange.close(exchange.id)),\n )\n}\n\nexport const route: SimulationNetwork.Route = {\n match: (request, url) => {\n if (request.method !== \"POST\") return undefined\n if (url.origin + url.pathname !== DEFAULT_BASE_URL + PATH) return undefined\n return Effect.gen(function* () {\n const body = request.body._tag === \"Uint8Array\" ? JSON.parse(new TextDecoder().decode(request.body.body)) : {}\n const exchange = yield* SimulationLLMExchange.open({ url: url.toString(), body })\n return HttpClientResponse.fromWeb(\n request,\n new Response(Stream.toReadableStream(sseBody(exchange)), {\n status: 200,\n headers: { \"content-type\": \"text/event-stream\" },\n }),\n )\n })\n },\n}\n\nexport * as SimulationOpenAI from \"./openai\"\n", | ||
| "import { LayerNode } from \"@opencode-ai/core/effect/layer-node\"\nimport { httpClient } from \"@opencode-ai/core/effect/app-node-platform\"\nimport { DriveManifest } from \"../manifest\"\nimport { SimulationControl } from \"./control\"\nimport { SimulationNetwork } from \"./network\"\nimport { SimulationOpenAI } from \"./openai\"\n\n/**\n * Layer replacements applied when the server is built in simulation mode.\n *\n * The server merges these into the app node build when `OPENCODE_SIMULATE`\n * is enabled, via a dynamic import so this module is never loaded eagerly.\n *\n * - Network: all outbound HTTP resolves against the simulated route table;\n * unknown destinations are denied. The driver-answered OpenAI endpoint is\n * registered here as the first route.\n *\n */\n\nSimulationNetwork.register(SimulationOpenAI.route)\n// ModelsDev dies when its catalog fetch fails, so simulation answers it with\n// an empty catalog; providers come from seeded config instead.\nSimulationNetwork.register(SimulationNetwork.json(\"GET\", \"https://models.dev/api.json\", {}))\n\nexport function startDriveServer() {\n return SimulationControl.start(DriveManifest.resolve().endpoints.backend)\n}\n\nexport const simulationReplacements: LayerNode.Replacements = [\n [httpClient, SimulationNetwork.layer],\n]\n\nexport * as Simulation from \"./index\"\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "E1CBCAC5704E469B64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["src/commands/handlers/debug/agents.ts"], | ||
| "sourcesContent": [ | ||
| "import { EOL } from \"os\"\nimport { Effect } from \"effect\"\nimport { createOpencodeClient } from \"@opencode-ai/sdk/v2/client\"\nimport { Commands } from \"../../commands\"\nimport { Runtime } from \"../../../framework/runtime\"\nimport { Service } from \"@opencode-ai/client/effect\"\nimport { ServiceConfig } from \"../../../services/service-config\"\n\nexport default Runtime.handler(\n Commands.commands.debug.commands.agents,\n Effect.fn(\"cli.debug.agents\")(function* () {\n const options = yield* ServiceConfig.options()\n const found = yield* Service.discover(options)\n const endpoint = found ?? (yield* Service.start(options))\n const client = createOpencodeClient({ baseUrl: endpoint.url, headers: Service.headers(endpoint) })\n const response = yield* Effect.promise(() => client.v2.agent.list({ location: { directory: process.cwd() } }))\n process.stdout.write(\n JSON.stringify(\n response.data?.data.toSorted((a, b) => a.id.localeCompare(b.id)),\n null,\n 2,\n ) + EOL,\n )\n }),\n)\n" | ||
| ], | ||
| "mappings": ";krBAAA,mBAAS,gBAQT,SAAe,SAAQ,aACrB,OAAS,cAAS,WAAM,cAAS,YACjC,OAAO,QAAG,uBAAkB,OAAE,cAAU,OAAG,MACzC,IAAM,EAAU,MAAO,EAAc,QAAQ,EAEvC,GADQ,MAAO,EAAQ,SAAS,CAAO,KAClB,MAAO,EAAQ,MAAM,CAAO,GACjD,EAAS,EAAqB,CAAE,QAAS,EAAS,IAAK,QAAS,EAAQ,QAAQ,CAAQ,CAAE,CAAC,EAC3F,EAAW,MAAO,EAAO,QAAQ,IAAM,EAAO,GAAG,MAAM,KAAK,CAAE,SAAU,CAAE,UAAW,QAAQ,IAAI,CAAE,CAAE,CAAC,CAAC,EAC7G,QAAQ,OAAO,MACb,KAAK,UACH,EAAS,MAAM,KAAK,SAAS,CAAC,EAAG,IAAM,EAAE,GAAG,cAAc,EAAE,EAAE,CAAC,EAC/D,KACA,CACF,EAAI,CACN,EACD,CACH", | ||
| "debugId": "4A490A6E58FE16A864756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260423070820_add_icon_url_override.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260423070820_add_icon_url_override\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`\n ALTER TABLE \\`project\\` ADD \\`icon_url_override\\` text;\n UPDATE \\`project\\` SET \\`icon_url_override\\` = \\`icon_url\\` WHERE \\`icon_url\\` IS NOT NULL;\n `)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,uCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,oKAGb,EACF,EAEL", | ||
| "debugId": "BC02AF7760FA5B7B64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260413175956_chief_energizer.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260413175956_chief_energizer\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`\n CREATE TABLE \\`session_entry\\` (\n \\`id\\` text PRIMARY KEY,\n \\`session_id\\` text NOT NULL,\n \\`type\\` text NOT NULL,\n \\`time_created\\` integer NOT NULL,\n \\`time_updated\\` integer NOT NULL,\n \\`data\\` text NOT NULL,\n CONSTRAINT \\`fk_session_entry_session_id_session_id_fk\\` FOREIGN KEY (\\`session_id\\`) REFERENCES \\`session\\`(\\`id\\`) ON DELETE CASCADE\n );\n `)\n yield* tx.run(`CREATE INDEX \\`session_entry_session_idx\\` ON \\`session_entry\\` (\\`session_id\\`);`)\n yield* tx.run(`CREATE INDEX \\`session_entry_session_type_idx\\` ON \\`session_entry\\` (\\`session_id\\`,\\`type\\`);`)\n yield* tx.run(`CREATE INDEX \\`session_entry_time_created_idx\\` ON \\`session_entry\\` (\\`time_created\\`);`)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,iCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,2aAUb,EACD,MAAO,EAAG,IAAI,6EAAmF,EACjG,MAAO,EAAG,IAAI,yFAAiG,EAC/G,MAAO,EAAG,IAAI,oFAA0F,EACzG,EAEL", | ||
| "debugId": "84B86D8B035CB29864756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@opentelemetry+resources@2.6.1+460773ef8ff1e07c/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/machine-id/getMachineId-linux.js"], | ||
| "sourcesContent": [ | ||
| "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getMachineId = void 0;\n/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nconst fs_1 = require(\"fs\");\nconst api_1 = require(\"@opentelemetry/api\");\nasync function getMachineId() {\n const paths = ['/etc/machine-id', '/var/lib/dbus/machine-id'];\n for (const path of paths) {\n try {\n const result = await fs_1.promises.readFile(path, { encoding: 'utf8' });\n return result.trim();\n }\n catch (e) {\n api_1.diag.debug(`error reading machine id: ${e}`);\n }\n }\n return undefined;\n}\nexports.getMachineId = getMachineId;\n//# sourceMappingURL=getMachineId-linux.js.map" | ||
| ], | ||
| "mappings": ";yHACA,YAAO,eAAe,EAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EACpD,eAAoB,OAK5B,IAAM,UACA,MACN,eAAe,CAAY,EAAG,CAC1B,IAAM,EAAQ,CAAC,kBAAmB,0BAA0B,EAC5D,QAAW,KAAQ,EACf,GAAI,CAEA,OADe,MAAM,EAAK,SAAS,SAAS,EAAM,CAAE,SAAU,MAAO,CAAC,GACxD,KAAK,EAEvB,MAAO,EAAG,CACN,EAAM,KAAK,MAAM,6BAA6B,GAAG,EAGzD,OAEI,eAAe", | ||
| "debugId": "93F998022CBCAB8E64756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/tslib@2.8.1/node_modules/tslib/tslib.js", "../../node_modules/.bun/@smithy+is-array-buffer@2.2.0/node_modules/@smithy/is-array-buffer/dist-cjs/index.js", "../../node_modules/.bun/@smithy+util-buffer-from@2.2.0/node_modules/@smithy/util-buffer-from/dist-cjs/index.js", "../../node_modules/.bun/@smithy+util-utf8@2.3.0/node_modules/@smithy/util-utf8/dist-cjs/index.js", "../../node_modules/.bun/@aws-crypto+util@5.2.0/node_modules/@aws-crypto/util/build/main/convertToBuffer.js", "../../node_modules/.bun/@aws-crypto+util@5.2.0/node_modules/@aws-crypto/util/build/main/isEmptyData.js", "../../node_modules/.bun/@aws-crypto+util@5.2.0/node_modules/@aws-crypto/util/build/main/numToUint8.js", "../../node_modules/.bun/@aws-crypto+util@5.2.0/node_modules/@aws-crypto/util/build/main/uint32ArrayFrom.js", "../../node_modules/.bun/@aws-crypto+util@5.2.0/node_modules/@aws-crypto/util/build/main/index.js", "../../node_modules/.bun/@aws-crypto+crc32@5.2.0/node_modules/@aws-crypto/crc32/build/main/aws_crc32.js", "../../node_modules/.bun/@aws-crypto+crc32@5.2.0/node_modules/@aws-crypto/crc32/build/main/index.js"], | ||
| "sourcesContent": [ | ||
| "/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global global, define, Symbol, Reflect, Promise, SuppressedError, Iterator */\r\nvar __extends;\r\nvar __assign;\r\nvar __rest;\r\nvar __decorate;\r\nvar __param;\r\nvar __esDecorate;\r\nvar __runInitializers;\r\nvar __propKey;\r\nvar __setFunctionName;\r\nvar __metadata;\r\nvar __awaiter;\r\nvar __generator;\r\nvar __exportStar;\r\nvar __values;\r\nvar __read;\r\nvar __spread;\r\nvar __spreadArrays;\r\nvar __spreadArray;\r\nvar __await;\r\nvar __asyncGenerator;\r\nvar __asyncDelegator;\r\nvar __asyncValues;\r\nvar __makeTemplateObject;\r\nvar __importStar;\r\nvar __importDefault;\r\nvar __classPrivateFieldGet;\r\nvar __classPrivateFieldSet;\r\nvar __classPrivateFieldIn;\r\nvar __createBinding;\r\nvar __addDisposableResource;\r\nvar __disposeResources;\r\nvar __rewriteRelativeImportExtension;\r\n(function (factory) {\r\n var root = typeof global === \"object\" ? global : typeof self === \"object\" ? self : typeof this === \"object\" ? this : {};\r\n if (typeof define === \"function\" && define.amd) {\r\n define(\"tslib\", [\"exports\"], function (exports) { factory(createExporter(root, createExporter(exports))); });\r\n }\r\n else if (typeof module === \"object\" && typeof module.exports === \"object\") {\r\n factory(createExporter(root, createExporter(module.exports)));\r\n }\r\n else {\r\n factory(createExporter(root));\r\n }\r\n function createExporter(exports, previous) {\r\n if (exports !== root) {\r\n if (typeof Object.create === \"function\") {\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n }\r\n else {\r\n exports.__esModule = true;\r\n }\r\n }\r\n return function (id, v) { return exports[id] = previous ? previous(id, v) : v; };\r\n }\r\n})\r\n(function (exporter) {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n\r\n __extends = function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n\r\n __assign = Object.assign || function (t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n\r\n __rest = function (s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n };\r\n\r\n __decorate = function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n };\r\n\r\n __param = function (paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n };\r\n\r\n __esDecorate = function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n };\r\n\r\n __runInitializers = function (thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n };\r\n\r\n __propKey = function (x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n };\r\n\r\n __setFunctionName = function (f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n };\r\n\r\n __metadata = function (metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n };\r\n\r\n __awaiter = function (thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n };\r\n\r\n __generator = function (thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n };\r\n\r\n __exportStar = function(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n };\r\n\r\n __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n }) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n });\r\n\r\n __values = function (o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n };\r\n\r\n __read = function (o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n };\r\n\r\n /** @deprecated */\r\n __spread = function () {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n };\r\n\r\n /** @deprecated */\r\n __spreadArrays = function () {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n };\r\n\r\n __spreadArray = function (to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n };\r\n\r\n __await = function (v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n };\r\n\r\n __asyncGenerator = function (thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n };\r\n\r\n __asyncDelegator = function (o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n };\r\n\r\n __asyncValues = function (o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n };\r\n\r\n __makeTemplateObject = function (cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n };\r\n\r\n var __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n }) : function(o, v) {\r\n o[\"default\"] = v;\r\n };\r\n\r\n var ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n };\r\n\r\n __importStar = function (mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n };\r\n\r\n __importDefault = function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n };\r\n\r\n __classPrivateFieldGet = function (receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n };\r\n\r\n __classPrivateFieldSet = function (receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n };\r\n\r\n __classPrivateFieldIn = function (state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n };\r\n\r\n __addDisposableResource = function (env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n };\r\n\r\n var _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n };\r\n\r\n __disposeResources = function (env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n };\r\n\r\n __rewriteRelativeImportExtension = function (path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n };\r\n\r\n exporter(\"__extends\", __extends);\r\n exporter(\"__assign\", __assign);\r\n exporter(\"__rest\", __rest);\r\n exporter(\"__decorate\", __decorate);\r\n exporter(\"__param\", __param);\r\n exporter(\"__esDecorate\", __esDecorate);\r\n exporter(\"__runInitializers\", __runInitializers);\r\n exporter(\"__propKey\", __propKey);\r\n exporter(\"__setFunctionName\", __setFunctionName);\r\n exporter(\"__metadata\", __metadata);\r\n exporter(\"__awaiter\", __awaiter);\r\n exporter(\"__generator\", __generator);\r\n exporter(\"__exportStar\", __exportStar);\r\n exporter(\"__createBinding\", __createBinding);\r\n exporter(\"__values\", __values);\r\n exporter(\"__read\", __read);\r\n exporter(\"__spread\", __spread);\r\n exporter(\"__spreadArrays\", __spreadArrays);\r\n exporter(\"__spreadArray\", __spreadArray);\r\n exporter(\"__await\", __await);\r\n exporter(\"__asyncGenerator\", __asyncGenerator);\r\n exporter(\"__asyncDelegator\", __asyncDelegator);\r\n exporter(\"__asyncValues\", __asyncValues);\r\n exporter(\"__makeTemplateObject\", __makeTemplateObject);\r\n exporter(\"__importStar\", __importStar);\r\n exporter(\"__importDefault\", __importDefault);\r\n exporter(\"__classPrivateFieldGet\", __classPrivateFieldGet);\r\n exporter(\"__classPrivateFieldSet\", __classPrivateFieldSet);\r\n exporter(\"__classPrivateFieldIn\", __classPrivateFieldIn);\r\n exporter(\"__addDisposableResource\", __addDisposableResource);\r\n exporter(\"__disposeResources\", __disposeResources);\r\n exporter(\"__rewriteRelativeImportExtension\", __rewriteRelativeImportExtension);\r\n});\r\n\r\n0 && (module.exports = {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __exportStar: __exportStar,\r\n __createBinding: __createBinding,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n});\r\n", | ||
| "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar src_exports = {};\n__export(src_exports, {\n isArrayBuffer: () => isArrayBuffer\n});\nmodule.exports = __toCommonJS(src_exports);\nvar isArrayBuffer = /* @__PURE__ */ __name((arg) => typeof ArrayBuffer === \"function\" && arg instanceof ArrayBuffer || Object.prototype.toString.call(arg) === \"[object ArrayBuffer]\", \"isArrayBuffer\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n isArrayBuffer\n});\n\n", | ||
| "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar src_exports = {};\n__export(src_exports, {\n fromArrayBuffer: () => fromArrayBuffer,\n fromString: () => fromString\n});\nmodule.exports = __toCommonJS(src_exports);\nvar import_is_array_buffer = require(\"@smithy/is-array-buffer\");\nvar import_buffer = require(\"buffer\");\nvar fromArrayBuffer = /* @__PURE__ */ __name((input, offset = 0, length = input.byteLength - offset) => {\n if (!(0, import_is_array_buffer.isArrayBuffer)(input)) {\n throw new TypeError(`The \"input\" argument must be ArrayBuffer. Received type ${typeof input} (${input})`);\n }\n return import_buffer.Buffer.from(input, offset, length);\n}, \"fromArrayBuffer\");\nvar fromString = /* @__PURE__ */ __name((input, encoding) => {\n if (typeof input !== \"string\") {\n throw new TypeError(`The \"input\" argument must be of type string. Received type ${typeof input} (${input})`);\n }\n return encoding ? import_buffer.Buffer.from(input, encoding) : import_buffer.Buffer.from(input);\n}, \"fromString\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n fromArrayBuffer,\n fromString\n});\n\n", | ||
| "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar src_exports = {};\n__export(src_exports, {\n fromUtf8: () => fromUtf8,\n toUint8Array: () => toUint8Array,\n toUtf8: () => toUtf8\n});\nmodule.exports = __toCommonJS(src_exports);\n\n// src/fromUtf8.ts\nvar import_util_buffer_from = require(\"@smithy/util-buffer-from\");\nvar fromUtf8 = /* @__PURE__ */ __name((input) => {\n const buf = (0, import_util_buffer_from.fromString)(input, \"utf8\");\n return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength / Uint8Array.BYTES_PER_ELEMENT);\n}, \"fromUtf8\");\n\n// src/toUint8Array.ts\nvar toUint8Array = /* @__PURE__ */ __name((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}, \"toUint8Array\");\n\n// src/toUtf8.ts\n\nvar toUtf8 = /* @__PURE__ */ __name((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 (0, import_util_buffer_from.fromArrayBuffer)(input.buffer, input.byteOffset, input.byteLength).toString(\"utf8\");\n}, \"toUtf8\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n fromUtf8,\n toUint8Array,\n toUtf8\n});\n\n", | ||
| "\"use strict\";\n// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.convertToBuffer = void 0;\nvar util_utf8_1 = require(\"@smithy/util-utf8\");\n// Quick polyfill\nvar fromUtf8 = typeof Buffer !== \"undefined\" && Buffer.from\n ? function (input) { return Buffer.from(input, \"utf8\"); }\n : util_utf8_1.fromUtf8;\nfunction convertToBuffer(data) {\n // Already a Uint8, do nothing\n if (data instanceof Uint8Array)\n return 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}\nexports.convertToBuffer = convertToBuffer;\n//# sourceMappingURL=convertToBuffer.js.map", | ||
| "\"use strict\";\n// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isEmptyData = void 0;\nfunction isEmptyData(data) {\n if (typeof data === \"string\") {\n return data.length === 0;\n }\n return data.byteLength === 0;\n}\nexports.isEmptyData = isEmptyData;\n//# sourceMappingURL=isEmptyData.js.map", | ||
| "\"use strict\";\n// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.numToUint8 = void 0;\nfunction numToUint8(num) {\n return new Uint8Array([\n (num & 0xff000000) >> 24,\n (num & 0x00ff0000) >> 16,\n (num & 0x0000ff00) >> 8,\n num & 0x000000ff,\n ]);\n}\nexports.numToUint8 = numToUint8;\n//# sourceMappingURL=numToUint8.js.map", | ||
| "\"use strict\";\n// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.uint32ArrayFrom = void 0;\n// IE 11 does not support Array.from, so we do it manually\nfunction uint32ArrayFrom(a_lookUpTable) {\n if (!Uint32Array.from) {\n var return_array = new Uint32Array(a_lookUpTable.length);\n var a_index = 0;\n while (a_index < a_lookUpTable.length) {\n return_array[a_index] = a_lookUpTable[a_index];\n a_index += 1;\n }\n return return_array;\n }\n return Uint32Array.from(a_lookUpTable);\n}\nexports.uint32ArrayFrom = uint32ArrayFrom;\n//# sourceMappingURL=uint32ArrayFrom.js.map", | ||
| "\"use strict\";\n// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.uint32ArrayFrom = exports.numToUint8 = exports.isEmptyData = exports.convertToBuffer = void 0;\nvar convertToBuffer_1 = require(\"./convertToBuffer\");\nObject.defineProperty(exports, \"convertToBuffer\", { enumerable: true, get: function () { return convertToBuffer_1.convertToBuffer; } });\nvar isEmptyData_1 = require(\"./isEmptyData\");\nObject.defineProperty(exports, \"isEmptyData\", { enumerable: true, get: function () { return isEmptyData_1.isEmptyData; } });\nvar numToUint8_1 = require(\"./numToUint8\");\nObject.defineProperty(exports, \"numToUint8\", { enumerable: true, get: function () { return numToUint8_1.numToUint8; } });\nvar uint32ArrayFrom_1 = require(\"./uint32ArrayFrom\");\nObject.defineProperty(exports, \"uint32ArrayFrom\", { enumerable: true, get: function () { return uint32ArrayFrom_1.uint32ArrayFrom; } });\n//# sourceMappingURL=index.js.map", | ||
| "\"use strict\";\n// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AwsCrc32 = void 0;\nvar tslib_1 = require(\"tslib\");\nvar util_1 = require(\"@aws-crypto/util\");\nvar index_1 = require(\"./index\");\nvar AwsCrc32 = /** @class */ (function () {\n function AwsCrc32() {\n this.crc32 = new index_1.Crc32();\n }\n AwsCrc32.prototype.update = function (toHash) {\n if ((0, util_1.isEmptyData)(toHash))\n return;\n this.crc32.update((0, util_1.convertToBuffer)(toHash));\n };\n AwsCrc32.prototype.digest = function () {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n return tslib_1.__generator(this, function (_a) {\n return [2 /*return*/, (0, util_1.numToUint8)(this.crc32.digest())];\n });\n });\n };\n AwsCrc32.prototype.reset = function () {\n this.crc32 = new index_1.Crc32();\n };\n return AwsCrc32;\n}());\nexports.AwsCrc32 = AwsCrc32;\n//# sourceMappingURL=aws_crc32.js.map", | ||
| "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AwsCrc32 = exports.Crc32 = exports.crc32 = void 0;\nvar tslib_1 = require(\"tslib\");\nvar util_1 = require(\"@aws-crypto/util\");\nfunction crc32(data) {\n return new Crc32().update(data).digest();\n}\nexports.crc32 = crc32;\nvar Crc32 = /** @class */ (function () {\n function Crc32() {\n this.checksum = 0xffffffff;\n }\n Crc32.prototype.update = function (data) {\n var e_1, _a;\n try {\n for (var data_1 = tslib_1.__values(data), data_1_1 = data_1.next(); !data_1_1.done; data_1_1 = data_1.next()) {\n var byte = data_1_1.value;\n this.checksum =\n (this.checksum >>> 8) ^ lookupTable[(this.checksum ^ byte) & 0xff];\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (data_1_1 && !data_1_1.done && (_a = data_1.return)) _a.call(data_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return this;\n };\n Crc32.prototype.digest = function () {\n return (this.checksum ^ 0xffffffff) >>> 0;\n };\n return Crc32;\n}());\nexports.Crc32 = Crc32;\n// prettier-ignore\nvar a_lookUpTable = [\n 0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA,\n 0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3,\n 0x0EDB8832, 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988,\n 0x09B64C2B, 0x7EB17CBD, 0xE7B82D07, 0x90BF1D91,\n 0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE,\n 0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7,\n 0x136C9856, 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC,\n 0x14015C4F, 0x63066CD9, 0xFA0F3D63, 0x8D080DF5,\n 0x3B6E20C8, 0x4C69105E, 0xD56041E4, 0xA2677172,\n 0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B,\n 0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940,\n 0x32D86CE3, 0x45DF5C75, 0xDCD60DCF, 0xABD13D59,\n 0x26D930AC, 0x51DE003A, 0xC8D75180, 0xBFD06116,\n 0x21B4F4B5, 0x56B3C423, 0xCFBA9599, 0xB8BDA50F,\n 0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924,\n 0x2F6F7C87, 0x58684C11, 0xC1611DAB, 0xB6662D3D,\n 0x76DC4190, 0x01DB7106, 0x98D220BC, 0xEFD5102A,\n 0x71B18589, 0x06B6B51F, 0x9FBFE4A5, 0xE8B8D433,\n 0x7807C9A2, 0x0F00F934, 0x9609A88E, 0xE10E9818,\n 0x7F6A0DBB, 0x086D3D2D, 0x91646C97, 0xE6635C01,\n 0x6B6B51F4, 0x1C6C6162, 0x856530D8, 0xF262004E,\n 0x6C0695ED, 0x1B01A57B, 0x8208F4C1, 0xF50FC457,\n 0x65B0D9C6, 0x12B7E950, 0x8BBEB8EA, 0xFCB9887C,\n 0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3, 0xFBD44C65,\n 0x4DB26158, 0x3AB551CE, 0xA3BC0074, 0xD4BB30E2,\n 0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB,\n 0x4369E96A, 0x346ED9FC, 0xAD678846, 0xDA60B8D0,\n 0x44042D73, 0x33031DE5, 0xAA0A4C5F, 0xDD0D7CC9,\n 0x5005713C, 0x270241AA, 0xBE0B1010, 0xC90C2086,\n 0x5768B525, 0x206F85B3, 0xB966D409, 0xCE61E49F,\n 0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4,\n 0x59B33D17, 0x2EB40D81, 0xB7BD5C3B, 0xC0BA6CAD,\n 0xEDB88320, 0x9ABFB3B6, 0x03B6E20C, 0x74B1D29A,\n 0xEAD54739, 0x9DD277AF, 0x04DB2615, 0x73DC1683,\n 0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8,\n 0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1,\n 0xF00F9344, 0x8708A3D2, 0x1E01F268, 0x6906C2FE,\n 0xF762575D, 0x806567CB, 0x196C3671, 0x6E6B06E7,\n 0xFED41B76, 0x89D32BE0, 0x10DA7A5A, 0x67DD4ACC,\n 0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5,\n 0xD6D6A3E8, 0xA1D1937E, 0x38D8C2C4, 0x4FDFF252,\n 0xD1BB67F1, 0xA6BC5767, 0x3FB506DD, 0x48B2364B,\n 0xD80D2BDA, 0xAF0A1B4C, 0x36034AF6, 0x41047A60,\n 0xDF60EFC3, 0xA867DF55, 0x316E8EEF, 0x4669BE79,\n 0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236,\n 0xCC0C7795, 0xBB0B4703, 0x220216B9, 0x5505262F,\n 0xC5BA3BBE, 0xB2BD0B28, 0x2BB45A92, 0x5CB36A04,\n 0xC2D7FFA7, 0xB5D0CF31, 0x2CD99E8B, 0x5BDEAE1D,\n 0x9B64C2B0, 0xEC63F226, 0x756AA39C, 0x026D930A,\n 0x9C0906A9, 0xEB0E363F, 0x72076785, 0x05005713,\n 0x95BF4A82, 0xE2B87A14, 0x7BB12BAE, 0x0CB61B38,\n 0x92D28E9B, 0xE5D5BE0D, 0x7CDCEFB7, 0x0BDBDF21,\n 0x86D3D2D4, 0xF1D4E242, 0x68DDB3F8, 0x1FDA836E,\n 0x81BE16CD, 0xF6B9265B, 0x6FB077E1, 0x18B74777,\n 0x88085AE6, 0xFF0F6A70, 0x66063BCA, 0x11010B5C,\n 0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45,\n 0xA00AE278, 0xD70DD2EE, 0x4E048354, 0x3903B3C2,\n 0xA7672661, 0xD06016F7, 0x4969474D, 0x3E6E77DB,\n 0xAED16A4A, 0xD9D65ADC, 0x40DF0B66, 0x37D83BF0,\n 0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9,\n 0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6,\n 0xBAD03605, 0xCDD70693, 0x54DE5729, 0x23D967BF,\n 0xB3667A2E, 0xC4614AB8, 0x5D681B02, 0x2A6F2B94,\n 0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D,\n];\nvar lookupTable = (0, util_1.uint32ArrayFrom)(a_lookUpTable);\nvar aws_crc32_1 = require(\"./aws_crc32\");\nObject.defineProperty(exports, \"AwsCrc32\", { enumerable: true, get: function () { return aws_crc32_1.AwsCrc32; } });\n//# sourceMappingURL=index.js.map" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "7158D402072243DC64756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260227213759_add_session_workspace_id.ts"], | ||
| "sourcesContent": [ | ||
| "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" | ||
| ], | ||
| "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", | ||
| "debugId": "401CDC37C18976FD64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["src/mini/runtime.queue.ts"], | ||
| "sourcesContent": [ | ||
| "// Serial prompt queue for direct interactive mode.\n//\n// Prompts arrive from the footer (user types and hits enter) and queue up\n// here. The queue drains one turn at a time; ordinary prompts waiting behind\n// an active ordinary turn are exposed for edit/removal until they begin.\n//\n// The queue also handles /exit, /quit, and /new commands, empty-prompt rejection,\n// and tracks per-turn wall-clock duration for the footer status line.\n//\n// Resolves when the footer closes and all in-flight work finishes.\nimport { ascending } from \"@opencode-ai/schema/identifier\"\nimport { SessionMessage } from \"@opencode-ai/schema/session-message\"\nimport { Locale } from \"@opencode-ai/tui/util/locale\"\nimport { isExitCommand, isNewCommand } from \"./prompt.shared\"\nimport type { FooterApi, FooterEvent, FooterQueuedPrompt, RunPrompt } from \"./types\"\n\ntype Trace = {\n write(type: string, data?: unknown): void\n}\n\ntype Deferred<T = void> = {\n promise: Promise<T>\n resolve: (value: T | PromiseLike<T>) => void\n reject: (error?: unknown) => void\n}\n\nexport type QueueInput = {\n footer: FooterApi\n initialInput?: string\n trace?: Trace\n onSend?: (prompt: RunPrompt) => void\n onNewSession?: () => void | Promise<void>\n run: (prompt: RunPrompt, signal: AbortSignal) => Promise<void>\n}\n\ntype State = {\n queue: RunPrompt[]\n queued: FooterQueuedPrompt[]\n active?: RunPrompt\n ctrl?: AbortController\n closed: boolean\n}\n\nfunction defer<T = void>(): Deferred<T> {\n let resolve!: (value: T | PromiseLike<T>) => void\n let reject!: (error?: unknown) => void\n const promise = new Promise<T>((next, fail) => {\n resolve = next\n reject = fail\n })\n\n return { promise, resolve, reject }\n}\n\n// Runs the prompt queue until the footer closes.\n//\n// Subscribes to footer prompt events and drains operations through input.run().\n// Ordinary prompts submitted during an ordinary active turn remain local and\n// are exposed by the footer for edit/removal until their turn begins.\nexport async function runPromptQueue(input: QueueInput): Promise<void> {\n const stop = defer<{ type: \"closed\" }>()\n const done = defer()\n const state: State = {\n queue: [],\n queued: [],\n closed: input.footer.isClosed,\n }\n let draining: Promise<void> | undefined\n\n const emit = (next: FooterEvent, row: Record<string, unknown>) => {\n input.trace?.write(\"ui.patch\", row)\n input.footer.event(next)\n }\n\n const syncQueue = () => {\n const queue = state.queue.length\n emit({ type: \"queue\", queue }, { queue })\n emit(\n {\n type: \"queued.prompts\",\n prompts: [...state.queued],\n },\n { queued: state.queued.length },\n )\n }\n\n const removeLocalQueued = (queued: FooterQueuedPrompt) => {\n if (!state.queued.includes(queued)) return\n state.queued = state.queued.filter((item) => item !== queued)\n syncQueue()\n }\n\n const finish = () => {\n if (!state.closed || draining) {\n return\n }\n\n done.resolve()\n }\n\n const close = () => {\n if (state.closed) {\n return\n }\n\n state.closed = true\n state.queue.length = 0\n state.queued.length = 0\n state.ctrl?.abort()\n stop.resolve({ type: \"closed\" })\n finish()\n }\n\n const drain = () => {\n if (draining || state.closed || state.queue.length === 0) {\n return\n }\n\n draining = (async () => {\n try {\n while (!state.closed && state.queue.length > 0) {\n const prompt = state.queue.shift()\n if (!prompt) {\n continue\n }\n\n const queued = state.queued.find((item) => item.prompt === prompt)\n if (queued) removeLocalQueued(queued)\n\n if (prompt.mode !== \"shell\" && isNewCommand(prompt.text)) {\n syncQueue()\n if (!input.onNewSession) {\n emit(\n {\n type: \"stream.patch\",\n patch: {\n status: \"new sessions unavailable\",\n },\n },\n {\n status: \"new sessions unavailable\",\n },\n )\n continue\n }\n\n emit(\n {\n type: \"stream.patch\",\n patch: {\n phase: \"running\",\n status: \"starting new session\",\n queue: state.queue.length,\n },\n },\n {\n phase: \"running\",\n status: \"starting new session\",\n queue: state.queue.length,\n },\n )\n await input.onNewSession()\n continue\n }\n\n const sent =\n prompt.mode === \"shell\"\n ? prompt\n : {\n ...prompt,\n messageID: prompt.messageID ?? queued?.messageID ?? SessionMessage.ID.create(),\n }\n state.active = sent\n\n emit(\n {\n type: \"turn.send\",\n queue: state.queue.length,\n },\n {\n phase: \"running\",\n status: \"sending prompt\",\n queue: state.queue.length,\n },\n )\n const start = Date.now()\n const ctrl = new AbortController()\n state.ctrl = ctrl\n\n try {\n await input.footer.idle()\n if (state.closed) {\n break\n }\n\n if (sent.mode !== \"shell\") {\n const commit = {\n kind: \"user\",\n text: sent.text,\n phase: \"start\",\n source: \"system\",\n messageID: sent.messageID,\n } as const\n input.trace?.write(\"ui.commit\", commit)\n input.footer.append(commit)\n }\n input.onSend?.(sent)\n\n if (state.closed) {\n break\n }\n\n const task = input.run(sent, ctrl.signal).then(\n () => ({ type: \"done\" as const }),\n (error) => ({ type: \"error\" as const, error }),\n )\n\n const next = await Promise.race([task, stop.promise])\n if (next.type === \"closed\") {\n ctrl.abort()\n break\n }\n\n if (next.type === \"error\") {\n throw next.error\n }\n } finally {\n if (state.ctrl === ctrl) {\n state.ctrl = undefined\n }\n\n if (sent.mode !== \"shell\") {\n const duration = Locale.duration(Math.max(0, Date.now() - start))\n emit(\n {\n type: \"turn.duration\",\n duration,\n },\n {\n duration,\n },\n )\n }\n state.active = undefined\n }\n }\n } catch (error) {\n done.reject(error)\n return\n } finally {\n draining = undefined\n emit(\n {\n type: \"turn.idle\",\n queue: state.queue.length,\n },\n {\n phase: \"idle\",\n status: \"\",\n queue: state.queue.length,\n },\n )\n }\n\n finish()\n })()\n }\n\n const submit = (prompt: RunPrompt) => {\n if (!prompt.text.trim() || state.closed) {\n return\n }\n\n if (prompt.mode !== \"shell\" && isExitCommand(prompt.text)) {\n input.footer.close()\n return\n }\n\n const active = state.active\n if (\n active &&\n active.mode !== \"shell\" &&\n !active.command &&\n prompt.mode !== \"shell\" &&\n !prompt.command &&\n !isNewCommand(prompt.text)\n ) {\n const queued: FooterQueuedPrompt = {\n messageID: SessionMessage.ID.create(),\n partID: \"prt_\" + ascending(),\n prompt,\n }\n state.queued = [...state.queued, queued]\n state.queue.push(prompt)\n syncQueue()\n return\n }\n\n state.queue.push(prompt)\n syncQueue()\n if (prompt.mode !== \"shell\" && isNewCommand(prompt.text)) {\n drain()\n return\n }\n\n emit(\n {\n type: \"first\",\n first: false,\n },\n {\n first: false,\n },\n )\n drain()\n }\n\n const offPrompt = input.footer.onPrompt((prompt) => {\n submit(prompt)\n })\n const offClose = input.footer.onClose(() => {\n close()\n })\n const offRemoveQueued = input.footer.onQueuedRemove((messageID) => {\n const queued = state.queued.find((item) => item.messageID === messageID)\n if (!queued) return false\n state.queue = state.queue.filter((prompt) => prompt !== queued.prompt)\n removeLocalQueued(queued)\n return true\n })\n\n try {\n if (state.closed) {\n return\n }\n\n submit({\n text: input.initialInput ?? \"\",\n parts: [],\n })\n finish()\n await done.promise\n } finally {\n offPrompt()\n offClose()\n offRemoveQueued()\n close()\n await draining?.catch(() => {})\n }\n}\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "226DC142F4B6CBA864756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../llm/src/protocols/utils/openai-options.ts", "../llm/src/protocols/utils/lifecycle.ts", "../llm/src/protocols/utils/gemini-tool-schema.ts", "../llm/src/protocols/utils/tool-schema.ts", "../llm/src/protocols/utils/tool-stream.ts", "../llm/src/protocols/openai-chat.ts"], | ||
| "sourcesContent": [ | ||
| "import { Schema } from \"effect\"\nimport type { LLMRequest, TextVerbosity as TextVerbosityValue } from \"../../schema\"\nimport { ReasoningEfforts, TextVerbosity } from \"../../schema\"\n\nexport const OpenAIReasoningEfforts = ReasoningEfforts\nexport type OpenAIReasoningEffort = string\n\n// Mirrors OpenAI's `ResponseIncludable` union from the official SDK. Keep this\n// in lockstep with `openai-node/src/resources/responses/responses.ts`.\nexport const OpenAIResponseIncludables = [\n \"file_search_call.results\",\n \"web_search_call.results\",\n \"web_search_call.action.sources\",\n \"message.input_image.image_url\",\n \"computer_call_output.output.image_url\",\n \"code_interpreter_call.outputs\",\n \"reasoning.encrypted_content\",\n \"message.output_text.logprobs\",\n] as const\nexport type OpenAIResponseIncludable = (typeof OpenAIResponseIncludables)[number]\nexport const OpenAIServiceTiers = [\"auto\", \"default\", \"flex\", \"priority\"] as const\nexport type OpenAIServiceTier = (typeof OpenAIServiceTiers)[number]\n\nconst TEXT_VERBOSITY = new Set<string>([\"low\", \"medium\", \"high\"])\nconst INCLUDABLES = new Set<string>(OpenAIResponseIncludables)\nconst SERVICE_TIERS = new Set<string>(OpenAIServiceTiers)\n\nexport const OpenAIReasoningEffort = Schema.String\nexport const OpenAITextVerbosity = TextVerbosity\nexport const OpenAIResponseIncludable = Schema.Literals(OpenAIResponseIncludables)\nexport const OpenAIServiceTier = Schema.Literals(OpenAIServiceTiers)\n\nexport const isReasoningEffort = (effort: unknown): effort is OpenAIReasoningEffort => typeof effort === \"string\"\n\nconst isTextVerbosity = (value: unknown): value is TextVerbosityValue =>\n typeof value === \"string\" && TEXT_VERBOSITY.has(value)\n\nconst options = (request: LLMRequest) => request.providerOptions?.openai\n\nexport const store = (request: LLMRequest): boolean | undefined => {\n const value = options(request)?.store\n return typeof value === \"boolean\" ? value : undefined\n}\n\nexport const reasoningEffort = (request: LLMRequest): string | undefined => {\n const value = options(request)?.reasoningEffort\n return typeof value === \"string\" ? value : undefined\n}\n\nexport const reasoningSummary = (request: LLMRequest): \"auto\" | undefined =>\n options(request)?.reasoningSummary === \"auto\" ? \"auto\" : undefined\n\n// Resolve the OpenAI Responses `include` field. Filters out unknown\n// includable values defensively so a typo in upstream config drops the\n// invalid entry instead of poisoning the wire body. An empty array (either\n// passed directly or produced by filtering) is treated as \"no include\" and\n// returns undefined so the request body omits the field entirely.\nexport const include = (request: LLMRequest): ReadonlyArray<OpenAIResponseIncludable> | undefined => {\n const value = options(request)?.include\n if (!Array.isArray(value)) return undefined\n const filtered = value.filter((entry): entry is OpenAIResponseIncludable => INCLUDABLES.has(entry))\n return filtered.length > 0 ? filtered : undefined\n}\n\nexport const promptCacheKey = (request: LLMRequest) => {\n const value = options(request)?.promptCacheKey\n return typeof value === \"string\" ? value : undefined\n}\n\nexport const textVerbosity = (request: LLMRequest) => {\n const value = options(request)?.textVerbosity\n return isTextVerbosity(value) ? value : undefined\n}\n\nexport const serviceTier = (request: LLMRequest) => {\n const value = options(request)?.serviceTier\n return typeof value === \"string\" && SERVICE_TIERS.has(value) ? (value as OpenAIServiceTier) : undefined\n}\n\nexport const instructions = (request: LLMRequest) => {\n const value = options(request)?.instructions\n return typeof value === \"string\" ? value : undefined\n}\n\nexport * as OpenAIOptions from \"./openai-options\"\n", | ||
| "import { LLMEvent, type FinishReason, type ProviderMetadata, type Usage } from \"../../schema\"\n\nexport interface State {\n readonly stepStarted: boolean\n readonly text: ReadonlySet<string>\n readonly reasoning: ReadonlySet<string>\n}\n\nexport const initial = (): State => ({ stepStarted: false, text: new Set(), reasoning: new Set() })\n\nexport const stepStart = (state: State, events: LLMEvent[]): State => {\n if (state.stepStarted) return state\n events.push(LLMEvent.stepStart({ index: 0 }))\n return { ...state, stepStarted: true }\n}\n\nexport const textDelta = (state: State, events: LLMEvent[], id: string, text: string): State => {\n const stepped = stepStart(state, events)\n if (stepped.text.has(id)) {\n events.push(LLMEvent.textDelta({ id, text }))\n return stepped\n }\n events.push(LLMEvent.textStart({ id }), LLMEvent.textDelta({ id, text }))\n return { ...stepped, text: new Set([...stepped.text, id]) }\n}\n\nexport const reasoningStart = (\n state: State,\n events: LLMEvent[],\n id: string,\n providerMetadata?: ProviderMetadata,\n): State => {\n if (state.reasoning.has(id)) return state\n const stepped = stepStart(state, events)\n events.push(LLMEvent.reasoningStart({ id, providerMetadata }))\n return { ...stepped, reasoning: new Set([...stepped.reasoning, id]) }\n}\n\nexport const reasoningDelta = (\n state: State,\n events: LLMEvent[],\n id: string,\n text: string,\n providerMetadata?: ProviderMetadata,\n): State => {\n const started = reasoningStart(state, events, id, providerMetadata)\n events.push(LLMEvent.reasoningDelta({ id, text }))\n return started\n}\n\nexport const reasoningEnd = (\n state: State,\n events: LLMEvent[],\n id: string,\n providerMetadata?: ProviderMetadata,\n): State => {\n if (!state.reasoning.has(id)) return state\n const stepped = stepStart(state, events)\n events.push(LLMEvent.reasoningEnd({ id, providerMetadata }))\n const reasoning = new Set(stepped.reasoning)\n reasoning.delete(id)\n return { ...stepped, reasoning }\n}\n\nexport const textEnd = (state: State, events: LLMEvent[], id: string, providerMetadata?: ProviderMetadata): State => {\n if (!state.text.has(id)) return state\n const stepped = stepStart(state, events)\n events.push(LLMEvent.textEnd({ id, providerMetadata }))\n const text = new Set(stepped.text)\n text.delete(id)\n return { ...stepped, text }\n}\n\nconst closeOpenBlocks = (state: State, events: LLMEvent[]): State => {\n for (const id of state.reasoning) events.push(LLMEvent.reasoningEnd({ id }))\n for (const id of state.text) events.push(LLMEvent.textEnd({ id }))\n return { ...state, text: new Set(), reasoning: new Set() }\n}\n\nexport const finish = (\n state: State,\n events: LLMEvent[],\n input: {\n readonly reason: FinishReason\n readonly usage?: Usage\n readonly providerMetadata?: ProviderMetadata\n },\n): State => {\n const stepped = closeOpenBlocks(stepStart(state, events), events)\n events.push(\n LLMEvent.stepFinish({\n index: 0,\n reason: input.reason,\n usage: input.usage,\n providerMetadata: input.providerMetadata,\n }),\n LLMEvent.finish(input),\n )\n return { ...stepped, stepStarted: false }\n}\n\nexport * as Lifecycle from \"./lifecycle\"\n", | ||
| "import { isRecord } from \"../../utils/record\"\n\n// Gemini accepts a JSON Schema-like dialect for tool parameters, but rejects a\n// handful of common JSON Schema shapes. Keep this projection isolated so the\n// Gemini protocol file still reads like the other protocol modules.\nconst SCHEMA_INTENT_KEYS = [\n \"type\",\n \"properties\",\n \"items\",\n \"prefixItems\",\n \"enum\",\n \"const\",\n \"$ref\",\n \"additionalProperties\",\n \"patternProperties\",\n \"required\",\n \"not\",\n \"if\",\n \"then\",\n \"else\",\n]\n\nconst hasCombiner = (schema: unknown) =>\n isRecord(schema) && (Array.isArray(schema.anyOf) || Array.isArray(schema.oneOf) || Array.isArray(schema.allOf))\n\nconst hasSchemaIntent = (schema: unknown) =>\n isRecord(schema) && (hasCombiner(schema) || SCHEMA_INTENT_KEYS.some((key) => key in schema))\n\nconst sanitizeNode = (schema: unknown): unknown => {\n if (!isRecord(schema)) return Array.isArray(schema) ? schema.map(sanitizeNode) : schema\n\n const result: Record<string, unknown> = Object.fromEntries(\n Object.entries(schema).map(([key, value]) => [\n key,\n key === \"enum\" && Array.isArray(value) ? value.map(String) : sanitizeNode(value),\n ]),\n )\n\n if (Array.isArray(result.enum) && (result.type === \"integer\" || result.type === \"number\")) result.type = \"string\"\n\n const properties = result.properties\n if (result.type === \"object\" && isRecord(properties) && Array.isArray(result.required)) {\n result.required = result.required.filter((field) => typeof field === \"string\" && field in properties)\n }\n\n if (result.type === \"array\" && !hasCombiner(result)) {\n result.items = result.items ?? {}\n if (isRecord(result.items) && !hasSchemaIntent(result.items)) result.items = { ...result.items, type: \"string\" }\n }\n\n if (typeof result.type === \"string\" && result.type !== \"object\" && !hasCombiner(result)) {\n delete result.properties\n delete result.required\n }\n\n return result\n}\n\nconst emptyObjectSchema = (schema: Record<string, unknown>) =>\n schema.type === \"object\" &&\n (!isRecord(schema.properties) || Object.keys(schema.properties).length === 0) &&\n !schema.additionalProperties\n\nconst projectNode = (schema: unknown): Record<string, unknown> | undefined => {\n if (!isRecord(schema)) return undefined\n if (emptyObjectSchema(schema)) return undefined\n return Object.fromEntries(\n [\n [\"description\", schema.description],\n [\"required\", schema.required],\n [\"format\", schema.format],\n [\"type\", Array.isArray(schema.type) ? schema.type.filter((type) => type !== \"null\")[0] : schema.type],\n [\"nullable\", Array.isArray(schema.type) && schema.type.includes(\"null\") ? true : undefined],\n [\"enum\", schema.const !== undefined ? [schema.const] : schema.enum],\n [\n \"properties\",\n isRecord(schema.properties)\n ? Object.fromEntries(Object.entries(schema.properties).map(([key, value]) => [key, projectNode(value)]))\n : undefined,\n ],\n [\n \"items\",\n Array.isArray(schema.items)\n ? schema.items.map(projectNode)\n : schema.items === undefined\n ? undefined\n : projectNode(schema.items),\n ],\n [\"allOf\", Array.isArray(schema.allOf) ? schema.allOf.map(projectNode) : undefined],\n [\"anyOf\", Array.isArray(schema.anyOf) ? schema.anyOf.map(projectNode) : undefined],\n [\"oneOf\", Array.isArray(schema.oneOf) ? schema.oneOf.map(projectNode) : undefined],\n [\"minLength\", schema.minLength],\n ].filter((entry) => entry[1] !== undefined),\n )\n}\n\nexport const convert = (schema: unknown) => projectNode(sanitizeNode(schema))\n\nexport * as GeminiToolSchema from \"./gemini-tool-schema\"\n", | ||
| "import type { JsonSchema, ModelToolSchemaCompatibility } from \"../../schema\"\nimport { isRecord } from \"../../utils/record\"\nimport { GeminiToolSchema } from \"./gemini-tool-schema\"\n\nconst removeNullSchemas = (value: unknown): unknown => {\n if (Array.isArray(value)) return value.map(removeNullSchemas)\n if (!isRecord(value)) return value\n const fields = Object.fromEntries(\n Object.entries(value)\n .filter(([key]) => key !== \"anyOf\")\n .map(([key, field]) => [key, removeNullSchemas(field)]),\n )\n if (!Array.isArray(value.anyOf)) return fields\n const variants = value.anyOf.filter((variant) => !isRecord(variant) || variant.type !== \"null\").map(removeNullSchemas)\n if (variants.length === 1 && isRecord(variants[0])) return { ...fields, ...variants[0] }\n return { ...fields, anyOf: variants }\n}\n\nconst tupleItemsSchema = (items: ReadonlyArray<unknown>) => {\n const projected = items.map(moonshotNode)\n if (projected.length === 0) return {}\n if (projected.length === 1) return projected[0]\n return { anyOf: projected }\n}\n\nconst moonshotNode = (schema: unknown): unknown => {\n if (Array.isArray(schema)) return schema.map(moonshotNode)\n if (!isRecord(schema)) return schema\n if (typeof schema.$ref === \"string\") return { $ref: schema.$ref }\n return Object.fromEntries(\n Object.entries(schema).flatMap(([key, value]) => {\n if (key === \"items\" && Array.isArray(value)) return [[key, tupleItemsSchema(value)]]\n if (key === \"prefixItems\") {\n if (\"items\" in schema) return []\n return [[\"items\", tupleItemsSchema(Array.isArray(value) ? value : [])]]\n }\n if (key === \"unevaluatedItems\") return []\n return [[key, moonshotNode(value)]]\n }),\n )\n}\n\nconst moonshot = (schema: JsonSchema): JsonSchema => {\n const projected = moonshotNode(schema)\n return isRecord(projected) ? projected : {}\n}\n\nconst openAI = (schema: JsonSchema): JsonSchema => {\n const variants = Array.isArray(schema.anyOf) ? schema.anyOf.filter(isRecord) : []\n const flattened =\n variants.length === 0\n ? { ...schema, type: \"object\" }\n : {\n ...Object.fromEntries(Object.entries(schema).filter(([key]) => key !== \"anyOf\")),\n type: \"object\",\n properties: variants.reduce(\n (properties, variant) => ({ ...(isRecord(variant.properties) ? variant.properties : {}), ...properties }),\n {},\n ),\n additionalProperties: false,\n }\n const normalized = removeNullSchemas(flattened)\n return isRecord(normalized) ? normalized : { type: \"object\" }\n}\n\nconst gemini = (schema: JsonSchema): JsonSchema => GeminiToolSchema.convert(schema) ?? {}\n\nconst modelCompatibility = (\n schema: JsonSchema,\n compatibility: ModelToolSchemaCompatibility | undefined,\n): JsonSchema => {\n if (compatibility === undefined) return schema\n switch (compatibility) {\n case \"gemini\":\n return gemini(schema)\n case \"moonshot\":\n return moonshot(schema)\n }\n}\n\nexport const ToolSchemaProjection = {\n gemini,\n modelCompatibility,\n moonshot,\n openAI,\n} as const\n", | ||
| "import { Effect } from \"effect\"\nimport { LLMError, LLMEvent, type ProviderMetadata, type ToolCall } from \"../../schema\"\nimport { eventError, parseToolInput, type ToolAccumulator } from \"../shared\"\n\ntype StreamKey = string | number\n\n/**\n * One pending streamed tool call. Providers emit the tool identity and JSON\n * argument text across separate chunks; `input` is the raw JSON string collected\n * so far, not the parsed object.\n */\nexport interface PendingTool extends ToolAccumulator {\n readonly providerExecuted?: boolean\n readonly providerMetadata?: ProviderMetadata\n}\n\n/**\n * Sparse parser state keyed by the provider's stream-local tool identifier.\n *\n * This key is not the final tool-call id (`call_...`). It is the id/index the\n * provider uses while streaming a partial call: OpenAI Chat / Anthropic /\n * Bedrock use numeric content indexes, while OpenAI Responses uses string\n * `item_id`s. The generic keeps each protocol internally consistent.\n */\nexport type State<K extends StreamKey> = Partial<Record<K, PendingTool>>\n\n/**\n * Result of adding argument text to one pending tool call. It returns both the\n * next `tools` state and the updated `tool` because parsers often need the\n * current id/name immediately. `events` contains lifecycle and delta events\n * produced by the append; metadata-only deltas update identity without output.\n */\nexport interface AppendOutcome<K extends StreamKey> {\n readonly tools: State<K>\n readonly tool: PendingTool\n readonly events: ReadonlyArray<LLMEvent>\n}\n\n/** Create empty accumulator state for one provider stream. */\nexport const empty = <K extends StreamKey>(): State<K> => ({})\n\nconst withTool = <K extends StreamKey>(tools: State<K>, key: K, tool: PendingTool): State<K> => {\n return { ...tools, [key]: tool }\n}\n\nconst withoutTool = <K extends StreamKey>(tools: State<K>, key: K): State<K> => {\n const next = { ...tools }\n delete next[key]\n return next\n}\n\nconst inputStart = (tool: PendingTool) =>\n LLMEvent.toolInputStart({\n id: tool.id,\n name: tool.name,\n providerMetadata: tool.providerMetadata,\n })\n\nconst inputDelta = (tool: PendingTool, text: string) =>\n LLMEvent.toolInputDelta({\n id: tool.id,\n name: tool.name,\n text,\n })\n\nconst toolCall = (route: string, tool: PendingTool, inputOverride?: string) =>\n parseToolInput(route, tool.name, inputOverride ?? tool.input).pipe(\n Effect.map(\n (input): ToolCall =>\n LLMEvent.toolCall({\n id: tool.id,\n name: tool.name,\n input,\n providerExecuted: tool.providerExecuted ? true : undefined,\n providerMetadata: tool.providerMetadata,\n }),\n ),\n )\n\n/** Store the updated tool and produce the optional public delta event. */\nconst appendTool = <K extends StreamKey>(\n tools: State<K>,\n key: K,\n tool: PendingTool,\n text: string,\n): AppendOutcome<K> => {\n const events: LLMEvent[] = []\n if (!tools[key]) events.push(inputStart(tool))\n if (text.length > 0) events.push(inputDelta(tool, text))\n return {\n tools: withTool(tools, key, tool),\n tool,\n events,\n }\n}\n\nexport const isError = <K extends StreamKey>(result: AppendOutcome<K> | LLMError): result is LLMError =>\n result instanceof LLMError\n\n/**\n * Register a tool call whose start event arrived before any argument deltas.\n * Used by Anthropic `content_block_start`, Bedrock `contentBlockStart`, and\n * OpenAI Responses `response.output_item.added`.\n */\nexport const start = <K extends StreamKey>(\n tools: State<K>,\n key: K,\n tool: Omit<PendingTool, \"input\"> & { readonly input?: string },\n) => withTool(tools, key, { ...tool, input: tool.input ?? \"\" })\n\n/**\n * Append a streamed argument delta, starting the tool if this provider encodes\n * identity on the first delta instead of a separate start event. OpenAI Chat has\n * this shape: `tool_calls[].index` is the stream key, and `id` / `name` may only\n * appear on the first delta for that index.\n */\nexport const appendOrStart = <K extends StreamKey>(\n route: string,\n tools: State<K>,\n key: K,\n delta: { readonly id?: string; readonly name?: string; readonly text: string },\n missingToolMessage: string,\n): AppendOutcome<K> | LLMError => {\n const current = tools[key]\n const id = delta.id ?? current?.id\n const name = delta.name ?? current?.name\n if (!id || !name) return eventError(route, missingToolMessage)\n\n const tool = {\n id,\n name,\n input: `${current?.input ?? \"\"}${delta.text}`,\n providerExecuted: current?.providerExecuted,\n providerMetadata: current?.providerMetadata,\n }\n if (current && delta.text.length === 0 && current.id === id && current.name === name)\n return { tools, tool: current, events: [] }\n return appendTool(tools, key, tool, delta.text)\n}\n\n/**\n * Append argument text to a tool that must already have been started. This keeps\n * protocols honest when their stream grammar promises a start event before any\n * argument delta.\n */\nexport const appendExisting = <K extends StreamKey>(\n route: string,\n tools: State<K>,\n key: K,\n text: string,\n missingToolMessage: string,\n): AppendOutcome<K> | LLMError => {\n const current = tools[key]\n if (!current) return eventError(route, missingToolMessage)\n if (text.length === 0) return { tools, tool: current, events: [] }\n return appendTool(tools, key, { ...current, input: `${current.input}${text}` }, text)\n}\n\n/**\n * Finalize one pending tool call: parse the accumulated raw JSON, remove it\n * from state, and return the optional public `tool-call` event. Missing keys are\n * a no-op because some providers emit stop events for non-tool content blocks.\n */\nexport const finish = <K extends StreamKey>(route: string, tools: State<K>, key: K) =>\n Effect.gen(function* () {\n const tool = tools[key]\n if (!tool) return { tools }\n return {\n tools: withoutTool(tools, key),\n events: [\n LLMEvent.toolInputEnd({ id: tool.id, name: tool.name, providerMetadata: tool.providerMetadata }),\n yield* toolCall(route, tool),\n ],\n }\n })\n\n/**\n * Finalize one pending tool call with an authoritative final input string.\n * OpenAI Responses can send accumulated deltas and then repeat the completed\n * arguments on `response.output_item.done`; the final value wins.\n */\nexport const finishWithInput = <K extends StreamKey>(route: string, tools: State<K>, key: K, input: string) =>\n Effect.gen(function* () {\n const tool = tools[key]\n if (!tool) return { tools }\n return {\n tools: withoutTool(tools, key),\n events: [\n LLMEvent.toolInputEnd({ id: tool.id, name: tool.name, providerMetadata: tool.providerMetadata }),\n yield* toolCall(route, tool, input),\n ],\n }\n })\n\n/**\n * Finalize every pending tool call at once. OpenAI Chat has this shape: it does\n * not emit per-tool stop events, so all accumulated calls finish when the choice\n * receives a terminal `finish_reason`.\n */\nexport const finishAll = <K extends StreamKey>(route: string, tools: State<K>) =>\n Effect.gen(function* () {\n const pending = Object.values<PendingTool | undefined>(tools).filter(\n (tool): tool is PendingTool => tool !== undefined,\n )\n return {\n tools: empty<K>(),\n events: yield* Effect.forEach(pending, (tool) =>\n toolCall(route, tool).pipe(\n Effect.map((call) => [\n LLMEvent.toolInputEnd({ id: tool.id, name: tool.name, providerMetadata: tool.providerMetadata }),\n call,\n ]),\n ),\n ).pipe(Effect.map((events) => events.flat())),\n }\n })\n\nexport * as ToolStream from \"./tool-stream\"\n", | ||
| "import { Effect, Schema } from \"effect\"\nimport { Route } from \"../route/client\"\nimport { Auth } from \"../route/auth\"\nimport { Endpoint } from \"../route/endpoint\"\nimport { HttpTransport } from \"../route/transport\"\nimport { Protocol } from \"../route/protocol\"\nimport {\n LLMEvent,\n Usage,\n type FinishReason,\n type JsonSchema,\n type LLMRequest,\n type MediaPart,\n type ReasoningPart,\n type TextPart,\n type ToolCallPart,\n type ToolDefinition,\n type ToolContent,\n} from \"../schema\"\nimport { isRecord, JsonObject, optionalArray, optionalNull, ProviderShared } from \"./shared\"\nimport { OpenAIOptions } from \"./utils/openai-options\"\nimport { Lifecycle } from \"./utils/lifecycle\"\nimport { ToolSchemaProjection } from \"./utils/tool-schema\"\nimport { ToolStream } from \"./utils/tool-stream\"\n\nconst ADAPTER = \"openai-chat\"\nconst IMAGE_MIMES = new Set<string>(ProviderShared.IMAGE_MIMES)\nexport const DEFAULT_BASE_URL = \"https://api.openai.com/v1\"\nexport const PATH = \"/chat/completions\"\n\n// =============================================================================\n// Request Body Schema\n// =============================================================================\n// The body schema is the provider-native JSON body. `fromRequest` below builds\n// this shape from the common `LLMRequest`, then `Route.make` validates and\n// JSON-encodes it before transport.\nconst OpenAIChatFunction = Schema.Struct({\n name: Schema.String,\n description: Schema.String,\n parameters: JsonObject,\n})\n\nconst OpenAIChatTool = Schema.Struct({\n type: Schema.tag(\"function\"),\n function: OpenAIChatFunction,\n})\ntype OpenAIChatTool = Schema.Schema.Type<typeof OpenAIChatTool>\n\nconst OpenAIChatAssistantToolCall = Schema.Struct({\n id: Schema.String,\n type: Schema.tag(\"function\"),\n function: Schema.Struct({\n name: Schema.String,\n arguments: Schema.String,\n }),\n})\ntype OpenAIChatAssistantToolCall = Schema.Schema.Type<typeof OpenAIChatAssistantToolCall>\n\nconst OpenAIChatUserContent = Schema.Union([\n Schema.Struct({ type: Schema.Literal(\"text\"), text: Schema.String }),\n Schema.Struct({\n type: Schema.Literal(\"image_url\"),\n image_url: Schema.Struct({ url: Schema.String }),\n }),\n])\n\nconst OpenAIChatMessage = Schema.Union([\n Schema.Struct({ role: Schema.Literal(\"system\"), content: Schema.String }),\n Schema.Struct({\n role: Schema.Literal(\"user\"),\n content: Schema.Union([Schema.String, Schema.Array(OpenAIChatUserContent)]),\n }),\n Schema.Struct({\n role: Schema.Literal(\"assistant\"),\n content: Schema.NullOr(Schema.String),\n tool_calls: optionalArray(OpenAIChatAssistantToolCall),\n reasoning_content: Schema.optional(Schema.String),\n }),\n Schema.Struct({ role: Schema.Literal(\"tool\"), tool_call_id: Schema.String, content: Schema.String }),\n]).pipe(Schema.toTaggedUnion(\"role\"))\ntype OpenAIChatMessage = Schema.Schema.Type<typeof OpenAIChatMessage>\n\nconst OpenAIChatToolChoice = Schema.Union([\n Schema.Literals([\"auto\", \"none\", \"required\"]),\n Schema.Struct({\n type: Schema.tag(\"function\"),\n function: Schema.Struct({ name: Schema.String }),\n }),\n])\n\nexport const bodyFields = {\n model: Schema.String,\n messages: Schema.Array(OpenAIChatMessage),\n tools: optionalArray(OpenAIChatTool),\n tool_choice: Schema.optional(OpenAIChatToolChoice),\n stream: Schema.Literal(true),\n stream_options: Schema.optional(Schema.Struct({ include_usage: Schema.Boolean })),\n store: Schema.optional(Schema.Boolean),\n reasoning_effort: Schema.optional(OpenAIOptions.OpenAIReasoningEffort),\n max_tokens: Schema.optional(Schema.Number),\n temperature: Schema.optional(Schema.Number),\n top_p: Schema.optional(Schema.Number),\n frequency_penalty: Schema.optional(Schema.Number),\n presence_penalty: Schema.optional(Schema.Number),\n seed: Schema.optional(Schema.Number),\n stop: optionalArray(Schema.String),\n}\nconst OpenAIChatBody = Schema.Struct(bodyFields)\nexport type OpenAIChatBody = Schema.Schema.Type<typeof OpenAIChatBody>\n\n// =============================================================================\n// Streaming Event Schema\n// =============================================================================\n// The event schema is one decoded SSE `data:` payload. `Framing.sse` splits the\n// byte stream into strings, then `Protocol.jsonEvent` decodes each string into\n// this provider-native event shape.\nconst OpenAIChatUsage = Schema.Struct({\n prompt_tokens: Schema.optional(Schema.Number),\n completion_tokens: Schema.optional(Schema.Number),\n total_tokens: Schema.optional(Schema.Number),\n prompt_tokens_details: optionalNull(\n Schema.Struct({\n cached_tokens: Schema.optional(Schema.Number),\n }),\n ),\n completion_tokens_details: optionalNull(\n Schema.Struct({\n reasoning_tokens: Schema.optional(Schema.Number),\n }),\n ),\n})\n\nconst OpenAIChatToolCallDeltaFunction = Schema.Struct({\n name: optionalNull(Schema.String),\n arguments: optionalNull(Schema.String),\n})\n\nconst OpenAIChatToolCallDelta = Schema.Struct({\n index: Schema.Number,\n id: optionalNull(Schema.String),\n function: optionalNull(OpenAIChatToolCallDeltaFunction),\n})\ntype OpenAIChatToolCallDelta = Schema.Schema.Type<typeof OpenAIChatToolCallDelta>\n\nconst OpenAIChatDelta = Schema.Struct({\n content: optionalNull(Schema.String),\n reasoning_content: optionalNull(Schema.String),\n tool_calls: optionalNull(Schema.Array(OpenAIChatToolCallDelta)),\n})\n\nconst OpenAIChatChoice = Schema.Struct({\n delta: optionalNull(OpenAIChatDelta),\n finish_reason: optionalNull(Schema.String),\n})\n\nexport const OpenAIChatEvent = Schema.Struct({\n choices: Schema.Array(OpenAIChatChoice),\n usage: optionalNull(OpenAIChatUsage),\n})\nexport type OpenAIChatEvent = Schema.Schema.Type<typeof OpenAIChatEvent>\ntype OpenAIChatRequestMessage = LLMRequest[\"messages\"][number]\n\ninterface ParserState {\n readonly tools: ToolStream.State<number>\n readonly toolCallEvents: ReadonlyArray<LLMEvent>\n readonly usage?: Usage\n readonly finishReason?: FinishReason\n readonly lifecycle: Lifecycle.State\n}\n\n// =============================================================================\n// Request Lowering\n// =============================================================================\n// Lowering is the only place that knows how common LLM messages map onto the\n// OpenAI Chat wire format. Keep provider quirks here instead of leaking native\n// fields into `LLMRequest`.\nconst lowerTool = (tool: ToolDefinition, inputSchema: JsonSchema): OpenAIChatTool => ({\n type: \"function\",\n function: {\n name: tool.name,\n description: tool.description,\n parameters: ToolSchemaProjection.openAI(inputSchema),\n },\n})\n\nconst lowerToolChoice = (toolChoice: NonNullable<LLMRequest[\"toolChoice\"]>) =>\n ProviderShared.matchToolChoice(\"OpenAI Chat\", toolChoice, {\n auto: () => \"auto\" as const,\n none: () => \"none\" as const,\n required: () => \"required\" as const,\n tool: (name) => ({ type: \"function\" as const, function: { name } }),\n })\n\nconst lowerToolCall = (part: ToolCallPart): OpenAIChatAssistantToolCall => ({\n id: part.id,\n type: \"function\",\n function: {\n name: part.name,\n arguments: ProviderShared.encodeJson(part.input),\n },\n})\n\nconst lowerMedia = Effect.fn(\"OpenAIChat.lowerMedia\")(function* (part: MediaPart) {\n const media = yield* ProviderShared.validateMedia(\"OpenAI Chat\", part, IMAGE_MIMES)\n return { type: \"image_url\" as const, image_url: { url: media.dataUrl } }\n})\n\nconst openAICompatibleReasoningContent = (native: unknown) =>\n isRecord(native) && typeof native.reasoning_content === \"string\" ? native.reasoning_content : undefined\n\nconst lowerUserMessage = Effect.fn(\"OpenAIChat.lowerUserMessage\")(function* (message: OpenAIChatRequestMessage) {\n const content: Array<Schema.Schema.Type<typeof OpenAIChatUserContent>> = []\n for (const part of message.content) {\n if (part.type === \"text\") {\n content.push({ type: \"text\", text: part.text })\n continue\n }\n if (part.type === \"media\") {\n content.push(yield* lowerMedia(part))\n continue\n }\n return yield* ProviderShared.unsupportedContent(\"OpenAI Chat\", \"user\", [\"text\", \"media\"])\n }\n if (content.every((part) => part.type === \"text\"))\n return { role: \"user\" as const, content: content.map((part) => part.text).join(\"\") }\n return { role: \"user\" as const, content }\n})\n\nconst lowerAssistantMessage = Effect.fn(\"OpenAIChat.lowerAssistantMessage\")(function* (\n message: OpenAIChatRequestMessage,\n) {\n const content: TextPart[] = []\n const reasoning: ReasoningPart[] = []\n const toolCalls: OpenAIChatAssistantToolCall[] = []\n for (const part of message.content) {\n if (!ProviderShared.supportsContent(part, [\"text\", \"reasoning\", \"tool-call\"]))\n return yield* ProviderShared.unsupportedContent(\"OpenAI Chat\", \"assistant\", [\"text\", \"reasoning\", \"tool-call\"])\n if (part.type === \"text\") {\n content.push(part)\n continue\n }\n if (part.type === \"reasoning\") {\n reasoning.push(part)\n continue\n }\n if (part.type === \"tool-call\") {\n toolCalls.push(lowerToolCall(part))\n continue\n }\n }\n return {\n role: \"assistant\" as const,\n content: content.length === 0 ? null : ProviderShared.joinText(content),\n tool_calls: toolCalls.length === 0 ? undefined : toolCalls,\n reasoning_content:\n reasoning.length > 0\n ? reasoning.map((part) => part.text).join(\"\")\n : openAICompatibleReasoningContent(message.native?.openaiCompatible),\n }\n})\n\nconst lowerToolMessages = Effect.fn(\"OpenAIChat.lowerToolMessages\")(function* (message: OpenAIChatRequestMessage) {\n const messages: OpenAIChatMessage[] = []\n const images: Array<Schema.Schema.Type<typeof OpenAIChatUserContent>> = []\n for (const part of message.content) {\n if (!ProviderShared.supportsContent(part, [\"tool-result\"]))\n return yield* ProviderShared.unsupportedContent(\"OpenAI Chat\", \"tool\", [\"tool-result\"])\n if (part.result.type !== \"content\") {\n messages.push({ role: \"tool\", tool_call_id: part.id, content: ProviderShared.toolResultText(part) })\n continue\n }\n const content: ReadonlyArray<ToolContent> = part.result.value\n const text = content.filter((item) => item.type === \"text\").map((item) => item.text)\n messages.push({ role: \"tool\", tool_call_id: part.id, content: text.join(\"\\n\") })\n const files = content.filter((item) => item.type === \"file\")\n images.push(\n ...(yield* Effect.forEach(files, (item) =>\n lowerMedia({ type: \"media\", mediaType: item.mime, data: item.uri, filename: item.name }),\n )),\n )\n }\n return { messages, images }\n})\n\nconst lowerMessage = Effect.fn(\"OpenAIChat.lowerMessage\")(function* (message: OpenAIChatRequestMessage) {\n if (message.role === \"user\") return [yield* lowerUserMessage(message)]\n if (message.role === \"assistant\") return [yield* lowerAssistantMessage(message)]\n return (yield* lowerToolMessages(message)).messages\n})\n\nconst lowerMessages = Effect.fn(\"OpenAIChat.lowerMessages\")(function* (request: LLMRequest) {\n const system: OpenAIChatMessage[] =\n request.system.length === 0 ? [] : [{ role: \"system\", content: ProviderShared.joinText(request.system) }]\n const messages = [...system]\n const pendingImages: Array<Schema.Schema.Type<typeof OpenAIChatUserContent>> = []\n const flushImages = () => {\n if (pendingImages.length === 0) return\n messages.push({ role: \"user\", content: pendingImages.splice(0) })\n }\n for (const message of request.messages) {\n if (message.role === \"system\") {\n const part = yield* ProviderShared.wrappedSystemUpdate(\"OpenAI Chat\", message)\n if (pendingImages.length > 0) {\n messages.push({ role: \"user\", content: [...pendingImages.splice(0), { type: \"text\", text: part.text }] })\n continue\n }\n const previous = messages.at(-1)\n if (previous?.role === \"user\" && typeof previous.content === \"string\")\n messages[messages.length - 1] = { role: \"user\", content: `${previous.content}\\n${part.text}` }\n else if (previous?.role === \"user\" && Array.isArray(previous.content))\n messages[messages.length - 1] = {\n role: \"user\",\n content: [...previous.content, { type: \"text\", text: part.text }],\n }\n else messages.push({ role: \"user\", content: part.text })\n continue\n }\n if (message.role === \"tool\") {\n const lowered = yield* lowerToolMessages(message)\n messages.push(...lowered.messages)\n pendingImages.push(...lowered.images)\n continue\n }\n flushImages()\n messages.push(...(yield* lowerMessage(message)))\n }\n flushImages()\n return messages\n})\n\nconst lowerOptions = Effect.fn(\"OpenAIChat.lowerOptions\")(function* (request: LLMRequest) {\n const store = OpenAIOptions.store(request)\n const reasoningEffort = OpenAIOptions.reasoningEffort(request)\n return {\n ...(store !== undefined ? { store } : {}),\n ...(reasoningEffort ? { reasoning_effort: reasoningEffort } : {}),\n }\n})\n\nconst fromRequest = Effect.fn(\"OpenAIChat.fromRequest\")(function* (request: LLMRequest) {\n // `fromRequest` returns the provider body only. Endpoint, auth, framing,\n // validation, and HTTP execution are composed by `Route.make`.\n const generation = request.generation\n const toolSchemaCompatibility = request.model.compatibility?.toolSchema\n return {\n model: request.model.id,\n messages: yield* lowerMessages(request),\n tools:\n request.tools.length === 0\n ? undefined\n : request.tools.map((tool) =>\n lowerTool(tool, ToolSchemaProjection.modelCompatibility(tool.inputSchema, toolSchemaCompatibility)),\n ),\n tool_choice: request.toolChoice ? yield* lowerToolChoice(request.toolChoice) : undefined,\n stream: true as const,\n stream_options: { include_usage: true },\n max_tokens: generation?.maxTokens,\n temperature: generation?.temperature,\n top_p: generation?.topP,\n frequency_penalty: generation?.frequencyPenalty,\n presence_penalty: generation?.presencePenalty,\n seed: generation?.seed,\n stop: generation?.stop,\n ...(yield* lowerOptions(request)),\n }\n})\n\n// =============================================================================\n// Stream Parsing\n// =============================================================================\n// Streaming parsers are small state machines: every event returns a new state\n// plus the common `LLMEvent`s produced by that event. Tool calls are accumulated\n// because OpenAI streams JSON arguments across multiple deltas.\nconst mapFinishReason = (reason: string | null | undefined): FinishReason => {\n if (reason === \"stop\") return \"stop\"\n if (reason === \"length\") return \"length\"\n if (reason === \"content_filter\") return \"content-filter\"\n if (reason === \"function_call\" || reason === \"tool_calls\") return \"tool-calls\"\n return \"unknown\"\n}\n\n// OpenAI Chat reports `prompt_tokens` (inclusive total) with a\n// `cached_tokens` subset, and `completion_tokens` (inclusive total) with\n// a `reasoning_tokens` subset. We pass the inclusive totals through and\n// derive the non-cached breakdown so the `LLM.Usage` contract is\n// satisfied on both sides.\nconst mapUsage = (usage: OpenAIChatEvent[\"usage\"]): Usage | undefined => {\n if (!usage) return undefined\n const cached = usage.prompt_tokens_details?.cached_tokens\n const reasoning = usage.completion_tokens_details?.reasoning_tokens\n const nonCached = ProviderShared.subtractTokens(usage.prompt_tokens, cached)\n return new Usage({\n inputTokens: usage.prompt_tokens,\n outputTokens: usage.completion_tokens,\n nonCachedInputTokens: nonCached,\n cacheReadInputTokens: cached,\n reasoningTokens: reasoning,\n totalTokens: ProviderShared.totalTokens(usage.prompt_tokens, usage.completion_tokens, usage.total_tokens),\n providerMetadata: { openai: usage },\n })\n}\n\nconst step = (state: ParserState, event: OpenAIChatEvent) =>\n Effect.gen(function* () {\n const events: LLMEvent[] = []\n const usage = mapUsage(event.usage) ?? state.usage\n const choice = event.choices[0]\n const finishReason = choice?.finish_reason ? mapFinishReason(choice.finish_reason) : state.finishReason\n const delta = choice?.delta\n const toolDeltas = delta?.tool_calls ?? []\n let tools = state.tools\n\n let lifecycle = state.lifecycle\n\n if (delta?.reasoning_content)\n lifecycle = Lifecycle.reasoningDelta(lifecycle, events, \"reasoning-0\", delta.reasoning_content)\n\n if (delta?.content) {\n lifecycle = Lifecycle.reasoningEnd(lifecycle, events, \"reasoning-0\")\n lifecycle = Lifecycle.textDelta(lifecycle, events, \"text-0\", delta.content)\n }\n\n if (toolDeltas.length) lifecycle = Lifecycle.reasoningEnd(lifecycle, events, \"reasoning-0\")\n\n for (const tool of toolDeltas) {\n const result = ToolStream.appendOrStart(\n ADAPTER,\n tools,\n tool.index,\n { id: tool.id ?? undefined, name: tool.function?.name ?? undefined, text: tool.function?.arguments ?? \"\" },\n \"OpenAI Chat tool call delta is missing id or name\",\n )\n if (ToolStream.isError(result)) return yield* result\n tools = result.tools\n if (result.events.length) lifecycle = Lifecycle.stepStart(lifecycle, events)\n events.push(...result.events)\n }\n\n // Finalize accumulated tool inputs eagerly when finish_reason arrives so\n // JSON parse failures fail the stream at the boundary rather than at halt.\n const finished =\n finishReason !== undefined && state.finishReason === undefined && Object.keys(tools).length > 0\n ? yield* ToolStream.finishAll(ADAPTER, tools)\n : undefined\n\n return [\n {\n tools: finished?.tools ?? tools,\n toolCallEvents: finished?.events ?? state.toolCallEvents,\n usage,\n finishReason,\n lifecycle,\n },\n events,\n ] as const\n })\n\nconst finishEvents = (state: ParserState): ReadonlyArray<LLMEvent> => {\n const events: LLMEvent[] = []\n const hasToolCalls = state.toolCallEvents.length > 0\n const reason = state.finishReason === \"stop\" && hasToolCalls ? \"tool-calls\" : state.finishReason\n const lifecycle = state.toolCallEvents.length ? Lifecycle.stepStart(state.lifecycle, events) : state.lifecycle\n events.push(...state.toolCallEvents)\n if (reason) Lifecycle.finish(lifecycle, events, { reason, usage: state.usage })\n return events\n}\n\n// =============================================================================\n// Protocol And OpenAI Route\n// =============================================================================\n/**\n * The OpenAI Chat protocol — request body construction, body schema, and the\n * streaming-event state machine. Reused by every route that speaks OpenAI Chat\n * over HTTP+SSE: native OpenAI, DeepSeek, TogetherAI, Cerebras, Baseten,\n * Fireworks, DeepInfra, and (once added) Azure OpenAI Chat.\n */\nexport const protocol = Protocol.make({\n id: ADAPTER,\n body: {\n schema: OpenAIChatBody,\n from: fromRequest,\n },\n stream: {\n event: Protocol.jsonEvent(OpenAIChatEvent),\n initial: () => ({ tools: ToolStream.empty<number>(), toolCallEvents: [], lifecycle: Lifecycle.initial() }),\n step,\n onHalt: finishEvents,\n },\n})\n\nexport const httpTransport = HttpTransport.sseJson.with<OpenAIChatBody>()\n\nexport const route = Route.make({\n id: ADAPTER,\n provider: \"openai\",\n providerMetadataKey: \"openai\",\n protocol,\n endpoint: Endpoint.path(PATH, { baseURL: DEFAULT_BASE_URL }),\n auth: Auth.none,\n transport: httpTransport,\n})\n\nexport * as OpenAIChat from \"./openai-chat\"\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "31F18319FCD581DB64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260622170816_reset_v2_session_state.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260622170816_reset_v2_session_state\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`DELETE FROM \\`session_context_epoch\\`;`)\n yield* tx.run(`DELETE FROM \\`session_input\\`;`)\n yield* tx.run(`DELETE FROM \\`session_message\\`;`)\n yield* tx.run(`DELETE FROM \\`event\\`;`)\n yield* tx.run(`DELETE FROM \\`event_sequence\\`;`)\n yield* tx.run(`UPDATE \\`session\\` SET \\`workspace_id\\` = NULL WHERE \\`workspace_id\\` IS NOT NULL;`)\n yield* tx.run(`DELETE FROM \\`workspace\\`;`)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,wCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,sCAAwC,EACtD,MAAO,EAAG,IAAI,8BAAgC,EAC9C,MAAO,EAAG,IAAI,gCAAkC,EAChD,MAAO,EAAG,IAAI,sBAAwB,EACtC,MAAO,EAAG,IAAI,+BAAiC,EAC/C,MAAO,EAAG,IAAI,8EAAoF,EAClG,MAAO,EAAG,IAAI,0BAA4B,EAC3C,EAEL", | ||
| "debugId": "2CBF032255912C1A64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260707120000_migrate_prelaunch_v2_state.ts"], | ||
| "sourcesContent": [ | ||
| "import { sql } from \"drizzle-orm\"\nimport { Effect, Schema } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nconst decodeJson = Schema.decodeUnknownSync(Schema.UnknownFromJsonString)\nconst isObject = Schema.is(Schema.Record(Schema.String, Schema.Unknown))\n\nexport default {\n id: \"20260707120000_migrate_prelaunch_v2_state\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(\n sql`DELETE FROM session_message WHERE type = 'compaction' AND json_extract(data, '$.status') = 'queued'`,\n )\n const messages = yield* tx.all<{ id: string; type: string; data: string }>(\n sql`SELECT id, type, data FROM session_message WHERE type IN ('skill', 'shell', 'assistant', 'compaction', 'synthetic')`,\n )\n for (const row of messages) {\n const data = object(decodeJson(row.data))\n yield* tx.run(\n sql`UPDATE session_message SET data = ${JSON.stringify(messageData(row.type, data))} WHERE id = ${row.id}`,\n )\n }\n\n yield* tx.run(sql`DELETE FROM event WHERE type = 'session.compaction.delta.1'`)\n const events = yield* tx.all<{ id: string; aggregateID: string; seq: number; type: string; data: string }>(sql`\n SELECT id, aggregate_id as aggregateID, seq, type, data\n FROM event\n WHERE type IN (\n 'session.skill.activated.1',\n 'session.skill.activated.2',\n 'session.compaction.started.1',\n 'session.compaction.started.2',\n 'session.compaction.ended.1',\n 'session.compaction.failed.1',\n 'session.compaction.failed.2',\n 'session.revert.staged.1',\n 'session.revert.staged.2'\n )\n ORDER BY aggregate_id, seq\n `)\n const compactionReasons = new Map<string, \"auto\" | \"manual\">()\n for (const row of events) {\n const data = object(decodeJson(row.data))\n if (row.type.startsWith(\"session.compaction.ended.\")) {\n compactionReasons.delete(row.aggregateID)\n continue\n }\n const event = eventData(row.type, data, compactionReasons.get(row.aggregateID))\n if (row.type.startsWith(\"session.compaction.started.\"))\n compactionReasons.set(row.aggregateID, event.data.reason === \"auto\" ? \"auto\" : \"manual\")\n if (row.type.startsWith(\"session.compaction.failed.\")) compactionReasons.delete(row.aggregateID)\n yield* tx.run(\n sql`UPDATE event SET type = ${event.type}, data = ${JSON.stringify(event.data)} WHERE id = ${row.id}`,\n )\n }\n })\n },\n} satisfies DatabaseMigration.Migration\n\nfunction messageData(type: string, data: Record<string, unknown>) {\n if (type === \"skill\")\n return defined({\n metadata: data.metadata,\n time: data.time,\n skill: data.skill ?? data.id ?? data.name,\n name: data.name,\n text: data.text,\n })\n if (type === \"shell\") {\n const shell = object(data.shell)\n return defined({\n metadata: data.metadata,\n time: data.time,\n shellID: data.shellID ?? shell.id,\n command: data.command ?? shell.command,\n status: data.status ?? shell.status,\n exit: data.exit ?? shell.exit,\n output: data.output,\n })\n }\n if (type === \"assistant\")\n return defined({\n metadata: data.metadata,\n time: data.time,\n agent: data.agent,\n model: data.model,\n content: Array.isArray(data.content) ? data.content.map(assistantContent) : data.content,\n snapshot: data.snapshot,\n finish: data.finish,\n cost: data.cost,\n tokens: data.tokens,\n error: data.error,\n retry: data.retry,\n })\n if (type === \"compaction\") {\n if (data.status === \"failed\")\n return defined({\n metadata: data.metadata,\n time: data.time,\n status: data.status,\n reason: data.reason,\n error: data.error ?? genericCompactionError,\n })\n return defined({\n metadata: data.metadata,\n time: data.time,\n status: data.status,\n reason: data.reason,\n summary: data.summary,\n recent: data.recent,\n })\n }\n if (type === \"synthetic\")\n return defined({ metadata: data.metadata, time: data.time, text: data.text, description: data.description })\n const { sessionID: _, ...current } = data\n return current\n}\n\nfunction assistantContent(value: unknown) {\n const content = object(value)\n if (content.type === \"text\") return defined({ type: content.type, text: content.text })\n if (content.type === \"reasoning\")\n return defined({ type: content.type, text: content.text, state: content.state, time: content.time })\n if (content.type !== \"tool\") return content\n return defined({\n type: content.type,\n id: content.id,\n name: content.name,\n executed: content.executed,\n providerState: content.providerState,\n providerResultState: content.providerResultState,\n state: toolState(content.state),\n time: content.time,\n })\n}\n\nfunction toolState(value: unknown) {\n const state = object(value)\n if (state.status === \"pending\" || state.status === \"streaming\")\n return defined({ status: \"streaming\", input: state.input })\n if (state.status === \"running\")\n return defined({ status: state.status, input: state.input, structured: state.structured, content: state.content })\n if (state.status === \"completed\")\n return defined({\n status: state.status,\n input: state.input,\n structured: state.structured,\n content: state.content,\n result: state.result,\n })\n if (state.status === \"error\")\n return defined({\n status: state.status,\n input: state.input,\n structured: state.structured,\n content: state.content,\n error: state.error,\n result: state.result,\n })\n return state\n}\n\nfunction eventData(type: string, data: Record<string, unknown>, compactionReason?: \"auto\" | \"manual\") {\n if (type.startsWith(\"session.skill.activated.\"))\n return {\n type: \"session.skill.activated.1\",\n data: defined({ sessionID: data.sessionID, id: data.id ?? data.name, name: data.name, text: data.text }),\n }\n if (type.startsWith(\"session.compaction.started.\"))\n return {\n type: \"session.compaction.started.1\",\n data: defined({\n sessionID: data.sessionID,\n reason: data.reason,\n recent: data.recent ?? \"\",\n inputID: data.inputID,\n }),\n }\n if (type.startsWith(\"session.compaction.failed.\"))\n return {\n type: \"session.compaction.failed.1\",\n data: defined({\n sessionID: data.sessionID,\n reason: data.reason ?? compactionReason ?? \"manual\",\n error: data.error ?? genericCompactionError,\n inputID: data.inputID,\n }),\n }\n const revert = object(data.revert)\n return {\n type: \"session.revert.staged.1\",\n data: defined({\n sessionID: data.sessionID,\n revert: defined({\n messageID: revert.messageID,\n partID: revert.partID,\n snapshot: revert.snapshot,\n files: Array.isArray(revert.files)\n ? revert.files.map((value) => {\n const file = object(value)\n return defined({\n file: file.file ?? file.path,\n patch: file.patch,\n additions: file.additions,\n deletions: file.deletions,\n status: file.status,\n })\n })\n : undefined,\n }),\n }),\n }\n}\n\nconst genericCompactionError = {\n type: \"compaction.failed\",\n message: \"Compaction failed before recording an error\",\n}\n\nfunction object(value: unknown): Record<string, unknown> {\n return isObject(value) ? value : {}\n}\n\nfunction defined(value: Record<string, unknown>) {\n return Object.fromEntries(Object.entries(value).filter((entry) => entry[1] !== undefined))\n}\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "E01331B7FA7B2CBE64756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "B7F0882AB2659FDA64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260504145000_add_sync_owner.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260504145000_add_sync_owner\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`ALTER TABLE \\`event_sequence\\` ADD \\`owner_id\\` text;`)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,gCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,mDAAuD,EACtE,EAEL", | ||
| "debugId": "B0D8EBD707CF6F8964756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["src/mini/tool.ts"], | ||
| "sourcesContent": [ | ||
| "// Per-tool display rules shared across `opencode run` output paths.\n//\n// Each known tool (bash, edit, write, task, etc.) has a ToolRule that controls\n// five display hooks:\n//\n// view → visibility policy for progress/final scrollback entries and\n// whether completed finals can render as structured snapshots\n// run → inline summary for the non-interactive `run` command output\n// scroll → text formatting for start/progress/final scrollback entries\n// permission → display info for the permission UI (icon, title, diff)\n// snap → structured snapshot (code block, diff, task card) for rich\n// scrollback entries\n//\n// Tools not in TOOL_RULES get fallback formatting.\nimport os from \"os\"\nimport path from \"path\"\nimport stripAnsi from \"strip-ansi\"\nimport type { ToolPart } from \"@opencode-ai/sdk/v2\"\nimport { LANGUAGE_EXTENSIONS } from \"@opencode-ai/tui/util/filetype\"\nimport { Locale } from \"@opencode-ai/tui/util/locale\"\nimport type { RunEntryBody, StreamCommit, ToolSnapshot } from \"./types\"\n\nexport type ToolView = {\n output: boolean\n final: boolean\n snap?: \"code\" | \"diff\" | \"structured\"\n}\n\nexport type ToolPhase = \"start\" | \"progress\" | \"final\"\n\nexport type ToolDict = Record<string, unknown>\n\ntype PatchFile = {\n type?: string\n relativePath?: string\n filePath?: string\n movePath?: string\n patch?: string\n deletions?: number\n}\n\ntype ToolInput = ToolDict & {\n path?: string\n pattern?: string\n filePath?: string\n filepath?: string\n url?: string\n query?: string\n subagent_type?: string\n description?: string\n name?: string\n operation?: string\n line?: number\n character?: number\n content?: string\n command?: string\n workdir?: string\n questions?: Array<{ question?: string }>\n diff?: string\n}\n\ntype ToolMetadata = ToolDict & {\n count?: number\n matches?: number\n diff?: string\n provider?: unknown\n files?: PatchFile[]\n answers?: string[][]\n exit?: number\n}\n\nexport type ToolFrame = {\n raw: string\n name: string\n input: ToolDict\n meta: ToolDict\n state: ToolDict\n status: string\n error: string\n}\n\nexport type ToolInline = {\n icon: string\n title: string\n description?: string\n mode?: \"inline\" | \"block\"\n body?: string\n}\n\nexport type ToolPermissionInfo = {\n icon: string\n title: string\n lines: string[]\n diff?: string\n file?: string\n}\n\nexport type ToolProps = {\n input: ToolInput\n metadata: ToolMetadata\n frame: ToolFrame\n}\n\ntype ToolPermissionProps = {\n input: ToolInput\n metadata: ToolMetadata\n patterns: string[]\n}\n\ntype ToolPermissionCtx = {\n input: ToolDict\n meta: ToolDict\n patterns: string[]\n}\n\ntype ToolName =\n | \"invalid\"\n | \"bash\"\n | \"write\"\n | \"edit\"\n | \"patch\"\n | \"batch\"\n | \"task\"\n | \"question\"\n | \"read\"\n | \"glob\"\n | \"grep\"\n | \"list\"\n | \"lsp\"\n | \"webfetch\"\n | \"websearch\"\n | \"skill\"\n | \"plan_exit\"\n\ntype ToolRule = {\n view: ToolView\n run: (props: ToolProps) => ToolInline\n scroll?: Partial<Record<ToolPhase, (props: ToolProps) => string>>\n permission?: (props: ToolPermissionProps) => ToolPermissionInfo\n snap?: (props: ToolProps) => ToolSnapshot | undefined\n}\n\ntype ToolRegistry = Record<ToolName, ToolRule>\n\ntype AnyToolRule = ToolRule\n\nfunction dict(v: unknown): ToolDict {\n if (!v || typeof v !== \"object\" || Array.isArray(v)) {\n return {}\n }\n\n return { ...v }\n}\n\nfunction props(frame: ToolFrame): ToolProps {\n return {\n input: frame.input,\n metadata: frame.meta,\n frame,\n }\n}\n\nfunction permission(ctx: ToolPermissionCtx): ToolPermissionProps {\n return {\n input: ctx.input,\n metadata: ctx.meta,\n patterns: ctx.patterns,\n }\n}\n\nfunction webSearchProviderLabel(provider: unknown) {\n if (provider === \"parallel\") return \"Parallel Web Search\"\n if (provider === \"exa\") return \"Exa Web Search\"\n return \"Web Search\"\n}\n\nfunction text(v: unknown): string {\n return typeof v === \"string\" ? v : \"\"\n}\n\nfunction num(v: unknown): number | undefined {\n if (typeof v !== \"number\" || !Number.isFinite(v)) {\n return undefined\n }\n\n return v\n}\n\nfunction list<T>(v: unknown): T[] {\n if (!Array.isArray(v)) {\n return []\n }\n\n return v\n}\n\nfunction info(data: ToolDict, skip: string[] = []): string {\n const list = Object.entries(data).filter(([key, val]) => {\n if (skip.includes(key)) {\n return false\n }\n\n return typeof val === \"string\" || typeof val === \"number\" || typeof val === \"boolean\"\n })\n\n if (list.length === 0) {\n return \"\"\n }\n\n return `[${list.map(([key, val]) => `${key}=${String(val)}`).join(\", \")}]`\n}\n\nfunction span(state: ToolDict): string {\n const time = dict(state.time)\n const start = num(time.start)\n const end = num(time.end)\n if (start === undefined || end === undefined || end <= start) {\n return \"\"\n }\n\n return Locale.duration(end - start)\n}\n\nfunction fail(ctx: ToolFrame): string {\n const error = toolError(ctx)\n if (error) {\n return `✖ ${ctx.name} failed: ${error}`\n }\n\n return `✖ ${ctx.name} failed`\n}\n\nfunction toolError(ctx: ToolFrame): string {\n if (ctx.error) {\n return ctx.error\n }\n\n const state = text(ctx.state.error).trim()\n if (state) {\n return state\n }\n\n return ctx.raw.trim()\n}\n\nfunction fallbackStart(ctx: ToolFrame): string {\n const extra = info(ctx.input)\n if (!extra) {\n return `⚙ ${ctx.name}`\n }\n\n return `⚙ ${ctx.name} ${extra}`\n}\n\nfunction fallbackFinal(ctx: ToolFrame): string {\n if (ctx.status === \"error\") {\n return fail(ctx)\n }\n\n if (ctx.status && ctx.status !== \"completed\") {\n return ctx.raw.trim()\n }\n\n const time = span(ctx.state)\n if (!time) {\n return `${ctx.name} completed`\n }\n\n return `${ctx.name} completed · ${time}`\n}\n\nexport function toolPath(input?: string, opts: { home?: boolean } = {}): string {\n if (!input) {\n return \"\"\n }\n\n const cwd = process.cwd()\n const home = os.homedir()\n const abs = path.isAbsolute(input) ? input : path.resolve(cwd, input)\n const rel = path.relative(cwd, abs)\n\n if (!rel) {\n return \".\"\n }\n\n if (!rel.startsWith(\"..\")) {\n return rel.replaceAll(\"\\\\\", \"/\")\n }\n\n if (opts.home && home && (abs === home || abs.startsWith(home + path.sep))) {\n return abs.replace(home, \"~\").replaceAll(\"\\\\\", \"/\")\n }\n\n return abs.replaceAll(\"\\\\\", \"/\")\n}\n\nfunction fallbackInline(ctx: ToolFrame): ToolInline {\n const title = text(ctx.state.title) || (Object.keys(ctx.input).length > 0 ? JSON.stringify(ctx.input) : \"Unknown\")\n\n return {\n icon: \"⚙\",\n title: `${ctx.name} ${title}`,\n }\n}\n\nfunction count(n: number, label: string): string {\n return `${n} ${label}${n === 1 ? \"\" : \"es\"}`\n}\n\nfunction runGlob(p: ToolProps): ToolInline {\n const root = p.input.path ?? \"\"\n const title = `Glob \"${p.input.pattern ?? \"\"}\"`\n const suffix = root ? `in ${toolPath(root)}` : \"\"\n const matches = p.metadata.count\n const description = matches === undefined ? suffix : `${suffix}${suffix ? \" · \" : \"\"}${count(matches, \"match\")}`\n return {\n icon: \"✱\",\n title,\n ...(description && { description }),\n }\n}\n\nfunction runGrep(p: ToolProps): ToolInline {\n const root = p.input.path ?? \"\"\n const title = `Grep \"${p.input.pattern ?? \"\"}\"`\n const suffix = root ? `in ${toolPath(root)}` : \"\"\n const matches = p.metadata.matches\n const description = matches === undefined ? suffix : `${suffix}${suffix ? \" · \" : \"\"}${count(matches, \"match\")}`\n return {\n icon: \"✱\",\n title,\n ...(description && { description }),\n }\n}\n\nfunction runList(p: ToolProps): ToolInline {\n const dir = text(dict(p.input).path)\n return {\n icon: \"→\",\n title: dir ? `List ${toolPath(dir)}` : \"List\",\n }\n}\n\nfunction runRead(p: ToolProps): ToolInline {\n const file = toolPath(p.input.filePath)\n const description = info(p.frame.input, [\"filePath\"]) || undefined\n return {\n icon: \"→\",\n title: `Read ${file}`,\n ...(description && { description }),\n }\n}\n\nfunction runWrite(p: ToolProps): ToolInline {\n return {\n icon: \"←\",\n title: `Write ${toolPath(p.input.filePath)}`,\n mode: \"block\",\n body: p.frame.status === \"completed\" ? text(p.frame.state.output) : undefined,\n }\n}\n\nfunction runWebfetch(p: ToolProps): ToolInline {\n const url = p.input.url ?? \"\"\n return {\n icon: \"%\",\n title: url ? `WebFetch ${url}` : \"WebFetch\",\n }\n}\n\nfunction runEdit(p: ToolProps): ToolInline {\n return {\n icon: \"←\",\n title: `Edit ${toolPath(p.input.filePath)}`,\n mode: \"block\",\n body: p.metadata.diff,\n }\n}\n\nfunction runWebSearch(p: ToolProps): ToolInline {\n const title = webSearchProviderLabel(p.metadata.provider)\n return {\n icon: \"◈\",\n title: p.input.query ? `${title} \"${p.input.query}\"` : title,\n }\n}\n\nfunction runTask(p: ToolProps): ToolInline {\n const kind = Locale.titlecase(p.input.subagent_type || \"unknown\")\n const desc = p.input.description\n const icon = p.frame.status === \"error\" ? \"✗\" : p.frame.status === \"running\" ? \"•\" : \"✓\"\n return {\n icon,\n title: desc || `${kind} Task`,\n description: desc ? `${kind} Agent` : undefined,\n }\n}\n\nfunction runSkill(p: ToolProps): ToolInline {\n return {\n icon: \"→\",\n title: `Skill \"${p.input.name ?? \"\"}\"`,\n }\n}\n\nfunction runPatch(p: ToolProps): ToolInline {\n const files = p.metadata.files?.length ?? 0\n if (files === 0) {\n return {\n icon: \"%\",\n title: \"Patch\",\n }\n }\n\n return {\n icon: \"%\",\n title: `Patch ${files} file${files === 1 ? \"\" : \"s\"}`,\n }\n}\n\nfunction runQuestion(p: ToolProps): ToolInline {\n const total = list(p.frame.input.questions).length\n return {\n icon: \"→\",\n title: `Asked ${total} question${total === 1 ? \"\" : \"s\"}`,\n }\n}\n\nfunction runInvalid(p: ToolProps): ToolInline {\n return {\n icon: \"✗\",\n title: text(p.frame.state.title) || \"Invalid Tool\",\n mode: \"block\",\n body: p.frame.status === \"completed\" ? text(p.frame.state.output) : undefined,\n }\n}\n\nfunction runBatch(p: ToolProps): ToolInline {\n const calls = list(dict(p.input).tool_calls).length\n return {\n icon: \"#\",\n title: text(p.frame.state.title) || (calls > 0 ? `Batch ${calls} tool${calls === 1 ? \"\" : \"s\"}` : \"Batch\"),\n mode: \"block\",\n body: p.frame.status === \"completed\" ? text(p.frame.state.output) : undefined,\n }\n}\n\nfunction lspTitle(\n input: {\n operation?: string\n filePath?: string\n line?: number\n character?: number\n },\n opts: { home?: boolean } = {},\n): string {\n const op = input.operation || \"request\"\n const file = input.filePath ? toolPath(input.filePath, opts) : \"\"\n const line = typeof input.line === \"number\" ? input.line : undefined\n const char = typeof input.character === \"number\" ? input.character : undefined\n const pos = line !== undefined && char !== undefined ? `:${line}:${char}` : \"\"\n if (!file) {\n return `LSP ${op}`\n }\n\n return `LSP ${op} ${file}${pos}`\n}\n\nfunction runLsp(p: ToolProps): ToolInline {\n return {\n icon: \"→\",\n title: text(p.frame.state.title) || lspTitle(p.input),\n }\n}\n\nfunction runPlanExit(p: ToolProps): ToolInline {\n return {\n icon: \"→\",\n title: text(p.frame.state.title) || \"Switching to build agent\",\n mode: \"block\",\n body: p.frame.status === \"completed\" ? text(p.frame.state.output) : undefined,\n }\n}\n\nfunction patchTitle(file: PatchFile): string {\n const rel = file.relativePath\n const from = file.filePath\n if (file.type === \"add\") {\n return `# Created ${rel || toolPath(from)}`\n }\n if (file.type === \"delete\") {\n return `# Deleted ${rel || toolPath(from)}`\n }\n if (file.type === \"move\") {\n return `# Moved ${toolPath(from)} -> ${rel || toolPath(file.movePath)}`\n }\n\n return `# Patched ${rel || toolPath(from)}`\n}\n\nfunction snapWrite(p: ToolProps): ToolSnapshot | undefined {\n const file = p.input.filePath || \"\"\n const content = p.input.content || \"\"\n if (!file && !content) {\n return undefined\n }\n\n return {\n kind: \"code\",\n title: `# Wrote ${toolPath(file)}`,\n content,\n file,\n }\n}\n\nfunction snapEdit(p: ToolProps): ToolSnapshot | undefined {\n const file = p.input.filePath || \"\"\n const diff = p.metadata.diff || \"\"\n if (!file || !diff.trim()) {\n return undefined\n }\n\n return {\n kind: \"diff\",\n items: [\n {\n title: `# Edited ${toolPath(file)}`,\n diff,\n file,\n },\n ],\n }\n}\n\nfunction snapPatch(p: ToolProps): ToolSnapshot | undefined {\n const files = list<PatchFile>(p.frame.meta.files)\n if (files.length === 0) {\n return undefined\n }\n\n const items = files.flatMap((file) => {\n if (!file || typeof file !== \"object\") {\n return []\n }\n\n const diff = typeof file.patch === \"string\" ? file.patch : \"\"\n if (!diff.trim()) {\n return []\n }\n\n const name = file.movePath || file.filePath || file.relativePath\n return [\n {\n title: patchTitle(file),\n diff,\n file: name,\n deletions: typeof file.deletions === \"number\" ? file.deletions : 0,\n },\n ]\n })\n\n if (items.length === 0) {\n return undefined\n }\n\n return {\n kind: \"diff\",\n items,\n }\n}\n\nfunction snapTask(p: ToolProps): ToolSnapshot {\n const kind = Locale.titlecase(p.input.subagent_type || \"general\")\n const desc = p.input.description\n const title = text(p.frame.state.title)\n const rows = [desc || title].filter((item): item is string => Boolean(item))\n\n return {\n kind: \"task\",\n title: `# ${kind} Task`,\n rows,\n tail: \"\",\n }\n}\n\nfunction snapQuestion(p: ToolProps): ToolSnapshot {\n const answers = list<unknown[]>(p.frame.meta.answers)\n const items = list<{ question?: string }>(p.frame.input.questions).map((item, i) => {\n const answer = list<string>(answers[i]).filter((entry) => typeof entry === \"string\")\n return {\n question: item.question || `Question ${i + 1}`,\n answer: answer.length > 0 ? answer.join(\", \") : \"(no answer)\",\n }\n })\n\n return {\n kind: \"question\",\n items,\n tail: \"\",\n }\n}\n\nfunction scrollBashStart(p: ToolProps): string {\n const cmd = p.input.command ?? \"\"\n const wd = p.input.workdir ?? \"\"\n const formatted = wd && wd !== \".\" ? toolPath(wd) : \"\"\n const dir = formatted === \".\" ? \"\" : formatted\n if (cmd && !dir) {\n return `$ ${cmd}`\n }\n\n if (!cmd) {\n return dir ? `# Running in ${dir}` : \"\"\n }\n\n return `# Running in ${dir}\\n$ ${cmd}`\n}\n\nfunction scrollBashProgress(p: ToolProps): string {\n const out = stripAnsi(p.frame.raw)\n const cmd = (p.input.command ?? \"\").trim()\n const fmt = (text: string) => {\n const body = text.replace(/^\\n+/, \"\").replace(/\\n+$/, \"\")\n return body ? `\\n${body}` : \"\"\n }\n\n if (!cmd) {\n return out.replace(/\\n+$/, \"\")\n }\n\n const wdRaw = (p.input.workdir ?? \"\").trim()\n const wd = wdRaw ? toolPath(wdRaw) : \"\"\n const lines = out.split(\"\\n\")\n const first = (lines[0] || \"\").trim()\n const second = (lines[1] || \"\").trim()\n\n if (wd && (first === wd || first === wdRaw) && second === cmd) {\n return fmt(lines.slice(2).join(\"\\n\"))\n }\n\n if (first === cmd || first === `$ ${cmd}`) {\n return fmt(lines.slice(1).join(\"\\n\"))\n }\n\n if (wd && (first === `${wd} ${cmd}` || first === `${wdRaw} ${cmd}`)) {\n return fmt(lines.slice(1).join(\"\\n\"))\n }\n\n return fmt(out)\n}\n\nfunction scrollBashFinal(p: ToolProps): string {\n if (p.frame.status === \"error\") {\n return fail(p.frame)\n }\n\n const code = p.metadata.exit ?? num(p.frame.meta.exitCode) ?? num(p.frame.meta.exit_code)\n const time = span(p.frame.state)\n if (code === undefined) {\n if (!time) {\n return \"bash completed\"\n }\n\n return `bash completed · ${time}`\n }\n\n return `bash completed (exit ${code})${time ? ` · ${time}` : \"\"}`\n}\n\nfunction scrollReadStart(p: ToolProps): string {\n const file = toolPath(p.input.filePath)\n const extra = info(p.frame.input, [\"filePath\"])\n const tail = extra ? ` ${extra}` : \"\"\n return `→ Read ${file}${tail}`.trim()\n}\n\nfunction scrollWriteStart(_: ToolProps): string {\n return \"\"\n}\n\nfunction scrollEditStart(_: ToolProps): string {\n return \"\"\n}\n\nfunction scrollPatchStart(_: ToolProps): string {\n return \"\"\n}\n\nfunction patchLine(file: PatchFile): string {\n const type = file.type\n const rel = file.relativePath\n const from = file.filePath\n\n if (type === \"add\") {\n return `+ Created ${rel || toolPath(from)}`\n }\n\n if (type === \"delete\") {\n return `- Deleted ${rel || toolPath(from)}`\n }\n\n if (type === \"move\") {\n return `→ Moved ${toolPath(from)} → ${rel || toolPath(file.movePath)}`\n }\n\n return `~ Patched ${rel || toolPath(from)}`\n}\n\nfunction scrollPatchFinal(p: ToolProps): string {\n if (p.frame.status === \"error\") {\n return fail(p.frame)\n }\n\n const files = list<PatchFile>(p.frame.meta.files)\n if (files.length === 0) {\n const time = span(p.frame.state)\n if (!time) {\n return \"patch\"\n }\n\n return `patch · ${time}`\n }\n\n const show_updates = !files.some((file) => file?.type && file.type !== \"update\")\n const shown = files.filter((file) => show_updates || file.type !== \"update\")\n const rows = shown.slice(0, 6).map(patchLine)\n if (shown.length > 6) {\n rows.push(`... and ${shown.length - 6} more`)\n }\n\n if (rows.length > 0) {\n return rows.join(\"\\n\")\n }\n\n return patchLine(files[0]!)\n}\n\nfunction scrollTaskStart(_: ToolProps): string {\n return \"\"\n}\n\nfunction taskResult(output: string): string | undefined {\n if (!output.trim()) {\n return undefined\n }\n\n const match = output.match(/<task_result>\\s*([\\s\\S]*?)\\s*<\\/task_result>/)\n if (match) {\n return match[1].trim() || undefined\n }\n\n const next = output\n .split(\"\\n\")\n .filter((line) => !line.startsWith(\"task_id:\"))\n .join(\"\\n\")\n .trim()\n return next || undefined\n}\n\nfunction scrollTaskFinal(p: ToolProps): string {\n if (p.frame.status === \"error\") {\n return fail(p.frame)\n }\n\n const kind = Locale.titlecase(p.input.subagent_type || \"general\")\n const row = p.input.description || text(p.frame.state.title)\n if (!row) {\n return `# ${kind} Task`\n }\n\n return `# ${kind} Task\\n${row}`\n}\n\nfunction scrollQuestionStart(_: ToolProps): string {\n return \"\"\n}\n\nfunction scrollQuestionFinal(p: ToolProps): string {\n const q = p.input.questions ?? []\n const a = p.metadata.answers ?? []\n const time = span(p.frame.state)\n if (q.length === 0) {\n if (!time) {\n return \"0 questions\"\n }\n\n return `0 questions · ${time}`\n }\n\n const rows: string[] = []\n for (const [i, item] of q.slice(0, 4).entries()) {\n const prompt = item.question\n const reply = a[i] ?? []\n rows.push(`? ${prompt || `Question ${i + 1}`}`)\n rows.push(` ${reply.length > 0 ? reply.join(\", \") : \"(no answer)\"}`)\n }\n\n if (q.length > 4) {\n rows.push(`... and ${q.length - 4} more`)\n }\n\n return rows.join(\"\\n\")\n}\n\nfunction scrollLspStart(p: ToolProps): string {\n return `→ ${lspTitle(p.input)}`\n}\n\nfunction scrollSkillStart(p: ToolProps): string {\n return `→ Skill \"${p.input.name ?? \"\"}\"`\n}\n\nfunction scrollGlobStart(p: ToolProps): string {\n const pattern = p.input.pattern ?? \"\"\n const head = pattern ? `✱ Glob \"${pattern}\"` : \"✱ Glob\"\n const dir = p.input.path ?? \"\"\n if (!dir) {\n return head\n }\n\n return `${head} in ${toolPath(dir)}`\n}\n\nfunction scrollGlobFinal(p: ToolProps): string {\n return toolError(p.frame) || fail(p.frame)\n}\n\nfunction scrollGrepStart(p: ToolProps): string {\n const pattern = p.input.pattern ?? \"\"\n const head = pattern ? `✱ Grep \"${pattern}\"` : \"✱ Grep\"\n const dir = p.input.path ?? \"\"\n if (!dir) {\n return head\n }\n\n return `${head} in ${toolPath(dir)}`\n}\n\nfunction scrollListStart(p: ToolProps): string {\n const dir = text(dict(p.input).path)\n if (!dir) {\n return \"→ List\"\n }\n\n return `→ List ${toolPath(dir)}`\n}\n\nfunction scrollWebfetchStart(p: ToolProps): string {\n const url = p.input.url ?? \"\"\n if (!url) {\n return \"% WebFetch\"\n }\n\n return `% WebFetch ${url}`\n}\n\nfunction scrollWebSearchStart(p: ToolProps): string {\n const title = webSearchProviderLabel(p.metadata.provider)\n const query = p.input.query ?? \"\"\n if (!query) {\n return `◈ ${title}`\n }\n\n return `◈ ${title} \"${query}\"`\n}\n\nfunction permEdit(p: ToolPermissionProps): ToolPermissionInfo {\n const input = p.input as { filePath?: string; filepath?: string; diff?: string }\n const file = input.filePath || input.filepath || p.patterns[0] || \"\"\n return {\n icon: \"→\",\n title: `Edit ${toolPath(file, { home: true })}`,\n lines: [],\n diff: p.metadata.diff ?? input.diff,\n file,\n }\n}\n\nfunction permRead(p: ToolPermissionProps): ToolPermissionInfo {\n const file = p.input.filePath || p.patterns[0] || \"\"\n return {\n icon: \"→\",\n title: `Read ${toolPath(file, { home: true })}`,\n lines: file ? [`Path: ${toolPath(file, { home: true })}`] : [],\n }\n}\n\nfunction permGlob(p: ToolPermissionProps): ToolPermissionInfo {\n const pattern = p.input.pattern || p.patterns[0] || \"\"\n return {\n icon: \"✱\",\n title: `Glob \"${pattern}\"`,\n lines: pattern ? [`Pattern: ${pattern}`] : [],\n }\n}\n\nfunction permGrep(p: ToolPermissionProps): ToolPermissionInfo {\n const pattern = p.input.pattern || p.patterns[0] || \"\"\n return {\n icon: \"✱\",\n title: `Grep \"${pattern}\"`,\n lines: pattern ? [`Pattern: ${pattern}`] : [],\n }\n}\n\nfunction permList(p: ToolPermissionProps): ToolPermissionInfo {\n const dir = text(dict(p.input).path) || p.patterns[0] || \"\"\n return {\n icon: \"→\",\n title: `List ${toolPath(dir, { home: true })}`,\n lines: dir ? [`Path: ${toolPath(dir, { home: true })}`] : [],\n }\n}\n\nfunction permBash(p: ToolPermissionProps): ToolPermissionInfo {\n const cmd = p.input.command || \"\"\n return {\n icon: \"#\",\n title: \"Shell command\",\n lines: cmd ? [`$ ${cmd}`] : p.patterns.map((item) => `- ${item}`),\n }\n}\n\nfunction permTask(p: ToolPermissionProps): ToolPermissionInfo {\n const type = p.input.subagent_type || \"general\"\n const desc = p.input.description\n return {\n icon: \"#\",\n title: `${Locale.titlecase(type)} Task`,\n lines: desc ? [`◉ ${desc}`] : [],\n }\n}\n\nfunction permWebfetch(p: ToolPermissionProps): ToolPermissionInfo {\n const url = p.input.url || \"\"\n return {\n icon: \"%\",\n title: `WebFetch ${url}`,\n lines: url ? [`URL: ${url}`] : [],\n }\n}\n\nfunction permWebSearch(p: ToolPermissionProps): ToolPermissionInfo {\n const query = p.input.query || \"\"\n const title = webSearchProviderLabel(p.metadata.provider)\n return {\n icon: \"◈\",\n title: query ? `${title} \"${query}\"` : title,\n lines: query ? [`Query: ${query}`] : [],\n }\n}\n\nfunction permLsp(p: ToolPermissionProps): ToolPermissionInfo {\n const file = p.input.filePath || \"\"\n const line = typeof p.input.line === \"number\" ? p.input.line : undefined\n const char = typeof p.input.character === \"number\" ? p.input.character : undefined\n const pos = line !== undefined && char !== undefined ? `${line}:${char}` : undefined\n return {\n icon: \"→\",\n title: lspTitle(p.input, { home: true }),\n lines: [\n ...(p.input.operation ? [`Operation: ${p.input.operation}`] : []),\n ...(file ? [`Path: ${toolPath(file, { home: true })}`] : []),\n ...(pos ? [`Position: ${pos}`] : []),\n ],\n }\n}\n\nconst TOOL_RULES = {\n invalid: {\n view: {\n output: true,\n final: false,\n },\n run: runInvalid,\n scroll: {\n start: () => \"\",\n },\n },\n bash: {\n view: {\n output: true,\n final: false,\n },\n run: runBash,\n scroll: {\n start: scrollBashStart,\n progress: scrollBashProgress,\n final: scrollBashFinal,\n },\n permission: permBash,\n },\n write: {\n view: {\n output: false,\n final: true,\n snap: \"code\",\n },\n run: runWrite,\n snap: snapWrite,\n scroll: {\n start: scrollWriteStart,\n },\n },\n edit: {\n view: {\n output: false,\n final: true,\n snap: \"diff\",\n },\n run: runEdit,\n snap: snapEdit,\n scroll: {\n start: scrollEditStart,\n },\n permission: permEdit,\n },\n patch: {\n view: {\n output: false,\n final: true,\n snap: \"diff\",\n },\n run: runPatch,\n snap: snapPatch,\n scroll: {\n start: scrollPatchStart,\n final: scrollPatchFinal,\n },\n },\n batch: {\n view: {\n output: true,\n final: false,\n },\n run: runBatch,\n scroll: {\n start: () => \"\",\n },\n },\n task: {\n view: {\n output: false,\n final: true,\n snap: \"structured\",\n },\n run: runTask,\n snap: snapTask,\n scroll: {\n start: scrollTaskStart,\n final: scrollTaskFinal,\n },\n permission: permTask,\n },\n question: {\n view: {\n output: false,\n final: true,\n snap: \"structured\",\n },\n run: runQuestion,\n snap: snapQuestion,\n scroll: {\n start: scrollQuestionStart,\n final: scrollQuestionFinal,\n },\n },\n read: {\n view: {\n output: false,\n final: false,\n },\n run: runRead,\n scroll: {\n start: scrollReadStart,\n },\n permission: permRead,\n },\n glob: {\n view: {\n output: false,\n final: false,\n },\n run: runGlob,\n scroll: {\n start: scrollGlobStart,\n final: scrollGlobFinal,\n },\n permission: permGlob,\n },\n grep: {\n view: {\n output: false,\n final: false,\n },\n run: runGrep,\n scroll: {\n start: scrollGrepStart,\n },\n permission: permGrep,\n },\n list: {\n view: {\n output: false,\n final: false,\n },\n run: runList,\n scroll: {\n start: scrollListStart,\n },\n permission: permList,\n },\n lsp: {\n view: {\n output: false,\n final: false,\n },\n run: runLsp,\n scroll: {\n start: scrollLspStart,\n },\n permission: permLsp,\n },\n webfetch: {\n view: {\n output: false,\n final: false,\n },\n run: runWebfetch,\n scroll: {\n start: scrollWebfetchStart,\n },\n permission: permWebfetch,\n },\n websearch: {\n view: {\n output: false,\n final: false,\n },\n run: runWebSearch,\n scroll: {\n start: scrollWebSearchStart,\n },\n permission: permWebSearch,\n },\n skill: {\n view: {\n output: false,\n final: false,\n },\n run: runSkill,\n scroll: {\n start: scrollSkillStart,\n },\n },\n plan_exit: {\n view: {\n output: true,\n final: false,\n },\n run: runPlanExit,\n scroll: {\n start: () => \"\",\n },\n },\n} as const satisfies ToolRegistry\n\nfunction key(name: string): name is ToolName {\n return Object.prototype.hasOwnProperty.call(TOOL_RULES, name)\n}\n\nfunction rule(name?: string): AnyToolRule | undefined {\n if (!name || !key(name)) {\n return undefined\n }\n\n return TOOL_RULES[name]\n}\n\nfunction frame(part: ToolPart): ToolFrame {\n const state = dict(part.state)\n return {\n raw: \"\",\n name: part.tool,\n input: dict(state.input),\n meta: \"metadata\" in part.state ? dict(part.state.metadata) : {},\n state,\n status: text(state.status),\n error: text(state.error),\n }\n}\n\nexport function toolFrame(commit: StreamCommit, raw: string): ToolFrame {\n const state = dict(commit.part?.state)\n return {\n raw,\n name: commit.tool || commit.part?.tool || \"tool\",\n input: dict(state.input),\n meta: commit.part?.state && \"metadata\" in commit.part.state ? dict(commit.part.state.metadata) : {},\n state,\n status: commit.toolState ?? text(state.status),\n error: (commit.toolError ?? \"\").trim(),\n }\n}\n\nfunction runBash(p: ToolProps): ToolInline {\n return {\n icon: \"$\",\n title: p.input.command || \"\",\n mode: \"block\",\n body: p.frame.status === \"completed\" ? text(p.frame.state.output).trim() : undefined,\n }\n}\n\nexport function toolView(name?: string): ToolView {\n return (\n rule(name)?.view ?? {\n output: true,\n final: true,\n }\n )\n}\n\nexport function toolStructuredFinal(commit: StreamCommit): boolean {\n const state = commit.toolState ?? commit.part?.state.status\n return (\n commit.kind === \"tool\" &&\n commit.phase === \"final\" &&\n state === \"completed\" &&\n Boolean(toolView(commit.tool ?? commit.part?.tool).snap)\n )\n}\n\nexport function toolInlineInfo(part: ToolPart): ToolInline {\n const ctx = frame(part)\n const draw = rule(ctx.name)?.run\n try {\n if (draw) {\n return draw(props(ctx))\n }\n } catch {\n return fallbackInline(ctx)\n }\n\n return fallbackInline(ctx)\n}\n\nexport function toolScroll(phase: ToolPhase, ctx: ToolFrame): string {\n const draw = rule(ctx.name)?.scroll?.[phase]\n try {\n if (draw) {\n return draw(props(ctx))\n }\n } catch {\n if (phase === \"start\") {\n return fallbackStart(ctx)\n }\n if (phase === \"progress\") {\n return ctx.raw\n }\n return fallbackFinal(ctx)\n }\n\n if (phase === \"start\") {\n return fallbackStart(ctx)\n }\n\n if (phase === \"progress\") {\n return ctx.raw\n }\n\n return fallbackFinal(ctx)\n}\n\nexport function toolPermissionInfo(\n name: string,\n input: ToolDict,\n meta: ToolDict,\n patterns: string[],\n): ToolPermissionInfo | undefined {\n const draw = rule(name)?.permission\n if (!draw) {\n return undefined\n }\n\n try {\n return draw(permission({ input, meta, patterns }))\n } catch {\n return undefined\n }\n}\n\nexport function toolSnapshot(commit: StreamCommit, raw: string): ToolSnapshot | undefined {\n const ctx = toolFrame(commit, raw)\n const draw = rule(ctx.name)?.snap\n if (!draw) {\n return undefined\n }\n\n try {\n return draw(props(ctx))\n } catch {\n return undefined\n }\n}\n\nfunction textBody(content: string): RunEntryBody | undefined {\n if (!content) {\n return undefined\n }\n\n return {\n type: \"text\",\n content,\n }\n}\n\nfunction markdownBody(content: string): RunEntryBody | undefined {\n if (!content) {\n return undefined\n }\n\n return {\n type: \"markdown\",\n content,\n }\n}\n\nfunction structuredBody(commit: StreamCommit, raw: string): RunEntryBody | undefined {\n const snap = toolSnapshot(commit, raw)\n if (!snap) {\n return undefined\n }\n\n return {\n type: \"structured\",\n snapshot: snap,\n }\n}\n\nfunction shellOutput(command: string, raw: string): string | undefined {\n const body = stripAnsi(raw).replace(/^\\n+/, \"\").replace(/\\n+$/, \"\")\n if (!body) {\n return undefined\n }\n\n if (!command) {\n return body\n }\n\n return `\\n${body}`\n}\n\nexport function toolEntryBody(commit: StreamCommit, raw: string): RunEntryBody | undefined {\n if (commit.shell) {\n if (commit.phase === \"start\") {\n return textBody(`$ ${commit.shell.command}`)\n }\n\n if (commit.phase === \"progress\") {\n return textBody(shellOutput(commit.shell.command, raw) ?? \"\")\n }\n\n if (commit.toolState === \"error\") {\n const ctx = toolFrame(commit, raw)\n return textBody(toolScroll(\"final\", ctx))\n }\n\n return undefined\n }\n\n const ctx = toolFrame(commit, raw)\n const view = toolView(ctx.name)\n\n if (ctx.name === \"task\") {\n if (commit.phase === \"start\") {\n return undefined\n }\n\n if (commit.phase === \"final\" && ctx.status === \"completed\") {\n const result = taskResult(text(ctx.state.output))\n if (result) {\n return markdownBody(result)\n }\n }\n }\n\n if (commit.phase === \"progress\" && !view.output) {\n return undefined\n }\n\n if (commit.phase === \"final\") {\n if (ctx.status === \"error\") {\n return textBody(toolScroll(\"final\", ctx))\n }\n\n if (!view.final) {\n return undefined\n }\n\n if (ctx.status && ctx.status !== \"completed\") {\n return textBody(ctx.raw.trim())\n }\n\n if (toolStructuredFinal(commit)) {\n return structuredBody(commit, raw) ?? textBody(toolScroll(\"final\", ctx))\n }\n }\n\n return textBody(toolScroll(commit.phase, ctx))\n}\n\nexport function toolFiletype(input?: string): string | undefined {\n if (!input) {\n return undefined\n }\n\n const ext = path.extname(input)\n const lang = LANGUAGE_EXTENSIONS[ext]\n if ([\"typescriptreact\", \"javascriptreact\", \"javascript\"].includes(lang)) {\n return \"typescript\"\n }\n\n return lang\n}\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "61A6BB4C4330C18F64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260309230000_move_org_to_state.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260309230000_move_org_to_state\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`ALTER TABLE \\`account_state\\` ADD \\`active_org_id\\` text;`)\n yield* tx.run(\n `UPDATE \\`account_state\\` SET \\`active_org_id\\` = (SELECT \\`selected_org_id\\` FROM \\`account\\` WHERE \\`account\\`.\\`id\\` = \\`account_state\\`.\\`active_account_id\\`);`,\n )\n yield* tx.run(`ALTER TABLE \\`account\\` DROP COLUMN \\`selected_org_id\\`;`)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,mCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,uDAA2D,EACzE,MAAO,EAAG,IACR,oJACF,EACA,MAAO,EAAG,IAAI,sDAA0D,EACzE,EAEL", | ||
| "debugId": "C73FB787166AA1AA64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260703181610_event_created_column.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260703181610_event_created_column\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`ALTER TABLE \\`event\\` ADD \\`created\\` integer NOT NULL;`)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,sCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,qDAAyD,EACxE,EAEL", | ||
| "debugId": "2CBCFA70668ABCC564756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260601202201_amazing_prowler.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260601202201_amazing_prowler\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`DROP TABLE \\`permission\\`;`)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,iCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,0BAA4B,EAC3C,EAEL", | ||
| "debugId": "8EEF072A79C189A464756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/effect/layer-node.ts", "../core/src/effect/app-node.ts"], | ||
| "sourcesContent": [ | ||
| "import { Brand, Context, Layer } from \"effect\"\n\ntype AnyNode = Node<unknown, unknown, any>\ntype RuntimeLayer = Layer.Layer<never, unknown, unknown>\ntype NodeList<Item extends AnyNode = AnyNode> = readonly [] | readonly [Item, ...Item[]]\nexport type Output<Item> = [Item] extends [never] ? never : Item extends Node<infer A, unknown, any> ? A : never\nexport type Error<Item> = [Item] extends [never] ? never : Item extends Node<unknown, infer E, any> ? E : never\ntype NodeTag<Item> = [Item] extends [never] ? undefined : Item extends Node<unknown, unknown, infer T> ? T : never\ntype Missing<Required, Dependencies extends NodeList> = Exclude<Required, Output<Dependencies[number]>>\ntype CheckDependencies<Implementation extends Layer.Any, Dependencies extends NodeList> = [\n Missing<Layer.Services<Implementation>, Dependencies>,\n] extends [never]\n ? unknown\n : { readonly \"Missing dependencies\": Missing<Layer.Services<Implementation>, Dependencies> }\ndeclare const $OutputType: unique symbol\ndeclare const $ErrorType: unique symbol\n\nexport type Tag<Name extends string = string> = Name & Brand.Brand<\"LayerNode.Tag\">\n\nconst makeTag = Brand.nominal<Tag>()\n\nexport interface Node<A, E = never, T extends Tag | undefined = undefined> {\n readonly kind: \"layer\" | \"unbound\" | \"group\"\n readonly name: string\n readonly service?: Context.Service.Any\n readonly implementation?: Layer.Any\n readonly dependencies: readonly AnyNode[]\n readonly tag?: T\n readonly [$OutputType]?: () => A\n readonly [$ErrorType]?: () => E\n}\n\ntype NodeIdentity =\n | { readonly service: Context.Service.Any; readonly name?: never }\n | { readonly name: string; readonly service?: never }\ntype DistributiveOmit<A, K extends PropertyKey> = A extends unknown ? Omit<A, K> : never\n\nexport type TagConfig = Readonly<Record<string, readonly string[]>>\ntype TagNames<Config extends TagConfig> = keyof Config & string\ntype NodeInTags<Names extends string> = Node<unknown, unknown, Tag<Names> | undefined>\ntype CheckTags<Items extends NodeList, Names extends string> = [Exclude<Items[number], NodeInTags<Names>>] extends [\n never,\n]\n ? unknown\n : { readonly \"Invalid tag dependencies\": Exclude<Items[number], NodeInTags<Names>> }\n\nexport interface Tags<Config extends TagConfig> {\n readonly values: { readonly [Name in TagNames<Config>]: Tag<Name> }\n readonly make: <Name extends TagNames<Config>>(\n name: Name,\n ) => <const Implementation extends Layer.Any, const Items extends NodeList>(\n input: DistributiveOmit<MakeInput<Implementation, Items, Tag<Name>>, \"tag\"> &\n CheckTags<Items, Name | Extract<Config[Name][number], string>>,\n ) => Node<Layer.Success<Implementation>, Layer.Error<Implementation> | Error<Items[number]>, Tag<Name>>\n}\n\nexport function tags<const Config extends { readonly [Name in keyof Config]: readonly (keyof Config & string)[] }>(\n config: Config,\n): Tags<Config> {\n const names = Object.keys(config) as TagNames<Config>[]\n const values = Object.fromEntries(names.map((name) => [name, makeTag(name)])) as Tags<Config>[\"values\"]\n return {\n values,\n make: ((name: TagNames<Config>) => (input: DistributiveOmit<MakeInput<Layer.Any, NodeList, Tag>, \"tag\">) =>\n make({ ...input, tag: values[name] })) as Tags<Config>[\"make\"],\n }\n}\n\n// Nodes ---------------------------------------------------------------------\n\ntype MakeInput<\n Implementation extends Layer.Any,\n Items extends NodeList,\n T extends Tag | undefined = undefined,\n> = NodeIdentity & {\n readonly layer: Implementation\n readonly deps: Items & CheckDependencies<Implementation, NoInfer<Items>>\n readonly tag?: T\n}\n\nexport function make<\n const Implementation extends Layer.Any,\n const Items extends NodeList,\n const T extends Tag | undefined = undefined,\n>(\n input: MakeInput<Implementation, Items, T>,\n): Node<Layer.Success<Implementation>, Layer.Error<Implementation> | Error<Items[number]>, T> {\n return {\n kind: \"layer\",\n name: input.service !== undefined ? input.service.key : input.name,\n service: input.service,\n implementation: input.layer,\n dependencies: input.deps,\n tag: input.tag,\n }\n}\n\nexport function unbound<R, Shape, const T extends Tag>(service: Context.Key<R, Shape>, tag: T): Node<R, never, T> {\n return {\n kind: \"unbound\",\n name: service.key,\n service,\n dependencies: [],\n tag,\n }\n}\n\nexport function group<const Items extends readonly AnyNode[]>(\n dependencies: Items,\n): Node<Output<Items[number]>, Error<Items[number]>, NodeTag<Items[number]>> {\n return { kind: \"group\", name: \"group\", dependencies }\n}\n\nexport type Replacement = readonly [source: AnyNode, replacement: AnyNode | Layer.Any]\nexport type Replacements = readonly Replacement[]\n\ntype CheckReplacementErrors<SourceError, ReplacementError> = [Exclude<ReplacementError, SourceError>] extends [never]\n ? unknown\n : { readonly \"New replacement errors\": Exclude<ReplacementError, SourceError> }\n\ntype CheckReplacement<Item> = Item extends readonly [Node<infer A, infer E, infer T>, infer Replacement]\n ? Replacement extends Node<NoInfer<A>, infer E2, T>\n ? CheckReplacementErrors<E, NoInfer<E2>>\n : Replacement extends Layer.Layer<NoInfer<A>, infer E2, never>\n ? CheckReplacementErrors<E, NoInfer<E2>>\n : { readonly \"Invalid replacement\": Replacement }\n : { readonly \"Invalid replacement\": Item }\n\ntype CheckReplacements<Items extends Replacements> = {\n readonly [K in keyof Items]: CheckReplacement<Items[K]>\n}\n\ntype ValidReplacements<Items extends Replacements> = Items & CheckReplacements<Items>\n\nfunction replacementNode(source: AnyNode, replacement: AnyNode | Layer.Any) {\n const replacementNode = isNode(replacement)\n ? replacement\n : make({\n ...nodeMakeIdentity(source),\n layer: replacement as Layer.Layer<unknown, unknown>,\n deps: [],\n tag: source.tag,\n })\n if (source.name !== replacementNode.name) {\n throw new Error(`Cannot replace ${source.name} with ${replacementNode.name}`)\n }\n if (source.tag !== replacementNode.tag) {\n throw new Error(`Cannot replace ${source.name} across tags`)\n }\n return replacementNode\n}\n\nfunction nodeMakeIdentity(node: AnyNode): NodeIdentity {\n if (node.service !== undefined) return { service: node.service }\n return { name: node.name }\n}\n\nfunction isNode(input: Layer.Any | AnyNode): input is AnyNode {\n return \"kind\" in input && \"dependencies\" in input\n}\n\n// Tree -----------------------------------------------------------------------\n\ntype Visit<Result> = (node: AnyNode, context: VisitContext<Result>) => Result\n\ntype VisitContext<Result> = {\n readonly cache: Map<AnyNode, Result>\n readonly visit: (node: AnyNode) => Result\n}\n\nfunction walk<Result>(\n root: AnyNode,\n visit: Visit<Result>,\n options: {\n readonly cache?: Map<AnyNode, Result>\n readonly resolve?: (node: AnyNode) => AnyNode\n readonly detectCycles?: boolean\n } = {},\n) {\n const cache = options.cache ?? new Map<AnyNode, Result>()\n const visiting = new Set<AnyNode>()\n const stack: AnyNode[] = []\n\n const recur = (node: AnyNode): Result => {\n const target = options.resolve?.(node) ?? node\n const cached = cache.get(target)\n if (cached !== undefined || cache.has(target)) return cached!\n\n if (options.detectCycles !== false && visiting.has(target)) {\n const start = stack.indexOf(target)\n throw new Error(\n `Cycle detected in layer tree: ${[...stack.slice(start), target].map((item) => item.name).join(\" -> \")}`,\n )\n }\n\n visiting.add(target)\n stack.push(target)\n try {\n const result = visit(target, { cache, visit: recur })\n if (!cache.has(target)) cache.set(target, result)\n return result\n } finally {\n stack.pop()\n visiting.delete(target)\n }\n }\n\n return recur(root)\n}\n\nexport function hoist<A, E, T extends Tag, const Items extends Replacements = readonly []>(\n root: Node<A, E, any>,\n tag: T,\n replacements?: ValidReplacements<Items>,\n): {\n readonly node: Node<A, E>\n readonly hoisted: Node<unknown, E>\n} {\n const hoisted = new Map<string, AnyNode>()\n const replacementMap = replacementMapFrom(replacements)\n\n const node = walk<AnyNode>(\n root,\n (node, context) => {\n if (node.kind === \"group\") {\n return { ...node, dependencies: node.dependencies.map(context.visit) }\n }\n if (node.tag === tag) {\n const existing = hoisted.get(node.name)\n if (existing && existing.implementation !== node.implementation) {\n throw new Error(`Tag ${tag} has conflicting implementations for ${node.name}`)\n }\n hoisted.set(node.name, rewriteReplacementDependencies(node, replacementMap))\n return group([])\n }\n if (node.kind === \"unbound\") {\n return node\n }\n return { ...node, dependencies: node.dependencies.map(context.visit) }\n },\n { resolve: (node) => replacementMap.get(node.name) ?? node },\n )\n\n return {\n node: node as Node<A, E>,\n hoisted: group(Array.from(hoisted.values())) as Node<unknown, E>,\n }\n}\n\nexport function compile<A, E, const Items extends Replacements = readonly []>(\n root: Node<A, E, any>,\n replacements?: ValidReplacements<Items>,\n): Layer.Layer<A, E> {\n const replacementMap = replacementMapFrom(replacements)\n const cache = new Map<AnyNode, RuntimeLayer>()\n const compileNode = (node: AnyNode) =>\n walk<RuntimeLayer>(\n node,\n (node, context) => {\n if (node.kind === \"unbound\") throw new Error(`Unbound layer node: ${node.name}`)\n const dependencies = node.dependencies.flatMap(flatten).map(context.visit)\n const implementation = node.implementation! as RuntimeLayer\n return dependencies.length === 0\n ? implementation\n : implementation.pipe(Layer.provide(dependencies as [RuntimeLayer, ...RuntimeLayer[]]))\n },\n { cache, resolve: (node) => replacementMap.get(node.name) ?? node },\n )\n const layers = flatten(root).map((node) => compileNode(node))\n const layer = layers.reduce<RuntimeLayer>((result, layer) => layer.pipe(Layer.provideMerge(result)), Layer.empty)\n return layer as Layer.Layer<A, E>\n}\n\nfunction replacementMapFrom(replacements?: Replacements) {\n return (\n replacements?.reduce((map, [source, replacement]) => {\n const normalized = rewriteReplacementDependencies(replacementNode(source, replacement), map)\n const current = new Map([[source.name, normalized]])\n for (const [name, node] of map) map.set(name, rewriteReplacementDependencies(node, current))\n map.set(source.name, normalized)\n return map\n }, new Map<string, AnyNode>()) ?? new Map<string, AnyNode>()\n )\n}\n\nfunction rewriteReplacementDependencies(root: AnyNode, replacements: ReadonlyMap<string, AnyNode>) {\n if (replacements.size === 0) return root\n const cache = new Map<AnyNode, AnyNode>()\n const visiting = new Set<AnyNode>()\n const stack: AnyNode[] = []\n\n const recur = (node: AnyNode, isRoot = false): AnyNode => {\n const target = isRoot ? node : (replacements.get(node.name) ?? node)\n const cached = cache.get(target)\n if (cached !== undefined || cache.has(target)) return cached!\n if (visiting.has(target)) {\n const start = stack.indexOf(target)\n throw new Error(\n `Cycle detected in layer tree: ${[...stack.slice(start), target].map((item) => item.name).join(\" -> \")}`,\n )\n }\n\n visiting.add(target)\n stack.push(target)\n try {\n const dependencies = target.dependencies.map((dependency) => recur(dependency))\n const result = dependencies.every((dependency, index) => dependency === target.dependencies[index])\n ? target\n : { ...target, dependencies }\n cache.set(target, result)\n return result\n } finally {\n stack.pop()\n visiting.delete(target)\n }\n }\n\n return recur(root, true)\n}\n\nexport function hasUnbound(root: Node<unknown, unknown, any>, source: AnyNode): boolean {\n if (source.kind !== \"unbound\") throw new Error(`Cannot check non-unbound layer node: ${source.name}`)\n return walk<boolean>(root, (node, context) => {\n if (node === source) return true\n return node.dependencies.some(context.visit)\n })\n}\n\nfunction flatten(node: AnyNode): readonly AnyNode[] {\n return node.kind === \"group\" ? node.dependencies.flatMap(flatten) : [node]\n}\n\nexport * as LayerNode from \"./layer-node\"\n", | ||
| "import { LayerNode } from \"./layer-node\"\n\nexport const tags = LayerNode.tags({\n location: [\"global\"],\n global: [],\n})\n\nexport type GlobalNode<A, E = never> = LayerNode.Node<A, E, (typeof tags.values)[\"global\"]>\nexport type LocationNode<A, E = never> = LayerNode.Node<A, E, (typeof tags.values)[\"location\"]>\n\nexport const makeGlobalNode = tags.make(\"global\")\nexport const makeLocationNode = tags.make(\"location\")\n\nexport * as Node from \"./app-node\"\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "89F8E64FAD1475F164756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@ai-sdk+provider@3.0.8/node_modules/@ai-sdk/provider/dist/index.mjs"], | ||
| "sourcesContent": [ | ||
| "// src/errors/ai-sdk-error.ts\nvar marker = \"vercel.ai.error\";\nvar symbol = Symbol.for(marker);\nvar _a, _b;\nvar AISDKError = class _AISDKError extends (_b = Error, _a = symbol, _b) {\n /**\n * Creates an AI SDK Error.\n *\n * @param {Object} params - The parameters for creating the error.\n * @param {string} params.name - The name of the error.\n * @param {string} params.message - The error message.\n * @param {unknown} [params.cause] - The underlying cause of the error.\n */\n constructor({\n name: name14,\n message,\n cause\n }) {\n super(message);\n this[_a] = true;\n this.name = name14;\n this.cause = cause;\n }\n /**\n * Checks if the given error is an AI SDK Error.\n * @param {unknown} error - The error to check.\n * @returns {boolean} True if the error is an AI SDK Error, false otherwise.\n */\n static isInstance(error) {\n return _AISDKError.hasMarker(error, marker);\n }\n static hasMarker(error, marker15) {\n const markerSymbol = Symbol.for(marker15);\n return error != null && typeof error === \"object\" && markerSymbol in error && typeof error[markerSymbol] === \"boolean\" && error[markerSymbol] === true;\n }\n};\n\n// src/errors/api-call-error.ts\nvar name = \"AI_APICallError\";\nvar marker2 = `vercel.ai.error.${name}`;\nvar symbol2 = Symbol.for(marker2);\nvar _a2, _b2;\nvar APICallError = class extends (_b2 = AISDKError, _a2 = symbol2, _b2) {\n constructor({\n message,\n url,\n requestBodyValues,\n statusCode,\n responseHeaders,\n responseBody,\n cause,\n isRetryable = statusCode != null && (statusCode === 408 || // request timeout\n statusCode === 409 || // conflict\n statusCode === 429 || // too many requests\n statusCode >= 500),\n // server error\n data\n }) {\n super({ name, message, cause });\n this[_a2] = true;\n this.url = url;\n this.requestBodyValues = requestBodyValues;\n this.statusCode = statusCode;\n this.responseHeaders = responseHeaders;\n this.responseBody = responseBody;\n this.isRetryable = isRetryable;\n this.data = data;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker2);\n }\n};\n\n// src/errors/empty-response-body-error.ts\nvar name2 = \"AI_EmptyResponseBodyError\";\nvar marker3 = `vercel.ai.error.${name2}`;\nvar symbol3 = Symbol.for(marker3);\nvar _a3, _b3;\nvar EmptyResponseBodyError = class extends (_b3 = AISDKError, _a3 = symbol3, _b3) {\n // used in isInstance\n constructor({ message = \"Empty response body\" } = {}) {\n super({ name: name2, message });\n this[_a3] = true;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker3);\n }\n};\n\n// src/errors/get-error-message.ts\nfunction getErrorMessage(error) {\n if (error == null) {\n return \"unknown error\";\n }\n if (typeof error === \"string\") {\n return error;\n }\n if (error instanceof Error) {\n return error.message;\n }\n return JSON.stringify(error);\n}\n\n// src/errors/invalid-argument-error.ts\nvar name3 = \"AI_InvalidArgumentError\";\nvar marker4 = `vercel.ai.error.${name3}`;\nvar symbol4 = Symbol.for(marker4);\nvar _a4, _b4;\nvar InvalidArgumentError = class extends (_b4 = AISDKError, _a4 = symbol4, _b4) {\n constructor({\n message,\n cause,\n argument\n }) {\n super({ name: name3, message, cause });\n this[_a4] = true;\n this.argument = argument;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker4);\n }\n};\n\n// src/errors/invalid-prompt-error.ts\nvar name4 = \"AI_InvalidPromptError\";\nvar marker5 = `vercel.ai.error.${name4}`;\nvar symbol5 = Symbol.for(marker5);\nvar _a5, _b5;\nvar InvalidPromptError = class extends (_b5 = AISDKError, _a5 = symbol5, _b5) {\n constructor({\n prompt,\n message,\n cause\n }) {\n super({ name: name4, message: `Invalid prompt: ${message}`, cause });\n this[_a5] = true;\n this.prompt = prompt;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker5);\n }\n};\n\n// src/errors/invalid-response-data-error.ts\nvar name5 = \"AI_InvalidResponseDataError\";\nvar marker6 = `vercel.ai.error.${name5}`;\nvar symbol6 = Symbol.for(marker6);\nvar _a6, _b6;\nvar InvalidResponseDataError = class extends (_b6 = AISDKError, _a6 = symbol6, _b6) {\n constructor({\n data,\n message = `Invalid response data: ${JSON.stringify(data)}.`\n }) {\n super({ name: name5, message });\n this[_a6] = true;\n this.data = data;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker6);\n }\n};\n\n// src/errors/json-parse-error.ts\nvar name6 = \"AI_JSONParseError\";\nvar marker7 = `vercel.ai.error.${name6}`;\nvar symbol7 = Symbol.for(marker7);\nvar _a7, _b7;\nvar JSONParseError = class extends (_b7 = AISDKError, _a7 = symbol7, _b7) {\n constructor({ text, cause }) {\n super({\n name: name6,\n message: `JSON parsing failed: Text: ${text}.\nError message: ${getErrorMessage(cause)}`,\n cause\n });\n this[_a7] = true;\n this.text = text;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker7);\n }\n};\n\n// src/errors/load-api-key-error.ts\nvar name7 = \"AI_LoadAPIKeyError\";\nvar marker8 = `vercel.ai.error.${name7}`;\nvar symbol8 = Symbol.for(marker8);\nvar _a8, _b8;\nvar LoadAPIKeyError = class extends (_b8 = AISDKError, _a8 = symbol8, _b8) {\n // used in isInstance\n constructor({ message }) {\n super({ name: name7, message });\n this[_a8] = true;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker8);\n }\n};\n\n// src/errors/load-setting-error.ts\nvar name8 = \"AI_LoadSettingError\";\nvar marker9 = `vercel.ai.error.${name8}`;\nvar symbol9 = Symbol.for(marker9);\nvar _a9, _b9;\nvar LoadSettingError = class extends (_b9 = AISDKError, _a9 = symbol9, _b9) {\n // used in isInstance\n constructor({ message }) {\n super({ name: name8, message });\n this[_a9] = true;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker9);\n }\n};\n\n// src/errors/no-content-generated-error.ts\nvar name9 = \"AI_NoContentGeneratedError\";\nvar marker10 = `vercel.ai.error.${name9}`;\nvar symbol10 = Symbol.for(marker10);\nvar _a10, _b10;\nvar NoContentGeneratedError = class extends (_b10 = AISDKError, _a10 = symbol10, _b10) {\n // used in isInstance\n constructor({\n message = \"No content generated.\"\n } = {}) {\n super({ name: name9, message });\n this[_a10] = true;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker10);\n }\n};\n\n// src/errors/no-such-model-error.ts\nvar name10 = \"AI_NoSuchModelError\";\nvar marker11 = `vercel.ai.error.${name10}`;\nvar symbol11 = Symbol.for(marker11);\nvar _a11, _b11;\nvar NoSuchModelError = class extends (_b11 = AISDKError, _a11 = symbol11, _b11) {\n constructor({\n errorName = name10,\n modelId,\n modelType,\n message = `No such ${modelType}: ${modelId}`\n }) {\n super({ name: errorName, message });\n this[_a11] = true;\n this.modelId = modelId;\n this.modelType = modelType;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker11);\n }\n};\n\n// src/errors/too-many-embedding-values-for-call-error.ts\nvar name11 = \"AI_TooManyEmbeddingValuesForCallError\";\nvar marker12 = `vercel.ai.error.${name11}`;\nvar symbol12 = Symbol.for(marker12);\nvar _a12, _b12;\nvar TooManyEmbeddingValuesForCallError = class extends (_b12 = AISDKError, _a12 = symbol12, _b12) {\n constructor(options) {\n super({\n name: name11,\n message: `Too many values for a single embedding call. The ${options.provider} model \"${options.modelId}\" can only embed up to ${options.maxEmbeddingsPerCall} values per call, but ${options.values.length} values were provided.`\n });\n this[_a12] = true;\n this.provider = options.provider;\n this.modelId = options.modelId;\n this.maxEmbeddingsPerCall = options.maxEmbeddingsPerCall;\n this.values = options.values;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker12);\n }\n};\n\n// src/errors/type-validation-error.ts\nvar name12 = \"AI_TypeValidationError\";\nvar marker13 = `vercel.ai.error.${name12}`;\nvar symbol13 = Symbol.for(marker13);\nvar _a13, _b13;\nvar TypeValidationError = class _TypeValidationError extends (_b13 = AISDKError, _a13 = symbol13, _b13) {\n constructor({\n value,\n cause,\n context\n }) {\n let contextPrefix = \"Type validation failed\";\n if (context == null ? void 0 : context.field) {\n contextPrefix += ` for ${context.field}`;\n }\n if ((context == null ? void 0 : context.entityName) || (context == null ? void 0 : context.entityId)) {\n contextPrefix += \" (\";\n const parts = [];\n if (context.entityName) {\n parts.push(context.entityName);\n }\n if (context.entityId) {\n parts.push(`id: \"${context.entityId}\"`);\n }\n contextPrefix += parts.join(\", \");\n contextPrefix += \")\";\n }\n super({\n name: name12,\n message: `${contextPrefix}: Value: ${JSON.stringify(value)}.\nError message: ${getErrorMessage(cause)}`,\n cause\n });\n this[_a13] = true;\n this.value = value;\n this.context = context;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker13);\n }\n /**\n * Wraps an error into a TypeValidationError.\n * If the cause is already a TypeValidationError with the same value and context, it returns the cause.\n * Otherwise, it creates a new TypeValidationError.\n *\n * @param {Object} params - The parameters for wrapping the error.\n * @param {unknown} params.value - The value that failed validation.\n * @param {unknown} params.cause - The original error or cause of the validation failure.\n * @param {TypeValidationContext} params.context - Optional context about what is being validated.\n * @returns {TypeValidationError} A TypeValidationError instance.\n */\n static wrap({\n value,\n cause,\n context\n }) {\n var _a15, _b15, _c;\n if (_TypeValidationError.isInstance(cause) && cause.value === value && ((_a15 = cause.context) == null ? void 0 : _a15.field) === (context == null ? void 0 : context.field) && ((_b15 = cause.context) == null ? void 0 : _b15.entityName) === (context == null ? void 0 : context.entityName) && ((_c = cause.context) == null ? void 0 : _c.entityId) === (context == null ? void 0 : context.entityId)) {\n return cause;\n }\n return new _TypeValidationError({ value, cause, context });\n }\n};\n\n// src/errors/unsupported-functionality-error.ts\nvar name13 = \"AI_UnsupportedFunctionalityError\";\nvar marker14 = `vercel.ai.error.${name13}`;\nvar symbol14 = Symbol.for(marker14);\nvar _a14, _b14;\nvar UnsupportedFunctionalityError = class extends (_b14 = AISDKError, _a14 = symbol14, _b14) {\n constructor({\n functionality,\n message = `'${functionality}' functionality not supported.`\n }) {\n super({ name: name13, message });\n this[_a14] = true;\n this.functionality = functionality;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker14);\n }\n};\n\n// src/json-value/is-json.ts\nfunction isJSONValue(value) {\n if (value === null || typeof value === \"string\" || typeof value === \"number\" || typeof value === \"boolean\") {\n return true;\n }\n if (Array.isArray(value)) {\n return value.every(isJSONValue);\n }\n if (typeof value === \"object\") {\n return Object.entries(value).every(\n ([key, val]) => typeof key === \"string\" && (val === void 0 || isJSONValue(val))\n );\n }\n return false;\n}\nfunction isJSONArray(value) {\n return Array.isArray(value) && value.every(isJSONValue);\n}\nfunction isJSONObject(value) {\n return value != null && typeof value === \"object\" && Object.entries(value).every(\n ([key, val]) => typeof key === \"string\" && (val === void 0 || isJSONValue(val))\n );\n}\nexport {\n AISDKError,\n APICallError,\n EmptyResponseBodyError,\n InvalidArgumentError,\n InvalidPromptError,\n InvalidResponseDataError,\n JSONParseError,\n LoadAPIKeyError,\n LoadSettingError,\n NoContentGeneratedError,\n NoSuchModelError,\n TooManyEmbeddingValuesForCallError,\n TypeValidationError,\n UnsupportedFunctionalityError,\n getErrorMessage,\n isJSONArray,\n isJSONObject,\n isJSONValue\n};\n//# sourceMappingURL=index.mjs.map" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "4D94FC65453BC5A964756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@ai-sdk+deepinfra@2.0.41+d6123d32214422cb/node_modules/@ai-sdk/deepinfra/dist/index.mjs"], | ||
| "sourcesContent": [ | ||
| "// src/deepinfra-provider.ts\nimport {\n OpenAICompatibleCompletionLanguageModel,\n OpenAICompatibleEmbeddingModel\n} from \"@ai-sdk/openai-compatible\";\nimport {\n loadApiKey,\n withoutTrailingSlash,\n withUserAgentSuffix\n} from \"@ai-sdk/provider-utils\";\n\n// src/deepinfra-image-model.ts\nimport {\n combineHeaders,\n convertBase64ToUint8Array,\n convertToFormData,\n createJsonErrorResponseHandler,\n createJsonResponseHandler,\n downloadBlob,\n postFormDataToApi,\n postJsonToApi\n} from \"@ai-sdk/provider-utils\";\nimport { z } from \"zod/v4\";\nvar DeepInfraImageModel = class {\n constructor(modelId, config) {\n this.modelId = modelId;\n this.config = config;\n this.specificationVersion = \"v3\";\n this.maxImagesPerCall = 1;\n }\n get provider() {\n return this.config.provider;\n }\n async doGenerate({\n prompt,\n n,\n size,\n aspectRatio,\n seed,\n providerOptions,\n headers,\n abortSignal,\n files,\n mask\n }) {\n var _a, _b, _c, _d, _e;\n const warnings = [];\n const currentDate = (_c = (_b = (_a = this.config._internal) == null ? void 0 : _a.currentDate) == null ? void 0 : _b.call(_a)) != null ? _c : /* @__PURE__ */ new Date();\n if (files != null && files.length > 0) {\n const { value: response2, responseHeaders: responseHeaders2 } = await postFormDataToApi({\n url: this.getEditUrl(),\n headers: combineHeaders(this.config.headers(), headers),\n formData: convertToFormData(\n {\n model: this.modelId,\n prompt,\n image: await Promise.all(files.map((file) => fileToBlob(file))),\n mask: mask != null ? await fileToBlob(mask) : void 0,\n n,\n size,\n ...(_d = providerOptions.deepinfra) != null ? _d : {}\n },\n { useArrayBrackets: false }\n ),\n failedResponseHandler: createJsonErrorResponseHandler({\n errorSchema: deepInfraEditErrorSchema,\n errorToMessage: (error) => {\n var _a2, _b2;\n return (_b2 = (_a2 = error.error) == null ? void 0 : _a2.message) != null ? _b2 : \"Unknown error\";\n }\n }),\n successfulResponseHandler: createJsonResponseHandler(\n deepInfraEditResponseSchema\n ),\n abortSignal,\n fetch: this.config.fetch\n });\n return {\n images: response2.data.map((item) => item.b64_json),\n warnings,\n response: {\n timestamp: currentDate,\n modelId: this.modelId,\n headers: responseHeaders2\n }\n };\n }\n const splitSize = size == null ? void 0 : size.split(\"x\");\n const { value: response, responseHeaders } = await postJsonToApi({\n url: `${this.config.baseURL}/${this.modelId}`,\n headers: combineHeaders(this.config.headers(), headers),\n body: {\n prompt,\n num_images: n,\n ...aspectRatio && { aspect_ratio: aspectRatio },\n ...splitSize && { width: splitSize[0], height: splitSize[1] },\n ...seed != null && { seed },\n ...(_e = providerOptions.deepinfra) != null ? _e : {}\n },\n failedResponseHandler: createJsonErrorResponseHandler({\n errorSchema: deepInfraErrorSchema,\n errorToMessage: (error) => error.detail.error\n }),\n successfulResponseHandler: createJsonResponseHandler(\n deepInfraImageResponseSchema\n ),\n abortSignal,\n fetch: this.config.fetch\n });\n return {\n images: response.images.map(\n (image) => image.replace(/^data:image\\/\\w+;base64,/, \"\")\n ),\n warnings,\n response: {\n timestamp: currentDate,\n modelId: this.modelId,\n headers: responseHeaders\n }\n };\n }\n getEditUrl() {\n const baseUrl = this.config.baseURL.replace(\"/inference\", \"/openai\");\n return `${baseUrl}/images/edits`;\n }\n};\nvar deepInfraErrorSchema = z.object({\n detail: z.object({\n error: z.string()\n })\n});\nvar deepInfraImageResponseSchema = z.object({\n images: z.array(z.string())\n});\nvar deepInfraEditErrorSchema = z.object({\n error: z.object({\n message: z.string()\n }).optional()\n});\nvar deepInfraEditResponseSchema = z.object({\n data: z.array(z.object({ b64_json: z.string() }))\n});\nasync function fileToBlob(file) {\n if (file.type === \"url\") {\n return downloadBlob(file.url);\n }\n const data = file.data instanceof Uint8Array ? file.data : convertBase64ToUint8Array(file.data);\n return new Blob([data], { type: file.mediaType });\n}\n\n// src/deepinfra-chat-language-model.ts\nimport { OpenAICompatibleChatLanguageModel } from \"@ai-sdk/openai-compatible\";\nvar DeepInfraChatLanguageModel = class extends OpenAICompatibleChatLanguageModel {\n constructor(modelId, config) {\n super(modelId, config);\n }\n /**\n * Fixes incorrect token usage for Gemini/Gemma models from DeepInfra.\n *\n * DeepInfra's API returns completion_tokens that don't include reasoning_tokens\n * for Gemini/Gemma models, which violates the OpenAI-compatible spec.\n * According to the spec, completion_tokens should include reasoning_tokens.\n *\n * Example of incorrect data from DeepInfra:\n * {\n * \"completion_tokens\": 84, // text-only tokens\n * \"completion_tokens_details\": {\n * \"reasoning_tokens\": 1081 // reasoning tokens not included above\n * }\n * }\n *\n * This would result in negative text tokens: 84 - 1081 = -997\n *\n * The fix: If reasoning_tokens > completion_tokens, add reasoning_tokens\n * to completion_tokens: 84 + 1081 = 1165\n */\n fixUsageForGeminiModels(usage) {\n var _a, _b;\n if (!usage || !((_a = usage.completion_tokens_details) == null ? void 0 : _a.reasoning_tokens)) {\n return usage;\n }\n const completionTokens = (_b = usage.completion_tokens) != null ? _b : 0;\n const reasoningTokens = usage.completion_tokens_details.reasoning_tokens;\n if (reasoningTokens > completionTokens) {\n const correctedCompletionTokens = completionTokens + reasoningTokens;\n return {\n ...usage,\n // Add reasoning_tokens to completion_tokens to get the correct total\n completion_tokens: correctedCompletionTokens,\n // Update total_tokens if present\n total_tokens: usage.total_tokens != null ? usage.total_tokens + reasoningTokens : void 0\n };\n }\n return usage;\n }\n async doGenerate(options) {\n var _a, _b, _c, _d, _e, _f, _g;\n const result = await super.doGenerate(options);\n if ((_a = result.usage) == null ? void 0 : _a.raw) {\n const fixedRawUsage = this.fixUsageForGeminiModels(result.usage.raw);\n if (fixedRawUsage !== result.usage.raw) {\n const promptTokens = (_b = fixedRawUsage.prompt_tokens) != null ? _b : 0;\n const completionTokens = (_c = fixedRawUsage.completion_tokens) != null ? _c : 0;\n const cacheReadTokens = (_e = (_d = fixedRawUsage.prompt_tokens_details) == null ? void 0 : _d.cached_tokens) != null ? _e : 0;\n const reasoningTokens = (_g = (_f = fixedRawUsage.completion_tokens_details) == null ? void 0 : _f.reasoning_tokens) != null ? _g : 0;\n return {\n ...result,\n usage: {\n inputTokens: {\n total: promptTokens,\n noCache: promptTokens - cacheReadTokens,\n cacheRead: cacheReadTokens,\n cacheWrite: void 0\n },\n outputTokens: {\n total: completionTokens,\n text: completionTokens - reasoningTokens,\n reasoning: reasoningTokens\n },\n raw: fixedRawUsage\n }\n };\n }\n }\n return result;\n }\n async doStream(options) {\n const result = await super.doStream(options);\n const originalStream = result.stream;\n const fixUsage = this.fixUsageForGeminiModels.bind(this);\n const transformedStream = new ReadableStream({\n async start(controller) {\n var _a, _b, _c, _d, _e, _f, _g;\n const reader = originalStream.getReader();\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done) break;\n if (value.type === \"finish\" && ((_a = value.usage) == null ? void 0 : _a.raw)) {\n const fixedRawUsage = fixUsage(value.usage.raw);\n if (fixedRawUsage !== value.usage.raw) {\n const promptTokens = (_b = fixedRawUsage.prompt_tokens) != null ? _b : 0;\n const completionTokens = (_c = fixedRawUsage.completion_tokens) != null ? _c : 0;\n const cacheReadTokens = (_e = (_d = fixedRawUsage.prompt_tokens_details) == null ? void 0 : _d.cached_tokens) != null ? _e : 0;\n const reasoningTokens = (_g = (_f = fixedRawUsage.completion_tokens_details) == null ? void 0 : _f.reasoning_tokens) != null ? _g : 0;\n controller.enqueue({\n ...value,\n usage: {\n inputTokens: {\n total: promptTokens,\n noCache: promptTokens - cacheReadTokens,\n cacheRead: cacheReadTokens,\n cacheWrite: void 0\n },\n outputTokens: {\n total: completionTokens,\n text: completionTokens - reasoningTokens,\n reasoning: reasoningTokens\n },\n raw: fixedRawUsage\n }\n });\n } else {\n controller.enqueue(value);\n }\n } else {\n controller.enqueue(value);\n }\n }\n controller.close();\n } catch (error) {\n controller.error(error);\n }\n }\n });\n return {\n ...result,\n stream: transformedStream\n };\n }\n};\n\n// src/version.ts\nvar VERSION = true ? \"2.0.41\" : \"0.0.0-test\";\n\n// src/deepinfra-provider.ts\nfunction createDeepInfra(options = {}) {\n var _a;\n const baseURL = withoutTrailingSlash(\n (_a = options.baseURL) != null ? _a : \"https://api.deepinfra.com/v1\"\n );\n const getHeaders = () => withUserAgentSuffix(\n {\n Authorization: `Bearer ${loadApiKey({\n apiKey: options.apiKey,\n environmentVariableName: \"DEEPINFRA_API_KEY\",\n description: \"DeepInfra's API key\"\n })}`,\n ...options.headers\n },\n `ai-sdk/deepinfra/${VERSION}`\n );\n const getCommonModelConfig = (modelType) => ({\n provider: `deepinfra.${modelType}`,\n url: ({ path }) => `${baseURL}/openai${path}`,\n headers: getHeaders,\n fetch: options.fetch\n });\n const createChatModel = (modelId) => {\n return new DeepInfraChatLanguageModel(\n modelId,\n getCommonModelConfig(\"chat\")\n );\n };\n const createCompletionModel = (modelId) => new OpenAICompatibleCompletionLanguageModel(\n modelId,\n getCommonModelConfig(\"completion\")\n );\n const createEmbeddingModel = (modelId) => new OpenAICompatibleEmbeddingModel(\n modelId,\n getCommonModelConfig(\"embedding\")\n );\n const createImageModel = (modelId) => new DeepInfraImageModel(modelId, {\n ...getCommonModelConfig(\"image\"),\n baseURL: baseURL ? `${baseURL}/inference` : \"https://api.deepinfra.com/v1/inference\"\n });\n const provider = (modelId) => createChatModel(modelId);\n provider.specificationVersion = \"v3\";\n provider.completionModel = createCompletionModel;\n provider.chatModel = createChatModel;\n provider.image = createImageModel;\n provider.imageModel = createImageModel;\n provider.languageModel = createChatModel;\n provider.embeddingModel = createEmbeddingModel;\n provider.textEmbeddingModel = createEmbeddingModel;\n return provider;\n}\nvar deepinfra = createDeepInfra();\nexport {\n VERSION,\n createDeepInfra,\n deepinfra\n};\n//# sourceMappingURL=index.mjs.map" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "7483C844B5B94E0A64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../tui/src/prompt/display.ts"], | ||
| "sourcesContent": [ | ||
| "const graphemes = new Intl.Segmenter(undefined, { granularity: \"grapheme\" })\n\nexport function promptOffsetWidth(value: string) {\n let width = 0\n for (const part of graphemes.segment(value)) {\n // Textarea offsets count newlines as one position; Bun.stringWidth counts them as zero.\n width += part.segment === \"\\n\" ? 1 : Bun.stringWidth(part.segment)\n }\n return width\n}\n\nfunction displayOffsetIndex(value: string, offset: number) {\n if (offset <= 0) return 0\n\n let width = 0\n for (const part of graphemes.segment(value)) {\n const next = width + promptOffsetWidth(part.segment)\n if (next > offset) return part.index\n width = next\n }\n\n return value.length\n}\n\nexport function displaySlice(value: string, start = 0, end = promptOffsetWidth(value)) {\n return value.slice(displayOffsetIndex(value, start), displayOffsetIndex(value, end))\n}\n\nexport function displayCharAt(value: string, offset: number) {\n let width = 0\n for (const part of graphemes.segment(value)) {\n const next = width + promptOffsetWidth(part.segment)\n if (offset === width || offset < next) return part.segment\n width = next\n }\n}\n\nexport function mentionTriggerIndex(value: string, offset = promptOffsetWidth(value)) {\n const text = displaySlice(value, 0, offset)\n const index = text.lastIndexOf(\"@\")\n if (index === -1) return\n\n const before = index === 0 ? undefined : text[index - 1]\n const query = text.slice(index)\n if ((before === undefined || /\\s/.test(before)) && !/\\s/.test(query)) {\n return promptOffsetWidth(text.slice(0, index))\n }\n}\n" | ||
| ], | ||
| "mappings": ";AAAA,IAAM,EAAY,IAAI,KAAK,UAAU,OAAW,CAAE,YAAa,UAAW,CAAC,EAEpE,SAAS,CAAiB,CAAC,EAAe,CAC/C,IAAI,EAAQ,EACZ,QAAW,KAAQ,EAAU,QAAQ,CAAK,EAExC,GAAS,EAAK,UAAY;AAAA,EAAO,EAAI,IAAI,YAAY,EAAK,OAAO,EAEnE,OAAO,EAGT,SAAS,CAAkB,CAAC,EAAe,EAAgB,CACzD,GAAI,GAAU,EAAG,MAAO,GAExB,IAAI,EAAQ,EACZ,QAAW,KAAQ,EAAU,QAAQ,CAAK,EAAG,CAC3C,IAAM,EAAO,EAAQ,EAAkB,EAAK,OAAO,EACnD,GAAI,EAAO,EAAQ,OAAO,EAAK,MAC/B,EAAQ,EAGV,OAAO,EAAM,OAGR,SAAS,CAAY,CAAC,EAAe,EAAQ,EAAG,EAAM,EAAkB,CAAK,EAAG,CACrF,OAAO,EAAM,MAAM,EAAmB,EAAO,CAAK,EAAG,EAAmB,EAAO,CAAG,CAAC,EAG9E,SAAS,CAAa,CAAC,EAAe,EAAgB,CAC3D,IAAI,EAAQ,EACZ,QAAW,KAAQ,EAAU,QAAQ,CAAK,EAAG,CAC3C,IAAM,EAAO,EAAQ,EAAkB,EAAK,OAAO,EACnD,GAAI,IAAW,GAAS,EAAS,EAAM,OAAO,EAAK,QACnD,EAAQ,GAIL,SAAS,CAAmB,CAAC,EAAe,EAAS,EAAkB,CAAK,EAAG,CACpF,IAAM,EAAO,EAAa,EAAO,EAAG,CAAM,EACpC,EAAQ,EAAK,YAAY,GAAG,EAClC,GAAI,IAAU,GAAI,OAElB,IAAM,EAAS,IAAU,EAAI,OAAY,EAAK,EAAQ,GAChD,EAAQ,EAAK,MAAM,CAAK,EAC9B,IAAK,IAAW,QAAa,KAAK,KAAK,CAAM,IAAM,CAAC,KAAK,KAAK,CAAK,EACjE,OAAO,EAAkB,EAAK,MAAM,EAAG,CAAK,CAAC", | ||
| "debugId": "7E110F6CCBB9BD3A64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@ai-sdk+provider@3.0.10/node_modules/@ai-sdk/provider/dist/index.mjs"], | ||
| "sourcesContent": [ | ||
| "// src/errors/ai-sdk-error.ts\nvar marker = \"vercel.ai.error\";\nvar symbol = Symbol.for(marker);\nvar _a, _b;\nvar AISDKError = class _AISDKError extends (_b = Error, _a = symbol, _b) {\n /**\n * Creates an AI SDK Error.\n *\n * @param {Object} params - The parameters for creating the error.\n * @param {string} params.name - The name of the error.\n * @param {string} params.message - The error message.\n * @param {unknown} [params.cause] - The underlying cause of the error.\n */\n constructor({\n name: name14,\n message,\n cause\n }) {\n super(message);\n this[_a] = true;\n this.name = name14;\n this.cause = cause;\n }\n /**\n * Checks if the given error is an AI SDK Error.\n * @param {unknown} error - The error to check.\n * @returns {boolean} True if the error is an AI SDK Error, false otherwise.\n */\n static isInstance(error) {\n return _AISDKError.hasMarker(error, marker);\n }\n static hasMarker(error, marker15) {\n const markerSymbol = Symbol.for(marker15);\n return error != null && typeof error === \"object\" && markerSymbol in error && typeof error[markerSymbol] === \"boolean\" && error[markerSymbol] === true;\n }\n};\n\n// src/errors/api-call-error.ts\nvar name = \"AI_APICallError\";\nvar marker2 = `vercel.ai.error.${name}`;\nvar symbol2 = Symbol.for(marker2);\nvar _a2, _b2;\nvar APICallError = class extends (_b2 = AISDKError, _a2 = symbol2, _b2) {\n constructor({\n message,\n url,\n requestBodyValues,\n statusCode,\n responseHeaders,\n responseBody,\n cause,\n isRetryable = statusCode != null && (statusCode === 408 || // request timeout\n statusCode === 409 || // conflict\n statusCode === 429 || // too many requests\n statusCode >= 500),\n // server error\n data\n }) {\n super({ name, message, cause });\n this[_a2] = true;\n this.url = url;\n this.requestBodyValues = requestBodyValues;\n this.statusCode = statusCode;\n this.responseHeaders = responseHeaders;\n this.responseBody = responseBody;\n this.isRetryable = isRetryable;\n this.data = data;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker2);\n }\n};\n\n// src/errors/empty-response-body-error.ts\nvar name2 = \"AI_EmptyResponseBodyError\";\nvar marker3 = `vercel.ai.error.${name2}`;\nvar symbol3 = Symbol.for(marker3);\nvar _a3, _b3;\nvar EmptyResponseBodyError = class extends (_b3 = AISDKError, _a3 = symbol3, _b3) {\n // used in isInstance\n constructor({ message = \"Empty response body\" } = {}) {\n super({ name: name2, message });\n this[_a3] = true;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker3);\n }\n};\n\n// src/errors/get-error-message.ts\nfunction getErrorMessage(error) {\n if (error == null) {\n return \"unknown error\";\n }\n if (typeof error === \"string\") {\n return error;\n }\n if (error instanceof Error) {\n return error.message;\n }\n return JSON.stringify(error);\n}\n\n// src/errors/invalid-argument-error.ts\nvar name3 = \"AI_InvalidArgumentError\";\nvar marker4 = `vercel.ai.error.${name3}`;\nvar symbol4 = Symbol.for(marker4);\nvar _a4, _b4;\nvar InvalidArgumentError = class extends (_b4 = AISDKError, _a4 = symbol4, _b4) {\n constructor({\n message,\n cause,\n argument\n }) {\n super({ name: name3, message, cause });\n this[_a4] = true;\n this.argument = argument;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker4);\n }\n};\n\n// src/errors/invalid-prompt-error.ts\nvar name4 = \"AI_InvalidPromptError\";\nvar marker5 = `vercel.ai.error.${name4}`;\nvar symbol5 = Symbol.for(marker5);\nvar _a5, _b5;\nvar InvalidPromptError = class extends (_b5 = AISDKError, _a5 = symbol5, _b5) {\n constructor({\n prompt,\n message,\n cause\n }) {\n super({ name: name4, message: `Invalid prompt: ${message}`, cause });\n this[_a5] = true;\n this.prompt = prompt;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker5);\n }\n};\n\n// src/errors/invalid-response-data-error.ts\nvar name5 = \"AI_InvalidResponseDataError\";\nvar marker6 = `vercel.ai.error.${name5}`;\nvar symbol6 = Symbol.for(marker6);\nvar _a6, _b6;\nvar InvalidResponseDataError = class extends (_b6 = AISDKError, _a6 = symbol6, _b6) {\n constructor({\n data,\n message = `Invalid response data: ${JSON.stringify(data)}.`\n }) {\n super({ name: name5, message });\n this[_a6] = true;\n this.data = data;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker6);\n }\n};\n\n// src/errors/json-parse-error.ts\nvar name6 = \"AI_JSONParseError\";\nvar marker7 = `vercel.ai.error.${name6}`;\nvar symbol7 = Symbol.for(marker7);\nvar _a7, _b7;\nvar JSONParseError = class extends (_b7 = AISDKError, _a7 = symbol7, _b7) {\n constructor({ text, cause }) {\n super({\n name: name6,\n message: `JSON parsing failed: Text: ${text}.\nError message: ${getErrorMessage(cause)}`,\n cause\n });\n this[_a7] = true;\n this.text = text;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker7);\n }\n};\n\n// src/errors/load-api-key-error.ts\nvar name7 = \"AI_LoadAPIKeyError\";\nvar marker8 = `vercel.ai.error.${name7}`;\nvar symbol8 = Symbol.for(marker8);\nvar _a8, _b8;\nvar LoadAPIKeyError = class extends (_b8 = AISDKError, _a8 = symbol8, _b8) {\n // used in isInstance\n constructor({ message }) {\n super({ name: name7, message });\n this[_a8] = true;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker8);\n }\n};\n\n// src/errors/load-setting-error.ts\nvar name8 = \"AI_LoadSettingError\";\nvar marker9 = `vercel.ai.error.${name8}`;\nvar symbol9 = Symbol.for(marker9);\nvar _a9, _b9;\nvar LoadSettingError = class extends (_b9 = AISDKError, _a9 = symbol9, _b9) {\n // used in isInstance\n constructor({ message }) {\n super({ name: name8, message });\n this[_a9] = true;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker9);\n }\n};\n\n// src/errors/no-content-generated-error.ts\nvar name9 = \"AI_NoContentGeneratedError\";\nvar marker10 = `vercel.ai.error.${name9}`;\nvar symbol10 = Symbol.for(marker10);\nvar _a10, _b10;\nvar NoContentGeneratedError = class extends (_b10 = AISDKError, _a10 = symbol10, _b10) {\n // used in isInstance\n constructor({\n message = \"No content generated.\"\n } = {}) {\n super({ name: name9, message });\n this[_a10] = true;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker10);\n }\n};\n\n// src/errors/no-such-model-error.ts\nvar name10 = \"AI_NoSuchModelError\";\nvar marker11 = `vercel.ai.error.${name10}`;\nvar symbol11 = Symbol.for(marker11);\nvar _a11, _b11;\nvar NoSuchModelError = class extends (_b11 = AISDKError, _a11 = symbol11, _b11) {\n constructor({\n errorName = name10,\n modelId,\n modelType,\n message = `No such ${modelType}: ${modelId}`\n }) {\n super({ name: errorName, message });\n this[_a11] = true;\n this.modelId = modelId;\n this.modelType = modelType;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker11);\n }\n};\n\n// src/errors/too-many-embedding-values-for-call-error.ts\nvar name11 = \"AI_TooManyEmbeddingValuesForCallError\";\nvar marker12 = `vercel.ai.error.${name11}`;\nvar symbol12 = Symbol.for(marker12);\nvar _a12, _b12;\nvar TooManyEmbeddingValuesForCallError = class extends (_b12 = AISDKError, _a12 = symbol12, _b12) {\n constructor(options) {\n super({\n name: name11,\n message: `Too many values for a single embedding call. The ${options.provider} model \"${options.modelId}\" can only embed up to ${options.maxEmbeddingsPerCall} values per call, but ${options.values.length} values were provided.`\n });\n this[_a12] = true;\n this.provider = options.provider;\n this.modelId = options.modelId;\n this.maxEmbeddingsPerCall = options.maxEmbeddingsPerCall;\n this.values = options.values;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker12);\n }\n};\n\n// src/errors/type-validation-error.ts\nvar name12 = \"AI_TypeValidationError\";\nvar marker13 = `vercel.ai.error.${name12}`;\nvar symbol13 = Symbol.for(marker13);\nvar _a13, _b13;\nvar TypeValidationError = class _TypeValidationError extends (_b13 = AISDKError, _a13 = symbol13, _b13) {\n constructor({\n value,\n cause,\n context\n }) {\n let contextPrefix = \"Type validation failed\";\n if (context == null ? void 0 : context.field) {\n contextPrefix += ` for ${context.field}`;\n }\n if ((context == null ? void 0 : context.entityName) || (context == null ? void 0 : context.entityId)) {\n contextPrefix += \" (\";\n const parts = [];\n if (context.entityName) {\n parts.push(context.entityName);\n }\n if (context.entityId) {\n parts.push(`id: \"${context.entityId}\"`);\n }\n contextPrefix += parts.join(\", \");\n contextPrefix += \")\";\n }\n super({\n name: name12,\n message: `${contextPrefix}: Value: ${JSON.stringify(value)}.\nError message: ${getErrorMessage(cause)}`,\n cause\n });\n this[_a13] = true;\n this.value = value;\n this.context = context;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker13);\n }\n /**\n * Wraps an error into a TypeValidationError.\n * If the cause is already a TypeValidationError with the same value and context, it returns the cause.\n * Otherwise, it creates a new TypeValidationError.\n *\n * @param {Object} params - The parameters for wrapping the error.\n * @param {unknown} params.value - The value that failed validation.\n * @param {unknown} params.cause - The original error or cause of the validation failure.\n * @param {TypeValidationContext} params.context - Optional context about what is being validated.\n * @returns {TypeValidationError} A TypeValidationError instance.\n */\n static wrap({\n value,\n cause,\n context\n }) {\n var _a15, _b15, _c;\n if (_TypeValidationError.isInstance(cause) && cause.value === value && ((_a15 = cause.context) == null ? void 0 : _a15.field) === (context == null ? void 0 : context.field) && ((_b15 = cause.context) == null ? void 0 : _b15.entityName) === (context == null ? void 0 : context.entityName) && ((_c = cause.context) == null ? void 0 : _c.entityId) === (context == null ? void 0 : context.entityId)) {\n return cause;\n }\n return new _TypeValidationError({ value, cause, context });\n }\n};\n\n// src/errors/unsupported-functionality-error.ts\nvar name13 = \"AI_UnsupportedFunctionalityError\";\nvar marker14 = `vercel.ai.error.${name13}`;\nvar symbol14 = Symbol.for(marker14);\nvar _a14, _b14;\nvar UnsupportedFunctionalityError = class extends (_b14 = AISDKError, _a14 = symbol14, _b14) {\n constructor({\n functionality,\n message = `'${functionality}' functionality not supported.`\n }) {\n super({ name: name13, message });\n this[_a14] = true;\n this.functionality = functionality;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker14);\n }\n};\n\n// src/json-value/is-json.ts\nfunction isJSONValue(value) {\n if (value === null || typeof value === \"string\" || typeof value === \"number\" || typeof value === \"boolean\") {\n return true;\n }\n if (Array.isArray(value)) {\n return value.every(isJSONValue);\n }\n if (typeof value === \"object\") {\n return Object.entries(value).every(\n ([key, val]) => typeof key === \"string\" && (val === void 0 || isJSONValue(val))\n );\n }\n return false;\n}\nfunction isJSONArray(value) {\n return Array.isArray(value) && value.every(isJSONValue);\n}\nfunction isJSONObject(value) {\n return value != null && typeof value === \"object\" && Object.entries(value).every(\n ([key, val]) => typeof key === \"string\" && (val === void 0 || isJSONValue(val))\n );\n}\nexport {\n AISDKError,\n APICallError,\n EmptyResponseBodyError,\n InvalidArgumentError,\n InvalidPromptError,\n InvalidResponseDataError,\n JSONParseError,\n LoadAPIKeyError,\n LoadSettingError,\n NoContentGeneratedError,\n NoSuchModelError,\n TooManyEmbeddingValuesForCallError,\n TypeValidationError,\n UnsupportedFunctionalityError,\n getErrorMessage,\n isJSONArray,\n isJSONObject,\n isJSONValue\n};\n//# sourceMappingURL=index.mjs.map" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "9B800E1D18A43B0364756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["src/mini/variant.shared.ts", "src/mini/session.shared.ts", "src/mini/theme.ts"], | ||
| "sourcesContent": [ | ||
| "// Model variant resolution and persistence.\n//\n// Variants are provider-specific reasoning effort levels (e.g., \"high\", \"max\").\n// Resolution priority: CLI --variant flag > saved preference > session history.\n//\n// The saved variant persists across sessions in ~/.local/state/opencode/model.json\n// so your last-used variant sticks. Cycling (ctrl+t) updates both the active\n// variant and the persisted file.\nimport path from \"path\"\nimport { FSUtil } from \"@opencode-ai/core/fs-util\"\nimport { AppNodeBuilder } from \"@opencode-ai/core/effect/app-node-builder\"\nimport { Context, Effect, Layer } from \"effect\"\nimport { LayerNode } from \"@opencode-ai/core/effect/layer-node\"\nimport { makeGlobalNode } from \"@opencode-ai/core/effect/app-node\"\nimport { makeRuntime } from \"@opencode-ai/core/effect/runtime\"\nimport { Global } from \"@opencode-ai/core/global\"\nimport { createSession, sessionVariant, type RunSession, type SessionMessages } from \"./session.shared\"\nimport type { RunInput, RunProvider } from \"./types\"\n\nconst MODEL_FILE = path.join(Global.Path.state, \"model.json\")\n\ntype ModelState = Record<string, unknown> & {\n variant?: Record<string, string | undefined>\n}\ntype VariantService = {\n readonly resolveSavedVariant: (model: RunInput[\"model\"]) => Effect.Effect<string | undefined>\n readonly saveVariant: (model: RunInput[\"model\"], variant: string | undefined) => Effect.Effect<void>\n}\ntype VariantRuntime = {\n resolveSavedVariant(model: RunInput[\"model\"]): Promise<string | undefined>\n saveVariant(model: RunInput[\"model\"], variant: string | undefined): Promise<void>\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return !!value && typeof value === \"object\" && !Array.isArray(value)\n}\n\nclass Service extends Context.Service<Service, VariantService>()(\"@opencode/RunVariant\") {}\n\nfunction modelKey(provider: string, model: string): string {\n return `${provider}/${model}`\n}\n\nfunction variantKey(model: NonNullable<RunInput[\"model\"]>): string {\n return modelKey(model.providerID, model.modelID)\n}\n\nexport function modelInfo(providers: RunProvider[] | undefined, model: NonNullable<RunInput[\"model\"]>) {\n const provider = providers?.find((item) => item.id === model.providerID)\n return {\n provider: provider?.name ?? model.providerID,\n model: provider?.models[model.modelID]?.name ?? model.modelID,\n }\n}\n\nexport function formatModelLabel(\n model: NonNullable<RunInput[\"model\"]>,\n variant: string | undefined,\n providers?: RunProvider[],\n): string {\n const names = modelInfo(providers, model)\n const label = variant ? ` · ${variant}` : \"\"\n return `${names.model} · ${names.provider}${label}`\n}\n\nexport function cycleVariant(current: string | undefined, variants: string[]): string | undefined {\n if (variants.length === 0) {\n return undefined\n }\n\n if (!current) {\n return variants[0]\n }\n\n const idx = variants.indexOf(current)\n if (idx === -1 || idx === variants.length - 1) {\n return undefined\n }\n\n return variants[idx + 1]\n}\n\nexport function pickVariant(model: RunInput[\"model\"], input: RunSession | SessionMessages): string | undefined {\n return sessionVariant(Array.isArray(input) ? createSession(input) : input, model)\n}\n\nfunction fitVariant(value: string | undefined, variants: string[]): string | undefined {\n if (!value) {\n return undefined\n }\n\n if (variants.length === 0 || variants.includes(value)) {\n return value\n }\n\n return undefined\n}\n\n// Picks the active variant. CLI flag wins, then saved preference, then session\n// history. fitVariant() checks saved and session values against the available\n// variants list -- if the provider doesn't offer a variant, it drops.\nexport function resolveVariant(\n input: string | undefined,\n session: string | undefined,\n saved: string | undefined,\n variants: string[],\n): string | undefined {\n if (input !== undefined) {\n return input\n }\n\n const fallback = fitVariant(saved, variants)\n const current = fitVariant(session, variants)\n if (current !== undefined) {\n return current\n }\n\n return fallback\n}\n\nfunction state(value: unknown): ModelState {\n if (!isRecord(value)) {\n return {}\n }\n\n const variant = isRecord(value.variant)\n ? Object.fromEntries(\n Object.entries(value.variant).flatMap(([key, item]) => {\n if (typeof item !== \"string\") {\n return []\n }\n\n return [[key, item] as const]\n }),\n )\n : undefined\n\n return {\n ...value,\n variant,\n }\n}\n\nconst layer = Layer.fresh(\n Layer.effect(\n Service,\n Effect.gen(function* () {\n const file = yield* FSUtil.Service\n\n const read = Effect.fn(\"RunVariant.read\")(function* () {\n return yield* file.readJson(MODEL_FILE).pipe(\n Effect.map(state),\n Effect.catchCause(() => Effect.succeed(state(undefined))),\n )\n })\n\n const resolveSavedVariant = Effect.fn(\"RunVariant.resolveSavedVariant\")(function* (model: RunInput[\"model\"]) {\n if (!model) {\n return undefined\n }\n\n return (yield* read()).variant?.[variantKey(model)]\n })\n\n const saveVariant = Effect.fn(\"RunVariant.saveVariant\")(function* (\n model: RunInput[\"model\"],\n variant: string | undefined,\n ) {\n if (!model) {\n return\n }\n\n const current = yield* read()\n const next = {\n ...current.variant,\n }\n const key = variantKey(model)\n if (variant) {\n next[key] = variant\n }\n\n if (!variant) {\n delete next[key]\n }\n\n yield* file\n .writeJson(MODEL_FILE, {\n ...current,\n variant: next,\n })\n .pipe(Effect.orElseSucceed(() => undefined))\n })\n\n return Service.of({\n resolveSavedVariant,\n saveVariant,\n })\n }),\n ),\n)\n\nconst node = makeGlobalNode({ service: Service, layer, deps: [FSUtil.node] })\n\n/** @internal Exported for testing. */\nexport function createVariantRuntime(replacements?: readonly LayerNode.Replacement[]): VariantRuntime {\n const runtime = makeRuntime(Service, AppNodeBuilder.build(node, replacements))\n return {\n resolveSavedVariant: (model) => runtime.runPromise((svc) => svc.resolveSavedVariant(model)).catch(() => undefined),\n saveVariant: (model, variant) => runtime.runPromise((svc) => svc.saveVariant(model, variant)).catch(() => {}),\n }\n}\n\nconst runtime = createVariantRuntime()\n\nexport async function resolveSavedVariant(model: RunInput[\"model\"]): Promise<string | undefined> {\n return runtime.resolveSavedVariant(model)\n}\n\nexport function saveVariant(model: RunInput[\"model\"], variant: string | undefined): void {\n void runtime.saveVariant(model, variant)\n}\n", | ||
| "// Session message extraction and prompt history.\n//\n// Fetches session messages from the SDK and extracts user turn text for\n// the prompt history ring. Also finds the most recently used variant for\n// the current model so the footer can pre-select it.\nimport { promptCopy, promptSame } from \"./prompt.shared\"\nimport type { Message, Part } from \"@opencode-ai/sdk/v2\"\nimport type { RunInput, RunPrompt } from \"./types\"\n\nconst LIMIT = 200\n\nexport type SessionMessages = Array<{ info: Message; parts: Part[] }>\n\ntype Turn = {\n prompt: RunPrompt\n provider: string | undefined\n model: string | undefined\n variant: string | undefined\n}\n\nexport type RunSession = {\n first: boolean\n turns: Turn[]\n model?: NonNullable<RunInput[\"model\"]>\n variant?: string\n}\n\nfunction fileName(url: string, filename?: string) {\n if (filename) {\n return filename\n }\n\n try {\n const next = new URL(url)\n if (next.protocol !== \"file:\") {\n return url\n }\n\n const name = next.pathname.split(\"/\").at(-1)\n if (name) {\n return decodeURIComponent(name)\n }\n } catch {}\n\n return url\n}\n\nfunction fileSource(\n part: Extract<SessionMessages[number][\"parts\"][number], { type: \"file\" }>,\n text: { start: number; end: number; value: string },\n) {\n if (part.source) {\n return {\n ...structuredClone(part.source),\n text,\n }\n }\n\n return {\n type: \"file\" as const,\n path: part.filename ?? part.url,\n text,\n }\n}\n\nexport function messagePrompt(msg: SessionMessages[number]): RunPrompt {\n const parts: RunPrompt[\"parts\"] = []\n let text = msg.parts\n .filter((part): part is Extract<SessionMessages[number][\"parts\"][number], { type: \"text\" }> => {\n return part.type === \"text\" && !part.synthetic\n })\n .map((part) => part.text)\n .join(\"\")\n let cursor = Bun.stringWidth(text)\n const used: Array<{ start: number; end: number }> = []\n\n const take = (value: string): { start: number; end: number; value: string } | undefined => {\n let from = 0\n while (true) {\n const idx = text.indexOf(value, from)\n if (idx === -1) {\n return undefined\n }\n\n const start = Bun.stringWidth(text.slice(0, idx))\n const end = start + Bun.stringWidth(value)\n if (!used.some((item) => item.start < end && start < item.end)) {\n return { start, end, value }\n }\n\n from = idx + value.length\n }\n }\n\n const add = (value: string) => {\n const gap = text ? \" \" : \"\"\n const start = cursor + Bun.stringWidth(gap)\n text += gap + value\n const end = start + Bun.stringWidth(value)\n cursor = end\n return { start, end, value }\n }\n\n for (const part of msg.parts) {\n if (part.type === \"file\") {\n const next = part.source?.text ? structuredClone(part.source.text) : take(\"@\" + fileName(part.url, part.filename))\n const span = next ?? add(\"@\" + fileName(part.url, part.filename))\n used.push({ start: span.start, end: span.end })\n parts.push({\n type: \"file\",\n mime: part.mime,\n filename: part.filename,\n url: part.url,\n source: fileSource(part, span),\n })\n continue\n }\n\n if (part.type !== \"agent\") {\n continue\n }\n\n const span = part.source ? structuredClone(part.source) : (take(\"@\" + part.name) ?? add(\"@\" + part.name))\n used.push({ start: span.start, end: span.end })\n parts.push({\n type: \"agent\",\n name: part.name,\n source: span,\n })\n }\n\n return { text, parts }\n}\n\nfunction turn(msg: SessionMessages[number]): Turn | undefined {\n if (msg.info.role !== \"user\") {\n return undefined\n }\n\n return {\n prompt: messagePrompt(msg),\n provider: msg.info.model.providerID,\n model: msg.info.model.modelID,\n variant: msg.info.model.variant,\n }\n}\n\nexport function createSession(messages: SessionMessages): RunSession {\n return {\n first: messages.length === 0,\n turns: messages.flatMap((msg) => {\n const item = turn(msg)\n return item ? [item] : []\n }),\n }\n}\n\nexport async function resolveCurrentSession(\n sdk: RunInput[\"sdk\"],\n sessionID: string,\n limit = LIMIT,\n): Promise<RunSession> {\n const [response, session] = await Promise.all([\n sdk.message.list({ sessionID, limit, order: \"desc\" }),\n sdk.session.get({ sessionID }),\n ])\n const messages = response.data.toReversed()\n return {\n first: messages.length === 0,\n turns: messages.flatMap((message) => {\n if (message.type !== \"user\") return []\n return [\n {\n prompt: {\n text: message.text,\n parts: [\n ...(message.files ?? []).map((file) => ({\n type: \"file\" as const,\n url: file.source.type === \"uri\" ? file.source.uri : `data:${file.mime};base64,${file.data}`,\n mime: file.mime,\n filename: file.name,\n source: file.mention\n ? {\n type: \"file\" as const,\n path: file.name ?? (file.source.type === \"uri\" ? file.source.uri : \"inline attachment\"),\n text: { start: file.mention.start, end: file.mention.end, value: file.mention.text },\n }\n : undefined,\n })),\n ...(message.agents ?? []).map((agent) => ({\n type: \"agent\" as const,\n name: agent.name,\n source: agent.mention\n ? { start: agent.mention.start, end: agent.mention.end, value: agent.mention.text }\n : undefined,\n })),\n ],\n },\n provider: session.model?.providerID,\n model: session.model?.id,\n variant: session.model?.variant,\n },\n ]\n }),\n ...(session.model && {\n model: {\n providerID: session.model.providerID,\n modelID: session.model.id,\n },\n variant: session.model.variant,\n }),\n }\n}\n\nexport function sessionHistory(session: RunSession, limit = LIMIT): RunPrompt[] {\n const out: RunPrompt[] = []\n\n for (const turn of session.turns) {\n if (!turn.prompt.text.trim()) {\n continue\n }\n\n if (out[out.length - 1] && promptSame(out[out.length - 1], turn.prompt)) {\n continue\n }\n\n out.push(promptCopy(turn.prompt))\n }\n\n return out.slice(-limit)\n}\n\nexport function sessionVariant(session: RunSession, model: RunInput[\"model\"]): string | undefined {\n if (!model) {\n return undefined\n }\n\n if (session.model?.providerID === model.providerID && session.model.modelID === model.modelID) {\n return session.variant\n }\n\n for (let idx = session.turns.length - 1; idx >= 0; idx -= 1) {\n const turn = session.turns[idx]\n if (turn.provider !== model.providerID || turn.model !== model.modelID) {\n continue\n }\n\n return turn.variant\n }\n\n return undefined\n}\n", | ||
| "// Theme resolution for direct interactive mode.\n//\n// Derives scrollback and footer colors from the terminal's actual palette.\n// resolveRunTheme() queries the renderer for the terminal's palette,\n// detects dark/light mode, builds a small system theme locally, and maps it to\n// the run footer + scrollback color model. Falls back to a hardcoded dark-mode\n// palette if detection fails.\nimport { RGBA, SyntaxStyle, type CliRenderer, type ColorInput, type TerminalColors } from \"@opentui/core\"\nimport type { TuiThemeCurrent } from \"@opencode-ai/plugin/tui\"\nimport type { EntryKind } from \"./types\"\n\ntype Tone = {\n body: ColorInput\n start?: ColorInput\n}\n\nexport type RunEntryTheme = Record<EntryKind, Tone>\n\nexport type RunSplashTheme = {\n left: ColorInput\n right: ColorInput\n leftShadow: ColorInput\n rightShadow: ColorInput\n}\n\nexport type RunFooterTheme = {\n highlight: ColorInput\n selected: ColorInput\n selectedText: ColorInput\n warning: ColorInput\n success: ColorInput\n error: ColorInput\n muted: ColorInput\n text: ColorInput\n status: ColorInput\n statusAccent: ColorInput\n shade: ColorInput\n surface: ColorInput\n pane: ColorInput\n border: ColorInput\n line: ColorInput\n}\n\nexport type RunBlockTheme = {\n highlight: ColorInput\n warning: ColorInput\n text: ColorInput\n muted: ColorInput\n syntax?: SyntaxStyle\n subtleSyntax?: SyntaxStyle\n diffAdded: ColorInput\n diffRemoved: ColorInput\n diffAddedBg: ColorInput\n diffRemovedBg: ColorInput\n diffContextBg: ColorInput\n diffHighlightAdded: ColorInput\n diffHighlightRemoved: ColorInput\n diffLineNumber: ColorInput\n diffAddedLineNumberBg: ColorInput\n diffRemovedLineNumberBg: ColorInput\n}\n\nexport type RunTheme = {\n background: ColorInput\n footer: RunFooterTheme\n entry: RunEntryTheme\n splash: RunSplashTheme\n block: RunBlockTheme\n}\n\ntype ThemeColor = Exclude<keyof TuiThemeCurrent, \"thinkingOpacity\">\ntype HexColor = `#${string}`\ntype RefName = string\ntype Variant = {\n dark: HexColor | RefName\n light: HexColor | RefName\n}\ntype ColorValue = HexColor | RefName | Variant | RGBA | number\ntype ThemeJson = {\n defs?: Record<string, HexColor | RefName>\n theme: Omit<Record<ThemeColor, ColorValue>, \"selectedListItemText\" | \"backgroundMenu\"> & {\n selectedListItemText?: ColorValue\n backgroundMenu?: ColorValue\n thinkingOpacity?: number\n }\n}\n\ntype SharedSyntaxTheme = TuiThemeCurrent & {\n _hasSelectedListItemText: boolean\n}\n\nexport const transparent = RGBA.fromValues(0, 0, 0, 0)\n\nfunction alpha(color: RGBA, value: number): RGBA {\n return RGBA.fromValues(color.r, color.g, color.b, Math.max(0, Math.min(1, value)))\n}\n\nfunction rgba(hex: string, value?: number): RGBA {\n const color = RGBA.fromHex(hex)\n return value === undefined ? color : alpha(color, value)\n}\n\nfunction mode(bg: RGBA): \"dark\" | \"light\" {\n return luminance(bg) > 0.5 ? \"light\" : \"dark\"\n}\n\nfunction luminance(color: RGBA): number {\n return 0.299 * color.r + 0.587 * color.g + 0.114 * color.b\n}\n\nfunction fade(color: RGBA, base: RGBA, fallback: number, scale: number, limit: number): RGBA {\n if (color.a === 0) {\n return RGBA.fromValues(color.r, color.g, color.b, Math.max(0, Math.min(1, fallback)))\n }\n\n const target = Math.min(limit, color.a * scale)\n const mix = Math.min(1, target / color.a)\n\n return RGBA.fromValues(\n base.r + (color.r - base.r) * mix,\n base.g + (color.g - base.g) * mix,\n base.b + (color.b - base.b) * mix,\n color.a,\n )\n}\n\nfunction ansiToRgba(code: number): RGBA {\n if (code < 16) {\n const ansi = [\n \"#000000\",\n \"#800000\",\n \"#008000\",\n \"#808000\",\n \"#000080\",\n \"#800080\",\n \"#008080\",\n \"#c0c0c0\",\n \"#808080\",\n \"#ff0000\",\n \"#00ff00\",\n \"#ffff00\",\n \"#0000ff\",\n \"#ff00ff\",\n \"#00ffff\",\n \"#ffffff\",\n ]\n return RGBA.fromHex(ansi[code] ?? \"#000000\")\n }\n\n if (code < 232) {\n const index = code - 16\n const b = index % 6\n const g = Math.floor(index / 6) % 6\n const r = Math.floor(index / 36)\n const value = (x: number) => (x === 0 ? 0 : x * 40 + 55)\n return RGBA.fromInts(value(r), value(g), value(b))\n }\n\n if (code < 256) {\n const gray = (code - 232) * 10 + 8\n return RGBA.fromInts(gray, gray, gray)\n }\n\n return RGBA.fromInts(0, 0, 0)\n}\n\nfunction tint(base: RGBA, overlay: RGBA, value: number): RGBA {\n return RGBA.fromInts(\n Math.round((base.r + (overlay.r - base.r) * value) * 255),\n Math.round((base.g + (overlay.g - base.g) * value) * 255),\n Math.round((base.b + (overlay.b - base.b) * value) * 255),\n )\n}\n\nfunction blend(color: RGBA, bg: RGBA): RGBA {\n if (color.a >= 1) {\n return color\n }\n\n return RGBA.fromValues(\n bg.r + (color.r - bg.r) * color.a,\n bg.g + (color.g - bg.g) * color.a,\n bg.b + (color.b - bg.b) * color.a,\n 1,\n )\n}\n\nfunction chroma(color: RGBA) {\n return Math.max(color.r, color.g, color.b) - Math.min(color.r, color.g, color.b)\n}\n\nfunction opaqueSyntaxStyle(style: SyntaxStyle | undefined, bg: RGBA): SyntaxStyle | undefined {\n if (!style) {\n return undefined\n }\n\n return SyntaxStyle.fromStyles(\n Object.fromEntries(\n [...style.getAllStyles()].map(([name, value]) => [\n name,\n {\n ...value,\n fg: value.fg ? blend(value.fg, bg) : value.fg,\n bg: value.bg ? blend(value.bg, bg) : value.bg,\n },\n ]),\n ),\n )\n}\n\nfunction indexedPalette(colors: TerminalColors, size: number = Math.max(colors.palette.length, 16)): RGBA[] {\n return Array.from({ length: size }, (_, index) => {\n const value = colors.palette[index]\n return RGBA.fromIndex(index, value ? RGBA.fromHex(value) : ansiToRgba(index))\n })\n}\n\nfunction srgbToLinear(value: number): number {\n if (value <= 0.04045) {\n return value / 12.92\n }\n\n return ((value + 0.055) / 1.055) ** 2.4\n}\n\nfunction oklab(color: RGBA) {\n const r = srgbToLinear(color.r)\n const g = srgbToLinear(color.g)\n const b = srgbToLinear(color.b)\n\n const l = Math.cbrt(0.4122214708 * r + 0.5363325363 * g + 0.0514459929 * b)\n const m = Math.cbrt(0.2119034982 * r + 0.6806995451 * g + 0.1073969566 * b)\n const s = Math.cbrt(0.0883024619 * r + 0.2817188376 * g + 0.6299787005 * b)\n\n return {\n l: 0.2104542553 * l + 0.793617785 * m - 0.0040720468 * s,\n a: 1.9779984951 * l - 2.428592205 * m + 0.4505937099 * s,\n b: 0.0259040371 * l + 0.7827717662 * m - 0.808675766 * s,\n }\n}\n\nfunction nearestIndexed(indexed: RGBA[], rgba: RGBA): RGBA {\n const target = oklab(rgba)\n const hit = indexed.reduce(\n (best, item) => {\n const sample = oklab(item)\n const dl = sample.l - target.l\n const da = sample.a - target.a\n const db = sample.b - target.b\n const dist = dl * dl * 2 + da * da + db * db\n if (dist >= best.dist) return best\n return {\n dist,\n item,\n }\n },\n {\n dist: Number.POSITIVE_INFINITY,\n item: indexed[0]!,\n },\n )\n\n return RGBA.clone(hit.item)\n}\n\nfunction paletteColor(colors: TerminalColors, index: number): RGBA {\n const value = colors.palette[index]\n return value ? RGBA.fromHex(value) : ansiToRgba(index)\n}\n\nfunction splashShadow(indexed: RGBA[], base: RGBA, overlay: RGBA, value: number): RGBA {\n const mixed = tint(base, overlay, value)\n return nearestIndexed(indexed, mixed)\n}\n\nexport function resolveTheme(theme: ThemeJson, pick: \"dark\" | \"light\"): TuiThemeCurrent {\n const defs = theme.defs ?? {}\n\n const resolveColor = (value: ColorValue, chain: string[] = []): RGBA => {\n if (value instanceof RGBA) return value\n\n if (typeof value === \"number\") {\n return RGBA.fromIndex(value, ansiToRgba(value))\n }\n\n if (typeof value !== \"string\") {\n return resolveColor(value[pick], chain)\n }\n\n if (value === \"transparent\" || value === \"none\") {\n return RGBA.fromInts(0, 0, 0, 0)\n }\n\n if (value.startsWith(\"#\")) {\n return RGBA.fromHex(value)\n }\n\n if (chain.includes(value)) {\n throw new Error(`Circular color reference: ${[...chain, value].join(\" -> \")}`)\n }\n\n const next = defs[value] ?? theme.theme[value as ThemeColor]\n if (next === undefined) {\n throw new Error(`Color reference \"${value}\" not found in defs or theme`)\n }\n\n return resolveColor(next, [...chain, value])\n }\n\n const resolved = Object.fromEntries(\n Object.entries(theme.theme)\n .filter(([key]) => key !== \"selectedListItemText\" && key !== \"backgroundMenu\" && key !== \"thinkingOpacity\")\n .map(([key, value]) => [key, resolveColor(value as ColorValue)]),\n ) as Partial<Record<ThemeColor, RGBA>>\n\n return {\n ...(resolved as Record<ThemeColor, RGBA>),\n selectedListItemText:\n theme.theme.selectedListItemText === undefined\n ? resolved.background!\n : resolveColor(theme.theme.selectedListItemText),\n backgroundMenu:\n theme.theme.backgroundMenu === undefined ? resolved.backgroundElement! : resolveColor(theme.theme.backgroundMenu),\n thinkingOpacity: theme.theme.thinkingOpacity ?? 0.6,\n }\n}\n\nfunction generateGrayScale(bg: RGBA, isDark: boolean, map: (rgba: RGBA) => RGBA): Record<number, RGBA> {\n const r = bg.r * 255\n const g = bg.g * 255\n const b = bg.b * 255\n const lum = 0.299 * r + 0.587 * g + 0.114 * b\n const cast = 0.25 * (1 - chroma(bg)) ** 2\n\n const gray = (level: number) => {\n const factor = level / 12\n\n if (isDark && lum < 10) {\n const value = Math.floor(factor * 0.4 * 255)\n return map(RGBA.fromInts(value, value, value))\n }\n\n if (!isDark && lum > 245) {\n const value = Math.floor(255 - factor * 0.4 * 255)\n return map(RGBA.fromInts(value, value, value))\n }\n\n const value = isDark ? lum + (255 - lum) * factor * 0.4 : lum * (1 - factor * 0.4)\n const tone = RGBA.fromInts(Math.floor(value), Math.floor(value), Math.floor(value))\n if (cast === 0) return map(tone)\n\n const ratio = lum === 0 ? 0 : value / lum\n return map(\n tint(\n tone,\n RGBA.fromInts(\n Math.floor(Math.max(0, Math.min(r * ratio, 255))),\n Math.floor(Math.max(0, Math.min(g * ratio, 255))),\n Math.floor(Math.max(0, Math.min(b * ratio, 255))),\n ),\n cast,\n ),\n )\n }\n\n return Object.fromEntries(Array.from({ length: 12 }, (_, index) => [index + 1, gray(index + 1)]))\n}\n\nfunction generateMutedTextColor(bg: RGBA, isDark: boolean, map: (rgba: RGBA) => RGBA): RGBA {\n const lum = 0.299 * bg.r * 255 + 0.587 * bg.g * 255 + 0.114 * bg.b * 255\n const gray = isDark\n ? lum < 10\n ? 180\n : Math.min(Math.floor(160 + lum * 0.3), 200)\n : lum > 245\n ? 75\n : Math.max(Math.floor(100 - (255 - lum) * 0.2), 60)\n\n return map(RGBA.fromInts(gray, gray, gray))\n}\n\nexport function generateSystem(colors: TerminalColors, pick: \"dark\" | \"light\"): ThemeJson {\n const bg_snapshot = RGBA.fromHex(colors.defaultBackground ?? colors.palette[0]!)\n const fg_snapshot = RGBA.fromHex(colors.defaultForeground ?? colors.palette[7]!)\n const bg = RGBA.defaultBackground(bg_snapshot)\n const fg = RGBA.defaultForeground(fg_snapshot)\n const isDark = pick === \"dark\"\n\n const color = (index: number) => paletteColor(colors, index)\n\n const grays = generateGrayScale(bg_snapshot, isDark, (rgba) => rgba)\n const textMuted = generateMutedTextColor(bg_snapshot, isDark, (rgba) => rgba)\n\n const ansi = {\n red: color(1),\n green: color(2),\n yellow: color(3),\n blue: color(4),\n magenta: color(5),\n cyan: color(6),\n red_bright: color(9),\n green_bright: color(10),\n }\n\n const diff_alpha = isDark ? 0.22 : 0.14\n const diff_context_bg = grays[2]\n const primary = ansi.cyan\n const secondary = ansi.magenta\n\n return {\n theme: {\n primary,\n secondary,\n accent: primary,\n error: ansi.red,\n warning: ansi.yellow,\n success: ansi.green,\n info: ansi.cyan,\n text: fg,\n textMuted,\n selectedListItemText: bg,\n background: alpha(bg, 0),\n backgroundPanel: grays[2],\n backgroundElement: grays[3],\n backgroundMenu: grays[3],\n borderSubtle: grays[6],\n border: grays[7],\n borderActive: grays[8],\n diffAdded: ansi.green,\n diffRemoved: ansi.red,\n diffContext: grays[7],\n diffHunkHeader: grays[7],\n diffHighlightAdded: ansi.green_bright,\n diffHighlightRemoved: ansi.red_bright,\n diffAddedBg: tint(bg_snapshot, ansi.green, diff_alpha),\n diffRemovedBg: tint(bg_snapshot, ansi.red, diff_alpha),\n diffContextBg: diff_context_bg,\n diffLineNumber: textMuted,\n diffAddedLineNumberBg: tint(diff_context_bg, ansi.green, diff_alpha),\n diffRemovedLineNumberBg: tint(diff_context_bg, ansi.red, diff_alpha),\n markdownText: fg,\n markdownHeading: fg,\n markdownLink: ansi.blue,\n markdownLinkText: ansi.cyan,\n markdownCode: ansi.green,\n markdownBlockQuote: ansi.yellow,\n markdownEmph: ansi.yellow,\n markdownStrong: fg,\n markdownHorizontalRule: grays[7],\n markdownListItem: ansi.blue,\n markdownListEnumeration: ansi.cyan,\n markdownImage: ansi.blue,\n markdownImageText: ansi.cyan,\n markdownCodeBlock: fg,\n syntaxComment: textMuted,\n syntaxKeyword: ansi.magenta,\n syntaxFunction: ansi.blue,\n syntaxVariable: fg,\n syntaxString: ansi.green,\n syntaxNumber: ansi.yellow,\n syntaxType: ansi.cyan,\n syntaxOperator: ansi.cyan,\n syntaxPunctuation: fg,\n },\n }\n}\n\nfunction quantizeColor(indexed: RGBA[], rgba: RGBA): RGBA {\n if (rgba.a === 0 || rgba.intent === \"default\" || rgba.intent === \"indexed\") {\n return RGBA.clone(rgba)\n }\n\n return nearestIndexed(indexed, rgba)\n}\n\nfunction quantizeTheme(theme: TuiThemeCurrent, indexed: RGBA[]): TuiThemeCurrent {\n const resolved = Object.fromEntries(\n Object.entries(theme)\n .filter(([key]) => key !== \"thinkingOpacity\")\n .map(([key, value]) => [key, quantizeColor(indexed, value as RGBA)]),\n ) as Partial<Record<ThemeColor, RGBA>>\n\n return {\n ...(resolved as Record<ThemeColor, RGBA>),\n thinkingOpacity: theme.thinkingOpacity,\n }\n}\n\nfunction splashTheme(theme: TuiThemeCurrent, indexed: RGBA[]): RunSplashTheme {\n const left = nearestIndexed(indexed, theme.textMuted)\n const right = nearestIndexed(indexed, theme.text)\n return {\n left,\n right,\n leftShadow: splashShadow(indexed, theme.background, left, 0.14),\n rightShadow: splashShadow(indexed, theme.background, right, 0.14),\n }\n}\n\nfunction map(\n footerTheme: TuiThemeCurrent,\n scrollbackTheme: TuiThemeCurrent,\n splash: RunSplashTheme,\n syntax?: SyntaxStyle,\n subtleSyntax?: SyntaxStyle,\n): RunTheme {\n const opaqueSubtleSyntax = opaqueSyntaxStyle(subtleSyntax, scrollbackTheme.background)\n subtleSyntax?.destroy()\n const footerBackground = alpha(footerTheme.background, 1)\n const footerMode = mode(footerBackground)\n const shade = fade(footerTheme.backgroundMenu, footerTheme.background, 0.12, 0.56, 0.72)\n const surface = fade(footerTheme.backgroundMenu, footerTheme.background, 0.18, 0.76, 0.9)\n const line = fade(footerTheme.backgroundMenu, footerTheme.background, 0.24, 0.9, 0.98)\n const statusBase = tint(footerBackground, rgba(\"#000000\"), footerMode === \"dark\" ? 0.12 : 0.06)\n const statusAccentBase =\n footerMode === \"dark\" ? tint(footerBackground, rgba(\"#ffffff\"), 0.06) : tint(statusBase, rgba(\"#000000\"), 0.04)\n const collapsedStatus = footerMode === \"dark\" && luminance(statusBase) <= 0.04\n // Pure-black backgrounds need a slight lift or the row disappears into the terminal background.\n const status = collapsedStatus ? tint(statusBase, statusAccentBase, 0.7) : statusBase\n const statusAccent = collapsedStatus ? tint(status, rgba(\"#ffffff\"), 0.06) : statusAccentBase\n\n return {\n background: footerTheme.background,\n footer: {\n highlight: footerTheme.primary,\n selected: footerTheme.backgroundElement,\n selectedText: footerTheme.selectedListItemText,\n warning: footerTheme.warning,\n success: footerTheme.success,\n error: footerTheme.error,\n muted: footerTheme.textMuted,\n text: footerTheme.text,\n status,\n statusAccent,\n shade,\n surface,\n pane: footerTheme.backgroundMenu,\n border: footerTheme.border,\n line,\n },\n entry: {\n system: {\n body: scrollbackTheme.textMuted,\n },\n user: {\n body: scrollbackTheme.primary,\n },\n assistant: {\n body: scrollbackTheme.text,\n },\n reasoning: {\n body: scrollbackTheme.textMuted,\n },\n tool: {\n body: scrollbackTheme.text,\n start: scrollbackTheme.textMuted,\n },\n error: {\n body: scrollbackTheme.error,\n },\n },\n splash,\n block: {\n highlight: scrollbackTheme.primary,\n warning: scrollbackTheme.warning,\n text: scrollbackTheme.text,\n muted: scrollbackTheme.textMuted,\n syntax,\n subtleSyntax: opaqueSubtleSyntax,\n diffAdded: scrollbackTheme.diffAdded,\n diffRemoved: scrollbackTheme.diffRemoved,\n diffAddedBg: transparent,\n diffRemovedBg: transparent,\n diffContextBg: transparent,\n diffHighlightAdded: scrollbackTheme.diffHighlightAdded,\n diffHighlightRemoved: scrollbackTheme.diffHighlightRemoved,\n diffLineNumber: scrollbackTheme.diffLineNumber,\n diffAddedLineNumberBg: scrollbackTheme.diffAddedLineNumberBg,\n diffRemovedLineNumberBg: scrollbackTheme.diffRemovedLineNumberBg,\n },\n }\n}\n\nconst seed = {\n highlight: RGBA.fromIndex(6, rgba(\"#38bdf8\")),\n muted: RGBA.fromIndex(8, rgba(\"#64748b\")),\n text: RGBA.defaultForeground(rgba(\"#f8fafc\")),\n panel: rgba(\"#0f172a\"),\n success: RGBA.fromIndex(2, rgba(\"#22c55e\")),\n warning: RGBA.fromIndex(3, rgba(\"#f59e0b\")),\n error: RGBA.fromIndex(1, rgba(\"#ef4444\")),\n}\n\nfunction tone(body: ColorInput, start?: ColorInput): Tone {\n return {\n body,\n start,\n }\n}\n\nconst fallbackSplashIndexed = Array.from({ length: 256 }, (_, index) => RGBA.fromIndex(index))\nconst fallbackSplashLeft = RGBA.fromIndex(67)\nconst fallbackSplashRight = RGBA.fromIndex(110)\n\nexport const RUN_THEME_FALLBACK: RunTheme = {\n background: RGBA.fromValues(0, 0, 0, 0),\n footer: {\n highlight: seed.highlight,\n selected: seed.text,\n selectedText: seed.panel,\n warning: seed.warning,\n success: seed.success,\n error: seed.error,\n muted: seed.muted,\n text: seed.text,\n status: tint(seed.panel, rgba(\"#000000\"), 0.12),\n statusAccent: tint(seed.panel, rgba(\"#ffffff\"), 0.06),\n shade: alpha(seed.panel, 0.68),\n surface: alpha(seed.panel, 0.86),\n pane: seed.panel,\n border: seed.muted,\n line: alpha(seed.panel, 0.96),\n },\n entry: {\n system: tone(seed.muted),\n user: tone(seed.highlight),\n assistant: tone(seed.text),\n reasoning: tone(seed.muted),\n tool: tone(seed.text, seed.muted),\n error: tone(seed.error),\n },\n splash: {\n left: fallbackSplashLeft,\n right: fallbackSplashRight,\n leftShadow: splashShadow(fallbackSplashIndexed, RGBA.fromValues(0, 0, 0, 0), fallbackSplashLeft, 0.14),\n rightShadow: splashShadow(fallbackSplashIndexed, RGBA.fromValues(0, 0, 0, 0), fallbackSplashRight, 0.14),\n },\n block: {\n highlight: seed.highlight,\n warning: seed.warning,\n text: seed.text,\n muted: seed.muted,\n diffAdded: seed.success,\n diffRemoved: seed.error,\n diffAddedBg: alpha(seed.success, 0.18),\n diffRemovedBg: alpha(seed.error, 0.18),\n diffContextBg: alpha(seed.panel, 0.72),\n diffHighlightAdded: seed.success,\n diffHighlightRemoved: seed.error,\n diffLineNumber: seed.muted,\n diffAddedLineNumberBg: alpha(seed.success, 0.12),\n diffRemovedLineNumberBg: alpha(seed.error, 0.12),\n },\n}\n\nexport async function resolveRunTheme(renderer: CliRenderer): Promise<RunTheme> {\n try {\n const colors = await renderer.getPalette({\n size: 256,\n })\n const bg = colors.defaultBackground ?? colors.palette[0]\n if (!bg) {\n return RUN_THEME_FALLBACK\n }\n\n // Palette-only terminal reloads can leave renderer.themeMode stale, but\n // ANSI slot zero is not the terminal background when OSC 11 is absent.\n const pick = colors.defaultBackground\n ? mode(RGBA.fromHex(colors.defaultBackground))\n : (renderer.themeMode ?? mode(RGBA.fromHex(bg)))\n const footerTheme = resolveTheme(generateSystem(colors, pick), pick)\n const indexed = indexedPalette(colors, 256)\n const scrollbackTheme = quantizeTheme(footerTheme, indexed)\n const shared = await import(\"@opencode-ai/tui/context/theme\")\n const syntaxTheme: SharedSyntaxTheme = {\n ...scrollbackTheme,\n _hasSelectedListItemText: true,\n }\n const syntax = shared.generateSyntax(syntaxTheme)\n return map(\n footerTheme,\n scrollbackTheme,\n splashTheme(scrollbackTheme, indexed),\n syntax,\n shared.generateSubtleSyntax(syntaxTheme),\n )\n } catch {\n return RUN_THEME_FALLBACK\n }\n}\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "7B8D77E6AEFFF7D564756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["src/commands/handlers/service/restart.ts"], | ||
| "sourcesContent": [ | ||
| "import { EOL } from \"os\"\nimport { Effect } from \"effect\"\nimport { Service } from \"@opencode-ai/client/effect\"\nimport { Commands } from \"../../commands\"\nimport { Runtime } from \"../../../framework/runtime\"\nimport { ServiceConfig } from \"../../../services/service-config\"\n\nexport default Runtime.handler(\n Commands.commands.service.commands.restart,\n Effect.fn(\"cli.service.restart\")(function* () {\n const options = yield* ServiceConfig.options()\n yield* Service.stop(options)\n const transport = yield* Service.start(options)\n process.stdout.write(transport.url + EOL)\n }),\n)\n" | ||
| ], | ||
| "mappings": ";moBAAA,mBAAS,gBAOT,SAAe,SAAQ,aACrB,OAAS,cAAS,aAAQ,cAAS,aACnC,OAAO,QAAG,0BAAqB,OAAE,cAAU,OAAG,CAC5C,IAAM,EAAU,MAAO,EAAc,QAAQ,EAC7C,MAAO,EAAQ,KAAK,CAAO,EAC3B,IAAM,EAAY,MAAO,EAAQ,MAAM,CAAO,EAC9C,QAAQ,OAAO,MAAM,EAAU,IAAM,CAAG,EACzC,CACH", | ||
| "debugId": "FF82FAF55D8AAD4B64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "04D07634072B55E164756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@opentelemetry+resources@2.6.1+460773ef8ff1e07c/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/machine-id/getMachineId-darwin.js"], | ||
| "sourcesContent": [ | ||
| "\"use strict\";\n/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getMachineId = void 0;\nconst execAsync_1 = require(\"./execAsync\");\nconst api_1 = require(\"@opentelemetry/api\");\nasync function getMachineId() {\n try {\n const result = await (0, execAsync_1.execAsync)('ioreg -rd1 -c \"IOPlatformExpertDevice\"');\n const idLine = result.stdout\n .split('\\n')\n .find(line => line.includes('IOPlatformUUID'));\n if (!idLine) {\n return undefined;\n }\n const parts = idLine.split('\" = \"');\n if (parts.length === 2) {\n return parts[1].slice(0, -1);\n }\n }\n catch (e) {\n api_1.diag.debug(`error reading machine id: ${e}`);\n }\n return undefined;\n}\nexports.getMachineId = getMachineId;\n//# sourceMappingURL=getMachineId-darwin.js.map" | ||
| ], | ||
| "mappings": ";gKAKA,YAAO,oBAAe,EAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EACpD,eAAoB,OAC5B,IAAM,MACA,MACN,eAAe,CAAY,EAAG,CAC1B,GAAI,CAEA,IAAM,GADS,MAAO,EAAG,EAAY,WAAW,wCAAwC,GAClE,OACjB,MAAM;AAAA,CAAI,EACV,KAAK,KAAQ,EAAK,SAAS,gBAAgB,CAAC,EACjD,GAAI,CAAC,EACD,OAEJ,IAAM,EAAQ,EAAO,MAAM,OAAO,EAClC,GAAI,EAAM,SAAW,EACjB,OAAO,EAAM,GAAG,MAAM,EAAG,EAAE,EAGnC,MAAO,EAAG,CACN,EAAM,KAAK,MAAM,6BAA6B,GAAG,EAErD,OAEI,eAAe", | ||
| "debugId": "BB4B5D1BFB87A1A364756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@ai-sdk+mistral@3.0.27+d6123d32214422cb/node_modules/@ai-sdk/mistral/dist/index.mjs"], | ||
| "sourcesContent": [ | ||
| "// src/mistral-provider.ts\nimport {\n NoSuchModelError\n} from \"@ai-sdk/provider\";\nimport {\n loadApiKey,\n withoutTrailingSlash,\n withUserAgentSuffix\n} from \"@ai-sdk/provider-utils\";\n\n// src/mistral-chat-language-model.ts\nimport {\n combineHeaders,\n createEventSourceResponseHandler,\n createJsonResponseHandler,\n generateId,\n injectJsonInstructionIntoMessages,\n parseProviderOptions,\n postJsonToApi\n} from \"@ai-sdk/provider-utils\";\nimport { z as z3 } from \"zod/v4\";\n\n// src/convert-mistral-usage.ts\nfunction convertMistralUsage(usage) {\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 = usage.prompt_tokens;\n const completionTokens = usage.completion_tokens;\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,\n reasoning: void 0\n },\n raw: usage\n };\n}\n\n// src/convert-to-mistral-chat-messages.ts\nimport {\n UnsupportedFunctionalityError\n} from \"@ai-sdk/provider\";\nimport { convertToBase64 } from \"@ai-sdk/provider-utils\";\nfunction formatFileUrl({\n data,\n mediaType\n}) {\n return data instanceof URL ? data.toString() : `data:${mediaType};base64,${convertToBase64(data)}`;\n}\nfunction convertToMistralChatMessages(prompt) {\n var _a;\n const messages = [];\n for (let i = 0; i < prompt.length; i++) {\n const { role, content } = prompt[i];\n const isLastMessage = i === prompt.length - 1;\n switch (role) {\n case \"system\": {\n messages.push({ role: \"system\", content });\n break;\n }\n case \"user\": {\n messages.push({\n role: \"user\",\n content: content.map((part) => {\n switch (part.type) {\n case \"text\": {\n return { type: \"text\", text: part.text };\n }\n case \"file\": {\n if (part.mediaType.startsWith(\"image/\")) {\n const mediaType = part.mediaType === \"image/*\" ? \"image/jpeg\" : part.mediaType;\n return {\n type: \"image_url\",\n image_url: formatFileUrl({ data: part.data, mediaType })\n };\n } else if (part.mediaType === \"application/pdf\") {\n return {\n type: \"document_url\",\n document_url: formatFileUrl({\n data: part.data,\n mediaType: \"application/pdf\"\n })\n };\n } else {\n throw new UnsupportedFunctionalityError({\n functionality: \"Only images and PDF file parts are supported\"\n });\n }\n }\n }\n })\n });\n break;\n }\n case \"assistant\": {\n let text = \"\";\n const toolCalls = [];\n for (const part of content) {\n switch (part.type) {\n case \"text\": {\n text += part.text;\n break;\n }\n case \"tool-call\": {\n toolCalls.push({\n id: part.toolCallId,\n type: \"function\",\n function: {\n name: part.toolName,\n arguments: JSON.stringify(part.input)\n }\n });\n break;\n }\n case \"reasoning\": {\n text += part.text;\n break;\n }\n default: {\n throw new Error(\n `Unsupported content type in assistant message: ${part.type}`\n );\n }\n }\n }\n messages.push({\n role: \"assistant\",\n content: text,\n prefix: isLastMessage ? true : void 0,\n tool_calls: toolCalls.length > 0 ? toolCalls : void 0\n });\n break;\n }\n case \"tool\": {\n for (const toolResponse of content) {\n if (toolResponse.type === \"tool-approval-response\") {\n continue;\n }\n const output = toolResponse.output;\n let contentValue;\n switch (output.type) {\n case \"text\":\n case \"error-text\":\n contentValue = output.value;\n break;\n case \"execution-denied\":\n contentValue = (_a = output.reason) != null ? _a : \"Tool execution denied.\";\n break;\n case \"content\":\n case \"json\":\n case \"error-json\":\n contentValue = JSON.stringify(output.value);\n break;\n }\n messages.push({\n role: \"tool\",\n name: toolResponse.toolName,\n tool_call_id: toolResponse.toolCallId,\n content: contentValue\n });\n }\n break;\n }\n default: {\n const _exhaustiveCheck = role;\n throw new Error(`Unsupported role: ${_exhaustiveCheck}`);\n }\n }\n }\n return messages;\n}\n\n// src/get-response-metadata.ts\nfunction getResponseMetadata({\n id,\n model,\n created\n}) {\n return {\n id: id != null ? id : void 0,\n modelId: model != null ? model : void 0,\n timestamp: created != null ? new Date(created * 1e3) : void 0\n };\n}\n\n// src/map-mistral-finish-reason.ts\nfunction mapMistralFinishReason(finishReason) {\n switch (finishReason) {\n case \"stop\":\n return \"stop\";\n case \"length\":\n case \"model_length\":\n return \"length\";\n case \"tool_calls\":\n return \"tool-calls\";\n default:\n return \"other\";\n }\n}\n\n// src/mistral-chat-options.ts\nimport { z } from \"zod/v4\";\nvar mistralLanguageModelOptions = z.object({\n /**\n * Whether to inject a safety prompt before all conversations.\n *\n * Defaults to `false`.\n */\n safePrompt: z.boolean().optional(),\n documentImageLimit: z.number().optional(),\n documentPageLimit: z.number().optional(),\n /**\n * Whether to use structured outputs.\n *\n * @default true\n */\n structuredOutputs: z.boolean().optional(),\n /**\n * Whether to use strict JSON schema validation.\n *\n * @default false\n */\n strictJsonSchema: z.boolean().optional(),\n /**\n * Whether to enable parallel function calling during tool use.\n * When set to false, the model will use at most one tool per response.\n *\n * @default true\n */\n parallelToolCalls: z.boolean().optional(),\n /**\n * Controls the reasoning effort for models that support adjustable reasoning.\n *\n * - `'high'`: Enable reasoning\n * - `'none'`: Disable reasoning\n */\n reasoningEffort: z.enum([\"high\", \"none\"]).optional()\n});\n\n// src/mistral-error.ts\nimport { createJsonErrorResponseHandler } from \"@ai-sdk/provider-utils\";\nimport { z as z2 } from \"zod/v4\";\nvar mistralErrorDataSchema = z2.object({\n object: z2.literal(\"error\"),\n message: z2.string(),\n type: z2.string(),\n param: z2.string().nullable(),\n code: z2.string().nullable()\n});\nvar mistralFailedResponseHandler = createJsonErrorResponseHandler({\n errorSchema: mistralErrorDataSchema,\n errorToMessage: (data) => data.message\n});\n\n// src/mistral-prepare-tools.ts\nimport {\n UnsupportedFunctionalityError as UnsupportedFunctionalityError2\n} from \"@ai-sdk/provider\";\nfunction prepareTools({\n tools,\n toolChoice\n}) {\n tools = (tools == null ? void 0 : tools.length) ? tools : void 0;\n const toolWarnings = [];\n if (tools == null) {\n return { tools: void 0, toolChoice: void 0, toolWarnings };\n }\n const mistralTools = [];\n for (const tool of tools) {\n if (tool.type === \"provider\") {\n toolWarnings.push({\n type: \"unsupported\",\n feature: `provider-defined tool ${tool.id}`\n });\n } else {\n mistralTools.push({\n type: \"function\",\n function: {\n name: tool.name,\n description: tool.description,\n parameters: tool.inputSchema,\n ...tool.strict != null ? { strict: tool.strict } : {}\n }\n });\n }\n }\n if (toolChoice == null) {\n return { tools: mistralTools, toolChoice: void 0, toolWarnings };\n }\n const type = toolChoice.type;\n switch (type) {\n case \"auto\":\n case \"none\":\n return { tools: mistralTools, toolChoice: type, toolWarnings };\n case \"required\":\n return { tools: mistralTools, toolChoice: \"any\", toolWarnings };\n // mistral does not support tool mode directly,\n // so we filter the tools and force the tool choice through 'any'\n case \"tool\":\n return {\n tools: mistralTools.filter(\n (tool) => tool.function.name === toolChoice.toolName\n ),\n toolChoice: \"any\",\n toolWarnings\n };\n default: {\n const _exhaustiveCheck = type;\n throw new UnsupportedFunctionalityError2({\n functionality: `tool choice type: ${_exhaustiveCheck}`\n });\n }\n }\n}\n\n// src/mistral-chat-language-model.ts\nvar MistralChatLanguageModel = class {\n constructor(modelId, config) {\n this.specificationVersion = \"v3\";\n this.supportedUrls = {\n \"application/pdf\": [/^https:\\/\\/.*$/]\n };\n var _a;\n this.modelId = modelId;\n this.config = config;\n this.generateId = (_a = config.generateId) != null ? _a : generateId;\n }\n get provider() {\n return this.config.provider;\n }\n async getArgs({\n prompt,\n maxOutputTokens,\n temperature,\n topP,\n topK,\n frequencyPenalty,\n presencePenalty,\n stopSequences,\n responseFormat,\n seed,\n providerOptions,\n tools,\n toolChoice\n }) {\n var _a, _b, _c, _d;\n const warnings = [];\n const options = (_a = await parseProviderOptions({\n provider: \"mistral\",\n providerOptions,\n schema: mistralLanguageModelOptions\n })) != null ? _a : {};\n if (topK != null) {\n warnings.push({ type: \"unsupported\", feature: \"topK\" });\n }\n if (frequencyPenalty != null) {\n warnings.push({ type: \"unsupported\", feature: \"frequencyPenalty\" });\n }\n if (presencePenalty != null) {\n warnings.push({ type: \"unsupported\", feature: \"presencePenalty\" });\n }\n if (stopSequences != null) {\n warnings.push({ type: \"unsupported\", feature: \"stopSequences\" });\n }\n const structuredOutputs = (_b = options.structuredOutputs) != null ? _b : true;\n const strictJsonSchema = (_c = options.strictJsonSchema) != null ? _c : false;\n if ((responseFormat == null ? void 0 : responseFormat.type) === \"json\" && !(responseFormat == null ? void 0 : responseFormat.schema)) {\n prompt = injectJsonInstructionIntoMessages({\n messages: prompt,\n schema: responseFormat.schema\n });\n }\n const baseArgs = {\n // model id:\n model: this.modelId,\n // model specific settings:\n safe_prompt: options.safePrompt,\n // standardized settings:\n max_tokens: maxOutputTokens,\n temperature,\n top_p: topP,\n random_seed: seed,\n reasoning_effort: options.reasoningEffort,\n // response format:\n response_format: (responseFormat == null ? void 0 : responseFormat.type) === \"json\" ? structuredOutputs && (responseFormat == null ? void 0 : responseFormat.schema) != null ? {\n type: \"json_schema\",\n json_schema: {\n schema: responseFormat.schema,\n strict: strictJsonSchema,\n name: (_d = responseFormat.name) != null ? _d : \"response\",\n description: responseFormat.description\n }\n } : { type: \"json_object\" } : void 0,\n // mistral-specific provider options:\n document_image_limit: options.documentImageLimit,\n document_page_limit: options.documentPageLimit,\n // messages:\n messages: convertToMistralChatMessages(prompt)\n };\n const {\n tools: mistralTools,\n toolChoice: mistralToolChoice,\n toolWarnings\n } = prepareTools({\n tools,\n toolChoice\n });\n return {\n args: {\n ...baseArgs,\n tools: mistralTools,\n tool_choice: mistralToolChoice,\n ...mistralTools != null && options.parallelToolCalls !== void 0 ? { parallel_tool_calls: options.parallelToolCalls } : {}\n },\n warnings: [...warnings, ...toolWarnings]\n };\n }\n async doGenerate(options) {\n var _a;\n const { args: body, warnings } = await 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: mistralFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler(\n mistralChatResponseSchema\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch\n });\n const choice = response.choices[0];\n const content = [];\n if (choice.message.content != null && Array.isArray(choice.message.content)) {\n for (const part of choice.message.content) {\n if (part.type === \"thinking\") {\n const reasoningText = extractReasoningContent(part.thinking);\n if (reasoningText.length > 0) {\n content.push({ type: \"reasoning\", text: reasoningText });\n }\n } else if (part.type === \"text\") {\n if (part.text.length > 0) {\n content.push({ type: \"text\", text: part.text });\n }\n }\n }\n } else {\n const text = extractTextContent(choice.message.content);\n if (text != null && text.length > 0) {\n content.push({ type: \"text\", text });\n }\n }\n if (choice.message.tool_calls != null) {\n for (const toolCall of choice.message.tool_calls) {\n content.push({\n type: \"tool-call\",\n toolCallId: toolCall.id,\n toolName: toolCall.function.name,\n input: toolCall.function.arguments\n });\n }\n }\n return {\n content,\n finishReason: {\n unified: mapMistralFinishReason(choice.finish_reason),\n raw: (_a = choice.finish_reason) != null ? _a : void 0\n },\n usage: convertMistralUsage(response.usage),\n request: { body },\n response: {\n ...getResponseMetadata(response),\n headers: responseHeaders,\n body: rawResponse\n },\n warnings\n };\n }\n async doStream(options) {\n const { args, warnings } = await 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: mistralFailedResponseHandler,\n successfulResponseHandler: createEventSourceResponseHandler(\n mistralChatChunkSchema\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 let isFirstChunk = true;\n let activeText = false;\n let activeReasoningId = null;\n const generateId2 = this.generateId;\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 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 isFirstChunk = false;\n controller.enqueue({\n type: \"response-metadata\",\n ...getResponseMetadata(value)\n });\n }\n if (value.usage != null) {\n usage = value.usage;\n }\n const choice = value.choices[0];\n const delta = choice.delta;\n const textContent = extractTextContent(delta.content);\n if (delta.content != null && Array.isArray(delta.content)) {\n for (const part of delta.content) {\n if (part.type === \"thinking\") {\n const reasoningDelta = extractReasoningContent(part.thinking);\n if (reasoningDelta.length > 0) {\n if (activeReasoningId == null) {\n if (activeText) {\n controller.enqueue({ type: \"text-end\", id: \"0\" });\n activeText = false;\n }\n activeReasoningId = generateId2();\n controller.enqueue({\n type: \"reasoning-start\",\n id: activeReasoningId\n });\n }\n controller.enqueue({\n type: \"reasoning-delta\",\n id: activeReasoningId,\n delta: reasoningDelta\n });\n }\n }\n }\n }\n if (textContent != null && textContent.length > 0) {\n if (!activeText) {\n if (activeReasoningId != null) {\n controller.enqueue({\n type: \"reasoning-end\",\n id: activeReasoningId\n });\n activeReasoningId = null;\n }\n controller.enqueue({ type: \"text-start\", id: \"0\" });\n activeText = true;\n }\n controller.enqueue({\n type: \"text-delta\",\n id: \"0\",\n delta: textContent\n });\n }\n if ((delta == null ? void 0 : delta.tool_calls) != null) {\n for (const toolCall of delta.tool_calls) {\n const toolCallId = toolCall.id;\n const toolName = toolCall.function.name;\n const input = toolCall.function.arguments;\n controller.enqueue({\n type: \"tool-input-start\",\n id: toolCallId,\n toolName\n });\n controller.enqueue({\n type: \"tool-input-delta\",\n id: toolCallId,\n delta: input\n });\n controller.enqueue({\n type: \"tool-input-end\",\n id: toolCallId\n });\n controller.enqueue({\n type: \"tool-call\",\n toolCallId,\n toolName,\n input\n });\n }\n }\n if (choice.finish_reason != null) {\n finishReason = {\n unified: mapMistralFinishReason(choice.finish_reason),\n raw: choice.finish_reason\n };\n }\n },\n flush(controller) {\n if (activeReasoningId != null) {\n controller.enqueue({\n type: \"reasoning-end\",\n id: activeReasoningId\n });\n }\n if (activeText) {\n controller.enqueue({ type: \"text-end\", id: \"0\" });\n }\n controller.enqueue({\n type: \"finish\",\n finishReason,\n usage: convertMistralUsage(usage)\n });\n }\n })\n ),\n request: { body },\n response: { headers: responseHeaders }\n };\n }\n};\nfunction extractReasoningContent(thinking) {\n return thinking.filter((chunk) => chunk.type === \"text\").map((chunk) => chunk.text).join(\"\");\n}\nfunction extractTextContent(content) {\n if (typeof content === \"string\") {\n return content;\n }\n if (content == null) {\n return void 0;\n }\n const textContent = [];\n for (const chunk of content) {\n const { type } = chunk;\n switch (type) {\n case \"text\":\n textContent.push(chunk.text);\n break;\n case \"thinking\":\n case \"image_url\":\n case \"reference\":\n break;\n default: {\n const _exhaustiveCheck = type;\n throw new Error(`Unsupported type: ${_exhaustiveCheck}`);\n }\n }\n }\n return textContent.length ? textContent.join(\"\") : void 0;\n}\nvar mistralContentSchema = z3.union([\n z3.string(),\n z3.array(\n z3.discriminatedUnion(\"type\", [\n z3.object({\n type: z3.literal(\"text\"),\n text: z3.string()\n }),\n z3.object({\n type: z3.literal(\"image_url\"),\n image_url: z3.union([\n z3.string(),\n z3.object({\n url: z3.string(),\n detail: z3.string().nullable()\n })\n ])\n }),\n z3.object({\n type: z3.literal(\"reference\"),\n reference_ids: z3.array(z3.union([z3.string(), z3.number()]))\n }),\n z3.object({\n type: z3.literal(\"thinking\"),\n thinking: z3.array(\n z3.object({\n type: z3.literal(\"text\"),\n text: z3.string()\n })\n )\n })\n ])\n )\n]).nullish();\nvar mistralUsageSchema = z3.object({\n prompt_tokens: z3.number(),\n completion_tokens: z3.number(),\n total_tokens: z3.number()\n});\nvar mistralChatResponseSchema = z3.object({\n id: z3.string().nullish(),\n created: z3.number().nullish(),\n model: z3.string().nullish(),\n choices: z3.array(\n z3.object({\n message: z3.object({\n role: z3.literal(\"assistant\"),\n content: mistralContentSchema,\n tool_calls: z3.array(\n z3.object({\n id: z3.string(),\n function: z3.object({ name: z3.string(), arguments: z3.string() })\n })\n ).nullish()\n }),\n index: z3.number(),\n finish_reason: z3.string().nullish()\n })\n ),\n object: z3.literal(\"chat.completion\"),\n usage: mistralUsageSchema\n});\nvar mistralChatChunkSchema = z3.object({\n id: z3.string().nullish(),\n created: z3.number().nullish(),\n model: z3.string().nullish(),\n choices: z3.array(\n z3.object({\n delta: z3.object({\n role: z3.enum([\"assistant\"]).optional(),\n content: mistralContentSchema,\n tool_calls: z3.array(\n z3.object({\n id: z3.string(),\n function: z3.object({ name: z3.string(), arguments: z3.string() })\n })\n ).nullish()\n }),\n finish_reason: z3.string().nullish(),\n index: z3.number()\n })\n ),\n usage: mistralUsageSchema.nullish()\n});\n\n// src/mistral-embedding-model.ts\nimport {\n TooManyEmbeddingValuesForCallError\n} from \"@ai-sdk/provider\";\nimport {\n combineHeaders as combineHeaders2,\n createJsonResponseHandler as createJsonResponseHandler2,\n postJsonToApi as postJsonToApi2\n} from \"@ai-sdk/provider-utils\";\nimport { z as z4 } from \"zod/v4\";\nvar MistralEmbeddingModel = class {\n constructor(modelId, config) {\n this.specificationVersion = \"v3\";\n this.maxEmbeddingsPerCall = 32;\n this.supportsParallelCalls = false;\n this.modelId = modelId;\n this.config = config;\n }\n get provider() {\n return this.config.provider;\n }\n async doEmbed({\n values,\n abortSignal,\n headers\n }) {\n if (values.length > this.maxEmbeddingsPerCall) {\n throw new TooManyEmbeddingValuesForCallError({\n provider: this.provider,\n modelId: this.modelId,\n maxEmbeddingsPerCall: this.maxEmbeddingsPerCall,\n values\n });\n }\n const {\n responseHeaders,\n value: response,\n rawValue\n } = await postJsonToApi2({\n url: `${this.config.baseURL}/embeddings`,\n headers: combineHeaders2(this.config.headers(), headers),\n body: {\n model: this.modelId,\n input: values,\n encoding_format: \"float\"\n },\n failedResponseHandler: mistralFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler2(\n MistralTextEmbeddingResponseSchema\n ),\n abortSignal,\n fetch: this.config.fetch\n });\n return {\n warnings: [],\n embeddings: response.data.map((item) => item.embedding),\n usage: response.usage ? { tokens: response.usage.prompt_tokens } : void 0,\n response: { headers: responseHeaders, body: rawValue }\n };\n }\n};\nvar MistralTextEmbeddingResponseSchema = z4.object({\n data: z4.array(z4.object({ embedding: z4.array(z4.number()) })),\n usage: z4.object({ prompt_tokens: z4.number() }).nullish()\n});\n\n// src/version.ts\nvar VERSION = true ? \"3.0.27\" : \"0.0.0-test\";\n\n// src/mistral-provider.ts\nfunction createMistral(options = {}) {\n var _a;\n const baseURL = (_a = withoutTrailingSlash(options.baseURL)) != null ? _a : \"https://api.mistral.ai/v1\";\n const getHeaders = () => withUserAgentSuffix(\n {\n Authorization: `Bearer ${loadApiKey({\n apiKey: options.apiKey,\n environmentVariableName: \"MISTRAL_API_KEY\",\n description: \"Mistral\"\n })}`,\n ...options.headers\n },\n `ai-sdk/mistral/${VERSION}`\n );\n const createChatModel = (modelId) => new MistralChatLanguageModel(modelId, {\n provider: \"mistral.chat\",\n baseURL,\n headers: getHeaders,\n fetch: options.fetch,\n generateId: options.generateId\n });\n const createEmbeddingModel = (modelId) => new MistralEmbeddingModel(modelId, {\n provider: \"mistral.embedding\",\n baseURL,\n headers: getHeaders,\n fetch: options.fetch\n });\n const provider = function(modelId) {\n if (new.target) {\n throw new Error(\n \"The Mistral model function cannot be called with the new keyword.\"\n );\n }\n return createChatModel(modelId);\n };\n provider.specificationVersion = \"v3\";\n provider.languageModel = createChatModel;\n provider.chat = createChatModel;\n provider.embedding = createEmbeddingModel;\n provider.embeddingModel = createEmbeddingModel;\n provider.textEmbedding = createEmbeddingModel;\n provider.textEmbeddingModel = createEmbeddingModel;\n provider.imageModel = (modelId) => {\n throw new NoSuchModelError({ modelId, modelType: \"imageModel\" });\n };\n return provider;\n}\nvar mistral = createMistral();\nexport {\n VERSION,\n createMistral,\n mistral\n};\n//# sourceMappingURL=index.mjs.map" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "8F2C5441F04390BD64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@aws-sdk+nested-clients@3.997.13/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/cognito-identity/index.js"], | ||
| "sourcesContent": [ | ||
| "'use strict';\n\nvar client$1 = require('@aws-sdk/core/client');\nvar core = require('@smithy/core');\nvar client = require('@smithy/core/client');\nvar config = require('@smithy/core/config');\nvar endpoints = require('@smithy/core/endpoints');\nvar protocols = require('@smithy/core/protocols');\nvar retry = require('@smithy/core/retry');\nvar schema = require('@smithy/core/schema');\nvar httpAuthSchemes = require('@aws-sdk/core/httpAuthSchemes');\nvar serde = require('@smithy/core/serde');\nvar nodeHttpHandler = require('@smithy/node-http-handler');\nvar protocols$1 = require('@aws-sdk/core/protocols');\n\nconst defaultCognitoIdentityHttpAuthSchemeParametersProvider = async (config, context, input) => {\n return {\n operation: client.getSmithyContext(context).operation,\n region: (await client.normalizeProvider(config.region)()) ||\n (() => {\n throw new Error(\"expected `region` to be configured for `aws.auth#sigv4`\");\n })(),\n };\n};\nfunction createAwsAuthSigv4HttpAuthOption(authParameters) {\n return {\n schemeId: \"aws.auth#sigv4\",\n signingProperties: {\n name: \"cognito-identity\",\n region: authParameters.region,\n },\n propertiesExtractor: (config, context) => ({\n signingProperties: {\n config,\n context,\n },\n }),\n };\n}\nfunction createSmithyApiNoAuthHttpAuthOption(authParameters) {\n return {\n schemeId: \"smithy.api#noAuth\",\n };\n}\nconst defaultCognitoIdentityHttpAuthSchemeProvider = (authParameters) => {\n const options = [];\n switch (authParameters.operation) {\n case \"GetCredentialsForIdentity\": {\n options.push(createSmithyApiNoAuthHttpAuthOption());\n break;\n }\n case \"GetId\": {\n options.push(createSmithyApiNoAuthHttpAuthOption());\n break;\n }\n default: {\n options.push(createAwsAuthSigv4HttpAuthOption(authParameters));\n }\n }\n return options;\n};\nconst resolveHttpAuthSchemeConfig = (config) => {\n const config_0 = httpAuthSchemes.resolveAwsSdkSigV4Config(config);\n return Object.assign(config_0, {\n authSchemePreference: client.normalizeProvider(config.authSchemePreference ?? []),\n });\n};\n\nconst resolveClientEndpointParameters = (options) => {\n return Object.assign(options, {\n useDualstackEndpoint: options.useDualstackEndpoint ?? false,\n useFipsEndpoint: options.useFipsEndpoint ?? false,\n defaultSigningName: \"cognito-identity\",\n });\n};\nconst commonParams = {\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n};\n\nvar version = \"3.997.12\";\nvar packageInfo = {\n\tversion: version};\n\nconst m = \"ref\";\nconst a = -1, b = true, c = \"isSet\", d = \"PartitionResult\", e = \"booleanEquals\", f = \"getAttr\", g = \"stringEquals\", h = { [m]: \"Endpoint\" }, i = { [m]: d }, j = { [m]: \"Region\" }, k = {}, l = [j];\nconst _data = {\n conditions: [\n [c, [h]],\n [c, l],\n [\"aws.partition\", l, d],\n [e, [{ [m]: \"UseFIPS\" }, b]],\n [e, [{ fn: f, argv: [i, \"supportsFIPS\"] }, b]],\n [e, [{ [m]: \"UseDualStack\" }, b]],\n [e, [{ fn: f, argv: [i, \"supportsDualStack\"] }, b]],\n [g, [{ fn: f, argv: [i, \"name\"] }, \"aws\"]],\n [g, [j, \"us-east-1\"]],\n [g, [j, \"us-east-2\"]],\n [g, [j, \"us-west-1\"]],\n [g, [j, \"us-west-2\"]],\n ],\n results: [\n [a],\n [a, \"Invalid Configuration: FIPS and custom endpoint are not supported\"],\n [a, \"Invalid Configuration: Dualstack and custom endpoint are not supported\"],\n [h, k],\n [\"https://cognito-identity-fips.us-east-1.amazonaws.com\", k],\n [\"https://cognito-identity-fips.us-east-2.amazonaws.com\", k],\n [\"https://cognito-identity-fips.us-west-1.amazonaws.com\", k],\n [\"https://cognito-identity-fips.us-west-2.amazonaws.com\", k],\n [\"https://cognito-identity-fips.{Region}.{PartitionResult#dualStackDnsSuffix}\", k],\n [a, \"FIPS and DualStack are enabled, but this partition does not support one or both\"],\n [\"https://cognito-identity-fips.{Region}.{PartitionResult#dnsSuffix}\", k],\n [a, \"FIPS is enabled but this partition does not support FIPS\"],\n [\"https://cognito-identity.{Region}.amazonaws.com\", k],\n [\"https://cognito-identity.{Region}.{PartitionResult#dualStackDnsSuffix}\", k],\n [a, \"DualStack is enabled but this partition does not support DualStack\"],\n [\"https://cognito-identity.{Region}.{PartitionResult#dnsSuffix}\", k],\n [a, \"Invalid Configuration: Missing Region\"],\n ],\n};\nconst root = 2;\nconst r = 100_000_000;\nconst nodes = new Int32Array([\n -1,\n 1,\n -1,\n 0,\n 17,\n 3,\n 1,\n 4,\n r + 16,\n 2,\n 5,\n r + 16,\n 3,\n 9,\n 6,\n 5,\n 7,\n r + 15,\n 6,\n 8,\n r + 14,\n 7,\n r + 12,\n r + 13,\n 4,\n 11,\n 10,\n 5,\n r + 9,\n r + 11,\n 5,\n 12,\n r + 10,\n 6,\n 13,\n r + 9,\n 8,\n r + 4,\n 14,\n 9,\n r + 5,\n 15,\n 10,\n r + 6,\n 16,\n 11,\n r + 7,\n r + 8,\n 3,\n r + 1,\n 18,\n 5,\n r + 2,\n r + 3,\n]);\nconst bdd = endpoints.BinaryDecisionDiagram.from(nodes, root, _data.conditions, _data.results);\n\nconst cache = new endpoints.EndpointCache({\n size: 50,\n params: [\"Endpoint\", \"Region\", \"UseDualStack\", \"UseFIPS\"],\n});\nconst defaultEndpointResolver = (endpointParams, context = {}) => {\n return cache.get(endpointParams, () => endpoints.decideEndpoint(bdd, {\n endpointParams: endpointParams,\n logger: context.logger,\n }));\n};\nendpoints.customEndpointFunctions.aws = client$1.awsEndpointFunctions;\n\nclass CognitoIdentityServiceException extends client.ServiceException {\n constructor(options) {\n super(options);\n Object.setPrototypeOf(this, CognitoIdentityServiceException.prototype);\n }\n}\n\nclass ExternalServiceException extends CognitoIdentityServiceException {\n name = \"ExternalServiceException\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"ExternalServiceException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, ExternalServiceException.prototype);\n }\n}\nclass InternalErrorException extends CognitoIdentityServiceException {\n name = \"InternalErrorException\";\n $fault = \"server\";\n constructor(opts) {\n super({\n name: \"InternalErrorException\",\n $fault: \"server\",\n ...opts,\n });\n Object.setPrototypeOf(this, InternalErrorException.prototype);\n }\n}\nclass InvalidIdentityPoolConfigurationException extends CognitoIdentityServiceException {\n name = \"InvalidIdentityPoolConfigurationException\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"InvalidIdentityPoolConfigurationException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, InvalidIdentityPoolConfigurationException.prototype);\n }\n}\nclass InvalidParameterException extends CognitoIdentityServiceException {\n name = \"InvalidParameterException\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"InvalidParameterException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, InvalidParameterException.prototype);\n }\n}\nclass NotAuthorizedException extends CognitoIdentityServiceException {\n name = \"NotAuthorizedException\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"NotAuthorizedException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, NotAuthorizedException.prototype);\n }\n}\nclass ResourceConflictException extends CognitoIdentityServiceException {\n name = \"ResourceConflictException\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"ResourceConflictException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, ResourceConflictException.prototype);\n }\n}\nclass ResourceNotFoundException extends CognitoIdentityServiceException {\n name = \"ResourceNotFoundException\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"ResourceNotFoundException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, ResourceNotFoundException.prototype);\n }\n}\nclass TooManyRequestsException extends CognitoIdentityServiceException {\n name = \"TooManyRequestsException\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"TooManyRequestsException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, TooManyRequestsException.prototype);\n }\n}\nclass LimitExceededException extends CognitoIdentityServiceException {\n name = \"LimitExceededException\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"LimitExceededException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, LimitExceededException.prototype);\n }\n}\n\nconst _AI = \"AccountId\";\nconst _AKI = \"AccessKeyId\";\nconst _C = \"Credentials\";\nconst _CRA = \"CustomRoleArn\";\nconst _E = \"Expiration\";\nconst _ESE = \"ExternalServiceException\";\nconst _GCFI = \"GetCredentialsForIdentity\";\nconst _GCFII = \"GetCredentialsForIdentityInput\";\nconst _GCFIR = \"GetCredentialsForIdentityResponse\";\nconst _GI = \"GetId\";\nconst _GII = \"GetIdInput\";\nconst _GIR = \"GetIdResponse\";\nconst _IEE = \"InternalErrorException\";\nconst _II = \"IdentityId\";\nconst _IIPCE = \"InvalidIdentityPoolConfigurationException\";\nconst _IPE = \"InvalidParameterException\";\nconst _IPI = \"IdentityPoolId\";\nconst _IPT = \"IdentityProviderToken\";\nconst _L = \"Logins\";\nconst _LEE = \"LimitExceededException\";\nconst _LM = \"LoginsMap\";\nconst _NAE = \"NotAuthorizedException\";\nconst _RCE = \"ResourceConflictException\";\nconst _RNFE = \"ResourceNotFoundException\";\nconst _SK = \"SecretKey\";\nconst _SKS = \"SecretKeyString\";\nconst _ST = \"SessionToken\";\nconst _TMRE = \"TooManyRequestsException\";\nconst _c = \"client\";\nconst _e = \"error\";\nconst _hE = \"httpError\";\nconst _m = \"message\";\nconst _s = \"smithy.ts.sdk.synthetic.com.amazonaws.cognitoidentity\";\nconst _se = \"server\";\nconst n0 = \"com.amazonaws.cognitoidentity\";\nconst _s_registry = schema.TypeRegistry.for(_s);\nvar CognitoIdentityServiceException$ = [-3, _s, \"CognitoIdentityServiceException\", 0, [], []];\n_s_registry.registerError(CognitoIdentityServiceException$, CognitoIdentityServiceException);\nconst n0_registry = schema.TypeRegistry.for(n0);\nvar ExternalServiceException$ = [-3, n0, _ESE, { [_e]: _c, [_hE]: 400 }, [_m], [0]];\nn0_registry.registerError(ExternalServiceException$, ExternalServiceException);\nvar InternalErrorException$ = [-3, n0, _IEE, { [_e]: _se }, [_m], [0]];\nn0_registry.registerError(InternalErrorException$, InternalErrorException);\nvar InvalidIdentityPoolConfigurationException$ = [\n -3,\n n0,\n _IIPCE,\n { [_e]: _c, [_hE]: 400 },\n [_m],\n [0],\n];\nn0_registry.registerError(InvalidIdentityPoolConfigurationException$, InvalidIdentityPoolConfigurationException);\nvar InvalidParameterException$ = [-3, n0, _IPE, { [_e]: _c, [_hE]: 400 }, [_m], [0]];\nn0_registry.registerError(InvalidParameterException$, InvalidParameterException);\nvar LimitExceededException$ = [-3, n0, _LEE, { [_e]: _c, [_hE]: 400 }, [_m], [0]];\nn0_registry.registerError(LimitExceededException$, LimitExceededException);\nvar NotAuthorizedException$ = [-3, n0, _NAE, { [_e]: _c, [_hE]: 403 }, [_m], [0]];\nn0_registry.registerError(NotAuthorizedException$, NotAuthorizedException);\nvar ResourceConflictException$ = [-3, n0, _RCE, { [_e]: _c, [_hE]: 409 }, [_m], [0]];\nn0_registry.registerError(ResourceConflictException$, ResourceConflictException);\nvar ResourceNotFoundException$ = [-3, n0, _RNFE, { [_e]: _c, [_hE]: 404 }, [_m], [0]];\nn0_registry.registerError(ResourceNotFoundException$, ResourceNotFoundException);\nvar TooManyRequestsException$ = [-3, n0, _TMRE, { [_e]: _c, [_hE]: 429 }, [_m], [0]];\nn0_registry.registerError(TooManyRequestsException$, TooManyRequestsException);\nconst errorTypeRegistries = [_s_registry, n0_registry];\nvar IdentityProviderToken = [0, n0, _IPT, 8, 0];\nvar SecretKeyString = [0, n0, _SKS, 8, 0];\nvar Credentials$ = [\n 3,\n n0,\n _C,\n 0,\n [_AKI, _SK, _ST, _E],\n [0, [() => SecretKeyString, 0], 0, 4],\n];\nvar GetCredentialsForIdentityInput$ = [\n 3,\n n0,\n _GCFII,\n 0,\n [_II, _L, _CRA],\n [0, [() => LoginsMap, 0], 0],\n 1,\n];\nvar GetCredentialsForIdentityResponse$ = [\n 3,\n n0,\n _GCFIR,\n 0,\n [_II, _C],\n [0, [() => Credentials$, 0]],\n];\nvar GetIdInput$ = [3, n0, _GII, 0, [_IPI, _AI, _L], [0, 0, [() => LoginsMap, 0]], 1];\nvar GetIdResponse$ = [3, n0, _GIR, 0, [_II], [0]];\nvar LoginsMap = [2, n0, _LM, 0, [0, 0], [() => IdentityProviderToken, 0]];\nvar GetCredentialsForIdentity$ = [\n 9,\n n0,\n _GCFI,\n 0,\n () => GetCredentialsForIdentityInput$,\n () => GetCredentialsForIdentityResponse$,\n];\nvar GetId$ = [9, n0, _GI, 0, () => GetIdInput$, () => GetIdResponse$];\n\nconst getRuntimeConfig$1 = (config) => {\n return {\n apiVersion: \"2014-06-30\",\n base64Decoder: config?.base64Decoder ?? serde.fromBase64,\n base64Encoder: config?.base64Encoder ?? serde.toBase64,\n disableHostPrefix: config?.disableHostPrefix ?? false,\n endpointProvider: config?.endpointProvider ?? defaultEndpointResolver,\n extensions: config?.extensions ?? [],\n httpAuthSchemeProvider: config?.httpAuthSchemeProvider ?? defaultCognitoIdentityHttpAuthSchemeProvider,\n httpAuthSchemes: config?.httpAuthSchemes ?? [\n {\n schemeId: \"aws.auth#sigv4\",\n identityProvider: (ipc) => ipc.getIdentityProvider(\"aws.auth#sigv4\"),\n signer: new httpAuthSchemes.AwsSdkSigV4Signer(),\n },\n {\n schemeId: \"smithy.api#noAuth\",\n identityProvider: (ipc) => ipc.getIdentityProvider(\"smithy.api#noAuth\") || (async () => ({})),\n signer: new core.NoAuthSigner(),\n },\n ],\n logger: config?.logger ?? new client.NoOpLogger(),\n protocol: config?.protocol ?? protocols$1.AwsJson1_1Protocol,\n protocolSettings: config?.protocolSettings ?? {\n defaultNamespace: \"com.amazonaws.cognitoidentity\",\n errorTypeRegistries,\n xmlNamespace: \"http://cognito-identity.amazonaws.com/doc/2014-06-30/\",\n version: \"2014-06-30\",\n serviceTarget: \"AWSCognitoIdentityService\",\n },\n serviceId: config?.serviceId ?? \"Cognito Identity\",\n urlParser: config?.urlParser ?? protocols.parseUrl,\n utf8Decoder: config?.utf8Decoder ?? serde.fromUtf8,\n utf8Encoder: config?.utf8Encoder ?? serde.toUtf8,\n };\n};\n\nconst getRuntimeConfig = (config$1) => {\n client.emitWarningIfUnsupportedVersion(process.version);\n const defaultsMode = config.resolveDefaultsModeConfig(config$1);\n const defaultConfigProvider = () => defaultsMode().then(client.loadConfigsForDefaultMode);\n const clientSharedValues = getRuntimeConfig$1(config$1);\n client$1.emitWarningIfUnsupportedVersion(process.version);\n const loaderConfig = {\n profile: config$1?.profile,\n logger: clientSharedValues.logger,\n };\n return {\n ...clientSharedValues,\n ...config$1,\n runtime: \"node\",\n defaultsMode,\n authSchemePreference: config$1?.authSchemePreference ?? config.loadConfig(httpAuthSchemes.NODE_AUTH_SCHEME_PREFERENCE_OPTIONS, loaderConfig),\n bodyLengthChecker: config$1?.bodyLengthChecker ?? serde.calculateBodyLength,\n defaultUserAgentProvider: config$1?.defaultUserAgentProvider ??\n client$1.createDefaultUserAgentProvider({ serviceId: clientSharedValues.serviceId, clientVersion: packageInfo.version }),\n maxAttempts: config$1?.maxAttempts ?? config.loadConfig(retry.NODE_MAX_ATTEMPT_CONFIG_OPTIONS, config$1),\n region: config$1?.region ??\n config.loadConfig(config.NODE_REGION_CONFIG_OPTIONS, { ...config.NODE_REGION_CONFIG_FILE_OPTIONS, ...loaderConfig }),\n requestHandler: nodeHttpHandler.NodeHttpHandler.create(config$1?.requestHandler ?? defaultConfigProvider),\n retryMode: config$1?.retryMode ??\n config.loadConfig({\n ...retry.NODE_RETRY_MODE_CONFIG_OPTIONS,\n default: async () => (await defaultConfigProvider()).retryMode || retry.DEFAULT_RETRY_MODE,\n }, config$1),\n sha256: config$1?.sha256 ?? serde.Hash.bind(null, \"sha256\"),\n streamCollector: config$1?.streamCollector ?? nodeHttpHandler.streamCollector,\n useDualstackEndpoint: config$1?.useDualstackEndpoint ?? config.loadConfig(config.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS, loaderConfig),\n useFipsEndpoint: config$1?.useFipsEndpoint ?? config.loadConfig(config.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS, loaderConfig),\n userAgentAppId: config$1?.userAgentAppId ?? config.loadConfig(client$1.NODE_APP_ID_CONFIG_OPTIONS, loaderConfig),\n };\n};\n\nconst getHttpAuthExtensionConfiguration = (runtimeConfig) => {\n const _httpAuthSchemes = runtimeConfig.httpAuthSchemes;\n let _httpAuthSchemeProvider = runtimeConfig.httpAuthSchemeProvider;\n let _credentials = runtimeConfig.credentials;\n return {\n setHttpAuthScheme(httpAuthScheme) {\n const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId);\n if (index === -1) {\n _httpAuthSchemes.push(httpAuthScheme);\n }\n else {\n _httpAuthSchemes.splice(index, 1, httpAuthScheme);\n }\n },\n httpAuthSchemes() {\n return _httpAuthSchemes;\n },\n setHttpAuthSchemeProvider(httpAuthSchemeProvider) {\n _httpAuthSchemeProvider = httpAuthSchemeProvider;\n },\n httpAuthSchemeProvider() {\n return _httpAuthSchemeProvider;\n },\n setCredentials(credentials) {\n _credentials = credentials;\n },\n credentials() {\n return _credentials;\n },\n };\n};\nconst resolveHttpAuthRuntimeConfig = (config) => {\n return {\n httpAuthSchemes: config.httpAuthSchemes(),\n httpAuthSchemeProvider: config.httpAuthSchemeProvider(),\n credentials: config.credentials(),\n };\n};\n\nconst resolveRuntimeExtensions = (runtimeConfig, extensions) => {\n const extensionConfiguration = Object.assign(client$1.getAwsRegionExtensionConfiguration(runtimeConfig), client.getDefaultExtensionConfiguration(runtimeConfig), protocols.getHttpHandlerExtensionConfiguration(runtimeConfig), getHttpAuthExtensionConfiguration(runtimeConfig));\n extensions.forEach((extension) => extension.configure(extensionConfiguration));\n return Object.assign(runtimeConfig, client$1.resolveAwsRegionExtensionConfiguration(extensionConfiguration), client.resolveDefaultRuntimeConfig(extensionConfiguration), protocols.resolveHttpHandlerRuntimeConfig(extensionConfiguration), resolveHttpAuthRuntimeConfig(extensionConfiguration));\n};\n\nclass CognitoIdentityClient extends client.Client {\n config;\n constructor(...[configuration]) {\n const _config_0 = getRuntimeConfig(configuration || {});\n super(_config_0);\n this.initConfig = _config_0;\n const _config_1 = resolveClientEndpointParameters(_config_0);\n const _config_2 = client$1.resolveUserAgentConfig(_config_1);\n const _config_3 = retry.resolveRetryConfig(_config_2);\n const _config_4 = config.resolveRegionConfig(_config_3);\n const _config_5 = client$1.resolveHostHeaderConfig(_config_4);\n const _config_6 = endpoints.resolveEndpointConfig(_config_5);\n const _config_7 = resolveHttpAuthSchemeConfig(_config_6);\n const _config_8 = resolveRuntimeExtensions(_config_7, configuration?.extensions || []);\n this.config = _config_8;\n this.middlewareStack.use(schema.getSchemaSerdePlugin(this.config));\n this.middlewareStack.use(client$1.getUserAgentPlugin(this.config));\n this.middlewareStack.use(retry.getRetryPlugin(this.config));\n this.middlewareStack.use(protocols.getContentLengthPlugin(this.config));\n this.middlewareStack.use(client$1.getHostHeaderPlugin(this.config));\n this.middlewareStack.use(client$1.getLoggerPlugin(this.config));\n this.middlewareStack.use(client$1.getRecursionDetectionPlugin(this.config));\n this.middlewareStack.use(core.getHttpAuthSchemeEndpointRuleSetPlugin(this.config, {\n httpAuthSchemeParametersProvider: defaultCognitoIdentityHttpAuthSchemeParametersProvider,\n identityProviderConfigProvider: async (config) => new core.DefaultIdentityProviderConfig({\n \"aws.auth#sigv4\": config.credentials,\n }),\n }));\n this.middlewareStack.use(core.getHttpSigningPlugin(this.config));\n }\n destroy() {\n super.destroy();\n }\n}\n\nclass GetCredentialsForIdentityCommand extends client.Command\n .classBuilder()\n .ep(commonParams)\n .m(function (Command, cs, config, o) {\n return [endpoints.getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"AWSCognitoIdentityService\", \"GetCredentialsForIdentity\", {})\n .n(\"CognitoIdentityClient\", \"GetCredentialsForIdentityCommand\")\n .sc(GetCredentialsForIdentity$)\n .build() {\n}\n\nclass GetIdCommand extends client.Command\n .classBuilder()\n .ep(commonParams)\n .m(function (Command, cs, config, o) {\n return [endpoints.getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"AWSCognitoIdentityService\", \"GetId\", {})\n .n(\"CognitoIdentityClient\", \"GetIdCommand\")\n .sc(GetId$)\n .build() {\n}\n\nconst commands = {\n GetCredentialsForIdentityCommand,\n GetIdCommand,\n};\nclass CognitoIdentity extends CognitoIdentityClient {\n}\nclient.createAggregatedClient(commands, CognitoIdentity);\n\nexports.$Command = client.Command;\nexports.__Client = client.Client;\nexports.CognitoIdentity = CognitoIdentity;\nexports.CognitoIdentityClient = CognitoIdentityClient;\nexports.CognitoIdentityServiceException = CognitoIdentityServiceException;\nexports.CognitoIdentityServiceException$ = CognitoIdentityServiceException$;\nexports.Credentials$ = Credentials$;\nexports.ExternalServiceException = ExternalServiceException;\nexports.ExternalServiceException$ = ExternalServiceException$;\nexports.GetCredentialsForIdentity$ = GetCredentialsForIdentity$;\nexports.GetCredentialsForIdentityCommand = GetCredentialsForIdentityCommand;\nexports.GetCredentialsForIdentityInput$ = GetCredentialsForIdentityInput$;\nexports.GetCredentialsForIdentityResponse$ = GetCredentialsForIdentityResponse$;\nexports.GetId$ = GetId$;\nexports.GetIdCommand = GetIdCommand;\nexports.GetIdInput$ = GetIdInput$;\nexports.GetIdResponse$ = GetIdResponse$;\nexports.InternalErrorException = InternalErrorException;\nexports.InternalErrorException$ = InternalErrorException$;\nexports.InvalidIdentityPoolConfigurationException = InvalidIdentityPoolConfigurationException;\nexports.InvalidIdentityPoolConfigurationException$ = InvalidIdentityPoolConfigurationException$;\nexports.InvalidParameterException = InvalidParameterException;\nexports.InvalidParameterException$ = InvalidParameterException$;\nexports.LimitExceededException = LimitExceededException;\nexports.LimitExceededException$ = LimitExceededException$;\nexports.NotAuthorizedException = NotAuthorizedException;\nexports.NotAuthorizedException$ = NotAuthorizedException$;\nexports.ResourceConflictException = ResourceConflictException;\nexports.ResourceConflictException$ = ResourceConflictException$;\nexports.ResourceNotFoundException = ResourceNotFoundException;\nexports.ResourceNotFoundException$ = ResourceNotFoundException$;\nexports.TooManyRequestsException = TooManyRequestsException;\nexports.TooManyRequestsException$ = TooManyRequestsException$;\nexports.errorTypeRegistries = errorTypeRegistries;\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "E37B09F2691A6A5664756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260603141458_session_input_inbox.ts"], | ||
| "sourcesContent": [ | ||
| "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" | ||
| ], | ||
| "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", | ||
| "debugId": "339B93853327C53C64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260511000411_data_migration_state.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260511000411_data_migration_state\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`\n CREATE TABLE \\`data_migration\\` (\n \\`name\\` text PRIMARY KEY,\n \\`time_completed\\` integer NOT NULL\n );\n `)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,sCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,gJAKb,EACF,EAEL", | ||
| "debugId": "13E5AC36AE70506364756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "6EB7E1988DA6222F64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@opentelemetry+resources@2.6.1+460773ef8ff1e07c/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/machine-id/execAsync.js"], | ||
| "sourcesContent": [ | ||
| "\"use strict\";\n/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.execAsync = void 0;\nconst child_process = require(\"child_process\");\nconst util = require(\"util\");\nexports.execAsync = util.promisify(child_process.exec);\n//# sourceMappingURL=execAsync.js.map" | ||
| ], | ||
| "mappings": ";0EAKA,OAAO,eAAe,EAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EACpD,YAAiB,OACzB,IAAM,qBACA,YACE,YAAY,EAAK,UAAU,EAAc,IAAI", | ||
| "debugId": "ACA7BA8C7F3168C864756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260312043431_session_message_cursor.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260312043431_session_message_cursor\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`DROP INDEX IF EXISTS \\`message_session_idx\\`;`)\n yield* tx.run(`DROP INDEX IF EXISTS \\`part_message_idx\\`;`)\n yield* tx.run(\n `CREATE INDEX \\`message_session_time_created_id_idx\\` ON \\`message\\` (\\`session_id\\`,\\`time_created\\`,\\`id\\`);`,\n )\n yield* tx.run(`CREATE INDEX \\`part_message_id_id_idx\\` ON \\`part\\` (\\`message_id\\`,\\`id\\`);`)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,wCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,6CAA+C,EAC7D,MAAO,EAAG,IAAI,0CAA4C,EAC1D,MAAO,EAAG,IACR,qGACF,EACA,MAAO,EAAG,IAAI,sEAA8E,EAC7F,EAEL", | ||
| "debugId": "AE05A699F9A7DEEC64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "F946B771D95D43E164756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "7850CC4D8970D0EB64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "22DD63D1A374261D64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["src/commands/handlers/service/start.ts"], | ||
| "sourcesContent": [ | ||
| "import { EOL } from \"os\"\nimport { Effect } from \"effect\"\nimport { Service } from \"@opencode-ai/client/effect\"\nimport { Commands } from \"../../commands\"\nimport { Runtime } from \"../../../framework/runtime\"\nimport { ServiceConfig } from \"../../../services/service-config\"\n\nexport default Runtime.handler(\n Commands.commands.service.commands.start,\n Effect.fn(\"cli.service.start\")(function* () {\n const transport = yield* Service.start(yield* ServiceConfig.options())\n process.stdout.write(transport.url + EOL)\n }),\n)\n" | ||
| ], | ||
| "mappings": ";moBAAA,mBAAS,gBAOT,SAAe,SAAQ,aACrB,OAAS,cAAS,aAAQ,cAAS,WACnC,OAAO,QAAG,wBAAmB,OAAE,cAAU,OAAG,CAC1C,IAAM,EAAY,MAAO,EAAQ,MAAM,MAAO,EAAc,QAAQ,CAAC,EACrE,QAAQ,OAAO,MAAM,EAAU,IAAM,CAAG,EACzC,CACH", | ||
| "debugId": "7EE23BE37403C94B64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/drizzle-orm@1.0.0-rc.2+a86099c5389f280c/node_modules/drizzle-orm/entity.js", "../../node_modules/.bun/drizzle-orm@1.0.0-rc.2+a86099c5389f280c/node_modules/drizzle-orm/column-common.js", "../../node_modules/.bun/drizzle-orm@1.0.0-rc.2+a86099c5389f280c/node_modules/drizzle-orm/column.js", "../../node_modules/.bun/drizzle-orm@1.0.0-rc.2+a86099c5389f280c/node_modules/drizzle-orm/table.utils.js", "../../node_modules/.bun/drizzle-orm@1.0.0-rc.2+a86099c5389f280c/node_modules/drizzle-orm/table.js", "../../node_modules/.bun/drizzle-orm@1.0.0-rc.2+a86099c5389f280c/node_modules/drizzle-orm/subquery.js", "../../node_modules/.bun/drizzle-orm@1.0.0-rc.2+a86099c5389f280c/node_modules/drizzle-orm/tracing-utils.js", "../../node_modules/.bun/drizzle-orm@1.0.0-rc.2+a86099c5389f280c/node_modules/drizzle-orm/tracing.js", "../../node_modules/.bun/drizzle-orm@1.0.0-rc.2+a86099c5389f280c/node_modules/drizzle-orm/view-common.js", "../../node_modules/.bun/drizzle-orm@1.0.0-rc.2+a86099c5389f280c/node_modules/drizzle-orm/sql/sql.js", "../../node_modules/.bun/drizzle-orm@1.0.0-rc.2+a86099c5389f280c/node_modules/drizzle-orm/sql/expressions/conditions.js", "../../node_modules/.bun/drizzle-orm@1.0.0-rc.2+a86099c5389f280c/node_modules/drizzle-orm/sql/expressions/select.js"], | ||
| "sourcesContent": [ | ||
| "//#region src/entity.ts\nconst entityKind = Symbol.for(\"drizzle:entityKind\");\nconst hasOwnEntityKind = Symbol.for(\"drizzle:hasOwnEntityKind\");\nfunction is(value, type) {\n\tif (!value || typeof value !== \"object\") return false;\n\tif (value instanceof type) return true;\n\tif (!Object.prototype.hasOwnProperty.call(type, entityKind)) throw new Error(`Class \"${type.name ?? \"<unknown>\"}\" doesn't look like a Drizzle entity. If this is incorrect and the class is provided by Drizzle, please report this as a bug.`);\n\tlet cls = Object.getPrototypeOf(value)?.constructor;\n\tif (cls) while (cls) {\n\t\tif (entityKind in cls && cls[entityKind] === type[entityKind]) return true;\n\t\tcls = Object.getPrototypeOf(cls);\n\t}\n\treturn false;\n}\n\n//#endregion\nexport { entityKind, hasOwnEntityKind, is };\n//# sourceMappingURL=entity.js.map", | ||
| "//#region src/column-common.ts\nconst OriginalColumn = Symbol.for(\"drizzle:OriginalColumn\");\n\n//#endregion\nexport { OriginalColumn };\n//# sourceMappingURL=column-common.js.map", | ||
| "import { entityKind } from \"./entity.js\";\nimport { OriginalColumn } from \"./column-common.js\";\n\n//#region src/column.ts\nconst noop = (v) => v;\nnoop.isNoop = true;\nvar Column = class {\n\tstatic [entityKind] = \"Column\";\n\t/** @internal */\n\tcodec;\n\tname;\n\tkeyAsName;\n\tprimary;\n\tnotNull;\n\tdefault;\n\tdefaultFn;\n\tonUpdateFn;\n\thasDefault;\n\tisUnique;\n\tuniqueName;\n\tuniqueType;\n\tdataType;\n\tcolumnType;\n\tenumValues = void 0;\n\tgenerated = void 0;\n\tgeneratedIdentity = void 0;\n\tlength;\n\tisLengthExact;\n\tisAlias;\n\t/** @internal */\n\tconfig;\n\t/** @internal */\n\ttable;\n\t/** @internal */\n\tonInit() {}\n\tconstructor(table, config) {\n\t\tthis.config = config;\n\t\tthis.onInit();\n\t\tthis.table = table;\n\t\tthis.name = config.name;\n\t\tthis.isAlias = false;\n\t\tthis.keyAsName = config.keyAsName;\n\t\tthis.notNull = config.notNull;\n\t\tthis.default = config.default;\n\t\tthis.defaultFn = config.defaultFn;\n\t\tthis.onUpdateFn = config.onUpdateFn;\n\t\tthis.hasDefault = config.hasDefault;\n\t\tthis.primary = config.primaryKey;\n\t\tthis.isUnique = config.isUnique;\n\t\tthis.uniqueName = config.uniqueName;\n\t\tthis.uniqueType = config.uniqueType;\n\t\tthis.dataType = config.dataType;\n\t\tthis.columnType = config.columnType;\n\t\tthis.generated = config.generated;\n\t\tthis.generatedIdentity = config.generatedIdentity;\n\t\tthis.length = config[\"length\"];\n\t\tthis.isLengthExact = config[\"isLengthExact\"];\n\t}\n\tmapFromDriverValue = noop;\n\tmapToDriverValue = noop;\n\t/** @internal */\n\tpostBuild() {\n\t\treturn this;\n\t}\n\t/** @internal */\n\tshouldDisableInsert() {\n\t\treturn this.config.generated !== void 0 && this.config.generated.type !== \"byDefault\";\n\t}\n\t/** @internal */\n\t[OriginalColumn]() {\n\t\treturn this;\n\t}\n};\nfunction getColumnTable(column) {\n\treturn column.table;\n}\n\n//#endregion\nexport { Column, getColumnTable };\n//# sourceMappingURL=column.js.map", | ||
| "//#region src/table.utils.ts\n/** @internal */\nconst TableName = Symbol.for(\"drizzle:Name\");\n\n//#endregion\nexport { TableName };\n//# sourceMappingURL=table.utils.js.map", | ||
| "import { entityKind } from \"./entity.js\";\nimport { TableName } from \"./table.utils.js\";\n\n//#region src/table.ts\n/** @internal */\nconst TableSchema = Symbol.for(\"drizzle:Schema\");\n/** @internal */\nconst TableColumns = Symbol.for(\"drizzle:Columns\");\n/** @internal */\nconst ExtraConfigColumns = Symbol.for(\"drizzle:ExtraConfigColumns\");\n/** @internal */\nconst OriginalName = Symbol.for(\"drizzle:OriginalName\");\n/** @internal */\nconst BaseName = Symbol.for(\"drizzle:BaseName\");\n/** @internal */\nconst IsAlias = Symbol.for(\"drizzle:IsAlias\");\n/** @internal */\nconst ExtraConfigBuilder = Symbol.for(\"drizzle:ExtraConfigBuilder\");\nconst IsDrizzleTable = Symbol.for(\"drizzle:IsDrizzleTable\");\nvar Table = class {\n\tstatic [entityKind] = \"Table\";\n\t/** @internal */\n\tstatic Symbol = {\n\t\tName: TableName,\n\t\tSchema: TableSchema,\n\t\tOriginalName,\n\t\tColumns: TableColumns,\n\t\tExtraConfigColumns,\n\t\tBaseName,\n\t\tIsAlias,\n\t\tExtraConfigBuilder\n\t};\n\t/**\n\t* @internal\n\t* Can be changed if the table is aliased.\n\t*/\n\t[TableName];\n\t/**\n\t* @internal\n\t* Used to store the original name of the table, before any aliasing.\n\t*/\n\t[OriginalName];\n\t/** @internal */\n\t[TableSchema];\n\t/** @internal */\n\t[TableColumns];\n\t/** @internal */\n\t[ExtraConfigColumns];\n\t/**\n\t* @internal\n\t* Used to store the table name before the transformation via the `tableCreator` functions.\n\t*/\n\t[BaseName];\n\t/** @internal */\n\t[IsAlias] = false;\n\t/** @internal */\n\t[IsDrizzleTable] = true;\n\t/** @internal */\n\t[ExtraConfigBuilder] = void 0;\n\tconstructor(name, schema, baseName) {\n\t\tthis[TableName] = this[OriginalName] = name;\n\t\tthis[TableSchema] = schema;\n\t\tthis[BaseName] = baseName;\n\t}\n};\nfunction isTable(table) {\n\treturn typeof table === \"object\" && table !== null && IsDrizzleTable in table;\n}\nfunction getTableName(table) {\n\treturn table[TableName];\n}\nfunction getTableUniqueName(table) {\n\treturn `${table[TableSchema] ?? \"public\"}.${table[TableName]}`;\n}\n\n//#endregion\nexport { BaseName, ExtraConfigBuilder, ExtraConfigColumns, IsAlias, OriginalName, Table, TableColumns, TableSchema, getTableName, getTableUniqueName, isTable };\n//# sourceMappingURL=table.js.map", | ||
| "import { entityKind } from \"./entity.js\";\n\n//#region src/subquery.ts\nvar Subquery = class {\n\tstatic [entityKind] = \"Subquery\";\n\tconstructor(sql, fields, alias, isWith = false, usedTables = []) {\n\t\tthis._ = {\n\t\t\tbrand: \"Subquery\",\n\t\t\tsql,\n\t\t\tselectedFields: fields,\n\t\t\talias,\n\t\t\tisWith,\n\t\t\tusedTables\n\t\t};\n\t}\n};\nvar WithSubquery = class extends Subquery {\n\tstatic [entityKind] = \"WithSubquery\";\n};\n\n//#endregion\nexport { Subquery, WithSubquery };\n//# sourceMappingURL=subquery.js.map", | ||
| "//#region src/tracing-utils.ts\nfunction iife(fn, ...args) {\n\treturn fn(...args);\n}\n\n//#endregion\nexport { iife };\n//# sourceMappingURL=tracing-utils.js.map", | ||
| "import { iife } from \"./tracing-utils.js\";\nimport { npmVersion } from \"./version.js\";\n\n//#region src/tracing.ts\nconst hasTelemetry = false;\n/** @internal */\nconst tracer = { startActiveSpan(name, fn) {\n\treturn fn();\n} };\n\n//#endregion\nexport { hasTelemetry, tracer };\n//# sourceMappingURL=tracing.js.map", | ||
| "//#region src/view-common.ts\nconst ViewBaseConfig = Symbol.for(\"drizzle:ViewBaseConfig\");\n\n//#endregion\nexport { ViewBaseConfig };\n//# sourceMappingURL=view-common.js.map", | ||
| "import { Column } from \"../column.js\";\nimport { IsAlias, OriginalName, Table, TableColumns, TableSchema } from \"../table.js\";\nimport { entityKind, is } from \"../entity.js\";\nimport { Subquery } from \"../subquery.js\";\nimport { TableName } from \"../table.utils.js\";\nimport { tracer } from \"../tracing.js\";\nimport { ViewBaseConfig } from \"../view-common.js\";\n\n//#region src/sql/sql.ts\n/**\n* This class is used to indicate a primitive param value that is used in `sql` tag.\n* It is only used on type level and is never instantiated at runtime.\n* If you see a value of this type in the code, its runtime value is actually the primitive param value.\n*/\nvar FakePrimitiveParam = class {\n\tstatic [entityKind] = \"FakePrimitiveParam\";\n};\nfunction isSQLWrapper(value) {\n\treturn value !== null && value !== void 0 && typeof value.getSQL === \"function\";\n}\nfunction mergeQueries(queries) {\n\tconst result = {\n\t\tsql: \"\",\n\t\tparams: []\n\t};\n\tfor (const query of queries) {\n\t\tresult.sql += query.sql;\n\t\tresult.params.push(...query.params);\n\t}\n\treturn result;\n}\nfunction _mergeQueries(queries) {\n\tconst result = {\n\t\tsql: \"\",\n\t\tparams: []\n\t};\n\tconst sqls = [];\n\tfor (const query of queries) {\n\t\tsqls.push(query.sql);\n\t\tresult.params.push(...query.params);\n\t}\n\tresult._sql = Object.assign(sqls, { raw: sqls });\n\treturn result;\n}\nvar StringChunk = class {\n\tstatic [entityKind] = \"StringChunk\";\n\tvalue;\n\tconstructor(value) {\n\t\tthis.value = Array.isArray(value) ? value : [value];\n\t}\n\tgetSQL() {\n\t\treturn new SQL([this]);\n\t}\n};\nvar SQL = class SQL {\n\tstatic [entityKind] = \"SQL\";\n\t/** @internal */\n\tdecoder = noopDecoder;\n\t/** @internal */\n\tshouldInlineParams = false;\n\t/** @internal */\n\tusedTables = [];\n\tconstructor(queryChunks) {\n\t\tthis.queryChunks = queryChunks;\n\t\tfor (const chunk of queryChunks) if (is(chunk, Table)) {\n\t\t\tconst schemaName = chunk[Table.Symbol.Schema];\n\t\t\tthis.usedTables.push(schemaName === void 0 ? chunk[Table.Symbol.Name] : schemaName + \".\" + chunk[Table.Symbol.Name]);\n\t\t}\n\t}\n\tappend(query) {\n\t\tthis.queryChunks.push(...query.queryChunks);\n\t\treturn this;\n\t}\n\ttoQuery(config) {\n\t\treturn tracer.startActiveSpan(\"drizzle.buildSQL\", (span) => {\n\t\t\tconst query = this.buildQueryFromSourceParams(this.queryChunks, config);\n\t\t\tspan?.setAttributes({\n\t\t\t\t\"drizzle.query.text\": query.sql,\n\t\t\t\t\"drizzle.query.params\": JSON.stringify(query.params)\n\t\t\t});\n\t\t\treturn query;\n\t\t});\n\t}\n\tbuildQueryFromSourceParams(chunks, _config) {\n\t\tconst config = Object.assign({}, _config, {\n\t\t\tinlineParams: _config.inlineParams || this.shouldInlineParams,\n\t\t\tparamStartIndex: _config.paramStartIndex || { value: 0 }\n\t\t});\n\t\tconst { escapeName, escapeParam, codecs, inlineParams, paramStartIndex, invokeSource } = config;\n\t\tconst mappedChunks = chunks.map((chunk) => {\n\t\t\tif (is(chunk, StringChunk)) return {\n\t\t\t\tsql: chunk.value.join(\"\"),\n\t\t\t\tparams: []\n\t\t\t};\n\t\t\tif (is(chunk, Name)) return {\n\t\t\t\tsql: escapeName(chunk.value),\n\t\t\t\tparams: []\n\t\t\t};\n\t\t\tif (chunk === void 0) return {\n\t\t\t\tsql: \"\",\n\t\t\t\tparams: []\n\t\t\t};\n\t\t\tif (Array.isArray(chunk)) {\n\t\t\t\tconst result = [new StringChunk(\"(\")];\n\t\t\t\tfor (const [i, p] of chunk.entries()) {\n\t\t\t\t\tresult.push(p);\n\t\t\t\t\tif (i < chunk.length - 1) result.push(new StringChunk(\", \"));\n\t\t\t\t}\n\t\t\t\tresult.push(new StringChunk(\")\"));\n\t\t\t\treturn this.buildQueryFromSourceParams(result, config);\n\t\t\t}\n\t\t\tif (is(chunk, SQL)) return this.buildQueryFromSourceParams(chunk.queryChunks, {\n\t\t\t\t...config,\n\t\t\t\tinlineParams: inlineParams || chunk.shouldInlineParams\n\t\t\t});\n\t\t\tif (is(chunk, Table)) {\n\t\t\t\tconst schemaName = chunk[Table.Symbol.Schema];\n\t\t\t\tconst tableName = chunk[Table.Symbol.Name];\n\t\t\t\tif (invokeSource === \"mssql-view-with-schemabinding\") return {\n\t\t\t\t\tsql: (schemaName === void 0 ? escapeName(\"dbo\") : escapeName(schemaName)) + \".\" + escapeName(tableName),\n\t\t\t\t\tparams: []\n\t\t\t\t};\n\t\t\t\treturn {\n\t\t\t\t\tsql: schemaName === void 0 || chunk[IsAlias] ? escapeName(tableName) : escapeName(schemaName) + \".\" + escapeName(tableName),\n\t\t\t\t\tparams: []\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (is(chunk, Column)) {\n\t\t\t\tconst columnName = chunk.name;\n\t\t\t\tif (_config.invokeSource === \"indexes\") return {\n\t\t\t\t\tsql: escapeName(columnName),\n\t\t\t\t\tparams: []\n\t\t\t\t};\n\t\t\t\tconst schemaName = invokeSource === \"mssql-check\" ? void 0 : chunk.table[Table.Symbol.Schema];\n\t\t\t\treturn {\n\t\t\t\t\tsql: chunk.isAlias ? escapeName(chunk.name) : chunk.table[IsAlias] || schemaName === void 0 ? escapeName(chunk.table[Table.Symbol.Name]) + \".\" + escapeName(columnName) : escapeName(schemaName) + \".\" + escapeName(chunk.table[Table.Symbol.Name]) + \".\" + escapeName(columnName),\n\t\t\t\t\tparams: []\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (is(chunk, View)) {\n\t\t\t\tconst schemaName = chunk[ViewBaseConfig].schema;\n\t\t\t\tconst viewName = chunk[ViewBaseConfig].name;\n\t\t\t\treturn {\n\t\t\t\t\tsql: schemaName === void 0 || chunk[ViewBaseConfig].isAlias ? escapeName(viewName) : escapeName(schemaName) + \".\" + escapeName(viewName),\n\t\t\t\t\tparams: []\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (is(chunk, Param)) {\n\t\t\t\tif (is(chunk.value, SQL)) return this.buildQueryFromSourceParams([chunk.value], config);\n\t\t\t\tconst useCodecs = codecs && is(chunk.encoder, Column);\n\t\t\t\tif (is(chunk.value, Placeholder)) {\n\t\t\t\t\tconst escaped = escapeParam(paramStartIndex.value++, chunk);\n\t\t\t\t\tchunk.codec = useCodecs ? (value) => codecs.apply(chunk.encoder, \"normalizeParam\", value) : void 0;\n\t\t\t\t\treturn {\n\t\t\t\t\t\tsql: useCodecs ? codecs.apply(chunk.encoder, \"castParam\", escaped) : escaped,\n\t\t\t\t\t\tparams: [chunk]\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tlet mappedValue;\n\t\t\t\tif (chunk.value === null) mappedValue = chunk.value;\n\t\t\t\telse {\n\t\t\t\t\tmappedValue = chunk.encoder.mapToDriverValue.isNoop ? chunk.value : chunk.encoder.mapToDriverValue(chunk.value);\n\t\t\t\t\tif (is(mappedValue, SQL)) return this.buildQueryFromSourceParams([mappedValue], config);\n\t\t\t\t\tif (useCodecs) mappedValue = codecs.apply(chunk.encoder, \"normalizeParam\", mappedValue);\n\t\t\t\t}\n\t\t\t\tif (inlineParams) return {\n\t\t\t\t\tsql: this.mapInlineParam(mappedValue, config),\n\t\t\t\t\tparams: []\n\t\t\t\t};\n\t\t\t\tconst escaped = escapeParam(paramStartIndex.value++, mappedValue);\n\t\t\t\treturn {\n\t\t\t\t\tsql: useCodecs ? codecs.apply(chunk.encoder, \"castParam\", escaped) : escaped,\n\t\t\t\t\tparams: [mappedValue]\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (is(chunk, Placeholder)) return {\n\t\t\t\tsql: escapeParam(paramStartIndex.value++, chunk),\n\t\t\t\tparams: [chunk]\n\t\t\t};\n\t\t\tif (is(chunk, SQL.Aliased) && chunk.fieldAlias !== void 0) return {\n\t\t\t\tsql: (chunk.origin !== void 0 ? escapeName(chunk.origin) + \".\" : \"\") + escapeName(chunk.fieldAlias),\n\t\t\t\tparams: []\n\t\t\t};\n\t\t\tif (is(chunk, Subquery)) {\n\t\t\t\tif (chunk._.isWith) return {\n\t\t\t\t\tsql: escapeName(chunk._.alias),\n\t\t\t\t\tparams: []\n\t\t\t\t};\n\t\t\t\treturn this.buildQueryFromSourceParams([\n\t\t\t\t\tnew StringChunk(\"(\"),\n\t\t\t\t\tchunk._.sql,\n\t\t\t\t\tnew StringChunk(\") \"),\n\t\t\t\t\tnew Name(chunk._.alias)\n\t\t\t\t], config);\n\t\t\t}\n\t\t\tif (typeof chunk === \"function\" && \"enumName\" in chunk) {\n\t\t\t\tif (\"schema\" in chunk && chunk.schema) return {\n\t\t\t\t\tsql: escapeName(chunk.schema) + \".\" + escapeName(chunk.enumName),\n\t\t\t\t\tparams: []\n\t\t\t\t};\n\t\t\t\treturn {\n\t\t\t\t\tsql: escapeName(chunk.enumName),\n\t\t\t\t\tparams: []\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (isSQLWrapper(chunk)) {\n\t\t\t\tif (chunk.shouldOmitSQLParens?.()) return this.buildQueryFromSourceParams([chunk.getSQL()], config);\n\t\t\t\treturn this.buildQueryFromSourceParams([\n\t\t\t\t\tnew StringChunk(\"(\"),\n\t\t\t\t\tchunk.getSQL(),\n\t\t\t\t\tnew StringChunk(\")\")\n\t\t\t\t], config);\n\t\t\t}\n\t\t\tif (inlineParams) return {\n\t\t\t\tsql: this.mapInlineParam(chunk, config),\n\t\t\t\tparams: []\n\t\t\t};\n\t\t\treturn {\n\t\t\t\tsql: escapeParam(paramStartIndex.value++, chunk),\n\t\t\t\tparams: [chunk]\n\t\t\t};\n\t\t});\n\t\tif (_config.tagged) return _mergeQueries(mappedChunks);\n\t\treturn mergeQueries(mappedChunks);\n\t}\n\tmapInlineParam(chunk, { escapeString }) {\n\t\tif (chunk === null) return \"null\";\n\t\tif (typeof chunk === \"number\" || typeof chunk === \"boolean\" || typeof chunk === \"bigint\") return chunk.toString();\n\t\tif (typeof chunk === \"string\") return escapeString(chunk);\n\t\tif (typeof chunk === \"object\") {\n\t\t\tconst mappedValueAsString = chunk.toString();\n\t\t\tif (mappedValueAsString === \"[object Object]\") return escapeString(JSON.stringify(chunk));\n\t\t\treturn escapeString(mappedValueAsString);\n\t\t}\n\t\tthrow new Error(\"Unexpected param value: \" + chunk);\n\t}\n\tgetSQL() {\n\t\treturn this;\n\t}\n\tas(alias) {\n\t\tif (alias === void 0) return this;\n\t\treturn new SQL.Aliased(this, alias);\n\t}\n\tmapWith(decoder) {\n\t\tthis.decoder = typeof decoder === \"function\" ? { mapFromDriverValue: decoder } : decoder;\n\t\treturn this;\n\t}\n\tinlineParams() {\n\t\tthis.shouldInlineParams = true;\n\t\treturn this;\n\t}\n\t/**\n\t* This method is used to conditionally include a part of the query.\n\t*\n\t* @param condition - Condition to check\n\t* @returns itself if the condition is `true`, otherwise `undefined`\n\t*/\n\tif(condition) {\n\t\treturn condition ? this : void 0;\n\t}\n};\n/**\n* Any DB name (table, column, index etc.)\n*/\nvar Name = class {\n\tstatic [entityKind] = \"Name\";\n\tbrand;\n\tconstructor(value) {\n\t\tthis.value = value;\n\t}\n\tgetSQL() {\n\t\treturn new SQL([this]);\n\t}\n};\n/**\n* Any DB name (table, column, index etc.)\n* @deprecated Use `sql.identifier` instead.\n*/\nfunction name(value) {\n\treturn new Name(value);\n}\nfunction isDriverValueEncoder(value) {\n\treturn typeof value === \"object\" && value !== null && \"mapToDriverValue\" in value && typeof value.mapToDriverValue === \"function\";\n}\nconst noopDecoder = { mapFromDriverValue: (value) => value };\nnoopDecoder.mapFromDriverValue.isNoop = true;\nconst noopEncoder = { mapToDriverValue: (value) => value };\nnoopEncoder.mapToDriverValue.isNoop = true;\nfunction isNoop(mapper) {\n\treturn mapper.isNoop;\n}\nconst noopMapper = {\n\t...noopDecoder,\n\t...noopEncoder\n};\n/** Parameter value that is optionally bound to an encoder (for example, a column). */\nvar Param = class {\n\tstatic [entityKind] = \"Param\";\n\tbrand;\n\t/**\n\t* @param value - Parameter value\n\t* @param encoder - Encoder to convert the value to a driver parameter\n\t*/\n\tconstructor(value, encoder = noopEncoder, codec) {\n\t\tthis.value = value;\n\t\tthis.encoder = encoder;\n\t\tthis.codec = codec;\n\t}\n\tgetSQL() {\n\t\treturn new SQL([this]);\n\t}\n};\n/** @deprecated Use `sql.param` instead. */\nfunction param(value, encoder) {\n\treturn new Param(value, encoder);\n}\nfunction sql(strings, ...params) {\n\tconst queryChunks = [];\n\tif (params.length > 0 || strings.length > 0 && strings[0] !== \"\") queryChunks.push(new StringChunk(strings[0]));\n\tfor (const [paramIndex, param] of params.entries()) queryChunks.push(param, new StringChunk(strings[paramIndex + 1]));\n\treturn new SQL(queryChunks);\n}\n(function(_sql) {\n\tfunction empty() {\n\t\treturn new SQL([]);\n\t}\n\t_sql.empty = empty;\n\tfunction fromList(list) {\n\t\treturn new SQL(list);\n\t}\n\t_sql.fromList = fromList;\n\tfunction raw(str) {\n\t\treturn new SQL([new StringChunk(str)]);\n\t}\n\t_sql.raw = raw;\n\tfunction join(chunks, separator) {\n\t\tconst result = [];\n\t\tfor (const [i, chunk] of chunks.entries()) {\n\t\t\tif (i > 0 && separator !== void 0) result.push(separator);\n\t\t\tresult.push(chunk);\n\t\t}\n\t\treturn new SQL(result);\n\t}\n\t_sql.join = join;\n\tfunction identifier(value) {\n\t\treturn new Name(value);\n\t}\n\t_sql.identifier = identifier;\n\tfunction placeholder(name) {\n\t\treturn new Placeholder(name);\n\t}\n\t_sql.placeholder = placeholder;\n\tfunction param(value, encoder) {\n\t\treturn new Param(value, encoder);\n\t}\n\t_sql.param = param;\n\tfunction comment(input) {\n\t\tconst encoded = sqlCommenter(input);\n\t\tif (!encoded.length) return void 0;\n\t\treturn sql.raw(encoded);\n\t}\n\t_sql.comment = comment;\n})(sql || (sql = {}));\nfunction sqlCommenter(input) {\n\tconst encoded = sqlCommenter.encodeInput(input);\n\tif (!encoded.length) return \"\";\n\treturn `/*${encoded}*/`;\n}\n(function(_sqlCommenter) {\n\tfunction merge(input1, input2) {\n\t\tlet encoded;\n\t\tif (typeof input1 === \"object\" && typeof input2 === \"object\") encoded = encodeInput({\n\t\t\t...input1,\n\t\t\t...input2\n\t\t});\n\t\telse if (input1 && input2) encoded = [encodeInput(input1), encodeInput(input2)].filter((i) => i.length).join(\",\");\n\t\telse if (input2) encoded = encodeInput(input2);\n\t\telse if (input1) encoded = encodeInput(input1);\n\t\telse return \"\";\n\t\tif (!encoded.length) return \"\";\n\t\treturn `/*${encoded}*/`;\n\t}\n\t_sqlCommenter.merge = merge;\n\tfunction encodeInput(input) {\n\t\tif (typeof input === \"string\") {\n\t\t\tif (!input.length) return input;\n\t\t\treturn sanitizeStringInput(input);\n\t\t}\n\t\tconst parts = [];\n\t\tfor (const [key, value] of Object.entries(input)) {\n\t\t\tif (value === null || value === void 0 || value === \"\") continue;\n\t\t\tconst encodedKey = sanitizeObjectElement(key);\n\t\t\tconst encodedValue = sanitizeObjectElement(String(value));\n\t\t\tparts.push(`${encodedKey}='${encodedValue}'`);\n\t\t}\n\t\tif (!parts.length) return \"\";\n\t\treturn parts.sort().join(\",\");\n\t}\n\t_sqlCommenter.encodeInput = encodeInput;\n\tfunction sanitizeObjectElement(key) {\n\t\treturn encodeURIComponent(key).replace(/'/g, `\\\\'`);\n\t}\n\t_sqlCommenter.sanitizeObjectElement = sanitizeObjectElement;\n\tfunction sanitizeStringInput(input) {\n\t\treturn input.replace(/\\/\\*/g, \"/ *\").replace(/\\*\\//g, \"* /\");\n\t}\n\t_sqlCommenter.sanitizeStringInput = sanitizeStringInput;\n})(sqlCommenter || (sqlCommenter = {}));\n(function(_SQL) {\n\tclass Aliased {\n\t\tstatic [entityKind] = \"SQL.Aliased\";\n\t\t/** @internal */\n\t\tisSelectionField = false;\n\t\t/** @internal */\n\t\torigin;\n\t\tconstructor(sql, fieldAlias) {\n\t\t\tthis.sql = sql;\n\t\t\tthis.fieldAlias = fieldAlias;\n\t\t}\n\t\tgetSQL() {\n\t\t\treturn this.sql;\n\t\t}\n\t\t/** @internal */\n\t\tclone() {\n\t\t\treturn new Aliased(this.sql, this.fieldAlias);\n\t\t}\n\t}\n\t_SQL.Aliased = Aliased;\n})(SQL || (SQL = {}));\nvar Placeholder = class {\n\tstatic [entityKind] = \"Placeholder\";\n\tconstructor(name) {\n\t\tthis.name = name;\n\t}\n\tgetSQL() {\n\t\treturn new SQL([this]);\n\t}\n};\n/** @deprecated Use `sql.placeholder` instead. */\nfunction placeholder(name) {\n\treturn new Placeholder(name);\n}\nfunction fillPlaceholders(params, values) {\n\treturn params.map((p) => {\n\t\tif (is(p, Placeholder)) {\n\t\t\tif (!(p.name in values)) throw new Error(`No value for placeholder \"${p.name}\" was provided`);\n\t\t\treturn values[p.name];\n\t\t}\n\t\tif (is(p, Param) && is(p.value, Placeholder)) {\n\t\t\tif (!(p.value.name in values)) throw new Error(`No value for placeholder \"${p.value.name}\" was provided`);\n\t\t\tif (values[p.value.name] === null) return values[p.value.name];\n\t\t\tconst mapped = p.encoder.mapToDriverValue.isNoop ? values[p.value.name] : p.encoder.mapToDriverValue(values[p.value.name]);\n\t\t\treturn p.codec ? p.codec(mapped) : mapped;\n\t\t}\n\t\treturn p;\n\t});\n}\nconst IsDrizzleView = Symbol.for(\"drizzle:IsDrizzleView\");\nvar View = class {\n\tstatic [entityKind] = \"View\";\n\t/** @internal */\n\t[ViewBaseConfig];\n\t/** @internal */\n\t[IsDrizzleView] = true;\n\t/** @internal */\n\tget [TableName]() {\n\t\treturn this[ViewBaseConfig].name;\n\t}\n\t/** @internal */\n\tget [TableSchema]() {\n\t\treturn this[ViewBaseConfig].schema;\n\t}\n\t/** @internal */\n\tget [IsAlias]() {\n\t\treturn this[ViewBaseConfig].isAlias;\n\t}\n\t/** @internal */\n\tget [OriginalName]() {\n\t\treturn this[ViewBaseConfig].originalName;\n\t}\n\t/** @internal */\n\tget [TableColumns]() {\n\t\treturn this[ViewBaseConfig].selectedFields;\n\t}\n\tconstructor({ name, schema, selectedFields, query }) {\n\t\tthis[ViewBaseConfig] = {\n\t\t\tname,\n\t\t\toriginalName: name,\n\t\t\tschema,\n\t\t\tselectedFields,\n\t\t\tquery,\n\t\t\tisExisting: !query,\n\t\t\tisAlias: false\n\t\t};\n\t}\n};\nfunction isView(view) {\n\treturn typeof view === \"object\" && view !== null && IsDrizzleView in view;\n}\nfunction getViewName(view) {\n\treturn view[ViewBaseConfig].name;\n}\nColumn.prototype.getSQL = function() {\n\treturn new SQL([this]);\n};\nSubquery.prototype.getSQL = function() {\n\treturn new SQL([this]);\n};\n\n//#endregion\nexport { FakePrimitiveParam, Name, Param, Placeholder, SQL, StringChunk, View, fillPlaceholders, getViewName, isDriverValueEncoder, isNoop, isSQLWrapper, isView, name, noopDecoder, noopEncoder, noopMapper, param, placeholder, sql, sqlCommenter };\n//# sourceMappingURL=sql.js.map", | ||
| "import { Param, Placeholder, SQL, StringChunk, View, isDriverValueEncoder, isSQLWrapper, sql } from \"../sql.js\";\nimport { is } from \"../../entity.js\";\nimport { Table } from \"../../table.js\";\nimport { Column } from \"../../column.js\";\n\n//#region src/sql/expressions/conditions.ts\nfunction bindIfParam(value, column) {\n\tif (isDriverValueEncoder(column) && !isSQLWrapper(value) && !is(value, Param) && !is(value, Placeholder) && !is(value, Column) && !is(value, Table) && !is(value, View)) return new Param(value, column);\n\treturn value;\n}\n/**\n* Test that two values are equal.\n*\n* Remember that the SQL standard dictates that\n* two NULL values are not equal, so if you want to test\n* whether a value is null, you may want to use\n* `isNull` instead.\n*\n* ## Examples\n*\n* ```ts\n* // Select cars made by Ford\n* db.select().from(cars)\n* .where(eq(cars.make, 'Ford'))\n* ```\n*\n* @see isNull for a way to test equality to NULL.\n*/\nconst eq = (left, right) => {\n\treturn sql`${left} = ${bindIfParam(right, left)}`;\n};\n/**\n* Test that two values are not equal.\n*\n* Remember that the SQL standard dictates that\n* two NULL values are not equal, so if you want to test\n* whether a value is not null, you may want to use\n* `isNotNull` instead.\n*\n* ## Examples\n*\n* ```ts\n* // Select cars not made by Ford\n* db.select().from(cars)\n* .where(ne(cars.make, 'Ford'))\n* ```\n*\n* @see isNotNull for a way to test whether a value is not null.\n*/\nconst ne = (left, right) => {\n\treturn sql`${left} <> ${bindIfParam(right, left)}`;\n};\nfunction and(...unfilteredConditions) {\n\tconst conditions = unfilteredConditions.filter((c) => c !== void 0);\n\tif (conditions.length === 0) return;\n\tif (conditions.length === 1) return new SQL(conditions);\n\treturn new SQL([\n\t\tnew StringChunk(\"(\"),\n\t\tsql.join(conditions.map((c) => sql`(${c})`), new StringChunk(\" and \")),\n\t\tnew StringChunk(\")\")\n\t]);\n}\nfunction or(...unfilteredConditions) {\n\tconst conditions = unfilteredConditions.filter((c) => c !== void 0);\n\tif (conditions.length === 0) return;\n\tif (conditions.length === 1) return new SQL(conditions);\n\treturn new SQL([\n\t\tnew StringChunk(\"(\"),\n\t\tsql.join(conditions.map((c) => sql`(${c})`), new StringChunk(\" or \")),\n\t\tnew StringChunk(\")\")\n\t]);\n}\n/**\n* Negate the meaning of an expression using the `not` keyword.\n*\n* ## Examples\n*\n* ```ts\n* // Select cars _not_ made by GM or Ford.\n* db.select().from(cars)\n* .where(not(inArray(cars.make, ['GM', 'Ford'])))\n* ```\n*/\nfunction not(condition) {\n\treturn is(condition, SQL) ? sql`not (${condition})` : sql`not ${condition}`;\n}\n/**\n* Test that the first expression passed is greater than\n* the second expression.\n*\n* ## Examples\n*\n* ```ts\n* // Select cars made after 2000.\n* db.select().from(cars)\n* .where(gt(cars.year, 2000))\n* ```\n*\n* @see gte for greater-than-or-equal\n*/\nconst gt = (left, right) => {\n\treturn sql`${left} > ${bindIfParam(right, left)}`;\n};\n/**\n* Test that the first expression passed is greater than\n* or equal to the second expression. Use `gt` to\n* test whether an expression is strictly greater\n* than another.\n*\n* ## Examples\n*\n* ```ts\n* // Select cars made on or after 2000.\n* db.select().from(cars)\n* .where(gte(cars.year, 2000))\n* ```\n*\n* @see gt for a strictly greater-than condition\n*/\nconst gte = (left, right) => {\n\treturn sql`${left} >= ${bindIfParam(right, left)}`;\n};\n/**\n* Test that the first expression passed is less than\n* the second expression.\n*\n* ## Examples\n*\n* ```ts\n* // Select cars made before 2000.\n* db.select().from(cars)\n* .where(lt(cars.year, 2000))\n* ```\n*\n* @see lte for less-than-or-equal\n*/\nconst lt = (left, right) => {\n\treturn sql`${left} < ${bindIfParam(right, left)}`;\n};\n/**\n* Test that the first expression passed is less than\n* or equal to the second expression.\n*\n* ## Examples\n*\n* ```ts\n* // Select cars made before 2000.\n* db.select().from(cars)\n* .where(lte(cars.year, 2000))\n* ```\n*\n* @see lt for a strictly less-than condition\n*/\nconst lte = (left, right) => {\n\treturn sql`${left} <= ${bindIfParam(right, left)}`;\n};\nfunction inArray(column, values) {\n\tif (Array.isArray(values)) {\n\t\tif (values.length === 0) return sql`false`;\n\t\treturn sql`${column} in ${values.map((v) => bindIfParam(v, column))}`;\n\t}\n\treturn sql`${column} in ${bindIfParam(values, column)}`;\n}\nfunction notInArray(column, values) {\n\tif (Array.isArray(values)) {\n\t\tif (values.length === 0) return sql`true`;\n\t\treturn sql`${column} not in ${values.map((v) => bindIfParam(v, column))}`;\n\t}\n\treturn sql`${column} not in ${bindIfParam(values, column)}`;\n}\n/**\n* Test whether an expression is NULL. By the SQL standard,\n* NULL is neither equal nor not equal to itself, so\n* it's recommended to use `isNull` and `notIsNull` for\n* comparisons to NULL.\n*\n* ## Examples\n*\n* ```ts\n* // Select cars that have no discontinuedAt date.\n* db.select().from(cars)\n* .where(isNull(cars.discontinuedAt))\n* ```\n*\n* @see isNotNull for the inverse of this test\n*/\nfunction isNull(value) {\n\treturn sql`(${value} is null)`;\n}\n/**\n* Test whether an expression is not NULL. By the SQL standard,\n* NULL is neither equal nor not equal to itself, so\n* it's recommended to use `isNull` and `notIsNull` for\n* comparisons to NULL.\n*\n* ## Examples\n*\n* ```ts\n* // Select cars that have been discontinued.\n* db.select().from(cars)\n* .where(isNotNull(cars.discontinuedAt))\n* ```\n*\n* @see isNull for the inverse of this test\n*/\nfunction isNotNull(value) {\n\treturn sql`(${value} is not null)`;\n}\n/**\n* Test whether a subquery evaluates to have any rows.\n*\n* ## Examples\n*\n* ```ts\n* // Users whose `homeCity` column has a match in a cities\n* // table.\n* db\n* .select()\n* .from(users)\n* .where(\n* exists(db.select()\n* .from(cities)\n* .where(eq(users.homeCity, cities.id))),\n* );\n* ```\n*\n* @see notExists for the inverse of this test\n*/\nfunction exists(subquery) {\n\treturn sql`exists ${subquery}`;\n}\n/**\n* Test whether a subquery doesn't include any result\n* rows.\n*\n* ## Examples\n*\n* ```ts\n* // Users whose `homeCity` column doesn't match\n* // a row in the cities table.\n* db\n* .select()\n* .from(users)\n* .where(\n* notExists(db.select()\n* .from(cities)\n* .where(eq(users.homeCity, cities.id))),\n* );\n* ```\n*\n* @see exists for the inverse of this test\n*/\nfunction notExists(subquery) {\n\treturn sql`not exists ${subquery}`;\n}\nfunction between(column, min, max) {\n\treturn sql`${column} between ${bindIfParam(min, column)} and ${bindIfParam(max, column)}`;\n}\nfunction notBetween(column, min, max) {\n\treturn sql`${column} not between ${bindIfParam(min, column)} and ${bindIfParam(max, column)}`;\n}\n/**\n* Compare a column to a pattern, which can include `%` and `_`\n* characters to match multiple variations. Including `%`\n* in the pattern matches zero or more characters, and including\n* `_` will match a single character.\n*\n* ## Examples\n*\n* ```ts\n* // Select all cars with 'Turbo' in their names.\n* db.select().from(cars)\n* .where(like(cars.name, '%Turbo%'))\n* ```\n*\n* @see ilike for a case-insensitive version of this condition\n*/\nfunction like(column, value) {\n\treturn sql`${column} like ${value}`;\n}\n/**\n* The inverse of like - this tests that a given column\n* does not match a pattern, which can include `%` and `_`\n* characters to match multiple variations. Including `%`\n* in the pattern matches zero or more characters, and including\n* `_` will match a single character.\n*\n* ## Examples\n*\n* ```ts\n* // Select all cars that don't have \"ROver\" in their name.\n* db.select().from(cars)\n* .where(notLike(cars.name, '%Rover%'))\n* ```\n*\n* @see like for the inverse condition\n* @see notIlike for a case-insensitive version of this condition\n*/\nfunction notLike(column, value) {\n\treturn sql`${column} not like ${value}`;\n}\n/**\n* Case-insensitively compare a column to a pattern,\n* which can include `%` and `_`\n* characters to match multiple variations. Including `%`\n* in the pattern matches zero or more characters, and including\n* `_` will match a single character.\n*\n* Unlike like, this performs a case-insensitive comparison.\n*\n* ## Examples\n*\n* ```ts\n* // Select all cars with 'Turbo' in their names.\n* db.select().from(cars)\n* .where(ilike(cars.name, '%Turbo%'))\n* ```\n*\n* @see like for a case-sensitive version of this condition\n*/\nfunction ilike(column, value) {\n\treturn sql`${column} ilike ${value}`;\n}\n/**\n* The inverse of ilike - this case-insensitively tests that a given column\n* does not match a pattern, which can include `%` and `_`\n* characters to match multiple variations. Including `%`\n* in the pattern matches zero or more characters, and including\n* `_` will match a single character.\n*\n* ## Examples\n*\n* ```ts\n* // Select all cars that don't have \"Rover\" in their name.\n* db.select().from(cars)\n* .where(notLike(cars.name, '%Rover%'))\n* ```\n*\n* @see ilike for the inverse condition\n* @see notLike for a case-sensitive version of this condition\n*/\nfunction notIlike(column, value) {\n\treturn sql`${column} not ilike ${value}`;\n}\nfunction arrayContains(column, values) {\n\tif (Array.isArray(values)) {\n\t\tif (values.length === 0) throw new Error(\"arrayContains requires at least one value\");\n\t\tconst par = bindIfParam(values, column);\n\t\treturn sql`${column} @> ${sql`${Array.isArray(par) ? new Param(par) : par}`}`;\n\t}\n\treturn sql`${column} @> ${bindIfParam(values, column)}`;\n}\nfunction arrayContained(column, values) {\n\tif (Array.isArray(values)) {\n\t\tif (values.length === 0) throw new Error(\"arrayContained requires at least one value\");\n\t\tconst par = bindIfParam(values, column);\n\t\treturn sql`${column} <@ ${sql`${Array.isArray(par) ? new Param(par) : par}`}`;\n\t}\n\treturn sql`${column} <@ ${bindIfParam(values, column)}`;\n}\nfunction arrayOverlaps(column, values) {\n\tif (Array.isArray(values)) {\n\t\tif (values.length === 0) throw new Error(\"arrayOverlaps requires at least one value\");\n\t\tconst par = bindIfParam(values, column);\n\t\treturn sql`${column} && ${sql`${Array.isArray(par) ? new Param(par) : par}`}`;\n\t}\n\treturn sql`${column} && ${bindIfParam(values, column)}`;\n}\n\n//#endregion\nexport { and, arrayContained, arrayContains, arrayOverlaps, between, bindIfParam, eq, exists, gt, gte, ilike, inArray, isNotNull, isNull, like, lt, lte, ne, not, notBetween, notExists, notIlike, notInArray, notLike, or };\n//# sourceMappingURL=conditions.js.map", | ||
| "import { sql } from \"../sql.js\";\n\n//#region src/sql/expressions/select.ts\n/**\n* Used in sorting, this specifies that the given\n* column or expression should be sorted in ascending\n* order. By the SQL standard, ascending order is the\n* default, so it is not usually necessary to specify\n* ascending sort order.\n*\n* ## Examples\n*\n* ```ts\n* // Return cars, starting with the oldest models\n* // and going in ascending order to the newest.\n* db.select().from(cars)\n* .orderBy(asc(cars.year));\n* ```\n*\n* @see desc to sort in descending order\n*/\nfunction asc(column) {\n\treturn sql`${column} asc`;\n}\n/**\n* Used in sorting, this specifies that the given\n* column or expression should be sorted in descending\n* order.\n*\n* ## Examples\n*\n* ```ts\n* // Select users, with the most recently created\n* // records coming first.\n* db.select().from(users)\n* .orderBy(desc(users.createdAt));\n* ```\n*\n* @see asc to sort in ascending order\n*/\nfunction desc(column) {\n\treturn sql`${column} desc`;\n}\n\n//#endregion\nexport { asc, desc };\n//# sourceMappingURL=select.js.map" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "4BAC3EBD217E840C64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["src/commands/handlers/service/set.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport { Commands } from \"../../commands\"\nimport { Runtime } from \"../../../framework/runtime\"\nimport { ServiceConfig } from \"../../../services/service-config\"\n\nexport default Runtime.handler(\n Commands.commands.service.commands.set,\n Effect.fn(\"cli.service.set\")(function* (input) {\n yield* ServiceConfig.set(input.key, input.value)\n }),\n)\n" | ||
| ], | ||
| "mappings": ";snBAKA,SAAe,SAAQ,aACrB,OAAS,cAAS,aAAQ,cAAS,SACnC,OAAO,QAAG,sBAAiB,OAAE,cAAU,MAAC,OAAO,MAC7C,MAAO,EAAc,IAAI,EAAM,IAAK,EAAM,KAAK,EAChD,CACH", | ||
| "debugId": "224CECE64D1AFB6F64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "C4CAD5EBD83A679564756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "6C8FEC6A759480FA64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "A526C9A91B58B14164756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/p-map@7.0.4/node_modules/p-map/index.js"], | ||
| "sourcesContent": [ | ||
| "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" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "36B27C00F9CA0A2464756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@opentelemetry+resources@2.6.1+460773ef8ff1e07c/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/machine-id/getMachineId-unsupported.js"], | ||
| "sourcesContent": [ | ||
| "\"use strict\";\n/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getMachineId = void 0;\nconst api_1 = require(\"@opentelemetry/api\");\nasync function getMachineId() {\n api_1.diag.debug('could not read machine-id: unsupported platform');\n return undefined;\n}\nexports.getMachineId = getMachineId;\n//# sourceMappingURL=getMachineId-unsupported.js.map" | ||
| ], | ||
| "mappings": ";iHAKA,YAAO,eAAe,EAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EACpD,eAAoB,OAC5B,IAAM,MACN,eAAe,CAAY,EAAG,CAC1B,EAAM,KAAK,MAAM,iDAAiD,EAClE,OAEI,eAAe", | ||
| "debugId": "7E0DFFEC5E5D1E5864756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260702134641_add_session_context_entry.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260702134641_add_session_context_entry\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`\n CREATE TABLE \\`session_context_entry\\` (\n \\`session_id\\` text NOT NULL,\n \\`key\\` text NOT NULL,\n \\`value\\` text NOT NULL,\n \\`time_created\\` integer NOT NULL,\n \\`time_updated\\` integer NOT NULL,\n CONSTRAINT \\`session_context_entry_pk\\` PRIMARY KEY(\\`session_id\\`, \\`key\\`),\n CONSTRAINT \\`fk_session_context_entry_session_id_session_id_fk\\` FOREIGN KEY (\\`session_id\\`) REFERENCES \\`session\\`(\\`id\\`) ON DELETE CASCADE\n );\n `)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,2CACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,4eAUb,EACF,EAEL", | ||
| "debugId": "D455F84F5EE195E564756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260709013000_generic_session_input.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260709013000_generic_session_input\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`PRAGMA foreign_keys=OFF;`)\n yield* tx.run(`\n DELETE FROM \\`event\\`\n WHERE \\`type\\` IN ('session.prompt.admitted.1', 'session.prompt.promoted.1')\n AND json_extract(\\`data\\`, '$.inputID') IN (\n SELECT \\`id\\` FROM \\`session_input\\` WHERE \\`type\\` = 'prompt' AND \\`prompt\\` IS NULL\n );\n `)\n yield* tx.run(`\n CREATE TABLE \\`__new_session_input\\` (\n \\`id\\` text PRIMARY KEY,\n \\`session_id\\` text NOT NULL,\n \\`type\\` text NOT NULL,\n \\`data\\` text NOT NULL,\n \\`delivery\\` text,\n \\`admitted_seq\\` integer 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 INSERT INTO \\`__new_session_input\\`(\n \\`id\\`, \\`session_id\\`, \\`type\\`, \\`data\\`, \\`delivery\\`, \\`admitted_seq\\`, \\`promoted_seq\\`, \\`time_created\\`\n )\n SELECT\n \\`id\\`, \\`session_id\\`, CASE WHEN \\`type\\` = 'prompt' THEN 'user' ELSE \\`type\\` END,\n CASE WHEN \\`type\\` = 'prompt' THEN \\`prompt\\` ELSE '{}' END,\n \\`delivery\\`, \\`admitted_seq\\`, \\`promoted_seq\\`, \\`time_created\\`\n FROM \\`session_input\\`\n WHERE \\`type\\` != 'prompt' OR \\`prompt\\` IS NOT NULL;\n `)\n yield* tx.run(`DROP TABLE \\`session_input\\`;`)\n yield* tx.run(`ALTER TABLE \\`__new_session_input\\` RENAME TO \\`session_input\\`;`)\n yield* tx.run(`PRAGMA foreign_keys=ON;`)\n yield* tx.run(\n `CREATE INDEX \\`session_input_session_pending_delivery_seq_idx\\` ON \\`session_input\\` (\\`session_id\\`,\\`promoted_seq\\`,\\`delivery\\`,\\`admitted_seq\\`);`,\n )\n yield* tx.run(\n `CREATE UNIQUE INDEX \\`session_input_session_pending_compaction_idx\\` ON \\`session_input\\` (\\`session_id\\`) WHERE \\`type\\` = 'compaction' and \\`promoted_seq\\` is null;`,\n )\n yield* tx.run(\n `CREATE UNIQUE INDEX \\`session_input_session_admitted_seq_idx\\` ON \\`session_input\\` (\\`session_id\\`,\\`admitted_seq\\`);`,\n )\n yield* tx.run(\n `CREATE UNIQUE INDEX \\`session_input_session_promoted_seq_idx\\` ON \\`session_input\\` (\\`session_id\\`,\\`promoted_seq\\`);`,\n )\n yield* tx.run(`\n UPDATE \\`event\\`\n SET\n \\`type\\` = 'session.input.admitted.1',\n \\`data\\` = json_object(\n 'sessionID', json_extract(\\`data\\`, '$.sessionID'),\n 'inputID', json_extract(\\`data\\`, '$.inputID'),\n 'input', json_object(\n 'type', 'user',\n 'data', json_extract(\\`data\\`, '$.prompt'),\n 'delivery', json_extract(\\`data\\`, '$.delivery')\n )\n )\n WHERE \\`type\\` = 'session.prompt.admitted.1';\n `)\n yield* tx.run(`\n UPDATE \\`event\\`\n SET \\`type\\` = 'session.input.promoted.1'\n WHERE \\`type\\` = 'session.prompt.promoted.1';\n `)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,uCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,0BAA0B,EACxC,MAAO,EAAG,IAAI,0RAMb,EACD,MAAO,EAAG,IAAI,gfAYb,EACD,MAAO,EAAG,IAAI,sfAUb,EACD,MAAO,EAAG,IAAI,6BAA+B,EAC7C,MAAO,EAAG,IAAI,8DAAkE,EAChF,MAAO,EAAG,IAAI,yBAAyB,EACvC,MAAO,EAAG,IACR,2IACF,EACA,MAAO,EAAG,IACR,8JACF,EACA,MAAO,EAAG,IACR,gHACF,EACA,MAAO,EAAG,IACR,gHACF,EACA,MAAO,EAAG,IAAI,ogBAcb,EACD,MAAO,EAAG,IAAI,wIAIb,EACF,EAEL", | ||
| "debugId": "A2775806ED56251264756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/eventsource-parser@3.1.0/node_modules/eventsource-parser/dist/index.js", "../../node_modules/.bun/eventsource-parser@3.1.0/node_modules/eventsource-parser/dist/stream.js"], | ||
| "sourcesContent": [ | ||
| "class ParseError extends Error {\n constructor(message, options) {\n super(message), this.name = \"ParseError\", this.type = options.type, this.field = options.field, this.value = options.value, this.line = options.line;\n }\n}\nconst LF = 10, CR = 13, SPACE = 32;\nfunction noop(_arg) {\n}\nfunction createParser(config) {\n if (typeof config == \"function\")\n throw new TypeError(\n \"`config` must be an object, got a function instead. Did you mean `createParser({onEvent: fn})`?\"\n );\n const { onEvent = noop, onError = noop, onRetry = noop, onComment, maxBufferSize } = config, pendingFragments = [];\n let pendingFragmentsLength = 0, isFirstChunk = !0, id, data = \"\", dataLines = 0, eventType, terminated = !1;\n function feed(chunk) {\n if (terminated)\n throw new Error(\n \"Cannot feed parser: it was terminated after exceeding the configured max buffer size. Call `reset()` to resume parsing.\"\n );\n if (isFirstChunk && (isFirstChunk = !1, chunk.charCodeAt(0) === 239 && chunk.charCodeAt(1) === 187 && chunk.charCodeAt(2) === 191 && (chunk = chunk.slice(3))), pendingFragments.length === 0) {\n const trailing2 = processLines(chunk);\n trailing2 !== \"\" && (pendingFragments.push(trailing2), pendingFragmentsLength = trailing2.length), checkBufferSize();\n return;\n }\n if (chunk.indexOf(`\n`) === -1 && chunk.indexOf(\"\\r\") === -1) {\n pendingFragments.push(chunk), pendingFragmentsLength += chunk.length, checkBufferSize();\n return;\n }\n pendingFragments.push(chunk);\n const input = pendingFragments.join(\"\");\n pendingFragments.length = 0, pendingFragmentsLength = 0;\n const trailing = processLines(input);\n trailing !== \"\" && (pendingFragments.push(trailing), pendingFragmentsLength = trailing.length), checkBufferSize();\n }\n function checkBufferSize() {\n maxBufferSize !== void 0 && (pendingFragmentsLength + data.length <= maxBufferSize || (terminated = !0, pendingFragments.length = 0, pendingFragmentsLength = 0, id = void 0, data = \"\", dataLines = 0, eventType = void 0, onError(\n new ParseError(`Buffered data exceeded max buffer size of ${maxBufferSize} characters`, {\n type: \"max-buffer-size-exceeded\"\n })\n )));\n }\n function processLines(chunk) {\n let searchIndex = 0;\n if (chunk.indexOf(\"\\r\") === -1) {\n let lfIndex = chunk.indexOf(`\n`, searchIndex);\n for (; lfIndex !== -1; ) {\n if (searchIndex === lfIndex) {\n dataLines > 0 && onEvent({ id, event: eventType, data }), id = void 0, data = \"\", dataLines = 0, eventType = void 0, searchIndex = lfIndex + 1, lfIndex = chunk.indexOf(`\n`, searchIndex);\n continue;\n }\n const firstCharCode = chunk.charCodeAt(searchIndex);\n if (isDataPrefix(chunk, searchIndex, firstCharCode)) {\n const valueStart = chunk.charCodeAt(searchIndex + 5) === SPACE ? searchIndex + 6 : searchIndex + 5, value = chunk.slice(valueStart, lfIndex);\n if (dataLines === 0 && chunk.charCodeAt(lfIndex + 1) === LF) {\n onEvent({ id, event: eventType, data: value }), id = void 0, data = \"\", eventType = void 0, searchIndex = lfIndex + 2, lfIndex = chunk.indexOf(`\n`, searchIndex);\n continue;\n }\n data = dataLines === 0 ? value : `${data}\n${value}`, dataLines++;\n } else isEventPrefix(chunk, searchIndex, firstCharCode) ? eventType = chunk.slice(\n chunk.charCodeAt(searchIndex + 6) === SPACE ? searchIndex + 7 : searchIndex + 6,\n lfIndex\n ) || void 0 : parseLine(chunk, searchIndex, lfIndex);\n searchIndex = lfIndex + 1, lfIndex = chunk.indexOf(`\n`, searchIndex);\n }\n return chunk.slice(searchIndex);\n }\n for (; searchIndex < chunk.length; ) {\n const crIndex = chunk.indexOf(\"\\r\", searchIndex), lfIndex = chunk.indexOf(`\n`, searchIndex);\n let lineEnd = -1;\n if (crIndex !== -1 && lfIndex !== -1 ? lineEnd = crIndex < lfIndex ? crIndex : lfIndex : crIndex !== -1 ? crIndex === chunk.length - 1 ? lineEnd = -1 : lineEnd = crIndex : lfIndex !== -1 && (lineEnd = lfIndex), lineEnd === -1)\n break;\n parseLine(chunk, searchIndex, lineEnd), searchIndex = lineEnd + 1, chunk.charCodeAt(searchIndex - 1) === CR && chunk.charCodeAt(searchIndex) === LF && searchIndex++;\n }\n return chunk.slice(searchIndex);\n }\n function parseLine(chunk, start, end) {\n if (start === end) {\n dispatchEvent();\n return;\n }\n const firstCharCode = chunk.charCodeAt(start);\n if (isDataPrefix(chunk, start, firstCharCode)) {\n const valueStart = chunk.charCodeAt(start + 5) === SPACE ? start + 6 : start + 5, value2 = chunk.slice(valueStart, end);\n data = dataLines === 0 ? value2 : `${data}\n${value2}`, dataLines++;\n return;\n }\n if (isEventPrefix(chunk, start, firstCharCode)) {\n eventType = chunk.slice(chunk.charCodeAt(start + 6) === SPACE ? start + 7 : start + 6, end) || void 0;\n return;\n }\n if (firstCharCode === 105 && chunk.charCodeAt(start + 1) === 100 && chunk.charCodeAt(start + 2) === 58) {\n const value2 = chunk.slice(chunk.charCodeAt(start + 3) === SPACE ? start + 4 : start + 3, end);\n id = value2.includes(\"\\0\") ? void 0 : value2;\n return;\n }\n if (firstCharCode === 58) {\n if (onComment) {\n const line2 = chunk.slice(start, end);\n onComment(line2.slice(chunk.charCodeAt(start + 1) === SPACE ? 2 : 1));\n }\n return;\n }\n const line = chunk.slice(start, end), fieldSeparatorIndex = line.indexOf(\":\");\n if (fieldSeparatorIndex === -1) {\n processField(line, \"\", line);\n return;\n }\n const field = line.slice(0, fieldSeparatorIndex), offset = line.charCodeAt(fieldSeparatorIndex + 1) === SPACE ? 2 : 1, value = line.slice(fieldSeparatorIndex + offset);\n processField(field, value, line);\n }\n function processField(field, value, line) {\n switch (field) {\n case \"event\":\n eventType = value || void 0;\n break;\n case \"data\":\n data = dataLines === 0 ? value : `${data}\n${value}`, dataLines++;\n break;\n case \"id\":\n id = value.includes(\"\\0\") ? void 0 : value;\n break;\n case \"retry\":\n /^\\d+$/.test(value) ? onRetry(parseInt(value, 10)) : onError(\n new ParseError(`Invalid \\`retry\\` value: \"${value}\"`, {\n type: \"invalid-retry\",\n value,\n line\n })\n );\n break;\n default:\n onError(\n new ParseError(\n `Unknown field \"${field.length > 20 ? `${field.slice(0, 20)}\\u2026` : field}\"`,\n { type: \"unknown-field\", field, value, line }\n )\n );\n break;\n }\n }\n function dispatchEvent() {\n dataLines > 0 && onEvent({\n id,\n event: eventType,\n data\n }), id = void 0, data = \"\", dataLines = 0, eventType = void 0;\n }\n function reset(options = {}) {\n if (options.consume && pendingFragments.length > 0) {\n const incompleteLine = pendingFragments.join(\"\");\n parseLine(incompleteLine, 0, incompleteLine.length);\n }\n isFirstChunk = !0, id = void 0, data = \"\", dataLines = 0, eventType = void 0, pendingFragments.length = 0, pendingFragmentsLength = 0, terminated = !1;\n }\n return { feed, reset };\n}\nfunction isDataPrefix(chunk, i, firstCharCode) {\n return firstCharCode === 100 && chunk.charCodeAt(i + 1) === 97 && chunk.charCodeAt(i + 2) === 116 && chunk.charCodeAt(i + 3) === 97 && chunk.charCodeAt(i + 4) === 58;\n}\nfunction isEventPrefix(chunk, i, firstCharCode) {\n return firstCharCode === 101 && chunk.charCodeAt(i + 1) === 118 && chunk.charCodeAt(i + 2) === 101 && chunk.charCodeAt(i + 3) === 110 && chunk.charCodeAt(i + 4) === 116 && chunk.charCodeAt(i + 5) === 58;\n}\nexport {\n ParseError,\n createParser\n};\n//# sourceMappingURL=index.js.map\n", | ||
| "import { createParser } from \"./index.js\";\nimport { ParseError } from \"./index.js\";\nclass EventSourceParserStream extends TransformStream {\n constructor({ onError, onRetry, onComment, maxBufferSize } = {}) {\n let parser;\n super({\n start(controller) {\n parser = createParser({\n onEvent: (event) => {\n controller.enqueue(event);\n },\n onError(error) {\n typeof onError == \"function\" && onError(error), (onError === \"terminate\" || error.type === \"max-buffer-size-exceeded\") && controller.error(error);\n },\n onRetry,\n onComment,\n maxBufferSize\n });\n },\n transform(chunk) {\n parser.feed(chunk);\n }\n });\n }\n}\nexport {\n EventSourceParserStream,\n ParseError\n};\n//# sourceMappingURL=stream.js.map\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "33029666066CA93964756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "E65A84E831E5A6F764756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@smithy+node-http-handler@4.7.5/node_modules/@smithy/node-http-handler/dist-cjs/index.js"], | ||
| "sourcesContent": [ | ||
| "'use strict';\n\nvar node_https = require('node:https');\nvar protocols = require('@smithy/core/protocols');\nvar node_stream = require('node:stream');\nvar http2 = require('node:http2');\n\nfunction buildAbortError(abortSignal) {\n const reason = abortSignal && typeof abortSignal === \"object\" && \"reason\" in abortSignal\n ? abortSignal.reason\n : undefined;\n if (reason) {\n if (reason instanceof Error) {\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n abortError.cause = reason;\n return abortError;\n }\n const abortError = new Error(String(reason));\n abortError.name = \"AbortError\";\n return abortError;\n }\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n return abortError;\n}\n\nconst NODEJS_TIMEOUT_ERROR_CODES = [\"ECONNRESET\", \"EPIPE\", \"ETIMEDOUT\"];\n\nconst getTransformedHeaders = (headers) => {\n const transformedHeaders = {};\n for (const name in headers) {\n const headerValues = headers[name];\n transformedHeaders[name] = Array.isArray(headerValues) ? headerValues.join(\",\") : headerValues;\n }\n return transformedHeaders;\n};\n\nconst timing = {\n setTimeout: (cb, ms) => setTimeout(cb, ms),\n clearTimeout: (timeoutId) => clearTimeout(timeoutId),\n};\n\nconst DEFER_EVENT_LISTENER_TIME$2 = 1000;\nconst setConnectionTimeout = (request, reject, timeoutInMs = 0) => {\n if (!timeoutInMs) {\n return -1;\n }\n const registerTimeout = (offset) => {\n const timeoutId = timing.setTimeout(() => {\n request.destroy();\n reject(Object.assign(new Error(`@smithy/node-http-handler - the request socket did not establish a connection with the server within the configured timeout of ${timeoutInMs} ms.`), {\n name: \"TimeoutError\",\n }));\n }, timeoutInMs - offset);\n const doWithSocket = (socket) => {\n if (socket?.connecting) {\n socket.on(\"connect\", () => {\n timing.clearTimeout(timeoutId);\n });\n }\n else {\n timing.clearTimeout(timeoutId);\n }\n };\n if (request.socket) {\n doWithSocket(request.socket);\n }\n else {\n request.on(\"socket\", doWithSocket);\n }\n };\n if (timeoutInMs < 2000) {\n registerTimeout(0);\n return 0;\n }\n return timing.setTimeout(registerTimeout.bind(null, DEFER_EVENT_LISTENER_TIME$2), DEFER_EVENT_LISTENER_TIME$2);\n};\n\nconst setRequestTimeout = (req, reject, timeoutInMs = 0, throwOnRequestTimeout, logger) => {\n if (timeoutInMs) {\n return timing.setTimeout(() => {\n let msg = `@smithy/node-http-handler - [${throwOnRequestTimeout ? \"ERROR\" : \"WARN\"}] a request has exceeded the configured ${timeoutInMs} ms requestTimeout.`;\n if (throwOnRequestTimeout) {\n const error = Object.assign(new Error(msg), {\n name: \"TimeoutError\",\n code: \"ETIMEDOUT\",\n });\n req.destroy(error);\n reject(error);\n }\n else {\n msg += ` Init client requestHandler with throwOnRequestTimeout=true to turn this into an error.`;\n logger?.warn?.(msg);\n }\n }, timeoutInMs);\n }\n return -1;\n};\n\nconst DEFER_EVENT_LISTENER_TIME$1 = 3000;\nconst setSocketKeepAlive = (request, { keepAlive, keepAliveMsecs }, deferTimeMs = DEFER_EVENT_LISTENER_TIME$1) => {\n if (keepAlive !== true) {\n return -1;\n }\n const registerListener = () => {\n if (request.socket) {\n request.socket.setKeepAlive(keepAlive, keepAliveMsecs || 0);\n }\n else {\n request.on(\"socket\", (socket) => {\n socket.setKeepAlive(keepAlive, keepAliveMsecs || 0);\n });\n }\n };\n if (deferTimeMs === 0) {\n registerListener();\n return 0;\n }\n return timing.setTimeout(registerListener, deferTimeMs);\n};\n\nconst DEFER_EVENT_LISTENER_TIME = 3000;\nconst setSocketTimeout = (request, reject, timeoutInMs = 0) => {\n const registerTimeout = (offset) => {\n const timeout = timeoutInMs - offset;\n const onTimeout = () => {\n request.destroy();\n reject(Object.assign(new Error(`@smithy/node-http-handler - the request socket timed out after ${timeoutInMs} ms of inactivity (configured by client requestHandler).`), { name: \"TimeoutError\" }));\n };\n if (request.socket) {\n request.socket.setTimeout(timeout, onTimeout);\n request.on(\"close\", () => request.socket?.removeListener(\"timeout\", onTimeout));\n }\n else {\n request.setTimeout(timeout, onTimeout);\n }\n };\n if (0 < timeoutInMs && timeoutInMs < 6000) {\n registerTimeout(0);\n return 0;\n }\n return timing.setTimeout(registerTimeout.bind(null, timeoutInMs === 0 ? 0 : DEFER_EVENT_LISTENER_TIME), DEFER_EVENT_LISTENER_TIME);\n};\n\nconst MIN_WAIT_TIME = 6_000;\nasync function writeRequestBody(httpRequest, request, maxContinueTimeoutMs = MIN_WAIT_TIME, externalAgent = false) {\n const headers = request.headers;\n const expect = headers ? headers.Expect || headers.expect : undefined;\n let timeoutId = -1;\n let sendBody = true;\n if (!externalAgent && expect === \"100-continue\") {\n sendBody = await Promise.race([\n new Promise((resolve) => {\n timeoutId = Number(timing.setTimeout(() => resolve(true), Math.max(MIN_WAIT_TIME, maxContinueTimeoutMs)));\n }),\n new Promise((resolve) => {\n httpRequest.on(\"continue\", () => {\n timing.clearTimeout(timeoutId);\n resolve(true);\n });\n httpRequest.on(\"response\", () => {\n timing.clearTimeout(timeoutId);\n resolve(false);\n });\n httpRequest.on(\"error\", () => {\n timing.clearTimeout(timeoutId);\n resolve(false);\n });\n }),\n ]);\n }\n if (sendBody) {\n writeBody(httpRequest, request.body);\n }\n}\nfunction writeBody(httpRequest, body) {\n if (body instanceof node_stream.Readable) {\n body.pipe(httpRequest);\n return;\n }\n if (body) {\n const isBuffer = Buffer.isBuffer(body);\n const isString = typeof body === \"string\";\n if (isBuffer || isString) {\n if (isBuffer && body.byteLength === 0) {\n httpRequest.end();\n }\n else {\n httpRequest.end(body);\n }\n return;\n }\n const uint8 = body;\n if (typeof uint8 === \"object\" &&\n uint8.buffer &&\n typeof uint8.byteOffset === \"number\" &&\n typeof uint8.byteLength === \"number\") {\n httpRequest.end(Buffer.from(uint8.buffer, uint8.byteOffset, uint8.byteLength));\n return;\n }\n httpRequest.end(Buffer.from(body));\n return;\n }\n httpRequest.end();\n}\n\nconst DEFAULT_REQUEST_TIMEOUT = 0;\nlet hAgent = undefined;\nlet hRequest = undefined;\nclass NodeHttpHandler {\n config;\n configProvider;\n socketWarningTimestamp = 0;\n externalAgent = false;\n metadata = { handlerProtocol: \"http/1.1\" };\n static create(instanceOrOptions) {\n if (typeof instanceOrOptions?.handle === \"function\") {\n return instanceOrOptions;\n }\n return new NodeHttpHandler(instanceOrOptions);\n }\n static checkSocketUsage(agent, socketWarningTimestamp, logger = console) {\n const { sockets, requests, maxSockets } = agent;\n if (typeof maxSockets !== \"number\" || maxSockets === Infinity) {\n return socketWarningTimestamp;\n }\n const interval = 15_000;\n if (Date.now() - interval < socketWarningTimestamp) {\n return socketWarningTimestamp;\n }\n if (sockets && requests) {\n for (const origin in sockets) {\n const socketsInUse = sockets[origin]?.length ?? 0;\n const requestsEnqueued = requests[origin]?.length ?? 0;\n if (socketsInUse >= maxSockets && requestsEnqueued >= 2 * maxSockets) {\n logger?.warn?.(`@smithy/node-http-handler:WARN - socket usage at capacity=${socketsInUse} and ${requestsEnqueued} additional requests are enqueued.\nSee https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/node-configuring-maxsockets.html\nor increase socketAcquisitionWarningTimeout=(millis) in the NodeHttpHandler config.`);\n return Date.now();\n }\n }\n }\n return socketWarningTimestamp;\n }\n constructor(options) {\n this.configProvider = new Promise((resolve, reject) => {\n if (typeof options === \"function\") {\n options()\n .then((_options) => {\n resolve(this.resolveDefaultConfig(_options));\n })\n .catch(reject);\n }\n else {\n resolve(this.resolveDefaultConfig(options));\n }\n });\n }\n destroy() {\n this.config?.httpAgent?.destroy();\n this.config?.httpsAgent?.destroy();\n }\n async handle(request, { abortSignal, requestTimeout } = {}) {\n if (!this.config) {\n this.config = await this.configProvider;\n }\n const config = this.config;\n const isSSL = request.protocol === \"https:\";\n if (!isSSL && !this.config.httpAgent) {\n this.config.httpAgent = await this.config.httpAgentProvider();\n }\n return new Promise((_resolve, _reject) => {\n let writeRequestBodyPromise = undefined;\n let socketWarningTimeoutId = -1;\n let connectionTimeoutId = -1;\n let requestTimeoutId = -1;\n let socketTimeoutId = -1;\n let keepAliveTimeoutId = -1;\n const clearTimeouts = () => {\n timing.clearTimeout(socketWarningTimeoutId);\n timing.clearTimeout(connectionTimeoutId);\n timing.clearTimeout(requestTimeoutId);\n timing.clearTimeout(socketTimeoutId);\n timing.clearTimeout(keepAliveTimeoutId);\n };\n const resolve = async (arg) => {\n await writeRequestBodyPromise;\n clearTimeouts();\n _resolve(arg);\n };\n const reject = async (arg) => {\n await writeRequestBodyPromise;\n clearTimeouts();\n _reject(arg);\n };\n if (abortSignal?.aborted) {\n const abortError = buildAbortError(abortSignal);\n reject(abortError);\n return;\n }\n const headers = request.headers;\n const expectContinue = headers ? (headers.Expect ?? headers.expect) === \"100-continue\" : false;\n let agent = isSSL ? config.httpsAgent : config.httpAgent;\n if (expectContinue && !this.externalAgent) {\n agent = new (isSSL ? node_https.Agent : hAgent)({\n keepAlive: false,\n maxSockets: Infinity,\n });\n }\n socketWarningTimeoutId = timing.setTimeout(() => {\n this.socketWarningTimestamp = NodeHttpHandler.checkSocketUsage(agent, this.socketWarningTimestamp, config.logger);\n }, config.socketAcquisitionWarningTimeout ?? (config.requestTimeout ?? 2000) + (config.connectionTimeout ?? 1000));\n const queryString = request.query ? protocols.buildQueryString(request.query) : \"\";\n let auth = undefined;\n if (request.username != null || request.password != null) {\n const username = request.username ?? \"\";\n const password = request.password ?? \"\";\n auth = `${username}:${password}`;\n }\n let path = request.path;\n if (queryString) {\n path += `?${queryString}`;\n }\n if (request.fragment) {\n path += `#${request.fragment}`;\n }\n let hostname = request.hostname ?? \"\";\n if (hostname[0] === \"[\" && hostname.endsWith(\"]\")) {\n hostname = request.hostname.slice(1, -1);\n }\n else {\n hostname = request.hostname;\n }\n const nodeHttpsOptions = {\n headers: request.headers,\n host: hostname,\n method: request.method,\n path,\n port: request.port,\n agent,\n auth,\n };\n const requestFunc = isSSL ? node_https.request : hRequest;\n const req = requestFunc(nodeHttpsOptions, (res) => {\n const httpResponse = new protocols.HttpResponse({\n statusCode: res.statusCode || -1,\n reason: res.statusMessage,\n headers: getTransformedHeaders(res.headers),\n body: res,\n });\n resolve({ response: httpResponse });\n });\n req.on(\"error\", (err) => {\n if (NODEJS_TIMEOUT_ERROR_CODES.includes(err.code)) {\n reject(Object.assign(err, { name: \"TimeoutError\" }));\n }\n else {\n reject(err);\n }\n });\n if (abortSignal) {\n const onAbort = () => {\n req.destroy();\n const abortError = buildAbortError(abortSignal);\n reject(abortError);\n };\n if (typeof abortSignal.addEventListener === \"function\") {\n const signal = abortSignal;\n signal.addEventListener(\"abort\", onAbort, { once: true });\n req.once(\"close\", () => signal.removeEventListener(\"abort\", onAbort));\n }\n else {\n abortSignal.onabort = onAbort;\n }\n }\n const effectiveRequestTimeout = requestTimeout ?? config.requestTimeout;\n connectionTimeoutId = setConnectionTimeout(req, reject, config.connectionTimeout);\n requestTimeoutId = setRequestTimeout(req, reject, effectiveRequestTimeout, config.throwOnRequestTimeout, config.logger ?? console);\n socketTimeoutId = setSocketTimeout(req, reject, config.socketTimeout);\n const httpAgent = nodeHttpsOptions.agent;\n if (typeof httpAgent === \"object\" && \"keepAlive\" in httpAgent) {\n keepAliveTimeoutId = setSocketKeepAlive(req, {\n keepAlive: httpAgent.keepAlive,\n keepAliveMsecs: httpAgent.keepAliveMsecs,\n });\n }\n writeRequestBodyPromise = writeRequestBody(req, request, effectiveRequestTimeout, this.externalAgent).catch((e) => {\n clearTimeouts();\n return _reject(e);\n });\n });\n }\n updateHttpClientConfig(key, value) {\n this.config = undefined;\n this.configProvider = this.configProvider.then((config) => {\n return {\n ...config,\n [key]: value,\n };\n });\n }\n httpHandlerConfigs() {\n return this.config ?? {};\n }\n resolveDefaultConfig(options) {\n const { requestTimeout, connectionTimeout, socketTimeout, socketAcquisitionWarningTimeout, httpAgent, httpsAgent, throwOnRequestTimeout, logger, } = options || {};\n const keepAlive = true;\n const maxSockets = 50;\n return {\n connectionTimeout,\n requestTimeout,\n socketTimeout,\n socketAcquisitionWarningTimeout,\n throwOnRequestTimeout,\n httpAgentProvider: async () => {\n const { Agent, request } = await import('node:http');\n hRequest = request;\n hAgent = Agent;\n if (httpAgent instanceof hAgent || typeof httpAgent?.destroy === \"function\") {\n this.externalAgent = true;\n return httpAgent;\n }\n return new hAgent({ keepAlive, maxSockets, ...httpAgent });\n },\n httpsAgent: (() => {\n if (httpsAgent instanceof node_https.Agent || typeof httpsAgent?.destroy === \"function\") {\n this.externalAgent = true;\n return httpsAgent;\n }\n return new node_https.Agent({ keepAlive, maxSockets, ...httpsAgent });\n })(),\n logger,\n };\n }\n}\n\nconst ids = new Uint16Array(1);\nclass ClientHttp2SessionRef {\n id = ids[0]++;\n total = 0;\n max = 0;\n session;\n refs = 0;\n constructor(session) {\n session.unref();\n this.session = session;\n }\n retain() {\n if (this.session.destroyed) {\n throw new Error(\"@smithy/node-http-handler - cannot acquire reference to destroyed session.\");\n }\n this.refs += 1;\n this.total += 1;\n this.max = Math.max(this.refs, this.max);\n this.session.ref();\n }\n free() {\n if (this.session.destroyed) {\n return;\n }\n this.refs -= 1;\n if (this.refs === 0) {\n this.session.unref();\n }\n if (this.refs < 0) {\n throw new Error(\"@smithy/node-http-handler - ClientHttp2Session refcount at zero, cannot decrement.\");\n }\n }\n deref() {\n return this.session;\n }\n close() {\n if (!this.session.closed) {\n this.session.close();\n }\n }\n destroy() {\n this.refs = 0;\n if (!this.session.destroyed) {\n this.session.destroy();\n }\n }\n useCount() {\n return this.refs;\n }\n}\n\nclass NodeHttp2ConnectionPool {\n sessions = [];\n maxConcurrency = 0;\n constructor(sessions) {\n this.sessions = (sessions ?? []).map((session) => new ClientHttp2SessionRef(session));\n }\n poll() {\n let cleanup = false;\n for (const session of this.sessions) {\n if (session.deref().destroyed) {\n cleanup = true;\n continue;\n }\n if (!this.maxConcurrency || session.useCount() < this.maxConcurrency) {\n return session;\n }\n }\n if (cleanup) {\n for (const session of this.sessions) {\n if (session.deref().destroyed) {\n this.remove(session);\n }\n }\n }\n }\n offerLast(ref) {\n this.sessions.push(ref);\n }\n remove(ref) {\n const ix = this.sessions.indexOf(ref);\n if (ix > -1) {\n this.sessions.splice(ix, 1);\n }\n }\n [Symbol.iterator]() {\n return this.sessions[Symbol.iterator]();\n }\n setMaxConcurrency(maxConcurrency) {\n this.maxConcurrency = maxConcurrency;\n }\n destroy(ref) {\n this.remove(ref);\n ref.destroy();\n }\n}\n\nclass NodeHttp2ConnectionManager {\n config;\n connectOptions;\n connectionPools = new Map();\n constructor(config) {\n this.config = config;\n if (this.config.maxConcurrency && this.config.maxConcurrency <= 0) {\n throw new RangeError(\"maxConcurrency must be greater than zero.\");\n }\n }\n lease(requestContext, connectionConfiguration) {\n const url = this.getUrlString(requestContext);\n const pool = this.getPool(url);\n if (!this.config.disableConcurrency && !connectionConfiguration.isEventStream) {\n const available = pool.poll();\n if (available) {\n available.retain();\n return available;\n }\n }\n const ref = new ClientHttp2SessionRef(this.connect(url));\n const session = ref.deref();\n if (this.config.maxConcurrency) {\n session.settings({ maxConcurrentStreams: this.config.maxConcurrency }, (err) => {\n if (err) {\n throw new Error(\"Fail to set maxConcurrentStreams to \" +\n this.config.maxConcurrency +\n \"when creating new session for \" +\n requestContext.destination.toString());\n }\n });\n }\n const graceful = () => {\n this.removeFromPoolAndClose(url, ref);\n };\n const ensureDestroyed = () => {\n this.removeFromPoolAndCheckedDestroy(url, ref);\n };\n session.on(\"goaway\", graceful);\n session.on(\"error\", ensureDestroyed);\n session.on(\"frameError\", ensureDestroyed);\n session.on(\"close\", ensureDestroyed);\n if (connectionConfiguration.requestTimeout) {\n session.setTimeout(connectionConfiguration.requestTimeout, ensureDestroyed);\n }\n pool.offerLast(ref);\n ref.retain();\n return ref;\n }\n release(_requestContext, ref) {\n ref.free();\n }\n createIsolatedSession(requestContext, connectionConfiguration) {\n const url = this.getUrlString(requestContext);\n const ref = new ClientHttp2SessionRef(this.connect(url));\n const session = ref.deref();\n session.settings({ maxConcurrentStreams: 1 });\n const ensureDestroyed = () => {\n ref.destroy();\n };\n session.on(\"error\", ensureDestroyed);\n session.on(\"frameError\", ensureDestroyed);\n session.on(\"close\", ensureDestroyed);\n if (connectionConfiguration.requestTimeout) {\n session.setTimeout(connectionConfiguration.requestTimeout, ensureDestroyed);\n }\n ref.retain();\n return ref;\n }\n destroy() {\n for (const [url, connectionPool] of this.connectionPools) {\n for (const session of [...connectionPool]) {\n session.destroy();\n }\n this.connectionPools.delete(url);\n }\n }\n setMaxConcurrentStreams(maxConcurrentStreams) {\n if (maxConcurrentStreams && maxConcurrentStreams <= 0) {\n throw new RangeError(\"maxConcurrentStreams must be greater than zero.\");\n }\n this.config.maxConcurrency = maxConcurrentStreams;\n for (const pool of this.connectionPools.values()) {\n pool.setMaxConcurrency(maxConcurrentStreams);\n }\n }\n setDisableConcurrentStreams(disableConcurrentStreams) {\n this.config.disableConcurrency = disableConcurrentStreams;\n }\n setNodeHttp2ConnectOptions(nodeHttp2ConnectOptions) {\n this.connectOptions = nodeHttp2ConnectOptions;\n }\n debug() {\n const pools = {};\n for (const [url, pool] of this.connectionPools) {\n const sessions = [];\n for (const ref of pool) {\n sessions.push({\n id: ref.id,\n active: ref.useCount(),\n maxConcurrent: ref.max,\n totalRequests: ref.total,\n });\n }\n pools[url] = { sessions };\n }\n return pools;\n }\n removeFromPoolAndClose(authority, ref) {\n this.connectionPools.get(authority)?.remove(ref);\n ref.close();\n }\n removeFromPoolAndCheckedDestroy(authority, ref) {\n this.connectionPools.get(authority)?.remove(ref);\n ref.destroy();\n }\n getPool(url) {\n if (!this.connectionPools.has(url)) {\n const pool = new NodeHttp2ConnectionPool();\n if (this.config.maxConcurrency) {\n pool.setMaxConcurrency(this.config.maxConcurrency);\n }\n this.connectionPools.set(url, pool);\n }\n return this.connectionPools.get(url);\n }\n getUrlString(request) {\n return request.destination.toString();\n }\n connect(url) {\n return this.connectOptions === undefined ? http2.connect(url) : http2.connect(url, this.connectOptions);\n }\n}\n\nclass NodeHttp2Handler {\n config;\n configProvider;\n metadata = { handlerProtocol: \"h2\" };\n connectionManager = new NodeHttp2ConnectionManager({});\n static create(instanceOrOptions) {\n if (typeof instanceOrOptions?.handle === \"function\") {\n return instanceOrOptions;\n }\n return new NodeHttp2Handler(instanceOrOptions);\n }\n constructor(options) {\n this.configProvider = new Promise((resolve, reject) => {\n if (typeof options === \"function\") {\n options()\n .then((opts) => {\n resolve(opts || {});\n })\n .catch(reject);\n }\n else {\n resolve(options || {});\n }\n });\n }\n destroy() {\n this.connectionManager.destroy();\n }\n async handle(request, { abortSignal, requestTimeout, isEventStream } = {}) {\n if (!this.config) {\n this.config = await this.configProvider;\n const { disableConcurrentStreams, maxConcurrentStreams, nodeHttp2ConnectOptions } = this.config;\n this.connectionManager.setDisableConcurrentStreams(disableConcurrentStreams ?? false);\n if (maxConcurrentStreams) {\n this.connectionManager.setMaxConcurrentStreams(maxConcurrentStreams);\n }\n if (nodeHttp2ConnectOptions) {\n this.connectionManager.setNodeHttp2ConnectOptions(nodeHttp2ConnectOptions);\n }\n }\n const { requestTimeout: configRequestTimeout, disableConcurrentStreams } = this.config;\n const useIsolatedSession = disableConcurrentStreams || isEventStream;\n const effectiveRequestTimeout = requestTimeout ?? configRequestTimeout;\n return new Promise((_resolve, _reject) => {\n let fulfilled = false;\n let writeRequestBodyPromise = undefined;\n const resolve = async (arg) => {\n await writeRequestBodyPromise;\n _resolve(arg);\n };\n const reject = async (arg) => {\n await writeRequestBodyPromise;\n _reject(arg);\n };\n if (abortSignal?.aborted) {\n fulfilled = true;\n const abortError = buildAbortError(abortSignal);\n reject(abortError);\n return;\n }\n const { hostname, method, port, protocol, query } = request;\n let auth = \"\";\n if (request.username != null || request.password != null) {\n const username = request.username ?? \"\";\n const password = request.password ?? \"\";\n auth = `${username}:${password}@`;\n }\n const authority = `${protocol}//${auth}${hostname}${port ? `:${port}` : \"\"}`;\n const requestContext = { destination: new URL(authority) };\n const connectConfig = {\n requestTimeout: this.config?.sessionTimeout,\n isEventStream,\n };\n const ref = useIsolatedSession\n ? this.connectionManager.createIsolatedSession(requestContext, connectConfig)\n : this.connectionManager.lease(requestContext, connectConfig);\n const session = ref.deref();\n const rejectWithDestroy = (err) => {\n if (useIsolatedSession) {\n ref.destroy();\n }\n fulfilled = true;\n reject(err);\n };\n const queryString = query ? protocols.buildQueryString(query) : \"\";\n let path = request.path;\n if (queryString) {\n path += `?${queryString}`;\n }\n if (request.fragment) {\n path += `#${request.fragment}`;\n }\n const clientHttp2Stream = session.request({\n ...request.headers,\n [http2.constants.HTTP2_HEADER_PATH]: path,\n [http2.constants.HTTP2_HEADER_METHOD]: method,\n });\n if (effectiveRequestTimeout) {\n clientHttp2Stream.setTimeout(effectiveRequestTimeout, () => {\n clientHttp2Stream.close();\n const timeoutError = new Error(`Stream timed out because of no activity for ${effectiveRequestTimeout} ms`);\n timeoutError.name = \"TimeoutError\";\n rejectWithDestroy(timeoutError);\n });\n }\n if (abortSignal) {\n const onAbort = () => {\n clientHttp2Stream.close();\n const abortError = buildAbortError(abortSignal);\n rejectWithDestroy(abortError);\n };\n if (typeof abortSignal.addEventListener === \"function\") {\n const signal = abortSignal;\n signal.addEventListener(\"abort\", onAbort, { once: true });\n clientHttp2Stream.once(\"close\", () => signal.removeEventListener(\"abort\", onAbort));\n }\n else {\n abortSignal.onabort = onAbort;\n }\n }\n clientHttp2Stream.on(\"frameError\", (type, code, id) => {\n rejectWithDestroy(new Error(`Frame type id ${type} in stream id ${id} has failed with code ${code}.`));\n });\n clientHttp2Stream.on(\"error\", rejectWithDestroy);\n clientHttp2Stream.on(\"aborted\", () => {\n rejectWithDestroy(new Error(`HTTP/2 stream is abnormally aborted in mid-communication with result code ${clientHttp2Stream.rstCode}.`));\n });\n clientHttp2Stream.on(\"response\", (headers) => {\n const httpResponse = new protocols.HttpResponse({\n statusCode: headers[\":status\"] ?? -1,\n headers: getTransformedHeaders(headers),\n body: clientHttp2Stream,\n });\n fulfilled = true;\n resolve({ response: httpResponse });\n if (useIsolatedSession) {\n session.close();\n }\n });\n clientHttp2Stream.on(\"close\", () => {\n if (useIsolatedSession) {\n ref.destroy();\n }\n else {\n this.connectionManager.release(requestContext, ref);\n }\n if (!fulfilled) {\n rejectWithDestroy(new Error(\"Unexpected error: http2 request did not get a response\"));\n }\n });\n writeRequestBodyPromise = writeRequestBody(clientHttp2Stream, request, effectiveRequestTimeout);\n });\n }\n updateHttpClientConfig(key, value) {\n this.config = undefined;\n this.configProvider = this.configProvider.then((config) => {\n return {\n ...config,\n [key]: value,\n };\n });\n }\n httpHandlerConfigs() {\n return this.config ?? {};\n }\n}\n\nclass Collector extends node_stream.Writable {\n bufferedBytes = [];\n _write(chunk, encoding, callback) {\n this.bufferedBytes.push(chunk);\n callback();\n }\n}\n\nconst streamCollector = (stream) => {\n if (isReadableStreamInstance(stream)) {\n return collectReadableStream(stream);\n }\n return new Promise((resolve, reject) => {\n const collector = new Collector();\n stream.pipe(collector);\n stream.on(\"error\", (err) => {\n collector.end();\n reject(err);\n });\n collector.on(\"error\", reject);\n collector.on(\"finish\", function () {\n const bytes = new Uint8Array(Buffer.concat(this.bufferedBytes));\n resolve(bytes);\n });\n });\n};\nconst isReadableStreamInstance = (stream) => typeof ReadableStream === \"function\" && stream instanceof ReadableStream;\nasync function collectReadableStream(stream) {\n const chunks = [];\n const reader = stream.getReader();\n let isDone = false;\n let length = 0;\n while (!isDone) {\n const { done, value } = await reader.read();\n if (value) {\n chunks.push(value);\n length += value.length;\n }\n isDone = done;\n }\n const collected = new Uint8Array(length);\n let offset = 0;\n for (const chunk of chunks) {\n collected.set(chunk, offset);\n offset += chunk.length;\n }\n return collected;\n}\n\nexports.DEFAULT_REQUEST_TIMEOUT = DEFAULT_REQUEST_TIMEOUT;\nexports.NodeHttp2Handler = NodeHttp2Handler;\nexports.NodeHttpHandler = NodeHttpHandler;\nexports.streamCollector = streamCollector;\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "1472137A8E5552FE64756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["../schema/src/schema.ts"], | ||
| "sourcesContent": [ | ||
| "import { DateTime, Option, Schema, SchemaGetter } from \"effect\"\n\nexport const PositiveInt = Schema.Int.check(Schema.isGreaterThan(0))\nexport const NonNegativeInt = Schema.Int.check(Schema.isGreaterThanOrEqualTo(0))\n\nexport const RelativePath = Schema.String.pipe(Schema.brand(\"RelativePath\"))\nexport type RelativePath = typeof RelativePath.Type\n\nexport const AbsolutePath = Schema.String.pipe(Schema.brand(\"AbsolutePath\"))\nexport type AbsolutePath = typeof AbsolutePath.Type\n\nexport const optional = <S extends Schema.Top>(schema: S) =>\n Schema.optionalKey(schema).pipe(\n Schema.decodeTo(Schema.optional(Schema.toType(schema)), {\n decode: SchemaGetter.passthrough({ strict: false }),\n encode: SchemaGetter.transformOptional(Option.filter((value) => value !== undefined)),\n }),\n )\n\nexport const statics =\n <S extends object, M extends Record<string, unknown>>(methods: (schema: S) => M) =>\n (schema: S): S & M =>\n Object.assign(schema, methods(schema))\n\nexport const DateTimeUtcFromMillis = Schema.Finite.pipe(\n Schema.decodeTo(Schema.DateTimeUtc, {\n decode: SchemaGetter.transform((value) => DateTime.makeUnsafe(value)),\n encode: SchemaGetter.transform((value) => DateTime.toEpochMillis(value)),\n }),\n)\n" | ||
| ], | ||
| "mappings": ";4EAEO,IAAM,EAAc,EAAO,IAAI,MAAM,EAAO,cAAc,CAAC,CAAC,EACtD,EAAiB,EAAO,IAAI,MAAM,EAAO,uBAAuB,CAAC,CAAC,EAElE,EAAe,EAAO,OAAO,KAAK,EAAO,MAAM,cAAc,CAAC,EAG9D,EAAe,EAAO,OAAO,KAAK,EAAO,MAAM,cAAc,CAAC,EAG9D,EAAW,CAAuB,IAC7C,EAAO,YAAY,CAAM,EAAE,KACzB,EAAO,SAAS,EAAO,SAAS,EAAO,OAAO,CAAM,CAAC,EAAG,CACtD,OAAQ,EAAa,YAAY,CAAE,OAAQ,EAAM,CAAC,EAClD,OAAQ,EAAa,kBAAkB,EAAO,OAAO,CAAC,IAAU,IAAU,MAAS,CAAC,CACtF,CAAC,CACH,EAEW,EACX,CAAsD,IACtD,CAAC,IACC,OAAO,OAAO,EAAQ,EAAQ,CAAM,CAAC,EAE5B,EAAwB,EAAO,OAAO,KACjD,EAAO,SAAS,EAAO,YAAa,CAClC,OAAQ,EAAa,UAAU,CAAC,IAAU,EAAS,WAAW,CAAK,CAAC,EACpE,OAAQ,EAAa,UAAU,CAAC,IAAU,EAAS,cAAc,CAAK,CAAC,CACzE,CAAC,CACH", | ||
| "debugId": "E39FBCF756E8FCB364756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "C1106CF9A8165B7664756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260427172553_slow_nightmare.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260427172553_slow_nightmare\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`\n CREATE TABLE \\`session_message\\` (\n \\`id\\` text PRIMARY KEY,\n \\`session_id\\` text NOT NULL,\n \\`type\\` text NOT NULL,\n \\`time_created\\` integer NOT NULL,\n \\`time_updated\\` integer NOT NULL,\n \\`data\\` text NOT NULL,\n CONSTRAINT \\`fk_session_message_session_id_session_id_fk\\` FOREIGN KEY (\\`session_id\\`) REFERENCES \\`session\\`(\\`id\\`) ON DELETE CASCADE\n );\n `)\n yield* tx.run(`DROP INDEX IF EXISTS \\`session_entry_session_idx\\`;`)\n yield* tx.run(`DROP INDEX IF EXISTS \\`session_entry_session_type_idx\\`;`)\n yield* tx.run(`DROP INDEX IF EXISTS \\`session_entry_time_created_idx\\`;`)\n yield* tx.run(`CREATE INDEX \\`session_message_session_idx\\` ON \\`session_message\\` (\\`session_id\\`);`)\n yield* tx.run(\n `CREATE INDEX \\`session_message_session_type_idx\\` ON \\`session_message\\` (\\`session_id\\`,\\`type\\`);`,\n )\n yield* tx.run(`CREATE INDEX \\`session_message_time_created_idx\\` ON \\`session_message\\` (\\`time_created\\`);`)\n yield* tx.run(`DROP TABLE \\`session_entry\\`;`)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,gCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,+aAUb,EACD,MAAO,EAAG,IAAI,mDAAqD,EACnE,MAAO,EAAG,IAAI,wDAA0D,EACxE,MAAO,EAAG,IAAI,wDAA0D,EACxE,MAAO,EAAG,IAAI,iFAAuF,EACrG,MAAO,EAAG,IACR,6FACF,EACA,MAAO,EAAG,IAAI,wFAA8F,EAC5G,MAAO,EAAG,IAAI,6BAA+B,EAC9C,EAEL", | ||
| "debugId": "8F313B669E44D39D64756E2164756E21", | ||
| "names": [] | ||
| } |
+2
-2
@@ -5,7 +5,7 @@ { | ||
| "sourcesContent": [ | ||
| "#!/usr/bin/env bun\n\nimport { NodeFileSystem, NodeRuntime, NodeServices } from \"@effect/platform-node\"\nimport { Effect, Layer, Logger, References } from \"effect\"\nimport { Commands } from \"./commands/commands\"\nimport { Runtime } from \"./framework/runtime\"\nimport { Logging } from \"@opencode-ai/core/observability/logging\"\nimport { Updater } from \"./services/updater\"\nimport { InstallationChannel, InstallationVersion, InstallationLocal } from \"@opencode-ai/core/installation/version\"\nimport { AppNodeBuilder } from \"@opencode-ai/core/effect/app-node-builder\"\nimport { LayerNode } from \"@opencode-ai/core/effect/layer-node\"\nimport { Global } from \"@opencode-ai/core/global\"\nimport { AppProcess } from \"@opencode-ai/core/process\"\n\nconst LoggingLayer = Logger.layer(Logging.loggers(), { mergeWithExisting: false }).pipe(\n Layer.provide(NodeFileSystem.layer),\n Layer.orDie,\n Layer.merge(Layer.succeed(References.MinimumLogLevel, Logging.minimumLogLevel())),\n)\n\nconst Handlers = Runtime.handlers(Commands, {\n $: () => import(\"./commands/handlers/default\"),\n api: () => import(\"./commands/handlers/api\"),\n debug: {\n agents: () => import(\"./commands/handlers/debug/agents\"),\n },\n console: {\n login: () => import(\"./commands/handlers/console/login\"),\n },\n mcp: {\n list: () => import(\"./commands/handlers/mcp/list\"),\n add: () => import(\"./commands/handlers/mcp/add\"),\n auth: () => import(\"./commands/handlers/mcp/auth\"),\n logout: () => import(\"./commands/handlers/mcp/logout\"),\n },\n migrate: () => import(\"./commands/handlers/migrate\"),\n mini: () => import(\"./commands/handlers/mini\"),\n run: () => import(\"./commands/handlers/run\"),\n link: () => import(\"./commands/handlers/link\"),\n service: {\n start: () => import(\"./commands/handlers/service/start\"),\n restart: () => import(\"./commands/handlers/service/restart\"),\n status: () => import(\"./commands/handlers/service/status\"),\n stop: () => import(\"./commands/handlers/service/stop\"),\n get: () => import(\"./commands/handlers/service/get\"),\n set: () => import(\"./commands/handlers/service/set\"),\n unset: () => import(\"./commands/handlers/service/unset\"),\n },\n serve: () => import(\"./commands/handlers/serve\"),\n})\n\nEffect.logInfo(\"cli starting\", {\n version: InstallationVersion,\n channel: InstallationChannel,\n local: InstallationLocal,\n args: process.argv.slice(2),\n}).pipe(\n Effect.flatMap(() => Runtime.run(Commands, Handlers, { version: InstallationVersion })),\n Effect.annotateLogs({ role: \"cli\" }),\n Effect.provide(Updater.layer),\n Effect.provide(AppNodeBuilder.build(LayerNode.group([Global.node, AppProcess.node]))),\n Effect.provide(LoggingLayer),\n Effect.provide(NodeServices.layer),\n Effect.scoped,\n Effect.tap(() => Effect.sync(() => process.exit(process.exitCode ?? 0))),\n NodeRuntime.runMain,\n)\n" | ||
| "#!/usr/bin/env bun\n\nimport { NodeFileSystem, NodeRuntime, NodeServices } from \"@effect/platform-node\"\nimport { Effect, Layer, Logger, References } from \"effect\"\nimport { Commands } from \"./commands/commands\"\nimport { Runtime } from \"./framework/runtime\"\nimport { Logging } from \"@opencode-ai/core/observability/logging\"\nimport { Updater } from \"./services/updater\"\nimport { InstallationChannel, InstallationVersion, InstallationLocal } from \"@opencode-ai/core/installation/version\"\nimport { AppNodeBuilder } from \"@opencode-ai/core/effect/app-node-builder\"\nimport { LayerNode } from \"@opencode-ai/core/effect/layer-node\"\nimport { Global } from \"@opencode-ai/core/global\"\nimport { AppProcess } from \"@opencode-ai/core/process\"\n\nconst LoggingLayer = Logger.layer(Logging.loggers(), { mergeWithExisting: false }).pipe(\n Layer.provide(NodeFileSystem.layer),\n Layer.orDie,\n Layer.merge(Layer.succeed(References.MinimumLogLevel, Logging.minimumLogLevel())),\n)\n\nconst Handlers = Runtime.handlers(Commands, {\n $: () => import(\"./commands/handlers/default\"),\n api: () => import(\"./commands/handlers/api\"),\n debug: {\n agents: () => import(\"./commands/handlers/debug/agents\"),\n },\n console: {\n login: () => import(\"./commands/handlers/console/login\"),\n },\n mcp: {\n list: () => import(\"./commands/handlers/mcp/list\"),\n add: () => import(\"./commands/handlers/mcp/add\"),\n auth: () => import(\"./commands/handlers/mcp/auth\"),\n logout: () => import(\"./commands/handlers/mcp/logout\"),\n },\n migrate: () => import(\"./commands/handlers/migrate\"),\n mini: () => import(\"./commands/handlers/mini\"),\n run: () => import(\"./commands/handlers/run\"),\n pair: () => import(\"./commands/handlers/pair\"),\n service: {\n start: () => import(\"./commands/handlers/service/start\"),\n restart: () => import(\"./commands/handlers/service/restart\"),\n status: () => import(\"./commands/handlers/service/status\"),\n stop: () => import(\"./commands/handlers/service/stop\"),\n get: () => import(\"./commands/handlers/service/get\"),\n set: () => import(\"./commands/handlers/service/set\"),\n unset: () => import(\"./commands/handlers/service/unset\"),\n },\n serve: () => import(\"./commands/handlers/serve\"),\n})\n\nEffect.logInfo(\"cli starting\", {\n version: InstallationVersion,\n channel: InstallationChannel,\n local: InstallationLocal,\n args: process.argv.slice(2),\n}).pipe(\n Effect.flatMap(() => Runtime.run(Commands, Handlers, { version: InstallationVersion })),\n Effect.annotateLogs({ role: \"cli\" }),\n Effect.provide(Updater.layer),\n Effect.provide(AppNodeBuilder.build(LayerNode.group([Global.node, AppProcess.node]))),\n Effect.provide(LoggingLayer),\n Effect.provide(NodeServices.layer),\n Effect.scoped,\n Effect.tap(() => Effect.sync(() => process.exit(process.exitCode ?? 0))),\n NodeRuntime.runMain,\n)\n" | ||
| ], | ||
| "mappings": ";;4hCAcA,SAAM,OAAe,OAAO,WAAM,OAAQ,aAAQ,OAAG,MAAE,uBAAmB,OAAM,MAAC,OAAE,UACjF,OAAM,aAAQ,OAAe,UAAK,OAClC,OAAM,WACN,OAAM,WAAM,OAAM,aAAQ,EAAW,gBAAiB,EAAQ,gBAAgB,CAAC,CAAC,CAClF,EAEM,EAAW,EAAQ,SAAS,EAAU,CAC1C,EAAG,IAAa,yCAChB,IAAK,IAAa,yCAClB,MAAO,CACL,OAAQ,IAAa,wCACvB,EACA,QAAS,CACP,MAAO,IAAa,wCACtB,EACA,IAAK,CACH,KAAM,IAAa,yCACnB,IAAK,IAAa,yCAClB,KAAM,IAAa,yCACnB,OAAQ,IAAa,wCACvB,EACA,QAAS,IAAa,yCACtB,KAAM,IAAa,yCACnB,IAAK,IAAa,yCAClB,KAAM,IAAa,yCACnB,QAAS,CACP,MAAO,IAAa,yCACpB,QAAS,IAAa,yCACtB,OAAQ,IAAa,yCACrB,KAAM,IAAa,yCACnB,IAAK,IAAa,yCAClB,IAAK,IAAa,yCAClB,MAAO,IAAa,wCACtB,EACA,MAAO,IAAa,wCACtB,CAAC,EAED,EAAO,QAAQ,eAAgB,CAC7B,QAAS,EACT,QAAS,EACT,MAAO,EACP,KAAM,QAAQ,KAAK,MAAM,CAAC,CAC5B,CAAC,EAAE,KACD,EAAO,QAAQ,IAAM,EAAQ,IAAI,EAAU,EAAU,CAAE,QAAS,CAAoB,CAAC,CAAC,EACtF,EAAO,aAAa,CAAE,KAAM,KAAM,CAAC,EACnC,EAAO,QAAQ,EAAQ,KAAK,EAC5B,EAAO,QAAQ,EAAe,MAAM,EAAU,MAAM,CAAC,EAAO,KAAM,EAAW,IAAI,CAAC,CAAC,CAAC,EACpF,EAAO,QAAQ,CAAY,EAC3B,EAAO,QAAQ,EAAa,KAAK,EACjC,EAAO,OACP,EAAO,IAAI,IAAM,EAAO,KAAK,IAAM,QAAQ,KAAK,QAAQ,UAAY,CAAC,CAAC,CAAC,EACvE,EAAY,OACd", | ||
| "debugId": "4C9A0FC37DBF163764756E2164756E21", | ||
| "debugId": "E6F25BEEFC2D6B3664756E2164756E21", | ||
| "names": [] | ||
| } |
+1
-1
| { | ||
| "name": "@opencode-ai/cli-linux-x64-baseline", | ||
| "version": "0.0.0-next-15219", | ||
| "version": "0.0.0-next-15228.2", | ||
| "license": "MIT", | ||
@@ -5,0 +5,0 @@ "repository": { |
| { | ||
| "version": 3, | ||
| "sources": ["src/commands/handlers/service/status.ts"], | ||
| "sourcesContent": [ | ||
| "import { EOL } from \"os\"\nimport { Effect } from \"effect\"\nimport { Service } from \"@opencode-ai/client/effect\"\nimport { Commands } from \"../../commands\"\nimport { Runtime } from \"../../../framework/runtime\"\nimport { ServiceConfig } from \"../../../services/service-config\"\n\nexport default Runtime.handler(\n Commands.commands.service.commands.status,\n Effect.fn(\"cli.service.status\")(function* () {\n const found = yield* Service.discover(yield* ServiceConfig.options())\n process.stdout.write((found ? found.url : \"stopped\") + EOL)\n }),\n)\n" | ||
| ], | ||
| "mappings": ";moBAAA,mBAAS,gBAOT,SAAe,SAAQ,aACrB,OAAS,cAAS,aAAQ,cAAS,YACnC,OAAO,QAAG,yBAAoB,OAAE,cAAU,OAAG,CAC3C,IAAM,EAAQ,MAAO,EAAQ,SAAS,MAAO,EAAc,QAAQ,CAAC,EACpE,QAAQ,OAAO,OAAO,EAAQ,EAAM,IAAM,WAAa,CAAG,EAC3D,CACH", | ||
| "debugId": "3BB3D66448E87CDA64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["src/mini/demo.ts"], | ||
| "sourcesContent": [ | ||
| "// Demo mode for testing direct interactive mode without a real SDK.\n//\n// Enabled with `--demo`. Intercepts prompt submissions and generates synthetic\n// SDK events that feed through the real reducer and footer pipeline. This\n// lets you test scrollback formatting, permission UI, question UI, and tool\n// snapshots without making actual model calls. Pass a demo slash command as\n// the initial interactive message to trigger a preview immediately.\n//\n// Slash commands:\n// /permission [kind] → triggers a permission request variant\n// /question [kind] → triggers a question request variant\n// /fmt <kind> → emits a specific tool/text type (text, reasoning, bash,\n// write, edit, patch, task, question, error, mix)\n//\n// Demo mode also handles permission and question replies locally, completing\n// or failing the synthetic tool parts as appropriate.\nimport path from \"path\"\nimport type { Event, ToolPart } from \"@opencode-ai/sdk/v2\"\nimport { createSessionData, reduceSessionData, type SessionData } from \"./session-data\"\nimport { writeSessionOutput } from \"./stream\"\nimport type { FooterApi, PermissionReply, QuestionReject, QuestionReply, RunPrompt, StreamCommit } from \"./types\"\n\nconst KINDS = [\n \"markdown\",\n \"table\",\n \"text\",\n \"reasoning\",\n \"bash\",\n \"write\",\n \"edit\",\n \"patch\",\n \"task\",\n \"question\",\n \"error\",\n \"mix\",\n]\nconst PERMISSIONS = [\"edit\", \"bash\", \"read\", \"task\", \"external\", \"doom\"] as const\nconst QUESTIONS = [\"multi\", \"single\", \"checklist\", \"custom\"] as const\n\ntype PermissionKind = (typeof PERMISSIONS)[number]\ntype QuestionKind = (typeof QUESTIONS)[number]\n\nfunction permissionKind(value: string | undefined): PermissionKind | undefined {\n const next = (value || \"edit\").toLowerCase()\n return PERMISSIONS.find((item) => item === next)\n}\n\nfunction questionKind(value: string | undefined): QuestionKind | undefined {\n const next = (value || \"multi\").toLowerCase()\n return QUESTIONS.find((item) => item === next)\n}\n\nconst SAMPLE_MARKDOWN = [\n \"# Direct Mode Demo\",\n \"\",\n \"This is a realistic assistant response for direct-mode formatting checks.\",\n \"It mixes **bold**, _italic_, `inline code`, links, code fences, and tables in one streamed reply.\",\n \"\",\n \"## Summary\",\n \"\",\n \"- Restored the final markdown flush so the last block is committed on idle.\",\n \"- Switched markdown scrollback commits back to top-level block boundaries.\",\n \"- Added footer-level regression coverage for split-footer rendering.\",\n \"\",\n \"## Status\",\n \"\",\n \"| Area | Before | After | Notes |\",\n \"| --- | --- | --- | --- |\",\n \"| Direct mode | Missing final rows | Stable | Final markdown block now flushes on idle |\",\n \"| Tables | Dropped in streaming mode | Visible | Block-based commits match the working OpenTUI demo |\",\n \"| Tests | Partial coverage | Broader coverage | Includes a footer-level split render capture |\",\n \"\",\n \"> This sample intentionally includes a wide table so you can spot wrapping and commit bugs quickly.\",\n \"\",\n \"```ts\",\n \"const result = { markdown: true, tables: 2, stable: true }\",\n \"```\",\n \"\",\n \"## Files\",\n \"\",\n \"| File | Change |\",\n \"| --- | --- |\",\n \"| `scrollback.surface.ts` | Align markdown commit logic with the split-footer demo |\",\n \"| `footer.ts` | Keep active surfaces across footer-height-only resizes |\",\n \"| `footer.test.ts` | Capture real split-footer markdown payloads during idle completion |\",\n \"\",\n \"Next step: run `/fmt table` if you want a tighter table-only sample.\",\n].join(\"\\n\")\n\nconst SAMPLE_TABLE = [\n \"# Table Sample\",\n \"\",\n \"| Kind | Example | Notes |\",\n \"| --- | --- | --- |\",\n \"| Pipe | `A\\\\|B` | Escaped pipes should stay in one cell |\",\n \"| Unicode | `漢字` | Wide characters should remain aligned |\",\n \"| Wrap | `LongTokenWithoutNaturalBreaks_1234567890` | Useful for width stress |\",\n \"| Status | done | Final row should still appear after idle |\",\n].join(\"\\n\")\n\ntype Ref = {\n msg: string\n part: string\n call: string\n tool: string\n input: Record<string, unknown>\n start: number\n}\n\ntype Ask = {\n ref: Ref\n}\n\ntype Perm = {\n ref: Ref\n done: {\n title: string\n output: string\n metadata?: Record<string, unknown>\n }\n}\n\ntype Permit = {\n ref: Ref\n permission: string\n patterns: string[]\n metadata?: Record<string, unknown>\n always: string[]\n done: Perm[\"done\"]\n}\n\ntype State = {\n id: string\n thinking: boolean\n data: SessionData\n footer: FooterApi\n limits: () => Record<string, number>\n msg: number\n part: number\n call: number\n perm: number\n ask: number\n perms: Map<string, Perm>\n asks: Map<string, Ask>\n}\n\ntype Input = {\n sessionID: string\n thinking: boolean\n limits: () => Record<string, number>\n footer: FooterApi\n}\n\nfunction note(footer: FooterApi, text: string): void {\n footer.append({\n kind: \"system\",\n text,\n phase: \"start\",\n source: \"system\",\n })\n}\n\nfunction clearSubagent(footer: FooterApi): void {\n footer.event({\n type: \"stream.subagent\",\n state: {\n tabs: [],\n details: {},\n permissions: [],\n questions: [],\n },\n })\n}\n\nfunction showSubagent(\n state: State,\n input: {\n sessionID: string\n partID: string\n callID: string\n label: string\n description: string\n status: \"running\" | \"completed\" | \"cancelled\" | \"error\"\n title?: string\n toolCalls?: number\n commits: StreamCommit[]\n },\n) {\n state.footer.event({\n type: \"stream.subagent\",\n state: {\n tabs: [\n {\n sessionID: input.sessionID,\n partID: input.partID,\n callID: input.callID,\n label: input.label,\n description: input.description,\n status: input.status,\n title: input.title,\n toolCalls: input.toolCalls,\n lastUpdatedAt: Date.now(),\n },\n ],\n details: {\n [input.sessionID]: {\n sessionID: input.sessionID,\n commits: input.commits,\n },\n },\n permissions: [],\n questions: [],\n },\n })\n}\n\nfunction wait(ms: number, signal?: AbortSignal): Promise<void> {\n return new Promise((resolve) => {\n if (!signal) {\n setTimeout(resolve, ms)\n return\n }\n\n if (signal.aborted) {\n resolve()\n return\n }\n\n const done = () => {\n clearTimeout(timer)\n signal.removeEventListener(\"abort\", done)\n resolve()\n }\n\n const timer = setTimeout(() => {\n signal.removeEventListener(\"abort\", done)\n resolve()\n }, ms)\n\n signal.addEventListener(\"abort\", done, { once: true })\n })\n}\n\nfunction split(text: string): string[] {\n if (text.length <= 48) {\n return [text]\n }\n\n const size = Math.ceil(text.length / 3)\n return [text.slice(0, size), text.slice(size, size * 2), text.slice(size * 2)]\n}\n\nfunction take(state: State, key: \"msg\" | \"part\" | \"call\" | \"perm\" | \"ask\", prefix: string): string {\n state[key] += 1\n return `demo_${prefix}_${state[key]}`\n}\n\nfunction feed(state: State, event: Event): void {\n const out = reduceSessionData({\n data: state.data,\n event,\n sessionID: state.id,\n thinking: state.thinking,\n limits: state.limits(),\n })\n state.data = out.data\n writeSessionOutput(\n {\n footer: state.footer,\n },\n out,\n )\n}\n\nfunction open(state: State): string {\n const id = take(state, \"msg\", \"msg\")\n feed(state, {\n type: \"message.updated\",\n properties: {\n sessionID: state.id,\n info: {\n id,\n sessionID: state.id,\n role: \"assistant\",\n time: {\n created: Date.now(),\n },\n parentID: `user_${id}`,\n modelID: \"demo\",\n providerID: \"demo\",\n mode: \"demo\",\n agent: \"demo\",\n path: {\n cwd: process.cwd(),\n root: process.cwd(),\n },\n cost: 0.001,\n tokens: {\n input: 120,\n output: 320,\n reasoning: 80,\n cache: {\n read: 0,\n write: 0,\n },\n },\n },\n },\n } as Event)\n return id\n}\n\nasync function emitText(state: State, body: string, signal?: AbortSignal): Promise<void> {\n const msg = open(state)\n const part = take(state, \"part\", \"part\")\n const start = Date.now()\n\n feed(state, {\n type: \"message.part.updated\",\n properties: {\n sessionID: state.id,\n time: Date.now(),\n part: {\n id: part,\n sessionID: state.id,\n messageID: msg,\n type: \"text\",\n text: \"\",\n time: {\n start,\n },\n },\n },\n } as Event)\n\n let next = \"\"\n for (const item of split(body)) {\n if (signal?.aborted) {\n return\n }\n\n next += item\n feed(state, {\n type: \"message.part.delta\",\n properties: {\n sessionID: state.id,\n messageID: msg,\n partID: part,\n field: \"text\",\n delta: item,\n },\n } as Event)\n await wait(45, signal)\n }\n\n feed(state, {\n type: \"message.part.updated\",\n properties: {\n sessionID: state.id,\n time: Date.now(),\n part: {\n id: part,\n sessionID: state.id,\n messageID: msg,\n type: \"text\",\n text: next,\n time: {\n start,\n end: Date.now(),\n },\n },\n },\n } as Event)\n}\n\nasync function emitReasoning(state: State, body: string, signal?: AbortSignal): Promise<void> {\n const msg = open(state)\n const part = take(state, \"part\", \"part\")\n const start = Date.now()\n\n feed(state, {\n type: \"message.part.updated\",\n properties: {\n sessionID: state.id,\n time: Date.now(),\n part: {\n id: part,\n sessionID: state.id,\n messageID: msg,\n type: \"reasoning\",\n text: \"\",\n time: {\n start,\n },\n },\n },\n } as Event)\n\n let next = \"\"\n for (const item of split(body)) {\n if (signal?.aborted) {\n return\n }\n\n next += item\n feed(state, {\n type: \"message.part.delta\",\n properties: {\n sessionID: state.id,\n messageID: msg,\n partID: part,\n field: \"text\",\n delta: item,\n },\n } as Event)\n await wait(45, signal)\n }\n\n feed(state, {\n type: \"message.part.updated\",\n properties: {\n sessionID: state.id,\n time: Date.now(),\n part: {\n id: part,\n sessionID: state.id,\n messageID: msg,\n type: \"reasoning\",\n text: next,\n time: {\n start,\n end: Date.now(),\n },\n },\n },\n } as Event)\n}\n\nfunction make(state: State, tool: string, input: Record<string, unknown>): Ref {\n return {\n msg: open(state),\n part: take(state, \"part\", \"part\"),\n call: take(state, \"call\", \"call\"),\n tool,\n input,\n start: Date.now(),\n }\n}\n\nfunction startTool(state: State, ref: Ref, metadata: Record<string, unknown> = {}): void {\n feed(state, {\n type: \"message.part.updated\",\n properties: {\n sessionID: state.id,\n time: Date.now(),\n part: {\n id: ref.part,\n sessionID: state.id,\n messageID: ref.msg,\n type: \"tool\",\n callID: ref.call,\n tool: ref.tool,\n state: {\n status: \"running\",\n input: ref.input,\n metadata,\n time: {\n start: ref.start,\n },\n },\n },\n },\n } as Event)\n}\n\nfunction askPermission(state: State, item: Permit): void {\n startTool(state, item.ref)\n\n const id = take(state, \"perm\", \"perm\")\n state.perms.set(id, {\n ref: item.ref,\n done: item.done,\n })\n\n feed(state, {\n type: \"permission.asked\",\n properties: {\n id,\n sessionID: state.id,\n permission: item.permission,\n patterns: item.patterns,\n metadata: item.metadata ?? {},\n always: item.always,\n tool: {\n messageID: item.ref.msg,\n callID: item.ref.call,\n },\n },\n } as Event)\n}\n\nfunction doneTool(\n state: State,\n ref: Ref,\n output: {\n title: string\n output: string\n metadata?: Record<string, unknown>\n },\n): void {\n feed(state, {\n type: \"message.part.updated\",\n properties: {\n sessionID: state.id,\n time: Date.now(),\n part: {\n id: ref.part,\n sessionID: state.id,\n messageID: ref.msg,\n type: \"tool\",\n callID: ref.call,\n tool: ref.tool,\n state: {\n status: \"completed\",\n input: ref.input,\n output: output.output,\n title: output.title,\n metadata: output.metadata ?? {},\n time: {\n start: ref.start,\n end: Date.now(),\n },\n },\n },\n },\n } as Event)\n}\n\nfunction failTool(state: State, ref: Ref, error: string): void {\n feed(state, {\n type: \"message.part.updated\",\n properties: {\n sessionID: state.id,\n time: Date.now(),\n part: {\n id: ref.part,\n sessionID: state.id,\n messageID: ref.msg,\n type: \"tool\",\n callID: ref.call,\n tool: ref.tool,\n state: {\n status: \"error\",\n input: ref.input,\n error,\n metadata: {},\n time: {\n start: ref.start,\n end: Date.now(),\n },\n },\n },\n },\n } as Event)\n}\n\nfunction emitError(state: State, text: string): void {\n const event = {\n id: `session.error:${state.id}:${Date.now()}`,\n type: \"session.error\",\n properties: {\n sessionID: state.id,\n error: {\n name: \"UnknownError\",\n data: {\n message: text,\n },\n },\n },\n } satisfies Event\n feed(state, event)\n}\n\nasync function emitBash(state: State, signal?: AbortSignal): Promise<void> {\n const ref = make(state, \"bash\", {\n command: \"git status\",\n workdir: process.cwd(),\n description: \"Show git status\",\n })\n startTool(state, ref)\n await wait(70, signal)\n doneTool(state, ref, {\n title: \"git status\",\n output: `${process.cwd()}\\ngit status\\nOn branch demo\\nnothing to commit, working tree clean\\n`,\n metadata: {\n exitCode: 0,\n },\n })\n}\n\nfunction emitWrite(state: State): void {\n const file = path.join(process.cwd(), \"src\", \"demo-format.ts\")\n const ref = make(state, \"write\", {\n filePath: file,\n content: \"export const demo = 42\\n\",\n })\n doneTool(state, ref, {\n title: \"write\",\n output: \"\",\n metadata: {},\n })\n}\n\nfunction emitEdit(state: State): void {\n const file = path.join(process.cwd(), \"src\", \"demo-format.ts\")\n const ref = make(state, \"edit\", {\n filePath: file,\n })\n doneTool(state, ref, {\n title: \"edit\",\n output: \"\",\n metadata: {\n diff: \"@@ -1 +1 @@\\n-export const demo = 1\\n+export const demo = 42\\n\",\n },\n })\n}\n\nfunction emitPatch(state: State): void {\n const file = path.join(process.cwd(), \"src\", \"demo-format.ts\")\n const ref = make(state, \"patch\", {\n patchText: \"*** Begin Patch\\n*** End Patch\",\n })\n doneTool(state, ref, {\n title: \"patch\",\n output: \"\",\n metadata: {\n files: [\n {\n type: \"update\",\n filePath: file,\n relativePath: \"src/demo-format.ts\",\n diff: \"@@ -1 +1 @@\\n-export const demo = 1\\n+export const demo = 42\\n\",\n deletions: 1,\n },\n {\n type: \"add\",\n filePath: path.join(process.cwd(), \"README-demo.md\"),\n relativePath: \"README-demo.md\",\n diff: \"@@ -0,0 +1,4 @@\\n+# Demo\\n+This is a generated preview file.\\n\",\n deletions: 0,\n },\n ],\n },\n })\n}\n\nfunction emitTask(state: State): void {\n const ref = make(state, \"task\", {\n description: \"Scan run/* for reducer touchpoints\",\n subagent_type: \"explore\",\n })\n doneTool(state, ref, {\n title: \"Reducer touchpoints found\",\n output: \"\",\n metadata: {\n toolcalls: 4,\n sessionId: \"sub_demo_1\",\n },\n })\n const part = {\n id: \"sub_demo_tool_1\",\n type: \"tool\",\n sessionID: \"sub_demo_1\",\n messageID: \"sub_demo_msg_tool\",\n callID: \"sub_demo_call_1\",\n tool: \"read\",\n state: {\n status: \"running\",\n input: {\n filePath: \"packages/cli/src/mini/stream.ts\",\n offset: 1,\n limit: 200,\n },\n time: {\n start: Date.now(),\n },\n },\n } satisfies ToolPart\n showSubagent(state, {\n sessionID: \"sub_demo_1\",\n partID: ref.part,\n callID: ref.call,\n label: \"Explore\",\n description: \"Scan run/* for reducer touchpoints\",\n status: \"completed\",\n title: \"Reducer touchpoints found\",\n toolCalls: 4,\n commits: [\n {\n kind: \"user\",\n text: \"Scan run/* for reducer touchpoints\",\n phase: \"start\",\n source: \"system\",\n },\n {\n kind: \"reasoning\",\n text: \"Thinking: tracing reducer and footer boundaries\",\n phase: \"progress\",\n source: \"reasoning\",\n messageID: \"sub_demo_msg_reasoning\",\n partID: \"sub_demo_reasoning_1\",\n },\n {\n kind: \"tool\",\n text: \"running read\",\n phase: \"start\",\n source: \"tool\",\n messageID: \"sub_demo_msg_tool\",\n partID: \"sub_demo_tool_1\",\n tool: \"read\",\n part,\n },\n {\n kind: \"assistant\",\n text: \"Footer updates flow through stream.ts into RunFooter\",\n phase: \"progress\",\n source: \"assistant\",\n messageID: \"sub_demo_msg_text\",\n partID: \"sub_demo_text_1\",\n },\n ],\n })\n}\n\nfunction emitQuestionTool(state: State): void {\n const ref = make(state, \"question\", {\n questions: [\n {\n header: \"Style\",\n question: \"Which output style do you want to inspect?\",\n options: [\n { label: \"Diff\", description: \"Show diff block\" },\n { label: \"Code\", description: \"Show code block\" },\n ],\n multiple: false,\n },\n {\n header: \"Extras\",\n question: \"Pick extra rows\",\n options: [\n { label: \"Usage\", description: \"Add usage row\" },\n { label: \"Duration\", description: \"Add duration row\" },\n ],\n multiple: true,\n custom: true,\n },\n ],\n })\n doneTool(state, ref, {\n title: \"question\",\n output: \"\",\n metadata: {\n answers: [[\"Diff\"], [\"Usage\", \"custom-note\"]],\n },\n })\n}\n\nfunction emitPermission(state: State, kind: PermissionKind = \"edit\"): void {\n const root = process.cwd()\n const file = path.join(root, \"src\", \"demo-format.ts\")\n\n if (kind === \"bash\") {\n const command = \"git status --short\"\n const ref = make(state, \"bash\", {\n command,\n workdir: root,\n description: \"Inspect worktree changes\",\n })\n askPermission(state, {\n ref,\n permission: \"bash\",\n patterns: [command],\n always: [\"*\"],\n done: {\n title: \"git status --short\",\n output: `${root}\\ngit status --short\\n M src/demo-format.ts\\n?? src/demo-permission.ts\\n`,\n metadata: {\n exitCode: 0,\n },\n },\n })\n return\n }\n\n if (kind === \"read\") {\n const target = path.join(root, \"package.json\")\n const ref = make(state, \"read\", {\n filePath: target,\n offset: 1,\n limit: 80,\n })\n askPermission(state, {\n ref,\n permission: \"read\",\n patterns: [target],\n always: [target],\n done: {\n title: \"read\",\n output: [\"1: {\", '2: \"name\": \"opencode\",', '3: \"private\": true', \"4: }\"].join(\"\\n\"),\n metadata: {},\n },\n })\n return\n }\n\n if (kind === \"task\") {\n const ref = make(state, \"task\", {\n description: \"Inspect footer spacing across direct-mode prompts\",\n subagent_type: \"explore\",\n })\n askPermission(state, {\n ref,\n permission: \"task\",\n patterns: [\"explore\"],\n always: [\"*\"],\n done: {\n title: \"Footer spacing checked\",\n output: \"\",\n metadata: {\n toolcalls: 3,\n sessionId: \"sub_demo_perm_1\",\n },\n },\n })\n return\n }\n\n if (kind === \"external\") {\n const dir = path.join(path.dirname(root), \"demo-shared\")\n const target = path.join(dir, \"README.md\")\n const ref = make(state, \"read\", {\n filePath: target,\n offset: 1,\n limit: 40,\n })\n askPermission(state, {\n ref,\n permission: \"external_directory\",\n patterns: [`${dir}/**`],\n metadata: {\n parentDir: dir,\n filepath: target,\n },\n always: [`${dir}/**`],\n done: {\n title: \"read\",\n output: `1: # External demo\\n2: Shared preview file\\nPath: ${target}`,\n metadata: {},\n },\n })\n return\n }\n\n if (kind === \"doom\") {\n const ref = make(state, \"task\", {\n description: \"Retry the formatter after repeated failures\",\n subagent_type: \"general\",\n })\n askPermission(state, {\n ref,\n permission: \"doom_loop\",\n patterns: [\"*\"],\n always: [\"*\"],\n done: {\n title: \"Retry allowed\",\n output: \"Continuing after repeated failures.\\n\",\n metadata: {},\n },\n })\n return\n }\n\n const diff = \"@@ -1 +1 @@\\n-export const demo = 1\\n+export const demo = 42\\n\"\n const ref = make(state, \"edit\", {\n filePath: file,\n filepath: file,\n diff,\n })\n askPermission(state, {\n ref,\n permission: \"edit\",\n patterns: [file],\n always: [file],\n done: {\n title: \"edit\",\n output: \"\",\n metadata: {\n diff,\n },\n },\n })\n}\n\nfunction emitQuestion(state: State, kind: QuestionKind = \"multi\"): void {\n const questions = (() => {\n if (kind === \"single\") {\n return [\n {\n header: \"Mode\",\n question: \"Which footer should be the reference for spacing checks?\",\n options: [\n { label: \"Permission\", description: \"Inspect the permission footer\" },\n { label: \"Question\", description: \"Keep this question footer open\" },\n { label: \"Prompt\", description: \"Return to the normal composer\" },\n ],\n multiple: false,\n custom: false,\n },\n ]\n }\n\n if (kind === \"checklist\") {\n return [\n {\n header: \"Checks\",\n question: \"Select the direct-mode cases you want to inspect next\",\n options: [\n { label: \"Diff\", description: \"Show an edit diff in the footer\" },\n { label: \"Task\", description: \"Show a structured task summary\" },\n { label: \"Error\", description: \"Show an error transcript row\" },\n ],\n multiple: true,\n custom: false,\n },\n ]\n }\n\n if (kind === \"custom\") {\n return [\n {\n header: \"Reply\",\n question: \"What custom answer should appear in the footer preview?\",\n options: [\n { label: \"Short note\", description: \"Keep the answer to one line\" },\n { label: \"Wrapped note\", description: \"Use a longer answer to test wrapping\" },\n ],\n multiple: false,\n custom: true,\n },\n ]\n }\n\n return [\n {\n header: \"Layout\",\n question: \"Which footer view should stay active while testing?\",\n options: [\n { label: \"Prompt\", description: \"Return to prompt\" },\n { label: \"Question\", description: \"Keep question open\" },\n ],\n multiple: false,\n },\n {\n header: \"Rows\",\n question: \"Pick formatting previews\",\n options: [\n { label: \"Diff\", description: \"Emit edit diff\" },\n { label: \"Task\", description: \"Emit task card\" },\n ],\n multiple: true,\n custom: true,\n },\n ]\n })()\n\n const ref = make(state, \"question\", { questions })\n startTool(state, ref)\n\n const id = take(state, \"ask\", \"ask\")\n state.asks.set(id, { ref })\n\n feed(state, {\n type: \"question.asked\",\n properties: {\n id,\n sessionID: state.id,\n questions,\n tool: {\n messageID: ref.msg,\n callID: ref.call,\n },\n },\n } as Event)\n}\n\nasync function emitFmt(state: State, kind: string, body: string, signal?: AbortSignal): Promise<boolean> {\n if (kind === \"text\") {\n await emitText(state, body || SAMPLE_MARKDOWN, signal)\n return true\n }\n\n if (kind === \"markdown\" || kind === \"md\") {\n await emitText(state, body || SAMPLE_MARKDOWN, signal)\n return true\n }\n\n if (kind === \"table\") {\n await emitText(state, body || SAMPLE_TABLE, signal)\n return true\n }\n\n if (kind === \"reasoning\") {\n await emitReasoning(state, body || \"Planning next steps [REDACTED] while preserving reducer ordering.\", signal)\n return true\n }\n\n if (kind === \"bash\") {\n await emitBash(state, signal)\n return true\n }\n\n if (kind === \"write\") {\n emitWrite(state)\n return true\n }\n\n if (kind === \"edit\") {\n emitEdit(state)\n return true\n }\n\n if (kind === \"patch\") {\n emitPatch(state)\n return true\n }\n\n if (kind === \"task\") {\n emitTask(state)\n return true\n }\n\n if (kind === \"question\") {\n emitQuestionTool(state)\n return true\n }\n\n if (kind === \"error\") {\n emitError(state, body || \"demo error event\")\n return true\n }\n\n if (kind === \"mix\") {\n await emitText(state, SAMPLE_MARKDOWN, signal)\n await wait(50, signal)\n await emitReasoning(state, \"Thinking through formatter edge cases [REDACTED].\", signal)\n await wait(50, signal)\n await emitBash(state, signal)\n emitWrite(state)\n emitEdit(state)\n emitPatch(state)\n emitTask(state)\n emitQuestionTool(state)\n emitError(state, \"demo mixed scenario error\")\n return true\n }\n\n return false\n}\n\nfunction intro(state: State): void {\n note(\n state.footer,\n [\n \"Demo slash commands enabled for interactive mode.\",\n `- /permission [kind] (${PERMISSIONS.join(\", \")})`,\n `- /question [kind] (${QUESTIONS.join(\", \")})`,\n `- /fmt <kind> (${KINDS.join(\", \")})`,\n \"Examples:\",\n \"- /permission bash\",\n \"- /question custom\",\n \"- /fmt markdown\",\n \"- /fmt table\",\n \"- /fmt text your custom text\",\n ].join(\"\\n\"),\n )\n}\n\nexport function createRunDemo(input: Input) {\n const state: State = {\n id: input.sessionID,\n thinking: input.thinking,\n data: createSessionData(),\n footer: input.footer,\n limits: input.limits,\n msg: 0,\n part: 0,\n call: 0,\n perm: 0,\n ask: 0,\n perms: new Map(),\n asks: new Map(),\n }\n\n const start = async (): Promise<void> => {\n intro(state)\n }\n\n const prompt = async (line: RunPrompt, signal?: AbortSignal): Promise<boolean> => {\n const text = line.text.trim()\n const list = text.split(/\\s+/)\n const cmd = list[0] || \"\"\n\n clearSubagent(state.footer)\n\n if (cmd === \"/help\") {\n intro(state)\n return true\n }\n\n if (cmd === \"/permission\") {\n const kind = permissionKind(list[1])\n if (!kind) {\n note(state.footer, `Pick a permission kind: ${PERMISSIONS.join(\", \")}`)\n return true\n }\n\n emitPermission(state, kind)\n return true\n }\n\n if (cmd === \"/question\") {\n const kind = questionKind(list[1])\n if (!kind) {\n note(state.footer, `Pick a question kind: ${QUESTIONS.join(\", \")}`)\n return true\n }\n\n emitQuestion(state, kind)\n return true\n }\n\n if (cmd === \"/fmt\") {\n const kind = (list[1] || \"\").toLowerCase()\n const body = list.slice(2).join(\" \")\n if (!kind) {\n note(state.footer, `Pick a kind: ${KINDS.join(\", \")}`)\n return true\n }\n\n const ok = await emitFmt(state, kind, body, signal)\n if (ok) {\n return true\n }\n\n note(state.footer, `Unknown kind \"${kind}\". Use: ${KINDS.join(\", \")}`)\n return true\n }\n\n return false\n }\n\n const permission = (input: PermissionReply): boolean => {\n const item = state.perms.get(input.requestID)\n if (!item || !input.reply) {\n return false\n }\n\n state.perms.delete(input.requestID)\n const event = {\n id: `permission.replied:${input.requestID}:${Date.now()}`,\n type: \"permission.replied\",\n properties: {\n sessionID: state.id,\n requestID: input.requestID,\n reply: input.reply,\n },\n } satisfies Event\n feed(state, event)\n\n if (input.reply === \"reject\") {\n failTool(state, item.ref, input.message || \"permission rejected\")\n return true\n }\n\n doneTool(state, item.ref, item.done)\n return true\n }\n\n const questionReply = (input: QuestionReply): boolean => {\n const ask = state.asks.get(input.requestID)\n if (!ask || !input.answers) {\n return false\n }\n\n state.asks.delete(input.requestID)\n const event = {\n id: `question.replied:${input.requestID}:${Date.now()}`,\n type: \"question.replied\",\n properties: {\n sessionID: state.id,\n requestID: input.requestID,\n answers: input.answers,\n },\n } satisfies Event\n feed(state, event)\n doneTool(state, ask.ref, {\n title: \"question\",\n output: \"\",\n metadata: {\n answers: input.answers,\n },\n })\n return true\n }\n\n const questionReject = (input: QuestionReject): boolean => {\n const ask = state.asks.get(input.requestID)\n if (!ask) {\n return false\n }\n\n state.asks.delete(input.requestID)\n feed(state, {\n type: \"question.rejected\",\n properties: {\n sessionID: state.id,\n requestID: input.requestID,\n },\n } as Event)\n failTool(state, ask.ref, \"question rejected\")\n return true\n }\n\n return {\n start,\n prompt,\n permission,\n questionReply,\n questionReject,\n }\n}\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "619EA04F2BC7931864756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../simulation/src/manifest.ts", "../simulation/src/protocol/index.ts"], | ||
| "sourcesContent": [ | ||
| "import { existsSync, readFileSync } from \"node:fs\"\nimport { homedir } from \"node:os\"\nimport { isAbsolute, join } from \"node:path\"\n\nexport interface Manifest {\n readonly endpoints: {\n readonly ui: string\n readonly backend: string\n }\n readonly recording?: {\n readonly timeline: string\n }\n}\n\nexport const defaults: Manifest = {\n endpoints: {\n ui: \"ws://127.0.0.1:40900\",\n backend: \"ws://127.0.0.1:40950\",\n },\n}\n\nexport function resolve() {\n const name = process.env.OPENCODE_DRIVE\n if (!name) throw new Error(\"OPENCODE_DRIVE must contain a drive instance name\")\n if (name === \"1\") return defaults\n if (!/^[a-zA-Z0-9][a-zA-Z0-9._-]{0,63}$/.test(name)) throw new Error(`Invalid drive instance name: ${name}`)\n\n const directory =\n process.env.DRIVE_REGISTRY_DIR ??\n join(process.env.XDG_STATE_HOME ?? join(homedir(), \".local\", \"state\"), \"opencode-drive\", \"instances\")\n const file = join(directory, `${name}.json`)\n if (!existsSync(file)) throw new Error(`Drive manifest not found: ${file}`)\n\n const manifest: unknown = JSON.parse(readFileSync(file, \"utf8\"))\n if (!isManifest(manifest)) throw new Error(`Invalid drive manifest: ${file}`)\n validateEndpoint(manifest.endpoints.ui, \"ui\")\n validateEndpoint(manifest.endpoints.backend, \"backend\")\n if (manifest.recording && !isAbsolute(manifest.recording.timeline)) {\n throw new Error(`Invalid drive recording timeline path: ${manifest.recording.timeline}`)\n }\n return manifest\n}\n\nfunction isManifest(value: unknown): value is Manifest {\n if (typeof value !== \"object\" || value === null || !(\"endpoints\" in value)) return false\n if (typeof value.endpoints !== \"object\" || value.endpoints === null) return false\n return \"ui\" in value.endpoints && \"backend\" in value.endpoints\n}\n\nfunction validateEndpoint(value: string, name: string) {\n const endpoint = new URL(value)\n const port = Number(endpoint.port)\n if (endpoint.protocol !== \"ws:\" || endpoint.hostname !== \"127.0.0.1\" || !Number.isInteger(port) || port < 1) {\n throw new Error(`Invalid drive ${name} endpoint: ${value}`)\n }\n}\n\nexport * as DriveManifest from \"./manifest\"\n", | ||
| "import { Effect, Schema } from \"effect\"\n\nconst JsonRpcID = Schema.Union([Schema.String, Schema.Number, Schema.Null])\ntype Json = Schema.Schema.Type<typeof Schema.Json>\n\nexport namespace JsonRpc {\n export const RequestFields = {\n jsonrpc: Schema.Literal(\"2.0\"),\n id: Schema.optional(JsonRpcID),\n }\n export const Request = Schema.Struct({\n ...RequestFields,\n method: Schema.String,\n params: Schema.optional(Schema.Json),\n })\n export interface Request extends Schema.Schema.Type<typeof Request> {}\n\n export const ErrorObject = Schema.Struct({\n code: Schema.Number,\n message: Schema.String,\n data: Schema.optional(Schema.Json),\n })\n\n export const Response = Schema.Struct({\n jsonrpc: Schema.Literal(\"2.0\"),\n id: JsonRpcID,\n result: Schema.optional(Schema.Json),\n error: Schema.optional(ErrorObject),\n })\n export interface Response extends Schema.Schema.Type<typeof Response> {}\n\n export const decodeRequest = Schema.decodeUnknownSync(Request)\n\n export function success(id: Request[\"id\"], result: unknown): Response | undefined {\n if (id === undefined) return undefined\n return { jsonrpc: \"2.0\", id, result: result as Json }\n }\n\n export function failure(id: Request[\"id\"], error: unknown): Response {\n return {\n jsonrpc: \"2.0\",\n id: id ?? null,\n error: {\n code: -32000,\n message: error instanceof Error ? error.message : String(error),\n },\n }\n }\n}\n\nexport namespace Frontend {\n export const KeyModifiers = Schema.Struct({\n ctrl: Schema.optional(Schema.Boolean),\n shift: Schema.optional(Schema.Boolean),\n meta: Schema.optional(Schema.Boolean),\n super: Schema.optional(Schema.Boolean),\n hyper: Schema.optional(Schema.Boolean),\n })\n export interface KeyModifiers extends Schema.Schema.Type<typeof KeyModifiers> {}\n\n export const Action = Schema.Union([\n Schema.Struct({ type: Schema.Literal(\"ui.type\"), text: Schema.String }),\n Schema.Struct({ type: Schema.Literal(\"ui.press\"), key: Schema.String, modifiers: Schema.optional(KeyModifiers) }),\n Schema.Struct({ type: Schema.Literal(\"ui.enter\") }),\n Schema.Struct({ type: Schema.Literal(\"ui.arrow\"), direction: Schema.Literals([\"up\", \"down\", \"left\", \"right\"]) }),\n Schema.Struct({ type: Schema.Literal(\"ui.focus\"), target: Schema.Number }),\n Schema.Struct({ type: Schema.Literal(\"ui.click\"), target: Schema.Number, x: Schema.Number, y: Schema.Number }),\n ])\n export type Action = Schema.Schema.Type<typeof Action>\n\n export const Element = Schema.Struct({\n id: Schema.String,\n num: Schema.Number,\n x: Schema.Number,\n y: Schema.Number,\n width: Schema.Number,\n height: Schema.Number,\n focusable: Schema.Boolean,\n focused: Schema.Boolean,\n clickable: Schema.Boolean,\n editor: Schema.Boolean,\n })\n export interface Element extends Schema.Schema.Type<typeof Element> {}\n\n export const State = Schema.Struct({\n focused: Schema.Struct({\n renderable: Schema.optional(Schema.Number),\n editor: Schema.Boolean,\n }),\n elements: Schema.Array(Element),\n })\n export interface State extends Schema.Schema.Type<typeof State> {}\n\n export const Screenshot = Schema.String\n export type Screenshot = Schema.Schema.Type<typeof Screenshot>\n\n export const RecordingFinish = Schema.String\n export type RecordingFinish = Schema.Schema.Type<typeof RecordingFinish>\n\n export const Matches = Schema.Boolean\n export type Matches = Schema.Schema.Type<typeof Matches>\n\n export const ScreenshotParams = Schema.Struct({ name: Schema.optional(Schema.String) })\n export interface ScreenshotParams extends Schema.Schema.Type<typeof ScreenshotParams> {}\n\n export const TypeParams = Schema.Struct({ text: Schema.String })\n export interface TypeParams extends Schema.Schema.Type<typeof TypeParams> {}\n\n export const MatchesParams = Schema.Struct({ text: Schema.String })\n export interface MatchesParams extends Schema.Schema.Type<typeof MatchesParams> {}\n\n export const PressParams = Schema.Struct({ key: Schema.String, modifiers: Schema.optional(KeyModifiers) })\n export interface PressParams extends Schema.Schema.Type<typeof PressParams> {}\n\n export const ArrowParams = Schema.Struct({ direction: Schema.Literals([\"up\", \"down\", \"left\", \"right\"]) })\n export interface ArrowParams extends Schema.Schema.Type<typeof ArrowParams> {}\n\n export const FocusParams = Schema.Struct({ target: Schema.Number })\n export interface FocusParams extends Schema.Schema.Type<typeof FocusParams> {}\n\n export const ClickParams = Schema.Struct({ target: Schema.Number, x: Schema.Number, y: Schema.Number })\n export interface ClickParams extends Schema.Schema.Type<typeof ClickParams> {}\n\n export const Request = Schema.Union([\n Schema.Struct({ ...JsonRpc.RequestFields, method: Schema.Literal(\"ui.type\"), params: TypeParams }),\n Schema.Struct({ ...JsonRpc.RequestFields, method: Schema.Literal(\"ui.press\"), params: PressParams }),\n Schema.Struct({ ...JsonRpc.RequestFields, method: Schema.Literal(\"ui.arrow\"), params: ArrowParams }),\n Schema.Struct({ ...JsonRpc.RequestFields, method: Schema.Literal(\"ui.focus\"), params: FocusParams }),\n Schema.Struct({ ...JsonRpc.RequestFields, method: Schema.Literal(\"ui.click\"), params: ClickParams }),\n Schema.Struct({ ...JsonRpc.RequestFields, method: Schema.Literal(\"ui.matches\"), params: MatchesParams }),\n Schema.Struct({\n ...JsonRpc.RequestFields,\n method: Schema.Literal(\"ui.screenshot\"),\n params: Schema.optional(ScreenshotParams),\n }),\n Schema.Struct({\n ...JsonRpc.RequestFields,\n method: Schema.Literals([\"ui.enter\", \"ui.state\", \"ui.recording.finish\"]),\n }),\n ])\n export type Request = Schema.Schema.Type<typeof Request>\n export const decodeRequest = Schema.decodeUnknownSync(Request)\n}\n\nexport namespace Backend {\n export const Item = Schema.Union([\n Schema.Struct({ type: Schema.Literal(\"textDelta\"), text: Schema.String }),\n Schema.Struct({ type: Schema.Literal(\"reasoningDelta\"), text: Schema.String }),\n Schema.Struct({\n type: Schema.Literal(\"toolCall\"),\n index: Schema.Number,\n id: Schema.String,\n name: Schema.String,\n input: Schema.Json,\n }),\n Schema.Struct({ type: Schema.Literal(\"raw\"), chunk: Schema.Json }),\n ])\n export type Item = Schema.Schema.Type<typeof Item>\n\n export const FinishReason = Schema.Literals([\"stop\", \"tool-calls\", \"length\", \"content-filter\"])\n export type FinishReason = Schema.Schema.Type<typeof FinishReason>\n\n export const ChunkParams = Schema.Struct({ id: Schema.String, items: Schema.Array(Item) })\n export interface ChunkParams extends Schema.Schema.Type<typeof ChunkParams> {}\n\n export const FinishParams = Schema.Struct({\n id: Schema.String,\n reason: FinishReason.pipe(Schema.withDecodingDefault(Effect.succeed(\"stop\" as const))),\n })\n export interface FinishParams extends Schema.Schema.Type<typeof FinishParams> {}\n\n export const DisconnectParams = Schema.Struct({ id: Schema.String })\n export interface DisconnectParams extends Schema.Schema.Type<typeof DisconnectParams> {}\n\n export const Request = Schema.Union([\n Schema.Struct({ ...JsonRpc.RequestFields, method: Schema.Literal(\"llm.chunk\"), params: ChunkParams }),\n Schema.Struct({ ...JsonRpc.RequestFields, method: Schema.Literal(\"llm.finish\"), params: FinishParams }),\n Schema.Struct({ ...JsonRpc.RequestFields, method: Schema.Literal(\"llm.disconnect\"), params: DisconnectParams }),\n Schema.Struct({\n ...JsonRpc.RequestFields,\n method: Schema.Literals([\"llm.attach\", \"llm.pending\"]),\n }),\n ])\n export type Request = Schema.Schema.Type<typeof Request>\n export const decodeRequest = Schema.decodeUnknownSync(Request)\n\n export const OpenedExchange = Schema.Struct({ id: Schema.String, url: Schema.String, body: Schema.Json })\n export interface OpenedExchange extends Schema.Schema.Type<typeof OpenedExchange> {}\n\n export const NetworkLogEntry = Schema.Struct({\n time: Schema.Number,\n method: Schema.String,\n url: Schema.String,\n matched: Schema.Boolean,\n })\n export interface NetworkLogEntry extends Schema.Schema.Type<typeof NetworkLogEntry> {}\n}\n\nexport * as SimulationProtocol from \"./index\"\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "2AEC78A7FB9006C364756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260604172448_event_sourced_session_input.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260604172448_event_sourced_session_input\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`DELETE FROM \\`session_input\\`;`)\n yield* tx.run(`DELETE FROM \\`session_message\\`;`)\n yield* tx.run(`DELETE FROM \\`event\\`;`)\n yield* tx.run(`DELETE FROM \\`event_sequence\\`;`)\n yield* tx.run(`UPDATE \\`session\\` SET \\`workspace_id\\` = NULL;`)\n yield* tx.run(`DELETE FROM \\`workspace\\`;`)\n yield* tx.run(`DROP INDEX IF EXISTS \\`event_aggregate_seq_idx\\`;`)\n yield* tx.run(`CREATE UNIQUE INDEX \\`event_aggregate_seq_idx\\` ON \\`event\\` (\\`aggregate_id\\`,\\`seq\\`);`)\n yield* tx.run(`DROP INDEX IF EXISTS \\`session_message_session_seq_idx\\`;`)\n yield* tx.run(\n `CREATE UNIQUE INDEX \\`session_message_session_seq_idx\\` ON \\`session_message\\` (\\`session_id\\`,\\`seq\\`);`,\n )\n yield* tx.run(`PRAGMA foreign_keys=OFF;`)\n yield* tx.run(`\n CREATE TABLE \\`__new_session_input\\` (\n \\`id\\` text PRIMARY KEY,\n \\`session_id\\` text NOT NULL,\n \\`prompt\\` text NOT NULL,\n \\`delivery\\` text NOT NULL,\n \\`admitted_seq\\` integer 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(`DROP TABLE \\`session_input\\`;`)\n yield* tx.run(`ALTER TABLE \\`__new_session_input\\` RENAME TO \\`session_input\\`;`)\n yield* tx.run(`PRAGMA foreign_keys=ON;`)\n yield* tx.run(\n `CREATE INDEX \\`session_input_session_pending_delivery_seq_idx\\` ON \\`session_input\\` (\\`session_id\\`,\\`promoted_seq\\`,\\`delivery\\`,\\`admitted_seq\\`);`,\n )\n yield* tx.run(\n `CREATE UNIQUE INDEX \\`session_input_session_admitted_seq_idx\\` ON \\`session_input\\` (\\`session_id\\`,\\`admitted_seq\\`);`,\n )\n yield* tx.run(\n `CREATE UNIQUE INDEX \\`session_input_session_promoted_seq_idx\\` ON \\`session_input\\` (\\`session_id\\`,\\`promoted_seq\\`);`,\n )\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,6CACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,8BAAgC,EAC9C,MAAO,EAAG,IAAI,gCAAkC,EAChD,MAAO,EAAG,IAAI,sBAAwB,EACtC,MAAO,EAAG,IAAI,+BAAiC,EAC/C,MAAO,EAAG,IAAI,6CAAiD,EAC/D,MAAO,EAAG,IAAI,0BAA4B,EAC1C,MAAO,EAAG,IAAI,iDAAmD,EACjE,MAAO,EAAG,IAAI,kFAA0F,EACxG,MAAO,EAAG,IAAI,yDAA2D,EACzE,MAAO,EAAG,IACR,kGACF,EACA,MAAO,EAAG,IAAI,0BAA0B,EACxC,MAAO,EAAG,IAAI,0dAWb,EACD,MAAO,EAAG,IAAI,6BAA+B,EAC7C,MAAO,EAAG,IAAI,8DAAkE,EAChF,MAAO,EAAG,IAAI,yBAAyB,EACvC,MAAO,EAAG,IACR,2IACF,EACA,MAAO,EAAG,IACR,gHACF,EACA,MAAO,EAAG,IACR,gHACF,EACD,EAEL", | ||
| "debugId": "6B3D4D5DCBEC41E464756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "525969C96410A64D64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "5D57EFA80E0F44A064756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@aws-sdk+credential-provider-env@3.972.41/node_modules/@aws-sdk/credential-provider-env/dist-es/fromEnv.js"], | ||
| "sourcesContent": [ | ||
| "import { setCredentialFeature } from \"@aws-sdk/core/client\";\nimport { CredentialsProviderError } from \"@smithy/core/config\";\nexport const ENV_KEY = \"AWS_ACCESS_KEY_ID\";\nexport const ENV_SECRET = \"AWS_SECRET_ACCESS_KEY\";\nexport const ENV_SESSION = \"AWS_SESSION_TOKEN\";\nexport const ENV_EXPIRATION = \"AWS_CREDENTIAL_EXPIRATION\";\nexport const ENV_CREDENTIAL_SCOPE = \"AWS_CREDENTIAL_SCOPE\";\nexport const ENV_ACCOUNT_ID = \"AWS_ACCOUNT_ID\";\nexport const fromEnv = (init) => async () => {\n init?.logger?.debug(\"@aws-sdk/credential-provider-env - fromEnv\");\n const accessKeyId = process.env[ENV_KEY];\n const secretAccessKey = process.env[ENV_SECRET];\n const sessionToken = process.env[ENV_SESSION];\n const expiry = process.env[ENV_EXPIRATION];\n const credentialScope = process.env[ENV_CREDENTIAL_SCOPE];\n const accountId = process.env[ENV_ACCOUNT_ID];\n if (accessKeyId && secretAccessKey) {\n const credentials = {\n accessKeyId,\n secretAccessKey,\n ...(sessionToken && { sessionToken }),\n ...(expiry && { expiration: new Date(expiry) }),\n ...(credentialScope && { credentialScope }),\n ...(accountId && { accountId }),\n };\n setCredentialFeature(credentials, \"CREDENTIALS_ENV_VARS\", \"g\");\n return credentials;\n }\n throw new CredentialsProviderError(\"Unable to find environment variable credentials.\", { logger: init?.logger });\n};\n" | ||
| ], | ||
| "mappings": ";kJAAA,oBACA,gBACa,EAAU,oBACV,EAAa,wBACb,EAAc,oBACd,EAAiB,4BACjB,EAAuB,uBACvB,EAAiB,iBACjB,EAAU,CAAC,IAAS,SAAY,CACzC,GAAM,QAAQ,MAAM,4CAA4C,EAChE,IAAM,EAAc,QAAQ,IAAI,GAC1B,EAAkB,QAAQ,IAAI,GAC9B,EAAe,QAAQ,IAAI,GAC3B,EAAS,QAAQ,IAAI,GACrB,EAAkB,QAAQ,IAAI,GAC9B,EAAY,QAAQ,IAAI,GAC9B,GAAI,GAAe,EAAiB,CAChC,IAAM,EAAc,CAChB,cACA,qBACI,GAAgB,CAAE,cAAa,KAC/B,GAAU,CAAE,WAAY,IAAI,KAAK,CAAM,CAAE,KACzC,GAAmB,CAAE,iBAAgB,KACrC,GAAa,CAAE,WAAU,CACjC,EAEA,OADA,uBAAqB,EAAa,uBAAwB,GAAG,EACtD,EAEX,MAAM,IAAI,2BAAyB,mDAAoD,CAAE,OAAQ,GAAM,MAAO,CAAC", | ||
| "debugId": "73A9D9F07D8BE2AF64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["src/commands/handlers/service/set.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport { Commands } from \"../../commands\"\nimport { Runtime } from \"../../../framework/runtime\"\nimport { ServiceConfig } from \"../../../services/service-config\"\n\nexport default Runtime.handler(\n Commands.commands.service.commands.set,\n Effect.fn(\"cli.service.set\")(function* (input) {\n yield* ServiceConfig.set(input.key, input.value)\n }),\n)\n" | ||
| ], | ||
| "mappings": ";snBAKA,SAAe,SAAQ,aACrB,OAAS,cAAS,aAAQ,cAAS,SACnC,OAAO,QAAG,sBAAiB,OAAE,cAAU,MAAC,OAAO,MAC7C,MAAO,EAAc,IAAI,EAAM,IAAK,EAAM,KAAK,EAChD,CACH", | ||
| "debugId": "D7DF2E4A0072DAB864756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@opentelemetry+resources@2.6.1+460773ef8ff1e07c/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/machine-id/execAsync.js"], | ||
| "sourcesContent": [ | ||
| "\"use strict\";\n/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.execAsync = void 0;\nconst child_process = require(\"child_process\");\nconst util = require(\"util\");\nexports.execAsync = util.promisify(child_process.exec);\n//# sourceMappingURL=execAsync.js.map" | ||
| ], | ||
| "mappings": ";0EAKA,OAAO,eAAe,EAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EACpD,YAAiB,OACzB,IAAM,qBACA,YACE,YAAY,EAAK,UAAU,EAAc,IAAI", | ||
| "debugId": "CACC5AA692940A5264756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@aws-sdk+nested-clients@3.997.13/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/index.js"], | ||
| "sourcesContent": [ | ||
| "'use strict';\n\nvar client$1 = require('@aws-sdk/core/client');\nvar core = require('@smithy/core');\nvar client = require('@smithy/core/client');\nvar config = require('@smithy/core/config');\nvar endpoints = require('@smithy/core/endpoints');\nvar protocols = require('@smithy/core/protocols');\nvar retry = require('@smithy/core/retry');\nvar schema = require('@smithy/core/schema');\nvar httpAuthSchemes = require('@aws-sdk/core/httpAuthSchemes');\nvar serde = require('@smithy/core/serde');\nvar nodeHttpHandler = require('@smithy/node-http-handler');\nvar protocols$1 = require('@aws-sdk/core/protocols');\n\nconst defaultSSOHttpAuthSchemeParametersProvider = async (config, context, input) => {\n return {\n operation: client.getSmithyContext(context).operation,\n region: (await client.normalizeProvider(config.region)()) ||\n (() => {\n throw new Error(\"expected `region` to be configured for `aws.auth#sigv4`\");\n })(),\n };\n};\nfunction createAwsAuthSigv4HttpAuthOption(authParameters) {\n return {\n schemeId: \"aws.auth#sigv4\",\n signingProperties: {\n name: \"awsssoportal\",\n region: authParameters.region,\n },\n propertiesExtractor: (config, context) => ({\n signingProperties: {\n config,\n context,\n },\n }),\n };\n}\nfunction createSmithyApiNoAuthHttpAuthOption(authParameters) {\n return {\n schemeId: \"smithy.api#noAuth\",\n };\n}\nconst defaultSSOHttpAuthSchemeProvider = (authParameters) => {\n const options = [];\n switch (authParameters.operation) {\n case \"GetRoleCredentials\": {\n options.push(createSmithyApiNoAuthHttpAuthOption());\n break;\n }\n default: {\n options.push(createAwsAuthSigv4HttpAuthOption(authParameters));\n }\n }\n return options;\n};\nconst resolveHttpAuthSchemeConfig = (config) => {\n const config_0 = httpAuthSchemes.resolveAwsSdkSigV4Config(config);\n return Object.assign(config_0, {\n authSchemePreference: client.normalizeProvider(config.authSchemePreference ?? []),\n });\n};\n\nconst resolveClientEndpointParameters = (options) => {\n return Object.assign(options, {\n useDualstackEndpoint: options.useDualstackEndpoint ?? false,\n useFipsEndpoint: options.useFipsEndpoint ?? false,\n defaultSigningName: \"awsssoportal\",\n });\n};\nconst commonParams = {\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n};\n\nvar version = \"3.997.12\";\nvar packageInfo = {\n\tversion: version};\n\nconst k = \"ref\";\nconst a = -1, b = true, c = \"isSet\", d = \"PartitionResult\", e = \"booleanEquals\", f = \"getAttr\", g = { [k]: \"Endpoint\" }, h = { [k]: d }, i = {}, j = [{ [k]: \"Region\" }];\nconst _data = {\n conditions: [\n [c, [g]],\n [c, j],\n [\"aws.partition\", j, d],\n [e, [{ [k]: \"UseFIPS\" }, b]],\n [e, [{ [k]: \"UseDualStack\" }, b]],\n [e, [{ fn: f, argv: [h, \"supportsDualStack\"] }, b]],\n [e, [{ fn: f, argv: [h, \"supportsFIPS\"] }, b]],\n [\"stringEquals\", [{ fn: f, argv: [h, \"name\"] }, \"aws-us-gov\"]],\n ],\n results: [\n [a],\n [a, \"Invalid Configuration: FIPS and custom endpoint are not supported\"],\n [a, \"Invalid Configuration: Dualstack and custom endpoint are not supported\"],\n [g, i],\n [\"https://portal.sso-fips.{Region}.{PartitionResult#dualStackDnsSuffix}\", i],\n [a, \"FIPS and DualStack are enabled, but this partition does not support one or both\"],\n [\"https://portal.sso.{Region}.amazonaws.com\", i],\n [\"https://portal.sso-fips.{Region}.{PartitionResult#dnsSuffix}\", i],\n [a, \"FIPS is enabled but this partition does not support FIPS\"],\n [\"https://portal.sso.{Region}.{PartitionResult#dualStackDnsSuffix}\", i],\n [a, \"DualStack is enabled but this partition does not support DualStack\"],\n [\"https://portal.sso.{Region}.{PartitionResult#dnsSuffix}\", i],\n [a, \"Invalid Configuration: Missing Region\"],\n ],\n};\nconst root = 2;\nconst r = 100_000_000;\nconst nodes = new Int32Array([\n -1,\n 1,\n -1,\n 0,\n 13,\n 3,\n 1,\n 4,\n r + 12,\n 2,\n 5,\n r + 12,\n 3,\n 8,\n 6,\n 4,\n 7,\n r + 11,\n 5,\n r + 9,\n r + 10,\n 4,\n 11,\n 9,\n 6,\n 10,\n r + 8,\n 7,\n r + 6,\n r + 7,\n 5,\n 12,\n r + 5,\n 6,\n r + 4,\n r + 5,\n 3,\n r + 1,\n 14,\n 4,\n r + 2,\n r + 3,\n]);\nconst bdd = endpoints.BinaryDecisionDiagram.from(nodes, root, _data.conditions, _data.results);\n\nconst cache = new endpoints.EndpointCache({\n size: 50,\n params: [\"Endpoint\", \"Region\", \"UseDualStack\", \"UseFIPS\"],\n});\nconst defaultEndpointResolver = (endpointParams, context = {}) => {\n return cache.get(endpointParams, () => endpoints.decideEndpoint(bdd, {\n endpointParams: endpointParams,\n logger: context.logger,\n }));\n};\nendpoints.customEndpointFunctions.aws = client$1.awsEndpointFunctions;\n\nclass SSOServiceException extends client.ServiceException {\n constructor(options) {\n super(options);\n Object.setPrototypeOf(this, SSOServiceException.prototype);\n }\n}\n\nclass InvalidRequestException extends SSOServiceException {\n name = \"InvalidRequestException\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"InvalidRequestException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, InvalidRequestException.prototype);\n }\n}\nclass ResourceNotFoundException extends SSOServiceException {\n name = \"ResourceNotFoundException\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"ResourceNotFoundException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, ResourceNotFoundException.prototype);\n }\n}\nclass TooManyRequestsException extends SSOServiceException {\n name = \"TooManyRequestsException\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"TooManyRequestsException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, TooManyRequestsException.prototype);\n }\n}\nclass UnauthorizedException extends SSOServiceException {\n name = \"UnauthorizedException\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"UnauthorizedException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, UnauthorizedException.prototype);\n }\n}\n\nconst _ATT = \"AccessTokenType\";\nconst _GRC = \"GetRoleCredentials\";\nconst _GRCR = \"GetRoleCredentialsRequest\";\nconst _GRCRe = \"GetRoleCredentialsResponse\";\nconst _IRE = \"InvalidRequestException\";\nconst _RC = \"RoleCredentials\";\nconst _RNFE = \"ResourceNotFoundException\";\nconst _SAKT = \"SecretAccessKeyType\";\nconst _STT = \"SessionTokenType\";\nconst _TMRE = \"TooManyRequestsException\";\nconst _UE = \"UnauthorizedException\";\nconst _aI = \"accountId\";\nconst _aKI = \"accessKeyId\";\nconst _aT = \"accessToken\";\nconst _ai = \"account_id\";\nconst _c = \"client\";\nconst _e = \"error\";\nconst _ex = \"expiration\";\nconst _h = \"http\";\nconst _hE = \"httpError\";\nconst _hH = \"httpHeader\";\nconst _hQ = \"httpQuery\";\nconst _m = \"message\";\nconst _rC = \"roleCredentials\";\nconst _rN = \"roleName\";\nconst _rn = \"role_name\";\nconst _s = \"smithy.ts.sdk.synthetic.com.amazonaws.sso\";\nconst _sAK = \"secretAccessKey\";\nconst _sT = \"sessionToken\";\nconst _xasbt = \"x-amz-sso_bearer_token\";\nconst n0 = \"com.amazonaws.sso\";\nconst _s_registry = schema.TypeRegistry.for(_s);\nvar SSOServiceException$ = [-3, _s, \"SSOServiceException\", 0, [], []];\n_s_registry.registerError(SSOServiceException$, SSOServiceException);\nconst n0_registry = schema.TypeRegistry.for(n0);\nvar InvalidRequestException$ = [-3, n0, _IRE, { [_e]: _c, [_hE]: 400 }, [_m], [0]];\nn0_registry.registerError(InvalidRequestException$, InvalidRequestException);\nvar ResourceNotFoundException$ = [-3, n0, _RNFE, { [_e]: _c, [_hE]: 404 }, [_m], [0]];\nn0_registry.registerError(ResourceNotFoundException$, ResourceNotFoundException);\nvar TooManyRequestsException$ = [-3, n0, _TMRE, { [_e]: _c, [_hE]: 429 }, [_m], [0]];\nn0_registry.registerError(TooManyRequestsException$, TooManyRequestsException);\nvar UnauthorizedException$ = [-3, n0, _UE, { [_e]: _c, [_hE]: 401 }, [_m], [0]];\nn0_registry.registerError(UnauthorizedException$, UnauthorizedException);\nconst errorTypeRegistries = [_s_registry, n0_registry];\nvar AccessTokenType = [0, n0, _ATT, 8, 0];\nvar SecretAccessKeyType = [0, n0, _SAKT, 8, 0];\nvar SessionTokenType = [0, n0, _STT, 8, 0];\nvar GetRoleCredentialsRequest$ = [\n 3,\n n0,\n _GRCR,\n 0,\n [_rN, _aI, _aT],\n [\n [0, { [_hQ]: _rn }],\n [0, { [_hQ]: _ai }],\n [() => AccessTokenType, { [_hH]: _xasbt }],\n ],\n 3,\n];\nvar GetRoleCredentialsResponse$ = [\n 3,\n n0,\n _GRCRe,\n 0,\n [_rC],\n [[() => RoleCredentials$, 0]],\n];\nvar RoleCredentials$ = [\n 3,\n n0,\n _RC,\n 0,\n [_aKI, _sAK, _sT, _ex],\n [0, [() => SecretAccessKeyType, 0], [() => SessionTokenType, 0], 1],\n];\nvar GetRoleCredentials$ = [\n 9,\n n0,\n _GRC,\n { [_h]: [\"GET\", \"/federation/credentials\", 200] },\n () => GetRoleCredentialsRequest$,\n () => GetRoleCredentialsResponse$,\n];\n\nconst getRuntimeConfig$1 = (config) => {\n return {\n apiVersion: \"2019-06-10\",\n base64Decoder: config?.base64Decoder ?? serde.fromBase64,\n base64Encoder: config?.base64Encoder ?? serde.toBase64,\n disableHostPrefix: config?.disableHostPrefix ?? false,\n endpointProvider: config?.endpointProvider ?? defaultEndpointResolver,\n extensions: config?.extensions ?? [],\n httpAuthSchemeProvider: config?.httpAuthSchemeProvider ?? defaultSSOHttpAuthSchemeProvider,\n httpAuthSchemes: config?.httpAuthSchemes ?? [\n {\n schemeId: \"aws.auth#sigv4\",\n identityProvider: (ipc) => ipc.getIdentityProvider(\"aws.auth#sigv4\"),\n signer: new httpAuthSchemes.AwsSdkSigV4Signer(),\n },\n {\n schemeId: \"smithy.api#noAuth\",\n identityProvider: (ipc) => ipc.getIdentityProvider(\"smithy.api#noAuth\") || (async () => ({})),\n signer: new core.NoAuthSigner(),\n },\n ],\n logger: config?.logger ?? new client.NoOpLogger(),\n protocol: config?.protocol ?? protocols$1.AwsRestJsonProtocol,\n protocolSettings: config?.protocolSettings ?? {\n defaultNamespace: \"com.amazonaws.sso\",\n errorTypeRegistries,\n version: \"2019-06-10\",\n serviceTarget: \"SWBPortalService\",\n },\n serviceId: config?.serviceId ?? \"SSO\",\n urlParser: config?.urlParser ?? protocols.parseUrl,\n utf8Decoder: config?.utf8Decoder ?? serde.fromUtf8,\n utf8Encoder: config?.utf8Encoder ?? serde.toUtf8,\n };\n};\n\nconst getRuntimeConfig = (config$1) => {\n client.emitWarningIfUnsupportedVersion(process.version);\n const defaultsMode = config.resolveDefaultsModeConfig(config$1);\n const defaultConfigProvider = () => defaultsMode().then(client.loadConfigsForDefaultMode);\n const clientSharedValues = getRuntimeConfig$1(config$1);\n client$1.emitWarningIfUnsupportedVersion(process.version);\n const loaderConfig = {\n profile: config$1?.profile,\n logger: clientSharedValues.logger,\n };\n return {\n ...clientSharedValues,\n ...config$1,\n runtime: \"node\",\n defaultsMode,\n authSchemePreference: config$1?.authSchemePreference ?? config.loadConfig(httpAuthSchemes.NODE_AUTH_SCHEME_PREFERENCE_OPTIONS, loaderConfig),\n bodyLengthChecker: config$1?.bodyLengthChecker ?? serde.calculateBodyLength,\n defaultUserAgentProvider: config$1?.defaultUserAgentProvider ??\n client$1.createDefaultUserAgentProvider({ serviceId: clientSharedValues.serviceId, clientVersion: packageInfo.version }),\n maxAttempts: config$1?.maxAttempts ?? config.loadConfig(retry.NODE_MAX_ATTEMPT_CONFIG_OPTIONS, config$1),\n region: config$1?.region ??\n config.loadConfig(config.NODE_REGION_CONFIG_OPTIONS, { ...config.NODE_REGION_CONFIG_FILE_OPTIONS, ...loaderConfig }),\n requestHandler: nodeHttpHandler.NodeHttpHandler.create(config$1?.requestHandler ?? defaultConfigProvider),\n retryMode: config$1?.retryMode ??\n config.loadConfig({\n ...retry.NODE_RETRY_MODE_CONFIG_OPTIONS,\n default: async () => (await defaultConfigProvider()).retryMode || retry.DEFAULT_RETRY_MODE,\n }, config$1),\n sha256: config$1?.sha256 ?? serde.Hash.bind(null, \"sha256\"),\n streamCollector: config$1?.streamCollector ?? nodeHttpHandler.streamCollector,\n useDualstackEndpoint: config$1?.useDualstackEndpoint ?? config.loadConfig(config.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS, loaderConfig),\n useFipsEndpoint: config$1?.useFipsEndpoint ?? config.loadConfig(config.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS, loaderConfig),\n userAgentAppId: config$1?.userAgentAppId ?? config.loadConfig(client$1.NODE_APP_ID_CONFIG_OPTIONS, loaderConfig),\n };\n};\n\nconst getHttpAuthExtensionConfiguration = (runtimeConfig) => {\n const _httpAuthSchemes = runtimeConfig.httpAuthSchemes;\n let _httpAuthSchemeProvider = runtimeConfig.httpAuthSchemeProvider;\n let _credentials = runtimeConfig.credentials;\n return {\n setHttpAuthScheme(httpAuthScheme) {\n const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId);\n if (index === -1) {\n _httpAuthSchemes.push(httpAuthScheme);\n }\n else {\n _httpAuthSchemes.splice(index, 1, httpAuthScheme);\n }\n },\n httpAuthSchemes() {\n return _httpAuthSchemes;\n },\n setHttpAuthSchemeProvider(httpAuthSchemeProvider) {\n _httpAuthSchemeProvider = httpAuthSchemeProvider;\n },\n httpAuthSchemeProvider() {\n return _httpAuthSchemeProvider;\n },\n setCredentials(credentials) {\n _credentials = credentials;\n },\n credentials() {\n return _credentials;\n },\n };\n};\nconst resolveHttpAuthRuntimeConfig = (config) => {\n return {\n httpAuthSchemes: config.httpAuthSchemes(),\n httpAuthSchemeProvider: config.httpAuthSchemeProvider(),\n credentials: config.credentials(),\n };\n};\n\nconst resolveRuntimeExtensions = (runtimeConfig, extensions) => {\n const extensionConfiguration = Object.assign(client$1.getAwsRegionExtensionConfiguration(runtimeConfig), client.getDefaultExtensionConfiguration(runtimeConfig), protocols.getHttpHandlerExtensionConfiguration(runtimeConfig), getHttpAuthExtensionConfiguration(runtimeConfig));\n extensions.forEach((extension) => extension.configure(extensionConfiguration));\n return Object.assign(runtimeConfig, client$1.resolveAwsRegionExtensionConfiguration(extensionConfiguration), client.resolveDefaultRuntimeConfig(extensionConfiguration), protocols.resolveHttpHandlerRuntimeConfig(extensionConfiguration), resolveHttpAuthRuntimeConfig(extensionConfiguration));\n};\n\nclass SSOClient extends client.Client {\n config;\n constructor(...[configuration]) {\n const _config_0 = getRuntimeConfig(configuration || {});\n super(_config_0);\n this.initConfig = _config_0;\n const _config_1 = resolveClientEndpointParameters(_config_0);\n const _config_2 = client$1.resolveUserAgentConfig(_config_1);\n const _config_3 = retry.resolveRetryConfig(_config_2);\n const _config_4 = config.resolveRegionConfig(_config_3);\n const _config_5 = client$1.resolveHostHeaderConfig(_config_4);\n const _config_6 = endpoints.resolveEndpointConfig(_config_5);\n const _config_7 = resolveHttpAuthSchemeConfig(_config_6);\n const _config_8 = resolveRuntimeExtensions(_config_7, configuration?.extensions || []);\n this.config = _config_8;\n this.middlewareStack.use(schema.getSchemaSerdePlugin(this.config));\n this.middlewareStack.use(client$1.getUserAgentPlugin(this.config));\n this.middlewareStack.use(retry.getRetryPlugin(this.config));\n this.middlewareStack.use(protocols.getContentLengthPlugin(this.config));\n this.middlewareStack.use(client$1.getHostHeaderPlugin(this.config));\n this.middlewareStack.use(client$1.getLoggerPlugin(this.config));\n this.middlewareStack.use(client$1.getRecursionDetectionPlugin(this.config));\n this.middlewareStack.use(core.getHttpAuthSchemeEndpointRuleSetPlugin(this.config, {\n httpAuthSchemeParametersProvider: defaultSSOHttpAuthSchemeParametersProvider,\n identityProviderConfigProvider: async (config) => new core.DefaultIdentityProviderConfig({\n \"aws.auth#sigv4\": config.credentials,\n }),\n }));\n this.middlewareStack.use(core.getHttpSigningPlugin(this.config));\n }\n destroy() {\n super.destroy();\n }\n}\n\nclass GetRoleCredentialsCommand extends client.Command\n .classBuilder()\n .ep(commonParams)\n .m(function (Command, cs, config, o) {\n return [endpoints.getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"SWBPortalService\", \"GetRoleCredentials\", {})\n .n(\"SSOClient\", \"GetRoleCredentialsCommand\")\n .sc(GetRoleCredentials$)\n .build() {\n}\n\nconst commands = {\n GetRoleCredentialsCommand,\n};\nclass SSO extends SSOClient {\n}\nclient.createAggregatedClient(commands, SSO);\n\nexports.$Command = client.Command;\nexports.__Client = client.Client;\nexports.GetRoleCredentials$ = GetRoleCredentials$;\nexports.GetRoleCredentialsCommand = GetRoleCredentialsCommand;\nexports.GetRoleCredentialsRequest$ = GetRoleCredentialsRequest$;\nexports.GetRoleCredentialsResponse$ = GetRoleCredentialsResponse$;\nexports.InvalidRequestException = InvalidRequestException;\nexports.InvalidRequestException$ = InvalidRequestException$;\nexports.ResourceNotFoundException = ResourceNotFoundException;\nexports.ResourceNotFoundException$ = ResourceNotFoundException$;\nexports.RoleCredentials$ = RoleCredentials$;\nexports.SSO = SSO;\nexports.SSOClient = SSOClient;\nexports.SSOServiceException = SSOServiceException;\nexports.SSOServiceException$ = SSOServiceException$;\nexports.TooManyRequestsException = TooManyRequestsException;\nexports.TooManyRequestsException$ = TooManyRequestsException$;\nexports.UnauthorizedException = UnauthorizedException;\nexports.UnauthorizedException$ = UnauthorizedException$;\nexports.errorTypeRegistries = errorTypeRegistries;\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "06C38F5BEA63466A64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260510033149_session_usage.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260510033149_session_usage\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`ALTER TABLE \\`session\\` ADD \\`cost\\` real DEFAULT 0 NOT NULL;`)\n yield* tx.run(`ALTER TABLE \\`session\\` ADD \\`tokens_input\\` integer DEFAULT 0 NOT NULL;`)\n yield* tx.run(`ALTER TABLE \\`session\\` ADD \\`tokens_output\\` integer DEFAULT 0 NOT NULL;`)\n yield* tx.run(`ALTER TABLE \\`session\\` ADD \\`tokens_reasoning\\` integer DEFAULT 0 NOT NULL;`)\n yield* tx.run(`ALTER TABLE \\`session\\` ADD \\`tokens_cache_read\\` integer DEFAULT 0 NOT NULL;`)\n yield* tx.run(`ALTER TABLE \\`session\\` ADD \\`tokens_cache_write\\` integer DEFAULT 0 NOT NULL;`)\n yield* tx.run(`\n UPDATE session\n SET\n cost = coalesce((\n SELECT sum(coalesce(json_extract(message.data, '$.cost'), 0))\n FROM message\n WHERE message.session_id = session.id\n AND json_extract(message.data, '$.role') = 'assistant'\n ), 0),\n tokens_input = coalesce((\n SELECT sum(coalesce(json_extract(message.data, '$.tokens.input'), 0))\n FROM message\n WHERE message.session_id = session.id\n AND json_extract(message.data, '$.role') = 'assistant'\n ), 0),\n tokens_output = coalesce((\n SELECT sum(coalesce(json_extract(message.data, '$.tokens.output'), 0))\n FROM message\n WHERE message.session_id = session.id\n AND json_extract(message.data, '$.role') = 'assistant'\n ), 0),\n tokens_reasoning = coalesce((\n SELECT sum(coalesce(json_extract(message.data, '$.tokens.reasoning'), 0))\n FROM message\n WHERE message.session_id = session.id\n AND json_extract(message.data, '$.role') = 'assistant'\n ), 0),\n tokens_cache_read = coalesce((\n SELECT sum(coalesce(json_extract(message.data, '$.tokens.cache.read'), 0))\n FROM message\n WHERE message.session_id = session.id\n AND json_extract(message.data, '$.role') = 'assistant'\n ), 0),\n tokens_cache_write = coalesce((\n SELECT sum(coalesce(json_extract(message.data, '$.tokens.cache.write'), 0))\n FROM message\n WHERE message.session_id = session.id\n AND json_extract(message.data, '$.role') = 'assistant'\n ), 0)\n `)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,+BACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,2DAA+D,EAC7E,MAAO,EAAG,IAAI,sEAA0E,EACxF,MAAO,EAAG,IAAI,uEAA2E,EACzF,MAAO,EAAG,IAAI,0EAA8E,EAC5F,MAAO,EAAG,IAAI,2EAA+E,EAC7F,MAAO,EAAG,IAAI,4EAAgF,EAC9F,MAAO,EAAG,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAuCb,EACF,EAEL", | ||
| "debugId": "DB432847FA62486B64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "B7F0882AB2659FDA64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260707120000_migrate_prelaunch_v2_state.ts"], | ||
| "sourcesContent": [ | ||
| "import { sql } from \"drizzle-orm\"\nimport { Effect, Schema } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nconst decodeJson = Schema.decodeUnknownSync(Schema.UnknownFromJsonString)\nconst isObject = Schema.is(Schema.Record(Schema.String, Schema.Unknown))\n\nexport default {\n id: \"20260707120000_migrate_prelaunch_v2_state\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(\n sql`DELETE FROM session_message WHERE type = 'compaction' AND json_extract(data, '$.status') = 'queued'`,\n )\n const messages = yield* tx.all<{ id: string; type: string; data: string }>(\n sql`SELECT id, type, data FROM session_message WHERE type IN ('skill', 'shell', 'assistant', 'compaction', 'synthetic')`,\n )\n for (const row of messages) {\n const data = object(decodeJson(row.data))\n yield* tx.run(\n sql`UPDATE session_message SET data = ${JSON.stringify(messageData(row.type, data))} WHERE id = ${row.id}`,\n )\n }\n\n yield* tx.run(sql`DELETE FROM event WHERE type = 'session.compaction.delta.1'`)\n const events = yield* tx.all<{ id: string; aggregateID: string; seq: number; type: string; data: string }>(sql`\n SELECT id, aggregate_id as aggregateID, seq, type, data\n FROM event\n WHERE type IN (\n 'session.skill.activated.1',\n 'session.skill.activated.2',\n 'session.compaction.started.1',\n 'session.compaction.started.2',\n 'session.compaction.ended.1',\n 'session.compaction.failed.1',\n 'session.compaction.failed.2',\n 'session.revert.staged.1',\n 'session.revert.staged.2'\n )\n ORDER BY aggregate_id, seq\n `)\n const compactionReasons = new Map<string, \"auto\" | \"manual\">()\n for (const row of events) {\n const data = object(decodeJson(row.data))\n if (row.type.startsWith(\"session.compaction.ended.\")) {\n compactionReasons.delete(row.aggregateID)\n continue\n }\n const event = eventData(row.type, data, compactionReasons.get(row.aggregateID))\n if (row.type.startsWith(\"session.compaction.started.\"))\n compactionReasons.set(row.aggregateID, event.data.reason === \"auto\" ? \"auto\" : \"manual\")\n if (row.type.startsWith(\"session.compaction.failed.\")) compactionReasons.delete(row.aggregateID)\n yield* tx.run(\n sql`UPDATE event SET type = ${event.type}, data = ${JSON.stringify(event.data)} WHERE id = ${row.id}`,\n )\n }\n })\n },\n} satisfies DatabaseMigration.Migration\n\nfunction messageData(type: string, data: Record<string, unknown>) {\n if (type === \"skill\")\n return defined({\n metadata: data.metadata,\n time: data.time,\n skill: data.skill ?? data.id ?? data.name,\n name: data.name,\n text: data.text,\n })\n if (type === \"shell\") {\n const shell = object(data.shell)\n return defined({\n metadata: data.metadata,\n time: data.time,\n shellID: data.shellID ?? shell.id,\n command: data.command ?? shell.command,\n status: data.status ?? shell.status,\n exit: data.exit ?? shell.exit,\n output: data.output,\n })\n }\n if (type === \"assistant\")\n return defined({\n metadata: data.metadata,\n time: data.time,\n agent: data.agent,\n model: data.model,\n content: Array.isArray(data.content) ? data.content.map(assistantContent) : data.content,\n snapshot: data.snapshot,\n finish: data.finish,\n cost: data.cost,\n tokens: data.tokens,\n error: data.error,\n retry: data.retry,\n })\n if (type === \"compaction\") {\n if (data.status === \"failed\")\n return defined({\n metadata: data.metadata,\n time: data.time,\n status: data.status,\n reason: data.reason,\n error: data.error ?? genericCompactionError,\n })\n return defined({\n metadata: data.metadata,\n time: data.time,\n status: data.status,\n reason: data.reason,\n summary: data.summary,\n recent: data.recent,\n })\n }\n if (type === \"synthetic\")\n return defined({ metadata: data.metadata, time: data.time, text: data.text, description: data.description })\n const { sessionID: _, ...current } = data\n return current\n}\n\nfunction assistantContent(value: unknown) {\n const content = object(value)\n if (content.type === \"text\") return defined({ type: content.type, text: content.text })\n if (content.type === \"reasoning\")\n return defined({ type: content.type, text: content.text, state: content.state, time: content.time })\n if (content.type !== \"tool\") return content\n return defined({\n type: content.type,\n id: content.id,\n name: content.name,\n executed: content.executed,\n providerState: content.providerState,\n providerResultState: content.providerResultState,\n state: toolState(content.state),\n time: content.time,\n })\n}\n\nfunction toolState(value: unknown) {\n const state = object(value)\n if (state.status === \"pending\" || state.status === \"streaming\")\n return defined({ status: \"streaming\", input: state.input })\n if (state.status === \"running\")\n return defined({ status: state.status, input: state.input, structured: state.structured, content: state.content })\n if (state.status === \"completed\")\n return defined({\n status: state.status,\n input: state.input,\n structured: state.structured,\n content: state.content,\n result: state.result,\n })\n if (state.status === \"error\")\n return defined({\n status: state.status,\n input: state.input,\n structured: state.structured,\n content: state.content,\n error: state.error,\n result: state.result,\n })\n return state\n}\n\nfunction eventData(type: string, data: Record<string, unknown>, compactionReason?: \"auto\" | \"manual\") {\n if (type.startsWith(\"session.skill.activated.\"))\n return {\n type: \"session.skill.activated.1\",\n data: defined({ sessionID: data.sessionID, id: data.id ?? data.name, name: data.name, text: data.text }),\n }\n if (type.startsWith(\"session.compaction.started.\"))\n return {\n type: \"session.compaction.started.1\",\n data: defined({\n sessionID: data.sessionID,\n reason: data.reason,\n recent: data.recent ?? \"\",\n inputID: data.inputID,\n }),\n }\n if (type.startsWith(\"session.compaction.failed.\"))\n return {\n type: \"session.compaction.failed.1\",\n data: defined({\n sessionID: data.sessionID,\n reason: data.reason ?? compactionReason ?? \"manual\",\n error: data.error ?? genericCompactionError,\n inputID: data.inputID,\n }),\n }\n const revert = object(data.revert)\n return {\n type: \"session.revert.staged.1\",\n data: defined({\n sessionID: data.sessionID,\n revert: defined({\n messageID: revert.messageID,\n partID: revert.partID,\n snapshot: revert.snapshot,\n files: Array.isArray(revert.files)\n ? revert.files.map((value) => {\n const file = object(value)\n return defined({\n file: file.file ?? file.path,\n patch: file.patch,\n additions: file.additions,\n deletions: file.deletions,\n status: file.status,\n })\n })\n : undefined,\n }),\n }),\n }\n}\n\nconst genericCompactionError = {\n type: \"compaction.failed\",\n message: \"Compaction failed before recording an error\",\n}\n\nfunction object(value: unknown): Record<string, unknown> {\n return isObject(value) ? value : {}\n}\n\nfunction defined(value: Record<string, unknown>) {\n return Object.fromEntries(Object.entries(value).filter((entry) => entry[1] !== undefined))\n}\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "F5EA2813EF9F223264756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@aws-sdk+credential-provider-http@3.972.43/node_modules/@aws-sdk/credential-provider-http/dist-es/fromHttp/fromHttp.js", "../../node_modules/.bun/@aws-sdk+credential-provider-http@3.972.43/node_modules/@aws-sdk/credential-provider-http/dist-es/fromHttp/checkUrl.js", "../../node_modules/.bun/@aws-sdk+credential-provider-http@3.972.43/node_modules/@aws-sdk/credential-provider-http/dist-es/fromHttp/requestHelpers.js", "../../node_modules/.bun/@aws-sdk+credential-provider-http@3.972.43/node_modules/@aws-sdk/credential-provider-http/dist-es/fromHttp/retry-wrapper.js"], | ||
| "sourcesContent": [ | ||
| "import { setCredentialFeature } from \"@aws-sdk/core/client\";\nimport { CredentialsProviderError } from \"@smithy/core/config\";\nimport { NodeHttpHandler } from \"@smithy/node-http-handler\";\nimport fs from \"node:fs/promises\";\nimport { checkUrl } from \"./checkUrl\";\nimport { createGetRequest, getCredentials } from \"./requestHelpers\";\nimport { retryWrapper } from \"./retry-wrapper\";\nconst AWS_CONTAINER_CREDENTIALS_RELATIVE_URI = \"AWS_CONTAINER_CREDENTIALS_RELATIVE_URI\";\nconst DEFAULT_LINK_LOCAL_HOST = \"http://169.254.170.2\";\nconst AWS_CONTAINER_CREDENTIALS_FULL_URI = \"AWS_CONTAINER_CREDENTIALS_FULL_URI\";\nconst AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE = \"AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE\";\nconst AWS_CONTAINER_AUTHORIZATION_TOKEN = \"AWS_CONTAINER_AUTHORIZATION_TOKEN\";\nexport const fromHttp = (options = {}) => {\n options.logger?.debug(\"@aws-sdk/credential-provider-http - fromHttp\");\n let host;\n const relative = options.awsContainerCredentialsRelativeUri ?? process.env[AWS_CONTAINER_CREDENTIALS_RELATIVE_URI];\n const full = options.awsContainerCredentialsFullUri ?? process.env[AWS_CONTAINER_CREDENTIALS_FULL_URI];\n const token = options.awsContainerAuthorizationToken ?? process.env[AWS_CONTAINER_AUTHORIZATION_TOKEN];\n const tokenFile = options.awsContainerAuthorizationTokenFile ?? process.env[AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE];\n const warn = options.logger?.constructor?.name === \"NoOpLogger\" || !options.logger?.warn\n ? console.warn\n : options.logger.warn.bind(options.logger);\n if (relative && full) {\n warn(\"@aws-sdk/credential-provider-http: \" +\n \"you have set both awsContainerCredentialsRelativeUri and awsContainerCredentialsFullUri.\");\n warn(\"awsContainerCredentialsFullUri will take precedence.\");\n }\n if (token && tokenFile) {\n warn(\"@aws-sdk/credential-provider-http: \" +\n \"you have set both awsContainerAuthorizationToken and awsContainerAuthorizationTokenFile.\");\n warn(\"awsContainerAuthorizationToken will take precedence.\");\n }\n if (full) {\n host = full;\n }\n else if (relative) {\n host = `${DEFAULT_LINK_LOCAL_HOST}${relative}`;\n }\n else {\n throw new CredentialsProviderError(`No HTTP credential provider host provided.\nSet AWS_CONTAINER_CREDENTIALS_FULL_URI or AWS_CONTAINER_CREDENTIALS_RELATIVE_URI.`, { logger: options.logger });\n }\n const url = new URL(host);\n checkUrl(url, options.logger);\n const requestHandler = NodeHttpHandler.create({ connectionTimeout: options.timeout ?? 1000 });\n const requestTimeout = options.timeout ?? 1000;\n const provider = retryWrapper(async () => {\n const request = createGetRequest(url);\n if (token) {\n request.headers.Authorization = token;\n }\n else if (tokenFile) {\n request.headers.Authorization = (await fs.readFile(tokenFile)).toString();\n }\n try {\n const result = await requestHandler.handle(request, { requestTimeout });\n return getCredentials(result.response).then((creds) => setCredentialFeature(creds, \"CREDENTIALS_HTTP\", \"z\"));\n }\n catch (e) {\n throw new CredentialsProviderError(String(e), { logger: options.logger });\n }\n }, options.maxRetries ?? 3, options.timeout ?? 1000);\n return async () => {\n try {\n return await provider();\n }\n finally {\n requestHandler.destroy?.();\n }\n };\n};\n", | ||
| "import { CredentialsProviderError } from \"@smithy/core/config\";\nconst LOOPBACK_CIDR_IPv4 = \"127.0.0.0/8\";\nconst LOOPBACK_CIDR_IPv6 = \"::1/128\";\nconst ECS_CONTAINER_HOST = \"169.254.170.2\";\nconst EKS_CONTAINER_HOST_IPv4 = \"169.254.170.23\";\nconst EKS_CONTAINER_HOST_IPv6 = \"[fd00:ec2::23]\";\nexport const checkUrl = (url, logger) => {\n if (url.protocol === \"https:\") {\n return;\n }\n if (url.hostname === ECS_CONTAINER_HOST ||\n url.hostname === EKS_CONTAINER_HOST_IPv4 ||\n url.hostname === EKS_CONTAINER_HOST_IPv6) {\n return;\n }\n if (url.hostname.includes(\"[\")) {\n if (url.hostname === \"[::1]\" || url.hostname === \"[0000:0000:0000:0000:0000:0000:0000:0001]\") {\n return;\n }\n }\n else {\n if (url.hostname === \"localhost\") {\n return;\n }\n const ipComponents = url.hostname.split(\".\");\n const inRange = (component) => {\n const num = parseInt(component, 10);\n return 0 <= num && num <= 255;\n };\n if (ipComponents[0] === \"127\" &&\n inRange(ipComponents[1]) &&\n inRange(ipComponents[2]) &&\n inRange(ipComponents[3]) &&\n ipComponents.length === 4) {\n return;\n }\n }\n throw new CredentialsProviderError(`URL not accepted. It must either be HTTPS or match one of the following:\n - loopback CIDR 127.0.0.0/8 or [::1/128]\n - ECS container host 169.254.170.2\n - EKS container host 169.254.170.23 or [fd00:ec2::23]`, { logger });\n};\n", | ||
| "import { CredentialsProviderError } from \"@smithy/core/config\";\nimport { HttpRequest } from \"@smithy/core/protocols\";\nimport { parseRfc3339DateTime } from \"@smithy/core/serde\";\nimport { sdkStreamMixin } from \"@smithy/core/serde\";\nexport function createGetRequest(url) {\n return new HttpRequest({\n protocol: url.protocol,\n hostname: url.hostname,\n port: Number(url.port),\n path: url.pathname,\n query: Array.from(url.searchParams.entries()).reduce((acc, [k, v]) => {\n acc[k] = v;\n return acc;\n }, {}),\n fragment: url.hash,\n });\n}\nexport async function getCredentials(response, logger) {\n const stream = sdkStreamMixin(response.body);\n const str = await stream.transformToString();\n if (response.statusCode === 200) {\n const parsed = JSON.parse(str);\n if (typeof parsed.AccessKeyId !== \"string\" ||\n typeof parsed.SecretAccessKey !== \"string\" ||\n typeof parsed.Token !== \"string\" ||\n typeof parsed.Expiration !== \"string\") {\n throw new CredentialsProviderError(\"HTTP credential provider response not of the required format, an object matching: \" +\n \"{ AccessKeyId: string, SecretAccessKey: string, Token: string, Expiration: string(rfc3339) }\", { logger });\n }\n return {\n accessKeyId: parsed.AccessKeyId,\n secretAccessKey: parsed.SecretAccessKey,\n sessionToken: parsed.Token,\n expiration: parseRfc3339DateTime(parsed.Expiration),\n };\n }\n if (response.statusCode >= 400 && response.statusCode < 500) {\n let parsedBody = {};\n try {\n parsedBody = JSON.parse(str);\n }\n catch (e) { }\n throw Object.assign(new CredentialsProviderError(`Server responded with status: ${response.statusCode}`, { logger }), {\n Code: parsedBody.Code,\n Message: parsedBody.Message,\n });\n }\n throw new CredentialsProviderError(`Server responded with status: ${response.statusCode}`, { logger });\n}\n", | ||
| "export const retryWrapper = (toRetry, maxRetries, delayMs) => {\n return async () => {\n for (let i = 0; i < maxRetries; ++i) {\n try {\n return await toRetry();\n }\n catch (e) {\n await new Promise((resolve) => setTimeout(resolve, delayMs));\n }\n }\n return await toRetry();\n };\n};\n" | ||
| ], | ||
| "mappings": ";wPAAA,oBACA,gBACA,gBACA,gCCHA,eAGA,IAAM,EAAqB,gBACrB,EAA0B,iBAC1B,EAA0B,iBACnB,EAAW,CAAC,EAAK,IAAW,CACrC,GAAI,EAAI,WAAa,SACjB,OAEJ,GAAI,EAAI,WAAa,GACjB,EAAI,WAAa,GACjB,EAAI,WAAa,EACjB,OAEJ,GAAI,EAAI,SAAS,SAAS,GAAG,GACzB,GAAI,EAAI,WAAa,SAAW,EAAI,WAAa,4CAC7C,OAGH,KACD,GAAI,EAAI,WAAa,YACjB,OAEJ,IAAM,EAAe,EAAI,SAAS,MAAM,GAAG,EACrC,EAAU,CAAC,IAAc,CAC3B,IAAM,EAAM,SAAS,EAAW,EAAE,EAClC,MAAO,IAAK,GAAO,GAAO,KAE9B,GAAI,EAAa,KAAO,OACpB,EAAQ,EAAa,EAAE,GACvB,EAAQ,EAAa,EAAE,GACvB,EAAQ,EAAa,EAAE,GACvB,EAAa,SAAW,EACxB,OAGR,MAAM,IAAI,2BAAyB;AAAA;AAAA;AAAA,yDAGmB,CAAE,QAAO,CAAC,GCxCpE,eACA,WACA,WACA,WACO,SAAS,CAAgB,CAAC,EAAK,CAClC,OAAO,IAAI,cAAY,CACnB,SAAU,EAAI,SACd,SAAU,EAAI,SACd,KAAM,OAAO,EAAI,IAAI,EACrB,KAAM,EAAI,SACV,MAAO,MAAM,KAAK,EAAI,aAAa,QAAQ,CAAC,EAAE,OAAO,CAAC,GAAM,EAAG,KAAO,CAElE,OADA,EAAI,GAAK,EACF,GACR,CAAC,CAAC,EACL,SAAU,EAAI,IAClB,CAAC,EAEL,eAAsB,CAAc,CAAC,EAAU,EAAQ,CAEnD,IAAM,EAAM,MADG,iBAAe,EAAS,IAAI,EAClB,kBAAkB,EAC3C,GAAI,EAAS,aAAe,IAAK,CAC7B,IAAM,EAAS,KAAK,MAAM,CAAG,EAC7B,GAAI,OAAO,EAAO,cAAgB,UAC9B,OAAO,EAAO,kBAAoB,UAClC,OAAO,EAAO,QAAU,UACxB,OAAO,EAAO,aAAe,SAC7B,MAAM,IAAI,2BAAyB,iLACiE,CAAE,QAAO,CAAC,EAElH,MAAO,CACH,YAAa,EAAO,YACpB,gBAAiB,EAAO,gBACxB,aAAc,EAAO,MACrB,WAAY,uBAAqB,EAAO,UAAU,CACtD,EAEJ,GAAI,EAAS,YAAc,KAAO,EAAS,WAAa,IAAK,CACzD,IAAI,EAAa,CAAC,EAClB,GAAI,CACA,EAAa,KAAK,MAAM,CAAG,EAE/B,MAAO,EAAG,EACV,MAAM,OAAO,OAAO,IAAI,2BAAyB,iCAAiC,EAAS,aAAc,CAAE,QAAO,CAAC,EAAG,CAClH,KAAM,EAAW,KACjB,QAAS,EAAW,OACxB,CAAC,EAEL,MAAM,IAAI,2BAAyB,iCAAiC,EAAS,aAAc,CAAE,QAAO,CAAC,EC/ClG,IAAM,EAAe,CAAC,EAAS,EAAY,IAAY,CAC1D,MAAO,UAAY,CACf,QAAS,EAAI,EAAG,EAAI,EAAY,EAAE,EAC9B,GAAI,CACA,OAAO,MAAM,EAAQ,EAEzB,MAAO,EAAG,CACN,MAAM,IAAI,QAAQ,CAAC,IAAY,WAAW,EAAS,CAAO,CAAC,EAGnE,OAAO,MAAM,EAAQ,IHH7B,IAAM,EAAyC,yCACzC,EAA0B,uBAC1B,EAAqC,qCACrC,EAAyC,yCACzC,EAAoC,oCAC7B,EAAW,CAAC,EAAU,CAAC,IAAM,CACtC,EAAQ,QAAQ,MAAM,8CAA8C,EACpE,IAAI,EACE,EAAW,EAAQ,oCAAsC,QAAQ,IAAI,GACrE,EAAO,EAAQ,gCAAkC,QAAQ,IAAI,GAC7D,EAAQ,EAAQ,gCAAkC,QAAQ,IAAI,GAC9D,EAAY,EAAQ,oCAAsC,QAAQ,IAAI,GACtE,EAAO,EAAQ,QAAQ,aAAa,OAAS,cAAgB,CAAC,EAAQ,QAAQ,KAC9E,QAAQ,KACR,EAAQ,OAAO,KAAK,KAAK,EAAQ,MAAM,EAC7C,GAAI,GAAY,EACZ,EAAK,6HACyF,EAC9F,EAAK,sDAAsD,EAE/D,GAAI,GAAS,EACT,EAAK,6HACyF,EAC9F,EAAK,sDAAsD,EAE/D,GAAI,EACA,EAAO,EAEN,QAAI,EACL,EAAO,GAAG,IAA0B,IAGpC,WAAM,IAAI,2BAAyB;AAAA,mFACyC,CAAE,OAAQ,EAAQ,MAAO,CAAC,EAE1G,IAAM,EAAM,IAAI,IAAI,CAAI,EACxB,EAAS,EAAK,EAAQ,MAAM,EAC5B,IAAM,EAAiB,kBAAgB,OAAO,CAAE,kBAAmB,EAAQ,SAAW,IAAK,CAAC,EACtF,EAAiB,EAAQ,SAAW,KACpC,EAAW,EAAa,SAAY,CACtC,IAAM,EAAU,EAAiB,CAAG,EACpC,GAAI,EACA,EAAQ,QAAQ,cAAgB,EAE/B,QAAI,EACL,EAAQ,QAAQ,eAAiB,MAAM,EAAG,SAAS,CAAS,GAAG,SAAS,EAE5E,GAAI,CACA,IAAM,EAAS,MAAM,EAAe,OAAO,EAAS,CAAE,gBAAe,CAAC,EACtE,OAAO,EAAe,EAAO,QAAQ,EAAE,KAAK,CAAC,IAAU,uBAAqB,EAAO,mBAAoB,GAAG,CAAC,EAE/G,MAAO,EAAG,CACN,MAAM,IAAI,2BAAyB,OAAO,CAAC,EAAG,CAAE,OAAQ,EAAQ,MAAO,CAAC,IAE7E,EAAQ,YAAc,EAAG,EAAQ,SAAW,IAAI,EACnD,MAAO,UAAY,CACf,GAAI,CACA,OAAO,MAAM,EAAS,SAE1B,CACI,EAAe,UAAU", | ||
| "debugId": "A00FBE84D04733AF64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/image/photon.ts"], | ||
| "sourcesContent": [ | ||
| "// @ts-ignore Bun's static file import is embedded by `bun build --compile`; some consumers also declare *.wasm.\nimport photonWasm from \"@silvia-odwyer/photon-node/photon_rs_bg.wasm\" with { type: \"file\" }\nimport { Effect } from \"effect\"\nimport path from \"node:path\"\nimport { fileURLToPath } from \"node:url\"\nimport { FileSystem } from \"../filesystem\"\nimport { DecodeError, ResizerUnavailableError, SizeError } from \"../image\"\n\nconst JPEG_QUALITIES = [80, 85, 70, 55, 40]\n\nexport const make = Effect.gen(function* () {\n ;(globalThis as typeof globalThis & { __OPENCODE_PHOTON_WASM_PATH?: string }).__OPENCODE_PHOTON_WASM_PATH =\n path.isAbsolute(photonWasm) ? photonWasm : fileURLToPath(new URL(photonWasm, import.meta.url))\n const loadPhoton = yield* Effect.cached(\n Effect.tryPromise({\n try: () => import(\"@silvia-odwyer/photon-node\"),\n catch: () => new ResizerUnavailableError(),\n }),\n )\n return Effect.fn(\"Image.Photon.normalize\")(function* (\n resource: string,\n content: FileSystem.Content & { readonly encoding: \"base64\" },\n limits: {\n readonly autoResize: boolean\n readonly maxWidth: number\n readonly maxHeight: number\n readonly maxBase64Bytes: number\n },\n ) {\n const photon = yield* loadPhoton\n const decoded = yield* Effect.try({\n try: () => photon.PhotonImage.new_from_byteslice(Buffer.from(content.content, \"base64\")),\n catch: () => new DecodeError({ resource }),\n })\n try {\n const width = decoded.get_width()\n const height = decoded.get_height()\n const bytes = Buffer.byteLength(content.content, \"utf-8\")\n if (width <= limits.maxWidth && height <= limits.maxHeight && bytes <= limits.maxBase64Bytes) return content\n if (!limits.autoResize)\n return yield* new SizeError({\n resource,\n width,\n height,\n bytes,\n maxWidth: limits.maxWidth,\n maxHeight: limits.maxHeight,\n maxBytes: limits.maxBase64Bytes,\n })\n const scale = Math.min(1, limits.maxWidth / width, limits.maxHeight / height)\n const sizes = Array.from({ length: 32 }).reduce<Array<{ width: number; height: number }>>((acc) => {\n const previous = acc.at(-1) ?? {\n width: Math.max(1, Math.round(width * scale)),\n height: Math.max(1, Math.round(height * scale)),\n }\n const next =\n acc.length === 0\n ? previous\n : {\n width: previous.width === 1 ? 1 : Math.max(1, Math.floor(previous.width * 0.75)),\n height: previous.height === 1 ? 1 : Math.max(1, Math.floor(previous.height * 0.75)),\n }\n return acc.some((item) => item.width === next.width && item.height === next.height) ? acc : [...acc, next]\n }, [])\n for (const size of sizes) {\n const resized = photon.resize(decoded, size.width, size.height, photon.SamplingFilter.Lanczos3)\n try {\n const encoders: Array<readonly [mime: string, encode: () => Uint8Array]> = [\n [\"image/png\", () => resized.get_bytes()],\n ...JPEG_QUALITIES.map((quality) => [\"image/jpeg\", () => resized.get_bytes_jpeg(quality)] as const),\n ]\n for (const [mime, encode] of encoders) {\n const candidate = Buffer.from(encode()).toString(\"base64\")\n if (Buffer.byteLength(candidate, \"utf-8\") <= limits.maxBase64Bytes)\n return { ...content, content: candidate, encoding: \"base64\" as const, mime }\n }\n } finally {\n resized.free()\n }\n }\n return yield* new SizeError({\n resource,\n width,\n height,\n bytes,\n maxWidth: limits.maxWidth,\n maxHeight: limits.maxHeight,\n maxBytes: limits.maxBase64Bytes,\n })\n } finally {\n decoded.free()\n }\n })\n})\n" | ||
| ], | ||
| "mappings": ";yvBAGA,yBACA,6BAAS,iBAIT,SAAM,OAAiB,MAAC,QAAI,QAAI,QAAI,QAAI,OAAE,OAE7B,OAAO,OAAO,SAAI,cAAU,OAAG,MACxC,gBAA4E,0CAC5E,EAAK,WAAW,CAAU,EAAI,EAAa,EAAc,IAAI,IAAI,EAAY,YAAY,GAAG,CAAC,EAC/F,IAAM,EAAa,MAAO,EAAO,OAC/B,EAAO,WAAW,CAChB,IAAK,IAAa,yCAClB,MAAO,IAAM,IAAI,CACnB,CAAC,CACH,EACA,OAAO,EAAO,GAAG,wBAAwB,EAAE,SAAU,CACnD,EACA,EACA,EAMA,CACA,IAAM,EAAS,MAAO,EAChB,EAAU,MAAO,EAAO,IAAI,CAChC,IAAK,IAAM,EAAO,YAAY,mBAAmB,OAAO,KAAK,EAAQ,QAAS,QAAQ,CAAC,EACvF,MAAO,IAAM,IAAI,EAAY,CAAE,UAAS,CAAC,CAC3C,CAAC,EACD,GAAI,CACF,IAAM,EAAQ,EAAQ,UAAU,EAC1B,EAAS,EAAQ,WAAW,EAC5B,EAAQ,OAAO,WAAW,EAAQ,QAAS,OAAO,EACxD,GAAI,GAAS,EAAO,UAAY,GAAU,EAAO,WAAa,GAAS,EAAO,eAAgB,OAAO,EACrG,GAAI,CAAC,EAAO,WACV,OAAO,MAAO,IAAI,EAAU,CAC1B,WACA,QACA,SACA,QACA,SAAU,EAAO,SACjB,UAAW,EAAO,UAClB,SAAU,EAAO,cACnB,CAAC,EACH,IAAM,EAAQ,KAAK,IAAI,EAAG,EAAO,SAAW,EAAO,EAAO,UAAY,CAAM,EACtE,EAAQ,MAAM,KAAK,CAAE,OAAQ,EAAG,CAAC,EAAE,OAAiD,CAAC,IAAQ,CACjG,IAAM,EAAW,EAAI,GAAG,EAAE,GAAK,CAC7B,MAAO,KAAK,IAAI,EAAG,KAAK,MAAM,EAAQ,CAAK,CAAC,EAC5C,OAAQ,KAAK,IAAI,EAAG,KAAK,MAAM,EAAS,CAAK,CAAC,CAChD,EACM,EACJ,EAAI,SAAW,EACX,EACA,CACE,MAAO,EAAS,QAAU,EAAI,EAAI,KAAK,IAAI,EAAG,KAAK,MAAM,EAAS,MAAQ,IAAI,CAAC,EAC/E,OAAQ,EAAS,SAAW,EAAI,EAAI,KAAK,IAAI,EAAG,KAAK,MAAM,EAAS,OAAS,IAAI,CAAC,CACpF,EACN,OAAO,EAAI,KAAK,CAAC,IAAS,EAAK,QAAU,EAAK,OAAS,EAAK,SAAW,EAAK,MAAM,EAAI,EAAM,CAAC,GAAG,EAAK,CAAI,GACxG,CAAC,CAAC,EACL,QAAW,KAAQ,EAAO,CACxB,IAAM,EAAU,EAAO,OAAO,EAAS,EAAK,MAAO,EAAK,OAAQ,EAAO,eAAe,QAAQ,EAC9F,GAAI,CACF,IAAM,EAAqE,CACzE,CAAC,YAAa,IAAM,EAAQ,UAAU,CAAC,EACvC,GAAG,EAAe,IAAI,CAAC,IAAY,CAAC,aAAc,IAAM,EAAQ,eAAe,CAAO,CAAC,CAAU,CACnG,EACA,QAAY,EAAM,KAAW,EAAU,CACrC,IAAM,EAAY,OAAO,KAAK,EAAO,CAAC,EAAE,SAAS,QAAQ,EACzD,GAAI,OAAO,WAAW,EAAW,OAAO,GAAK,EAAO,eAClD,MAAO,IAAK,EAAS,QAAS,EAAW,SAAU,SAAmB,MAAK,UAE/E,CACA,EAAQ,KAAK,GAGjB,OAAO,MAAO,IAAI,EAAU,CAC1B,WACA,QACA,SACA,QACA,SAAU,EAAO,SACjB,UAAW,EAAO,UAClB,SAAU,EAAO,cACnB,CAAC,SACD,CACA,EAAQ,KAAK,GAEhB,EACF", | ||
| "debugId": "D6108A46BC3447D264756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["src/ui/timeline.tsx", "src/commands/handlers/console/login.ts"], | ||
| "sourcesContent": [ | ||
| "import { createComponent as _$createComponent } from \"@opentui/solid\";\nimport { effect as _$effect } from \"@opentui/solid\";\nimport { createTextNode as _$createTextNode } from \"@opentui/solid\";\nimport { insertNode as _$insertNode } from \"@opentui/solid\";\nimport { insert as _$insert } from \"@opentui/solid\";\nimport { setProp as _$setProp } from \"@opentui/solid\";\nimport { createElement as _$createElement } from \"@opentui/solid\";\n/** @jsxImportSource @opentui/solid */\nimport { createCliRenderer, RGBA } from \"@opentui/core\";\nimport { createScrollbackWriter, render, useKeyboard } from \"@opentui/solid\";\nimport { registerOpencodeSpinner } from \"@opencode-ai/tui/component/register-spinner\";\nimport { Show, createSignal } from \"solid-js\";\nregisterOpencodeSpinner();\nconst SPINNER_FRAMES = [\"⠋\", \"⠙\", \"⠹\", \"⠸\", \"⠼\", \"⠴\", \"⠦\", \"⠧\", \"⠇\", \"⠏\"];\nconst IDLE_TIMEOUT = 1_000;\nconst COLORS = {\n accent: RGBA.fromIndex(6),\n error: RGBA.fromIndex(1),\n foreground: RGBA.defaultForeground(),\n muted: RGBA.fromIndex(8),\n success: RGBA.fromIndex(2)\n};\nconst ROWS = {\n intro: {\n marker: \"┌\",\n color: COLORS.muted,\n connector: true\n },\n item: {\n marker: \"●\",\n color: COLORS.accent,\n connector: true\n },\n success: {\n marker: \"◇\",\n color: COLORS.success,\n connector: true\n },\n failure: {\n marker: \"■\",\n color: COLORS.error,\n connector: false\n },\n outro: {\n marker: \"└\",\n color: COLORS.muted,\n connector: false\n }\n};\nfunction row(kind, value) {\n const style = ROWS[kind];\n return createScrollbackWriter(() => (() => {\n var _el$ = _$createElement(\"box\"),\n _el$2 = _$createElement(\"box\"),\n _el$3 = _$createElement(\"text\"),\n _el$4 = _$createElement(\"text\");\n _$insertNode(_el$, _el$2);\n _$setProp(_el$, \"width\", \"100%\");\n _$setProp(_el$, \"minHeight\", 1);\n _$setProp(_el$, \"flexDirection\", \"column\");\n _$insertNode(_el$2, _el$3);\n _$insertNode(_el$2, _el$4);\n _$setProp(_el$2, \"width\", \"100%\");\n _$setProp(_el$2, \"minHeight\", 1);\n _$setProp(_el$2, \"flexDirection\", \"row\");\n _$setProp(_el$2, \"gap\", 1);\n _$setProp(_el$3, \"flexShrink\", 0);\n _$insert(_el$3, () => style.marker);\n _$setProp(_el$4, \"wrapMode\", \"word\");\n _$insert(_el$4, value);\n _$insert(_el$, _$createComponent(Show, {\n get when() {\n return style.connector;\n },\n get children() {\n var _el$5 = _$createElement(\"text\");\n _$insertNode(_el$5, _$createTextNode(`│`));\n _$effect(_$p => _$setProp(_el$5, \"fg\", COLORS.muted, _$p));\n return _el$5;\n }\n }), null);\n _$effect(_p$ => {\n var _v$ = style.color,\n _v$2 = COLORS.foreground;\n _v$ !== _p$.e && (_p$.e = _$setProp(_el$3, \"fg\", _v$, _p$.e));\n _v$2 !== _p$.t && (_p$.t = _$setProp(_el$4, \"fg\", _v$2, _p$.t));\n return _p$;\n }, {\n e: undefined,\n t: undefined\n });\n return _el$;\n })(), {\n startOnNewLine: true,\n trailingNewline: !style.connector\n });\n}\nfunction TimelineFooter(props) {\n useKeyboard(event => {\n if (event.name !== \"escape\" && !(event.ctrl && event.name === \"c\")) return;\n event.preventDefault();\n props.cancel();\n });\n return (() => {\n var _el$7 = _$createElement(\"box\");\n _$setProp(_el$7, \"width\", \"100%\");\n _$setProp(_el$7, \"height\", 1);\n _$setProp(_el$7, \"flexDirection\", \"row\");\n _$setProp(_el$7, \"gap\", 1);\n _$insert(_el$7, _$createComponent(Show, {\n get when() {\n return props.pending();\n },\n children: text => [(() => {\n var _el$8 = _$createElement(\"spinner\");\n _$setProp(_el$8, \"frames\", SPINNER_FRAMES);\n _$setProp(_el$8, \"interval\", 80);\n _$effect(_$p => _$setProp(_el$8, \"color\", COLORS.accent, _$p));\n return _el$8;\n })(), (() => {\n var _el$9 = _$createElement(\"text\");\n _$setProp(_el$9, \"wrapMode\", \"none\");\n _$setProp(_el$9, \"truncate\", true);\n _$insert(_el$9, text);\n _$effect(_$p => _$setProp(_el$9, \"fg\", COLORS.foreground, _$p));\n return _el$9;\n })()]\n }));\n return _el$7;\n })();\n}\nfunction bounded(task) {\n return new Promise(resolve => {\n const timer = setTimeout(resolve, IDLE_TIMEOUT);\n timer.unref();\n const finish = () => {\n clearTimeout(timer);\n resolve();\n };\n void task.then(finish, finish);\n });\n}\nasync function shutdown(renderer) {\n await bounded(renderer.idle());\n try {\n renderer.externalOutputMode = \"passthrough\";\n } finally {\n try {\n renderer.screenMode = \"main-screen\";\n } finally {\n if (!renderer.isDestroyed) renderer.destroy();\n }\n }\n}\nexport async function createTimelineHost() {\n const stdout = process.stdout;\n const controller = new AbortController();\n const signals = [\"SIGINT\", \"SIGHUP\", \"SIGQUIT\"];\n const cancel = () => {\n if (!controller.signal.aborted) controller.abort();\n };\n signals.forEach(signal => process.on(signal, cancel));\n if (!stdout.isTTY || !process.stdin.isTTY) {\n let closed = false;\n let writing = false;\n let active;\n let closeTask;\n const write = async (kind, text) => {\n if (closed) throw new Error(\"timeline closed\");\n if (writing) throw new Error(\"timeline write already in progress\");\n writing = true;\n try {\n const style = kind === \"pending\" ? undefined : ROWS[kind];\n const marker = kind === \"pending\" ? \".\" : ROWS[kind].marker;\n const connector = style?.connector ? \"│\\n\" : \"\";\n active = new Promise((resolve, reject) => {\n stdout.write(`${marker} ${text}\\n${connector}`, error => error ? reject(error) : resolve());\n });\n await active;\n } finally {\n writing = false;\n active = undefined;\n }\n };\n const close = () => {\n if (closeTask) return closeTask;\n closed = true;\n closeTask = (async () => {\n await active?.catch(() => {});\n signals.forEach(signal => process.off(signal, cancel));\n })();\n return closeTask;\n };\n return {\n signal: controller.signal,\n intro: text => write(\"intro\", text),\n item: text => write(\"item\", text),\n pending: text => write(\"pending\", text),\n success: text => write(\"success\", text),\n failure: text => write(\"failure\", text),\n outro: text => write(\"outro\", text),\n close\n };\n }\n let renderer;\n try {\n // Start on a fresh row so delayed SSH cursor reports cannot make\n // split-footer overwrite the shell command.\n process.stdout.write(\"\\n\");\n renderer = await createCliRenderer({\n stdin: process.stdin,\n useMouse: false,\n autoFocus: false,\n openConsoleOnError: false,\n exitOnCtrlC: false,\n exitSignals: [],\n screenMode: \"split-footer\",\n footerHeight: 1,\n externalOutputMode: \"capture-stdout\",\n consoleMode: \"disabled\",\n clearOnShutdown: false\n });\n const activeRenderer = renderer;\n const [pending, setPending] = createSignal();\n const renderTask = render(() => _$createComponent(TimelineFooter, {\n pending: pending,\n cancel: cancel\n }), activeRenderer);\n void renderTask.catch(cancel);\n await bounded(activeRenderer.idle());\n let closed = false;\n let writing = false;\n let active;\n let closeTask;\n const write = (kind, text) => {\n if (closed) return Promise.reject(new Error(\"timeline closed\"));\n if (writing) return Promise.reject(new Error(\"timeline write already in progress\"));\n writing = true;\n active = (async () => {\n if (kind === \"pending\") {\n setPending(text);\n activeRenderer.requestRender();\n } else {\n if (kind === \"success\" || kind === \"failure\" || kind === \"outro\") setPending(undefined);\n activeRenderer.writeToScrollback(row(kind, text));\n activeRenderer.requestRender();\n }\n await bounded(activeRenderer.idle());\n })().finally(() => {\n writing = false;\n active = undefined;\n });\n return active;\n };\n const close = () => {\n if (closeTask) return closeTask;\n closed = true;\n closeTask = (async () => {\n await active?.catch(() => {});\n try {\n await shutdown(activeRenderer);\n await bounded(renderTask);\n } finally {\n signals.forEach(signal => process.off(signal, cancel));\n }\n })();\n return closeTask;\n };\n return {\n signal: controller.signal,\n intro: text => write(\"intro\", text),\n item: text => write(\"item\", text),\n pending: text => write(\"pending\", text),\n success: text => write(\"success\", text),\n failure: text => write(\"failure\", text),\n outro: text => write(\"outro\", text),\n close\n };\n } catch (error) {\n try {\n if (renderer) await shutdown(renderer);\n } finally {\n signals.forEach(signal => process.off(signal, cancel));\n }\n throw error;\n }\n}", | ||
| "import { Cause, Effect, Exit, Option } from \"effect\"\nimport { Service } from \"@opencode-ai/client/effect\"\nimport { OpenCode, type OpenCodeClient } from \"@opencode-ai/client/promise\"\nimport { AppProcess } from \"@opencode-ai/core/process\"\nimport { Commands } from \"../../commands\"\nimport { Runtime } from \"../../../framework/runtime\"\nimport { ServiceConfig } from \"../../../services/service-config\"\nimport { createTimelineHost, type TimelineHost } from \"../../../ui/timeline\"\n\nconst integrationID = \"opencode\"\nconst location = { directory: process.cwd() }\n\nexport default Runtime.handler(\n Commands.commands.console.commands.login,\n Effect.fn(\"cli.console.login\")(function* (input) {\n const timeline = yield* Effect.acquireRelease(\n Effect.promise(() => createTimelineHost()),\n (value) => request(() => value.close()).pipe(Effect.ignore),\n )\n const exit = yield* login(timeline, Option.getOrUndefined(input.url)).pipe(\n Effect.raceFirst(AppProcess.waitForAbort(timeline.signal)),\n Effect.exit,\n )\n if (Exit.isSuccess(exit)) return\n\n const cancelled = timeline.signal.aborted\n yield* request(() => timeline.failure(cancelled ? \"Authorization cancelled\" : errorMessage(exit.cause))).pipe(\n Effect.ignore,\n )\n process.exitCode = cancelled ? 130 : 1\n }),\n)\n\nconst login = Effect.fn(\"cli.console.login.run\")(function* (timeline: TimelineHost, server?: string) {\n yield* request(() => timeline.intro(\"Log in\"))\n yield* request(() => timeline.pending(\"Connecting to OpenCode...\"))\n\n const endpoint = yield* Service.start(yield* ServiceConfig.options())\n const client = OpenCode.make({ baseUrl: endpoint.url, headers: Service.headers(endpoint) })\n const found = yield* request((signal) => client.integration.get({ integrationID, location }, { signal }))\n const integration = yield* required(found.data, \"OpenCode Console integration is unavailable\")\n const method = yield* required(\n integration.methods.find((candidate) => candidate.type === \"oauth\"),\n \"OpenCode Console login is unavailable\",\n )\n\n yield* request(() => timeline.pending(\"Starting authorization...\"))\n const started = yield* request((signal) =>\n client.integration.connect.oauth(\n {\n integrationID,\n methodID: method.id,\n inputs: server ? { server } : {},\n location,\n },\n { signal },\n ),\n )\n const attempt = started.data\n yield* Effect.addFinalizer(() =>\n request(() =>\n client.integration.attempt.cancel(\n { attemptID: attempt.attemptID, location },\n { signal: AbortSignal.timeout(5_000) },\n ),\n ).pipe(Effect.ignore),\n )\n if (attempt.mode !== \"auto\") yield* Effect.fail(new Error(\"OpenCode Console requires a device login\"))\n\n yield* request(() => timeline.item(`Go to: ${attempt.url}`))\n yield* request(() => timeline.item(attempt.instructions))\n yield* request(async () => {\n const { default: open } = await import(\"open\")\n await open(attempt.url)\n }).pipe(Effect.ignore)\n yield* request(() => timeline.pending(\"Waiting for authorization...\"))\n\n const status = yield* waitForConsoleLogin(client, attempt.attemptID)\n if (status.status === \"failed\") yield* Effect.fail(new Error(status.message))\n if (status.status === \"expired\") yield* Effect.fail(new Error(\"Device code expired\"))\n\n yield* request(() => timeline.success(\"Connected to OpenCode Console\"))\n yield* request(() => timeline.outro(\"Done\"))\n})\n\nconst waitForConsoleLogin = Effect.fn(\"cli.console.login.wait\")(function* (\n client: OpenCodeClient,\n attemptID: string,\n) {\n while (true) {\n const response = yield* request((signal) =>\n client.integration.attempt.status({ attemptID, location }, { signal }),\n )\n if (response.data.status !== \"pending\") return response.data\n yield* Effect.sleep(500)\n }\n})\n\nfunction request<A>(task: (signal: AbortSignal) => Promise<A>) {\n return Effect.tryPromise({\n try: task,\n catch: (cause) => cause,\n })\n}\n\nfunction required<A>(value: A | null | undefined, message: string) {\n return value === null || value === undefined ? Effect.fail(new Error(message)) : Effect.succeed(value)\n}\n\nfunction errorMessage(cause: Cause.Cause<unknown>) {\n const error = Cause.squash(cause)\n if (error instanceof Error) return error.message\n if (typeof error === \"object\" && error !== null && \"message\" in error && typeof error.message === \"string\") {\n return error.message\n }\n return String(error)\n}\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "64A7F49089B4754664756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["src/commands/handlers/service/start.ts"], | ||
| "sourcesContent": [ | ||
| "import { EOL } from \"os\"\nimport { Effect } from \"effect\"\nimport { Service } from \"@opencode-ai/client/effect\"\nimport { Commands } from \"../../commands\"\nimport { Runtime } from \"../../../framework/runtime\"\nimport { ServiceConfig } from \"../../../services/service-config\"\n\nexport default Runtime.handler(\n Commands.commands.service.commands.start,\n Effect.fn(\"cli.service.start\")(function* () {\n const transport = yield* Service.start(yield* ServiceConfig.options())\n process.stdout.write(transport.url + EOL)\n }),\n)\n" | ||
| ], | ||
| "mappings": ";moBAAA,mBAAS,gBAOT,SAAe,SAAQ,aACrB,OAAS,cAAS,aAAQ,cAAS,WACnC,OAAO,QAAG,wBAAmB,OAAE,cAAU,OAAG,CAC1C,IAAM,EAAY,MAAO,EAAQ,MAAM,MAAO,EAAc,QAAQ,CAAC,EACrE,QAAQ,OAAO,MAAM,EAAU,IAAM,CAAG,EACzC,CACH", | ||
| "debugId": "C059A5A941CBD48A64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "A526C9A91B58B14164756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "E4D4CE01FA38DFF364756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["src/commands/handlers/mcp/list.ts"], | ||
| "sourcesContent": [ | ||
| "import { EOL } from \"node:os\"\nimport { Effect } from \"effect\"\nimport { createOpencodeClient, type McpServer } from \"@opencode-ai/sdk/v2/client\"\nimport { Commands } from \"../../commands\"\nimport { Runtime } from \"../../../framework/runtime\"\nimport { Service } from \"@opencode-ai/client/effect\"\nimport { ServiceConfig } from \"../../../services/service-config\"\n\nexport default Runtime.handler(\n Commands.commands.mcp.commands.list,\n Effect.fn(\"cli.mcp.list\")(function* () {\n const options = yield* ServiceConfig.options()\n const found = yield* Service.discover(options)\n const endpoint = found ?? (yield* Service.start(options))\n const client = createOpencodeClient({ baseUrl: endpoint.url, headers: Service.headers(endpoint) })\n const response = yield* Effect.promise(() => client.v2.mcp.list({ location: { directory: process.cwd() } }))\n const servers = (response.data?.data ?? []).toSorted((a, b) => a.name.localeCompare(b.name))\n if (servers.length === 0) {\n process.stdout.write(\"No MCP servers configured\" + EOL)\n return\n }\n const width = Math.max(...servers.map((server) => server.name.length))\n const lines = servers.map(\n (server) => `${icon(server.status)} ${server.name.padEnd(width)} ${describe(server.status)}`,\n )\n process.stdout.write(lines.join(EOL) + EOL)\n }),\n)\n\nfunction icon(status: McpServer[\"status\"]) {\n switch (status.status) {\n case \"connected\":\n return \"✓\"\n case \"needs_auth\":\n return \"⚠\"\n case \"failed\":\n case \"needs_client_registration\":\n return \"✗\"\n default:\n return \"○\"\n }\n}\n\nfunction describe(status: McpServer[\"status\"]) {\n switch (status.status) {\n case \"needs_auth\":\n return \"needs authentication\"\n case \"needs_client_registration\":\n return `needs client registration: ${status.error}`\n case \"failed\":\n return `failed: ${status.error}`\n default:\n return status.status\n }\n}\n" | ||
| ], | ||
| "mappings": ";krBAAA,mBAAS,gBAQT,SAAe,SAAQ,aACrB,OAAS,cAAS,SAAI,cAAS,UAC/B,OAAO,QAAG,mBAAc,OAAE,cAAU,OAAG,MACrC,IAAM,EAAU,MAAO,EAAc,QAAQ,EAEvC,GADQ,MAAO,EAAQ,SAAS,CAAO,KAClB,MAAO,EAAQ,MAAM,CAAO,GACjD,EAAS,EAAqB,CAAE,QAAS,EAAS,IAAK,QAAS,EAAQ,QAAQ,CAAQ,CAAE,CAAC,EAE3F,IADW,MAAO,EAAO,QAAQ,IAAM,EAAO,GAAG,IAAI,KAAK,CAAE,SAAU,CAAE,UAAW,QAAQ,IAAI,CAAE,CAAE,CAAC,CAAC,GACjF,MAAM,MAAQ,CAAC,GAAG,SAAS,CAAC,EAAG,IAAM,EAAE,KAAK,cAAc,EAAE,IAAI,CAAC,EAC3F,GAAI,EAAQ,SAAW,EAAG,CACxB,QAAQ,OAAO,MAAM,4BAA8B,CAAG,EACtD,OAEF,IAAM,EAAQ,KAAK,IAAI,GAAG,EAAQ,IAAI,CAAC,IAAW,EAAO,KAAK,MAAM,CAAC,EAC/D,EAAQ,EAAQ,IACpB,CAAC,IAAW,GAAG,EAAK,EAAO,MAAM,KAAK,EAAO,KAAK,OAAO,CAAK,MAAM,EAAS,EAAO,MAAM,GAC5F,EACA,QAAQ,OAAO,MAAM,EAAM,KAAK,CAAG,EAAI,CAAG,EAC3C,CACH,EAEA,SAAS,CAAI,CAAC,EAA6B,CACzC,OAAQ,EAAO,YACR,YACH,MAAO,aACJ,aACH,MAAO,aACJ,aACA,4BACH,MAAO,iBAEP,MAAO,UAIb,SAAS,CAAQ,CAAC,EAA6B,CAC7C,OAAQ,EAAO,YACR,aACH,MAAO,2BACJ,4BACH,MAAO,8BAA8B,EAAO,YACzC,SACH,MAAO,WAAW,EAAO,gBAEzB,OAAO,EAAO", | ||
| "debugId": "14181C82C661F34A64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260423070820_add_icon_url_override.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260423070820_add_icon_url_override\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`\n ALTER TABLE \\`project\\` ADD \\`icon_url_override\\` text;\n UPDATE \\`project\\` SET \\`icon_url_override\\` = \\`icon_url\\` WHERE \\`icon_url\\` IS NOT NULL;\n `)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,uCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,oKAGb,EACF,EAEL", | ||
| "debugId": "0ECAFF3D39144BFE64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260603040000_session_message_projection_order.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260603040000_session_message_projection_order\",\n up(tx) {\n return Effect.gen(function* () {\n // Pre-launch Session projections were written before durable event persistence\n // became unconditional, so they cannot be assigned truthful aggregate order.\n yield* tx.run(`DELETE FROM \\`session_message\\`;`)\n yield* tx.run(`ALTER TABLE \\`session_message\\` ADD COLUMN \\`seq\\` integer NOT NULL;`)\n yield* tx.run(`DROP INDEX IF EXISTS \\`session_message_session_type_time_created_id_idx\\`;`)\n yield* tx.run(`CREATE INDEX \\`session_message_session_seq_idx\\` ON \\`session_message\\` (\\`session_id\\`,\\`seq\\`);`)\n yield* tx.run(\n `CREATE INDEX \\`session_message_session_type_seq_idx\\` ON \\`session_message\\` (\\`session_id\\`,\\`type\\`,\\`seq\\`);`,\n )\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,kDACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAG7B,MAAO,EAAG,IAAI,gCAAkC,EAChD,MAAO,EAAG,IAAI,kEAAsE,EACpF,MAAO,EAAG,IAAI,0EAA4E,EAC1F,MAAO,EAAG,IAAI,2FAAmG,EACjH,MAAO,EAAG,IACR,uGACF,EACD,EAEL", | ||
| "debugId": "177719EB6DC051D264756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["src/commands/handlers/mcp/logout.ts"], | ||
| "sourcesContent": [ | ||
| "import { EOL } from \"node:os\"\nimport { Effect } from \"effect\"\nimport { createOpencodeClient } from \"@opencode-ai/sdk/v2/client\"\nimport { Commands } from \"../../commands\"\nimport { Runtime } from \"../../../framework/runtime\"\nimport { Service } from \"@opencode-ai/client/effect\"\nimport { ServiceConfig } from \"../../../services/service-config\"\nimport { resolveIntegration } from \"./resolve\"\n\nconst location = { directory: process.cwd() }\n\nexport default Runtime.handler(\n Commands.commands.mcp.commands.logout,\n Effect.fn(\"cli.mcp.logout\")(function* (input) {\n const options = yield* ServiceConfig.options()\n const found = yield* Service.discover(options)\n const endpoint = found ?? (yield* Service.start(options))\n const client = createOpencodeClient({ baseUrl: endpoint.url, headers: Service.headers(endpoint) })\n\n const integration = yield* resolveIntegration(client, input.name, location)\n if (!integration) {\n process.stdout.write(`No stored credentials for ${input.name}` + EOL)\n return\n }\n\n const credentials = integration.connections.filter((connection) => connection.type === \"credential\")\n if (credentials.length === 0) {\n process.stdout.write(`No stored credentials for ${input.name}` + EOL)\n return\n }\n\n yield* Effect.forEach(\n credentials,\n (connection) => Effect.promise(() => client.v2.credential.remove({ credentialID: connection.id, location })),\n { discard: true },\n )\n process.stdout.write(`Removed OAuth credentials for ${input.name}` + EOL)\n }),\n)\n" | ||
| ], | ||
| "mappings": ";guBAAA,mBAAS,gBAST,SAAM,OAAW,MAAE,eAAW,aAAQ,SAAI,MAAE,OAE7B,SAAQ,aACrB,OAAS,cAAS,SAAI,cAAS,YAC/B,OAAO,GAAG,gBAAgB,EAAE,SAAU,CAAC,EAAO,CAC5C,IAAM,EAAU,MAAO,EAAc,QAAQ,EAEvC,GADQ,MAAO,EAAQ,SAAS,CAAO,KAClB,MAAO,EAAQ,MAAM,CAAO,GACjD,EAAS,EAAqB,CAAE,QAAS,EAAS,IAAK,QAAS,EAAQ,QAAQ,CAAQ,CAAE,CAAC,EAE3F,EAAc,MAAO,EAAmB,EAAQ,EAAM,KAAM,CAAQ,EAC1E,GAAI,CAAC,EAAa,CAChB,QAAQ,OAAO,MAAM,6BAA6B,EAAM,OAAS,CAAG,EACpE,OAGF,IAAM,EAAc,EAAY,YAAY,OAAO,CAAC,IAAe,EAAW,OAAS,YAAY,EACnG,GAAI,EAAY,SAAW,EAAG,CAC5B,QAAQ,OAAO,MAAM,6BAA6B,EAAM,OAAS,CAAG,EACpE,OAGF,MAAO,EAAO,QACZ,EACA,CAAC,IAAe,EAAO,QAAQ,IAAM,EAAO,GAAG,WAAW,OAAO,CAAE,aAAc,EAAW,GAAI,UAAS,CAAC,CAAC,EAC3G,CAAE,QAAS,EAAK,CAClB,EACA,QAAQ,OAAO,MAAM,iCAAiC,EAAM,OAAS,CAAG,EACzE,CACH", | ||
| "debugId": "4B4A497C35DB462964756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "FD56D9CF110FF36864756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["src/commands/handlers/mini.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect, Option } from \"effect\"\nimport { Commands } from \"../commands\"\nimport { Runtime } from \"../../framework/runtime\"\nimport { Server } from \"../../services/server\"\n\nexport default Runtime.handler(Commands.commands.mini, (input) =>\n Effect.gen(function* () {\n const { runMini, validateMiniTerminal } = yield* Effect.promise(() => import(\"../../mini\"))\n yield* Effect.promise(async () => validateMiniTerminal())\n const serverURL = Option.getOrUndefined(input.server)\n const server = yield* Server.resolve({ server: serverURL, standalone: input.standalone })\n yield* Effect.promise(() =>\n runMini({\n server,\n continue: input.continue,\n session: Option.getOrUndefined(input.session),\n fork: input.fork,\n model: Option.getOrUndefined(input.model),\n agent: Option.getOrUndefined(input.agent),\n prompt: Option.getOrUndefined(input.prompt),\n replay: input.replay,\n replayLimit: Option.getOrUndefined(input.replayLimit),\n demo: input.demo,\n }),\n )\n }),\n)\n" | ||
| ], | ||
| "mappings": ";okCAKA,SAAe,SAAQ,aAAQ,OAAS,cAAS,UAAM,MAAC,SACtD,OAAO,SAAI,cAAU,OAAG,MACtB,SAAQ,eAAS,6BAAyB,WAAO,OAAO,aAAQ,SAAa,wCAAa,OAC1F,WAAO,OAAO,aAAQ,cAAY,OAAqB,MAAC,OACxD,SAAM,EAAY,EAAO,eAAe,EAAM,MAAM,EAC9C,EAAS,MAAO,EAAO,QAAQ,CAAE,OAAQ,EAAW,WAAY,EAAM,UAAW,CAAC,EACxF,MAAO,EAAO,QAAQ,IACpB,EAAQ,CACN,SACA,SAAU,EAAM,SAChB,QAAS,EAAO,eAAe,EAAM,OAAO,EAC5C,KAAM,EAAM,KACZ,MAAO,EAAO,eAAe,EAAM,KAAK,EACxC,MAAO,EAAO,eAAe,EAAM,KAAK,EACxC,OAAQ,EAAO,eAAe,EAAM,MAAM,EAC1C,OAAQ,EAAM,OACd,YAAa,EAAO,eAAe,EAAM,WAAW,EACpD,KAAM,EAAM,IACd,CAAC,CACH,EACD,CACH", | ||
| "debugId": "D92EC1EF08D341EC64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../schema/src/identifier.ts", "../schema/src/project-id.ts", "../schema/src/workspace-id.ts", "../schema/src/location.ts", "../schema/src/event.ts"], | ||
| "sourcesContent": [ | ||
| "const length = 26\nconst chars = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\"\nlet lastTimestamp = 0\nlet counter = 0\n\nexport function ascending() {\n return create(false)\n}\n\nexport function descending() {\n return create(true)\n}\n\nexport function create(descending: boolean, timestamp = Date.now()) {\n if (timestamp !== lastTimestamp) {\n lastTimestamp = timestamp\n counter = 0\n }\n counter++\n\n const current = BigInt(timestamp) * 0x1000n + BigInt(counter)\n const value = descending ? ~current : current\n const time = Array.from({ length: 6 }, (_, index) =>\n Number((value >> BigInt(40 - 8 * index)) & 0xffn)\n .toString(16)\n .padStart(2, \"0\"),\n ).join(\"\")\n const bytes = crypto.getRandomValues(new Uint8Array(length - 12))\n return time + Array.from(bytes, (byte) => chars[byte % 62]).join(\"\")\n}\n", | ||
| "import { Schema } from \"effect\"\nimport { statics } from \"./schema.js\"\n\nexport const ProjectID = Schema.String.pipe(\n Schema.brand(\"Project.ID\"),\n statics((schema) => ({ global: schema.make(\"global\") })),\n)\nexport type ProjectID = typeof ProjectID.Type\n", | ||
| "import { Schema } from \"effect\"\nimport { ascending } from \"./identifier.js\"\nimport { statics } from \"./schema.js\"\n\nexport const WorkspaceID = Schema.String.check(Schema.isStartsWith(\"wrk\")).pipe(\n Schema.brand(\"WorkspaceV2.ID\"),\n statics((schema) => {\n const create = () => schema.make(\"wrk_\" + ascending())\n return {\n ascending: (id?: string) => {\n if (!id) return create()\n if (!id.startsWith(\"wrk\")) throw new Error(`ID ${id} does not start with wrk`)\n return schema.make(id)\n },\n create,\n }\n }),\n)\nexport type WorkspaceID = typeof WorkspaceID.Type\n", | ||
| "export * as Location from \"./location.js\"\n\nimport { Schema } from \"effect\"\nimport { AbsolutePath, optional } from \"./schema.js\"\nimport { ProjectID } from \"./project-id.js\"\nimport { WorkspaceID } from \"./workspace-id.js\"\n\nexport interface Ref extends Schema.Schema.Type<typeof Ref> {}\nexport const Ref = Schema.Struct({\n directory: AbsolutePath,\n workspaceID: optional(WorkspaceID),\n}).annotate({ identifier: \"Location.Ref\" })\n\nexport class Info extends Schema.Class<Info>(\"Location.Info\")({\n directory: AbsolutePath,\n workspaceID: optional(WorkspaceID),\n project: Schema.Struct({\n id: ProjectID,\n directory: AbsolutePath,\n }),\n}) {}\n\nexport function response<S extends Schema.Top>(data: S) {\n return Schema.Struct({ location: Info, data })\n}\n", | ||
| "export * as Event from \"./event.js\"\n\nimport { Schema, SchemaTransformation } from \"effect\"\nimport { optional } from \"./schema.js\"\nimport { ascending } from \"./identifier.js\"\nimport { Location } from \"./location.js\"\nimport { DateTimeUtcFromMillis, statics } from \"./schema.js\"\n\nexport const ID = Schema.String.check(Schema.isStartsWith(\"evt_\")).pipe(\n Schema.brand(\"Event.ID\"),\n statics((schema) => ({ create: () => schema.make(\"evt_\" + ascending()) })),\n)\nexport type ID = typeof ID.Type\n\n/**\n * Position in one aggregate's durable log. Values originate from the durable\n * event envelope and synced markers;\n * `after` cursors accept only values that came from those sources.\n */\nexport const Seq = Schema.Int.check(Schema.isGreaterThanOrEqualTo(0)).pipe(Schema.brand(\"Event.Seq\"))\nexport type Seq = typeof Seq.Type\n\n/** Durable schema version of one event type, from the event definition that committed it. */\nexport const Version = Schema.Int.check(Schema.isGreaterThanOrEqualTo(1)).pipe(Schema.brand(\"Event.Version\"))\nexport type Version = typeof Version.Type\n\nconst DurableEnvelope = Schema.Struct({ aggregateID: Schema.String, seq: Seq, version: Version })\nexport type DurableEnvelope = typeof DurableEnvelope.Type\n\nexport type DurableDefinition<\n Type extends string = string,\n DataSchema extends Schema.Codec<unknown, unknown> = Schema.Codec<unknown, unknown>,\n> = Schema.Top & {\n readonly type: Type\n readonly durability: \"durable\"\n readonly durable: {\n readonly version: number\n readonly aggregate: string\n }\n readonly data: DataSchema\n}\n\nexport type EphemeralDefinition<\n Type extends string = string,\n DataSchema extends Schema.Codec<unknown, unknown> = Schema.Codec<unknown, unknown>,\n> = Schema.Top & {\n readonly type: Type\n readonly durability: \"ephemeral\"\n readonly durable?: never\n readonly data: DataSchema\n}\n\nexport type Definition<\n Type extends string = string,\n DataSchema extends Schema.Codec<unknown, unknown> = Schema.Codec<unknown, unknown>,\n> = DurableDefinition<Type, DataSchema> | EphemeralDefinition<Type, DataSchema>\n\nexport type Data<D extends Definition> = Schema.Schema.Type<D[\"data\"]>\n\ntype PayloadBase<D extends Definition> = {\n readonly id: ID\n readonly type: D[\"type\"]\n readonly created: typeof DateTimeUtcFromMillis.Type\n readonly data: Data<D>\n readonly location?: Location.Ref\n readonly metadata?: Record<string, unknown>\n}\n\nexport type Payload<D extends Definition = Definition> = D extends DurableDefinition\n ? PayloadBase<D> & { readonly durable: DurableEnvelope }\n : PayloadBase<D> & { readonly durable?: never }\n\ntype Input<Type extends string, Fields extends Readonly<Record<PropertyKey, Schema.Codec<unknown, unknown>>>> = {\n readonly type: Type\n readonly identifier?: string\n readonly durable?: {\n readonly version: number\n readonly aggregate: string\n }\n readonly schema: Fields\n}\n\nexport function durable<\n const Type extends string,\n const Fields extends Readonly<Record<PropertyKey, Schema.Codec<unknown, unknown>>>,\n>(input: Input<Type, Fields> & { readonly durable: NonNullable<Input<Type, Fields>[\"durable\"]> }) {\n const data = Schema.Struct(input.schema)\n const durable = Schema.Struct({\n aggregateID: DurableEnvelope.fields.aggregateID,\n seq: DurableEnvelope.fields.seq,\n version: Schema.Literal(input.durable.version).pipe(\n Schema.decodeTo(\n Schema.toType(Version),\n SchemaTransformation.transform({\n decode: () => Version.make(input.durable.version),\n encode: () => input.durable.version,\n }),\n ),\n ),\n })\n return Schema.Struct({\n id: ID,\n created: DateTimeUtcFromMillis,\n metadata: optional(Schema.Record(Schema.String, Schema.Unknown)),\n type: Schema.Literal(input.type),\n durable,\n location: optional(Location.Ref),\n data,\n })\n .annotate({ identifier: input.identifier ?? input.type })\n .pipe(\n statics(() => ({\n type: input.type,\n durability: \"durable\" as const,\n durable: input.durable,\n data,\n })),\n ) satisfies DurableDefinition<Type, typeof data>\n}\n\nexport function ephemeral<\n const Type extends string,\n const Fields extends Readonly<Record<PropertyKey, Schema.Codec<unknown, unknown>>>,\n>(input: Omit<Input<Type, Fields>, \"durable\">) {\n const data = Schema.Struct(input.schema)\n return Schema.Struct({\n id: ID,\n created: DateTimeUtcFromMillis,\n metadata: optional(Schema.Record(Schema.String, Schema.Unknown)),\n type: Schema.Literal(input.type),\n location: optional(Location.Ref),\n data,\n })\n .annotate({ identifier: input.identifier ?? input.type })\n .pipe(\n statics(() => ({\n type: input.type,\n durability: \"ephemeral\" as const,\n durable: undefined,\n data,\n })),\n ) satisfies EphemeralDefinition<Type, typeof data>\n}\n\nexport function inventory<const Definitions extends ReadonlyArray<Definition>>(...definitions: Definitions) {\n return Object.freeze(definitions)\n}\n\nexport function latest(definitions: ReadonlyArray<Definition>) {\n return readonlyMap(\n definitions.reduce((result, definition) => {\n const existing = result.get(definition.type)\n if (!existing) {\n result.set(definition.type, definition)\n return result\n }\n if (definition.durable && existing.durable && definition.durable.version !== existing.durable.version) {\n if (definition.durable.version > existing.durable.version) result.set(definition.type, definition)\n return result\n }\n if (definition !== existing) throw new Error(`Duplicate latest event definition for ${definition.type}`)\n return result\n }, new Map<string, Definition>()),\n )\n}\n\nexport function versionedType(type: string, version: number) {\n return `${type}.${version}`\n}\n\nexport function durableMap<const Definitions extends ReadonlyArray<Definition>>(definitions: Definitions) {\n return readonlyMap(\n definitions.reduce((result, definition) => {\n if (definition.durability !== \"durable\") return result\n const key = versionedType(definition.type, definition.durable.version)\n if (result.has(key)) throw new Error(`Duplicate durable event definition for ${key}`)\n result.set(key, definition)\n return result\n }, new Map<string, DurableDefinition>()),\n )\n}\n\nfunction readonlyMap<Key, Value>(map: Map<Key, Value>): ReadonlyMap<Key, Value> {\n const result: ReadonlyMap<Key, Value> = Object.freeze({\n get size() {\n return map.size\n },\n entries: () => map.entries(),\n forEach: (callback: (value: Value, key: Key, map: ReadonlyMap<Key, Value>) => void, thisArg?: unknown) =>\n map.forEach((value, key) => callback.call(thisArg, value, key, result)),\n get: (key: Key) => map.get(key),\n has: (key: Key) => map.has(key),\n keys: () => map.keys(),\n values: () => map.values(),\n [Symbol.iterator]: () => map[Symbol.iterator](),\n })\n return result\n}\n" | ||
| ], | ||
| "mappings": ";gPAEA,SAAI,OAAgB,EAChB,EAAU,EAEP,SAAS,CAAS,EAAG,CAC1B,OAAO,EAAO,EAAK,EAGd,SAAS,CAAU,EAAG,CAC3B,OAAO,EAAO,EAAI,EAGb,SAAS,CAAM,CAAC,EAAqB,EAAY,KAAK,IAAI,EAAG,CAClE,GAAI,IAAc,EAChB,EAAgB,EAChB,EAAU,EAEZ,IAEA,IAAM,EAAU,OAAO,CAAS,EAAI,QAAU,OAAO,CAAO,EACtD,EAAQ,EAAa,CAAC,EAAU,EAChC,EAAO,MAAM,KAAK,CAAE,OAAQ,CAAE,EAAG,CAAC,EAAG,IACzC,OAAQ,GAAS,OAAO,GAAK,EAAI,CAAK,EAAK,KAAK,EAC7C,SAAS,EAAE,EACX,SAAS,EAAG,GAAG,CACpB,EAAE,KAAK,EAAE,EACH,EAAQ,OAAO,gBAAgB,IAAI,WAAW,EAAW,CAAC,EAChE,OAAO,EAAO,MAAM,KAAK,EAAO,CAAC,IA3BrB,iEA2BoC,EAAO,GAAG,EAAE,KAAK,EAAE,kOCzB9D,IAAM,EAAY,EAAO,OAAO,KACrC,EAAO,MAAM,YAAY,EACzB,EAAQ,CAAC,KAAY,CAAE,OAAQ,EAAO,KAAK,QAAQ,CAAE,EAAE,CACzD,ECFO,IAAM,EAAc,EAAO,OAAO,MAAM,EAAO,aAAa,KAAK,CAAC,EAAE,KACzE,EAAO,MAAM,gBAAgB,EAC7B,EAAQ,CAAC,IAAW,CAClB,IAAM,EAAS,IAAM,EAAO,KAAK,OAAS,EAAU,CAAC,EACrD,MAAO,CACL,UAAW,CAAC,IAAgB,CAC1B,GAAI,CAAC,EAAI,OAAO,EAAO,EACvB,GAAI,CAAC,EAAG,WAAW,KAAK,EAAG,MAAU,MAAM,MAAM,2BAA4B,EAC7E,OAAO,EAAO,KAAK,CAAE,GAEvB,QACF,EACD,CACH,ECTO,IAAM,EAAM,EAAO,OAAO,CAC/B,UAAW,EACX,YAAa,EAAS,CAAW,CACnC,CAAC,EAAE,SAAS,CAAE,WAAY,cAAe,CAAC,EAEnC,MAAM,UAAa,EAAO,MAAY,eAAe,EAAE,CAC5D,UAAW,EACX,YAAa,EAAS,CAAW,EACjC,QAAS,EAAO,OAAO,CACrB,GAAI,EACJ,UAAW,CACb,CAAC,CACH,CAAC,CAAE,CAAC,CAEG,SAAS,CAA8B,CAAC,EAAS,CACtD,OAAO,EAAO,OAAO,CAAE,SAAU,EAAM,MAAK,CAAC,ECfxC,IAAM,EAAK,EAAO,OAAO,MAAM,EAAO,aAAa,MAAM,CAAC,EAAE,KACjE,EAAO,MAAM,UAAU,EACvB,EAAQ,CAAC,KAAY,CAAE,OAAQ,IAAM,EAAO,KAAK,OAAS,EAAU,CAAC,CAAE,EAAE,CAC3E,EAQa,EAAM,EAAO,IAAI,MAAM,EAAO,uBAAuB,CAAC,CAAC,EAAE,KAAK,EAAO,MAAM,WAAW,CAAC,EAIvF,EAAU,EAAO,IAAI,MAAM,EAAO,uBAAuB,CAAC,CAAC,EAAE,KAAK,EAAO,MAAM,eAAe,CAAC,EAGtG,EAAkB,EAAO,OAAO,CAAE,YAAa,EAAO,OAAQ,IAAK,EAAK,QAAS,CAAQ,CAAC,EAwDzF,SAAS,CAGf,CAAC,EAAgG,CAChG,IAAM,EAAO,EAAO,OAAO,EAAM,MAAM,EACjC,EAAU,EAAO,OAAO,CAC5B,YAAa,EAAgB,OAAO,YACpC,IAAK,EAAgB,OAAO,IAC5B,QAAS,EAAO,QAAQ,EAAM,QAAQ,OAAO,EAAE,KAC7C,EAAO,SACL,EAAO,OAAO,CAAO,EACrB,EAAqB,UAAU,CAC7B,OAAQ,IAAM,EAAQ,KAAK,EAAM,QAAQ,OAAO,EAChD,OAAQ,IAAM,EAAM,QAAQ,OAC9B,CAAC,CACH,CACF,CACF,CAAC,EACD,OAAO,EAAO,OAAO,CACnB,GAAI,EACJ,QAAS,EACT,SAAU,EAAS,EAAO,OAAO,EAAO,OAAQ,EAAO,OAAO,CAAC,EAC/D,KAAM,EAAO,QAAQ,EAAM,IAAI,EAC/B,UACA,SAAU,EAAS,EAAS,GAAG,EAC/B,MACF,CAAC,EACE,SAAS,CAAE,WAAY,EAAM,YAAc,EAAM,IAAK,CAAC,EACvD,KACC,EAAQ,KAAO,CACb,KAAM,EAAM,KACZ,WAAY,UACZ,QAAS,EAAM,QACf,MACF,EAAE,CACJ,EAGG,SAAS,CAGf,CAAC,EAA6C,CAC7C,IAAM,EAAO,EAAO,OAAO,EAAM,MAAM,EACvC,OAAO,EAAO,OAAO,CACnB,GAAI,EACJ,QAAS,EACT,SAAU,EAAS,EAAO,OAAO,EAAO,OAAQ,EAAO,OAAO,CAAC,EAC/D,KAAM,EAAO,QAAQ,EAAM,IAAI,EAC/B,SAAU,EAAS,EAAS,GAAG,EAC/B,MACF,CAAC,EACE,SAAS,CAAE,WAAY,EAAM,YAAc,EAAM,IAAK,CAAC,EACvD,KACC,EAAQ,KAAO,CACb,KAAM,EAAM,KACZ,WAAY,YACZ,QAAS,OACT,MACF,EAAE,CACJ,EAGG,SAAS,CAA8D,IAAI,EAA0B,CAC1G,OAAO,OAAO,OAAO,CAAW,EAG3B,SAAS,CAAM,CAAC,EAAwC,CAC7D,OAAO,EACL,EAAY,OAAO,CAAC,EAAQ,IAAe,CACzC,IAAM,EAAW,EAAO,IAAI,EAAW,IAAI,EAC3C,GAAI,CAAC,EAEH,OADA,EAAO,IAAI,EAAW,KAAM,CAAU,EAC/B,EAET,GAAI,EAAW,SAAW,EAAS,SAAW,EAAW,QAAQ,UAAY,EAAS,QAAQ,QAAS,CACrG,GAAI,EAAW,QAAQ,QAAU,EAAS,QAAQ,QAAS,EAAO,IAAI,EAAW,KAAM,CAAU,EACjG,OAAO,EAET,GAAI,IAAe,EAAU,MAAU,MAAM,yCAAyC,EAAW,MAAM,EACvG,OAAO,GACN,IAAI,GAAyB,CAClC,EAGK,SAAS,CAAa,CAAC,EAAc,EAAiB,CAC3D,MAAO,GAAG,KAAQ,IAGb,SAAS,CAA+D,CAAC,EAA0B,CACxG,OAAO,EACL,EAAY,OAAO,CAAC,EAAQ,IAAe,CACzC,GAAI,EAAW,aAAe,UAAW,OAAO,EAChD,IAAM,EAAM,EAAc,EAAW,KAAM,EAAW,QAAQ,OAAO,EACrE,GAAI,EAAO,IAAI,CAAG,EAAG,MAAU,MAAM,0CAA0C,GAAK,EAEpF,OADA,EAAO,IAAI,EAAK,CAAU,EACnB,GACN,IAAI,GAAgC,CACzC,EAGF,SAAS,CAAuB,CAAC,EAA+C,CAC9E,IAAM,EAAkC,OAAO,OAAO,IAChD,KAAI,EAAG,CACT,OAAO,EAAI,MAEb,QAAS,IAAM,EAAI,QAAQ,EAC3B,QAAS,CAAC,EAA0E,IAClF,EAAI,QAAQ,CAAC,EAAO,IAAQ,EAAS,KAAK,EAAS,EAAO,EAAK,CAAM,CAAC,EACxE,IAAK,CAAC,IAAa,EAAI,IAAI,CAAG,EAC9B,IAAK,CAAC,IAAa,EAAI,IAAI,CAAG,EAC9B,KAAM,IAAM,EAAI,KAAK,EACrB,OAAQ,IAAM,EAAI,OAAO,GACxB,OAAO,UAAW,IAAM,EAAI,OAAO,UAAU,CAChD,CAAC,EACD,OAAO", | ||
| "debugId": "8DA1D6621F82966F64756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "CABD73B3332B439564756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260427172553_slow_nightmare.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260427172553_slow_nightmare\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`\n CREATE TABLE \\`session_message\\` (\n \\`id\\` text PRIMARY KEY,\n \\`session_id\\` text NOT NULL,\n \\`type\\` text NOT NULL,\n \\`time_created\\` integer NOT NULL,\n \\`time_updated\\` integer NOT NULL,\n \\`data\\` text NOT NULL,\n CONSTRAINT \\`fk_session_message_session_id_session_id_fk\\` FOREIGN KEY (\\`session_id\\`) REFERENCES \\`session\\`(\\`id\\`) ON DELETE CASCADE\n );\n `)\n yield* tx.run(`DROP INDEX IF EXISTS \\`session_entry_session_idx\\`;`)\n yield* tx.run(`DROP INDEX IF EXISTS \\`session_entry_session_type_idx\\`;`)\n yield* tx.run(`DROP INDEX IF EXISTS \\`session_entry_time_created_idx\\`;`)\n yield* tx.run(`CREATE INDEX \\`session_message_session_idx\\` ON \\`session_message\\` (\\`session_id\\`);`)\n yield* tx.run(\n `CREATE INDEX \\`session_message_session_type_idx\\` ON \\`session_message\\` (\\`session_id\\`,\\`type\\`);`,\n )\n yield* tx.run(`CREATE INDEX \\`session_message_time_created_idx\\` ON \\`session_message\\` (\\`time_created\\`);`)\n yield* tx.run(`DROP TABLE \\`session_entry\\`;`)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,gCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,+aAUb,EACD,MAAO,EAAG,IAAI,mDAAqD,EACnE,MAAO,EAAG,IAAI,wDAA0D,EACxE,MAAO,EAAG,IAAI,wDAA0D,EACxE,MAAO,EAAG,IAAI,iFAAuF,EACrG,MAAO,EAAG,IACR,6FACF,EACA,MAAO,EAAG,IAAI,wFAA8F,EAC5G,MAAO,EAAG,IAAI,6BAA+B,EAC9C,EAEL", | ||
| "debugId": "92037BD5A82FB8CF64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "88140C4C6297AB4864756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260703090000_reset_v2_event_rename_sweep.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260703090000_reset_v2_event_rename_sweep\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`DELETE FROM \\`session_input\\`;`)\n yield* tx.run(`DELETE FROM \\`session_message\\`;`)\n yield* tx.run(`DELETE FROM \\`event\\`;`)\n yield* tx.run(`DELETE FROM \\`event_sequence\\`;`)\n // `created` column is added by the generated 20260703181610_event_created_column\n // migration, which runs after this wipe (NOT NULL without default is safe on the\n // emptied table).\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,6CACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,8BAAgC,EAC9C,MAAO,EAAG,IAAI,gCAAkC,EAChD,MAAO,EAAG,IAAI,sBAAwB,EACtC,MAAO,EAAG,IAAI,+BAAiC,EAIhD,EAEL", | ||
| "debugId": "845CB468CF05DA0764756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["src/services/standalone.ts", "src/services/server.ts"], | ||
| "sourcesContent": [ | ||
| "import { Service } from \"@opencode-ai/client/effect\"\nimport { CrossSpawnSpawner } from \"@opencode-ai/core/cross-spawn-spawner\"\nimport { AppNodeBuilder } from \"@opencode-ai/core/effect/app-node-builder\"\nimport { Effect, Schema, Stream } from \"effect\"\nimport { ChildProcess, ChildProcessSpawner } from \"effect/unstable/process\"\nimport { randomBytes } from \"node:crypto\"\nimport path from \"node:path\"\n\nconst Ready = Schema.Struct({ url: Schema.String })\nconst decodeReady = Schema.decodeUnknownPromise(Schema.fromJsonString(Ready))\n\ntype Options = {\n readonly command?: ReadonlyArray<string>\n}\n\nfunction command(password: string, options: Options) {\n const compiled = path.basename(process.execPath).replace(/\\.exe$/, \"\") !== \"bun\"\n const entrypoint = compiled ? [] : process.argv[1] ? [process.argv[1]] : []\n if (!compiled && entrypoint.length === 0) throw new Error(\"Failed to resolve CLI entrypoint\")\n const [executable, ...args] = options.command ?? [process.execPath, ...entrypoint, \"serve\"]\n if (!executable) throw new Error(\"Failed to resolve standalone server command\")\n return ChildProcess.make(executable, [...args, \"--stdio\", \"--port\", \"0\"], {\n cwd: process.cwd(),\n // Explicit entry wins over anything inherited, so a user-exported\n // OPENCODE_PASSWORD cannot shadow the child's lease credential.\n env: { OPENCODE_PASSWORD: password },\n extendEnv: true,\n // The server treats EOF on this pipe as the end of its ownership lease.\n // The OS closes it even when the TUI is killed before Effect finalizers run.\n stdin: \"pipe\",\n stderr: \"ignore\",\n killSignal: \"SIGTERM\",\n forceKillAfter: \"3 seconds\",\n })\n}\n\nconst makeEndpoint = Effect.fn(\"cli.standalone.endpoint\")(\n function* (options: Options) {\n const password = randomBytes(32).toString(\"base64url\")\n const spawner = yield* ChildProcessSpawner.ChildProcessSpawner\n const proc = yield* spawner.spawn(command(password, options))\n const output = yield* proc.stdout.pipe(Stream.decodeText(), Stream.splitLines, Stream.take(1), Stream.mkString)\n if (!output) return yield* Effect.fail(new Error(\"Standalone server exited before reporting readiness\"))\n const ready = yield* Effect.tryPromise(() => decodeReady(output))\n return {\n url: ready.url,\n auth: { type: \"basic\" as const, username: \"opencode\", password },\n pid: proc.pid,\n } satisfies Service.Endpoint & { readonly pid: number }\n },\n Effect.provide(AppNodeBuilder.build(CrossSpawnSpawner.node)),\n)\n\nexport function start(options: Options = {}) {\n return makeEndpoint(options)\n}\n\nexport * as Standalone from \"./standalone\"\n", | ||
| "import { NodeFileSystem } from \"@effect/platform-node\"\nimport { Service } from \"@opencode-ai/client/effect\"\nimport { ClientError, isUnauthorizedError, OpenCode } from \"@opencode-ai/client/promise\"\nimport { InstallationVersion } from \"@opencode-ai/core/installation/version\"\nimport { Effect, Redacted } from \"effect\"\nimport { Env } from \"../env\"\nimport { ServiceConfig } from \"./service-config\"\nimport { Standalone } from \"./standalone\"\n\nexport type Args = {\n readonly server?: string\n readonly standalone?: boolean\n}\n\nexport type Resolved = {\n readonly endpoint: Service.Endpoint\n readonly discover?: () => Promise<Service.Endpoint>\n readonly reload?: () => Promise<void>\n}\n\nexport const resolve = Effect.fn(\"cli.server.resolve\")(function* (args: Args) {\n if (args.server !== undefined && args.standalone)\n return yield* Effect.fail(new Error(\"--server and --standalone cannot be combined\"))\n if (args.server !== undefined) {\n const password = yield* Env.password\n const endpoint = {\n url: args.server,\n auth: password\n ? { type: \"basic\" as const, username: \"opencode\", password: Redacted.value(password) }\n : undefined,\n } satisfies Service.Endpoint\n const client = OpenCode.make({ baseUrl: endpoint.url, headers: Service.headers(endpoint) })\n const health = yield* Effect.tryPromise({\n try: () => client.health.get({ signal: AbortSignal.timeout(5_000) }),\n catch: (cause) => connectError(endpoint, cause),\n })\n if (health.version !== InstallationVersion)\n process.stderr.write(\n `Warning: Server at ${endpoint.url} has version ${health.version}; this client is ${InstallationVersion}. Continuing anyway.\\n`,\n )\n return { endpoint } satisfies Resolved\n }\n if (args.standalone) {\n return { endpoint: yield* Standalone.start() } satisfies Resolved\n }\n\n const options = yield* ServiceConfig.options()\n const endpoint = yield* Service.start(options)\n const reconnectOptions = { ...options, version: undefined }\n return {\n endpoint,\n discover: () => Effect.runPromise(Service.start(reconnectOptions).pipe(Effect.provide(NodeFileSystem.layer))),\n reload: () =>\n Effect.runPromise(\n Effect.gen(function* () {\n yield* Service.stop(options)\n yield* Service.start(options)\n }).pipe(Effect.provide(NodeFileSystem.layer)),\n ),\n } satisfies Resolved\n})\n\nfunction connectError(endpoint: Service.Endpoint, cause: unknown) {\n if (isUnauthorizedError(cause)) {\n return new Error(\n endpoint.auth === undefined\n ? `Server at ${endpoint.url} requires a password; set OPENCODE_PASSWORD`\n : `Server at ${endpoint.url} rejected the password`,\n { cause },\n )\n }\n if (cause instanceof ClientError && cause.reason === \"Transport\")\n return new Error(`Could not reach server at ${endpoint.url}`, { cause })\n return new Error(`Server at ${endpoint.url} did not provide a compatible V2 health response`, { cause })\n}\n\nexport * as Server from \"./server\"\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "BBA3199A5DE201AA64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/drizzle-orm@1.0.0-rc.2+a86099c5389f280c/node_modules/drizzle-orm/entity.js", "../../node_modules/.bun/drizzle-orm@1.0.0-rc.2+a86099c5389f280c/node_modules/drizzle-orm/column-common.js", "../../node_modules/.bun/drizzle-orm@1.0.0-rc.2+a86099c5389f280c/node_modules/drizzle-orm/column.js", "../../node_modules/.bun/drizzle-orm@1.0.0-rc.2+a86099c5389f280c/node_modules/drizzle-orm/table.utils.js", "../../node_modules/.bun/drizzle-orm@1.0.0-rc.2+a86099c5389f280c/node_modules/drizzle-orm/table.js", "../../node_modules/.bun/drizzle-orm@1.0.0-rc.2+a86099c5389f280c/node_modules/drizzle-orm/subquery.js", "../../node_modules/.bun/drizzle-orm@1.0.0-rc.2+a86099c5389f280c/node_modules/drizzle-orm/tracing-utils.js", "../../node_modules/.bun/drizzle-orm@1.0.0-rc.2+a86099c5389f280c/node_modules/drizzle-orm/tracing.js", "../../node_modules/.bun/drizzle-orm@1.0.0-rc.2+a86099c5389f280c/node_modules/drizzle-orm/view-common.js", "../../node_modules/.bun/drizzle-orm@1.0.0-rc.2+a86099c5389f280c/node_modules/drizzle-orm/sql/sql.js", "../../node_modules/.bun/drizzle-orm@1.0.0-rc.2+a86099c5389f280c/node_modules/drizzle-orm/sql/expressions/conditions.js", "../../node_modules/.bun/drizzle-orm@1.0.0-rc.2+a86099c5389f280c/node_modules/drizzle-orm/sql/expressions/select.js"], | ||
| "sourcesContent": [ | ||
| "//#region src/entity.ts\nconst entityKind = Symbol.for(\"drizzle:entityKind\");\nconst hasOwnEntityKind = Symbol.for(\"drizzle:hasOwnEntityKind\");\nfunction is(value, type) {\n\tif (!value || typeof value !== \"object\") return false;\n\tif (value instanceof type) return true;\n\tif (!Object.prototype.hasOwnProperty.call(type, entityKind)) throw new Error(`Class \"${type.name ?? \"<unknown>\"}\" doesn't look like a Drizzle entity. If this is incorrect and the class is provided by Drizzle, please report this as a bug.`);\n\tlet cls = Object.getPrototypeOf(value)?.constructor;\n\tif (cls) while (cls) {\n\t\tif (entityKind in cls && cls[entityKind] === type[entityKind]) return true;\n\t\tcls = Object.getPrototypeOf(cls);\n\t}\n\treturn false;\n}\n\n//#endregion\nexport { entityKind, hasOwnEntityKind, is };\n//# sourceMappingURL=entity.js.map", | ||
| "//#region src/column-common.ts\nconst OriginalColumn = Symbol.for(\"drizzle:OriginalColumn\");\n\n//#endregion\nexport { OriginalColumn };\n//# sourceMappingURL=column-common.js.map", | ||
| "import { entityKind } from \"./entity.js\";\nimport { OriginalColumn } from \"./column-common.js\";\n\n//#region src/column.ts\nconst noop = (v) => v;\nnoop.isNoop = true;\nvar Column = class {\n\tstatic [entityKind] = \"Column\";\n\t/** @internal */\n\tcodec;\n\tname;\n\tkeyAsName;\n\tprimary;\n\tnotNull;\n\tdefault;\n\tdefaultFn;\n\tonUpdateFn;\n\thasDefault;\n\tisUnique;\n\tuniqueName;\n\tuniqueType;\n\tdataType;\n\tcolumnType;\n\tenumValues = void 0;\n\tgenerated = void 0;\n\tgeneratedIdentity = void 0;\n\tlength;\n\tisLengthExact;\n\tisAlias;\n\t/** @internal */\n\tconfig;\n\t/** @internal */\n\ttable;\n\t/** @internal */\n\tonInit() {}\n\tconstructor(table, config) {\n\t\tthis.config = config;\n\t\tthis.onInit();\n\t\tthis.table = table;\n\t\tthis.name = config.name;\n\t\tthis.isAlias = false;\n\t\tthis.keyAsName = config.keyAsName;\n\t\tthis.notNull = config.notNull;\n\t\tthis.default = config.default;\n\t\tthis.defaultFn = config.defaultFn;\n\t\tthis.onUpdateFn = config.onUpdateFn;\n\t\tthis.hasDefault = config.hasDefault;\n\t\tthis.primary = config.primaryKey;\n\t\tthis.isUnique = config.isUnique;\n\t\tthis.uniqueName = config.uniqueName;\n\t\tthis.uniqueType = config.uniqueType;\n\t\tthis.dataType = config.dataType;\n\t\tthis.columnType = config.columnType;\n\t\tthis.generated = config.generated;\n\t\tthis.generatedIdentity = config.generatedIdentity;\n\t\tthis.length = config[\"length\"];\n\t\tthis.isLengthExact = config[\"isLengthExact\"];\n\t}\n\tmapFromDriverValue = noop;\n\tmapToDriverValue = noop;\n\t/** @internal */\n\tpostBuild() {\n\t\treturn this;\n\t}\n\t/** @internal */\n\tshouldDisableInsert() {\n\t\treturn this.config.generated !== void 0 && this.config.generated.type !== \"byDefault\";\n\t}\n\t/** @internal */\n\t[OriginalColumn]() {\n\t\treturn this;\n\t}\n};\nfunction getColumnTable(column) {\n\treturn column.table;\n}\n\n//#endregion\nexport { Column, getColumnTable };\n//# sourceMappingURL=column.js.map", | ||
| "//#region src/table.utils.ts\n/** @internal */\nconst TableName = Symbol.for(\"drizzle:Name\");\n\n//#endregion\nexport { TableName };\n//# sourceMappingURL=table.utils.js.map", | ||
| "import { entityKind } from \"./entity.js\";\nimport { TableName } from \"./table.utils.js\";\n\n//#region src/table.ts\n/** @internal */\nconst TableSchema = Symbol.for(\"drizzle:Schema\");\n/** @internal */\nconst TableColumns = Symbol.for(\"drizzle:Columns\");\n/** @internal */\nconst ExtraConfigColumns = Symbol.for(\"drizzle:ExtraConfigColumns\");\n/** @internal */\nconst OriginalName = Symbol.for(\"drizzle:OriginalName\");\n/** @internal */\nconst BaseName = Symbol.for(\"drizzle:BaseName\");\n/** @internal */\nconst IsAlias = Symbol.for(\"drizzle:IsAlias\");\n/** @internal */\nconst ExtraConfigBuilder = Symbol.for(\"drizzle:ExtraConfigBuilder\");\nconst IsDrizzleTable = Symbol.for(\"drizzle:IsDrizzleTable\");\nvar Table = class {\n\tstatic [entityKind] = \"Table\";\n\t/** @internal */\n\tstatic Symbol = {\n\t\tName: TableName,\n\t\tSchema: TableSchema,\n\t\tOriginalName,\n\t\tColumns: TableColumns,\n\t\tExtraConfigColumns,\n\t\tBaseName,\n\t\tIsAlias,\n\t\tExtraConfigBuilder\n\t};\n\t/**\n\t* @internal\n\t* Can be changed if the table is aliased.\n\t*/\n\t[TableName];\n\t/**\n\t* @internal\n\t* Used to store the original name of the table, before any aliasing.\n\t*/\n\t[OriginalName];\n\t/** @internal */\n\t[TableSchema];\n\t/** @internal */\n\t[TableColumns];\n\t/** @internal */\n\t[ExtraConfigColumns];\n\t/**\n\t* @internal\n\t* Used to store the table name before the transformation via the `tableCreator` functions.\n\t*/\n\t[BaseName];\n\t/** @internal */\n\t[IsAlias] = false;\n\t/** @internal */\n\t[IsDrizzleTable] = true;\n\t/** @internal */\n\t[ExtraConfigBuilder] = void 0;\n\tconstructor(name, schema, baseName) {\n\t\tthis[TableName] = this[OriginalName] = name;\n\t\tthis[TableSchema] = schema;\n\t\tthis[BaseName] = baseName;\n\t}\n};\nfunction isTable(table) {\n\treturn typeof table === \"object\" && table !== null && IsDrizzleTable in table;\n}\nfunction getTableName(table) {\n\treturn table[TableName];\n}\nfunction getTableUniqueName(table) {\n\treturn `${table[TableSchema] ?? \"public\"}.${table[TableName]}`;\n}\n\n//#endregion\nexport { BaseName, ExtraConfigBuilder, ExtraConfigColumns, IsAlias, OriginalName, Table, TableColumns, TableSchema, getTableName, getTableUniqueName, isTable };\n//# sourceMappingURL=table.js.map", | ||
| "import { entityKind } from \"./entity.js\";\n\n//#region src/subquery.ts\nvar Subquery = class {\n\tstatic [entityKind] = \"Subquery\";\n\tconstructor(sql, fields, alias, isWith = false, usedTables = []) {\n\t\tthis._ = {\n\t\t\tbrand: \"Subquery\",\n\t\t\tsql,\n\t\t\tselectedFields: fields,\n\t\t\talias,\n\t\t\tisWith,\n\t\t\tusedTables\n\t\t};\n\t}\n};\nvar WithSubquery = class extends Subquery {\n\tstatic [entityKind] = \"WithSubquery\";\n};\n\n//#endregion\nexport { Subquery, WithSubquery };\n//# sourceMappingURL=subquery.js.map", | ||
| "//#region src/tracing-utils.ts\nfunction iife(fn, ...args) {\n\treturn fn(...args);\n}\n\n//#endregion\nexport { iife };\n//# sourceMappingURL=tracing-utils.js.map", | ||
| "import { iife } from \"./tracing-utils.js\";\nimport { npmVersion } from \"./version.js\";\n\n//#region src/tracing.ts\nconst hasTelemetry = false;\n/** @internal */\nconst tracer = { startActiveSpan(name, fn) {\n\treturn fn();\n} };\n\n//#endregion\nexport { hasTelemetry, tracer };\n//# sourceMappingURL=tracing.js.map", | ||
| "//#region src/view-common.ts\nconst ViewBaseConfig = Symbol.for(\"drizzle:ViewBaseConfig\");\n\n//#endregion\nexport { ViewBaseConfig };\n//# sourceMappingURL=view-common.js.map", | ||
| "import { Column } from \"../column.js\";\nimport { IsAlias, OriginalName, Table, TableColumns, TableSchema } from \"../table.js\";\nimport { entityKind, is } from \"../entity.js\";\nimport { Subquery } from \"../subquery.js\";\nimport { TableName } from \"../table.utils.js\";\nimport { tracer } from \"../tracing.js\";\nimport { ViewBaseConfig } from \"../view-common.js\";\n\n//#region src/sql/sql.ts\n/**\n* This class is used to indicate a primitive param value that is used in `sql` tag.\n* It is only used on type level and is never instantiated at runtime.\n* If you see a value of this type in the code, its runtime value is actually the primitive param value.\n*/\nvar FakePrimitiveParam = class {\n\tstatic [entityKind] = \"FakePrimitiveParam\";\n};\nfunction isSQLWrapper(value) {\n\treturn value !== null && value !== void 0 && typeof value.getSQL === \"function\";\n}\nfunction mergeQueries(queries) {\n\tconst result = {\n\t\tsql: \"\",\n\t\tparams: []\n\t};\n\tfor (const query of queries) {\n\t\tresult.sql += query.sql;\n\t\tresult.params.push(...query.params);\n\t}\n\treturn result;\n}\nfunction _mergeQueries(queries) {\n\tconst result = {\n\t\tsql: \"\",\n\t\tparams: []\n\t};\n\tconst sqls = [];\n\tfor (const query of queries) {\n\t\tsqls.push(query.sql);\n\t\tresult.params.push(...query.params);\n\t}\n\tresult._sql = Object.assign(sqls, { raw: sqls });\n\treturn result;\n}\nvar StringChunk = class {\n\tstatic [entityKind] = \"StringChunk\";\n\tvalue;\n\tconstructor(value) {\n\t\tthis.value = Array.isArray(value) ? value : [value];\n\t}\n\tgetSQL() {\n\t\treturn new SQL([this]);\n\t}\n};\nvar SQL = class SQL {\n\tstatic [entityKind] = \"SQL\";\n\t/** @internal */\n\tdecoder = noopDecoder;\n\t/** @internal */\n\tshouldInlineParams = false;\n\t/** @internal */\n\tusedTables = [];\n\tconstructor(queryChunks) {\n\t\tthis.queryChunks = queryChunks;\n\t\tfor (const chunk of queryChunks) if (is(chunk, Table)) {\n\t\t\tconst schemaName = chunk[Table.Symbol.Schema];\n\t\t\tthis.usedTables.push(schemaName === void 0 ? chunk[Table.Symbol.Name] : schemaName + \".\" + chunk[Table.Symbol.Name]);\n\t\t}\n\t}\n\tappend(query) {\n\t\tthis.queryChunks.push(...query.queryChunks);\n\t\treturn this;\n\t}\n\ttoQuery(config) {\n\t\treturn tracer.startActiveSpan(\"drizzle.buildSQL\", (span) => {\n\t\t\tconst query = this.buildQueryFromSourceParams(this.queryChunks, config);\n\t\t\tspan?.setAttributes({\n\t\t\t\t\"drizzle.query.text\": query.sql,\n\t\t\t\t\"drizzle.query.params\": JSON.stringify(query.params)\n\t\t\t});\n\t\t\treturn query;\n\t\t});\n\t}\n\tbuildQueryFromSourceParams(chunks, _config) {\n\t\tconst config = Object.assign({}, _config, {\n\t\t\tinlineParams: _config.inlineParams || this.shouldInlineParams,\n\t\t\tparamStartIndex: _config.paramStartIndex || { value: 0 }\n\t\t});\n\t\tconst { escapeName, escapeParam, codecs, inlineParams, paramStartIndex, invokeSource } = config;\n\t\tconst mappedChunks = chunks.map((chunk) => {\n\t\t\tif (is(chunk, StringChunk)) return {\n\t\t\t\tsql: chunk.value.join(\"\"),\n\t\t\t\tparams: []\n\t\t\t};\n\t\t\tif (is(chunk, Name)) return {\n\t\t\t\tsql: escapeName(chunk.value),\n\t\t\t\tparams: []\n\t\t\t};\n\t\t\tif (chunk === void 0) return {\n\t\t\t\tsql: \"\",\n\t\t\t\tparams: []\n\t\t\t};\n\t\t\tif (Array.isArray(chunk)) {\n\t\t\t\tconst result = [new StringChunk(\"(\")];\n\t\t\t\tfor (const [i, p] of chunk.entries()) {\n\t\t\t\t\tresult.push(p);\n\t\t\t\t\tif (i < chunk.length - 1) result.push(new StringChunk(\", \"));\n\t\t\t\t}\n\t\t\t\tresult.push(new StringChunk(\")\"));\n\t\t\t\treturn this.buildQueryFromSourceParams(result, config);\n\t\t\t}\n\t\t\tif (is(chunk, SQL)) return this.buildQueryFromSourceParams(chunk.queryChunks, {\n\t\t\t\t...config,\n\t\t\t\tinlineParams: inlineParams || chunk.shouldInlineParams\n\t\t\t});\n\t\t\tif (is(chunk, Table)) {\n\t\t\t\tconst schemaName = chunk[Table.Symbol.Schema];\n\t\t\t\tconst tableName = chunk[Table.Symbol.Name];\n\t\t\t\tif (invokeSource === \"mssql-view-with-schemabinding\") return {\n\t\t\t\t\tsql: (schemaName === void 0 ? escapeName(\"dbo\") : escapeName(schemaName)) + \".\" + escapeName(tableName),\n\t\t\t\t\tparams: []\n\t\t\t\t};\n\t\t\t\treturn {\n\t\t\t\t\tsql: schemaName === void 0 || chunk[IsAlias] ? escapeName(tableName) : escapeName(schemaName) + \".\" + escapeName(tableName),\n\t\t\t\t\tparams: []\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (is(chunk, Column)) {\n\t\t\t\tconst columnName = chunk.name;\n\t\t\t\tif (_config.invokeSource === \"indexes\") return {\n\t\t\t\t\tsql: escapeName(columnName),\n\t\t\t\t\tparams: []\n\t\t\t\t};\n\t\t\t\tconst schemaName = invokeSource === \"mssql-check\" ? void 0 : chunk.table[Table.Symbol.Schema];\n\t\t\t\treturn {\n\t\t\t\t\tsql: chunk.isAlias ? escapeName(chunk.name) : chunk.table[IsAlias] || schemaName === void 0 ? escapeName(chunk.table[Table.Symbol.Name]) + \".\" + escapeName(columnName) : escapeName(schemaName) + \".\" + escapeName(chunk.table[Table.Symbol.Name]) + \".\" + escapeName(columnName),\n\t\t\t\t\tparams: []\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (is(chunk, View)) {\n\t\t\t\tconst schemaName = chunk[ViewBaseConfig].schema;\n\t\t\t\tconst viewName = chunk[ViewBaseConfig].name;\n\t\t\t\treturn {\n\t\t\t\t\tsql: schemaName === void 0 || chunk[ViewBaseConfig].isAlias ? escapeName(viewName) : escapeName(schemaName) + \".\" + escapeName(viewName),\n\t\t\t\t\tparams: []\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (is(chunk, Param)) {\n\t\t\t\tif (is(chunk.value, SQL)) return this.buildQueryFromSourceParams([chunk.value], config);\n\t\t\t\tconst useCodecs = codecs && is(chunk.encoder, Column);\n\t\t\t\tif (is(chunk.value, Placeholder)) {\n\t\t\t\t\tconst escaped = escapeParam(paramStartIndex.value++, chunk);\n\t\t\t\t\tchunk.codec = useCodecs ? (value) => codecs.apply(chunk.encoder, \"normalizeParam\", value) : void 0;\n\t\t\t\t\treturn {\n\t\t\t\t\t\tsql: useCodecs ? codecs.apply(chunk.encoder, \"castParam\", escaped) : escaped,\n\t\t\t\t\t\tparams: [chunk]\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tlet mappedValue;\n\t\t\t\tif (chunk.value === null) mappedValue = chunk.value;\n\t\t\t\telse {\n\t\t\t\t\tmappedValue = chunk.encoder.mapToDriverValue.isNoop ? chunk.value : chunk.encoder.mapToDriverValue(chunk.value);\n\t\t\t\t\tif (is(mappedValue, SQL)) return this.buildQueryFromSourceParams([mappedValue], config);\n\t\t\t\t\tif (useCodecs) mappedValue = codecs.apply(chunk.encoder, \"normalizeParam\", mappedValue);\n\t\t\t\t}\n\t\t\t\tif (inlineParams) return {\n\t\t\t\t\tsql: this.mapInlineParam(mappedValue, config),\n\t\t\t\t\tparams: []\n\t\t\t\t};\n\t\t\t\tconst escaped = escapeParam(paramStartIndex.value++, mappedValue);\n\t\t\t\treturn {\n\t\t\t\t\tsql: useCodecs ? codecs.apply(chunk.encoder, \"castParam\", escaped) : escaped,\n\t\t\t\t\tparams: [mappedValue]\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (is(chunk, Placeholder)) return {\n\t\t\t\tsql: escapeParam(paramStartIndex.value++, chunk),\n\t\t\t\tparams: [chunk]\n\t\t\t};\n\t\t\tif (is(chunk, SQL.Aliased) && chunk.fieldAlias !== void 0) return {\n\t\t\t\tsql: (chunk.origin !== void 0 ? escapeName(chunk.origin) + \".\" : \"\") + escapeName(chunk.fieldAlias),\n\t\t\t\tparams: []\n\t\t\t};\n\t\t\tif (is(chunk, Subquery)) {\n\t\t\t\tif (chunk._.isWith) return {\n\t\t\t\t\tsql: escapeName(chunk._.alias),\n\t\t\t\t\tparams: []\n\t\t\t\t};\n\t\t\t\treturn this.buildQueryFromSourceParams([\n\t\t\t\t\tnew StringChunk(\"(\"),\n\t\t\t\t\tchunk._.sql,\n\t\t\t\t\tnew StringChunk(\") \"),\n\t\t\t\t\tnew Name(chunk._.alias)\n\t\t\t\t], config);\n\t\t\t}\n\t\t\tif (typeof chunk === \"function\" && \"enumName\" in chunk) {\n\t\t\t\tif (\"schema\" in chunk && chunk.schema) return {\n\t\t\t\t\tsql: escapeName(chunk.schema) + \".\" + escapeName(chunk.enumName),\n\t\t\t\t\tparams: []\n\t\t\t\t};\n\t\t\t\treturn {\n\t\t\t\t\tsql: escapeName(chunk.enumName),\n\t\t\t\t\tparams: []\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (isSQLWrapper(chunk)) {\n\t\t\t\tif (chunk.shouldOmitSQLParens?.()) return this.buildQueryFromSourceParams([chunk.getSQL()], config);\n\t\t\t\treturn this.buildQueryFromSourceParams([\n\t\t\t\t\tnew StringChunk(\"(\"),\n\t\t\t\t\tchunk.getSQL(),\n\t\t\t\t\tnew StringChunk(\")\")\n\t\t\t\t], config);\n\t\t\t}\n\t\t\tif (inlineParams) return {\n\t\t\t\tsql: this.mapInlineParam(chunk, config),\n\t\t\t\tparams: []\n\t\t\t};\n\t\t\treturn {\n\t\t\t\tsql: escapeParam(paramStartIndex.value++, chunk),\n\t\t\t\tparams: [chunk]\n\t\t\t};\n\t\t});\n\t\tif (_config.tagged) return _mergeQueries(mappedChunks);\n\t\treturn mergeQueries(mappedChunks);\n\t}\n\tmapInlineParam(chunk, { escapeString }) {\n\t\tif (chunk === null) return \"null\";\n\t\tif (typeof chunk === \"number\" || typeof chunk === \"boolean\" || typeof chunk === \"bigint\") return chunk.toString();\n\t\tif (typeof chunk === \"string\") return escapeString(chunk);\n\t\tif (typeof chunk === \"object\") {\n\t\t\tconst mappedValueAsString = chunk.toString();\n\t\t\tif (mappedValueAsString === \"[object Object]\") return escapeString(JSON.stringify(chunk));\n\t\t\treturn escapeString(mappedValueAsString);\n\t\t}\n\t\tthrow new Error(\"Unexpected param value: \" + chunk);\n\t}\n\tgetSQL() {\n\t\treturn this;\n\t}\n\tas(alias) {\n\t\tif (alias === void 0) return this;\n\t\treturn new SQL.Aliased(this, alias);\n\t}\n\tmapWith(decoder) {\n\t\tthis.decoder = typeof decoder === \"function\" ? { mapFromDriverValue: decoder } : decoder;\n\t\treturn this;\n\t}\n\tinlineParams() {\n\t\tthis.shouldInlineParams = true;\n\t\treturn this;\n\t}\n\t/**\n\t* This method is used to conditionally include a part of the query.\n\t*\n\t* @param condition - Condition to check\n\t* @returns itself if the condition is `true`, otherwise `undefined`\n\t*/\n\tif(condition) {\n\t\treturn condition ? this : void 0;\n\t}\n};\n/**\n* Any DB name (table, column, index etc.)\n*/\nvar Name = class {\n\tstatic [entityKind] = \"Name\";\n\tbrand;\n\tconstructor(value) {\n\t\tthis.value = value;\n\t}\n\tgetSQL() {\n\t\treturn new SQL([this]);\n\t}\n};\n/**\n* Any DB name (table, column, index etc.)\n* @deprecated Use `sql.identifier` instead.\n*/\nfunction name(value) {\n\treturn new Name(value);\n}\nfunction isDriverValueEncoder(value) {\n\treturn typeof value === \"object\" && value !== null && \"mapToDriverValue\" in value && typeof value.mapToDriverValue === \"function\";\n}\nconst noopDecoder = { mapFromDriverValue: (value) => value };\nnoopDecoder.mapFromDriverValue.isNoop = true;\nconst noopEncoder = { mapToDriverValue: (value) => value };\nnoopEncoder.mapToDriverValue.isNoop = true;\nfunction isNoop(mapper) {\n\treturn mapper.isNoop;\n}\nconst noopMapper = {\n\t...noopDecoder,\n\t...noopEncoder\n};\n/** Parameter value that is optionally bound to an encoder (for example, a column). */\nvar Param = class {\n\tstatic [entityKind] = \"Param\";\n\tbrand;\n\t/**\n\t* @param value - Parameter value\n\t* @param encoder - Encoder to convert the value to a driver parameter\n\t*/\n\tconstructor(value, encoder = noopEncoder, codec) {\n\t\tthis.value = value;\n\t\tthis.encoder = encoder;\n\t\tthis.codec = codec;\n\t}\n\tgetSQL() {\n\t\treturn new SQL([this]);\n\t}\n};\n/** @deprecated Use `sql.param` instead. */\nfunction param(value, encoder) {\n\treturn new Param(value, encoder);\n}\nfunction sql(strings, ...params) {\n\tconst queryChunks = [];\n\tif (params.length > 0 || strings.length > 0 && strings[0] !== \"\") queryChunks.push(new StringChunk(strings[0]));\n\tfor (const [paramIndex, param] of params.entries()) queryChunks.push(param, new StringChunk(strings[paramIndex + 1]));\n\treturn new SQL(queryChunks);\n}\n(function(_sql) {\n\tfunction empty() {\n\t\treturn new SQL([]);\n\t}\n\t_sql.empty = empty;\n\tfunction fromList(list) {\n\t\treturn new SQL(list);\n\t}\n\t_sql.fromList = fromList;\n\tfunction raw(str) {\n\t\treturn new SQL([new StringChunk(str)]);\n\t}\n\t_sql.raw = raw;\n\tfunction join(chunks, separator) {\n\t\tconst result = [];\n\t\tfor (const [i, chunk] of chunks.entries()) {\n\t\t\tif (i > 0 && separator !== void 0) result.push(separator);\n\t\t\tresult.push(chunk);\n\t\t}\n\t\treturn new SQL(result);\n\t}\n\t_sql.join = join;\n\tfunction identifier(value) {\n\t\treturn new Name(value);\n\t}\n\t_sql.identifier = identifier;\n\tfunction placeholder(name) {\n\t\treturn new Placeholder(name);\n\t}\n\t_sql.placeholder = placeholder;\n\tfunction param(value, encoder) {\n\t\treturn new Param(value, encoder);\n\t}\n\t_sql.param = param;\n\tfunction comment(input) {\n\t\tconst encoded = sqlCommenter(input);\n\t\tif (!encoded.length) return void 0;\n\t\treturn sql.raw(encoded);\n\t}\n\t_sql.comment = comment;\n})(sql || (sql = {}));\nfunction sqlCommenter(input) {\n\tconst encoded = sqlCommenter.encodeInput(input);\n\tif (!encoded.length) return \"\";\n\treturn `/*${encoded}*/`;\n}\n(function(_sqlCommenter) {\n\tfunction merge(input1, input2) {\n\t\tlet encoded;\n\t\tif (typeof input1 === \"object\" && typeof input2 === \"object\") encoded = encodeInput({\n\t\t\t...input1,\n\t\t\t...input2\n\t\t});\n\t\telse if (input1 && input2) encoded = [encodeInput(input1), encodeInput(input2)].filter((i) => i.length).join(\",\");\n\t\telse if (input2) encoded = encodeInput(input2);\n\t\telse if (input1) encoded = encodeInput(input1);\n\t\telse return \"\";\n\t\tif (!encoded.length) return \"\";\n\t\treturn `/*${encoded}*/`;\n\t}\n\t_sqlCommenter.merge = merge;\n\tfunction encodeInput(input) {\n\t\tif (typeof input === \"string\") {\n\t\t\tif (!input.length) return input;\n\t\t\treturn sanitizeStringInput(input);\n\t\t}\n\t\tconst parts = [];\n\t\tfor (const [key, value] of Object.entries(input)) {\n\t\t\tif (value === null || value === void 0 || value === \"\") continue;\n\t\t\tconst encodedKey = sanitizeObjectElement(key);\n\t\t\tconst encodedValue = sanitizeObjectElement(String(value));\n\t\t\tparts.push(`${encodedKey}='${encodedValue}'`);\n\t\t}\n\t\tif (!parts.length) return \"\";\n\t\treturn parts.sort().join(\",\");\n\t}\n\t_sqlCommenter.encodeInput = encodeInput;\n\tfunction sanitizeObjectElement(key) {\n\t\treturn encodeURIComponent(key).replace(/'/g, `\\\\'`);\n\t}\n\t_sqlCommenter.sanitizeObjectElement = sanitizeObjectElement;\n\tfunction sanitizeStringInput(input) {\n\t\treturn input.replace(/\\/\\*/g, \"/ *\").replace(/\\*\\//g, \"* /\");\n\t}\n\t_sqlCommenter.sanitizeStringInput = sanitizeStringInput;\n})(sqlCommenter || (sqlCommenter = {}));\n(function(_SQL) {\n\tclass Aliased {\n\t\tstatic [entityKind] = \"SQL.Aliased\";\n\t\t/** @internal */\n\t\tisSelectionField = false;\n\t\t/** @internal */\n\t\torigin;\n\t\tconstructor(sql, fieldAlias) {\n\t\t\tthis.sql = sql;\n\t\t\tthis.fieldAlias = fieldAlias;\n\t\t}\n\t\tgetSQL() {\n\t\t\treturn this.sql;\n\t\t}\n\t\t/** @internal */\n\t\tclone() {\n\t\t\treturn new Aliased(this.sql, this.fieldAlias);\n\t\t}\n\t}\n\t_SQL.Aliased = Aliased;\n})(SQL || (SQL = {}));\nvar Placeholder = class {\n\tstatic [entityKind] = \"Placeholder\";\n\tconstructor(name) {\n\t\tthis.name = name;\n\t}\n\tgetSQL() {\n\t\treturn new SQL([this]);\n\t}\n};\n/** @deprecated Use `sql.placeholder` instead. */\nfunction placeholder(name) {\n\treturn new Placeholder(name);\n}\nfunction fillPlaceholders(params, values) {\n\treturn params.map((p) => {\n\t\tif (is(p, Placeholder)) {\n\t\t\tif (!(p.name in values)) throw new Error(`No value for placeholder \"${p.name}\" was provided`);\n\t\t\treturn values[p.name];\n\t\t}\n\t\tif (is(p, Param) && is(p.value, Placeholder)) {\n\t\t\tif (!(p.value.name in values)) throw new Error(`No value for placeholder \"${p.value.name}\" was provided`);\n\t\t\tif (values[p.value.name] === null) return values[p.value.name];\n\t\t\tconst mapped = p.encoder.mapToDriverValue.isNoop ? values[p.value.name] : p.encoder.mapToDriverValue(values[p.value.name]);\n\t\t\treturn p.codec ? p.codec(mapped) : mapped;\n\t\t}\n\t\treturn p;\n\t});\n}\nconst IsDrizzleView = Symbol.for(\"drizzle:IsDrizzleView\");\nvar View = class {\n\tstatic [entityKind] = \"View\";\n\t/** @internal */\n\t[ViewBaseConfig];\n\t/** @internal */\n\t[IsDrizzleView] = true;\n\t/** @internal */\n\tget [TableName]() {\n\t\treturn this[ViewBaseConfig].name;\n\t}\n\t/** @internal */\n\tget [TableSchema]() {\n\t\treturn this[ViewBaseConfig].schema;\n\t}\n\t/** @internal */\n\tget [IsAlias]() {\n\t\treturn this[ViewBaseConfig].isAlias;\n\t}\n\t/** @internal */\n\tget [OriginalName]() {\n\t\treturn this[ViewBaseConfig].originalName;\n\t}\n\t/** @internal */\n\tget [TableColumns]() {\n\t\treturn this[ViewBaseConfig].selectedFields;\n\t}\n\tconstructor({ name, schema, selectedFields, query }) {\n\t\tthis[ViewBaseConfig] = {\n\t\t\tname,\n\t\t\toriginalName: name,\n\t\t\tschema,\n\t\t\tselectedFields,\n\t\t\tquery,\n\t\t\tisExisting: !query,\n\t\t\tisAlias: false\n\t\t};\n\t}\n};\nfunction isView(view) {\n\treturn typeof view === \"object\" && view !== null && IsDrizzleView in view;\n}\nfunction getViewName(view) {\n\treturn view[ViewBaseConfig].name;\n}\nColumn.prototype.getSQL = function() {\n\treturn new SQL([this]);\n};\nSubquery.prototype.getSQL = function() {\n\treturn new SQL([this]);\n};\n\n//#endregion\nexport { FakePrimitiveParam, Name, Param, Placeholder, SQL, StringChunk, View, fillPlaceholders, getViewName, isDriverValueEncoder, isNoop, isSQLWrapper, isView, name, noopDecoder, noopEncoder, noopMapper, param, placeholder, sql, sqlCommenter };\n//# sourceMappingURL=sql.js.map", | ||
| "import { Param, Placeholder, SQL, StringChunk, View, isDriverValueEncoder, isSQLWrapper, sql } from \"../sql.js\";\nimport { is } from \"../../entity.js\";\nimport { Table } from \"../../table.js\";\nimport { Column } from \"../../column.js\";\n\n//#region src/sql/expressions/conditions.ts\nfunction bindIfParam(value, column) {\n\tif (isDriverValueEncoder(column) && !isSQLWrapper(value) && !is(value, Param) && !is(value, Placeholder) && !is(value, Column) && !is(value, Table) && !is(value, View)) return new Param(value, column);\n\treturn value;\n}\n/**\n* Test that two values are equal.\n*\n* Remember that the SQL standard dictates that\n* two NULL values are not equal, so if you want to test\n* whether a value is null, you may want to use\n* `isNull` instead.\n*\n* ## Examples\n*\n* ```ts\n* // Select cars made by Ford\n* db.select().from(cars)\n* .where(eq(cars.make, 'Ford'))\n* ```\n*\n* @see isNull for a way to test equality to NULL.\n*/\nconst eq = (left, right) => {\n\treturn sql`${left} = ${bindIfParam(right, left)}`;\n};\n/**\n* Test that two values are not equal.\n*\n* Remember that the SQL standard dictates that\n* two NULL values are not equal, so if you want to test\n* whether a value is not null, you may want to use\n* `isNotNull` instead.\n*\n* ## Examples\n*\n* ```ts\n* // Select cars not made by Ford\n* db.select().from(cars)\n* .where(ne(cars.make, 'Ford'))\n* ```\n*\n* @see isNotNull for a way to test whether a value is not null.\n*/\nconst ne = (left, right) => {\n\treturn sql`${left} <> ${bindIfParam(right, left)}`;\n};\nfunction and(...unfilteredConditions) {\n\tconst conditions = unfilteredConditions.filter((c) => c !== void 0);\n\tif (conditions.length === 0) return;\n\tif (conditions.length === 1) return new SQL(conditions);\n\treturn new SQL([\n\t\tnew StringChunk(\"(\"),\n\t\tsql.join(conditions.map((c) => sql`(${c})`), new StringChunk(\" and \")),\n\t\tnew StringChunk(\")\")\n\t]);\n}\nfunction or(...unfilteredConditions) {\n\tconst conditions = unfilteredConditions.filter((c) => c !== void 0);\n\tif (conditions.length === 0) return;\n\tif (conditions.length === 1) return new SQL(conditions);\n\treturn new SQL([\n\t\tnew StringChunk(\"(\"),\n\t\tsql.join(conditions.map((c) => sql`(${c})`), new StringChunk(\" or \")),\n\t\tnew StringChunk(\")\")\n\t]);\n}\n/**\n* Negate the meaning of an expression using the `not` keyword.\n*\n* ## Examples\n*\n* ```ts\n* // Select cars _not_ made by GM or Ford.\n* db.select().from(cars)\n* .where(not(inArray(cars.make, ['GM', 'Ford'])))\n* ```\n*/\nfunction not(condition) {\n\treturn is(condition, SQL) ? sql`not (${condition})` : sql`not ${condition}`;\n}\n/**\n* Test that the first expression passed is greater than\n* the second expression.\n*\n* ## Examples\n*\n* ```ts\n* // Select cars made after 2000.\n* db.select().from(cars)\n* .where(gt(cars.year, 2000))\n* ```\n*\n* @see gte for greater-than-or-equal\n*/\nconst gt = (left, right) => {\n\treturn sql`${left} > ${bindIfParam(right, left)}`;\n};\n/**\n* Test that the first expression passed is greater than\n* or equal to the second expression. Use `gt` to\n* test whether an expression is strictly greater\n* than another.\n*\n* ## Examples\n*\n* ```ts\n* // Select cars made on or after 2000.\n* db.select().from(cars)\n* .where(gte(cars.year, 2000))\n* ```\n*\n* @see gt for a strictly greater-than condition\n*/\nconst gte = (left, right) => {\n\treturn sql`${left} >= ${bindIfParam(right, left)}`;\n};\n/**\n* Test that the first expression passed is less than\n* the second expression.\n*\n* ## Examples\n*\n* ```ts\n* // Select cars made before 2000.\n* db.select().from(cars)\n* .where(lt(cars.year, 2000))\n* ```\n*\n* @see lte for less-than-or-equal\n*/\nconst lt = (left, right) => {\n\treturn sql`${left} < ${bindIfParam(right, left)}`;\n};\n/**\n* Test that the first expression passed is less than\n* or equal to the second expression.\n*\n* ## Examples\n*\n* ```ts\n* // Select cars made before 2000.\n* db.select().from(cars)\n* .where(lte(cars.year, 2000))\n* ```\n*\n* @see lt for a strictly less-than condition\n*/\nconst lte = (left, right) => {\n\treturn sql`${left} <= ${bindIfParam(right, left)}`;\n};\nfunction inArray(column, values) {\n\tif (Array.isArray(values)) {\n\t\tif (values.length === 0) return sql`false`;\n\t\treturn sql`${column} in ${values.map((v) => bindIfParam(v, column))}`;\n\t}\n\treturn sql`${column} in ${bindIfParam(values, column)}`;\n}\nfunction notInArray(column, values) {\n\tif (Array.isArray(values)) {\n\t\tif (values.length === 0) return sql`true`;\n\t\treturn sql`${column} not in ${values.map((v) => bindIfParam(v, column))}`;\n\t}\n\treturn sql`${column} not in ${bindIfParam(values, column)}`;\n}\n/**\n* Test whether an expression is NULL. By the SQL standard,\n* NULL is neither equal nor not equal to itself, so\n* it's recommended to use `isNull` and `notIsNull` for\n* comparisons to NULL.\n*\n* ## Examples\n*\n* ```ts\n* // Select cars that have no discontinuedAt date.\n* db.select().from(cars)\n* .where(isNull(cars.discontinuedAt))\n* ```\n*\n* @see isNotNull for the inverse of this test\n*/\nfunction isNull(value) {\n\treturn sql`(${value} is null)`;\n}\n/**\n* Test whether an expression is not NULL. By the SQL standard,\n* NULL is neither equal nor not equal to itself, so\n* it's recommended to use `isNull` and `notIsNull` for\n* comparisons to NULL.\n*\n* ## Examples\n*\n* ```ts\n* // Select cars that have been discontinued.\n* db.select().from(cars)\n* .where(isNotNull(cars.discontinuedAt))\n* ```\n*\n* @see isNull for the inverse of this test\n*/\nfunction isNotNull(value) {\n\treturn sql`(${value} is not null)`;\n}\n/**\n* Test whether a subquery evaluates to have any rows.\n*\n* ## Examples\n*\n* ```ts\n* // Users whose `homeCity` column has a match in a cities\n* // table.\n* db\n* .select()\n* .from(users)\n* .where(\n* exists(db.select()\n* .from(cities)\n* .where(eq(users.homeCity, cities.id))),\n* );\n* ```\n*\n* @see notExists for the inverse of this test\n*/\nfunction exists(subquery) {\n\treturn sql`exists ${subquery}`;\n}\n/**\n* Test whether a subquery doesn't include any result\n* rows.\n*\n* ## Examples\n*\n* ```ts\n* // Users whose `homeCity` column doesn't match\n* // a row in the cities table.\n* db\n* .select()\n* .from(users)\n* .where(\n* notExists(db.select()\n* .from(cities)\n* .where(eq(users.homeCity, cities.id))),\n* );\n* ```\n*\n* @see exists for the inverse of this test\n*/\nfunction notExists(subquery) {\n\treturn sql`not exists ${subquery}`;\n}\nfunction between(column, min, max) {\n\treturn sql`${column} between ${bindIfParam(min, column)} and ${bindIfParam(max, column)}`;\n}\nfunction notBetween(column, min, max) {\n\treturn sql`${column} not between ${bindIfParam(min, column)} and ${bindIfParam(max, column)}`;\n}\n/**\n* Compare a column to a pattern, which can include `%` and `_`\n* characters to match multiple variations. Including `%`\n* in the pattern matches zero or more characters, and including\n* `_` will match a single character.\n*\n* ## Examples\n*\n* ```ts\n* // Select all cars with 'Turbo' in their names.\n* db.select().from(cars)\n* .where(like(cars.name, '%Turbo%'))\n* ```\n*\n* @see ilike for a case-insensitive version of this condition\n*/\nfunction like(column, value) {\n\treturn sql`${column} like ${value}`;\n}\n/**\n* The inverse of like - this tests that a given column\n* does not match a pattern, which can include `%` and `_`\n* characters to match multiple variations. Including `%`\n* in the pattern matches zero or more characters, and including\n* `_` will match a single character.\n*\n* ## Examples\n*\n* ```ts\n* // Select all cars that don't have \"ROver\" in their name.\n* db.select().from(cars)\n* .where(notLike(cars.name, '%Rover%'))\n* ```\n*\n* @see like for the inverse condition\n* @see notIlike for a case-insensitive version of this condition\n*/\nfunction notLike(column, value) {\n\treturn sql`${column} not like ${value}`;\n}\n/**\n* Case-insensitively compare a column to a pattern,\n* which can include `%` and `_`\n* characters to match multiple variations. Including `%`\n* in the pattern matches zero or more characters, and including\n* `_` will match a single character.\n*\n* Unlike like, this performs a case-insensitive comparison.\n*\n* ## Examples\n*\n* ```ts\n* // Select all cars with 'Turbo' in their names.\n* db.select().from(cars)\n* .where(ilike(cars.name, '%Turbo%'))\n* ```\n*\n* @see like for a case-sensitive version of this condition\n*/\nfunction ilike(column, value) {\n\treturn sql`${column} ilike ${value}`;\n}\n/**\n* The inverse of ilike - this case-insensitively tests that a given column\n* does not match a pattern, which can include `%` and `_`\n* characters to match multiple variations. Including `%`\n* in the pattern matches zero or more characters, and including\n* `_` will match a single character.\n*\n* ## Examples\n*\n* ```ts\n* // Select all cars that don't have \"Rover\" in their name.\n* db.select().from(cars)\n* .where(notLike(cars.name, '%Rover%'))\n* ```\n*\n* @see ilike for the inverse condition\n* @see notLike for a case-sensitive version of this condition\n*/\nfunction notIlike(column, value) {\n\treturn sql`${column} not ilike ${value}`;\n}\nfunction arrayContains(column, values) {\n\tif (Array.isArray(values)) {\n\t\tif (values.length === 0) throw new Error(\"arrayContains requires at least one value\");\n\t\tconst par = bindIfParam(values, column);\n\t\treturn sql`${column} @> ${sql`${Array.isArray(par) ? new Param(par) : par}`}`;\n\t}\n\treturn sql`${column} @> ${bindIfParam(values, column)}`;\n}\nfunction arrayContained(column, values) {\n\tif (Array.isArray(values)) {\n\t\tif (values.length === 0) throw new Error(\"arrayContained requires at least one value\");\n\t\tconst par = bindIfParam(values, column);\n\t\treturn sql`${column} <@ ${sql`${Array.isArray(par) ? new Param(par) : par}`}`;\n\t}\n\treturn sql`${column} <@ ${bindIfParam(values, column)}`;\n}\nfunction arrayOverlaps(column, values) {\n\tif (Array.isArray(values)) {\n\t\tif (values.length === 0) throw new Error(\"arrayOverlaps requires at least one value\");\n\t\tconst par = bindIfParam(values, column);\n\t\treturn sql`${column} && ${sql`${Array.isArray(par) ? new Param(par) : par}`}`;\n\t}\n\treturn sql`${column} && ${bindIfParam(values, column)}`;\n}\n\n//#endregion\nexport { and, arrayContained, arrayContains, arrayOverlaps, between, bindIfParam, eq, exists, gt, gte, ilike, inArray, isNotNull, isNull, like, lt, lte, ne, not, notBetween, notExists, notIlike, notInArray, notLike, or };\n//# sourceMappingURL=conditions.js.map", | ||
| "import { sql } from \"../sql.js\";\n\n//#region src/sql/expressions/select.ts\n/**\n* Used in sorting, this specifies that the given\n* column or expression should be sorted in ascending\n* order. By the SQL standard, ascending order is the\n* default, so it is not usually necessary to specify\n* ascending sort order.\n*\n* ## Examples\n*\n* ```ts\n* // Return cars, starting with the oldest models\n* // and going in ascending order to the newest.\n* db.select().from(cars)\n* .orderBy(asc(cars.year));\n* ```\n*\n* @see desc to sort in descending order\n*/\nfunction asc(column) {\n\treturn sql`${column} asc`;\n}\n/**\n* Used in sorting, this specifies that the given\n* column or expression should be sorted in descending\n* order.\n*\n* ## Examples\n*\n* ```ts\n* // Select users, with the most recently created\n* // records coming first.\n* db.select().from(users)\n* .orderBy(desc(users.createdAt));\n* ```\n*\n* @see asc to sort in ascending order\n*/\nfunction desc(column) {\n\treturn sql`${column} desc`;\n}\n\n//#endregion\nexport { asc, desc };\n//# sourceMappingURL=select.js.map" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "27A64E13D4843D2664756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "F946B771D95D43E164756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["src/commands/handlers/mcp/resolve.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { OpencodeClient } from \"@opencode-ai/sdk/v2/client\"\n\n// Resolve through the MCP-owned integrationID rather than matching integration names: the shared\n// integration registry also holds provider/plugin integrations, whose names could collide with a server.\n// Fails when the server is unknown; returns undefined when the server has no integration (e.g. a local\n// or anonymous server), leaving that case for the caller to interpret.\nexport const resolveIntegration = (client: OpencodeClient, name: string, location: { directory: string }) =>\n Effect.gen(function* () {\n const servers = yield* Effect.promise(() => client.v2.mcp.list({ location }))\n const server = (servers.data?.data ?? []).find((entry) => entry.name === name)\n if (!server) return yield* Effect.fail(new Error(`MCP server not found: ${name}`))\n const integrationID = server.integrationID\n if (!integrationID) return undefined\n const found = yield* Effect.promise(() => client.v2.integration.get({ integrationID, location }))\n return found.data?.data\n })\n" | ||
| ], | ||
| "mappings": ";oDAOO,IAAM,EAAqB,CAAC,EAAwB,EAAc,IACvE,EAAO,IAAI,SAAU,EAAG,CAEtB,IAAM,IADU,MAAO,EAAO,QAAQ,IAAM,EAAO,GAAG,IAAI,KAAK,CAAE,UAAS,CAAC,CAAC,GACpD,MAAM,MAAQ,CAAC,GAAG,KAAK,CAAC,IAAU,EAAM,OAAS,CAAI,EAC7E,GAAI,CAAC,EAAQ,OAAO,MAAO,EAAO,KAAS,MAAM,yBAAyB,GAAM,CAAC,EACjF,IAAM,EAAgB,EAAO,cAC7B,GAAI,CAAC,EAAe,OAEpB,OADc,MAAO,EAAO,QAAQ,IAAM,EAAO,GAAG,YAAY,IAAI,CAAE,gBAAe,UAAS,CAAC,CAAC,GACnF,MAAM,KACpB", | ||
| "debugId": "4A3197854649DBF464756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "194BFCE73C1EB76F64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "2423E0CE17511D2064756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "E3E638146C8030F164756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "161ED004F81377E664756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/effect/layer-node.ts", "../core/src/effect/app-node.ts"], | ||
| "sourcesContent": [ | ||
| "import { Brand, Context, Layer } from \"effect\"\n\ntype AnyNode = Node<unknown, unknown, any>\ntype RuntimeLayer = Layer.Layer<never, unknown, unknown>\ntype NodeList<Item extends AnyNode = AnyNode> = readonly [] | readonly [Item, ...Item[]]\nexport type Output<Item> = [Item] extends [never] ? never : Item extends Node<infer A, unknown, any> ? A : never\nexport type Error<Item> = [Item] extends [never] ? never : Item extends Node<unknown, infer E, any> ? E : never\ntype NodeTag<Item> = [Item] extends [never] ? undefined : Item extends Node<unknown, unknown, infer T> ? T : never\ntype Missing<Required, Dependencies extends NodeList> = Exclude<Required, Output<Dependencies[number]>>\ntype CheckDependencies<Implementation extends Layer.Any, Dependencies extends NodeList> = [\n Missing<Layer.Services<Implementation>, Dependencies>,\n] extends [never]\n ? unknown\n : { readonly \"Missing dependencies\": Missing<Layer.Services<Implementation>, Dependencies> }\ndeclare const $OutputType: unique symbol\ndeclare const $ErrorType: unique symbol\n\nexport type Tag<Name extends string = string> = Name & Brand.Brand<\"LayerNode.Tag\">\n\nconst makeTag = Brand.nominal<Tag>()\n\nexport interface Node<A, E = never, T extends Tag | undefined = undefined> {\n readonly kind: \"layer\" | \"unbound\" | \"group\"\n readonly name: string\n readonly service?: Context.Service.Any\n readonly implementation?: Layer.Any\n readonly dependencies: readonly AnyNode[]\n readonly tag?: T\n readonly [$OutputType]?: () => A\n readonly [$ErrorType]?: () => E\n}\n\ntype NodeIdentity =\n | { readonly service: Context.Service.Any; readonly name?: never }\n | { readonly name: string; readonly service?: never }\ntype DistributiveOmit<A, K extends PropertyKey> = A extends unknown ? Omit<A, K> : never\n\nexport type TagConfig = Readonly<Record<string, readonly string[]>>\ntype TagNames<Config extends TagConfig> = keyof Config & string\ntype NodeInTags<Names extends string> = Node<unknown, unknown, Tag<Names> | undefined>\ntype CheckTags<Items extends NodeList, Names extends string> = [Exclude<Items[number], NodeInTags<Names>>] extends [\n never,\n]\n ? unknown\n : { readonly \"Invalid tag dependencies\": Exclude<Items[number], NodeInTags<Names>> }\n\nexport interface Tags<Config extends TagConfig> {\n readonly values: { readonly [Name in TagNames<Config>]: Tag<Name> }\n readonly make: <Name extends TagNames<Config>>(\n name: Name,\n ) => <const Implementation extends Layer.Any, const Items extends NodeList>(\n input: DistributiveOmit<MakeInput<Implementation, Items, Tag<Name>>, \"tag\"> &\n CheckTags<Items, Name | Extract<Config[Name][number], string>>,\n ) => Node<Layer.Success<Implementation>, Layer.Error<Implementation> | Error<Items[number]>, Tag<Name>>\n}\n\nexport function tags<const Config extends { readonly [Name in keyof Config]: readonly (keyof Config & string)[] }>(\n config: Config,\n): Tags<Config> {\n const names = Object.keys(config) as TagNames<Config>[]\n const values = Object.fromEntries(names.map((name) => [name, makeTag(name)])) as Tags<Config>[\"values\"]\n return {\n values,\n make: ((name: TagNames<Config>) => (input: DistributiveOmit<MakeInput<Layer.Any, NodeList, Tag>, \"tag\">) =>\n make({ ...input, tag: values[name] })) as Tags<Config>[\"make\"],\n }\n}\n\n// Nodes ---------------------------------------------------------------------\n\ntype MakeInput<\n Implementation extends Layer.Any,\n Items extends NodeList,\n T extends Tag | undefined = undefined,\n> = NodeIdentity & {\n readonly layer: Implementation\n readonly deps: Items & CheckDependencies<Implementation, NoInfer<Items>>\n readonly tag?: T\n}\n\nexport function make<\n const Implementation extends Layer.Any,\n const Items extends NodeList,\n const T extends Tag | undefined = undefined,\n>(\n input: MakeInput<Implementation, Items, T>,\n): Node<Layer.Success<Implementation>, Layer.Error<Implementation> | Error<Items[number]>, T> {\n return {\n kind: \"layer\",\n name: input.service !== undefined ? input.service.key : input.name,\n service: input.service,\n implementation: input.layer,\n dependencies: input.deps,\n tag: input.tag,\n }\n}\n\nexport function unbound<R, Shape, const T extends Tag>(service: Context.Key<R, Shape>, tag: T): Node<R, never, T> {\n return {\n kind: \"unbound\",\n name: service.key,\n service,\n dependencies: [],\n tag,\n }\n}\n\nexport function group<const Items extends readonly AnyNode[]>(\n dependencies: Items,\n): Node<Output<Items[number]>, Error<Items[number]>, NodeTag<Items[number]>> {\n return { kind: \"group\", name: \"group\", dependencies }\n}\n\nexport type Replacement = readonly [source: AnyNode, replacement: AnyNode | Layer.Any]\nexport type Replacements = readonly Replacement[]\n\ntype CheckReplacementErrors<SourceError, ReplacementError> = [Exclude<ReplacementError, SourceError>] extends [never]\n ? unknown\n : { readonly \"New replacement errors\": Exclude<ReplacementError, SourceError> }\n\ntype CheckReplacement<Item> = Item extends readonly [Node<infer A, infer E, infer T>, infer Replacement]\n ? Replacement extends Node<NoInfer<A>, infer E2, T>\n ? CheckReplacementErrors<E, NoInfer<E2>>\n : Replacement extends Layer.Layer<NoInfer<A>, infer E2, never>\n ? CheckReplacementErrors<E, NoInfer<E2>>\n : { readonly \"Invalid replacement\": Replacement }\n : { readonly \"Invalid replacement\": Item }\n\ntype CheckReplacements<Items extends Replacements> = {\n readonly [K in keyof Items]: CheckReplacement<Items[K]>\n}\n\ntype ValidReplacements<Items extends Replacements> = Items & CheckReplacements<Items>\n\nfunction replacementNode(source: AnyNode, replacement: AnyNode | Layer.Any) {\n const replacementNode = isNode(replacement)\n ? replacement\n : make({\n ...nodeMakeIdentity(source),\n layer: replacement as Layer.Layer<unknown, unknown>,\n deps: [],\n tag: source.tag,\n })\n if (source.name !== replacementNode.name) {\n throw new Error(`Cannot replace ${source.name} with ${replacementNode.name}`)\n }\n if (source.tag !== replacementNode.tag) {\n throw new Error(`Cannot replace ${source.name} across tags`)\n }\n return replacementNode\n}\n\nfunction nodeMakeIdentity(node: AnyNode): NodeIdentity {\n if (node.service !== undefined) return { service: node.service }\n return { name: node.name }\n}\n\nfunction isNode(input: Layer.Any | AnyNode): input is AnyNode {\n return \"kind\" in input && \"dependencies\" in input\n}\n\n// Tree -----------------------------------------------------------------------\n\ntype Visit<Result> = (node: AnyNode, context: VisitContext<Result>) => Result\n\ntype VisitContext<Result> = {\n readonly cache: Map<AnyNode, Result>\n readonly visit: (node: AnyNode) => Result\n}\n\nfunction walk<Result>(\n root: AnyNode,\n visit: Visit<Result>,\n options: {\n readonly cache?: Map<AnyNode, Result>\n readonly resolve?: (node: AnyNode) => AnyNode\n readonly detectCycles?: boolean\n } = {},\n) {\n const cache = options.cache ?? new Map<AnyNode, Result>()\n const visiting = new Set<AnyNode>()\n const stack: AnyNode[] = []\n\n const recur = (node: AnyNode): Result => {\n const target = options.resolve?.(node) ?? node\n const cached = cache.get(target)\n if (cached !== undefined || cache.has(target)) return cached!\n\n if (options.detectCycles !== false && visiting.has(target)) {\n const start = stack.indexOf(target)\n throw new Error(\n `Cycle detected in layer tree: ${[...stack.slice(start), target].map((item) => item.name).join(\" -> \")}`,\n )\n }\n\n visiting.add(target)\n stack.push(target)\n try {\n const result = visit(target, { cache, visit: recur })\n if (!cache.has(target)) cache.set(target, result)\n return result\n } finally {\n stack.pop()\n visiting.delete(target)\n }\n }\n\n return recur(root)\n}\n\nexport function hoist<A, E, T extends Tag, const Items extends Replacements = readonly []>(\n root: Node<A, E, any>,\n tag: T,\n replacements?: ValidReplacements<Items>,\n): {\n readonly node: Node<A, E>\n readonly hoisted: Node<unknown, E>\n} {\n const hoisted = new Map<string, AnyNode>()\n const replacementMap = replacementMapFrom(replacements)\n\n const node = walk<AnyNode>(\n root,\n (node, context) => {\n if (node.kind === \"group\") {\n return { ...node, dependencies: node.dependencies.map(context.visit) }\n }\n if (node.tag === tag) {\n const existing = hoisted.get(node.name)\n if (existing && existing.implementation !== node.implementation) {\n throw new Error(`Tag ${tag} has conflicting implementations for ${node.name}`)\n }\n hoisted.set(node.name, rewriteReplacementDependencies(node, replacementMap))\n return group([])\n }\n if (node.kind === \"unbound\") {\n return node\n }\n return { ...node, dependencies: node.dependencies.map(context.visit) }\n },\n { resolve: (node) => replacementMap.get(node.name) ?? node },\n )\n\n return {\n node: node as Node<A, E>,\n hoisted: group(Array.from(hoisted.values())) as Node<unknown, E>,\n }\n}\n\nexport function compile<A, E, const Items extends Replacements = readonly []>(\n root: Node<A, E, any>,\n replacements?: ValidReplacements<Items>,\n): Layer.Layer<A, E> {\n const replacementMap = replacementMapFrom(replacements)\n const cache = new Map<AnyNode, RuntimeLayer>()\n const compileNode = (node: AnyNode) =>\n walk<RuntimeLayer>(\n node,\n (node, context) => {\n if (node.kind === \"unbound\") throw new Error(`Unbound layer node: ${node.name}`)\n const dependencies = node.dependencies.flatMap(flatten).map(context.visit)\n const implementation = node.implementation! as RuntimeLayer\n return dependencies.length === 0\n ? implementation\n : implementation.pipe(Layer.provide(dependencies as [RuntimeLayer, ...RuntimeLayer[]]))\n },\n { cache, resolve: (node) => replacementMap.get(node.name) ?? node },\n )\n const layers = flatten(root).map((node) => compileNode(node))\n const layer = layers.reduce<RuntimeLayer>((result, layer) => layer.pipe(Layer.provideMerge(result)), Layer.empty)\n return layer as Layer.Layer<A, E>\n}\n\nfunction replacementMapFrom(replacements?: Replacements) {\n return (\n replacements?.reduce((map, [source, replacement]) => {\n const normalized = rewriteReplacementDependencies(replacementNode(source, replacement), map)\n const current = new Map([[source.name, normalized]])\n for (const [name, node] of map) map.set(name, rewriteReplacementDependencies(node, current))\n map.set(source.name, normalized)\n return map\n }, new Map<string, AnyNode>()) ?? new Map<string, AnyNode>()\n )\n}\n\nfunction rewriteReplacementDependencies(root: AnyNode, replacements: ReadonlyMap<string, AnyNode>) {\n if (replacements.size === 0) return root\n const cache = new Map<AnyNode, AnyNode>()\n const visiting = new Set<AnyNode>()\n const stack: AnyNode[] = []\n\n const recur = (node: AnyNode, isRoot = false): AnyNode => {\n const target = isRoot ? node : (replacements.get(node.name) ?? node)\n const cached = cache.get(target)\n if (cached !== undefined || cache.has(target)) return cached!\n if (visiting.has(target)) {\n const start = stack.indexOf(target)\n throw new Error(\n `Cycle detected in layer tree: ${[...stack.slice(start), target].map((item) => item.name).join(\" -> \")}`,\n )\n }\n\n visiting.add(target)\n stack.push(target)\n try {\n const dependencies = target.dependencies.map((dependency) => recur(dependency))\n const result = dependencies.every((dependency, index) => dependency === target.dependencies[index])\n ? target\n : { ...target, dependencies }\n cache.set(target, result)\n return result\n } finally {\n stack.pop()\n visiting.delete(target)\n }\n }\n\n return recur(root, true)\n}\n\nexport function hasUnbound(root: Node<unknown, unknown, any>, source: AnyNode): boolean {\n if (source.kind !== \"unbound\") throw new Error(`Cannot check non-unbound layer node: ${source.name}`)\n return walk<boolean>(root, (node, context) => {\n if (node === source) return true\n return node.dependencies.some(context.visit)\n })\n}\n\nfunction flatten(node: AnyNode): readonly AnyNode[] {\n return node.kind === \"group\" ? node.dependencies.flatMap(flatten) : [node]\n}\n\nexport * as LayerNode from \"./layer-node\"\n", | ||
| "import { LayerNode } from \"./layer-node\"\n\nexport const tags = LayerNode.tags({\n location: [\"global\"],\n global: [],\n})\n\nexport type GlobalNode<A, E = never> = LayerNode.Node<A, E, (typeof tags.values)[\"global\"]>\nexport type LocationNode<A, E = never> = LayerNode.Node<A, E, (typeof tags.values)[\"location\"]>\n\nexport const makeGlobalNode = tags.make(\"global\")\nexport const makeLocationNode = tags.make(\"location\")\n\nexport * as Node from \"./app-node\"\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "4723C57E016488CF64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260228203230_blue_harpoon.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260228203230_blue_harpoon\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`\n CREATE TABLE \\`account\\` (\n \\`id\\` text PRIMARY KEY,\n \\`email\\` text NOT NULL,\n \\`url\\` text NOT NULL,\n \\`access_token\\` text NOT NULL,\n \\`refresh_token\\` text NOT NULL,\n \\`token_expiry\\` integer,\n \\`selected_org_id\\` text,\n \\`time_created\\` integer NOT NULL,\n \\`time_updated\\` integer NOT NULL\n );\n `)\n yield* tx.run(`\n CREATE TABLE \\`account_state\\` (\n \\`id\\` integer PRIMARY KEY NOT NULL,\n \\`active_account_id\\` text,\n FOREIGN KEY (\\`active_account_id\\`) REFERENCES \\`account\\`(\\`id\\`) ON UPDATE no action ON DELETE set null\n );\n `)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,8BACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,4YAYb,EACD,MAAO,EAAG,IAAI,gQAMb,EACF,EAEL", | ||
| "debugId": "B5816FA270FE57B964756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "1AA60B9AE91994F764756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "5C1357249B3C04C864756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["src/commands/handlers/mcp/add.ts"], | ||
| "sourcesContent": [ | ||
| "import { EOL } from \"node:os\"\nimport path from \"node:path\"\nimport { Effect, Option } from \"effect\"\nimport { applyEdits, modify } from \"jsonc-parser\"\nimport { Global } from \"@opencode-ai/core/global\"\nimport { Commands } from \"../../commands\"\nimport { Runtime } from \"../../../framework/runtime\"\n\nexport default Runtime.handler(\n Commands.commands.mcp.commands.add,\n Effect.fn(\"cli.mcp.add\")(function* (input) {\n const url = Option.getOrUndefined(input.url)\n const headers = Option.getOrUndefined(input.header)\n const environment = Option.getOrUndefined(input.env)\n // The CLI framework strands `--` operands on the root command, so read the local server command\n // straight from argv after `--`. This also lets the command carry its own flags (e.g. `npx -y`).\n const dash = process.argv.indexOf(\"--\")\n const command = dash === -1 ? [...input.command] : process.argv.slice(dash + 1)\n\n const hasCommand = command.length > 0\n if (url && hasCommand)\n return yield* Effect.fail(new Error(\"Provide either --url <url> or a command after --, not both\"))\n if (!url && !hasCommand) return yield* Effect.fail(new Error(\"Provide either --url <url> or a command after --\"))\n if (url && !URL.canParse(url)) return yield* Effect.fail(new Error(`Invalid URL: ${url}`))\n if (url && environment) return yield* Effect.fail(new Error(\"--env is only valid for local MCP servers\"))\n if (hasCommand && headers) return yield* Effect.fail(new Error(\"--header is only valid for remote MCP servers\"))\n\n const server = url\n ? { type: \"remote\" as const, url, ...(headers ? { headers } : {}) }\n : { type: \"local\" as const, command, ...(environment ? { environment } : {}) }\n\n const configPath = yield* Effect.promise(() => resolveConfigPath(input.global ? Global.Path.config : process.cwd()))\n yield* Effect.promise(() => write(configPath, input.name, server))\n process.stdout.write(`MCP server \"${input.name}\" added to ${configPath}` + EOL)\n }),\n)\n\nasync function resolveConfigPath(directory: string) {\n const candidates = [\n path.join(directory, \"opencode.json\"),\n path.join(directory, \"opencode.jsonc\"),\n path.join(directory, \".opencode\", \"opencode.json\"),\n path.join(directory, \".opencode\", \"opencode.jsonc\"),\n ]\n for (const candidate of candidates) {\n if (await Bun.file(candidate).exists()) return candidate\n }\n return candidates[0]\n}\n\nasync function write(configPath: string, name: string, server: unknown) {\n const file = Bun.file(configPath)\n const text = (await file.exists()) ? await file.text() : \"{}\"\n const edits = modify(text, [\"mcp\", \"servers\", name], server, {\n formattingOptions: { tabSize: 2, insertSpaces: true },\n })\n await Bun.write(configPath, applyEdits(text, edits))\n}\n" | ||
| ], | ||
| "mappings": ";ucAAA,mBAAS,gBACT,yBAOA,SAAe,SAAQ,aACrB,OAAS,cAAS,SAAI,cAAS,IAC/B,EAAO,GAAG,aAAa,EAAE,SAAU,CAAC,EAAO,CACzC,IAAM,EAAM,EAAO,eAAe,EAAM,GAAG,EACrC,EAAU,EAAO,eAAe,EAAM,MAAM,EAC5C,EAAc,EAAO,eAAe,EAAM,GAAG,EAG7C,EAAO,QAAQ,KAAK,QAAQ,IAAI,EAChC,EAAU,IAAS,GAAK,CAAC,GAAG,EAAM,OAAO,EAAI,QAAQ,KAAK,MAAM,EAAO,CAAC,EAExE,EAAa,EAAQ,OAAS,EACpC,GAAI,GAAO,EACT,OAAO,MAAO,EAAO,KAAS,MAAM,4DAA4D,CAAC,EACnG,GAAI,CAAC,GAAO,CAAC,EAAY,OAAO,MAAO,EAAO,KAAS,MAAM,kDAAkD,CAAC,EAChH,GAAI,GAAO,CAAC,IAAI,SAAS,CAAG,EAAG,OAAO,MAAO,EAAO,KAAS,MAAM,gBAAgB,GAAK,CAAC,EACzF,GAAI,GAAO,EAAa,OAAO,MAAO,EAAO,KAAS,MAAM,2CAA2C,CAAC,EACxG,GAAI,GAAc,EAAS,OAAO,MAAO,EAAO,KAAS,MAAM,+CAA+C,CAAC,EAE/G,IAAM,EAAS,EACX,CAAE,KAAM,SAAmB,SAAS,EAAU,CAAE,SAAQ,EAAI,CAAC,CAAG,EAChE,CAAE,KAAM,QAAkB,aAAa,EAAc,CAAE,aAAY,EAAI,CAAC,CAAG,EAEzE,EAAa,MAAO,EAAO,QAAQ,IAAM,EAAkB,EAAM,OAAS,EAAO,KAAK,OAAS,QAAQ,IAAI,CAAC,CAAC,EACnH,MAAO,EAAO,QAAQ,IAAM,EAAM,EAAY,EAAM,KAAM,CAAM,CAAC,EACjE,QAAQ,OAAO,MAAM,eAAe,EAAM,kBAAkB,IAAe,CAAG,EAC/E,CACH,EAEA,eAAe,CAAiB,CAAC,EAAmB,CAClD,IAAM,EAAa,CACjB,EAAK,KAAK,EAAW,eAAe,EACpC,EAAK,KAAK,EAAW,gBAAgB,EACrC,EAAK,KAAK,EAAW,YAAa,eAAe,EACjD,EAAK,KAAK,EAAW,YAAa,gBAAgB,CACpD,EACA,QAAW,KAAa,EACtB,GAAI,MAAM,IAAI,KAAK,CAAS,EAAE,OAAO,EAAG,OAAO,EAEjD,OAAO,EAAW,GAGpB,eAAe,CAAK,CAAC,EAAoB,EAAc,EAAiB,CACtE,IAAM,EAAO,IAAI,KAAK,CAAU,EAC1B,EAAQ,MAAM,EAAK,OAAO,EAAK,MAAM,EAAK,KAAK,EAAI,KACnD,EAAQ,EAAO,EAAM,CAAC,MAAO,UAAW,CAAI,EAAG,EAAQ,CAC3D,kBAAmB,CAAE,QAAS,EAAG,aAAc,EAAK,CACtD,CAAC,EACD,MAAM,IAAI,MAAM,EAAY,EAAW,EAAM,CAAK,CAAC", | ||
| "debugId": "417B3D482962B05464756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@opentelemetry+resources@2.6.1+460773ef8ff1e07c/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/machine-id/getMachineId-linux.js"], | ||
| "sourcesContent": [ | ||
| "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getMachineId = void 0;\n/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nconst fs_1 = require(\"fs\");\nconst api_1 = require(\"@opentelemetry/api\");\nasync function getMachineId() {\n const paths = ['/etc/machine-id', '/var/lib/dbus/machine-id'];\n for (const path of paths) {\n try {\n const result = await fs_1.promises.readFile(path, { encoding: 'utf8' });\n return result.trim();\n }\n catch (e) {\n api_1.diag.debug(`error reading machine id: ${e}`);\n }\n }\n return undefined;\n}\nexports.getMachineId = getMachineId;\n//# sourceMappingURL=getMachineId-linux.js.map" | ||
| ], | ||
| "mappings": ";yHACA,YAAO,eAAe,EAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EACpD,eAAoB,OAK5B,IAAM,UACA,MACN,eAAe,CAAY,EAAG,CAC1B,IAAM,EAAQ,CAAC,kBAAmB,0BAA0B,EAC5D,QAAW,KAAQ,EACf,GAAI,CAEA,OADe,MAAM,EAAK,SAAS,SAAS,EAAM,CAAE,SAAU,MAAO,CAAC,GACxD,KAAK,EAEvB,MAAO,EAAG,CACN,EAAM,KAAK,MAAM,6BAA6B,GAAG,EAGzD,OAEI,eAAe", | ||
| "debugId": "589F7189B9FE966364756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260709013000_generic_session_input.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260709013000_generic_session_input\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`PRAGMA foreign_keys=OFF;`)\n yield* tx.run(`\n DELETE FROM \\`event\\`\n WHERE \\`type\\` IN ('session.prompt.admitted.1', 'session.prompt.promoted.1')\n AND json_extract(\\`data\\`, '$.inputID') IN (\n SELECT \\`id\\` FROM \\`session_input\\` WHERE \\`type\\` = 'prompt' AND \\`prompt\\` IS NULL\n );\n `)\n yield* tx.run(`\n CREATE TABLE \\`__new_session_input\\` (\n \\`id\\` text PRIMARY KEY,\n \\`session_id\\` text NOT NULL,\n \\`type\\` text NOT NULL,\n \\`data\\` text NOT NULL,\n \\`delivery\\` text,\n \\`admitted_seq\\` integer 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 INSERT INTO \\`__new_session_input\\`(\n \\`id\\`, \\`session_id\\`, \\`type\\`, \\`data\\`, \\`delivery\\`, \\`admitted_seq\\`, \\`promoted_seq\\`, \\`time_created\\`\n )\n SELECT\n \\`id\\`, \\`session_id\\`, CASE WHEN \\`type\\` = 'prompt' THEN 'user' ELSE \\`type\\` END,\n CASE WHEN \\`type\\` = 'prompt' THEN \\`prompt\\` ELSE '{}' END,\n \\`delivery\\`, \\`admitted_seq\\`, \\`promoted_seq\\`, \\`time_created\\`\n FROM \\`session_input\\`\n WHERE \\`type\\` != 'prompt' OR \\`prompt\\` IS NOT NULL;\n `)\n yield* tx.run(`DROP TABLE \\`session_input\\`;`)\n yield* tx.run(`ALTER TABLE \\`__new_session_input\\` RENAME TO \\`session_input\\`;`)\n yield* tx.run(`PRAGMA foreign_keys=ON;`)\n yield* tx.run(\n `CREATE INDEX \\`session_input_session_pending_delivery_seq_idx\\` ON \\`session_input\\` (\\`session_id\\`,\\`promoted_seq\\`,\\`delivery\\`,\\`admitted_seq\\`);`,\n )\n yield* tx.run(\n `CREATE UNIQUE INDEX \\`session_input_session_pending_compaction_idx\\` ON \\`session_input\\` (\\`session_id\\`) WHERE \\`type\\` = 'compaction' and \\`promoted_seq\\` is null;`,\n )\n yield* tx.run(\n `CREATE UNIQUE INDEX \\`session_input_session_admitted_seq_idx\\` ON \\`session_input\\` (\\`session_id\\`,\\`admitted_seq\\`);`,\n )\n yield* tx.run(\n `CREATE UNIQUE INDEX \\`session_input_session_promoted_seq_idx\\` ON \\`session_input\\` (\\`session_id\\`,\\`promoted_seq\\`);`,\n )\n yield* tx.run(`\n UPDATE \\`event\\`\n SET\n \\`type\\` = 'session.input.admitted.1',\n \\`data\\` = json_object(\n 'sessionID', json_extract(\\`data\\`, '$.sessionID'),\n 'inputID', json_extract(\\`data\\`, '$.inputID'),\n 'input', json_object(\n 'type', 'user',\n 'data', json_extract(\\`data\\`, '$.prompt'),\n 'delivery', json_extract(\\`data\\`, '$.delivery')\n )\n )\n WHERE \\`type\\` = 'session.prompt.admitted.1';\n `)\n yield* tx.run(`\n UPDATE \\`event\\`\n SET \\`type\\` = 'session.input.promoted.1'\n WHERE \\`type\\` = 'session.prompt.promoted.1';\n `)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,uCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,0BAA0B,EACxC,MAAO,EAAG,IAAI,0RAMb,EACD,MAAO,EAAG,IAAI,gfAYb,EACD,MAAO,EAAG,IAAI,sfAUb,EACD,MAAO,EAAG,IAAI,6BAA+B,EAC7C,MAAO,EAAG,IAAI,8DAAkE,EAChF,MAAO,EAAG,IAAI,yBAAyB,EACvC,MAAO,EAAG,IACR,2IACF,EACA,MAAO,EAAG,IACR,8JACF,EACA,MAAO,EAAG,IACR,gHACF,EACA,MAAO,EAAG,IACR,gHACF,EACA,MAAO,EAAG,IAAI,ogBAcb,EACD,MAAO,EAAG,IAAI,wIAIb,EACF,EAEL", | ||
| "debugId": "49A3A9DACFC7757464756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/bun-pty@0.4.8/node_modules/bun-pty/src/terminal.ts", "../../node_modules/.bun/bun-pty@0.4.8/node_modules/bun-pty/src/interfaces.ts", "../../node_modules/.bun/bun-pty@0.4.8/node_modules/bun-pty/src/index.ts", "../core/src/pty/pty.bun.ts"], | ||
| "sourcesContent": [ | ||
| "// terminal.ts — JS/TS front-end (final fixed version)\n\nimport { dlopen, FFIType, ptr } from \"bun:ffi\";\nimport { Buffer } from \"node:buffer\";\nimport { EventEmitter } from \"./interfaces\";\nimport type { IPty, IPtyForkOptions, IExitEvent } from \"./interfaces\";\nimport { join, dirname, basename } from \"node:path\";\nimport { existsSync } from \"node:fs\";\n\nexport const DEFAULT_COLS = 80;\nexport const DEFAULT_ROWS = 24;\nexport const DEFAULT_FILE = \"sh\";\nexport const DEFAULT_NAME = \"xterm\";\n\n/**\n * Quote a string for shell-words compatible splitting on the Rust side.\n * We are not invoking a shell; quoting is only to preserve token boundaries\n * when Rust parses the command line with shell_words::split.\n * \n * @param s - The string to quote\n * @returns The quoted string\n */\nfunction shQuote(s: string): string {\n\tif (s.length === 0) return \"''\";\n\t// Replace ' with '\\'' (close-quote, escaped ', reopen)\n\treturn `'${s.replace(/'/g, `'\\\\''`)}'`;\n}\n\n// terminal.ts – loader fragment only\n\nfunction resolveLibPath(): string {\n\tconst env = process.env.BUN_PTY_LIB;\n\tif (env && existsSync(env)) return env;\n\n\t// For bun compile: use statically analyzable require with inline ternary.\n\t// Bun evaluates process.platform and process.arch at compile time and only\n\t// bundles the file for the target platform. The ternary MUST be inline\n\t// in the template literal for Bun's static analysis to work.\n\t// See: https://github.com/sursaone/bun-pty/issues/19\n\ttry {\n\t\t// @ts-ignore - require returns path for binary files in Bun\n\t\tconst embeddedPath = require(`../rust-pty/target/release/${process.platform === \"win32\" ? \"rust_pty.dll\" : process.platform === \"darwin\" ? (process.arch === \"arm64\" ? \"librust_pty_arm64.dylib\" : \"librust_pty.dylib\") : process.arch === \"arm64\" ? \"librust_pty_arm64.so\" : \"librust_pty.so\"}`);\n\t\tif (embeddedPath) return embeddedPath;\n\t} catch {\n\t\t// Not running as compiled binary, fall through to dynamic resolution\n\t}\n\n\t// Fallback: dynamic resolution for development scenarios\n\tconst platform = process.platform;\n\tconst arch = process.arch;\n\n\t// Try both architecture-specific and generic filenames\n\tconst filenames =\n\t\tplatform === \"darwin\"\n\t\t\t? arch === \"arm64\"\n\t\t\t\t? [\"librust_pty_arm64.dylib\", \"librust_pty.dylib\"]\n\t\t\t\t: [\"librust_pty.dylib\"]\n\t\t\t: platform === \"win32\"\n\t\t\t? [\"rust_pty.dll\"]\n\t\t\t: arch === \"arm64\"\n\t\t\t? [\"librust_pty_arm64.so\", \"librust_pty.so\"]\n\t\t\t: [\"librust_pty.so\"];\n\n\t// Start from the current module's location\n\tconst base = Bun.fileURLToPath(import.meta.url);\n\tconst fileDir = dirname(base);\n\tconst dirName = basename(fileDir);\n\t\n\t// Handle both development (src/terminal.ts) and production (dist/terminal.js) cases\n\t// If we're in src/ or dist/, go up one level to get the project root\n\tconst here = (dirName === \"src\" || dirName === \"dist\")\n\t\t? dirname(fileDir) // Go up one level from src/ or dist/\n\t\t: fileDir; // Otherwise use the directory as-is\n\n\tconst basePaths = [\n\t\tjoin(here, \"rust-pty\", \"target\", \"release\"), // Direct path from project root\n\t\tjoin(here, \"..\", \"bun-pty\", \"rust-pty\", \"target\", \"release\"), // monorepo setups\n\t\tjoin(process.cwd(), \"node_modules\", \"bun-pty\", \"rust-pty\", \"target\", \"release\"),\n\t];\n\n\tconst fallbackPaths = [];\n\tfor (const basePath of basePaths) {\n\t\tfor (const filename of filenames) {\n\t\t\tfallbackPaths.push(join(basePath, filename));\n\t\t}\n\t}\n\n\tfor (const path of fallbackPaths) {\n\t\tif (existsSync(path)) return path;\n\t}\n\n\tthrow new Error(\n\t\t`librust_pty shared library not found.\\nChecked:\\n - BUN_PTY_LIB=${env ?? \"<unset>\"}\\n - ${fallbackPaths.join(\"\\n - \")}\\n\\nSet BUN_PTY_LIB or ensure one of these paths contains the file.`\n\t);\n}\n\nconst libPath = resolveLibPath();\n\n// biome-ignore lint/suspicious/noExplicitAny: <explanation>\nlet lib: any;\n\n// try to load the lib, if it fails log the error\ntry {\n\tlib = dlopen(libPath, {\n\t\tbun_pty_spawn: {\n\t\t\targs: [FFIType.cstring, FFIType.cstring, FFIType.cstring, FFIType.i32, FFIType.i32],\n\t\t\treturns: FFIType.i32,\n\t\t},\n\t\tbun_pty_write: {\n\t\t\targs: [FFIType.i32, FFIType.pointer, FFIType.i32],\n\t\t\treturns: FFIType.i32,\n\t\t},\n\t\tbun_pty_read: {\n\t\t\targs: [FFIType.i32, FFIType.pointer, FFIType.i32],\n\t\t\treturns: FFIType.i32,\n\t\t},\n\t\tbun_pty_resize: {\n\t\t\targs: [FFIType.i32, FFIType.i32, FFIType.i32],\n\t\t\treturns: FFIType.i32,\n\t\t},\n\t\tbun_pty_kill: { args: [FFIType.i32], returns: FFIType.i32 },\n\t\tbun_pty_get_pid: { args: [FFIType.i32], returns: FFIType.i32 },\n\t\tbun_pty_get_exit_code: { args: [FFIType.i32], returns: FFIType.i32 },\n\t\tbun_pty_close: { args: [FFIType.i32], returns: FFIType.void },\n\t});\n} catch (error) {\n\tconsole.error(\"Failed to load lib\", error);\n}\n\nexport class Terminal implements IPty {\n\tprivate handle = -1;\n\tprivate _pid = -1;\n\tprivate _cols = DEFAULT_COLS;\n\tprivate _rows = DEFAULT_ROWS;\n\tprivate readonly _name = DEFAULT_NAME;\n\n\tprivate _readLoop = false;\n\tprivate _closing = false;\n\n\t// TextDecoder with streaming mode to properly handle UTF-8 across chunk boundaries\n\t// Without this, multi-byte characters (like box-drawing ─) that span chunks become �\n\tprivate readonly _decoder = new TextDecoder(\"utf-8\");\n\n\tprivate readonly _onData = new EventEmitter<string>();\n\tprivate readonly _onExit = new EventEmitter<IExitEvent>();\n\n\tconstructor(\n\t\tfile = DEFAULT_FILE,\n\t\targs: string[] = [],\n\t\topts: IPtyForkOptions = { name: DEFAULT_NAME },\n\t) {\n\t\tthis._cols = opts.cols ?? DEFAULT_COLS;\n\t\tthis._rows = opts.rows ?? DEFAULT_ROWS;\n\t\tconst cwd = opts.cwd ?? process.cwd();\n\t\t// Properly quote file and arguments to preserve spaces and special characters\n\t\tconst cmdline = [shQuote(file), ...args.map(shQuote)].join(\" \");\n\n\t\t// Format environment variables as null-terminated string\n\t\tlet envStr = \"\";\n\t\tif (opts.env) {\n\t\t\tconst envPairs = Object.entries(opts.env).map(([k, v]) => `${k}=${v}`);\n\t\t\tenvStr = envPairs.join(\"\\0\") + \"\\0\";\n\t\t}\n\n\t\tthis.handle = lib.symbols.bun_pty_spawn(\n\t\t\tBuffer.from(`${cmdline}\\0`, \"utf8\"),\n\t\t\tBuffer.from(`${cwd}\\0`, \"utf8\"),\n\t\t\tBuffer.from(`${envStr}\\0`, \"utf8\"),\n\t\t\tthis._cols,\n\t\t\tthis._rows,\n\t\t);\n\t\tif (this.handle < 0) throw new Error(\"PTY spawn failed\");\n\n\t\tthis._pid = lib.symbols.bun_pty_get_pid(this.handle);\n\t\tthis._startReadLoop();\n\t}\n\n\t/* ------------- accessors ------------- */\n\n\tget pid() {\n\t\treturn this._pid;\n\t}\n\tget cols() {\n\t\treturn this._cols;\n\t}\n\tget rows() {\n\t\treturn this._rows;\n\t}\n\tget process() {\n\t\treturn \"shell\";\n\t}\n\n\tget onData() {\n\t\treturn this._onData.event;\n\t}\n\tget onExit() {\n\t\treturn this._onExit.event;\n\t}\n\n\t/* ------------- IO methods ------------- */\n\n\twrite(data: string) {\n\t\tif (this._closing) return;\n\t\tconst buf = Buffer.from(data, \"utf8\");\n\t\tlib.symbols.bun_pty_write(this.handle, ptr(buf), buf.length);\n\t}\n\n\tresize(cols: number, rows: number) {\n\t\tif (this._closing) return;\n\t\tthis._cols = cols;\n\t\tthis._rows = rows;\n\t\tlib.symbols.bun_pty_resize(this.handle, cols, rows);\n\t}\n\n\tkill(signal = \"SIGTERM\") {\n\t\tif (this._closing) return;\n\t\tthis._closing = true;\n\t\tlib.symbols.bun_pty_kill(this.handle);\n\t\tlib.symbols.bun_pty_close(this.handle);\n\t\tthis._onExit.fire({ exitCode: 0, signal });\n\t}\n\n\t/* ------------- read-loop ------------- */\n\n\tprivate async _startReadLoop() {\n\t\tif (this._readLoop) return;\n\t\tthis._readLoop = true;\n\n\t\tconst buf = Buffer.allocUnsafe(4096);\n\n\t\twhile (this._readLoop && !this._closing) {\n\t\t\tconst n = lib.symbols.bun_pty_read(this.handle, ptr(buf), buf.length);\n\t\t\tif (n > 0) {\n\t\t\t\t// Use streaming mode to buffer incomplete UTF-8 sequences across chunks\n\t\t\t\t// This prevents corruption when multi-byte chars span chunk boundaries\n\t\t\t\tconst decoded = this._decoder.decode(buf.subarray(0, n), { stream: true });\n\t\t\t\tif (decoded) {\n\t\t\t\t\tthis._onData.fire(decoded);\n\t\t\t\t}\n\t\t\t} else if (n === -2) {\n\t\t\t\t// CHILD_EXITED - flush any remaining bytes in the decoder\n\t\t\t\tconst remaining = this._decoder.decode();\n\t\t\t\tif (remaining) {\n\t\t\t\t\tthis._onData.fire(remaining);\n\t\t\t\t}\n\t\t\t\tconst exitCode = lib.symbols.bun_pty_get_exit_code(this.handle);\n\t\t\t\tthis._onExit.fire({ exitCode });\n\t\t\t\tbreak;\n\t\t\t} else if (n < 0) {\n\t\t\t\t// error - flush decoder before breaking\n\t\t\t\tconst remaining = this._decoder.decode();\n\t\t\t\tif (remaining) {\n\t\t\t\t\tthis._onData.fire(remaining);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t} else {\n\t\t\t\t// 0 bytes: wait\n\t\t\t\tawait new Promise((r) => setTimeout(r, 8));\n\t\t\t}\n\t\t}\n\t}\n}\n", | ||
| "import { Buffer } from \"node:buffer\";\n\n/**\n * Interface for disposable resources.\n */\nexport interface IDisposable {\n /**\n * Disposes the resource, performing any necessary cleanup.\n */\n dispose(): void;\n}\n\n/**\n * Event implementation for the terminal.\n */\nexport class EventEmitter<T> {\n private listeners: ((data: T) => void)[] = [];\n\n public event = (listener: (e: T) => void): IDisposable => {\n this.listeners.push(listener);\n return {\n dispose: () => {\n const i = this.listeners.indexOf(listener);\n if (i !== -1) {\n this.listeners.splice(i, 1);\n }\n }\n };\n };\n\n public fire(data: T): void {\n for (const listener of this.listeners) {\n listener(data);\n }\n }\n}\n\n/**\n * Options for spawning a new PTY process.\n */\nexport interface IPtyForkOptions {\n /**\n * The name of the terminal to be set in environment variables.\n */\n name: string;\n\n /**\n * The number of columns in the PTY.\n */\n cols?: number;\n\n /**\n * The number of rows in the PTY.\n */\n rows?: number;\n\n /**\n * The current working directory of the process.\n * Defaults to the current working directory of the parent process.\n */\n cwd?: string;\n\n /**\n * Environment variables to set for the process.\n */\n env?: Record<string, string>;\n}\n\n/**\n * Exit data for PTY process.\n */\nexport interface IExitEvent {\n /**\n * The process exit code.\n */\n exitCode: number;\n\n /**\n * The signal that caused the process to exit, if any.\n */\n signal?: number | string;\n}\n\n/**\n * Interface for interacting with a pseudo-terminal (PTY) instance.\n */\nexport interface IPty {\n /**\n * The PID of the process running in the PTY.\n */\n readonly pid: number;\n\n /**\n * The column size in characters.\n */\n readonly cols: number;\n\n /**\n * The row size in characters.\n */\n readonly rows: number;\n\n /**\n * The title of the active process.\n */\n readonly process: string;\n\n /**\n * Set a callback for when data is received from the PTY.\n */\n readonly onData: (listener: (data: string) => void) => IDisposable;\n\n /**\n * Event emitted when the PTY process exits.\n */\n readonly onExit: (listener: (event: IExitEvent) => void) => IDisposable;\n\n /**\n * Write data to the PTY.\n *\n * @param data - The data to write.\n */\n write(data: string): void;\n\n /**\n * Resize the PTY.\n *\n * @param columns - Number of columns (character width).\n * @param rows - Number of rows (character height).\n */\n resize(columns: number, rows: number): void;\n\n /**\n * Kill the process running in the PTY.\n *\n * @param signal - The signal to send to the process.\n * Defaults to \"SIGTERM\".\n */\n kill(signal?: string): void;\n} ", | ||
| "/**\n * The main export module for bun-pty.\n * Provides a cross-platform PTY interface for Bun runtime.\n */\n\nimport { Terminal } from './terminal';\nimport type { IPty, IPtyForkOptions, IExitEvent, IDisposable } from './interfaces';\n\n/**\n * Creates and spawns a new PTY with the given command and arguments.\n * \n * @param file - Path to the executable to run.\n * @param args - Arguments for the executable.\n * @param options - Options for the PTY.\n * @returns A new PTY instance.\n */\nexport function spawn(file: string, args: string[], options: IPtyForkOptions): IPty {\n return new Terminal(file, args, options);\n}\n\n// Export interfaces and implementations\nexport type { IPty, IPtyForkOptions, IExitEvent, IDisposable };\nexport { Terminal } from './terminal'; ", | ||
| "import { spawn } from \"bun-pty\"\nimport type { Opts, Proc } from \"./pty\"\n\nexport type { Disp, Exit, Opts, Proc } from \"./pty\"\n\nfunction spawnPty(file: string, args: string[], opts: Opts): Proc {\n const pty = spawn(file, args, opts)\n return {\n pid: pty.pid,\n onData(listener) {\n return pty.onData(listener)\n },\n onExit(listener) {\n return pty.onExit(listener)\n },\n write(data) {\n pty.write(data)\n },\n resize(cols, rows) {\n pty.resize(cols, rows)\n },\n kill(signal) {\n pty.kill(signal)\n },\n }\n}\n\nexport { spawnPty as spawn }\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "91E5DEDD52695D6964756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260705180000_rename_instructions.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260705180000_rename_instructions\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`ALTER TABLE \\`session_context_entry\\` RENAME TO \\`instruction_entry\\``)\n yield* tx.run(`ALTER TABLE \\`session_context_epoch\\` RENAME TO \\`instruction_checkpoint\\``)\n yield* tx.run(`\n UPDATE \\`event\\`\n SET \\`type\\` = 'session.instructions.updated.1'\n WHERE \\`type\\` = 'session.context.updated.1'\n `)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,qCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,mEAAuE,EACrF,MAAO,EAAG,IAAI,wEAA4E,EAC1F,MAAO,EAAG,IAAI,6IAIb,EACF,EAEL", | ||
| "debugId": "F966E119A245CC7464756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@ai-sdk+togetherai@2.0.41+d6123d32214422cb/node_modules/@ai-sdk/togetherai/dist/index.mjs"], | ||
| "sourcesContent": [ | ||
| "// src/togetherai-provider.ts\nimport {\n OpenAICompatibleChatLanguageModel,\n OpenAICompatibleCompletionLanguageModel,\n OpenAICompatibleEmbeddingModel\n} from \"@ai-sdk/openai-compatible\";\nimport {\n loadApiKey,\n withoutTrailingSlash,\n withUserAgentSuffix\n} from \"@ai-sdk/provider-utils\";\n\n// src/reranking/togetherai-reranking-model.ts\nimport {\n combineHeaders,\n createJsonErrorResponseHandler,\n createJsonResponseHandler,\n parseProviderOptions,\n postJsonToApi\n} from \"@ai-sdk/provider-utils\";\n\n// src/reranking/togetherai-reranking-api.ts\nimport { lazySchema, zodSchema } from \"@ai-sdk/provider-utils\";\nimport { z } from \"zod/v4\";\nvar togetheraiErrorSchema = lazySchema(\n () => zodSchema(\n z.object({\n error: z.object({\n message: z.string()\n })\n })\n )\n);\nvar togetheraiRerankingResponseSchema = lazySchema(\n () => zodSchema(\n z.object({\n id: z.string().nullish(),\n model: z.string().nullish(),\n results: z.array(\n z.object({\n index: z.number(),\n relevance_score: z.number()\n })\n ),\n usage: z.object({\n prompt_tokens: z.number(),\n completion_tokens: z.number(),\n total_tokens: z.number()\n })\n })\n )\n);\n\n// src/reranking/togetherai-reranking-options.ts\nimport { lazySchema as lazySchema2, zodSchema as zodSchema2 } from \"@ai-sdk/provider-utils\";\nimport { z as z2 } from \"zod/v4\";\nvar togetheraiRerankingModelOptionsSchema = lazySchema2(\n () => zodSchema2(\n z2.object({\n rankFields: z2.array(z2.string()).optional()\n })\n )\n);\n\n// src/reranking/togetherai-reranking-model.ts\nvar TogetherAIRerankingModel = class {\n constructor(modelId, config) {\n this.specificationVersion = \"v3\";\n this.modelId = modelId;\n this.config = config;\n }\n get provider() {\n return this.config.provider;\n }\n // see https://docs.together.ai/reference/rerank-1\n async doRerank({\n documents,\n headers,\n query,\n topN,\n abortSignal,\n providerOptions\n }) {\n var _a, _b;\n const rerankingOptions = await parseProviderOptions({\n provider: \"togetherai\",\n providerOptions,\n schema: togetheraiRerankingModelOptionsSchema\n });\n const {\n responseHeaders,\n value: response,\n rawValue\n } = await postJsonToApi({\n url: `${this.config.baseURL}/rerank`,\n headers: combineHeaders(this.config.headers(), headers),\n body: {\n model: this.modelId,\n documents: documents.values,\n query,\n top_n: topN,\n rank_fields: rerankingOptions == null ? void 0 : rerankingOptions.rankFields,\n return_documents: false\n // reduce response size\n },\n failedResponseHandler: createJsonErrorResponseHandler({\n errorSchema: togetheraiErrorSchema,\n errorToMessage: (data) => data.error.message\n }),\n successfulResponseHandler: createJsonResponseHandler(\n togetheraiRerankingResponseSchema\n ),\n abortSignal,\n fetch: this.config.fetch\n });\n return {\n ranking: response.results.map((result) => ({\n index: result.index,\n relevanceScore: result.relevance_score\n })),\n response: {\n id: (_a = response.id) != null ? _a : void 0,\n modelId: (_b = response.model) != null ? _b : void 0,\n headers: responseHeaders,\n body: rawValue\n }\n };\n }\n};\n\n// src/togetherai-image-model.ts\nimport {\n combineHeaders as combineHeaders2,\n convertImageModelFileToDataUri,\n createJsonResponseHandler as createJsonResponseHandler2,\n createJsonErrorResponseHandler as createJsonErrorResponseHandler2,\n lazySchema as lazySchema3,\n parseProviderOptions as parseProviderOptions2,\n postJsonToApi as postJsonToApi2,\n zodSchema as zodSchema3\n} from \"@ai-sdk/provider-utils\";\nimport { z as z3 } from \"zod/v4\";\nvar TogetherAIImageModel = class {\n constructor(modelId, config) {\n this.modelId = modelId;\n this.config = config;\n this.specificationVersion = \"v3\";\n this.maxImagesPerCall = 1;\n }\n get provider() {\n return this.config.provider;\n }\n async doGenerate({\n prompt,\n n,\n size,\n seed,\n providerOptions,\n headers,\n abortSignal,\n files,\n mask\n }) {\n var _a, _b, _c;\n const warnings = [];\n if (mask != null) {\n throw new Error(\n \"Together AI does not support mask-based image editing. Use FLUX Kontext models (e.g., black-forest-labs/FLUX.1-kontext-pro) with a reference image and descriptive prompt instead.\"\n );\n }\n if (size != null) {\n warnings.push({\n type: \"unsupported\",\n feature: \"aspectRatio\",\n details: \"This model does not support the `aspectRatio` option. Use `size` instead.\"\n });\n }\n const currentDate = (_c = (_b = (_a = this.config._internal) == null ? void 0 : _a.currentDate) == null ? void 0 : _b.call(_a)) != null ? _c : /* @__PURE__ */ new Date();\n const togetheraiOptions = await parseProviderOptions2({\n provider: \"togetherai\",\n providerOptions,\n schema: togetheraiImageModelOptionsSchema\n });\n let imageUrl;\n if (files != null && files.length > 0) {\n imageUrl = convertImageModelFileToDataUri(files[0]);\n if (files.length > 1) {\n warnings.push({\n type: \"other\",\n message: \"Together AI only supports a single input image. Additional images are ignored.\"\n });\n }\n }\n const splitSize = size == null ? void 0 : size.split(\"x\");\n const { value: response, responseHeaders } = await postJsonToApi2({\n url: `${this.config.baseURL}/images/generations`,\n headers: combineHeaders2(this.config.headers(), headers),\n body: {\n model: this.modelId,\n prompt,\n seed,\n ...n > 1 ? { n } : {},\n ...splitSize && {\n width: parseInt(splitSize[0]),\n height: parseInt(splitSize[1])\n },\n ...imageUrl != null ? { image_url: imageUrl } : {},\n response_format: \"base64\",\n ...togetheraiOptions != null ? togetheraiOptions : {}\n },\n failedResponseHandler: createJsonErrorResponseHandler2({\n errorSchema: togetheraiErrorSchema2,\n errorToMessage: (data) => data.error.message\n }),\n successfulResponseHandler: createJsonResponseHandler2(\n togetheraiImageResponseSchema\n ),\n abortSignal,\n fetch: this.config.fetch\n });\n return {\n images: response.data.map((item) => item.b64_json),\n warnings,\n response: {\n timestamp: currentDate,\n modelId: this.modelId,\n headers: responseHeaders\n }\n };\n }\n};\nvar togetheraiImageResponseSchema = z3.object({\n data: z3.array(\n z3.object({\n b64_json: z3.string()\n })\n )\n});\nvar togetheraiErrorSchema2 = z3.object({\n error: z3.object({\n message: z3.string()\n })\n});\nvar togetheraiImageModelOptionsSchema = lazySchema3(\n () => zodSchema3(\n z3.object({\n /**\n * Number of generation steps. Higher values can improve quality.\n */\n steps: z3.number().nullish(),\n /**\n * Guidance scale for image generation.\n */\n guidance: z3.number().nullish(),\n /**\n * Negative prompt to guide what to avoid.\n */\n negative_prompt: z3.string().nullish(),\n /**\n * Disable the safety checker for image generation.\n * When true, the API will not reject images flagged as potentially NSFW.\n * Not available for Flux Schnell Free and Flux Pro models.\n */\n disable_safety_checker: z3.boolean().nullish()\n }).passthrough()\n )\n);\n\n// src/version.ts\nvar VERSION = true ? \"2.0.41\" : \"0.0.0-test\";\n\n// src/togetherai-provider.ts\nfunction loadDeprecatedApiKey() {\n if (typeof process === \"undefined\") {\n return void 0;\n }\n if (typeof process.env.TOGETHER_API_KEY === \"string\") {\n return void 0;\n }\n const key = process.env.TOGETHER_AI_API_KEY;\n if (typeof key === \"string\") {\n console.warn(\n \"TOGETHER_AI_API_KEY is deprecated and will be removed in a future release. Please use TOGETHER_API_KEY instead.\"\n );\n }\n return key;\n}\nfunction createTogetherAI(options = {}) {\n var _a;\n const baseURL = withoutTrailingSlash(\n (_a = options.baseURL) != null ? _a : \"https://api.together.xyz/v1/\"\n );\n const getHeaders = () => {\n var _a2;\n return withUserAgentSuffix(\n {\n Authorization: `Bearer ${loadApiKey({\n apiKey: (_a2 = options.apiKey) != null ? _a2 : loadDeprecatedApiKey(),\n environmentVariableName: \"TOGETHER_API_KEY\",\n description: \"TogetherAI\"\n })}`,\n ...options.headers\n },\n `ai-sdk/togetherai/${VERSION}`\n );\n };\n const getCommonModelConfig = (modelType) => ({\n provider: `togetherai.${modelType}`,\n url: ({ path }) => `${baseURL}${path}`,\n headers: getHeaders,\n fetch: options.fetch\n });\n const createChatModel = (modelId) => {\n return new OpenAICompatibleChatLanguageModel(\n modelId,\n getCommonModelConfig(\"chat\")\n );\n };\n const createCompletionModel = (modelId) => new OpenAICompatibleCompletionLanguageModel(\n modelId,\n getCommonModelConfig(\"completion\")\n );\n const createEmbeddingModel = (modelId) => new OpenAICompatibleEmbeddingModel(\n modelId,\n getCommonModelConfig(\"embedding\")\n );\n const createImageModel = (modelId) => new TogetherAIImageModel(modelId, {\n ...getCommonModelConfig(\"image\"),\n baseURL: baseURL != null ? baseURL : \"https://api.together.xyz/v1/\"\n });\n const createRerankingModel = (modelId) => new TogetherAIRerankingModel(modelId, {\n ...getCommonModelConfig(\"reranking\"),\n baseURL: baseURL != null ? baseURL : \"https://api.together.xyz/v1/\"\n });\n const provider = (modelId) => createChatModel(modelId);\n provider.specificationVersion = \"v3\";\n provider.completionModel = createCompletionModel;\n provider.languageModel = createChatModel;\n provider.chatModel = createChatModel;\n provider.embeddingModel = createEmbeddingModel;\n provider.textEmbeddingModel = createEmbeddingModel;\n provider.image = createImageModel;\n provider.imageModel = createImageModel;\n provider.reranking = createRerankingModel;\n provider.rerankingModel = createRerankingModel;\n return provider;\n}\nvar togetherai = createTogetherAI();\nexport {\n VERSION,\n createTogetherAI,\n togetherai\n};\n//# sourceMappingURL=index.mjs.map" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "12AF793CD89602ED64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260611192811_lush_chimera.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260611192811_lush_chimera\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`DROP INDEX IF EXISTS \\`credential_connector_active_idx\\`;`)\n yield* tx.run(`DROP TABLE \\`credential\\`;`)\n yield* tx.run(`\n CREATE TABLE \\`credential\\` (\n \\`id\\` text PRIMARY KEY,\n \\`integration_id\\` text,\n \\`label\\` text NOT NULL,\n \\`value\\` text NOT NULL,\n \\`connector_id\\` text,\n \\`method_id\\` text,\n \\`active\\` integer,\n \\`time_created\\` integer NOT NULL,\n \\`time_updated\\` integer NOT NULL\n );\n `)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,8BACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,yDAA2D,EACzE,MAAO,EAAG,IAAI,0BAA4B,EAC1C,MAAO,EAAG,IAAI,oXAYb,EACF,EAEL", | ||
| "debugId": "D24184E42BC1FE8C64756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260323234822_events.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260323234822_events\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`\n CREATE TABLE \\`event_sequence\\` (\n \\`aggregate_id\\` text PRIMARY KEY,\n \\`seq\\` integer NOT NULL\n );\n `)\n yield* tx.run(`\n CREATE TABLE \\`event\\` (\n \\`id\\` text PRIMARY KEY,\n \\`aggregate_id\\` text NOT NULL,\n \\`seq\\` integer NOT NULL,\n \\`type\\` text NOT NULL,\n \\`data\\` text NOT NULL,\n CONSTRAINT \\`fk_event_aggregate_id_event_sequence_aggregate_id_fk\\` FOREIGN KEY (\\`aggregate_id\\`) REFERENCES \\`event_sequence\\`(\\`aggregate_id\\`) ON DELETE CASCADE\n );\n `)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,wBACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,6IAKb,EACD,MAAO,EAAG,IAAI,8YASb,EACF,EAEL", | ||
| "debugId": "85ACC9630FEA7F3764756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/eventsource-parser@3.1.0/node_modules/eventsource-parser/dist/index.js", "../../node_modules/.bun/eventsource-parser@3.1.0/node_modules/eventsource-parser/dist/stream.js"], | ||
| "sourcesContent": [ | ||
| "class ParseError extends Error {\n constructor(message, options) {\n super(message), this.name = \"ParseError\", this.type = options.type, this.field = options.field, this.value = options.value, this.line = options.line;\n }\n}\nconst LF = 10, CR = 13, SPACE = 32;\nfunction noop(_arg) {\n}\nfunction createParser(config) {\n if (typeof config == \"function\")\n throw new TypeError(\n \"`config` must be an object, got a function instead. Did you mean `createParser({onEvent: fn})`?\"\n );\n const { onEvent = noop, onError = noop, onRetry = noop, onComment, maxBufferSize } = config, pendingFragments = [];\n let pendingFragmentsLength = 0, isFirstChunk = !0, id, data = \"\", dataLines = 0, eventType, terminated = !1;\n function feed(chunk) {\n if (terminated)\n throw new Error(\n \"Cannot feed parser: it was terminated after exceeding the configured max buffer size. Call `reset()` to resume parsing.\"\n );\n if (isFirstChunk && (isFirstChunk = !1, chunk.charCodeAt(0) === 239 && chunk.charCodeAt(1) === 187 && chunk.charCodeAt(2) === 191 && (chunk = chunk.slice(3))), pendingFragments.length === 0) {\n const trailing2 = processLines(chunk);\n trailing2 !== \"\" && (pendingFragments.push(trailing2), pendingFragmentsLength = trailing2.length), checkBufferSize();\n return;\n }\n if (chunk.indexOf(`\n`) === -1 && chunk.indexOf(\"\\r\") === -1) {\n pendingFragments.push(chunk), pendingFragmentsLength += chunk.length, checkBufferSize();\n return;\n }\n pendingFragments.push(chunk);\n const input = pendingFragments.join(\"\");\n pendingFragments.length = 0, pendingFragmentsLength = 0;\n const trailing = processLines(input);\n trailing !== \"\" && (pendingFragments.push(trailing), pendingFragmentsLength = trailing.length), checkBufferSize();\n }\n function checkBufferSize() {\n maxBufferSize !== void 0 && (pendingFragmentsLength + data.length <= maxBufferSize || (terminated = !0, pendingFragments.length = 0, pendingFragmentsLength = 0, id = void 0, data = \"\", dataLines = 0, eventType = void 0, onError(\n new ParseError(`Buffered data exceeded max buffer size of ${maxBufferSize} characters`, {\n type: \"max-buffer-size-exceeded\"\n })\n )));\n }\n function processLines(chunk) {\n let searchIndex = 0;\n if (chunk.indexOf(\"\\r\") === -1) {\n let lfIndex = chunk.indexOf(`\n`, searchIndex);\n for (; lfIndex !== -1; ) {\n if (searchIndex === lfIndex) {\n dataLines > 0 && onEvent({ id, event: eventType, data }), id = void 0, data = \"\", dataLines = 0, eventType = void 0, searchIndex = lfIndex + 1, lfIndex = chunk.indexOf(`\n`, searchIndex);\n continue;\n }\n const firstCharCode = chunk.charCodeAt(searchIndex);\n if (isDataPrefix(chunk, searchIndex, firstCharCode)) {\n const valueStart = chunk.charCodeAt(searchIndex + 5) === SPACE ? searchIndex + 6 : searchIndex + 5, value = chunk.slice(valueStart, lfIndex);\n if (dataLines === 0 && chunk.charCodeAt(lfIndex + 1) === LF) {\n onEvent({ id, event: eventType, data: value }), id = void 0, data = \"\", eventType = void 0, searchIndex = lfIndex + 2, lfIndex = chunk.indexOf(`\n`, searchIndex);\n continue;\n }\n data = dataLines === 0 ? value : `${data}\n${value}`, dataLines++;\n } else isEventPrefix(chunk, searchIndex, firstCharCode) ? eventType = chunk.slice(\n chunk.charCodeAt(searchIndex + 6) === SPACE ? searchIndex + 7 : searchIndex + 6,\n lfIndex\n ) || void 0 : parseLine(chunk, searchIndex, lfIndex);\n searchIndex = lfIndex + 1, lfIndex = chunk.indexOf(`\n`, searchIndex);\n }\n return chunk.slice(searchIndex);\n }\n for (; searchIndex < chunk.length; ) {\n const crIndex = chunk.indexOf(\"\\r\", searchIndex), lfIndex = chunk.indexOf(`\n`, searchIndex);\n let lineEnd = -1;\n if (crIndex !== -1 && lfIndex !== -1 ? lineEnd = crIndex < lfIndex ? crIndex : lfIndex : crIndex !== -1 ? crIndex === chunk.length - 1 ? lineEnd = -1 : lineEnd = crIndex : lfIndex !== -1 && (lineEnd = lfIndex), lineEnd === -1)\n break;\n parseLine(chunk, searchIndex, lineEnd), searchIndex = lineEnd + 1, chunk.charCodeAt(searchIndex - 1) === CR && chunk.charCodeAt(searchIndex) === LF && searchIndex++;\n }\n return chunk.slice(searchIndex);\n }\n function parseLine(chunk, start, end) {\n if (start === end) {\n dispatchEvent();\n return;\n }\n const firstCharCode = chunk.charCodeAt(start);\n if (isDataPrefix(chunk, start, firstCharCode)) {\n const valueStart = chunk.charCodeAt(start + 5) === SPACE ? start + 6 : start + 5, value2 = chunk.slice(valueStart, end);\n data = dataLines === 0 ? value2 : `${data}\n${value2}`, dataLines++;\n return;\n }\n if (isEventPrefix(chunk, start, firstCharCode)) {\n eventType = chunk.slice(chunk.charCodeAt(start + 6) === SPACE ? start + 7 : start + 6, end) || void 0;\n return;\n }\n if (firstCharCode === 105 && chunk.charCodeAt(start + 1) === 100 && chunk.charCodeAt(start + 2) === 58) {\n const value2 = chunk.slice(chunk.charCodeAt(start + 3) === SPACE ? start + 4 : start + 3, end);\n id = value2.includes(\"\\0\") ? void 0 : value2;\n return;\n }\n if (firstCharCode === 58) {\n if (onComment) {\n const line2 = chunk.slice(start, end);\n onComment(line2.slice(chunk.charCodeAt(start + 1) === SPACE ? 2 : 1));\n }\n return;\n }\n const line = chunk.slice(start, end), fieldSeparatorIndex = line.indexOf(\":\");\n if (fieldSeparatorIndex === -1) {\n processField(line, \"\", line);\n return;\n }\n const field = line.slice(0, fieldSeparatorIndex), offset = line.charCodeAt(fieldSeparatorIndex + 1) === SPACE ? 2 : 1, value = line.slice(fieldSeparatorIndex + offset);\n processField(field, value, line);\n }\n function processField(field, value, line) {\n switch (field) {\n case \"event\":\n eventType = value || void 0;\n break;\n case \"data\":\n data = dataLines === 0 ? value : `${data}\n${value}`, dataLines++;\n break;\n case \"id\":\n id = value.includes(\"\\0\") ? void 0 : value;\n break;\n case \"retry\":\n /^\\d+$/.test(value) ? onRetry(parseInt(value, 10)) : onError(\n new ParseError(`Invalid \\`retry\\` value: \"${value}\"`, {\n type: \"invalid-retry\",\n value,\n line\n })\n );\n break;\n default:\n onError(\n new ParseError(\n `Unknown field \"${field.length > 20 ? `${field.slice(0, 20)}\\u2026` : field}\"`,\n { type: \"unknown-field\", field, value, line }\n )\n );\n break;\n }\n }\n function dispatchEvent() {\n dataLines > 0 && onEvent({\n id,\n event: eventType,\n data\n }), id = void 0, data = \"\", dataLines = 0, eventType = void 0;\n }\n function reset(options = {}) {\n if (options.consume && pendingFragments.length > 0) {\n const incompleteLine = pendingFragments.join(\"\");\n parseLine(incompleteLine, 0, incompleteLine.length);\n }\n isFirstChunk = !0, id = void 0, data = \"\", dataLines = 0, eventType = void 0, pendingFragments.length = 0, pendingFragmentsLength = 0, terminated = !1;\n }\n return { feed, reset };\n}\nfunction isDataPrefix(chunk, i, firstCharCode) {\n return firstCharCode === 100 && chunk.charCodeAt(i + 1) === 97 && chunk.charCodeAt(i + 2) === 116 && chunk.charCodeAt(i + 3) === 97 && chunk.charCodeAt(i + 4) === 58;\n}\nfunction isEventPrefix(chunk, i, firstCharCode) {\n return firstCharCode === 101 && chunk.charCodeAt(i + 1) === 118 && chunk.charCodeAt(i + 2) === 101 && chunk.charCodeAt(i + 3) === 110 && chunk.charCodeAt(i + 4) === 116 && chunk.charCodeAt(i + 5) === 58;\n}\nexport {\n ParseError,\n createParser\n};\n//# sourceMappingURL=index.js.map\n", | ||
| "import { createParser } from \"./index.js\";\nimport { ParseError } from \"./index.js\";\nclass EventSourceParserStream extends TransformStream {\n constructor({ onError, onRetry, onComment, maxBufferSize } = {}) {\n let parser;\n super({\n start(controller) {\n parser = createParser({\n onEvent: (event) => {\n controller.enqueue(event);\n },\n onError(error) {\n typeof onError == \"function\" && onError(error), (onError === \"terminate\" || error.type === \"max-buffer-size-exceeded\") && controller.error(error);\n },\n onRetry,\n onComment,\n maxBufferSize\n });\n },\n transform(chunk) {\n parser.feed(chunk);\n }\n });\n }\n}\nexport {\n EventSourceParserStream,\n ParseError\n};\n//# sourceMappingURL=stream.js.map\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "6027009444330B3964756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/ai-gateway-provider@3.1.2+a6631614dda8d488/node_modules/ai-gateway-provider/dist/index.mjs"], | ||
| "sourcesContent": [ | ||
| "var __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n\n// src/auth.ts\nvar CF_TEMP_TOKEN = \"CF_TEMP_TOKEN\";\n\n// src/providers.ts\nvar providers = [\n {\n name: \"openai\",\n regex: /^https:\\/\\/api\\.openai\\.com\\//,\n transformEndpoint: (url) => url.replace(/^https:\\/\\/api\\.openai\\.com\\//, \"\")\n },\n {\n name: \"deepseek\",\n regex: /^https:\\/\\/api\\.deepseek\\.com\\//,\n transformEndpoint: (url) => url.replace(/^https:\\/\\/api\\.deepseek\\.com\\//, \"\")\n },\n {\n name: \"anthropic\",\n regex: /^https:\\/\\/api\\.anthropic\\.com\\//,\n transformEndpoint: (url) => url.replace(/^https:\\/\\/api\\.anthropic\\.com\\//, \"\"),\n headerKey: \"x-api-key\"\n },\n {\n name: \"google-ai-studio\",\n regex: /^https:\\/\\/generativelanguage\\.googleapis\\.com\\//,\n headerKey: \"x-goog-api-key\",\n transformEndpoint: (url) => url.replace(/^https:\\/\\/generativelanguage\\.googleapis\\.com\\//, \"\")\n },\n {\n name: \"google-vertex-ai\",\n regex: /aiplatform\\.googleapis\\.com/,\n transformEndpoint: (url) => url.replace(/https:\\/\\/(.*)[-]?aiplatform\\.googleapis\\.com\\//, \"\")\n },\n {\n name: \"grok\",\n regex: /^https:\\/\\/api\\.x\\.ai\\//,\n transformEndpoint: (url) => url.replace(/^https:\\/\\/api\\.x\\.ai\\//, \"\")\n },\n {\n name: \"mistral\",\n regex: /^https:\\/\\/api\\.mistral\\.ai\\//,\n transformEndpoint: (url) => url.replace(/^https:\\/\\/api\\.mistral\\.ai\\//, \"\")\n },\n {\n name: \"perplexity-ai\",\n regex: /^https:\\/\\/api\\.perplexity\\.ai\\//,\n transformEndpoint: (url) => url.replace(/^https:\\/\\/api\\.perplexity\\.ai\\//, \"\")\n },\n {\n name: \"replicate\",\n regex: /^https:\\/\\/api\\.replicate\\.com\\//,\n transformEndpoint: (url) => url.replace(/^https:\\/\\/api\\.replicate\\.com\\//, \"\")\n },\n {\n name: \"groq\",\n regex: /^https:\\/\\/api\\.groq\\.com\\/openai\\/v1\\//,\n transformEndpoint: (url) => url.replace(/^https:\\/\\/api\\.groq\\.com\\/openai\\/v1\\//, \"\")\n },\n {\n name: \"google-vertex-ai\",\n regex: /^https:\\/\\/(?:[a-z0-9]+-)*aiplatform\\.googleapis\\.com\\//,\n transformEndpoint: (url) => url.replace(/^https:\\/\\/(?:[a-z0-9]+-)*aiplatform\\.googleapis\\.com\\//, \"\"),\n headerKey: \"authorization\"\n },\n {\n name: \"azure-openai\",\n regex: /^https:\\/\\/(?<resource>[^.]+)\\.openai\\.azure\\.com\\/openai\\/deployments\\/(?<deployment>[^/]+)\\/(?<rest>.*)$/,\n transformEndpoint: (url) => {\n const match = url.match(\n /^https:\\/\\/(?<resource>[^.]+)\\.openai\\.azure\\.com\\/openai\\/deployments\\/(?<deployment>[^/]+)\\/(?<rest>.*)$/\n );\n if (!match || !match.groups) return url;\n const { resource, deployment, rest } = match.groups;\n if (!resource || !deployment || !rest) {\n throw new Error(\"Failed to parse Azure OpenAI endpoint URL.\");\n }\n return `${resource}/${deployment}/${rest}`;\n },\n headerKey: \"api-key\"\n },\n {\n name: \"openrouter\",\n regex: /^https:\\/\\/openrouter\\.ai\\/api\\//,\n transformEndpoint: (url) => url.replace(/^https:\\/\\/openrouter\\.ai\\/api\\//, \"\")\n },\n {\n name: \"compat\",\n regex: /^https:\\/\\/gateway\\.ai\\.cloudflare\\.com\\/v1\\/compat\\//,\n transformEndpoint: (url) => url.replace(/^https:\\/\\/gateway\\.ai\\.cloudflare\\.com\\/v1\\/compat\\//, \"\")\n }\n];\n\n// src/index.ts\nvar AiGatewayInternalFetchError = class extends Error {\n};\nvar AiGatewayDoesNotExist = class extends Error {\n};\nvar AiGatewayUnauthorizedError = class extends Error {\n};\nasync function streamToObject(stream) {\n const response = new Response(stream);\n return await response.json();\n}\nvar AiGatewayChatLanguageModel = class {\n constructor(models, config) {\n __publicField(this, \"specificationVersion\", \"v3\");\n __publicField(this, \"defaultObjectGenerationMode\", \"json\");\n __publicField(this, \"supportedUrls\", {\n // No URLS are supported for this language model\n });\n __publicField(this, \"models\");\n __publicField(this, \"config\");\n this.models = models;\n this.config = config;\n }\n get modelId() {\n if (!this.models[0]) {\n throw new Error(\"models cannot be empty array\");\n }\n return this.models[0].modelId;\n }\n get provider() {\n if (!this.models[0]) {\n throw new Error(\"models cannot be empty array\");\n }\n return this.models[0].provider;\n }\n async processModelRequest(options, modelMethod) {\n const requests = [];\n for (const model of this.models) {\n if (!model.config || !Object.keys(model.config).includes(\"fetch\")) {\n throw new Error(\n `Sorry, but provider \"${model.provider}\" is currently not supported, please open a issue in the github repo!`\n );\n }\n model.config.fetch = (url, request) => {\n requests.push({\n modelProvider: model.provider,\n request,\n url\n });\n throw new AiGatewayInternalFetchError(\"Stopping provider execution...\");\n };\n try {\n await model[modelMethod](options);\n } catch (e) {\n if (!(e instanceof AiGatewayInternalFetchError)) {\n throw e;\n }\n }\n }\n const body = await Promise.all(\n requests.map(async (req) => {\n let providerConfig = null;\n for (const provider of providers) {\n if (provider.regex.test(req.url)) {\n providerConfig = provider;\n }\n }\n if (!providerConfig) {\n throw new Error(\n `Sorry, but provider \"${req.modelProvider}\" is currently not supported, please open a issue in the github repo!`\n );\n }\n if (!req.request.body) {\n throw new Error(\"Ai Gateway provider received an unexpected empty body\");\n }\n const authHeader = providerConfig.headerKey ?? \"authorization\";\n const authValue = \"get\" in req.request.headers ? req.request.headers.get(authHeader) : req.request.headers[authHeader];\n if (authValue?.indexOf(CF_TEMP_TOKEN) !== -1) {\n if (\"delete\" in req.request.headers) {\n req.request.headers.delete(authHeader);\n } else {\n delete req.request.headers[authHeader];\n }\n }\n return {\n endpoint: providerConfig.transformEndpoint(req.url),\n headers: req.request.headers,\n provider: providerConfig.name,\n query: await streamToObject(req.request.body)\n };\n })\n );\n const headers = parseAiGatewayOptions(this.config.options ?? {});\n let resp;\n if (\"binding\" in this.config) {\n const updatedBody = body.map((obj) => ({\n ...obj,\n headers: {\n ...obj.headers ?? {},\n ...Object.fromEntries(headers.entries())\n }\n }));\n resp = await this.config.binding.run(updatedBody, {\n signal: options.abortSignal\n });\n } else {\n headers.set(\"Content-Type\", \"application/json\");\n headers.set(\"cf-aig-authorization\", `Bearer ${this.config.apiKey}`);\n resp = await fetch(\n `https://gateway.ai.cloudflare.com/v1/${this.config.accountId}/${this.config.gateway}`,\n {\n body: JSON.stringify(body),\n headers,\n method: \"POST\",\n signal: options.abortSignal\n }\n );\n }\n if (resp.status === 400) {\n const cloneResp = resp.clone();\n const result = await cloneResp.json();\n if (result.success === false && result.error && result.error.length > 0 && result.error[0]?.code === 2001) {\n throw new AiGatewayDoesNotExist(\"This AI gateway does not exist\");\n }\n } else if (resp.status === 401) {\n const cloneResp = resp.clone();\n const result = await cloneResp.json();\n if (result.success === false && result.error && result.error.length > 0 && result.error[0]?.code === 2009) {\n throw new AiGatewayUnauthorizedError(\n \"Your AI Gateway has authentication active, but you didn't provide a valid apiKey\"\n );\n }\n }\n const step = Number.parseInt(resp.headers.get(\"cf-aig-step\") ?? \"0\", 10);\n if (!this.models[step]) {\n throw new Error(\"Unexpected AI Gateway Error\");\n }\n this.models[step].config = {\n ...this.models[step].config,\n fetch: (_url, _req) => resp\n };\n return this.models[step][modelMethod](options);\n }\n async doStream(options) {\n return this.processModelRequest(options, \"doStream\");\n }\n async doGenerate(options) {\n return this.processModelRequest(options, \"doGenerate\");\n }\n};\nfunction createAiGateway(options) {\n const createChatModel = (models) => {\n return new AiGatewayChatLanguageModel(Array.isArray(models) ? models : [models], options);\n };\n const provider = (models) => createChatModel(models);\n provider.chat = createChatModel;\n return provider;\n}\nfunction parseAiGatewayOptions(options) {\n const headers = new Headers();\n if (options.skipCache === true) {\n headers.set(\"cf-skip-cache\", \"true\");\n }\n if (options.cacheTtl) {\n headers.set(\"cf-cache-ttl\", options.cacheTtl.toString());\n }\n if (options.metadata) {\n headers.set(\"cf-aig-metadata\", JSON.stringify(options.metadata));\n }\n if (options.cacheKey) {\n headers.set(\"cf-aig-cache-key\", options.cacheKey);\n }\n if (options.collectLog !== void 0) {\n headers.set(\"cf-aig-collect-log\", options.collectLog === true ? \"true\" : \"false\");\n }\n if (options.eventId !== void 0) {\n headers.set(\"cf-aig-event-id\", options.eventId);\n }\n if (options.requestTimeoutMs !== void 0) {\n headers.set(\"cf-aig-request-timeout\", options.requestTimeoutMs.toString());\n }\n if (options.retries !== void 0) {\n if (options.retries.maxAttempts !== void 0) {\n headers.set(\"cf-aig-max-attempts\", options.retries.maxAttempts.toString());\n }\n if (options.retries.retryDelayMs !== void 0) {\n headers.set(\"cf-aig-retry-delay\", options.retries.retryDelayMs.toString());\n }\n if (options.retries.backoff !== void 0) {\n headers.set(\"cf-aig-backoff\", options.retries.backoff);\n }\n }\n return headers;\n}\nexport {\n AiGatewayChatLanguageModel,\n AiGatewayDoesNotExist,\n AiGatewayInternalFetchError,\n AiGatewayUnauthorizedError,\n createAiGateway,\n parseAiGatewayOptions\n};\n//# sourceMappingURL=index.mjs.map" | ||
| ], | ||
| "mappings": ";uCAAA,IAAI,EAAY,OAAO,eACnB,EAAkB,CAAC,EAAK,EAAK,KAAU,KAAO,GAAM,EAAU,EAAK,EAAK,CAAE,WAAY,GAAM,aAAc,GAAM,SAAU,GAAM,OAAM,CAAC,EAAI,EAAI,GAAO,EACtJ,EAAgB,CAAC,EAAK,EAAK,IAAU,EAAgB,EAAK,OAAO,IAAQ,SAAW,EAAM,GAAK,EAAK,CAAK,EAGzG,EAAgB,gBAGhB,EAAY,CACd,CACE,KAAM,SACN,MAAO,gCACP,kBAAmB,CAAC,IAAQ,EAAI,QAAQ,gCAAiC,EAAE,CAC7E,EACA,CACE,KAAM,WACN,MAAO,kCACP,kBAAmB,CAAC,IAAQ,EAAI,QAAQ,kCAAmC,EAAE,CAC/E,EACA,CACE,KAAM,YACN,MAAO,mCACP,kBAAmB,CAAC,IAAQ,EAAI,QAAQ,mCAAoC,EAAE,EAC9E,UAAW,WACb,EACA,CACE,KAAM,mBACN,MAAO,mDACP,UAAW,iBACX,kBAAmB,CAAC,IAAQ,EAAI,QAAQ,mDAAoD,EAAE,CAChG,EACA,CACE,KAAM,mBACN,MAAO,8BACP,kBAAmB,CAAC,IAAQ,EAAI,QAAQ,kDAAmD,EAAE,CAC/F,EACA,CACE,KAAM,OACN,MAAO,0BACP,kBAAmB,CAAC,IAAQ,EAAI,QAAQ,0BAA2B,EAAE,CACvE,EACA,CACE,KAAM,UACN,MAAO,gCACP,kBAAmB,CAAC,IAAQ,EAAI,QAAQ,gCAAiC,EAAE,CAC7E,EACA,CACE,KAAM,gBACN,MAAO,mCACP,kBAAmB,CAAC,IAAQ,EAAI,QAAQ,mCAAoC,EAAE,CAChF,EACA,CACE,KAAM,YACN,MAAO,mCACP,kBAAmB,CAAC,IAAQ,EAAI,QAAQ,mCAAoC,EAAE,CAChF,EACA,CACE,KAAM,OACN,MAAO,0CACP,kBAAmB,CAAC,IAAQ,EAAI,QAAQ,0CAA2C,EAAE,CACvF,EACA,CACE,KAAM,mBACN,MAAO,0DACP,kBAAmB,CAAC,IAAQ,EAAI,QAAQ,0DAA2D,EAAE,EACrG,UAAW,eACb,EACA,CACE,KAAM,eACN,MAAO,6GACP,kBAAmB,CAAC,IAAQ,CAC1B,IAAM,EAAQ,EAAI,MAChB,4GACF,EACA,GAAI,CAAC,GAAS,CAAC,EAAM,OAAQ,OAAO,EACpC,IAAQ,WAAU,aAAY,QAAS,EAAM,OAC7C,GAAI,CAAC,GAAY,CAAC,GAAc,CAAC,EAC/B,MAAU,MAAM,4CAA4C,EAE9D,MAAO,GAAG,KAAY,KAAc,KAEtC,UAAW,SACb,EACA,CACE,KAAM,aACN,MAAO,mCACP,kBAAmB,CAAC,IAAQ,EAAI,QAAQ,mCAAoC,EAAE,CAChF,EACA,CACE,KAAM,SACN,MAAO,wDACP,kBAAmB,CAAC,IAAQ,EAAI,QAAQ,wDAAyD,EAAE,CACrG,CACF,EAGI,EAA8B,cAAc,KAAM,CACtD,EACI,EAAwB,cAAc,KAAM,CAChD,EACI,EAA6B,cAAc,KAAM,CACrD,EACA,eAAe,CAAc,CAAC,EAAQ,CAEpC,OAAO,MADU,IAAI,SAAS,CAAM,EACd,KAAK,EAE7B,IAAI,EAA6B,KAAM,CACrC,WAAW,CAAC,EAAQ,EAAQ,CAC1B,EAAc,KAAM,uBAAwB,IAAI,EAChD,EAAc,KAAM,8BAA+B,MAAM,EACzD,EAAc,KAAM,gBAAiB,CAErC,CAAC,EACD,EAAc,KAAM,QAAQ,EAC5B,EAAc,KAAM,QAAQ,EAC5B,KAAK,OAAS,EACd,KAAK,OAAS,KAEZ,QAAO,EAAG,CACZ,GAAI,CAAC,KAAK,OAAO,GACf,MAAU,MAAM,8BAA8B,EAEhD,OAAO,KAAK,OAAO,GAAG,WAEpB,SAAQ,EAAG,CACb,GAAI,CAAC,KAAK,OAAO,GACf,MAAU,MAAM,8BAA8B,EAEhD,OAAO,KAAK,OAAO,GAAG,cAElB,oBAAmB,CAAC,EAAS,EAAa,CAC9C,IAAM,EAAW,CAAC,EAClB,QAAW,KAAS,KAAK,OAAQ,CAC/B,GAAI,CAAC,EAAM,QAAU,CAAC,OAAO,KAAK,EAAM,MAAM,EAAE,SAAS,OAAO,EAC9D,MAAU,MACR,wBAAwB,EAAM,+EAChC,EAEF,EAAM,OAAO,MAAQ,CAAC,EAAK,IAAY,CAMrC,MALA,EAAS,KAAK,CACZ,cAAe,EAAM,SACrB,UACA,KACF,CAAC,EACK,IAAI,EAA4B,gCAAgC,GAExE,GAAI,CACF,MAAM,EAAM,GAAa,CAAO,EAChC,MAAO,EAAG,CACV,GAAI,EAAE,aAAa,GACjB,MAAM,GAIZ,IAAM,EAAO,MAAM,QAAQ,IACzB,EAAS,IAAI,MAAO,IAAQ,CAC1B,IAAI,EAAiB,KACrB,QAAW,KAAY,EACrB,GAAI,EAAS,MAAM,KAAK,EAAI,GAAG,EAC7B,EAAiB,EAGrB,GAAI,CAAC,EACH,MAAU,MACR,wBAAwB,EAAI,oFAC9B,EAEF,GAAI,CAAC,EAAI,QAAQ,KACf,MAAU,MAAM,uDAAuD,EAEzE,IAAM,EAAa,EAAe,WAAa,gBAE/C,IADkB,QAAS,EAAI,QAAQ,QAAU,EAAI,QAAQ,QAAQ,IAAI,CAAU,EAAI,EAAI,QAAQ,QAAQ,KAC5F,QAAQ,CAAa,IAAM,GACxC,GAAI,WAAY,EAAI,QAAQ,QAC1B,EAAI,QAAQ,QAAQ,OAAO,CAAU,EAErC,YAAO,EAAI,QAAQ,QAAQ,GAG/B,MAAO,CACL,SAAU,EAAe,kBAAkB,EAAI,GAAG,EAClD,QAAS,EAAI,QAAQ,QACrB,SAAU,EAAe,KACzB,MAAO,MAAM,EAAe,EAAI,QAAQ,IAAI,CAC9C,EACD,CACH,EACM,EAAU,EAAsB,KAAK,OAAO,SAAW,CAAC,CAAC,EAC3D,EACJ,GAAI,YAAa,KAAK,OAAQ,CAC5B,IAAM,EAAc,EAAK,IAAI,CAAC,KAAS,IAClC,EACH,QAAS,IACJ,EAAI,SAAW,CAAC,KAChB,OAAO,YAAY,EAAQ,QAAQ,CAAC,CACzC,CACF,EAAE,EACF,EAAO,MAAM,KAAK,OAAO,QAAQ,IAAI,EAAa,CAChD,OAAQ,EAAQ,WAClB,CAAC,EAED,OAAQ,IAAI,eAAgB,kBAAkB,EAC9C,EAAQ,IAAI,uBAAwB,UAAU,KAAK,OAAO,QAAQ,EAClE,EAAO,MAAM,MACX,wCAAwC,KAAK,OAAO,aAAa,KAAK,OAAO,UAC7E,CACE,KAAM,KAAK,UAAU,CAAI,EACzB,UACA,OAAQ,OACR,OAAQ,EAAQ,WAClB,CACF,EAEF,GAAI,EAAK,SAAW,IAAK,CAEvB,IAAM,EAAS,MADG,EAAK,MAAM,EACE,KAAK,EACpC,GAAI,EAAO,UAAY,IAAS,EAAO,OAAS,EAAO,MAAM,OAAS,GAAK,EAAO,MAAM,IAAI,OAAS,KACnG,MAAM,IAAI,EAAsB,gCAAgC,EAE7D,QAAI,EAAK,SAAW,IAAK,CAE9B,IAAM,EAAS,MADG,EAAK,MAAM,EACE,KAAK,EACpC,GAAI,EAAO,UAAY,IAAS,EAAO,OAAS,EAAO,MAAM,OAAS,GAAK,EAAO,MAAM,IAAI,OAAS,KACnG,MAAM,IAAI,EACR,kFACF,EAGJ,IAAM,EAAO,OAAO,SAAS,EAAK,QAAQ,IAAI,aAAa,GAAK,IAAK,EAAE,EACvE,GAAI,CAAC,KAAK,OAAO,GACf,MAAU,MAAM,6BAA6B,EAM/C,OAJA,KAAK,OAAO,GAAM,OAAS,IACtB,KAAK,OAAO,GAAM,OACrB,MAAO,CAAC,EAAM,IAAS,CACzB,EACO,KAAK,OAAO,GAAM,GAAa,CAAO,OAEzC,SAAQ,CAAC,EAAS,CACtB,OAAO,KAAK,oBAAoB,EAAS,UAAU,OAE/C,WAAU,CAAC,EAAS,CACxB,OAAO,KAAK,oBAAoB,EAAS,YAAY,EAEzD,EACA,SAAS,CAAe,CAAC,EAAS,CAChC,IAAM,EAAkB,CAAC,IAAW,CAClC,OAAO,IAAI,EAA2B,MAAM,QAAQ,CAAM,EAAI,EAAS,CAAC,CAAM,EAAG,CAAO,GAEpF,EAAW,CAAC,IAAW,EAAgB,CAAM,EAEnD,OADA,EAAS,KAAO,EACT,EAET,SAAS,CAAqB,CAAC,EAAS,CACtC,IAAM,EAAU,IAAI,QACpB,GAAI,EAAQ,YAAc,GACxB,EAAQ,IAAI,gBAAiB,MAAM,EAErC,GAAI,EAAQ,SACV,EAAQ,IAAI,eAAgB,EAAQ,SAAS,SAAS,CAAC,EAEzD,GAAI,EAAQ,SACV,EAAQ,IAAI,kBAAmB,KAAK,UAAU,EAAQ,QAAQ,CAAC,EAEjE,GAAI,EAAQ,SACV,EAAQ,IAAI,mBAAoB,EAAQ,QAAQ,EAElD,GAAI,EAAQ,aAAoB,OAC9B,EAAQ,IAAI,qBAAsB,EAAQ,aAAe,GAAO,OAAS,OAAO,EAElF,GAAI,EAAQ,UAAiB,OAC3B,EAAQ,IAAI,kBAAmB,EAAQ,OAAO,EAEhD,GAAI,EAAQ,mBAA0B,OACpC,EAAQ,IAAI,yBAA0B,EAAQ,iBAAiB,SAAS,CAAC,EAE3E,GAAI,EAAQ,UAAiB,OAAG,CAC9B,GAAI,EAAQ,QAAQ,cAAqB,OACvC,EAAQ,IAAI,sBAAuB,EAAQ,QAAQ,YAAY,SAAS,CAAC,EAE3E,GAAI,EAAQ,QAAQ,eAAsB,OACxC,EAAQ,IAAI,qBAAsB,EAAQ,QAAQ,aAAa,SAAS,CAAC,EAE3E,GAAI,EAAQ,QAAQ,UAAiB,OACnC,EAAQ,IAAI,iBAAkB,EAAQ,QAAQ,OAAO,EAGzD,OAAO", | ||
| "debugId": "4A92B768FEBA117B64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["src/commands/handlers/mcp/auth.ts"], | ||
| "sourcesContent": [ | ||
| "import { EOL } from \"node:os\"\nimport { Effect } from \"effect\"\nimport {\n createOpencodeClient,\n type IntegrationAttemptStatus,\n type IntegrationOAuthMethod,\n type OpencodeClient,\n} from \"@opencode-ai/sdk/v2/client\"\nimport { Commands } from \"../../commands\"\nimport { Runtime } from \"../../../framework/runtime\"\nimport { Service } from \"@opencode-ai/client/effect\"\nimport { ServiceConfig } from \"../../../services/service-config\"\nimport { resolveIntegration } from \"./resolve\"\n\nconst location = { directory: process.cwd() }\n\nexport default Runtime.handler(\n Commands.commands.mcp.commands.auth,\n Effect.fn(\"cli.mcp.auth\")(function* (input) {\n const options = yield* ServiceConfig.options()\n const found = yield* Service.discover(options)\n const endpoint = found ?? (yield* Service.start(options))\n const client = createOpencodeClient({ baseUrl: endpoint.url, headers: Service.headers(endpoint) })\n\n const integration = yield* resolveIntegration(client, input.name, location)\n if (!integration)\n return yield* Effect.fail(new Error(`MCP server \"${input.name}\" is not an OAuth-capable remote server`))\n const method = integration.methods.find(\n (candidate): candidate is IntegrationOAuthMethod => candidate.type === \"oauth\",\n )\n if (!method)\n return yield* Effect.fail(new Error(`MCP server \"${input.name}\" is not an OAuth-capable remote server`))\n\n const started = yield* Effect.promise(() =>\n client.v2.integration.connect.oauth({ integrationID: integration.id, methodID: method.id, inputs: {}, location }),\n )\n const attempt = started.data?.data\n if (!attempt) return yield* Effect.fail(new Error(started.error?.message ?? \"Failed to start OAuth attempt\"))\n if (attempt.mode === \"code\")\n return yield* Effect.fail(new Error(\"This server requires manual code entry, which the CLI does not support\"))\n\n process.stdout.write(attempt.instructions + EOL + attempt.url + EOL)\n\n const result = yield* poll(client, attempt.attemptID)\n if (result.status === \"complete\") {\n process.stdout.write(`Authenticated with ${input.name}` + EOL)\n return\n }\n const reason = result.status === \"failed\" ? `: ${result.message}` : \"\"\n return yield* Effect.fail(new Error(`Authentication ${result.status}${reason}`))\n }),\n)\n\nconst poll = (\n client: OpencodeClient,\n attemptID: string,\n): Effect.Effect<Exclude<IntegrationAttemptStatus, { status: \"pending\" }>> =>\n Effect.gen(function* () {\n const response = yield* Effect.promise(() => client.v2.integration.attempt.status({ attemptID, location }))\n const status = response.data?.data\n if (!status || status.status === \"pending\") {\n yield* Effect.sleep(\"1 second\")\n return yield* poll(client, attemptID)\n }\n return status\n })\n" | ||
| ], | ||
| "mappings": ";guBAAA,mBAAS,gBAcT,SAAM,OAAW,MAAE,eAAW,aAAQ,SAAI,MAAE,OAE7B,SAAQ,aACrB,OAAS,cAAS,SAAI,cAAS,UAC/B,OAAO,GAAG,cAAc,EAAE,SAAU,CAAC,EAAO,CAC1C,IAAM,EAAU,MAAO,EAAc,QAAQ,EAEvC,GADQ,MAAO,EAAQ,SAAS,CAAO,KAClB,MAAO,EAAQ,MAAM,CAAO,GACjD,EAAS,EAAqB,CAAE,QAAS,EAAS,IAAK,QAAS,EAAQ,QAAQ,CAAQ,CAAE,CAAC,EAE3F,EAAc,MAAO,EAAmB,EAAQ,EAAM,KAAM,CAAQ,EAC1E,GAAI,CAAC,EACH,OAAO,MAAO,EAAO,KAAS,MAAM,eAAe,EAAM,6CAA6C,CAAC,EACzG,IAAM,EAAS,EAAY,QAAQ,KACjC,CAAC,IAAmD,EAAU,OAAS,OACzE,EACA,GAAI,CAAC,EACH,OAAO,MAAO,EAAO,KAAS,MAAM,eAAe,EAAM,6CAA6C,CAAC,EAEzG,IAAM,EAAU,MAAO,EAAO,QAAQ,IACpC,EAAO,GAAG,YAAY,QAAQ,MAAM,CAAE,cAAe,EAAY,GAAI,SAAU,EAAO,GAAI,OAAQ,CAAC,EAAG,UAAS,CAAC,CAClH,EACM,EAAU,EAAQ,MAAM,KAC9B,GAAI,CAAC,EAAS,OAAO,MAAO,EAAO,KAAS,MAAM,EAAQ,OAAO,SAAW,+BAA+B,CAAC,EAC5G,GAAI,EAAQ,OAAS,OACnB,OAAO,MAAO,EAAO,KAAS,MAAM,wEAAwE,CAAC,EAE/G,QAAQ,OAAO,MAAM,EAAQ,aAAe,EAAM,EAAQ,IAAM,CAAG,EAEnE,IAAM,EAAS,MAAO,EAAK,EAAQ,EAAQ,SAAS,EACpD,GAAI,EAAO,SAAW,WAAY,CAChC,QAAQ,OAAO,MAAM,sBAAsB,EAAM,OAAS,CAAG,EAC7D,OAEF,IAAM,EAAS,EAAO,SAAW,SAAW,KAAK,EAAO,UAAY,GACpE,OAAO,MAAO,EAAO,KAAS,MAAM,kBAAkB,EAAO,SAAS,GAAQ,CAAC,EAChF,CACH,EAEM,EAAO,CACX,EACA,IAEA,EAAO,IAAI,SAAU,EAAG,CAEtB,IAAM,GADW,MAAO,EAAO,QAAQ,IAAM,EAAO,GAAG,YAAY,QAAQ,OAAO,CAAE,YAAW,UAAS,CAAC,CAAC,GAClF,MAAM,KAC9B,GAAI,CAAC,GAAU,EAAO,SAAW,UAE/B,OADA,MAAO,EAAO,MAAM,UAAU,EACvB,MAAO,EAAK,EAAQ,CAAS,EAEtC,OAAO,EACR", | ||
| "debugId": "D8D9AD410B3A13B364756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["../tui/src/component/spinner.tsx", "../tui/src/ui/spinner.ts"], | ||
| "sourcesContent": [ | ||
| "import { createTextNode as _$createTextNode } from \"@opentui/solid\";\nimport { insertNode as _$insertNode } from \"@opentui/solid\";\nimport { createComponent as _$createComponent } from \"@opentui/solid\";\nimport { effect as _$effect } from \"@opentui/solid\";\nimport { insert as _$insert } from \"@opentui/solid\";\nimport { setProp as _$setProp } from \"@opentui/solid\";\nimport { createElement as _$createElement } from \"@opentui/solid\";\nimport { Show } from \"solid-js\";\nimport { useTheme } from \"../context/theme\";\nimport { useKV } from \"../context/kv\";\nimport { registerOpencodeSpinner } from \"./register-spinner\";\nregisterOpencodeSpinner();\nexport const SPINNER_FRAMES = [\"⠋\", \"⠙\", \"⠹\", \"⠸\", \"⠼\", \"⠴\", \"⠦\", \"⠧\", \"⠇\", \"⠏\"];\nexport function Spinner(props) {\n const {\n theme\n } = useTheme();\n const kv = useKV();\n const color = () => props.color ?? theme.textMuted;\n return _$createComponent(Show, {\n get when() {\n return kv.get(\"animations_enabled\", true);\n },\n get fallback() {\n return (() => {\n var _el$4 = _$createElement(\"text\"),\n _el$5 = _$createTextNode(`⋯ `);\n _$insertNode(_el$4, _el$5);\n _$insert(_el$4, () => props.children, null);\n _$effect(_$p => _$setProp(_el$4, \"fg\", color(), _$p));\n return _el$4;\n })();\n },\n get children() {\n var _el$ = _$createElement(\"box\"),\n _el$2 = _$createElement(\"spinner\");\n _$insertNode(_el$, _el$2);\n _$setProp(_el$, \"flexDirection\", \"row\");\n _$setProp(_el$, \"gap\", 1);\n _$setProp(_el$2, \"frames\", SPINNER_FRAMES);\n _$setProp(_el$2, \"interval\", 80);\n _$insert(_el$, _$createComponent(Show, {\n get when() {\n return props.children;\n },\n get children() {\n var _el$3 = _$createElement(\"text\");\n _$insert(_el$3, () => props.children);\n _$effect(_$p => _$setProp(_el$3, \"fg\", color(), _$p));\n return _el$3;\n }\n }), null);\n _$effect(_$p => _$setProp(_el$2, \"color\", color(), _$p));\n return _el$;\n }\n });\n}", | ||
| "import type { ColorInput } from \"@opentui/core\"\nimport { RGBA } from \"@opentui/core\"\nimport type { ColorGenerator } from \"opentui-spinner\"\n\ninterface AdvancedGradientOptions {\n colors: ColorInput[]\n trailLength: number\n defaultColor?: ColorInput\n direction?: \"forward\" | \"backward\" | \"bidirectional\"\n holdFrames?: { start?: number; end?: number }\n enableFading?: boolean\n minAlpha?: number\n}\n\ninterface ScannerState {\n activePosition: number\n isHolding: boolean\n holdProgress: number\n holdTotal: number\n movementProgress: number\n movementTotal: number\n isMovingForward: boolean\n}\n\nfunction getScannerState(\n frameIndex: number,\n totalChars: number,\n options: Pick<AdvancedGradientOptions, \"direction\" | \"holdFrames\">,\n): ScannerState {\n const { direction = \"forward\", holdFrames = {} } = options\n\n if (direction === \"bidirectional\") {\n const forwardFrames = totalChars\n const holdEndFrames = holdFrames.end ?? 0\n const backwardFrames = totalChars - 1\n\n if (frameIndex < forwardFrames) {\n // Moving forward\n return {\n activePosition: frameIndex,\n isHolding: false,\n holdProgress: 0,\n holdTotal: 0,\n movementProgress: frameIndex,\n movementTotal: forwardFrames,\n isMovingForward: true,\n }\n } else if (frameIndex < forwardFrames + holdEndFrames) {\n // Holding at end\n return {\n activePosition: totalChars - 1,\n isHolding: true,\n holdProgress: frameIndex - forwardFrames,\n holdTotal: holdEndFrames,\n movementProgress: 0,\n movementTotal: 0,\n isMovingForward: true,\n }\n } else if (frameIndex < forwardFrames + holdEndFrames + backwardFrames) {\n // Moving backward\n const backwardIndex = frameIndex - forwardFrames - holdEndFrames\n return {\n activePosition: totalChars - 2 - backwardIndex,\n isHolding: false,\n holdProgress: 0,\n holdTotal: 0,\n movementProgress: backwardIndex,\n movementTotal: backwardFrames,\n isMovingForward: false,\n }\n } else {\n // Holding at start\n return {\n activePosition: 0,\n isHolding: true,\n holdProgress: frameIndex - forwardFrames - holdEndFrames - backwardFrames,\n holdTotal: holdFrames.start ?? 0,\n movementProgress: 0,\n movementTotal: 0,\n isMovingForward: false,\n }\n }\n } else if (direction === \"backward\") {\n return {\n activePosition: totalChars - 1 - (frameIndex % totalChars),\n isHolding: false,\n holdProgress: 0,\n holdTotal: 0,\n movementProgress: frameIndex % totalChars,\n movementTotal: totalChars,\n isMovingForward: false,\n }\n } else {\n return {\n activePosition: frameIndex % totalChars,\n isHolding: false,\n holdProgress: 0,\n holdTotal: 0,\n movementProgress: frameIndex % totalChars,\n movementTotal: totalChars,\n isMovingForward: true,\n }\n }\n}\n\nfunction calculateColorIndex(\n frameIndex: number,\n charIndex: number,\n totalChars: number,\n options: Pick<AdvancedGradientOptions, \"direction\" | \"holdFrames\" | \"trailLength\">,\n state?: ScannerState,\n): number {\n const { trailLength } = options\n const { activePosition, isHolding, holdProgress, isMovingForward } =\n state ?? getScannerState(frameIndex, totalChars, options)\n\n // Calculate directional distance (positive means trailing behind)\n const directionalDistance = isMovingForward\n ? activePosition - charIndex // For forward: trail is to the left (lower indices)\n : charIndex - activePosition // For backward: trail is to the right (higher indices)\n\n // Handle hold frame fading: keep the lead bright, fade the trail\n if (isHolding) {\n // Shift the color index by how long we've been holding\n return directionalDistance + holdProgress\n }\n\n // Normal movement - show gradient trail only behind the movement direction\n if (directionalDistance > 0 && directionalDistance < trailLength) {\n return directionalDistance\n }\n\n // At the active position, show the brightest color\n if (directionalDistance === 0) {\n return 0\n }\n\n return -1\n}\n\nfunction createKnightRiderTrail(options: AdvancedGradientOptions): ColorGenerator {\n const { colors, defaultColor, enableFading = true, minAlpha = 0 } = options\n\n // Use the provided defaultColor if it's an RGBA instance, otherwise convert/default\n // We use RGBA.fromHex for the fallback to ensure we have an RGBA object.\n // Note: If defaultColor is a string, we convert it once here.\n const defaultRgba = defaultColor instanceof RGBA ? defaultColor : RGBA.fromHex((defaultColor as string) || \"#000000\")\n\n // Store the base alpha from the inactive factor\n const baseInactiveAlpha = defaultRgba.a\n\n let cachedFrameIndex = -1\n let cachedState: ScannerState | null = null\n\n return (frameIndex: number, charIndex: number, _totalFrames: number, totalChars: number) => {\n if (frameIndex !== cachedFrameIndex) {\n cachedFrameIndex = frameIndex\n cachedState = getScannerState(frameIndex, totalChars, options)\n }\n\n const state = cachedState!\n\n const index = calculateColorIndex(frameIndex, charIndex, totalChars, options, state)\n\n // Calculate global fade for inactive dots during hold or movement\n const { isHolding, holdProgress, holdTotal, movementProgress, movementTotal } = state\n\n let fadeFactor = 1.0\n if (enableFading) {\n if (isHolding && holdTotal > 0) {\n // Fade out linearly to minAlpha\n const progress = Math.min(holdProgress / holdTotal, 1)\n fadeFactor = Math.max(minAlpha, 1 - progress * (1 - minAlpha))\n } else if (!isHolding && movementTotal > 0) {\n // Fade in linearly from minAlpha during movement\n const progress = Math.min(movementProgress / Math.max(1, movementTotal - 1), 1)\n fadeFactor = minAlpha + progress * (1 - minAlpha)\n }\n }\n\n // Combine base inactive alpha with the fade factor\n // This ensures inactiveFactor is respected while still allowing fading animation\n defaultRgba.a = baseInactiveAlpha * fadeFactor\n\n if (index === -1) {\n return defaultRgba\n }\n\n return colors[index] ?? defaultRgba\n }\n}\n\n/**\n * Derives a gradient of tail colors from a single bright color using alpha falloff\n * @param brightColor The brightest color (center/head of the scanner)\n * @param steps Number of gradient steps (default: 6)\n * @returns Array of RGBA colors with alpha-based trail fade (background-independent)\n */\nexport function deriveTrailColors(brightColor: ColorInput, steps: number = 6): RGBA[] {\n const baseRgba = brightColor instanceof RGBA ? brightColor : RGBA.fromHex(brightColor as string)\n\n const colors: RGBA[] = []\n\n for (let i = 0; i < steps; i++) {\n // Alpha-based falloff with optional bloom effect\n let alpha: number\n let brightnessFactor: number\n\n if (i === 0) {\n // Lead position: full brightness and opacity\n alpha = 1.0\n brightnessFactor = 1.0\n } else if (i === 1) {\n // Slight bloom/glare effect: brighten color but reduce opacity slightly\n alpha = 0.9\n brightnessFactor = 1.15\n } else {\n // Exponential alpha decay for natural-looking trail fade\n alpha = Math.pow(0.65, i - 1)\n brightnessFactor = 1.0\n }\n\n const r = Math.min(1.0, baseRgba.r * brightnessFactor)\n const g = Math.min(1.0, baseRgba.g * brightnessFactor)\n const b = Math.min(1.0, baseRgba.b * brightnessFactor)\n\n colors.push(RGBA.fromValues(r, g, b, alpha))\n }\n\n return colors\n}\n\n/**\n * Derives the inactive/default color from a bright color using alpha\n * @param brightColor The brightest color (center/head of the scanner)\n * @param factor Alpha factor for inactive color (default: 0.2, range: 0-1)\n * @returns The same color with reduced alpha for background-independent dimming\n */\nexport function deriveInactiveColor(brightColor: ColorInput, factor: number = 0.2): RGBA {\n const baseRgba = brightColor instanceof RGBA ? brightColor : RGBA.fromHex(brightColor as string)\n\n // Use the full color brightness but adjust alpha for background-independent dimming\n return RGBA.fromValues(baseRgba.r, baseRgba.g, baseRgba.b, factor)\n}\n\nexport type KnightRiderStyle = \"blocks\" | \"diamonds\"\n\nexport interface KnightRiderOptions {\n width?: number\n style?: KnightRiderStyle\n holdStart?: number\n holdEnd?: number\n colors?: ColorInput[]\n /** Single color to derive trail from (alternative to providing colors array) */\n color?: ColorInput\n /** Number of trail steps when using single color (default: 6) */\n trailSteps?: number\n defaultColor?: ColorInput\n /** Alpha factor for inactive color when using single color (default: 0.2, range: 0-1) */\n inactiveFactor?: number\n /** Enable fading of inactive dots during hold and movement (default: true) */\n enableFading?: boolean\n /** Minimum alpha value when fading (default: 0, range: 0-1) */\n minAlpha?: number\n}\n\n/**\n * Creates frame strings for a Knight Rider style scanner animation\n * @param options Configuration options for the Knight Rider effect\n * @returns Array of frame strings\n */\nexport function createFrames(options: KnightRiderOptions = {}): string[] {\n const width = options.width ?? 8\n const style = options.style ?? \"diamonds\"\n const holdStart = options.holdStart ?? 30\n const holdEnd = options.holdEnd ?? 9\n\n const colors =\n options.colors ??\n (options.color\n ? deriveTrailColors(options.color, options.trailSteps)\n : [\n RGBA.fromHex(\"#ff0000\"), // Brightest Red (Center)\n RGBA.fromHex(\"#ff5555\"), // Glare/Bloom\n RGBA.fromHex(\"#dd0000\"), // Trail 1\n RGBA.fromHex(\"#aa0000\"), // Trail 2\n RGBA.fromHex(\"#770000\"), // Trail 3\n RGBA.fromHex(\"#440000\"), // Trail 4\n ])\n\n const defaultColor =\n options.defaultColor ??\n (options.color ? deriveInactiveColor(options.color, options.inactiveFactor) : RGBA.fromHex(\"#330000\"))\n\n const trailOptions = {\n colors,\n trailLength: colors.length,\n defaultColor,\n direction: \"bidirectional\" as const,\n holdFrames: { start: holdStart, end: holdEnd },\n enableFading: options.enableFading,\n minAlpha: options.minAlpha,\n }\n\n // Bidirectional cycle: Forward (width) + Hold End + Backward (width-1) + Hold Start\n const totalFrames = width + holdEnd + (width - 1) + holdStart\n\n // Generate dynamic frames where inactive pixels are dots and active ones are blocks\n const frames = Array.from({ length: totalFrames }, (_, frameIndex) => {\n return Array.from({ length: width }, (_, charIndex) => {\n const index = calculateColorIndex(frameIndex, charIndex, width, trailOptions)\n\n if (style === \"diamonds\") {\n const shapes = [\"⬥\", \"◆\", \"⬩\", \"⬪\"]\n if (index >= 0 && index < trailOptions.colors.length) {\n return shapes[Math.min(index, shapes.length - 1)]\n }\n return \"·\"\n }\n\n // Default to blocks\n // It's active if we have a valid color index that is within our colors array\n const isActive = index >= 0 && index < trailOptions.colors.length\n return isActive ? \"■\" : \"⬝\"\n }).join(\"\")\n })\n\n return frames\n}\n\n/**\n * Creates a color generator function for Knight Rider style scanner animation\n * @param options Configuration options for the Knight Rider effect\n * @returns ColorGenerator function\n */\nexport function createColors(options: KnightRiderOptions = {}): ColorGenerator {\n const holdStart = options.holdStart ?? 30\n const holdEnd = options.holdEnd ?? 9\n\n const colors =\n options.colors ??\n (options.color\n ? deriveTrailColors(options.color, options.trailSteps)\n : [\n RGBA.fromHex(\"#ff0000\"), // Brightest Red (Center)\n RGBA.fromHex(\"#ff5555\"), // Glare/Bloom\n RGBA.fromHex(\"#dd0000\"), // Trail 1\n RGBA.fromHex(\"#aa0000\"), // Trail 2\n RGBA.fromHex(\"#770000\"), // Trail 3\n RGBA.fromHex(\"#440000\"), // Trail 4\n ])\n\n const defaultColor =\n options.defaultColor ??\n (options.color ? deriveInactiveColor(options.color, options.inactiveFactor) : RGBA.fromHex(\"#330000\"))\n\n const trailOptions = {\n colors,\n trailLength: colors.length,\n defaultColor,\n direction: \"bidirectional\" as const,\n holdFrames: { start: holdStart, end: holdEnd },\n enableFading: options.enableFading,\n minAlpha: options.minAlpha,\n }\n\n return createKnightRiderTrail(trailOptions)\n}\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "D62B0FE3EE89C05C64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260703190000_reset_v2_shell_event_payloads.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260703190000_reset_v2_shell_event_payloads\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`DELETE FROM \\`session_input\\`;`)\n yield* tx.run(`DELETE FROM \\`session_message\\`;`)\n yield* tx.run(`DELETE FROM \\`event\\`;`)\n yield* tx.run(`DELETE FROM \\`event_sequence\\`;`)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,+CACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,8BAAgC,EAC9C,MAAO,EAAG,IAAI,gCAAkC,EAChD,MAAO,EAAG,IAAI,sBAAwB,EACtC,MAAO,EAAG,IAAI,+BAAiC,EAChD,EAEL", | ||
| "debugId": "522FEAAFF15EBF4664756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "22DD63D1A374261D64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/cli-spinners@3.4.0/node_modules/cli-spinners/index.js", "../../node_modules/.bun/opentui-spinner@0.0.7+d3ea10796c516e66/node_modules/opentui-spinner/dist/src-DjeqLSfu.mjs", "../../node_modules/.bun/opentui-spinner@0.0.7+d3ea10796c516e66/node_modules/opentui-spinner/dist/solid.mjs", "../tui/src/component/register-spinner.ts"], | ||
| "sourcesContent": [ | ||
| "import spinners from './spinners.json' with {type: 'json'};\n\nexport default spinners;\n\nconst spinnersList = Object.keys(spinners);\n\nexport function randomSpinner() {\n\tconst randomIndex = Math.floor(Math.random() * spinnersList.length);\n\tconst spinnerName = spinnersList[randomIndex];\n\treturn spinners[spinnerName];\n}\n", | ||
| "import{Renderable as e,parseColor as t,resolveRenderLib as n}from\"@opentui/core\";import r from\"cli-spinners\";const i=1e3/60,a=1e3;function o(e){if(!Number.isFinite(e)||e<i||e>a)throw RangeError(`Spinner interval must be a finite number between ${i}ms and ${a}ms`);return e}const s={now:()=>performance.now(),setInterval:(e,t)=>{let n=setInterval(e,t);return n.unref(),n},clearInterval:e=>clearInterval(e)},c=new class{active=new Map;heap=[];timer=null;timerDueAt=0;generation=0;lastWakeAt=-1/0;clock;constructor(e=s,t=16){this.denseTickThreshold=t,this.clock=e}setClock(e){if(this.active.size>0||this.timer!==null)throw Error(`Cannot replace the spinner scheduler clock while active`);this.clock=e}start(e,t,n){if(this.active.has(e))return;let r={spinner:e,interval:t,nextDueAt:this.clock.now()+t,advance:n};this.active.set(e,r),this.push(r),this.armNext()}reschedule(e,t){let n=this.active.get(e);if(!n)return;let r={spinner:e,interval:t,nextDueAt:this.clock.now()+t,advance:n.advance};this.active.set(e,r),this.push(r),this.compactIfNeeded(),this.armNext()}stop(e){this.active.delete(e)&&(this.compactIfNeeded(),this.armNext())}armNext(){this.discardStaleRoots();let e=this.heap[0];if(!e){this.cancelTimer(),this.lastWakeAt=-1/0;return}let t=this.clock.now(),n=Math.max(e.nextDueAt,this.lastWakeAt+i);if(this.timer!==null&&this.timerDueAt===n)return;this.cancelTimer();let r=this.generation,a=Math.max(n-t,0);this.timerDueAt=n,this.timer=this.clock.setInterval(()=>this.tick(r),a)}cancelTimer(){this.timer!==null&&(this.generation++,this.clock.clearInterval(this.timer),this.timer=null)}tick(e){if(e!==this.generation||this.timer===null)return;let t=this.timer;this.generation++,this.timer=null,this.clock.clearInterval(t);let n=this.clock.now();this.discardStaleRoots();let r=!1,i=0,a=[];for(;this.heap[0]&&this.heap[0].nextDueAt<=n;){let e=this.pop();if(!(!e||!this.isCurrent(e))){try{e.advance()}catch(e){a.push(e)}if(r=!0,this.isCurrent(e)&&(e.nextDueAt=n+e.interval,this.push(e),i++,i===this.denseTickThreshold)){let e=this.heap;this.heap=[];for(let t of e)if(this.isCurrent(t)){if(t.nextDueAt<=n){try{t.advance()}catch(e){a.push(e)}if(r=!0,!this.isCurrent(t))continue;t.nextDueAt=n+t.interval}this.heap.push(t)}this.heapify();break}}}if(r&&(this.lastWakeAt=n),this.compactIfNeeded(),this.armNext(),a.length===1)throw a[0];if(a.length>1)throw AggregateError(a,`Multiple spinner callbacks failed`)}isCurrent(e){return this.active.get(e.spinner)===e}discardStaleRoots(){for(;this.heap[0]&&!this.isCurrent(this.heap[0]);)this.pop()}compactIfNeeded(){this.heap.length<=this.active.size*2+16||(this.heap=Array.from(this.active.values()),this.heapify())}heapify(){for(let e=Math.floor(this.heap.length/2)-1;e>=0;e--)this.siftDown(e)}push(e){this.heap.push(e);let t=this.heap.length-1;for(;t>0;){let n=Math.floor((t-1)/2);if(this.heap[n].nextDueAt<=e.nextDueAt)break;this.heap[t]=this.heap[n],t=n}this.heap[t]=e}pop(){let e=this.heap[0],t=this.heap.pop();return!e||!t||this.heap.length===0?e:(this.heap[0]=t,this.siftDown(0),e)}siftDown(e){let t=this.heap[e],n=e;for(;;){let e=n*2+1;if(e>=this.heap.length)break;let r=e+1,i=r<this.heap.length&&this.heap[r].nextDueAt<this.heap[e].nextDueAt?r:e;if(this.heap[i].nextDueAt>=t.nextDueAt)break;this.heap[n]=this.heap[i],n=i}this.heap[n]=t}};function l(e,t=1){if(e.length===0)throw RangeError(`createPulse requires at least one color`);return n=>e[Math.floor(n*t)%e.length]}function u(e){if(e.length===0)throw RangeError(`createWave requires at least one color`);return(t,n,r,i)=>{let a=(n+t)%i;return e[Math.floor(a/i*e.length)]??e[0]}}function d(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}var f=class extends e{_name;_frames;_interval;_autoplay;_backgroundColor;_parsedBackgroundColor;_color;_parsedColor;_currentFrameIndex=0;_encodedFrames={};_lib=n();_isRunning=!1;_advanceFrame=()=>{!this._isRunning||this.isDestroyed||(this._currentFrameIndex=(this._currentFrameIndex+1)%this._frames.length,this.requestRender())};_defaultOptions={name:`dots`,frames:r.dots.frames,interval:r.dots.interval,autoplay:!0,backgroundColor:`transparent`,color:`white`};constructor(e,n){super(e,n),this._name=n.name,this._frames=n.frames?.length?n.frames:this._name?r[this._name].frames:this._defaultOptions.frames,this._interval=o(n.interval??(this._name?r[this._name].interval:this._defaultOptions.interval)),this._autoplay=n.autoplay??this._defaultOptions.autoplay,this._backgroundColor=n.backgroundColor??this._defaultOptions.backgroundColor,this._parsedBackgroundColor=t(this._backgroundColor),this._color=n.color??this._defaultOptions.color,this._parsedColor=typeof this._color==`function`?t(this._defaultOptions.color):t(this._color),this.height=1,this._encodeFrames(),this._autoplay&&this.start()}_encodeFrames(){let e=0;for(let t of this._frames){if(this._encodedFrames[t])continue;let n=this._lib.encodeUnicode(t,this.ctx.widthMethod);n&&(this._encodedFrames[t]=n,e=Math.max(e,n.data.reduce((e,t)=>e+t.width,0)))}this.width=e}_freeFrames(){for(let e in this._encodedFrames)this._encodedFrames[e]&&this._lib.freeUnicode(this._encodedFrames[e]);this._encodedFrames={}}get interval(){return this._interval}set interval(e){this._interval=o(e),this._isRunning&&c.reschedule(this,this._interval)}get name(){return this._name}set name(e){let t=e?r[e].frames:this._defaultOptions.frames,n=o(e?r[e].interval:this._defaultOptions.interval),i=!d(this._frames,t),a=this._interval!==n;this._name=e,this._interval=n,i&&(this._freeFrames(),this._frames=t,this._currentFrameIndex=0,this._encodeFrames(),this.visible&&this.requestRender()),this._isRunning&&a&&c.reschedule(this,n)}get frames(){return this._frames}set frames(e){let t=e.length===0?this._defaultOptions.frames:e;if(d(this._frames,t)){this._frames=t;return}this._freeFrames(),this._frames=t,this._currentFrameIndex=0,this._encodeFrames(),this.visible&&this.requestRender()}get color(){return this._color}set color(e){this._color=e,typeof e!=`function`&&(this._parsedColor=t(e)),this.visible&&this.requestRender()}get backgroundColor(){return this._backgroundColor}set backgroundColor(e){this._backgroundColor=e,this._parsedBackgroundColor=t(e),this.visible&&this.requestRender()}get visible(){return super.visible}set visible(e){e!==super.visible&&(super.visible=e,this._isRunning&&(e?c.start(this,this._interval,this._advanceFrame):c.stop(this)))}get autoplay(){return this._autoplay}set autoplay(e){this._autoplay=e,e?this.start():this.stop()}start(){this._isRunning||this.isDestroyed||(this._isRunning=!0,this.visible&&c.start(this,this._interval,this._advanceFrame))}stop(){this._isRunning&&(this._isRunning=!1,c.stop(this))}renderSelf(e){if(!this.visible)return;let n=this._frames[this._currentFrameIndex];if(!n)return;let r=this._encodedFrames[n];if(!r)return;let i=this.x;for(let n=0;n<r.data.length;n++){let a=typeof this._color==`function`?t(this._color(this._currentFrameIndex,n,this._frames.length,r.data.length)):this._parsedColor;e.drawChar(r.data[n].char,i,this.y,a,this._parsedBackgroundColor),i+=r.data[n].width}}destroySelf(){this.stop(),this._freeFrames(),super.destroySelf()}};export{l as n,u as r,f as t};", | ||
| "import{t as e}from\"./src-DjeqLSfu.mjs\";import{extend as t}from\"@opentui/solid/components\";function n(){t({spinner:e})}n();export{n as registerSpinner};", | ||
| "import { getComponentCatalogue } from \"@opentui/solid/components\"\nimport { registerSpinner } from \"opentui-spinner/solid\"\n\nexport function registerOpencodeSpinner() {\n if (!getComponentCatalogue().spinner) registerSpinner()\n}\n" | ||
| ], | ||
| "mappings": ";yw/BAEA,SAAe,IAET,EAAe,OAAO,KAAK,CAAQ,ECJoE,IAAM,EAAE,mBAAO,EAAE,KAAI,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,MAAM,WAAW,oDAAoD,WAAW,KAAK,EAAE,OAAO,EAAE,IAAM,EAAE,CAAC,IAAI,IAAI,YAAY,IAAI,EAAE,YAAY,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,cAAc,KAAG,cAAc,CAAC,CAAC,EAAE,EAAE,IAAI,KAAK,CAAC,OAAO,IAAI,IAAI,KAAK,CAAC,EAAE,MAAM,KAAK,WAAW,EAAE,WAAW,EAAE,WAAW,KAAK,MAAM,WAAW,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,KAAK,mBAAmB,EAAE,KAAK,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,KAAK,OAAO,KAAK,GAAG,KAAK,QAAQ,KAAK,MAAM,MAAM,yDAAyD,EAAE,KAAK,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,EAAE,OAAO,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,KAAK,MAAM,IAAI,EAAE,EAAE,QAAQ,CAAC,EAAE,KAAK,OAAO,IAAI,EAAE,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,KAAK,QAAQ,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK,OAAO,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,KAAK,MAAM,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,OAAO,IAAI,EAAE,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,KAAK,gBAAgB,EAAE,KAAK,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,OAAO,OAAO,CAAC,IAAI,KAAK,gBAAgB,EAAE,KAAK,QAAQ,GAAG,OAAO,EAAE,CAAC,KAAK,kBAAkB,EAAE,IAAI,EAAE,KAAK,KAAK,GAAG,GAAG,CAAC,EAAE,CAAC,KAAK,YAAY,EAAE,KAAK,WAAW,KAAK,OAAO,IAAI,EAAE,KAAK,MAAM,IAAI,EAAE,EAAE,KAAK,IAAI,EAAE,UAAU,KAAK,WAAW,CAAC,EAAE,GAAG,KAAK,QAAQ,MAAM,KAAK,aAAa,EAAE,OAAO,KAAK,YAAY,EAAE,IAAI,EAAE,KAAK,WAAW,EAAE,KAAK,IAAI,EAAE,EAAE,CAAC,EAAE,KAAK,WAAW,EAAE,KAAK,MAAM,KAAK,MAAM,YAAY,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,KAAK,QAAQ,OAAO,KAAK,aAAa,KAAK,MAAM,cAAc,KAAK,KAAK,EAAE,KAAK,MAAM,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,KAAK,YAAY,KAAK,QAAQ,KAAK,OAAO,IAAI,EAAE,KAAK,MAAM,KAAK,aAAa,KAAK,MAAM,KAAK,KAAK,MAAM,cAAc,CAAC,EAAE,IAAI,EAAE,KAAK,MAAM,IAAI,EAAE,KAAK,kBAAkB,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,GAAG,WAAW,GAAG,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,KAAK,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,SAAS,KAAK,KAAK,CAAC,EAAE,IAAI,IAAI,KAAK,oBAAoB,CAAC,IAAI,EAAE,KAAK,KAAK,KAAK,KAAK,CAAC,EAAE,QAAQ,KAAK,EAAE,GAAG,KAAK,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,UAAU,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,SAAS,KAAK,KAAK,KAAK,CAAC,EAAE,KAAK,QAAQ,EAAE,QAAQ,GAAG,IAAI,KAAK,WAAW,GAAG,KAAK,gBAAgB,EAAE,KAAK,QAAQ,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,MAAM,eAAe,EAAE,mCAAmC,EAAE,SAAS,CAAC,EAAE,CAAC,OAAO,KAAK,OAAO,IAAI,EAAE,OAAO,IAAI,EAAE,iBAAiB,EAAE,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,KAAK,UAAU,KAAK,KAAK,EAAE,GAAG,KAAK,IAAI,EAAE,eAAe,EAAE,CAAC,KAAK,KAAK,QAAQ,KAAK,OAAO,KAAK,EAAE,KAAK,KAAK,KAAK,MAAM,KAAK,KAAK,OAAO,OAAO,CAAC,EAAE,KAAK,QAAQ,GAAG,OAAO,EAAE,CAAC,QAAQ,EAAE,KAAK,MAAM,KAAK,KAAK,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,KAAK,SAAS,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,KAAK,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,OAAO,EAAE,GAAG,CAAC,EAAE,GAAG,KAAK,KAAK,GAAG,WAAW,EAAE,UAAU,MAAM,KAAK,KAAK,GAAG,KAAK,KAAK,GAAG,EAAE,EAAE,KAAK,KAAK,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,GAAG,EAAE,KAAK,KAAK,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,KAAK,SAAS,EAAE,GAAG,KAAK,KAAK,GAAG,EAAE,KAAK,SAAS,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,GAAG,EAAE,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,OAAO,MAAM,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,KAAK,QAAQ,KAAK,KAAK,GAAG,UAAU,KAAK,KAAK,GAAG,UAAU,EAAE,EAAE,GAAG,KAAK,KAAK,GAAG,WAAW,EAAE,UAAU,MAAM,KAAK,KAAK,GAAG,KAAK,KAAK,GAAG,EAAE,EAAE,KAAK,KAAK,GAAG,EAAE,EAAyS,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,MAAM,QAAQ,UAAU,UAAU,iBAAiB,uBAAuB,OAAO,aAAa,mBAAmB,EAAE,eAAe,CAAC,EAAE,KAAK,EAAE,EAAE,WAAW,GAAG,cAAc,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,cAAc,KAAK,oBAAoB,KAAK,mBAAmB,GAAG,KAAK,QAAQ,OAAO,KAAK,cAAc,IAAI,gBAAgB,CAAC,KAAK,OAAO,OAAO,EAAE,KAAK,OAAO,SAAS,EAAE,KAAK,SAAS,SAAS,GAAG,gBAAgB,cAAc,MAAM,OAAO,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,MAAM,EAAE,KAAK,KAAK,QAAQ,EAAE,QAAQ,OAAO,EAAE,OAAO,KAAK,MAAM,EAAE,KAAK,OAAO,OAAO,KAAK,gBAAgB,OAAO,KAAK,UAAU,EAAE,EAAE,WAAW,KAAK,MAAM,EAAE,KAAK,OAAO,SAAS,KAAK,gBAAgB,SAAS,EAAE,KAAK,UAAU,EAAE,UAAU,KAAK,gBAAgB,SAAS,KAAK,iBAAiB,EAAE,iBAAiB,KAAK,gBAAgB,gBAAgB,KAAK,uBAAuB,EAAE,KAAK,gBAAgB,EAAE,KAAK,OAAO,EAAE,OAAO,KAAK,gBAAgB,MAAM,KAAK,aAAa,OAAO,KAAK,QAAQ,WAAW,EAAE,KAAK,gBAAgB,KAAK,EAAE,EAAE,KAAK,MAAM,EAAE,KAAK,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,WAAW,KAAK,MAAM,EAAE,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,QAAQ,KAAK,KAAK,QAAQ,CAAC,GAAG,KAAK,eAAe,GAAG,SAAS,IAAI,EAAE,KAAK,KAAK,cAAc,EAAE,KAAK,IAAI,WAAW,EAAE,IAAI,KAAK,eAAe,GAAG,EAAE,EAAE,KAAK,IAAI,EAAE,EAAE,KAAK,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,KAAK,MAAM,EAAE,WAAW,EAAE,CAAC,QAAQ,KAAK,KAAK,eAAe,KAAK,eAAe,IAAI,KAAK,KAAK,YAAY,KAAK,eAAe,EAAE,EAAE,KAAK,eAAe,CAAC,KAAM,SAAQ,EAAE,CAAC,OAAO,KAAK,aAAc,SAAQ,CAAC,EAAE,CAAC,KAAK,UAAU,EAAE,CAAC,EAAE,KAAK,YAAY,EAAE,WAAW,KAAK,KAAK,SAAS,KAAM,KAAI,EAAE,CAAC,OAAO,KAAK,SAAU,KAAI,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,KAAK,gBAAgB,OAAO,EAAE,EAAE,EAAE,EAAE,GAAG,SAAS,KAAK,gBAAgB,QAAQ,EAAE,EAAE,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,EAAE,KAAK,YAAY,EAAE,KAAK,MAAM,EAAE,KAAK,UAAU,EAAE,IAAI,KAAK,YAAY,EAAE,KAAK,QAAQ,EAAE,KAAK,mBAAmB,EAAE,KAAK,cAAc,EAAE,KAAK,SAAS,KAAK,cAAc,GAAG,KAAK,YAAY,GAAG,EAAE,WAAW,KAAK,CAAC,KAAM,OAAM,EAAE,CAAC,OAAO,KAAK,WAAY,OAAM,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,KAAK,gBAAgB,OAAO,EAAE,GAAG,EAAE,KAAK,QAAQ,CAAC,EAAE,CAAC,KAAK,QAAQ,EAAE,OAAO,KAAK,YAAY,EAAE,KAAK,QAAQ,EAAE,KAAK,mBAAmB,EAAE,KAAK,cAAc,EAAE,KAAK,SAAS,KAAK,cAAc,KAAM,MAAK,EAAE,CAAC,OAAO,KAAK,UAAW,MAAK,CAAC,EAAE,CAAC,KAAK,OAAO,EAAE,OAAO,GAAG,aAAa,KAAK,aAAa,EAAE,CAAC,GAAG,KAAK,SAAS,KAAK,cAAc,KAAM,gBAAe,EAAE,CAAC,OAAO,KAAK,oBAAqB,gBAAe,CAAC,EAAE,CAAC,KAAK,iBAAiB,EAAE,KAAK,uBAAuB,EAAE,CAAC,EAAE,KAAK,SAAS,KAAK,cAAc,KAAM,QAAO,EAAE,CAAC,OAAO,MAAM,WAAY,QAAO,CAAC,EAAE,CAAC,IAAI,MAAM,UAAU,MAAM,QAAQ,EAAE,KAAK,aAAa,EAAE,EAAE,MAAM,KAAK,KAAK,UAAU,KAAK,aAAa,EAAE,EAAE,KAAK,IAAI,OAAQ,SAAQ,EAAE,CAAC,OAAO,KAAK,aAAc,SAAQ,CAAC,EAAE,CAAC,KAAK,UAAU,EAAE,EAAE,KAAK,MAAM,EAAE,KAAK,KAAK,EAAE,KAAK,EAAE,CAAC,KAAK,YAAY,KAAK,cAAc,KAAK,WAAW,GAAG,KAAK,SAAS,EAAE,MAAM,KAAK,KAAK,UAAU,KAAK,aAAa,GAAG,IAAI,EAAE,CAAC,KAAK,aAAa,KAAK,WAAW,GAAG,EAAE,KAAK,IAAI,GAAG,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,QAAQ,OAAO,IAAI,EAAE,KAAK,QAAQ,KAAK,oBAAoB,GAAG,CAAC,EAAE,OAAO,IAAI,EAAE,KAAK,eAAe,GAAG,GAAG,CAAC,EAAE,OAAO,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,KAAK,OAAO,IAAI,CAAC,IAAI,EAAE,OAAO,KAAK,QAAQ,WAAW,EAAE,KAAK,OAAO,KAAK,mBAAmB,EAAE,KAAK,QAAQ,OAAO,EAAE,KAAK,MAAM,CAAC,EAAE,KAAK,aAAa,EAAE,SAAS,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,EAAE,EAAE,KAAK,sBAAsB,EAAE,GAAG,EAAE,KAAK,GAAG,OAAO,WAAW,EAAE,CAAC,KAAK,KAAK,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,EAAE,ECA11N,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,ECGjH,SAAS,CAAuB,EAAG,CACxC,GAAI,CAAC,EAAsB,EAAE,QAAS,EAAgB", | ||
| "debugId": "B6E689C489BBB07B64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260702134641_add_session_context_entry.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260702134641_add_session_context_entry\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`\n CREATE TABLE \\`session_context_entry\\` (\n \\`session_id\\` text NOT NULL,\n \\`key\\` text NOT NULL,\n \\`value\\` text NOT NULL,\n \\`time_created\\` integer NOT NULL,\n \\`time_updated\\` integer NOT NULL,\n CONSTRAINT \\`session_context_entry_pk\\` PRIMARY KEY(\\`session_id\\`, \\`key\\`),\n CONSTRAINT \\`fk_session_context_entry_session_id_session_id_fk\\` FOREIGN KEY (\\`session_id\\`) REFERENCES \\`session\\`(\\`id\\`) ON DELETE CASCADE\n );\n `)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,2CACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,4eAUb,EACF,EAEL", | ||
| "debugId": "AEFF5D1F33EA920F64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "7850CC4D8970D0EB64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/flag/flag.ts", "../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"], | ||
| "sourcesContent": [ | ||
| "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\"]\nconst fff = process.env[\"OPENCODE_DISABLE_FFF\"]\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 OPENCODE_DISABLE_FFF: fff === undefined ? process.platform === \"win32\" : truthy(\"OPENCODE_DISABLE_FFF\"),\n OPENCODE_DISABLE_FILEWATCHER: truthy(\"OPENCODE_DISABLE_FILEWATCHER\"),\n\n // Experimental\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\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 CODEMODE_ENABLED() {\n return process.env[\"CODEMODE_ENABLED\"] === undefined || truthy(\"CODEMODE_ENABLED\")\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", | ||
| "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\"\nimport { makeGlobalNode } from \"./effect/app-node\"\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\nconst layer = Layer.effect(\n Service,\n Effect.sync(() => Service.of(make())),\n)\n\nexport const node = makeGlobalNode({ service: Service, layer: layer, deps: [] })\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", | ||
| "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", | ||
| "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", | ||
| "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" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "A4D2850242BF97E464756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "BDAF10EB480D614A64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../schema/src/command.ts", "../schema/src/form.ts", "../schema/src/session.ts", "../schema/src/prompt-input.ts", "../schema/src/permission-saved.ts", "../schema/src/pty.ts", "../schema/src/question.ts", "../schema/src/reference.ts", "../schema/src/project-copy.ts", "../schema/src/catalog.ts", "../schema/src/mcp.ts", "../schema/src/mcp-event.ts", "../schema/src/plugin.ts", "../schema/src/project-directories.ts", "../schema/src/instruction-entry.ts", "../schema/src/vcs.ts", "../schema/src/models-dev.ts", "../schema/src/v1/filesystem.ts", "../schema/src/installation-event.ts", "../schema/src/v1/legacy-event.ts", "../schema/src/lsp-event.ts", "../schema/src/v1/question.ts", "../schema/src/server-event.ts", "../schema/src/session-compaction-event.ts", "../schema/src/session-status-event.ts", "../schema/src/tui-event.ts", "../schema/src/vcs-event.ts", "../schema/src/workspace-event.ts", "../schema/src/worktree-event.ts", "../schema/src/event-manifest.ts", "../schema/src/workspace.ts"], | ||
| "sourcesContent": [ | ||
| "export * as Command from \"./command.js\"\n\nimport { Schema } from \"effect\"\nimport { ephemeral, inventory } from \"./event.js\"\nimport { optional } from \"./schema.js\"\nimport { Model } from \"./model.js\"\nimport { Agent } from \"./agent.js\"\n\nconst Updated = ephemeral({ type: \"command.updated\", schema: {} })\n\nexport interface Info extends Schema.Schema.Type<typeof Info> {}\nexport const Info = Schema.Struct({\n name: Schema.String,\n template: Schema.String,\n description: Schema.String.pipe(optional),\n agent: Agent.ID.pipe(optional),\n model: Model.Ref.pipe(optional),\n subtask: Schema.Boolean.pipe(optional),\n}).annotate({ identifier: \"Command.Info\" })\n\nexport const Event = {\n Updated,\n Definitions: inventory(Updated),\n}\n", | ||
| "export * as Form from \"./form.js\"\n\nimport { Schema } from \"effect\"\nimport { ephemeral, inventory } from \"./event.js\"\nimport { ascending } from \"./identifier.js\"\nimport { NonNegativeInt, optional, statics } from \"./schema.js\"\n\nconst IDSchema = Schema.String.check(Schema.isStartsWith(\"frm_\")).pipe(Schema.brand(\"Form.ID\"))\n\nexport const ID = IDSchema.pipe(\n statics((schema: typeof IDSchema) => ({ create: (id?: string) => schema.make(id ?? \"frm_\" + ascending()) })),\n)\nexport type ID = typeof ID.Type\n\nexport const Metadata = Schema.Record(Schema.String, Schema.Unknown).annotate({ identifier: \"Form.Metadata\" })\nexport type Metadata = typeof Metadata.Type\n\nexport const Option = Schema.Struct({\n value: Schema.String,\n label: Schema.String,\n description: Schema.String.pipe(optional),\n}).annotate({ identifier: \"Form.Option\" })\nexport interface Option extends Schema.Schema.Type<typeof Option> {}\n\n// One visibility condition on a field. A field's `when` is a list of conditions that must all\n// hold (AND) against the current answers for the field to be active. Semantics:\n// - `value` must match the referenced field's type; against a multiselect answer, `eq` means\n// \"selection includes value\" and `neq` means \"selection does not include value\".\n// - An unanswered referenced field makes the condition false for both ops.\n// - `key` must reference a field defined earlier in the form's field list.\n// Inactive fields are neither required nor answerable.\nexport const When = Schema.Struct({\n key: Schema.String,\n op: Schema.Literals([\"eq\", \"neq\"]),\n value: Schema.Union([Schema.String, Schema.Number, Schema.Boolean]),\n}).annotate({ identifier: \"Form.When\" })\nexport interface When extends Schema.Schema.Type<typeof When> {}\n\nconst FieldBase = {\n key: Schema.String,\n title: Schema.String.pipe(optional),\n description: Schema.String.pipe(optional),\n required: Schema.Boolean.pipe(optional),\n when: Schema.Array(When).pipe(optional),\n}\n\nexport const StringField = Schema.Struct({\n ...FieldBase,\n type: Schema.Literal(\"string\"),\n format: Schema.Literals([\"email\", \"uri\", \"date\", \"date-time\"]).pipe(optional),\n minLength: NonNegativeInt.pipe(optional),\n maxLength: NonNegativeInt.pipe(optional),\n pattern: Schema.String.pipe(optional),\n placeholder: Schema.String.pipe(optional),\n default: Schema.String.pipe(optional),\n options: Schema.Array(Option).pipe(optional),\n custom: Schema.Boolean.pipe(optional),\n}).annotate({ identifier: \"Form.StringField\" })\nexport interface StringField extends Schema.Schema.Type<typeof StringField> {}\n\nexport const NumberField = Schema.Struct({\n ...FieldBase,\n type: Schema.Literal(\"number\"),\n minimum: Schema.Number.pipe(optional),\n maximum: Schema.Number.pipe(optional),\n default: Schema.Number.pipe(optional),\n}).annotate({ identifier: \"Form.NumberField\" })\nexport interface NumberField extends Schema.Schema.Type<typeof NumberField> {}\n\nexport const IntegerField = Schema.Struct({\n ...FieldBase,\n type: Schema.Literal(\"integer\"),\n minimum: Schema.Number.pipe(optional),\n maximum: Schema.Number.pipe(optional),\n default: Schema.Number.pipe(optional),\n}).annotate({ identifier: \"Form.IntegerField\" })\nexport interface IntegerField extends Schema.Schema.Type<typeof IntegerField> {}\n\nexport const BooleanField = Schema.Struct({\n ...FieldBase,\n type: Schema.Literal(\"boolean\"),\n default: Schema.Boolean.pipe(optional),\n}).annotate({ identifier: \"Form.BooleanField\" })\nexport interface BooleanField extends Schema.Schema.Type<typeof BooleanField> {}\n\nexport const MultiselectField = Schema.Struct({\n ...FieldBase,\n type: Schema.Literal(\"multiselect\"),\n options: Schema.Array(Option),\n minItems: NonNegativeInt.pipe(optional),\n maxItems: NonNegativeInt.pipe(optional),\n custom: Schema.Boolean.pipe(optional),\n default: Schema.Array(Schema.String).pipe(optional),\n}).annotate({ identifier: \"Form.MultiselectField\" })\nexport interface MultiselectField extends Schema.Schema.Type<typeof MultiselectField> {}\n\nexport const Field = Schema.Union([StringField, NumberField, IntegerField, BooleanField, MultiselectField]).pipe(\n Schema.toTaggedUnion(\"type\"),\n)\nexport type Field = StringField | NumberField | IntegerField | BooleanField | MultiselectField\n\nconst InfoBase = {\n id: ID,\n // This should be typed as SessionID. It is a plain string only because MCP elicitation\n // temporarily needs the `\"global\"` sentinel owner, which is not a real session. Once\n // elicitations can be attributed to real sessions, revert this to SessionID. Do not rely\n // on non-session owners anywhere else.\n sessionID: Schema.String,\n title: Schema.String,\n metadata: Metadata.pipe(optional),\n}\n\nexport const FormInfo = Schema.Struct({\n ...InfoBase,\n mode: Schema.Literal(\"form\"),\n fields: Schema.Array(Field),\n}).annotate({ identifier: \"Form.FormInfo\" })\nexport interface FormInfo extends Schema.Schema.Type<typeof FormInfo> {}\n\nexport const UrlInfo = Schema.Struct({\n ...InfoBase,\n mode: Schema.Literal(\"url\"),\n url: Schema.String,\n}).annotate({ identifier: \"Form.UrlInfo\" })\nexport interface UrlInfo extends Schema.Schema.Type<typeof UrlInfo> {}\n\nexport const Info = Schema.Union([FormInfo, UrlInfo]).pipe(Schema.toTaggedUnion(\"mode\"))\nexport type Info = FormInfo | UrlInfo\n\nexport const Value = Schema.Union([Schema.String, Schema.Number, Schema.Boolean, Schema.Array(Schema.String)]).annotate(\n {\n identifier: \"Form.Value\",\n },\n)\nexport type Value = typeof Value.Type\n\nexport const Answer = Schema.Record(Schema.String, Value).annotate({ identifier: \"Form.Answer\" })\nexport type Answer = typeof Answer.Type\n\nexport const State = Schema.Union([\n Schema.Struct({ status: Schema.Literal(\"pending\") }),\n Schema.Struct({ status: Schema.Literal(\"answered\"), answer: Answer }),\n Schema.Struct({ status: Schema.Literal(\"cancelled\") }),\n])\n .pipe(Schema.toTaggedUnion(\"status\"))\n .annotate({ identifier: \"Form.State\" })\nexport type State = typeof State.Type\n\nexport const Reply = Schema.Struct({\n answer: Answer,\n}).annotate({ identifier: \"Form.Reply\" })\nexport interface Reply extends Schema.Schema.Type<typeof Reply> {}\n\nconst Created = ephemeral({ type: \"form.created\", schema: { form: Info } })\nconst Replied = ephemeral({ type: \"form.replied\", schema: { id: ID, sessionID: Schema.String, answer: Answer } })\nconst Cancelled = ephemeral({ type: \"form.cancelled\", schema: { id: ID, sessionID: Schema.String } })\n\nexport const Event = { Created, Replied, Cancelled, Definitions: inventory(Created, Replied, Cancelled) }\n", | ||
| "export * as Session from \"./session.js\"\n\nimport { Schema } from \"effect\"\nimport { Agent } from \"./agent.js\"\nimport { Location } from \"./location.js\"\nimport { Model } from \"./model.js\"\nimport { Project } from \"./project.js\"\nimport { DateTimeUtcFromMillis, optional, RelativePath } from \"./schema.js\"\nimport { SessionEvent } from \"./session-event.js\"\nimport { SessionID } from \"./session-id.js\"\nimport { SessionMessage } from \"./session-message.js\"\nimport { Money } from \"./money.js\"\nimport { TokenUsage } from \"./token-usage.js\"\nimport { Revert } from \"./session-revert.js\"\n\nexport const ID = SessionID\nexport type ID = SessionID\n\nexport const Event = SessionEvent\n\nexport { Revert }\n\nexport interface Info extends Schema.Schema.Type<typeof Info> {}\nexport const Info = Schema.Struct({\n id: ID,\n parentID: ID.pipe(optional),\n fork: Schema.Struct({\n sessionID: ID,\n /** Messages before this exclusive boundary are copied into the fork. */\n messageID: SessionMessage.ID.pipe(optional),\n }).pipe(optional),\n projectID: Project.ID,\n agent: Agent.ID.pipe(optional),\n model: Model.Ref.pipe(optional),\n cost: Money.USD,\n tokens: TokenUsage.Info,\n time: Schema.Struct({\n created: DateTimeUtcFromMillis,\n updated: DateTimeUtcFromMillis,\n archived: DateTimeUtcFromMillis.pipe(optional),\n }),\n title: Schema.String,\n location: Location.Ref,\n subpath: RelativePath.pipe(optional),\n revert: Revert.pipe(optional),\n}).annotate({ identifier: \"Session.Info\" })\n\nexport const ListAnchor = Schema.Struct({\n id: ID,\n time: Schema.Finite,\n direction: Schema.Literals([\"previous\", \"next\"]),\n}).annotate({ identifier: \"Session.ListAnchor\" })\nexport interface ListAnchor extends Schema.Schema.Type<typeof ListAnchor> {}\n", | ||
| "export * as PromptInput from \"./prompt-input.js\"\n\nimport { Schema } from \"effect\"\nimport { AgentAttachment, PromptMention } from \"./prompt.js\"\nimport { optional, statics } from \"./schema.js\"\n\nexport interface FileAttachment extends Schema.Schema.Type<typeof FileAttachment> {}\nexport const FileAttachment = Schema.Struct({\n uri: Schema.String,\n name: Schema.String.pipe(optional),\n description: Schema.String.pipe(optional),\n mention: PromptMention.pipe(optional),\n})\n .annotate({ identifier: \"PromptInput.FileAttachment\" })\n .pipe(\n statics((schema) => ({\n create: (input: FileAttachment) => schema.make(input),\n })),\n )\n\nexport interface Prompt extends Schema.Schema.Type<typeof Prompt> {}\nexport const Prompt = Schema.Struct({\n text: Schema.String,\n files: Schema.Array(FileAttachment).pipe(optional),\n agents: Schema.Array(AgentAttachment).pipe(optional),\n}).annotate({ identifier: \"PromptInput\" })\n", | ||
| "export * as PermissionSaved from \"./permission-saved.js\"\n\nimport { Schema } from \"effect\"\nimport { ascending } from \"./identifier.js\"\nimport { ProjectID } from \"./project-id.js\"\nimport { statics } from \"./schema.js\"\n\nexport const ID = Schema.String.pipe(\n Schema.brand(\"PermissionSaved.ID\"),\n statics((schema) => ({ create: () => schema.make(\"psv_\" + ascending()) })),\n)\nexport type ID = typeof ID.Type\n\nexport const Info = Schema.Struct({\n id: ID,\n projectID: ProjectID,\n action: Schema.String,\n resource: Schema.String,\n}).annotate({ identifier: \"PermissionSaved.Info\" })\nexport interface Info extends Schema.Schema.Type<typeof Info> {}\n", | ||
| "export * as Pty from \"./pty.js\"\n\nimport { Schema } from \"effect\"\nimport { optional } from \"./schema.js\"\nimport { ephemeral, inventory } from \"./event.js\"\nimport { ascending } from \"./identifier.js\"\nimport { NonNegativeInt, PositiveInt, statics } from \"./schema.js\"\n\nconst IDSchema = Schema.String.check(Schema.isStartsWith(\"pty\")).pipe(Schema.brand(\"PtyID\"))\n\nexport const ID = IDSchema.pipe(\n statics((schema: typeof IDSchema) => {\n const create = () => schema.make(\"pty_\" + ascending())\n return {\n create,\n ascending: (id?: string) => (id === undefined ? create() : schema.make(id)),\n }\n }),\n)\nexport type ID = typeof ID.Type\n\nexport const Info = Schema.Struct({\n id: ID,\n title: Schema.String,\n command: Schema.String,\n args: Schema.Array(Schema.String),\n cwd: Schema.String,\n status: Schema.Literals([\"running\", \"exited\"]),\n pid: NonNegativeInt,\n exitCode: optional(NonNegativeInt),\n}).annotate({ identifier: \"Pty\" })\nexport interface Info extends Schema.Schema.Type<typeof Info> {}\n\nconst Created = ephemeral({ type: \"pty.created\", schema: { info: Info } })\nconst Updated = ephemeral({ type: \"pty.updated\", schema: { info: Info } })\nconst Exited = ephemeral({ type: \"pty.exited\", schema: { id: ID, exitCode: NonNegativeInt } })\nconst Deleted = ephemeral({ type: \"pty.deleted\", schema: { id: ID } })\nexport const Event = { Created, Updated, Exited, Deleted, Definitions: inventory(Created, Updated, Exited, Deleted) }\n\nexport const CreateInput = Schema.Struct({\n command: optional(Schema.String),\n args: optional(Schema.Array(Schema.String)),\n cwd: optional(Schema.String),\n title: optional(Schema.String),\n env: optional(Schema.Record(Schema.String, Schema.String)),\n})\nexport interface CreateInput extends Schema.Schema.Type<typeof CreateInput> {}\n\nexport const UpdateInput = Schema.Struct({\n title: optional(Schema.String),\n size: optional(\n Schema.Struct({\n rows: PositiveInt,\n cols: PositiveInt,\n }),\n ),\n})\nexport interface UpdateInput extends Schema.Schema.Type<typeof UpdateInput> {}\n", | ||
| "export * as Question from \"./question.js\"\n\nimport { Schema } from \"effect\"\nimport { optional } from \"./schema.js\"\nimport { ephemeral, inventory } from \"./event.js\"\nimport { ascending } from \"./identifier.js\"\nimport { SessionID } from \"./session-id.js\"\nimport { statics } from \"./schema.js\"\n\nexport const ID = Schema.String.check(Schema.isStartsWith(\"que\")).pipe(\n Schema.brand(\"QuestionV2.ID\"),\n statics((schema) => {\n const create = () => schema.make(\"que_\" + ascending())\n return {\n create,\n ascending: (id?: string) => (id === undefined ? create() : schema.make(id)),\n }\n }),\n)\nexport type ID = typeof ID.Type\n\nexport const Option = Schema.Struct({\n label: Schema.String.annotate({ description: \"Display text (1-5 words, concise)\" }),\n description: Schema.String.annotate({ description: \"Explanation of choice\" }),\n}).annotate({ identifier: \"QuestionV2.Option\" })\nexport interface Option extends Schema.Schema.Type<typeof Option> {}\n\nconst base = {\n question: Schema.String.annotate({ description: \"Complete question\" }),\n header: Schema.String.annotate({ description: \"Very short label (max 30 chars)\" }),\n options: Schema.Array(Option).annotate({ description: \"Available choices\" }),\n multiple: Schema.Boolean.pipe(optional).annotate({ description: \"Allow selecting multiple choices\" }),\n}\n\nexport const Info = Schema.Struct({\n ...base,\n custom: Schema.Boolean.pipe(optional).annotate({\n description: \"Allow typing a custom answer (default: true)\",\n }),\n}).annotate({ identifier: \"QuestionV2.Info\" })\nexport interface Info extends Schema.Schema.Type<typeof Info> {}\n\nexport const Prompt = Schema.Struct(base).annotate({ identifier: \"QuestionV2.Prompt\" })\nexport interface Prompt extends Schema.Schema.Type<typeof Prompt> {}\n\nexport const Tool = Schema.Struct({\n messageID: Schema.String,\n callID: Schema.String,\n}).annotate({ identifier: \"QuestionV2.Tool\" })\nexport interface Tool extends Schema.Schema.Type<typeof Tool> {}\n\nexport const Request = Schema.Struct({\n id: ID,\n sessionID: SessionID,\n questions: Schema.Array(Info).annotate({ description: \"Questions to ask\" }),\n tool: Tool.pipe(optional),\n}).annotate({ identifier: \"QuestionV2.Request\" })\nexport interface Request extends Schema.Schema.Type<typeof Request> {}\n\nexport const Answer = Schema.Array(Schema.String).annotate({ identifier: \"QuestionV2.Answer\" })\nexport type Answer = typeof Answer.Type\n\nexport const Reply = Schema.Struct({\n answers: Schema.Array(Answer).annotate({\n description: \"User answers in order of questions (each answer is an array of selected labels)\",\n }),\n}).annotate({ identifier: \"QuestionV2.Reply\" })\nexport interface Reply extends Schema.Schema.Type<typeof Reply> {}\n\nconst Asked = ephemeral({ type: \"question.v2.asked\", schema: Request.fields })\nconst Replied = ephemeral({\n type: \"question.v2.replied\",\n schema: {\n sessionID: SessionID,\n requestID: ID,\n answers: Schema.Array(Answer),\n },\n})\nconst Rejected = ephemeral({\n type: \"question.v2.rejected\",\n schema: {\n sessionID: SessionID,\n requestID: ID,\n },\n})\nexport const Event = { Asked, Replied, Rejected, Definitions: inventory(Asked, Replied, Rejected) }\n", | ||
| "export * as Reference from \"./reference.js\"\n\nimport { Schema } from \"effect\"\nimport { optional } from \"./schema.js\"\nimport { ephemeral, inventory } from \"./event.js\"\nimport { AbsolutePath } from \"./schema.js\"\n\nconst Updated = ephemeral({ type: \"reference.updated\", schema: {} })\nexport const Event = { Updated, Definitions: inventory(Updated) }\n\nexport interface LocalSource extends Schema.Schema.Type<typeof LocalSource> {}\nexport const LocalSource = Schema.Struct({\n type: Schema.Literal(\"local\"),\n path: AbsolutePath,\n description: Schema.String.pipe(optional),\n hidden: Schema.Boolean.pipe(optional),\n}).annotate({ identifier: \"Reference.LocalSource\" })\n\nexport interface GitSource extends Schema.Schema.Type<typeof GitSource> {}\nexport const GitSource = Schema.Struct({\n type: Schema.Literal(\"git\"),\n repository: Schema.String,\n branch: Schema.String.pipe(optional),\n description: Schema.String.pipe(optional),\n hidden: Schema.Boolean.pipe(optional),\n}).annotate({ identifier: \"Reference.GitSource\" })\n\nexport const Source = Schema.Union([LocalSource, GitSource])\n .pipe(Schema.toTaggedUnion(\"type\"))\n .annotate({ identifier: \"Reference.Source\" })\nexport type Source = typeof Source.Type\n\nexport class Info extends Schema.Class<Info>(\"Reference.Info\")({\n name: Schema.String,\n path: AbsolutePath,\n description: Schema.String.pipe(optional),\n hidden: Schema.Boolean.pipe(optional),\n source: Source,\n}) {}\n", | ||
| "export * as ProjectCopy from \"./project-copy.js\"\n\nimport { Schema } from \"effect\"\nimport { optional } from \"./schema.js\"\nimport { ProjectID } from \"./project-id.js\"\nimport { AbsolutePath } from \"./schema.js\"\n\nexport const StrategyID = Schema.Trim.pipe(Schema.check(Schema.isNonEmpty()), Schema.brand(\"ProjectCopy.StrategyID\"))\nexport type StrategyID = typeof StrategyID.Type\n\nexport const CreateInput = Schema.Struct({\n projectID: ProjectID,\n strategy: StrategyID,\n sourceDirectory: AbsolutePath,\n directory: AbsolutePath,\n name: optional(Schema.String),\n}).annotate({ identifier: \"ProjectCopy.CreateInput\" })\nexport interface CreateInput extends Schema.Schema.Type<typeof CreateInput> {}\n\nexport const RemoveInput = Schema.Struct({\n projectID: ProjectID,\n directory: AbsolutePath,\n force: Schema.Boolean,\n}).annotate({ identifier: \"ProjectCopy.RemoveInput\" })\nexport interface RemoveInput extends Schema.Schema.Type<typeof RemoveInput> {}\n\nexport const Copy = Schema.Struct({\n directory: AbsolutePath,\n}).annotate({ identifier: \"ProjectCopy.Copy\" })\nexport interface Copy extends Schema.Schema.Type<typeof Copy> {}\n", | ||
| "export * as Catalog from \"./catalog.js\"\n\nimport { ephemeral, inventory } from \"./event.js\"\n\nconst Updated = ephemeral({ type: \"catalog.updated\", schema: {} })\nexport const Event = { Updated, Definitions: inventory(Updated) }\n", | ||
| "export * as Mcp from \"./mcp.js\"\n\nimport { Schema } from \"effect\"\nimport { optional } from \"./schema.js\"\nimport { IntegrationID } from \"./integration-id.js\"\n\nconst Connected = Schema.Struct({ status: Schema.Literal(\"connected\") }).annotate({\n identifier: \"Mcp.Status.Connected\",\n})\nconst Pending = Schema.Struct({ status: Schema.Literal(\"pending\") }).annotate({\n identifier: \"Mcp.Status.Pending\",\n})\nconst Disabled = Schema.Struct({ status: Schema.Literal(\"disabled\") }).annotate({\n identifier: \"Mcp.Status.Disabled\",\n})\nconst Failed = Schema.Struct({ status: Schema.Literal(\"failed\"), error: Schema.String }).annotate({\n identifier: \"Mcp.Status.Failed\",\n})\nconst NeedsAuth = Schema.Struct({ status: Schema.Literal(\"needs_auth\") }).annotate({\n identifier: \"Mcp.Status.NeedsAuth\",\n})\nconst NeedsClientRegistration = Schema.Struct({\n status: Schema.Literal(\"needs_client_registration\"),\n error: Schema.String,\n}).annotate({ identifier: \"Mcp.Status.NeedsClientRegistration\" })\n\nexport type Status = typeof Status.Type\nexport const Status = Schema.Union([Connected, Pending, Disabled, Failed, NeedsAuth, NeedsClientRegistration]).pipe(\n Schema.toTaggedUnion(\"status\"),\n)\n\nexport interface Server extends Schema.Schema.Type<typeof Server> {}\nexport const Server = Schema.Struct({\n name: Schema.String,\n status: Status,\n // Set for remote servers registered as OAuth integrations; lets clients act on the right integration\n // without matching by name, which could collide with provider or plugin integrations.\n integrationID: optional(IntegrationID),\n}).annotate({ identifier: \"Mcp.Server\" })\n\nexport interface Resource extends Schema.Schema.Type<typeof Resource> {}\nexport const Resource = Schema.Struct({\n server: Schema.String,\n name: Schema.String,\n uri: Schema.String,\n description: optional(Schema.String),\n mimeType: optional(Schema.String),\n}).annotate({ identifier: \"Mcp.Resource\" })\n\nexport interface ResourceTemplate extends Schema.Schema.Type<typeof ResourceTemplate> {}\nexport const ResourceTemplate = Schema.Struct({\n server: Schema.String,\n name: Schema.String,\n uriTemplate: Schema.String,\n description: optional(Schema.String),\n mimeType: optional(Schema.String),\n}).annotate({ identifier: \"Mcp.ResourceTemplate\" })\n\nexport interface ResourceCatalog extends Schema.Schema.Type<typeof ResourceCatalog> {}\nexport const ResourceCatalog = Schema.Struct({\n resources: Schema.Array(Resource),\n templates: Schema.Array(ResourceTemplate),\n}).annotate({ identifier: \"Mcp.ResourceCatalog\" })\n\nexport const ResourceContentPart = Schema.Union([\n Schema.Struct({\n type: Schema.Literal(\"text\"),\n uri: Schema.String,\n text: Schema.String,\n mimeType: optional(Schema.String),\n }),\n Schema.Struct({\n type: Schema.Literal(\"blob\"),\n uri: Schema.String,\n blob: Schema.String,\n mimeType: optional(Schema.String),\n }),\n]).pipe(Schema.toTaggedUnion(\"type\"), Schema.annotate({ identifier: \"Mcp.ResourceContentPart\" }))\nexport type ResourceContentPart = typeof ResourceContentPart.Type\n\nexport interface ResourceContent extends Schema.Schema.Type<typeof ResourceContent> {}\nexport const ResourceContent = Schema.Struct({\n server: Schema.String,\n uri: Schema.String,\n contents: Schema.Array(ResourceContentPart),\n}).annotate({ identifier: \"Mcp.ResourceContent\" })\n", | ||
| "export * as McpEvent from \"./mcp-event.js\"\n\nimport { Schema } from \"effect\"\nimport { Event } from \"./event.js\"\n\nexport const ToolsChanged = Event.ephemeral({\n type: \"mcp.tools.changed\",\n schema: {\n server: Schema.String,\n },\n})\n\nexport const ResourcesChanged = Event.ephemeral({\n type: \"mcp.resources.changed\",\n schema: {\n server: Schema.String,\n },\n})\n\nexport const BrowserOpenFailed = Event.ephemeral({\n type: \"mcp.browser.open.failed\",\n schema: {\n mcpName: Schema.String,\n url: Schema.String,\n },\n})\n\n// Emitted whenever a server's connection status settles (connected, failed, needs_auth, closed) so\n// observers can refresh status without polling.\nexport const StatusChanged = Event.ephemeral({\n type: \"mcp.status.changed\",\n schema: {\n server: Schema.String,\n },\n})\n\nexport const Definitions = Event.inventory(ToolsChanged, ResourcesChanged, StatusChanged)\n", | ||
| "export * as Plugin from \"./plugin.js\"\n\nimport { Schema } from \"effect\"\nimport { ephemeral, inventory } from \"./event.js\"\n\nexport const ID = Schema.String.pipe(Schema.brand(\"Plugin.ID\"))\nexport type ID = typeof ID.Type\n\nexport interface Info extends Schema.Schema.Type<typeof Info> {}\nexport const Info = Schema.Struct({\n id: ID,\n}).annotate({ identifier: \"Plugin.Info\" })\n\nconst Added = ephemeral({\n type: \"plugin.added\",\n schema: { id: ID },\n})\nconst Updated = ephemeral({\n type: \"plugin.updated\",\n schema: {},\n})\nexport const Event = { Added, Updated, Definitions: inventory(Added, Updated) }\n", | ||
| "export * as ProjectDirectories from \"./project-directories.js\"\n\nimport { ephemeral, inventory } from \"./event.js\"\nimport { Project } from \"./project.js\"\n\nconst Updated = ephemeral({\n type: \"project.directories.updated\",\n schema: { projectID: Project.ID },\n})\nexport const Event = { Updated, Definitions: inventory(Updated) }\n", | ||
| "export * as InstructionEntry from \"./instruction-entry.js\"\n\nimport { Schema } from \"effect\"\n\n/**\n * Slash-free client-facing key for one API-managed instruction entry. The server\n * derives the namespaced Instructions key as `api/<key>`, keeping the\n * `api/*` namespace enforced by construction.\n */\nexport const Key = Schema.String.check(Schema.isPattern(/^[a-z0-9][a-z0-9._-]*$/)).annotate({\n identifier: \"InstructionEntry.Key\",\n description: \"Instruction entry key (lowercase alphanumerics plus . _ -)\",\n})\nexport type Key = typeof Key.Type\n\nexport const Info = Schema.Struct({\n key: Key,\n value: Schema.Json.annotate({ description: \"JSON value attached to the session's instructions\" }),\n}).annotate({ identifier: \"InstructionEntry.Info\" })\nexport interface Info extends Schema.Schema.Type<typeof Info> {}\n", | ||
| "export * as Vcs from \"./vcs.js\"\n\nimport { Schema } from \"effect\"\nimport { NonNegativeInt } from \"./schema.js\"\n\nexport const Mode = Schema.Literals([\"working\", \"branch\"]).annotate({ identifier: \"Vcs.Mode\" })\nexport type Mode = typeof Mode.Type\n\nexport const FileStatus = Schema.Struct({\n file: Schema.String,\n additions: NonNegativeInt,\n deletions: NonNegativeInt,\n status: Schema.Literals([\"added\", \"deleted\", \"modified\"]),\n}).annotate({ identifier: \"Vcs.FileStatus\" })\nexport interface FileStatus extends Schema.Schema.Type<typeof FileStatus> {}\n", | ||
| "export * as ModelsDev from \"./models-dev.js\"\n\nimport { ephemeral, inventory } from \"./event.js\"\n\nconst Refreshed = ephemeral({\n type: \"models-dev.refreshed\",\n schema: {},\n})\nexport const Event = { Refreshed, Definitions: inventory(Refreshed) }\n", | ||
| "export * as FileSystemV1 from \"./filesystem.js\"\n\nimport { Schema } from \"effect\"\nimport { ephemeral, inventory } from \"../event.js\"\n\nconst Edited = ephemeral({\n type: \"file.edited\",\n schema: { file: Schema.String },\n})\n\nexport const Event = { Edited, Definitions: inventory(Edited) }\n", | ||
| "export * as InstallationEvent from \"./installation-event.js\"\n\nimport { Schema } from \"effect\"\nimport { Event } from \"./event.js\"\n\nexport const Updated = Event.ephemeral({\n type: \"installation.updated\",\n schema: {\n version: Schema.String,\n },\n})\n\nexport const UpdateAvailable = Event.ephemeral({\n type: \"installation.update-available\",\n schema: {\n version: Schema.String,\n },\n})\n\nexport const Definitions = Event.inventory(Updated, UpdateAvailable)\n", | ||
| "export * as LegacyEvent from \"./legacy-event.js\"\n\nimport { Schema } from \"effect\"\nimport { ephemeral, inventory } from \"../event.js\"\nimport { SessionID } from \"../session-id.js\"\nimport { SessionV1 } from \"./session.js\"\n\nexport const CommandExecuted = ephemeral({\n type: \"command.executed\",\n schema: {\n name: Schema.String,\n sessionID: SessionID,\n arguments: Schema.String,\n messageID: SessionV1.MessageID,\n },\n})\n\nexport const Definitions = inventory(CommandExecuted)\n", | ||
| "export * as LspEvent from \"./lsp-event.js\"\n\nimport { Event } from \"./event.js\"\n\nexport const Updated = Event.ephemeral({ type: \"lsp.updated\", schema: {} })\n\nexport const Definitions = Event.inventory(Updated)\n", | ||
| "export * as QuestionV1 from \"./question.js\"\n\nimport { Schema } from \"effect\"\nimport { ephemeral, inventory } from \"../event.js\"\nimport { ascending } from \"../identifier.js\"\nimport { statics } from \"../schema.js\"\nimport { SessionID } from \"../session-id.js\"\nimport { SessionV1 } from \"./session.js\"\n\nexport const ID = Schema.String.check(Schema.isStartsWith(\"que\")).pipe(\n Schema.brand(\"QuestionID\"),\n statics((schema) => ({ ascending: (id?: string) => schema.make(id ?? \"que_\" + ascending()) })),\n)\n\nexport const Option = Schema.Struct({\n label: Schema.String.annotate({ description: \"Display text (1-5 words, concise)\" }),\n description: Schema.String.annotate({ description: \"Explanation of choice\" }),\n}).annotate({ identifier: \"QuestionOption\" })\n\nconst base = {\n question: Schema.String.annotate({ description: \"Complete question\" }),\n header: Schema.String.annotate({ description: \"Very short label (max 30 chars)\" }),\n options: Schema.Array(Option).annotate({ description: \"Available choices\" }),\n multiple: Schema.optional(Schema.Boolean).annotate({ description: \"Allow selecting multiple choices\" }),\n}\n\nexport const Info = Schema.Struct({\n ...base,\n custom: Schema.optional(Schema.Boolean).annotate({ description: \"Allow typing a custom answer (default: true)\" }),\n}).annotate({ identifier: \"QuestionInfo\" })\nexport const Prompt = Schema.Struct(base).annotate({ identifier: \"QuestionPrompt\" })\nexport const Tool = Schema.Struct({ messageID: SessionV1.MessageID, callID: Schema.String }).annotate({\n identifier: \"QuestionTool\",\n})\nexport const Request = Schema.Struct({\n id: ID,\n sessionID: SessionID,\n questions: Schema.Array(Info).annotate({ description: \"Questions to ask\" }),\n tool: Schema.optional(Tool),\n}).annotate({ identifier: \"QuestionRequest\" })\nexport const Answer = Schema.Array(Schema.String).annotate({ identifier: \"QuestionAnswer\" })\nexport const Reply = Schema.Struct({\n answers: Schema.Array(Answer).annotate({\n description: \"User answers in order of questions (each answer is an array of selected labels)\",\n }),\n}).annotate({ identifier: \"QuestionReply\" })\nexport const Replied = Schema.Struct({\n sessionID: SessionID,\n requestID: ID,\n answers: Schema.Array(Answer),\n}).annotate({\n identifier: \"QuestionReplied\",\n})\nexport const Rejected = Schema.Struct({ sessionID: SessionID, requestID: ID }).annotate({\n identifier: \"QuestionRejected\",\n})\n\nconst Asked = ephemeral({ type: \"question.asked\", schema: Request.fields })\nconst RepliedEvent = ephemeral({ type: \"question.replied\", schema: Replied.fields })\nconst RejectedEvent = ephemeral({ type: \"question.rejected\", schema: Rejected.fields })\nexport const Event = {\n Asked,\n Replied: RepliedEvent,\n Rejected: RejectedEvent,\n Definitions: inventory(Asked, RepliedEvent, RejectedEvent),\n}\n", | ||
| "export * as ServerEvent from \"./server-event.js\"\n\nimport { Event } from \"./event.js\"\n\nexport const Connected = Event.ephemeral({ type: \"server.connected\", schema: {} })\nexport const Disposed = Event.ephemeral({ type: \"global.disposed\", schema: {} })\n\nexport const Definitions = Event.inventory(Connected, Disposed)\n", | ||
| "export * as SessionCompactionEvent from \"./session-compaction-event.js\"\n\nimport { Event } from \"./event.js\"\nimport { SessionID } from \"./session-id.js\"\n\nexport const Compacted = Event.ephemeral({\n type: \"session.compacted\",\n schema: {\n sessionID: SessionID,\n },\n})\n\nexport const Definitions = Event.inventory(Compacted)\n", | ||
| "export * as SessionStatusEvent from \"./session-status-event.js\"\n\nimport { Schema } from \"effect\"\nimport { optional } from \"./schema.js\"\nimport { Event } from \"./event.js\"\nimport { NonNegativeInt } from \"./schema.js\"\nimport { SessionID } from \"./session-id.js\"\n\nexport const Info = Schema.Union([\n Schema.Struct({\n type: Schema.Literal(\"idle\"),\n }),\n Schema.Struct({\n type: Schema.Literal(\"retry\"),\n attempt: NonNegativeInt,\n message: Schema.String,\n action: optional(\n Schema.Struct({\n reason: Schema.String,\n provider: Schema.String,\n title: Schema.String,\n message: Schema.String,\n label: Schema.String,\n link: optional(Schema.String),\n }),\n ),\n next: NonNegativeInt,\n }),\n Schema.Struct({\n type: Schema.Literal(\"busy\"),\n }),\n]).annotate({ identifier: \"SessionStatus\" })\nexport type Info = Schema.Schema.Type<typeof Info>\n\nexport const Status = Event.ephemeral({\n type: \"session.status\",\n schema: {\n sessionID: SessionID,\n status: Info,\n },\n})\n\n// deprecated\nexport const Idle = Event.ephemeral({\n type: \"session.idle\",\n schema: {\n sessionID: SessionID,\n },\n})\n\nexport const Definitions = Event.inventory(Status, Idle)\n", | ||
| "export * as TuiEvent from \"./tui-event.js\"\n\nimport { Effect, Schema } from \"effect\"\nimport { optional } from \"./schema.js\"\nimport { Event } from \"./event.js\"\nimport { PositiveInt } from \"./schema.js\"\nimport { SessionID } from \"./session-id.js\"\n\nconst DEFAULT_TOAST_DURATION = 5000\n\nexport const PromptAppend = Event.ephemeral({ type: \"tui.prompt.append\", schema: { text: Schema.String } })\n\nexport const CommandExecute = Event.ephemeral({\n type: \"tui.command.execute\",\n schema: {\n command: Schema.Union([\n Schema.Literals([\n \"session.list\",\n \"session.new\",\n \"session.share\",\n \"session.interrupt\",\n \"session.background\",\n \"session.compact\",\n \"session.page.up\",\n \"session.page.down\",\n \"session.line.up\",\n \"session.line.down\",\n \"session.half.page.up\",\n \"session.half.page.down\",\n \"session.first\",\n \"session.last\",\n \"prompt.clear\",\n \"prompt.submit\",\n \"agent.cycle\",\n ]),\n Schema.String,\n ]),\n },\n})\n\nexport const ToastShow = Event.ephemeral({\n type: \"tui.toast.show\",\n schema: {\n title: optional(Schema.String),\n message: Schema.String,\n variant: Schema.Literals([\"info\", \"success\", \"warning\", \"error\"]),\n duration: PositiveInt.pipe(Schema.withDecodingDefault(Effect.succeed(DEFAULT_TOAST_DURATION))).annotate({\n description: \"Duration in milliseconds\",\n }),\n },\n})\n\nexport const SessionSelect = Event.ephemeral({\n type: \"tui.session.select\",\n schema: {\n sessionID: SessionID.annotate({ description: \"Session ID to navigate to\" }),\n },\n})\n\nexport const Definitions = Event.inventory(PromptAppend, CommandExecute, ToastShow, SessionSelect)\n", | ||
| "export * as VcsEvent from \"./vcs-event.js\"\n\nimport { Schema } from \"effect\"\nimport { optional } from \"./schema.js\"\nimport { Event } from \"./event.js\"\n\nexport const BranchUpdated = Event.ephemeral({\n type: \"vcs.branch.updated\",\n schema: {\n branch: optional(Schema.String),\n },\n})\n\nexport const Definitions = Event.inventory(BranchUpdated)\n", | ||
| "export * as WorkspaceEvent from \"./workspace-event.js\"\n\nimport { Schema } from \"effect\"\nimport { Event } from \"./event.js\"\nimport { WorkspaceID } from \"./workspace-id.js\"\n\nexport const ConnectionStatus = Schema.Struct({\n workspaceID: WorkspaceID,\n status: Schema.Literals([\"connected\", \"connecting\", \"disconnected\", \"error\"]),\n}).annotate({ identifier: \"WorkspaceEvent.ConnectionStatus\" })\nexport interface ConnectionStatus extends Schema.Schema.Type<typeof ConnectionStatus> {}\n\nexport const Ready = Event.ephemeral({\n type: \"workspace.ready\",\n schema: {\n name: Schema.String,\n },\n})\n\nexport const Failed = Event.ephemeral({\n type: \"workspace.failed\",\n schema: {\n message: Schema.String,\n },\n})\n\nexport const Status = Event.ephemeral({\n type: \"workspace.status\",\n schema: ConnectionStatus.fields,\n})\n\nexport const Definitions = Event.inventory(Ready, Failed, Status)\n", | ||
| "export * as WorktreeEvent from \"./worktree-event.js\"\n\nimport { Schema } from \"effect\"\nimport { optional } from \"./schema.js\"\nimport { Event } from \"./event.js\"\n\nexport const Ready = Event.ephemeral({\n type: \"worktree.ready\",\n schema: {\n name: Schema.String,\n branch: optional(Schema.String),\n },\n})\n\nexport const Failed = Event.ephemeral({\n type: \"worktree.failed\",\n schema: {\n message: Schema.String,\n },\n})\n\nexport const Definitions = Event.inventory(Ready, Failed)\n", | ||
| "export * as EventManifest from \"./event-manifest.js\"\n\nimport { Schema } from \"effect\"\nimport { Agent } from \"./agent.js\"\nimport { Catalog } from \"./catalog.js\"\nimport { Command } from \"./command.js\"\nimport { Config } from \"./config.js\"\nimport { Durable } from \"./durable-event-manifest.js\"\nimport { Event } from \"./event.js\"\nimport { FileSystem } from \"./filesystem.js\"\nimport { FileSystemV1 } from \"./filesystem-v1.js\"\nimport { Form } from \"./form.js\"\nimport { InstallationEvent } from \"./installation-event.js\"\nimport { Integration } from \"./integration.js\"\nimport { LegacyEvent } from \"./legacy-event.js\"\nimport { LspEvent } from \"./lsp-event.js\"\nimport { McpEvent } from \"./mcp-event.js\"\nimport { ModelsDev } from \"./models-dev.js\"\nimport { Permission } from \"./permission.js\"\nimport { PermissionV1 } from \"./permission-v1.js\"\nimport { Plugin } from \"./plugin.js\"\nimport { Project } from \"./project.js\"\nimport { ProjectDirectories } from \"./project-directories.js\"\nimport { Pty } from \"./pty.js\"\nimport { Question } from \"./question.js\"\nimport { QuestionV1 } from \"./question-v1.js\"\nimport { Reference } from \"./reference.js\"\nimport { ServerEvent } from \"./server-event.js\"\nimport { Shell } from \"./shell.js\"\nimport { Skill } from \"./skill.js\"\nimport { SessionCompactionEvent } from \"./session-compaction-event.js\"\nimport { SessionEvent } from \"./session-event.js\"\nimport { SessionStatusEvent } from \"./session-status-event.js\"\nimport { SessionV1 } from \"./session-v1.js\"\nimport { TuiEvent } from \"./tui-event.js\"\nimport { VcsEvent } from \"./vcs-event.js\"\nimport { WorkspaceEvent } from \"./workspace-event.js\"\nimport { WorktreeEvent } from \"./worktree-event.js\"\n\nconst sessionV1DurableDefinitions = SessionV1.Event.Definitions.filter(\n (definition) => definition.durability === \"durable\",\n)\nconst sessionV1LiveDefinitions = SessionV1.Event.Definitions.filter(\n (definition) => definition.durability === \"ephemeral\",\n)\n\nconst coreDefinitions = Event.inventory(...sessionV1DurableDefinitions, ...SessionEvent.Definitions)\n\nconst foundationDefinitions = Event.inventory(\n ...ModelsDev.Event.Definitions,\n ...Integration.Event.Definitions,\n ...Catalog.Event.Definitions,\n ...Agent.Event.Definitions,\n ...coreDefinitions,\n)\n\nconst featureDefinitions = Event.inventory(\n ...FileSystem.Event.Definitions,\n ...Reference.Event.Definitions,\n ...Permission.Event.Definitions,\n ...Plugin.Event.Definitions,\n ...ProjectDirectories.Event.Definitions,\n ...Command.Event.Definitions,\n ...Config.Event.Definitions,\n ...Skill.Event.Definitions,\n ...Pty.Event.Definitions,\n ...Shell.Event.Definitions,\n ...Question.Event.Definitions,\n ...Form.Event.Definitions,\n)\n\nexport const ServerDefinitions = Event.inventory(\n ...foundationDefinitions,\n ...featureDefinitions,\n // Current events the TUI consumes from the public stream.\n ...SessionStatusEvent.Definitions,\n ...TuiEvent.Definitions,\n ...InstallationEvent.Definitions,\n ...VcsEvent.Definitions,\n McpEvent.StatusChanged,\n McpEvent.ResourcesChanged,\n // Shared transitional: V1 contracts the current TUI still consumes during\n // the migration (permission.asked/replied, question.asked, session.error).\n // Remove when the TUI moves to the current permission/question surfaces.\n ...PermissionV1.Event.Definitions,\n ...QuestionV1.Event.Definitions,\n SessionV1.Error,\n)\nexport const Server = Event.latest(ServerDefinitions)\nexport type ServerEvent = Schema.Schema.Type<(typeof ServerDefinitions)[number]>\nexport const isServer = (event: { readonly type: string }): event is ServerEvent => Server.has(event.type)\n\nexport const Definitions = Event.inventory(\n ...foundationDefinitions,\n ...sessionV1LiveDefinitions,\n ...InstallationEvent.Definitions,\n ...featureDefinitions,\n ...LspEvent.Definitions,\n ...PermissionV1.Event.Definitions,\n ...TuiEvent.Definitions,\n ...McpEvent.Definitions,\n ...LegacyEvent.Definitions,\n ...FileSystemV1.Event.Definitions,\n ...Project.Event.Definitions,\n ...SessionStatusEvent.Definitions,\n ...QuestionV1.Event.Definitions,\n ...SessionCompactionEvent.Definitions,\n ...VcsEvent.Definitions,\n ...WorkspaceEvent.Definitions,\n ...WorktreeEvent.Definitions,\n ...ServerEvent.Definitions,\n)\nexport const Latest = Event.latest(Definitions)\nexport { Durable }\n", | ||
| "export * as Workspace from \"./workspace.js\"\n\nimport { WorkspaceEvent } from \"./workspace-event.js\"\nimport { WorkspaceID } from \"./workspace-id.js\"\n\nexport const ID = WorkspaceID\nexport type ID = WorkspaceID\n\nexport const Event = WorkspaceEvent\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "41991B32FF5F808E64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@smithy+credential-provider-imds@4.3.6/node_modules/@smithy/credential-provider-imds/dist-es/fromContainerMetadata.js", "../../node_modules/.bun/@smithy+credential-provider-imds@4.3.6/node_modules/@smithy/credential-provider-imds/dist-es/remoteProvider/ImdsCredentials.js", "../../node_modules/.bun/@smithy+credential-provider-imds@4.3.6/node_modules/@smithy/credential-provider-imds/dist-es/remoteProvider/RemoteProviderInit.js", "../../node_modules/.bun/@smithy+credential-provider-imds@4.3.6/node_modules/@smithy/credential-provider-imds/dist-es/remoteProvider/httpRequest.js", "../../node_modules/.bun/@smithy+credential-provider-imds@4.3.6/node_modules/@smithy/credential-provider-imds/dist-es/remoteProvider/retry.js", "../../node_modules/.bun/@smithy+credential-provider-imds@4.3.6/node_modules/@smithy/credential-provider-imds/dist-es/fromInstanceMetadata.js", "../../node_modules/.bun/@smithy+credential-provider-imds@4.3.6/node_modules/@smithy/credential-provider-imds/dist-es/error/InstanceMetadataV1FallbackError.js", "../../node_modules/.bun/@smithy+credential-provider-imds@4.3.6/node_modules/@smithy/credential-provider-imds/dist-es/utils/getInstanceMetadataEndpoint.js", "../../node_modules/.bun/@smithy+credential-provider-imds@4.3.6/node_modules/@smithy/credential-provider-imds/dist-es/config/Endpoint.js", "../../node_modules/.bun/@smithy+credential-provider-imds@4.3.6/node_modules/@smithy/credential-provider-imds/dist-es/config/EndpointConfigOptions.js", "../../node_modules/.bun/@smithy+credential-provider-imds@4.3.6/node_modules/@smithy/credential-provider-imds/dist-es/config/EndpointMode.js", "../../node_modules/.bun/@smithy+credential-provider-imds@4.3.6/node_modules/@smithy/credential-provider-imds/dist-es/config/EndpointModeConfigOptions.js", "../../node_modules/.bun/@smithy+credential-provider-imds@4.3.6/node_modules/@smithy/credential-provider-imds/dist-es/utils/getExtendedInstanceMetadataCredentials.js", "../../node_modules/.bun/@smithy+credential-provider-imds@4.3.6/node_modules/@smithy/credential-provider-imds/dist-es/utils/staticStabilityProvider.js"], | ||
| "sourcesContent": [ | ||
| "import { CredentialsProviderError } from \"@smithy/core/config\";\nimport { fromImdsCredentials, isImdsCredentials } from \"./remoteProvider/ImdsCredentials\";\nimport { providerConfigFromInit } from \"./remoteProvider/RemoteProviderInit\";\nimport { httpRequest } from \"./remoteProvider/httpRequest\";\nimport { retry } from \"./remoteProvider/retry\";\nexport const ENV_CMDS_FULL_URI = \"AWS_CONTAINER_CREDENTIALS_FULL_URI\";\nexport const ENV_CMDS_RELATIVE_URI = \"AWS_CONTAINER_CREDENTIALS_RELATIVE_URI\";\nexport const ENV_CMDS_AUTH_TOKEN = \"AWS_CONTAINER_AUTHORIZATION_TOKEN\";\nexport const fromContainerMetadata = (init = {}) => {\n const { timeout, maxRetries } = providerConfigFromInit(init);\n return () => retry(async () => {\n const requestOptions = await getCmdsUri({ logger: init.logger });\n const credsResponse = JSON.parse(await requestFromEcsImds(timeout, requestOptions));\n if (!isImdsCredentials(credsResponse)) {\n throw new CredentialsProviderError(\"Invalid response received from instance metadata service.\", {\n logger: init.logger,\n });\n }\n return fromImdsCredentials(credsResponse);\n }, maxRetries);\n};\nconst requestFromEcsImds = async (timeout, options) => {\n if (process.env[ENV_CMDS_AUTH_TOKEN]) {\n options.headers = {\n ...options.headers,\n Authorization: process.env[ENV_CMDS_AUTH_TOKEN],\n };\n }\n const buffer = await httpRequest({\n ...options,\n timeout,\n });\n return buffer.toString();\n};\nconst CMDS_IP = \"169.254.170.2\";\nconst GREENGRASS_HOSTS = new Set([\"localhost\", \"127.0.0.1\"]);\nconst GREENGRASS_PROTOCOLS = new Set([\"http:\", \"https:\"]);\nconst getCmdsUri = async ({ logger }) => {\n if (process.env[ENV_CMDS_RELATIVE_URI]) {\n return {\n hostname: CMDS_IP,\n path: process.env[ENV_CMDS_RELATIVE_URI],\n };\n }\n if (process.env[ENV_CMDS_FULL_URI]) {\n let parsed;\n try {\n parsed = new URL(process.env[ENV_CMDS_FULL_URI]);\n }\n catch {\n throw new CredentialsProviderError(`${process.env[ENV_CMDS_FULL_URI]} is not a valid container metadata service URL`, { tryNextLink: false, logger });\n }\n if (!parsed.hostname || !GREENGRASS_HOSTS.has(parsed.hostname)) {\n throw new CredentialsProviderError(`${parsed.hostname} is not a valid container metadata service hostname`, {\n tryNextLink: false,\n logger,\n });\n }\n if (!parsed.protocol || !GREENGRASS_PROTOCOLS.has(parsed.protocol)) {\n throw new CredentialsProviderError(`${parsed.protocol} is not a valid container metadata service protocol`, {\n tryNextLink: false,\n logger,\n });\n }\n return {\n protocol: parsed.protocol,\n hostname: parsed.hostname,\n path: parsed.pathname + parsed.search,\n port: parsed.port ? parseInt(parsed.port, 10) : undefined,\n };\n }\n throw new CredentialsProviderError(\"The container metadata credential provider cannot be used unless\" +\n ` the ${ENV_CMDS_RELATIVE_URI} or ${ENV_CMDS_FULL_URI} environment` +\n \" variable is set\", {\n tryNextLink: false,\n logger,\n });\n};\n", | ||
| "export const isImdsCredentials = (arg) => Boolean(arg) &&\n typeof arg === \"object\" &&\n typeof arg.AccessKeyId === \"string\" &&\n typeof arg.SecretAccessKey === \"string\" &&\n typeof arg.Token === \"string\" &&\n typeof arg.Expiration === \"string\";\nexport const fromImdsCredentials = (creds) => ({\n accessKeyId: creds.AccessKeyId,\n secretAccessKey: creds.SecretAccessKey,\n sessionToken: creds.Token,\n expiration: new Date(creds.Expiration),\n ...(creds.AccountId && { accountId: creds.AccountId }),\n});\n", | ||
| "export const DEFAULT_TIMEOUT = 1000;\nexport const DEFAULT_MAX_RETRIES = 0;\nexport const providerConfigFromInit = ({ maxRetries = DEFAULT_MAX_RETRIES, timeout = DEFAULT_TIMEOUT, }) => ({ maxRetries, timeout });\n", | ||
| "import { request } from \"node:http\";\nimport { ProviderError } from \"@smithy/core/config\";\nexport function httpRequest(options) {\n return new Promise((resolve, reject) => {\n const req = request({\n method: \"GET\",\n ...options,\n hostname: options.hostname?.replace(/^\\[(.+)\\]$/, \"$1\"),\n });\n req.on(\"error\", (err) => {\n reject(Object.assign(new ProviderError(\"Unable to connect to instance metadata service\"), err));\n req.destroy();\n });\n req.on(\"timeout\", () => {\n reject(new ProviderError(\"TimeoutError from instance metadata service\"));\n req.destroy();\n });\n req.on(\"response\", (res) => {\n const { statusCode = 400 } = res;\n if (statusCode < 200 || 300 <= statusCode) {\n reject(Object.assign(new ProviderError(\"Error response received from instance metadata service\"), { statusCode }));\n req.destroy();\n }\n const chunks = [];\n res.on(\"data\", (chunk) => {\n chunks.push(chunk);\n });\n res.on(\"end\", () => {\n resolve(Buffer.concat(chunks));\n req.destroy();\n });\n });\n req.end();\n });\n}\n", | ||
| "export const retry = (toRetry, maxRetries) => {\n let promise = toRetry();\n for (let i = 0; i < maxRetries; i++) {\n promise = promise.catch(toRetry);\n }\n return promise;\n};\n", | ||
| "import { CredentialsProviderError, loadConfig } from \"@smithy/core/config\";\nimport { InstanceMetadataV1FallbackError } from \"./error/InstanceMetadataV1FallbackError\";\nimport { fromImdsCredentials, isImdsCredentials } from \"./remoteProvider/ImdsCredentials\";\nimport { providerConfigFromInit } from \"./remoteProvider/RemoteProviderInit\";\nimport { httpRequest } from \"./remoteProvider/httpRequest\";\nimport { retry } from \"./remoteProvider/retry\";\nimport { getInstanceMetadataEndpoint } from \"./utils/getInstanceMetadataEndpoint\";\nimport { staticStabilityProvider } from \"./utils/staticStabilityProvider\";\nconst IMDS_PATH = \"/latest/meta-data/iam/security-credentials/\";\nconst IMDS_TOKEN_PATH = \"/latest/api/token\";\nconst AWS_EC2_METADATA_V1_DISABLED = \"AWS_EC2_METADATA_V1_DISABLED\";\nconst PROFILE_AWS_EC2_METADATA_V1_DISABLED = \"ec2_metadata_v1_disabled\";\nconst X_AWS_EC2_METADATA_TOKEN = \"x-aws-ec2-metadata-token\";\nexport const fromInstanceMetadata = (init = {}) => staticStabilityProvider(getInstanceMetadataProvider(init), { logger: init.logger });\nconst getInstanceMetadataProvider = (init = {}) => {\n let disableFetchToken = false;\n const { logger, profile } = init;\n const { timeout, maxRetries } = providerConfigFromInit(init);\n const getCredentials = async (maxRetries, options) => {\n const isImdsV1Fallback = disableFetchToken || options.headers?.[X_AWS_EC2_METADATA_TOKEN] == null;\n if (isImdsV1Fallback) {\n let fallbackBlockedFromProfile = false;\n let fallbackBlockedFromProcessEnv = false;\n const configValue = await loadConfig({\n environmentVariableSelector: (env) => {\n const envValue = env[AWS_EC2_METADATA_V1_DISABLED];\n fallbackBlockedFromProcessEnv = !!envValue && envValue !== \"false\";\n if (envValue === undefined) {\n throw new CredentialsProviderError(`${AWS_EC2_METADATA_V1_DISABLED} not set in env, checking config file next.`, { logger: init.logger });\n }\n return fallbackBlockedFromProcessEnv;\n },\n configFileSelector: (profile) => {\n const profileValue = profile[PROFILE_AWS_EC2_METADATA_V1_DISABLED];\n fallbackBlockedFromProfile = !!profileValue && profileValue !== \"false\";\n return fallbackBlockedFromProfile;\n },\n default: false,\n }, {\n profile,\n })();\n if (init.ec2MetadataV1Disabled || configValue) {\n const causes = [];\n if (init.ec2MetadataV1Disabled)\n causes.push(\"credential provider initialization (runtime option ec2MetadataV1Disabled)\");\n if (fallbackBlockedFromProfile)\n causes.push(`config file profile (${PROFILE_AWS_EC2_METADATA_V1_DISABLED})`);\n if (fallbackBlockedFromProcessEnv)\n causes.push(`process environment variable (${AWS_EC2_METADATA_V1_DISABLED})`);\n throw new InstanceMetadataV1FallbackError(`AWS EC2 Metadata v1 fallback has been blocked by AWS SDK configuration in the following: [${causes.join(\", \")}].`);\n }\n }\n const imdsProfile = (await retry(async () => {\n let profile;\n try {\n profile = await getProfile(options);\n }\n catch (err) {\n if (err.statusCode === 401) {\n disableFetchToken = false;\n }\n throw err;\n }\n return profile;\n }, maxRetries)).trim();\n return retry(async () => {\n let creds;\n try {\n creds = await getCredentialsFromProfile(imdsProfile, options, init);\n }\n catch (err) {\n if (err.statusCode === 401) {\n disableFetchToken = false;\n }\n throw err;\n }\n return creds;\n }, maxRetries);\n };\n return async () => {\n const endpoint = await getInstanceMetadataEndpoint();\n if (disableFetchToken) {\n logger?.debug(\"AWS SDK Instance Metadata\", \"using v1 fallback (no token fetch)\");\n return getCredentials(maxRetries, { ...endpoint, timeout });\n }\n else {\n let token;\n try {\n token = (await getMetadataToken({ ...endpoint, timeout })).toString();\n }\n catch (error) {\n if (error?.statusCode === 400) {\n throw Object.assign(error, {\n message: \"EC2 Metadata token request returned error\",\n });\n }\n else if (error.message === \"TimeoutError\" || [403, 404, 405].includes(error.statusCode)) {\n disableFetchToken = true;\n }\n logger?.debug(\"AWS SDK Instance Metadata\", \"using v1 fallback (initial)\");\n return getCredentials(maxRetries, { ...endpoint, timeout });\n }\n return getCredentials(maxRetries, {\n ...endpoint,\n headers: {\n [X_AWS_EC2_METADATA_TOKEN]: token,\n },\n timeout,\n });\n }\n };\n};\nconst getMetadataToken = async (options) => httpRequest({\n ...options,\n path: IMDS_TOKEN_PATH,\n method: \"PUT\",\n headers: {\n \"x-aws-ec2-metadata-token-ttl-seconds\": \"21600\",\n },\n});\nconst getProfile = async (options) => (await httpRequest({ ...options, path: IMDS_PATH })).toString();\nconst getCredentialsFromProfile = async (profile, options, init) => {\n const credentialsResponse = JSON.parse((await httpRequest({\n ...options,\n path: IMDS_PATH + profile,\n })).toString());\n if (!isImdsCredentials(credentialsResponse)) {\n throw new CredentialsProviderError(\"Invalid response received from instance metadata service.\", {\n logger: init.logger,\n });\n }\n return fromImdsCredentials(credentialsResponse);\n};\n", | ||
| "import { CredentialsProviderError } from \"@smithy/core/config\";\nexport class InstanceMetadataV1FallbackError extends CredentialsProviderError {\n tryNextLink;\n name = \"InstanceMetadataV1FallbackError\";\n constructor(message, tryNextLink = true) {\n super(message, tryNextLink);\n this.tryNextLink = tryNextLink;\n Object.setPrototypeOf(this, InstanceMetadataV1FallbackError.prototype);\n }\n}\n", | ||
| "import { loadConfig } from \"@smithy/core/config\";\nimport { parseUrl } from \"@smithy/core/protocols\";\nimport { Endpoint as InstanceMetadataEndpoint } from \"../config/Endpoint\";\nimport { ENDPOINT_CONFIG_OPTIONS } from \"../config/EndpointConfigOptions\";\nimport { EndpointMode } from \"../config/EndpointMode\";\nimport { ENDPOINT_MODE_CONFIG_OPTIONS, } from \"../config/EndpointModeConfigOptions\";\nexport const getInstanceMetadataEndpoint = async () => parseUrl((await getFromEndpointConfig()) || (await getFromEndpointModeConfig()));\nconst getFromEndpointConfig = async () => loadConfig(ENDPOINT_CONFIG_OPTIONS)();\nconst getFromEndpointModeConfig = async () => {\n const endpointMode = await loadConfig(ENDPOINT_MODE_CONFIG_OPTIONS)();\n switch (endpointMode) {\n case EndpointMode.IPv4:\n return InstanceMetadataEndpoint.IPv4;\n case EndpointMode.IPv6:\n return InstanceMetadataEndpoint.IPv6;\n default:\n throw new Error(`Unsupported endpoint mode: ${endpointMode}.` + ` Select from ${Object.values(EndpointMode)}`);\n }\n};\n", | ||
| "export var Endpoint;\n(function (Endpoint) {\n Endpoint[\"IPv4\"] = \"http://169.254.169.254\";\n Endpoint[\"IPv6\"] = \"http://[fd00:ec2::254]\";\n})(Endpoint || (Endpoint = {}));\n", | ||
| "export const ENV_ENDPOINT_NAME = \"AWS_EC2_METADATA_SERVICE_ENDPOINT\";\nexport const CONFIG_ENDPOINT_NAME = \"ec2_metadata_service_endpoint\";\nexport const ENDPOINT_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => env[ENV_ENDPOINT_NAME],\n configFileSelector: (profile) => profile[CONFIG_ENDPOINT_NAME],\n default: undefined,\n};\n", | ||
| "export var EndpointMode;\n(function (EndpointMode) {\n EndpointMode[\"IPv4\"] = \"IPv4\";\n EndpointMode[\"IPv6\"] = \"IPv6\";\n})(EndpointMode || (EndpointMode = {}));\n", | ||
| "import { EndpointMode } from \"./EndpointMode\";\nexport const ENV_ENDPOINT_MODE_NAME = \"AWS_EC2_METADATA_SERVICE_ENDPOINT_MODE\";\nexport const CONFIG_ENDPOINT_MODE_NAME = \"ec2_metadata_service_endpoint_mode\";\nexport const ENDPOINT_MODE_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => env[ENV_ENDPOINT_MODE_NAME],\n configFileSelector: (profile) => profile[CONFIG_ENDPOINT_MODE_NAME],\n default: EndpointMode.IPv4,\n};\n", | ||
| "const STATIC_STABILITY_REFRESH_INTERVAL_SECONDS = 5 * 60;\nconst STATIC_STABILITY_REFRESH_INTERVAL_JITTER_WINDOW_SECONDS = 5 * 60;\nconst STATIC_STABILITY_DOC_URL = \"https://docs.aws.amazon.com/sdkref/latest/guide/feature-static-credentials.html\";\nexport const getExtendedInstanceMetadataCredentials = (credentials, logger) => {\n const refreshInterval = STATIC_STABILITY_REFRESH_INTERVAL_SECONDS +\n Math.floor(Math.random() * STATIC_STABILITY_REFRESH_INTERVAL_JITTER_WINDOW_SECONDS);\n const newExpiration = new Date(Date.now() + refreshInterval * 1000);\n logger.warn(\"Attempting credential expiration extension due to a credential service availability issue. A refresh of these \" +\n `credentials will be attempted after ${new Date(newExpiration)}.\\nFor more information, please visit: ` +\n STATIC_STABILITY_DOC_URL);\n const originalExpiration = credentials.originalExpiration ?? credentials.expiration;\n return {\n ...credentials,\n ...(originalExpiration ? { originalExpiration } : {}),\n expiration: newExpiration,\n };\n};\n", | ||
| "import { getExtendedInstanceMetadataCredentials } from \"./getExtendedInstanceMetadataCredentials\";\nexport const staticStabilityProvider = (provider, options = {}) => {\n const logger = options?.logger || console;\n let pastCredentials;\n return async () => {\n let credentials;\n try {\n credentials = await provider();\n if (credentials.expiration && credentials.expiration.getTime() < Date.now()) {\n credentials = getExtendedInstanceMetadataCredentials(credentials, logger);\n }\n }\n catch (e) {\n if (pastCredentials) {\n logger.warn(\"Credential renew failed: \", e);\n credentials = getExtendedInstanceMetadataCredentials(pastCredentials, logger);\n }\n else {\n throw e;\n }\n }\n pastCredentials = credentials;\n return credentials;\n };\n};\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "DE1D21F8963C20B464756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@smithy+core@3.24.5/node_modules/@smithy/core/dist-cjs/submodules/event-streams/index.js"], | ||
| "sourcesContent": [ | ||
| "'use strict';\n\nvar crc32 = require('@aws-crypto/crc32');\nvar serde = require('@smithy/core/serde');\nvar node_stream = require('node:stream');\n\nclass Int64 {\n bytes;\n constructor(bytes) {\n this.bytes = bytes;\n if (bytes.byteLength !== 8) {\n throw new Error(\"Int64 buffers must be exactly 8 bytes\");\n }\n }\n static fromNumber(number) {\n if (number > 9_223_372_036_854_775_807 || number < -9223372036854776e3) {\n throw new Error(`${number} is too large (or, if negative, too small) to represent as an Int64`);\n }\n const bytes = new Uint8Array(8);\n for (let i = 7, remaining = Math.abs(Math.round(number)); i > -1 && remaining > 0; i--, remaining /= 256) {\n bytes[i] = remaining;\n }\n if (number < 0) {\n negate(bytes);\n }\n return new Int64(bytes);\n }\n valueOf() {\n const bytes = this.bytes.slice(0);\n const negative = bytes[0] & 0b10000000;\n if (negative) {\n negate(bytes);\n }\n return parseInt(serde.toHex(bytes), 16) * (negative ? -1 : 1);\n }\n toString() {\n return String(this.valueOf());\n }\n}\nfunction negate(bytes) {\n for (let i = 0; i < 8; i++) {\n bytes[i] ^= 0xff;\n }\n for (let i = 7; i > -1; i--) {\n bytes[i]++;\n if (bytes[i] !== 0)\n break;\n }\n}\n\nclass HeaderMarshaller {\n toUtf8;\n fromUtf8;\n constructor(toUtf8, fromUtf8) {\n this.toUtf8 = toUtf8;\n this.fromUtf8 = fromUtf8;\n }\n format(headers) {\n const chunks = [];\n for (const headerName of Object.keys(headers)) {\n const bytes = this.fromUtf8(headerName);\n chunks.push(Uint8Array.from([bytes.byteLength]), bytes, this.formatHeaderValue(headers[headerName]));\n }\n const out = new Uint8Array(chunks.reduce((carry, bytes) => carry + bytes.byteLength, 0));\n let position = 0;\n for (const chunk of chunks) {\n out.set(chunk, position);\n position += chunk.byteLength;\n }\n return out;\n }\n formatHeaderValue(header) {\n switch (header.type) {\n case \"boolean\":\n return Uint8Array.from([header.value ? 0 : 1]);\n case \"byte\":\n return Uint8Array.from([2, header.value]);\n case \"short\":\n const shortView = new DataView(new ArrayBuffer(3));\n shortView.setUint8(0, 3);\n shortView.setInt16(1, header.value, false);\n return new Uint8Array(shortView.buffer);\n case \"integer\":\n const intView = new DataView(new ArrayBuffer(5));\n intView.setUint8(0, 4);\n intView.setInt32(1, header.value, false);\n return new Uint8Array(intView.buffer);\n case \"long\":\n const longBytes = new Uint8Array(9);\n longBytes[0] = 5;\n longBytes.set(header.value.bytes, 1);\n return longBytes;\n case \"binary\":\n const binView = new DataView(new ArrayBuffer(3 + header.value.byteLength));\n binView.setUint8(0, 6);\n binView.setUint16(1, header.value.byteLength, false);\n const binBytes = new Uint8Array(binView.buffer);\n binBytes.set(header.value, 3);\n return binBytes;\n case \"string\":\n const utf8Bytes = this.fromUtf8(header.value);\n const strView = new DataView(new ArrayBuffer(3 + utf8Bytes.byteLength));\n strView.setUint8(0, 7);\n strView.setUint16(1, utf8Bytes.byteLength, false);\n const strBytes = new Uint8Array(strView.buffer);\n strBytes.set(utf8Bytes, 3);\n return strBytes;\n case \"timestamp\":\n const tsBytes = new Uint8Array(9);\n tsBytes[0] = 8;\n tsBytes.set(Int64.fromNumber(header.value.valueOf()).bytes, 1);\n return tsBytes;\n case \"uuid\":\n if (!UUID_PATTERN.test(header.value)) {\n throw new Error(`Invalid UUID received: ${header.value}`);\n }\n const uuidBytes = new Uint8Array(17);\n uuidBytes[0] = 9;\n uuidBytes.set(serde.fromHex(header.value.replace(/\\-/g, \"\")), 1);\n return uuidBytes;\n }\n }\n parse(headers) {\n const out = {};\n let position = 0;\n while (position < headers.byteLength) {\n const nameLength = headers.getUint8(position++);\n const name = this.toUtf8(new Uint8Array(headers.buffer, headers.byteOffset + position, nameLength));\n position += nameLength;\n switch (headers.getUint8(position++)) {\n case 0:\n out[name] = {\n type: BOOLEAN_TAG,\n value: true,\n };\n break;\n case 1:\n out[name] = {\n type: BOOLEAN_TAG,\n value: false,\n };\n break;\n case 2:\n out[name] = {\n type: BYTE_TAG,\n value: headers.getInt8(position++),\n };\n break;\n case 3:\n out[name] = {\n type: SHORT_TAG,\n value: headers.getInt16(position, false),\n };\n position += 2;\n break;\n case 4:\n out[name] = {\n type: INT_TAG,\n value: headers.getInt32(position, false),\n };\n position += 4;\n break;\n case 5:\n out[name] = {\n type: LONG_TAG,\n value: new Int64(new Uint8Array(headers.buffer, headers.byteOffset + position, 8)),\n };\n position += 8;\n break;\n case 6:\n const binaryLength = headers.getUint16(position, false);\n position += 2;\n out[name] = {\n type: BINARY_TAG,\n value: new Uint8Array(headers.buffer, headers.byteOffset + position, binaryLength),\n };\n position += binaryLength;\n break;\n case 7:\n const stringLength = headers.getUint16(position, false);\n position += 2;\n out[name] = {\n type: STRING_TAG,\n value: this.toUtf8(new Uint8Array(headers.buffer, headers.byteOffset + position, stringLength)),\n };\n position += stringLength;\n break;\n case 8:\n out[name] = {\n type: TIMESTAMP_TAG,\n value: new Date(new Int64(new Uint8Array(headers.buffer, headers.byteOffset + position, 8)).valueOf()),\n };\n position += 8;\n break;\n case 9:\n const uuidBytes = new Uint8Array(headers.buffer, headers.byteOffset + position, 16);\n position += 16;\n out[name] = {\n type: UUID_TAG,\n value: `${serde.toHex(uuidBytes.subarray(0, 4))}-${serde.toHex(uuidBytes.subarray(4, 6))}-${serde.toHex(uuidBytes.subarray(6, 8))}-${serde.toHex(uuidBytes.subarray(8, 10))}-${serde.toHex(uuidBytes.subarray(10))}`,\n };\n break;\n default:\n throw new Error(`Unrecognized header type tag`);\n }\n }\n return out;\n }\n}\nvar HEADER_VALUE_TYPE;\n(function (HEADER_VALUE_TYPE) {\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"boolTrue\"] = 0] = \"boolTrue\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"boolFalse\"] = 1] = \"boolFalse\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"byte\"] = 2] = \"byte\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"short\"] = 3] = \"short\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"integer\"] = 4] = \"integer\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"long\"] = 5] = \"long\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"byteArray\"] = 6] = \"byteArray\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"string\"] = 7] = \"string\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"timestamp\"] = 8] = \"timestamp\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"uuid\"] = 9] = \"uuid\";\n})(HEADER_VALUE_TYPE || (HEADER_VALUE_TYPE = {}));\nconst BOOLEAN_TAG = \"boolean\";\nconst BYTE_TAG = \"byte\";\nconst SHORT_TAG = \"short\";\nconst INT_TAG = \"integer\";\nconst LONG_TAG = \"long\";\nconst BINARY_TAG = \"binary\";\nconst STRING_TAG = \"string\";\nconst TIMESTAMP_TAG = \"timestamp\";\nconst UUID_TAG = \"uuid\";\nconst UUID_PATTERN = /^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;\n\nconst PRELUDE_MEMBER_LENGTH = 4;\nconst PRELUDE_LENGTH = PRELUDE_MEMBER_LENGTH * 2;\nconst CHECKSUM_LENGTH = 4;\nconst MINIMUM_MESSAGE_LENGTH = PRELUDE_LENGTH + CHECKSUM_LENGTH * 2;\nfunction splitMessage({ byteLength, byteOffset, buffer }) {\n if (byteLength < MINIMUM_MESSAGE_LENGTH) {\n throw new Error(\"Provided message too short to accommodate event stream message overhead\");\n }\n const view = new DataView(buffer, byteOffset, byteLength);\n const messageLength = view.getUint32(0, false);\n if (byteLength !== messageLength) {\n throw new Error(\"Reported message length does not match received message length\");\n }\n const headerLength = view.getUint32(PRELUDE_MEMBER_LENGTH, false);\n const expectedPreludeChecksum = view.getUint32(PRELUDE_LENGTH, false);\n const expectedMessageChecksum = view.getUint32(byteLength - CHECKSUM_LENGTH, false);\n const checksummer = new crc32.Crc32().update(new Uint8Array(buffer, byteOffset, PRELUDE_LENGTH));\n if (expectedPreludeChecksum !== checksummer.digest()) {\n throw new Error(`The prelude checksum specified in the message (${expectedPreludeChecksum}) does not match the calculated CRC32 checksum (${checksummer.digest()})`);\n }\n checksummer.update(new Uint8Array(buffer, byteOffset + PRELUDE_LENGTH, byteLength - (PRELUDE_LENGTH + CHECKSUM_LENGTH)));\n if (expectedMessageChecksum !== checksummer.digest()) {\n throw new Error(`The message checksum (${checksummer.digest()}) did not match the expected value of ${expectedMessageChecksum}`);\n }\n return {\n headers: new DataView(buffer, byteOffset + PRELUDE_LENGTH + CHECKSUM_LENGTH, headerLength),\n body: new Uint8Array(buffer, byteOffset + PRELUDE_LENGTH + CHECKSUM_LENGTH + headerLength, messageLength - headerLength - (PRELUDE_LENGTH + CHECKSUM_LENGTH + CHECKSUM_LENGTH)),\n };\n}\n\nclass EventStreamCodec {\n headerMarshaller;\n messageBuffer;\n isEndOfStream;\n constructor(toUtf8, fromUtf8) {\n this.headerMarshaller = new HeaderMarshaller(toUtf8, fromUtf8);\n this.messageBuffer = [];\n this.isEndOfStream = false;\n }\n feed(message) {\n this.messageBuffer.push(this.decode(message));\n }\n endOfStream() {\n this.isEndOfStream = true;\n }\n getMessage() {\n const message = this.messageBuffer.pop();\n const isEndOfStream = this.isEndOfStream;\n return {\n getMessage() {\n return message;\n },\n isEndOfStream() {\n return isEndOfStream;\n },\n };\n }\n getAvailableMessages() {\n const messages = this.messageBuffer;\n this.messageBuffer = [];\n const isEndOfStream = this.isEndOfStream;\n return {\n getMessages() {\n return messages;\n },\n isEndOfStream() {\n return isEndOfStream;\n },\n };\n }\n encode({ headers: rawHeaders, body }) {\n const headers = this.headerMarshaller.format(rawHeaders);\n const length = headers.byteLength + body.byteLength + 16;\n const out = new Uint8Array(length);\n const view = new DataView(out.buffer, out.byteOffset, out.byteLength);\n const checksum = new crc32.Crc32();\n view.setUint32(0, length, false);\n view.setUint32(4, headers.byteLength, false);\n view.setUint32(8, checksum.update(out.subarray(0, 8)).digest(), false);\n out.set(headers, 12);\n out.set(body, headers.byteLength + 12);\n view.setUint32(length - 4, checksum.update(out.subarray(8, length - 4)).digest(), false);\n return out;\n }\n decode(message) {\n const { headers, body } = splitMessage(message);\n return { headers: this.headerMarshaller.parse(headers), body };\n }\n formatHeaders(rawHeaders) {\n return this.headerMarshaller.format(rawHeaders);\n }\n}\n\nclass MessageDecoderStream {\n options;\n constructor(options) {\n this.options = options;\n }\n [Symbol.asyncIterator]() {\n return this.asyncIterator();\n }\n async *asyncIterator() {\n for await (const bytes of this.options.inputStream) {\n const decoded = this.options.decoder.decode(bytes);\n yield decoded;\n }\n }\n}\n\nclass MessageEncoderStream {\n options;\n constructor(options) {\n this.options = options;\n }\n [Symbol.asyncIterator]() {\n return this.asyncIterator();\n }\n async *asyncIterator() {\n for await (const msg of this.options.messageStream) {\n const encoded = this.options.encoder.encode(msg);\n yield encoded;\n }\n if (this.options.includeEndFrame) {\n yield new Uint8Array(0);\n }\n }\n}\n\nclass SmithyMessageDecoderStream {\n options;\n constructor(options) {\n this.options = options;\n }\n [Symbol.asyncIterator]() {\n return this.asyncIterator();\n }\n async *asyncIterator() {\n for await (const message of this.options.messageStream) {\n const deserialized = await this.options.deserializer(message);\n if (deserialized === undefined)\n continue;\n yield deserialized;\n }\n }\n}\n\nclass SmithyMessageEncoderStream {\n options;\n constructor(options) {\n this.options = options;\n }\n [Symbol.asyncIterator]() {\n return this.asyncIterator();\n }\n async *asyncIterator() {\n for await (const chunk of this.options.inputStream) {\n const payloadBuf = this.options.serializer(chunk);\n yield payloadBuf;\n }\n }\n}\n\nfunction getChunkedStream(source) {\n let currentMessageTotalLength = 0;\n let currentMessagePendingLength = 0;\n let currentMessage = null;\n let messageLengthBuffer = null;\n const allocateMessage = (size) => {\n if (typeof size !== \"number\") {\n throw new Error(\"Attempted to allocate an event message where size was not a number: \" + size);\n }\n currentMessageTotalLength = size;\n currentMessagePendingLength = 4;\n currentMessage = new Uint8Array(size);\n const currentMessageView = new DataView(currentMessage.buffer);\n currentMessageView.setUint32(0, size, false);\n };\n const iterator = async function* () {\n const sourceIterator = source[Symbol.asyncIterator]();\n while (true) {\n const { value, done } = await sourceIterator.next();\n if (done) {\n if (!currentMessageTotalLength) {\n return;\n }\n else if (currentMessageTotalLength === currentMessagePendingLength) {\n yield currentMessage;\n }\n else {\n throw new Error(\"Truncated event message received.\");\n }\n return;\n }\n const chunkLength = value.length;\n let currentOffset = 0;\n while (currentOffset < chunkLength) {\n if (!currentMessage) {\n const bytesRemaining = chunkLength - currentOffset;\n if (!messageLengthBuffer) {\n messageLengthBuffer = new Uint8Array(4);\n }\n const numBytesForTotal = Math.min(4 - currentMessagePendingLength, bytesRemaining);\n messageLengthBuffer.set(value.slice(currentOffset, currentOffset + numBytesForTotal), currentMessagePendingLength);\n currentMessagePendingLength += numBytesForTotal;\n currentOffset += numBytesForTotal;\n if (currentMessagePendingLength < 4) {\n break;\n }\n allocateMessage(new DataView(messageLengthBuffer.buffer).getUint32(0, false));\n messageLengthBuffer = null;\n }\n const numBytesToWrite = Math.min(currentMessageTotalLength - currentMessagePendingLength, chunkLength - currentOffset);\n currentMessage.set(value.slice(currentOffset, currentOffset + numBytesToWrite), currentMessagePendingLength);\n currentMessagePendingLength += numBytesToWrite;\n currentOffset += numBytesToWrite;\n if (currentMessageTotalLength && currentMessageTotalLength === currentMessagePendingLength) {\n yield currentMessage;\n currentMessage = null;\n currentMessageTotalLength = 0;\n currentMessagePendingLength = 0;\n }\n }\n }\n };\n return {\n [Symbol.asyncIterator]: iterator,\n };\n}\n\nfunction getUnmarshalledStream(source, options) {\n const messageUnmarshaller = getMessageUnmarshaller(options.deserializer, options.toUtf8);\n return {\n [Symbol.asyncIterator]: async function* () {\n for await (const chunk of source) {\n const message = options.eventStreamCodec.decode(chunk);\n const type = await messageUnmarshaller(message);\n if (type === undefined)\n continue;\n yield type;\n }\n },\n };\n}\nfunction getMessageUnmarshaller(deserializer, toUtf8) {\n return async function (message) {\n const { value: messageType } = message.headers[\":message-type\"];\n if (messageType === \"error\") {\n const unmodeledError = new Error(message.headers[\":error-message\"].value || \"UnknownError\");\n unmodeledError.name = message.headers[\":error-code\"].value;\n throw unmodeledError;\n }\n else if (messageType === \"exception\") {\n const code = message.headers[\":exception-type\"].value;\n const exception = { [code]: message };\n const deserializedException = await deserializer(exception);\n if (deserializedException.$unknown) {\n const error = new Error(toUtf8(message.body));\n error.name = code;\n throw error;\n }\n throw deserializedException[code];\n }\n else if (messageType === \"event\") {\n const event = {\n [message.headers[\":event-type\"].value]: message,\n };\n const deserialized = await deserializer(event);\n if (deserialized.$unknown)\n return;\n return deserialized;\n }\n else {\n throw Error(`Unrecognizable event type: ${message.headers[\":event-type\"].value}`);\n }\n };\n}\n\nlet EventStreamMarshaller$1 = class EventStreamMarshaller {\n eventStreamCodec;\n utfEncoder;\n constructor({ utf8Encoder, utf8Decoder }) {\n this.eventStreamCodec = new EventStreamCodec(utf8Encoder, utf8Decoder);\n this.utfEncoder = utf8Encoder;\n }\n deserialize(body, deserializer) {\n const inputStream = getChunkedStream(body);\n return new SmithyMessageDecoderStream({\n messageStream: new MessageDecoderStream({ inputStream, decoder: this.eventStreamCodec }),\n deserializer: getMessageUnmarshaller(deserializer, this.utfEncoder),\n });\n }\n serialize(inputStream, serializer) {\n return new MessageEncoderStream({\n messageStream: new SmithyMessageEncoderStream({ inputStream, serializer }),\n encoder: this.eventStreamCodec,\n includeEndFrame: true,\n });\n }\n};\nconst eventStreamSerdeProvider$1 = (options) => new EventStreamMarshaller$1(options);\n\nclass EventStreamMarshaller {\n universalMarshaller;\n constructor({ utf8Encoder, utf8Decoder }) {\n this.universalMarshaller = new EventStreamMarshaller$1({\n utf8Decoder,\n utf8Encoder,\n });\n }\n deserialize(body, deserializer) {\n const bodyIterable = typeof body[Symbol.asyncIterator] === \"function\" ? body : readableToIterable(body);\n return this.universalMarshaller.deserialize(bodyIterable, deserializer);\n }\n serialize(input, serializer) {\n return node_stream.Readable.from(this.universalMarshaller.serialize(input, serializer));\n }\n}\nconst eventStreamSerdeProvider = (options) => new EventStreamMarshaller(options);\nasync function* readableToIterable(readStream) {\n let streamEnded = false;\n let generationEnded = false;\n const records = new Array();\n readStream.on(\"error\", (err) => {\n if (!streamEnded) {\n streamEnded = true;\n }\n if (err) {\n throw err;\n }\n });\n readStream.on(\"data\", (data) => {\n records.push(data);\n });\n readStream.on(\"end\", () => {\n streamEnded = true;\n });\n while (!generationEnded) {\n const value = await new Promise((resolve) => setTimeout(() => resolve(records.shift()), 0));\n if (value) {\n yield value;\n }\n generationEnded = streamEnded && records.length === 0;\n }\n}\n\nconst readableStreamToIterable = (readableStream) => ({\n [Symbol.asyncIterator]: async function* () {\n const reader = readableStream.getReader();\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done)\n return;\n yield value;\n }\n }\n finally {\n reader.releaseLock();\n }\n },\n});\nconst iterableToReadableStream = (asyncIterable) => {\n const iterator = asyncIterable[Symbol.asyncIterator]();\n return new ReadableStream({\n async pull(controller) {\n const { done, value } = await iterator.next();\n if (done) {\n return controller.close();\n }\n controller.enqueue(value);\n },\n });\n};\n\nconst resolveEventStreamSerdeConfig = (input) => Object.assign(input, {\n eventStreamMarshaller: input.eventStreamSerdeProvider(input),\n});\n\nclass EventStreamSerde {\n marshaller;\n serializer;\n deserializer;\n serdeContext;\n defaultContentType;\n constructor({ marshaller, serializer, deserializer, serdeContext, defaultContentType, }) {\n this.marshaller = marshaller;\n this.serializer = serializer;\n this.deserializer = deserializer;\n this.serdeContext = serdeContext;\n this.defaultContentType = defaultContentType;\n }\n async serializeEventStream({ eventStream, requestSchema, initialRequest, }) {\n const marshaller = this.marshaller;\n const eventStreamMember = requestSchema.getEventStreamMember();\n const unionSchema = requestSchema.getMemberSchema(eventStreamMember);\n const serializer = this.serializer;\n const defaultContentType = this.defaultContentType;\n const initialRequestMarker = Symbol(\"initialRequestMarker\");\n const eventStreamIterable = {\n async *[Symbol.asyncIterator]() {\n if (initialRequest) {\n const headers = {\n \":event-type\": { type: \"string\", value: \"initial-request\" },\n \":message-type\": { type: \"string\", value: \"event\" },\n \":content-type\": { type: \"string\", value: defaultContentType },\n };\n serializer.write(requestSchema, initialRequest);\n const body = serializer.flush();\n yield {\n [initialRequestMarker]: true,\n headers,\n body,\n };\n }\n for await (const page of eventStream) {\n yield page;\n }\n },\n };\n return marshaller.serialize(eventStreamIterable, (event) => {\n if (event[initialRequestMarker]) {\n return {\n headers: event.headers,\n body: event.body,\n };\n }\n let unionMember = \"\";\n for (const key in event) {\n if (key !== \"__type\") {\n unionMember = key;\n break;\n }\n }\n const { additionalHeaders, body, eventType, explicitPayloadContentType } = this.writeEventBody(unionMember, unionSchema, event);\n const headers = {\n \":event-type\": { type: \"string\", value: eventType },\n \":message-type\": { type: \"string\", value: \"event\" },\n \":content-type\": { type: \"string\", value: explicitPayloadContentType ?? defaultContentType },\n ...additionalHeaders,\n };\n return {\n headers,\n body,\n };\n });\n }\n async deserializeEventStream({ response, responseSchema, initialResponseContainer, }) {\n const marshaller = this.marshaller;\n const eventStreamMember = responseSchema.getEventStreamMember();\n const unionSchema = responseSchema.getMemberSchema(eventStreamMember);\n const memberSchemas = unionSchema.getMemberSchemas();\n const initialResponseMarker = Symbol(\"initialResponseMarker\");\n const asyncIterable = marshaller.deserialize(response.body, async (event) => {\n let unionMember = \"\";\n for (const key in event) {\n if (key !== \"__type\") {\n unionMember = key;\n break;\n }\n }\n const body = event[unionMember].body;\n if (unionMember === \"initial-response\") {\n const dataObject = await this.deserializer.read(responseSchema, body);\n delete dataObject[eventStreamMember];\n return {\n [initialResponseMarker]: true,\n ...dataObject,\n };\n }\n else if (unionMember in memberSchemas) {\n const eventStreamSchema = memberSchemas[unionMember];\n if (eventStreamSchema.isStructSchema()) {\n const out = {};\n let hasBindings = false;\n for (const [name, member] of eventStreamSchema.structIterator()) {\n const { eventHeader, eventPayload } = member.getMergedTraits();\n hasBindings = hasBindings || Boolean(eventHeader || eventPayload);\n if (eventPayload) {\n if (member.isBlobSchema()) {\n out[name] = body;\n }\n else if (member.isStringSchema()) {\n out[name] = (this.serdeContext?.utf8Encoder ?? serde.toUtf8)(body);\n }\n else if (member.isStructSchema()) {\n out[name] = await this.deserializer.read(member, body);\n }\n }\n else if (eventHeader) {\n const value = event[unionMember].headers[name]?.value;\n if (value != null) {\n if (member.isNumericSchema()) {\n if (value && typeof value === \"object\" && \"bytes\" in value) {\n out[name] = BigInt(value.toString());\n }\n else {\n out[name] = Number(value);\n }\n }\n else {\n out[name] = value;\n }\n }\n }\n }\n if (hasBindings) {\n return {\n [unionMember]: out,\n };\n }\n if (body.byteLength === 0) {\n return {\n [unionMember]: {},\n };\n }\n }\n return {\n [unionMember]: await this.deserializer.read(eventStreamSchema, body),\n };\n }\n else {\n return {\n $unknown: event,\n };\n }\n });\n const asyncIterator = asyncIterable[Symbol.asyncIterator]();\n const firstEvent = await asyncIterator.next();\n if (firstEvent.done) {\n return asyncIterable;\n }\n if (firstEvent.value?.[initialResponseMarker]) {\n if (!responseSchema) {\n throw new Error(\"@smithy::core/protocols - initial-response event encountered in event stream but no response schema given.\");\n }\n for (const key in firstEvent.value) {\n initialResponseContainer[key] = firstEvent.value[key];\n }\n }\n return {\n async *[Symbol.asyncIterator]() {\n if (!firstEvent?.value?.[initialResponseMarker]) {\n yield firstEvent.value;\n }\n while (true) {\n const { done, value } = await asyncIterator.next();\n if (done) {\n break;\n }\n yield value;\n }\n },\n };\n }\n writeEventBody(unionMember, unionSchema, event) {\n const serializer = this.serializer;\n let eventType = unionMember;\n let explicitPayloadMember = null;\n let explicitPayloadContentType;\n const isKnownSchema = (() => {\n const struct = unionSchema.getSchema();\n return struct[4].includes(unionMember);\n })();\n const additionalHeaders = {};\n if (!isKnownSchema) {\n const [type, value] = event[unionMember];\n eventType = type;\n serializer.write(15, value);\n }\n else {\n const eventSchema = unionSchema.getMemberSchema(unionMember);\n if (eventSchema.isStructSchema()) {\n for (const [memberName, memberSchema] of eventSchema.structIterator()) {\n const { eventHeader, eventPayload } = memberSchema.getMergedTraits();\n if (eventPayload) {\n explicitPayloadMember = memberName;\n }\n else if (eventHeader) {\n const value = event[unionMember][memberName];\n let type = \"binary\";\n if (memberSchema.isNumericSchema()) {\n if ((-2) ** 31 <= value && value <= 2 ** 31 - 1) {\n type = \"integer\";\n }\n else {\n type = \"long\";\n }\n }\n else if (memberSchema.isTimestampSchema()) {\n type = \"timestamp\";\n }\n else if (memberSchema.isStringSchema()) {\n type = \"string\";\n }\n else if (memberSchema.isBooleanSchema()) {\n type = \"boolean\";\n }\n if (value != null) {\n additionalHeaders[memberName] = {\n type,\n value,\n };\n delete event[unionMember][memberName];\n }\n }\n }\n if (explicitPayloadMember !== null) {\n const payloadSchema = eventSchema.getMemberSchema(explicitPayloadMember);\n if (payloadSchema.isBlobSchema()) {\n explicitPayloadContentType = \"application/octet-stream\";\n }\n else if (payloadSchema.isStringSchema()) {\n explicitPayloadContentType = \"text/plain\";\n }\n serializer.write(payloadSchema, event[unionMember][explicitPayloadMember]);\n }\n else {\n serializer.write(eventSchema, event[unionMember]);\n }\n }\n else if (eventSchema.isUnitSchema()) {\n serializer.write(eventSchema, {});\n }\n else {\n throw new Error(\"@smithy/core/event-streams - non-struct member not supported in event stream union.\");\n }\n }\n const messageSerialization = serializer.flush() ?? new Uint8Array();\n const body = typeof messageSerialization === \"string\"\n ? (this.serdeContext?.utf8Decoder ?? serde.fromUtf8)(messageSerialization)\n : messageSerialization;\n return {\n body,\n eventType,\n explicitPayloadContentType,\n additionalHeaders,\n };\n }\n}\n\nexports.EventStreamCodec = EventStreamCodec;\nexports.EventStreamMarshaller = EventStreamMarshaller;\nexports.EventStreamSerde = EventStreamSerde;\nexports.HeaderMarshaller = HeaderMarshaller;\nexports.Int64 = Int64;\nexports.MessageDecoderStream = MessageDecoderStream;\nexports.MessageEncoderStream = MessageEncoderStream;\nexports.SmithyMessageDecoderStream = SmithyMessageDecoderStream;\nexports.SmithyMessageEncoderStream = SmithyMessageEncoderStream;\nexports.UniversalEventStreamMarshaller = EventStreamMarshaller$1;\nexports.eventStreamSerdeProvider = eventStreamSerdeProvider;\nexports.getChunkedStream = getChunkedStream;\nexports.getMessageUnmarshaller = getMessageUnmarshaller;\nexports.getUnmarshalledStream = getUnmarshalledStream;\nexports.iterableToReadableStream = iterableToReadableStream;\nexports.readableStreamToIterable = readableStreamToIterable;\nexports.resolveEventStreamSerdeConfig = resolveEventStreamSerdeConfig;\nexports.universalEventStreamSerdeProvider = eventStreamSerdeProvider$1;\n" | ||
| ], | ||
| "mappings": ";0JAMA,WAAM,MAAM,CACR,MACA,WAAW,CAAC,EAAO,CAEf,GADA,KAAK,MAAQ,EACT,EAAM,aAAe,EACrB,MAAU,MAAM,uCAAuC,QAGxD,WAAU,CAAC,EAAQ,CACtB,GAAI,EAAS,qBAA6B,EAAS,qBAC/C,MAAU,MAAM,GAAG,sEAA2E,EAElG,IAAM,EAAQ,IAAI,WAAW,CAAC,EAC9B,QAAS,EAAI,EAAG,EAAY,KAAK,IAAI,KAAK,MAAM,CAAM,CAAC,EAAG,EAAI,IAAM,EAAY,EAAG,IAAK,GAAa,IACjG,EAAM,GAAK,EAEf,GAAI,EAAS,EACT,EAAO,CAAK,EAEhB,OAAO,IAAI,EAAM,CAAK,EAE1B,OAAO,EAAG,CACN,IAAM,EAAQ,KAAK,MAAM,MAAM,CAAC,EAC1B,EAAW,EAAM,GAAK,IAC5B,GAAI,EACA,EAAO,CAAK,EAEhB,OAAO,SAAS,EAAM,MAAM,CAAK,EAAG,EAAE,GAAK,EAAW,GAAK,GAE/D,QAAQ,EAAG,CACP,OAAO,OAAO,KAAK,QAAQ,CAAC,EAEpC,CACA,SAAS,CAAM,CAAC,EAAO,CACnB,QAAS,EAAI,EAAG,EAAI,EAAG,IACnB,EAAM,IAAM,IAEhB,QAAS,EAAI,EAAG,EAAI,GAAI,IAEpB,GADA,EAAM,KACF,EAAM,KAAO,EACb,MAIZ,MAAM,CAAiB,CACnB,OACA,SACA,WAAW,CAAC,EAAQ,EAAU,CAC1B,KAAK,OAAS,EACd,KAAK,SAAW,EAEpB,MAAM,CAAC,EAAS,CACZ,IAAM,EAAS,CAAC,EAChB,QAAW,KAAc,OAAO,KAAK,CAAO,EAAG,CAC3C,IAAM,EAAQ,KAAK,SAAS,CAAU,EACtC,EAAO,KAAK,WAAW,KAAK,CAAC,EAAM,UAAU,CAAC,EAAG,EAAO,KAAK,kBAAkB,EAAQ,EAAW,CAAC,EAEvG,IAAM,EAAM,IAAI,WAAW,EAAO,OAAO,CAAC,EAAO,IAAU,EAAQ,EAAM,WAAY,CAAC,CAAC,EACnF,EAAW,EACf,QAAW,KAAS,EAChB,EAAI,IAAI,EAAO,CAAQ,EACvB,GAAY,EAAM,WAEtB,OAAO,EAEX,iBAAiB,CAAC,EAAQ,CACtB,OAAQ,EAAO,UACN,UACD,OAAO,WAAW,KAAK,CAAC,EAAO,MAAQ,EAAI,CAAC,CAAC,MAC5C,OACD,OAAO,WAAW,KAAK,CAAC,EAAG,EAAO,KAAK,CAAC,MACvC,QACD,IAAM,EAAY,IAAI,SAAS,IAAI,YAAY,CAAC,CAAC,EAGjD,OAFA,EAAU,SAAS,EAAG,CAAC,EACvB,EAAU,SAAS,EAAG,EAAO,MAAO,EAAK,EAClC,IAAI,WAAW,EAAU,MAAM,MACrC,UACD,IAAM,EAAU,IAAI,SAAS,IAAI,YAAY,CAAC,CAAC,EAG/C,OAFA,EAAQ,SAAS,EAAG,CAAC,EACrB,EAAQ,SAAS,EAAG,EAAO,MAAO,EAAK,EAChC,IAAI,WAAW,EAAQ,MAAM,MACnC,OACD,IAAM,EAAY,IAAI,WAAW,CAAC,EAGlC,OAFA,EAAU,GAAK,EACf,EAAU,IAAI,EAAO,MAAM,MAAO,CAAC,EAC5B,MACN,SACD,IAAM,EAAU,IAAI,SAAS,IAAI,YAAY,EAAI,EAAO,MAAM,UAAU,CAAC,EACzE,EAAQ,SAAS,EAAG,CAAC,EACrB,EAAQ,UAAU,EAAG,EAAO,MAAM,WAAY,EAAK,EACnD,IAAM,EAAW,IAAI,WAAW,EAAQ,MAAM,EAE9C,OADA,EAAS,IAAI,EAAO,MAAO,CAAC,EACrB,MACN,SACD,IAAM,EAAY,KAAK,SAAS,EAAO,KAAK,EACtC,EAAU,IAAI,SAAS,IAAI,YAAY,EAAI,EAAU,UAAU,CAAC,EACtE,EAAQ,SAAS,EAAG,CAAC,EACrB,EAAQ,UAAU,EAAG,EAAU,WAAY,EAAK,EAChD,IAAM,EAAW,IAAI,WAAW,EAAQ,MAAM,EAE9C,OADA,EAAS,IAAI,EAAW,CAAC,EAClB,MACN,YACD,IAAM,EAAU,IAAI,WAAW,CAAC,EAGhC,OAFA,EAAQ,GAAK,EACb,EAAQ,IAAI,EAAM,WAAW,EAAO,MAAM,QAAQ,CAAC,EAAE,MAAO,CAAC,EACtD,MACN,OACD,GAAI,CAAC,GAAa,KAAK,EAAO,KAAK,EAC/B,MAAU,MAAM,0BAA0B,EAAO,OAAO,EAE5D,IAAM,EAAY,IAAI,WAAW,EAAE,EAGnC,OAFA,EAAU,GAAK,EACf,EAAU,IAAI,EAAM,QAAQ,EAAO,MAAM,QAAQ,MAAO,EAAE,CAAC,EAAG,CAAC,EACxD,GAGnB,KAAK,CAAC,EAAS,CACX,IAAM,EAAM,CAAC,EACT,EAAW,EACf,MAAO,EAAW,EAAQ,WAAY,CAClC,IAAM,EAAa,EAAQ,SAAS,GAAU,EACxC,EAAO,KAAK,OAAO,IAAI,WAAW,EAAQ,OAAQ,EAAQ,WAAa,EAAU,CAAU,CAAC,EAElG,OADA,GAAY,EACJ,EAAQ,SAAS,GAAU,OAC1B,GACD,EAAI,GAAQ,CACR,KAAM,EACN,MAAO,EACX,EACA,UACC,GACD,EAAI,GAAQ,CACR,KAAM,EACN,MAAO,EACX,EACA,UACC,GACD,EAAI,GAAQ,CACR,KAAM,EACN,MAAO,EAAQ,QAAQ,GAAU,CACrC,EACA,UACC,GACD,EAAI,GAAQ,CACR,KAAM,EACN,MAAO,EAAQ,SAAS,EAAU,EAAK,CAC3C,EACA,GAAY,EACZ,UACC,GACD,EAAI,GAAQ,CACR,KAAM,EACN,MAAO,EAAQ,SAAS,EAAU,EAAK,CAC3C,EACA,GAAY,EACZ,UACC,GACD,EAAI,GAAQ,CACR,KAAM,EACN,MAAO,IAAI,EAAM,IAAI,WAAW,EAAQ,OAAQ,EAAQ,WAAa,EAAU,CAAC,CAAC,CACrF,EACA,GAAY,EACZ,UACC,GACD,IAAM,EAAe,EAAQ,UAAU,EAAU,EAAK,EACtD,GAAY,EACZ,EAAI,GAAQ,CACR,KAAM,EACN,MAAO,IAAI,WAAW,EAAQ,OAAQ,EAAQ,WAAa,EAAU,CAAY,CACrF,EACA,GAAY,EACZ,UACC,GACD,IAAM,EAAe,EAAQ,UAAU,EAAU,EAAK,EACtD,GAAY,EACZ,EAAI,GAAQ,CACR,KAAM,EACN,MAAO,KAAK,OAAO,IAAI,WAAW,EAAQ,OAAQ,EAAQ,WAAa,EAAU,CAAY,CAAC,CAClG,EACA,GAAY,EACZ,UACC,GACD,EAAI,GAAQ,CACR,KAAM,EACN,MAAO,IAAI,KAAK,IAAI,EAAM,IAAI,WAAW,EAAQ,OAAQ,EAAQ,WAAa,EAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CACzG,EACA,GAAY,EACZ,UACC,GACD,IAAM,EAAY,IAAI,WAAW,EAAQ,OAAQ,EAAQ,WAAa,EAAU,EAAE,EAClF,GAAY,GACZ,EAAI,GAAQ,CACR,KAAM,GACN,MAAO,GAAG,EAAM,MAAM,EAAU,SAAS,EAAG,CAAC,CAAC,KAAK,EAAM,MAAM,EAAU,SAAS,EAAG,CAAC,CAAC,KAAK,EAAM,MAAM,EAAU,SAAS,EAAG,CAAC,CAAC,KAAK,EAAM,MAAM,EAAU,SAAS,EAAG,EAAE,CAAC,KAAK,EAAM,MAAM,EAAU,SAAS,EAAE,CAAC,GACrN,EACA,cAEA,MAAU,MAAM,8BAA8B,GAG1D,OAAO,EAEf,CA6BA,SAAS,EAAY,EAAG,aAAY,aAAY,UAAU,CACtD,GAAI,EAAa,GACb,MAAU,MAAM,yEAAyE,EAE7F,IAAM,EAAO,IAAI,SAAS,EAAQ,EAAY,CAAU,EAClD,EAAgB,EAAK,UAAU,EAAG,EAAK,EAC7C,GAAI,IAAe,EACf,MAAU,MAAM,gEAAgE,EAEpF,IAAM,EAAe,EAAK,UAAU,EAAuB,EAAK,EAC1D,EAA0B,EAAK,UAAU,EAAgB,EAAK,EAC9D,EAA0B,EAAK,UAAU,EAAa,EAAiB,EAAK,EAC5E,EAAc,IAAI,EAAM,MAAM,EAAE,OAAO,IAAI,WAAW,EAAQ,EAAY,CAAc,CAAC,EAC/F,GAAI,IAA4B,EAAY,OAAO,EAC/C,MAAU,MAAM,kDAAkD,oDAA0E,EAAY,OAAO,IAAI,EAGvK,GADA,EAAY,OAAO,IAAI,WAAW,EAAQ,EAAa,EAAgB,GAAc,EAAiB,EAAgB,CAAC,EACnH,IAA4B,EAAY,OAAO,EAC/C,MAAU,MAAM,yBAAyB,EAAY,OAAO,0CAA0C,GAAyB,EAEnI,MAAO,CACH,QAAS,IAAI,SAAS,EAAQ,EAAa,EAAiB,EAAiB,CAAY,EACzF,KAAM,IAAI,WAAW,EAAQ,EAAa,EAAiB,EAAkB,EAAc,EAAgB,GAAgB,EAAiB,EAAkB,EAAgB,CAClL,EAGJ,MAAM,CAAiB,CACnB,iBACA,cACA,cACA,WAAW,CAAC,EAAQ,EAAU,CAC1B,KAAK,iBAAmB,IAAI,EAAiB,EAAQ,CAAQ,EAC7D,KAAK,cAAgB,CAAC,EACtB,KAAK,cAAgB,GAEzB,IAAI,CAAC,EAAS,CACV,KAAK,cAAc,KAAK,KAAK,OAAO,CAAO,CAAC,EAEhD,WAAW,EAAG,CACV,KAAK,cAAgB,GAEzB,UAAU,EAAG,CACT,IAAM,EAAU,KAAK,cAAc,IAAI,EACjC,EAAgB,KAAK,cAC3B,MAAO,CACH,UAAU,EAAG,CACT,OAAO,GAEX,aAAa,EAAG,CACZ,OAAO,EAEf,EAEJ,oBAAoB,EAAG,CACnB,IAAM,EAAW,KAAK,cACtB,KAAK,cAAgB,CAAC,EACtB,IAAM,EAAgB,KAAK,cAC3B,MAAO,CACH,WAAW,EAAG,CACV,OAAO,GAEX,aAAa,EAAG,CACZ,OAAO,EAEf,EAEJ,MAAM,EAAG,QAAS,EAAY,QAAQ,CAClC,IAAM,EAAU,KAAK,iBAAiB,OAAO,CAAU,EACjD,EAAS,EAAQ,WAAa,EAAK,WAAa,GAChD,EAAM,IAAI,WAAW,CAAM,EAC3B,EAAO,IAAI,SAAS,EAAI,OAAQ,EAAI,WAAY,EAAI,UAAU,EAC9D,EAAW,IAAI,EAAM,MAO3B,OANA,EAAK,UAAU,EAAG,EAAQ,EAAK,EAC/B,EAAK,UAAU,EAAG,EAAQ,WAAY,EAAK,EAC3C,EAAK,UAAU,EAAG,EAAS,OAAO,EAAI,SAAS,EAAG,CAAC,CAAC,EAAE,OAAO,EAAG,EAAK,EACrE,EAAI,IAAI,EAAS,EAAE,EACnB,EAAI,IAAI,EAAM,EAAQ,WAAa,EAAE,EACrC,EAAK,UAAU,EAAS,EAAG,EAAS,OAAO,EAAI,SAAS,EAAG,EAAS,CAAC,CAAC,EAAE,OAAO,EAAG,EAAK,EAChF,EAEX,MAAM,CAAC,EAAS,CACZ,IAAQ,UAAS,QAAS,GAAa,CAAO,EAC9C,MAAO,CAAE,QAAS,KAAK,iBAAiB,MAAM,CAAO,EAAG,MAAK,EAEjE,aAAa,CAAC,EAAY,CACtB,OAAO,KAAK,iBAAiB,OAAO,CAAU,EAEtD,CAuEA,SAAS,CAAgB,CAAC,EAAQ,CAC9B,IAAI,EAA4B,EAC5B,EAA8B,EAC9B,EAAiB,KACjB,EAAsB,KACpB,EAAkB,CAAC,IAAS,CAC9B,GAAI,OAAO,IAAS,SAChB,MAAU,MAAM,uEAAyE,CAAI,EAEjG,EAA4B,EAC5B,EAA8B,EAC9B,EAAiB,IAAI,WAAW,CAAI,EACT,IAAI,SAAS,EAAe,MAAM,EAC1C,UAAU,EAAG,EAAM,EAAK,GAEzC,EAAW,eAAgB,EAAG,CAChC,IAAM,EAAiB,EAAO,OAAO,eAAe,EACpD,MAAO,GAAM,CACT,IAAQ,QAAO,QAAS,MAAM,EAAe,KAAK,EAClD,GAAI,EAAM,CACN,GAAI,CAAC,EACD,OAEC,QAAI,IAA8B,EACnC,MAAM,EAGN,WAAU,MAAM,mCAAmC,EAEvD,OAEJ,IAAM,EAAc,EAAM,OACtB,EAAgB,EACpB,MAAO,EAAgB,EAAa,CAChC,GAAI,CAAC,EAAgB,CACjB,IAAM,EAAiB,EAAc,EACrC,GAAI,CAAC,EACD,EAAsB,IAAI,WAAW,CAAC,EAE1C,IAAM,EAAmB,KAAK,IAAI,EAAI,EAA6B,CAAc,EAIjF,GAHA,EAAoB,IAAI,EAAM,MAAM,EAAe,EAAgB,CAAgB,EAAG,CAA2B,EACjH,GAA+B,EAC/B,GAAiB,EACb,EAA8B,EAC9B,MAEJ,EAAgB,IAAI,SAAS,EAAoB,MAAM,EAAE,UAAU,EAAG,EAAK,CAAC,EAC5E,EAAsB,KAE1B,IAAM,EAAkB,KAAK,IAAI,EAA4B,EAA6B,EAAc,CAAa,EAIrH,GAHA,EAAe,IAAI,EAAM,MAAM,EAAe,EAAgB,CAAe,EAAG,CAA2B,EAC3G,GAA+B,EAC/B,GAAiB,EACb,GAA6B,IAA8B,EAC3D,MAAM,EACN,EAAiB,KACjB,EAA4B,EAC5B,EAA8B,KAK9C,MAAO,EACF,OAAO,eAAgB,CAC5B,EAGJ,SAAS,EAAqB,CAAC,EAAQ,EAAS,CAC5C,IAAM,EAAsB,EAAuB,EAAQ,aAAc,EAAQ,MAAM,EACvF,MAAO,EACF,OAAO,eAAgB,eAAgB,EAAG,CACvC,cAAiB,KAAS,EAAQ,CAC9B,IAAM,EAAU,EAAQ,iBAAiB,OAAO,CAAK,EAC/C,EAAO,MAAM,EAAoB,CAAO,EAC9C,GAAI,IAAS,OACT,SACJ,MAAM,GAGlB,EAEJ,SAAS,CAAsB,CAAC,EAAc,EAAQ,CAClD,OAAO,cAAe,CAAC,EAAS,CAC5B,IAAQ,MAAO,GAAgB,EAAQ,QAAQ,iBAC/C,GAAI,IAAgB,QAAS,CACzB,IAAM,EAAqB,MAAM,EAAQ,QAAQ,kBAAkB,OAAS,cAAc,EAE1F,MADA,EAAe,KAAO,EAAQ,QAAQ,eAAe,MAC/C,EAEL,QAAI,IAAgB,YAAa,CAClC,IAAM,EAAO,EAAQ,QAAQ,mBAAmB,MAC1C,EAAY,EAAG,GAAO,CAAQ,EAC9B,EAAwB,MAAM,EAAa,CAAS,EAC1D,GAAI,EAAsB,SAAU,CAChC,IAAM,EAAY,MAAM,EAAO,EAAQ,IAAI,CAAC,EAE5C,MADA,EAAM,KAAO,EACP,EAEV,MAAM,EAAsB,GAE3B,QAAI,IAAgB,QAAS,CAC9B,IAAM,EAAQ,EACT,EAAQ,QAAQ,eAAe,OAAQ,CAC5C,EACM,EAAe,MAAM,EAAa,CAAK,EAC7C,GAAI,EAAa,SACb,OACJ,OAAO,EAGP,WAAM,MAAM,8BAA8B,EAAQ,QAAQ,eAAe,OAAO,GA6B5F,MAAM,CAAsB,CACxB,oBACA,WAAW,EAAG,cAAa,eAAe,CACtC,KAAK,oBAAsB,IAAI,EAAwB,CACnD,cACA,aACJ,CAAC,EAEL,WAAW,CAAC,EAAM,EAAc,CAC5B,IAAM,EAAe,OAAO,EAAK,OAAO,iBAAmB,WAAa,EAAO,GAAmB,CAAI,EACtG,OAAO,KAAK,oBAAoB,YAAY,EAAc,CAAY,EAE1E,SAAS,CAAC,EAAO,EAAY,CACzB,OAAO,EAAY,SAAS,KAAK,KAAK,oBAAoB,UAAU,EAAO,CAAU,CAAC,EAE9F,CAEA,eAAgB,EAAkB,CAAC,EAAY,CAC3C,IAAI,EAAc,GACd,EAAkB,GAChB,EAAU,GAChB,EAAW,GAAG,QAAS,CAAC,IAAQ,CAC5B,GAAI,CAAC,EACD,EAAc,GAElB,GAAI,EACA,MAAM,EAEb,EACD,EAAW,GAAG,OAAQ,CAAC,IAAS,CAC5B,EAAQ,KAAK,CAAI,EACpB,EACD,EAAW,GAAG,MAAO,IAAM,CACvB,EAAc,GACjB,EACD,MAAO,CAAC,EAAiB,CACrB,IAAM,EAAQ,MAAM,IAAI,QAAQ,CAAC,IAAY,WAAW,IAAM,EAAQ,EAAQ,MAAM,CAAC,EAAG,CAAC,CAAC,EAC1F,GAAI,EACA,MAAM,EAEV,EAAkB,GAAe,EAAQ,SAAW,GAqC5D,MAAM,CAAiB,CACnB,WACA,WACA,aACA,aACA,mBACA,WAAW,EAAG,aAAY,aAAY,eAAc,eAAc,sBAAuB,CACrF,KAAK,WAAa,EAClB,KAAK,WAAa,EAClB,KAAK,aAAe,EACpB,KAAK,aAAe,EACpB,KAAK,mBAAqB,OAExB,qBAAoB,EAAG,cAAa,gBAAe,kBAAmB,CACxE,IAAM,EAAa,KAAK,WAClB,EAAoB,EAAc,qBAAqB,EACvD,EAAc,EAAc,gBAAgB,CAAiB,EAC7D,EAAa,KAAK,WAClB,EAAqB,KAAK,mBAC1B,EAAuB,OAAO,sBAAsB,EACpD,EAAsB,QAChB,OAAO,cAAc,EAAG,CAC5B,GAAI,EAAgB,CAChB,IAAM,EAAU,CACZ,cAAe,CAAE,KAAM,SAAU,MAAO,iBAAkB,EAC1D,gBAAiB,CAAE,KAAM,SAAU,MAAO,OAAQ,EAClD,gBAAiB,CAAE,KAAM,SAAU,MAAO,CAAmB,CACjE,EACA,EAAW,MAAM,EAAe,CAAc,EAC9C,IAAM,EAAO,EAAW,MAAM,EAC9B,KAAM,EACD,GAAuB,GACxB,UACA,MACJ,EAEJ,cAAiB,KAAQ,EACrB,MAAM,EAGlB,EACA,OAAO,EAAW,UAAU,EAAqB,CAAC,IAAU,CACxD,GAAI,EAAM,GACN,MAAO,CACH,QAAS,EAAM,QACf,KAAM,EAAM,IAChB,EAEJ,IAAI,EAAc,GAClB,QAAW,KAAO,EACd,GAAI,IAAQ,SAAU,CAClB,EAAc,EACd,MAGR,IAAQ,oBAAmB,OAAM,YAAW,8BAA+B,KAAK,eAAe,EAAa,EAAa,CAAK,EAO9H,MAAO,CACH,QAPY,CACZ,cAAe,CAAE,KAAM,SAAU,MAAO,CAAU,EAClD,gBAAiB,CAAE,KAAM,SAAU,MAAO,OAAQ,EAClD,gBAAiB,CAAE,KAAM,SAAU,MAAO,GAA8B,CAAmB,KACxF,CACP,EAGI,MACJ,EACH,OAEC,uBAAsB,EAAG,WAAU,iBAAgB,4BAA6B,CAClF,IAAM,EAAa,KAAK,WAClB,EAAoB,EAAe,qBAAqB,EAExD,EADc,EAAe,gBAAgB,CAAiB,EAClC,iBAAiB,EAC7C,EAAwB,OAAO,uBAAuB,EACtD,EAAgB,EAAW,YAAY,EAAS,KAAM,MAAO,IAAU,CACzE,IAAI,EAAc,GAClB,QAAW,KAAO,EACd,GAAI,IAAQ,SAAU,CAClB,EAAc,EACd,MAGR,IAAM,EAAO,EAAM,GAAa,KAChC,GAAI,IAAgB,mBAAoB,CACpC,IAAM,EAAa,MAAM,KAAK,aAAa,KAAK,EAAgB,CAAI,EAEpE,OADA,OAAO,EAAW,GACX,EACF,GAAwB,MACtB,CACP,EAEC,QAAI,KAAe,EAAe,CACnC,IAAM,EAAoB,EAAc,GACxC,GAAI,EAAkB,eAAe,EAAG,CACpC,IAAM,EAAM,CAAC,EACT,EAAc,GAClB,QAAY,EAAM,KAAW,EAAkB,eAAe,EAAG,CAC7D,IAAQ,cAAa,gBAAiB,EAAO,gBAAgB,EAE7D,GADA,EAAc,GAAe,QAAQ,GAAe,CAAY,EAC5D,GACA,GAAI,EAAO,aAAa,EACpB,EAAI,GAAQ,EAEX,QAAI,EAAO,eAAe,EAC3B,EAAI,IAAS,KAAK,cAAc,aAAe,EAAM,QAAQ,CAAI,EAEhE,QAAI,EAAO,eAAe,EAC3B,EAAI,GAAQ,MAAM,KAAK,aAAa,KAAK,EAAQ,CAAI,EAGxD,QAAI,EAAa,CAClB,IAAM,EAAQ,EAAM,GAAa,QAAQ,IAAO,MAChD,GAAI,GAAS,KACT,GAAI,EAAO,gBAAgB,EACvB,GAAI,GAAS,OAAO,IAAU,UAAY,UAAW,EACjD,EAAI,GAAQ,OAAO,EAAM,SAAS,CAAC,EAGnC,OAAI,GAAQ,OAAO,CAAK,EAI5B,OAAI,GAAQ,GAK5B,GAAI,EACA,MAAO,EACF,GAAc,CACnB,EAEJ,GAAI,EAAK,aAAe,EACpB,MAAO,EACF,GAAc,CAAC,CACpB,EAGR,MAAO,EACF,GAAc,MAAM,KAAK,aAAa,KAAK,EAAmB,CAAI,CACvE,EAGA,WAAO,CACH,SAAU,CACd,EAEP,EACK,EAAgB,EAAc,OAAO,eAAe,EACpD,EAAa,MAAM,EAAc,KAAK,EAC5C,GAAI,EAAW,KACX,OAAO,EAEX,GAAI,EAAW,QAAQ,GAAwB,CAC3C,GAAI,CAAC,EACD,MAAU,MAAM,4GAA4G,EAEhI,QAAW,KAAO,EAAW,MACzB,EAAyB,GAAO,EAAW,MAAM,GAGzD,MAAO,QACK,OAAO,cAAc,EAAG,CAC5B,GAAI,CAAC,GAAY,QAAQ,GACrB,MAAM,EAAW,MAErB,MAAO,GAAM,CACT,IAAQ,OAAM,SAAU,MAAM,EAAc,KAAK,EACjD,GAAI,EACA,MAEJ,MAAM,GAGlB,EAEJ,cAAc,CAAC,EAAa,EAAa,EAAO,CAC5C,IAAM,EAAa,KAAK,WACpB,EAAY,EACZ,EAAwB,KACxB,EACE,GAAiB,IAAM,CAEzB,OADe,EAAY,UAAU,EACvB,GAAG,SAAS,CAAW,IACtC,EACG,EAAoB,CAAC,EAC3B,GAAI,CAAC,EAAe,CAChB,IAAO,EAAM,GAAS,EAAM,GAC5B,EAAY,EACZ,EAAW,MAAM,GAAI,CAAK,EAEzB,KACD,IAAM,EAAc,EAAY,gBAAgB,CAAW,EAC3D,GAAI,EAAY,eAAe,EAAG,CAC9B,QAAY,EAAY,KAAiB,EAAY,eAAe,EAAG,CACnE,IAAQ,cAAa,gBAAiB,EAAa,gBAAgB,EACnE,GAAI,EACA,EAAwB,EAEvB,QAAI,EAAa,CAClB,IAAM,EAAQ,EAAM,GAAa,GAC7B,EAAO,SACX,GAAI,EAAa,gBAAgB,EAC7B,GAAK,aAAa,GAAS,GAAS,WAChC,EAAO,UAGP,OAAO,OAGV,QAAI,EAAa,kBAAkB,EACpC,EAAO,YAEN,QAAI,EAAa,eAAe,EACjC,EAAO,SAEN,QAAI,EAAa,gBAAgB,EAClC,EAAO,UAEX,GAAI,GAAS,KACT,EAAkB,GAAc,CAC5B,OACA,OACJ,EACA,OAAO,EAAM,GAAa,IAItC,GAAI,IAA0B,KAAM,CAChC,IAAM,EAAgB,EAAY,gBAAgB,CAAqB,EACvE,GAAI,EAAc,aAAa,EAC3B,EAA6B,2BAE5B,QAAI,EAAc,eAAe,EAClC,EAA6B,aAEjC,EAAW,MAAM,EAAe,EAAM,GAAa,EAAsB,EAGzE,OAAW,MAAM,EAAa,EAAM,EAAY,EAGnD,QAAI,EAAY,aAAa,EAC9B,EAAW,MAAM,EAAa,CAAC,CAAC,EAGhC,WAAU,MAAM,qFAAqF,EAG7G,IAAM,EAAuB,EAAW,MAAM,GAAK,IAAI,WAIvD,MAAO,CACH,KAJS,OAAO,IAAyB,UACtC,KAAK,cAAc,aAAe,EAAM,UAAU,CAAoB,EACvE,EAGF,YACA,6BACA,mBACJ,EAER,KAr2BI,EACA,EACA,EA6MA,EAaE,EAAc,UACd,EAAW,OACX,EAAY,QACZ,EAAU,UACV,EAAW,OACX,EAAa,SACb,EAAa,SACb,EAAgB,YAChB,GAAW,OACX,GAEA,EAAwB,EACxB,EACA,EAAkB,EAClB,GA0FA,EAgBA,EAmBA,EAkBA,EAmIF,EAA0B,KAA4B,CACtD,iBACA,WACA,WAAW,EAAG,cAAa,eAAe,CACtC,KAAK,iBAAmB,IAAI,EAAiB,EAAa,CAAW,EACrE,KAAK,WAAa,EAEtB,WAAW,CAAC,EAAM,EAAc,CAC5B,IAAM,EAAc,EAAiB,CAAI,EACzC,OAAO,IAAI,EAA2B,CAClC,cAAe,IAAI,EAAqB,CAAE,cAAa,QAAS,KAAK,gBAAiB,CAAC,EACvF,aAAc,EAAuB,EAAc,KAAK,UAAU,CACtE,CAAC,EAEL,SAAS,CAAC,EAAa,EAAY,CAC/B,OAAO,IAAI,EAAqB,CAC5B,cAAe,IAAI,EAA2B,CAAE,cAAa,YAAW,CAAC,EACzE,QAAS,KAAK,iBACd,gBAAiB,EACrB,CAAC,EAET,EACM,GAA6B,CAAC,IAAY,IAAI,EAAwB,CAAO,EAkB7E,GAA2B,CAAC,IAAY,IAAI,EAAsB,CAAO,EA4BzE,GAA2B,CAAC,KAAoB,EACjD,OAAO,eAAgB,eAAgB,EAAG,CACvC,IAAM,EAAS,EAAe,UAAU,EACxC,GAAI,CACA,MAAO,GAAM,CACT,IAAQ,OAAM,SAAU,MAAM,EAAO,KAAK,EAC1C,GAAI,EACA,OACJ,MAAM,UAGd,CACI,EAAO,YAAY,GAG/B,GACM,GAA2B,CAAC,IAAkB,CAChD,IAAM,EAAW,EAAc,OAAO,eAAe,EACrD,OAAO,IAAI,eAAe,MAChB,KAAI,CAAC,EAAY,CACnB,IAAQ,OAAM,SAAU,MAAM,EAAS,KAAK,EAC5C,GAAI,EACA,OAAO,EAAW,MAAM,EAE5B,EAAW,QAAQ,CAAK,EAEhC,CAAC,GAGC,GAAgC,CAAC,IAAU,OAAO,OAAO,EAAO,CAClE,sBAAuB,EAAM,yBAAyB,CAAK,CAC/D,CAAC,EAwQO,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,iBAx3BJ,MACA,MACA,eA8MH,QAAS,CAAC,EAAmB,CAC1B,EAAkB,EAAkB,SAAc,GAAK,WACvD,EAAkB,EAAkB,UAAe,GAAK,YACxD,EAAkB,EAAkB,KAAU,GAAK,OACnD,EAAkB,EAAkB,MAAW,GAAK,QACpD,EAAkB,EAAkB,QAAa,GAAK,UACtD,EAAkB,EAAkB,KAAU,GAAK,OACnD,EAAkB,EAAkB,UAAe,GAAK,YACxD,EAAkB,EAAkB,OAAY,GAAK,SACrD,EAAkB,EAAkB,UAAe,GAAK,YACxD,EAAkB,EAAkB,KAAU,GAAK,SACpD,IAAsB,EAAoB,CAAC,EAAE,EAU1C,GAAe,iEAGf,EAAiB,EAAwB,EAEzC,GAAyB,EAAiB,EAAkB,EA0F5D,EAAN,MAAM,CAAqB,CACvB,QACA,WAAW,CAAC,EAAS,CACjB,KAAK,QAAU,GAElB,OAAO,cAAc,EAAG,CACrB,OAAO,KAAK,cAAc,QAEvB,aAAa,EAAG,CACnB,cAAiB,KAAS,KAAK,QAAQ,YAEnC,MADgB,KAAK,QAAQ,QAAQ,OAAO,CAAK,EAI7D,EAEM,EAAN,MAAM,CAAqB,CACvB,QACA,WAAW,CAAC,EAAS,CACjB,KAAK,QAAU,GAElB,OAAO,cAAc,EAAG,CACrB,OAAO,KAAK,cAAc,QAEvB,aAAa,EAAG,CACnB,cAAiB,KAAO,KAAK,QAAQ,cAEjC,MADgB,KAAK,QAAQ,QAAQ,OAAO,CAAG,EAGnD,GAAI,KAAK,QAAQ,gBACb,MAAM,IAAI,WAAW,CAAC,EAGlC,EAEM,EAAN,MAAM,CAA2B,CAC7B,QACA,WAAW,CAAC,EAAS,CACjB,KAAK,QAAU,GAElB,OAAO,cAAc,EAAG,CACrB,OAAO,KAAK,cAAc,QAEvB,aAAa,EAAG,CACnB,cAAiB,KAAW,KAAK,QAAQ,cAAe,CACpD,IAAM,EAAe,MAAM,KAAK,QAAQ,aAAa,CAAO,EAC5D,GAAI,IAAiB,OACjB,SACJ,MAAM,GAGlB,EAEM,EAAN,MAAM,CAA2B,CAC7B,QACA,WAAW,CAAC,EAAS,CACjB,KAAK,QAAU,GAElB,OAAO,cAAc,EAAG,CACrB,OAAO,KAAK,cAAc,QAEvB,aAAa,EAAG,CACnB,cAAiB,KAAS,KAAK,QAAQ,YAEnC,MADmB,KAAK,QAAQ,WAAW,CAAK,EAI5D,EAgeQ,GAAmB,EACnB,GAAwB,EACxB,GAAmB,EACnB,GAAmB,EACnB,GAAQ,EACR,GAAuB,EACvB,GAAuB,EACvB,GAA6B,EAC7B,GAA6B,EAC7B,GAAiC,EACjC,GAA2B,GAC3B,GAAmB,EACnB,GAAyB,EACzB,GAAwB,GACxB,GAA2B,GAC3B,GAA2B,GAC3B,GAAgC,GAChC,GAAoC", | ||
| "debugId": "8CB67F39DF31674264756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "3FE4AB778E86974264756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "F39A73D50A3D88ED64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["src/services/service-config.ts"], | ||
| "sourcesContent": [ | ||
| "import { Global } from \"@opencode-ai/core/global\"\nimport { InstallationChannel, InstallationVersion } from \"@opencode-ai/core/installation/version\"\nimport { Service } from \"@opencode-ai/client/effect\"\nimport { Effect, FileSystem, Schema } from \"effect\"\nimport { randomBytes } from \"crypto\"\nimport path from \"path\"\n\n// The CLI's service configuration file, plus the Service.Options binding that\n// points the client package's service operations at this CLI: which\n// registration file (by channel), which version, and how to spawn opencode.\n\nexport const Info = Schema.Struct({\n hostname: Schema.optional(Schema.String),\n port: Schema.optional(Schema.Int.check(Schema.isGreaterThanOrEqualTo(1), Schema.isLessThanOrEqualTo(65_535))),\n password: Schema.optional(Schema.String),\n})\nexport type Info = typeof Info.Type\n\nconst keys = [\"hostname\", \"port\", \"password\"] as const\ntype Key = (typeof keys)[number]\n\nconst decodeInfo = Schema.decodeUnknownEffect(Schema.fromJsonString(Info))\n\nfunction configKey(key: string): Key {\n if (keys.includes(key as Key)) return key as Key\n throw new Error(`Unknown service config key: ${key}`)\n}\n\nconst env = Effect.gen(function* () {\n const fs = yield* FileSystem.FileSystem\n const global = yield* Global.Service\n const filename = InstallationChannel === \"local\" ? \"service-local.json\" : \"service.json\"\n return {\n fs,\n file: path.join(global.state, filename),\n configFile: path.join(global.config, filename),\n }\n})\n\nexport const options = Effect.fnUntraced(function* () {\n const { file } = yield* env\n const compiled = path.basename(process.execPath).replace(/\\.exe$/, \"\") !== \"bun\"\n const entrypoint = compiled ? undefined : process.argv[1]\n if (!compiled && entrypoint === undefined) return yield* Effect.fail(new Error(\"Failed to resolve CLI entrypoint\"))\n return {\n file,\n version: InstallationVersion,\n command: [process.execPath, ...(entrypoint ? [entrypoint] : []), \"serve\", \"--service\"],\n }\n})\n\nexport const read = Effect.fn(\"cli.service-config.read\")(function* () {\n const { fs, configFile } = yield* env\n return yield* fs.readFileString(configFile).pipe(\n Effect.flatMap(decodeInfo),\n Effect.catch(() => Effect.succeed({} as Info)),\n )\n})\n\nconst write = Effect.fn(\"cli.service-config.write\")(function* (value: Info) {\n const { fs, configFile } = yield* env\n const temp = configFile + \".tmp\"\n yield* fs.makeDirectory(path.dirname(configFile), { recursive: true })\n yield* fs.writeFileString(temp, JSON.stringify(value, null, 2) + \"\\n\", { mode: 0o600 })\n yield* fs.rename(temp, configFile)\n})\n\nexport const password = Effect.fn(\"cli.service-config.password\")(function* (value?: string) {\n const existing = yield* read()\n if (value === undefined && existing.password) return existing.password\n const next = value ?? randomBytes(32).toString(\"base64url\")\n\n // Keep one private credential across server restarts so discovered clients\n // can reconnect without exposing a password flag or environment variable.\n yield* write({ ...existing, password: next })\n return next\n})\n\nexport const get = Effect.fn(\"cli.service-config.get\")(function* (key?: string) {\n if (key === undefined) {\n const { password: _password, ...safe } = yield* read()\n return JSON.stringify(safe, null, 2)\n }\n switch (configKey(key)) {\n case \"hostname\": {\n return (yield* read()).hostname ?? \"\"\n }\n case \"port\": {\n const port = (yield* read()).port\n return port === undefined ? \"\" : String(port)\n }\n case \"password\": {\n return yield* password()\n }\n }\n})\n\nexport const set = Effect.fn(\"cli.service-config.set\")(function* (key: string, value: string) {\n switch (configKey(key)) {\n case \"hostname\": {\n yield* Service.stop(yield* options())\n yield* write({ ...(yield* read()), hostname: value })\n return\n }\n case \"port\": {\n const port = Number(value)\n if (!Number.isInteger(port) || port < 1 || port > 65_535) throw new Error(\"Port must be between 1 and 65535\")\n yield* Service.stop(yield* options())\n yield* write({ ...(yield* read()), port })\n return\n }\n case \"password\": {\n yield* Service.stop(yield* options())\n yield* password(value)\n return\n }\n }\n})\n\nexport const unset = Effect.fn(\"cli.service-config.unset\")(function* (key: string) {\n switch (configKey(key)) {\n case \"hostname\": {\n yield* Service.stop(yield* options())\n const { hostname: _hostname, ...next } = yield* read()\n yield* write(next)\n return\n }\n case \"port\": {\n yield* Service.stop(yield* options())\n const { port: _port, ...next } = yield* read()\n yield* write(next)\n return\n }\n case \"password\": {\n yield* Service.stop(yield* options())\n const { password: _password, ...next } = yield* read()\n yield* write(next)\n return\n }\n }\n})\n\nexport * as ServiceConfig from \"./service-config\"\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "A0E029168A667D5564756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["src/commands/handlers/service/get.ts"], | ||
| "sourcesContent": [ | ||
| "import { EOL } from \"os\"\nimport { Effect, Option } from \"effect\"\nimport { Commands } from \"../../commands\"\nimport { Runtime } from \"../../../framework/runtime\"\nimport { ServiceConfig } from \"../../../services/service-config\"\n\nexport default Runtime.handler(\n Commands.commands.service.commands.get,\n Effect.fn(\"cli.service.get\")(function* (input) {\n process.stdout.write((yield* ServiceConfig.get(Option.getOrUndefined(input.key))) + EOL)\n }),\n)\n" | ||
| ], | ||
| "mappings": ";8nBAAA,mBAAS,gBAMT,SAAe,SAAQ,aACrB,OAAS,cAAS,aAAQ,cAAS,SACnC,OAAO,QAAG,sBAAiB,OAAE,cAAU,MAAC,EAAO,CAC7C,QAAQ,OAAO,OAAO,MAAO,EAAc,IAAI,EAAO,eAAe,EAAM,GAAG,CAAC,GAAK,CAAG,EACxF,CACH", | ||
| "debugId": "E55C171EAC7265DA64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260601010001_normalize_storage_paths.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260601010001_normalize_storage_paths\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(\n `UPDATE project SET worktree = REPLACE(worktree, char(92), '/') WHERE worktree GLOB '[A-Za-z]:' || char(92) || '*' OR worktree LIKE char(92) || char(92) || '%';`,\n )\n yield* tx.run(\n `UPDATE project SET sandboxes = REPLACE(sandboxes, char(92) || char(92), '/') WHERE instr(sandboxes, char(92)) > 0 AND (worktree GLOB '[A-Za-z]:*' OR worktree LIKE '//%');`,\n )\n yield* tx.run(\n `UPDATE session SET directory = REPLACE(directory, char(92), '/') WHERE directory GLOB '[A-Za-z]:' || char(92) || '*' OR directory LIKE char(92) || char(92) || '%';`,\n )\n yield* tx.run(\n `UPDATE session SET path = REPLACE(path, char(92), '/') WHERE path IS NOT NULL AND instr(path, char(92)) > 0 AND (directory GLOB '[A-Za-z]:*' OR directory LIKE '//%');`,\n )\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,yCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IACR,iKACF,EACA,MAAO,EAAG,IACR,4KACF,EACA,MAAO,EAAG,IACR,qKACF,EACA,MAAO,EAAG,IACR,wKACF,EACD,EAEL", | ||
| "debugId": "B5E5402F5C92193764756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@aws-sdk+credential-provider-process@3.972.41/node_modules/@aws-sdk/credential-provider-process/dist-es/fromProcess.js", "../../node_modules/.bun/@aws-sdk+credential-provider-process@3.972.41/node_modules/@aws-sdk/credential-provider-process/dist-es/resolveProcessCredentials.js", "../../node_modules/.bun/@aws-sdk+credential-provider-process@3.972.41/node_modules/@aws-sdk/credential-provider-process/dist-es/getValidatedProcessCredentials.js"], | ||
| "sourcesContent": [ | ||
| "import { getProfileName, parseKnownFiles } from \"@smithy/core/config\";\nimport { resolveProcessCredentials } from \"./resolveProcessCredentials\";\nexport const fromProcess = (init = {}) => async ({ callerClientConfig } = {}) => {\n init.logger?.debug(\"@aws-sdk/credential-provider-process - fromProcess\");\n const profiles = await parseKnownFiles(init);\n return resolveProcessCredentials(getProfileName({\n profile: init.profile ?? callerClientConfig?.profile,\n }), profiles, init.logger);\n};\n", | ||
| "import { CredentialsProviderError, externalDataInterceptor } from \"@smithy/core/config\";\nimport { exec } from \"node:child_process\";\nimport { promisify } from \"node:util\";\nimport { getValidatedProcessCredentials } from \"./getValidatedProcessCredentials\";\nexport const resolveProcessCredentials = async (profileName, profiles, logger) => {\n const profile = profiles[profileName];\n if (profiles[profileName]) {\n const credentialProcess = profile[\"credential_process\"];\n if (credentialProcess !== undefined) {\n const execPromise = promisify(externalDataInterceptor?.getTokenRecord?.().exec ?? exec);\n try {\n const { stdout } = await execPromise(credentialProcess);\n let data;\n try {\n data = JSON.parse(stdout.trim());\n }\n catch {\n throw Error(`Profile ${profileName} credential_process returned invalid JSON.`);\n }\n return getValidatedProcessCredentials(profileName, data, profiles);\n }\n catch (error) {\n throw new CredentialsProviderError(error.message, { logger });\n }\n }\n else {\n throw new CredentialsProviderError(`Profile ${profileName} did not contain credential_process.`, { logger });\n }\n }\n else {\n throw new CredentialsProviderError(`Profile ${profileName} could not be found in shared credentials file.`, {\n logger,\n });\n }\n};\n", | ||
| "import { setCredentialFeature } from \"@aws-sdk/core/client\";\nexport const getValidatedProcessCredentials = (profileName, data, profiles) => {\n if (data.Version !== 1) {\n throw Error(`Profile ${profileName} credential_process did not return Version 1.`);\n }\n if (data.AccessKeyId === undefined || data.SecretAccessKey === undefined) {\n throw Error(`Profile ${profileName} credential_process returned invalid credentials.`);\n }\n if (data.Expiration) {\n const currentTime = new Date();\n const expireTime = new Date(data.Expiration);\n if (expireTime < currentTime) {\n throw Error(`Profile ${profileName} credential_process returned expired credentials.`);\n }\n }\n let accountId = data.AccountId;\n if (!accountId && profiles?.[profileName]?.aws_account_id) {\n accountId = profiles[profileName].aws_account_id;\n }\n const credentials = {\n accessKeyId: data.AccessKeyId,\n secretAccessKey: data.SecretAccessKey,\n ...(data.SessionToken && { sessionToken: data.SessionToken }),\n ...(data.Expiration && { expiration: new Date(data.Expiration) }),\n ...(data.CredentialScope && { credentialScope: data.CredentialScope }),\n ...(accountId && { accountId }),\n };\n setCredentialFeature(credentials, \"CREDENTIALS_PROCESS\", \"w\");\n return credentials;\n};\n" | ||
| ], | ||
| "mappings": ";kJAAA,oBCAA,oBACA,eAAS,sBACT,oBAAS,aCFT,eACa,EAAiC,CAAC,EAAa,EAAM,IAAa,CAC3E,GAAI,EAAK,UAAY,EACjB,MAAM,MAAM,WAAW,gDAA0D,EAErF,GAAI,EAAK,cAAgB,QAAa,EAAK,kBAAoB,OAC3D,MAAM,MAAM,WAAW,oDAA8D,EAEzF,GAAI,EAAK,WAAY,CACjB,IAAM,EAAc,IAAI,KAExB,GADmB,IAAI,KAAK,EAAK,UAAU,EAC1B,EACb,MAAM,MAAM,WAAW,oDAA8D,EAG7F,IAAI,EAAY,EAAK,UACrB,GAAI,CAAC,GAAa,IAAW,IAAc,eACvC,EAAY,EAAS,GAAa,eAEtC,IAAM,EAAc,CAChB,YAAa,EAAK,YAClB,gBAAiB,EAAK,mBAClB,EAAK,cAAgB,CAAE,aAAc,EAAK,YAAa,KACvD,EAAK,YAAc,CAAE,WAAY,IAAI,KAAK,EAAK,UAAU,CAAE,KAC3D,EAAK,iBAAmB,CAAE,gBAAiB,EAAK,eAAgB,KAChE,GAAa,CAAE,WAAU,CACjC,EAEA,OADA,uBAAqB,EAAa,sBAAuB,GAAG,EACrD,GDxBJ,IAAM,EAA4B,MAAO,EAAa,EAAU,IAAW,CAC9E,IAAM,EAAU,EAAS,GACzB,GAAI,EAAS,GAAc,CACvB,IAAM,EAAoB,EAAQ,mBAClC,GAAI,IAAsB,OAAW,CACjC,IAAM,EAAc,EAAU,2BAAyB,iBAAiB,EAAE,MAAQ,CAAI,EACtF,GAAI,CACA,IAAQ,UAAW,MAAM,EAAY,CAAiB,EAClD,EACJ,GAAI,CACA,EAAO,KAAK,MAAM,EAAO,KAAK,CAAC,EAEnC,KAAM,CACF,MAAM,MAAM,WAAW,6CAAuD,EAElF,OAAO,EAA+B,EAAa,EAAM,CAAQ,EAErE,MAAO,EAAO,CACV,MAAM,IAAI,2BAAyB,EAAM,QAAS,CAAE,QAAO,CAAC,GAIhE,WAAM,IAAI,2BAAyB,WAAW,wCAAmD,CAAE,QAAO,CAAC,EAI/G,WAAM,IAAI,2BAAyB,WAAW,mDAA8D,CACxG,QACJ,CAAC,GD9BF,IAAM,EAAc,CAAC,EAAO,CAAC,IAAM,OAAS,sBAAuB,CAAC,IAAM,CAC7E,EAAK,QAAQ,MAAM,oDAAoD,EACvE,IAAM,EAAW,MAAM,kBAAgB,CAAI,EAC3C,OAAO,EAA0B,iBAAe,CAC5C,QAAS,EAAK,SAAW,GAAoB,OACjD,CAAC,EAAG,EAAU,EAAK,MAAM", | ||
| "debugId": "ADFAF857C2905ACF64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@ai-sdk+groq@3.0.31+d6123d32214422cb/node_modules/@ai-sdk/groq/dist/index.mjs"], | ||
| "sourcesContent": [ | ||
| "// src/groq-provider.ts\nimport {\n NoSuchModelError\n} from \"@ai-sdk/provider\";\nimport {\n loadApiKey,\n withoutTrailingSlash,\n withUserAgentSuffix\n} from \"@ai-sdk/provider-utils\";\n\n// src/groq-chat-language-model.ts\nimport {\n InvalidResponseDataError\n} from \"@ai-sdk/provider\";\nimport {\n combineHeaders,\n createEventSourceResponseHandler,\n createJsonResponseHandler,\n generateId,\n isParsableJson,\n parseProviderOptions,\n postJsonToApi\n} from \"@ai-sdk/provider-utils\";\nimport { z as z3 } from \"zod/v4\";\n\n// src/convert-groq-usage.ts\nfunction convertGroqUsage(usage) {\n var _a, _b, _c, _d;\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 = (_d = (_c = usage.completion_tokens_details) == null ? void 0 : _c.reasoning_tokens) != null ? _d : void 0;\n const textTokens = reasoningTokens != null ? completionTokens - reasoningTokens : completionTokens;\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: textTokens,\n reasoning: reasoningTokens\n },\n raw: usage\n };\n}\n\n// src/convert-to-groq-chat-messages.ts\nimport {\n UnsupportedFunctionalityError\n} from \"@ai-sdk/provider\";\nimport { convertToBase64 } from \"@ai-sdk/provider-utils\";\nfunction convertToGroqChatMessages(prompt) {\n var _a;\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 if (content.length === 1 && content[0].type === \"text\") {\n messages.push({ role: \"user\", content: content[0].text });\n break;\n }\n messages.push({\n role: \"user\",\n content: content.map((part) => {\n switch (part.type) {\n case \"text\": {\n return { type: \"text\", text: part.text };\n }\n case \"file\": {\n if (!part.mediaType.startsWith(\"image/\")) {\n throw new UnsupportedFunctionalityError({\n functionality: \"Non-image file content parts\"\n });\n }\n const mediaType = part.mediaType === \"image/*\" ? \"image/jpeg\" : part.mediaType;\n return {\n type: \"image_url\",\n image_url: {\n url: part.data instanceof URL ? part.data.toString() : `data:${mediaType};base64,${convertToBase64(part.data)}`\n }\n };\n }\n }\n })\n });\n break;\n }\n case \"assistant\": {\n let text = \"\";\n let reasoning = \"\";\n const toolCalls = [];\n for (const part of content) {\n switch (part.type) {\n // groq supports reasoning for tool-calls in multi-turn conversations\n // https://github.com/vercel/ai/issues/7860\n case \"reasoning\": {\n reasoning += part.text;\n break;\n }\n case \"text\": {\n text += part.text;\n break;\n }\n case \"tool-call\": {\n toolCalls.push({\n id: part.toolCallId,\n type: \"function\",\n function: {\n name: part.toolName,\n arguments: JSON.stringify(part.input)\n }\n });\n break;\n }\n }\n }\n messages.push({\n role: \"assistant\",\n content: text,\n ...reasoning.length > 0 ? { reasoning } : null,\n ...toolCalls.length > 0 ? { tool_calls: toolCalls } : null\n });\n break;\n }\n case \"tool\": {\n for (const toolResponse of content) {\n if (toolResponse.type === \"tool-approval-response\") {\n continue;\n }\n const output = toolResponse.output;\n let contentValue;\n switch (output.type) {\n case \"text\":\n case \"error-text\":\n contentValue = output.value;\n break;\n case \"execution-denied\":\n contentValue = (_a = output.reason) != null ? _a : \"Tool execution denied.\";\n break;\n case \"content\":\n case \"json\":\n case \"error-json\":\n contentValue = JSON.stringify(output.value);\n break;\n }\n messages.push({\n role: \"tool\",\n tool_call_id: toolResponse.toolCallId,\n content: contentValue\n });\n }\n break;\n }\n default: {\n const _exhaustiveCheck = role;\n throw new Error(`Unsupported role: ${_exhaustiveCheck}`);\n }\n }\n }\n return messages;\n}\n\n// src/get-response-metadata.ts\nfunction getResponseMetadata({\n id,\n model,\n created\n}) {\n return {\n id: id != null ? id : void 0,\n modelId: model != null ? model : void 0,\n timestamp: created != null ? new Date(created * 1e3) : void 0\n };\n}\n\n// src/groq-chat-options.ts\nimport { z } from \"zod/v4\";\nvar groqLanguageModelOptions = z.object({\n reasoningFormat: z.enum([\"parsed\", \"raw\", \"hidden\"]).optional(),\n /**\n * Specifies the reasoning effort level for model inference.\n * @see https://console.groq.com/docs/reasoning#reasoning-effort\n */\n reasoningEffort: z.enum([\"none\", \"default\", \"low\", \"medium\", \"high\"]).optional(),\n /**\n * Whether to enable parallel function calling during tool use. Default to true.\n */\n parallelToolCalls: z.boolean().optional(),\n /**\n * A unique identifier representing your end-user, which can help OpenAI to\n * monitor and detect abuse. Learn more.\n */\n user: z.string().optional(),\n /**\n * Whether to use structured outputs.\n *\n * @default true\n */\n structuredOutputs: z.boolean().optional(),\n /**\n * Whether to use strict JSON schema validation.\n * When true, the model uses constrained decoding to guarantee schema compliance.\n * Only used when structured outputs are enabled and a schema is provided.\n *\n * @default true\n */\n strictJsonSchema: z.boolean().optional(),\n /**\n * Service tier for the request.\n * - 'on_demand': Default tier with consistent performance and fairness\n * - 'flex': Higher throughput tier optimized for workloads that can handle occasional request failures\n * - 'auto': Uses on_demand rate limits, then falls back to flex tier if exceeded\n *\n * @default 'on_demand'\n */\n serviceTier: z.enum([\"on_demand\", \"flex\", \"auto\"]).optional()\n});\n\n// src/groq-error.ts\nimport { z as z2 } from \"zod/v4\";\nimport { createJsonErrorResponseHandler } from \"@ai-sdk/provider-utils\";\nvar groqErrorDataSchema = z2.object({\n error: z2.object({\n message: z2.string(),\n type: z2.string()\n })\n});\nvar groqFailedResponseHandler = createJsonErrorResponseHandler({\n errorSchema: groqErrorDataSchema,\n errorToMessage: (data) => data.error.message\n});\n\n// src/groq-prepare-tools.ts\nimport {\n UnsupportedFunctionalityError as UnsupportedFunctionalityError2\n} from \"@ai-sdk/provider\";\n\n// src/groq-browser-search-models.ts\nvar BROWSER_SEARCH_SUPPORTED_MODELS = [\n \"openai/gpt-oss-20b\",\n \"openai/gpt-oss-120b\"\n];\nfunction isBrowserSearchSupportedModel(modelId) {\n return BROWSER_SEARCH_SUPPORTED_MODELS.includes(modelId);\n}\nfunction getSupportedModelsString() {\n return BROWSER_SEARCH_SUPPORTED_MODELS.join(\", \");\n}\n\n// src/groq-prepare-tools.ts\nfunction prepareTools({\n tools,\n toolChoice,\n modelId\n}) {\n tools = (tools == null ? void 0 : tools.length) ? tools : void 0;\n const toolWarnings = [];\n if (tools == null) {\n return { tools: void 0, toolChoice: void 0, toolWarnings };\n }\n const groqTools2 = [];\n for (const tool of tools) {\n if (tool.type === \"provider\") {\n if (tool.id === \"groq.browser_search\") {\n if (!isBrowserSearchSupportedModel(modelId)) {\n toolWarnings.push({\n type: \"unsupported\",\n feature: `provider-defined tool ${tool.id}`,\n details: `Browser search is only supported on the following models: ${getSupportedModelsString()}. Current model: ${modelId}`\n });\n } else {\n groqTools2.push({\n type: \"browser_search\"\n });\n }\n } else {\n toolWarnings.push({\n type: \"unsupported\",\n feature: `provider-defined tool ${tool.id}`\n });\n }\n } else {\n groqTools2.push({\n type: \"function\",\n function: {\n name: tool.name,\n description: tool.description,\n parameters: tool.inputSchema,\n ...tool.strict != null ? { strict: tool.strict } : {}\n }\n });\n }\n }\n if (toolChoice == null) {\n return { tools: groqTools2, toolChoice: void 0, toolWarnings };\n }\n const type = toolChoice.type;\n switch (type) {\n case \"auto\":\n case \"none\":\n case \"required\":\n return { tools: groqTools2, toolChoice: type, toolWarnings };\n case \"tool\":\n return {\n tools: groqTools2,\n toolChoice: {\n type: \"function\",\n function: {\n name: toolChoice.toolName\n }\n },\n toolWarnings\n };\n default: {\n const _exhaustiveCheck = type;\n throw new UnsupportedFunctionalityError2({\n functionality: `tool choice type: ${_exhaustiveCheck}`\n });\n }\n }\n}\n\n// src/map-groq-finish-reason.ts\nfunction mapGroqFinishReason(finishReason) {\n switch (finishReason) {\n case \"stop\":\n return \"stop\";\n case \"length\":\n return \"length\";\n case \"content_filter\":\n return \"content-filter\";\n case \"function_call\":\n case \"tool_calls\":\n return \"tool-calls\";\n default:\n return \"other\";\n }\n}\n\n// src/groq-chat-language-model.ts\nvar GroqChatLanguageModel = class {\n constructor(modelId, config) {\n this.specificationVersion = \"v3\";\n this.supportedUrls = {\n \"image/*\": [/^https?:\\/\\/.*$/]\n };\n this.modelId = modelId;\n this.config = config;\n }\n get provider() {\n return this.config.provider;\n }\n async getArgs({\n prompt,\n maxOutputTokens,\n temperature,\n topP,\n topK,\n frequencyPenalty,\n presencePenalty,\n stopSequences,\n responseFormat,\n seed,\n stream,\n tools,\n toolChoice,\n providerOptions\n }) {\n var _a, _b, _c;\n const warnings = [];\n const groqOptions = await parseProviderOptions({\n provider: \"groq\",\n providerOptions,\n schema: groqLanguageModelOptions\n });\n const structuredOutputs = (_a = groqOptions == null ? void 0 : groqOptions.structuredOutputs) != null ? _a : true;\n const strictJsonSchema = (_b = groqOptions == null ? void 0 : groqOptions.strictJsonSchema) != null ? _b : true;\n if (topK != null) {\n warnings.push({ type: \"unsupported\", feature: \"topK\" });\n }\n if ((responseFormat == null ? void 0 : responseFormat.type) === \"json\" && responseFormat.schema != null && !structuredOutputs) {\n warnings.push({\n type: \"unsupported\",\n feature: \"responseFormat\",\n details: \"JSON response format schema is only supported with structuredOutputs\"\n });\n }\n const {\n tools: groqTools2,\n toolChoice: groqToolChoice,\n toolWarnings\n } = prepareTools({ tools, toolChoice, modelId: this.modelId });\n return {\n args: {\n // model id:\n model: this.modelId,\n // model specific settings:\n user: groqOptions == null ? void 0 : groqOptions.user,\n parallel_tool_calls: groqOptions == null ? void 0 : groqOptions.parallelToolCalls,\n // standardized settings:\n max_tokens: maxOutputTokens,\n temperature,\n top_p: topP,\n frequency_penalty: frequencyPenalty,\n presence_penalty: presencePenalty,\n stop: stopSequences,\n seed,\n // response format:\n response_format: (responseFormat == null ? void 0 : responseFormat.type) === \"json\" ? structuredOutputs && responseFormat.schema != null ? {\n type: \"json_schema\",\n json_schema: {\n schema: responseFormat.schema,\n strict: strictJsonSchema,\n name: (_c = responseFormat.name) != null ? _c : \"response\",\n description: responseFormat.description\n }\n } : { type: \"json_object\" } : void 0,\n // provider options:\n reasoning_format: groqOptions == null ? void 0 : groqOptions.reasoningFormat,\n reasoning_effort: groqOptions == null ? void 0 : groqOptions.reasoningEffort,\n service_tier: groqOptions == null ? void 0 : groqOptions.serviceTier,\n // messages:\n messages: convertToGroqChatMessages(prompt),\n // tools:\n tools: groqTools2,\n tool_choice: groqToolChoice\n },\n warnings: [...warnings, ...toolWarnings]\n };\n }\n async doGenerate(options) {\n var _a, _b;\n const { args, warnings } = await this.getArgs({\n ...options,\n stream: false\n });\n const body = JSON.stringify(args);\n const {\n responseHeaders,\n value: response,\n rawValue: rawResponse\n } = await postJsonToApi({\n url: this.config.url({\n path: \"/chat/completions\",\n modelId: this.modelId\n }),\n headers: combineHeaders(this.config.headers(), options.headers),\n body: args,\n failedResponseHandler: groqFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler(\n groqChatResponseSchema\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 != null && text.length > 0) {\n content.push({ type: \"text\", text });\n }\n const reasoning = choice.message.reasoning;\n if (reasoning != null && reasoning.length > 0) {\n content.push({\n type: \"reasoning\",\n text: reasoning\n });\n }\n if (choice.message.tool_calls != null) {\n for (const toolCall of choice.message.tool_calls) {\n content.push({\n type: \"tool-call\",\n toolCallId: (_a = toolCall.id) != null ? _a : generateId(),\n toolName: toolCall.function.name,\n input: toolCall.function.arguments\n });\n }\n }\n return {\n content,\n finishReason: {\n unified: mapGroqFinishReason(choice.finish_reason),\n raw: (_b = choice.finish_reason) != null ? _b : void 0\n },\n usage: convertGroqUsage(response.usage),\n response: {\n ...getResponseMetadata(response),\n headers: responseHeaders,\n body: rawResponse\n },\n warnings,\n request: { body }\n };\n }\n async doStream(options) {\n const { args, warnings } = await this.getArgs({ ...options, stream: true });\n const body = JSON.stringify({ ...args, stream: true });\n const { responseHeaders, value: response } = await postJsonToApi({\n url: this.config.url({\n path: \"/chat/completions\",\n modelId: this.modelId\n }),\n headers: combineHeaders(this.config.headers(), options.headers),\n body: {\n ...args,\n stream: true\n },\n failedResponseHandler: groqFailedResponseHandler,\n successfulResponseHandler: createEventSourceResponseHandler(groqChatChunkSchema),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch\n });\n const toolCalls = [];\n let finishReason = {\n unified: \"other\",\n raw: void 0\n };\n let usage = void 0;\n let isFirstChunk = true;\n let isActiveText = false;\n let isActiveReasoning = false;\n let providerMetadata;\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, _h, _i, _j, _k, _l, _m;\n if (options.includeRawChunks) {\n controller.enqueue({ type: \"raw\", rawValue: chunk.rawValue });\n }\n if (!chunk.success) {\n finishReason = {\n unified: \"error\",\n raw: void 0\n };\n controller.enqueue({ type: \"error\", error: chunk.error });\n return;\n }\n const value = chunk.value;\n if (\"error\" in value) {\n finishReason = {\n unified: \"error\",\n raw: void 0\n };\n controller.enqueue({ type: \"error\", error: value.error });\n return;\n }\n if (isFirstChunk) {\n isFirstChunk = false;\n controller.enqueue({\n type: \"response-metadata\",\n ...getResponseMetadata(value)\n });\n }\n if (((_a = value.x_groq) == null ? void 0 : _a.usage) != null) {\n usage = value.x_groq.usage;\n }\n const choice = value.choices[0];\n if ((choice == null ? void 0 : choice.finish_reason) != null) {\n finishReason = {\n unified: mapGroqFinishReason(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 if (delta.reasoning != null && delta.reasoning.length > 0) {\n if (!isActiveReasoning) {\n controller.enqueue({\n type: \"reasoning-start\",\n id: \"reasoning-0\"\n });\n isActiveReasoning = true;\n }\n controller.enqueue({\n type: \"reasoning-delta\",\n id: \"reasoning-0\",\n delta: delta.reasoning\n });\n }\n if (delta.content != null && delta.content.length > 0) {\n if (isActiveReasoning) {\n controller.enqueue({\n type: \"reasoning-end\",\n id: \"reasoning-0\"\n });\n isActiveReasoning = false;\n }\n if (!isActiveText) {\n controller.enqueue({ type: \"text-start\", id: \"txt-0\" });\n isActiveText = true;\n }\n controller.enqueue({\n type: \"text-delta\",\n id: \"txt-0\",\n delta: delta.content\n });\n }\n if (delta.tool_calls != null) {\n if (isActiveReasoning) {\n controller.enqueue({\n type: \"reasoning-end\",\n id: \"reasoning-0\"\n });\n isActiveReasoning = false;\n }\n for (const toolCallDelta of delta.tool_calls) {\n const index = toolCallDelta.index;\n if (toolCalls[index] == null) {\n if (toolCallDelta.type !== \"function\") {\n throw new InvalidResponseDataError({\n data: toolCallDelta,\n message: `Expected 'function' type.`\n });\n }\n if (toolCallDelta.id == null) {\n throw new InvalidResponseDataError({\n data: toolCallDelta,\n message: `Expected 'id' to be a string.`\n });\n }\n if (((_b = toolCallDelta.function) == null ? void 0 : _b.name) == null) {\n throw new InvalidResponseDataError({\n data: toolCallDelta,\n message: `Expected 'function.name' to be a string.`\n });\n }\n controller.enqueue({\n type: \"tool-input-start\",\n id: toolCallDelta.id,\n toolName: toolCallDelta.function.name\n });\n toolCalls[index] = {\n id: toolCallDelta.id,\n type: \"function\",\n function: {\n name: toolCallDelta.function.name,\n arguments: (_c = toolCallDelta.function.arguments) != null ? _c : \"\"\n },\n hasFinished: false\n };\n const toolCall2 = toolCalls[index];\n if (((_d = toolCall2.function) == null ? void 0 : _d.name) != null && ((_e = toolCall2.function) == null ? void 0 : _e.arguments) != null) {\n if (toolCall2.function.arguments.length > 0) {\n controller.enqueue({\n type: \"tool-input-delta\",\n id: toolCall2.id,\n delta: toolCall2.function.arguments\n });\n }\n if (isParsableJson(toolCall2.function.arguments)) {\n controller.enqueue({\n type: \"tool-input-end\",\n id: toolCall2.id\n });\n controller.enqueue({\n type: \"tool-call\",\n toolCallId: (_f = toolCall2.id) != null ? _f : generateId(),\n toolName: toolCall2.function.name,\n input: toolCall2.function.arguments\n });\n toolCall2.hasFinished = true;\n }\n }\n continue;\n }\n const toolCall = toolCalls[index];\n if (toolCall.hasFinished) {\n continue;\n }\n if (((_g = toolCallDelta.function) == null ? void 0 : _g.arguments) != null) {\n toolCall.function.arguments += (_i = (_h = toolCallDelta.function) == null ? void 0 : _h.arguments) != null ? _i : \"\";\n }\n controller.enqueue({\n type: \"tool-input-delta\",\n id: toolCall.id,\n delta: (_j = toolCallDelta.function.arguments) != null ? _j : \"\"\n });\n if (((_k = toolCall.function) == null ? void 0 : _k.name) != null && ((_l = toolCall.function) == null ? void 0 : _l.arguments) != null && isParsableJson(toolCall.function.arguments)) {\n controller.enqueue({\n type: \"tool-input-end\",\n id: toolCall.id\n });\n controller.enqueue({\n type: \"tool-call\",\n toolCallId: (_m = toolCall.id) != null ? _m : generateId(),\n toolName: toolCall.function.name,\n input: toolCall.function.arguments\n });\n toolCall.hasFinished = true;\n }\n }\n }\n },\n flush(controller) {\n if (isActiveReasoning) {\n controller.enqueue({ type: \"reasoning-end\", id: \"reasoning-0\" });\n }\n if (isActiveText) {\n controller.enqueue({ type: \"text-end\", id: \"txt-0\" });\n }\n controller.enqueue({\n type: \"finish\",\n finishReason,\n usage: convertGroqUsage(usage),\n ...providerMetadata != null ? { providerMetadata } : {}\n });\n }\n })\n ),\n request: { body },\n response: { headers: responseHeaders }\n };\n }\n};\nvar groqChatResponseSchema = z3.object({\n id: z3.string().nullish(),\n created: z3.number().nullish(),\n model: z3.string().nullish(),\n choices: z3.array(\n z3.object({\n message: z3.object({\n content: z3.string().nullish(),\n reasoning: z3.string().nullish(),\n tool_calls: z3.array(\n z3.object({\n id: z3.string().nullish(),\n type: z3.literal(\"function\"),\n function: z3.object({\n name: z3.string(),\n arguments: z3.string()\n })\n })\n ).nullish()\n }),\n index: z3.number(),\n finish_reason: z3.string().nullish()\n })\n ),\n usage: z3.object({\n prompt_tokens: z3.number().nullish(),\n completion_tokens: z3.number().nullish(),\n total_tokens: z3.number().nullish(),\n prompt_tokens_details: z3.object({\n cached_tokens: z3.number().nullish()\n }).nullish(),\n completion_tokens_details: z3.object({\n reasoning_tokens: z3.number().nullish()\n }).nullish()\n }).nullish()\n});\nvar groqChatChunkSchema = z3.union([\n z3.object({\n id: z3.string().nullish(),\n created: z3.number().nullish(),\n model: z3.string().nullish(),\n choices: z3.array(\n z3.object({\n delta: z3.object({\n content: z3.string().nullish(),\n reasoning: z3.string().nullish(),\n tool_calls: z3.array(\n z3.object({\n index: z3.number(),\n id: z3.string().nullish(),\n type: z3.literal(\"function\").optional(),\n function: z3.object({\n name: z3.string().nullish(),\n arguments: z3.string().nullish()\n })\n })\n ).nullish()\n }).nullish(),\n finish_reason: z3.string().nullable().optional(),\n index: z3.number()\n })\n ),\n x_groq: z3.object({\n usage: z3.object({\n prompt_tokens: z3.number().nullish(),\n completion_tokens: z3.number().nullish(),\n total_tokens: z3.number().nullish(),\n prompt_tokens_details: z3.object({\n cached_tokens: z3.number().nullish()\n }).nullish(),\n completion_tokens_details: z3.object({\n reasoning_tokens: z3.number().nullish()\n }).nullish()\n }).nullish()\n }).nullish()\n }),\n groqErrorDataSchema\n]);\n\n// src/groq-transcription-model.ts\nimport {\n combineHeaders as combineHeaders2,\n convertBase64ToUint8Array,\n createJsonResponseHandler as createJsonResponseHandler2,\n mediaTypeToExtension,\n parseProviderOptions as parseProviderOptions2,\n postFormDataToApi\n} from \"@ai-sdk/provider-utils\";\nimport { z as z5 } from \"zod/v4\";\n\n// src/groq-transcription-options.ts\nimport { lazySchema, zodSchema } from \"@ai-sdk/provider-utils\";\nimport { z as z4 } from \"zod/v4\";\nvar groqTranscriptionModelOptions = lazySchema(\n () => zodSchema(\n z4.object({\n language: z4.string().nullish(),\n prompt: z4.string().nullish(),\n responseFormat: z4.string().nullish(),\n temperature: z4.number().min(0).max(1).nullish(),\n timestampGranularities: z4.array(z4.string()).nullish()\n })\n )\n);\n\n// src/groq-transcription-model.ts\nvar GroqTranscriptionModel = class {\n constructor(modelId, config) {\n this.modelId = modelId;\n this.config = config;\n this.specificationVersion = \"v3\";\n }\n get provider() {\n return this.config.provider;\n }\n async getArgs({\n audio,\n mediaType,\n providerOptions\n }) {\n var _a, _b, _c, _d, _e;\n const warnings = [];\n const groqOptions = await parseProviderOptions2({\n provider: \"groq\",\n providerOptions,\n schema: groqTranscriptionModelOptions\n });\n const formData = new FormData();\n const blob = audio instanceof Uint8Array ? new Blob([audio]) : new Blob([convertBase64ToUint8Array(audio)]);\n formData.append(\"model\", this.modelId);\n const fileExtension = mediaTypeToExtension(mediaType);\n formData.append(\n \"file\",\n new File([blob], \"audio\", { type: mediaType }),\n `audio.${fileExtension}`\n );\n if (groqOptions) {\n const transcriptionModelOptions = {\n language: (_a = groqOptions.language) != null ? _a : void 0,\n prompt: (_b = groqOptions.prompt) != null ? _b : void 0,\n response_format: (_c = groqOptions.responseFormat) != null ? _c : void 0,\n temperature: (_d = groqOptions.temperature) != null ? _d : void 0,\n timestamp_granularities: (_e = groqOptions.timestampGranularities) != null ? _e : void 0\n };\n for (const key in transcriptionModelOptions) {\n const value = transcriptionModelOptions[key];\n if (value !== void 0) {\n if (Array.isArray(value)) {\n for (const item of value) {\n formData.append(`${key}[]`, String(item));\n }\n } else {\n formData.append(key, String(value));\n }\n }\n }\n }\n return {\n formData,\n warnings\n };\n }\n async doGenerate(options) {\n var _a, _b, _c, _d, _e, _f, _g;\n const currentDate = (_c = (_b = (_a = this.config._internal) == null ? void 0 : _a.currentDate) == null ? void 0 : _b.call(_a)) != null ? _c : /* @__PURE__ */ new Date();\n const { formData, warnings } = await this.getArgs(options);\n const {\n value: response,\n responseHeaders,\n rawValue: rawResponse\n } = await postFormDataToApi({\n url: this.config.url({\n path: \"/audio/transcriptions\",\n modelId: this.modelId\n }),\n headers: combineHeaders2(this.config.headers(), options.headers),\n formData,\n failedResponseHandler: groqFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler2(\n groqTranscriptionResponseSchema\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch\n });\n return {\n text: response.text,\n segments: (_e = (_d = response.segments) == null ? void 0 : _d.map((segment) => ({\n text: segment.text,\n startSecond: segment.start,\n endSecond: segment.end\n }))) != null ? _e : [],\n language: (_f = response.language) != null ? _f : void 0,\n durationInSeconds: (_g = response.duration) != null ? _g : void 0,\n warnings,\n response: {\n timestamp: currentDate,\n modelId: this.modelId,\n headers: responseHeaders,\n body: rawResponse\n }\n };\n }\n};\nvar groqTranscriptionResponseSchema = z5.object({\n text: z5.string(),\n x_groq: z5.object({\n id: z5.string()\n }),\n // additional properties are returned when `response_format: 'verbose_json'` is\n task: z5.string().nullish(),\n language: z5.string().nullish(),\n duration: z5.number().nullish(),\n segments: z5.array(\n z5.object({\n id: z5.number(),\n seek: z5.number(),\n start: z5.number(),\n end: z5.number(),\n text: z5.string(),\n tokens: z5.array(z5.number()),\n temperature: z5.number(),\n avg_logprob: z5.number(),\n compression_ratio: z5.number(),\n no_speech_prob: z5.number()\n })\n ).nullish()\n});\n\n// src/tool/browser-search.ts\nimport { createProviderToolFactory } from \"@ai-sdk/provider-utils\";\nimport { z as z6 } from \"zod/v4\";\nvar browserSearch = createProviderToolFactory({\n id: \"groq.browser_search\",\n inputSchema: z6.object({})\n});\n\n// src/groq-tools.ts\nvar groqTools = {\n browserSearch\n};\n\n// src/version.ts\nvar VERSION = true ? \"3.0.31\" : \"0.0.0-test\";\n\n// src/groq-provider.ts\nfunction createGroq(options = {}) {\n var _a;\n const baseURL = (_a = withoutTrailingSlash(options.baseURL)) != null ? _a : \"https://api.groq.com/openai/v1\";\n const getHeaders = () => withUserAgentSuffix(\n {\n Authorization: `Bearer ${loadApiKey({\n apiKey: options.apiKey,\n environmentVariableName: \"GROQ_API_KEY\",\n description: \"Groq\"\n })}`,\n ...options.headers\n },\n `ai-sdk/groq/${VERSION}`\n );\n const createChatModel = (modelId) => new GroqChatLanguageModel(modelId, {\n provider: \"groq.chat\",\n url: ({ path }) => `${baseURL}${path}`,\n headers: getHeaders,\n fetch: options.fetch\n });\n const createLanguageModel = (modelId) => {\n if (new.target) {\n throw new Error(\n \"The Groq model function cannot be called with the new keyword.\"\n );\n }\n return createChatModel(modelId);\n };\n const createTranscriptionModel = (modelId) => {\n return new GroqTranscriptionModel(modelId, {\n provider: \"groq.transcription\",\n url: ({ path }) => `${baseURL}${path}`,\n headers: getHeaders,\n fetch: options.fetch\n });\n };\n const provider = function(modelId) {\n return createLanguageModel(modelId);\n };\n provider.specificationVersion = \"v3\";\n provider.languageModel = createLanguageModel;\n provider.chat = createChatModel;\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 provider.transcription = createTranscriptionModel;\n provider.transcriptionModel = createTranscriptionModel;\n provider.tools = groqTools;\n return provider;\n}\nvar groq = createGroq();\nexport {\n VERSION,\n browserSearch,\n createGroq,\n groq\n};\n//# sourceMappingURL=index.mjs.map" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "5F42BDA84E6E82AF64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260605003541_add_session_context_snapshot.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260605003541_add_session_context_snapshot\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`\n CREATE TABLE \\`session_context_epoch\\` (\n \\`session_id\\` text PRIMARY KEY,\n \\`baseline\\` text NOT NULL,\n \\`snapshot\\` text NOT NULL,\n \\`baseline_seq\\` integer NOT NULL,\n \\`replacement_seq\\` integer,\n \\`revision\\` integer DEFAULT 0 NOT NULL,\n CONSTRAINT \\`fk_session_context_epoch_session_id_session_id_fk\\` FOREIGN KEY (\\`session_id\\`) REFERENCES \\`session\\`(\\`id\\`) ON DELETE CASCADE\n );\n `)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,8CACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,gdAUb,EACF,EAEL", | ||
| "debugId": "8A47C786E4EAE6B064756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "482DBF980CF344FC64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@aws-sdk+credential-providers@3.1057.0/node_modules/@aws-sdk/credential-providers/dist-es/createCredentialChain.js", "../../node_modules/.bun/@aws-sdk+credential-provider-cognito-identity@3.972.38/node_modules/@aws-sdk/credential-provider-cognito-identity/dist-es/fromCognitoIdentity.js", "../../node_modules/.bun/@aws-sdk+credential-provider-cognito-identity@3.972.38/node_modules/@aws-sdk/credential-provider-cognito-identity/dist-es/resolveLogins.js", "../../node_modules/.bun/@aws-sdk+credential-provider-cognito-identity@3.972.38/node_modules/@aws-sdk/credential-provider-cognito-identity/dist-es/fromCognitoIdentityPool.js", "../../node_modules/.bun/@aws-sdk+credential-provider-cognito-identity@3.972.38/node_modules/@aws-sdk/credential-provider-cognito-identity/dist-es/IndexedDbStorage.js", "../../node_modules/.bun/@aws-sdk+credential-provider-cognito-identity@3.972.38/node_modules/@aws-sdk/credential-provider-cognito-identity/dist-es/InMemoryStorage.js", "../../node_modules/.bun/@aws-sdk+credential-provider-cognito-identity@3.972.38/node_modules/@aws-sdk/credential-provider-cognito-identity/dist-es/localStorage.js", "../../node_modules/.bun/@aws-sdk+credential-providers@3.1057.0/node_modules/@aws-sdk/credential-providers/dist-es/fromCognitoIdentity.js", "../../node_modules/.bun/@aws-sdk+credential-providers@3.1057.0/node_modules/@aws-sdk/credential-providers/dist-es/fromCognitoIdentityPool.js", "../../node_modules/.bun/@aws-sdk+credential-providers@3.1057.0/node_modules/@aws-sdk/credential-providers/dist-es/fromContainerMetadata.js", "../../node_modules/.bun/@aws-sdk+credential-providers@3.1057.0/node_modules/@aws-sdk/credential-providers/dist-es/fromEnv.js", "../../node_modules/.bun/@aws-sdk+credential-providers@3.1057.0/node_modules/@aws-sdk/credential-providers/dist-es/fromIni.js", "../../node_modules/.bun/@aws-sdk+credential-providers@3.1057.0/node_modules/@aws-sdk/credential-providers/dist-es/fromInstanceMetadata.js", "../../node_modules/.bun/@aws-sdk+credential-providers@3.1057.0/node_modules/@aws-sdk/credential-providers/dist-es/fromLoginCredentials.js", "../../node_modules/.bun/@aws-sdk+credential-provider-node@3.972.47/node_modules/@aws-sdk/credential-provider-node/dist-es/defaultProvider.js", "../../node_modules/.bun/@aws-sdk+credential-provider-node@3.972.47/node_modules/@aws-sdk/credential-provider-node/dist-es/remoteProvider.js", "../../node_modules/.bun/@aws-sdk+credential-provider-node@3.972.47/node_modules/@aws-sdk/credential-provider-node/dist-es/runtime/memoize-chain.js", "../../node_modules/.bun/@aws-sdk+credential-providers@3.1057.0/node_modules/@aws-sdk/credential-providers/dist-es/fromNodeProviderChain.js", "../../node_modules/.bun/@aws-sdk+credential-providers@3.1057.0/node_modules/@aws-sdk/credential-providers/dist-es/fromProcess.js", "../../node_modules/.bun/@aws-sdk+credential-providers@3.1057.0/node_modules/@aws-sdk/credential-providers/dist-es/fromSSO.js", "../../node_modules/.bun/@aws-sdk+credential-providers@3.1057.0/node_modules/@aws-sdk/credential-providers/dist-es/fromTemporaryCredentials.js", "../../node_modules/.bun/@aws-sdk+credential-providers@3.1057.0/node_modules/@aws-sdk/credential-providers/dist-es/fromTemporaryCredentials.base.js", "../../node_modules/.bun/@aws-sdk+credential-providers@3.1057.0/node_modules/@aws-sdk/credential-providers/dist-es/fromTokenFile.js", "../../node_modules/.bun/@aws-sdk+credential-providers@3.1057.0/node_modules/@aws-sdk/credential-providers/dist-es/fromWebToken.js"], | ||
| "sourcesContent": [ | ||
| "import { ProviderError } from \"@smithy/core/config\";\nexport const createCredentialChain = (...credentialProviders) => {\n let expireAfter = -1;\n const baseFunction = async (awsIdentityProperties) => {\n const credentials = await propertyProviderChain(...credentialProviders)(awsIdentityProperties);\n if (!credentials.expiration && expireAfter !== -1) {\n credentials.expiration = new Date(Date.now() + expireAfter);\n }\n return credentials;\n };\n const withOptions = Object.assign(baseFunction, {\n expireAfter(milliseconds) {\n if (milliseconds < 5 * 60_000) {\n throw new Error(\"@aws-sdk/credential-providers - createCredentialChain(...).expireAfter(ms) may not be called with a duration lower than five minutes.\");\n }\n expireAfter = milliseconds;\n return withOptions;\n },\n });\n return withOptions;\n};\nexport const propertyProviderChain = (...providers) => async (awsIdentityProperties) => {\n if (providers.length === 0) {\n throw new ProviderError(\"No providers in chain\", { tryNextLink: false });\n }\n let lastProviderError;\n for (const provider of providers) {\n try {\n return await provider(awsIdentityProperties);\n }\n catch (err) {\n lastProviderError = err;\n if (err?.tryNextLink) {\n continue;\n }\n throw err;\n }\n }\n throw lastProviderError;\n};\n", | ||
| "import { CredentialsProviderError } from \"@smithy/core/config\";\nimport { resolveLogins } from \"./resolveLogins\";\nexport function fromCognitoIdentity(parameters) {\n return async (awsIdentityProperties) => {\n parameters.logger?.debug(\"@aws-sdk/credential-provider-cognito-identity - fromCognitoIdentity\");\n const { GetCredentialsForIdentityCommand, CognitoIdentityClient } = await import(\"./loadCognitoIdentity.js\");\n const fromConfigs = (property) => parameters.clientConfig?.[property] ??\n parameters.parentClientConfig?.[property] ??\n awsIdentityProperties?.callerClientConfig?.[property];\n const { Credentials: { AccessKeyId = throwOnMissingAccessKeyId(parameters.logger), Expiration, SecretKey = throwOnMissingSecretKey(parameters.logger), SessionToken, } = throwOnMissingCredentials(parameters.logger), } = await (parameters.client ??\n new CognitoIdentityClient(Object.assign({}, parameters.clientConfig ?? {}, {\n region: fromConfigs(\"region\"),\n profile: fromConfigs(\"profile\"),\n userAgentAppId: fromConfigs(\"userAgentAppId\"),\n }))).send(new GetCredentialsForIdentityCommand({\n CustomRoleArn: parameters.customRoleArn,\n IdentityId: parameters.identityId,\n Logins: parameters.logins ? await resolveLogins(parameters.logins) : undefined,\n }));\n return {\n identityId: parameters.identityId,\n accessKeyId: AccessKeyId,\n secretAccessKey: SecretKey,\n sessionToken: SessionToken,\n expiration: Expiration,\n };\n };\n}\nfunction throwOnMissingAccessKeyId(logger) {\n throw new CredentialsProviderError(\"Response from Amazon Cognito contained no access key ID\", { logger });\n}\nfunction throwOnMissingCredentials(logger) {\n throw new CredentialsProviderError(\"Response from Amazon Cognito contained no credentials\", { logger });\n}\nfunction throwOnMissingSecretKey(logger) {\n throw new CredentialsProviderError(\"Response from Amazon Cognito contained no secret key\", { logger });\n}\n", | ||
| "export function resolveLogins(logins) {\n return Promise.all(Object.keys(logins).reduce((arr, name) => {\n const tokenOrProvider = logins[name];\n if (typeof tokenOrProvider === \"string\") {\n arr.push([name, tokenOrProvider]);\n }\n else {\n arr.push(tokenOrProvider().then((token) => [name, token]));\n }\n return arr;\n }, [])).then((resolvedPairs) => resolvedPairs.reduce((logins, [key, value]) => {\n logins[key] = value;\n return logins;\n }, {}));\n}\n", | ||
| "import { CredentialsProviderError } from \"@smithy/core/config\";\nimport { fromCognitoIdentity } from \"./fromCognitoIdentity\";\nimport { localStorage } from \"./localStorage\";\nimport { resolveLogins } from \"./resolveLogins\";\nexport function fromCognitoIdentityPool({ accountId, cache = localStorage(), client, clientConfig, customRoleArn, identityPoolId, logins, userIdentifier = !logins || Object.keys(logins).length === 0 ? \"ANONYMOUS\" : undefined, logger, parentClientConfig, }) {\n logger?.debug(\"@aws-sdk/credential-provider-cognito-identity - fromCognitoIdentity\");\n const cacheKey = userIdentifier\n ? `aws:cognito-identity-credentials:${identityPoolId}:${userIdentifier}`\n : undefined;\n let provider = async (awsIdentityProperties) => {\n const { GetIdCommand, CognitoIdentityClient } = await import(\"./loadCognitoIdentity.js\");\n const fromConfigs = (property) => clientConfig?.[property] ??\n parentClientConfig?.[property] ??\n awsIdentityProperties?.callerClientConfig?.[property];\n const _client = client ??\n new CognitoIdentityClient(Object.assign({}, clientConfig ?? {}, {\n region: fromConfigs(\"region\"),\n profile: fromConfigs(\"profile\"),\n userAgentAppId: fromConfigs(\"userAgentAppId\"),\n }));\n let identityId = (cacheKey && (await cache.getItem(cacheKey)));\n if (!identityId) {\n const { IdentityId = throwOnMissingId(logger) } = await _client.send(new GetIdCommand({\n AccountId: accountId,\n IdentityPoolId: identityPoolId,\n Logins: logins ? await resolveLogins(logins) : undefined,\n }));\n identityId = IdentityId;\n if (cacheKey) {\n Promise.resolve(cache.setItem(cacheKey, identityId)).catch(() => { });\n }\n }\n provider = fromCognitoIdentity({\n client: _client,\n customRoleArn,\n logins,\n identityId,\n });\n return provider(awsIdentityProperties);\n };\n return (awsIdentityProperties) => provider(awsIdentityProperties).catch(async (err) => {\n if (cacheKey) {\n Promise.resolve(cache.removeItem(cacheKey)).catch(() => { });\n }\n throw err;\n });\n}\nfunction throwOnMissingId(logger) {\n throw new CredentialsProviderError(\"Response from Amazon Cognito contained no identity ID\", { logger });\n}\n", | ||
| "const STORE_NAME = \"IdentityIds\";\nexport class IndexedDbStorage {\n dbName;\n constructor(dbName = \"aws:cognito-identity-ids\") {\n this.dbName = dbName;\n }\n getItem(key) {\n return this.withObjectStore(\"readonly\", (store) => {\n const req = store.get(key);\n return new Promise((resolve) => {\n req.onerror = () => resolve(null);\n req.onsuccess = () => resolve(req.result ? req.result.value : null);\n });\n }).catch(() => null);\n }\n removeItem(key) {\n return this.withObjectStore(\"readwrite\", (store) => {\n const req = store.delete(key);\n return new Promise((resolve, reject) => {\n req.onerror = () => reject(req.error);\n req.onsuccess = () => resolve();\n });\n });\n }\n setItem(id, value) {\n return this.withObjectStore(\"readwrite\", (store) => {\n const req = store.put({ id, value });\n return new Promise((resolve, reject) => {\n req.onerror = () => reject(req.error);\n req.onsuccess = () => resolve();\n });\n });\n }\n getDb() {\n const openDbRequest = self.indexedDB.open(this.dbName, 1);\n return new Promise((resolve, reject) => {\n openDbRequest.onsuccess = () => {\n resolve(openDbRequest.result);\n };\n openDbRequest.onerror = () => {\n reject(openDbRequest.error);\n };\n openDbRequest.onblocked = () => {\n reject(new Error(\"Unable to access DB\"));\n };\n openDbRequest.onupgradeneeded = () => {\n const db = openDbRequest.result;\n db.onerror = () => {\n reject(new Error(\"Failed to create object store\"));\n };\n db.createObjectStore(STORE_NAME, { keyPath: \"id\" });\n };\n });\n }\n withObjectStore(mode, action) {\n return this.getDb().then((db) => {\n const tx = db.transaction(STORE_NAME, mode);\n tx.oncomplete = () => db.close();\n return new Promise((resolve, reject) => {\n tx.onerror = () => reject(tx.error);\n resolve(action(tx.objectStore(STORE_NAME)));\n }).catch((err) => {\n db.close();\n throw err;\n });\n });\n }\n}\n", | ||
| "export class InMemoryStorage {\n store;\n constructor(store = {}) {\n this.store = store;\n }\n getItem(key) {\n if (key in this.store) {\n return this.store[key];\n }\n return null;\n }\n removeItem(key) {\n delete this.store[key];\n }\n setItem(key, value) {\n this.store[key] = value;\n }\n}\n", | ||
| "import { IndexedDbStorage } from \"./IndexedDbStorage\";\nimport { InMemoryStorage } from \"./InMemoryStorage\";\nconst inMemoryStorage = new InMemoryStorage();\nexport function localStorage() {\n if (typeof self === \"object\" && self.indexedDB) {\n return new IndexedDbStorage();\n }\n if (typeof window === \"object\" && window.localStorage) {\n return window.localStorage;\n }\n return inMemoryStorage;\n}\n", | ||
| "import { fromCognitoIdentity as _fromCognitoIdentity } from \"@aws-sdk/credential-provider-cognito-identity\";\nexport const fromCognitoIdentity = (options) => _fromCognitoIdentity({\n ...options,\n});\n", | ||
| "import { fromCognitoIdentityPool as _fromCognitoIdentityPool } from \"@aws-sdk/credential-provider-cognito-identity\";\nexport const fromCognitoIdentityPool = (options) => _fromCognitoIdentityPool({\n ...options,\n});\n", | ||
| "import { fromContainerMetadata as _fromContainerMetadata } from \"@smithy/credential-provider-imds\";\nexport const fromContainerMetadata = (init) => {\n init?.logger?.debug(\"@smithy/credential-provider-imds\", \"fromContainerMetadata\");\n return _fromContainerMetadata(init);\n};\n", | ||
| "import { fromEnv as _fromEnv } from \"@aws-sdk/credential-provider-env\";\nexport const fromEnv = (init) => _fromEnv(init);\n", | ||
| "import { fromIni as _fromIni } from \"@aws-sdk/credential-provider-ini\";\nexport const fromIni = (init = {}) => _fromIni({\n ...init,\n});\n", | ||
| "import { setCredentialFeature } from \"@aws-sdk/core/client\";\nimport { fromInstanceMetadata as _fromInstanceMetadata } from \"@smithy/credential-provider-imds\";\nexport const fromInstanceMetadata = (init) => {\n init?.logger?.debug(\"@smithy/credential-provider-imds\", \"fromInstanceMetadata\");\n return async () => _fromInstanceMetadata(init)().then((creds) => setCredentialFeature(creds, \"CREDENTIALS_IMDS\", \"0\"));\n};\n", | ||
| "import { fromLoginCredentials as _fromLoginCredentials, } from \"@aws-sdk/credential-provider-login\";\nexport const fromLoginCredentials = (init) => _fromLoginCredentials({\n ...init,\n});\n", | ||
| "import { ENV_KEY, ENV_SECRET, fromEnv } from \"@aws-sdk/credential-provider-env\";\nimport { CredentialsProviderError, ENV_PROFILE } from \"@smithy/core/config\";\nimport { remoteProvider } from \"./remoteProvider\";\nimport { memoizeChain } from \"./runtime/memoize-chain\";\nlet multipleCredentialSourceWarningEmitted = false;\nexport const defaultProvider = (init = {}) => memoizeChain([\n async () => {\n const profile = init.profile ?? process.env[ENV_PROFILE];\n if (profile) {\n const envStaticCredentialsAreSet = process.env[ENV_KEY] && process.env[ENV_SECRET];\n if (envStaticCredentialsAreSet) {\n if (!multipleCredentialSourceWarningEmitted) {\n const warnFn = init.logger?.warn && init.logger?.constructor?.name !== \"NoOpLogger\"\n ? init.logger.warn.bind(init.logger)\n : console.warn;\n warnFn(`@aws-sdk/credential-provider-node - defaultProvider::fromEnv WARNING:\n Multiple credential sources detected: \n Both AWS_PROFILE and the pair AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY static credentials are set.\n This SDK will proceed with the AWS_PROFILE value.\n \n However, a future version may change this behavior to prefer the ENV static credentials.\n Please ensure that your environment only sets either the AWS_PROFILE or the\n AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY pair.\n`);\n multipleCredentialSourceWarningEmitted = true;\n }\n }\n throw new CredentialsProviderError(\"AWS_PROFILE is set, skipping fromEnv provider.\", {\n logger: init.logger,\n tryNextLink: true,\n });\n }\n init.logger?.debug(\"@aws-sdk/credential-provider-node - defaultProvider::fromEnv\");\n return fromEnv(init)();\n },\n async (awsIdentityProperties) => {\n init.logger?.debug(\"@aws-sdk/credential-provider-node - defaultProvider::fromSSO\");\n const { ssoStartUrl, ssoAccountId, ssoRegion, ssoRoleName, ssoSession } = init;\n if (!ssoStartUrl && !ssoAccountId && !ssoRegion && !ssoRoleName && !ssoSession) {\n throw new CredentialsProviderError(\"Skipping SSO provider in default chain (inputs do not include SSO fields).\", { logger: init.logger });\n }\n const { fromSSO } = await import(\"@aws-sdk/credential-provider-sso\");\n return fromSSO(init)(awsIdentityProperties);\n },\n async (awsIdentityProperties) => {\n init.logger?.debug(\"@aws-sdk/credential-provider-node - defaultProvider::fromIni\");\n const { fromIni } = await import(\"@aws-sdk/credential-provider-ini\");\n return fromIni(init)(awsIdentityProperties);\n },\n async (awsIdentityProperties) => {\n init.logger?.debug(\"@aws-sdk/credential-provider-node - defaultProvider::fromProcess\");\n const { fromProcess } = await import(\"@aws-sdk/credential-provider-process\");\n return fromProcess(init)(awsIdentityProperties);\n },\n async (awsIdentityProperties) => {\n init.logger?.debug(\"@aws-sdk/credential-provider-node - defaultProvider::fromTokenFile\");\n const { fromTokenFile } = await import(\"@aws-sdk/credential-provider-web-identity\");\n return fromTokenFile(init)(awsIdentityProperties);\n },\n async () => {\n init.logger?.debug(\"@aws-sdk/credential-provider-node - defaultProvider::remoteProvider\");\n return (await remoteProvider(init))();\n },\n async () => {\n throw new CredentialsProviderError(\"Could not load credentials from any providers\", {\n tryNextLink: false,\n logger: init.logger,\n });\n },\n], credentialsTreatedAsExpired);\nexport const credentialsWillNeedRefresh = (credentials) => credentials?.expiration !== undefined;\nexport const credentialsTreatedAsExpired = (credentials) => credentials?.expiration !== undefined && credentials.expiration.getTime() - Date.now() < 300000;\n", | ||
| "import { chain, CredentialsProviderError } from \"@smithy/core/config\";\nexport const ENV_IMDS_DISABLED = \"AWS_EC2_METADATA_DISABLED\";\nexport const remoteProvider = async (init) => {\n const { ENV_CMDS_FULL_URI, ENV_CMDS_RELATIVE_URI, fromContainerMetadata, fromInstanceMetadata } = await import(\"@smithy/credential-provider-imds\");\n if (process.env[ENV_CMDS_RELATIVE_URI] || process.env[ENV_CMDS_FULL_URI]) {\n init.logger?.debug(\"@aws-sdk/credential-provider-node - remoteProvider::fromHttp/fromContainerMetadata\");\n const { fromHttp } = await import(\"@aws-sdk/credential-provider-http\");\n return chain(fromHttp(init), fromContainerMetadata(init));\n }\n if (process.env[ENV_IMDS_DISABLED] && process.env[ENV_IMDS_DISABLED] !== \"false\") {\n return async () => {\n throw new CredentialsProviderError(\"EC2 Instance Metadata Service access disabled\", { logger: init.logger });\n };\n }\n init.logger?.debug(\"@aws-sdk/credential-provider-node - remoteProvider::fromInstanceMetadata\");\n return fromInstanceMetadata(init);\n};\n", | ||
| "export function memoizeChain(providers, treatAsExpired) {\n const chain = internalCreateChain(providers);\n let activeLock;\n let passiveLock;\n let credentials;\n const provider = async (options) => {\n if (options?.forceRefresh) {\n return await chain(options);\n }\n if (credentials?.expiration) {\n if (credentials?.expiration?.getTime() < Date.now()) {\n credentials = undefined;\n }\n }\n if (activeLock) {\n await activeLock;\n }\n else if (!credentials || treatAsExpired?.(credentials)) {\n if (credentials) {\n if (!passiveLock) {\n passiveLock = chain(options)\n .then((c) => {\n credentials = c;\n })\n .finally(() => {\n passiveLock = undefined;\n });\n }\n }\n else {\n activeLock = chain(options)\n .then((c) => {\n credentials = c;\n })\n .finally(() => {\n activeLock = undefined;\n });\n return provider(options);\n }\n }\n return credentials;\n };\n return provider;\n}\nexport const internalCreateChain = (providers) => async (awsIdentityProperties) => {\n let lastProviderError;\n for (const provider of providers) {\n try {\n return await provider(awsIdentityProperties);\n }\n catch (err) {\n lastProviderError = err;\n if (err?.tryNextLink) {\n continue;\n }\n throw err;\n }\n }\n throw lastProviderError;\n};\n", | ||
| "import { defaultProvider } from \"@aws-sdk/credential-provider-node\";\nexport const fromNodeProviderChain = (init = {}) => defaultProvider({\n ...init,\n});\n", | ||
| "import { fromProcess as _fromProcess } from \"@aws-sdk/credential-provider-process\";\nexport const fromProcess = (init) => _fromProcess(init);\n", | ||
| "import { fromSSO as _fromSSO } from \"@aws-sdk/credential-provider-sso\";\nexport const fromSSO = (init = {}) => {\n return _fromSSO({ ...init });\n};\n", | ||
| "import { loadConfig, NODE_REGION_CONFIG_FILE_OPTIONS } from \"@smithy/core/config\";\nimport { fromNodeProviderChain } from \"./fromNodeProviderChain\";\nimport { fromTemporaryCredentials as fromTemporaryCredentialsBase } from \"./fromTemporaryCredentials.base\";\nexport const fromTemporaryCredentials = (options) => {\n return fromTemporaryCredentialsBase(options, fromNodeProviderChain, async ({ profile = process.env.AWS_PROFILE }) => loadConfig({\n environmentVariableSelector: (env) => env.AWS_REGION,\n configFileSelector: (profileData) => {\n return profileData.region;\n },\n default: () => undefined,\n }, { ...NODE_REGION_CONFIG_FILE_OPTIONS, profile })());\n};\n", | ||
| "import { normalizeProvider } from \"@smithy/core\";\nimport { CredentialsProviderError } from \"@smithy/core/config\";\nconst ASSUME_ROLE_DEFAULT_REGION = \"us-east-1\";\nexport const fromTemporaryCredentials = (options, credentialDefaultProvider, regionProvider) => {\n let stsClient;\n return async (awsIdentityProperties = {}) => {\n const { callerClientConfig } = awsIdentityProperties;\n const profile = options.clientConfig?.profile ?? callerClientConfig?.profile;\n const logger = options.logger ?? callerClientConfig?.logger;\n logger?.debug(\"@aws-sdk/credential-providers - fromTemporaryCredentials (STS)\");\n const params = { ...options.params, RoleSessionName: options.params.RoleSessionName ?? \"aws-sdk-js-\" + Date.now() };\n if (params?.SerialNumber) {\n if (!options.mfaCodeProvider) {\n throw new CredentialsProviderError(`Temporary credential requires multi-factor authentication, but no MFA code callback was provided.`, {\n tryNextLink: false,\n logger,\n });\n }\n params.TokenCode = await options.mfaCodeProvider(params?.SerialNumber);\n }\n const { AssumeRoleCommand, STSClient } = await import(\"./loadSts.js\");\n if (!stsClient) {\n const defaultCredentialsOrError = typeof credentialDefaultProvider === \"function\" ? credentialDefaultProvider() : undefined;\n const credentialSources = [\n options.masterCredentials,\n options.clientConfig?.credentials,\n void callerClientConfig?.credentials,\n callerClientConfig?.credentialDefaultProvider?.(),\n defaultCredentialsOrError,\n ];\n let credentialSource = \"STS client default credentials\";\n if (credentialSources[0]) {\n credentialSource = \"options.masterCredentials\";\n }\n else if (credentialSources[1]) {\n credentialSource = \"options.clientConfig.credentials\";\n }\n else if (credentialSources[2]) {\n credentialSource = \"caller client's credentials\";\n throw new Error(\"fromTemporaryCredentials recursion in callerClientConfig.credentials\");\n }\n else if (credentialSources[3]) {\n credentialSource = \"caller client's credentialDefaultProvider\";\n }\n else if (credentialSources[4]) {\n credentialSource = \"AWS SDK default credentials\";\n }\n const regionSources = [\n options.clientConfig?.region,\n callerClientConfig?.region,\n await regionProvider?.({\n profile,\n }),\n ASSUME_ROLE_DEFAULT_REGION,\n ];\n let regionSource = \"default partition's default region\";\n if (regionSources[0]) {\n regionSource = \"options.clientConfig.region\";\n }\n else if (regionSources[1]) {\n regionSource = \"caller client's region\";\n }\n else if (regionSources[2]) {\n regionSource = \"file or env region\";\n }\n const requestHandlerSources = [\n filterRequestHandler(options.clientConfig?.requestHandler),\n filterRequestHandler(callerClientConfig?.requestHandler),\n ];\n let requestHandlerSource = \"STS default requestHandler\";\n if (requestHandlerSources[0]) {\n requestHandlerSource = \"options.clientConfig.requestHandler\";\n }\n else if (requestHandlerSources[1]) {\n requestHandlerSource = \"caller client's requestHandler\";\n }\n logger?.debug?.(`@aws-sdk/credential-providers - fromTemporaryCredentials STS client init with ` +\n `${regionSource}=${await normalizeProvider(coalesce(regionSources))()}, ${credentialSource}, ${requestHandlerSource}.`);\n stsClient = new STSClient({\n userAgentAppId: callerClientConfig?.userAgentAppId,\n ...options.clientConfig,\n credentials: coalesce(credentialSources),\n logger,\n profile,\n region: coalesce(regionSources),\n requestHandler: coalesce(requestHandlerSources),\n });\n }\n if (options.clientPlugins) {\n for (const plugin of options.clientPlugins) {\n stsClient.middlewareStack.use(plugin);\n }\n }\n const { Credentials } = await stsClient.send(new AssumeRoleCommand(params));\n if (!Credentials || !Credentials.AccessKeyId || !Credentials.SecretAccessKey) {\n throw new CredentialsProviderError(`Invalid response from STS.assumeRole call with role ${params.RoleArn}`, {\n logger,\n });\n }\n return {\n accessKeyId: Credentials.AccessKeyId,\n secretAccessKey: Credentials.SecretAccessKey,\n sessionToken: Credentials.SessionToken,\n expiration: Credentials.Expiration,\n credentialScope: Credentials.CredentialScope,\n };\n };\n};\nconst filterRequestHandler = (requestHandler) => {\n return requestHandler?.metadata?.handlerProtocol === \"h2\" ? undefined : requestHandler;\n};\nconst coalesce = (args) => {\n for (const item of args) {\n if (item !== undefined) {\n return item;\n }\n }\n};\n", | ||
| "import { fromTokenFile as _fromTokenFile } from \"@aws-sdk/credential-provider-web-identity\";\nexport const fromTokenFile = (init = {}) => _fromTokenFile({\n ...init,\n});\n", | ||
| "import { fromWebToken as _fromWebToken } from \"@aws-sdk/credential-provider-web-identity\";\nexport const fromWebToken = (init) => _fromWebToken({\n ...init,\n});\n" | ||
| ], | ||
| "mappings": ";4lBAAA,oBACa,QAAwB,SAAI,SAAwB,MAC7D,SAAI,OAAc,QAQZ,OAAc,YAAO,YAPN,MAAO,IAA0B,CAClD,IAAM,EAAc,MAAM,GAAsB,GAAG,CAAmB,EAAE,CAAqB,EAC7F,GAAI,CAAC,EAAY,YAAc,IAAgB,GAC3C,EAAY,WAAa,IAAI,KAAK,KAAK,IAAI,EAAI,CAAW,EAE9D,OAAO,GAEqC,CAC5C,WAAW,CAAC,EAAc,CACtB,GAAI,EAAe,OACf,MAAU,MAAM,uIAAuI,EAG3J,OADA,EAAc,EACP,EAEf,CAAC,EACD,OAAO,GAEE,GAAwB,IAAI,IAAc,MAAO,IAA0B,CACpF,GAAI,EAAU,SAAW,EACrB,MAAM,IAAI,gBAAc,wBAAyB,CAAE,YAAa,EAAM,CAAC,EAE3E,IAAI,EACJ,QAAW,KAAY,EACnB,GAAI,CACA,OAAO,MAAM,EAAS,CAAqB,EAE/C,MAAO,EAAK,CAER,GADA,EAAoB,EAChB,GAAK,YACL,SAEJ,MAAM,EAGd,MAAM,GCtCV,eCAO,SAAS,CAAa,CAAC,EAAQ,CAClC,OAAO,QAAQ,IAAI,OAAO,KAAK,CAAM,EAAE,OAAO,CAAC,EAAK,IAAS,CACzD,IAAM,EAAkB,EAAO,GAC/B,GAAI,OAAO,IAAoB,SAC3B,EAAI,KAAK,CAAC,EAAM,CAAe,CAAC,EAGhC,OAAI,KAAK,EAAgB,EAAE,KAAK,CAAC,IAAU,CAAC,EAAM,CAAK,CAAC,CAAC,EAE7D,OAAO,GACR,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,IAAkB,EAAc,OAAO,CAAC,GAAS,EAAK,KAAW,CAE3E,OADA,EAAO,GAAO,EACP,GACR,CAAC,CAAC,CAAC,EDXH,SAAS,CAAmB,CAAC,EAAY,CAC5C,MAAO,OAAO,IAA0B,CACpC,EAAW,QAAQ,MAAM,qEAAqE,EAC9F,IAAQ,mCAAkC,yBAA0B,KAAa,0CAC3E,EAAc,CAAC,IAAa,EAAW,eAAe,IACxD,EAAW,qBAAqB,IAChC,GAAuB,qBAAqB,IACxC,aAAe,cAAc,GAA0B,EAAW,MAAM,EAAG,aAAY,YAAY,GAAwB,EAAW,MAAM,EAAG,gBAAkB,GAA0B,EAAW,MAAM,GAAO,MAAO,EAAW,QACzO,IAAI,EAAsB,OAAO,OAAO,CAAC,EAAG,EAAW,cAAgB,CAAC,EAAG,CACvE,OAAQ,EAAY,QAAQ,EAC5B,QAAS,EAAY,SAAS,EAC9B,eAAgB,EAAY,gBAAgB,CAChD,CAAC,CAAC,GAAG,KAAK,IAAI,EAAiC,CAC/C,cAAe,EAAW,cAC1B,WAAY,EAAW,WACvB,OAAQ,EAAW,OAAS,MAAM,EAAc,EAAW,MAAM,EAAI,MACzE,CAAC,CAAC,EACF,MAAO,CACH,WAAY,EAAW,WACvB,YAAa,EACb,gBAAiB,EACjB,aAAc,EACd,WAAY,CAChB,GAGR,SAAS,EAAyB,CAAC,EAAQ,CACvC,MAAM,IAAI,2BAAyB,0DAA2D,CAAE,QAAO,CAAC,EAE5G,SAAS,EAAyB,CAAC,EAAQ,CACvC,MAAM,IAAI,2BAAyB,wDAAyD,CAAE,QAAO,CAAC,EAE1G,SAAS,EAAuB,CAAC,EAAQ,CACrC,MAAM,IAAI,2BAAyB,uDAAwD,CAAE,QAAO,CAAC,EEnCzG,eCCO,MAAM,CAAiB,CAC1B,OACA,WAAW,CAAC,EAAS,2BAA4B,CAC7C,KAAK,OAAS,EAElB,OAAO,CAAC,EAAK,CACT,OAAO,KAAK,gBAAgB,WAAY,CAAC,IAAU,CAC/C,IAAM,EAAM,EAAM,IAAI,CAAG,EACzB,OAAO,IAAI,QAAQ,CAAC,IAAY,CAC5B,EAAI,QAAU,IAAM,EAAQ,IAAI,EAChC,EAAI,UAAY,IAAM,EAAQ,EAAI,OAAS,EAAI,OAAO,MAAQ,IAAI,EACrE,EACJ,EAAE,MAAM,IAAM,IAAI,EAEvB,UAAU,CAAC,EAAK,CACZ,OAAO,KAAK,gBAAgB,YAAa,CAAC,IAAU,CAChD,IAAM,EAAM,EAAM,OAAO,CAAG,EAC5B,OAAO,IAAI,QAAQ,CAAC,EAAS,IAAW,CACpC,EAAI,QAAU,IAAM,EAAO,EAAI,KAAK,EACpC,EAAI,UAAY,IAAM,EAAQ,EACjC,EACJ,EAEL,OAAO,CAAC,EAAI,EAAO,CACf,OAAO,KAAK,gBAAgB,YAAa,CAAC,IAAU,CAChD,IAAM,EAAM,EAAM,IAAI,CAAE,KAAI,OAAM,CAAC,EACnC,OAAO,IAAI,QAAQ,CAAC,EAAS,IAAW,CACpC,EAAI,QAAU,IAAM,EAAO,EAAI,KAAK,EACpC,EAAI,UAAY,IAAM,EAAQ,EACjC,EACJ,EAEL,KAAK,EAAG,CACJ,IAAM,EAAgB,KAAK,UAAU,KAAK,KAAK,OAAQ,CAAC,EACxD,OAAO,IAAI,QAAQ,CAAC,EAAS,IAAW,CACpC,EAAc,UAAY,IAAM,CAC5B,EAAQ,EAAc,MAAM,GAEhC,EAAc,QAAU,IAAM,CAC1B,EAAO,EAAc,KAAK,GAE9B,EAAc,UAAY,IAAM,CAC5B,EAAW,MAAM,qBAAqB,CAAC,GAE3C,EAAc,gBAAkB,IAAM,CAClC,IAAM,EAAK,EAAc,OACzB,EAAG,QAAU,IAAM,CACf,EAAW,MAAM,+BAA+B,CAAC,GAErD,EAAG,kBAlDA,cAkD8B,CAAE,QAAS,IAAK,CAAC,GAEzD,EAEL,eAAe,CAAC,EAAM,EAAQ,CAC1B,OAAO,KAAK,MAAM,EAAE,KAAK,CAAC,IAAO,CAC7B,IAAM,EAAK,EAAG,YAxDP,cAwD+B,CAAI,EAE1C,OADA,EAAG,WAAa,IAAM,EAAG,MAAM,EACxB,IAAI,QAAQ,CAAC,EAAS,IAAW,CACpC,EAAG,QAAU,IAAM,EAAO,EAAG,KAAK,EAClC,EAAQ,EAAO,EAAG,YA5Df,aA4DqC,CAAC,CAAC,EAC7C,EAAE,MAAM,CAAC,IAAQ,CAEd,MADA,EAAG,MAAM,EACH,EACT,EACJ,EAET,CCnEO,MAAM,CAAgB,CACzB,MACA,WAAW,CAAC,EAAQ,CAAC,EAAG,CACpB,KAAK,MAAQ,EAEjB,OAAO,CAAC,EAAK,CACT,GAAI,KAAO,KAAK,MACZ,OAAO,KAAK,MAAM,GAEtB,OAAO,KAEX,UAAU,CAAC,EAAK,CACZ,OAAO,KAAK,MAAM,GAEtB,OAAO,CAAC,EAAK,EAAO,CAChB,KAAK,MAAM,GAAO,EAE1B,CCfA,IAAM,GAAkB,IAAI,EACrB,SAAS,CAAY,EAAG,CAC3B,GAAI,OAAO,OAAS,UAAY,KAAK,UACjC,OAAO,IAAI,EAEf,GAAI,OAAO,SAAW,UAAY,OAAO,aACrC,OAAO,OAAO,aAElB,OAAO,GHNJ,SAAS,CAAuB,EAAG,YAAW,QAAQ,EAAa,EAAG,SAAQ,eAAc,gBAAe,iBAAgB,SAAQ,iBAAiB,CAAC,GAAU,OAAO,KAAK,CAAM,EAAE,SAAW,EAAI,YAAc,OAAW,SAAQ,sBAAuB,CAC7P,GAAQ,MAAM,qEAAqE,EACnF,IAAM,EAAW,EACX,oCAAoC,KAAkB,IACtD,OACF,EAAW,MAAO,IAA0B,CAC5C,IAAQ,eAAc,yBAA0B,KAAa,0CACvD,EAAc,CAAC,IAAa,IAAe,IAC7C,IAAqB,IACrB,GAAuB,qBAAqB,GAC1C,EAAU,GACZ,IAAI,EAAsB,OAAO,OAAO,CAAC,EAAG,GAAgB,CAAC,EAAG,CAC5D,OAAQ,EAAY,QAAQ,EAC5B,QAAS,EAAY,SAAS,EAC9B,eAAgB,EAAY,gBAAgB,CAChD,CAAC,CAAC,EACF,EAAc,GAAa,MAAM,EAAM,QAAQ,CAAQ,EAC3D,GAAI,CAAC,EAAY,CACb,IAAQ,aAAa,GAAiB,CAAM,GAAM,MAAM,EAAQ,KAAK,IAAI,EAAa,CAClF,UAAW,EACX,eAAgB,EAChB,OAAQ,EAAS,MAAM,EAAc,CAAM,EAAI,MACnD,CAAC,CAAC,EAEF,GADA,EAAa,EACT,EACA,QAAQ,QAAQ,EAAM,QAAQ,EAAU,CAAU,CAAC,EAAE,MAAM,IAAM,EAAG,EAS5E,OANA,EAAW,EAAoB,CAC3B,OAAQ,EACR,gBACA,SACA,YACJ,CAAC,EACM,EAAS,CAAqB,GAEzC,MAAO,CAAC,IAA0B,EAAS,CAAqB,EAAE,MAAM,MAAO,IAAQ,CACnF,GAAI,EACA,QAAQ,QAAQ,EAAM,WAAW,CAAQ,CAAC,EAAE,MAAM,IAAM,EAAG,EAE/D,MAAM,EACT,EAEL,SAAS,EAAgB,CAAC,EAAQ,CAC9B,MAAM,IAAI,2BAAyB,wDAAyD,CAAE,QAAO,CAAC,EI/CnG,IAAM,GAAsB,CAAC,IAAY,EAAqB,IAC9D,CACP,CAAC,ECFM,IAAM,GAA0B,CAAC,IAAY,EAAyB,IACtE,CACP,CAAC,ECFM,IAAM,GAAwB,CAAC,IAAS,CAE3C,OADA,GAAM,QAAQ,MAAM,mCAAoC,uBAAuB,EACxE,EAAuB,CAAI,GCF/B,IAAM,GAAU,CAAC,IAAS,EAAS,CAAI,ECAvC,IAAM,GAAU,CAAC,EAAO,CAAC,IAAM,EAAS,IACxC,CACP,CAAC,ECHD,gBAEO,IAAM,GAAuB,CAAC,IAAS,CAE1C,OADA,GAAM,QAAQ,MAAM,mCAAoC,sBAAsB,EACvE,SAAY,EAAsB,CAAI,EAAE,EAAE,KAAK,CAAC,IAAU,uBAAqB,EAAO,mBAAoB,GAAG,CAAC,GCHlH,IAAM,GAAuB,CAAC,IAAS,EAAsB,IAC7D,CACP,CAAC,ECFD,eCDA,eACa,EAAoB,4BACpB,EAAiB,MAAO,IAAS,CAC1C,IAAQ,oBAAmB,wBAAuB,wBAAuB,wBAAyB,KAAa,0CAC/G,GAAI,QAAQ,IAAI,IAA0B,QAAQ,IAAI,GAAoB,CACtE,EAAK,QAAQ,MAAM,oFAAoF,EACvG,IAAQ,YAAa,KAAa,0CAClC,OAAO,QAAM,EAAS,CAAI,EAAG,EAAsB,CAAI,CAAC,EAE5D,GAAI,QAAQ,IAAI,IAAsB,QAAQ,IAAI,KAAuB,QACrE,MAAO,UAAY,CACf,MAAM,IAAI,2BAAyB,gDAAiD,CAAE,OAAQ,EAAK,MAAO,CAAC,GAInH,OADA,EAAK,QAAQ,MAAM,0EAA0E,EACtF,EAAqB,CAAI,GCf7B,SAAS,CAAY,CAAC,EAAW,EAAgB,CACpD,IAAM,EAAQ,GAAoB,CAAS,EACvC,EACA,EACA,EACE,EAAW,MAAO,IAAY,CAChC,GAAI,GAAS,aACT,OAAO,MAAM,EAAM,CAAO,EAE9B,GAAI,GAAa,YACb,GAAI,GAAa,YAAY,QAAQ,EAAI,KAAK,IAAI,EAC9C,EAAc,OAGtB,GAAI,EACA,MAAM,EAEL,QAAI,CAAC,GAAe,IAAiB,CAAW,EACjD,GAAI,GACA,GAAI,CAAC,EACD,EAAc,EAAM,CAAO,EACtB,KAAK,CAAC,IAAM,CACb,EAAc,EACjB,EACI,QAAQ,IAAM,CACf,EAAc,OACjB,EAWL,YAPA,EAAa,EAAM,CAAO,EACrB,KAAK,CAAC,IAAM,CACb,EAAc,EACjB,EACI,QAAQ,IAAM,CACf,EAAa,OAChB,EACM,EAAS,CAAO,EAG/B,OAAO,GAEX,OAAO,EAEJ,IAAM,GAAsB,CAAC,IAAc,MAAO,IAA0B,CAC/E,IAAI,EACJ,QAAW,KAAY,EACnB,GAAI,CACA,OAAO,MAAM,EAAS,CAAqB,EAE/C,MAAO,EAAK,CAER,GADA,EAAoB,EAChB,GAAK,YACL,SAEJ,MAAM,EAGd,MAAM,GFtDV,IAAI,EAAyC,GAChC,EAAkB,CAAC,EAAO,CAAC,IAAM,EAAa,CACvD,SAAY,CAER,GADgB,EAAK,SAAW,QAAQ,IAAI,eAC/B,CAET,GADmC,QAAQ,IAAI,IAAY,QAAQ,IAAI,IAEnE,GAAI,CAAC,GACc,EAAK,QAAQ,MAAQ,EAAK,QAAQ,aAAa,OAAS,aACjE,EAAK,OAAO,KAAK,KAAK,EAAK,MAAM,EACjC,QAAQ,MACP;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAQ1B,EACmB,EAAyC,GAGjD,MAAM,IAAI,2BAAyB,iDAAkD,CACjF,OAAQ,EAAK,OACb,YAAa,EACjB,CAAC,EAGL,OADA,EAAK,QAAQ,MAAM,8DAA8D,EAC1E,EAAQ,CAAI,EAAE,GAEzB,MAAO,IAA0B,CAC7B,EAAK,QAAQ,MAAM,8DAA8D,EACjF,IAAQ,cAAa,eAAc,YAAW,cAAa,cAAe,EAC1E,GAAI,CAAC,GAAe,CAAC,GAAgB,CAAC,GAAa,CAAC,GAAe,CAAC,EAChE,MAAM,IAAI,2BAAyB,6EAA8E,CAAE,OAAQ,EAAK,MAAO,CAAC,EAE5I,IAAQ,WAAY,KAAa,0CACjC,OAAO,EAAQ,CAAI,EAAE,CAAqB,GAE9C,MAAO,IAA0B,CAC7B,EAAK,QAAQ,MAAM,8DAA8D,EACjF,IAAQ,WAAY,KAAa,0CACjC,OAAO,EAAQ,CAAI,EAAE,CAAqB,GAE9C,MAAO,IAA0B,CAC7B,EAAK,QAAQ,MAAM,kEAAkE,EACrF,IAAQ,eAAgB,KAAa,0CACrC,OAAO,EAAY,CAAI,EAAE,CAAqB,GAElD,MAAO,IAA0B,CAC7B,EAAK,QAAQ,MAAM,oEAAoE,EACvF,IAAQ,iBAAkB,KAAa,0CACvC,OAAO,EAAc,CAAI,EAAE,CAAqB,GAEpD,SAAY,CAER,OADA,EAAK,QAAQ,MAAM,qEAAqE,GAChF,MAAM,EAAe,CAAI,GAAG,GAExC,SAAY,CACR,MAAM,IAAI,2BAAyB,gDAAiD,CAChF,YAAa,GACb,OAAQ,EAAK,MACjB,CAAC,EAET,EAAG,EAA2B,EAEvB,IAAM,GAA8B,CAAC,IAAgB,GAAa,aAAe,QAAa,EAAY,WAAW,QAAQ,EAAI,KAAK,IAAI,EAAI,OGtE9I,IAAM,EAAwB,CAAC,EAAO,CAAC,IAAM,EAAgB,IAC7D,CACP,CAAC,ECFM,IAAM,GAAc,CAAC,IAAS,EAAa,CAAI,ECA/C,IAAM,GAAU,CAAC,EAAO,CAAC,IAAM,CAClC,OAAO,EAAS,IAAK,CAAK,CAAC,GCF/B,eCAA,gBACA,WACM,GAA6B,YACtB,GAA2B,CAAC,EAAS,EAA2B,IAAmB,CAC5F,IAAI,EACJ,MAAO,OAAO,EAAwB,CAAC,IAAM,CACzC,IAAQ,sBAAuB,EACzB,EAAU,EAAQ,cAAc,SAAW,GAAoB,QAC/D,EAAS,EAAQ,QAAU,GAAoB,OACrD,GAAQ,MAAM,gEAAgE,EAC9E,IAAM,EAAS,IAAK,EAAQ,OAAQ,gBAAiB,EAAQ,OAAO,iBAAmB,cAAgB,KAAK,IAAI,CAAE,EAClH,GAAI,GAAQ,aAAc,CACtB,GAAI,CAAC,EAAQ,gBACT,MAAM,IAAI,2BAAyB,oGAAqG,CACpI,YAAa,GACb,QACJ,CAAC,EAEL,EAAO,UAAY,MAAM,EAAQ,gBAAgB,GAAQ,YAAY,EAEzE,IAAQ,oBAAmB,aAAc,KAAa,0CACtD,GAAI,CAAC,EAAW,CACZ,IAAM,EAA4B,OAAO,IAA8B,WAAa,EAA0B,EAAI,OAC5G,EAAoB,CACtB,EAAQ,kBACR,EAAQ,cAAc,YACtB,KAAK,GAAoB,YACzB,GAAoB,4BAA4B,EAChD,CACJ,EACI,EAAmB,iCACvB,GAAI,EAAkB,GAClB,EAAmB,4BAElB,QAAI,EAAkB,GACvB,EAAmB,mCAElB,QAAI,EAAkB,GAEvB,MADA,EAAmB,8BACT,MAAM,sEAAsE,EAErF,QAAI,EAAkB,GACvB,EAAmB,4CAElB,QAAI,EAAkB,GACvB,EAAmB,8BAEvB,IAAM,EAAgB,CAClB,EAAQ,cAAc,OACtB,GAAoB,OACpB,MAAM,IAAiB,CACnB,SACJ,CAAC,EACD,EACJ,EACI,EAAe,qCACnB,GAAI,EAAc,GACd,EAAe,8BAEd,QAAI,EAAc,GACnB,EAAe,yBAEd,QAAI,EAAc,GACnB,EAAe,qBAEnB,IAAM,EAAwB,CAC1B,EAAqB,EAAQ,cAAc,cAAc,EACzD,EAAqB,GAAoB,cAAc,CAC3D,EACI,EAAuB,6BAC3B,GAAI,EAAsB,GACtB,EAAuB,sCAEtB,QAAI,EAAsB,GAC3B,EAAuB,iCAE3B,GAAQ,QAAQ,iFACT,KAAgB,MAAM,oBAAkB,EAAS,CAAa,CAAC,EAAE,MAAM,MAAqB,IAAuB,EAC1H,EAAY,IAAI,EAAU,CACtB,eAAgB,GAAoB,kBACjC,EAAQ,aACX,YAAa,EAAS,CAAiB,EACvC,SACA,UACA,OAAQ,EAAS,CAAa,EAC9B,eAAgB,EAAS,CAAqB,CAClD,CAAC,EAEL,GAAI,EAAQ,cACR,QAAW,KAAU,EAAQ,cACzB,EAAU,gBAAgB,IAAI,CAAM,EAG5C,IAAQ,eAAgB,MAAM,EAAU,KAAK,IAAI,EAAkB,CAAM,CAAC,EAC1E,GAAI,CAAC,GAAe,CAAC,EAAY,aAAe,CAAC,EAAY,gBACzD,MAAM,IAAI,2BAAyB,uDAAuD,EAAO,UAAW,CACxG,QACJ,CAAC,EAEL,MAAO,CACH,YAAa,EAAY,YACzB,gBAAiB,EAAY,gBAC7B,aAAc,EAAY,aAC1B,WAAY,EAAY,WACxB,gBAAiB,EAAY,eACjC,IAGF,EAAuB,CAAC,IAAmB,CAC7C,OAAO,GAAgB,UAAU,kBAAoB,KAAO,OAAY,GAEtE,EAAW,CAAC,IAAS,CACvB,QAAW,KAAQ,EACf,GAAI,IAAS,OACT,OAAO,GD/GZ,IAAM,GAA2B,CAAC,IAAY,CACjD,OAAO,GAA6B,EAAS,EAAuB,OAAS,UAAU,QAAQ,IAAI,eAAkB,aAAW,CAC5H,4BAA6B,CAAC,IAAQ,EAAI,WAC1C,mBAAoB,CAAC,IAAgB,CACjC,OAAO,EAAY,QAEvB,QAAS,IAAG,CAAG,OACnB,EAAG,IAAK,kCAAiC,SAAQ,CAAC,EAAE,CAAC,GETlD,IAAM,GAAgB,CAAC,EAAO,CAAC,IAAM,GAAe,IACpD,CACP,CAAC,ECFM,IAAM,GAAe,CAAC,IAAS,GAAc,IAC7C,CACP,CAAC", | ||
| "debugId": "AA103990F6E5690164756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "6EB7E1988DA6222F64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "508B8A2EF684408E64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260622142730_simplify_session_context_epoch.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260622142730_simplify_session_context_epoch\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`ALTER TABLE \\`session_context_epoch\\` DROP COLUMN \\`agent\\`;`)\n yield* tx.run(`ALTER TABLE \\`session_context_epoch\\` DROP COLUMN \\`replacement_seq\\`;`)\n yield* tx.run(`ALTER TABLE \\`session_context_epoch\\` DROP COLUMN \\`revision\\`;`)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,gDACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,0DAA8D,EAC5E,MAAO,EAAG,IAAI,oEAAwE,EACtF,MAAO,EAAG,IAAI,6DAAiE,EAChF,EAEL", | ||
| "debugId": "AEF386B2F6FD269564756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260410174513_workspace-name.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260410174513_workspace-name\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`PRAGMA foreign_keys=OFF;`)\n yield* tx.run(`\n CREATE TABLE \\`__new_workspace\\` (\n \\`id\\` text PRIMARY KEY,\n \\`type\\` text NOT NULL,\n \\`name\\` text DEFAULT '' NOT NULL,\n \\`branch\\` text,\n \\`directory\\` text,\n \\`extra\\` text,\n \\`project_id\\` text NOT NULL,\n CONSTRAINT \\`fk_workspace_project_id_project_id_fk\\` FOREIGN KEY (\\`project_id\\`) REFERENCES \\`project\\`(\\`id\\`) ON DELETE CASCADE\n );\n `)\n yield* tx.run(\n `INSERT INTO \\`__new_workspace\\`(\\`id\\`, \\`type\\`, \\`branch\\`, \\`name\\`, \\`directory\\`, \\`extra\\`, \\`project_id\\`) SELECT \\`id\\`, \\`type\\`, \\`branch\\`, \\`name\\`, \\`directory\\`, \\`extra\\`, \\`project_id\\` FROM \\`workspace\\`;`,\n )\n yield* tx.run(`DROP TABLE \\`workspace\\`;`)\n yield* tx.run(`ALTER TABLE \\`__new_workspace\\` RENAME TO \\`workspace\\`;`)\n yield* tx.run(`PRAGMA foreign_keys=ON;`)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,gCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,0BAA0B,EACxC,MAAO,EAAG,IAAI,4aAWb,EACD,MAAO,EAAG,IACR,+LACF,EACA,MAAO,EAAG,IAAI,yBAA2B,EACzC,MAAO,EAAG,IAAI,sDAA0D,EACxE,MAAO,EAAG,IAAI,yBAAyB,EACxC,EAEL", | ||
| "debugId": "5B2D80A41474572864756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260602002951_lowly_union_jack.ts"], | ||
| "sourcesContent": [ | ||
| "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" | ||
| ], | ||
| "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", | ||
| "debugId": "6A4B346DA6E5936564756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260707010146_durable_session_inbox.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260707010146_durable_session_inbox\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`PRAGMA foreign_keys=OFF;`)\n yield* tx.run(`\n CREATE TABLE \\`__new_session_input\\` (\n \\`id\\` text PRIMARY KEY,\n \\`session_id\\` text NOT NULL,\n \\`type\\` text NOT NULL,\n \\`prompt\\` text,\n \\`delivery\\` text,\n \\`admitted_seq\\` integer 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 `INSERT INTO \\`__new_session_input\\`(\\`id\\`, \\`session_id\\`, \\`type\\`, \\`prompt\\`, \\`delivery\\`, \\`admitted_seq\\`, \\`promoted_seq\\`, \\`time_created\\`) SELECT \\`id\\`, \\`session_id\\`, 'prompt', \\`prompt\\`, \\`delivery\\`, \\`admitted_seq\\`, \\`promoted_seq\\`, \\`time_created\\` FROM \\`session_input\\`;`,\n )\n yield* tx.run(`DROP TABLE \\`session_input\\`;`)\n yield* tx.run(`ALTER TABLE \\`__new_session_input\\` RENAME TO \\`session_input\\`;`)\n yield* tx.run(`PRAGMA foreign_keys=ON;`)\n yield* tx.run(`DROP INDEX IF EXISTS \\`session_input_session_pending_delivery_seq_idx\\`;`)\n yield* tx.run(\n `CREATE INDEX \\`session_input_session_pending_type_delivery_seq_idx\\` ON \\`session_input\\` (\\`session_id\\`,\\`promoted_seq\\`,\\`type\\`,\\`delivery\\`,\\`admitted_seq\\`);`,\n )\n yield* tx.run(\n `CREATE UNIQUE INDEX \\`session_input_session_pending_compaction_idx\\` ON \\`session_input\\` (\\`session_id\\`) WHERE \"session_input\".\"type\" = 'compaction' and \"session_input\".\"promoted_seq\" is null;`,\n )\n yield* tx.run(\n `CREATE UNIQUE INDEX \\`session_input_session_admitted_seq_idx\\` ON \\`session_input\\` (\\`session_id\\`,\\`admitted_seq\\`);`,\n )\n yield* tx.run(\n `CREATE UNIQUE INDEX \\`session_input_session_promoted_seq_idx\\` ON \\`session_input\\` (\\`session_id\\`,\\`promoted_seq\\`);`,\n )\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,uCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,0BAA0B,EACxC,MAAO,EAAG,IAAI,yeAYb,EACD,MAAO,EAAG,IACR,qQACF,EACA,MAAO,EAAG,IAAI,6BAA+B,EAC7C,MAAO,EAAG,IAAI,8DAAkE,EAChF,MAAO,EAAG,IAAI,yBAAyB,EACvC,MAAO,EAAG,IAAI,wEAA0E,EACxF,MAAO,EAAG,IACR,uJACF,EACA,MAAO,EAAG,IACR,gMACF,EACA,MAAO,EAAG,IACR,gHACF,EACA,MAAO,EAAG,IACR,gHACF,EACD,EAEL", | ||
| "debugId": "551AE2F80BB30B1064756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260709025533_drop-todo.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260709025533_drop-todo\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`DROP INDEX IF EXISTS \\`todo_session_idx\\`;`)\n yield* tx.run(`DROP TABLE \\`todo\\`;`)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,2BACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,0CAA4C,EAC1D,MAAO,EAAG,IAAI,oBAAsB,EACrC,EAEL", | ||
| "debugId": "C3AB5A288ADA90F964756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["src/commands/handlers/service/restart.ts"], | ||
| "sourcesContent": [ | ||
| "import { EOL } from \"os\"\nimport { Effect } from \"effect\"\nimport { Service } from \"@opencode-ai/client/effect\"\nimport { Commands } from \"../../commands\"\nimport { Runtime } from \"../../../framework/runtime\"\nimport { ServiceConfig } from \"../../../services/service-config\"\n\nexport default Runtime.handler(\n Commands.commands.service.commands.restart,\n Effect.fn(\"cli.service.restart\")(function* () {\n const options = yield* ServiceConfig.options()\n yield* Service.stop(options)\n const transport = yield* Service.start(options)\n process.stdout.write(transport.url + EOL)\n }),\n)\n" | ||
| ], | ||
| "mappings": ";moBAAA,mBAAS,gBAOT,SAAe,SAAQ,aACrB,OAAS,cAAS,aAAQ,cAAS,aACnC,OAAO,QAAG,0BAAqB,OAAE,cAAU,OAAG,CAC5C,IAAM,EAAU,MAAO,EAAc,QAAQ,EAC7C,MAAO,EAAQ,KAAK,CAAO,EAC3B,IAAM,EAAY,MAAO,EAAQ,MAAM,CAAO,EAC9C,QAAQ,OAAO,MAAM,EAAU,IAAM,CAAG,EACzC,CACH", | ||
| "debugId": "19BC29B5A41904BE64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@smithy+node-http-handler@4.7.5/node_modules/@smithy/node-http-handler/dist-cjs/index.js"], | ||
| "sourcesContent": [ | ||
| "'use strict';\n\nvar node_https = require('node:https');\nvar protocols = require('@smithy/core/protocols');\nvar node_stream = require('node:stream');\nvar http2 = require('node:http2');\n\nfunction buildAbortError(abortSignal) {\n const reason = abortSignal && typeof abortSignal === \"object\" && \"reason\" in abortSignal\n ? abortSignal.reason\n : undefined;\n if (reason) {\n if (reason instanceof Error) {\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n abortError.cause = reason;\n return abortError;\n }\n const abortError = new Error(String(reason));\n abortError.name = \"AbortError\";\n return abortError;\n }\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n return abortError;\n}\n\nconst NODEJS_TIMEOUT_ERROR_CODES = [\"ECONNRESET\", \"EPIPE\", \"ETIMEDOUT\"];\n\nconst getTransformedHeaders = (headers) => {\n const transformedHeaders = {};\n for (const name in headers) {\n const headerValues = headers[name];\n transformedHeaders[name] = Array.isArray(headerValues) ? headerValues.join(\",\") : headerValues;\n }\n return transformedHeaders;\n};\n\nconst timing = {\n setTimeout: (cb, ms) => setTimeout(cb, ms),\n clearTimeout: (timeoutId) => clearTimeout(timeoutId),\n};\n\nconst DEFER_EVENT_LISTENER_TIME$2 = 1000;\nconst setConnectionTimeout = (request, reject, timeoutInMs = 0) => {\n if (!timeoutInMs) {\n return -1;\n }\n const registerTimeout = (offset) => {\n const timeoutId = timing.setTimeout(() => {\n request.destroy();\n reject(Object.assign(new Error(`@smithy/node-http-handler - the request socket did not establish a connection with the server within the configured timeout of ${timeoutInMs} ms.`), {\n name: \"TimeoutError\",\n }));\n }, timeoutInMs - offset);\n const doWithSocket = (socket) => {\n if (socket?.connecting) {\n socket.on(\"connect\", () => {\n timing.clearTimeout(timeoutId);\n });\n }\n else {\n timing.clearTimeout(timeoutId);\n }\n };\n if (request.socket) {\n doWithSocket(request.socket);\n }\n else {\n request.on(\"socket\", doWithSocket);\n }\n };\n if (timeoutInMs < 2000) {\n registerTimeout(0);\n return 0;\n }\n return timing.setTimeout(registerTimeout.bind(null, DEFER_EVENT_LISTENER_TIME$2), DEFER_EVENT_LISTENER_TIME$2);\n};\n\nconst setRequestTimeout = (req, reject, timeoutInMs = 0, throwOnRequestTimeout, logger) => {\n if (timeoutInMs) {\n return timing.setTimeout(() => {\n let msg = `@smithy/node-http-handler - [${throwOnRequestTimeout ? \"ERROR\" : \"WARN\"}] a request has exceeded the configured ${timeoutInMs} ms requestTimeout.`;\n if (throwOnRequestTimeout) {\n const error = Object.assign(new Error(msg), {\n name: \"TimeoutError\",\n code: \"ETIMEDOUT\",\n });\n req.destroy(error);\n reject(error);\n }\n else {\n msg += ` Init client requestHandler with throwOnRequestTimeout=true to turn this into an error.`;\n logger?.warn?.(msg);\n }\n }, timeoutInMs);\n }\n return -1;\n};\n\nconst DEFER_EVENT_LISTENER_TIME$1 = 3000;\nconst setSocketKeepAlive = (request, { keepAlive, keepAliveMsecs }, deferTimeMs = DEFER_EVENT_LISTENER_TIME$1) => {\n if (keepAlive !== true) {\n return -1;\n }\n const registerListener = () => {\n if (request.socket) {\n request.socket.setKeepAlive(keepAlive, keepAliveMsecs || 0);\n }\n else {\n request.on(\"socket\", (socket) => {\n socket.setKeepAlive(keepAlive, keepAliveMsecs || 0);\n });\n }\n };\n if (deferTimeMs === 0) {\n registerListener();\n return 0;\n }\n return timing.setTimeout(registerListener, deferTimeMs);\n};\n\nconst DEFER_EVENT_LISTENER_TIME = 3000;\nconst setSocketTimeout = (request, reject, timeoutInMs = 0) => {\n const registerTimeout = (offset) => {\n const timeout = timeoutInMs - offset;\n const onTimeout = () => {\n request.destroy();\n reject(Object.assign(new Error(`@smithy/node-http-handler - the request socket timed out after ${timeoutInMs} ms of inactivity (configured by client requestHandler).`), { name: \"TimeoutError\" }));\n };\n if (request.socket) {\n request.socket.setTimeout(timeout, onTimeout);\n request.on(\"close\", () => request.socket?.removeListener(\"timeout\", onTimeout));\n }\n else {\n request.setTimeout(timeout, onTimeout);\n }\n };\n if (0 < timeoutInMs && timeoutInMs < 6000) {\n registerTimeout(0);\n return 0;\n }\n return timing.setTimeout(registerTimeout.bind(null, timeoutInMs === 0 ? 0 : DEFER_EVENT_LISTENER_TIME), DEFER_EVENT_LISTENER_TIME);\n};\n\nconst MIN_WAIT_TIME = 6_000;\nasync function writeRequestBody(httpRequest, request, maxContinueTimeoutMs = MIN_WAIT_TIME, externalAgent = false) {\n const headers = request.headers;\n const expect = headers ? headers.Expect || headers.expect : undefined;\n let timeoutId = -1;\n let sendBody = true;\n if (!externalAgent && expect === \"100-continue\") {\n sendBody = await Promise.race([\n new Promise((resolve) => {\n timeoutId = Number(timing.setTimeout(() => resolve(true), Math.max(MIN_WAIT_TIME, maxContinueTimeoutMs)));\n }),\n new Promise((resolve) => {\n httpRequest.on(\"continue\", () => {\n timing.clearTimeout(timeoutId);\n resolve(true);\n });\n httpRequest.on(\"response\", () => {\n timing.clearTimeout(timeoutId);\n resolve(false);\n });\n httpRequest.on(\"error\", () => {\n timing.clearTimeout(timeoutId);\n resolve(false);\n });\n }),\n ]);\n }\n if (sendBody) {\n writeBody(httpRequest, request.body);\n }\n}\nfunction writeBody(httpRequest, body) {\n if (body instanceof node_stream.Readable) {\n body.pipe(httpRequest);\n return;\n }\n if (body) {\n const isBuffer = Buffer.isBuffer(body);\n const isString = typeof body === \"string\";\n if (isBuffer || isString) {\n if (isBuffer && body.byteLength === 0) {\n httpRequest.end();\n }\n else {\n httpRequest.end(body);\n }\n return;\n }\n const uint8 = body;\n if (typeof uint8 === \"object\" &&\n uint8.buffer &&\n typeof uint8.byteOffset === \"number\" &&\n typeof uint8.byteLength === \"number\") {\n httpRequest.end(Buffer.from(uint8.buffer, uint8.byteOffset, uint8.byteLength));\n return;\n }\n httpRequest.end(Buffer.from(body));\n return;\n }\n httpRequest.end();\n}\n\nconst DEFAULT_REQUEST_TIMEOUT = 0;\nlet hAgent = undefined;\nlet hRequest = undefined;\nclass NodeHttpHandler {\n config;\n configProvider;\n socketWarningTimestamp = 0;\n externalAgent = false;\n metadata = { handlerProtocol: \"http/1.1\" };\n static create(instanceOrOptions) {\n if (typeof instanceOrOptions?.handle === \"function\") {\n return instanceOrOptions;\n }\n return new NodeHttpHandler(instanceOrOptions);\n }\n static checkSocketUsage(agent, socketWarningTimestamp, logger = console) {\n const { sockets, requests, maxSockets } = agent;\n if (typeof maxSockets !== \"number\" || maxSockets === Infinity) {\n return socketWarningTimestamp;\n }\n const interval = 15_000;\n if (Date.now() - interval < socketWarningTimestamp) {\n return socketWarningTimestamp;\n }\n if (sockets && requests) {\n for (const origin in sockets) {\n const socketsInUse = sockets[origin]?.length ?? 0;\n const requestsEnqueued = requests[origin]?.length ?? 0;\n if (socketsInUse >= maxSockets && requestsEnqueued >= 2 * maxSockets) {\n logger?.warn?.(`@smithy/node-http-handler:WARN - socket usage at capacity=${socketsInUse} and ${requestsEnqueued} additional requests are enqueued.\nSee https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/node-configuring-maxsockets.html\nor increase socketAcquisitionWarningTimeout=(millis) in the NodeHttpHandler config.`);\n return Date.now();\n }\n }\n }\n return socketWarningTimestamp;\n }\n constructor(options) {\n this.configProvider = new Promise((resolve, reject) => {\n if (typeof options === \"function\") {\n options()\n .then((_options) => {\n resolve(this.resolveDefaultConfig(_options));\n })\n .catch(reject);\n }\n else {\n resolve(this.resolveDefaultConfig(options));\n }\n });\n }\n destroy() {\n this.config?.httpAgent?.destroy();\n this.config?.httpsAgent?.destroy();\n }\n async handle(request, { abortSignal, requestTimeout } = {}) {\n if (!this.config) {\n this.config = await this.configProvider;\n }\n const config = this.config;\n const isSSL = request.protocol === \"https:\";\n if (!isSSL && !this.config.httpAgent) {\n this.config.httpAgent = await this.config.httpAgentProvider();\n }\n return new Promise((_resolve, _reject) => {\n let writeRequestBodyPromise = undefined;\n let socketWarningTimeoutId = -1;\n let connectionTimeoutId = -1;\n let requestTimeoutId = -1;\n let socketTimeoutId = -1;\n let keepAliveTimeoutId = -1;\n const clearTimeouts = () => {\n timing.clearTimeout(socketWarningTimeoutId);\n timing.clearTimeout(connectionTimeoutId);\n timing.clearTimeout(requestTimeoutId);\n timing.clearTimeout(socketTimeoutId);\n timing.clearTimeout(keepAliveTimeoutId);\n };\n const resolve = async (arg) => {\n await writeRequestBodyPromise;\n clearTimeouts();\n _resolve(arg);\n };\n const reject = async (arg) => {\n await writeRequestBodyPromise;\n clearTimeouts();\n _reject(arg);\n };\n if (abortSignal?.aborted) {\n const abortError = buildAbortError(abortSignal);\n reject(abortError);\n return;\n }\n const headers = request.headers;\n const expectContinue = headers ? (headers.Expect ?? headers.expect) === \"100-continue\" : false;\n let agent = isSSL ? config.httpsAgent : config.httpAgent;\n if (expectContinue && !this.externalAgent) {\n agent = new (isSSL ? node_https.Agent : hAgent)({\n keepAlive: false,\n maxSockets: Infinity,\n });\n }\n socketWarningTimeoutId = timing.setTimeout(() => {\n this.socketWarningTimestamp = NodeHttpHandler.checkSocketUsage(agent, this.socketWarningTimestamp, config.logger);\n }, config.socketAcquisitionWarningTimeout ?? (config.requestTimeout ?? 2000) + (config.connectionTimeout ?? 1000));\n const queryString = request.query ? protocols.buildQueryString(request.query) : \"\";\n let auth = undefined;\n if (request.username != null || request.password != null) {\n const username = request.username ?? \"\";\n const password = request.password ?? \"\";\n auth = `${username}:${password}`;\n }\n let path = request.path;\n if (queryString) {\n path += `?${queryString}`;\n }\n if (request.fragment) {\n path += `#${request.fragment}`;\n }\n let hostname = request.hostname ?? \"\";\n if (hostname[0] === \"[\" && hostname.endsWith(\"]\")) {\n hostname = request.hostname.slice(1, -1);\n }\n else {\n hostname = request.hostname;\n }\n const nodeHttpsOptions = {\n headers: request.headers,\n host: hostname,\n method: request.method,\n path,\n port: request.port,\n agent,\n auth,\n };\n const requestFunc = isSSL ? node_https.request : hRequest;\n const req = requestFunc(nodeHttpsOptions, (res) => {\n const httpResponse = new protocols.HttpResponse({\n statusCode: res.statusCode || -1,\n reason: res.statusMessage,\n headers: getTransformedHeaders(res.headers),\n body: res,\n });\n resolve({ response: httpResponse });\n });\n req.on(\"error\", (err) => {\n if (NODEJS_TIMEOUT_ERROR_CODES.includes(err.code)) {\n reject(Object.assign(err, { name: \"TimeoutError\" }));\n }\n else {\n reject(err);\n }\n });\n if (abortSignal) {\n const onAbort = () => {\n req.destroy();\n const abortError = buildAbortError(abortSignal);\n reject(abortError);\n };\n if (typeof abortSignal.addEventListener === \"function\") {\n const signal = abortSignal;\n signal.addEventListener(\"abort\", onAbort, { once: true });\n req.once(\"close\", () => signal.removeEventListener(\"abort\", onAbort));\n }\n else {\n abortSignal.onabort = onAbort;\n }\n }\n const effectiveRequestTimeout = requestTimeout ?? config.requestTimeout;\n connectionTimeoutId = setConnectionTimeout(req, reject, config.connectionTimeout);\n requestTimeoutId = setRequestTimeout(req, reject, effectiveRequestTimeout, config.throwOnRequestTimeout, config.logger ?? console);\n socketTimeoutId = setSocketTimeout(req, reject, config.socketTimeout);\n const httpAgent = nodeHttpsOptions.agent;\n if (typeof httpAgent === \"object\" && \"keepAlive\" in httpAgent) {\n keepAliveTimeoutId = setSocketKeepAlive(req, {\n keepAlive: httpAgent.keepAlive,\n keepAliveMsecs: httpAgent.keepAliveMsecs,\n });\n }\n writeRequestBodyPromise = writeRequestBody(req, request, effectiveRequestTimeout, this.externalAgent).catch((e) => {\n clearTimeouts();\n return _reject(e);\n });\n });\n }\n updateHttpClientConfig(key, value) {\n this.config = undefined;\n this.configProvider = this.configProvider.then((config) => {\n return {\n ...config,\n [key]: value,\n };\n });\n }\n httpHandlerConfigs() {\n return this.config ?? {};\n }\n resolveDefaultConfig(options) {\n const { requestTimeout, connectionTimeout, socketTimeout, socketAcquisitionWarningTimeout, httpAgent, httpsAgent, throwOnRequestTimeout, logger, } = options || {};\n const keepAlive = true;\n const maxSockets = 50;\n return {\n connectionTimeout,\n requestTimeout,\n socketTimeout,\n socketAcquisitionWarningTimeout,\n throwOnRequestTimeout,\n httpAgentProvider: async () => {\n const { Agent, request } = await import('node:http');\n hRequest = request;\n hAgent = Agent;\n if (httpAgent instanceof hAgent || typeof httpAgent?.destroy === \"function\") {\n this.externalAgent = true;\n return httpAgent;\n }\n return new hAgent({ keepAlive, maxSockets, ...httpAgent });\n },\n httpsAgent: (() => {\n if (httpsAgent instanceof node_https.Agent || typeof httpsAgent?.destroy === \"function\") {\n this.externalAgent = true;\n return httpsAgent;\n }\n return new node_https.Agent({ keepAlive, maxSockets, ...httpsAgent });\n })(),\n logger,\n };\n }\n}\n\nconst ids = new Uint16Array(1);\nclass ClientHttp2SessionRef {\n id = ids[0]++;\n total = 0;\n max = 0;\n session;\n refs = 0;\n constructor(session) {\n session.unref();\n this.session = session;\n }\n retain() {\n if (this.session.destroyed) {\n throw new Error(\"@smithy/node-http-handler - cannot acquire reference to destroyed session.\");\n }\n this.refs += 1;\n this.total += 1;\n this.max = Math.max(this.refs, this.max);\n this.session.ref();\n }\n free() {\n if (this.session.destroyed) {\n return;\n }\n this.refs -= 1;\n if (this.refs === 0) {\n this.session.unref();\n }\n if (this.refs < 0) {\n throw new Error(\"@smithy/node-http-handler - ClientHttp2Session refcount at zero, cannot decrement.\");\n }\n }\n deref() {\n return this.session;\n }\n close() {\n if (!this.session.closed) {\n this.session.close();\n }\n }\n destroy() {\n this.refs = 0;\n if (!this.session.destroyed) {\n this.session.destroy();\n }\n }\n useCount() {\n return this.refs;\n }\n}\n\nclass NodeHttp2ConnectionPool {\n sessions = [];\n maxConcurrency = 0;\n constructor(sessions) {\n this.sessions = (sessions ?? []).map((session) => new ClientHttp2SessionRef(session));\n }\n poll() {\n let cleanup = false;\n for (const session of this.sessions) {\n if (session.deref().destroyed) {\n cleanup = true;\n continue;\n }\n if (!this.maxConcurrency || session.useCount() < this.maxConcurrency) {\n return session;\n }\n }\n if (cleanup) {\n for (const session of this.sessions) {\n if (session.deref().destroyed) {\n this.remove(session);\n }\n }\n }\n }\n offerLast(ref) {\n this.sessions.push(ref);\n }\n remove(ref) {\n const ix = this.sessions.indexOf(ref);\n if (ix > -1) {\n this.sessions.splice(ix, 1);\n }\n }\n [Symbol.iterator]() {\n return this.sessions[Symbol.iterator]();\n }\n setMaxConcurrency(maxConcurrency) {\n this.maxConcurrency = maxConcurrency;\n }\n destroy(ref) {\n this.remove(ref);\n ref.destroy();\n }\n}\n\nclass NodeHttp2ConnectionManager {\n config;\n connectOptions;\n connectionPools = new Map();\n constructor(config) {\n this.config = config;\n if (this.config.maxConcurrency && this.config.maxConcurrency <= 0) {\n throw new RangeError(\"maxConcurrency must be greater than zero.\");\n }\n }\n lease(requestContext, connectionConfiguration) {\n const url = this.getUrlString(requestContext);\n const pool = this.getPool(url);\n if (!this.config.disableConcurrency && !connectionConfiguration.isEventStream) {\n const available = pool.poll();\n if (available) {\n available.retain();\n return available;\n }\n }\n const ref = new ClientHttp2SessionRef(this.connect(url));\n const session = ref.deref();\n if (this.config.maxConcurrency) {\n session.settings({ maxConcurrentStreams: this.config.maxConcurrency }, (err) => {\n if (err) {\n throw new Error(\"Fail to set maxConcurrentStreams to \" +\n this.config.maxConcurrency +\n \"when creating new session for \" +\n requestContext.destination.toString());\n }\n });\n }\n const graceful = () => {\n this.removeFromPoolAndClose(url, ref);\n };\n const ensureDestroyed = () => {\n this.removeFromPoolAndCheckedDestroy(url, ref);\n };\n session.on(\"goaway\", graceful);\n session.on(\"error\", ensureDestroyed);\n session.on(\"frameError\", ensureDestroyed);\n session.on(\"close\", ensureDestroyed);\n if (connectionConfiguration.requestTimeout) {\n session.setTimeout(connectionConfiguration.requestTimeout, ensureDestroyed);\n }\n pool.offerLast(ref);\n ref.retain();\n return ref;\n }\n release(_requestContext, ref) {\n ref.free();\n }\n createIsolatedSession(requestContext, connectionConfiguration) {\n const url = this.getUrlString(requestContext);\n const ref = new ClientHttp2SessionRef(this.connect(url));\n const session = ref.deref();\n session.settings({ maxConcurrentStreams: 1 });\n const ensureDestroyed = () => {\n ref.destroy();\n };\n session.on(\"error\", ensureDestroyed);\n session.on(\"frameError\", ensureDestroyed);\n session.on(\"close\", ensureDestroyed);\n if (connectionConfiguration.requestTimeout) {\n session.setTimeout(connectionConfiguration.requestTimeout, ensureDestroyed);\n }\n ref.retain();\n return ref;\n }\n destroy() {\n for (const [url, connectionPool] of this.connectionPools) {\n for (const session of [...connectionPool]) {\n session.destroy();\n }\n this.connectionPools.delete(url);\n }\n }\n setMaxConcurrentStreams(maxConcurrentStreams) {\n if (maxConcurrentStreams && maxConcurrentStreams <= 0) {\n throw new RangeError(\"maxConcurrentStreams must be greater than zero.\");\n }\n this.config.maxConcurrency = maxConcurrentStreams;\n for (const pool of this.connectionPools.values()) {\n pool.setMaxConcurrency(maxConcurrentStreams);\n }\n }\n setDisableConcurrentStreams(disableConcurrentStreams) {\n this.config.disableConcurrency = disableConcurrentStreams;\n }\n setNodeHttp2ConnectOptions(nodeHttp2ConnectOptions) {\n this.connectOptions = nodeHttp2ConnectOptions;\n }\n debug() {\n const pools = {};\n for (const [url, pool] of this.connectionPools) {\n const sessions = [];\n for (const ref of pool) {\n sessions.push({\n id: ref.id,\n active: ref.useCount(),\n maxConcurrent: ref.max,\n totalRequests: ref.total,\n });\n }\n pools[url] = { sessions };\n }\n return pools;\n }\n removeFromPoolAndClose(authority, ref) {\n this.connectionPools.get(authority)?.remove(ref);\n ref.close();\n }\n removeFromPoolAndCheckedDestroy(authority, ref) {\n this.connectionPools.get(authority)?.remove(ref);\n ref.destroy();\n }\n getPool(url) {\n if (!this.connectionPools.has(url)) {\n const pool = new NodeHttp2ConnectionPool();\n if (this.config.maxConcurrency) {\n pool.setMaxConcurrency(this.config.maxConcurrency);\n }\n this.connectionPools.set(url, pool);\n }\n return this.connectionPools.get(url);\n }\n getUrlString(request) {\n return request.destination.toString();\n }\n connect(url) {\n return this.connectOptions === undefined ? http2.connect(url) : http2.connect(url, this.connectOptions);\n }\n}\n\nclass NodeHttp2Handler {\n config;\n configProvider;\n metadata = { handlerProtocol: \"h2\" };\n connectionManager = new NodeHttp2ConnectionManager({});\n static create(instanceOrOptions) {\n if (typeof instanceOrOptions?.handle === \"function\") {\n return instanceOrOptions;\n }\n return new NodeHttp2Handler(instanceOrOptions);\n }\n constructor(options) {\n this.configProvider = new Promise((resolve, reject) => {\n if (typeof options === \"function\") {\n options()\n .then((opts) => {\n resolve(opts || {});\n })\n .catch(reject);\n }\n else {\n resolve(options || {});\n }\n });\n }\n destroy() {\n this.connectionManager.destroy();\n }\n async handle(request, { abortSignal, requestTimeout, isEventStream } = {}) {\n if (!this.config) {\n this.config = await this.configProvider;\n const { disableConcurrentStreams, maxConcurrentStreams, nodeHttp2ConnectOptions } = this.config;\n this.connectionManager.setDisableConcurrentStreams(disableConcurrentStreams ?? false);\n if (maxConcurrentStreams) {\n this.connectionManager.setMaxConcurrentStreams(maxConcurrentStreams);\n }\n if (nodeHttp2ConnectOptions) {\n this.connectionManager.setNodeHttp2ConnectOptions(nodeHttp2ConnectOptions);\n }\n }\n const { requestTimeout: configRequestTimeout, disableConcurrentStreams } = this.config;\n const useIsolatedSession = disableConcurrentStreams || isEventStream;\n const effectiveRequestTimeout = requestTimeout ?? configRequestTimeout;\n return new Promise((_resolve, _reject) => {\n let fulfilled = false;\n let writeRequestBodyPromise = undefined;\n const resolve = async (arg) => {\n await writeRequestBodyPromise;\n _resolve(arg);\n };\n const reject = async (arg) => {\n await writeRequestBodyPromise;\n _reject(arg);\n };\n if (abortSignal?.aborted) {\n fulfilled = true;\n const abortError = buildAbortError(abortSignal);\n reject(abortError);\n return;\n }\n const { hostname, method, port, protocol, query } = request;\n let auth = \"\";\n if (request.username != null || request.password != null) {\n const username = request.username ?? \"\";\n const password = request.password ?? \"\";\n auth = `${username}:${password}@`;\n }\n const authority = `${protocol}//${auth}${hostname}${port ? `:${port}` : \"\"}`;\n const requestContext = { destination: new URL(authority) };\n const connectConfig = {\n requestTimeout: this.config?.sessionTimeout,\n isEventStream,\n };\n const ref = useIsolatedSession\n ? this.connectionManager.createIsolatedSession(requestContext, connectConfig)\n : this.connectionManager.lease(requestContext, connectConfig);\n const session = ref.deref();\n const rejectWithDestroy = (err) => {\n if (useIsolatedSession) {\n ref.destroy();\n }\n fulfilled = true;\n reject(err);\n };\n const queryString = query ? protocols.buildQueryString(query) : \"\";\n let path = request.path;\n if (queryString) {\n path += `?${queryString}`;\n }\n if (request.fragment) {\n path += `#${request.fragment}`;\n }\n const clientHttp2Stream = session.request({\n ...request.headers,\n [http2.constants.HTTP2_HEADER_PATH]: path,\n [http2.constants.HTTP2_HEADER_METHOD]: method,\n });\n if (effectiveRequestTimeout) {\n clientHttp2Stream.setTimeout(effectiveRequestTimeout, () => {\n clientHttp2Stream.close();\n const timeoutError = new Error(`Stream timed out because of no activity for ${effectiveRequestTimeout} ms`);\n timeoutError.name = \"TimeoutError\";\n rejectWithDestroy(timeoutError);\n });\n }\n if (abortSignal) {\n const onAbort = () => {\n clientHttp2Stream.close();\n const abortError = buildAbortError(abortSignal);\n rejectWithDestroy(abortError);\n };\n if (typeof abortSignal.addEventListener === \"function\") {\n const signal = abortSignal;\n signal.addEventListener(\"abort\", onAbort, { once: true });\n clientHttp2Stream.once(\"close\", () => signal.removeEventListener(\"abort\", onAbort));\n }\n else {\n abortSignal.onabort = onAbort;\n }\n }\n clientHttp2Stream.on(\"frameError\", (type, code, id) => {\n rejectWithDestroy(new Error(`Frame type id ${type} in stream id ${id} has failed with code ${code}.`));\n });\n clientHttp2Stream.on(\"error\", rejectWithDestroy);\n clientHttp2Stream.on(\"aborted\", () => {\n rejectWithDestroy(new Error(`HTTP/2 stream is abnormally aborted in mid-communication with result code ${clientHttp2Stream.rstCode}.`));\n });\n clientHttp2Stream.on(\"response\", (headers) => {\n const httpResponse = new protocols.HttpResponse({\n statusCode: headers[\":status\"] ?? -1,\n headers: getTransformedHeaders(headers),\n body: clientHttp2Stream,\n });\n fulfilled = true;\n resolve({ response: httpResponse });\n if (useIsolatedSession) {\n session.close();\n }\n });\n clientHttp2Stream.on(\"close\", () => {\n if (useIsolatedSession) {\n ref.destroy();\n }\n else {\n this.connectionManager.release(requestContext, ref);\n }\n if (!fulfilled) {\n rejectWithDestroy(new Error(\"Unexpected error: http2 request did not get a response\"));\n }\n });\n writeRequestBodyPromise = writeRequestBody(clientHttp2Stream, request, effectiveRequestTimeout);\n });\n }\n updateHttpClientConfig(key, value) {\n this.config = undefined;\n this.configProvider = this.configProvider.then((config) => {\n return {\n ...config,\n [key]: value,\n };\n });\n }\n httpHandlerConfigs() {\n return this.config ?? {};\n }\n}\n\nclass Collector extends node_stream.Writable {\n bufferedBytes = [];\n _write(chunk, encoding, callback) {\n this.bufferedBytes.push(chunk);\n callback();\n }\n}\n\nconst streamCollector = (stream) => {\n if (isReadableStreamInstance(stream)) {\n return collectReadableStream(stream);\n }\n return new Promise((resolve, reject) => {\n const collector = new Collector();\n stream.pipe(collector);\n stream.on(\"error\", (err) => {\n collector.end();\n reject(err);\n });\n collector.on(\"error\", reject);\n collector.on(\"finish\", function () {\n const bytes = new Uint8Array(Buffer.concat(this.bufferedBytes));\n resolve(bytes);\n });\n });\n};\nconst isReadableStreamInstance = (stream) => typeof ReadableStream === \"function\" && stream instanceof ReadableStream;\nasync function collectReadableStream(stream) {\n const chunks = [];\n const reader = stream.getReader();\n let isDone = false;\n let length = 0;\n while (!isDone) {\n const { done, value } = await reader.read();\n if (value) {\n chunks.push(value);\n length += value.length;\n }\n isDone = done;\n }\n const collected = new Uint8Array(length);\n let offset = 0;\n for (const chunk of chunks) {\n collected.set(chunk, offset);\n offset += chunk.length;\n }\n return collected;\n}\n\nexports.DEFAULT_REQUEST_TIMEOUT = DEFAULT_REQUEST_TIMEOUT;\nexports.NodeHttp2Handler = NodeHttp2Handler;\nexports.NodeHttpHandler = NodeHttpHandler;\nexports.streamCollector = streamCollector;\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "EAD79E2D544B6C5B64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../tui/src/editor.ts", "../tui/src/editor-zed.ts"], | ||
| "sourcesContent": [ | ||
| "import type { CliRenderer } from \"@opentui/core\"\nimport { existsSync, readdirSync, readFileSync, statSync } from \"node:fs\"\nimport { readFile, rm, writeFile } from \"node:fs/promises\"\nimport os from \"node:os\"\nimport path from \"node:path\"\nimport { spawn } from \"node:child_process\"\nimport type { Stream } from \"node:stream\"\nimport { resolveZedDbPath, resolveZedSelection } from \"./editor-zed\"\n\nexport { normalizePromptContent } from \"./prompt/content\"\n\ntype EditorStdio = \"inherit\" | \"pipe\" | \"ignore\" | number | Stream\n\nexport async function openEditor(input: { value: string; renderer: CliRenderer; cwd?: string; stdin?: EditorStdio }) {\n const editor = process.env.VISUAL || process.env.EDITOR\n if (!editor) return\n const file = path.join(os.tmpdir(), `${Date.now()}.md`)\n await writeFile(file, input.value)\n input.renderer.suspend()\n input.renderer.currentRenderBuffer.clear()\n try {\n await new Promise<void>((resolve, reject) => {\n const parts = editor.split(\" \")\n const child = spawn(parts[0]!, [...parts.slice(1), file], {\n cwd: input.cwd && existsSync(input.cwd) ? input.cwd : process.cwd(),\n stdio: [input.stdin ?? \"inherit\", \"inherit\", \"inherit\"],\n shell: process.platform === \"win32\",\n })\n child.on(\"error\", reject)\n child.on(\"exit\", (code, signal) => {\n if (code === 0) return resolve()\n reject(new Error(`Editor exited with ${signal ? `signal ${signal}` : `code ${code}`}`))\n })\n })\n return (await readFile(file, \"utf8\")) || undefined\n } finally {\n await rm(file, { force: true }).catch(() => {})\n input.renderer.currentRenderBuffer.clear()\n input.renderer.resume()\n input.renderer.requestRender()\n }\n}\n\nexport function discoverEditorConnection(directory: string) {\n const root = path.join(os.homedir(), \".claude\", \"ide\")\n const contains = (parent: string) => {\n const resolved = path.resolve(parent)\n const relative = path.relative(resolved, path.resolve(directory))\n return relative === \"\" || (!relative.startsWith(\"..\") && !path.isAbsolute(relative)) ? resolved.length : 0\n }\n try {\n return readdirSync(root)\n .filter((entry) => entry.endsWith(\".lock\"))\n .flatMap((entry) => {\n const file = path.join(root, entry)\n const port = Number.parseInt(path.basename(file, \".lock\"), 10)\n if (!Number.isInteger(port) || port <= 0 || port > 65535) return []\n try {\n const value = JSON.parse(readFileSync(file, \"utf8\")) as Record<string, unknown>\n if (value.transport !== undefined && value.transport !== \"ws\") return []\n const folders = Array.isArray(value.workspaceFolders)\n ? value.workspaceFolders.filter((item): item is string => typeof item === \"string\")\n : []\n const score = Math.max(0, ...folders.map(contains))\n if (!score) return []\n return [\n {\n url: `ws://127.0.0.1:${port}`,\n authToken: typeof value.authToken === \"string\" ? value.authToken : undefined,\n source: `lock:${port}`,\n score,\n mtime: statSync(file).mtimeMs,\n },\n ]\n } catch {\n return []\n }\n })\n .sort((left, right) => right.score - left.score || right.mtime - left.mtime)\n .map(({ url, authToken, source }) => ({ url, authToken, source }))[0]\n } catch {\n return undefined\n }\n}\n\nexport const editorIntegration = {\n connection: discoverEditorConnection,\n selection: (directory: string) => resolveZedSelection(resolveZedDbPath() ?? \"\", directory),\n}\n", | ||
| "import { Database } from \"bun:sqlite\"\nimport { statSync } from \"node:fs\"\nimport { readFile as readFileAsync } from \"node:fs/promises\"\nimport os from \"node:os\"\nimport path from \"node:path\"\nimport { Option, Schema } from \"effect\"\nimport type { EditorSelection } from \"./context/editor\"\n\nconst ZedEditorRowSchema = Schema.Struct({\n item_kind: Schema.String,\n editor_id: Schema.NullOr(Schema.Number),\n workspace_id: Schema.Number,\n workspace_paths: Schema.NullOr(Schema.String),\n timestamp: Schema.String,\n buffer_path: Schema.NullOr(Schema.String),\n})\n\nconst ZedSelectionRowSchema = Schema.Struct({\n selection_start: Schema.NullOr(Schema.Number),\n selection_end: Schema.NullOr(Schema.Number),\n})\n\nconst ZedEditorContentsSchema = Schema.Struct({\n contents: Schema.NullOr(Schema.String),\n})\n\nconst decodeZedEditorRow = Schema.decodeUnknownOption(ZedEditorRowSchema)\nconst decodeZedSelectionRow = Schema.decodeUnknownOption(ZedSelectionRowSchema)\nconst decodeZedEditorContents = Schema.decodeUnknownOption(ZedEditorContentsSchema)\n\nconst utf8 = new TextEncoder()\n\ntype ZedEditorRow = Schema.Schema.Type<typeof ZedEditorRowSchema>\ntype ZedActiveEditorRow = ZedEditorRow & { item_kind: \"Editor\"; editor_id: number }\n\nexport type ZedSelectionResult =\n | { type: \"selection\"; selection: EditorSelection }\n | { type: \"empty\" }\n | { type: \"unavailable\" }\n\nexport async function resolveZedSelection(dbPath: string, cwd = process.cwd()): Promise<ZedSelectionResult> {\n const active = queryZedActiveEditor(dbPath, cwd)\n if (active.type !== \"row\") return active\n\n const row = active.row\n if (!row.buffer_path) return { type: \"empty\" }\n\n const selections = queryZedEditorSelections(dbPath, row)\n if (selections.type !== \"selections\") return selections\n const byteRanges = selections.selections\n .flatMap((selection) => {\n if (selection.selection_start == null || selection.selection_end == null) return []\n return [\n {\n start: Math.min(selection.selection_start, selection.selection_end),\n end: Math.max(selection.selection_start, selection.selection_end),\n },\n ]\n })\n .sort((left, right) => left.start - right.start || left.end - right.end)\n if (byteRanges.length === 0) return { type: \"unavailable\" }\n\n const contents = queryZedEditorContents(dbPath, row)\n const text =\n contents.type === \"contents\" && contents.contents != null\n ? contents.contents\n : await readFileAsync(row.buffer_path, \"utf8\").catch(() => undefined)\n if (text == null) return { type: \"unavailable\" }\n\n const ranges = byteRanges.map((range) => {\n const startOffset = utf8ByteOffsetToStringIndex(text, range.start)\n const endOffset = utf8ByteOffsetToStringIndex(text, range.end)\n return {\n text: text.slice(startOffset, endOffset),\n selection: offsetsToSelection(text, startOffset, endOffset),\n }\n })\n\n return {\n type: \"selection\",\n selection: {\n filePath: row.buffer_path,\n source: \"zed\",\n ranges,\n },\n }\n}\n\nfunction queryZedActiveEditor(dbPath: string, cwd: string) {\n let db: Database | undefined\n try {\n db = new Database(dbPath, { readonly: true })\n const raw = db\n .query(\n `select\n i.kind as item_kind,\n e.item_id as editor_id,\n i.workspace_id as workspace_id,\n w.paths as workspace_paths,\n w.timestamp as timestamp,\n e.buffer_path as buffer_path\n from items i\n join panes p on p.pane_id = i.pane_id and p.workspace_id = i.workspace_id\n join workspaces w on w.workspace_id = i.workspace_id\n left join editors e on e.item_id = i.item_id and e.workspace_id = i.workspace_id\n where i.active = 1 and p.active = 1\n order by w.timestamp desc`,\n )\n .all()\n\n const rows = raw.flatMap((row) => {\n const parsed = decodeZedEditorRow(row)\n return Option.isSome(parsed) ? [parsed.value] : []\n })\n\n if (raw.length > 0 && rows.length === 0) return { type: \"unavailable\" as const }\n\n const row = rows\n .map((row) => ({ row, score: scoreZedWorkspace(row.workspace_paths, cwd) }))\n .filter((entry) => entry.score > 0)\n .sort((left, right) => right.score - left.score || right.row.timestamp.localeCompare(left.row.timestamp))[0]?.row\n if (!row) return { type: \"empty\" as const }\n if (row.item_kind !== \"Editor\") return { type: \"unavailable\" as const }\n if (!isZedActiveEditorRow(row)) return { type: \"empty\" as const }\n return { type: \"row\" as const, row }\n } catch {\n return { type: \"unavailable\" as const }\n } finally {\n db?.close()\n }\n}\n\nfunction queryZedEditorSelections(dbPath: string, row: ZedActiveEditorRow) {\n let db: Database | undefined\n try {\n db = new Database(dbPath, { readonly: true })\n const raw = db\n .query(\n `select\n start as selection_start,\n end as selection_end\n from editor_selections\n where editor_id = $editorID and workspace_id = $workspaceID`,\n )\n .all({ $editorID: row.editor_id, $workspaceID: row.workspace_id })\n\n const selections = raw.flatMap((selection) => {\n const parsed = decodeZedSelectionRow(selection)\n return Option.isSome(parsed) ? [parsed.value] : []\n })\n\n if (raw.length > 0 && selections.length === 0) return { type: \"unavailable\" as const }\n return { type: \"selections\" as const, selections }\n } catch {\n return { type: \"unavailable\" as const }\n } finally {\n db?.close()\n }\n}\n\nfunction queryZedEditorContents(dbPath: string, row: ZedActiveEditorRow) {\n let db: Database | undefined\n try {\n db = new Database(dbPath, { readonly: true })\n const parsed = decodeZedEditorContents(\n db\n .query(\n `select contents\n from editors\n where item_id = $editorID and workspace_id = $workspaceID`,\n )\n .get({ $editorID: row.editor_id, $workspaceID: row.workspace_id }),\n )\n if (Option.isNone(parsed)) return { type: \"unavailable\" as const }\n return { type: \"contents\" as const, contents: parsed.value.contents }\n } catch {\n return { type: \"unavailable\" as const }\n } finally {\n db?.close()\n }\n}\n\nfunction isZedActiveEditorRow(row: ZedEditorRow): row is ZedActiveEditorRow {\n return row.item_kind === \"Editor\" && row.editor_id != null\n}\n\nexport function resolveZedDbPath() {\n const candidates = [\n process.env.OPENCODE_ZED_DB,\n path.join(os.homedir(), \"Library\", \"Application Support\", \"Zed\", \"db\", \"0-stable\", \"db.sqlite\"),\n path.join(os.homedir(), \".local\", \"share\", \"zed\", \"db\", \"0-stable\", \"db.sqlite\"),\n ].filter((item): item is string => Boolean(item))\n\n return candidates.find((item) => isFile(item))\n}\n\nexport function isZedTerminal() {\n return process.env.ZED_TERM === \"true\" || process.env.TERM_PROGRAM?.toLowerCase() === \"zed\"\n}\n\nfunction isFile(item: string) {\n try {\n return statSync(item).isFile()\n } catch {\n return false\n }\n}\n\nfunction scoreZedWorkspace(workspacePaths: string | null, cwd: string) {\n return zedWorkspacePaths(workspacePaths).reduce((score, item) => {\n if (pathContains(item, cwd)) return Math.max(score, path.resolve(item).length)\n return score\n }, 0)\n}\n\nfunction zedWorkspacePaths(value: string | null) {\n if (!value) return []\n const parsed = parseJson(value)\n if (Array.isArray(parsed)) return parsed.filter((item): item is string => typeof item === \"string\")\n return value.split(/\\r?\\n/).filter(Boolean)\n}\n\nexport function offsetToPosition(text: string, offset: number) {\n const stringOffset = utf8ByteOffsetToStringIndex(text, offset)\n return offsetsToSelection(text, stringOffset, stringOffset).start\n}\n\nfunction utf8ByteOffsetToStringIndex(text: string, byteOffset: number) {\n if (byteOffset <= 0) return 0\n\n let bytes = 0\n for (let index = 0; index < text.length; ) {\n const codePoint = text.codePointAt(index)\n if (codePoint === undefined) return text.length\n\n const nextIndex = index + (codePoint > 0xffff ? 2 : 1)\n bytes += utf8.encode(text.slice(index, nextIndex)).length\n if (bytes >= byteOffset) return nextIndex\n index = nextIndex\n }\n\n return text.length\n}\n\nfunction offsetsToSelection(text: string, startOffset: number, endOffset: number) {\n const start = Math.max(0, Math.min(startOffset, text.length))\n const end = Math.max(0, Math.min(endOffset, text.length))\n let line = 1\n let lineStart = 0\n let startPosition = position(line, lineStart, start)\n let endPosition = position(line, lineStart, end)\n\n for (let index = 0; index <= end; index++) {\n if (index === start) startPosition = position(line, lineStart, index)\n if (index === end) {\n endPosition = position(line, lineStart, index)\n break\n }\n if (text[index] === \"\\n\") {\n line += 1\n lineStart = index + 1\n }\n }\n\n return { start: startPosition, end: endPosition }\n}\n\nfunction position(line: number, lineStart: number, offset: number) {\n return {\n line,\n character: offset - lineStart + 1,\n }\n}\n\nfunction pathContains(parent: string, child: string) {\n const relative = path.relative(path.resolve(parent), path.resolve(child))\n return relative === \"\" || (!relative.startsWith(\"..\") && !path.isAbsolute(relative))\n}\n\nfunction parseJson(value: string) {\n try {\n return JSON.parse(value) as unknown\n } catch {\n return\n }\n}\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "F1A9F4241820E15164756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["src/commands/handlers/run.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect, Option } from \"effect\"\nimport { Commands } from \"../commands\"\nimport { Runtime } from \"../../framework/runtime\"\nimport { Server } from \"../../services/server\"\n\nexport default Runtime.handler(Commands.commands.run, (input) =>\n Effect.gen(function* () {\n const { runNonInteractive } = yield* Effect.promise(() => import(\"../../mini\"))\n const separator = process.argv.indexOf(\"--\", 2)\n const server = yield* Server.resolve({\n server: Option.getOrUndefined(input.server),\n standalone: input.standalone,\n })\n yield* Effect.promise(() =>\n runNonInteractive({\n server,\n message: [...input.message, ...(separator === -1 ? [] : process.argv.slice(separator + 1))],\n continue: input.continue,\n session: Option.getOrUndefined(input.session),\n fork: input.fork,\n model: Option.getOrUndefined(input.model),\n agent: Option.getOrUndefined(input.agent),\n format: input.format,\n file: [...input.file],\n title: Option.getOrUndefined(input.title),\n thinking: input.thinking,\n auto: input.auto || input.yolo,\n }),\n )\n }),\n)\n" | ||
| ], | ||
| "mappings": ";okCAKA,SAAe,SAAQ,aAAQ,OAAS,cAAS,SAAK,MAAC,SACrD,OAAO,SAAI,cAAU,OAAG,MACtB,SAAQ,0BAAsB,WAAO,OAAO,aAAQ,SAAa,wCAAa,OACxE,OAAY,aAAQ,UAAK,aAAQ,UAAM,MAAC,OACxC,OAAS,WAAO,EAAO,QAAQ,CACnC,OAAQ,EAAO,eAAe,EAAM,MAAM,EAC1C,WAAY,EAAM,UACpB,CAAC,EACD,MAAO,EAAO,QAAQ,IACpB,EAAkB,CAChB,SACA,QAAS,CAAC,GAAG,EAAM,QAAS,GAAI,IAAc,GAAK,CAAC,EAAI,QAAQ,KAAK,MAAM,EAAY,CAAC,CAAE,EAC1F,SAAU,EAAM,SAChB,QAAS,EAAO,eAAe,EAAM,OAAO,EAC5C,KAAM,EAAM,KACZ,MAAO,EAAO,eAAe,EAAM,KAAK,EACxC,MAAO,EAAO,eAAe,EAAM,KAAK,EACxC,OAAQ,EAAM,OACd,KAAM,CAAC,GAAG,EAAM,IAAI,EACpB,MAAO,EAAO,eAAe,EAAM,KAAK,EACxC,SAAU,EAAM,SAChB,KAAM,EAAM,MAAQ,EAAM,IAC5B,CAAC,CACH,EACD,CACH", | ||
| "debugId": "431E37424A4F819B64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@opentui+keymap@0.4.3+aeceedea454d57be/node_modules/@opentui/keymap/src/extras/index.js", "../tui/src/config/keybind.ts", "../tui/src/config/index.tsx"], | ||
| "sourcesContent": [ | ||
| "// @bun\nimport\"../../chunks/index-p35cyhc4.js\";\n\n// src/extras/binding-lookup.ts\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar EMPTY_BINDINGS = Object.freeze([]);\nfunction isObject(value) {\n return !!value && typeof value === \"object\" && !Array.isArray(value);\n}\nfunction isKeyLike(value) {\n return typeof value === \"string\" || isObject(value);\n}\nfunction cloneKeyLike(key) {\n if (typeof key === \"string\") {\n return key;\n }\n return { ...key };\n}\nfunction normalizeCommand(command) {\n if (command.length === 0) {\n throw new Error(\"Invalid binding command: command cannot be empty\");\n }\n return command;\n}\nfunction mapCommand(command, commandMap) {\n const configCommand = normalizeCommand(command);\n if (!commandMap || !hasOwn.call(commandMap, configCommand)) {\n return configCommand;\n }\n const mappedCommand = commandMap[configCommand];\n if (typeof mappedCommand !== \"string\") {\n throw new Error(`Invalid binding command map entry for \"${configCommand}\": expected a command string`);\n }\n if (mappedCommand.length === 0) {\n throw new Error(`Invalid binding command map entry for \"${configCommand}\": command cannot be empty`);\n }\n return mappedCommand;\n}\nfunction invalidBindingValue(command, index) {\n const location = index === undefined ? `\"${command}\"` : `\"${command}\" at index ${index}`;\n return new Error(`Invalid binding value for ${location}: expected false, a key, a binding object, or an array of keys/binding objects`);\n}\nfunction resolveBindingItem(command, item, index) {\n if (!isKeyLike(item)) {\n throw invalidBindingValue(command, index);\n }\n if (typeof item === \"string\" || !(\"key\" in item)) {\n return {\n key: cloneKeyLike(item),\n cmd: command\n };\n }\n const key = item.key;\n if (!isKeyLike(key)) {\n throw invalidBindingValue(command, index);\n }\n return {\n ...item,\n key: cloneKeyLike(key),\n cmd: command\n };\n}\nfunction resolveBindingValue(command, value, bindingDefaults) {\n if (value === false || value === \"none\") {\n return;\n }\n if (Array.isArray(value)) {\n if (value.length === 0) {\n return;\n }\n const items = value;\n const bindings = new Array(items.length);\n for (let index = 0;index < items.length; index += 1) {\n const binding2 = resolveBindingItem(command, items[index], index);\n bindings[index] = bindingDefaults ? withBindingDefaults(command, binding2, bindingDefaults) : binding2;\n }\n return bindings;\n }\n const binding = resolveBindingItem(command, value);\n return [bindingDefaults ? withBindingDefaults(command, binding, bindingDefaults) : binding];\n}\nfunction withBindingDefaults(command, binding, bindingDefaults) {\n const defaults = bindingDefaults?.({ command, binding });\n if (!defaults)\n return binding;\n return { ...defaults, ...binding };\n}\nfunction flattenBindings(byCommand) {\n let bindingCount = 0;\n for (const bindings of byCommand.values()) {\n bindingCount += bindings.length;\n }\n const result = new Array(bindingCount);\n let bindingIndex = 0;\n for (const bindings of byCommand.values()) {\n for (let index = 0;index < bindings.length; index += 1) {\n result[bindingIndex] = bindings[index];\n bindingIndex += 1;\n }\n }\n return result;\n}\nfunction normalizeBindings(config, commandMap, bindingDefaults) {\n const byCommand = new Map;\n for (const rawCommand in config) {\n if (!hasOwn.call(config, rawCommand)) {\n continue;\n }\n const command = mapCommand(rawCommand, commandMap);\n const commandBindings = resolveBindingValue(command, config[rawCommand], bindingDefaults);\n if (!commandBindings) {\n byCommand.delete(command);\n } else {\n byCommand.set(command, commandBindings);\n }\n }\n return {\n bindings: flattenBindings(byCommand),\n byCommand\n };\n}\nfunction gatherBindings(byCommand, commands) {\n const gatheredByCommand = new Map;\n const bindings = [];\n for (const command of commands) {\n const commandBindings = byCommand.get(command);\n if (!commandBindings)\n continue;\n gatheredByCommand.set(command, commandBindings);\n for (let index = 0;index < commandBindings.length; index += 1) {\n bindings.push(commandBindings[index]);\n }\n }\n return { bindings, byCommand: gatheredByCommand };\n}\nfunction createBindingLookup(config, options) {\n let currentConfig = config;\n let normalized = normalizeBindings(currentConfig, options?.commandMap, options?.bindingDefaults);\n const gathered = new Map;\n return {\n get bindings() {\n return normalized.bindings;\n },\n get(command) {\n return normalized.byCommand.get(command) ?? EMPTY_BINDINGS;\n },\n has(command) {\n return normalized.byCommand.has(command);\n },\n gather(name, commands) {\n const existing = gathered.get(name);\n if (existing)\n return existing.bindings;\n const next = gatherBindings(normalized.byCommand, commands);\n gathered.set(name, next);\n return next.bindings;\n },\n pick(name, commands) {\n const group = gathered.get(name);\n if (!group)\n return [];\n const result = [];\n for (const command of commands) {\n const bindings = group.byCommand.get(command);\n if (!bindings)\n continue;\n for (let index = 0;index < bindings.length; index += 1) {\n result.push(bindings[index]);\n }\n }\n return result;\n },\n omit(name, commands) {\n const group = gathered.get(name);\n if (!group)\n return [];\n if (commands.length === 0)\n return group.bindings;\n if (commands.length === 1) {\n const omitted2 = commands[0];\n const result2 = [];\n for (let index = 0;index < group.bindings.length; index += 1) {\n const binding = group.bindings[index];\n if (typeof binding.cmd === \"string\" && binding.cmd === omitted2)\n continue;\n result2.push(binding);\n }\n return result2;\n }\n const omitted = new Set(commands);\n const result = [];\n for (let index = 0;index < group.bindings.length; index += 1) {\n const binding = group.bindings[index];\n if (typeof binding.cmd === \"string\" && omitted.has(binding.cmd))\n continue;\n result.push(binding);\n }\n return result;\n },\n invalidate(name) {\n if (name === undefined) {\n gathered.clear();\n return;\n }\n gathered.delete(name);\n },\n update(nextConfig) {\n if (nextConfig) {\n currentConfig = nextConfig;\n }\n normalized = normalizeBindings(currentConfig, options?.commandMap, options?.bindingDefaults);\n gathered.clear();\n }\n };\n}\n// src/extras/command-bindings.ts\nfunction isCommandBindingKey(value) {\n return typeof value === \"string\" || !!value && typeof value === \"object\" && !Array.isArray(value);\n}\nfunction commandBindings(bindings, options) {\n const normalized = [];\n const indexesByCommand = new Map;\n for (const [command, key] of Object.entries(bindings)) {\n if (!isCommandBindingKey(key)) {\n const error = new Error(`Invalid command binding for \"${command}\": command bindings must map command strings to key strings or keystroke objects`);\n options?.onError?.({\n code: \"invalid-command-binding\",\n command,\n value: key,\n reason: error\n });\n continue;\n }\n const normalizedCommand = command.trim();\n const nextBinding = {\n key: typeof key === \"string\" ? key : { ...key },\n cmd: normalizedCommand\n };\n const existingIndex = indexesByCommand.get(normalizedCommand);\n if (existingIndex !== undefined) {\n const previousBinding = normalized[existingIndex];\n options?.onWarning?.({\n code: \"command-binding-override\",\n command: normalizedCommand,\n previousKey: previousBinding.key,\n nextKey: nextBinding.key\n });\n normalized[existingIndex] = nextBinding;\n continue;\n }\n indexesByCommand.set(normalizedCommand, normalized.length);\n normalized.push(nextBinding);\n }\n return normalized;\n}\n// src/extras/formatting.ts\nfunction formatStroke(part, options) {\n if (part.tokenName) {\n const tokenDisplay = options.tokenDisplay;\n if (!tokenDisplay)\n return part.display;\n if (typeof tokenDisplay === \"function\")\n return tokenDisplay(part.tokenName, part) ?? part.display;\n return tokenDisplay[part.tokenName] ?? part.display;\n }\n if (part.patternName) {\n const patternDisplay = options.patternDisplay;\n if (!patternDisplay)\n return part.display;\n if (typeof patternDisplay === \"function\")\n return patternDisplay(part.patternName, part) ?? part.display;\n return patternDisplay[part.patternName] ?? part.display;\n }\n if (!options.keyNameAliases && !options.modifierAliases)\n return part.display;\n const stroke = part.stroke;\n const modifierAliases = options.modifierAliases;\n let formatted = \"\";\n let pieceCount = 0;\n if (stroke.ctrl) {\n formatted = modifierAliases?.ctrl ?? \"ctrl\";\n pieceCount = 1;\n }\n if (stroke.shift) {\n const alias = modifierAliases?.shift ?? \"shift\";\n formatted = pieceCount === 0 ? alias : `${formatted}+${alias}`;\n pieceCount += 1;\n }\n if (stroke.meta) {\n const alias = modifierAliases?.meta ?? \"meta\";\n formatted = pieceCount === 0 ? alias : `${formatted}+${alias}`;\n pieceCount += 1;\n }\n if (stroke.super) {\n const alias = modifierAliases?.super ?? \"super\";\n formatted = pieceCount === 0 ? alias : `${formatted}+${alias}`;\n pieceCount += 1;\n }\n if (stroke.hyper) {\n const alias = modifierAliases?.hyper ?? \"hyper\";\n formatted = pieceCount === 0 ? alias : `${formatted}+${alias}`;\n pieceCount += 1;\n }\n const name = stroke.name === \"return\" ? \"enter\" : stroke.name;\n const keyName = options.keyNameAliases?.[name] ?? name;\n return pieceCount === 0 ? keyName : `${formatted}+${keyName}`;\n}\nfunction formatKeySequence(parts, options = {}) {\n if (!parts || parts.length === 0)\n return \"\";\n const separator = options.separator ?? \" \";\n let formatted = formatStroke(parts[0], options);\n for (let index = 1;index < parts.length; index += 1) {\n formatted += separator + formatStroke(parts[index], options);\n }\n return formatted;\n}\nfunction formatCommandBindings(bindings, options = {}) {\n if (!bindings?.length)\n return;\n const bindingSeparator = options.bindingSeparator ?? \", \";\n const dedupe = options.dedupe !== false;\n const seen = dedupe ? new Set : undefined;\n let formatted = \"\";\n let itemCount = 0;\n for (const binding of bindings) {\n const item = formatKeySequence(binding.sequence, options);\n if (!item)\n continue;\n if (seen) {\n if (seen.has(item))\n continue;\n seen.add(item);\n }\n formatted = itemCount === 0 ? item : `${formatted}${bindingSeparator}${item}`;\n itemCount += 1;\n }\n return formatted;\n}\nexport {\n formatKeySequence,\n formatCommandBindings,\n createBindingLookup,\n commandBindings\n};\n\n//# debugId=418A62FEB87D11F164756E2164756E21\n//# sourceMappingURL=index.js.map\n", | ||
| "export * as TuiKeybind from \"./keybind\"\n\nimport type { KeyEvent, Renderable } from \"@opentui/core\"\nimport type { Binding } from \"@opentui/keymap\"\nimport type { BindingCommandMap, BindingConfig, BindingDefaults } from \"@opentui/keymap/extras\"\nimport { Schema } from \"effect\"\n\nconst KeyStroke = Schema.Struct({\n name: Schema.String,\n ctrl: Schema.optional(Schema.Boolean),\n shift: Schema.optional(Schema.Boolean),\n meta: Schema.optional(Schema.Boolean),\n super: Schema.optional(Schema.Boolean),\n hyper: Schema.optional(Schema.Boolean),\n})\n\nconst BindingObject = Schema.StructWithRest(\n Schema.Struct({\n key: Schema.Union([Schema.String, KeyStroke]),\n event: Schema.optional(Schema.Literals([\"press\", \"release\"])),\n preventDefault: Schema.optional(Schema.Boolean),\n fallthrough: Schema.optional(Schema.Boolean),\n }),\n [Schema.Record(Schema.String, Schema.Unknown)],\n)\n\nconst BindingItem = Schema.Union([Schema.String, KeyStroke, BindingObject])\nexport const BindingValueSchema = Schema.Union([\n Schema.Literal(false),\n Schema.Literal(\"none\"),\n BindingItem,\n Schema.Array(BindingItem),\n])\nexport type BindingValueSchema = Schema.Schema.Type<typeof BindingValueSchema>\n\ntype Definition = {\n default: BindingValueSchema\n description: string\n}\n\nexport const LeaderDefault = \"ctrl+x\"\n\nconst keybind = (value: Definition[\"default\"], description: string): Definition => ({ default: value, description })\n\nexport const Definitions = {\n leader: keybind(LeaderDefault, \"Leader key for keybind combinations\"),\n\n app_exit: keybind(\"ctrl+c,ctrl+d,<leader>q\", \"Exit the application\"),\n app_debug: keybind(\"none\", \"Toggle debug panel\"),\n app_console: keybind(\"none\", \"Toggle console\"),\n app_heap_snapshot: keybind(\"none\", \"Write heap snapshot\"),\n app_toggle_animations: keybind(\"none\", \"Toggle animations\"),\n app_toggle_file_context: keybind(\"none\", \"Toggle file context\"),\n app_toggle_diffwrap: keybind(\"none\", \"Toggle diff wrapping\"),\n app_toggle_paste_summary: keybind(\"none\", \"Toggle paste summary\"),\n app_toggle_session_directory_filter: keybind(\"none\", \"Toggle session directory filtering\"),\n command_list: keybind(\"ctrl+p\", \"List available commands\"),\n help_show: keybind(\"none\", \"Open help dialog\"),\n docs_open: keybind(\"none\", \"Open documentation\"),\n diff_open: keybind(\"none\", \"Open diff viewer\"),\n diff_close: keybind(\"escape,q\", \"Close diff viewer\"),\n diff_toggle: keybind(\"enter,space\", \"Toggle diff viewer item\"),\n diff_expand: keybind(\"right\", \"Expand diff viewer item\"),\n diff_expand_all: keybind(\"E\", \"Expand all diff viewer folders\"),\n diff_collapse: keybind(\"left\", \"Collapse diff viewer item\"),\n diff_switch_focus: keybind(\"tab\", \"Switch diff viewer focus\"),\n diff_next_hunk: keybind(\"]\", \"Jump to next diff hunk\"),\n diff_previous_hunk: keybind(\"[\", \"Jump to previous diff hunk\"),\n diff_next_file: keybind(\"n\", \"Jump to next diff file\"),\n diff_previous_file: keybind(\"p\", \"Jump to previous diff file\"),\n diff_toggle_file_tree: keybind(\"b\", \"Toggle diff viewer file tree\"),\n diff_single_patch: keybind(\"s\", \"Toggle single patch view\"),\n diff_switch_source: keybind(\"d\", \"Switch diff viewer source\"),\n diff_toggle_view: keybind(\"v\", \"Toggle diff viewer split or unified view\"),\n diff_help: keybind(\"?\", \"Show more diff viewer shortcuts\"),\n\n editor_open: keybind(\"<leader>e\", \"Open external editor\"),\n theme_list: keybind(\"<leader>t\", \"List available themes\"),\n theme_switch_mode: keybind(\"none\", \"Switch between light and dark theme mode\"),\n theme_mode_lock: keybind(\"none\", \"Lock or unlock theme mode\"),\n sidebar_toggle: keybind(\"<leader>b\", \"Toggle sidebar\"),\n scrollbar_toggle: keybind(\"none\", \"Toggle session scrollbar\"),\n status_view: keybind(\"<leader>s\", \"View status\"),\n debug_view: keybind(\"none\", \"View debug info\"),\n\n session_export: keybind(\"<leader>x\", \"Export session to editor\"),\n session_copy: keybind(\"none\", \"Copy session transcript\"),\n session_move: keybind(\"none\", \"Move session\"),\n session_new: keybind(\"<leader>n\", \"Create a new session\"),\n session_list: keybind(\"<leader>l\", \"List all sessions\"),\n session_timeline: keybind(\"<leader>g\", \"Show session timeline\"),\n session_fork: keybind(\"none\", \"Fork session from message\"),\n session_rename: keybind(\"ctrl+r\", \"Rename session\"),\n session_delete: keybind(\"ctrl+d\", \"Delete session\"),\n session_share: keybind(\"none\", \"Share current session\"),\n session_unshare: keybind(\"none\", \"Unshare current session\"),\n session_interrupt: keybind(\"escape\", \"Interrupt current session\"),\n session_background: keybind(\"ctrl+b\", \"Background blocking session tools\"),\n session_compact: keybind(\"<leader>c\", \"Compact the session\"),\n session_toggle_timestamps: keybind(\"none\", \"Toggle message timestamps\"),\n session_toggle_generic_tool_output: keybind(\"none\", \"Toggle generic tool output\"),\n session_queued_prompts: keybind(\"<leader>q\", \"Manage queued prompts\"),\n session_child_first: keybind(\"<leader>down\", \"Toggle subagent picker\"),\n session_child_cycle: keybind(\"right\", \"Go to next child session\"),\n session_child_cycle_reverse: keybind(\"left\", \"Go to previous child session\"),\n session_parent: keybind(\"up\", \"Go to parent session\"),\n session_pin_toggle: keybind(\"ctrl+f\", \"Pin or unpin session in the session list\"),\n session_quick_switch_1: keybind(\"<leader>1\", \"Switch to session in quick slot 1\"),\n session_quick_switch_2: keybind(\"<leader>2\", \"Switch to session in quick slot 2\"),\n session_quick_switch_3: keybind(\"<leader>3\", \"Switch to session in quick slot 3\"),\n session_quick_switch_4: keybind(\"<leader>4\", \"Switch to session in quick slot 4\"),\n session_quick_switch_5: keybind(\"<leader>5\", \"Switch to session in quick slot 5\"),\n session_quick_switch_6: keybind(\"<leader>6\", \"Switch to session in quick slot 6\"),\n session_quick_switch_7: keybind(\"<leader>7\", \"Switch to session in quick slot 7\"),\n session_quick_switch_8: keybind(\"<leader>8\", \"Switch to session in quick slot 8\"),\n session_quick_switch_9: keybind(\"<leader>9\", \"Switch to session in quick slot 9\"),\n\n stash_delete: keybind(\"ctrl+d\", \"Delete stash entry\"),\n model_provider_list: keybind(\"ctrl+a\", \"Open provider list from model dialog\"),\n model_favorite_toggle: keybind(\"ctrl+f\", \"Toggle model favorite status\"),\n model_list: keybind(\"<leader>m\", \"List available models\"),\n model_cycle_recent: keybind(\"f2\", \"Next recently used model\"),\n model_cycle_recent_reverse: keybind(\"shift+f2\", \"Previous recently used model\"),\n model_cycle_favorite: keybind(\"none\", \"Next favorite model\"),\n model_cycle_favorite_reverse: keybind(\"none\", \"Previous favorite model\"),\n mcp_list: keybind(\"none\", \"List MCP servers\"),\n provider_connect: keybind(\"none\", \"Connect integration\"),\n console_org_switch: keybind(\"none\", \"Switch console organization\"),\n agent_list: keybind(\"<leader>a\", \"List agents\"),\n agent_cycle: keybind(\"tab\", \"Next agent\"),\n agent_cycle_reverse: keybind(\"shift+tab\", \"Previous agent\"),\n variant_cycle: keybind(\"ctrl+t\", \"Cycle model variants\"),\n variant_list: keybind(\"none\", \"List model variants\"),\n\n messages_page_up: keybind(\"pageup,ctrl+alt+b\", \"Scroll messages up by one page\"),\n messages_page_down: keybind(\"pagedown,ctrl+alt+f\", \"Scroll messages down by one page\"),\n messages_line_up: keybind(\"ctrl+alt+y\", \"Scroll messages up by one line\"),\n messages_line_down: keybind(\"ctrl+alt+e\", \"Scroll messages down by one line\"),\n messages_half_page_up: keybind(\"ctrl+alt+u\", \"Scroll messages up by half page\"),\n messages_half_page_down: keybind(\"ctrl+alt+d\", \"Scroll messages down by half page\"),\n messages_first: keybind(\"ctrl+g,home\", \"Navigate to first message\"),\n messages_last: keybind(\"ctrl+alt+g,end\", \"Navigate to last message\"),\n messages_next: keybind(\"none\", \"Navigate to next message\"),\n messages_previous: keybind(\"none\", \"Navigate to previous message\"),\n messages_last_user: keybind(\"none\", \"Navigate to last user message\"),\n messages_copy: keybind(\"<leader>y\", \"Copy message\"),\n messages_undo: keybind(\"<leader>u\", \"Undo message\"),\n messages_redo: keybind(\"<leader>r\", \"Redo message\"),\n messages_toggle_conceal: keybind(\"<leader>h\", \"Toggle code block concealment in messages\"),\n tool_details: keybind(\"none\", \"Toggle tool details visibility\"),\n display_thinking: keybind(\"none\", \"Toggle thinking blocks visibility\"),\n\n prompt_submit: keybind(\"none\", \"Submit prompt\"),\n prompt_editor_context_clear: keybind(\"none\", \"Clear editor context\"),\n prompt_skills: keybind(\"none\", \"Open skill selector\"),\n prompt_stash: keybind(\"none\", \"Stash prompt\"),\n prompt_stash_pop: keybind(\"none\", \"Pop stashed prompt\"),\n prompt_stash_list: keybind(\"none\", \"List stashed prompts\"),\n workspace_set: keybind(\"none\", \"Set workspace\"),\n\n input_clear: keybind(\"ctrl+c\", \"Clear input field\"),\n input_paste: keybind({ key: \"ctrl+v\", preventDefault: false }, \"Paste from clipboard\"),\n input_submit: keybind(\"return\", \"Submit input\"),\n input_newline: keybind(\"shift+return,ctrl+return,alt+return,ctrl+j\", \"Insert newline in input\"),\n input_move_left: keybind(\"left,ctrl+b\", \"Move cursor left in input\"),\n input_move_right: keybind(\"right,ctrl+f\", \"Move cursor right in input\"),\n input_move_up: keybind(\"up\", \"Move cursor up in input\"),\n input_move_down: keybind(\"down\", \"Move cursor down in input\"),\n input_select_left: keybind(\"shift+left\", \"Select left in input\"),\n input_select_right: keybind(\"shift+right\", \"Select right in input\"),\n input_select_up: keybind(\"shift+up\", \"Select up in input\"),\n input_select_down: keybind(\"shift+down\", \"Select down in input\"),\n input_line_home: keybind(\"ctrl+a\", \"Move to start of line in input\"),\n input_line_end: keybind(\"ctrl+e\", \"Move to end of line in input\"),\n input_select_line_home: keybind(\"ctrl+shift+a\", \"Select to start of line in input\"),\n input_select_line_end: keybind(\"ctrl+shift+e\", \"Select to end of line in input\"),\n input_visual_line_home: keybind(\"alt+a\", \"Move to start of visual line in input\"),\n input_visual_line_end: keybind(\"alt+e\", \"Move to end of visual line in input\"),\n input_select_visual_line_home: keybind(\"alt+shift+a\", \"Select to start of visual line in input\"),\n input_select_visual_line_end: keybind(\"alt+shift+e\", \"Select to end of visual line in input\"),\n input_buffer_home: keybind(\"home\", \"Move to start of buffer in input\"),\n input_buffer_end: keybind(\"end\", \"Move to end of buffer in input\"),\n input_select_buffer_home: keybind(\"shift+home\", \"Select to start of buffer in input\"),\n input_select_buffer_end: keybind(\"shift+end\", \"Select to end of buffer in input\"),\n input_delete_line: keybind(\"ctrl+shift+d\", \"Delete line in input\"),\n input_delete_to_line_end: keybind(\"ctrl+k\", \"Delete to end of line in input\"),\n input_delete_to_line_start: keybind(\"ctrl+u\", \"Delete to start of line in input\"),\n input_backspace: keybind(\"backspace,shift+backspace\", \"Backspace in input\"),\n input_delete: keybind(\"ctrl+d,delete,shift+delete\", \"Delete character in input\"),\n input_undo: keybind(\"ctrl+-,super+z\", \"Undo in input\"),\n input_redo: keybind(\"ctrl+.,super+shift+z\", \"Redo in input\"),\n input_word_forward: keybind(\"alt+f,alt+right,ctrl+right\", \"Move word forward in input\"),\n input_word_backward: keybind(\"alt+b,alt+left,ctrl+left\", \"Move word backward in input\"),\n input_select_word_forward: keybind(\"alt+shift+f,alt+shift+right\", \"Select word forward in input\"),\n input_select_word_backward: keybind(\"alt+shift+b,alt+shift+left\", \"Select word backward in input\"),\n input_delete_word_forward: keybind(\"alt+d,alt+delete,ctrl+delete\", \"Delete word forward in input\"),\n input_delete_word_backward: keybind(\"ctrl+w,ctrl+backspace,alt+backspace\", \"Delete word backward in input\"),\n input_select_all: keybind(\"super+a\", \"Select all in input\"),\n history_previous: keybind(\"up\", \"Previous history item\"),\n history_next: keybind(\"down\", \"Next history item\"),\n\n \"dialog.select.prev\": keybind(\"up,ctrl+p\", \"Move to previous dialog item\"),\n \"dialog.select.next\": keybind(\"down,ctrl+n\", \"Move to next dialog item\"),\n \"dialog.select.page_up\": keybind(\"pageup\", \"Move up one page in dialog\"),\n \"dialog.select.page_down\": keybind(\"pagedown\", \"Move down one page in dialog\"),\n \"dialog.select.home\": keybind(\"home\", \"Move to first dialog item\"),\n \"dialog.select.end\": keybind(\"end\", \"Move to last dialog item\"),\n \"dialog.select.submit\": keybind(\"return\", \"Submit selected dialog item\"),\n \"dialog.prompt.submit\": keybind(\"return\", \"Submit dialog prompt\"),\n \"dialog.project_copy.generate\": keybind(\"tab\", \"Generate project copy name\"),\n \"dialog.mcp.toggle\": keybind(\"space\", \"Toggle MCP in MCP dialog\"),\n \"dialog.move_session.new\": keybind(\"ctrl+m\", \"New project copy\"),\n \"dialog.move_session.delete\": keybind(\"ctrl+d\", \"Delete project copy\"),\n \"dialog.move_session.refresh\": keybind(\"ctrl+r\", \"Refresh project copies\"),\n \"prompt.autocomplete.prev\": keybind(\"up,ctrl+p\", \"Move to previous autocomplete item\"),\n \"prompt.autocomplete.next\": keybind(\"down,ctrl+n\", \"Move to next autocomplete item\"),\n \"prompt.autocomplete.hide\": keybind(\"escape\", \"Hide autocomplete\"),\n \"prompt.autocomplete.select\": keybind(\"return\", \"Select autocomplete item\"),\n \"prompt.autocomplete.complete\": keybind(\"tab\", \"Complete autocomplete item\"),\n \"permission.prompt.fullscreen\": keybind(\"ctrl+f\", \"Toggle permission prompt fullscreen\"),\n \"plugins.toggle\": keybind(\"space\", \"Toggle plugin\"),\n \"dialog.plugins.install\": keybind(\"shift+i\", \"Install plugin from plugin dialog\"),\n\n terminal_suspend: keybind(\"ctrl+z\", \"Suspend terminal\"),\n terminal_title_toggle: keybind(\"none\", \"Toggle terminal title\"),\n tips_toggle: keybind(\"<leader>h\", \"Toggle tips on home screen\"),\n plugin_manager: keybind(\"none\", \"Open plugin manager dialog\"),\n plugin_install: keybind(\"none\", \"Install plugin\"),\n\n which_key_toggle: keybind(\"ctrl+alt+k\", \"Toggle which-key panel\"),\n which_key_layout_toggle: keybind(\"ctrl+alt+shift+k\", \"Switch which-key layout\"),\n which_key_pending_toggle: keybind(\"ctrl+alt+shift+p\", \"Toggle which-key pending preview\"),\n which_key_group_previous: keybind(\"ctrl+alt+left,ctrl+alt+[\", \"Previous which-key group\"),\n which_key_group_next: keybind(\"ctrl+alt+right,ctrl+alt+]\", \"Next which-key group\"),\n which_key_scroll_up: keybind(\"ctrl+alt+up,ctrl+alt+p\", \"Scroll which-key up\"),\n which_key_scroll_down: keybind(\"ctrl+alt+down,ctrl+alt+n\", \"Scroll which-key down\"),\n which_key_page_up: keybind(\"ctrl+alt+pageup\", \"Page which-key up\"),\n which_key_page_down: keybind(\"ctrl+alt+pagedown\", \"Page which-key down\"),\n which_key_home: keybind(\"ctrl+alt+home\", \"Jump to first which-key binding\"),\n which_key_end: keybind(\"ctrl+alt+end\", \"Jump to last which-key binding\"),\n} satisfies Record<string, Definition>\n\ntype KeybindName = keyof typeof Definitions\nconst KeybindNames = new Set<string>(Object.keys(Definitions))\n\nexport const KeybindOverrides = Schema.Struct(\n Object.fromEntries(\n Object.entries(Definitions).map(([name, item]) => [\n name,\n Schema.optional(BindingValueSchema).annotate({ description: item.description }),\n ]),\n ),\n).annotate({ description: \"TUI keybinding overrides\" })\nexport const Descriptions = Object.fromEntries(\n Object.entries(Definitions).map(([name, item]) => [name, item.description]),\n) as Record<KeybindName, string>\nexport const CommandMap = {\n app_exit: \"app.exit\",\n app_debug: \"app.debug\",\n app_console: \"app.console\",\n app_heap_snapshot: \"app.heap_snapshot\",\n app_toggle_animations: \"app.toggle.animations\",\n app_toggle_file_context: \"app.toggle.file_context\",\n app_toggle_diffwrap: \"app.toggle.diffwrap\",\n app_toggle_paste_summary: \"app.toggle.paste_summary\",\n app_toggle_session_directory_filter: \"app.toggle.session_directory_filter\",\n command_list: \"command.palette.show\",\n help_show: \"help.show\",\n docs_open: \"docs.open\",\n diff_open: \"diff.open\",\n diff_close: \"diff.close\",\n diff_toggle: \"diff.toggle\",\n diff_expand: \"diff.expand\",\n diff_expand_all: \"diff.expand_all\",\n diff_collapse: \"diff.collapse\",\n diff_switch_focus: \"diff.switch_focus\",\n diff_next_hunk: \"diff.next_hunk\",\n diff_previous_hunk: \"diff.previous_hunk\",\n diff_next_file: \"diff.next_file\",\n diff_previous_file: \"diff.previous_file\",\n diff_toggle_file_tree: \"diff.toggle_file_tree\",\n diff_single_patch: \"diff.single_patch\",\n diff_switch_source: \"diff.switch_source\",\n diff_toggle_view: \"diff.toggle_view\",\n diff_help: \"diff.help\",\n editor_open: \"prompt.editor\",\n theme_list: \"theme.switch\",\n theme_switch_mode: \"theme.switch_mode\",\n theme_mode_lock: \"theme.mode.lock\",\n sidebar_toggle: \"session.sidebar.toggle\",\n scrollbar_toggle: \"session.toggle.scrollbar\",\n status_view: \"opencode.status\",\n debug_view: \"opencode.debug\",\n session_export: \"session.export\",\n session_copy: \"session.copy\",\n session_move: \"session.move\",\n session_new: \"session.new\",\n session_list: \"session.list\",\n session_timeline: \"session.timeline\",\n session_fork: \"session.fork\",\n session_rename: \"session.rename\",\n session_delete: \"session.delete\",\n session_share: \"session.share\",\n session_unshare: \"session.unshare\",\n session_interrupt: \"session.interrupt\",\n session_background: \"session.background\",\n session_compact: \"session.compact\",\n session_toggle_timestamps: \"session.toggle.timestamps\",\n session_toggle_generic_tool_output: \"session.toggle.generic_tool_output\",\n session_queued_prompts: \"session.queued_prompts\",\n session_child_first: \"session.child.first\",\n session_child_cycle: \"session.child.next\",\n session_child_cycle_reverse: \"session.child.previous\",\n session_parent: \"session.parent\",\n session_pin_toggle: \"session.pin.toggle\",\n session_quick_switch_1: \"session.quick_switch.1\",\n session_quick_switch_2: \"session.quick_switch.2\",\n session_quick_switch_3: \"session.quick_switch.3\",\n session_quick_switch_4: \"session.quick_switch.4\",\n session_quick_switch_5: \"session.quick_switch.5\",\n session_quick_switch_6: \"session.quick_switch.6\",\n session_quick_switch_7: \"session.quick_switch.7\",\n session_quick_switch_8: \"session.quick_switch.8\",\n session_quick_switch_9: \"session.quick_switch.9\",\n stash_delete: \"stash.delete\",\n model_provider_list: \"model.dialog.provider\",\n model_favorite_toggle: \"model.dialog.favorite\",\n model_list: \"model.list\",\n model_cycle_recent: \"model.cycle_recent\",\n model_cycle_recent_reverse: \"model.cycle_recent_reverse\",\n model_cycle_favorite: \"model.cycle_favorite\",\n model_cycle_favorite_reverse: \"model.cycle_favorite_reverse\",\n mcp_list: \"mcp.list\",\n provider_connect: \"provider.connect\",\n console_org_switch: \"console.org.switch\",\n agent_list: \"agent.list\",\n agent_cycle: \"agent.cycle\",\n agent_cycle_reverse: \"agent.cycle.reverse\",\n variant_cycle: \"variant.cycle\",\n variant_list: \"variant.list\",\n messages_page_up: \"session.page.up\",\n messages_page_down: \"session.page.down\",\n messages_line_up: \"session.line.up\",\n messages_line_down: \"session.line.down\",\n messages_half_page_up: \"session.half.page.up\",\n messages_half_page_down: \"session.half.page.down\",\n messages_first: \"session.first\",\n messages_last: \"session.last\",\n messages_next: \"session.message.next\",\n messages_previous: \"session.message.previous\",\n messages_last_user: \"session.messages_last_user\",\n messages_copy: \"messages.copy\",\n messages_undo: \"session.undo\",\n messages_redo: \"session.redo\",\n messages_toggle_conceal: \"session.toggle.conceal\",\n tool_details: \"session.toggle.actions\",\n display_thinking: \"session.toggle.thinking\",\n prompt_submit: \"prompt.submit\",\n prompt_editor_context_clear: \"prompt.editor_context.clear\",\n prompt_skills: \"prompt.skills\",\n prompt_stash: \"prompt.stash\",\n prompt_stash_pop: \"prompt.stash.pop\",\n prompt_stash_list: \"prompt.stash.list\",\n workspace_set: \"workspace.set\",\n input_clear: \"prompt.clear\",\n input_paste: \"prompt.paste\",\n input_submit: \"input.submit\",\n input_newline: \"input.newline\",\n input_move_left: \"input.move.left\",\n input_move_right: \"input.move.right\",\n input_move_up: \"input.move.up\",\n input_move_down: \"input.move.down\",\n input_select_left: \"input.select.left\",\n input_select_right: \"input.select.right\",\n input_select_up: \"input.select.up\",\n input_select_down: \"input.select.down\",\n input_line_home: \"input.line.home\",\n input_line_end: \"input.line.end\",\n input_select_line_home: \"input.select.line.home\",\n input_select_line_end: \"input.select.line.end\",\n input_visual_line_home: \"input.visual.line.home\",\n input_visual_line_end: \"input.visual.line.end\",\n input_select_visual_line_home: \"input.select.visual.line.home\",\n input_select_visual_line_end: \"input.select.visual.line.end\",\n input_buffer_home: \"input.buffer.home\",\n input_buffer_end: \"input.buffer.end\",\n input_select_buffer_home: \"input.select.buffer.home\",\n input_select_buffer_end: \"input.select.buffer.end\",\n input_delete_line: \"input.delete.line\",\n input_delete_to_line_end: \"input.delete.to.line.end\",\n input_delete_to_line_start: \"input.delete.to.line.start\",\n input_backspace: \"input.backspace\",\n input_delete: \"input.delete\",\n input_undo: \"input.undo\",\n input_redo: \"input.redo\",\n input_word_forward: \"input.word.forward\",\n input_word_backward: \"input.word.backward\",\n input_select_word_forward: \"input.select.word.forward\",\n input_select_word_backward: \"input.select.word.backward\",\n input_delete_word_forward: \"input.delete.word.forward\",\n input_delete_word_backward: \"input.delete.word.backward\",\n input_select_all: \"input.select.all\",\n history_previous: \"prompt.history.previous\",\n history_next: \"prompt.history.next\",\n terminal_suspend: \"terminal.suspend\",\n terminal_title_toggle: \"terminal.title.toggle\",\n tips_toggle: \"tips.toggle\",\n plugin_manager: \"plugins.list\",\n plugin_install: \"plugins.install\",\n which_key_toggle: \"which-key.toggle\",\n which_key_layout_toggle: \"which-key.layout.toggle\",\n which_key_pending_toggle: \"which-key.pending.toggle\",\n which_key_group_previous: \"which-key.group.previous\",\n which_key_group_next: \"which-key.group.next\",\n which_key_scroll_up: \"which-key.scroll.up\",\n which_key_scroll_down: \"which-key.scroll.down\",\n which_key_page_up: \"which-key.page.up\",\n which_key_page_down: \"which-key.page.down\",\n which_key_home: \"which-key.home\",\n which_key_end: \"which-key.end\",\n} satisfies BindingCommandMap\nconst CommandDescriptions = Object.fromEntries(\n Object.entries(Definitions).map(([name, item]) => [\n CommandMap[name as keyof typeof CommandMap] ?? name,\n item.description,\n ]),\n) as Record<string, string>\n\nexport type Keybinds = { [K in KeybindName]: BindingValueSchema }\nexport type KeybindOverrides = Partial<Keybinds>\nexport type BindingLookupView = {\n readonly bindings: readonly Binding<Renderable, KeyEvent>[]\n get(command: string): readonly Binding<Renderable, KeyEvent>[]\n has(command: string): boolean\n gather(name: string, commands: readonly string[]): readonly Binding<Renderable, KeyEvent>[]\n pick(name: string, commands: readonly string[]): Binding<Renderable, KeyEvent>[]\n omit(name: string, commands: readonly string[]): Binding<Renderable, KeyEvent>[]\n}\n\nexport function toBindingConfig(keybinds: Keybinds): BindingConfig<Renderable, KeyEvent> {\n return Object.fromEntries(Object.entries(keybinds)) as BindingConfig<Renderable, KeyEvent>\n}\n\nconst decodeBindingValue = Schema.decodeUnknownSync(BindingValueSchema)\n\nexport function defaultValue(name: KeybindName) {\n return Definitions[name].default\n}\n\nexport function parse(keybinds: KeybindOverrides): Keybinds {\n const invalid = unknownKeys(keybinds)\n if (invalid.length) throw new Error(`Unrecognized keybind${invalid.length === 1 ? \"\" : \"s\"}: ${invalid.join(\", \")}`)\n return Object.fromEntries(\n Object.entries(Definitions).map(([name, item]) => [\n name,\n decodeBindingValue(keybinds[name as KeybindName] ?? item.default),\n ]),\n ) as Keybinds\n}\n\nexport const Keybinds = { parse }\n\nexport function unknownKeys(input: object) {\n return Object.keys(input).filter((key) => !KeybindNames.has(key))\n}\n\nexport function bindingDefaults(): BindingDefaults<Renderable, KeyEvent> {\n return ({ command, binding }) => {\n if (binding.desc !== undefined) return\n return { desc: CommandDescriptions[command] }\n }\n}\n", | ||
| "import { createComponent as _$createComponent } from \"@opentui/solid\";\nexport * as TuiConfig from \".\";\nimport { createBindingLookup } from \"@opentui/keymap/extras\";\nimport { Schema } from \"effect\";\nimport { createContext, useContext } from \"solid-js\";\nimport { TuiKeybind } from \"./keybind\";\nexport const AttentionSoundName = Schema.Literals([\"default\", \"question\", \"permission\", \"error\", \"done\", \"subagent_done\"]);\nexport const PluginOptions = Schema.Record(Schema.String, Schema.Unknown);\nexport const PluginSpec = Schema.Union([Schema.String, Schema.mutable(Schema.Tuple([Schema.String, PluginOptions]))]);\nexport const LeaderTimeoutDefault = 2000;\nexport const LeaderTimeout = Schema.Int.check(Schema.isGreaterThan(0)).annotate({\n description: \"Leader key timeout in milliseconds\"\n});\nexport const ScrollSpeed = Schema.Number.check(Schema.isGreaterThanOrEqualTo(0.001));\nexport const ScrollAcceleration = Schema.Struct({\n enabled: Schema.Boolean.annotate({\n description: \"Enable scroll acceleration\"\n })\n}).annotate({\n description: \"Scroll acceleration settings\"\n});\nexport const DiffStyle = Schema.Literals([\"auto\", \"stacked\"]).annotate({\n description: \"Control diff rendering style: 'auto' adapts to terminal width, 'stacked' always shows single column\"\n});\nexport const AttentionSounds = Schema.Record(AttentionSoundName, Schema.optionalKey(Schema.String));\nexport const Attention = Schema.Struct({\n enabled: Schema.optional(Schema.Boolean),\n notifications: Schema.optional(Schema.Boolean),\n sound: Schema.optional(Schema.Boolean),\n volume: Schema.optional(Schema.Number.check(Schema.isGreaterThanOrEqualTo(0), Schema.isLessThanOrEqualTo(1))),\n sound_pack: Schema.optional(Schema.String),\n sounds: Schema.optional(AttentionSounds)\n}).annotate({\n description: \"Attention notification and sound settings\"\n});\nconst PromptSize = Schema.Int.check(Schema.isGreaterThan(0));\nexport const Prompt = Schema.Struct({\n max_height: Schema.optional(PromptSize).annotate({\n description: \"Prompt textarea max height\"\n }),\n max_width: Schema.optional(Schema.Union([PromptSize, Schema.Literal(\"auto\")])).annotate({\n description: \"Home prompt max width: a positive integer for a fixed cap, or 'auto' to scale with terminal width\"\n })\n}).annotate({\n description: \"Prompt size settings\"\n});\nexport const Info = Schema.Struct({\n $schema: Schema.optional(Schema.String),\n theme: Schema.optional(Schema.String),\n keybinds: Schema.optional(TuiKeybind.KeybindOverrides),\n plugin: Schema.optional(Schema.Array(PluginSpec)),\n plugin_enabled: Schema.optional(Schema.Record(Schema.String, Schema.Boolean)),\n leader_timeout: Schema.optional(LeaderTimeout),\n attention: Schema.optional(Attention),\n prompt: Schema.optional(Prompt),\n scroll_speed: Schema.optional(ScrollSpeed).annotate({\n description: \"TUI scroll speed\"\n }),\n scroll_acceleration: Schema.optional(ScrollAcceleration),\n diff_style: Schema.optional(DiffStyle),\n mouse: Schema.optional(Schema.Boolean).annotate({\n description: \"Enable or disable mouse capture (default: true)\"\n })\n});\nexport const ResolveOptions = Schema.Struct({\n terminalSuspend: Schema.Boolean\n});\nexport function resolve(input, options) {\n const keybinds = {\n ...input.keybinds\n };\n if (!options.terminalSuspend) {\n keybinds.terminal_suspend = \"none\";\n if (keybinds.input_undo === undefined) {\n const inputUndo = TuiKeybind.defaultValue(\"input_undo\");\n keybinds.input_undo = [\"ctrl+z\", ...(typeof inputUndo === \"string\" ? inputUndo.split(\",\") : [])].filter((value, index, values) => values.indexOf(value) === index).join(\",\");\n }\n }\n return {\n ...input,\n attention: {\n enabled: input.attention?.enabled ?? false,\n notifications: input.attention?.notifications ?? true,\n sound: input.attention?.sound ?? true,\n volume: input.attention?.volume ?? 0.4,\n sound_pack: input.attention?.sound_pack ?? \"opencode.default\",\n sounds: input.attention?.sounds ?? {}\n },\n keybinds: createBindingLookup(TuiKeybind.toBindingConfig(TuiKeybind.parse(keybinds)), {\n commandMap: TuiKeybind.CommandMap,\n bindingDefaults: TuiKeybind.bindingDefaults()\n }),\n leader_timeout: input.leader_timeout ?? LeaderTimeoutDefault,\n mouse: input.mouse ?? true\n };\n}\nconst ConfigContext = createContext();\nexport function TuiConfigProvider(props) {\n return _$createComponent(ConfigContext.Provider, {\n get value() {\n return props.config;\n },\n get children() {\n return props.children;\n }\n });\n}\nexport function useTuiConfig() {\n const value = useContext(ConfigContext);\n if (!value) throw new Error(\"TuiConfigProvider is missing\");\n return value;\n}" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "12C074BF2032201364756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260603001617_session_message_projection_indexes.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260603001617_session_message_projection_indexes\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`DROP INDEX IF EXISTS \\`session_message_session_idx\\`;`)\n yield* tx.run(`DROP INDEX IF EXISTS \\`session_message_session_type_idx\\`;`)\n yield* tx.run(`CREATE INDEX \\`event_aggregate_seq_idx\\` ON \\`event\\` (\\`aggregate_id\\`,\\`seq\\`);`)\n yield* tx.run(\n `CREATE INDEX \\`session_message_session_time_created_id_idx\\` ON \\`session_message\\` (\\`session_id\\`,\\`time_created\\`,\\`id\\`);`,\n )\n yield* tx.run(\n `CREATE INDEX \\`session_message_session_type_time_created_id_idx\\` ON \\`session_message\\` (\\`session_id\\`,\\`type\\`,\\`time_created\\`,\\`id\\`);`,\n )\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,oDACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,qDAAuD,EACrE,MAAO,EAAG,IAAI,0DAA4D,EAC1E,MAAO,EAAG,IAAI,2EAAmF,EACjG,MAAO,EAAG,IACR,qHACF,EACA,MAAO,EAAG,IACR,iIACF,EACD,EAEL", | ||
| "debugId": "31F4419E3BD9A59364756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "C62BC18F9209DF1364756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["src/commands/handlers/api.ts"], | ||
| "sourcesContent": [ | ||
| "import { EOL } from \"node:os\"\nimport { Effect, Option } from \"effect\"\nimport { Commands } from \"../commands\"\nimport { Runtime } from \"../../framework/runtime\"\nimport { Service } from \"@opencode-ai/client/effect\"\nimport { ServiceConfig } from \"../../services/service-config\"\n\nconst methods = new Set([\"delete\", \"get\", \"head\", \"options\", \"patch\", \"post\", \"put\"])\n\ntype Operation = {\n operationId?: string\n}\n\ntype OpenApi = {\n paths?: Record<string, Record<string, Operation>>\n}\n\nexport default Runtime.handler(\n Commands.commands.api,\n Effect.fn(\"cli.api\")(function* (input) {\n const options = yield* ServiceConfig.options()\n const found = yield* Service.discover(options)\n const endpoint = found ?? (yield* Service.start(options))\n const params = Option.getOrElse(input.param, () => ({}))\n const request = yield* resolveRequest(endpoint, input.request, params)\n const headers = new Headers(Service.headers(endpoint))\n for (const header of input.header) {\n const index = header.indexOf(\":\")\n if (index < 1) return yield* Effect.fail(new Error(`Invalid header, expected name:value: ${header}`))\n headers.set(header.slice(0, index).trim(), header.slice(index + 1).trim())\n }\n const body = Option.getOrUndefined(input.data)\n if (body !== undefined && !headers.has(\"content-type\")) headers.set(\"content-type\", \"application/json\")\n\n const response = yield* Effect.tryPromise(() =>\n fetch(new URL(request.path, endpoint.url), {\n method: request.method,\n headers,\n body,\n }),\n )\n const output = yield* Effect.promise(() => response.text())\n if (output) process.stdout.write(output + (output.endsWith(EOL) ? \"\" : EOL))\n }),\n)\n\nexport function resolveOperation(spec: OpenApi, operationID: string, params: Record<string, string>) {\n for (const [path, operations] of Object.entries(spec.paths ?? {})) {\n for (const [method, operation] of Object.entries(operations)) {\n if (!methods.has(method) || operation.operationId !== operationID) continue\n return { method: method.toUpperCase(), path: interpolate(path, params) }\n }\n }\n throw new Error(`Operation not found: ${operationID}`)\n}\n\nexport function rawRequest(input: readonly string[]) {\n if (input.length !== 2 || !methods.has(input[0].toLowerCase()) || !input[1].startsWith(\"/\")) return\n return { method: input[0].toUpperCase(), path: input[1] }\n}\n\nfunction resolveRequest(\n endpoint: Service.Endpoint,\n input: readonly string[],\n params: Record<string, string>,\n) {\n const raw = rawRequest(input)\n if (raw) return Effect.succeed(raw)\n if (input.length !== 1) return Effect.fail(new Error(\"Expected an operation name or an HTTP method and path\"))\n return Effect.tryPromise(async () => {\n const response = await fetch(new URL(\"/openapi.json\", endpoint.url), { headers: Service.headers(endpoint) })\n if (!response.ok) throw new Error(`Failed to load OpenAPI document: HTTP ${response.status}`)\n return resolveOperation((await response.json()) as OpenApi, input[0], params)\n })\n}\n\nfunction interpolate(path: string, params: Record<string, string>) {\n const used = new Set<string>()\n const pathname = path.replaceAll(/\\{([^}]+)\\}/g, (_, name: string) => {\n const value = params[name]\n if (value === undefined) throw new Error(`Missing path parameter: ${name}`)\n used.add(name)\n return encodeURIComponent(value)\n })\n const query = new URLSearchParams(Object.entries(params).filter(([name]) => !used.has(name))).toString()\n return query ? `${pathname}?${query}` : pathname\n}\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "8D9F1316BFF0794664756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/tslib@2.8.1/node_modules/tslib/tslib.js", "../../node_modules/.bun/@smithy+is-array-buffer@2.2.0/node_modules/@smithy/is-array-buffer/dist-cjs/index.js", "../../node_modules/.bun/@smithy+util-buffer-from@2.2.0/node_modules/@smithy/util-buffer-from/dist-cjs/index.js", "../../node_modules/.bun/@smithy+util-utf8@2.3.0/node_modules/@smithy/util-utf8/dist-cjs/index.js", "../../node_modules/.bun/@aws-crypto+util@5.2.0/node_modules/@aws-crypto/util/build/main/convertToBuffer.js", "../../node_modules/.bun/@aws-crypto+util@5.2.0/node_modules/@aws-crypto/util/build/main/isEmptyData.js", "../../node_modules/.bun/@aws-crypto+util@5.2.0/node_modules/@aws-crypto/util/build/main/numToUint8.js", "../../node_modules/.bun/@aws-crypto+util@5.2.0/node_modules/@aws-crypto/util/build/main/uint32ArrayFrom.js", "../../node_modules/.bun/@aws-crypto+util@5.2.0/node_modules/@aws-crypto/util/build/main/index.js", "../../node_modules/.bun/@aws-crypto+crc32@5.2.0/node_modules/@aws-crypto/crc32/build/main/aws_crc32.js", "../../node_modules/.bun/@aws-crypto+crc32@5.2.0/node_modules/@aws-crypto/crc32/build/main/index.js"], | ||
| "sourcesContent": [ | ||
| "/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global global, define, Symbol, Reflect, Promise, SuppressedError, Iterator */\r\nvar __extends;\r\nvar __assign;\r\nvar __rest;\r\nvar __decorate;\r\nvar __param;\r\nvar __esDecorate;\r\nvar __runInitializers;\r\nvar __propKey;\r\nvar __setFunctionName;\r\nvar __metadata;\r\nvar __awaiter;\r\nvar __generator;\r\nvar __exportStar;\r\nvar __values;\r\nvar __read;\r\nvar __spread;\r\nvar __spreadArrays;\r\nvar __spreadArray;\r\nvar __await;\r\nvar __asyncGenerator;\r\nvar __asyncDelegator;\r\nvar __asyncValues;\r\nvar __makeTemplateObject;\r\nvar __importStar;\r\nvar __importDefault;\r\nvar __classPrivateFieldGet;\r\nvar __classPrivateFieldSet;\r\nvar __classPrivateFieldIn;\r\nvar __createBinding;\r\nvar __addDisposableResource;\r\nvar __disposeResources;\r\nvar __rewriteRelativeImportExtension;\r\n(function (factory) {\r\n var root = typeof global === \"object\" ? global : typeof self === \"object\" ? self : typeof this === \"object\" ? this : {};\r\n if (typeof define === \"function\" && define.amd) {\r\n define(\"tslib\", [\"exports\"], function (exports) { factory(createExporter(root, createExporter(exports))); });\r\n }\r\n else if (typeof module === \"object\" && typeof module.exports === \"object\") {\r\n factory(createExporter(root, createExporter(module.exports)));\r\n }\r\n else {\r\n factory(createExporter(root));\r\n }\r\n function createExporter(exports, previous) {\r\n if (exports !== root) {\r\n if (typeof Object.create === \"function\") {\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n }\r\n else {\r\n exports.__esModule = true;\r\n }\r\n }\r\n return function (id, v) { return exports[id] = previous ? previous(id, v) : v; };\r\n }\r\n})\r\n(function (exporter) {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n\r\n __extends = function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n\r\n __assign = Object.assign || function (t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n\r\n __rest = function (s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n };\r\n\r\n __decorate = function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n };\r\n\r\n __param = function (paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n };\r\n\r\n __esDecorate = function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n };\r\n\r\n __runInitializers = function (thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n };\r\n\r\n __propKey = function (x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n };\r\n\r\n __setFunctionName = function (f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n };\r\n\r\n __metadata = function (metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n };\r\n\r\n __awaiter = function (thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n };\r\n\r\n __generator = function (thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n };\r\n\r\n __exportStar = function(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n };\r\n\r\n __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n }) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n });\r\n\r\n __values = function (o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n };\r\n\r\n __read = function (o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n };\r\n\r\n /** @deprecated */\r\n __spread = function () {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n };\r\n\r\n /** @deprecated */\r\n __spreadArrays = function () {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n };\r\n\r\n __spreadArray = function (to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n };\r\n\r\n __await = function (v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n };\r\n\r\n __asyncGenerator = function (thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n };\r\n\r\n __asyncDelegator = function (o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n };\r\n\r\n __asyncValues = function (o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n };\r\n\r\n __makeTemplateObject = function (cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n };\r\n\r\n var __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n }) : function(o, v) {\r\n o[\"default\"] = v;\r\n };\r\n\r\n var ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n };\r\n\r\n __importStar = function (mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n };\r\n\r\n __importDefault = function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n };\r\n\r\n __classPrivateFieldGet = function (receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n };\r\n\r\n __classPrivateFieldSet = function (receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n };\r\n\r\n __classPrivateFieldIn = function (state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n };\r\n\r\n __addDisposableResource = function (env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n };\r\n\r\n var _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n };\r\n\r\n __disposeResources = function (env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n };\r\n\r\n __rewriteRelativeImportExtension = function (path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n };\r\n\r\n exporter(\"__extends\", __extends);\r\n exporter(\"__assign\", __assign);\r\n exporter(\"__rest\", __rest);\r\n exporter(\"__decorate\", __decorate);\r\n exporter(\"__param\", __param);\r\n exporter(\"__esDecorate\", __esDecorate);\r\n exporter(\"__runInitializers\", __runInitializers);\r\n exporter(\"__propKey\", __propKey);\r\n exporter(\"__setFunctionName\", __setFunctionName);\r\n exporter(\"__metadata\", __metadata);\r\n exporter(\"__awaiter\", __awaiter);\r\n exporter(\"__generator\", __generator);\r\n exporter(\"__exportStar\", __exportStar);\r\n exporter(\"__createBinding\", __createBinding);\r\n exporter(\"__values\", __values);\r\n exporter(\"__read\", __read);\r\n exporter(\"__spread\", __spread);\r\n exporter(\"__spreadArrays\", __spreadArrays);\r\n exporter(\"__spreadArray\", __spreadArray);\r\n exporter(\"__await\", __await);\r\n exporter(\"__asyncGenerator\", __asyncGenerator);\r\n exporter(\"__asyncDelegator\", __asyncDelegator);\r\n exporter(\"__asyncValues\", __asyncValues);\r\n exporter(\"__makeTemplateObject\", __makeTemplateObject);\r\n exporter(\"__importStar\", __importStar);\r\n exporter(\"__importDefault\", __importDefault);\r\n exporter(\"__classPrivateFieldGet\", __classPrivateFieldGet);\r\n exporter(\"__classPrivateFieldSet\", __classPrivateFieldSet);\r\n exporter(\"__classPrivateFieldIn\", __classPrivateFieldIn);\r\n exporter(\"__addDisposableResource\", __addDisposableResource);\r\n exporter(\"__disposeResources\", __disposeResources);\r\n exporter(\"__rewriteRelativeImportExtension\", __rewriteRelativeImportExtension);\r\n});\r\n\r\n0 && (module.exports = {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __exportStar: __exportStar,\r\n __createBinding: __createBinding,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n});\r\n", | ||
| "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar src_exports = {};\n__export(src_exports, {\n isArrayBuffer: () => isArrayBuffer\n});\nmodule.exports = __toCommonJS(src_exports);\nvar isArrayBuffer = /* @__PURE__ */ __name((arg) => typeof ArrayBuffer === \"function\" && arg instanceof ArrayBuffer || Object.prototype.toString.call(arg) === \"[object ArrayBuffer]\", \"isArrayBuffer\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n isArrayBuffer\n});\n\n", | ||
| "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar src_exports = {};\n__export(src_exports, {\n fromArrayBuffer: () => fromArrayBuffer,\n fromString: () => fromString\n});\nmodule.exports = __toCommonJS(src_exports);\nvar import_is_array_buffer = require(\"@smithy/is-array-buffer\");\nvar import_buffer = require(\"buffer\");\nvar fromArrayBuffer = /* @__PURE__ */ __name((input, offset = 0, length = input.byteLength - offset) => {\n if (!(0, import_is_array_buffer.isArrayBuffer)(input)) {\n throw new TypeError(`The \"input\" argument must be ArrayBuffer. Received type ${typeof input} (${input})`);\n }\n return import_buffer.Buffer.from(input, offset, length);\n}, \"fromArrayBuffer\");\nvar fromString = /* @__PURE__ */ __name((input, encoding) => {\n if (typeof input !== \"string\") {\n throw new TypeError(`The \"input\" argument must be of type string. Received type ${typeof input} (${input})`);\n }\n return encoding ? import_buffer.Buffer.from(input, encoding) : import_buffer.Buffer.from(input);\n}, \"fromString\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n fromArrayBuffer,\n fromString\n});\n\n", | ||
| "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar src_exports = {};\n__export(src_exports, {\n fromUtf8: () => fromUtf8,\n toUint8Array: () => toUint8Array,\n toUtf8: () => toUtf8\n});\nmodule.exports = __toCommonJS(src_exports);\n\n// src/fromUtf8.ts\nvar import_util_buffer_from = require(\"@smithy/util-buffer-from\");\nvar fromUtf8 = /* @__PURE__ */ __name((input) => {\n const buf = (0, import_util_buffer_from.fromString)(input, \"utf8\");\n return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength / Uint8Array.BYTES_PER_ELEMENT);\n}, \"fromUtf8\");\n\n// src/toUint8Array.ts\nvar toUint8Array = /* @__PURE__ */ __name((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}, \"toUint8Array\");\n\n// src/toUtf8.ts\n\nvar toUtf8 = /* @__PURE__ */ __name((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 (0, import_util_buffer_from.fromArrayBuffer)(input.buffer, input.byteOffset, input.byteLength).toString(\"utf8\");\n}, \"toUtf8\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n fromUtf8,\n toUint8Array,\n toUtf8\n});\n\n", | ||
| "\"use strict\";\n// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.convertToBuffer = void 0;\nvar util_utf8_1 = require(\"@smithy/util-utf8\");\n// Quick polyfill\nvar fromUtf8 = typeof Buffer !== \"undefined\" && Buffer.from\n ? function (input) { return Buffer.from(input, \"utf8\"); }\n : util_utf8_1.fromUtf8;\nfunction convertToBuffer(data) {\n // Already a Uint8, do nothing\n if (data instanceof Uint8Array)\n return 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}\nexports.convertToBuffer = convertToBuffer;\n//# sourceMappingURL=convertToBuffer.js.map", | ||
| "\"use strict\";\n// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isEmptyData = void 0;\nfunction isEmptyData(data) {\n if (typeof data === \"string\") {\n return data.length === 0;\n }\n return data.byteLength === 0;\n}\nexports.isEmptyData = isEmptyData;\n//# sourceMappingURL=isEmptyData.js.map", | ||
| "\"use strict\";\n// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.numToUint8 = void 0;\nfunction numToUint8(num) {\n return new Uint8Array([\n (num & 0xff000000) >> 24,\n (num & 0x00ff0000) >> 16,\n (num & 0x0000ff00) >> 8,\n num & 0x000000ff,\n ]);\n}\nexports.numToUint8 = numToUint8;\n//# sourceMappingURL=numToUint8.js.map", | ||
| "\"use strict\";\n// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.uint32ArrayFrom = void 0;\n// IE 11 does not support Array.from, so we do it manually\nfunction uint32ArrayFrom(a_lookUpTable) {\n if (!Uint32Array.from) {\n var return_array = new Uint32Array(a_lookUpTable.length);\n var a_index = 0;\n while (a_index < a_lookUpTable.length) {\n return_array[a_index] = a_lookUpTable[a_index];\n a_index += 1;\n }\n return return_array;\n }\n return Uint32Array.from(a_lookUpTable);\n}\nexports.uint32ArrayFrom = uint32ArrayFrom;\n//# sourceMappingURL=uint32ArrayFrom.js.map", | ||
| "\"use strict\";\n// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.uint32ArrayFrom = exports.numToUint8 = exports.isEmptyData = exports.convertToBuffer = void 0;\nvar convertToBuffer_1 = require(\"./convertToBuffer\");\nObject.defineProperty(exports, \"convertToBuffer\", { enumerable: true, get: function () { return convertToBuffer_1.convertToBuffer; } });\nvar isEmptyData_1 = require(\"./isEmptyData\");\nObject.defineProperty(exports, \"isEmptyData\", { enumerable: true, get: function () { return isEmptyData_1.isEmptyData; } });\nvar numToUint8_1 = require(\"./numToUint8\");\nObject.defineProperty(exports, \"numToUint8\", { enumerable: true, get: function () { return numToUint8_1.numToUint8; } });\nvar uint32ArrayFrom_1 = require(\"./uint32ArrayFrom\");\nObject.defineProperty(exports, \"uint32ArrayFrom\", { enumerable: true, get: function () { return uint32ArrayFrom_1.uint32ArrayFrom; } });\n//# sourceMappingURL=index.js.map", | ||
| "\"use strict\";\n// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AwsCrc32 = void 0;\nvar tslib_1 = require(\"tslib\");\nvar util_1 = require(\"@aws-crypto/util\");\nvar index_1 = require(\"./index\");\nvar AwsCrc32 = /** @class */ (function () {\n function AwsCrc32() {\n this.crc32 = new index_1.Crc32();\n }\n AwsCrc32.prototype.update = function (toHash) {\n if ((0, util_1.isEmptyData)(toHash))\n return;\n this.crc32.update((0, util_1.convertToBuffer)(toHash));\n };\n AwsCrc32.prototype.digest = function () {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n return tslib_1.__generator(this, function (_a) {\n return [2 /*return*/, (0, util_1.numToUint8)(this.crc32.digest())];\n });\n });\n };\n AwsCrc32.prototype.reset = function () {\n this.crc32 = new index_1.Crc32();\n };\n return AwsCrc32;\n}());\nexports.AwsCrc32 = AwsCrc32;\n//# sourceMappingURL=aws_crc32.js.map", | ||
| "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AwsCrc32 = exports.Crc32 = exports.crc32 = void 0;\nvar tslib_1 = require(\"tslib\");\nvar util_1 = require(\"@aws-crypto/util\");\nfunction crc32(data) {\n return new Crc32().update(data).digest();\n}\nexports.crc32 = crc32;\nvar Crc32 = /** @class */ (function () {\n function Crc32() {\n this.checksum = 0xffffffff;\n }\n Crc32.prototype.update = function (data) {\n var e_1, _a;\n try {\n for (var data_1 = tslib_1.__values(data), data_1_1 = data_1.next(); !data_1_1.done; data_1_1 = data_1.next()) {\n var byte = data_1_1.value;\n this.checksum =\n (this.checksum >>> 8) ^ lookupTable[(this.checksum ^ byte) & 0xff];\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (data_1_1 && !data_1_1.done && (_a = data_1.return)) _a.call(data_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return this;\n };\n Crc32.prototype.digest = function () {\n return (this.checksum ^ 0xffffffff) >>> 0;\n };\n return Crc32;\n}());\nexports.Crc32 = Crc32;\n// prettier-ignore\nvar a_lookUpTable = [\n 0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA,\n 0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3,\n 0x0EDB8832, 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988,\n 0x09B64C2B, 0x7EB17CBD, 0xE7B82D07, 0x90BF1D91,\n 0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE,\n 0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7,\n 0x136C9856, 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC,\n 0x14015C4F, 0x63066CD9, 0xFA0F3D63, 0x8D080DF5,\n 0x3B6E20C8, 0x4C69105E, 0xD56041E4, 0xA2677172,\n 0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B,\n 0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940,\n 0x32D86CE3, 0x45DF5C75, 0xDCD60DCF, 0xABD13D59,\n 0x26D930AC, 0x51DE003A, 0xC8D75180, 0xBFD06116,\n 0x21B4F4B5, 0x56B3C423, 0xCFBA9599, 0xB8BDA50F,\n 0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924,\n 0x2F6F7C87, 0x58684C11, 0xC1611DAB, 0xB6662D3D,\n 0x76DC4190, 0x01DB7106, 0x98D220BC, 0xEFD5102A,\n 0x71B18589, 0x06B6B51F, 0x9FBFE4A5, 0xE8B8D433,\n 0x7807C9A2, 0x0F00F934, 0x9609A88E, 0xE10E9818,\n 0x7F6A0DBB, 0x086D3D2D, 0x91646C97, 0xE6635C01,\n 0x6B6B51F4, 0x1C6C6162, 0x856530D8, 0xF262004E,\n 0x6C0695ED, 0x1B01A57B, 0x8208F4C1, 0xF50FC457,\n 0x65B0D9C6, 0x12B7E950, 0x8BBEB8EA, 0xFCB9887C,\n 0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3, 0xFBD44C65,\n 0x4DB26158, 0x3AB551CE, 0xA3BC0074, 0xD4BB30E2,\n 0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB,\n 0x4369E96A, 0x346ED9FC, 0xAD678846, 0xDA60B8D0,\n 0x44042D73, 0x33031DE5, 0xAA0A4C5F, 0xDD0D7CC9,\n 0x5005713C, 0x270241AA, 0xBE0B1010, 0xC90C2086,\n 0x5768B525, 0x206F85B3, 0xB966D409, 0xCE61E49F,\n 0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4,\n 0x59B33D17, 0x2EB40D81, 0xB7BD5C3B, 0xC0BA6CAD,\n 0xEDB88320, 0x9ABFB3B6, 0x03B6E20C, 0x74B1D29A,\n 0xEAD54739, 0x9DD277AF, 0x04DB2615, 0x73DC1683,\n 0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8,\n 0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1,\n 0xF00F9344, 0x8708A3D2, 0x1E01F268, 0x6906C2FE,\n 0xF762575D, 0x806567CB, 0x196C3671, 0x6E6B06E7,\n 0xFED41B76, 0x89D32BE0, 0x10DA7A5A, 0x67DD4ACC,\n 0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5,\n 0xD6D6A3E8, 0xA1D1937E, 0x38D8C2C4, 0x4FDFF252,\n 0xD1BB67F1, 0xA6BC5767, 0x3FB506DD, 0x48B2364B,\n 0xD80D2BDA, 0xAF0A1B4C, 0x36034AF6, 0x41047A60,\n 0xDF60EFC3, 0xA867DF55, 0x316E8EEF, 0x4669BE79,\n 0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236,\n 0xCC0C7795, 0xBB0B4703, 0x220216B9, 0x5505262F,\n 0xC5BA3BBE, 0xB2BD0B28, 0x2BB45A92, 0x5CB36A04,\n 0xC2D7FFA7, 0xB5D0CF31, 0x2CD99E8B, 0x5BDEAE1D,\n 0x9B64C2B0, 0xEC63F226, 0x756AA39C, 0x026D930A,\n 0x9C0906A9, 0xEB0E363F, 0x72076785, 0x05005713,\n 0x95BF4A82, 0xE2B87A14, 0x7BB12BAE, 0x0CB61B38,\n 0x92D28E9B, 0xE5D5BE0D, 0x7CDCEFB7, 0x0BDBDF21,\n 0x86D3D2D4, 0xF1D4E242, 0x68DDB3F8, 0x1FDA836E,\n 0x81BE16CD, 0xF6B9265B, 0x6FB077E1, 0x18B74777,\n 0x88085AE6, 0xFF0F6A70, 0x66063BCA, 0x11010B5C,\n 0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45,\n 0xA00AE278, 0xD70DD2EE, 0x4E048354, 0x3903B3C2,\n 0xA7672661, 0xD06016F7, 0x4969474D, 0x3E6E77DB,\n 0xAED16A4A, 0xD9D65ADC, 0x40DF0B66, 0x37D83BF0,\n 0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9,\n 0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6,\n 0xBAD03605, 0xCDD70693, 0x54DE5729, 0x23D967BF,\n 0xB3667A2E, 0xC4614AB8, 0x5D681B02, 0x2A6F2B94,\n 0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D,\n];\nvar lookupTable = (0, util_1.uint32ArrayFrom)(a_lookUpTable);\nvar aws_crc32_1 = require(\"./aws_crc32\");\nObject.defineProperty(exports, \"AwsCrc32\", { enumerable: true, get: function () { return aws_crc32_1.AwsCrc32; } });\n//# sourceMappingURL=index.js.map" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "47A0B4A3DB724B2464756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260213144116_wakeful_the_professor.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260213144116_wakeful_the_professor\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`\n CREATE TABLE \\`control_account\\` (\n \\`email\\` text NOT NULL,\n \\`url\\` text NOT NULL,\n \\`access_token\\` text NOT NULL,\n \\`refresh_token\\` text NOT NULL,\n \\`token_expiry\\` integer,\n \\`active\\` integer NOT NULL,\n \\`time_created\\` integer NOT NULL,\n \\`time_updated\\` integer NOT NULL,\n CONSTRAINT \\`control_account_pk\\` PRIMARY KEY(\\`email\\`, \\`url\\`)\n );\n `)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,uCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,6bAYb,EACF,EAEL", | ||
| "debugId": "39035F32F3269F9164756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "B75F15066AC052B964756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["../tui/src/util/locale.ts"], | ||
| "sourcesContent": [ | ||
| "export function titlecase(str: string) {\n return str.replace(/\\b\\w/g, (c) => c.toUpperCase())\n}\n\nexport function time(input: number): string {\n const date = new Date(input)\n return date.toLocaleTimeString(undefined, { timeStyle: \"short\" })\n}\n\nexport function datetime(input: number): string {\n const date = new Date(input)\n const localTime = time(input)\n const localDate = date.toLocaleDateString()\n return `${localTime} · ${localDate}`\n}\n\nexport function todayTimeOrDateTime(input: number): string {\n const date = new Date(input)\n const now = new Date()\n const isToday =\n date.getFullYear() === now.getFullYear() && date.getMonth() === now.getMonth() && date.getDate() === now.getDate()\n\n if (isToday) {\n return time(input)\n } else {\n return datetime(input)\n }\n}\n\nexport function number(num: number): string {\n if (num >= 1000000) {\n return (num / 1000000).toFixed(1) + \"M\"\n } else if (num >= 1000) {\n return (num / 1000).toFixed(1) + \"K\"\n }\n return num.toString()\n}\n\nexport function duration(input: number) {\n if (input < 1000) {\n return `${input}ms`\n }\n if (input < 60000) {\n return `${(input / 1000).toFixed(1)}s`\n }\n if (input < 3600000) {\n const minutes = Math.floor(input / 60000)\n const seconds = Math.floor((input % 60000) / 1000)\n return `${minutes}m ${seconds}s`\n }\n if (input < 86400000) {\n const hours = Math.floor(input / 3600000)\n const minutes = Math.floor((input % 3600000) / 60000)\n return `${hours}h ${minutes}m`\n }\n const days = Math.floor(input / 86400000)\n const hours = Math.floor((input % 86400000) / 3600000)\n return `${days}d ${hours}h`\n}\n\nexport function truncate(str: string, len: number): string {\n if (str.length <= len) return str\n return str.slice(0, len - 1) + \"…\"\n}\n\nexport function truncateLeft(str: string, len: number): string {\n if (str.length <= len) return str\n return \"…\" + str.slice(-(len - 1))\n}\n\nexport function truncateMiddle(str: string, maxLength: number = 35): string {\n if (str.length <= maxLength) return str\n\n const ellipsis = \"…\"\n const keepStart = Math.ceil((maxLength - ellipsis.length) / 2)\n const keepEnd = Math.floor((maxLength - ellipsis.length) / 2)\n\n return str.slice(0, keepStart) + ellipsis + str.slice(-keepEnd)\n}\n\nexport function pluralize(count: number, singular: string, plural: string): string {\n const template = count === 1 ? singular : plural\n return template.replace(\"{}\", count.toString())\n}\n\nexport * as Locale from \"./locale\"\n" | ||
| ], | ||
| "mappings": ";wPAAO,SAAS,CAAS,CAAC,EAAa,CACrC,OAAO,EAAI,QAAQ,QAAS,CAAC,IAAM,EAAE,YAAY,CAAC,EAG7C,SAAS,CAAI,CAAC,EAAuB,CAE1C,OADa,IAAI,KAAK,CAAK,EACf,mBAAmB,OAAW,CAAE,UAAW,OAAQ,CAAC,EAG3D,SAAS,CAAQ,CAAC,EAAuB,CAC9C,IAAM,EAAO,IAAI,KAAK,CAAK,EACrB,EAAY,EAAK,CAAK,EACtB,EAAY,EAAK,mBAAmB,EAC1C,MAAO,GAAG,UAAc,IAGnB,SAAS,CAAmB,CAAC,EAAuB,CACzD,IAAM,EAAO,IAAI,KAAK,CAAK,EACrB,EAAM,IAAI,KAIhB,GAFE,EAAK,YAAY,IAAM,EAAI,YAAY,GAAK,EAAK,SAAS,IAAM,EAAI,SAAS,GAAK,EAAK,QAAQ,IAAM,EAAI,QAAQ,EAGjH,OAAO,EAAK,CAAK,EAEjB,YAAO,EAAS,CAAK,EAIlB,SAAS,CAAM,CAAC,EAAqB,CAC1C,GAAI,GAAO,IACT,OAAQ,EAAM,KAAS,QAAQ,CAAC,EAAI,IAC/B,QAAI,GAAO,KAChB,OAAQ,EAAM,MAAM,QAAQ,CAAC,EAAI,IAEnC,OAAO,EAAI,SAAS,EAGf,SAAS,CAAQ,CAAC,EAAe,CACtC,GAAI,EAAQ,KACV,MAAO,GAAG,MAEZ,GAAI,EAAQ,MACV,MAAO,IAAI,EAAQ,MAAM,QAAQ,CAAC,KAEpC,GAAI,EAAQ,QAAS,CACnB,IAAM,EAAU,KAAK,MAAM,EAAQ,KAAK,EAClC,EAAU,KAAK,MAAO,EAAQ,MAAS,IAAI,EACjD,MAAO,GAAG,MAAY,KAExB,GAAI,EAAQ,SAAU,CACpB,IAAM,EAAQ,KAAK,MAAM,EAAQ,OAAO,EAClC,EAAU,KAAK,MAAO,EAAQ,QAAW,KAAK,EACpD,MAAO,GAAG,MAAU,KAEtB,IAAM,EAAO,KAAK,MAAM,EAAQ,QAAQ,EAClC,EAAQ,KAAK,MAAO,EAAQ,SAAY,OAAO,EACrD,MAAO,GAAG,MAAS,KAGd,SAAS,CAAQ,CAAC,EAAa,EAAqB,CACzD,GAAI,EAAI,QAAU,EAAK,OAAO,EAC9B,OAAO,EAAI,MAAM,EAAG,EAAM,CAAC,EAAI,SAG1B,SAAS,CAAY,CAAC,EAAa,EAAqB,CAC7D,GAAI,EAAI,QAAU,EAAK,OAAO,EAC9B,MAAO,SAAK,EAAI,MAAM,EAAE,EAAM,EAAE,EAG3B,SAAS,CAAc,CAAC,EAAa,EAAoB,GAAY,CAC1E,GAAI,EAAI,QAAU,EAAW,OAAO,EAEpC,IAAM,EAAW,SACX,EAAY,KAAK,MAAM,EAAY,EAAS,QAAU,CAAC,EACvD,EAAU,KAAK,OAAO,EAAY,EAAS,QAAU,CAAC,EAE5D,OAAO,EAAI,MAAM,EAAG,CAAS,EAAI,EAAW,EAAI,MAAM,CAAC,CAAO,EAGzD,SAAS,CAAS,CAAC,EAAe,EAAkB,EAAwB,CAEjF,OADiB,IAAU,EAAI,EAAW,GAC1B,QAAQ,KAAM,EAAM,SAAS,CAAC", | ||
| "debugId": "F001F7C7D2B3852C64756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260611035744_credential.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260611035744_credential\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`\n CREATE TABLE \\`credential\\` (\n \\`id\\` text PRIMARY KEY,\n \\`connector_id\\` text NOT NULL,\n \\`method_id\\` text NOT NULL,\n \\`label\\` text NOT NULL,\n \\`value\\` text NOT NULL,\n \\`active\\` integer DEFAULT false NOT NULL,\n \\`time_created\\` integer NOT NULL,\n \\`time_updated\\` integer NOT NULL\n );\n `)\n yield* tx.run(\n `CREATE UNIQUE INDEX \\`credential_connector_active_idx\\` ON \\`credential\\` (\\`connector_id\\`) WHERE \"credential\".\"active\" = 1;`,\n )\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,4BACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,2XAWb,EACD,MAAO,EAAG,IACR,yHACF,EACD,EAEL", | ||
| "debugId": "824FAE06498CFC3164756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@ai-sdk+perplexity@3.0.26+d6123d32214422cb/node_modules/@ai-sdk/perplexity/dist/index.mjs"], | ||
| "sourcesContent": [ | ||
| "// 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" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "84F62552E1AE747764756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["src/commands/handlers/link.ts"], | ||
| "sourcesContent": [ | ||
| "import { EOL } from \"os\"\nimport { Effect } from \"effect\"\nimport { Service } from \"@opencode-ai/client/effect\"\nimport { OpenCode } from \"@opencode-ai/client/promise\"\nimport { renderUnicodeCompact } from \"uqr\"\nimport { Commands } from \"../commands\"\nimport { Runtime } from \"../../framework/runtime\"\nimport { ServiceConfig } from \"../../services/service-config\"\n\nexport default Runtime.handler(\n Commands.commands.link,\n Effect.fn(\"cli.link\")(function* () {\n const endpoint = yield* Service.start(yield* ServiceConfig.options())\n const password = yield* ServiceConfig.password()\n const server = yield* Effect.tryPromise(() =>\n OpenCode.make({ baseUrl: endpoint.url, headers: Service.headers(endpoint) }).server.get(),\n )\n const info = { urls: server.urls, username: \"opencode\", password }\n process.stdout.write(\n [\n \"\",\n ` URLs ${info.urls[0] ?? \"(none)\"}`,\n ...info.urls.slice(1).map((url) => ` ${url}`),\n ` Username ${info.username}`,\n ` Password ${info.password}`,\n \"\",\n \" Scan to connect\",\n \"\",\n renderUnicodeCompact(JSON.stringify(info), { border: 2 })\n .split(EOL)\n .map((line) => \" \" + line)\n .join(EOL),\n \"\",\n ].join(EOL) + EOL,\n )\n\n const hostname = new URL(endpoint.url).hostname\n if (![\"localhost\", \"127.0.0.1\", \"[::1]\"].includes(hostname)) return\n process.stderr.write(\n ` Run \\`opencode service set hostname 0.0.0.0\\` to access the service remotely.${EOL}${EOL}`,\n )\n }),\n)\n" | ||
| ], | ||
| "mappings": ";guBAAA,mBAAS,gBAST,SAAe,SAAQ,aACrB,OAAS,cAAS,UAClB,OAAO,QAAG,eAAU,OAAE,cAAU,OAAG,MACjC,SAAM,OAAW,WAAO,EAAQ,MAAM,MAAO,EAAc,QAAQ,CAAC,EAC9D,EAAW,MAAO,EAAc,SAAS,EAIzC,EAAO,CAAE,MAHA,MAAO,EAAO,WAAW,IACtC,EAAS,KAAK,CAAE,QAAS,EAAS,IAAK,QAAS,EAAQ,QAAQ,CAAQ,CAAE,CAAC,EAAE,OAAO,IAAI,CAC1F,GAC4B,KAAM,SAAU,WAAY,UAAS,EACjE,QAAQ,OAAO,MACb,CACE,GACA,eAAe,EAAK,KAAK,IAAM,WAC/B,GAAG,EAAK,KAAK,MAAM,CAAC,EAAE,IAAI,CAAC,IAAQ,eAAe,GAAK,EACvD,eAAe,EAAK,WACpB,eAAe,EAAK,WACpB,GACA,oBACA,GACA,EAAqB,KAAK,UAAU,CAAI,EAAG,CAAE,OAAQ,CAAE,CAAC,EACrD,MAAM,CAAG,EACT,IAAI,CAAC,IAAS,KAAO,CAAI,EACzB,KAAK,CAAG,EACX,EACF,EAAE,KAAK,CAAG,EAAI,CAChB,EAEA,IAAM,EAAW,IAAI,IAAI,EAAS,GAAG,EAAE,SACvC,GAAI,CAAC,CAAC,YAAa,YAAa,OAAO,EAAE,SAAS,CAAQ,EAAG,OAC7D,QAAQ,OAAO,MACb,kFAAkF,IAAM,GAC1F,EACD,CACH", | ||
| "debugId": "FE73924AA3110FAE64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../schema/src/llm.ts"], | ||
| "sourcesContent": [ | ||
| "export * as LLM from \"./llm.js\"\n\nimport { Schema } from \"effect\"\nimport { optional } from \"./schema.js\"\n\nexport const ProviderMetadata = Schema.Record(Schema.String, Schema.Record(Schema.String, Schema.Unknown)).annotate({\n identifier: \"LLM.ProviderMetadata\",\n})\nexport type ProviderMetadata = Schema.Schema.Type<typeof ProviderMetadata>\n\nexport const FinishReason = Schema.Literals([\"stop\", \"length\", \"tool-calls\", \"content-filter\", \"error\", \"unknown\"])\nexport type FinishReason = typeof FinishReason.Type\n\nexport interface ToolTextContent extends Schema.Schema.Type<typeof ToolTextContent> {}\nexport const ToolTextContent = Schema.Struct({\n type: Schema.Literal(\"text\"),\n text: Schema.String,\n}).annotate({ identifier: \"Tool.TextContent\" })\n\nexport interface ToolFileContent extends Schema.Schema.Type<typeof ToolFileContent> {}\nexport const ToolFileContent = Schema.Struct({\n type: Schema.Literal(\"file\"),\n uri: Schema.String,\n mime: Schema.String,\n name: optional(Schema.String),\n}).annotate({ identifier: \"Tool.FileContent\" })\n\nexport const ToolContent = Schema.Union([ToolTextContent, ToolFileContent])\n .pipe(Schema.toTaggedUnion(\"type\"))\n .annotate({ identifier: \"LLM.ToolContent\" })\nexport type ToolContent = Schema.Schema.Type<typeof ToolContent>\n" | ||
| ], | ||
| "mappings": ";oRAKO,SAAM,OAAmB,EAAO,OAAO,EAAO,OAAQ,EAAO,OAAO,EAAO,OAAQ,EAAO,OAAO,CAAC,EAAE,SAAS,CAClH,WAAY,sBACd,CAAC,EAGY,EAAe,EAAO,SAAS,CAAC,OAAQ,SAAU,aAAc,iBAAkB,QAAS,SAAS,CAAC,EAIrG,EAAkB,EAAO,OAAO,CAC3C,KAAM,EAAO,QAAQ,MAAM,EAC3B,KAAM,EAAO,MACf,CAAC,EAAE,SAAS,CAAE,WAAY,kBAAmB,CAAC,EAGjC,EAAkB,EAAO,OAAO,CAC3C,KAAM,EAAO,QAAQ,MAAM,EAC3B,IAAK,EAAO,OACZ,KAAM,EAAO,OACb,KAAM,EAAS,EAAO,MAAM,CAC9B,CAAC,EAAE,SAAS,CAAE,WAAY,kBAAmB,CAAC,EAEjC,EAAc,EAAO,MAAM,CAAC,EAAiB,CAAe,CAAC,EACvE,KAAK,EAAO,cAAc,MAAM,CAAC,EACjC,SAAS,CAAE,WAAY,iBAAkB,CAAC", | ||
| "debugId": "F66347CF9AFFB0E164756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260706223930_add-session-fork.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260706223930_add-session-fork\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`ALTER TABLE \\`session\\` ADD \\`fork_session_id\\` text;`)\n yield* tx.run(`ALTER TABLE \\`session\\` ADD \\`fork_message_id\\` text;`)\n yield* tx.run(`\n UPDATE \\`session\\`\n SET\n \\`parent_id\\` = NULL,\n \\`fork_session_id\\` = (\n SELECT json_extract(\\`event\\`.\\`data\\`, '$.parentID')\n FROM \\`event\\`\n WHERE \\`event\\`.\\`aggregate_id\\` = \\`session\\`.\\`id\\`\n AND \\`event\\`.\\`type\\` = 'session.forked'\n ORDER BY \\`event\\`.\\`seq\\`\n LIMIT 1\n ),\n \\`fork_message_id\\` = (\n SELECT json_extract(\\`event\\`.\\`data\\`, '$.from')\n FROM \\`event\\`\n WHERE \\`event\\`.\\`aggregate_id\\` = \\`session\\`.\\`id\\`\n AND \\`event\\`.\\`type\\` = 'session.forked'\n ORDER BY \\`event\\`.\\`seq\\`\n LIMIT 1\n )\n WHERE EXISTS (\n SELECT 1\n FROM \\`event\\`\n WHERE \\`event\\`.\\`aggregate_id\\` = \\`session\\`.\\`id\\`\n AND \\`event\\`.\\`type\\` = 'session.forked'\n );\n `)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,kCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,mDAAuD,EACrE,MAAO,EAAG,IAAI,mDAAuD,EACrE,MAAO,EAAG,IAAI,y2BA0Bb,EACF,EAEL", | ||
| "debugId": "3464832B9BD0260664756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260413175956_chief_energizer.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260413175956_chief_energizer\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`\n CREATE TABLE \\`session_entry\\` (\n \\`id\\` text PRIMARY KEY,\n \\`session_id\\` text NOT NULL,\n \\`type\\` text NOT NULL,\n \\`time_created\\` integer NOT NULL,\n \\`time_updated\\` integer NOT NULL,\n \\`data\\` text NOT NULL,\n CONSTRAINT \\`fk_session_entry_session_id_session_id_fk\\` FOREIGN KEY (\\`session_id\\`) REFERENCES \\`session\\`(\\`id\\`) ON DELETE CASCADE\n );\n `)\n yield* tx.run(`CREATE INDEX \\`session_entry_session_idx\\` ON \\`session_entry\\` (\\`session_id\\`);`)\n yield* tx.run(`CREATE INDEX \\`session_entry_session_type_idx\\` ON \\`session_entry\\` (\\`session_id\\`,\\`type\\`);`)\n yield* tx.run(`CREATE INDEX \\`session_entry_time_created_idx\\` ON \\`session_entry\\` (\\`time_created\\`);`)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,iCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,2aAUb,EACD,MAAO,EAAG,IAAI,6EAAmF,EACjG,MAAO,EAAG,IAAI,yFAAiG,EAC/G,MAAO,EAAG,IAAI,oFAA0F,EACzG,EAEL", | ||
| "debugId": "9D22F74C19BB3EE864756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["src/commands/handlers/service/stop.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport { Service } from \"@opencode-ai/client/effect\"\nimport { Commands } from \"../../commands\"\nimport { Runtime } from \"../../../framework/runtime\"\nimport { ServiceConfig } from \"../../../services/service-config\"\n\nexport default Runtime.handler(\n Commands.commands.service.commands.stop,\n Effect.fn(\"cli.service.stop\")(function* () {\n yield* Service.stop(yield* ServiceConfig.options())\n }),\n)\n" | ||
| ], | ||
| "mappings": ";moBAMA,SAAe,SAAQ,aACrB,OAAS,cAAS,aAAQ,cAAS,UACnC,OAAO,QAAG,uBAAkB,OAAE,cAAU,OAAG,MACzC,WAAO,EAAQ,KAAK,MAAO,EAAc,QAAQ,CAAC,EACnD,CACH", | ||
| "debugId": "7DF19BD9B890AE7C64756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@opentui+core-linux-x64@0.4.3/node_modules/@opentui/core-linux-x64/index.bun.js"], | ||
| "sourcesContent": [ | ||
| "const module = await import(\"./libopentui.so\", { with: { type: \"file\" } })\n\nexport default module.default\n" | ||
| ], | ||
| "mappings": ";oDAAA,IAAM,EAAS,KAAa,yCAAmB,CAAE,KAAM,CAAE,KAAM,MAAO,CAAE,GAEzD,IAAO", | ||
| "debugId": "F74B9F6BBC38E9C864756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@vercel+oidc@3.2.0/node_modules/@vercel/oidc/dist/token.js"], | ||
| "sourcesContent": [ | ||
| "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar token_exports = {};\n__export(token_exports, {\n refreshToken: () => refreshToken\n});\nmodule.exports = __toCommonJS(token_exports);\nvar import_token_error = require(\"./token-error\");\nvar import_token_util = require(\"./token-util\");\nasync function refreshToken(options) {\n let projectId = options?.project;\n let teamId = options?.team;\n if (!projectId && !teamId) {\n const projectInfo = (0, import_token_util.findProjectInfo)();\n projectId = projectInfo.projectId;\n teamId = projectInfo.teamId;\n } else if (!projectId || !teamId) {\n const projectInfo = (0, import_token_util.findProjectInfo)();\n projectId = projectId ?? projectInfo.projectId;\n teamId = teamId ?? projectInfo.teamId;\n }\n if (!projectId) {\n throw new import_token_error.VercelOidcTokenError(\n \"Failed to refresh OIDC token: No project specified. Try re-linking your project with `vc link`\"\n );\n }\n let maybeToken = (0, import_token_util.loadToken)(projectId);\n if (!maybeToken || (0, import_token_util.isExpired)((0, import_token_util.getTokenPayload)(maybeToken.token), options?.expirationBufferMs)) {\n const authToken = await (0, import_token_util.getVercelToken)({\n expirationBufferMs: options?.expirationBufferMs\n });\n maybeToken = await (0, import_token_util.getVercelOidcToken)(authToken, projectId, teamId);\n if (!maybeToken) {\n throw new import_token_error.VercelOidcTokenError(\"Failed to refresh OIDC token\");\n }\n (0, import_token_util.saveToken)(maybeToken, projectId);\n }\n process.env.VERCEL_OIDC_TOKEN = maybeToken.token;\n return;\n}\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n refreshToken\n});\n" | ||
| ], | ||
| "mappings": ";2HACA,SAAuB,eAAnB,EAC0B,yBAA1B,EAC2B,oBAA3B,GADmB,OAEnB,EAAe,OAAO,UAAU,eAChC,EAAW,CAAC,EAAQ,IAAQ,CAC9B,QAAS,KAAQ,EACf,EAAU,EAAQ,EAAM,CAAE,IAAK,EAAI,GAAO,WAAY,EAAK,CAAC,GAE5D,EAAc,CAAC,EAAI,EAAM,EAAQ,IAAS,CAC5C,GAAI,GAAQ,OAAO,IAAS,UAAY,OAAO,IAAS,YACtD,QAAS,KAAO,EAAkB,CAAI,EACpC,GAAI,CAAC,EAAa,KAAK,EAAI,CAAG,GAAK,IAAQ,EACzC,EAAU,EAAI,EAAK,CAAE,IAAK,IAAM,EAAK,GAAM,WAAY,EAAE,EAAO,EAAiB,EAAM,CAAG,IAAM,EAAK,UAAW,CAAC,EAEvH,OAAO,GAEL,EAAe,CAAC,IAAQ,EAAY,EAAU,CAAC,EAAG,aAAc,CAAE,MAAO,EAAK,CAAC,EAAG,CAAG,EACrF,EAAgB,CAAC,EACrB,EAAS,EAAe,CACtB,aAAc,IAAM,CACtB,CAAC,EACD,EAAO,QAAU,EAAa,CAAa,EAC3C,IAAI,MACA,MACJ,eAAe,CAAY,CAAC,EAAS,CACnC,IAAI,EAAY,GAAS,QACrB,EAAS,GAAS,KACtB,GAAI,CAAC,GAAa,CAAC,EAAQ,CACzB,IAAM,GAAe,EAAG,EAAkB,iBAAiB,EAC3D,EAAY,EAAY,UACxB,EAAS,EAAY,OAChB,QAAI,CAAC,GAAa,CAAC,EAAQ,CAChC,IAAM,GAAe,EAAG,EAAkB,iBAAiB,EAC3D,EAAY,GAAa,EAAY,UACrC,EAAS,GAAU,EAAY,OAEjC,GAAI,CAAC,EACH,MAAM,IAAI,EAAmB,qBAC3B,gGACF,EAEF,IAAI,GAAc,EAAG,EAAkB,WAAW,CAAS,EAC3D,GAAI,CAAC,IAAe,EAAG,EAAkB,YAAY,EAAG,EAAkB,iBAAiB,EAAW,KAAK,EAAG,GAAS,kBAAkB,EAAG,CAC1I,IAAM,EAAY,MAAO,EAAG,EAAkB,gBAAgB,CAC5D,mBAAoB,GAAS,kBAC/B,CAAC,EAED,GADA,EAAa,MAAO,EAAG,EAAkB,oBAAoB,EAAW,EAAW,CAAM,EACrF,CAAC,EACH,MAAM,IAAI,EAAmB,qBAAqB,8BAA8B,GAEjF,EAAG,EAAkB,WAAW,EAAY,CAAS,EAExD,QAAQ,IAAI,kBAAoB,EAAW,MAC3C", | ||
| "debugId": "30B4812F9E7BE55364756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/util/which.ts"], | ||
| "sourcesContent": [ | ||
| "import whichPkg from \"which\"\nimport path from \"path\"\nimport { Global } from \"../global\"\n\nexport function which(cmd: string, env?: NodeJS.ProcessEnv) {\n const base = env?.PATH ?? env?.Path ?? process.env.PATH ?? process.env.Path ?? \"\"\n const full = base ? base + path.delimiter + Global.Path.bin : Global.Path.bin\n const result = whichPkg.sync(cmd, {\n nothrow: true,\n path: full,\n pathExt: env?.PATHEXT ?? env?.PathExt ?? process.env.PATHEXT ?? process.env.PathExt,\n })\n return typeof result === \"string\" ? result : null\n}\n" | ||
| ], | ||
| "mappings": ";kJAAA,oBACA,yBAGO,SAAS,CAAK,CAAC,EAAa,EAAyB,CAC1D,IAAM,EAAO,GAAK,MAAQ,GAAK,MAAQ,QAAQ,IAAI,MAAQ,QAAQ,IAAI,MAAQ,GACzE,EAAO,EAAO,EAAO,EAAK,UAAY,EAAO,KAAK,IAAM,EAAO,KAAK,IACpE,EAAS,UAAS,KAAK,EAAK,CAChC,QAAS,GACT,KAAM,EACN,QAAS,GAAK,SAAW,GAAK,SAAW,QAAQ,IAAI,SAAW,QAAQ,IAAI,OAC9E,CAAC,EACD,OAAO,OAAO,IAAW,SAAW,EAAS", | ||
| "debugId": "DB4DBB593D770AEB64756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260703200000_reset_v2_session_events.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260703200000_reset_v2_session_events\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`DELETE FROM \\`session_input\\`;`)\n yield* tx.run(`DELETE FROM \\`session_message\\`;`)\n yield* tx.run(`DELETE FROM \\`event\\`;`)\n yield* tx.run(`DELETE FROM \\`event_sequence\\`;`)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,yCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,8BAAgC,EAC9C,MAAO,EAAG,IAAI,gCAAkC,EAChD,MAAO,EAAG,IAAI,sBAAwB,EACtC,MAAO,EAAG,IAAI,+BAAiC,EAChD,EAEL", | ||
| "debugId": "B22AA75B151E73F964756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["src/env.ts"], | ||
| "sourcesContent": [ | ||
| "import { Config } from \"effect\"\n\n// Every environment variable the CLI reads, in one place. Consumers yield\n// these instead of touching process.env so the full surface stays visible,\n// typed, and redacted where secret.\n\n// The opencode server password: sent by clients connecting to an explicit\n// --server, and adopted by a manually run or standalone server. The legacy\n// name is still honored.\nexport const password = Config.redacted(\"OPENCODE_PASSWORD\").pipe(\n Config.orElse(() => Config.redacted(\"OPENCODE_SERVER_PASSWORD\")),\n Config.withDefault(undefined),\n)\n\nexport * as Env from \"./env\"\n" | ||
| ], | ||
| "mappings": ";4IASO,SAAM,EAAW,EAAO,SAAS,mBAAmB,EAAE,KAC3D,EAAO,OAAO,IAAM,EAAO,SAAS,0BAA0B,CAAC,EAC/D,EAAO,YAAY,MAAS,CAC9B", | ||
| "debugId": "CC2974B23A14B79564756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260602182828_add_project_directories.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260602182828_add_project_directories\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`\n CREATE TABLE \\`project_directory\\` (\n \\`project_id\\` text NOT NULL,\n \\`directory\\` text NOT NULL,\n \\`type\\` text NOT NULL,\n \\`time_created\\` integer NOT NULL,\n CONSTRAINT \\`project_directory_pk\\` PRIMARY KEY(\\`project_id\\`, \\`directory\\`),\n CONSTRAINT \\`fk_project_directory_project_id_project_id_fk\\` FOREIGN KEY (\\`project_id\\`) REFERENCES \\`project\\`(\\`id\\`) ON DELETE CASCADE\n );\n `)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,yCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,+bASb,EACF,EAEL", | ||
| "debugId": "E1CF1910F8F1FBDB64756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/aws4fetch@1.0.20/node_modules/aws4fetch/dist/aws4fetch.esm.mjs"], | ||
| "sourcesContent": [ | ||
| "/**\n * @license MIT <https://opensource.org/licenses/MIT>\n * @copyright Michael Hart 2024\n */\nconst encoder = new TextEncoder();\nconst HOST_SERVICES = {\n appstream2: 'appstream',\n cloudhsmv2: 'cloudhsm',\n email: 'ses',\n marketplace: 'aws-marketplace',\n mobile: 'AWSMobileHubService',\n pinpoint: 'mobiletargeting',\n queue: 'sqs',\n 'git-codecommit': 'codecommit',\n 'mturk-requester-sandbox': 'mturk-requester',\n 'personalize-runtime': 'personalize',\n};\nconst UNSIGNABLE_HEADERS = new Set([\n 'authorization',\n 'content-type',\n 'content-length',\n 'user-agent',\n 'presigned-expires',\n 'expect',\n 'x-amzn-trace-id',\n 'range',\n 'connection',\n]);\nclass AwsClient {\n constructor({ accessKeyId, secretAccessKey, sessionToken, service, region, cache, retries, initRetryMs }) {\n if (accessKeyId == null) throw new TypeError('accessKeyId is a required option')\n if (secretAccessKey == null) throw new TypeError('secretAccessKey is a required option')\n this.accessKeyId = accessKeyId;\n this.secretAccessKey = secretAccessKey;\n this.sessionToken = sessionToken;\n this.service = service;\n this.region = region;\n this.cache = cache || new Map();\n this.retries = retries != null ? retries : 10;\n this.initRetryMs = initRetryMs || 50;\n }\n async sign(input, init) {\n if (input instanceof Request) {\n const { method, url, headers, body } = input;\n init = Object.assign({ method, url, headers }, init);\n if (init.body == null && headers.has('Content-Type')) {\n init.body = body != null && headers.has('X-Amz-Content-Sha256') ? body : await input.clone().arrayBuffer();\n }\n input = url;\n }\n const signer = new AwsV4Signer(Object.assign({ url: input.toString() }, init, this, init && init.aws));\n const signed = Object.assign({}, init, await signer.sign());\n delete signed.aws;\n try {\n return new Request(signed.url.toString(), signed)\n } catch (e) {\n if (e instanceof TypeError) {\n return new Request(signed.url.toString(), Object.assign({ duplex: 'half' }, signed))\n }\n throw e\n }\n }\n async fetch(input, init) {\n for (let i = 0; i <= this.retries; i++) {\n const fetched = fetch(await this.sign(input, init));\n if (i === this.retries) {\n return fetched\n }\n const res = await fetched;\n if (res.status < 500 && res.status !== 429) {\n return res\n }\n await new Promise(resolve => setTimeout(resolve, Math.random() * this.initRetryMs * Math.pow(2, i)));\n }\n throw new Error('An unknown error occurred, ensure retries is not negative')\n }\n}\nclass AwsV4Signer {\n constructor({ method, url, headers, body, accessKeyId, secretAccessKey, sessionToken, service, region, cache, datetime, signQuery, appendSessionToken, allHeaders, singleEncode }) {\n if (url == null) throw new TypeError('url is a required option')\n if (accessKeyId == null) throw new TypeError('accessKeyId is a required option')\n if (secretAccessKey == null) throw new TypeError('secretAccessKey is a required option')\n this.method = method || (body ? 'POST' : 'GET');\n this.url = new URL(url);\n this.headers = new Headers(headers || {});\n this.body = body;\n this.accessKeyId = accessKeyId;\n this.secretAccessKey = secretAccessKey;\n this.sessionToken = sessionToken;\n let guessedService, guessedRegion;\n if (!service || !region) {\n[guessedService, guessedRegion] = guessServiceRegion(this.url, this.headers);\n }\n this.service = service || guessedService || '';\n this.region = region || guessedRegion || 'us-east-1';\n this.cache = cache || new Map();\n this.datetime = datetime || new Date().toISOString().replace(/[:-]|\\.\\d{3}/g, '');\n this.signQuery = signQuery;\n this.appendSessionToken = appendSessionToken || this.service === 'iotdevicegateway';\n this.headers.delete('Host');\n if (this.service === 's3' && !this.signQuery && !this.headers.has('X-Amz-Content-Sha256')) {\n this.headers.set('X-Amz-Content-Sha256', 'UNSIGNED-PAYLOAD');\n }\n const params = this.signQuery ? this.url.searchParams : this.headers;\n params.set('X-Amz-Date', this.datetime);\n if (this.sessionToken && !this.appendSessionToken) {\n params.set('X-Amz-Security-Token', this.sessionToken);\n }\n this.signableHeaders = ['host', ...this.headers.keys()]\n .filter(header => allHeaders || !UNSIGNABLE_HEADERS.has(header))\n .sort();\n this.signedHeaders = this.signableHeaders.join(';');\n this.canonicalHeaders = this.signableHeaders\n .map(header => header + ':' + (header === 'host' ? this.url.host : (this.headers.get(header) || '').replace(/\\s+/g, ' ')))\n .join('\\n');\n this.credentialString = [this.datetime.slice(0, 8), this.region, this.service, 'aws4_request'].join('/');\n if (this.signQuery) {\n if (this.service === 's3' && !params.has('X-Amz-Expires')) {\n params.set('X-Amz-Expires', '86400');\n }\n params.set('X-Amz-Algorithm', 'AWS4-HMAC-SHA256');\n params.set('X-Amz-Credential', this.accessKeyId + '/' + this.credentialString);\n params.set('X-Amz-SignedHeaders', this.signedHeaders);\n }\n if (this.service === 's3') {\n try {\n this.encodedPath = decodeURIComponent(this.url.pathname.replace(/\\+/g, ' '));\n } catch (e) {\n this.encodedPath = this.url.pathname;\n }\n } else {\n this.encodedPath = this.url.pathname.replace(/\\/+/g, '/');\n }\n if (!singleEncode) {\n this.encodedPath = encodeURIComponent(this.encodedPath).replace(/%2F/g, '/');\n }\n this.encodedPath = encodeRfc3986(this.encodedPath);\n const seenKeys = new Set();\n this.encodedSearch = [...this.url.searchParams]\n .filter(([k]) => {\n if (!k) return false\n if (this.service === 's3') {\n if (seenKeys.has(k)) return false\n seenKeys.add(k);\n }\n return true\n })\n .map(pair => pair.map(p => encodeRfc3986(encodeURIComponent(p))))\n .sort(([k1, v1], [k2, v2]) => k1 < k2 ? -1 : k1 > k2 ? 1 : v1 < v2 ? -1 : v1 > v2 ? 1 : 0)\n .map(pair => pair.join('='))\n .join('&');\n }\n async sign() {\n if (this.signQuery) {\n this.url.searchParams.set('X-Amz-Signature', await this.signature());\n if (this.sessionToken && this.appendSessionToken) {\n this.url.searchParams.set('X-Amz-Security-Token', this.sessionToken);\n }\n } else {\n this.headers.set('Authorization', await this.authHeader());\n }\n return {\n method: this.method,\n url: this.url,\n headers: this.headers,\n body: this.body,\n }\n }\n async authHeader() {\n return [\n 'AWS4-HMAC-SHA256 Credential=' + this.accessKeyId + '/' + this.credentialString,\n 'SignedHeaders=' + this.signedHeaders,\n 'Signature=' + (await this.signature()),\n ].join(', ')\n }\n async signature() {\n const date = this.datetime.slice(0, 8);\n const cacheKey = [this.secretAccessKey, date, this.region, this.service].join();\n let kCredentials = this.cache.get(cacheKey);\n if (!kCredentials) {\n const kDate = await hmac('AWS4' + this.secretAccessKey, date);\n const kRegion = await hmac(kDate, this.region);\n const kService = await hmac(kRegion, this.service);\n kCredentials = await hmac(kService, 'aws4_request');\n this.cache.set(cacheKey, kCredentials);\n }\n return buf2hex(await hmac(kCredentials, await this.stringToSign()))\n }\n async stringToSign() {\n return [\n 'AWS4-HMAC-SHA256',\n this.datetime,\n this.credentialString,\n buf2hex(await hash(await this.canonicalString())),\n ].join('\\n')\n }\n async canonicalString() {\n return [\n this.method.toUpperCase(),\n this.encodedPath,\n this.encodedSearch,\n this.canonicalHeaders + '\\n',\n this.signedHeaders,\n await this.hexBodyHash(),\n ].join('\\n')\n }\n async hexBodyHash() {\n let hashHeader = this.headers.get('X-Amz-Content-Sha256') || (this.service === 's3' && this.signQuery ? 'UNSIGNED-PAYLOAD' : null);\n if (hashHeader == null) {\n if (this.body && typeof this.body !== 'string' && !('byteLength' in this.body)) {\n throw new Error('body must be a string, ArrayBuffer or ArrayBufferView, unless you include the X-Amz-Content-Sha256 header')\n }\n hashHeader = buf2hex(await hash(this.body || ''));\n }\n return hashHeader\n }\n}\nasync function hmac(key, string) {\n const cryptoKey = await crypto.subtle.importKey(\n 'raw',\n typeof key === 'string' ? encoder.encode(key) : key,\n { name: 'HMAC', hash: { name: 'SHA-256' } },\n false,\n ['sign'],\n );\n return crypto.subtle.sign('HMAC', cryptoKey, encoder.encode(string))\n}\nasync function hash(content) {\n return crypto.subtle.digest('SHA-256', typeof content === 'string' ? encoder.encode(content) : content)\n}\nconst HEX_CHARS = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'];\nfunction buf2hex(arrayBuffer) {\n const buffer = new Uint8Array(arrayBuffer);\n let out = '';\n for (let idx = 0; idx < buffer.length; idx++) {\n const n = buffer[idx];\n out += HEX_CHARS[(n >>> 4) & 0xF];\n out += HEX_CHARS[n & 0xF];\n }\n return out\n}\nfunction encodeRfc3986(urlEncodedStr) {\n return urlEncodedStr.replace(/[!'()*]/g, c => '%' + c.charCodeAt(0).toString(16).toUpperCase())\n}\nfunction guessServiceRegion(url, headers) {\n const { hostname, pathname } = url;\n if (hostname.endsWith('.on.aws')) {\n const match = hostname.match(/^[^.]{1,63}\\.lambda-url\\.([^.]{1,63})\\.on\\.aws$/);\n return match != null ? ['lambda', match[1] || ''] : ['', '']\n }\n if (hostname.endsWith('.r2.cloudflarestorage.com')) {\n return ['s3', 'auto']\n }\n if (hostname.endsWith('.backblazeb2.com')) {\n const match = hostname.match(/^(?:[^.]{1,63}\\.)?s3\\.([^.]{1,63})\\.backblazeb2\\.com$/);\n return match != null ? ['s3', match[1] || ''] : ['', '']\n }\n const match = hostname.replace('dualstack.', '').match(/([^.]{1,63})\\.(?:([^.]{0,63})\\.)?amazonaws\\.com(?:\\.cn)?$/);\n let service = (match && match[1]) || '';\n let region = match && match[2];\n if (region === 'us-gov') {\n region = 'us-gov-west-1';\n } else if (region === 's3' || region === 's3-accelerate') {\n region = 'us-east-1';\n service = 's3';\n } else if (service === 'iot') {\n if (hostname.startsWith('iot.')) {\n service = 'execute-api';\n } else if (hostname.startsWith('data.jobs.iot.')) {\n service = 'iot-jobs-data';\n } else {\n service = pathname === '/mqtt' ? 'iotdevicegateway' : 'iotdata';\n }\n } else if (service === 'autoscaling') {\n const targetPrefix = (headers.get('X-Amz-Target') || '').split('.')[0];\n if (targetPrefix === 'AnyScaleFrontendService') {\n service = 'application-autoscaling';\n } else if (targetPrefix === 'AnyScaleScalingPlannerFrontendService') {\n service = 'autoscaling-plans';\n }\n } else if (region == null && service.startsWith('s3-')) {\n region = service.slice(3).replace(/^fips-|^external-1/, '');\n service = 's3';\n } else if (service.endsWith('-fips')) {\n service = service.slice(0, -5);\n } else if (region && /-\\d$/.test(service) && !/-\\d$/.test(region)) {\n[service, region] = [region, service];\n }\n return [HOST_SERVICES[service] || service, region || '']\n}\n\nexport { AwsClient, AwsV4Signer };\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "E49981D3A7E6B4DC64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "E65A84E831E5A6F764756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@aws-sdk+nested-clients@3.997.13/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/index.js"], | ||
| "sourcesContent": [ | ||
| "'use strict';\n\nvar client$1 = require('@aws-sdk/core/client');\nvar core = require('@smithy/core');\nvar client = require('@smithy/core/client');\nvar config = require('@smithy/core/config');\nvar endpoints = require('@smithy/core/endpoints');\nvar protocols = require('@smithy/core/protocols');\nvar retry = require('@smithy/core/retry');\nvar schema = require('@smithy/core/schema');\nvar httpAuthSchemes = require('@aws-sdk/core/httpAuthSchemes');\nvar serde = require('@smithy/core/serde');\nvar nodeHttpHandler = require('@smithy/node-http-handler');\nvar protocols$1 = require('@aws-sdk/core/protocols');\n\nconst defaultSigninHttpAuthSchemeParametersProvider = async (config, context, input) => {\n return {\n operation: client.getSmithyContext(context).operation,\n region: (await client.normalizeProvider(config.region)()) ||\n (() => {\n throw new Error(\"expected `region` to be configured for `aws.auth#sigv4`\");\n })(),\n };\n};\nfunction createAwsAuthSigv4HttpAuthOption(authParameters) {\n return {\n schemeId: \"aws.auth#sigv4\",\n signingProperties: {\n name: \"signin\",\n region: authParameters.region,\n },\n propertiesExtractor: (config, context) => ({\n signingProperties: {\n config,\n context,\n },\n }),\n };\n}\nfunction createSmithyApiNoAuthHttpAuthOption(authParameters) {\n return {\n schemeId: \"smithy.api#noAuth\",\n };\n}\nconst defaultSigninHttpAuthSchemeProvider = (authParameters) => {\n const options = [];\n switch (authParameters.operation) {\n case \"CreateOAuth2Token\": {\n options.push(createSmithyApiNoAuthHttpAuthOption());\n break;\n }\n default: {\n options.push(createAwsAuthSigv4HttpAuthOption(authParameters));\n }\n }\n return options;\n};\nconst resolveHttpAuthSchemeConfig = (config) => {\n const config_0 = httpAuthSchemes.resolveAwsSdkSigV4Config(config);\n return Object.assign(config_0, {\n authSchemePreference: client.normalizeProvider(config.authSchemePreference ?? []),\n });\n};\n\nconst resolveClientEndpointParameters = (options) => {\n return Object.assign(options, {\n useDualstackEndpoint: options.useDualstackEndpoint ?? false,\n useFipsEndpoint: options.useFipsEndpoint ?? false,\n defaultSigningName: \"signin\",\n });\n};\nconst commonParams = {\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n};\n\nvar version = \"3.997.12\";\nvar packageInfo = {\n\tversion: version};\n\nconst m = \"ref\";\nconst a = -1, b = true, c = \"isSet\", d = \"PartitionResult\", e = \"booleanEquals\", f = \"getAttr\", g = \"stringEquals\", h = { [m]: \"Endpoint\" }, i = { [m]: d }, j = { fn: f, argv: [i, \"name\"] }, k = {}, l = [{ [m]: \"Region\" }];\nconst _data = {\n conditions: [\n [c, [h]],\n [c, l],\n [\"aws.partition\", l, d],\n [e, [{ [m]: \"UseFIPS\" }, b]],\n [e, [{ [m]: \"UseDualStack\" }, b]],\n [e, [{ fn: f, argv: [i, \"supportsDualStack\"] }, b]],\n [e, [{ fn: f, argv: [i, \"supportsFIPS\"] }, b]],\n [g, [j, \"aws\"]],\n [g, [j, \"aws-cn\"]],\n [g, [j, \"aws-us-gov\"]],\n ],\n results: [\n [a],\n [a, \"Invalid Configuration: FIPS and custom endpoint are not supported\"],\n [a, \"Invalid Configuration: Dualstack and custom endpoint are not supported\"],\n [h, k],\n [\"https://{Region}.signin.aws.amazon.com\", k],\n [\"https://{Region}.signin.amazonaws.cn\", k],\n [\"https://{Region}.signin.amazonaws-us-gov.com\", k],\n [\"https://signin-fips.{Region}.{PartitionResult#dualStackDnsSuffix}\", k],\n [a, \"FIPS and DualStack are enabled, but this partition does not support one or both\"],\n [\"https://signin-fips.{Region}.{PartitionResult#dnsSuffix}\", k],\n [a, \"FIPS is enabled but this partition does not support FIPS\"],\n [\"https://signin.{Region}.{PartitionResult#dualStackDnsSuffix}\", k],\n [a, \"DualStack is enabled but this partition does not support DualStack\"],\n [\"https://signin.{Region}.{PartitionResult#dnsSuffix}\", k],\n [a, \"Invalid Configuration: Missing Region\"],\n ],\n};\nconst root = 2;\nconst r = 100_000_000;\nconst nodes = new Int32Array([\n -1,\n 1,\n -1,\n 0,\n 15,\n 3,\n 1,\n 4,\n r + 14,\n 2,\n 5,\n r + 14,\n 3,\n 11,\n 6,\n 4,\n 10,\n 7,\n 7,\n r + 4,\n 8,\n 8,\n r + 5,\n 9,\n 9,\n r + 6,\n r + 13,\n 5,\n r + 11,\n r + 12,\n 4,\n 13,\n 12,\n 6,\n r + 9,\n r + 10,\n 5,\n 14,\n r + 8,\n 6,\n r + 7,\n r + 8,\n 3,\n r + 1,\n 16,\n 4,\n r + 2,\n r + 3,\n]);\nconst bdd = endpoints.BinaryDecisionDiagram.from(nodes, root, _data.conditions, _data.results);\n\nconst cache = new endpoints.EndpointCache({\n size: 50,\n params: [\"Endpoint\", \"Region\", \"UseDualStack\", \"UseFIPS\"],\n});\nconst defaultEndpointResolver = (endpointParams, context = {}) => {\n return cache.get(endpointParams, () => endpoints.decideEndpoint(bdd, {\n endpointParams: endpointParams,\n logger: context.logger,\n }));\n};\nendpoints.customEndpointFunctions.aws = client$1.awsEndpointFunctions;\n\nclass SigninServiceException extends client.ServiceException {\n constructor(options) {\n super(options);\n Object.setPrototypeOf(this, SigninServiceException.prototype);\n }\n}\n\nclass AccessDeniedException extends SigninServiceException {\n name = \"AccessDeniedException\";\n $fault = \"client\";\n error;\n constructor(opts) {\n super({\n name: \"AccessDeniedException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, AccessDeniedException.prototype);\n this.error = opts.error;\n }\n}\nclass InternalServerException extends SigninServiceException {\n name = \"InternalServerException\";\n $fault = \"server\";\n error;\n constructor(opts) {\n super({\n name: \"InternalServerException\",\n $fault: \"server\",\n ...opts,\n });\n Object.setPrototypeOf(this, InternalServerException.prototype);\n this.error = opts.error;\n }\n}\nclass TooManyRequestsError extends SigninServiceException {\n name = \"TooManyRequestsError\";\n $fault = \"client\";\n error;\n constructor(opts) {\n super({\n name: \"TooManyRequestsError\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, TooManyRequestsError.prototype);\n this.error = opts.error;\n }\n}\nclass ValidationException extends SigninServiceException {\n name = \"ValidationException\";\n $fault = \"client\";\n error;\n constructor(opts) {\n super({\n name: \"ValidationException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, ValidationException.prototype);\n this.error = opts.error;\n }\n}\n\nconst _ADE = \"AccessDeniedException\";\nconst _AT = \"AccessToken\";\nconst _COAT = \"CreateOAuth2Token\";\nconst _COATR = \"CreateOAuth2TokenRequest\";\nconst _COATRB = \"CreateOAuth2TokenRequestBody\";\nconst _COATRBr = \"CreateOAuth2TokenResponseBody\";\nconst _COATRr = \"CreateOAuth2TokenResponse\";\nconst _ISE = \"InternalServerException\";\nconst _RT = \"RefreshToken\";\nconst _TMRE = \"TooManyRequestsError\";\nconst _VE = \"ValidationException\";\nconst _aKI = \"accessKeyId\";\nconst _aT = \"accessToken\";\nconst _c = \"client\";\nconst _cI = \"clientId\";\nconst _cV = \"codeVerifier\";\nconst _co = \"code\";\nconst _e = \"error\";\nconst _eI = \"expiresIn\";\nconst _gT = \"grantType\";\nconst _h = \"http\";\nconst _hE = \"httpError\";\nconst _iT = \"idToken\";\nconst _jN = \"jsonName\";\nconst _m = \"message\";\nconst _rT = \"refreshToken\";\nconst _rU = \"redirectUri\";\nconst _s = \"smithy.ts.sdk.synthetic.com.amazonaws.signin\";\nconst _sAK = \"secretAccessKey\";\nconst _sT = \"sessionToken\";\nconst _se = \"server\";\nconst _tI = \"tokenInput\";\nconst _tO = \"tokenOutput\";\nconst _tT = \"tokenType\";\nconst n0 = \"com.amazonaws.signin\";\nconst _s_registry = schema.TypeRegistry.for(_s);\nvar SigninServiceException$ = [-3, _s, \"SigninServiceException\", 0, [], []];\n_s_registry.registerError(SigninServiceException$, SigninServiceException);\nconst n0_registry = schema.TypeRegistry.for(n0);\nvar AccessDeniedException$ = [-3, n0, _ADE, { [_e]: _c }, [_e, _m], [0, 0], 2];\nn0_registry.registerError(AccessDeniedException$, AccessDeniedException);\nvar InternalServerException$ = [-3, n0, _ISE, { [_e]: _se, [_hE]: 500 }, [_e, _m], [0, 0], 2];\nn0_registry.registerError(InternalServerException$, InternalServerException);\nvar TooManyRequestsError$ = [-3, n0, _TMRE, { [_e]: _c, [_hE]: 429 }, [_e, _m], [0, 0], 2];\nn0_registry.registerError(TooManyRequestsError$, TooManyRequestsError);\nvar ValidationException$ = [-3, n0, _VE, { [_e]: _c, [_hE]: 400 }, [_e, _m], [0, 0], 2];\nn0_registry.registerError(ValidationException$, ValidationException);\nconst errorTypeRegistries = [_s_registry, n0_registry];\nvar RefreshToken = [0, n0, _RT, 8, 0];\nvar AccessToken$ = [\n 3,\n n0,\n _AT,\n 8,\n [_aKI, _sAK, _sT],\n [\n [0, { [_jN]: _aKI }],\n [0, { [_jN]: _sAK }],\n [0, { [_jN]: _sT }],\n ],\n 3,\n];\nvar CreateOAuth2TokenRequest$ = [\n 3,\n n0,\n _COATR,\n 0,\n [_tI],\n [[() => CreateOAuth2TokenRequestBody$, 16]],\n 1,\n];\nvar CreateOAuth2TokenRequestBody$ = [\n 3,\n n0,\n _COATRB,\n 0,\n [_cI, _gT, _co, _rU, _cV, _rT],\n [\n [0, { [_jN]: _cI }],\n [0, { [_jN]: _gT }],\n 0,\n [0, { [_jN]: _rU }],\n [0, { [_jN]: _cV }],\n [() => RefreshToken, { [_jN]: _rT }],\n ],\n 2,\n];\nvar CreateOAuth2TokenResponse$ = [\n 3,\n n0,\n _COATRr,\n 0,\n [_tO],\n [[() => CreateOAuth2TokenResponseBody$, 16]],\n 1,\n];\nvar CreateOAuth2TokenResponseBody$ = [\n 3,\n n0,\n _COATRBr,\n 0,\n [_aT, _tT, _eI, _rT, _iT],\n [\n [() => AccessToken$, { [_jN]: _aT }],\n [0, { [_jN]: _tT }],\n [1, { [_jN]: _eI }],\n [() => RefreshToken, { [_jN]: _rT }],\n [0, { [_jN]: _iT }],\n ],\n 4,\n];\nvar CreateOAuth2Token$ = [\n 9,\n n0,\n _COAT,\n { [_h]: [\"POST\", \"/v1/token\", 200] },\n () => CreateOAuth2TokenRequest$,\n () => CreateOAuth2TokenResponse$,\n];\n\nconst getRuntimeConfig$1 = (config) => {\n return {\n apiVersion: \"2023-01-01\",\n base64Decoder: config?.base64Decoder ?? serde.fromBase64,\n base64Encoder: config?.base64Encoder ?? serde.toBase64,\n disableHostPrefix: config?.disableHostPrefix ?? false,\n endpointProvider: config?.endpointProvider ?? defaultEndpointResolver,\n extensions: config?.extensions ?? [],\n httpAuthSchemeProvider: config?.httpAuthSchemeProvider ?? defaultSigninHttpAuthSchemeProvider,\n httpAuthSchemes: config?.httpAuthSchemes ?? [\n {\n schemeId: \"aws.auth#sigv4\",\n identityProvider: (ipc) => ipc.getIdentityProvider(\"aws.auth#sigv4\"),\n signer: new httpAuthSchemes.AwsSdkSigV4Signer(),\n },\n {\n schemeId: \"smithy.api#noAuth\",\n identityProvider: (ipc) => ipc.getIdentityProvider(\"smithy.api#noAuth\") || (async () => ({})),\n signer: new core.NoAuthSigner(),\n },\n ],\n logger: config?.logger ?? new client.NoOpLogger(),\n protocol: config?.protocol ?? protocols$1.AwsRestJsonProtocol,\n protocolSettings: config?.protocolSettings ?? {\n defaultNamespace: \"com.amazonaws.signin\",\n errorTypeRegistries,\n version: \"2023-01-01\",\n serviceTarget: \"Signin\",\n },\n serviceId: config?.serviceId ?? \"Signin\",\n urlParser: config?.urlParser ?? protocols.parseUrl,\n utf8Decoder: config?.utf8Decoder ?? serde.fromUtf8,\n utf8Encoder: config?.utf8Encoder ?? serde.toUtf8,\n };\n};\n\nconst getRuntimeConfig = (config$1) => {\n client.emitWarningIfUnsupportedVersion(process.version);\n const defaultsMode = config.resolveDefaultsModeConfig(config$1);\n const defaultConfigProvider = () => defaultsMode().then(client.loadConfigsForDefaultMode);\n const clientSharedValues = getRuntimeConfig$1(config$1);\n client$1.emitWarningIfUnsupportedVersion(process.version);\n const loaderConfig = {\n profile: config$1?.profile,\n logger: clientSharedValues.logger,\n };\n return {\n ...clientSharedValues,\n ...config$1,\n runtime: \"node\",\n defaultsMode,\n authSchemePreference: config$1?.authSchemePreference ?? config.loadConfig(httpAuthSchemes.NODE_AUTH_SCHEME_PREFERENCE_OPTIONS, loaderConfig),\n bodyLengthChecker: config$1?.bodyLengthChecker ?? serde.calculateBodyLength,\n defaultUserAgentProvider: config$1?.defaultUserAgentProvider ??\n client$1.createDefaultUserAgentProvider({ serviceId: clientSharedValues.serviceId, clientVersion: packageInfo.version }),\n maxAttempts: config$1?.maxAttempts ?? config.loadConfig(retry.NODE_MAX_ATTEMPT_CONFIG_OPTIONS, config$1),\n region: config$1?.region ??\n config.loadConfig(config.NODE_REGION_CONFIG_OPTIONS, { ...config.NODE_REGION_CONFIG_FILE_OPTIONS, ...loaderConfig }),\n requestHandler: nodeHttpHandler.NodeHttpHandler.create(config$1?.requestHandler ?? defaultConfigProvider),\n retryMode: config$1?.retryMode ??\n config.loadConfig({\n ...retry.NODE_RETRY_MODE_CONFIG_OPTIONS,\n default: async () => (await defaultConfigProvider()).retryMode || retry.DEFAULT_RETRY_MODE,\n }, config$1),\n sha256: config$1?.sha256 ?? serde.Hash.bind(null, \"sha256\"),\n streamCollector: config$1?.streamCollector ?? nodeHttpHandler.streamCollector,\n useDualstackEndpoint: config$1?.useDualstackEndpoint ?? config.loadConfig(config.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS, loaderConfig),\n useFipsEndpoint: config$1?.useFipsEndpoint ?? config.loadConfig(config.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS, loaderConfig),\n userAgentAppId: config$1?.userAgentAppId ?? config.loadConfig(client$1.NODE_APP_ID_CONFIG_OPTIONS, loaderConfig),\n };\n};\n\nconst getHttpAuthExtensionConfiguration = (runtimeConfig) => {\n const _httpAuthSchemes = runtimeConfig.httpAuthSchemes;\n let _httpAuthSchemeProvider = runtimeConfig.httpAuthSchemeProvider;\n let _credentials = runtimeConfig.credentials;\n return {\n setHttpAuthScheme(httpAuthScheme) {\n const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId);\n if (index === -1) {\n _httpAuthSchemes.push(httpAuthScheme);\n }\n else {\n _httpAuthSchemes.splice(index, 1, httpAuthScheme);\n }\n },\n httpAuthSchemes() {\n return _httpAuthSchemes;\n },\n setHttpAuthSchemeProvider(httpAuthSchemeProvider) {\n _httpAuthSchemeProvider = httpAuthSchemeProvider;\n },\n httpAuthSchemeProvider() {\n return _httpAuthSchemeProvider;\n },\n setCredentials(credentials) {\n _credentials = credentials;\n },\n credentials() {\n return _credentials;\n },\n };\n};\nconst resolveHttpAuthRuntimeConfig = (config) => {\n return {\n httpAuthSchemes: config.httpAuthSchemes(),\n httpAuthSchemeProvider: config.httpAuthSchemeProvider(),\n credentials: config.credentials(),\n };\n};\n\nconst resolveRuntimeExtensions = (runtimeConfig, extensions) => {\n const extensionConfiguration = Object.assign(client$1.getAwsRegionExtensionConfiguration(runtimeConfig), client.getDefaultExtensionConfiguration(runtimeConfig), protocols.getHttpHandlerExtensionConfiguration(runtimeConfig), getHttpAuthExtensionConfiguration(runtimeConfig));\n extensions.forEach((extension) => extension.configure(extensionConfiguration));\n return Object.assign(runtimeConfig, client$1.resolveAwsRegionExtensionConfiguration(extensionConfiguration), client.resolveDefaultRuntimeConfig(extensionConfiguration), protocols.resolveHttpHandlerRuntimeConfig(extensionConfiguration), resolveHttpAuthRuntimeConfig(extensionConfiguration));\n};\n\nclass SigninClient extends client.Client {\n config;\n constructor(...[configuration]) {\n const _config_0 = getRuntimeConfig(configuration || {});\n super(_config_0);\n this.initConfig = _config_0;\n const _config_1 = resolveClientEndpointParameters(_config_0);\n const _config_2 = client$1.resolveUserAgentConfig(_config_1);\n const _config_3 = retry.resolveRetryConfig(_config_2);\n const _config_4 = config.resolveRegionConfig(_config_3);\n const _config_5 = client$1.resolveHostHeaderConfig(_config_4);\n const _config_6 = endpoints.resolveEndpointConfig(_config_5);\n const _config_7 = resolveHttpAuthSchemeConfig(_config_6);\n const _config_8 = resolveRuntimeExtensions(_config_7, configuration?.extensions || []);\n this.config = _config_8;\n this.middlewareStack.use(schema.getSchemaSerdePlugin(this.config));\n this.middlewareStack.use(client$1.getUserAgentPlugin(this.config));\n this.middlewareStack.use(retry.getRetryPlugin(this.config));\n this.middlewareStack.use(protocols.getContentLengthPlugin(this.config));\n this.middlewareStack.use(client$1.getHostHeaderPlugin(this.config));\n this.middlewareStack.use(client$1.getLoggerPlugin(this.config));\n this.middlewareStack.use(client$1.getRecursionDetectionPlugin(this.config));\n this.middlewareStack.use(core.getHttpAuthSchemeEndpointRuleSetPlugin(this.config, {\n httpAuthSchemeParametersProvider: defaultSigninHttpAuthSchemeParametersProvider,\n identityProviderConfigProvider: async (config) => new core.DefaultIdentityProviderConfig({\n \"aws.auth#sigv4\": config.credentials,\n }),\n }));\n this.middlewareStack.use(core.getHttpSigningPlugin(this.config));\n }\n destroy() {\n super.destroy();\n }\n}\n\nclass CreateOAuth2TokenCommand extends client.Command\n .classBuilder()\n .ep(commonParams)\n .m(function (Command, cs, config, o) {\n return [endpoints.getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"Signin\", \"CreateOAuth2Token\", {})\n .n(\"SigninClient\", \"CreateOAuth2TokenCommand\")\n .sc(CreateOAuth2Token$)\n .build() {\n}\n\nconst commands = {\n CreateOAuth2TokenCommand,\n};\nclass Signin extends SigninClient {\n}\nclient.createAggregatedClient(commands, Signin);\n\nconst OAuth2ErrorCode = {\n AUTHCODE_EXPIRED: \"AUTHCODE_EXPIRED\",\n INSUFFICIENT_PERMISSIONS: \"INSUFFICIENT_PERMISSIONS\",\n INVALID_REQUEST: \"INVALID_REQUEST\",\n SERVER_ERROR: \"server_error\",\n TOKEN_EXPIRED: \"TOKEN_EXPIRED\",\n USER_CREDENTIALS_CHANGED: \"USER_CREDENTIALS_CHANGED\",\n};\n\nexports.$Command = client.Command;\nexports.__Client = client.Client;\nexports.AccessDeniedException = AccessDeniedException;\nexports.AccessDeniedException$ = AccessDeniedException$;\nexports.AccessToken$ = AccessToken$;\nexports.CreateOAuth2Token$ = CreateOAuth2Token$;\nexports.CreateOAuth2TokenCommand = CreateOAuth2TokenCommand;\nexports.CreateOAuth2TokenRequest$ = CreateOAuth2TokenRequest$;\nexports.CreateOAuth2TokenRequestBody$ = CreateOAuth2TokenRequestBody$;\nexports.CreateOAuth2TokenResponse$ = CreateOAuth2TokenResponse$;\nexports.CreateOAuth2TokenResponseBody$ = CreateOAuth2TokenResponseBody$;\nexports.InternalServerException = InternalServerException;\nexports.InternalServerException$ = InternalServerException$;\nexports.OAuth2ErrorCode = OAuth2ErrorCode;\nexports.Signin = Signin;\nexports.SigninClient = SigninClient;\nexports.SigninServiceException = SigninServiceException;\nexports.SigninServiceException$ = SigninServiceException$;\nexports.TooManyRequestsError = TooManyRequestsError;\nexports.TooManyRequestsError$ = TooManyRequestsError$;\nexports.ValidationException = ValidationException;\nexports.ValidationException$ = ValidationException$;\nexports.errorTypeRegistries = errorTypeRegistries;\n" | ||
| ], | ||
| "mappings": ";sVAEA,SAAI,YACA,YACA,YACA,YACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,QAEE,GAAgD,MAAO,EAAQ,EAAS,IAAU,CACpF,MAAO,CACH,UAAW,EAAO,iBAAiB,CAAO,EAAE,UAC5C,OAAS,MAAM,EAAO,kBAAkB,EAAO,MAAM,EAAE,IAClD,IAAM,CACH,MAAU,MAAM,yDAAyD,IAC1E,CACX,GAEJ,SAAS,EAAgC,CAAC,EAAgB,CACtD,MAAO,CACH,SAAU,iBACV,kBAAmB,CACf,KAAM,SACN,OAAQ,EAAe,MAC3B,EACA,oBAAqB,CAAC,EAAQ,KAAa,CACvC,kBAAmB,CACf,SACA,SACJ,CACJ,EACJ,EAEJ,SAAS,EAAmC,CAAC,EAAgB,CACzD,MAAO,CACH,SAAU,mBACd,EAEJ,IAAM,GAAsC,CAAC,IAAmB,CAC5D,IAAM,EAAU,CAAC,EACjB,OAAQ,EAAe,eACd,oBAAqB,CACtB,EAAQ,KAAK,GAAoC,CAAC,EAClD,KACJ,SAEI,EAAQ,KAAK,GAAiC,CAAc,CAAC,EAGrE,OAAO,GAEL,GAA8B,CAAC,IAAW,CAC5C,IAAM,EAAW,EAAgB,yBAAyB,CAAM,EAChE,OAAO,OAAO,OAAO,EAAU,CAC3B,qBAAsB,EAAO,kBAAkB,EAAO,sBAAwB,CAAC,CAAC,CACpF,CAAC,GAGC,GAAkC,CAAC,IAAY,CACjD,OAAO,OAAO,OAAO,EAAS,CAC1B,qBAAsB,EAAQ,sBAAwB,GACtD,gBAAiB,EAAQ,iBAAmB,GAC5C,mBAAoB,QACxB,CAAC,GAEC,GAAe,CACjB,QAAS,CAAE,KAAM,gBAAiB,KAAM,iBAAkB,EAC1D,SAAU,CAAE,KAAM,gBAAiB,KAAM,UAAW,EACpD,OAAQ,CAAE,KAAM,gBAAiB,KAAM,QAAS,EAChD,aAAc,CAAE,KAAM,gBAAiB,KAAM,sBAAuB,CACxE,EAEI,GAAU,WACV,GAAc,CACjB,QAAS,EAAO,EAEX,EAAI,MACJ,EAAI,GAAI,EAAI,GAAM,EAAI,QAAS,GAAI,kBAAmB,EAAI,gBAAiB,EAAI,UAAW,EAAI,eAAgB,EAAI,EAAG,GAAI,UAAW,EAAG,EAAI,EAAG,GAAI,EAAE,EAAG,EAAI,CAAE,GAAI,EAAG,KAAM,CAAC,EAAG,MAAM,CAAE,EAAG,EAAI,CAAC,EAAG,EAAI,CAAC,EAAG,GAAI,QAAS,CAAC,EACvN,EAAQ,CACV,WAAY,CACR,CAAC,EAAG,CAAC,CAAC,CAAC,EACP,CAAC,EAAG,CAAC,EACL,CAAC,gBAAiB,EAAG,EAAC,EACtB,CAAC,EAAG,CAAC,EAAG,GAAI,SAAU,EAAG,CAAC,CAAC,EAC3B,CAAC,EAAG,CAAC,EAAG,GAAI,cAAe,EAAG,CAAC,CAAC,EAChC,CAAC,EAAG,CAAC,CAAE,GAAI,EAAG,KAAM,CAAC,EAAG,mBAAmB,CAAE,EAAG,CAAC,CAAC,EAClD,CAAC,EAAG,CAAC,CAAE,GAAI,EAAG,KAAM,CAAC,EAAG,cAAc,CAAE,EAAG,CAAC,CAAC,EAC7C,CAAC,EAAG,CAAC,EAAG,KAAK,CAAC,EACd,CAAC,EAAG,CAAC,EAAG,QAAQ,CAAC,EACjB,CAAC,EAAG,CAAC,EAAG,YAAY,CAAC,CACzB,EACA,QAAS,CACL,CAAC,CAAC,EACF,CAAC,EAAG,mEAAmE,EACvE,CAAC,EAAG,wEAAwE,EAC5E,CAAC,EAAG,CAAC,EACL,CAAC,yCAA0C,CAAC,EAC5C,CAAC,uCAAwC,CAAC,EAC1C,CAAC,+CAAgD,CAAC,EAClD,CAAC,oEAAqE,CAAC,EACvE,CAAC,EAAG,iFAAiF,EACrF,CAAC,2DAA4D,CAAC,EAC9D,CAAC,EAAG,0DAA0D,EAC9D,CAAC,+DAAgE,CAAC,EAClE,CAAC,EAAG,oEAAoE,EACxE,CAAC,sDAAuD,CAAC,EACzD,CAAC,EAAG,uCAAuC,CAC/C,CACJ,EACM,GAAO,EACP,EAAI,IACJ,GAAQ,IAAI,WAAW,CACzB,GACA,EACA,GACA,EACA,GACA,EACA,EACA,EACA,EAAI,GACJ,EACA,EACA,EAAI,GACJ,EACA,GACA,EACA,EACA,GACA,EACA,EACA,EAAI,EACJ,EACA,EACA,EAAI,EACJ,EACA,EACA,EAAI,EACJ,EAAI,GACJ,EACA,EAAI,GACJ,EAAI,GACJ,EACA,GACA,GACA,EACA,EAAI,EACJ,EAAI,GACJ,EACA,GACA,EAAI,EACJ,EACA,EAAI,EACJ,EAAI,EACJ,EACA,EAAI,EACJ,GACA,EACA,EAAI,EACJ,EAAI,CACR,CAAC,EACK,GAAM,EAAU,sBAAsB,KAAK,GAAO,GAAM,EAAM,WAAY,EAAM,OAAO,EAEvF,GAAQ,IAAI,EAAU,cAAc,CACtC,KAAM,GACN,OAAQ,CAAC,WAAY,SAAU,eAAgB,SAAS,CAC5D,CAAC,EACK,GAA0B,CAAC,EAAgB,EAAU,CAAC,IAAM,CAC9D,OAAO,GAAM,IAAI,EAAgB,IAAM,EAAU,eAAe,GAAK,CACjE,eAAgB,EAChB,OAAQ,EAAQ,MACpB,CAAC,CAAC,GAEN,EAAU,wBAAwB,IAAM,EAAS,qBAEjD,MAAM,UAA+B,EAAO,gBAAiB,CACzD,WAAW,CAAC,EAAS,CACjB,MAAM,CAAO,EACb,OAAO,eAAe,KAAM,EAAuB,SAAS,EAEpE,CAEA,MAAM,UAA8B,CAAuB,CACvD,KAAO,wBACP,OAAS,SACT,MACA,WAAW,CAAC,EAAM,CACd,MAAM,CACF,KAAM,wBACN,OAAQ,YACL,CACP,CAAC,EACD,OAAO,eAAe,KAAM,EAAsB,SAAS,EAC3D,KAAK,MAAQ,EAAK,MAE1B,CACA,MAAM,UAAgC,CAAuB,CACzD,KAAO,0BACP,OAAS,SACT,MACA,WAAW,CAAC,EAAM,CACd,MAAM,CACF,KAAM,0BACN,OAAQ,YACL,CACP,CAAC,EACD,OAAO,eAAe,KAAM,EAAwB,SAAS,EAC7D,KAAK,MAAQ,EAAK,MAE1B,CACA,MAAM,UAA6B,CAAuB,CACtD,KAAO,uBACP,OAAS,SACT,MACA,WAAW,CAAC,EAAM,CACd,MAAM,CACF,KAAM,uBACN,OAAQ,YACL,CACP,CAAC,EACD,OAAO,eAAe,KAAM,EAAqB,SAAS,EAC1D,KAAK,MAAQ,EAAK,MAE1B,CACA,MAAM,UAA4B,CAAuB,CACrD,KAAO,sBACP,OAAS,SACT,MACA,WAAW,CAAC,EAAM,CACd,MAAM,CACF,KAAM,sBACN,OAAQ,YACL,CACP,CAAC,EACD,OAAO,eAAe,KAAM,EAAoB,SAAS,EACzD,KAAK,MAAQ,EAAK,MAE1B,CAEA,IAAM,GAAO,wBACP,GAAM,cACN,GAAQ,oBACR,GAAS,2BACT,GAAU,+BACV,GAAW,gCACX,GAAU,4BACV,GAAO,0BACP,GAAM,eACN,GAAQ,uBACR,GAAM,sBACN,EAAO,cACP,EAAM,cACN,EAAK,SACL,EAAM,WACN,EAAM,eACN,GAAM,OACN,EAAK,QACL,EAAM,YACN,EAAM,YACN,GAAK,OACL,EAAM,YACN,GAAM,UACN,EAAM,WACN,EAAK,UACL,EAAM,eACN,GAAM,cACN,GAAK,+CACL,GAAO,kBACP,GAAM,eACN,GAAM,SACN,GAAM,aACN,GAAM,cACN,GAAM,YACN,EAAK,uBACL,GAAc,EAAO,aAAa,IAAI,EAAE,EAC1C,GAA0B,CAAC,GAAI,GAAI,yBAA0B,EAAG,CAAC,EAAG,CAAC,CAAC,EAC1E,GAAY,cAAc,GAAyB,CAAsB,EACzE,IAAM,EAAc,EAAO,aAAa,IAAI,CAAE,EAC1C,GAAyB,CAAC,GAAI,EAAI,GAAM,EAAG,GAAK,CAAG,EAAG,CAAC,EAAI,CAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAC7E,EAAY,cAAc,GAAwB,CAAqB,EACvE,IAAI,GAA2B,CAAC,GAAI,EAAI,GAAM,EAAG,GAAK,IAAM,GAAM,GAAI,EAAG,CAAC,EAAI,CAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAC5F,EAAY,cAAc,GAA0B,CAAuB,EAC3E,IAAI,GAAwB,CAAC,GAAI,EAAI,GAAO,EAAG,GAAK,GAAK,GAAM,GAAI,EAAG,CAAC,EAAI,CAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EACzF,EAAY,cAAc,GAAuB,CAAoB,EACrE,IAAI,GAAuB,CAAC,GAAI,EAAI,GAAK,EAAG,GAAK,GAAK,GAAM,GAAI,EAAG,CAAC,EAAI,CAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EACtF,EAAY,cAAc,GAAsB,CAAmB,EACnE,IAAM,GAAsB,CAAC,GAAa,CAAW,EACjD,GAAe,CAAC,EAAG,EAAI,GAAK,EAAG,CAAC,EAChC,GAAe,CACf,EACA,EACA,GACA,EACA,CAAC,EAAM,GAAM,EAAG,EAChB,CACI,CAAC,EAAG,EAAG,GAAM,CAAK,CAAC,EACnB,CAAC,EAAG,EAAG,GAAM,EAAK,CAAC,EACnB,CAAC,EAAG,EAAG,GAAM,EAAI,CAAC,CACtB,EACA,CACJ,EACI,GAA4B,CAC5B,EACA,EACA,GACA,EACA,CAAC,EAAG,EACJ,CAAC,CAAC,IAAM,GAA+B,EAAE,CAAC,EAC1C,CACJ,EACI,GAAgC,CAChC,EACA,EACA,GACA,EACA,CAAC,EAAK,EAAK,GAAK,GAAK,EAAK,CAAG,EAC7B,CACI,CAAC,EAAG,EAAG,GAAM,CAAI,CAAC,EAClB,CAAC,EAAG,EAAG,GAAM,CAAI,CAAC,EAClB,EACA,CAAC,EAAG,EAAG,GAAM,EAAI,CAAC,EAClB,CAAC,EAAG,EAAG,GAAM,CAAI,CAAC,EAClB,CAAC,IAAM,GAAc,EAAG,GAAM,CAAI,CAAC,CACvC,EACA,CACJ,EACI,GAA6B,CAC7B,EACA,EACA,GACA,EACA,CAAC,EAAG,EACJ,CAAC,CAAC,IAAM,GAAgC,EAAE,CAAC,EAC3C,CACJ,EACI,GAAiC,CACjC,EACA,EACA,GACA,EACA,CAAC,EAAK,GAAK,EAAK,EAAK,EAAG,EACxB,CACI,CAAC,IAAM,GAAc,EAAG,GAAM,CAAI,CAAC,EACnC,CAAC,EAAG,EAAG,GAAM,EAAI,CAAC,EAClB,CAAC,EAAG,EAAG,GAAM,CAAI,CAAC,EAClB,CAAC,IAAM,GAAc,EAAG,GAAM,CAAI,CAAC,EACnC,CAAC,EAAG,EAAG,GAAM,EAAI,CAAC,CACtB,EACA,CACJ,EACI,GAAqB,CACrB,EACA,EACA,GACA,EAAG,IAAK,CAAC,OAAQ,YAAa,GAAG,CAAE,EACnC,IAAM,GACN,IAAM,EACV,EAEM,GAAqB,CAAC,IAAW,CACnC,MAAO,CACH,WAAY,aACZ,cAAe,GAAQ,eAAiB,EAAM,WAC9C,cAAe,GAAQ,eAAiB,EAAM,SAC9C,kBAAmB,GAAQ,mBAAqB,GAChD,iBAAkB,GAAQ,kBAAoB,GAC9C,WAAY,GAAQ,YAAc,CAAC,EACnC,uBAAwB,GAAQ,wBAA0B,GAC1D,gBAAiB,GAAQ,iBAAmB,CACxC,CACI,SAAU,iBACV,iBAAkB,CAAC,IAAQ,EAAI,oBAAoB,gBAAgB,EACnE,OAAQ,IAAI,EAAgB,iBAChC,EACA,CACI,SAAU,oBACV,iBAAkB,CAAC,IAAQ,EAAI,oBAAoB,mBAAmB,IAAM,UAAa,CAAC,IAC1F,OAAQ,IAAI,EAAK,YACrB,CACJ,EACA,OAAQ,GAAQ,QAAU,IAAI,EAAO,WACrC,SAAU,GAAQ,UAAY,GAAY,oBAC1C,iBAAkB,GAAQ,kBAAoB,CAC1C,iBAAkB,uBAClB,uBACA,QAAS,aACT,cAAe,QACnB,EACA,UAAW,GAAQ,WAAa,SAChC,UAAW,GAAQ,WAAa,EAAU,SAC1C,YAAa,GAAQ,aAAe,EAAM,SAC1C,YAAa,GAAQ,aAAe,EAAM,MAC9C,GAGE,GAAmB,CAAC,IAAa,CACnC,EAAO,gCAAgC,QAAQ,OAAO,EACtD,IAAM,EAAe,EAAO,0BAA0B,CAAQ,EACxD,EAAwB,IAAM,EAAa,EAAE,KAAK,EAAO,yBAAyB,EAClF,EAAqB,GAAmB,CAAQ,EACtD,EAAS,gCAAgC,QAAQ,OAAO,EACxD,IAAM,EAAe,CACjB,QAAS,GAAU,QACnB,OAAQ,EAAmB,MAC/B,EACA,MAAO,IACA,KACA,EACH,QAAS,OACT,eACA,qBAAsB,GAAU,sBAAwB,EAAO,WAAW,EAAgB,oCAAqC,CAAY,EAC3I,kBAAmB,GAAU,mBAAqB,EAAM,oBACxD,yBAA0B,GAAU,0BAChC,EAAS,+BAA+B,CAAE,UAAW,EAAmB,UAAW,cAAe,GAAY,OAAQ,CAAC,EAC3H,YAAa,GAAU,aAAe,EAAO,WAAW,EAAM,gCAAiC,CAAQ,EACvG,OAAQ,GAAU,QACd,EAAO,WAAW,EAAO,2BAA4B,IAAK,EAAO,mCAAoC,CAAa,CAAC,EACvH,eAAgB,EAAgB,gBAAgB,OAAO,GAAU,gBAAkB,CAAqB,EACxG,UAAW,GAAU,WACjB,EAAO,WAAW,IACX,EAAM,+BACT,QAAS,UAAa,MAAM,EAAsB,GAAG,WAAa,EAAM,kBAC5E,EAAG,CAAQ,EACf,OAAQ,GAAU,QAAU,EAAM,KAAK,KAAK,KAAM,QAAQ,EAC1D,gBAAiB,GAAU,iBAAmB,EAAgB,gBAC9D,qBAAsB,GAAU,sBAAwB,EAAO,WAAW,EAAO,2CAA4C,CAAY,EACzI,gBAAiB,GAAU,iBAAmB,EAAO,WAAW,EAAO,sCAAuC,CAAY,EAC1H,eAAgB,GAAU,gBAAkB,EAAO,WAAW,EAAS,2BAA4B,CAAY,CACnH,GAGE,GAAoC,CAAC,IAAkB,CACzD,IAAuC,gBAAjC,EACsC,uBAAxC,EAC6B,YAA7B,GAD0B,EAE9B,MAAO,CACH,iBAAiB,CAAC,EAAgB,CAC9B,IAAM,EAAQ,EAAiB,UAAU,CAAC,IAAW,EAAO,WAAa,EAAe,QAAQ,EAChG,GAAI,IAAU,GACV,EAAiB,KAAK,CAAc,EAGpC,OAAiB,OAAO,EAAO,EAAG,CAAc,GAGxD,eAAe,EAAG,CACd,OAAO,GAEX,yBAAyB,CAAC,EAAwB,CAC9C,EAA0B,GAE9B,sBAAsB,EAAG,CACrB,OAAO,GAEX,cAAc,CAAC,EAAa,CACxB,EAAe,GAEnB,WAAW,EAAG,CACV,OAAO,EAEf,GAEE,GAA+B,CAAC,IAAW,CAC7C,MAAO,CACH,gBAAiB,EAAO,gBAAgB,EACxC,uBAAwB,EAAO,uBAAuB,EACtD,YAAa,EAAO,YAAY,CACpC,GAGE,GAA2B,CAAC,EAAe,IAAe,CAC5D,IAAM,EAAyB,OAAO,OAAO,EAAS,mCAAmC,CAAa,EAAG,EAAO,iCAAiC,CAAa,EAAG,EAAU,qCAAqC,CAAa,EAAG,GAAkC,CAAa,CAAC,EAEhR,OADA,EAAW,QAAQ,CAAC,IAAc,EAAU,UAAU,CAAsB,CAAC,EACtE,OAAO,OAAO,EAAe,EAAS,uCAAuC,CAAsB,EAAG,EAAO,4BAA4B,CAAsB,EAAG,EAAU,gCAAgC,CAAsB,EAAG,GAA6B,CAAsB,CAAC,GAGpS,MAAM,UAAqB,EAAO,MAAO,CACrC,OACA,WAAW,KAAK,GAAgB,CAC5B,IAAM,EAAY,GAAiB,GAAiB,CAAC,CAAC,EACtD,MAAM,CAAS,EACf,KAAK,WAAa,EAClB,IAAM,EAAY,GAAgC,CAAS,EACrD,EAAY,EAAS,uBAAuB,CAAS,EACrD,EAAY,EAAM,mBAAmB,CAAS,EAC9C,EAAY,EAAO,oBAAoB,CAAS,EAChD,EAAY,EAAS,wBAAwB,CAAS,EACtD,GAAY,EAAU,sBAAsB,CAAS,EACrD,GAAY,GAA4B,EAAS,EACjD,GAAY,GAAyB,GAAW,GAAe,YAAc,CAAC,CAAC,EACrF,KAAK,OAAS,GACd,KAAK,gBAAgB,IAAI,EAAO,qBAAqB,KAAK,MAAM,CAAC,EACjE,KAAK,gBAAgB,IAAI,EAAS,mBAAmB,KAAK,MAAM,CAAC,EACjE,KAAK,gBAAgB,IAAI,EAAM,eAAe,KAAK,MAAM,CAAC,EAC1D,KAAK,gBAAgB,IAAI,EAAU,uBAAuB,KAAK,MAAM,CAAC,EACtE,KAAK,gBAAgB,IAAI,EAAS,oBAAoB,KAAK,MAAM,CAAC,EAClE,KAAK,gBAAgB,IAAI,EAAS,gBAAgB,KAAK,MAAM,CAAC,EAC9D,KAAK,gBAAgB,IAAI,EAAS,4BAA4B,KAAK,MAAM,CAAC,EAC1E,KAAK,gBAAgB,IAAI,EAAK,uCAAuC,KAAK,OAAQ,CAC9E,iCAAkC,GAClC,+BAAgC,MAAO,KAAW,IAAI,EAAK,8BAA8B,CACrF,iBAAkB,GAAO,WAC7B,CAAC,CACL,CAAC,CAAC,EACF,KAAK,gBAAgB,IAAI,EAAK,qBAAqB,KAAK,MAAM,CAAC,EAEnE,OAAO,EAAG,CACN,MAAM,QAAQ,EAEtB,CAEA,MAAM,UAAiC,EAAO,QACzC,aAAa,EACb,GAAG,EAAY,EACf,EAAE,QAAS,CAAC,EAAS,EAAI,EAAQ,EAAG,CACrC,MAAO,CAAC,EAAU,kBAAkB,EAAQ,EAAQ,iCAAiC,CAAC,CAAC,EAC1F,EACI,EAAE,SAAU,oBAAqB,CAAC,CAAC,EACnC,EAAE,eAAgB,0BAA0B,EAC5C,GAAG,EAAkB,EACrB,MAAM,CAAE,CACb,CAEA,IAAM,GAAW,CACb,0BACJ,EACA,MAAM,UAAe,CAAa,CAClC,CACA,EAAO,uBAAuB,GAAU,CAAM,EAE9C,IAAM,GAAkB,CACpB,iBAAkB,mBAClB,yBAA0B,2BAC1B,gBAAiB,kBACjB,aAAc,eACd,cAAe,gBACf,yBAA0B,0BAC9B,EAEA,IAA0B,QAAlB,GACkB,OAAlB,IAAW,EACX,GAAwB,EACxB,GAAyB,GACzB,GAAe,GACf,GAAqB,GACrB,GAA2B,EAC3B,GAA4B,GAC5B,GAAgC,GAChC,GAA6B,GAC7B,GAAiC,GACjC,GAA0B,EAC1B,GAA2B,GAC3B,GAAkB,GAClB,GAAS,EACT,GAAe,EACf,GAAyB,EACzB,GAA0B,GAC1B,GAAuB,EACvB,GAAwB,GACxB,GAAsB,EACtB,GAAuB,GACvB,GAAsB", | ||
| "debugId": "1CD79EC81F8C09EC64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260612174303_project_dir_strategy.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260612174303_project_dir_strategy\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`ALTER TABLE \\`project_directory\\` ADD \\`strategy\\` text;`)\n yield* tx.run(`PRAGMA foreign_keys=OFF;`)\n yield* tx.run(`\n CREATE TABLE \\`__new_project_directory\\` (\n \\`project_id\\` text NOT NULL,\n \\`directory\\` text NOT NULL,\n \\`type\\` text,\n \\`strategy\\` text,\n \\`time_created\\` integer NOT NULL,\n CONSTRAINT \\`project_directory_pk\\` PRIMARY KEY(\\`project_id\\`, \\`directory\\`),\n CONSTRAINT \\`fk_project_directory_project_id_project_id_fk\\` FOREIGN KEY (\\`project_id\\`) REFERENCES \\`project\\`(\\`id\\`) ON DELETE CASCADE\n );\n `)\n yield* tx.run(\n `INSERT INTO \\`__new_project_directory\\`(\\`project_id\\`, \\`directory\\`, \\`type\\`, \\`time_created\\`) SELECT \\`project_id\\`, \\`directory\\`, \\`type\\`, \\`time_created\\` FROM \\`project_directory\\`;`,\n )\n yield* tx.run(`DROP TABLE \\`project_directory\\`;`)\n yield* tx.run(`ALTER TABLE \\`__new_project_directory\\` RENAME TO \\`project_directory\\`;`)\n yield* tx.run(`PRAGMA foreign_keys=ON;`)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,sCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,sDAA0D,EACxE,MAAO,EAAG,IAAI,0BAA0B,EACxC,MAAO,EAAG,IAAI,wdAUb,EACD,MAAO,EAAG,IACR,6KACF,EACA,MAAO,EAAG,IAAI,iCAAmC,EACjD,MAAO,EAAG,IAAI,sEAA0E,EACxF,MAAO,EAAG,IAAI,yBAAyB,EACxC,EAEL", | ||
| "debugId": "9E622A69EF9517B664756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260227213759_add_session_workspace_id.ts"], | ||
| "sourcesContent": [ | ||
| "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" | ||
| ], | ||
| "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", | ||
| "debugId": "3D24FCBE328610F264756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "A0384F5A3E22FFCD64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260127222353_familiar_lady_ursula.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260127222353_familiar_lady_ursula\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`\n CREATE TABLE \\`project\\` (\n \\`id\\` text PRIMARY KEY,\n \\`worktree\\` text NOT NULL,\n \\`vcs\\` text,\n \\`name\\` text,\n \\`icon_url\\` text,\n \\`icon_color\\` text,\n \\`time_created\\` integer NOT NULL,\n \\`time_updated\\` integer NOT NULL,\n \\`time_initialized\\` integer,\n \\`sandboxes\\` text NOT NULL\n );\n `)\n yield* tx.run(`\n CREATE TABLE \\`message\\` (\n \\`id\\` text PRIMARY KEY,\n \\`session_id\\` text NOT NULL,\n \\`time_created\\` integer NOT NULL,\n \\`time_updated\\` integer NOT NULL,\n \\`data\\` text NOT NULL,\n CONSTRAINT \\`fk_message_session_id_session_id_fk\\` FOREIGN KEY (\\`session_id\\`) REFERENCES \\`session\\`(\\`id\\`) ON DELETE CASCADE\n );\n `)\n yield* tx.run(`\n CREATE TABLE \\`part\\` (\n \\`id\\` text PRIMARY KEY,\n \\`message_id\\` text NOT NULL,\n \\`session_id\\` text NOT NULL,\n \\`time_created\\` integer NOT NULL,\n \\`time_updated\\` integer NOT NULL,\n \\`data\\` text NOT NULL,\n CONSTRAINT \\`fk_part_message_id_message_id_fk\\` FOREIGN KEY (\\`message_id\\`) REFERENCES \\`message\\`(\\`id\\`) ON DELETE CASCADE\n );\n `)\n yield* tx.run(`\n CREATE TABLE \\`permission\\` (\n \\`project_id\\` text PRIMARY KEY,\n \\`time_created\\` integer NOT NULL,\n \\`time_updated\\` integer NOT NULL,\n \\`data\\` text 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 TABLE \\`session\\` (\n \\`id\\` text PRIMARY KEY,\n \\`project_id\\` text NOT NULL,\n \\`parent_id\\` text,\n \\`slug\\` text NOT NULL,\n \\`directory\\` text NOT NULL,\n \\`title\\` text NOT NULL,\n \\`version\\` text NOT NULL,\n \\`share_url\\` text,\n \\`summary_additions\\` integer,\n \\`summary_deletions\\` integer,\n \\`summary_files\\` integer,\n \\`summary_diffs\\` text,\n \\`revert\\` text,\n \\`permission\\` text,\n \\`time_created\\` integer NOT NULL,\n \\`time_updated\\` integer NOT NULL,\n \\`time_compacting\\` integer,\n \\`time_archived\\` integer,\n CONSTRAINT \\`fk_session_project_id_project_id_fk\\` FOREIGN KEY (\\`project_id\\`) REFERENCES \\`project\\`(\\`id\\`) ON DELETE CASCADE\n );\n `)\n yield* tx.run(`\n CREATE TABLE \\`todo\\` (\n \\`session_id\\` text NOT NULL,\n \\`content\\` text NOT NULL,\n \\`status\\` text NOT NULL,\n \\`priority\\` text NOT NULL,\n \\`position\\` integer NOT NULL,\n \\`time_created\\` integer NOT NULL,\n \\`time_updated\\` integer NOT NULL,\n CONSTRAINT \\`todo_pk\\` PRIMARY KEY(\\`session_id\\`, \\`position\\`),\n CONSTRAINT \\`fk_todo_session_id_session_id_fk\\` FOREIGN KEY (\\`session_id\\`) REFERENCES \\`session\\`(\\`id\\`) ON DELETE CASCADE\n );\n `)\n yield* tx.run(`\n CREATE TABLE \\`session_share\\` (\n \\`session_id\\` text PRIMARY KEY,\n \\`id\\` text NOT NULL,\n \\`secret\\` text NOT NULL,\n \\`url\\` text NOT NULL,\n \\`time_created\\` integer NOT NULL,\n \\`time_updated\\` integer NOT NULL,\n CONSTRAINT \\`fk_session_share_session_id_session_id_fk\\` FOREIGN KEY (\\`session_id\\`) REFERENCES \\`session\\`(\\`id\\`) ON DELETE CASCADE\n );\n `)\n yield* tx.run(`CREATE INDEX \\`message_session_idx\\` ON \\`message\\` (\\`session_id\\`);`)\n yield* tx.run(`CREATE INDEX \\`part_message_idx\\` ON \\`part\\` (\\`message_id\\`);`)\n yield* tx.run(`CREATE INDEX \\`part_session_idx\\` ON \\`part\\` (\\`session_id\\`);`)\n yield* tx.run(`CREATE INDEX \\`session_project_idx\\` ON \\`session\\` (\\`project_id\\`);`)\n yield* tx.run(`CREATE INDEX \\`session_parent_idx\\` ON \\`session\\` (\\`parent_id\\`);`)\n yield* tx.run(`CREATE INDEX \\`todo_session_idx\\` ON \\`todo\\` (\\`session_id\\`);`)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,sCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,4YAab,EACD,MAAO,EAAG,IAAI,8XASb,EACD,MAAO,EAAG,IAAI,+ZAUb,EACD,MAAO,EAAG,IAAI,qWAQb,EACD,MAAO,EAAG,IAAI,2zBAsBb,EACD,MAAO,EAAG,IAAI,ghBAYb,EACD,MAAO,EAAG,IAAI,4aAUb,EACD,MAAO,EAAG,IAAI,iEAAuE,EACrF,MAAO,EAAG,IAAI,2DAAiE,EAC/E,MAAO,EAAG,IAAI,2DAAiE,EAC/E,MAAO,EAAG,IAAI,iEAAuE,EACrF,MAAO,EAAG,IAAI,+DAAqE,EACnF,MAAO,EAAG,IAAI,2DAAiE,EAChF,EAEL", | ||
| "debugId": "FFD3403AA24DF65B64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["src/commands/handlers/service/unset.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport { Commands } from \"../../commands\"\nimport { Runtime } from \"../../../framework/runtime\"\nimport { ServiceConfig } from \"../../../services/service-config\"\n\nexport default Runtime.handler(\n Commands.commands.service.commands.unset,\n Effect.fn(\"cli.service.unset\")(function* (input) {\n yield* ServiceConfig.unset(input.key)\n }),\n)\n" | ||
| ], | ||
| "mappings": ";snBAKA,SAAe,SAAQ,aACrB,OAAS,cAAS,aAAQ,cAAS,WACnC,OAAO,QAAG,wBAAmB,OAAE,cAAU,MAAC,OAAO,MAC/C,MAAO,EAAc,MAAM,EAAM,GAAG,EACrC,CACH", | ||
| "debugId": "F079484560FC91A564756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "5B84249101AE4DA064756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../tui/src/util/filetype.ts", "../../node_modules/.bun/ansi-regex@6.2.2/node_modules/ansi-regex/index.js", "../../node_modules/.bun/strip-ansi@7.1.2/node_modules/strip-ansi/index.js"], | ||
| "sourcesContent": [ | ||
| "import path from \"node:path\"\n\nexport const LANGUAGE_EXTENSIONS: Record<string, string> = {\n \".abap\": \"abap\",\n \".bat\": \"bat\",\n \".bib\": \"bibtex\",\n \".bibtex\": \"bibtex\",\n \".clj\": \"clojure\",\n \".cljs\": \"clojure\",\n \".cljc\": \"clojure\",\n \".edn\": \"clojure\",\n \".coffee\": \"coffeescript\",\n \".c\": \"c\",\n \".cpp\": \"cpp\",\n \".cxx\": \"cpp\",\n \".cc\": \"cpp\",\n \".c++\": \"cpp\",\n \".cs\": \"csharp\",\n \".csx\": \"csharp\",\n \".css\": \"css\",\n \".d\": \"d\",\n \".pas\": \"pascal\",\n \".pascal\": \"pascal\",\n \".diff\": \"diff\",\n \".patch\": \"diff\",\n \".dart\": \"dart\",\n \".dockerfile\": \"dockerfile\",\n \".ex\": \"elixir\",\n \".exs\": \"elixir\",\n \".erl\": \"erlang\",\n \".ets\": \"typescript\",\n \".hrl\": \"erlang\",\n \".fs\": \"fsharp\",\n \".fsi\": \"fsharp\",\n \".fsx\": \"fsharp\",\n \".fsscript\": \"fsharp\",\n \".gitcommit\": \"git-commit\",\n \".gitrebase\": \"git-rebase\",\n \".go\": \"go\",\n \".groovy\": \"groovy\",\n \".gleam\": \"gleam\",\n \".hbs\": \"handlebars\",\n \".handlebars\": \"handlebars\",\n \".hs\": \"haskell\",\n \".lhs\": \"haskell\",\n \".html\": \"html\",\n \".htm\": \"html\",\n \".ini\": \"ini\",\n \".java\": \"java\",\n \".jl\": \"julia\",\n \".js\": \"javascript\",\n \".kt\": \"kotlin\",\n \".kts\": \"kotlin\",\n \".jsx\": \"javascriptreact\",\n \".json\": \"json\",\n \".tex\": \"latex\",\n \".latex\": \"latex\",\n \".less\": \"less\",\n \".lua\": \"lua\",\n \".makefile\": \"makefile\",\n makefile: \"makefile\",\n \".md\": \"markdown\",\n \".markdown\": \"markdown\",\n \".m\": \"objective-c\",\n \".mm\": \"objective-cpp\",\n \".pl\": \"perl\",\n \".pm\": \"perl\",\n \".pm6\": \"perl6\",\n \".php\": \"php\",\n \".ps1\": \"powershell\",\n \".psm1\": \"powershell\",\n \".pug\": \"jade\",\n \".jade\": \"jade\",\n \".py\": \"python\",\n \".r\": \"r\",\n \".cshtml\": \"razor\",\n \".razor\": \"razor\",\n \".rb\": \"ruby\",\n \".rake\": \"ruby\",\n \".gemspec\": \"ruby\",\n \".ru\": \"ruby\",\n \".erb\": \"erb\",\n \".html.erb\": \"erb\",\n \".js.erb\": \"erb\",\n \".css.erb\": \"erb\",\n \".json.erb\": \"erb\",\n \".rs\": \"rust\",\n \".scss\": \"scss\",\n \".sass\": \"sass\",\n \".scala\": \"scala\",\n \".shader\": \"shaderlab\",\n \".sh\": \"shellscript\",\n \".bash\": \"shellscript\",\n \".zsh\": \"shellscript\",\n \".ksh\": \"shellscript\",\n \".sql\": \"sql\",\n \".svelte\": \"svelte\",\n \".swift\": \"swift\",\n \".ts\": \"typescript\",\n \".tsx\": \"typescriptreact\",\n \".mts\": \"typescript\",\n \".cts\": \"typescript\",\n \".mtsx\": \"typescriptreact\",\n \".ctsx\": \"typescriptreact\",\n \".xml\": \"xml\",\n \".xsl\": \"xsl\",\n \".yaml\": \"yaml\",\n \".yml\": \"yaml\",\n \".mjs\": \"javascript\",\n \".cjs\": \"javascript\",\n \".vue\": \"vue\",\n \".zig\": \"zig\",\n \".zon\": \"zig\",\n \".astro\": \"astro\",\n \".ml\": \"ocaml\",\n \".mli\": \"ocaml\",\n \".tf\": \"terraform\",\n \".tfvars\": \"terraform-vars\",\n \".hcl\": \"hcl\",\n \".nix\": \"nix\",\n \".typ\": \"typst\",\n \".typc\": \"typst\",\n}\n\nexport function filetype(input?: string) {\n if (!input) return \"none\"\n const language = LANGUAGE_EXTENSIONS[path.extname(input)]\n if ([\"typescriptreact\", \"javascriptreact\", \"javascript\"].includes(language)) return \"typescript\"\n return language\n}\n", | ||
| "export default function ansiRegex({onlyFirst = false} = {}) {\n\t// Valid string terminator sequences are BEL, ESC\\, and 0x9c\n\tconst ST = '(?:\\\\u0007|\\\\u001B\\\\u005C|\\\\u009C)';\n\n\t// OSC sequences only: ESC ] ... ST (non-greedy until the first ST)\n\tconst osc = `(?:\\\\u001B\\\\][\\\\s\\\\S]*?${ST})`;\n\n\t// CSI and related: ESC/C1, optional intermediates, optional params (supports ; and :) then final byte\n\tconst csi = '[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:\\\\d{1,4}(?:[;:]\\\\d{0,4})*)?[\\\\dA-PR-TZcf-nq-uy=><~]';\n\n\tconst pattern = `${osc}|${csi}`;\n\n\treturn new RegExp(pattern, onlyFirst ? undefined : 'g');\n}\n", | ||
| "import ansiRegex from 'ansi-regex';\n\nconst regex = ansiRegex();\n\nexport default function stripAnsi(string) {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError(`Expected a \\`string\\`, got \\`${typeof string}\\``);\n\t}\n\n\t// Even though the regex is global, we don't need to reset the `.lastIndex`\n\t// because unlike `.exec()` and `.test()`, `.replace()` does it automatically\n\t// and doing it manually has a performance penalty.\n\treturn string.replace(regex, '');\n}\n" | ||
| ], | ||
| "mappings": ";AAAA,oBAEO,IAAM,EAA8C,CACzD,QAAS,OACT,OAAQ,MACR,OAAQ,SACR,UAAW,SACX,OAAQ,UACR,QAAS,UACT,QAAS,UACT,OAAQ,UACR,UAAW,eACX,KAAM,IACN,OAAQ,MACR,OAAQ,MACR,MAAO,MACP,OAAQ,MACR,MAAO,SACP,OAAQ,SACR,OAAQ,MACR,KAAM,IACN,OAAQ,SACR,UAAW,SACX,QAAS,OACT,SAAU,OACV,QAAS,OACT,cAAe,aACf,MAAO,SACP,OAAQ,SACR,OAAQ,SACR,OAAQ,aACR,OAAQ,SACR,MAAO,SACP,OAAQ,SACR,OAAQ,SACR,YAAa,SACb,aAAc,aACd,aAAc,aACd,MAAO,KACP,UAAW,SACX,SAAU,QACV,OAAQ,aACR,cAAe,aACf,MAAO,UACP,OAAQ,UACR,QAAS,OACT,OAAQ,OACR,OAAQ,MACR,QAAS,OACT,MAAO,QACP,MAAO,aACP,MAAO,SACP,OAAQ,SACR,OAAQ,kBACR,QAAS,OACT,OAAQ,QACR,SAAU,QACV,QAAS,OACT,OAAQ,MACR,YAAa,WACb,SAAU,WACV,MAAO,WACP,YAAa,WACb,KAAM,cACN,MAAO,gBACP,MAAO,OACP,MAAO,OACP,OAAQ,QACR,OAAQ,MACR,OAAQ,aACR,QAAS,aACT,OAAQ,OACR,QAAS,OACT,MAAO,SACP,KAAM,IACN,UAAW,QACX,SAAU,QACV,MAAO,OACP,QAAS,OACT,WAAY,OACZ,MAAO,OACP,OAAQ,MACR,YAAa,MACb,UAAW,MACX,WAAY,MACZ,YAAa,MACb,MAAO,OACP,QAAS,OACT,QAAS,OACT,SAAU,QACV,UAAW,YACX,MAAO,cACP,QAAS,cACT,OAAQ,cACR,OAAQ,cACR,OAAQ,MACR,UAAW,SACX,SAAU,QACV,MAAO,aACP,OAAQ,kBACR,OAAQ,aACR,OAAQ,aACR,QAAS,kBACT,QAAS,kBACT,OAAQ,MACR,OAAQ,MACR,QAAS,OACT,OAAQ,OACR,OAAQ,aACR,OAAQ,aACR,OAAQ,MACR,OAAQ,MACR,OAAQ,MACR,SAAU,QACV,MAAO,QACP,OAAQ,QACR,MAAO,YACP,UAAW,iBACX,OAAQ,MACR,OAAQ,MACR,OAAQ,QACR,QAAS,OACX,EAEO,SAAS,CAAQ,CAAC,EAAgB,CACvC,GAAI,CAAC,EAAO,MAAO,OACnB,IAAM,EAAW,EAAoB,EAAK,QAAQ,CAAK,GACvD,GAAI,CAAC,kBAAmB,kBAAmB,YAAY,EAAE,SAAS,CAAQ,EAAG,MAAO,aACpF,OAAO,EChIT,SAAwB,CAAS,EAAE,YAAY,IAAS,CAAC,EAAG,CAY3D,OAAO,IAAI,OAFK,gJAEW,EAAY,OAAY,GAAG,ECVvD,IAAM,EAAQ,EAAU,EAExB,SAAwB,CAAS,CAAC,EAAQ,CACzC,GAAI,OAAO,IAAW,SACrB,MAAU,UAAU,gCAAgC,OAAO,KAAU,EAMtE,OAAO,EAAO,QAAQ,EAAO,EAAE", | ||
| "debugId": "A056651DA67AFFE564756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "CD7F916C31A1902864756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["src/mini/session-data.ts", "src/mini/stream.ts"], | ||
| "sourcesContent": [ | ||
| "// Core reducer for direct interactive mode.\n//\n// Takes raw SDK events and produces two outputs:\n// - StreamCommit[]: append-only scrollback entries (text, tool, error, etc.)\n// - FooterOutput: status bar patches and view transitions (permission, question)\n//\n// The reducer mutates SessionData in place for performance but has no\n// external side effects -- no IO, no footer calls. The demo runtime\n// (demo.ts) feeds events in and forwards output to the footer through\n// stream.ts; the current transport reuses the blocker helpers below.\n//\n// Key design decisions:\n//\n// - Text parts buffer in `data.text` until their message role is confirmed as\n// \"assistant\". This prevents echoing user-role text parts. The `ready()`\n// check gates output: if we see a text delta before the message.updated\n// event that tells us the role, we stash it and flush later via `replay()`.\n//\n// - Tool echo stripping: bash tools may echo their own output in the next\n// assistant text part. `stashEcho()` records completed bash output, and\n// `stripEcho()` removes it from the start of the next assistant chunk.\n//\n// - Permission and question requests queue in `data.permissions` and\n// `data.questions`. The footer shows whichever is first. When a reply\n// event arrives, the queue entry is removed and the footer falls back\n// to the next pending request or to the prompt view.\nimport type { Event, PermissionRequest, QuestionRequest, ToolPart } from \"@opencode-ai/sdk/v2\"\nimport { Locale } from \"@opencode-ai/tui/util/locale\"\nimport { toolView } from \"./tool\"\nimport type { FooterOutput, FooterPatch, FooterView, StreamCommit } from \"./types\"\n\nconst money = new Intl.NumberFormat(\"en-US\", {\n style: \"currency\",\n currency: \"USD\",\n})\n\ntype Tokens = {\n input?: number\n output?: number\n reasoning?: number\n cache?: {\n read?: number\n write?: number\n }\n}\n\ntype PartKind = \"assistant\" | \"reasoning\" | \"user\"\ntype MessageRole = \"assistant\" | \"user\"\ntype Dict = Record<string, unknown>\ntype SessionCommit = StreamCommit\n\n// Mutable accumulator for the reducer. Each field tracks a different aspect\n// of the stream so we can produce correct incremental output:\n//\n// - ids: parts and error keys we've already committed (dedup guard)\n// - tools: tool parts we've emitted a \"start\" for but not yet completed\n// - call: tool call inputs, keyed by msg:call, for enriching permission views\n// - role: message ID → \"assistant\" | \"user\", learned from message.updated\n// - msg: part ID → message ID\n// - part: part ID → \"assistant\" | \"reasoning\" (text parts only)\n// - text: part ID → full accumulated text so far\n// - sent: part ID → byte offset of last flushed text (for incremental output)\n// - visible: part ID → rendered text for an active part after display transforms\n// - end: part IDs whose time.end has arrived (part is finished)\n// - shell: shell ID → chosen transcript source for direct shell calls\n// - echo: message ID → bash outputs to strip from the next assistant chunk\ntype ShellCall = {\n source: \"shell\" | \"tool\"\n command?: string\n}\n\nexport type SessionData = {\n includeUserText: boolean\n announced: boolean\n ids: Set<string>\n tools: Set<string>\n call: Map<string, Dict>\n shell: Map<string, ShellCall>\n permissions: PermissionRequest[]\n questions: QuestionRequest[]\n role: Map<string, MessageRole>\n msg: Map<string, string>\n part: Map<string, PartKind>\n text: Map<string, string>\n sent: Map<string, number>\n visible: Map<string, string>\n end: Set<string>\n echo: Map<string, Set<string>>\n}\n\nexport type SessionDataInput = {\n data: SessionData\n event: Event\n sessionID: string\n thinking: boolean\n limits: Record<string, number>\n}\n\nexport type SessionDataOutput = {\n data: SessionData\n commits: SessionCommit[]\n footer?: FooterOutput\n}\n\nexport function createSessionData(\n input: {\n includeUserText?: boolean\n } = {},\n): SessionData {\n return {\n includeUserText: input.includeUserText ?? false,\n announced: false,\n ids: new Set(),\n tools: new Set(),\n call: new Map(),\n shell: new Map(),\n permissions: [],\n questions: [],\n role: new Map(),\n msg: new Map(),\n part: new Map(),\n text: new Map(),\n sent: new Map(),\n visible: new Map(),\n end: new Set(),\n echo: new Map(),\n }\n}\n\nfunction modelKey(provider: string, model: string): string {\n return `${provider}/${model}`\n}\n\nfunction formatUsage(\n tokens: Tokens | undefined,\n limit: number | undefined,\n cost: number | undefined,\n): string | undefined {\n const total =\n (tokens?.input ?? 0) +\n (tokens?.output ?? 0) +\n (tokens?.reasoning ?? 0) +\n (tokens?.cache?.read ?? 0) +\n (tokens?.cache?.write ?? 0)\n\n if (total <= 0) {\n if (typeof cost === \"number\" && cost > 0) {\n return money.format(cost)\n }\n return undefined\n }\n\n const text =\n limit && limit > 0 ? `${Locale.number(total)} (${Math.round((total / limit) * 100)}%)` : Locale.number(total)\n\n if (typeof cost === \"number\" && cost > 0) {\n return `${text} · ${money.format(cost)}`\n }\n\n return text\n}\n\nexport function formatError(error: {\n name?: string\n message?: string\n data?: {\n message?: string\n }\n}): string {\n if (error.data?.message) {\n return error.data.message\n }\n\n if (error.message) {\n return error.message\n }\n\n if (error.name) {\n return error.name\n }\n\n return \"unknown error\"\n}\n\nfunction isAbort(error: { name?: string } | undefined): boolean {\n return error?.name === \"MessageAbortedError\"\n}\n\nfunction msgErr(id: string): string {\n return `msg:${id}:error`\n}\n\nfunction patch(patch?: FooterPatch, view?: FooterView): FooterOutput | undefined {\n if (!patch && !view) {\n return undefined\n }\n\n return {\n patch,\n view,\n }\n}\n\nfunction out(data: SessionData, commits: SessionCommit[], footer?: FooterOutput): SessionDataOutput {\n if (!footer) {\n return {\n data,\n commits,\n }\n }\n\n return {\n data,\n commits,\n footer,\n }\n}\n\nexport function pickBlockerView(input: { permission?: PermissionRequest; question?: QuestionRequest }): FooterView {\n if (input.permission) {\n return { type: \"permission\", request: input.permission }\n }\n\n if (input.question) {\n return { type: \"question\", request: input.question }\n }\n\n return { type: \"prompt\" }\n}\n\nexport function blockerStatus(view: FooterView) {\n if (view.type === \"permission\") {\n return \"awaiting permission\"\n }\n\n if (view.type === \"question\") {\n return \"awaiting answer\"\n }\n\n return \"\"\n}\n\nfunction pickSessionView(data: SessionData): FooterView {\n return pickBlockerView({\n permission: data.permissions[0],\n question: data.questions[0],\n })\n}\n\nfunction queueFooter(data: SessionData): FooterOutput {\n const view = pickSessionView(data)\n\n return {\n view,\n patch: { status: blockerStatus(view) },\n }\n}\n\nfunction queueOut(data: SessionData, commits: SessionCommit[]): SessionDataOutput {\n return out(data, commits, queueFooter(data))\n}\n\nfunction upsert<T extends { id: string }>(list: T[], item: T) {\n const idx = list.findIndex((entry) => entry.id === item.id)\n if (idx === -1) {\n list.push(item)\n return\n }\n\n list[idx] = item\n}\n\nfunction remove(list: Array<{ id: string }>, id: string): boolean {\n const idx = list.findIndex((entry) => entry.id === id)\n if (idx === -1) {\n return false\n }\n\n list.splice(idx, 1)\n return true\n}\n\nfunction key(msg: string, call: string): string {\n return `${msg}:${call}`\n}\n\nfunction enrichPermission(data: SessionData, request: PermissionRequest): PermissionRequest {\n if (!request.tool) {\n return request\n }\n\n const input = data.call.get(key(request.tool.messageID, request.tool.callID))\n if (!input) {\n return request\n }\n\n const meta = request.metadata ?? {}\n if (meta.input === input) {\n return request\n }\n\n return {\n ...request,\n metadata: {\n ...meta,\n input,\n },\n }\n}\n\n// Updates the active permission request when the matching tool part gets\n// new input (e.g., a diff). This keeps the permission UI in sync with the\n// tool's evolving state. Only triggers a footer update if the currently\n// displayed permission was the one that changed.\nfunction syncPermission(data: SessionData, part: ToolPart): FooterOutput | undefined {\n data.call.set(key(part.messageID, part.callID), part.state.input)\n if (data.permissions.length === 0) {\n return undefined\n }\n\n let changed = false\n let active = false\n data.permissions = data.permissions.map((request, index) => {\n if (!request.tool || request.tool.messageID !== part.messageID || request.tool.callID !== part.callID) {\n return request\n }\n\n const next = enrichPermission(data, request)\n if (next === request) {\n return request\n }\n\n changed = true\n active ||= index === 0\n return next\n })\n\n if (!changed || !active) {\n return undefined\n }\n\n return {\n view: pickSessionView(data),\n }\n}\n\n// Question tool replies can complete without a matching question.replied event.\n// When that happens, drop the recovered pending request tied to this tool call so\n// the footer can return to the next blocker or to the prompt.\nfunction syncQuestion(data: SessionData, part: ToolPart): FooterOutput | undefined {\n if (part.tool !== \"question\") {\n return undefined\n }\n\n if (part.state.status !== \"completed\" && part.state.status !== \"error\") {\n return undefined\n }\n\n const next = data.questions.filter(\n (request) => request.tool?.messageID !== part.messageID || request.tool?.callID !== part.callID,\n )\n if (next.length === data.questions.length) {\n return undefined\n }\n\n data.questions = next\n return queueFooter(data)\n}\n\nfunction toolStatus(part: ToolPart): string {\n if (part.tool !== \"task\") {\n return `running ${part.tool}`\n }\n\n const state = part.state as {\n input?: {\n description?: unknown\n subagent_type?: unknown\n }\n }\n const desc = state.input?.description\n if (typeof desc === \"string\" && desc.trim()) {\n return `running ${desc.trim()}`\n }\n\n const type = state.input?.subagent_type\n if (typeof type === \"string\" && type.trim()) {\n return `running ${type.trim()}`\n }\n\n return \"running task\"\n}\n\n// Returns true if we can flush this part's text to scrollback.\n//\n// We gate on the message role being \"assistant\" because user-role messages\n// also contain text parts (the user's own input) which we don't want to\n// echo. If we haven't received the message.updated event yet, we return\n// false and the text stays buffered until replay() flushes it.\nfunction ready(data: SessionData, partID: string): boolean {\n const msg = data.msg.get(partID)\n if (!msg) {\n return true\n }\n\n const role = data.role.get(msg)\n if (!role) {\n return false\n }\n\n if (role === \"assistant\") {\n return true\n }\n\n return data.includeUserText && role === \"user\"\n}\n\nfunction syncText(data: SessionData, partID: string, next: string) {\n const prev = data.text.get(partID) ?? \"\"\n if (!next) {\n return prev\n }\n\n if (!prev || next.length >= prev.length) {\n data.text.set(partID, next)\n return next\n }\n\n return prev\n}\n\n// Records bash tool output for echo stripping. Some models echo bash output\n// verbatim at the start of their next text part. We save both the raw and\n// trimmed forms so stripEcho() can match either.\nfunction stashEcho(data: SessionData, part: ToolPart) {\n if (part.tool !== \"bash\") {\n return\n }\n\n if (typeof part.messageID !== \"string\" || !part.messageID) {\n return\n }\n\n const output = \"output\" in part.state ? part.state.output : undefined\n if (typeof output !== \"string\") {\n return\n }\n\n const text = output.replace(/^\\n+/, \"\")\n if (!text.trim()) {\n return\n }\n\n const set = data.echo.get(part.messageID) ?? new Set<string>()\n set.add(text)\n const trim = text.replace(/\\n+$/, \"\")\n if (trim && trim !== text) {\n set.add(trim)\n }\n data.echo.set(part.messageID, set)\n}\n\nfunction stripEcho(data: SessionData, msg: string | undefined, chunk: string): string {\n if (!msg) {\n return chunk\n }\n\n const set = data.echo.get(msg)\n if (!set || set.size === 0) {\n return chunk\n }\n\n data.echo.delete(msg)\n const list = [...set].sort((a, b) => b.length - a.length)\n for (const item of list) {\n if (!item || !chunk.startsWith(item)) {\n continue\n }\n\n return chunk.slice(item.length).replace(/^\\n+/, \"\")\n }\n\n return chunk\n}\n\nfunction flushPart(data: SessionData, commits: SessionCommit[], partID: string, interrupted = false) {\n const kind = data.part.get(partID)\n if (!kind) {\n return\n }\n\n const text = data.text.get(partID) ?? \"\"\n const sent = data.sent.get(partID) ?? 0\n let chunk = text.slice(sent)\n const msg = data.msg.get(partID)\n\n if (sent === 0) {\n chunk = chunk.replace(/^\\n+/, \"\")\n // Some models emit a standalone whitespace token before real content.\n // Keep buffering until we have visible text so scrollback doesn't get a blank row.\n if (!chunk.trim()) {\n return\n }\n if (kind === \"reasoning\" && chunk) {\n chunk = `Thinking: ${chunk.replace(/\\[REDACTED\\]/g, \"\")}`\n }\n if (kind === \"assistant\" && chunk) {\n chunk = stripEcho(data, msg, chunk)\n if (!chunk.trim()) {\n return\n }\n }\n }\n\n if (chunk) {\n data.sent.set(partID, text.length)\n data.visible.set(partID, (data.visible.get(partID) ?? \"\") + chunk)\n commits.push({\n kind,\n text: chunk,\n phase: \"progress\",\n source: kind === \"user\" ? \"system\" : kind,\n messageID: msg,\n partID,\n })\n }\n\n if (!interrupted) {\n return\n }\n\n commits.push({\n kind,\n text: \"\",\n phase: \"final\",\n source: kind === \"user\" ? \"system\" : kind,\n messageID: msg,\n partID,\n interrupted: true,\n })\n}\n\nfunction drop(data: SessionData, partID: string) {\n data.part.delete(partID)\n data.text.delete(partID)\n data.sent.delete(partID)\n data.visible.delete(partID)\n data.msg.delete(partID)\n data.end.delete(partID)\n}\n\n// Called when we learn a message's role (from message.updated). Flushes any\n// buffered text parts that were waiting on role confirmation. User-role\n// parts are silently dropped.\nfunction replay(data: SessionData, commits: SessionCommit[], messageID: string, role: MessageRole, thinking: boolean) {\n for (const [partID, msg] of data.msg.entries()) {\n if (msg !== messageID || data.ids.has(partID)) {\n continue\n }\n\n if (role === \"user\" && !data.includeUserText) {\n data.ids.add(partID)\n drop(data, partID)\n continue\n }\n\n const kind = data.part.get(partID)\n if (!kind) {\n continue\n }\n\n if (role === \"user\" && kind === \"assistant\") {\n data.part.set(partID, \"user\")\n }\n\n if (kind === \"reasoning\" && !thinking) {\n if (data.end.has(partID)) {\n data.ids.add(partID)\n }\n drop(data, partID)\n continue\n }\n\n flushPart(data, commits, partID)\n\n if (!data.end.has(partID)) {\n continue\n }\n\n data.ids.add(partID)\n drop(data, partID)\n }\n}\n\nfunction toolCommit(\n part: ToolPart,\n next: Pick<SessionCommit, \"text\" | \"phase\" | \"toolState\"> & { toolError?: string },\n): SessionCommit {\n return {\n kind: \"tool\",\n source: \"tool\",\n messageID: part.messageID,\n partID: part.id,\n tool: part.tool,\n part,\n ...next,\n }\n}\n\nfunction shellPartID(shellID: string): string {\n return `shell:${shellID}`\n}\n\nfunction claimShell(data: SessionData, shellID: string, source: ShellCall[\"source\"], command?: string): ShellCall {\n const current = data.shell.get(shellID)\n if (current) {\n if (command && !current.command) {\n current.command = command\n }\n\n return current\n }\n\n const next = {\n source,\n ...(command ? { command } : {}),\n } satisfies ShellCall\n data.shell.set(shellID, next)\n return next\n}\n\nfunction bashCommand(part: ToolPart): string | undefined {\n if (part.tool !== \"bash\") {\n return undefined\n }\n\n const input = part.state.input\n if (!input || typeof input !== \"object\" || Array.isArray(input)) {\n return undefined\n }\n\n const command = Reflect.get(input, \"command\")\n return typeof command === \"string\" ? command : undefined\n}\n\nfunction shellCommit(\n input: {\n callID: string\n command: string\n },\n next: Pick<SessionCommit, \"text\" | \"phase\" | \"toolState\">,\n): SessionCommit {\n return {\n kind: \"tool\",\n source: \"tool\",\n partID: shellPartID(input.callID),\n tool: \"bash\",\n shell: input,\n ...next,\n }\n}\n\nfunction startShell(callID: string, command: string): SessionCommit {\n return shellCommit(\n {\n callID,\n command,\n },\n {\n text: \"running shell\",\n phase: \"start\",\n toolState: \"running\",\n },\n )\n}\n\nfunction doneShell(callID: string, command: string, output: string): SessionCommit {\n return shellCommit(\n {\n callID,\n command,\n },\n {\n text: output,\n phase: \"progress\",\n toolState: \"completed\",\n },\n )\n}\n\nfunction startTool(part: ToolPart): SessionCommit {\n return toolCommit(part, {\n text: toolStatus(part),\n phase: \"start\",\n toolState: \"running\",\n })\n}\n\nfunction doneTool(part: ToolPart): SessionCommit {\n return toolCommit(part, {\n text: \"\",\n phase: \"final\",\n toolState: \"completed\",\n })\n}\n\nfunction failTool(part: ToolPart, text: string): SessionCommit {\n return toolCommit(part, {\n text,\n phase: \"final\",\n toolState: \"error\",\n toolError: text,\n })\n}\n\n// The main reducer. Takes one SDK event and returns scrollback commits and\n// footer updates. Called once per event from the stream transport's watch loop.\n//\n// Event handling follows the SDK event types:\n// message.updated → learn role, flush buffered parts, track usage\n// message.part.delta → accumulate text, flush if ready\n// message.part.updated → handle text/reasoning/tool state transitions\n// permission.* → manage the permission queue, drive footer view\n// question.* → manage the question queue, drive footer view\n// session.error → emit error scrollback entry\nexport function reduceSessionData(input: SessionDataInput): SessionDataOutput {\n const commits: SessionCommit[] = []\n const data = input.data\n const event = input.event\n\n if (event.type === \"session.shell.started\") {\n if (event.properties.sessionID !== input.sessionID) {\n return out(data, commits)\n }\n\n const shell = claimShell(data, event.properties.shell.id, \"shell\", event.properties.shell.command)\n if (shell.source !== \"shell\") {\n return out(data, commits)\n }\n\n const partID = shellPartID(event.properties.shell.id)\n if (data.ids.has(partID) || data.tools.has(partID)) {\n return out(data, commits, patch({ status: \"running shell\" }))\n }\n\n data.tools.add(partID)\n commits.push(startShell(event.properties.shell.id, shell.command ?? event.properties.shell.command))\n return out(data, commits, patch({ status: \"running shell\" }))\n }\n\n if (event.type === \"session.shell.ended\") {\n if (event.properties.sessionID !== input.sessionID) {\n return out(data, commits)\n }\n\n const shell = claimShell(data, event.properties.shell.id, \"shell\")\n if (shell.source !== \"shell\") {\n return out(data, commits)\n }\n\n const partID = shellPartID(event.properties.shell.id)\n const seen = data.tools.has(partID)\n const command = shell.command ?? \"\"\n data.tools.delete(partID)\n if (data.ids.has(partID)) {\n return out(data, commits)\n }\n\n if (!seen && command) {\n commits.push(startShell(event.properties.shell.id, command))\n }\n\n data.ids.add(partID)\n commits.push(doneShell(event.properties.shell.id, command, event.properties.output.output))\n return out(data, commits)\n }\n\n if (event.type === \"message.updated\") {\n if (event.properties.sessionID !== input.sessionID) {\n return out(data, commits)\n }\n\n const info = event.properties.info\n if (typeof info.id === \"string\") {\n data.role.set(info.id, info.role)\n replay(data, commits, info.id, info.role, input.thinking)\n }\n\n if (info.role !== \"assistant\") {\n return out(data, commits)\n }\n\n let next: FooterPatch | undefined\n if (!data.announced) {\n data.announced = true\n next = { status: \"assistant responding\" }\n }\n\n const usage = formatUsage(\n info.tokens,\n input.limits[modelKey(info.providerID, info.modelID)],\n typeof info.cost === \"number\" ? info.cost : undefined,\n )\n if (usage) {\n next = {\n ...next,\n usage,\n }\n }\n\n if (typeof info.id === \"string\" && info.error && !isAbort(info.error) && !data.ids.has(msgErr(info.id))) {\n data.ids.add(msgErr(info.id))\n commits.push({\n kind: \"error\",\n text: formatError(info.error),\n phase: \"start\",\n source: \"system\",\n messageID: info.id,\n })\n }\n\n return out(data, commits, patch(next))\n }\n\n if (event.type === \"message.part.delta\") {\n if (event.properties.sessionID !== input.sessionID) {\n return out(data, commits)\n }\n\n if (\n typeof event.properties.partID !== \"string\" ||\n typeof event.properties.field !== \"string\" ||\n typeof event.properties.delta !== \"string\"\n ) {\n return out(data, commits)\n }\n\n if (event.properties.field !== \"text\") {\n return out(data, commits)\n }\n\n const partID = event.properties.partID\n if (data.ids.has(partID)) {\n return out(data, commits)\n }\n\n if (typeof event.properties.messageID === \"string\") {\n data.msg.set(partID, event.properties.messageID)\n }\n\n const text = data.text.get(partID) ?? \"\"\n data.text.set(partID, text + event.properties.delta)\n\n const kind = data.part.get(partID)\n if (!kind) {\n return out(data, commits)\n }\n\n if (kind === \"reasoning\" && !input.thinking) {\n return out(data, commits)\n }\n\n if (!ready(data, partID)) {\n return out(data, commits)\n }\n\n flushPart(data, commits, partID)\n return out(data, commits)\n }\n\n if (event.type === \"message.part.updated\") {\n const part = event.properties.part\n if (part.sessionID !== input.sessionID) {\n return out(data, commits)\n }\n\n if (part.type === \"tool\") {\n const view = syncPermission(data, part) ?? syncQuestion(data, part)\n if (part.tool === \"bash\" && part.callID) {\n if (claimShell(data, part.callID, \"tool\", bashCommand(part)).source === \"shell\") {\n return out(data, commits, view)\n }\n }\n\n if (part.state.status === \"running\") {\n if (data.ids.has(part.id)) {\n return out(data, commits, view)\n }\n\n if (!data.tools.has(part.id)) {\n data.tools.add(part.id)\n commits.push(startTool(part))\n }\n\n return out(data, commits, view ?? patch({ status: toolStatus(part) }))\n }\n\n if (part.state.status === \"completed\") {\n const seen = data.tools.has(part.id)\n const mode = toolView(part.tool)\n data.tools.delete(part.id)\n if (data.ids.has(part.id)) {\n return out(data, commits, view)\n }\n\n if (!seen) {\n commits.push(startTool(part))\n }\n\n data.ids.add(part.id)\n stashEcho(data, part)\n\n const output = part.state.output\n if (mode.output && typeof output === \"string\" && output.trim()) {\n commits.push({\n kind: \"tool\",\n text: output,\n phase: \"progress\",\n source: \"tool\",\n messageID: part.messageID,\n partID: part.id,\n tool: part.tool,\n part,\n toolState: \"completed\",\n })\n }\n\n if (mode.final) {\n commits.push(doneTool(part))\n }\n\n return out(data, commits, view)\n }\n\n if (part.state.status === \"error\") {\n const seen = data.tools.has(part.id)\n data.tools.delete(part.id)\n if (data.ids.has(part.id)) {\n return out(data, commits, view)\n }\n\n if (!seen) {\n commits.push(startTool(part))\n }\n\n data.ids.add(part.id)\n const text =\n typeof part.state.error === \"string\" && part.state.error.trim() ? part.state.error : \"unknown error\"\n commits.push(failTool(part, text))\n return out(data, commits, view)\n }\n }\n\n if (part.type !== \"text\" && part.type !== \"reasoning\") {\n return out(data, commits)\n }\n\n if (data.ids.has(part.id)) {\n return out(data, commits)\n }\n\n const kind = part.type === \"text\" ? \"assistant\" : \"reasoning\"\n if (typeof part.messageID === \"string\") {\n data.msg.set(part.id, part.messageID)\n }\n\n const msg = part.messageID\n const role = msg ? data.role.get(msg) : undefined\n if (role === \"user\" && part.type === \"text\" && !data.includeUserText) {\n data.ids.add(part.id)\n drop(data, part.id)\n return out(data, commits)\n }\n\n if (kind === \"reasoning\" && !input.thinking) {\n if (part.time?.end) {\n data.ids.add(part.id)\n }\n drop(data, part.id)\n return out(data, commits)\n }\n\n data.part.set(part.id, role === \"user\" && kind === \"assistant\" ? \"user\" : kind)\n syncText(data, part.id, part.text)\n\n if (part.time?.end) {\n data.end.add(part.id)\n }\n\n if (msg && !role) {\n return out(data, commits)\n }\n\n if (!ready(data, part.id)) {\n return out(data, commits)\n }\n\n flushPart(data, commits, part.id)\n\n if (!part.time?.end) {\n return out(data, commits)\n }\n\n data.ids.add(part.id)\n drop(data, part.id)\n return out(data, commits)\n }\n\n if (event.type === \"permission.asked\") {\n if (event.properties.sessionID !== input.sessionID) {\n return out(data, commits)\n }\n\n upsert(data.permissions, enrichPermission(data, event.properties))\n return queueOut(data, commits)\n }\n\n if (event.type === \"permission.replied\") {\n if (event.properties.sessionID !== input.sessionID) {\n return out(data, commits)\n }\n\n if (!remove(data.permissions, event.properties.requestID)) {\n return out(data, commits)\n }\n\n return queueOut(data, commits)\n }\n\n if (event.type === \"question.asked\") {\n if (event.properties.sessionID !== input.sessionID) {\n return out(data, commits)\n }\n\n upsert(data.questions, event.properties)\n return queueOut(data, commits)\n }\n\n if (event.type === \"question.replied\" || event.type === \"question.rejected\") {\n if (event.properties.sessionID !== input.sessionID) {\n return out(data, commits)\n }\n\n if (!remove(data.questions, event.properties.requestID)) {\n return out(data, commits)\n }\n\n return queueOut(data, commits)\n }\n\n if (event.type === \"session.error\") {\n if (event.properties.sessionID !== input.sessionID || !event.properties.error) {\n return out(data, commits)\n }\n\n commits.push({\n kind: \"error\",\n text: formatError(event.properties.error),\n phase: \"start\",\n source: \"system\",\n })\n return out(data, commits)\n }\n\n return out(data, commits)\n}\n", | ||
| "// Thin bridge between reducer output and the footer API.\n//\n// The reducers produce StreamCommit[] and an optional FooterOutput (patch +\n// view + subagent state). This module forwards them to footer.append() and\n// footer.event() respectively, adding trace writes along the way. It also\n// defaults status updates to phase \"running\" if the caller didn't set a\n// phase -- a convenience so reducer code doesn't have to repeat that.\nimport type { FooterApi, FooterOutput, FooterPatch, FooterSubagentState, StreamCommit } from \"./types\"\n\ntype Trace = {\n write(type: string, data?: unknown): void\n}\n\ntype OutputInput = {\n footer: FooterApi\n trace?: Trace\n}\n\ntype StreamOutput = {\n commits: StreamCommit[]\n footer?: FooterOutput\n}\n\n// Default to \"running\" phase when a status string arrives without an explicit phase.\nfunction patch(next: FooterPatch): FooterPatch {\n if (typeof next.status === \"string\" && next.phase === undefined) {\n return {\n phase: \"running\",\n ...next,\n }\n }\n\n return next\n}\n\nfunction summarize(value: unknown): unknown {\n if (typeof value === \"string\") {\n if (value.length <= 160) {\n return value\n }\n\n return {\n type: \"string\",\n length: value.length,\n preview: `${value.slice(0, 160)}...`,\n }\n }\n\n if (Array.isArray(value)) {\n return {\n type: \"array\",\n length: value.length,\n }\n }\n\n if (!value || typeof value !== \"object\") {\n return value\n }\n\n return {\n type: \"object\",\n keys: Object.keys(value),\n }\n}\n\nfunction traceCommit(commit: StreamCommit) {\n return {\n ...commit,\n text: summarize(commit.text),\n textLength: commit.text.length,\n part: commit.part\n ? {\n id: commit.part.id,\n sessionID: commit.part.sessionID,\n messageID: commit.part.messageID,\n callID: commit.part.callID,\n tool: commit.part.tool,\n state: {\n status: commit.part.state.status,\n title: \"title\" in commit.part.state ? summarize(commit.part.state.title) : undefined,\n error: \"error\" in commit.part.state ? summarize(commit.part.state.error) : undefined,\n time: \"time\" in commit.part.state ? summarize(commit.part.state.time) : undefined,\n input: summarize(commit.part.state.input),\n metadata: \"metadata\" in commit.part.state ? summarize(commit.part.state.metadata) : undefined,\n },\n }\n : undefined,\n }\n}\n\nexport function traceSubagentState(state: FooterSubagentState) {\n return {\n tabs: state.tabs,\n details: Object.fromEntries(\n Object.entries(state.details).map(([sessionID, detail]) => [\n sessionID,\n {\n sessionID,\n commits: detail.commits.map(traceCommit),\n },\n ]),\n ),\n permissions: state.permissions.map((item) => ({\n id: item.id,\n sessionID: item.sessionID,\n permission: item.permission,\n patterns: item.patterns,\n tool: item.tool,\n metadata: item.metadata\n ? {\n keys: Object.keys(item.metadata),\n input: summarize(item.metadata.input),\n }\n : undefined,\n })),\n questions: state.questions.map((item) => ({\n id: item.id,\n sessionID: item.sessionID,\n questions: item.questions.map((question) => ({\n header: question.header,\n question: question.question,\n options: question.options.length,\n multiple: question.multiple,\n })),\n })),\n }\n}\n\nexport function traceFooterOutput(footer?: FooterOutput) {\n if (!footer?.subagent) {\n return footer\n }\n\n return {\n ...footer,\n subagent: traceSubagentState(footer.subagent),\n }\n}\n\n// Forwards reducer output to the footer: commits go to scrollback, patches update the status bar.\nexport function writeSessionOutput(input: OutputInput, out: StreamOutput): void {\n for (const commit of out.commits) {\n input.trace?.write(\"ui.commit\", commit)\n input.footer.append(commit)\n }\n\n if (out.footer?.patch) {\n const next = patch(out.footer.patch)\n input.trace?.write(\"ui.patch\", next)\n input.footer.event({\n type: \"stream.patch\",\n patch: next,\n })\n }\n\n if (out.footer?.subagent) {\n input.trace?.write(\"ui.subagent\", traceSubagentState(out.footer.subagent))\n input.footer.event({\n type: \"stream.subagent\",\n state: out.footer.subagent,\n })\n }\n\n if (!out.footer?.view) {\n return\n }\n\n input.trace?.write(\"ui.patch\", {\n view: out.footer.view,\n })\n input.footer.event({\n type: \"stream.view\",\n view: out.footer.view,\n })\n}\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "AB0BE12FD2BC956F64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "802172186216958964756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["src/commands/handlers/migrate.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport { Commands } from \"../commands\"\nimport { Runtime } from \"../../framework/runtime\"\n\nexport default Runtime.handler(Commands.commands.migrate, (_input) => Effect.log(\"No migrations to run.\"))\n" | ||
| ], | ||
| "mappings": ";6ZAIA,SAAe,SAAQ,aAAQ,OAAS,cAAS,aAAS,MAAC,SAAW,OAAO,SAAI,uBAAuB,CAAC", | ||
| "debugId": "FD440F8AB46497A364756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "24E7AAEC1E597A3A64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@opentelemetry+context-async-hooks@2.6.1+460773ef8ff1e07c/node_modules/@opentelemetry/context-async-hooks/build/src/AbstractAsyncHooksContextManager.js", "../../node_modules/.bun/@opentelemetry+context-async-hooks@2.6.1+460773ef8ff1e07c/node_modules/@opentelemetry/context-async-hooks/build/src/AsyncHooksContextManager.js", "../../node_modules/.bun/@opentelemetry+context-async-hooks@2.6.1+460773ef8ff1e07c/node_modules/@opentelemetry/context-async-hooks/build/src/AsyncLocalStorageContextManager.js", "../../node_modules/.bun/@opentelemetry+context-async-hooks@2.6.1+460773ef8ff1e07c/node_modules/@opentelemetry/context-async-hooks/build/src/index.js"], | ||
| "sourcesContent": [ | ||
| "\"use strict\";\n/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AbstractAsyncHooksContextManager = void 0;\nconst events_1 = require(\"events\");\nconst ADD_LISTENER_METHODS = [\n 'addListener',\n 'on',\n 'once',\n 'prependListener',\n 'prependOnceListener',\n];\nclass AbstractAsyncHooksContextManager {\n /**\n * Binds a the certain context or the active one to the target function and then returns the target\n * @param context A context (span) to be bind to target\n * @param target a function or event emitter. When target or one of its callbacks is called,\n * the provided context will be used as the active context for the duration of the call.\n */\n bind(context, target) {\n if (target instanceof events_1.EventEmitter) {\n return this._bindEventEmitter(context, target);\n }\n if (typeof target === 'function') {\n return this._bindFunction(context, target);\n }\n return target;\n }\n _bindFunction(context, target) {\n const manager = this;\n const contextWrapper = function (...args) {\n return manager.with(context, () => target.apply(this, args));\n };\n Object.defineProperty(contextWrapper, 'length', {\n enumerable: false,\n configurable: true,\n writable: false,\n value: target.length,\n });\n /**\n * It isn't possible to tell Typescript that contextWrapper is the same as T\n * so we forced to cast as any here.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return contextWrapper;\n }\n /**\n * By default, EventEmitter call their callback with their context, which we do\n * not want, instead we will bind a specific context to all callbacks that\n * go through it.\n * @param context the context we want to bind\n * @param ee EventEmitter an instance of EventEmitter to patch\n */\n _bindEventEmitter(context, ee) {\n const map = this._getPatchMap(ee);\n if (map !== undefined)\n return ee;\n this._createPatchMap(ee);\n // patch methods that add a listener to propagate context\n ADD_LISTENER_METHODS.forEach(methodName => {\n if (ee[methodName] === undefined)\n return;\n ee[methodName] = this._patchAddListener(ee, ee[methodName], context);\n });\n // patch methods that remove a listener\n if (typeof ee.removeListener === 'function') {\n ee.removeListener = this._patchRemoveListener(ee, ee.removeListener);\n }\n if (typeof ee.off === 'function') {\n ee.off = this._patchRemoveListener(ee, ee.off);\n }\n // patch method that remove all listeners\n if (typeof ee.removeAllListeners === 'function') {\n ee.removeAllListeners = this._patchRemoveAllListeners(ee, ee.removeAllListeners);\n }\n return ee;\n }\n /**\n * Patch methods that remove a given listener so that we match the \"patched\"\n * version of that listener (the one that propagate context).\n * @param ee EventEmitter instance\n * @param original reference to the patched method\n */\n _patchRemoveListener(ee, original) {\n const contextManager = this;\n return function (event, listener) {\n const events = contextManager._getPatchMap(ee)?.[event];\n if (events === undefined) {\n return original.call(this, event, listener);\n }\n const patchedListener = events.get(listener);\n return original.call(this, event, patchedListener || listener);\n };\n }\n /**\n * Patch methods that remove all listeners so we remove our\n * internal references for a given event.\n * @param ee EventEmitter instance\n * @param original reference to the patched method\n */\n _patchRemoveAllListeners(ee, original) {\n const contextManager = this;\n return function (event) {\n const map = contextManager._getPatchMap(ee);\n if (map !== undefined) {\n if (arguments.length === 0) {\n contextManager._createPatchMap(ee);\n }\n else if (map[event] !== undefined) {\n delete map[event];\n }\n }\n return original.apply(this, arguments);\n };\n }\n /**\n * Patch methods on an event emitter instance that can add listeners so we\n * can force them to propagate a given context.\n * @param ee EventEmitter instance\n * @param original reference to the patched method\n * @param [context] context to propagate when calling listeners\n */\n _patchAddListener(ee, original, context) {\n const contextManager = this;\n return function (event, listener) {\n /**\n * This check is required to prevent double-wrapping the listener.\n * The implementation for ee.once wraps the listener and calls ee.on.\n * Without this check, we would wrap that wrapped listener.\n * This causes an issue because ee.removeListener depends on the onceWrapper\n * to properly remove the listener. If we wrap their wrapper, we break\n * that detection.\n */\n if (contextManager._wrapped) {\n return original.call(this, event, listener);\n }\n let map = contextManager._getPatchMap(ee);\n if (map === undefined) {\n map = contextManager._createPatchMap(ee);\n }\n let listeners = map[event];\n if (listeners === undefined) {\n listeners = new WeakMap();\n map[event] = listeners;\n }\n const patchedListener = contextManager.bind(context, listener);\n // store a weak reference of the user listener to ours\n listeners.set(listener, patchedListener);\n /**\n * See comment at the start of this function for the explanation of this property.\n */\n contextManager._wrapped = true;\n try {\n return original.call(this, event, patchedListener);\n }\n finally {\n contextManager._wrapped = false;\n }\n };\n }\n _createPatchMap(ee) {\n const map = Object.create(null);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ee[this._kOtListeners] = map;\n return map;\n }\n _getPatchMap(ee) {\n return ee[this._kOtListeners];\n }\n _kOtListeners = Symbol('OtListeners');\n _wrapped = false;\n}\nexports.AbstractAsyncHooksContextManager = AbstractAsyncHooksContextManager;\n//# sourceMappingURL=AbstractAsyncHooksContextManager.js.map", | ||
| "\"use strict\";\n/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AsyncHooksContextManager = void 0;\nconst api_1 = require(\"@opentelemetry/api\");\nconst asyncHooks = require(\"async_hooks\");\nconst AbstractAsyncHooksContextManager_1 = require(\"./AbstractAsyncHooksContextManager\");\n/**\n * @deprecated Use AsyncLocalStorageContextManager instead.\n */\nclass AsyncHooksContextManager extends AbstractAsyncHooksContextManager_1.AbstractAsyncHooksContextManager {\n _asyncHook;\n _contexts = new Map();\n _stack = [];\n constructor() {\n super();\n this._asyncHook = asyncHooks.createHook({\n init: this._init.bind(this),\n before: this._before.bind(this),\n after: this._after.bind(this),\n destroy: this._destroy.bind(this),\n promiseResolve: this._destroy.bind(this),\n });\n }\n active() {\n return this._stack[this._stack.length - 1] ?? api_1.ROOT_CONTEXT;\n }\n with(context, fn, thisArg, ...args) {\n this._enterContext(context);\n try {\n return fn.call(thisArg, ...args);\n }\n finally {\n this._exitContext();\n }\n }\n enable() {\n this._asyncHook.enable();\n return this;\n }\n disable() {\n this._asyncHook.disable();\n this._contexts.clear();\n this._stack = [];\n return this;\n }\n /**\n * Init hook will be called when userland create a async context, setting the\n * context as the current one if it exist.\n * @param uid id of the async context\n * @param type the resource type\n */\n _init(uid, type) {\n // ignore TIMERWRAP as they combine timers with same timeout which can lead to\n // false context propagation. TIMERWRAP has been removed in node 11\n // every timer has it's own `Timeout` resource anyway which is used to propagate\n // context.\n if (type === 'TIMERWRAP')\n return;\n const context = this._stack[this._stack.length - 1];\n if (context !== undefined) {\n this._contexts.set(uid, context);\n }\n }\n /**\n * Destroy hook will be called when a given context is no longer used so we can\n * remove its attached context.\n * @param uid uid of the async context\n */\n _destroy(uid) {\n this._contexts.delete(uid);\n }\n /**\n * Before hook is called just before executing a async context.\n * @param uid uid of the async context\n */\n _before(uid) {\n const context = this._contexts.get(uid);\n if (context !== undefined) {\n this._enterContext(context);\n }\n }\n /**\n * After hook is called just after completing the execution of a async context.\n */\n _after() {\n this._exitContext();\n }\n /**\n * Set the given context as active\n */\n _enterContext(context) {\n this._stack.push(context);\n }\n /**\n * Remove the context at the root of the stack\n */\n _exitContext() {\n this._stack.pop();\n }\n}\nexports.AsyncHooksContextManager = AsyncHooksContextManager;\n//# sourceMappingURL=AsyncHooksContextManager.js.map", | ||
| "\"use strict\";\n/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AsyncLocalStorageContextManager = void 0;\nconst api_1 = require(\"@opentelemetry/api\");\nconst async_hooks_1 = require(\"async_hooks\");\nconst AbstractAsyncHooksContextManager_1 = require(\"./AbstractAsyncHooksContextManager\");\nclass AsyncLocalStorageContextManager extends AbstractAsyncHooksContextManager_1.AbstractAsyncHooksContextManager {\n _asyncLocalStorage;\n constructor() {\n super();\n this._asyncLocalStorage = new async_hooks_1.AsyncLocalStorage();\n }\n active() {\n return this._asyncLocalStorage.getStore() ?? api_1.ROOT_CONTEXT;\n }\n with(context, fn, thisArg, ...args) {\n const cb = thisArg == null ? fn : fn.bind(thisArg);\n return this._asyncLocalStorage.run(context, cb, ...args);\n }\n enable() {\n return this;\n }\n disable() {\n this._asyncLocalStorage.disable();\n return this;\n }\n}\nexports.AsyncLocalStorageContextManager = AsyncLocalStorageContextManager;\n//# sourceMappingURL=AsyncLocalStorageContextManager.js.map", | ||
| "\"use strict\";\n/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AsyncLocalStorageContextManager = exports.AsyncHooksContextManager = void 0;\nvar AsyncHooksContextManager_1 = require(\"./AsyncHooksContextManager\");\nObject.defineProperty(exports, \"AsyncHooksContextManager\", { enumerable: true, get: function () { return AsyncHooksContextManager_1.AsyncHooksContextManager; } });\nvar AsyncLocalStorageContextManager_1 = require(\"./AsyncLocalStorageContextManager\");\nObject.defineProperty(exports, \"AsyncLocalStorageContextManager\", { enumerable: true, get: function () { return AsyncLocalStorageContextManager_1.AsyncLocalStorageContextManager; } });\n//# sourceMappingURL=index.js.map" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "90B2E2F75F9E96F364756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260501142318_next_venus.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260501142318_next_venus\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`ALTER TABLE \\`session\\` ADD \\`agent\\` text;`)\n yield* tx.run(`ALTER TABLE \\`session\\` ADD \\`model\\` text;`)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,4BACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,yCAA6C,EAC3D,MAAO,EAAG,IAAI,yCAA6C,EAC5D,EAEL", | ||
| "debugId": "68E15B2CF54AFD6464756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260303231226_add_workspace_fields.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260303231226_add_workspace_fields\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`ALTER TABLE \\`workspace\\` ADD \\`type\\` text NOT NULL;`)\n yield* tx.run(`ALTER TABLE \\`workspace\\` ADD \\`name\\` text;`)\n yield* tx.run(`ALTER TABLE \\`workspace\\` ADD \\`directory\\` text;`)\n yield* tx.run(`ALTER TABLE \\`workspace\\` ADD \\`extra\\` text;`)\n yield* tx.run(`ALTER TABLE \\`workspace\\` DROP COLUMN \\`config\\`;`)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,sCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,mDAAuD,EACrE,MAAO,EAAG,IAAI,0CAA8C,EAC5D,MAAO,EAAG,IAAI,+CAAmD,EACjE,MAAO,EAAG,IAAI,2CAA+C,EAC7D,MAAO,EAAG,IAAI,+CAAmD,EAClE,EAEL", | ||
| "debugId": "9B676CF233172DA764756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260605042240_add_context_epoch_agent.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260605042240_add_context_epoch_agent\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`ALTER TABLE \\`session_context_epoch\\` ADD \\`agent\\` text DEFAULT 'build' NOT NULL;`)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,yCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,gFAAoF,EACnG,EAEL", | ||
| "debugId": "F13EC49B65E445F964756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "DFC31ACD12C9721664756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260211171708_add_project_commands.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260211171708_add_project_commands\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`ALTER TABLE \\`project\\` ADD \\`commands\\` text;`)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,sCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,4CAAgD,EAC/D,EAEL", | ||
| "debugId": "941CD0090215C34864756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/isexe@4.0.0/node_modules/isexe/dist/commonjs/index.min.js", "../../node_modules/.bun/which@6.0.1/node_modules/which/lib/index.js"], | ||
| "sourcesContent": [ | ||
| "\"use strict\";var a=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var _=a(i=>{\"use strict\";Object.defineProperty(i,\"__esModule\",{value:!0});i.sync=i.isexe=void 0;var M=require(\"node:fs\"),x=require(\"node:fs/promises\"),q=async(t,e={})=>{let{ignoreErrors:r=!1}=e;try{return d(await(0,x.stat)(t),e)}catch(s){let n=s;if(r||n.code===\"EACCES\")return!1;throw n}};i.isexe=q;var m=(t,e={})=>{let{ignoreErrors:r=!1}=e;try{return d((0,M.statSync)(t),e)}catch(s){let n=s;if(r||n.code===\"EACCES\")return!1;throw n}};i.sync=m;var d=(t,e)=>t.isFile()&&A(t,e),A=(t,e)=>{let r=e.uid??process.getuid?.(),s=e.groups??process.getgroups?.()??[],n=e.gid??process.getgid?.()??s[0];if(r===void 0||n===void 0)throw new Error(\"cannot get uid or gid\");let u=new Set([n,...s]),c=t.mode,S=t.uid,P=t.gid,f=parseInt(\"100\",8),l=parseInt(\"010\",8),j=parseInt(\"001\",8),C=f|l;return!!(c&j||c&l&&u.has(P)||c&f&&S===r||c&C&&r===0)}});var g=a(o=>{\"use strict\";Object.defineProperty(o,\"__esModule\",{value:!0});o.sync=o.isexe=void 0;var T=require(\"node:fs\"),I=require(\"node:fs/promises\"),D=require(\"node:path\"),F=async(t,e={})=>{let{ignoreErrors:r=!1}=e;try{return y(await(0,I.stat)(t),t,e)}catch(s){let n=s;if(r||n.code===\"EACCES\")return!1;throw n}};o.isexe=F;var L=(t,e={})=>{let{ignoreErrors:r=!1}=e;try{return y((0,T.statSync)(t),t,e)}catch(s){let n=s;if(r||n.code===\"EACCES\")return!1;throw n}};o.sync=L;var B=(t,e)=>{let{pathExt:r=process.env.PATHEXT||\"\"}=e,s=r.split(D.delimiter);if(s.indexOf(\"\")!==-1)return!0;for(let n of s){let u=n.toLowerCase(),c=t.substring(t.length-u.length).toLowerCase();if(u&&c===u)return!0}return!1},y=(t,e,r)=>t.isFile()&&B(e,r)});var p=a(h=>{\"use strict\";Object.defineProperty(h,\"__esModule\",{value:!0})});var v=exports&&exports.__createBinding||(Object.create?(function(t,e,r,s){s===void 0&&(s=r);var n=Object.getOwnPropertyDescriptor(e,r);(!n||(\"get\"in n?!e.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,s,n)}):(function(t,e,r,s){s===void 0&&(s=r),t[s]=e[r]})),G=exports&&exports.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,\"default\",{enumerable:!0,value:e})}):function(t,e){t.default=e}),w=exports&&exports.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var s=[];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(s[s.length]=n);return s},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var s=t(e),n=0;n<s.length;n++)s[n]!==\"default\"&&v(r,e,s[n]);return G(r,e),r}})(),X=exports&&exports.__exportStar||function(t,e){for(var r in t)r!==\"default\"&&!Object.prototype.hasOwnProperty.call(e,r)&&v(e,t,r)};Object.defineProperty(exports,\"__esModule\",{value:!0});exports.sync=exports.isexe=exports.posix=exports.win32=void 0;var E=w(_());exports.posix=E;var O=w(g());exports.win32=O;X(p(),exports);var H=process.env._ISEXE_TEST_PLATFORM_||process.platform,b=H===\"win32\"?O:E;exports.isexe=b.isexe;exports.sync=b.sync;\n//# sourceMappingURL=index.min.js.map\n", | ||
| "const { isexe, sync: isexeSync } = require('isexe')\nconst { join, delimiter, sep, posix } = require('path')\n\nconst isWindows = process.platform === 'win32'\n\n// used to check for slashed in commands passed in. always checks for the posix\n// seperator on all platforms, and checks for the current separator when not on\n// a posix platform. don't use the isWindows check for this since that is mocked\n// in tests but we still need the code to actually work when called. that is also\n// why it is ignored from coverage.\n/* istanbul ignore next */\nconst rSlash = new RegExp(`[${posix.sep}${sep === posix.sep ? '' : sep}]`.replace(/(\\\\)/g, '\\\\$1'))\nconst rRel = new RegExp(`^\\\\.${rSlash.source}`)\n\nconst getNotFoundError = (cmd) =>\n Object.assign(new Error(`not found: ${cmd}`), { code: 'ENOENT' })\n\nconst getPathInfo = (cmd, {\n path: optPath = process.env.PATH,\n pathExt: optPathExt = process.env.PATHEXT,\n delimiter: optDelimiter = delimiter,\n}) => {\n // If it has a slash, then we don't bother searching the pathenv.\n // just check the file itself, and that's it.\n const pathEnv = cmd.match(rSlash) ? [''] : [\n // windows always checks the cwd first\n ...(isWindows ? [process.cwd()] : []),\n ...(optPath || /* istanbul ignore next: very unusual */ '').split(optDelimiter),\n ]\n\n if (isWindows) {\n const pathExtExe = optPathExt ||\n ['.EXE', '.CMD', '.BAT', '.COM'].join(optDelimiter)\n const pathExt = pathExtExe.split(optDelimiter).flatMap((item) => [item, item.toLowerCase()])\n if (cmd.includes('.') && pathExt[0] !== '') {\n pathExt.unshift('')\n }\n return { pathEnv, pathExt, pathExtExe }\n }\n\n return { pathEnv, pathExt: [''] }\n}\n\nconst getPathPart = (raw, cmd) => {\n const pathPart = /^\".*\"$/.test(raw) ? raw.slice(1, -1) : raw\n const prefix = !pathPart && rRel.test(cmd) ? cmd.slice(0, 2) : ''\n return prefix + join(pathPart, cmd)\n}\n\nconst which = async (cmd, opt = {}) => {\n const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt)\n const found = []\n\n for (const envPart of pathEnv) {\n const p = getPathPart(envPart, cmd)\n\n for (const ext of pathExt) {\n const withExt = p + ext\n const is = await isexe(withExt, { pathExt: pathExtExe, ignoreErrors: true })\n if (is) {\n if (!opt.all) {\n return withExt\n }\n found.push(withExt)\n }\n }\n }\n\n if (opt.all && found.length) {\n return found\n }\n\n if (opt.nothrow) {\n return null\n }\n\n throw getNotFoundError(cmd)\n}\n\nconst whichSync = (cmd, opt = {}) => {\n const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt)\n const found = []\n\n for (const pathEnvPart of pathEnv) {\n const p = getPathPart(pathEnvPart, cmd)\n\n for (const ext of pathExt) {\n const withExt = p + ext\n const is = isexeSync(withExt, { pathExt: pathExtExe, ignoreErrors: true })\n if (is) {\n if (!opt.all) {\n return withExt\n }\n found.push(withExt)\n }\n }\n }\n\n if (opt.all && found.length) {\n return found\n }\n\n if (opt.nothrow) {\n return null\n }\n\n throw getNotFoundError(cmd)\n}\n\nmodule.exports = which\nwhich.sync = whichSync\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "684BB0BBCA24C35564756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@smithy+core@3.24.5/node_modules/@smithy/core/dist-cjs/submodules/protocols/index.js"], | ||
| "sourcesContent": [ | ||
| "'use strict';\n\nvar serde = require('@smithy/core/serde');\nvar schema = require('@smithy/core/schema');\nvar transport = require('@smithy/core/transport');\nvar types = require('@smithy/types');\n\nconst collectBody = async (streamBody = new Uint8Array(), context) => {\n if (streamBody instanceof Uint8Array) {\n return serde.Uint8ArrayBlobAdapter.mutate(streamBody);\n }\n if (!streamBody) {\n return serde.Uint8ArrayBlobAdapter.mutate(new Uint8Array());\n }\n const fromContext = context.streamCollector(streamBody);\n return serde.Uint8ArrayBlobAdapter.mutate(await fromContext);\n};\n\nfunction extendedEncodeURIComponent(str) {\n return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\n return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n });\n}\n\nclass SerdeContext {\n serdeContext;\n setSerdeContext(serdeContext) {\n this.serdeContext = serdeContext;\n }\n}\n\nclass HttpProtocol extends SerdeContext {\n options;\n compositeErrorRegistry;\n constructor(options) {\n super();\n this.options = options;\n this.compositeErrorRegistry = schema.TypeRegistry.for(options.defaultNamespace);\n for (const etr of options.errorTypeRegistries ?? []) {\n this.compositeErrorRegistry.copyFrom(etr);\n }\n }\n getRequestType() {\n return transport.HttpRequest;\n }\n getResponseType() {\n return transport.HttpResponse;\n }\n setSerdeContext(serdeContext) {\n this.serdeContext = serdeContext;\n this.serializer.setSerdeContext(serdeContext);\n this.deserializer.setSerdeContext(serdeContext);\n if (this.getPayloadCodec()) {\n this.getPayloadCodec().setSerdeContext(serdeContext);\n }\n }\n updateServiceEndpoint(request, endpoint) {\n if (\"url\" in endpoint) {\n request.protocol = endpoint.url.protocol;\n request.hostname = endpoint.url.hostname;\n request.port = endpoint.url.port ? Number(endpoint.url.port) : undefined;\n request.path = endpoint.url.pathname;\n request.fragment = endpoint.url.hash || void 0;\n request.username = endpoint.url.username || void 0;\n request.password = endpoint.url.password || void 0;\n if (!request.query) {\n request.query = {};\n }\n for (const [k, v] of endpoint.url.searchParams.entries()) {\n request.query[k] = v;\n }\n if (endpoint.headers) {\n for (const name in endpoint.headers) {\n request.headers[name] = endpoint.headers[name].join(\", \");\n }\n }\n return request;\n }\n else {\n request.protocol = endpoint.protocol;\n request.hostname = endpoint.hostname;\n request.port = endpoint.port ? Number(endpoint.port) : undefined;\n request.path = endpoint.path;\n request.query = {\n ...endpoint.query,\n };\n if (endpoint.headers) {\n for (const name in endpoint.headers) {\n request.headers[name] = endpoint.headers[name];\n }\n }\n return request;\n }\n }\n setHostPrefix(request, operationSchema, input) {\n if (this.serdeContext?.disableHostPrefix) {\n return;\n }\n const inputNs = schema.NormalizedSchema.of(operationSchema.input);\n const opTraits = schema.translateTraits(operationSchema.traits ?? {});\n if (opTraits.endpoint) {\n let hostPrefix = opTraits.endpoint?.[0];\n if (typeof hostPrefix === \"string\") {\n for (const [name, member] of inputNs.structIterator()) {\n if (!member.getMergedTraits().hostLabel) {\n continue;\n }\n const replacement = input[name];\n if (typeof replacement !== \"string\") {\n throw new Error(`@smithy/core/schema - ${name} in input must be a string as hostLabel.`);\n }\n hostPrefix = hostPrefix.replace(`{${name}}`, replacement);\n }\n request.hostname = hostPrefix + request.hostname;\n }\n }\n }\n deserializeMetadata(output) {\n return {\n httpStatusCode: output.statusCode,\n requestId: output.headers[\"x-amzn-requestid\"] ?? output.headers[\"x-amzn-request-id\"] ?? output.headers[\"x-amz-request-id\"],\n extendedRequestId: output.headers[\"x-amz-id-2\"],\n cfId: output.headers[\"x-amz-cf-id\"],\n };\n }\n async serializeEventStream({ eventStream, requestSchema, initialRequest, }) {\n const eventStreamSerde = await this.loadEventStreamCapability();\n return eventStreamSerde.serializeEventStream({\n eventStream,\n requestSchema,\n initialRequest,\n });\n }\n async deserializeEventStream({ response, responseSchema, initialResponseContainer, }) {\n const eventStreamSerde = await this.loadEventStreamCapability();\n return eventStreamSerde.deserializeEventStream({\n response,\n responseSchema,\n initialResponseContainer,\n });\n }\n async loadEventStreamCapability() {\n const { EventStreamSerde } = await import('@smithy/core/event-streams');\n return new EventStreamSerde({\n marshaller: this.getEventStreamMarshaller(),\n serializer: this.serializer,\n deserializer: this.deserializer,\n serdeContext: this.serdeContext,\n defaultContentType: this.getDefaultContentType(),\n });\n }\n getDefaultContentType() {\n throw new Error(`@smithy/core/protocols - ${this.constructor.name} getDefaultContentType() implementation missing.`);\n }\n async deserializeHttpMessage(schema, context, response, arg4, arg5) {\n return [];\n }\n getEventStreamMarshaller() {\n const context = this.serdeContext;\n if (!context.eventStreamMarshaller) {\n throw new Error(\"@smithy/core - HttpProtocol: eventStreamMarshaller missing in serdeContext.\");\n }\n return context.eventStreamMarshaller;\n }\n}\n\nclass HttpBindingProtocol extends HttpProtocol {\n async serializeRequest(operationSchema, _input, context) {\n const input = _input && typeof _input === \"object\" ? _input : {};\n const serializer = this.serializer;\n const query = {};\n const headers = {};\n const endpoint = await context.endpoint();\n const ns = schema.NormalizedSchema.of(operationSchema?.input);\n const payloadMemberNames = [];\n const payloadMemberSchemas = [];\n let hasNonHttpBindingMember = false;\n let payload;\n const request = new transport.HttpRequest({\n protocol: \"\",\n hostname: \"\",\n port: undefined,\n path: \"\",\n fragment: undefined,\n query: query,\n headers: headers,\n body: undefined,\n });\n if (endpoint) {\n this.updateServiceEndpoint(request, endpoint);\n this.setHostPrefix(request, operationSchema, input);\n const opTraits = schema.translateTraits(operationSchema.traits);\n if (opTraits.http) {\n request.method = opTraits.http[0];\n const [path, search] = opTraits.http[1].split(\"?\");\n if (request.path == \"/\") {\n request.path = path;\n }\n else {\n request.path += path;\n }\n const traitSearchParams = new URLSearchParams(search ?? \"\");\n for (const [key, value] of traitSearchParams) {\n query[key] = value;\n }\n }\n }\n for (const [memberName, memberNs] of ns.structIterator()) {\n const memberTraits = memberNs.getMergedTraits() ?? {};\n const inputMemberValue = input[memberName];\n if (inputMemberValue == null && !memberNs.isIdempotencyToken()) {\n if (memberTraits.httpLabel) {\n if (request.path.includes(`{${memberName}+}`) || request.path.includes(`{${memberName}}`)) {\n throw new Error(`No value provided for input HTTP label: ${memberName}.`);\n }\n }\n continue;\n }\n if (memberTraits.httpPayload) {\n const isStreaming = memberNs.isStreaming();\n if (isStreaming) {\n const isEventStream = memberNs.isStructSchema();\n if (isEventStream) {\n if (input[memberName]) {\n payload = await this.serializeEventStream({\n eventStream: input[memberName],\n requestSchema: ns,\n });\n }\n }\n else {\n payload = inputMemberValue;\n }\n }\n else {\n serializer.write(memberNs, inputMemberValue);\n payload = serializer.flush();\n }\n }\n else if (memberTraits.httpLabel) {\n serializer.write(memberNs, inputMemberValue);\n const replacement = serializer.flush();\n if (request.path.includes(`{${memberName}+}`)) {\n request.path = request.path.replace(`{${memberName}+}`, replacement.split(\"/\").map(extendedEncodeURIComponent).join(\"/\"));\n }\n else if (request.path.includes(`{${memberName}}`)) {\n request.path = request.path.replace(`{${memberName}}`, extendedEncodeURIComponent(replacement));\n }\n }\n else if (memberTraits.httpHeader) {\n serializer.write(memberNs, inputMemberValue);\n headers[memberTraits.httpHeader.toLowerCase()] = String(serializer.flush());\n }\n else if (typeof memberTraits.httpPrefixHeaders === \"string\") {\n for (const key in inputMemberValue) {\n const val = inputMemberValue[key];\n const amalgam = memberTraits.httpPrefixHeaders + key;\n serializer.write([memberNs.getValueSchema(), { httpHeader: amalgam }], val);\n headers[amalgam.toLowerCase()] = serializer.flush();\n }\n }\n else if (memberTraits.httpQuery || memberTraits.httpQueryParams) {\n this.serializeQuery(memberNs, inputMemberValue, query);\n }\n else {\n hasNonHttpBindingMember = true;\n payloadMemberNames.push(memberName);\n payloadMemberSchemas.push(memberNs);\n }\n }\n if (hasNonHttpBindingMember && input) {\n const [namespace, name] = (ns.getName(true) ?? \"#Unknown\").split(\"#\");\n const requiredMembers = ns.getSchema()[6];\n const payloadSchema = [\n 3,\n namespace,\n name,\n ns.getMergedTraits(),\n payloadMemberNames,\n payloadMemberSchemas,\n undefined,\n ];\n if (requiredMembers) {\n payloadSchema[6] = requiredMembers;\n }\n else {\n payloadSchema.pop();\n }\n serializer.write(payloadSchema, input);\n payload = serializer.flush();\n }\n request.headers = headers;\n request.query = query;\n request.body = payload;\n return request;\n }\n serializeQuery(ns, data, query) {\n const serializer = this.serializer;\n const traits = ns.getMergedTraits();\n if (traits.httpQueryParams) {\n for (const key in data) {\n if (!(key in query)) {\n const val = data[key];\n const valueSchema = ns.getValueSchema();\n Object.assign(valueSchema.getMergedTraits(), {\n ...traits,\n httpQuery: key,\n httpQueryParams: undefined,\n });\n this.serializeQuery(valueSchema, val, query);\n }\n }\n return;\n }\n if (ns.isListSchema()) {\n const sparse = !!ns.getMergedTraits().sparse;\n const buffer = [];\n for (const item of data) {\n serializer.write([ns.getValueSchema(), traits], item);\n const serializable = serializer.flush();\n if (sparse || serializable !== undefined) {\n buffer.push(serializable);\n }\n }\n query[traits.httpQuery] = buffer;\n }\n else {\n serializer.write([ns, traits], data);\n query[traits.httpQuery] = serializer.flush();\n }\n }\n async deserializeResponse(operationSchema, context, response) {\n const deserializer = this.deserializer;\n const ns = schema.NormalizedSchema.of(operationSchema.output);\n const dataObject = {};\n if (response.statusCode >= 300) {\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n Object.assign(dataObject, await deserializer.read(15, bytes));\n }\n await this.handleError(operationSchema, context, response, dataObject, this.deserializeMetadata(response));\n throw new Error(\"@smithy/core/protocols - HTTP Protocol error handler failed to throw.\");\n }\n for (const header in response.headers) {\n const value = response.headers[header];\n delete response.headers[header];\n response.headers[header.toLowerCase()] = value;\n }\n const nonHttpBindingMembers = await this.deserializeHttpMessage(ns, context, response, dataObject);\n if (nonHttpBindingMembers.length) {\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n const dataFromBody = await deserializer.read(ns, bytes);\n for (const member of nonHttpBindingMembers) {\n if (dataFromBody[member] != null) {\n dataObject[member] = dataFromBody[member];\n }\n }\n }\n }\n else if (nonHttpBindingMembers.discardResponseBody) {\n await collectBody(response.body, context);\n }\n dataObject.$metadata = this.deserializeMetadata(response);\n return dataObject;\n }\n async deserializeHttpMessage(schema$1, context, response, arg4, arg5) {\n let dataObject;\n if (arg4 instanceof Set) {\n dataObject = arg5;\n }\n else {\n dataObject = arg4;\n }\n let discardResponseBody = true;\n const deserializer = this.deserializer;\n const ns = schema.NormalizedSchema.of(schema$1);\n const nonHttpBindingMembers = [];\n for (const [memberName, memberSchema] of ns.structIterator()) {\n const memberTraits = memberSchema.getMemberTraits();\n if (memberTraits.httpPayload) {\n discardResponseBody = false;\n const isStreaming = memberSchema.isStreaming();\n if (isStreaming) {\n const isEventStream = memberSchema.isStructSchema();\n if (isEventStream) {\n dataObject[memberName] = await this.deserializeEventStream({\n response,\n responseSchema: ns,\n });\n }\n else {\n dataObject[memberName] = serde.sdkStreamMixin(response.body);\n }\n }\n else if (response.body) {\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n dataObject[memberName] = await deserializer.read(memberSchema, bytes);\n }\n }\n }\n else if (memberTraits.httpHeader) {\n const key = String(memberTraits.httpHeader).toLowerCase();\n const value = response.headers[key];\n if (null != value) {\n if (memberSchema.isListSchema()) {\n const headerListValueSchema = memberSchema.getValueSchema();\n headerListValueSchema.getMergedTraits().httpHeader = key;\n let sections;\n if (headerListValueSchema.isTimestampSchema() &&\n headerListValueSchema.getSchema() === 4) {\n sections = serde.splitEvery(value, \",\", 2);\n }\n else {\n sections = serde.splitHeader(value);\n }\n const list = [];\n for (const section of sections) {\n list.push(await deserializer.read(headerListValueSchema, section.trim()));\n }\n dataObject[memberName] = list;\n }\n else {\n dataObject[memberName] = await deserializer.read(memberSchema, value);\n }\n }\n }\n else if (memberTraits.httpPrefixHeaders !== undefined) {\n dataObject[memberName] = {};\n for (const header in response.headers) {\n if (header.startsWith(memberTraits.httpPrefixHeaders)) {\n const value = response.headers[header];\n const valueSchema = memberSchema.getValueSchema();\n valueSchema.getMergedTraits().httpHeader = header;\n dataObject[memberName][header.slice(memberTraits.httpPrefixHeaders.length)] = await deserializer.read(valueSchema, value);\n }\n }\n }\n else if (memberTraits.httpResponseCode) {\n dataObject[memberName] = response.statusCode;\n }\n else {\n nonHttpBindingMembers.push(memberName);\n }\n }\n nonHttpBindingMembers.discardResponseBody = discardResponseBody;\n return nonHttpBindingMembers;\n }\n}\n\nclass RpcProtocol extends HttpProtocol {\n async serializeRequest(operationSchema, _input, context) {\n const serializer = this.serializer;\n const query = {};\n const headers = {};\n const endpoint = await context.endpoint();\n const ns = schema.NormalizedSchema.of(operationSchema?.input);\n const schema$1 = ns.getSchema();\n let payload;\n const input = _input && typeof _input === \"object\" ? _input : {};\n const request = new transport.HttpRequest({\n protocol: \"\",\n hostname: \"\",\n port: undefined,\n path: \"/\",\n fragment: undefined,\n query: query,\n headers: headers,\n body: undefined,\n });\n if (endpoint) {\n this.updateServiceEndpoint(request, endpoint);\n this.setHostPrefix(request, operationSchema, input);\n }\n if (input) {\n const eventStreamMember = ns.getEventStreamMember();\n if (eventStreamMember) {\n if (input[eventStreamMember]) {\n const initialRequest = {};\n for (const [memberName, memberSchema] of ns.structIterator()) {\n if (memberName !== eventStreamMember && input[memberName]) {\n serializer.write(memberSchema, input[memberName]);\n initialRequest[memberName] = serializer.flush();\n }\n }\n payload = await this.serializeEventStream({\n eventStream: input[eventStreamMember],\n requestSchema: ns,\n initialRequest,\n });\n }\n }\n else {\n serializer.write(schema$1, input);\n payload = serializer.flush();\n }\n }\n request.headers = Object.assign(request.headers, headers);\n request.query = query;\n request.body = payload;\n request.method = \"POST\";\n return request;\n }\n async deserializeResponse(operationSchema, context, response) {\n const deserializer = this.deserializer;\n const ns = schema.NormalizedSchema.of(operationSchema.output);\n const dataObject = {};\n if (response.statusCode >= 300) {\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n Object.assign(dataObject, await deserializer.read(15, bytes));\n }\n await this.handleError(operationSchema, context, response, dataObject, this.deserializeMetadata(response));\n throw new Error(\"@smithy/core/protocols - RPC Protocol error handler failed to throw.\");\n }\n for (const header in response.headers) {\n const value = response.headers[header];\n delete response.headers[header];\n response.headers[header.toLowerCase()] = value;\n }\n const eventStreamMember = ns.getEventStreamMember();\n if (eventStreamMember) {\n dataObject[eventStreamMember] = await this.deserializeEventStream({\n response,\n responseSchema: ns,\n initialResponseContainer: dataObject,\n });\n }\n else {\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n Object.assign(dataObject, await deserializer.read(ns, bytes));\n }\n }\n dataObject.$metadata = this.deserializeMetadata(response);\n return dataObject;\n }\n}\n\nconst resolvedPath = (resolvedPath, input, memberName, labelValueProvider, uriLabel, isGreedyLabel) => {\n if (input != null && input[memberName] !== undefined) {\n const labelValue = labelValueProvider();\n if (labelValue == null || labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: \" + memberName + \".\");\n }\n resolvedPath = resolvedPath.replace(uriLabel, isGreedyLabel\n ? labelValue\n .split(\"/\")\n .map((segment) => extendedEncodeURIComponent(segment))\n .join(\"/\")\n : extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: \" + memberName + \".\");\n }\n return resolvedPath;\n};\n\nfunction requestBuilder(input, context) {\n return new RequestBuilder(input, context);\n}\nclass RequestBuilder {\n input;\n context;\n query = {};\n method = \"\";\n headers = {};\n path = \"\";\n body = null;\n hostname = \"\";\n resolvePathStack = [];\n constructor(input, context) {\n this.input = input;\n this.context = context;\n }\n async build() {\n const { hostname, protocol = \"https\", port, path: basePath } = await this.context.endpoint();\n this.path = basePath;\n for (const resolvePath of this.resolvePathStack) {\n resolvePath(this.path);\n }\n return new transport.HttpRequest({\n protocol,\n hostname: this.hostname || hostname,\n port,\n method: this.method,\n path: this.path,\n query: this.query,\n body: this.body,\n headers: this.headers,\n });\n }\n hn(hostname) {\n this.hostname = hostname;\n return this;\n }\n bp(uriLabel) {\n this.resolvePathStack.push((basePath) => {\n this.path = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + uriLabel;\n });\n return this;\n }\n p(memberName, labelValueProvider, uriLabel, isGreedyLabel) {\n this.resolvePathStack.push((path) => {\n this.path = resolvedPath(path, this.input, memberName, labelValueProvider, uriLabel, isGreedyLabel);\n });\n return this;\n }\n h(headers) {\n this.headers = headers;\n return this;\n }\n q(query) {\n this.query = query;\n return this;\n }\n b(body) {\n this.body = body;\n return this;\n }\n m(method) {\n this.method = method;\n return this;\n }\n}\n\nfunction determineTimestampFormat(ns, settings) {\n if (settings.timestampFormat.useTrait) {\n if (ns.isTimestampSchema() &&\n (ns.getSchema() === 5 ||\n ns.getSchema() === 6 ||\n ns.getSchema() === 7)) {\n return ns.getSchema();\n }\n }\n const { httpLabel, httpPrefixHeaders, httpHeader, httpQuery } = ns.getMergedTraits();\n const bindingFormat = settings.httpBindings\n ? typeof httpPrefixHeaders === \"string\" || Boolean(httpHeader)\n ? 6\n : Boolean(httpQuery) || Boolean(httpLabel)\n ? 5\n : undefined\n : undefined;\n return bindingFormat ?? settings.timestampFormat.default;\n}\n\nclass FromStringShapeDeserializer extends SerdeContext {\n settings;\n constructor(settings) {\n super();\n this.settings = settings;\n }\n read(_schema, data) {\n const ns = schema.NormalizedSchema.of(_schema);\n if (ns.isListSchema()) {\n return serde.splitHeader(data).map((item) => this.read(ns.getValueSchema(), item));\n }\n if (ns.isBlobSchema()) {\n return (this.serdeContext?.base64Decoder ?? serde.fromBase64)(data);\n }\n if (ns.isTimestampSchema()) {\n const format = determineTimestampFormat(ns, this.settings);\n switch (format) {\n case 5:\n return serde._parseRfc3339DateTimeWithOffset(data);\n case 6:\n return serde._parseRfc7231DateTime(data);\n case 7:\n return serde._parseEpochTimestamp(data);\n default:\n console.warn(\"Missing timestamp format, parsing value with Date constructor:\", data);\n return new Date(data);\n }\n }\n if (ns.isStringSchema()) {\n const mediaType = ns.getMergedTraits().mediaType;\n let intermediateValue = data;\n if (mediaType) {\n if (ns.getMergedTraits().httpHeader) {\n intermediateValue = this.base64ToUtf8(intermediateValue);\n }\n const isJson = mediaType === \"application/json\" || mediaType.endsWith(\"+json\");\n if (isJson) {\n intermediateValue = serde.LazyJsonString.from(intermediateValue);\n }\n return intermediateValue;\n }\n }\n if (ns.isNumericSchema()) {\n return Number(data);\n }\n if (ns.isBigIntegerSchema()) {\n return BigInt(data);\n }\n if (ns.isBigDecimalSchema()) {\n return new serde.NumericValue(data, \"bigDecimal\");\n }\n if (ns.isBooleanSchema()) {\n return String(data).toLowerCase() === \"true\";\n }\n return data;\n }\n base64ToUtf8(base64String) {\n return (this.serdeContext?.utf8Encoder ?? serde.toUtf8)((this.serdeContext?.base64Decoder ?? serde.fromBase64)(base64String));\n }\n}\n\nclass HttpInterceptingShapeDeserializer extends SerdeContext {\n codecDeserializer;\n stringDeserializer;\n constructor(codecDeserializer, codecSettings) {\n super();\n this.codecDeserializer = codecDeserializer;\n this.stringDeserializer = new FromStringShapeDeserializer(codecSettings);\n }\n setSerdeContext(serdeContext) {\n this.stringDeserializer.setSerdeContext(serdeContext);\n this.codecDeserializer.setSerdeContext(serdeContext);\n this.serdeContext = serdeContext;\n }\n read(schema$1, data) {\n const ns = schema.NormalizedSchema.of(schema$1);\n const traits = ns.getMergedTraits();\n const toString = this.serdeContext?.utf8Encoder ?? serde.toUtf8;\n if (traits.httpHeader || traits.httpResponseCode) {\n return this.stringDeserializer.read(ns, toString(data));\n }\n if (traits.httpPayload) {\n if (ns.isBlobSchema()) {\n const toBytes = this.serdeContext?.utf8Decoder ?? serde.fromUtf8;\n if (typeof data === \"string\") {\n return toBytes(data);\n }\n return data;\n }\n else if (ns.isStringSchema()) {\n if (\"byteLength\" in data) {\n return toString(data);\n }\n return data;\n }\n }\n return this.codecDeserializer.read(ns, data);\n }\n}\n\nclass ToStringShapeSerializer extends SerdeContext {\n settings;\n stringBuffer = \"\";\n constructor(settings) {\n super();\n this.settings = settings;\n }\n write(schema$1, value) {\n const ns = schema.NormalizedSchema.of(schema$1);\n switch (typeof value) {\n case \"object\":\n if (value === null) {\n this.stringBuffer = \"null\";\n return;\n }\n if (ns.isTimestampSchema()) {\n if (!(value instanceof Date)) {\n throw new Error(`@smithy/core/protocols - received non-Date value ${value} when schema expected Date in ${ns.getName(true)}`);\n }\n const format = determineTimestampFormat(ns, this.settings);\n switch (format) {\n case 5:\n this.stringBuffer = value.toISOString().replace(\".000Z\", \"Z\");\n break;\n case 6:\n this.stringBuffer = serde.dateToUtcString(value);\n break;\n case 7:\n this.stringBuffer = String(value.getTime() / 1000);\n break;\n default:\n console.warn(\"Missing timestamp format, using epoch seconds\", value);\n this.stringBuffer = String(value.getTime() / 1000);\n }\n return;\n }\n if (ns.isBlobSchema() && \"byteLength\" in value) {\n this.stringBuffer = (this.serdeContext?.base64Encoder ?? serde.toBase64)(value);\n return;\n }\n if (ns.isListSchema() && Array.isArray(value)) {\n let buffer = \"\";\n for (const item of value) {\n this.write([ns.getValueSchema(), ns.getMergedTraits()], item);\n const headerItem = this.flush();\n const serialized = ns.getValueSchema().isTimestampSchema() ? headerItem : serde.quoteHeader(headerItem);\n if (buffer !== \"\") {\n buffer += \", \";\n }\n buffer += serialized;\n }\n this.stringBuffer = buffer;\n return;\n }\n this.stringBuffer = JSON.stringify(value, null, 2);\n break;\n case \"string\":\n const mediaType = ns.getMergedTraits().mediaType;\n let intermediateValue = value;\n if (mediaType) {\n const isJson = mediaType === \"application/json\" || mediaType.endsWith(\"+json\");\n if (isJson) {\n intermediateValue = serde.LazyJsonString.from(intermediateValue);\n }\n if (ns.getMergedTraits().httpHeader) {\n this.stringBuffer = (this.serdeContext?.base64Encoder ?? serde.toBase64)(intermediateValue.toString());\n return;\n }\n }\n this.stringBuffer = value;\n break;\n default:\n if (ns.isIdempotencyToken()) {\n this.stringBuffer = serde.generateIdempotencyToken();\n }\n else {\n this.stringBuffer = String(value);\n }\n }\n }\n flush() {\n const buffer = this.stringBuffer;\n this.stringBuffer = \"\";\n return buffer;\n }\n}\n\nclass HttpInterceptingShapeSerializer {\n codecSerializer;\n stringSerializer;\n buffer;\n constructor(codecSerializer, codecSettings, stringSerializer = new ToStringShapeSerializer(codecSettings)) {\n this.codecSerializer = codecSerializer;\n this.stringSerializer = stringSerializer;\n }\n setSerdeContext(serdeContext) {\n this.codecSerializer.setSerdeContext(serdeContext);\n this.stringSerializer.setSerdeContext(serdeContext);\n }\n write(schema$1, value) {\n const ns = schema.NormalizedSchema.of(schema$1);\n const traits = ns.getMergedTraits();\n if (traits.httpHeader || traits.httpLabel || traits.httpQuery) {\n this.stringSerializer.write(ns, value);\n this.buffer = this.stringSerializer.flush();\n return;\n }\n return this.codecSerializer.write(ns, value);\n }\n flush() {\n if (this.buffer !== undefined) {\n const buffer = this.buffer;\n this.buffer = undefined;\n return buffer;\n }\n return this.codecSerializer.flush();\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\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\nconst CONTENT_LENGTH_HEADER = \"content-length\";\nfunction contentLengthMiddleware(bodyLengthChecker) {\n return (next) => async (args) => {\n const request = args.request;\n if (transport.HttpRequest.isInstance(request)) {\n const { body, headers } = request;\n if (body &&\n Object.keys(headers)\n .map((str) => str.toLowerCase())\n .indexOf(CONTENT_LENGTH_HEADER) === -1) {\n try {\n const length = bodyLengthChecker(body);\n request.headers = {\n ...request.headers,\n [CONTENT_LENGTH_HEADER]: String(length),\n };\n }\n catch (error) {\n }\n }\n }\n return next({\n ...args,\n request,\n });\n };\n}\nconst contentLengthMiddlewareOptions = {\n step: \"build\",\n tags: [\"SET_CONTENT_LENGTH\", \"CONTENT_LENGTH\"],\n name: \"contentLengthMiddleware\",\n override: true,\n};\nconst getContentLengthPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add(contentLengthMiddleware(options.bodyLengthChecker), contentLengthMiddlewareOptions);\n },\n});\n\nconst escapeUri = (uri) => encodeURIComponent(uri).replace(/[!'()*]/g, hexEncode);\nconst hexEncode = (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`;\n\nconst escapeUriPath = (uri) => uri.split(\"/\").map(escapeUri).join(\"/\");\n\nfunction buildQueryString(query) {\n const parts = [];\n for (let key of Object.keys(query).sort()) {\n const value = query[key];\n key = escapeUri(key);\n if (Array.isArray(value)) {\n for (let i = 0, iLen = value.length; i < iLen; i++) {\n parts.push(`${key}=${escapeUri(value[i])}`);\n }\n }\n else {\n let qsEntry = key;\n if (value || typeof value === \"string\") {\n qsEntry += `=${escapeUri(value)}`;\n }\n parts.push(qsEntry);\n }\n }\n return parts.join(\"&\");\n}\n\nexports.HttpRequest = transport.HttpRequest;\nexports.HttpResponse = transport.HttpResponse;\nexports.isValidHostname = transport.isValidHostname;\nexports.parseQueryString = transport.parseQueryString;\nexports.parseUrl = transport.parseUrl;\nexports.Field = Field;\nexports.Fields = Fields;\nexports.FromStringShapeDeserializer = FromStringShapeDeserializer;\nexports.HttpBindingProtocol = HttpBindingProtocol;\nexports.HttpInterceptingShapeDeserializer = HttpInterceptingShapeDeserializer;\nexports.HttpInterceptingShapeSerializer = HttpInterceptingShapeSerializer;\nexports.HttpProtocol = HttpProtocol;\nexports.RequestBuilder = RequestBuilder;\nexports.RpcProtocol = RpcProtocol;\nexports.SerdeContext = SerdeContext;\nexports.ToStringShapeSerializer = ToStringShapeSerializer;\nexports.buildQueryString = buildQueryString;\nexports.collectBody = collectBody;\nexports.contentLengthMiddleware = contentLengthMiddleware;\nexports.contentLengthMiddlewareOptions = contentLengthMiddlewareOptions;\nexports.determineTimestampFormat = determineTimestampFormat;\nexports.escapeUri = escapeUri;\nexports.escapeUriPath = escapeUriPath;\nexports.extendedEncodeURIComponent = extendedEncodeURIComponent;\nexports.getContentLengthPlugin = getContentLengthPlugin;\nexports.getHttpHandlerExtensionConfiguration = getHttpHandlerExtensionConfiguration;\nexports.requestBuilder = requestBuilder;\nexports.resolveHttpHandlerRuntimeConfig = resolveHttpHandlerRuntimeConfig;\nexports.resolvedPath = resolvedPath;\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "C64A5CADA8D71DA764756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../llm/src/protocols/utils/openai-options.ts", "../llm/src/protocols/utils/lifecycle.ts", "../llm/src/protocols/utils/gemini-tool-schema.ts", "../llm/src/protocols/utils/tool-schema.ts", "../llm/src/protocols/utils/tool-stream.ts", "../llm/src/protocols/openai-chat.ts"], | ||
| "sourcesContent": [ | ||
| "import { Schema } from \"effect\"\nimport type { LLMRequest, TextVerbosity as TextVerbosityValue } from \"../../schema\"\nimport { ReasoningEfforts, TextVerbosity } from \"../../schema\"\n\nexport const OpenAIReasoningEfforts = ReasoningEfforts\nexport type OpenAIReasoningEffort = string\n\n// Mirrors OpenAI's `ResponseIncludable` union from the official SDK. Keep this\n// in lockstep with `openai-node/src/resources/responses/responses.ts`.\nexport const OpenAIResponseIncludables = [\n \"file_search_call.results\",\n \"web_search_call.results\",\n \"web_search_call.action.sources\",\n \"message.input_image.image_url\",\n \"computer_call_output.output.image_url\",\n \"code_interpreter_call.outputs\",\n \"reasoning.encrypted_content\",\n \"message.output_text.logprobs\",\n] as const\nexport type OpenAIResponseIncludable = (typeof OpenAIResponseIncludables)[number]\nexport const OpenAIServiceTiers = [\"auto\", \"default\", \"flex\", \"priority\"] as const\nexport type OpenAIServiceTier = (typeof OpenAIServiceTiers)[number]\n\nconst TEXT_VERBOSITY = new Set<string>([\"low\", \"medium\", \"high\"])\nconst INCLUDABLES = new Set<string>(OpenAIResponseIncludables)\nconst SERVICE_TIERS = new Set<string>(OpenAIServiceTiers)\n\nexport const OpenAIReasoningEffort = Schema.String\nexport const OpenAITextVerbosity = TextVerbosity\nexport const OpenAIResponseIncludable = Schema.Literals(OpenAIResponseIncludables)\nexport const OpenAIServiceTier = Schema.Literals(OpenAIServiceTiers)\n\nexport const isReasoningEffort = (effort: unknown): effort is OpenAIReasoningEffort => typeof effort === \"string\"\n\nconst isTextVerbosity = (value: unknown): value is TextVerbosityValue =>\n typeof value === \"string\" && TEXT_VERBOSITY.has(value)\n\nconst options = (request: LLMRequest) => request.providerOptions?.openai\n\nexport const store = (request: LLMRequest): boolean | undefined => {\n const value = options(request)?.store\n return typeof value === \"boolean\" ? value : undefined\n}\n\nexport const reasoningEffort = (request: LLMRequest): string | undefined => {\n const value = options(request)?.reasoningEffort\n return typeof value === \"string\" ? value : undefined\n}\n\nexport const reasoningSummary = (request: LLMRequest): \"auto\" | undefined =>\n options(request)?.reasoningSummary === \"auto\" ? \"auto\" : undefined\n\n// Resolve the OpenAI Responses `include` field. Filters out unknown\n// includable values defensively so a typo in upstream config drops the\n// invalid entry instead of poisoning the wire body. An empty array (either\n// passed directly or produced by filtering) is treated as \"no include\" and\n// returns undefined so the request body omits the field entirely.\nexport const include = (request: LLMRequest): ReadonlyArray<OpenAIResponseIncludable> | undefined => {\n const value = options(request)?.include\n if (!Array.isArray(value)) return undefined\n const filtered = value.filter((entry): entry is OpenAIResponseIncludable => INCLUDABLES.has(entry))\n return filtered.length > 0 ? filtered : undefined\n}\n\nexport const promptCacheKey = (request: LLMRequest) => {\n const value = options(request)?.promptCacheKey\n return typeof value === \"string\" ? value : undefined\n}\n\nexport const textVerbosity = (request: LLMRequest) => {\n const value = options(request)?.textVerbosity\n return isTextVerbosity(value) ? value : undefined\n}\n\nexport const serviceTier = (request: LLMRequest) => {\n const value = options(request)?.serviceTier\n return typeof value === \"string\" && SERVICE_TIERS.has(value) ? (value as OpenAIServiceTier) : undefined\n}\n\nexport const instructions = (request: LLMRequest) => {\n const value = options(request)?.instructions\n return typeof value === \"string\" ? value : undefined\n}\n\nexport * as OpenAIOptions from \"./openai-options\"\n", | ||
| "import { LLMEvent, type FinishReason, type ProviderMetadata, type Usage } from \"../../schema\"\n\nexport interface State {\n readonly stepStarted: boolean\n readonly text: ReadonlySet<string>\n readonly reasoning: ReadonlySet<string>\n}\n\nexport const initial = (): State => ({ stepStarted: false, text: new Set(), reasoning: new Set() })\n\nexport const stepStart = (state: State, events: LLMEvent[]): State => {\n if (state.stepStarted) return state\n events.push(LLMEvent.stepStart({ index: 0 }))\n return { ...state, stepStarted: true }\n}\n\nexport const textDelta = (state: State, events: LLMEvent[], id: string, text: string): State => {\n const stepped = stepStart(state, events)\n if (stepped.text.has(id)) {\n events.push(LLMEvent.textDelta({ id, text }))\n return stepped\n }\n events.push(LLMEvent.textStart({ id }), LLMEvent.textDelta({ id, text }))\n return { ...stepped, text: new Set([...stepped.text, id]) }\n}\n\nexport const reasoningStart = (\n state: State,\n events: LLMEvent[],\n id: string,\n providerMetadata?: ProviderMetadata,\n): State => {\n if (state.reasoning.has(id)) return state\n const stepped = stepStart(state, events)\n events.push(LLMEvent.reasoningStart({ id, providerMetadata }))\n return { ...stepped, reasoning: new Set([...stepped.reasoning, id]) }\n}\n\nexport const reasoningDelta = (\n state: State,\n events: LLMEvent[],\n id: string,\n text: string,\n providerMetadata?: ProviderMetadata,\n): State => {\n const started = reasoningStart(state, events, id, providerMetadata)\n events.push(LLMEvent.reasoningDelta({ id, text }))\n return started\n}\n\nexport const reasoningEnd = (\n state: State,\n events: LLMEvent[],\n id: string,\n providerMetadata?: ProviderMetadata,\n): State => {\n if (!state.reasoning.has(id)) return state\n const stepped = stepStart(state, events)\n events.push(LLMEvent.reasoningEnd({ id, providerMetadata }))\n const reasoning = new Set(stepped.reasoning)\n reasoning.delete(id)\n return { ...stepped, reasoning }\n}\n\nexport const textEnd = (state: State, events: LLMEvent[], id: string, providerMetadata?: ProviderMetadata): State => {\n if (!state.text.has(id)) return state\n const stepped = stepStart(state, events)\n events.push(LLMEvent.textEnd({ id, providerMetadata }))\n const text = new Set(stepped.text)\n text.delete(id)\n return { ...stepped, text }\n}\n\nconst closeOpenBlocks = (state: State, events: LLMEvent[]): State => {\n for (const id of state.reasoning) events.push(LLMEvent.reasoningEnd({ id }))\n for (const id of state.text) events.push(LLMEvent.textEnd({ id }))\n return { ...state, text: new Set(), reasoning: new Set() }\n}\n\nexport const finish = (\n state: State,\n events: LLMEvent[],\n input: {\n readonly reason: FinishReason\n readonly usage?: Usage\n readonly providerMetadata?: ProviderMetadata\n },\n): State => {\n const stepped = closeOpenBlocks(stepStart(state, events), events)\n events.push(\n LLMEvent.stepFinish({\n index: 0,\n reason: input.reason,\n usage: input.usage,\n providerMetadata: input.providerMetadata,\n }),\n LLMEvent.finish(input),\n )\n return { ...stepped, stepStarted: false }\n}\n\nexport * as Lifecycle from \"./lifecycle\"\n", | ||
| "import { isRecord } from \"../../utils/record\"\n\n// Gemini accepts a JSON Schema-like dialect for tool parameters, but rejects a\n// handful of common JSON Schema shapes. Keep this projection isolated so the\n// Gemini protocol file still reads like the other protocol modules.\nconst SCHEMA_INTENT_KEYS = [\n \"type\",\n \"properties\",\n \"items\",\n \"prefixItems\",\n \"enum\",\n \"const\",\n \"$ref\",\n \"additionalProperties\",\n \"patternProperties\",\n \"required\",\n \"not\",\n \"if\",\n \"then\",\n \"else\",\n]\n\nconst hasCombiner = (schema: unknown) =>\n isRecord(schema) && (Array.isArray(schema.anyOf) || Array.isArray(schema.oneOf) || Array.isArray(schema.allOf))\n\nconst hasSchemaIntent = (schema: unknown) =>\n isRecord(schema) && (hasCombiner(schema) || SCHEMA_INTENT_KEYS.some((key) => key in schema))\n\nconst sanitizeNode = (schema: unknown): unknown => {\n if (!isRecord(schema)) return Array.isArray(schema) ? schema.map(sanitizeNode) : schema\n\n const result: Record<string, unknown> = Object.fromEntries(\n Object.entries(schema).map(([key, value]) => [\n key,\n key === \"enum\" && Array.isArray(value) ? value.map(String) : sanitizeNode(value),\n ]),\n )\n\n if (Array.isArray(result.enum) && (result.type === \"integer\" || result.type === \"number\")) result.type = \"string\"\n\n const properties = result.properties\n if (result.type === \"object\" && isRecord(properties) && Array.isArray(result.required)) {\n result.required = result.required.filter((field) => typeof field === \"string\" && field in properties)\n }\n\n if (result.type === \"array\" && !hasCombiner(result)) {\n result.items = result.items ?? {}\n if (isRecord(result.items) && !hasSchemaIntent(result.items)) result.items = { ...result.items, type: \"string\" }\n }\n\n if (typeof result.type === \"string\" && result.type !== \"object\" && !hasCombiner(result)) {\n delete result.properties\n delete result.required\n }\n\n return result\n}\n\nconst emptyObjectSchema = (schema: Record<string, unknown>) =>\n schema.type === \"object\" &&\n (!isRecord(schema.properties) || Object.keys(schema.properties).length === 0) &&\n !schema.additionalProperties\n\nconst projectNode = (schema: unknown): Record<string, unknown> | undefined => {\n if (!isRecord(schema)) return undefined\n if (emptyObjectSchema(schema)) return undefined\n return Object.fromEntries(\n [\n [\"description\", schema.description],\n [\"required\", schema.required],\n [\"format\", schema.format],\n [\"type\", Array.isArray(schema.type) ? schema.type.filter((type) => type !== \"null\")[0] : schema.type],\n [\"nullable\", Array.isArray(schema.type) && schema.type.includes(\"null\") ? true : undefined],\n [\"enum\", schema.const !== undefined ? [schema.const] : schema.enum],\n [\n \"properties\",\n isRecord(schema.properties)\n ? Object.fromEntries(Object.entries(schema.properties).map(([key, value]) => [key, projectNode(value)]))\n : undefined,\n ],\n [\n \"items\",\n Array.isArray(schema.items)\n ? schema.items.map(projectNode)\n : schema.items === undefined\n ? undefined\n : projectNode(schema.items),\n ],\n [\"allOf\", Array.isArray(schema.allOf) ? schema.allOf.map(projectNode) : undefined],\n [\"anyOf\", Array.isArray(schema.anyOf) ? schema.anyOf.map(projectNode) : undefined],\n [\"oneOf\", Array.isArray(schema.oneOf) ? schema.oneOf.map(projectNode) : undefined],\n [\"minLength\", schema.minLength],\n ].filter((entry) => entry[1] !== undefined),\n )\n}\n\nexport const convert = (schema: unknown) => projectNode(sanitizeNode(schema))\n\nexport * as GeminiToolSchema from \"./gemini-tool-schema\"\n", | ||
| "import type { JsonSchema, ModelToolSchemaCompatibility } from \"../../schema\"\nimport { isRecord } from \"../../utils/record\"\nimport { GeminiToolSchema } from \"./gemini-tool-schema\"\n\nconst removeNullSchemas = (value: unknown): unknown => {\n if (Array.isArray(value)) return value.map(removeNullSchemas)\n if (!isRecord(value)) return value\n const fields = Object.fromEntries(\n Object.entries(value)\n .filter(([key]) => key !== \"anyOf\")\n .map(([key, field]) => [key, removeNullSchemas(field)]),\n )\n if (!Array.isArray(value.anyOf)) return fields\n const variants = value.anyOf.filter((variant) => !isRecord(variant) || variant.type !== \"null\").map(removeNullSchemas)\n if (variants.length === 1 && isRecord(variants[0])) return { ...fields, ...variants[0] }\n return { ...fields, anyOf: variants }\n}\n\nconst tupleItemsSchema = (items: ReadonlyArray<unknown>) => {\n const projected = items.map(moonshotNode)\n if (projected.length === 0) return {}\n if (projected.length === 1) return projected[0]\n return { anyOf: projected }\n}\n\nconst moonshotNode = (schema: unknown): unknown => {\n if (Array.isArray(schema)) return schema.map(moonshotNode)\n if (!isRecord(schema)) return schema\n if (typeof schema.$ref === \"string\") return { $ref: schema.$ref }\n return Object.fromEntries(\n Object.entries(schema).flatMap(([key, value]) => {\n if (key === \"items\" && Array.isArray(value)) return [[key, tupleItemsSchema(value)]]\n if (key === \"prefixItems\") {\n if (\"items\" in schema) return []\n return [[\"items\", tupleItemsSchema(Array.isArray(value) ? value : [])]]\n }\n if (key === \"unevaluatedItems\") return []\n return [[key, moonshotNode(value)]]\n }),\n )\n}\n\nconst moonshot = (schema: JsonSchema): JsonSchema => {\n const projected = moonshotNode(schema)\n return isRecord(projected) ? projected : {}\n}\n\nconst openAI = (schema: JsonSchema): JsonSchema => {\n const variants = Array.isArray(schema.anyOf) ? schema.anyOf.filter(isRecord) : []\n const flattened =\n variants.length === 0\n ? { ...schema, type: \"object\" }\n : {\n ...Object.fromEntries(Object.entries(schema).filter(([key]) => key !== \"anyOf\")),\n type: \"object\",\n properties: variants.reduce(\n (properties, variant) => ({ ...(isRecord(variant.properties) ? variant.properties : {}), ...properties }),\n {},\n ),\n additionalProperties: false,\n }\n const normalized = removeNullSchemas(flattened)\n return isRecord(normalized) ? normalized : { type: \"object\" }\n}\n\nconst gemini = (schema: JsonSchema): JsonSchema => GeminiToolSchema.convert(schema) ?? {}\n\nconst modelCompatibility = (\n schema: JsonSchema,\n compatibility: ModelToolSchemaCompatibility | undefined,\n): JsonSchema => {\n if (compatibility === undefined) return schema\n switch (compatibility) {\n case \"gemini\":\n return gemini(schema)\n case \"moonshot\":\n return moonshot(schema)\n }\n}\n\nexport const ToolSchemaProjection = {\n gemini,\n modelCompatibility,\n moonshot,\n openAI,\n} as const\n", | ||
| "import { Effect } from \"effect\"\nimport { LLMError, LLMEvent, type ProviderMetadata, type ToolCall } from \"../../schema\"\nimport { eventError, parseToolInput, type ToolAccumulator } from \"../shared\"\n\ntype StreamKey = string | number\n\n/**\n * One pending streamed tool call. Providers emit the tool identity and JSON\n * argument text across separate chunks; `input` is the raw JSON string collected\n * so far, not the parsed object.\n */\nexport interface PendingTool extends ToolAccumulator {\n readonly providerExecuted?: boolean\n readonly providerMetadata?: ProviderMetadata\n}\n\n/**\n * Sparse parser state keyed by the provider's stream-local tool identifier.\n *\n * This key is not the final tool-call id (`call_...`). It is the id/index the\n * provider uses while streaming a partial call: OpenAI Chat / Anthropic /\n * Bedrock use numeric content indexes, while OpenAI Responses uses string\n * `item_id`s. The generic keeps each protocol internally consistent.\n */\nexport type State<K extends StreamKey> = Partial<Record<K, PendingTool>>\n\n/**\n * Result of adding argument text to one pending tool call. It returns both the\n * next `tools` state and the updated `tool` because parsers often need the\n * current id/name immediately. `events` contains lifecycle and delta events\n * produced by the append; metadata-only deltas update identity without output.\n */\nexport interface AppendOutcome<K extends StreamKey> {\n readonly tools: State<K>\n readonly tool: PendingTool\n readonly events: ReadonlyArray<LLMEvent>\n}\n\n/** Create empty accumulator state for one provider stream. */\nexport const empty = <K extends StreamKey>(): State<K> => ({})\n\nconst withTool = <K extends StreamKey>(tools: State<K>, key: K, tool: PendingTool): State<K> => {\n return { ...tools, [key]: tool }\n}\n\nconst withoutTool = <K extends StreamKey>(tools: State<K>, key: K): State<K> => {\n const next = { ...tools }\n delete next[key]\n return next\n}\n\nconst inputStart = (tool: PendingTool) =>\n LLMEvent.toolInputStart({\n id: tool.id,\n name: tool.name,\n providerMetadata: tool.providerMetadata,\n })\n\nconst inputDelta = (tool: PendingTool, text: string) =>\n LLMEvent.toolInputDelta({\n id: tool.id,\n name: tool.name,\n text,\n })\n\nconst toolCall = (route: string, tool: PendingTool, inputOverride?: string) =>\n parseToolInput(route, tool.name, inputOverride ?? tool.input).pipe(\n Effect.map(\n (input): ToolCall =>\n LLMEvent.toolCall({\n id: tool.id,\n name: tool.name,\n input,\n providerExecuted: tool.providerExecuted ? true : undefined,\n providerMetadata: tool.providerMetadata,\n }),\n ),\n )\n\n/** Store the updated tool and produce the optional public delta event. */\nconst appendTool = <K extends StreamKey>(\n tools: State<K>,\n key: K,\n tool: PendingTool,\n text: string,\n): AppendOutcome<K> => {\n const events: LLMEvent[] = []\n if (!tools[key]) events.push(inputStart(tool))\n if (text.length > 0) events.push(inputDelta(tool, text))\n return {\n tools: withTool(tools, key, tool),\n tool,\n events,\n }\n}\n\nexport const isError = <K extends StreamKey>(result: AppendOutcome<K> | LLMError): result is LLMError =>\n result instanceof LLMError\n\n/**\n * Register a tool call whose start event arrived before any argument deltas.\n * Used by Anthropic `content_block_start`, Bedrock `contentBlockStart`, and\n * OpenAI Responses `response.output_item.added`.\n */\nexport const start = <K extends StreamKey>(\n tools: State<K>,\n key: K,\n tool: Omit<PendingTool, \"input\"> & { readonly input?: string },\n) => withTool(tools, key, { ...tool, input: tool.input ?? \"\" })\n\n/**\n * Append a streamed argument delta, starting the tool if this provider encodes\n * identity on the first delta instead of a separate start event. OpenAI Chat has\n * this shape: `tool_calls[].index` is the stream key, and `id` / `name` may only\n * appear on the first delta for that index.\n */\nexport const appendOrStart = <K extends StreamKey>(\n route: string,\n tools: State<K>,\n key: K,\n delta: { readonly id?: string; readonly name?: string; readonly text: string },\n missingToolMessage: string,\n): AppendOutcome<K> | LLMError => {\n const current = tools[key]\n const id = delta.id ?? current?.id\n const name = delta.name ?? current?.name\n if (!id || !name) return eventError(route, missingToolMessage)\n\n const tool = {\n id,\n name,\n input: `${current?.input ?? \"\"}${delta.text}`,\n providerExecuted: current?.providerExecuted,\n providerMetadata: current?.providerMetadata,\n }\n if (current && delta.text.length === 0 && current.id === id && current.name === name)\n return { tools, tool: current, events: [] }\n return appendTool(tools, key, tool, delta.text)\n}\n\n/**\n * Append argument text to a tool that must already have been started. This keeps\n * protocols honest when their stream grammar promises a start event before any\n * argument delta.\n */\nexport const appendExisting = <K extends StreamKey>(\n route: string,\n tools: State<K>,\n key: K,\n text: string,\n missingToolMessage: string,\n): AppendOutcome<K> | LLMError => {\n const current = tools[key]\n if (!current) return eventError(route, missingToolMessage)\n if (text.length === 0) return { tools, tool: current, events: [] }\n return appendTool(tools, key, { ...current, input: `${current.input}${text}` }, text)\n}\n\n/**\n * Finalize one pending tool call: parse the accumulated raw JSON, remove it\n * from state, and return the optional public `tool-call` event. Missing keys are\n * a no-op because some providers emit stop events for non-tool content blocks.\n */\nexport const finish = <K extends StreamKey>(route: string, tools: State<K>, key: K) =>\n Effect.gen(function* () {\n const tool = tools[key]\n if (!tool) return { tools }\n return {\n tools: withoutTool(tools, key),\n events: [\n LLMEvent.toolInputEnd({ id: tool.id, name: tool.name, providerMetadata: tool.providerMetadata }),\n yield* toolCall(route, tool),\n ],\n }\n })\n\n/**\n * Finalize one pending tool call with an authoritative final input string.\n * OpenAI Responses can send accumulated deltas and then repeat the completed\n * arguments on `response.output_item.done`; the final value wins.\n */\nexport const finishWithInput = <K extends StreamKey>(route: string, tools: State<K>, key: K, input: string) =>\n Effect.gen(function* () {\n const tool = tools[key]\n if (!tool) return { tools }\n return {\n tools: withoutTool(tools, key),\n events: [\n LLMEvent.toolInputEnd({ id: tool.id, name: tool.name, providerMetadata: tool.providerMetadata }),\n yield* toolCall(route, tool, input),\n ],\n }\n })\n\n/**\n * Finalize every pending tool call at once. OpenAI Chat has this shape: it does\n * not emit per-tool stop events, so all accumulated calls finish when the choice\n * receives a terminal `finish_reason`.\n */\nexport const finishAll = <K extends StreamKey>(route: string, tools: State<K>) =>\n Effect.gen(function* () {\n const pending = Object.values<PendingTool | undefined>(tools).filter(\n (tool): tool is PendingTool => tool !== undefined,\n )\n return {\n tools: empty<K>(),\n events: yield* Effect.forEach(pending, (tool) =>\n toolCall(route, tool).pipe(\n Effect.map((call) => [\n LLMEvent.toolInputEnd({ id: tool.id, name: tool.name, providerMetadata: tool.providerMetadata }),\n call,\n ]),\n ),\n ).pipe(Effect.map((events) => events.flat())),\n }\n })\n\nexport * as ToolStream from \"./tool-stream\"\n", | ||
| "import { Effect, Schema } from \"effect\"\nimport { Route } from \"../route/client\"\nimport { Auth } from \"../route/auth\"\nimport { Endpoint } from \"../route/endpoint\"\nimport { HttpTransport } from \"../route/transport\"\nimport { Protocol } from \"../route/protocol\"\nimport {\n LLMEvent,\n Usage,\n type FinishReason,\n type JsonSchema,\n type LLMRequest,\n type MediaPart,\n type ReasoningPart,\n type TextPart,\n type ToolCallPart,\n type ToolDefinition,\n type ToolContent,\n} from \"../schema\"\nimport { isRecord, JsonObject, optionalArray, optionalNull, ProviderShared } from \"./shared\"\nimport { OpenAIOptions } from \"./utils/openai-options\"\nimport { Lifecycle } from \"./utils/lifecycle\"\nimport { ToolSchemaProjection } from \"./utils/tool-schema\"\nimport { ToolStream } from \"./utils/tool-stream\"\n\nconst ADAPTER = \"openai-chat\"\nconst IMAGE_MIMES = new Set<string>(ProviderShared.IMAGE_MIMES)\nexport const DEFAULT_BASE_URL = \"https://api.openai.com/v1\"\nexport const PATH = \"/chat/completions\"\n\n// =============================================================================\n// Request Body Schema\n// =============================================================================\n// The body schema is the provider-native JSON body. `fromRequest` below builds\n// this shape from the common `LLMRequest`, then `Route.make` validates and\n// JSON-encodes it before transport.\nconst OpenAIChatFunction = Schema.Struct({\n name: Schema.String,\n description: Schema.String,\n parameters: JsonObject,\n})\n\nconst OpenAIChatTool = Schema.Struct({\n type: Schema.tag(\"function\"),\n function: OpenAIChatFunction,\n})\ntype OpenAIChatTool = Schema.Schema.Type<typeof OpenAIChatTool>\n\nconst OpenAIChatAssistantToolCall = Schema.Struct({\n id: Schema.String,\n type: Schema.tag(\"function\"),\n function: Schema.Struct({\n name: Schema.String,\n arguments: Schema.String,\n }),\n})\ntype OpenAIChatAssistantToolCall = Schema.Schema.Type<typeof OpenAIChatAssistantToolCall>\n\nconst OpenAIChatUserContent = Schema.Union([\n Schema.Struct({ type: Schema.Literal(\"text\"), text: Schema.String }),\n Schema.Struct({\n type: Schema.Literal(\"image_url\"),\n image_url: Schema.Struct({ url: Schema.String }),\n }),\n])\n\nconst OpenAIChatMessage = Schema.Union([\n Schema.Struct({ role: Schema.Literal(\"system\"), content: Schema.String }),\n Schema.Struct({\n role: Schema.Literal(\"user\"),\n content: Schema.Union([Schema.String, Schema.Array(OpenAIChatUserContent)]),\n }),\n Schema.Struct({\n role: Schema.Literal(\"assistant\"),\n content: Schema.NullOr(Schema.String),\n tool_calls: optionalArray(OpenAIChatAssistantToolCall),\n reasoning_content: Schema.optional(Schema.String),\n }),\n Schema.Struct({ role: Schema.Literal(\"tool\"), tool_call_id: Schema.String, content: Schema.String }),\n]).pipe(Schema.toTaggedUnion(\"role\"))\ntype OpenAIChatMessage = Schema.Schema.Type<typeof OpenAIChatMessage>\n\nconst OpenAIChatToolChoice = Schema.Union([\n Schema.Literals([\"auto\", \"none\", \"required\"]),\n Schema.Struct({\n type: Schema.tag(\"function\"),\n function: Schema.Struct({ name: Schema.String }),\n }),\n])\n\nexport const bodyFields = {\n model: Schema.String,\n messages: Schema.Array(OpenAIChatMessage),\n tools: optionalArray(OpenAIChatTool),\n tool_choice: Schema.optional(OpenAIChatToolChoice),\n stream: Schema.Literal(true),\n stream_options: Schema.optional(Schema.Struct({ include_usage: Schema.Boolean })),\n store: Schema.optional(Schema.Boolean),\n reasoning_effort: Schema.optional(OpenAIOptions.OpenAIReasoningEffort),\n max_tokens: Schema.optional(Schema.Number),\n temperature: Schema.optional(Schema.Number),\n top_p: Schema.optional(Schema.Number),\n frequency_penalty: Schema.optional(Schema.Number),\n presence_penalty: Schema.optional(Schema.Number),\n seed: Schema.optional(Schema.Number),\n stop: optionalArray(Schema.String),\n}\nconst OpenAIChatBody = Schema.Struct(bodyFields)\nexport type OpenAIChatBody = Schema.Schema.Type<typeof OpenAIChatBody>\n\n// =============================================================================\n// Streaming Event Schema\n// =============================================================================\n// The event schema is one decoded SSE `data:` payload. `Framing.sse` splits the\n// byte stream into strings, then `Protocol.jsonEvent` decodes each string into\n// this provider-native event shape.\nconst OpenAIChatUsage = Schema.Struct({\n prompt_tokens: Schema.optional(Schema.Number),\n completion_tokens: Schema.optional(Schema.Number),\n total_tokens: Schema.optional(Schema.Number),\n prompt_tokens_details: optionalNull(\n Schema.Struct({\n cached_tokens: Schema.optional(Schema.Number),\n }),\n ),\n completion_tokens_details: optionalNull(\n Schema.Struct({\n reasoning_tokens: Schema.optional(Schema.Number),\n }),\n ),\n})\n\nconst OpenAIChatToolCallDeltaFunction = Schema.Struct({\n name: optionalNull(Schema.String),\n arguments: optionalNull(Schema.String),\n})\n\nconst OpenAIChatToolCallDelta = Schema.Struct({\n index: Schema.Number,\n id: optionalNull(Schema.String),\n function: optionalNull(OpenAIChatToolCallDeltaFunction),\n})\ntype OpenAIChatToolCallDelta = Schema.Schema.Type<typeof OpenAIChatToolCallDelta>\n\nconst OpenAIChatDelta = Schema.Struct({\n content: optionalNull(Schema.String),\n reasoning_content: optionalNull(Schema.String),\n tool_calls: optionalNull(Schema.Array(OpenAIChatToolCallDelta)),\n})\n\nconst OpenAIChatChoice = Schema.Struct({\n delta: optionalNull(OpenAIChatDelta),\n finish_reason: optionalNull(Schema.String),\n})\n\nexport const OpenAIChatEvent = Schema.Struct({\n choices: Schema.Array(OpenAIChatChoice),\n usage: optionalNull(OpenAIChatUsage),\n})\nexport type OpenAIChatEvent = Schema.Schema.Type<typeof OpenAIChatEvent>\ntype OpenAIChatRequestMessage = LLMRequest[\"messages\"][number]\n\ninterface ParserState {\n readonly tools: ToolStream.State<number>\n readonly toolCallEvents: ReadonlyArray<LLMEvent>\n readonly usage?: Usage\n readonly finishReason?: FinishReason\n readonly lifecycle: Lifecycle.State\n}\n\n// =============================================================================\n// Request Lowering\n// =============================================================================\n// Lowering is the only place that knows how common LLM messages map onto the\n// OpenAI Chat wire format. Keep provider quirks here instead of leaking native\n// fields into `LLMRequest`.\nconst lowerTool = (tool: ToolDefinition, inputSchema: JsonSchema): OpenAIChatTool => ({\n type: \"function\",\n function: {\n name: tool.name,\n description: tool.description,\n parameters: ToolSchemaProjection.openAI(inputSchema),\n },\n})\n\nconst lowerToolChoice = (toolChoice: NonNullable<LLMRequest[\"toolChoice\"]>) =>\n ProviderShared.matchToolChoice(\"OpenAI Chat\", toolChoice, {\n auto: () => \"auto\" as const,\n none: () => \"none\" as const,\n required: () => \"required\" as const,\n tool: (name) => ({ type: \"function\" as const, function: { name } }),\n })\n\nconst lowerToolCall = (part: ToolCallPart): OpenAIChatAssistantToolCall => ({\n id: part.id,\n type: \"function\",\n function: {\n name: part.name,\n arguments: ProviderShared.encodeJson(part.input),\n },\n})\n\nconst lowerMedia = Effect.fn(\"OpenAIChat.lowerMedia\")(function* (part: MediaPart) {\n const media = yield* ProviderShared.validateMedia(\"OpenAI Chat\", part, IMAGE_MIMES)\n return { type: \"image_url\" as const, image_url: { url: media.dataUrl } }\n})\n\nconst openAICompatibleReasoningContent = (native: unknown) =>\n isRecord(native) && typeof native.reasoning_content === \"string\" ? native.reasoning_content : undefined\n\nconst lowerUserMessage = Effect.fn(\"OpenAIChat.lowerUserMessage\")(function* (message: OpenAIChatRequestMessage) {\n const content: Array<Schema.Schema.Type<typeof OpenAIChatUserContent>> = []\n for (const part of message.content) {\n if (part.type === \"text\") {\n content.push({ type: \"text\", text: part.text })\n continue\n }\n if (part.type === \"media\") {\n content.push(yield* lowerMedia(part))\n continue\n }\n return yield* ProviderShared.unsupportedContent(\"OpenAI Chat\", \"user\", [\"text\", \"media\"])\n }\n if (content.every((part) => part.type === \"text\"))\n return { role: \"user\" as const, content: content.map((part) => part.text).join(\"\") }\n return { role: \"user\" as const, content }\n})\n\nconst lowerAssistantMessage = Effect.fn(\"OpenAIChat.lowerAssistantMessage\")(function* (\n message: OpenAIChatRequestMessage,\n) {\n const content: TextPart[] = []\n const reasoning: ReasoningPart[] = []\n const toolCalls: OpenAIChatAssistantToolCall[] = []\n for (const part of message.content) {\n if (!ProviderShared.supportsContent(part, [\"text\", \"reasoning\", \"tool-call\"]))\n return yield* ProviderShared.unsupportedContent(\"OpenAI Chat\", \"assistant\", [\"text\", \"reasoning\", \"tool-call\"])\n if (part.type === \"text\") {\n content.push(part)\n continue\n }\n if (part.type === \"reasoning\") {\n reasoning.push(part)\n continue\n }\n if (part.type === \"tool-call\") {\n toolCalls.push(lowerToolCall(part))\n continue\n }\n }\n return {\n role: \"assistant\" as const,\n content: content.length === 0 ? null : ProviderShared.joinText(content),\n tool_calls: toolCalls.length === 0 ? undefined : toolCalls,\n reasoning_content:\n reasoning.length > 0\n ? reasoning.map((part) => part.text).join(\"\")\n : openAICompatibleReasoningContent(message.native?.openaiCompatible),\n }\n})\n\nconst lowerToolMessages = Effect.fn(\"OpenAIChat.lowerToolMessages\")(function* (message: OpenAIChatRequestMessage) {\n const messages: OpenAIChatMessage[] = []\n const images: Array<Schema.Schema.Type<typeof OpenAIChatUserContent>> = []\n for (const part of message.content) {\n if (!ProviderShared.supportsContent(part, [\"tool-result\"]))\n return yield* ProviderShared.unsupportedContent(\"OpenAI Chat\", \"tool\", [\"tool-result\"])\n if (part.result.type !== \"content\") {\n messages.push({ role: \"tool\", tool_call_id: part.id, content: ProviderShared.toolResultText(part) })\n continue\n }\n const content: ReadonlyArray<ToolContent> = part.result.value\n const text = content.filter((item) => item.type === \"text\").map((item) => item.text)\n messages.push({ role: \"tool\", tool_call_id: part.id, content: text.join(\"\\n\") })\n const files = content.filter((item) => item.type === \"file\")\n images.push(\n ...(yield* Effect.forEach(files, (item) =>\n lowerMedia({ type: \"media\", mediaType: item.mime, data: item.uri, filename: item.name }),\n )),\n )\n }\n return { messages, images }\n})\n\nconst lowerMessage = Effect.fn(\"OpenAIChat.lowerMessage\")(function* (message: OpenAIChatRequestMessage) {\n if (message.role === \"user\") return [yield* lowerUserMessage(message)]\n if (message.role === \"assistant\") return [yield* lowerAssistantMessage(message)]\n return (yield* lowerToolMessages(message)).messages\n})\n\nconst lowerMessages = Effect.fn(\"OpenAIChat.lowerMessages\")(function* (request: LLMRequest) {\n const system: OpenAIChatMessage[] =\n request.system.length === 0 ? [] : [{ role: \"system\", content: ProviderShared.joinText(request.system) }]\n const messages = [...system]\n const pendingImages: Array<Schema.Schema.Type<typeof OpenAIChatUserContent>> = []\n const flushImages = () => {\n if (pendingImages.length === 0) return\n messages.push({ role: \"user\", content: pendingImages.splice(0) })\n }\n for (const message of request.messages) {\n if (message.role === \"system\") {\n const part = yield* ProviderShared.wrappedSystemUpdate(\"OpenAI Chat\", message)\n if (pendingImages.length > 0) {\n messages.push({ role: \"user\", content: [...pendingImages.splice(0), { type: \"text\", text: part.text }] })\n continue\n }\n const previous = messages.at(-1)\n if (previous?.role === \"user\" && typeof previous.content === \"string\")\n messages[messages.length - 1] = { role: \"user\", content: `${previous.content}\\n${part.text}` }\n else if (previous?.role === \"user\" && Array.isArray(previous.content))\n messages[messages.length - 1] = {\n role: \"user\",\n content: [...previous.content, { type: \"text\", text: part.text }],\n }\n else messages.push({ role: \"user\", content: part.text })\n continue\n }\n if (message.role === \"tool\") {\n const lowered = yield* lowerToolMessages(message)\n messages.push(...lowered.messages)\n pendingImages.push(...lowered.images)\n continue\n }\n flushImages()\n messages.push(...(yield* lowerMessage(message)))\n }\n flushImages()\n return messages\n})\n\nconst lowerOptions = Effect.fn(\"OpenAIChat.lowerOptions\")(function* (request: LLMRequest) {\n const store = OpenAIOptions.store(request)\n const reasoningEffort = OpenAIOptions.reasoningEffort(request)\n return {\n ...(store !== undefined ? { store } : {}),\n ...(reasoningEffort ? { reasoning_effort: reasoningEffort } : {}),\n }\n})\n\nconst fromRequest = Effect.fn(\"OpenAIChat.fromRequest\")(function* (request: LLMRequest) {\n // `fromRequest` returns the provider body only. Endpoint, auth, framing,\n // validation, and HTTP execution are composed by `Route.make`.\n const generation = request.generation\n const toolSchemaCompatibility = request.model.compatibility?.toolSchema\n return {\n model: request.model.id,\n messages: yield* lowerMessages(request),\n tools:\n request.tools.length === 0\n ? undefined\n : request.tools.map((tool) =>\n lowerTool(tool, ToolSchemaProjection.modelCompatibility(tool.inputSchema, toolSchemaCompatibility)),\n ),\n tool_choice: request.toolChoice ? yield* lowerToolChoice(request.toolChoice) : undefined,\n stream: true as const,\n stream_options: { include_usage: true },\n max_tokens: generation?.maxTokens,\n temperature: generation?.temperature,\n top_p: generation?.topP,\n frequency_penalty: generation?.frequencyPenalty,\n presence_penalty: generation?.presencePenalty,\n seed: generation?.seed,\n stop: generation?.stop,\n ...(yield* lowerOptions(request)),\n }\n})\n\n// =============================================================================\n// Stream Parsing\n// =============================================================================\n// Streaming parsers are small state machines: every event returns a new state\n// plus the common `LLMEvent`s produced by that event. Tool calls are accumulated\n// because OpenAI streams JSON arguments across multiple deltas.\nconst mapFinishReason = (reason: string | null | undefined): FinishReason => {\n if (reason === \"stop\") return \"stop\"\n if (reason === \"length\") return \"length\"\n if (reason === \"content_filter\") return \"content-filter\"\n if (reason === \"function_call\" || reason === \"tool_calls\") return \"tool-calls\"\n return \"unknown\"\n}\n\n// OpenAI Chat reports `prompt_tokens` (inclusive total) with a\n// `cached_tokens` subset, and `completion_tokens` (inclusive total) with\n// a `reasoning_tokens` subset. We pass the inclusive totals through and\n// derive the non-cached breakdown so the `LLM.Usage` contract is\n// satisfied on both sides.\nconst mapUsage = (usage: OpenAIChatEvent[\"usage\"]): Usage | undefined => {\n if (!usage) return undefined\n const cached = usage.prompt_tokens_details?.cached_tokens\n const reasoning = usage.completion_tokens_details?.reasoning_tokens\n const nonCached = ProviderShared.subtractTokens(usage.prompt_tokens, cached)\n return new Usage({\n inputTokens: usage.prompt_tokens,\n outputTokens: usage.completion_tokens,\n nonCachedInputTokens: nonCached,\n cacheReadInputTokens: cached,\n reasoningTokens: reasoning,\n totalTokens: ProviderShared.totalTokens(usage.prompt_tokens, usage.completion_tokens, usage.total_tokens),\n providerMetadata: { openai: usage },\n })\n}\n\nconst step = (state: ParserState, event: OpenAIChatEvent) =>\n Effect.gen(function* () {\n const events: LLMEvent[] = []\n const usage = mapUsage(event.usage) ?? state.usage\n const choice = event.choices[0]\n const finishReason = choice?.finish_reason ? mapFinishReason(choice.finish_reason) : state.finishReason\n const delta = choice?.delta\n const toolDeltas = delta?.tool_calls ?? []\n let tools = state.tools\n\n let lifecycle = state.lifecycle\n\n if (delta?.reasoning_content)\n lifecycle = Lifecycle.reasoningDelta(lifecycle, events, \"reasoning-0\", delta.reasoning_content)\n\n if (delta?.content) {\n lifecycle = Lifecycle.reasoningEnd(lifecycle, events, \"reasoning-0\")\n lifecycle = Lifecycle.textDelta(lifecycle, events, \"text-0\", delta.content)\n }\n\n if (toolDeltas.length) lifecycle = Lifecycle.reasoningEnd(lifecycle, events, \"reasoning-0\")\n\n for (const tool of toolDeltas) {\n const result = ToolStream.appendOrStart(\n ADAPTER,\n tools,\n tool.index,\n { id: tool.id ?? undefined, name: tool.function?.name ?? undefined, text: tool.function?.arguments ?? \"\" },\n \"OpenAI Chat tool call delta is missing id or name\",\n )\n if (ToolStream.isError(result)) return yield* result\n tools = result.tools\n if (result.events.length) lifecycle = Lifecycle.stepStart(lifecycle, events)\n events.push(...result.events)\n }\n\n // Finalize accumulated tool inputs eagerly when finish_reason arrives so\n // JSON parse failures fail the stream at the boundary rather than at halt.\n const finished =\n finishReason !== undefined && state.finishReason === undefined && Object.keys(tools).length > 0\n ? yield* ToolStream.finishAll(ADAPTER, tools)\n : undefined\n\n return [\n {\n tools: finished?.tools ?? tools,\n toolCallEvents: finished?.events ?? state.toolCallEvents,\n usage,\n finishReason,\n lifecycle,\n },\n events,\n ] as const\n })\n\nconst finishEvents = (state: ParserState): ReadonlyArray<LLMEvent> => {\n const events: LLMEvent[] = []\n const hasToolCalls = state.toolCallEvents.length > 0\n const reason = state.finishReason === \"stop\" && hasToolCalls ? \"tool-calls\" : state.finishReason\n const lifecycle = state.toolCallEvents.length ? Lifecycle.stepStart(state.lifecycle, events) : state.lifecycle\n events.push(...state.toolCallEvents)\n if (reason) Lifecycle.finish(lifecycle, events, { reason, usage: state.usage })\n return events\n}\n\n// =============================================================================\n// Protocol And OpenAI Route\n// =============================================================================\n/**\n * The OpenAI Chat protocol — request body construction, body schema, and the\n * streaming-event state machine. Reused by every route that speaks OpenAI Chat\n * over HTTP+SSE: native OpenAI, DeepSeek, TogetherAI, Cerebras, Baseten,\n * Fireworks, DeepInfra, and (once added) Azure OpenAI Chat.\n */\nexport const protocol = Protocol.make({\n id: ADAPTER,\n body: {\n schema: OpenAIChatBody,\n from: fromRequest,\n },\n stream: {\n event: Protocol.jsonEvent(OpenAIChatEvent),\n initial: () => ({ tools: ToolStream.empty<number>(), toolCallEvents: [], lifecycle: Lifecycle.initial() }),\n step,\n onHalt: finishEvents,\n },\n})\n\nexport const httpTransport = HttpTransport.sseJson.with<OpenAIChatBody>()\n\nexport const route = Route.make({\n id: ADAPTER,\n provider: \"openai\",\n providerMetadataKey: \"openai\",\n protocol,\n endpoint: Endpoint.path(PATH, { baseURL: DEFAULT_BASE_URL }),\n auth: Auth.none,\n transport: httpTransport,\n})\n\nexport * as OpenAIChat from \"./openai-chat\"\n" | ||
| ], | ||
| "mappings": ";+rBAIO,SAAM,QAAyB,EAKzB,EAA4B,CACvC,2BACA,0BACA,iCACA,gCACA,wCACA,gCACA,8BACA,8BACF,EAEa,EAAqB,CAAC,OAAQ,UAAW,OAAQ,UAAU,EAGlE,GAAiB,IAAI,IAAY,CAAC,MAAO,SAAU,MAAM,CAAC,EAC1D,GAAc,IAAI,IAAY,CAAyB,EACvD,GAAgB,IAAI,IAAY,CAAkB,EAE3C,GAAwB,EAAO,OAC/B,GAAsB,EACtB,GAA2B,EAAO,SAAS,CAAyB,EACpE,GAAoB,EAAO,SAAS,CAAkB,EAEtD,GAAoB,CAAC,IAAqD,OAAO,IAAW,SAEnG,GAAkB,CAAC,IACvB,OAAO,IAAU,UAAY,GAAe,IAAI,CAAK,EAEjD,EAAU,CAAC,IAAwB,EAAQ,iBAAiB,OAErD,GAAQ,CAAC,IAA6C,CACjE,IAAM,EAAQ,EAAQ,CAAO,GAAG,MAChC,OAAO,OAAO,IAAU,UAAY,EAAQ,QAGjC,GAAkB,CAAC,IAA4C,CAC1E,IAAM,EAAQ,EAAQ,CAAO,GAAG,gBAChC,OAAO,OAAO,IAAU,SAAW,EAAQ,QAGhC,GAAmB,CAAC,IAC/B,EAAQ,CAAO,GAAG,mBAAqB,OAAS,OAAS,OAO9C,GAAU,CAAC,IAA6E,CACnG,IAAM,EAAQ,EAAQ,CAAO,GAAG,QAChC,GAAI,CAAC,MAAM,QAAQ,CAAK,EAAG,OAC3B,IAAM,EAAW,EAAM,OAAO,CAAC,IAA6C,GAAY,IAAI,CAAK,CAAC,EAClG,OAAO,EAAS,OAAS,EAAI,EAAW,QAG7B,GAAiB,CAAC,IAAwB,CACrD,IAAM,EAAQ,EAAQ,CAAO,GAAG,eAChC,OAAO,OAAO,IAAU,SAAW,EAAQ,QAGhC,GAAgB,CAAC,IAAwB,CACpD,IAAM,EAAQ,EAAQ,CAAO,GAAG,cAChC,OAAO,GAAgB,CAAK,EAAI,EAAQ,QAG7B,GAAc,CAAC,IAAwB,CAClD,IAAM,EAAQ,EAAQ,CAAO,GAAG,YAChC,OAAO,OAAO,IAAU,UAAY,GAAc,IAAI,CAAK,EAAK,EAA8B,QAGnF,GAAe,CAAC,IAAwB,CACnD,IAAM,EAAQ,EAAQ,CAAO,GAAG,aAChC,OAAO,OAAO,IAAU,SAAW,EAAQ,oLCzEtC,IAAM,GAAU,KAAc,CAAE,YAAa,GAAO,KAAM,IAAI,IAAO,UAAW,IAAI,GAAM,GAEpF,EAAY,CAAC,EAAc,IAA8B,CACpE,GAAI,EAAM,YAAa,OAAO,EAE9B,OADA,EAAO,KAAK,EAAS,UAAU,CAAE,MAAO,CAAE,CAAC,CAAC,EACrC,IAAK,EAAO,YAAa,EAAK,GAG1B,GAAY,CAAC,EAAc,EAAoB,EAAY,IAAwB,CAC9F,IAAM,EAAU,EAAU,EAAO,CAAM,EACvC,GAAI,EAAQ,KAAK,IAAI,CAAE,EAErB,OADA,EAAO,KAAK,EAAS,UAAU,CAAE,KAAI,MAAK,CAAC,CAAC,EACrC,EAGT,OADA,EAAO,KAAK,EAAS,UAAU,CAAE,IAAG,CAAC,EAAG,EAAS,UAAU,CAAE,KAAI,MAAK,CAAC,CAAC,EACjE,IAAK,EAAS,KAAM,IAAI,IAAI,CAAC,GAAG,EAAQ,KAAM,CAAE,CAAC,CAAE,GAG/C,EAAiB,CAC5B,EACA,EACA,EACA,IACU,CACV,GAAI,EAAM,UAAU,IAAI,CAAE,EAAG,OAAO,EACpC,IAAM,EAAU,EAAU,EAAO,CAAM,EAEvC,OADA,EAAO,KAAK,EAAS,eAAe,CAAE,KAAI,kBAAiB,CAAC,CAAC,EACtD,IAAK,EAAS,UAAW,IAAI,IAAI,CAAC,GAAG,EAAQ,UAAW,CAAE,CAAC,CAAE,GAGzD,GAAiB,CAC5B,EACA,EACA,EACA,EACA,IACU,CACV,IAAM,EAAU,EAAe,EAAO,EAAQ,EAAI,CAAgB,EAElE,OADA,EAAO,KAAK,EAAS,eAAe,CAAE,KAAI,MAAK,CAAC,CAAC,EAC1C,GAGI,GAAe,CAC1B,EACA,EACA,EACA,IACU,CACV,GAAI,CAAC,EAAM,UAAU,IAAI,CAAE,EAAG,OAAO,EACrC,IAAM,EAAU,EAAU,EAAO,CAAM,EACvC,EAAO,KAAK,EAAS,aAAa,CAAE,KAAI,kBAAiB,CAAC,CAAC,EAC3D,IAAM,EAAY,IAAI,IAAI,EAAQ,SAAS,EAE3C,OADA,EAAU,OAAO,CAAE,EACZ,IAAK,EAAS,WAAU,GAGpB,GAAU,CAAC,EAAc,EAAoB,EAAY,IAA+C,CACnH,GAAI,CAAC,EAAM,KAAK,IAAI,CAAE,EAAG,OAAO,EAChC,IAAM,EAAU,EAAU,EAAO,CAAM,EACvC,EAAO,KAAK,EAAS,QAAQ,CAAE,KAAI,kBAAiB,CAAC,CAAC,EACtD,IAAM,EAAO,IAAI,IAAI,EAAQ,IAAI,EAEjC,OADA,EAAK,OAAO,CAAE,EACP,IAAK,EAAS,MAAK,GAGtB,GAAkB,CAAC,EAAc,IAA8B,CACnE,QAAW,KAAM,EAAM,UAAW,EAAO,KAAK,EAAS,aAAa,CAAE,IAAG,CAAC,CAAC,EAC3E,QAAW,KAAM,EAAM,KAAM,EAAO,KAAK,EAAS,QAAQ,CAAE,IAAG,CAAC,CAAC,EACjE,MAAO,IAAK,EAAO,KAAM,IAAI,IAAO,UAAW,IAAI,GAAM,GAG9C,GAAS,CACpB,EACA,EACA,IAKU,CACV,IAAM,EAAU,GAAgB,EAAU,EAAO,CAAM,EAAG,CAAM,EAUhE,OATA,EAAO,KACL,EAAS,WAAW,CAClB,MAAO,EACP,OAAQ,EAAM,OACd,MAAO,EAAM,MACb,iBAAkB,EAAM,gBAC1B,CAAC,EACD,EAAS,OAAO,CAAK,CACvB,EACO,IAAK,EAAS,YAAa,EAAM,yDC7F1C,IAAM,GAAqB,CACzB,OACA,aACA,QACA,cACA,OACA,QACA,OACA,uBACA,oBACA,WACA,MACA,KACA,OACA,MACF,EAEM,EAAc,CAAC,IACnB,EAAS,CAAM,IAAM,MAAM,QAAQ,EAAO,KAAK,GAAK,MAAM,QAAQ,EAAO,KAAK,GAAK,MAAM,QAAQ,EAAO,KAAK,GAEzG,GAAkB,CAAC,IACvB,EAAS,CAAM,IAAM,EAAY,CAAM,GAAK,GAAmB,KAAK,CAAC,KAAQ,KAAO,EAAM,GAEtF,EAAe,CAAC,IAA6B,CACjD,GAAI,CAAC,EAAS,CAAM,EAAG,OAAO,MAAM,QAAQ,CAAM,EAAI,EAAO,IAAI,CAAY,EAAI,EAEjF,IAAM,EAAkC,OAAO,YAC7C,OAAO,QAAQ,CAAM,EAAE,IAAI,EAAE,EAAK,KAAW,CAC3C,EACA,IAAQ,QAAU,MAAM,QAAQ,CAAK,EAAI,EAAM,IAAI,MAAM,EAAI,EAAa,CAAK,CACjF,CAAC,CACH,EAEA,GAAI,MAAM,QAAQ,EAAO,IAAI,IAAM,EAAO,OAAS,WAAa,EAAO,OAAS,UAAW,EAAO,KAAO,SAEzG,IAAM,EAAa,EAAO,WAC1B,GAAI,EAAO,OAAS,UAAY,EAAS,CAAU,GAAK,MAAM,QAAQ,EAAO,QAAQ,EACnF,EAAO,SAAW,EAAO,SAAS,OAAO,CAAC,IAAU,OAAO,IAAU,WAAY,KAAS,EAAU,EAGtG,GAAI,EAAO,OAAS,SAAW,CAAC,EAAY,CAAM,GAEhD,GADA,EAAO,MAAQ,EAAO,OAAS,CAAC,EAC5B,EAAS,EAAO,KAAK,GAAK,CAAC,GAAgB,EAAO,KAAK,EAAG,EAAO,MAAQ,IAAK,EAAO,MAAO,KAAM,QAAS,EAGjH,GAAI,OAAO,EAAO,OAAS,UAAY,EAAO,OAAS,UAAY,CAAC,EAAY,CAAM,EACpF,OAAO,EAAO,WACd,OAAO,EAAO,SAGhB,OAAO,GAGH,GAAoB,CAAC,IACzB,EAAO,OAAS,WACf,CAAC,EAAS,EAAO,UAAU,GAAK,OAAO,KAAK,EAAO,UAAU,EAAE,SAAW,IAC3E,CAAC,EAAO,qBAEJ,EAAc,CAAC,IAAyD,CAC5E,GAAI,CAAC,EAAS,CAAM,EAAG,OACvB,GAAI,GAAkB,CAAM,EAAG,OAC/B,OAAO,OAAO,YACZ,CACE,CAAC,cAAe,EAAO,WAAW,EAClC,CAAC,WAAY,EAAO,QAAQ,EAC5B,CAAC,SAAU,EAAO,MAAM,EACxB,CAAC,OAAQ,MAAM,QAAQ,EAAO,IAAI,EAAI,EAAO,KAAK,OAAO,CAAC,IAAS,IAAS,MAAM,EAAE,GAAK,EAAO,IAAI,EACpG,CAAC,WAAY,MAAM,QAAQ,EAAO,IAAI,GAAK,EAAO,KAAK,SAAS,MAAM,EAAI,GAAO,MAAS,EAC1F,CAAC,OAAQ,EAAO,QAAU,OAAY,CAAC,EAAO,KAAK,EAAI,EAAO,IAAI,EAClE,CACE,aACA,EAAS,EAAO,UAAU,EACtB,OAAO,YAAY,OAAO,QAAQ,EAAO,UAAU,EAAE,IAAI,EAAE,EAAK,KAAW,CAAC,EAAK,EAAY,CAAK,CAAC,CAAC,CAAC,EACrG,MACN,EACA,CACE,QACA,MAAM,QAAQ,EAAO,KAAK,EACtB,EAAO,MAAM,IAAI,CAAW,EAC5B,EAAO,QAAU,OACf,OACA,EAAY,EAAO,KAAK,CAChC,EACA,CAAC,QAAS,MAAM,QAAQ,EAAO,KAAK,EAAI,EAAO,MAAM,IAAI,CAAW,EAAI,MAAS,EACjF,CAAC,QAAS,MAAM,QAAQ,EAAO,KAAK,EAAI,EAAO,MAAM,IAAI,CAAW,EAAI,MAAS,EACjF,CAAC,QAAS,MAAM,QAAQ,EAAO,KAAK,EAAI,EAAO,MAAM,IAAI,CAAW,EAAI,MAAS,EACjF,CAAC,YAAa,EAAO,SAAS,CAChC,EAAE,OAAO,CAAC,IAAU,EAAM,KAAO,MAAS,CAC5C,GAGW,GAAU,CAAC,IAAoB,EAAY,EAAa,CAAM,CAAC,EC5F5E,IAAM,EAAoB,CAAC,IAA4B,CACrD,GAAI,MAAM,QAAQ,CAAK,EAAG,OAAO,EAAM,IAAI,CAAiB,EAC5D,GAAI,CAAC,EAAS,CAAK,EAAG,OAAO,EAC7B,IAAM,EAAS,OAAO,YACpB,OAAO,QAAQ,CAAK,EACjB,OAAO,EAAE,KAAS,IAAQ,OAAO,EACjC,IAAI,EAAE,EAAK,KAAW,CAAC,EAAK,EAAkB,CAAK,CAAC,CAAC,CAC1D,EACA,GAAI,CAAC,MAAM,QAAQ,EAAM,KAAK,EAAG,OAAO,EACxC,IAAM,EAAW,EAAM,MAAM,OAAO,CAAC,IAAY,CAAC,EAAS,CAAO,GAAK,EAAQ,OAAS,MAAM,EAAE,IAAI,CAAiB,EACrH,GAAI,EAAS,SAAW,GAAK,EAAS,EAAS,EAAE,EAAG,MAAO,IAAK,KAAW,EAAS,EAAG,EACvF,MAAO,IAAK,EAAQ,MAAO,CAAS,GAGhC,EAAmB,CAAC,IAAkC,CAC1D,IAAM,EAAY,EAAM,IAAI,CAAY,EACxC,GAAI,EAAU,SAAW,EAAG,MAAO,CAAC,EACpC,GAAI,EAAU,SAAW,EAAG,OAAO,EAAU,GAC7C,MAAO,CAAE,MAAO,CAAU,GAGtB,EAAe,CAAC,IAA6B,CACjD,GAAI,MAAM,QAAQ,CAAM,EAAG,OAAO,EAAO,IAAI,CAAY,EACzD,GAAI,CAAC,EAAS,CAAM,EAAG,OAAO,EAC9B,GAAI,OAAO,EAAO,OAAS,SAAU,MAAO,CAAE,KAAM,EAAO,IAAK,EAChE,OAAO,OAAO,YACZ,OAAO,QAAQ,CAAM,EAAE,QAAQ,EAAE,EAAK,KAAW,CAC/C,GAAI,IAAQ,SAAW,MAAM,QAAQ,CAAK,EAAG,MAAO,CAAC,CAAC,EAAK,EAAiB,CAAK,CAAC,CAAC,EACnF,GAAI,IAAQ,cAAe,CACzB,GAAI,UAAW,EAAQ,MAAO,CAAC,EAC/B,MAAO,CAAC,CAAC,QAAS,EAAiB,MAAM,QAAQ,CAAK,EAAI,EAAQ,CAAC,CAAC,CAAC,CAAC,EAExE,GAAI,IAAQ,mBAAoB,MAAO,CAAC,EACxC,MAAO,CAAC,CAAC,EAAK,EAAa,CAAK,CAAC,CAAC,EACnC,CACH,GAGI,EAAW,CAAC,IAAmC,CACnD,IAAM,EAAY,EAAa,CAAM,EACrC,OAAO,EAAS,CAAS,EAAI,EAAY,CAAC,GAGtC,GAAS,CAAC,IAAmC,CACjD,IAAM,EAAW,MAAM,QAAQ,EAAO,KAAK,EAAI,EAAO,MAAM,OAAO,CAAQ,EAAI,CAAC,EAC1E,EACJ,EAAS,SAAW,EAChB,IAAK,EAAQ,KAAM,QAAS,EAC5B,IACK,OAAO,YAAY,OAAO,QAAQ,CAAM,EAAE,OAAO,EAAE,KAAS,IAAQ,OAAO,CAAC,EAC/E,KAAM,SACN,WAAY,EAAS,OACnB,CAAC,EAAY,KAAa,IAAM,EAAS,EAAQ,UAAU,EAAI,EAAQ,WAAa,CAAC,KAAO,CAAW,GACvG,CAAC,CACH,EACA,qBAAsB,EACxB,EACA,EAAa,EAAkB,CAAS,EAC9C,OAAO,EAAS,CAAU,EAAI,EAAa,CAAE,KAAM,QAAS,GAGxD,EAAS,CAAC,IAAmC,EAAiB,QAAQ,CAAM,GAAK,CAAC,EAElF,GAAqB,CACzB,EACA,IACe,CACf,GAAI,IAAkB,OAAW,OAAO,EACxC,OAAQ,OACD,SACH,OAAO,EAAO,CAAM,MACjB,WACH,OAAO,EAAS,CAAM,IAIf,EAAuB,CAClC,SACA,sBACA,WACA,SACF,4KC9CO,IAAM,EAAQ,KAAsC,CAAC,GAEtD,EAAW,CAAsB,EAAiB,EAAQ,IAAgC,CAC9F,MAAO,IAAK,GAAQ,GAAM,CAAK,GAG3B,EAAc,CAAsB,EAAiB,IAAqB,CAC9E,IAAM,EAAO,IAAK,CAAM,EAExB,OADA,OAAO,EAAK,GACL,GAGH,GAAa,CAAC,IAClB,EAAS,eAAe,CACtB,GAAI,EAAK,GACT,KAAM,EAAK,KACX,iBAAkB,EAAK,gBACzB,CAAC,EAEG,GAAa,CAAC,EAAmB,IACrC,EAAS,eAAe,CACtB,GAAI,EAAK,GACT,KAAM,EAAK,KACX,MACF,CAAC,EAEG,EAAW,CAAC,EAAe,EAAmB,IAClD,EAAe,EAAO,EAAK,KAAM,GAAiB,EAAK,KAAK,EAAE,KAC5D,EAAO,IACL,CAAC,IACC,EAAS,SAAS,CAChB,GAAI,EAAK,GACT,KAAM,EAAK,KACX,QACA,iBAAkB,EAAK,iBAAmB,GAAO,OACjD,iBAAkB,EAAK,gBACzB,CAAC,CACL,CACF,EAGI,EAAa,CACjB,EACA,EACA,EACA,IACqB,CACrB,IAAM,EAAqB,CAAC,EAC5B,GAAI,CAAC,EAAM,GAAM,EAAO,KAAK,GAAW,CAAI,CAAC,EAC7C,GAAI,EAAK,OAAS,EAAG,EAAO,KAAK,GAAW,EAAM,CAAI,CAAC,EACvD,MAAO,CACL,MAAO,EAAS,EAAO,EAAK,CAAI,EAChC,OACA,QACF,GAGW,GAAU,CAAsB,IAC3C,aAAkB,EAOP,GAAQ,CACnB,EACA,EACA,IACG,EAAS,EAAO,EAAK,IAAK,EAAM,MAAO,EAAK,OAAS,EAAG,CAAC,EAQjD,GAAgB,CAC3B,EACA,EACA,EACA,EACA,IACgC,CAChC,IAAM,EAAU,EAAM,GAChB,EAAK,EAAM,IAAM,GAAS,GAC1B,EAAO,EAAM,MAAQ,GAAS,KACpC,GAAI,CAAC,GAAM,CAAC,EAAM,OAAO,EAAW,EAAO,CAAkB,EAE7D,IAAM,EAAO,CACX,KACA,OACA,MAAO,GAAG,GAAS,OAAS,KAAK,EAAM,OACvC,iBAAkB,GAAS,iBAC3B,iBAAkB,GAAS,gBAC7B,EACA,GAAI,GAAW,EAAM,KAAK,SAAW,GAAK,EAAQ,KAAO,GAAM,EAAQ,OAAS,EAC9E,MAAO,CAAE,QAAO,KAAM,EAAS,OAAQ,CAAC,CAAE,EAC5C,OAAO,EAAW,EAAO,EAAK,EAAM,EAAM,IAAI,GAQnC,GAAiB,CAC5B,EACA,EACA,EACA,EACA,IACgC,CAChC,IAAM,EAAU,EAAM,GACtB,GAAI,CAAC,EAAS,OAAO,EAAW,EAAO,CAAkB,EACzD,GAAI,EAAK,SAAW,EAAG,MAAO,CAAE,QAAO,KAAM,EAAS,OAAQ,CAAC,CAAE,EACjE,OAAO,EAAW,EAAO,EAAK,IAAK,EAAS,MAAO,GAAG,EAAQ,QAAQ,GAAO,EAAG,CAAI,GAQzE,GAAS,CAAsB,EAAe,EAAiB,IAC1E,EAAO,IAAI,SAAU,EAAG,CACtB,IAAM,EAAO,EAAM,GACnB,GAAI,CAAC,EAAM,MAAO,CAAE,OAAM,EAC1B,MAAO,CACL,MAAO,EAAY,EAAO,CAAG,EAC7B,OAAQ,CACN,EAAS,aAAa,CAAE,GAAI,EAAK,GAAI,KAAM,EAAK,KAAM,iBAAkB,EAAK,gBAAiB,CAAC,EAC/F,MAAO,EAAS,EAAO,CAAI,CAC7B,CACF,EACD,EAOU,GAAkB,CAAsB,EAAe,EAAiB,EAAQ,IAC3F,EAAO,IAAI,SAAU,EAAG,CACtB,IAAM,EAAO,EAAM,GACnB,GAAI,CAAC,EAAM,MAAO,CAAE,OAAM,EAC1B,MAAO,CACL,MAAO,EAAY,EAAO,CAAG,EAC7B,OAAQ,CACN,EAAS,aAAa,CAAE,GAAI,EAAK,GAAI,KAAM,EAAK,KAAM,iBAAkB,EAAK,gBAAiB,CAAC,EAC/F,MAAO,EAAS,EAAO,EAAM,CAAK,CACpC,CACF,EACD,EAOU,GAAY,CAAsB,EAAe,IAC5D,EAAO,IAAI,SAAU,EAAG,CACtB,IAAM,EAAU,OAAO,OAAgC,CAAK,EAAE,OAC5D,CAAC,IAA8B,IAAS,MAC1C,EACA,MAAO,CACL,MAAO,EAAS,EAChB,OAAQ,MAAO,EAAO,QAAQ,EAAS,CAAC,IACtC,EAAS,EAAO,CAAI,EAAE,KACpB,EAAO,IAAI,CAAC,IAAS,CACnB,EAAS,aAAa,CAAE,GAAI,EAAK,GAAI,KAAM,EAAK,KAAM,iBAAkB,EAAK,gBAAiB,CAAC,EAC/F,CACF,CAAC,CACH,CACF,EAAE,KAAK,EAAO,IAAI,CAAC,IAAW,EAAO,KAAK,CAAC,CAAC,CAC9C,EACD,EC9LH,IAAM,EAAU,cACV,GAAc,IAAI,IAAY,EAAe,WAAW,EACjD,GAAmB,4BACnB,GAAO,oBAQd,GAAqB,EAAO,OAAO,CACvC,KAAM,EAAO,OACb,YAAa,EAAO,OACpB,WAAY,CACd,CAAC,EAEK,GAAiB,EAAO,OAAO,CACnC,KAAM,EAAO,IAAI,UAAU,EAC3B,SAAU,EACZ,CAAC,EAGK,GAA8B,EAAO,OAAO,CAChD,GAAI,EAAO,OACX,KAAM,EAAO,IAAI,UAAU,EAC3B,SAAU,EAAO,OAAO,CACtB,KAAM,EAAO,OACb,UAAW,EAAO,MACpB,CAAC,CACH,CAAC,EAGK,GAAwB,EAAO,MAAM,CACzC,EAAO,OAAO,CAAE,KAAM,EAAO,QAAQ,MAAM,EAAG,KAAM,EAAO,MAAO,CAAC,EACnE,EAAO,OAAO,CACZ,KAAM,EAAO,QAAQ,WAAW,EAChC,UAAW,EAAO,OAAO,CAAE,IAAK,EAAO,MAAO,CAAC,CACjD,CAAC,CACH,CAAC,EAEK,GAAoB,EAAO,MAAM,CACrC,EAAO,OAAO,CAAE,KAAM,EAAO,QAAQ,QAAQ,EAAG,QAAS,EAAO,MAAO,CAAC,EACxE,EAAO,OAAO,CACZ,KAAM,EAAO,QAAQ,MAAM,EAC3B,QAAS,EAAO,MAAM,CAAC,EAAO,OAAQ,EAAO,MAAM,EAAqB,CAAC,CAAC,CAC5E,CAAC,EACD,EAAO,OAAO,CACZ,KAAM,EAAO,QAAQ,WAAW,EAChC,QAAS,EAAO,OAAO,EAAO,MAAM,EACpC,WAAY,EAAc,EAA2B,EACrD,kBAAmB,EAAO,SAAS,EAAO,MAAM,CAClD,CAAC,EACD,EAAO,OAAO,CAAE,KAAM,EAAO,QAAQ,MAAM,EAAG,aAAc,EAAO,OAAQ,QAAS,EAAO,MAAO,CAAC,CACrG,CAAC,EAAE,KAAK,EAAO,cAAc,MAAM,CAAC,EAG9B,GAAuB,EAAO,MAAM,CACxC,EAAO,SAAS,CAAC,OAAQ,OAAQ,UAAU,CAAC,EAC5C,EAAO,OAAO,CACZ,KAAM,EAAO,IAAI,UAAU,EAC3B,SAAU,EAAO,OAAO,CAAE,KAAM,EAAO,MAAO,CAAC,CACjD,CAAC,CACH,CAAC,EAEY,GAAa,CACxB,MAAO,EAAO,OACd,SAAU,EAAO,MAAM,EAAiB,EACxC,MAAO,EAAc,EAAc,EACnC,YAAa,EAAO,SAAS,EAAoB,EACjD,OAAQ,EAAO,QAAQ,EAAI,EAC3B,eAAgB,EAAO,SAAS,EAAO,OAAO,CAAE,cAAe,EAAO,OAAQ,CAAC,CAAC,EAChF,MAAO,EAAO,SAAS,EAAO,OAAO,EACrC,iBAAkB,EAAO,SAAS,EAAc,qBAAqB,EACrE,WAAY,EAAO,SAAS,EAAO,MAAM,EACzC,YAAa,EAAO,SAAS,EAAO,MAAM,EAC1C,MAAO,EAAO,SAAS,EAAO,MAAM,EACpC,kBAAmB,EAAO,SAAS,EAAO,MAAM,EAChD,iBAAkB,EAAO,SAAS,EAAO,MAAM,EAC/C,KAAM,EAAO,SAAS,EAAO,MAAM,EACnC,KAAM,EAAc,EAAO,MAAM,CACnC,EACM,GAAiB,EAAO,OAAO,EAAU,EASzC,GAAkB,EAAO,OAAO,CACpC,cAAe,EAAO,SAAS,EAAO,MAAM,EAC5C,kBAAmB,EAAO,SAAS,EAAO,MAAM,EAChD,aAAc,EAAO,SAAS,EAAO,MAAM,EAC3C,sBAAuB,EACrB,EAAO,OAAO,CACZ,cAAe,EAAO,SAAS,EAAO,MAAM,CAC9C,CAAC,CACH,EACA,0BAA2B,EACzB,EAAO,OAAO,CACZ,iBAAkB,EAAO,SAAS,EAAO,MAAM,CACjD,CAAC,CACH,CACF,CAAC,EAEK,GAAkC,EAAO,OAAO,CACpD,KAAM,EAAa,EAAO,MAAM,EAChC,UAAW,EAAa,EAAO,MAAM,CACvC,CAAC,EAEK,GAA0B,EAAO,OAAO,CAC5C,MAAO,EAAO,OACd,GAAI,EAAa,EAAO,MAAM,EAC9B,SAAU,EAAa,EAA+B,CACxD,CAAC,EAGK,GAAkB,EAAO,OAAO,CACpC,QAAS,EAAa,EAAO,MAAM,EACnC,kBAAmB,EAAa,EAAO,MAAM,EAC7C,WAAY,EAAa,EAAO,MAAM,EAAuB,CAAC,CAChE,CAAC,EAEK,GAAmB,EAAO,OAAO,CACrC,MAAO,EAAa,EAAe,EACnC,cAAe,EAAa,EAAO,MAAM,CAC3C,CAAC,EAEY,GAAkB,EAAO,OAAO,CAC3C,QAAS,EAAO,MAAM,EAAgB,EACtC,MAAO,EAAa,EAAe,CACrC,CAAC,EAkBK,GAAY,CAAC,EAAsB,KAA6C,CACpF,KAAM,WACN,SAAU,CACR,KAAM,EAAK,KACX,YAAa,EAAK,YAClB,WAAY,EAAqB,OAAO,CAAW,CACrD,CACF,GAEM,GAAkB,CAAC,IACvB,EAAe,gBAAgB,cAAe,EAAY,CACxD,KAAM,IAAM,OACZ,KAAM,IAAM,OACZ,SAAU,IAAM,WAChB,KAAM,CAAC,KAAU,CAAE,KAAM,WAAqB,SAAU,CAAE,MAAK,CAAE,EACnE,CAAC,EAEG,GAAgB,CAAC,KAAqD,CAC1E,GAAI,EAAK,GACT,KAAM,WACN,SAAU,CACR,KAAM,EAAK,KACX,UAAW,EAAe,WAAW,EAAK,KAAK,CACjD,CACF,GAEM,GAAa,EAAO,GAAG,uBAAuB,EAAE,SAAU,CAAC,EAAiB,CAEhF,MAAO,CAAE,KAAM,YAAsB,UAAW,CAAE,KADpC,MAAO,EAAe,cAAc,cAAe,EAAM,EAAW,GACrB,OAAQ,CAAE,EACxE,EAEK,GAAmC,CAAC,IACxC,EAAS,CAAM,GAAK,OAAO,EAAO,oBAAsB,SAAW,EAAO,kBAAoB,OAE1F,GAAmB,EAAO,GAAG,6BAA6B,EAAE,SAAU,CAAC,EAAmC,CAC9G,IAAM,EAAmE,CAAC,EAC1E,QAAW,KAAQ,EAAQ,QAAS,CAClC,GAAI,EAAK,OAAS,OAAQ,CACxB,EAAQ,KAAK,CAAE,KAAM,OAAQ,KAAM,EAAK,IAAK,CAAC,EAC9C,SAEF,GAAI,EAAK,OAAS,QAAS,CACzB,EAAQ,KAAK,MAAO,GAAW,CAAI,CAAC,EACpC,SAEF,OAAO,MAAO,EAAe,mBAAmB,cAAe,OAAQ,CAAC,OAAQ,OAAO,CAAC,EAE1F,GAAI,EAAQ,MAAM,CAAC,IAAS,EAAK,OAAS,MAAM,EAC9C,MAAO,CAAE,KAAM,OAAiB,QAAS,EAAQ,IAAI,CAAC,IAAS,EAAK,IAAI,EAAE,KAAK,EAAE,CAAE,EACrF,MAAO,CAAE,KAAM,OAAiB,SAAQ,EACzC,EAEK,GAAwB,EAAO,GAAG,kCAAkC,EAAE,SAAU,CACpF,EACA,CACA,IAAM,EAAsB,CAAC,EACvB,EAA6B,CAAC,EAC9B,EAA2C,CAAC,EAClD,QAAW,KAAQ,EAAQ,QAAS,CAClC,GAAI,CAAC,EAAe,gBAAgB,EAAM,CAAC,OAAQ,YAAa,WAAW,CAAC,EAC1E,OAAO,MAAO,EAAe,mBAAmB,cAAe,YAAa,CAAC,OAAQ,YAAa,WAAW,CAAC,EAChH,GAAI,EAAK,OAAS,OAAQ,CACxB,EAAQ,KAAK,CAAI,EACjB,SAEF,GAAI,EAAK,OAAS,YAAa,CAC7B,EAAU,KAAK,CAAI,EACnB,SAEF,GAAI,EAAK,OAAS,YAAa,CAC7B,EAAU,KAAK,GAAc,CAAI,CAAC,EAClC,UAGJ,MAAO,CACL,KAAM,YACN,QAAS,EAAQ,SAAW,EAAI,KAAO,EAAe,SAAS,CAAO,EACtE,WAAY,EAAU,SAAW,EAAI,OAAY,EACjD,kBACE,EAAU,OAAS,EACf,EAAU,IAAI,CAAC,IAAS,EAAK,IAAI,EAAE,KAAK,EAAE,EAC1C,GAAiC,EAAQ,QAAQ,gBAAgB,CACzE,EACD,EAEK,GAAoB,EAAO,GAAG,8BAA8B,EAAE,SAAU,CAAC,EAAmC,CAChH,IAAM,EAAgC,CAAC,EACjC,EAAkE,CAAC,EACzE,QAAW,KAAQ,EAAQ,QAAS,CAClC,GAAI,CAAC,EAAe,gBAAgB,EAAM,CAAC,aAAa,CAAC,EACvD,OAAO,MAAO,EAAe,mBAAmB,cAAe,OAAQ,CAAC,aAAa,CAAC,EACxF,GAAI,EAAK,OAAO,OAAS,UAAW,CAClC,EAAS,KAAK,CAAE,KAAM,OAAQ,aAAc,EAAK,GAAI,QAAS,EAAe,eAAe,CAAI,CAAE,CAAC,EACnG,SAEF,IAAM,EAAsC,EAAK,OAAO,MAClD,EAAO,EAAQ,OAAO,CAAC,IAAS,EAAK,OAAS,MAAM,EAAE,IAAI,CAAC,IAAS,EAAK,IAAI,EACnF,EAAS,KAAK,CAAE,KAAM,OAAQ,aAAc,EAAK,GAAI,QAAS,EAAK,KAAK;AAAA,CAAI,CAAE,CAAC,EAC/E,IAAM,EAAQ,EAAQ,OAAO,CAAC,IAAS,EAAK,OAAS,MAAM,EAC3D,EAAO,KACL,GAAI,MAAO,EAAO,QAAQ,EAAO,CAAC,IAChC,GAAW,CAAE,KAAM,QAAS,UAAW,EAAK,KAAM,KAAM,EAAK,IAAK,SAAU,EAAK,IAAK,CAAC,CACzF,CACF,EAEF,MAAO,CAAE,WAAU,QAAO,EAC3B,EAEK,GAAe,EAAO,GAAG,yBAAyB,EAAE,SAAU,CAAC,EAAmC,CACtG,GAAI,EAAQ,OAAS,OAAQ,MAAO,CAAC,MAAO,GAAiB,CAAO,CAAC,EACrE,GAAI,EAAQ,OAAS,YAAa,MAAO,CAAC,MAAO,GAAsB,CAAO,CAAC,EAC/E,OAAQ,MAAO,GAAkB,CAAO,GAAG,SAC5C,EAEK,GAAgB,EAAO,GAAG,0BAA0B,EAAE,SAAU,CAAC,EAAqB,CAG1F,IAAM,EAAW,CAAC,GADhB,EAAQ,OAAO,SAAW,EAAI,CAAC,EAAI,CAAC,CAAE,KAAM,SAAU,QAAS,EAAe,SAAS,EAAQ,MAAM,CAAE,CAAC,CAC/E,EACrB,EAAyE,CAAC,EAC1E,EAAc,IAAM,CACxB,GAAI,EAAc,SAAW,EAAG,OAChC,EAAS,KAAK,CAAE,KAAM,OAAQ,QAAS,EAAc,OAAO,CAAC,CAAE,CAAC,GAElE,QAAW,KAAW,EAAQ,SAAU,CACtC,GAAI,EAAQ,OAAS,SAAU,CAC7B,IAAM,EAAO,MAAO,EAAe,oBAAoB,cAAe,CAAO,EAC7E,GAAI,EAAc,OAAS,EAAG,CAC5B,EAAS,KAAK,CAAE,KAAM,OAAQ,QAAS,CAAC,GAAG,EAAc,OAAO,CAAC,EAAG,CAAE,KAAM,OAAQ,KAAM,EAAK,IAAK,CAAC,CAAE,CAAC,EACxG,SAEF,IAAM,EAAW,EAAS,GAAG,EAAE,EAC/B,GAAI,GAAU,OAAS,QAAU,OAAO,EAAS,UAAY,SAC3D,EAAS,EAAS,OAAS,GAAK,CAAE,KAAM,OAAQ,QAAS,GAAG,EAAS;AAAA,EAAY,EAAK,MAAO,EAC1F,QAAI,GAAU,OAAS,QAAU,MAAM,QAAQ,EAAS,OAAO,EAClE,EAAS,EAAS,OAAS,GAAK,CAC9B,KAAM,OACN,QAAS,CAAC,GAAG,EAAS,QAAS,CAAE,KAAM,OAAQ,KAAM,EAAK,IAAK,CAAC,CAClE,EACG,OAAS,KAAK,CAAE,KAAM,OAAQ,QAAS,EAAK,IAAK,CAAC,EACvD,SAEF,GAAI,EAAQ,OAAS,OAAQ,CAC3B,IAAM,EAAU,MAAO,GAAkB,CAAO,EAChD,EAAS,KAAK,GAAG,EAAQ,QAAQ,EACjC,EAAc,KAAK,GAAG,EAAQ,MAAM,EACpC,SAEF,EAAY,EACZ,EAAS,KAAK,GAAI,MAAO,GAAa,CAAO,CAAE,EAGjD,OADA,EAAY,EACL,EACR,EAEK,GAAe,EAAO,GAAG,yBAAyB,EAAE,SAAU,CAAC,EAAqB,CACxF,IAAM,EAAQ,EAAc,MAAM,CAAO,EACnC,EAAkB,EAAc,gBAAgB,CAAO,EAC7D,MAAO,IACD,IAAU,OAAY,CAAE,OAAM,EAAI,CAAC,KACnC,EAAkB,CAAE,iBAAkB,CAAgB,EAAI,CAAC,CACjE,EACD,EAEK,GAAc,EAAO,GAAG,wBAAwB,EAAE,SAAU,CAAC,EAAqB,CAGtF,IAAM,EAAa,EAAQ,WACrB,EAA0B,EAAQ,MAAM,eAAe,WAC7D,MAAO,CACL,MAAO,EAAQ,MAAM,GACrB,SAAU,MAAO,GAAc,CAAO,EACtC,MACE,EAAQ,MAAM,SAAW,EACrB,OACA,EAAQ,MAAM,IAAI,CAAC,IACjB,GAAU,EAAM,EAAqB,mBAAmB,EAAK,YAAa,CAAuB,CAAC,CACpG,EACN,YAAa,EAAQ,WAAa,MAAO,GAAgB,EAAQ,UAAU,EAAI,OAC/E,OAAQ,GACR,eAAgB,CAAE,cAAe,EAAK,EACtC,WAAY,GAAY,UACxB,YAAa,GAAY,YACzB,MAAO,GAAY,KACnB,kBAAmB,GAAY,iBAC/B,iBAAkB,GAAY,gBAC9B,KAAM,GAAY,KAClB,KAAM,GAAY,QACd,MAAO,GAAa,CAAO,CACjC,EACD,EAQK,GAAkB,CAAC,IAAoD,CAC3E,GAAI,IAAW,OAAQ,MAAO,OAC9B,GAAI,IAAW,SAAU,MAAO,SAChC,GAAI,IAAW,iBAAkB,MAAO,iBACxC,GAAI,IAAW,iBAAmB,IAAW,aAAc,MAAO,aAClE,MAAO,WAQH,GAAW,CAAC,IAAuD,CACvE,GAAI,CAAC,EAAO,OACZ,IAAM,EAAS,EAAM,uBAAuB,cACtC,EAAY,EAAM,2BAA2B,iBAC7C,EAAY,EAAe,eAAe,EAAM,cAAe,CAAM,EAC3E,OAAO,IAAI,EAAM,CACf,YAAa,EAAM,cACnB,aAAc,EAAM,kBACpB,qBAAsB,EACtB,qBAAsB,EACtB,gBAAiB,EACjB,YAAa,EAAe,YAAY,EAAM,cAAe,EAAM,kBAAmB,EAAM,YAAY,EACxG,iBAAkB,CAAE,OAAQ,CAAM,CACpC,CAAC,GAGG,GAAO,CAAC,EAAoB,IAChC,EAAO,IAAI,SAAU,EAAG,CACtB,IAAM,EAAqB,CAAC,EACtB,EAAQ,GAAS,EAAM,KAAK,GAAK,EAAM,MACvC,EAAS,EAAM,QAAQ,GACvB,EAAe,GAAQ,cAAgB,GAAgB,EAAO,aAAa,EAAI,EAAM,aACrF,EAAQ,GAAQ,MAChB,EAAa,GAAO,YAAc,CAAC,EACrC,EAAQ,EAAM,MAEd,EAAY,EAAM,UAEtB,GAAI,GAAO,kBACT,EAAY,EAAU,eAAe,EAAW,EAAQ,cAAe,EAAM,iBAAiB,EAEhG,GAAI,GAAO,QACT,EAAY,EAAU,aAAa,EAAW,EAAQ,aAAa,EACnE,EAAY,EAAU,UAAU,EAAW,EAAQ,SAAU,EAAM,OAAO,EAG5E,GAAI,EAAW,OAAQ,EAAY,EAAU,aAAa,EAAW,EAAQ,aAAa,EAE1F,QAAW,KAAQ,EAAY,CAC7B,IAAM,EAAS,EAAW,cACxB,EACA,EACA,EAAK,MACL,CAAE,GAAI,EAAK,IAAM,OAAW,KAAM,EAAK,UAAU,MAAQ,OAAW,KAAM,EAAK,UAAU,WAAa,EAAG,EACzG,mDACF,EACA,GAAI,EAAW,QAAQ,CAAM,EAAG,OAAO,MAAO,EAE9C,GADA,EAAQ,EAAO,MACX,EAAO,OAAO,OAAQ,EAAY,EAAU,UAAU,EAAW,CAAM,EAC3E,EAAO,KAAK,GAAG,EAAO,MAAM,EAK9B,IAAM,EACJ,IAAiB,QAAa,EAAM,eAAiB,QAAa,OAAO,KAAK,CAAK,EAAE,OAAS,EAC1F,MAAO,EAAW,UAAU,EAAS,CAAK,EAC1C,OAEN,MAAO,CACL,CACE,MAAO,GAAU,OAAS,EAC1B,eAAgB,GAAU,QAAU,EAAM,eAC1C,QACA,eACA,WACF,EACA,CACF,EACD,EAEG,GAAe,CAAC,IAAgD,CACpE,IAAM,EAAqB,CAAC,EACtB,EAAe,EAAM,eAAe,OAAS,EAC7C,EAAS,EAAM,eAAiB,QAAU,EAAe,aAAe,EAAM,aAC9E,EAAY,EAAM,eAAe,OAAS,EAAU,UAAU,EAAM,UAAW,CAAM,EAAI,EAAM,UAErG,GADA,EAAO,KAAK,GAAG,EAAM,cAAc,EAC/B,EAAQ,EAAU,OAAO,EAAW,EAAQ,CAAE,SAAQ,MAAO,EAAM,KAAM,CAAC,EAC9E,OAAO,GAYI,GAAW,EAAS,KAAK,CACpC,GAAI,EACJ,KAAM,CACJ,OAAQ,GACR,KAAM,EACR,EACA,OAAQ,CACN,MAAO,EAAS,UAAU,EAAe,EACzC,QAAS,KAAO,CAAE,MAAO,EAAW,MAAc,EAAG,eAAgB,CAAC,EAAG,UAAW,EAAU,QAAQ,CAAE,GACxG,QACA,OAAQ,EACV,CACF,CAAC,EAEY,GAAgB,GAAc,QAAQ,KAAqB,EAE3D,GAAQ,GAAM,KAAK,CAC9B,GAAI,EACJ,SAAU,SACV,oBAAqB,SACrB,YACA,SAAU,GAAS,KAAK,GAAM,CAAE,QAAS,EAAiB,CAAC,EAC3D,KAAM,EAAK,KACX,UAAW,EACb,CAAC", | ||
| "debugId": "FC84340A554F86B164756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@opentelemetry+resources@2.6.1+460773ef8ff1e07c/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/machine-id/getMachineId-win.js"], | ||
| "sourcesContent": [ | ||
| "\"use strict\";\n/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getMachineId = void 0;\nconst process = require(\"process\");\nconst execAsync_1 = require(\"./execAsync\");\nconst api_1 = require(\"@opentelemetry/api\");\nasync function getMachineId() {\n const args = 'QUERY HKEY_LOCAL_MACHINE\\\\SOFTWARE\\\\Microsoft\\\\Cryptography /v MachineGuid';\n let command = '%windir%\\\\System32\\\\REG.exe';\n if (process.arch === 'ia32' && 'PROCESSOR_ARCHITEW6432' in process.env) {\n command = '%windir%\\\\sysnative\\\\cmd.exe /c ' + command;\n }\n try {\n const result = await (0, execAsync_1.execAsync)(`${command} ${args}`);\n const parts = result.stdout.split('REG_SZ');\n if (parts.length === 2) {\n return parts[1].trim();\n }\n }\n catch (e) {\n api_1.diag.debug(`error reading machine id: ${e}`);\n }\n return undefined;\n}\nexports.getMachineId = getMachineId;\n//# sourceMappingURL=getMachineId-win.js.map" | ||
| ], | ||
| "mappings": ";wKAKA,YAAO,oBAAe,EAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EACpD,eAAoB,OAC5B,IAAM,eACA,MACA,MACN,eAAe,CAAY,EAAG,CAE1B,IAAI,EAAU,8BACd,GAAI,EAAQ,OAAS,QAAU,2BAA4B,EAAQ,IAC/D,EAAU,mCAAqC,EAEnD,GAAI,CAEA,IAAM,GADS,MAAO,EAAG,EAAY,WAAW,GAAG,8EAAiB,GAC/C,OAAO,MAAM,QAAQ,EAC1C,GAAI,EAAM,SAAW,EACjB,OAAO,EAAM,GAAG,KAAK,EAG7B,MAAO,EAAG,CACN,EAAM,KAAK,MAAM,6BAA6B,GAAG,EAErD,OAEI,eAAe", | ||
| "debugId": "7C7A123EDFECDA8C64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@opentui+keymap@0.4.3+aeceedea454d57be/node_modules/@opentui/keymap/src/opentui.js", "../tui/src/util/session.ts", "../tui/src/logo.ts"], | ||
| "sourcesContent": [ | ||
| "// @bun\nimport\"../chunks/index-p35cyhc4.js\";\n\n// src/opentui.ts\nimport { CliRenderEvents, KeyEvent, RenderableEvents } from \"@opentui/core\";\nimport { Keymap } from \"@opentui/keymap\";\nimport { registerDefaultKeys, registerEnabledFields, registerMetadataFields } from \"@opentui/keymap/addons\";\nfunction createSyntheticCommandEvent() {\n return new KeyEvent({\n name: \"command\",\n ctrl: false,\n meta: false,\n shift: false,\n option: false,\n sequence: \"\",\n number: false,\n raw: \"\",\n eventType: \"press\",\n source: \"raw\"\n });\n}\nfunction normalizeRuntimePlatform(platform) {\n if (platform === \"darwin\") {\n return \"macos\";\n }\n if (platform === \"win32\") {\n return \"windows\";\n }\n if (platform === \"linux\") {\n return \"linux\";\n }\n return \"unknown\";\n}\nfunction createOpenTuiHostMetadata(renderer) {\n const platform = normalizeRuntimePlatform(process.platform);\n const hasKittyKeyboard = renderer.capabilities?.kitty_keyboard === true;\n return {\n platform,\n primaryModifier: platform === \"macos\" ? \"super\" : platform === \"unknown\" ? \"unknown\" : \"ctrl\",\n modifiers: {\n ctrl: \"supported\",\n shift: \"supported\",\n meta: \"supported\",\n super: hasKittyKeyboard ? \"supported\" : \"unknown\",\n hyper: hasKittyKeyboard ? \"supported\" : \"unknown\"\n }\n };\n}\nfunction createOpenTuiKeymapHost(renderer) {\n return {\n get metadata() {\n return createOpenTuiHostMetadata(renderer);\n },\n rootTarget: renderer.root,\n get isDestroyed() {\n return renderer.isDestroyed;\n },\n getFocusedTarget() {\n const focused = renderer.currentFocusedRenderable;\n if (!focused || focused.isDestroyed || !focused.focused) {\n return null;\n }\n return focused;\n },\n getParentTarget(target) {\n return target.parent;\n },\n isTargetDestroyed(target) {\n return target.isDestroyed;\n },\n onKeyPress(listener) {\n renderer.keyInput.prependListener(\"keypress\", listener);\n return () => {\n renderer.keyInput.off(\"keypress\", listener);\n };\n },\n onKeyRelease(listener) {\n renderer.keyInput.prependListener(\"keyrelease\", listener);\n return () => {\n renderer.keyInput.off(\"keyrelease\", listener);\n };\n },\n onFocusChange(listener) {\n renderer.on(CliRenderEvents.FOCUSED_RENDERABLE, listener);\n return () => {\n renderer.off(CliRenderEvents.FOCUSED_RENDERABLE, listener);\n };\n },\n onDestroy(listener) {\n renderer.once(CliRenderEvents.DESTROY, listener);\n return () => {\n renderer.off(CliRenderEvents.DESTROY, listener);\n };\n },\n onTargetDestroy(target, listener) {\n target.once(RenderableEvents.DESTROYED, listener);\n return () => {\n target.off(RenderableEvents.DESTROYED, listener);\n };\n },\n onRawInput(listener) {\n renderer.prependInputHandler(listener);\n return () => {\n renderer.removeInputHandler(listener);\n };\n },\n createCommandEvent() {\n return createSyntheticCommandEvent();\n }\n };\n}\nfunction createOpenTuiKeymap(renderer) {\n if (renderer.isDestroyed) {\n throw new Error(\"Cannot create a keymap for a destroyed renderer\");\n }\n return new Keymap(createOpenTuiKeymapHost(renderer));\n}\nfunction createDefaultOpenTuiKeymap(renderer) {\n if (renderer.isDestroyed) {\n throw new Error(\"Cannot create a keymap for a destroyed renderer\");\n }\n const keymap = new Keymap(createOpenTuiKeymapHost(renderer));\n registerDefaultKeys(keymap);\n registerEnabledFields(keymap);\n registerMetadataFields(keymap);\n return keymap;\n}\nexport {\n createOpenTuiKeymapHost,\n createOpenTuiKeymap,\n createDefaultOpenTuiKeymap\n};\n\n//# debugId=3536CBBE2B01723A64756E2164756E21\n//# sourceMappingURL=opentui.js.map\n", | ||
| "import type { SessionMessageAssistant, SessionMessageInfo } from \"@opencode-ai/sdk/v2\"\n\nexport function isDefaultTitle(title: string) {\n return /^(New session - |Child session - )\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$/.test(title)\n}\n\nexport function lastAssistantWithUsage(messages: ReadonlyArray<SessionMessageInfo>, boundary?: string) {\n const boundaryIndex = boundary ? messages.findIndex((message) => message.id === boundary) : -1\n if (boundary && boundaryIndex === -1) return undefined\n return messages.findLast(\n (message, index): message is SessionMessageAssistant & { tokens: NonNullable<SessionMessageAssistant[\"tokens\"]> } =>\n message.type === \"assistant\" && message.tokens !== undefined && (boundaryIndex === -1 || index < boundaryIndex),\n )\n}\n", | ||
| "export const logo = {\n left: [\" \", \"█▀▀█ █▀▀█ █▀▀█ █▀▀▄\", \"█__█ █__█ █^^^ █__█\", \"▀▀▀▀ █▀▀▀ ▀▀▀▀ ▀~~▀\"],\n right: [\" ▄ \", \"█▀▀▀ █▀▀█ █▀▀█ █▀▀█\", \"█___ █__█ █__█ █^^^\", \"▀▀▀▀ ▀▀▀▀ ▀▀▀▀ ▀▀▀▀\"],\n}\n\nexport const go = {\n left: [\" \", \"█▀▀▀\", \"█_^█\", \"▀▀▀▀\"],\n right: [\" \", \"█▀▀█\", \"█__█\", \"▀▀▀▀\"],\n}\n\nexport const marks = \"_^~,\"\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "B92DEE4B6775882764756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260504145000_add_sync_owner.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260504145000_add_sync_owner\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`ALTER TABLE \\`event_sequence\\` ADD \\`owner_id\\` text;`)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,gCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,mDAAuD,EACtE,EAEL", | ||
| "debugId": "DA56C7E1B4A0557364756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@ai-sdk+deepinfra@2.0.41+d6123d32214422cb/node_modules/@ai-sdk/deepinfra/dist/index.mjs"], | ||
| "sourcesContent": [ | ||
| "// src/deepinfra-provider.ts\nimport {\n OpenAICompatibleCompletionLanguageModel,\n OpenAICompatibleEmbeddingModel\n} from \"@ai-sdk/openai-compatible\";\nimport {\n loadApiKey,\n withoutTrailingSlash,\n withUserAgentSuffix\n} from \"@ai-sdk/provider-utils\";\n\n// src/deepinfra-image-model.ts\nimport {\n combineHeaders,\n convertBase64ToUint8Array,\n convertToFormData,\n createJsonErrorResponseHandler,\n createJsonResponseHandler,\n downloadBlob,\n postFormDataToApi,\n postJsonToApi\n} from \"@ai-sdk/provider-utils\";\nimport { z } from \"zod/v4\";\nvar DeepInfraImageModel = class {\n constructor(modelId, config) {\n this.modelId = modelId;\n this.config = config;\n this.specificationVersion = \"v3\";\n this.maxImagesPerCall = 1;\n }\n get provider() {\n return this.config.provider;\n }\n async doGenerate({\n prompt,\n n,\n size,\n aspectRatio,\n seed,\n providerOptions,\n headers,\n abortSignal,\n files,\n mask\n }) {\n var _a, _b, _c, _d, _e;\n const warnings = [];\n const currentDate = (_c = (_b = (_a = this.config._internal) == null ? void 0 : _a.currentDate) == null ? void 0 : _b.call(_a)) != null ? _c : /* @__PURE__ */ new Date();\n if (files != null && files.length > 0) {\n const { value: response2, responseHeaders: responseHeaders2 } = await postFormDataToApi({\n url: this.getEditUrl(),\n headers: combineHeaders(this.config.headers(), headers),\n formData: convertToFormData(\n {\n model: this.modelId,\n prompt,\n image: await Promise.all(files.map((file) => fileToBlob(file))),\n mask: mask != null ? await fileToBlob(mask) : void 0,\n n,\n size,\n ...(_d = providerOptions.deepinfra) != null ? _d : {}\n },\n { useArrayBrackets: false }\n ),\n failedResponseHandler: createJsonErrorResponseHandler({\n errorSchema: deepInfraEditErrorSchema,\n errorToMessage: (error) => {\n var _a2, _b2;\n return (_b2 = (_a2 = error.error) == null ? void 0 : _a2.message) != null ? _b2 : \"Unknown error\";\n }\n }),\n successfulResponseHandler: createJsonResponseHandler(\n deepInfraEditResponseSchema\n ),\n abortSignal,\n fetch: this.config.fetch\n });\n return {\n images: response2.data.map((item) => item.b64_json),\n warnings,\n response: {\n timestamp: currentDate,\n modelId: this.modelId,\n headers: responseHeaders2\n }\n };\n }\n const splitSize = size == null ? void 0 : size.split(\"x\");\n const { value: response, responseHeaders } = await postJsonToApi({\n url: `${this.config.baseURL}/${this.modelId}`,\n headers: combineHeaders(this.config.headers(), headers),\n body: {\n prompt,\n num_images: n,\n ...aspectRatio && { aspect_ratio: aspectRatio },\n ...splitSize && { width: splitSize[0], height: splitSize[1] },\n ...seed != null && { seed },\n ...(_e = providerOptions.deepinfra) != null ? _e : {}\n },\n failedResponseHandler: createJsonErrorResponseHandler({\n errorSchema: deepInfraErrorSchema,\n errorToMessage: (error) => error.detail.error\n }),\n successfulResponseHandler: createJsonResponseHandler(\n deepInfraImageResponseSchema\n ),\n abortSignal,\n fetch: this.config.fetch\n });\n return {\n images: response.images.map(\n (image) => image.replace(/^data:image\\/\\w+;base64,/, \"\")\n ),\n warnings,\n response: {\n timestamp: currentDate,\n modelId: this.modelId,\n headers: responseHeaders\n }\n };\n }\n getEditUrl() {\n const baseUrl = this.config.baseURL.replace(\"/inference\", \"/openai\");\n return `${baseUrl}/images/edits`;\n }\n};\nvar deepInfraErrorSchema = z.object({\n detail: z.object({\n error: z.string()\n })\n});\nvar deepInfraImageResponseSchema = z.object({\n images: z.array(z.string())\n});\nvar deepInfraEditErrorSchema = z.object({\n error: z.object({\n message: z.string()\n }).optional()\n});\nvar deepInfraEditResponseSchema = z.object({\n data: z.array(z.object({ b64_json: z.string() }))\n});\nasync function fileToBlob(file) {\n if (file.type === \"url\") {\n return downloadBlob(file.url);\n }\n const data = file.data instanceof Uint8Array ? file.data : convertBase64ToUint8Array(file.data);\n return new Blob([data], { type: file.mediaType });\n}\n\n// src/deepinfra-chat-language-model.ts\nimport { OpenAICompatibleChatLanguageModel } from \"@ai-sdk/openai-compatible\";\nvar DeepInfraChatLanguageModel = class extends OpenAICompatibleChatLanguageModel {\n constructor(modelId, config) {\n super(modelId, config);\n }\n /**\n * Fixes incorrect token usage for Gemini/Gemma models from DeepInfra.\n *\n * DeepInfra's API returns completion_tokens that don't include reasoning_tokens\n * for Gemini/Gemma models, which violates the OpenAI-compatible spec.\n * According to the spec, completion_tokens should include reasoning_tokens.\n *\n * Example of incorrect data from DeepInfra:\n * {\n * \"completion_tokens\": 84, // text-only tokens\n * \"completion_tokens_details\": {\n * \"reasoning_tokens\": 1081 // reasoning tokens not included above\n * }\n * }\n *\n * This would result in negative text tokens: 84 - 1081 = -997\n *\n * The fix: If reasoning_tokens > completion_tokens, add reasoning_tokens\n * to completion_tokens: 84 + 1081 = 1165\n */\n fixUsageForGeminiModels(usage) {\n var _a, _b;\n if (!usage || !((_a = usage.completion_tokens_details) == null ? void 0 : _a.reasoning_tokens)) {\n return usage;\n }\n const completionTokens = (_b = usage.completion_tokens) != null ? _b : 0;\n const reasoningTokens = usage.completion_tokens_details.reasoning_tokens;\n if (reasoningTokens > completionTokens) {\n const correctedCompletionTokens = completionTokens + reasoningTokens;\n return {\n ...usage,\n // Add reasoning_tokens to completion_tokens to get the correct total\n completion_tokens: correctedCompletionTokens,\n // Update total_tokens if present\n total_tokens: usage.total_tokens != null ? usage.total_tokens + reasoningTokens : void 0\n };\n }\n return usage;\n }\n async doGenerate(options) {\n var _a, _b, _c, _d, _e, _f, _g;\n const result = await super.doGenerate(options);\n if ((_a = result.usage) == null ? void 0 : _a.raw) {\n const fixedRawUsage = this.fixUsageForGeminiModels(result.usage.raw);\n if (fixedRawUsage !== result.usage.raw) {\n const promptTokens = (_b = fixedRawUsage.prompt_tokens) != null ? _b : 0;\n const completionTokens = (_c = fixedRawUsage.completion_tokens) != null ? _c : 0;\n const cacheReadTokens = (_e = (_d = fixedRawUsage.prompt_tokens_details) == null ? void 0 : _d.cached_tokens) != null ? _e : 0;\n const reasoningTokens = (_g = (_f = fixedRawUsage.completion_tokens_details) == null ? void 0 : _f.reasoning_tokens) != null ? _g : 0;\n return {\n ...result,\n usage: {\n inputTokens: {\n total: promptTokens,\n noCache: promptTokens - cacheReadTokens,\n cacheRead: cacheReadTokens,\n cacheWrite: void 0\n },\n outputTokens: {\n total: completionTokens,\n text: completionTokens - reasoningTokens,\n reasoning: reasoningTokens\n },\n raw: fixedRawUsage\n }\n };\n }\n }\n return result;\n }\n async doStream(options) {\n const result = await super.doStream(options);\n const originalStream = result.stream;\n const fixUsage = this.fixUsageForGeminiModels.bind(this);\n const transformedStream = new ReadableStream({\n async start(controller) {\n var _a, _b, _c, _d, _e, _f, _g;\n const reader = originalStream.getReader();\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done) break;\n if (value.type === \"finish\" && ((_a = value.usage) == null ? void 0 : _a.raw)) {\n const fixedRawUsage = fixUsage(value.usage.raw);\n if (fixedRawUsage !== value.usage.raw) {\n const promptTokens = (_b = fixedRawUsage.prompt_tokens) != null ? _b : 0;\n const completionTokens = (_c = fixedRawUsage.completion_tokens) != null ? _c : 0;\n const cacheReadTokens = (_e = (_d = fixedRawUsage.prompt_tokens_details) == null ? void 0 : _d.cached_tokens) != null ? _e : 0;\n const reasoningTokens = (_g = (_f = fixedRawUsage.completion_tokens_details) == null ? void 0 : _f.reasoning_tokens) != null ? _g : 0;\n controller.enqueue({\n ...value,\n usage: {\n inputTokens: {\n total: promptTokens,\n noCache: promptTokens - cacheReadTokens,\n cacheRead: cacheReadTokens,\n cacheWrite: void 0\n },\n outputTokens: {\n total: completionTokens,\n text: completionTokens - reasoningTokens,\n reasoning: reasoningTokens\n },\n raw: fixedRawUsage\n }\n });\n } else {\n controller.enqueue(value);\n }\n } else {\n controller.enqueue(value);\n }\n }\n controller.close();\n } catch (error) {\n controller.error(error);\n }\n }\n });\n return {\n ...result,\n stream: transformedStream\n };\n }\n};\n\n// src/version.ts\nvar VERSION = true ? \"2.0.41\" : \"0.0.0-test\";\n\n// src/deepinfra-provider.ts\nfunction createDeepInfra(options = {}) {\n var _a;\n const baseURL = withoutTrailingSlash(\n (_a = options.baseURL) != null ? _a : \"https://api.deepinfra.com/v1\"\n );\n const getHeaders = () => withUserAgentSuffix(\n {\n Authorization: `Bearer ${loadApiKey({\n apiKey: options.apiKey,\n environmentVariableName: \"DEEPINFRA_API_KEY\",\n description: \"DeepInfra's API key\"\n })}`,\n ...options.headers\n },\n `ai-sdk/deepinfra/${VERSION}`\n );\n const getCommonModelConfig = (modelType) => ({\n provider: `deepinfra.${modelType}`,\n url: ({ path }) => `${baseURL}/openai${path}`,\n headers: getHeaders,\n fetch: options.fetch\n });\n const createChatModel = (modelId) => {\n return new DeepInfraChatLanguageModel(\n modelId,\n getCommonModelConfig(\"chat\")\n );\n };\n const createCompletionModel = (modelId) => new OpenAICompatibleCompletionLanguageModel(\n modelId,\n getCommonModelConfig(\"completion\")\n );\n const createEmbeddingModel = (modelId) => new OpenAICompatibleEmbeddingModel(\n modelId,\n getCommonModelConfig(\"embedding\")\n );\n const createImageModel = (modelId) => new DeepInfraImageModel(modelId, {\n ...getCommonModelConfig(\"image\"),\n baseURL: baseURL ? `${baseURL}/inference` : \"https://api.deepinfra.com/v1/inference\"\n });\n const provider = (modelId) => createChatModel(modelId);\n provider.specificationVersion = \"v3\";\n provider.completionModel = createCompletionModel;\n provider.chatModel = createChatModel;\n provider.image = createImageModel;\n provider.imageModel = createImageModel;\n provider.languageModel = createChatModel;\n provider.embeddingModel = createEmbeddingModel;\n provider.textEmbeddingModel = createEmbeddingModel;\n return provider;\n}\nvar deepinfra = createDeepInfra();\nexport {\n VERSION,\n createDeepInfra,\n deepinfra\n};\n//# sourceMappingURL=index.mjs.map" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "6670441F7520AF2B64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260603141458_session_input_inbox.ts"], | ||
| "sourcesContent": [ | ||
| "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" | ||
| ], | ||
| "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", | ||
| "debugId": "8A652B65AFF98E2C64756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@ai-sdk+cohere@3.0.27+d6123d32214422cb/node_modules/@ai-sdk/cohere/dist/index.mjs"], | ||
| "sourcesContent": [ | ||
| "// src/cohere-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/cohere-chat-language-model.ts\nimport {\n combineHeaders,\n createEventSourceResponseHandler,\n createJsonResponseHandler,\n parseProviderOptions,\n postJsonToApi\n} from \"@ai-sdk/provider-utils\";\nimport { z as z3 } from \"zod/v4\";\n\n// src/cohere-chat-options.ts\nimport { z } from \"zod/v4\";\nvar cohereLanguageModelOptions = z.object({\n /**\n * Configuration for reasoning features (optional)\n *\n * Can be set to an object with the two properties `type` and `tokenBudget`. `type` can be set to `'enabled'` or `'disabled'` (defaults to `'enabled'`).\n * `tokenBudget` is the maximum number of tokens the model can use for thinking, which must be set to a positive integer. The model will stop thinking if it reaches the thinking token budget and will proceed with the response\n *\n * @see https://docs.cohere.com/reference/chat#request.body.thinking\n */\n thinking: z.object({\n type: z.enum([\"enabled\", \"disabled\"]).optional(),\n tokenBudget: z.number().optional()\n }).optional()\n});\n\n// src/cohere-error.ts\nimport { createJsonErrorResponseHandler } from \"@ai-sdk/provider-utils\";\nimport { z as z2 } from \"zod/v4\";\nvar cohereErrorDataSchema = z2.object({\n message: z2.string()\n});\nvar cohereFailedResponseHandler = createJsonErrorResponseHandler({\n errorSchema: cohereErrorDataSchema,\n errorToMessage: (data) => data.message\n});\n\n// src/cohere-prepare-tools.ts\nimport {\n UnsupportedFunctionalityError\n} from \"@ai-sdk/provider\";\nfunction prepareTools({\n tools,\n toolChoice\n}) {\n tools = (tools == null ? void 0 : tools.length) ? tools : void 0;\n const toolWarnings = [];\n if (tools == null) {\n return { tools: void 0, toolChoice: void 0, toolWarnings };\n }\n const cohereTools = [];\n for (const tool of tools) {\n if (tool.type === \"provider\") {\n toolWarnings.push({\n type: \"unsupported\",\n feature: `provider-defined tool ${tool.id}`\n });\n } else {\n cohereTools.push({\n type: \"function\",\n function: {\n name: tool.name,\n description: tool.description,\n parameters: tool.inputSchema\n }\n });\n }\n }\n if (toolChoice == null) {\n return { tools: cohereTools, toolChoice: void 0, toolWarnings };\n }\n const type = toolChoice.type;\n switch (type) {\n case \"auto\":\n return { tools: cohereTools, toolChoice: void 0, toolWarnings };\n case \"none\":\n return { tools: cohereTools, toolChoice: \"NONE\", toolWarnings };\n case \"required\":\n return { tools: cohereTools, toolChoice: \"REQUIRED\", toolWarnings };\n case \"tool\":\n return {\n tools: cohereTools.filter(\n (tool) => tool.function.name === toolChoice.toolName\n ),\n toolChoice: \"REQUIRED\",\n toolWarnings\n };\n default: {\n const _exhaustiveCheck = type;\n throw new UnsupportedFunctionalityError({\n functionality: `tool choice type: ${_exhaustiveCheck}`\n });\n }\n }\n}\n\n// src/convert-cohere-usage.ts\nfunction convertCohereUsage(tokens) {\n if (tokens == 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 inputTokens = tokens.input_tokens;\n const outputTokens = tokens.output_tokens;\n return {\n inputTokens: {\n total: inputTokens,\n noCache: inputTokens,\n cacheRead: void 0,\n cacheWrite: void 0\n },\n outputTokens: {\n total: outputTokens,\n text: outputTokens,\n reasoning: void 0\n },\n raw: tokens\n };\n}\n\n// src/convert-to-cohere-chat-prompt.ts\nimport {\n UnsupportedFunctionalityError as UnsupportedFunctionalityError2\n} from \"@ai-sdk/provider\";\nfunction convertToCohereChatPrompt(prompt) {\n const messages = [];\n const documents = [];\n const warnings = [];\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 messages.push({\n role: \"user\",\n content: content.map((part) => {\n var _a;\n switch (part.type) {\n case \"text\": {\n return part.text;\n }\n case \"file\": {\n let textContent;\n if (typeof part.data === \"string\") {\n textContent = part.data;\n } else if (part.data instanceof Uint8Array) {\n if (!(((_a = part.mediaType) == null ? void 0 : _a.startsWith(\"text/\")) || part.mediaType === \"application/json\")) {\n throw new UnsupportedFunctionalityError2({\n functionality: `document media type: ${part.mediaType}`,\n message: `Media type '${part.mediaType}' is not supported. Supported media types are: text/* and application/json.`\n });\n }\n textContent = new TextDecoder().decode(part.data);\n } else {\n throw new UnsupportedFunctionalityError2({\n functionality: \"File URL data\",\n message: \"URLs should be downloaded by the AI SDK and not reach this point. This indicates a configuration issue.\"\n });\n }\n documents.push({\n data: {\n text: textContent,\n title: part.filename\n }\n });\n return \"\";\n }\n }\n }).join(\"\")\n });\n break;\n }\n case \"assistant\": {\n let text = \"\";\n const toolCalls = [];\n for (const part of content) {\n switch (part.type) {\n case \"text\": {\n text += part.text;\n break;\n }\n case \"tool-call\": {\n toolCalls.push({\n id: part.toolCallId,\n type: \"function\",\n function: {\n name: part.toolName,\n arguments: JSON.stringify(part.input)\n }\n });\n break;\n }\n }\n }\n messages.push({\n role: \"assistant\",\n content: toolCalls.length > 0 ? void 0 : text,\n tool_calls: toolCalls.length > 0 ? toolCalls : void 0,\n tool_plan: void 0\n });\n break;\n }\n case \"tool\": {\n messages.push(\n ...content.filter((toolResult) => toolResult.type !== \"tool-approval-response\").map((toolResult) => {\n var _a;\n const output = toolResult.output;\n let contentValue;\n switch (output.type) {\n case \"text\":\n case \"error-text\":\n contentValue = output.value;\n break;\n case \"execution-denied\":\n contentValue = (_a = output.reason) != null ? _a : \"Tool execution denied.\";\n break;\n case \"content\":\n case \"json\":\n case \"error-json\":\n contentValue = JSON.stringify(output.value);\n break;\n }\n return {\n role: \"tool\",\n content: contentValue,\n tool_call_id: toolResult.toolCallId\n };\n })\n );\n break;\n }\n default: {\n const _exhaustiveCheck = role;\n throw new Error(`Unsupported role: ${_exhaustiveCheck}`);\n }\n }\n }\n return { messages, documents, warnings };\n}\n\n// src/map-cohere-finish-reason.ts\nfunction mapCohereFinishReason(finishReason) {\n switch (finishReason) {\n case \"COMPLETE\":\n case \"STOP_SEQUENCE\":\n return \"stop\";\n case \"MAX_TOKENS\":\n return \"length\";\n case \"ERROR\":\n return \"error\";\n case \"TOOL_CALL\":\n return \"tool-calls\";\n default:\n return \"other\";\n }\n}\n\n// src/cohere-chat-language-model.ts\nvar CohereChatLanguageModel = class {\n constructor(modelId, config) {\n this.specificationVersion = \"v3\";\n this.supportedUrls = {\n // No URLs are supported.\n };\n this.modelId = modelId;\n this.config = config;\n }\n get provider() {\n return this.config.provider;\n }\n async getArgs({\n prompt,\n maxOutputTokens,\n temperature,\n topP,\n topK,\n frequencyPenalty,\n presencePenalty,\n stopSequences,\n responseFormat,\n seed,\n tools,\n toolChoice,\n providerOptions\n }) {\n var _a, _b;\n const cohereOptions = (_a = await parseProviderOptions({\n provider: \"cohere\",\n providerOptions,\n schema: cohereLanguageModelOptions\n })) != null ? _a : {};\n const {\n messages: chatPrompt,\n documents: cohereDocuments,\n warnings: promptWarnings\n } = convertToCohereChatPrompt(prompt);\n const {\n tools: cohereTools,\n toolChoice: cohereToolChoice,\n toolWarnings\n } = prepareTools({ tools, toolChoice });\n return {\n args: {\n // model id:\n model: this.modelId,\n // standardized settings:\n frequency_penalty: frequencyPenalty,\n presence_penalty: presencePenalty,\n max_tokens: maxOutputTokens,\n temperature,\n p: topP,\n k: topK,\n seed,\n stop_sequences: stopSequences,\n // response format:\n response_format: (responseFormat == null ? void 0 : responseFormat.type) === \"json\" ? { type: \"json_object\", json_schema: responseFormat.schema } : void 0,\n // messages:\n messages: chatPrompt,\n // tools:\n tools: cohereTools,\n tool_choice: cohereToolChoice,\n // documents for RAG:\n ...cohereDocuments.length > 0 && { documents: cohereDocuments },\n // reasoning\n ...cohereOptions.thinking && {\n thinking: {\n type: (_b = cohereOptions.thinking.type) != null ? _b : \"enabled\",\n token_budget: cohereOptions.thinking.tokenBudget\n }\n }\n },\n warnings: [...toolWarnings, ...promptWarnings]\n };\n }\n async doGenerate(options) {\n var _a, _b, _c, _d, _e, _f, _g;\n const { args, warnings } = await this.getArgs(options);\n const {\n responseHeaders,\n value: response,\n rawValue: rawResponse\n } = await postJsonToApi({\n url: `${this.config.baseURL}/chat`,\n headers: combineHeaders(this.config.headers(), options.headers),\n body: args,\n failedResponseHandler: cohereFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler(\n cohereChatResponseSchema\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch\n });\n const content = [];\n for (const item of (_a = response.message.content) != null ? _a : []) {\n if (item.type === \"text\" && item.text.length > 0) {\n content.push({ type: \"text\", text: item.text });\n continue;\n }\n if (item.type === \"thinking\" && item.thinking.length > 0) {\n content.push({ type: \"reasoning\", text: item.thinking });\n continue;\n }\n }\n for (const citation of (_b = response.message.citations) != null ? _b : []) {\n content.push({\n type: \"source\",\n sourceType: \"document\",\n id: this.config.generateId(),\n mediaType: \"text/plain\",\n title: ((_d = (_c = citation.sources[0]) == null ? void 0 : _c.document) == null ? void 0 : _d.title) || \"Document\",\n providerMetadata: {\n cohere: {\n start: citation.start,\n end: citation.end,\n text: citation.text,\n sources: citation.sources,\n ...citation.type && { citationType: citation.type }\n }\n }\n });\n }\n for (const toolCall of (_e = response.message.tool_calls) != null ? _e : []) {\n content.push({\n type: \"tool-call\",\n toolCallId: toolCall.id,\n toolName: toolCall.function.name,\n // Cohere sometimes returns `null` for tool call arguments for tools\n // defined as having no arguments.\n input: toolCall.function.arguments.replace(/^null$/, \"{}\")\n });\n }\n return {\n content,\n finishReason: {\n unified: mapCohereFinishReason(response.finish_reason),\n raw: (_f = response.finish_reason) != null ? _f : void 0\n },\n usage: convertCohereUsage(response.usage.tokens),\n request: { body: args },\n response: {\n // TODO timestamp, model id\n id: (_g = response.generation_id) != null ? _g : void 0,\n headers: responseHeaders,\n body: rawResponse\n },\n warnings\n };\n }\n async doStream(options) {\n const { args, warnings } = await this.getArgs(options);\n const { responseHeaders, value: response } = await postJsonToApi({\n url: `${this.config.baseURL}/chat`,\n headers: combineHeaders(this.config.headers(), options.headers),\n body: { ...args, stream: true },\n failedResponseHandler: cohereFailedResponseHandler,\n successfulResponseHandler: createEventSourceResponseHandler(\n cohereChatChunkSchema\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 let pendingToolCall = null;\n let isActiveReasoning = false;\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;\n if (options.includeRawChunks) {\n controller.enqueue({ type: \"raw\", rawValue: chunk.rawValue });\n }\n if (!chunk.success) {\n finishReason = { unified: \"error\", raw: void 0 };\n controller.enqueue({ type: \"error\", error: chunk.error });\n return;\n }\n const value = chunk.value;\n const type = value.type;\n switch (type) {\n case \"content-start\": {\n if (value.delta.message.content.type === \"thinking\") {\n controller.enqueue({\n type: \"reasoning-start\",\n id: String(value.index)\n });\n isActiveReasoning = true;\n return;\n }\n controller.enqueue({\n type: \"text-start\",\n id: String(value.index)\n });\n return;\n }\n case \"content-delta\": {\n if (\"thinking\" in value.delta.message.content) {\n controller.enqueue({\n type: \"reasoning-delta\",\n id: String(value.index),\n delta: value.delta.message.content.thinking\n });\n return;\n }\n controller.enqueue({\n type: \"text-delta\",\n id: String(value.index),\n delta: value.delta.message.content.text\n });\n return;\n }\n case \"content-end\": {\n if (isActiveReasoning) {\n controller.enqueue({\n type: \"reasoning-end\",\n id: String(value.index)\n });\n isActiveReasoning = false;\n return;\n }\n controller.enqueue({\n type: \"text-end\",\n id: String(value.index)\n });\n return;\n }\n case \"tool-call-start\": {\n const toolId = value.delta.message.tool_calls.id;\n const toolName = value.delta.message.tool_calls.function.name;\n const initialArgs = value.delta.message.tool_calls.function.arguments;\n pendingToolCall = {\n id: toolId,\n name: toolName,\n arguments: initialArgs,\n hasFinished: false\n };\n controller.enqueue({\n type: \"tool-input-start\",\n id: toolId,\n toolName\n });\n if (initialArgs.length > 0) {\n controller.enqueue({\n type: \"tool-input-delta\",\n id: toolId,\n delta: initialArgs\n });\n }\n return;\n }\n case \"tool-call-delta\": {\n if (pendingToolCall && !pendingToolCall.hasFinished) {\n const argsDelta = value.delta.message.tool_calls.function.arguments;\n pendingToolCall.arguments += argsDelta;\n controller.enqueue({\n type: \"tool-input-delta\",\n id: pendingToolCall.id,\n delta: argsDelta\n });\n }\n return;\n }\n case \"tool-call-end\": {\n if (pendingToolCall && !pendingToolCall.hasFinished) {\n controller.enqueue({\n type: \"tool-input-end\",\n id: pendingToolCall.id\n });\n controller.enqueue({\n type: \"tool-call\",\n toolCallId: pendingToolCall.id,\n toolName: pendingToolCall.name,\n input: JSON.stringify(\n JSON.parse(((_a = pendingToolCall.arguments) == null ? void 0 : _a.trim()) || \"{}\")\n )\n });\n pendingToolCall.hasFinished = true;\n pendingToolCall = null;\n }\n return;\n }\n case \"message-start\": {\n controller.enqueue({\n type: \"response-metadata\",\n id: (_b = value.id) != null ? _b : void 0\n });\n return;\n }\n case \"message-end\": {\n finishReason = {\n unified: mapCohereFinishReason(value.delta.finish_reason),\n raw: value.delta.finish_reason\n };\n usage = value.delta.usage.tokens;\n return;\n }\n default: {\n return;\n }\n }\n },\n flush(controller) {\n controller.enqueue({\n type: \"finish\",\n finishReason,\n usage: convertCohereUsage(usage)\n });\n }\n })\n ),\n request: { body: { ...args, stream: true } },\n response: { headers: responseHeaders }\n };\n }\n};\nvar cohereChatResponseSchema = z3.object({\n generation_id: z3.string().nullish(),\n message: z3.object({\n role: z3.string(),\n content: z3.array(\n z3.union([\n z3.object({\n type: z3.literal(\"text\"),\n text: z3.string()\n }),\n z3.object({\n type: z3.literal(\"thinking\"),\n thinking: z3.string()\n })\n ])\n ).nullish(),\n tool_plan: z3.string().nullish(),\n tool_calls: z3.array(\n z3.object({\n id: z3.string(),\n type: z3.literal(\"function\"),\n function: z3.object({\n name: z3.string(),\n arguments: z3.string()\n })\n })\n ).nullish(),\n citations: z3.array(\n z3.object({\n start: z3.number(),\n end: z3.number(),\n text: z3.string(),\n sources: z3.array(\n z3.object({\n type: z3.string().optional(),\n id: z3.string().optional(),\n document: z3.object({\n id: z3.string().optional(),\n text: z3.string(),\n title: z3.string()\n })\n })\n ),\n type: z3.string().optional()\n })\n ).nullish()\n }),\n finish_reason: z3.string(),\n usage: z3.object({\n billed_units: z3.object({\n input_tokens: z3.number(),\n output_tokens: z3.number()\n }),\n tokens: z3.object({\n input_tokens: z3.number(),\n output_tokens: z3.number()\n })\n })\n});\nvar cohereChatChunkSchema = z3.discriminatedUnion(\"type\", [\n z3.object({\n type: z3.literal(\"citation-start\")\n }),\n z3.object({\n type: z3.literal(\"citation-end\")\n }),\n z3.object({\n type: z3.literal(\"content-start\"),\n index: z3.number(),\n delta: z3.object({\n message: z3.object({\n content: z3.union([\n z3.object({\n type: z3.literal(\"text\"),\n text: z3.string()\n }),\n z3.object({\n type: z3.literal(\"thinking\"),\n thinking: z3.string()\n })\n ])\n })\n })\n }),\n z3.object({\n type: z3.literal(\"content-delta\"),\n index: z3.number(),\n delta: z3.object({\n message: z3.object({\n content: z3.union([\n z3.object({\n text: z3.string()\n }),\n z3.object({\n thinking: z3.string()\n })\n ])\n })\n })\n }),\n z3.object({\n type: z3.literal(\"content-end\"),\n index: z3.number()\n }),\n z3.object({\n type: z3.literal(\"message-start\"),\n id: z3.string().nullish()\n }),\n z3.object({\n type: z3.literal(\"message-end\"),\n delta: z3.object({\n finish_reason: z3.string(),\n usage: z3.object({\n tokens: z3.object({\n input_tokens: z3.number(),\n output_tokens: z3.number()\n })\n })\n })\n }),\n // https://docs.cohere.com/v2/docs/streaming#tool-use-stream-events-for-tool-calling\n z3.object({\n type: z3.literal(\"tool-plan-delta\"),\n delta: z3.object({\n message: z3.object({\n tool_plan: z3.string()\n })\n })\n }),\n z3.object({\n type: z3.literal(\"tool-call-start\"),\n delta: z3.object({\n message: z3.object({\n tool_calls: z3.object({\n id: z3.string(),\n type: z3.literal(\"function\"),\n function: z3.object({\n name: z3.string(),\n arguments: z3.string()\n })\n })\n })\n })\n }),\n // A single tool call's `arguments` stream in chunks and must be accumulated\n // in a string and so the full tool object info can only be parsed once we see\n // `tool-call-end`.\n z3.object({\n type: z3.literal(\"tool-call-delta\"),\n delta: z3.object({\n message: z3.object({\n tool_calls: z3.object({\n function: z3.object({\n arguments: z3.string()\n })\n })\n })\n })\n }),\n z3.object({\n type: z3.literal(\"tool-call-end\")\n })\n]);\n\n// src/cohere-embedding-model.ts\nimport {\n TooManyEmbeddingValuesForCallError\n} from \"@ai-sdk/provider\";\nimport {\n combineHeaders as combineHeaders2,\n createJsonResponseHandler as createJsonResponseHandler2,\n parseProviderOptions as parseProviderOptions2,\n postJsonToApi as postJsonToApi2\n} from \"@ai-sdk/provider-utils\";\nimport { z as z5 } from \"zod/v4\";\n\n// src/cohere-embedding-options.ts\nimport { z as z4 } from \"zod/v4\";\nvar cohereEmbeddingModelOptions = z4.object({\n /**\n * Specifies the type of input passed to the model. Default is `search_query`.\n *\n * - \"search_document\": Used for embeddings stored in a vector database for search use-cases.\n * - \"search_query\": Used for embeddings of search queries run against a vector DB to find relevant documents.\n * - \"classification\": Used for embeddings passed through a text classifier.\n * - \"clustering\": Used for embeddings run through a clustering algorithm.\n */\n inputType: z4.enum([\"search_document\", \"search_query\", \"classification\", \"clustering\"]).optional(),\n /**\n * Specifies how the API will handle inputs longer than the maximum token length.\n * Default is `END`.\n *\n * - \"NONE\": If selected, when the input exceeds the maximum input token length will return an error.\n * - \"START\": Will discard the start of the input until the remaining input is exactly the maximum input token length for the model.\n * - \"END\": Will discard the end of the input until the remaining input is exactly the maximum input token length for the model.\n */\n truncate: z4.enum([\"NONE\", \"START\", \"END\"]).optional(),\n /**\n * The number of dimensions of the output embedding.\n * Only available for `embed-v4.0` and newer models.\n *\n * Possible values are `256`, `512`, `1024`, and `1536`.\n * The default is `1536`.\n */\n outputDimension: z4.union([z4.literal(256), z4.literal(512), z4.literal(1024), z4.literal(1536)]).optional()\n});\n\n// src/cohere-embedding-model.ts\nvar CohereEmbeddingModel = class {\n constructor(modelId, config) {\n this.specificationVersion = \"v3\";\n this.maxEmbeddingsPerCall = 96;\n this.supportsParallelCalls = true;\n this.modelId = modelId;\n this.config = config;\n }\n get provider() {\n return this.config.provider;\n }\n async doEmbed({\n values,\n headers,\n abortSignal,\n providerOptions\n }) {\n var _a;\n const embeddingOptions = await parseProviderOptions2({\n provider: \"cohere\",\n providerOptions,\n schema: cohereEmbeddingModelOptions\n });\n if (values.length > this.maxEmbeddingsPerCall) {\n throw new TooManyEmbeddingValuesForCallError({\n provider: this.provider,\n modelId: this.modelId,\n maxEmbeddingsPerCall: this.maxEmbeddingsPerCall,\n values\n });\n }\n const {\n responseHeaders,\n value: response,\n rawValue\n } = await postJsonToApi2({\n url: `${this.config.baseURL}/embed`,\n headers: combineHeaders2(this.config.headers(), headers),\n body: {\n model: this.modelId,\n // The AI SDK only supports 'float' embeddings. Note that the Cohere API\n // supports other embedding types, but they are not currently supported by the AI SDK.\n // https://docs.cohere.com/v2/reference/embed#request.body.embedding_types\n embedding_types: [\"float\"],\n texts: values,\n input_type: (_a = embeddingOptions == null ? void 0 : embeddingOptions.inputType) != null ? _a : \"search_query\",\n truncate: embeddingOptions == null ? void 0 : embeddingOptions.truncate,\n output_dimension: embeddingOptions == null ? void 0 : embeddingOptions.outputDimension\n },\n failedResponseHandler: cohereFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler2(\n cohereTextEmbeddingResponseSchema\n ),\n abortSignal,\n fetch: this.config.fetch\n });\n return {\n warnings: [],\n embeddings: response.embeddings.float,\n usage: { tokens: response.meta.billed_units.input_tokens },\n response: { headers: responseHeaders, body: rawValue }\n };\n }\n};\nvar cohereTextEmbeddingResponseSchema = z5.object({\n embeddings: z5.object({\n float: z5.array(z5.array(z5.number()))\n }),\n meta: z5.object({\n billed_units: z5.object({\n input_tokens: z5.number()\n })\n })\n});\n\n// src/reranking/cohere-reranking-model.ts\nimport {\n combineHeaders as combineHeaders3,\n createJsonResponseHandler as createJsonResponseHandler3,\n parseProviderOptions as parseProviderOptions3,\n postJsonToApi as postJsonToApi3\n} from \"@ai-sdk/provider-utils\";\n\n// src/reranking/cohere-reranking-api.ts\nimport { lazySchema, zodSchema } from \"@ai-sdk/provider-utils\";\nimport { z as z6 } from \"zod/v4\";\nvar cohereRerankingResponseSchema = lazySchema(\n () => zodSchema(\n z6.object({\n id: z6.string().nullish(),\n results: z6.array(\n z6.object({\n index: z6.number(),\n relevance_score: z6.number()\n })\n ),\n meta: z6.any()\n })\n )\n);\n\n// src/reranking/cohere-reranking-options.ts\nimport { lazySchema as lazySchema2, zodSchema as zodSchema2 } from \"@ai-sdk/provider-utils\";\nimport { z as z7 } from \"zod/v4\";\nvar cohereRerankingModelOptionsSchema = lazySchema2(\n () => zodSchema2(\n z7.object({\n maxTokensPerDoc: z7.number().optional(),\n priority: z7.number().optional()\n })\n )\n);\n\n// src/reranking/cohere-reranking-model.ts\nvar CohereRerankingModel = class {\n constructor(modelId, config) {\n this.specificationVersion = \"v3\";\n this.modelId = modelId;\n this.config = config;\n }\n get provider() {\n return this.config.provider;\n }\n // current implementation is based on v2 of the API: https://docs.cohere.com/v2/reference/rerank\n async doRerank({\n documents,\n headers,\n query,\n topN,\n abortSignal,\n providerOptions\n }) {\n var _a;\n const rerankingOptions = await parseProviderOptions3({\n provider: \"cohere\",\n providerOptions,\n schema: cohereRerankingModelOptionsSchema\n });\n const warnings = [];\n if (documents.type === \"object\") {\n warnings.push({\n type: \"compatibility\",\n feature: \"object documents\",\n details: \"Object documents are converted to strings.\"\n });\n }\n const {\n responseHeaders,\n value: response,\n rawValue\n } = await postJsonToApi3({\n url: `${this.config.baseURL}/rerank`,\n headers: combineHeaders3(this.config.headers(), headers),\n body: {\n model: this.modelId,\n query,\n documents: documents.type === \"text\" ? documents.values : documents.values.map((value) => JSON.stringify(value)),\n top_n: topN,\n max_tokens_per_doc: rerankingOptions == null ? void 0 : rerankingOptions.maxTokensPerDoc,\n priority: rerankingOptions == null ? void 0 : rerankingOptions.priority\n },\n failedResponseHandler: cohereFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler3(\n cohereRerankingResponseSchema\n ),\n abortSignal,\n fetch: this.config.fetch\n });\n return {\n ranking: response.results.map((result) => ({\n index: result.index,\n relevanceScore: result.relevance_score\n })),\n warnings,\n response: {\n id: (_a = response.id) != null ? _a : void 0,\n headers: responseHeaders,\n body: rawValue\n }\n };\n }\n};\n\n// src/version.ts\nvar VERSION = true ? \"3.0.27\" : \"0.0.0-test\";\n\n// src/cohere-provider.ts\nfunction createCohere(options = {}) {\n var _a;\n const baseURL = (_a = withoutTrailingSlash(options.baseURL)) != null ? _a : \"https://api.cohere.com/v2\";\n const getHeaders = () => withUserAgentSuffix(\n {\n Authorization: `Bearer ${loadApiKey({\n apiKey: options.apiKey,\n environmentVariableName: \"COHERE_API_KEY\",\n description: \"Cohere\"\n })}`,\n ...options.headers\n },\n `ai-sdk/cohere/${VERSION}`\n );\n const createChatModel = (modelId) => {\n var _a2;\n return new CohereChatLanguageModel(modelId, {\n provider: \"cohere.chat\",\n baseURL,\n headers: getHeaders,\n fetch: options.fetch,\n generateId: (_a2 = options.generateId) != null ? _a2 : generateId\n });\n };\n const createEmbeddingModel = (modelId) => new CohereEmbeddingModel(modelId, {\n provider: \"cohere.textEmbedding\",\n baseURL,\n headers: getHeaders,\n fetch: options.fetch\n });\n const createRerankingModel = (modelId) => new CohereRerankingModel(modelId, {\n provider: \"cohere.reranking\",\n baseURL,\n headers: getHeaders,\n fetch: options.fetch\n });\n const provider = function(modelId) {\n if (new.target) {\n throw new Error(\n \"The Cohere model function cannot be called with the new keyword.\"\n );\n }\n return createChatModel(modelId);\n };\n provider.specificationVersion = \"v3\";\n provider.languageModel = createChatModel;\n provider.embedding = createEmbeddingModel;\n provider.embeddingModel = createEmbeddingModel;\n provider.textEmbedding = createEmbeddingModel;\n provider.textEmbeddingModel = createEmbeddingModel;\n provider.reranking = createRerankingModel;\n provider.rerankingModel = createRerankingModel;\n provider.imageModel = (modelId) => {\n throw new NoSuchModelError({ modelId, modelType: \"imageModel\" });\n };\n return provider;\n}\nvar cohere = createCohere();\nexport {\n VERSION,\n cohere,\n createCohere\n};\n//# sourceMappingURL=index.mjs.map" | ||
| ], | ||
| "mappings": ";8TAuBA,SAAI,OAA6B,OAAE,YAAO,CASxC,SAAU,EAAE,OAAO,CACjB,KAAM,EAAE,KAAK,CAAC,UAAW,UAAU,CAAC,EAAE,SAAS,EAC/C,YAAa,EAAE,OAAO,EAAE,SAAS,CACnC,CAAC,EAAE,SAAS,CACd,CAAC,EAKG,EAAwB,EAAG,OAAO,CACpC,QAAS,EAAG,OAAO,CACrB,CAAC,EACG,EAA8B,EAA+B,CAC/D,YAAa,EACb,eAAgB,CAAC,IAAS,EAAK,OACjC,CAAC,EAMD,SAAS,CAAY,EACnB,QACA,cACC,CACD,GAAS,GAAS,KAAY,OAAI,EAAM,QAAU,EAAa,OAC/D,IAAM,EAAe,CAAC,EACtB,GAAI,GAAS,KACX,MAAO,CAAE,MAAY,OAAG,WAAiB,OAAG,cAAa,EAE3D,IAAM,EAAc,CAAC,EACrB,QAAW,KAAQ,EACjB,GAAI,EAAK,OAAS,WAChB,EAAa,KAAK,CAChB,KAAM,cACN,QAAS,yBAAyB,EAAK,IACzC,CAAC,EAED,OAAY,KAAK,CACf,KAAM,WACN,SAAU,CACR,KAAM,EAAK,KACX,YAAa,EAAK,YAClB,WAAY,EAAK,WACnB,CACF,CAAC,EAGL,GAAI,GAAc,KAChB,MAAO,CAAE,MAAO,EAAa,WAAiB,OAAG,cAAa,EAEhE,IAAM,EAAO,EAAW,KACxB,OAAQ,OACD,OACH,MAAO,CAAE,MAAO,EAAa,WAAiB,OAAG,cAAa,MAC3D,OACH,MAAO,CAAE,MAAO,EAAa,WAAY,OAAQ,cAAa,MAC3D,WACH,MAAO,CAAE,MAAO,EAAa,WAAY,WAAY,cAAa,MAC/D,OACH,MAAO,CACL,MAAO,EAAY,OACjB,CAAC,IAAS,EAAK,SAAS,OAAS,EAAW,QAC9C,EACA,WAAY,WACZ,cACF,UAGA,MAAM,IAAI,EAA8B,CACtC,cAAe,qBAFQ,GAGzB,CAAC,GAMP,SAAS,CAAkB,CAAC,EAAQ,CAClC,GAAI,GAAU,KACZ,MAAO,CACL,YAAa,CACX,MAAY,OACZ,QAAc,OACd,UAAgB,OAChB,WAAiB,MACnB,EACA,aAAc,CACZ,MAAY,OACZ,KAAW,OACX,UAAgB,MAClB,EACA,IAAU,MACZ,EAEF,IAA2B,aAArB,EACsB,cAAtB,GAAe,EACrB,MAAO,CACL,YAAa,CACX,MAAO,EACP,QAAS,EACT,UAAgB,OAChB,WAAiB,MACnB,EACA,aAAc,CACZ,MAAO,EACP,KAAM,EACN,UAAgB,MAClB,EACA,IAAK,CACP,EAOF,SAAS,CAAyB,CAAC,EAAQ,CACzC,IAAM,EAAW,CAAC,EACZ,EAAY,CAAC,EACb,EAAW,CAAC,EAClB,QAAa,OAAM,aAAa,EAC9B,OAAQ,OACD,SAAU,CACb,EAAS,KAAK,CAAE,KAAM,SAAU,SAAQ,CAAC,EACzC,KACF,KACK,OAAQ,CACX,EAAS,KAAK,CACZ,KAAM,OACN,QAAS,EAAQ,IAAI,CAAC,IAAS,CAC7B,IAAI,EACJ,OAAQ,EAAK,UACN,OACH,OAAO,EAAK,SAET,OAAQ,CACX,IAAI,EACJ,GAAI,OAAO,EAAK,OAAS,SACvB,EAAc,EAAK,KACd,QAAI,EAAK,gBAAgB,WAAY,CAC1C,GAAI,IAAI,EAAK,EAAK,YAAc,KAAY,OAAI,EAAG,WAAW,OAAO,IAAM,EAAK,YAAc,oBAC5F,MAAM,IAAI,EAA+B,CACvC,cAAe,wBAAwB,EAAK,YAC5C,QAAS,eAAe,EAAK,sFAC/B,CAAC,EAEH,EAAc,IAAI,YAAY,EAAE,OAAO,EAAK,IAAI,EAEhD,WAAM,IAAI,EAA+B,CACvC,cAAe,gBACf,QAAS,yGACX,CAAC,EAQH,OANA,EAAU,KAAK,CACb,KAAM,CACJ,KAAM,EACN,MAAO,EAAK,QACd,CACF,CAAC,EACM,EACT,GAEH,EAAE,KAAK,EAAE,CACZ,CAAC,EACD,KACF,KACK,YAAa,CAChB,IAAI,EAAO,GACL,EAAY,CAAC,EACnB,QAAW,KAAQ,EACjB,OAAQ,EAAK,UACN,OAAQ,CACX,GAAQ,EAAK,KACb,KACF,KACK,YAAa,CAChB,EAAU,KAAK,CACb,GAAI,EAAK,WACT,KAAM,WACN,SAAU,CACR,KAAM,EAAK,SACX,UAAW,KAAK,UAAU,EAAK,KAAK,CACtC,CACF,CAAC,EACD,KACF,EAGJ,EAAS,KAAK,CACZ,KAAM,YACN,QAAS,EAAU,OAAS,EAAS,OAAI,EACzC,WAAY,EAAU,OAAS,EAAI,EAAiB,OACpD,UAAgB,MAClB,CAAC,EACD,KACF,KACK,OAAQ,CACX,EAAS,KACP,GAAG,EAAQ,OAAO,CAAC,IAAe,EAAW,OAAS,wBAAwB,EAAE,IAAI,CAAC,IAAe,CAClG,IAAI,EACJ,IAAM,EAAS,EAAW,OACtB,EACJ,OAAQ,EAAO,UACR,WACA,aACH,EAAe,EAAO,MACtB,UACG,mBACH,GAAgB,EAAK,EAAO,SAAW,KAAO,EAAK,yBACnD,UACG,cACA,WACA,aACH,EAAe,KAAK,UAAU,EAAO,KAAK,EAC1C,MAEJ,MAAO,CACL,KAAM,OACN,QAAS,EACT,aAAc,EAAW,UAC3B,EACD,CACH,EACA,KACF,SAGE,MAAU,MAAM,qBADS,GAC8B,EAI7D,MAAO,CAAE,WAAU,YAAW,UAAS,EAIzC,SAAS,CAAqB,CAAC,EAAc,CAC3C,OAAQ,OACD,eACA,gBACH,MAAO,WACJ,aACH,MAAO,aACJ,QACH,MAAO,YACJ,YACH,MAAO,qBAEP,MAAO,SAKb,IAAI,EAA0B,KAAM,CAClC,WAAW,CAAC,EAAS,EAAQ,CAC3B,KAAK,qBAAuB,KAC5B,KAAK,cAAgB,CAErB,EACA,KAAK,QAAU,EACf,KAAK,OAAS,KAEZ,SAAQ,EAAG,CACb,OAAO,KAAK,OAAO,cAEf,QAAO,EACX,SACA,kBACA,cACA,OACA,OACA,mBACA,kBACA,gBACA,iBACA,OACA,QACA,aACA,mBACC,CACD,IAAI,EAAI,EACR,IAAM,GAAiB,EAAK,MAAM,EAAqB,CACrD,SAAU,SACV,kBACA,OAAQ,CACV,CAAC,IAAM,KAAO,EAAK,CAAC,GAElB,SAAU,EACV,UAAW,EACX,SAAU,GACR,EAA0B,CAAM,GAElC,MAAO,EACP,WAAY,EACZ,gBACE,EAAa,CAAE,QAAO,YAAW,CAAC,EACtC,MAAO,CACL,KAAM,CAEJ,MAAO,KAAK,QAEZ,kBAAmB,EACnB,iBAAkB,EAClB,WAAY,EACZ,cACA,EAAG,EACH,EAAG,EACH,OACA,eAAgB,EAEhB,iBAAkB,GAAkB,KAAY,OAAI,EAAe,QAAU,OAAS,CAAE,KAAM,cAAe,YAAa,EAAe,MAAO,EAAS,OAEzJ,SAAU,EAEV,MAAO,EACP,YAAa,KAEV,EAAgB,OAAS,GAAK,CAAE,UAAW,CAAgB,KAE3D,EAAc,UAAY,CAC3B,SAAU,CACR,MAAO,EAAK,EAAc,SAAS,OAAS,KAAO,EAAK,UACxD,aAAc,EAAc,SAAS,WACvC,CACF,CACF,EACA,SAAU,CAAC,GAAG,EAAc,GAAG,CAAc,CAC/C,OAEI,WAAU,CAAC,EAAS,CACxB,IAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAC5B,IAAQ,OAAM,YAAa,MAAM,KAAK,QAAQ,CAAO,GAEnD,kBACA,MAAO,EACP,SAAU,GACR,MAAM,EAAc,CACtB,IAAK,GAAG,KAAK,OAAO,eACpB,QAAS,EAAe,KAAK,OAAO,QAAQ,EAAG,EAAQ,OAAO,EAC9D,KAAM,EACN,sBAAuB,EACvB,0BAA2B,EACzB,CACF,EACA,YAAa,EAAQ,YACrB,MAAO,KAAK,OAAO,KACrB,CAAC,EACK,EAAU,CAAC,EACjB,QAAW,KAAS,EAAK,EAAS,QAAQ,UAAY,KAAO,EAAK,CAAC,EAAG,CACpE,GAAI,EAAK,OAAS,QAAU,EAAK,KAAK,OAAS,EAAG,CAChD,EAAQ,KAAK,CAAE,KAAM,OAAQ,KAAM,EAAK,IAAK,CAAC,EAC9C,SAEF,GAAI,EAAK,OAAS,YAAc,EAAK,SAAS,OAAS,EAAG,CACxD,EAAQ,KAAK,CAAE,KAAM,YAAa,KAAM,EAAK,QAAS,CAAC,EACvD,UAGJ,QAAW,KAAa,EAAK,EAAS,QAAQ,YAAc,KAAO,EAAK,CAAC,EACvE,EAAQ,KAAK,CACX,KAAM,SACN,WAAY,WACZ,GAAI,KAAK,OAAO,WAAW,EAC3B,UAAW,aACX,QAAS,GAAM,EAAK,EAAS,QAAQ,KAAO,KAAY,OAAI,EAAG,WAAa,KAAY,OAAI,EAAG,QAAU,WACzG,iBAAkB,CAChB,OAAQ,CACN,MAAO,EAAS,MAChB,IAAK,EAAS,IACd,KAAM,EAAS,KACf,QAAS,EAAS,WACf,EAAS,MAAQ,CAAE,aAAc,EAAS,IAAK,CACpD,CACF,CACF,CAAC,EAEH,QAAW,KAAa,EAAK,EAAS,QAAQ,aAAe,KAAO,EAAK,CAAC,EACxE,EAAQ,KAAK,CACX,KAAM,YACN,WAAY,EAAS,GACrB,SAAU,EAAS,SAAS,KAG5B,MAAO,EAAS,SAAS,UAAU,QAAQ,SAAU,IAAI,CAC3D,CAAC,EAEH,MAAO,CACL,UACA,aAAc,CACZ,QAAS,EAAsB,EAAS,aAAa,EACrD,KAAM,EAAK,EAAS,gBAAkB,KAAO,EAAU,MACzD,EACA,MAAO,EAAmB,EAAS,MAAM,MAAM,EAC/C,QAAS,CAAE,KAAM,CAAK,EACtB,SAAU,CAER,IAAK,EAAK,EAAS,gBAAkB,KAAO,EAAU,OACtD,QAAS,EACT,KAAM,CACR,EACA,UACF,OAEI,SAAQ,CAAC,EAAS,CACtB,IAAQ,OAAM,YAAa,MAAM,KAAK,QAAQ,CAAO,GAC7C,kBAAiB,MAAO,GAAa,MAAM,EAAc,CAC/D,IAAK,GAAG,KAAK,OAAO,eACpB,QAAS,EAAe,KAAK,OAAO,QAAQ,EAAG,EAAQ,OAAO,EAC9D,KAAM,IAAK,EAAM,OAAQ,EAAK,EAC9B,sBAAuB,EACvB,0BAA2B,EACzB,CACF,EACA,YAAa,EAAQ,YACrB,MAAO,KAAK,OAAO,KACrB,CAAC,EACG,EAAe,CACjB,QAAS,QACT,IAAU,MACZ,EACI,EAAa,OACb,EAAkB,KAClB,EAAoB,GACxB,MAAO,CACL,OAAQ,EAAS,YACf,IAAI,gBAAgB,CAClB,KAAK,CAAC,EAAY,CAChB,EAAW,QAAQ,CAAE,KAAM,eAAgB,UAAS,CAAC,GAEvD,SAAS,CAAC,EAAO,EAAY,CAC3B,IAAI,EAAI,EACR,GAAI,EAAQ,iBACV,EAAW,QAAQ,CAAE,KAAM,MAAO,SAAU,EAAM,QAAS,CAAC,EAE9D,GAAI,CAAC,EAAM,QAAS,CAClB,EAAe,CAAE,QAAS,QAAS,IAAU,MAAE,EAC/C,EAAW,QAAQ,CAAE,KAAM,QAAS,MAAO,EAAM,KAAM,CAAC,EACxD,OAEF,IAAM,EAAQ,EAAM,MAEpB,OADa,EAAM,UAEZ,gBAAiB,CACpB,GAAI,EAAM,MAAM,QAAQ,QAAQ,OAAS,WAAY,CACnD,EAAW,QAAQ,CACjB,KAAM,kBACN,GAAI,OAAO,EAAM,KAAK,CACxB,CAAC,EACD,EAAoB,GACpB,OAEF,EAAW,QAAQ,CACjB,KAAM,aACN,GAAI,OAAO,EAAM,KAAK,CACxB,CAAC,EACD,MACF,KACK,gBAAiB,CACpB,GAAI,aAAc,EAAM,MAAM,QAAQ,QAAS,CAC7C,EAAW,QAAQ,CACjB,KAAM,kBACN,GAAI,OAAO,EAAM,KAAK,EACtB,MAAO,EAAM,MAAM,QAAQ,QAAQ,QACrC,CAAC,EACD,OAEF,EAAW,QAAQ,CACjB,KAAM,aACN,GAAI,OAAO,EAAM,KAAK,EACtB,MAAO,EAAM,MAAM,QAAQ,QAAQ,IACrC,CAAC,EACD,MACF,KACK,cAAe,CAClB,GAAI,EAAmB,CACrB,EAAW,QAAQ,CACjB,KAAM,gBACN,GAAI,OAAO,EAAM,KAAK,CACxB,CAAC,EACD,EAAoB,GACpB,OAEF,EAAW,QAAQ,CACjB,KAAM,WACN,GAAI,OAAO,EAAM,KAAK,CACxB,CAAC,EACD,MACF,KACK,kBAAmB,CACtB,IAAM,EAAS,EAAM,MAAM,QAAQ,WAAW,GACxC,EAAW,EAAM,MAAM,QAAQ,WAAW,SAAS,KACnD,EAAc,EAAM,MAAM,QAAQ,WAAW,SAAS,UAY5D,GAXA,EAAkB,CAChB,GAAI,EACJ,KAAM,EACN,UAAW,EACX,YAAa,EACf,EACA,EAAW,QAAQ,CACjB,KAAM,mBACN,GAAI,EACJ,UACF,CAAC,EACG,EAAY,OAAS,EACvB,EAAW,QAAQ,CACjB,KAAM,mBACN,GAAI,EACJ,MAAO,CACT,CAAC,EAEH,MACF,KACK,kBAAmB,CACtB,GAAI,GAAmB,CAAC,EAAgB,YAAa,CACnD,IAAM,EAAY,EAAM,MAAM,QAAQ,WAAW,SAAS,UAC1D,EAAgB,WAAa,EAC7B,EAAW,QAAQ,CACjB,KAAM,mBACN,GAAI,EAAgB,GACpB,MAAO,CACT,CAAC,EAEH,MACF,KACK,gBAAiB,CACpB,GAAI,GAAmB,CAAC,EAAgB,YACtC,EAAW,QAAQ,CACjB,KAAM,iBACN,GAAI,EAAgB,EACtB,CAAC,EACD,EAAW,QAAQ,CACjB,KAAM,YACN,WAAY,EAAgB,GAC5B,SAAU,EAAgB,KAC1B,MAAO,KAAK,UACV,KAAK,QAAQ,EAAK,EAAgB,YAAc,KAAY,OAAI,EAAG,KAAK,IAAM,IAAI,CACpF,CACF,CAAC,EACD,EAAgB,YAAc,GAC9B,EAAkB,KAEpB,MACF,KACK,gBAAiB,CACpB,EAAW,QAAQ,CACjB,KAAM,oBACN,IAAK,EAAK,EAAM,KAAO,KAAO,EAAU,MAC1C,CAAC,EACD,MACF,KACK,cAAe,CAClB,EAAe,CACb,QAAS,EAAsB,EAAM,MAAM,aAAa,EACxD,IAAK,EAAM,MAAM,aACnB,EACA,EAAQ,EAAM,MAAM,MAAM,OAC1B,MACF,SAEE,SAIN,KAAK,CAAC,EAAY,CAChB,EAAW,QAAQ,CACjB,KAAM,SACN,eACA,MAAO,EAAmB,CAAK,CACjC,CAAC,EAEL,CAAC,CACH,EACA,QAAS,CAAE,KAAM,IAAK,EAAM,OAAQ,EAAK,CAAE,EAC3C,SAAU,CAAE,QAAS,CAAgB,CACvC,EAEJ,EACI,EAA2B,EAAG,OAAO,CACvC,cAAe,EAAG,OAAO,EAAE,QAAQ,EACnC,QAAS,EAAG,OAAO,CACjB,KAAM,EAAG,OAAO,EAChB,QAAS,EAAG,MACV,EAAG,MAAM,CACP,EAAG,OAAO,CACR,KAAM,EAAG,QAAQ,MAAM,EACvB,KAAM,EAAG,OAAO,CAClB,CAAC,EACD,EAAG,OAAO,CACR,KAAM,EAAG,QAAQ,UAAU,EAC3B,SAAU,EAAG,OAAO,CACtB,CAAC,CACH,CAAC,CACH,EAAE,QAAQ,EACV,UAAW,EAAG,OAAO,EAAE,QAAQ,EAC/B,WAAY,EAAG,MACb,EAAG,OAAO,CACR,GAAI,EAAG,OAAO,EACd,KAAM,EAAG,QAAQ,UAAU,EAC3B,SAAU,EAAG,OAAO,CAClB,KAAM,EAAG,OAAO,EAChB,UAAW,EAAG,OAAO,CACvB,CAAC,CACH,CAAC,CACH,EAAE,QAAQ,EACV,UAAW,EAAG,MACZ,EAAG,OAAO,CACR,MAAO,EAAG,OAAO,EACjB,IAAK,EAAG,OAAO,EACf,KAAM,EAAG,OAAO,EAChB,QAAS,EAAG,MACV,EAAG,OAAO,CACR,KAAM,EAAG,OAAO,EAAE,SAAS,EAC3B,GAAI,EAAG,OAAO,EAAE,SAAS,EACzB,SAAU,EAAG,OAAO,CAClB,GAAI,EAAG,OAAO,EAAE,SAAS,EACzB,KAAM,EAAG,OAAO,EAChB,MAAO,EAAG,OAAO,CACnB,CAAC,CACH,CAAC,CACH,EACA,KAAM,EAAG,OAAO,EAAE,SAAS,CAC7B,CAAC,CACH,EAAE,QAAQ,CACZ,CAAC,EACD,cAAe,EAAG,OAAO,EACzB,MAAO,EAAG,OAAO,CACf,aAAc,EAAG,OAAO,CACtB,aAAc,EAAG,OAAO,EACxB,cAAe,EAAG,OAAO,CAC3B,CAAC,EACD,OAAQ,EAAG,OAAO,CAChB,aAAc,EAAG,OAAO,EACxB,cAAe,EAAG,OAAO,CAC3B,CAAC,CACH,CAAC,CACH,CAAC,EACG,EAAwB,EAAG,mBAAmB,OAAQ,CACxD,EAAG,OAAO,CACR,KAAM,EAAG,QAAQ,gBAAgB,CACnC,CAAC,EACD,EAAG,OAAO,CACR,KAAM,EAAG,QAAQ,cAAc,CACjC,CAAC,EACD,EAAG,OAAO,CACR,KAAM,EAAG,QAAQ,eAAe,EAChC,MAAO,EAAG,OAAO,EACjB,MAAO,EAAG,OAAO,CACf,QAAS,EAAG,OAAO,CACjB,QAAS,EAAG,MAAM,CAChB,EAAG,OAAO,CACR,KAAM,EAAG,QAAQ,MAAM,EACvB,KAAM,EAAG,OAAO,CAClB,CAAC,EACD,EAAG,OAAO,CACR,KAAM,EAAG,QAAQ,UAAU,EAC3B,SAAU,EAAG,OAAO,CACtB,CAAC,CACH,CAAC,CACH,CAAC,CACH,CAAC,CACH,CAAC,EACD,EAAG,OAAO,CACR,KAAM,EAAG,QAAQ,eAAe,EAChC,MAAO,EAAG,OAAO,EACjB,MAAO,EAAG,OAAO,CACf,QAAS,EAAG,OAAO,CACjB,QAAS,EAAG,MAAM,CAChB,EAAG,OAAO,CACR,KAAM,EAAG,OAAO,CAClB,CAAC,EACD,EAAG,OAAO,CACR,SAAU,EAAG,OAAO,CACtB,CAAC,CACH,CAAC,CACH,CAAC,CACH,CAAC,CACH,CAAC,EACD,EAAG,OAAO,CACR,KAAM,EAAG,QAAQ,aAAa,EAC9B,MAAO,EAAG,OAAO,CACnB,CAAC,EACD,EAAG,OAAO,CACR,KAAM,EAAG,QAAQ,eAAe,EAChC,GAAI,EAAG,OAAO,EAAE,QAAQ,CAC1B,CAAC,EACD,EAAG,OAAO,CACR,KAAM,EAAG,QAAQ,aAAa,EAC9B,MAAO,EAAG,OAAO,CACf,cAAe,EAAG,OAAO,EACzB,MAAO,EAAG,OAAO,CACf,OAAQ,EAAG,OAAO,CAChB,aAAc,EAAG,OAAO,EACxB,cAAe,EAAG,OAAO,CAC3B,CAAC,CACH,CAAC,CACH,CAAC,CACH,CAAC,EAED,EAAG,OAAO,CACR,KAAM,EAAG,QAAQ,iBAAiB,EAClC,MAAO,EAAG,OAAO,CACf,QAAS,EAAG,OAAO,CACjB,UAAW,EAAG,OAAO,CACvB,CAAC,CACH,CAAC,CACH,CAAC,EACD,EAAG,OAAO,CACR,KAAM,EAAG,QAAQ,iBAAiB,EAClC,MAAO,EAAG,OAAO,CACf,QAAS,EAAG,OAAO,CACjB,WAAY,EAAG,OAAO,CACpB,GAAI,EAAG,OAAO,EACd,KAAM,EAAG,QAAQ,UAAU,EAC3B,SAAU,EAAG,OAAO,CAClB,KAAM,EAAG,OAAO,EAChB,UAAW,EAAG,OAAO,CACvB,CAAC,CACH,CAAC,CACH,CAAC,CACH,CAAC,CACH,CAAC,EAID,EAAG,OAAO,CACR,KAAM,EAAG,QAAQ,iBAAiB,EAClC,MAAO,EAAG,OAAO,CACf,QAAS,EAAG,OAAO,CACjB,WAAY,EAAG,OAAO,CACpB,SAAU,EAAG,OAAO,CAClB,UAAW,EAAG,OAAO,CACvB,CAAC,CACH,CAAC,CACH,CAAC,CACH,CAAC,CACH,CAAC,EACD,EAAG,OAAO,CACR,KAAM,EAAG,QAAQ,eAAe,CAClC,CAAC,CACH,CAAC,EAgBG,EAA8B,EAAG,OAAO,CAS1C,UAAW,EAAG,KAAK,CAAC,kBAAmB,eAAgB,iBAAkB,YAAY,CAAC,EAAE,SAAS,EASjG,SAAU,EAAG,KAAK,CAAC,OAAQ,QAAS,KAAK,CAAC,EAAE,SAAS,EAQrD,gBAAiB,EAAG,MAAM,CAAC,EAAG,QAAQ,GAAG,EAAG,EAAG,QAAQ,GAAG,EAAG,EAAG,QAAQ,IAAI,EAAG,EAAG,QAAQ,IAAI,CAAC,CAAC,EAAE,SAAS,CAC7G,CAAC,EAGG,EAAuB,KAAM,CAC/B,WAAW,CAAC,EAAS,EAAQ,CAC3B,KAAK,qBAAuB,KAC5B,KAAK,qBAAuB,GAC5B,KAAK,sBAAwB,GAC7B,KAAK,QAAU,EACf,KAAK,OAAS,KAEZ,SAAQ,EAAG,CACb,OAAO,KAAK,OAAO,cAEf,QAAO,EACX,SACA,UACA,cACA,mBACC,CACD,IAAI,EACJ,IAAM,EAAmB,MAAM,EAAsB,CACnD,SAAU,SACV,kBACA,OAAQ,CACV,CAAC,EACD,GAAI,EAAO,OAAS,KAAK,qBACvB,MAAM,IAAI,EAAmC,CAC3C,SAAU,KAAK,SACf,QAAS,KAAK,QACd,qBAAsB,KAAK,qBAC3B,QACF,CAAC,EAEH,IACE,kBACA,MAAO,EACP,YACE,MAAM,EAAe,CACvB,IAAK,GAAG,KAAK,OAAO,gBACpB,QAAS,EAAgB,KAAK,OAAO,QAAQ,EAAG,CAAO,EACvD,KAAM,CACJ,MAAO,KAAK,QAIZ,gBAAiB,CAAC,OAAO,EACzB,MAAO,EACP,YAAa,EAAK,GAAoB,KAAY,OAAI,EAAiB,YAAc,KAAO,EAAK,eACjG,SAAU,GAAoB,KAAY,OAAI,EAAiB,SAC/D,iBAAkB,GAAoB,KAAY,OAAI,EAAiB,eACzE,EACA,sBAAuB,EACvB,0BAA2B,EACzB,CACF,EACA,cACA,MAAO,KAAK,OAAO,KACrB,CAAC,EACD,MAAO,CACL,SAAU,CAAC,EACX,WAAY,EAAS,WAAW,MAChC,MAAO,CAAE,OAAQ,EAAS,KAAK,aAAa,YAAa,EACzD,SAAU,CAAE,QAAS,EAAiB,KAAM,CAAS,CACvD,EAEJ,EACI,EAAoC,EAAG,OAAO,CAChD,WAAY,EAAG,OAAO,CACpB,MAAO,EAAG,MAAM,EAAG,MAAM,EAAG,OAAO,CAAC,CAAC,CACvC,CAAC,EACD,KAAM,EAAG,OAAO,CACd,aAAc,EAAG,OAAO,CACtB,aAAc,EAAG,OAAO,CAC1B,CAAC,CACH,CAAC,CACH,CAAC,EAaG,EAAgC,EAClC,IAAM,EACJ,EAAG,OAAO,CACR,GAAI,EAAG,OAAO,EAAE,QAAQ,EACxB,QAAS,EAAG,MACV,EAAG,OAAO,CACR,MAAO,EAAG,OAAO,EACjB,gBAAiB,EAAG,OAAO,CAC7B,CAAC,CACH,EACA,KAAM,EAAG,IAAI,CACf,CAAC,CACH,CACF,EAKI,EAAoC,EACtC,IAAM,EACJ,EAAG,OAAO,CACR,gBAAiB,EAAG,OAAO,EAAE,SAAS,EACtC,SAAU,EAAG,OAAO,EAAE,SAAS,CACjC,CAAC,CACH,CACF,EAGI,EAAuB,KAAM,CAC/B,WAAW,CAAC,EAAS,EAAQ,CAC3B,KAAK,qBAAuB,KAC5B,KAAK,QAAU,EACf,KAAK,OAAS,KAEZ,SAAQ,EAAG,CACb,OAAO,KAAK,OAAO,cAGf,SAAQ,EACZ,YACA,UACA,QACA,OACA,cACA,mBACC,CACD,IAAI,EACJ,IAAM,EAAmB,MAAM,EAAsB,CACnD,SAAU,SACV,kBACA,OAAQ,CACV,CAAC,EACK,EAAW,CAAC,EAClB,GAAI,EAAU,OAAS,SACrB,EAAS,KAAK,CACZ,KAAM,gBACN,QAAS,mBACT,QAAS,4CACX,CAAC,EAEH,IACE,kBACA,MAAO,EACP,YACE,MAAM,EAAe,CACvB,IAAK,GAAG,KAAK,OAAO,iBACpB,QAAS,EAAgB,KAAK,OAAO,QAAQ,EAAG,CAAO,EACvD,KAAM,CACJ,MAAO,KAAK,QACZ,QACA,UAAW,EAAU,OAAS,OAAS,EAAU,OAAS,EAAU,OAAO,IAAI,CAAC,IAAU,KAAK,UAAU,CAAK,CAAC,EAC/G,MAAO,EACP,mBAAoB,GAAoB,KAAY,OAAI,EAAiB,gBACzE,SAAU,GAAoB,KAAY,OAAI,EAAiB,QACjE,EACA,sBAAuB,EACvB,0BAA2B,EACzB,CACF,EACA,cACA,MAAO,KAAK,OAAO,KACrB,CAAC,EACD,MAAO,CACL,QAAS,EAAS,QAAQ,IAAI,CAAC,KAAY,CACzC,MAAO,EAAO,MACd,eAAgB,EAAO,eACzB,EAAE,EACF,WACA,SAAU,CACR,IAAK,EAAK,EAAS,KAAO,KAAO,EAAU,OAC3C,QAAS,EACT,KAAM,CACR,CACF,EAEJ,EAGI,GAAiB,SAGrB,SAAS,EAAY,CAAC,EAAU,CAAC,EAAG,CAClC,IAAI,EACJ,IAAM,GAAW,EAAK,EAAqB,EAAQ,OAAO,IAAM,KAAO,EAAK,4BACtE,EAAa,IAAM,EACvB,CACE,cAAe,UAAU,EAAW,CAClC,OAAQ,EAAQ,OAChB,wBAAyB,iBACzB,YAAa,QACf,CAAC,OACE,EAAQ,OACb,EACA,iBAAiB,IACnB,EACM,EAAkB,CAAC,IAAY,CACnC,IAAI,EACJ,OAAO,IAAI,EAAwB,EAAS,CAC1C,SAAU,cACV,UACA,QAAS,EACT,MAAO,EAAQ,MACf,YAAa,EAAM,EAAQ,aAAe,KAAO,EAAM,CACzD,CAAC,GAEG,EAAuB,CAAC,IAAY,IAAI,EAAqB,EAAS,CAC1E,SAAU,uBACV,UACA,QAAS,EACT,MAAO,EAAQ,KACjB,CAAC,EACK,EAAuB,CAAC,IAAY,IAAI,EAAqB,EAAS,CAC1E,SAAU,mBACV,UACA,QAAS,EACT,MAAO,EAAQ,KACjB,CAAC,EACK,EAAW,QAAQ,CAAC,EAAS,CACjC,GAAI,WACF,MAAU,MACR,kEACF,EAEF,OAAO,EAAgB,CAAO,GAahC,OAXA,EAAS,qBAAuB,KAChC,EAAS,cAAgB,EACzB,EAAS,UAAY,EACrB,EAAS,eAAiB,EAC1B,EAAS,cAAgB,EACzB,EAAS,mBAAqB,EAC9B,EAAS,UAAY,EACrB,EAAS,eAAiB,EAC1B,EAAS,WAAa,CAAC,IAAY,CACjC,MAAM,IAAI,EAAiB,CAAE,UAAS,UAAW,YAAa,CAAC,GAE1D,EAET,IAAI,GAAS,GAAa", | ||
| "debugId": "22720566768D2BAB64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260622202450_simplify_session_input.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260622202450_simplify_session_input\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`DELETE FROM \\`session_context_epoch\\`;`)\n yield* tx.run(`DELETE FROM \\`session_input\\`;`)\n yield* tx.run(`DELETE FROM \\`session_message\\`;`)\n yield* tx.run(`DELETE FROM \\`event\\`;`)\n yield* tx.run(`DELETE FROM \\`event_sequence\\`;`)\n yield* tx.run(`UPDATE \\`session\\` SET \\`workspace_id\\` = NULL WHERE \\`workspace_id\\` IS NOT NULL;`)\n yield* tx.run(`DELETE FROM \\`workspace\\`;`)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,wCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,sCAAwC,EACtD,MAAO,EAAG,IAAI,8BAAgC,EAC9C,MAAO,EAAG,IAAI,gCAAkC,EAChD,MAAO,EAAG,IAAI,sBAAwB,EACtC,MAAO,EAAG,IAAI,+BAAiC,EAC/C,MAAO,EAAG,IAAI,8EAAoF,EAClG,MAAO,EAAG,IAAI,0BAA4B,EAC3C,EAEL", | ||
| "debugId": "AC20D8B4EFA1A25B64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260312043431_session_message_cursor.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260312043431_session_message_cursor\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`DROP INDEX IF EXISTS \\`message_session_idx\\`;`)\n yield* tx.run(`DROP INDEX IF EXISTS \\`part_message_idx\\`;`)\n yield* tx.run(\n `CREATE INDEX \\`message_session_time_created_id_idx\\` ON \\`message\\` (\\`session_id\\`,\\`time_created\\`,\\`id\\`);`,\n )\n yield* tx.run(`CREATE INDEX \\`part_message_id_id_idx\\` ON \\`part\\` (\\`message_id\\`,\\`id\\`);`)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,wCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,6CAA+C,EAC7D,MAAO,EAAG,IAAI,0CAA4C,EAC1D,MAAO,EAAG,IACR,qGACF,EACA,MAAO,EAAG,IAAI,sEAA8E,EAC7F,EAEL", | ||
| "debugId": "CBB914C6C4D2175464756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../schema/src/integration-id.ts", "../schema/src/credential.ts", "../schema/src/connection.ts", "../schema/src/integration.ts", "../schema/src/provider.ts", "../schema/src/money.ts", "../schema/src/model.ts", "../schema/src/prompt.ts", "../schema/src/shell.ts", "../schema/src/session-error.ts", "../schema/src/session-id.ts", "../schema/src/permission.ts", "../schema/src/agent.ts", "../schema/src/skill.ts", "../schema/src/snapshot.ts", "../schema/src/token-usage.ts", "../schema/src/session-message.ts"], | ||
| "sourcesContent": [ | ||
| "import { Schema } from \"effect\"\n\nexport const IntegrationID = Schema.String.pipe(Schema.brand(\"Integration.ID\"))\nexport type IntegrationID = typeof IntegrationID.Type\n\nexport const IntegrationMethodID = Schema.String.pipe(Schema.brand(\"Integration.MethodID\"))\nexport type IntegrationMethodID = typeof IntegrationMethodID.Type\n", | ||
| "export * as Credential from \"./credential.js\"\n\nimport { Schema } from \"effect\"\nimport { optional } from \"./schema.js\"\nimport { IntegrationMethodID } from \"./integration-id.js\"\nimport { ascending } from \"./identifier.js\"\nimport { NonNegativeInt, statics } from \"./schema.js\"\n\nexport const ID = Schema.String.pipe(\n Schema.brand(\"Credential.ID\"),\n statics((schema) => ({ create: () => schema.make(\"cred_\" + ascending()) })),\n)\nexport type ID = typeof ID.Type\n\nexport interface OAuth extends Schema.Schema.Type<typeof OAuth> {}\nexport const OAuth = Schema.Struct({\n type: Schema.Literal(\"oauth\"),\n methodID: IntegrationMethodID,\n refresh: Schema.String,\n access: Schema.String,\n expires: NonNegativeInt,\n metadata: optional(Schema.Record(Schema.String, Schema.Unknown)),\n}).annotate({ identifier: \"Credential.OAuth\" })\n\nexport interface Key extends Schema.Schema.Type<typeof Key> {}\nexport const Key = Schema.Struct({\n type: Schema.Literal(\"key\"),\n key: Schema.String,\n metadata: optional(Schema.Record(Schema.String, Schema.Unknown)),\n}).annotate({ identifier: \"Credential.Key\" })\n\nexport const Value = Schema.Union([OAuth, Key])\n .pipe(Schema.toTaggedUnion(\"type\"))\n .annotate({ identifier: \"Credential.Value\" })\nexport type Value = Schema.Schema.Type<typeof Value>\n", | ||
| "export * as Connection from \"./connection.js\"\n\nimport { Schema } from \"effect\"\nimport { Credential } from \"./credential.js\"\n\nexport interface CredentialInfo extends Schema.Schema.Type<typeof CredentialInfo> {}\nexport const CredentialInfo = Schema.Struct({\n type: Schema.Literal(\"credential\"),\n id: Credential.ID,\n label: Schema.String,\n}).annotate({ identifier: \"Connection.CredentialInfo\" })\n\nexport interface EnvInfo extends Schema.Schema.Type<typeof EnvInfo> {}\nexport const EnvInfo = Schema.Struct({\n type: Schema.Literal(\"env\"),\n name: Schema.String,\n}).annotate({ identifier: \"Connection.EnvInfo\" })\n\nexport const Info = Schema.Union([CredentialInfo, EnvInfo])\n .pipe(Schema.toTaggedUnion(\"type\"))\n .annotate({ identifier: \"Connection.Info\" })\nexport type Info = typeof Info.Type\n", | ||
| "export * as Integration from \"./integration.js\"\n\nimport { Schema } from \"effect\"\nimport { optional } from \"./schema.js\"\nimport { ephemeral, inventory } from \"./event.js\"\nimport { Connection } from \"./connection.js\"\nimport { ascending } from \"./identifier.js\"\nimport { statics } from \"./schema.js\"\nimport { IntegrationID, IntegrationMethodID } from \"./integration-id.js\"\n\nexport const ID = IntegrationID\nexport type ID = typeof ID.Type\n\nexport const MethodID = IntegrationMethodID\nexport type MethodID = typeof MethodID.Type\n\nexport interface When extends Schema.Schema.Type<typeof When> {}\nexport const When = Schema.Struct({\n key: Schema.String,\n op: Schema.Literals([\"eq\", \"neq\"]),\n value: Schema.String,\n}).annotate({ identifier: \"Integration.When\" })\n\nexport interface TextPrompt extends Schema.Schema.Type<typeof TextPrompt> {}\nexport const TextPrompt = Schema.Struct({\n type: Schema.Literal(\"text\"),\n key: Schema.String,\n message: Schema.String,\n placeholder: optional(Schema.String),\n when: optional(When),\n}).annotate({ identifier: \"Integration.TextPrompt\" })\n\nexport interface SelectPrompt extends Schema.Schema.Type<typeof SelectPrompt> {}\nexport const SelectPrompt = Schema.Struct({\n type: Schema.Literal(\"select\"),\n key: Schema.String,\n message: Schema.String,\n options: Schema.Array(\n Schema.Struct({\n label: Schema.String,\n value: Schema.String,\n hint: optional(Schema.String),\n }),\n ),\n when: optional(When),\n}).annotate({ identifier: \"Integration.SelectPrompt\" })\n\nexport const Prompt = Schema.Union([TextPrompt, SelectPrompt]).pipe(Schema.toTaggedUnion(\"type\"))\nexport type Prompt = typeof Prompt.Type\n\nexport interface OAuthMethod extends Schema.Schema.Type<typeof OAuthMethod> {}\nexport const OAuthMethod = Schema.Struct({\n id: MethodID,\n type: Schema.Literal(\"oauth\"),\n label: Schema.String,\n prompts: optional(Schema.Array(Prompt)),\n}).annotate({ identifier: \"Integration.OAuthMethod\" })\n\nexport interface KeyMethod extends Schema.Schema.Type<typeof KeyMethod> {}\nexport const KeyMethod = Schema.Struct({\n type: Schema.Literal(\"key\"),\n label: optional(Schema.String),\n}).annotate({ identifier: \"Integration.KeyMethod\" })\n\nexport interface EnvMethod extends Schema.Schema.Type<typeof EnvMethod> {}\nexport const EnvMethod = Schema.Struct({\n type: Schema.Literal(\"env\"),\n names: Schema.Array(Schema.String),\n}).annotate({ identifier: \"Integration.EnvMethod\" })\n\nexport const Method = Schema.Union([OAuthMethod, KeyMethod, EnvMethod])\n .pipe(Schema.toTaggedUnion(\"type\"))\n .annotate({ identifier: \"Integration.Method\" })\nexport type Method = typeof Method.Type\n\nexport const Inputs = Schema.Record(Schema.String, Schema.String).annotate({ identifier: \"Integration.Inputs\" })\nexport type Inputs = typeof Inputs.Type\n\nconst Updated = ephemeral({\n type: \"integration.updated\",\n schema: {},\n})\nconst ConnectionUpdated = ephemeral({\n type: \"integration.connection.updated\",\n schema: { integrationID: ID },\n})\nexport const Event = { Updated, ConnectionUpdated, Definitions: inventory(Updated, ConnectionUpdated) }\n\nexport interface Ref extends Schema.Schema.Type<typeof Ref> {}\nexport const Ref = Schema.Struct({\n id: ID,\n name: Schema.String,\n}).annotate({ identifier: \"Integration.Ref\" })\n\nexport class Info extends Schema.Class<Info>(\"Integration.Info\")({\n id: ID,\n name: Schema.String,\n methods: Schema.Array(Method),\n connections: Schema.Array(Connection.Info),\n}) {}\n\nexport const AttemptID = Schema.String.pipe(\n Schema.brand(\"Integration.AttemptID\"),\n statics((schema) => ({ create: () => schema.make(\"con_\" + ascending()) })),\n)\nexport type AttemptID = typeof AttemptID.Type\n\nconst AttemptTime = Schema.Struct({\n created: Schema.Number,\n expires: Schema.Number,\n})\n\nexport class Attempt extends Schema.Class<Attempt>(\"Integration.Attempt\")({\n attemptID: AttemptID,\n url: Schema.String,\n instructions: Schema.String,\n mode: Schema.Literals([\"auto\", \"code\"]),\n time: AttemptTime,\n}) {}\n\nexport const AttemptStatus = Schema.Union([\n Schema.Struct({ status: Schema.Literal(\"pending\"), time: AttemptTime }),\n Schema.Struct({ status: Schema.Literal(\"complete\"), time: AttemptTime }),\n Schema.Struct({ status: Schema.Literal(\"failed\"), message: Schema.String, time: AttemptTime }),\n Schema.Struct({ status: Schema.Literal(\"expired\"), time: AttemptTime }),\n])\n .pipe(Schema.toTaggedUnion(\"status\"))\n .annotate({ identifier: \"Integration.AttemptStatus\" })\nexport type AttemptStatus = typeof AttemptStatus.Type\n", | ||
| "export * as Provider from \"./provider.js\"\n\nimport { Effect, Schema } from \"effect\"\nimport { Integration } from \"./integration.js\"\nimport { optional, statics } from \"./schema.js\"\n\nexport const ID = Schema.String.pipe(\n Schema.brand(\"ProviderV2.ID\"),\n statics((schema) => ({\n opencode: schema.make(\"opencode\"),\n anthropic: schema.make(\"anthropic\"),\n openai: schema.make(\"openai\"),\n google: schema.make(\"google\"),\n googleVertex: schema.make(\"google-vertex\"),\n githubCopilot: schema.make(\"github-copilot\"),\n amazonBedrock: schema.make(\"amazon-bedrock\"),\n azure: schema.make(\"azure\"),\n openrouter: schema.make(\"openrouter\"),\n mistral: schema.make(\"mistral\"),\n gitlab: schema.make(\"gitlab\"),\n })),\n)\nexport type ID = typeof ID.Type\n\nexport const Package = Schema.String\nexport type Package = typeof Package.Type\n\nexport const Overlays = {\n settings: Schema.Record(Schema.String, Schema.Json).pipe(optional),\n headers: Schema.Record(Schema.String, Schema.String).pipe(optional),\n body: Schema.Record(Schema.String, Schema.Json).pipe(optional),\n}\n\nexport const Settings = Schema.Record(Schema.String, Schema.Json).annotate({ identifier: \"Provider.Settings\" })\nexport type Settings = typeof Settings.Type\n\nexport interface Request extends Schema.Schema.Type<typeof Request> {}\nexport const Request = Schema.Struct({\n settings: Settings.pipe(Schema.withConstructorDefault(Effect.succeed({}))),\n headers: Schema.Record(Schema.String, Schema.String),\n body: Schema.Record(Schema.String, Schema.Json),\n}).annotate({ identifier: \"Provider.Request\" })\n\nexport interface Info extends Schema.Schema.Type<typeof Info> {}\nexport const Info = Schema.Struct({\n id: ID,\n integrationID: Integration.ID.pipe(optional),\n name: Schema.String,\n disabled: Schema.Boolean.pipe(optional),\n package: Package,\n ...Overlays,\n})\n .annotate({ identifier: \"ProviderV2.Info\" })\n .pipe(\n statics((schema) => ({\n empty: (id: ID) => schema.make({ id, name: id, package: \"\" }),\n })),\n )\n", | ||
| "export * as Money from \"./money.js\"\n\nimport { Schema } from \"effect\"\nimport { statics } from \"./schema.js\"\n\nexport const USD = Schema.Finite.pipe(\n Schema.brand(\"Money.USD\"),\n Schema.annotate({ identifier: \"Money.USD\" }),\n statics((schema) => ({ zero: schema.make(0) })),\n)\nexport type USD = typeof USD.Type\n\nexport const USDPerMillionTokens = Schema.Finite.pipe(\n Schema.brand(\"Money.USDPerMillionTokens\"),\n Schema.annotate({ identifier: \"Money.USDPerMillionTokens\" }),\n statics((schema) => ({ zero: schema.make(0) })),\n)\nexport type USDPerMillionTokens = typeof USDPerMillionTokens.Type\n", | ||
| "export * as Model from \"./model.js\"\n\nimport { Schema } from \"effect\"\nimport { optional, statics } from \"./schema.js\"\nimport { Provider } from \"./provider.js\"\nimport { Money } from \"./money.js\"\n\nexport const ID = Schema.String.pipe(Schema.brand(\"Model.ID\"))\nexport type ID = typeof ID.Type\n\nexport const VariantID = Schema.String.pipe(Schema.brand(\"Model.VariantID\"))\nexport type VariantID = typeof VariantID.Type\n\nexport const Ref = Schema.Struct({\n id: ID,\n providerID: Provider.ID,\n variant: VariantID.pipe(optional),\n})\n .annotate({ identifier: \"Model.Ref\" })\n .pipe(\n statics((schema) => ({\n parse: (input: string) => {\n const providerEnd = input.indexOf(\"/\")\n if (providerEnd <= 0) throw new Error(`Invalid model reference: ${input}`)\n const providerID = input.slice(0, providerEnd)\n const variantStart = input.indexOf(\"#\", providerEnd + 1)\n const id = input.slice(providerEnd + 1, variantStart === -1 ? undefined : variantStart)\n const variant = variantStart === -1 ? undefined : input.slice(variantStart + 1)\n if (!id || providerID.includes(\"#\") || (variant !== undefined && (!variant || variant.includes(\"#\"))))\n throw new Error(`Invalid model reference: ${input}`)\n return schema.make({\n providerID: Provider.ID.make(providerID),\n id: ID.make(id),\n ...(variant ? { variant: VariantID.make(variant) } : {}),\n })\n },\n })),\n )\nexport interface Ref extends Schema.Schema.Type<typeof Ref> {}\n\nexport const Family = Schema.String.pipe(Schema.brand(\"Model.Family\"))\nexport type Family = typeof Family.Type\n\nexport interface Capabilities extends Schema.Schema.Type<typeof Capabilities> {}\nexport const Capabilities = Schema.Struct({\n tools: Schema.Boolean,\n input: Schema.Array(Schema.String),\n output: Schema.Array(Schema.String),\n}).annotate({ identifier: \"Model.Capabilities\" })\n\nexport interface Cost extends Schema.Schema.Type<typeof Cost> {}\nexport const Cost = Schema.Struct({\n tier: Schema.Struct({\n type: Schema.tag(\"context\"),\n size: Schema.Int,\n }).pipe(optional),\n input: Money.USDPerMillionTokens,\n output: Money.USDPerMillionTokens,\n cache: Schema.Struct({\n read: Money.USDPerMillionTokens,\n write: Money.USDPerMillionTokens,\n }),\n}).annotate({ identifier: \"Model.Cost\" })\n\nexport interface Variant extends Schema.Schema.Type<typeof Variant> {}\nexport const Variant = Schema.Struct({\n id: VariantID,\n ...Provider.Overlays,\n}).annotate({ identifier: \"Model.Variant\" })\n\nexport interface Info extends Schema.Schema.Type<typeof Info> {}\nexport const Info = Schema.Struct({\n id: ID,\n modelID: ID,\n providerID: Provider.ID,\n family: Family.pipe(optional),\n name: Schema.String,\n package: Provider.Package.pipe(optional),\n ...Provider.Overlays,\n capabilities: Capabilities,\n variants: Schema.Array(Variant),\n time: Schema.Struct({\n released: Schema.Finite,\n }),\n cost: Schema.Array(Cost),\n status: Schema.Literals([\"alpha\", \"beta\", \"deprecated\", \"active\"]),\n enabled: Schema.Boolean,\n limit: Schema.Struct({\n context: Schema.Int,\n input: Schema.Int.pipe(optional),\n output: Schema.Int,\n }),\n})\n .annotate({ identifier: \"Model.Info\" })\n .pipe(\n statics((schema) => ({\n empty: (providerID: Provider.ID, id: ID) =>\n schema.make({\n id,\n modelID: id,\n providerID,\n name: id,\n capabilities: { tools: false, input: [], output: [] },\n variants: [],\n time: { released: 0 },\n cost: [],\n status: \"active\",\n enabled: true,\n limit: { context: 0, output: 0 },\n }),\n })),\n )\n", | ||
| "import { Schema } from \"effect\"\nimport { optional } from \"./schema.js\"\nimport { statics } from \"./schema.js\"\n\nexport interface PromptMention extends Schema.Schema.Type<typeof PromptMention> {}\nexport const PromptMention = Schema.Struct({\n start: Schema.Finite,\n end: Schema.Finite,\n text: Schema.String,\n}).annotate({ identifier: \"Prompt.Mention\" })\n\nexport const FileSource = Schema.Union([\n Schema.Struct({ type: Schema.Literal(\"inline\") }),\n Schema.Struct({ type: Schema.Literal(\"uri\"), uri: Schema.String }),\n])\n .pipe(Schema.toTaggedUnion(\"type\"))\n .annotate({ identifier: \"Prompt.FileSource\" })\nexport type FileSource = typeof FileSource.Type\n\nexport const Base64 = Schema.String.check(\n Schema.isPattern(/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/),\n).annotate({ identifier: \"Prompt.Base64\" })\nexport type Base64 = typeof Base64.Type\n\nexport interface FileAttachment extends Schema.Schema.Type<typeof FileAttachment> {}\nexport const FileAttachment = Schema.Struct({\n data: Base64,\n mime: Schema.String,\n source: FileSource,\n name: Schema.String.pipe(optional),\n description: Schema.String.pipe(optional),\n mention: PromptMention.pipe(optional),\n})\n .annotate({ identifier: \"Prompt.FileAttachment\" })\n .pipe(\n statics((schema) => ({\n create: (input: FileAttachment) =>\n schema.make({\n data: input.data,\n mime: input.mime,\n source: input.source,\n name: input.name,\n description: input.description,\n mention: input.mention,\n }),\n })),\n )\n\nexport interface AgentAttachment extends Schema.Schema.Type<typeof AgentAttachment> {}\nexport const AgentAttachment = Schema.Struct({\n name: Schema.String,\n mention: PromptMention.pipe(optional),\n}).annotate({ identifier: \"Prompt.AgentAttachment\" })\n\nexport interface Prompt extends Schema.Schema.Type<typeof Prompt> {}\nexport const Prompt = Schema.Struct({\n text: Schema.String,\n files: Schema.Array(FileAttachment).pipe(optional),\n agents: Schema.Array(AgentAttachment).pipe(optional),\n})\n .annotate({ identifier: \"Prompt\" })\n .pipe(\n statics((schema) => ({\n equivalence: Schema.toEquivalence(schema),\n fromUserMessage: (input: Pick<Prompt, \"text\" | \"files\" | \"agents\">) =>\n schema.make({\n text: input.text,\n ...(input.files === undefined ? {} : { files: input.files }),\n ...(input.agents === undefined ? {} : { agents: input.agents }),\n }),\n })),\n )\n", | ||
| "export * as Shell from \"./shell.js\"\n\nimport { Schema } from \"effect\"\nimport { optional } from \"./schema.js\"\nimport { ephemeral, inventory } from \"./event.js\"\nimport { ascending } from \"./identifier.js\"\nimport { NonNegativeInt, statics } from \"./schema.js\"\n\nconst IDSchema = Schema.String.check(Schema.isStartsWith(\"sh_\")).pipe(Schema.brand(\"Shell.ID\"))\n\nexport const ID = IDSchema.pipe(\n statics((schema: typeof IDSchema) => {\n const create = () => schema.make(\"sh_\" + ascending())\n return {\n create,\n ascending: (id?: string) => (id === undefined ? create() : schema.make(id)),\n }\n }),\n)\nexport type ID = typeof ID.Type\n\nexport const Status = Schema.Literals([\"running\", \"exited\", \"timeout\", \"killed\"])\nexport type Status = typeof Status.Type\n\nexport const Time = Schema.Struct({\n started: Schema.Number,\n completed: optional(Schema.Number),\n})\nexport interface Time extends Schema.Schema.Type<typeof Time> {}\n\n// Opaque caller-supplied tags echoed back on Info and events. The Shell service never interprets\n// these; callers (e.g. ShellTool stores the originating session ID) use them to filter or correlate.\nexport const Metadata = Schema.Record(Schema.String, Schema.Unknown)\nexport type Metadata = typeof Metadata.Type\n\nexport const Info = Schema.Struct({\n id: ID,\n status: Status,\n command: Schema.String,\n cwd: Schema.String,\n shell: Schema.String,\n // Absolute path of the file capturing combined stdout/stderr. Page through it via `output`.\n file: Schema.String,\n pid: optional(NonNegativeInt),\n exit: optional(Schema.Number),\n // Always present; defaults to an empty object when the creator supplies no metadata.\n metadata: Metadata,\n time: Time,\n}).annotate({ identifier: \"Shell\" })\nexport interface Info extends Schema.Schema.Type<typeof Info> {}\n\nconst Created = ephemeral({ type: \"shell.created\", schema: { info: Info } })\nconst Exited = ephemeral({ type: \"shell.exited\", schema: { id: ID, exit: optional(Schema.Number), status: Status } })\nconst Deleted = ephemeral({ type: \"shell.deleted\", schema: { id: ID } })\nexport const Event = { Created, Exited, Deleted, Definitions: inventory(Created, Exited, Deleted) }\n\nexport const CreateInput = Schema.Struct({\n command: Schema.String,\n cwd: optional(Schema.String),\n timeout: NonNegativeInt,\n metadata: optional(Metadata),\n})\nexport interface CreateInput extends Schema.Schema.Type<typeof CreateInput> {}\n\nexport const OutputInput = Schema.Struct({\n cursor: optional(NonNegativeInt),\n limit: optional(NonNegativeInt),\n})\nexport interface OutputInput extends Schema.Schema.Type<typeof OutputInput> {}\n\nexport const Output = Schema.Struct({\n output: Schema.String,\n // Absolute cursor after this page. Equals `size` once fully caught up.\n cursor: NonNegativeInt,\n // Total bytes captured so far. A consumer has more to page while `cursor < size`.\n size: NonNegativeInt,\n truncated: Schema.Boolean,\n})\nexport interface Output extends Schema.Schema.Type<typeof Output> {}\n", | ||
| "export * as SessionError from \"./session-error.js\"\n\nimport { Schema } from \"effect\"\n\nexport interface Error extends Schema.Schema.Type<typeof Error> {}\nexport const Error = Schema.Struct({\n type: Schema.String,\n message: Schema.String,\n}).annotate({ identifier: \"Session.StructuredError\" })\n", | ||
| "import { Schema } from \"effect\"\nimport { descending } from \"./identifier.js\"\nimport { statics } from \"./schema.js\"\n\nexport const SessionID = Schema.String.check(Schema.isStartsWith(\"ses\")).pipe(\n Schema.brand(\"SessionID\"),\n statics((schema) => {\n const create = () => schema.make(\"ses_\" + descending())\n return {\n create,\n descending: (id?: string) => (id === undefined ? create() : schema.make(id)),\n }\n }),\n)\nexport type SessionID = typeof SessionID.Type\n", | ||
| "export * as Permission from \"./permission.js\"\n\nimport { Schema } from \"effect\"\nimport { optional } from \"./schema.js\"\nimport { ephemeral, inventory } from \"./event.js\"\nimport { ascending } from \"./identifier.js\"\nimport { SessionID } from \"./session-id.js\"\nimport { statics } from \"./schema.js\"\n\nexport const ID = Schema.String.check(Schema.isStartsWith(\"per\")).pipe(\n Schema.brand(\"PermissionV2.ID\"),\n statics((schema) => ({ create: (id?: string) => schema.make(id ?? \"per_\" + ascending()) })),\n)\nexport type ID = typeof ID.Type\n\nexport const Source = Schema.Union([\n Schema.Struct({\n type: Schema.Literal(\"tool\"),\n messageID: Schema.String,\n callID: Schema.String,\n }),\n]).annotate({ identifier: \"PermissionV2.Source\" })\nexport type Source = typeof Source.Type\n\nconst RequestFields = {\n sessionID: SessionID,\n action: Schema.String,\n resources: Schema.Array(Schema.String),\n save: Schema.Array(Schema.String).pipe(optional),\n metadata: Schema.Record(Schema.String, Schema.Unknown).pipe(optional),\n source: Source.pipe(optional),\n}\n\nexport const Request = Schema.Struct({\n id: ID,\n ...RequestFields,\n}).annotate({ identifier: \"PermissionV2.Request\" })\nexport interface Request extends Schema.Schema.Type<typeof Request> {}\n\nexport const Reply = Schema.Literals([\"once\", \"always\", \"reject\"]).annotate({ identifier: \"PermissionV2.Reply\" })\nexport type Reply = typeof Reply.Type\n\nconst Asked = ephemeral({ type: \"permission.v2.asked\", schema: Request.fields })\nconst Replied = ephemeral({\n type: \"permission.v2.replied\",\n schema: {\n sessionID: SessionID,\n requestID: ID,\n reply: Reply,\n },\n})\nexport const Event = { Asked, Replied, Definitions: inventory(Asked, Replied) }\n\nexport const Effect = Schema.Literals([\"allow\", \"deny\", \"ask\"]).annotate({ identifier: \"PermissionV2.Effect\" })\nexport type Effect = typeof Effect.Type\n\nexport interface Rule extends Schema.Schema.Type<typeof Rule> {}\nexport const Rule = Schema.Struct({\n action: Schema.String,\n resource: Schema.String,\n effect: Effect,\n}).annotate({ identifier: \"PermissionV2.Rule\" })\n\nexport const Ruleset = Schema.Array(Rule).annotate({ identifier: \"PermissionV2.Ruleset\" })\nexport type Ruleset = typeof Ruleset.Type\n", | ||
| "export * as Agent from \"./agent.js\"\n\nimport { Schema } from \"effect\"\nimport { ephemeral, inventory } from \"./event.js\"\nimport { optional } from \"./schema.js\"\nimport { Model } from \"./model.js\"\nimport { Permission } from \"./permission.js\"\nimport { Provider } from \"./provider.js\"\nimport { PositiveInt, statics } from \"./schema.js\"\n\nconst Updated = ephemeral({ type: \"agent.updated\", schema: {} })\n\nexport const ID = Schema.String.pipe(Schema.brand(\"Agent.ID\"))\nexport type ID = typeof ID.Type\n\nexport const Name = Schema.String.pipe(Schema.brand(\"Agent.Name\"))\nexport type Name = typeof Name.Type\n\nexport const Color = Schema.Union([\n Schema.String.check(Schema.isPattern(/^#[0-9a-fA-F]{6}$/)),\n Schema.Literals([\"primary\", \"secondary\", \"accent\", \"success\", \"warning\", \"error\", \"info\"]),\n]).annotate({ identifier: \"Agent.Color\" })\nexport type Color = typeof Color.Type\n\nexport interface Info extends Schema.Schema.Type<typeof Info> {}\nexport const Info = Schema.Struct({\n id: ID,\n name: Name,\n model: Model.Ref.pipe(optional),\n request: Provider.Request,\n system: Schema.String.pipe(optional),\n description: Schema.String.pipe(optional),\n mode: Schema.Literals([\"subagent\", \"primary\", \"all\"]),\n hidden: Schema.Boolean,\n color: Color.pipe(optional),\n steps: PositiveInt.pipe(optional),\n permissions: Permission.Ruleset,\n})\n .annotate({ identifier: \"Agent.Info\" })\n .pipe(\n statics((schema) => ({\n empty: (id: ID) =>\n schema.make({\n id,\n name: Name.make(id),\n request: { settings: {}, headers: {}, body: {} },\n mode: \"all\",\n hidden: false,\n permissions: [\n { action: \"*\", resource: \"*\", effect: \"allow\" },\n { action: \"external_directory\", resource: \"*\", effect: \"ask\" },\n ],\n }),\n })),\n )\n\nexport const Event = {\n Updated,\n Definitions: inventory(Updated),\n}\n", | ||
| "export * as Skill from \"./skill.js\"\n\nimport { Schema } from \"effect\"\nimport { optional } from \"./schema.js\"\nimport { AbsolutePath } from \"./schema.js\"\nimport { ephemeral, inventory } from \"./event.js\"\n\nexport const ID = Schema.String.pipe(Schema.brand(\"Skill.ID\"))\nexport type ID = typeof ID.Type\n\nexport const Name = Schema.String.pipe(Schema.brand(\"Skill.Name\"))\nexport type Name = typeof Name.Type\n\nexport interface DirectorySource extends Schema.Schema.Type<typeof DirectorySource> {}\nexport const DirectorySource = Schema.Struct({\n type: Schema.tag(\"directory\"),\n path: AbsolutePath,\n}).annotate({ identifier: \"Skill.DirectorySource\" })\n\nexport interface UrlSource extends Schema.Schema.Type<typeof UrlSource> {}\nexport const UrlSource = Schema.Struct({\n type: Schema.tag(\"url\"),\n url: Schema.String,\n}).annotate({ identifier: \"Skill.UrlSource\" })\n\nexport interface Info extends Schema.Schema.Type<typeof Info> {}\nexport const Info = Schema.Struct({\n id: ID,\n name: Name,\n description: Schema.String.pipe(optional),\n slash: Schema.Boolean.pipe(optional),\n autoinvoke: Schema.Boolean.pipe(optional),\n location: AbsolutePath,\n content: Schema.String,\n}).annotate({ identifier: \"Skill.Info\" })\n\nconst Updated = ephemeral({ type: \"skill.updated\", schema: {} })\nexport const Event = { Updated, Definitions: inventory(Updated) }\n\nexport interface EmbeddedSource extends Schema.Schema.Type<typeof EmbeddedSource> {}\nexport const EmbeddedSource = Schema.Struct({\n type: Schema.tag(\"embedded\"),\n skill: Schema.suspend(() => Info),\n}).annotate({ identifier: \"Skill.EmbeddedSource\" })\n\nexport type Source = DirectorySource | UrlSource | EmbeddedSource\nexport const Source = Object.assign(\n Schema.Union([DirectorySource, UrlSource, EmbeddedSource]).pipe(\n Schema.toTaggedUnion(\"type\"),\n Schema.annotate({ identifier: \"Skill.Source\" }),\n ),\n {\n equals: (a: Source, b: Source) => {\n if (a.type !== b.type) return false\n if (a.type === \"directory\" && b.type === \"directory\") return a.path === b.path\n if (a.type === \"url\" && b.type === \"url\") return a.url === b.url\n if (a.type === \"embedded\" && b.type === \"embedded\") return a.skill.id === b.skill.id\n return false\n },\n key: (source: Source) =>\n source.type === \"directory\"\n ? `directory:${source.path}`\n : source.type === \"url\"\n ? `url:${source.url}`\n : `embedded:${source.skill.id}`,\n },\n)\n", | ||
| "export * as Snapshot from \"./snapshot.js\"\n\nimport { Schema } from \"effect\"\n\nexport const ID = Schema.String.pipe(Schema.brand(\"Snapshot.ID\"))\nexport type ID = typeof ID.Type\n", | ||
| "export * as TokenUsage from \"./token-usage.js\"\n\nimport { Schema } from \"effect\"\n\nexport interface Info extends Schema.Schema.Type<typeof Info> {}\nexport const Info = Schema.Struct({\n input: Schema.Finite,\n output: Schema.Finite,\n reasoning: Schema.Finite,\n cache: Schema.Struct({\n read: Schema.Finite,\n write: Schema.Finite,\n }),\n}).annotate({ identifier: \"TokenUsage.Info\" })\n", | ||
| "export * as SessionMessage from \"./session-message.js\"\n\nimport { Schema } from \"effect\"\nimport { optional } from \"./schema.js\"\nimport { ToolContent } from \"./llm.js\"\nimport { Model } from \"./model.js\"\nimport { Prompt } from \"./prompt.js\"\nimport { DateTimeUtcFromMillis, PositiveInt, RelativePath, statics } from \"./schema.js\"\nimport { ascending } from \"./identifier.js\"\nimport { Event } from \"./event.js\"\nimport { Shell as ShellSchema } from \"./shell.js\"\nimport { FinishReason } from \"./llm.js\"\nimport { SessionError } from \"./session-error.js\"\nimport { Agent } from \"./agent.js\"\nimport { Skill as SkillSchema } from \"./skill.js\"\nimport { Money } from \"./money.js\"\nimport { Snapshot } from \"./snapshot.js\"\nimport { TokenUsage } from \"./token-usage.js\"\n\nexport const ID = Schema.String.check(Schema.isStartsWith(\"msg_\")).pipe(\n Schema.brand(\"Session.Message.ID\"),\n statics((schema) => ({\n create: () => schema.make(\"msg_\" + ascending()),\n fromEvent: (eventID: Event.ID) => schema.make(eventID.replace(/^evt_/, \"msg_\")),\n })),\n)\nexport type ID = typeof ID.Type\n\nconst Base = {\n id: ID,\n metadata: Schema.Record(Schema.String, Schema.Unknown).pipe(optional),\n time: Schema.Struct({ created: DateTimeUtcFromMillis }),\n}\n\nexport const ProviderState = Schema.Record(Schema.String, Schema.Unknown).annotate({\n identifier: \"Session.Message.ProviderState\",\n})\nexport type ProviderState = typeof ProviderState.Type\n\nexport interface AgentSelected extends Schema.Schema.Type<typeof AgentSelected> {}\nexport const AgentSelected = Schema.Struct({\n ...Base,\n type: Schema.tag(\"agent-switched\"),\n agent: Agent.ID,\n}).annotate({ identifier: \"Session.Message.AgentSelected\" })\n\nexport interface ModelSelected extends Schema.Schema.Type<typeof ModelSelected> {}\nexport const ModelSelected = Schema.Struct({\n ...Base,\n type: Schema.tag(\"model-switched\"),\n model: Model.Ref,\n previous: Model.Ref.pipe(optional),\n}).annotate({ identifier: \"Session.Message.ModelSelected\" })\n\nexport interface User extends Schema.Schema.Type<typeof User> {}\nexport const User = Schema.Struct({\n ...Base,\n text: Prompt.fields.text,\n files: Prompt.fields.files,\n agents: Prompt.fields.agents,\n type: Schema.tag(\"user\"),\n}).annotate({ identifier: \"Session.Message.User\" })\n\nexport interface Synthetic extends Schema.Schema.Type<typeof Synthetic> {}\nexport const Synthetic = Schema.Struct({\n ...Base,\n text: Schema.String,\n description: Schema.String.pipe(optional),\n type: Schema.tag(\"synthetic\"),\n}).annotate({ identifier: \"Session.Message.Synthetic\" })\n\nexport interface System extends Schema.Schema.Type<typeof System> {}\nexport const System = Schema.Struct({\n ...Base,\n type: Schema.tag(\"system\"),\n text: Schema.String,\n}).annotate({ identifier: \"Session.Message.System\" })\n\nexport interface Skill extends Schema.Schema.Type<typeof Skill> {}\nexport const Skill = Schema.Struct({\n ...Base,\n type: Schema.tag(\"skill\"),\n skill: SkillSchema.ID,\n name: SkillSchema.Name,\n text: Schema.String,\n}).annotate({ identifier: \"Session.Message.Skill\" })\n\nexport interface Shell extends Schema.Schema.Type<typeof Shell> {}\nexport const Shell = Schema.Struct({\n ...Base,\n type: Schema.tag(\"shell\"),\n shellID: ShellSchema.ID,\n command: Schema.String,\n status: ShellSchema.Status,\n exit: Schema.Number.pipe(optional),\n output: ShellSchema.Output.pipe(optional),\n time: Schema.Struct({\n created: DateTimeUtcFromMillis,\n completed: DateTimeUtcFromMillis.pipe(optional),\n }),\n}).annotate({ identifier: \"Session.Message.Shell\" })\n\nexport interface ToolStateStreaming extends Schema.Schema.Type<typeof ToolStateStreaming> {}\nexport const ToolStateStreaming = Schema.Struct({\n status: Schema.tag(\"streaming\"),\n input: Schema.String,\n}).annotate({ identifier: \"Session.Message.ToolState.Streaming\" })\n\nexport interface ToolStateRunning extends Schema.Schema.Type<typeof ToolStateRunning> {}\nexport const ToolStateRunning = Schema.Struct({\n status: Schema.tag(\"running\"),\n input: Schema.Record(Schema.String, Schema.Unknown),\n structured: Schema.Record(Schema.String, Schema.Unknown),\n content: ToolContent.pipe(Schema.Array),\n}).annotate({ identifier: \"Session.Message.ToolState.Running\" })\n\nexport interface ToolStateCompleted extends Schema.Schema.Type<typeof ToolStateCompleted> {}\nexport const ToolStateCompleted = Schema.Struct({\n status: Schema.tag(\"completed\"),\n input: Schema.Record(Schema.String, Schema.Unknown),\n content: ToolContent.pipe(Schema.Array),\n structured: Schema.Record(Schema.String, Schema.Unknown),\n result: Schema.Unknown.pipe(optional),\n}).annotate({ identifier: \"Session.Message.ToolState.Completed\" })\n\nexport interface ToolStateError extends Schema.Schema.Type<typeof ToolStateError> {}\nexport const ToolStateError = Schema.Struct({\n status: Schema.tag(\"error\"),\n input: Schema.Record(Schema.String, Schema.Unknown),\n content: ToolContent.pipe(Schema.Array),\n structured: Schema.Record(Schema.String, Schema.Unknown),\n error: SessionError.Error,\n result: Schema.Unknown.pipe(optional),\n}).annotate({ identifier: \"Session.Message.ToolState.Error\" })\n\nexport const ToolState = Schema.Union([ToolStateStreaming, ToolStateRunning, ToolStateCompleted, ToolStateError]).pipe(\n Schema.toTaggedUnion(\"status\"),\n)\nexport type ToolState = ToolStateStreaming | ToolStateRunning | ToolStateCompleted | ToolStateError\n\nexport interface AssistantTool extends Schema.Schema.Type<typeof AssistantTool> {}\nexport const AssistantTool = Schema.Struct({\n type: Schema.tag(\"tool\"),\n id: Schema.String,\n name: Schema.String,\n executed: Schema.Boolean.pipe(optional),\n providerState: ProviderState.pipe(optional),\n providerResultState: ProviderState.pipe(optional),\n state: ToolState,\n time: Schema.Struct({\n created: DateTimeUtcFromMillis,\n ran: DateTimeUtcFromMillis.pipe(optional),\n completed: DateTimeUtcFromMillis.pipe(optional),\n }),\n}).annotate({ identifier: \"Session.Message.Assistant.Tool\" })\n\nexport interface AssistantText extends Schema.Schema.Type<typeof AssistantText> {}\nexport const AssistantText = Schema.Struct({\n type: Schema.tag(\"text\"),\n text: Schema.String,\n}).annotate({ identifier: \"Session.Message.Assistant.Text\" })\n\nexport interface AssistantReasoning extends Schema.Schema.Type<typeof AssistantReasoning> {}\nexport const AssistantReasoning = Schema.Struct({\n type: Schema.tag(\"reasoning\"),\n text: Schema.String,\n state: ProviderState.pipe(optional),\n time: Schema.Struct({\n created: DateTimeUtcFromMillis,\n completed: DateTimeUtcFromMillis.pipe(optional),\n }).pipe(optional),\n}).annotate({ identifier: \"Session.Message.Assistant.Reasoning\" })\n\nexport const AssistantContent = Schema.Union([AssistantText, AssistantReasoning, AssistantTool]).pipe(\n Schema.toTaggedUnion(\"type\"),\n)\nexport type AssistantContent = AssistantText | AssistantReasoning | AssistantTool\n\nexport interface AssistantRetry extends Schema.Schema.Type<typeof AssistantRetry> {}\nexport const AssistantRetry = Schema.Struct({\n attempt: PositiveInt,\n at: DateTimeUtcFromMillis,\n error: SessionError.Error,\n}).annotate({ identifier: \"Session.Message.Assistant.Retry\" })\n\nexport interface Assistant extends Schema.Schema.Type<typeof Assistant> {}\nexport const Assistant = Schema.Struct({\n ...Base,\n type: Schema.tag(\"assistant\"),\n agent: Agent.ID,\n model: Model.Ref,\n content: AssistantContent.pipe(Schema.Array),\n snapshot: Schema.Struct({\n start: Snapshot.ID.pipe(optional),\n end: Snapshot.ID.pipe(optional),\n files: Schema.Array(RelativePath).pipe(optional),\n }).pipe(optional),\n finish: FinishReason.pipe(optional),\n cost: Money.USD.pipe(optional),\n tokens: TokenUsage.Info.pipe(optional),\n error: SessionError.Error.pipe(optional),\n retry: AssistantRetry.pipe(optional),\n time: Schema.Struct({\n created: DateTimeUtcFromMillis,\n completed: DateTimeUtcFromMillis.pipe(optional),\n }),\n}).annotate({ identifier: \"Session.Message.Assistant\" })\n\nconst CompactionBase = { type: Schema.tag(\"compaction\"), ...Base }\n\nexport interface CompactionRunning extends Schema.Schema.Type<typeof CompactionRunning> {}\nexport const CompactionRunning = Schema.Struct({\n ...CompactionBase,\n status: Schema.tag(\"running\"),\n reason: Schema.Literals([\"auto\", \"manual\"]),\n summary: Schema.String,\n recent: Schema.String,\n}).annotate({ identifier: \"Session.Message.Compaction.Running\" })\n\nexport interface CompactionCompleted extends Schema.Schema.Type<typeof CompactionCompleted> {}\nexport const CompactionCompleted = Schema.Struct({\n ...CompactionBase,\n status: Schema.tag(\"completed\"),\n reason: Schema.Literals([\"auto\", \"manual\"]),\n summary: Schema.String,\n recent: Schema.String,\n}).annotate({ identifier: \"Session.Message.Compaction.Completed\" })\n\nexport interface CompactionFailed extends Schema.Schema.Type<typeof CompactionFailed> {}\nexport const CompactionFailed = Schema.Struct({\n ...CompactionBase,\n status: Schema.tag(\"failed\"),\n reason: Schema.Literals([\"auto\", \"manual\"]),\n error: SessionError.Error,\n}).annotate({ identifier: \"Session.Message.Compaction.Failed\" })\n\nexport const Compaction = Schema.Union([CompactionRunning, CompactionCompleted, CompactionFailed]).pipe(\n Schema.toTaggedUnion(\"status\"),\n Schema.annotate({ identifier: \"Session.Message.Compaction\" }),\n)\nexport type Compaction = CompactionRunning | CompactionCompleted | CompactionFailed\n\nexport const Info = Schema.Union([\n AgentSelected,\n ModelSelected,\n User,\n Synthetic,\n System,\n Skill,\n Shell,\n Assistant,\n Compaction,\n])\n .pipe(Schema.toTaggedUnion(\"type\"))\n .annotate({ identifier: \"Session.Message.Info\" })\nexport type Info = AgentSelected | ModelSelected | User | Synthetic | System | Skill | Shell | Assistant | Compaction\nexport type Type = Info[\"type\"]\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "80D1CB5D313BA8FC64756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["../tui/src/prompt/display.ts"], | ||
| "sourcesContent": [ | ||
| "const graphemes = new Intl.Segmenter(undefined, { granularity: \"grapheme\" })\n\nexport function promptOffsetWidth(value: string) {\n let width = 0\n for (const part of graphemes.segment(value)) {\n // Textarea offsets count newlines as one position; Bun.stringWidth counts them as zero.\n width += part.segment === \"\\n\" ? 1 : Bun.stringWidth(part.segment)\n }\n return width\n}\n\nfunction displayOffsetIndex(value: string, offset: number) {\n if (offset <= 0) return 0\n\n let width = 0\n for (const part of graphemes.segment(value)) {\n const next = width + promptOffsetWidth(part.segment)\n if (next > offset) return part.index\n width = next\n }\n\n return value.length\n}\n\nexport function displaySlice(value: string, start = 0, end = promptOffsetWidth(value)) {\n return value.slice(displayOffsetIndex(value, start), displayOffsetIndex(value, end))\n}\n\nexport function displayCharAt(value: string, offset: number) {\n let width = 0\n for (const part of graphemes.segment(value)) {\n const next = width + promptOffsetWidth(part.segment)\n if (offset === width || offset < next) return part.segment\n width = next\n }\n}\n\nexport function mentionTriggerIndex(value: string, offset = promptOffsetWidth(value)) {\n const text = displaySlice(value, 0, offset)\n const index = text.lastIndexOf(\"@\")\n if (index === -1) return\n\n const before = index === 0 ? undefined : text[index - 1]\n const query = text.slice(index)\n if ((before === undefined || /\\s/.test(before)) && !/\\s/.test(query)) {\n return promptOffsetWidth(text.slice(0, index))\n }\n}\n" | ||
| ], | ||
| "mappings": ";AAAA,IAAM,EAAY,IAAI,KAAK,UAAU,OAAW,CAAE,YAAa,UAAW,CAAC,EAEpE,SAAS,CAAiB,CAAC,EAAe,CAC/C,IAAI,EAAQ,EACZ,QAAW,KAAQ,EAAU,QAAQ,CAAK,EAExC,GAAS,EAAK,UAAY;AAAA,EAAO,EAAI,IAAI,YAAY,EAAK,OAAO,EAEnE,OAAO,EAGT,SAAS,CAAkB,CAAC,EAAe,EAAgB,CACzD,GAAI,GAAU,EAAG,MAAO,GAExB,IAAI,EAAQ,EACZ,QAAW,KAAQ,EAAU,QAAQ,CAAK,EAAG,CAC3C,IAAM,EAAO,EAAQ,EAAkB,EAAK,OAAO,EACnD,GAAI,EAAO,EAAQ,OAAO,EAAK,MAC/B,EAAQ,EAGV,OAAO,EAAM,OAGR,SAAS,CAAY,CAAC,EAAe,EAAQ,EAAG,EAAM,EAAkB,CAAK,EAAG,CACrF,OAAO,EAAM,MAAM,EAAmB,EAAO,CAAK,EAAG,EAAmB,EAAO,CAAG,CAAC,EAG9E,SAAS,CAAa,CAAC,EAAe,EAAgB,CAC3D,IAAI,EAAQ,EACZ,QAAW,KAAQ,EAAU,QAAQ,CAAK,EAAG,CAC3C,IAAM,EAAO,EAAQ,EAAkB,EAAK,OAAO,EACnD,GAAI,IAAW,GAAS,EAAS,EAAM,OAAO,EAAK,QACnD,EAAQ,GAIL,SAAS,CAAmB,CAAC,EAAe,EAAS,EAAkB,CAAK,EAAG,CACpF,IAAM,EAAO,EAAa,EAAO,EAAG,CAAM,EACpC,EAAQ,EAAK,YAAY,GAAG,EAClC,GAAI,IAAU,GAAI,OAElB,IAAM,EAAS,IAAU,EAAI,OAAY,EAAK,EAAQ,GAChD,EAAQ,EAAK,MAAM,CAAK,EAC9B,IAAK,IAAW,QAAa,KAAK,KAAK,CAAM,IAAM,CAAC,KAAK,KAAK,CAAK,EACjE,OAAO,EAAkB,EAAK,MAAM,EAAG,CAAK,CAAC", | ||
| "debugId": "D83C3B45A5699AA864756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@opentelemetry+resources@2.6.1+460773ef8ff1e07c/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/machine-id/getMachineId-bsd.js"], | ||
| "sourcesContent": [ | ||
| "\"use strict\";\n/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getMachineId = void 0;\nconst fs_1 = require(\"fs\");\nconst execAsync_1 = require(\"./execAsync\");\nconst api_1 = require(\"@opentelemetry/api\");\nasync function getMachineId() {\n try {\n const result = await fs_1.promises.readFile('/etc/hostid', { encoding: 'utf8' });\n return result.trim();\n }\n catch (e) {\n api_1.diag.debug(`error reading machine id: ${e}`);\n }\n try {\n const result = await (0, execAsync_1.execAsync)('kenv -q smbios.system.uuid');\n return result.stdout.trim();\n }\n catch (e) {\n api_1.diag.debug(`error reading machine id: ${e}`);\n }\n return undefined;\n}\nexports.getMachineId = getMachineId;\n//# sourceMappingURL=getMachineId-bsd.js.map" | ||
| ], | ||
| "mappings": ";wKAKA,YAAO,oBAAe,EAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EACpD,eAAoB,OAC5B,IAAM,UACA,MACA,MACN,eAAe,CAAY,EAAG,CAC1B,GAAI,CAEA,OADe,MAAM,EAAK,SAAS,SAAS,cAAe,CAAE,SAAU,MAAO,CAAC,GACjE,KAAK,EAEvB,MAAO,EAAG,CACN,EAAM,KAAK,MAAM,6BAA6B,GAAG,EAErD,GAAI,CAEA,OADe,MAAO,EAAG,EAAY,WAAW,4BAA4B,GAC9D,OAAO,KAAK,EAE9B,MAAO,EAAG,CACN,EAAM,KAAK,MAAM,6BAA6B,GAAG,EAErD,OAEI,eAAe", | ||
| "debugId": "01B43F804C3DABF364756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/isexe@2.0.0/node_modules/isexe/windows.js", "../../node_modules/.bun/isexe@2.0.0/node_modules/isexe/mode.js", "../../node_modules/.bun/isexe@2.0.0/node_modules/isexe/index.js", "../../node_modules/.bun/which@2.0.2/node_modules/which/which.js", "../../node_modules/.bun/path-key@3.1.1/node_modules/path-key/index.js", "../../node_modules/.bun/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/resolveCommand.js", "../../node_modules/.bun/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/escape.js", "../../node_modules/.bun/shebang-regex@3.0.0/node_modules/shebang-regex/index.js", "../../node_modules/.bun/shebang-command@2.0.0/node_modules/shebang-command/index.js", "../../node_modules/.bun/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/readShebang.js", "../../node_modules/.bun/cross-spawn@7.0.6/node_modules/cross-spawn/lib/parse.js", "../../node_modules/.bun/cross-spawn@7.0.6/node_modules/cross-spawn/lib/enoent.js", "../../node_modules/.bun/cross-spawn@7.0.6/node_modules/cross-spawn/index.js"], | ||
| "sourcesContent": [ | ||
| "module.exports = isexe\nisexe.sync = sync\n\nvar fs = require('fs')\n\nfunction checkPathExt (path, options) {\n var pathext = options.pathExt !== undefined ?\n options.pathExt : process.env.PATHEXT\n\n if (!pathext) {\n return true\n }\n\n pathext = pathext.split(';')\n if (pathext.indexOf('') !== -1) {\n return true\n }\n for (var i = 0; i < pathext.length; i++) {\n var p = pathext[i].toLowerCase()\n if (p && path.substr(-p.length).toLowerCase() === p) {\n return true\n }\n }\n return false\n}\n\nfunction checkStat (stat, path, options) {\n if (!stat.isSymbolicLink() && !stat.isFile()) {\n return false\n }\n return checkPathExt(path, options)\n}\n\nfunction isexe (path, options, cb) {\n fs.stat(path, function (er, stat) {\n cb(er, er ? false : checkStat(stat, path, options))\n })\n}\n\nfunction sync (path, options) {\n return checkStat(fs.statSync(path), path, options)\n}\n", | ||
| "module.exports = isexe\nisexe.sync = sync\n\nvar fs = require('fs')\n\nfunction isexe (path, options, cb) {\n fs.stat(path, function (er, stat) {\n cb(er, er ? false : checkStat(stat, options))\n })\n}\n\nfunction sync (path, options) {\n return checkStat(fs.statSync(path), options)\n}\n\nfunction checkStat (stat, options) {\n return stat.isFile() && checkMode(stat, options)\n}\n\nfunction checkMode (stat, options) {\n var mod = stat.mode\n var uid = stat.uid\n var gid = stat.gid\n\n var myUid = options.uid !== undefined ?\n options.uid : process.getuid && process.getuid()\n var myGid = options.gid !== undefined ?\n options.gid : process.getgid && process.getgid()\n\n var u = parseInt('100', 8)\n var g = parseInt('010', 8)\n var o = parseInt('001', 8)\n var ug = u | g\n\n var ret = (mod & o) ||\n (mod & g) && gid === myGid ||\n (mod & u) && uid === myUid ||\n (mod & ug) && myUid === 0\n\n return ret\n}\n", | ||
| "var fs = require('fs')\nvar core\nif (process.platform === 'win32' || global.TESTING_WINDOWS) {\n core = require('./windows.js')\n} else {\n core = require('./mode.js')\n}\n\nmodule.exports = isexe\nisexe.sync = sync\n\nfunction isexe (path, options, cb) {\n if (typeof options === 'function') {\n cb = options\n options = {}\n }\n\n if (!cb) {\n if (typeof Promise !== 'function') {\n throw new TypeError('callback not provided')\n }\n\n return new Promise(function (resolve, reject) {\n isexe(path, options || {}, function (er, is) {\n if (er) {\n reject(er)\n } else {\n resolve(is)\n }\n })\n })\n }\n\n core(path, options || {}, function (er, is) {\n // ignore EACCES because that just means we aren't allowed to run it\n if (er) {\n if (er.code === 'EACCES' || options && options.ignoreErrors) {\n er = null\n is = false\n }\n }\n cb(er, is)\n })\n}\n\nfunction sync (path, options) {\n // my kingdom for a filtered catch\n try {\n return core.sync(path, options || {})\n } catch (er) {\n if (options && options.ignoreErrors || er.code === 'EACCES') {\n return false\n } else {\n throw er\n }\n }\n}\n", | ||
| "const isWindows = process.platform === 'win32' ||\n process.env.OSTYPE === 'cygwin' ||\n process.env.OSTYPE === 'msys'\n\nconst path = require('path')\nconst COLON = isWindows ? ';' : ':'\nconst isexe = require('isexe')\n\nconst getNotFoundError = (cmd) =>\n Object.assign(new Error(`not found: ${cmd}`), { code: 'ENOENT' })\n\nconst getPathInfo = (cmd, opt) => {\n const colon = opt.colon || COLON\n\n // If it has a slash, then we don't bother searching the pathenv.\n // just check the file itself, and that's it.\n const pathEnv = cmd.match(/\\//) || isWindows && cmd.match(/\\\\/) ? ['']\n : (\n [\n // windows always checks the cwd first\n ...(isWindows ? [process.cwd()] : []),\n ...(opt.path || process.env.PATH ||\n /* istanbul ignore next: very unusual */ '').split(colon),\n ]\n )\n const pathExtExe = isWindows\n ? opt.pathExt || process.env.PATHEXT || '.EXE;.CMD;.BAT;.COM'\n : ''\n const pathExt = isWindows ? pathExtExe.split(colon) : ['']\n\n if (isWindows) {\n if (cmd.indexOf('.') !== -1 && pathExt[0] !== '')\n pathExt.unshift('')\n }\n\n return {\n pathEnv,\n pathExt,\n pathExtExe,\n }\n}\n\nconst which = (cmd, opt, cb) => {\n if (typeof opt === 'function') {\n cb = opt\n opt = {}\n }\n if (!opt)\n opt = {}\n\n const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt)\n const found = []\n\n const step = i => new Promise((resolve, reject) => {\n if (i === pathEnv.length)\n return opt.all && found.length ? resolve(found)\n : reject(getNotFoundError(cmd))\n\n const ppRaw = pathEnv[i]\n const pathPart = /^\".*\"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw\n\n const pCmd = path.join(pathPart, cmd)\n const p = !pathPart && /^\\.[\\\\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd\n : pCmd\n\n resolve(subStep(p, i, 0))\n })\n\n const subStep = (p, i, ii) => new Promise((resolve, reject) => {\n if (ii === pathExt.length)\n return resolve(step(i + 1))\n const ext = pathExt[ii]\n isexe(p + ext, { pathExt: pathExtExe }, (er, is) => {\n if (!er && is) {\n if (opt.all)\n found.push(p + ext)\n else\n return resolve(p + ext)\n }\n return resolve(subStep(p, i, ii + 1))\n })\n })\n\n return cb ? step(0).then(res => cb(null, res), cb) : step(0)\n}\n\nconst whichSync = (cmd, opt) => {\n opt = opt || {}\n\n const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt)\n const found = []\n\n for (let i = 0; i < pathEnv.length; i ++) {\n const ppRaw = pathEnv[i]\n const pathPart = /^\".*\"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw\n\n const pCmd = path.join(pathPart, cmd)\n const p = !pathPart && /^\\.[\\\\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd\n : pCmd\n\n for (let j = 0; j < pathExt.length; j ++) {\n const cur = p + pathExt[j]\n try {\n const is = isexe.sync(cur, { pathExt: pathExtExe })\n if (is) {\n if (opt.all)\n found.push(cur)\n else\n return cur\n }\n } catch (ex) {}\n }\n }\n\n if (opt.all && found.length)\n return found\n\n if (opt.nothrow)\n return null\n\n throw getNotFoundError(cmd)\n}\n\nmodule.exports = which\nwhich.sync = whichSync\n", | ||
| "'use strict';\n\nconst pathKey = (options = {}) => {\n\tconst environment = options.env || process.env;\n\tconst platform = options.platform || process.platform;\n\n\tif (platform !== 'win32') {\n\t\treturn 'PATH';\n\t}\n\n\treturn Object.keys(environment).reverse().find(key => key.toUpperCase() === 'PATH') || 'Path';\n};\n\nmodule.exports = pathKey;\n// TODO: Remove this for the next major release\nmodule.exports.default = pathKey;\n", | ||
| "'use strict';\n\nconst path = require('path');\nconst which = require('which');\nconst getPathKey = require('path-key');\n\nfunction resolveCommandAttempt(parsed, withoutPathExt) {\n const env = parsed.options.env || process.env;\n const cwd = process.cwd();\n const hasCustomCwd = parsed.options.cwd != null;\n // Worker threads do not have process.chdir()\n const shouldSwitchCwd = hasCustomCwd && process.chdir !== undefined && !process.chdir.disabled;\n\n // If a custom `cwd` was specified, we need to change the process cwd\n // because `which` will do stat calls but does not support a custom cwd\n if (shouldSwitchCwd) {\n try {\n process.chdir(parsed.options.cwd);\n } catch (err) {\n /* Empty */\n }\n }\n\n let resolved;\n\n try {\n resolved = which.sync(parsed.command, {\n path: env[getPathKey({ env })],\n pathExt: withoutPathExt ? path.delimiter : undefined,\n });\n } catch (e) {\n /* Empty */\n } finally {\n if (shouldSwitchCwd) {\n process.chdir(cwd);\n }\n }\n\n // If we successfully resolved, ensure that an absolute path is returned\n // Note that when a custom `cwd` was used, we need to resolve to an absolute path based on it\n if (resolved) {\n resolved = path.resolve(hasCustomCwd ? parsed.options.cwd : '', resolved);\n }\n\n return resolved;\n}\n\nfunction resolveCommand(parsed) {\n return resolveCommandAttempt(parsed) || resolveCommandAttempt(parsed, true);\n}\n\nmodule.exports = resolveCommand;\n", | ||
| "'use strict';\n\n// See http://www.robvanderwoude.com/escapechars.php\nconst metaCharsRegExp = /([()\\][%!^\"`<>&|;, *?])/g;\n\nfunction escapeCommand(arg) {\n // Escape meta chars\n arg = arg.replace(metaCharsRegExp, '^$1');\n\n return arg;\n}\n\nfunction escapeArgument(arg, doubleEscapeMetaChars) {\n // Convert to string\n arg = `${arg}`;\n\n // Algorithm below is based on https://qntm.org/cmd\n // It's slightly altered to disable JS backtracking to avoid hanging on specially crafted input\n // Please see https://github.com/moxystudio/node-cross-spawn/pull/160 for more information\n\n // Sequence of backslashes followed by a double quote:\n // double up all the backslashes and escape the double quote\n arg = arg.replace(/(?=(\\\\+?)?)\\1\"/g, '$1$1\\\\\"');\n\n // Sequence of backslashes followed by the end of the string\n // (which will become a double quote later):\n // double up all the backslashes\n arg = arg.replace(/(?=(\\\\+?)?)\\1$/, '$1$1');\n\n // All other backslashes occur literally\n\n // Quote the whole thing:\n arg = `\"${arg}\"`;\n\n // Escape meta chars\n arg = arg.replace(metaCharsRegExp, '^$1');\n\n // Double escape meta chars if necessary\n if (doubleEscapeMetaChars) {\n arg = arg.replace(metaCharsRegExp, '^$1');\n }\n\n return arg;\n}\n\nmodule.exports.command = escapeCommand;\nmodule.exports.argument = escapeArgument;\n", | ||
| "'use strict';\nmodule.exports = /^#!(.*)/;\n", | ||
| "'use strict';\nconst shebangRegex = require('shebang-regex');\n\nmodule.exports = (string = '') => {\n\tconst match = string.match(shebangRegex);\n\n\tif (!match) {\n\t\treturn null;\n\t}\n\n\tconst [path, argument] = match[0].replace(/#! ?/, '').split(' ');\n\tconst binary = path.split('/').pop();\n\n\tif (binary === 'env') {\n\t\treturn argument;\n\t}\n\n\treturn argument ? `${binary} ${argument}` : binary;\n};\n", | ||
| "'use strict';\n\nconst fs = require('fs');\nconst shebangCommand = require('shebang-command');\n\nfunction readShebang(command) {\n // Read the first 150 bytes from the file\n const size = 150;\n const buffer = Buffer.alloc(size);\n\n let fd;\n\n try {\n fd = fs.openSync(command, 'r');\n fs.readSync(fd, buffer, 0, size, 0);\n fs.closeSync(fd);\n } catch (e) { /* Empty */ }\n\n // Attempt to extract shebang (null is returned if not a shebang)\n return shebangCommand(buffer.toString());\n}\n\nmodule.exports = readShebang;\n", | ||
| "'use strict';\n\nconst path = require('path');\nconst resolveCommand = require('./util/resolveCommand');\nconst escape = require('./util/escape');\nconst readShebang = require('./util/readShebang');\n\nconst isWin = process.platform === 'win32';\nconst isExecutableRegExp = /\\.(?:com|exe)$/i;\nconst isCmdShimRegExp = /node_modules[\\\\/].bin[\\\\/][^\\\\/]+\\.cmd$/i;\n\nfunction detectShebang(parsed) {\n parsed.file = resolveCommand(parsed);\n\n const shebang = parsed.file && readShebang(parsed.file);\n\n if (shebang) {\n parsed.args.unshift(parsed.file);\n parsed.command = shebang;\n\n return resolveCommand(parsed);\n }\n\n return parsed.file;\n}\n\nfunction parseNonShell(parsed) {\n if (!isWin) {\n return parsed;\n }\n\n // Detect & add support for shebangs\n const commandFile = detectShebang(parsed);\n\n // We don't need a shell if the command filename is an executable\n const needsShell = !isExecutableRegExp.test(commandFile);\n\n // If a shell is required, use cmd.exe and take care of escaping everything correctly\n // Note that `forceShell` is an hidden option used only in tests\n if (parsed.options.forceShell || needsShell) {\n // Need to double escape meta chars if the command is a cmd-shim located in `node_modules/.bin/`\n // The cmd-shim simply calls execute the package bin file with NodeJS, proxying any argument\n // Because the escape of metachars with ^ gets interpreted when the cmd.exe is first called,\n // we need to double escape them\n const needsDoubleEscapeMetaChars = isCmdShimRegExp.test(commandFile);\n\n // Normalize posix paths into OS compatible paths (e.g.: foo/bar -> foo\\bar)\n // This is necessary otherwise it will always fail with ENOENT in those cases\n parsed.command = path.normalize(parsed.command);\n\n // Escape command & arguments\n parsed.command = escape.command(parsed.command);\n parsed.args = parsed.args.map((arg) => escape.argument(arg, needsDoubleEscapeMetaChars));\n\n const shellCommand = [parsed.command].concat(parsed.args).join(' ');\n\n parsed.args = ['/d', '/s', '/c', `\"${shellCommand}\"`];\n parsed.command = process.env.comspec || 'cmd.exe';\n parsed.options.windowsVerbatimArguments = true; // Tell node's spawn that the arguments are already escaped\n }\n\n return parsed;\n}\n\nfunction parse(command, args, options) {\n // Normalize arguments, similar to nodejs\n if (args && !Array.isArray(args)) {\n options = args;\n args = null;\n }\n\n args = args ? args.slice(0) : []; // Clone array to avoid changing the original\n options = Object.assign({}, options); // Clone object to avoid changing the original\n\n // Build our parsed object\n const parsed = {\n command,\n args,\n options,\n file: undefined,\n original: {\n command,\n args,\n },\n };\n\n // Delegate further parsing to shell or non-shell\n return options.shell ? parsed : parseNonShell(parsed);\n}\n\nmodule.exports = parse;\n", | ||
| "'use strict';\n\nconst isWin = process.platform === 'win32';\n\nfunction notFoundError(original, syscall) {\n return Object.assign(new Error(`${syscall} ${original.command} ENOENT`), {\n code: 'ENOENT',\n errno: 'ENOENT',\n syscall: `${syscall} ${original.command}`,\n path: original.command,\n spawnargs: original.args,\n });\n}\n\nfunction hookChildProcess(cp, parsed) {\n if (!isWin) {\n return;\n }\n\n const originalEmit = cp.emit;\n\n cp.emit = function (name, arg1) {\n // If emitting \"exit\" event and exit code is 1, we need to check if\n // the command exists and emit an \"error\" instead\n // See https://github.com/IndigoUnited/node-cross-spawn/issues/16\n if (name === 'exit') {\n const err = verifyENOENT(arg1, parsed);\n\n if (err) {\n return originalEmit.call(cp, 'error', err);\n }\n }\n\n return originalEmit.apply(cp, arguments); // eslint-disable-line prefer-rest-params\n };\n}\n\nfunction verifyENOENT(status, parsed) {\n if (isWin && status === 1 && !parsed.file) {\n return notFoundError(parsed.original, 'spawn');\n }\n\n return null;\n}\n\nfunction verifyENOENTSync(status, parsed) {\n if (isWin && status === 1 && !parsed.file) {\n return notFoundError(parsed.original, 'spawnSync');\n }\n\n return null;\n}\n\nmodule.exports = {\n hookChildProcess,\n verifyENOENT,\n verifyENOENTSync,\n notFoundError,\n};\n", | ||
| "'use strict';\n\nconst cp = require('child_process');\nconst parse = require('./lib/parse');\nconst enoent = require('./lib/enoent');\n\nfunction spawn(command, args, options) {\n // Parse the arguments\n const parsed = parse(command, args, options);\n\n // Spawn the child process\n const spawned = cp.spawn(parsed.command, parsed.args, parsed.options);\n\n // Hook into child process \"exit\" event to emit an error if the command\n // does not exists, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16\n enoent.hookChildProcess(spawned, parsed);\n\n return spawned;\n}\n\nfunction spawnSync(command, args, options) {\n // Parse the arguments\n const parsed = parse(command, args, options);\n\n // Spawn the child process\n const result = cp.spawnSync(parsed.command, parsed.args, parsed.options);\n\n // Analyze if the command does not exist, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16\n result.error = result.error || enoent.verifyENOENTSync(result.status, parsed);\n\n return result;\n}\n\nmodule.exports = spawn;\nmodule.exports.spawn = spawn;\nmodule.exports.sync = spawnSync;\n\nmodule.exports._parse = parse;\nmodule.exports._enoent = enoent;\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "444BE9D66CDF608F64756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/uqr@0.1.3/node_modules/uqr/dist/index.mjs"], | ||
| "sourcesContent": [ | ||
| "var QrCodeDataType = /* @__PURE__ */ ((QrCodeDataType2) => {\n QrCodeDataType2[QrCodeDataType2[\"Border\"] = -1] = \"Border\";\n QrCodeDataType2[QrCodeDataType2[\"Data\"] = 0] = \"Data\";\n QrCodeDataType2[QrCodeDataType2[\"Function\"] = 1] = \"Function\";\n QrCodeDataType2[QrCodeDataType2[\"Position\"] = 2] = \"Position\";\n QrCodeDataType2[QrCodeDataType2[\"Timing\"] = 3] = \"Timing\";\n QrCodeDataType2[QrCodeDataType2[\"Alignment\"] = 4] = \"Alignment\";\n return QrCodeDataType2;\n})(QrCodeDataType || {});\n\nconst LOW = [0, 1];\nconst MEDIUM = [1, 0];\nconst QUARTILE = [2, 3];\nconst HIGH = [3, 2];\nconst EccMap = {\n L: LOW,\n M: MEDIUM,\n Q: QUARTILE,\n H: HIGH\n};\nconst NUMERIC_REGEX = /^\\d*$/;\nconst ALPHANUMERIC_REGEX = /^[A-Z0-9 $%*+./:-]*$/;\nconst ALPHANUMERIC_CHARSET = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:\";\nconst MIN_VERSION = 1;\nconst MAX_VERSION = 40;\nconst PENALTY_N1 = 3;\nconst PENALTY_N2 = 3;\nconst PENALTY_N3 = 40;\nconst PENALTY_N4 = 10;\nconst ECC_CODEWORDS_PER_BLOCK = [\n // Version: (note that index 0 is for padding, and is set to an illegal value)\n // 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40 Error correction level\n [-1, 7, 10, 15, 20, 26, 18, 20, 24, 30, 18, 20, 24, 26, 30, 22, 24, 28, 30, 28, 28, 28, 28, 30, 30, 26, 28, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30],\n // Low\n [-1, 10, 16, 26, 18, 24, 16, 18, 22, 22, 26, 30, 22, 22, 24, 24, 28, 28, 26, 26, 26, 26, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28],\n // Medium\n [-1, 13, 22, 18, 26, 18, 24, 18, 22, 20, 24, 28, 26, 24, 20, 30, 24, 28, 28, 26, 30, 28, 30, 30, 30, 30, 28, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30],\n // Quartile\n [-1, 17, 28, 22, 16, 22, 28, 26, 26, 24, 28, 24, 28, 22, 24, 24, 30, 28, 28, 26, 28, 30, 24, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30]\n // High\n];\nconst NUM_ERROR_CORRECTION_BLOCKS = [\n // Version: (note that index 0 is for padding, and is set to an illegal value)\n // 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40 Error correction level\n [-1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 4, 4, 4, 4, 4, 6, 6, 6, 6, 7, 8, 8, 9, 9, 10, 12, 12, 12, 13, 14, 15, 16, 17, 18, 19, 19, 20, 21, 22, 24, 25],\n // Low\n [-1, 1, 1, 1, 2, 2, 4, 4, 4, 5, 5, 5, 8, 9, 9, 10, 10, 11, 13, 14, 16, 17, 17, 18, 20, 21, 23, 25, 26, 28, 29, 31, 33, 35, 37, 38, 40, 43, 45, 47, 49],\n // Medium\n [-1, 1, 1, 2, 2, 4, 4, 6, 6, 8, 8, 8, 10, 12, 16, 12, 17, 16, 18, 21, 20, 23, 23, 25, 27, 29, 34, 34, 35, 38, 40, 43, 45, 48, 51, 53, 56, 59, 62, 65, 68],\n // Quartile\n [-1, 1, 1, 2, 4, 4, 4, 5, 6, 8, 8, 11, 11, 16, 16, 18, 16, 19, 21, 25, 25, 25, 34, 30, 32, 35, 37, 40, 42, 45, 48, 51, 54, 57, 60, 63, 66, 70, 74, 77, 81]\n // High\n];\nclass QrCode {\n /* -- Constructor (low level) and fields -- */\n // Creates a new QR Code with the given version number,\n // error correction level, data codeword bytes, and mask number.\n // This is a low-level API that most users should not use directly.\n // A mid-level API is the encodeSegments() function.\n constructor(version, ecc, dataCodewords, msk) {\n this.version = version;\n this.ecc = ecc;\n if (version < MIN_VERSION || version > MAX_VERSION)\n throw new RangeError(\"Version value out of range\");\n if (msk < -1 || msk > 7)\n throw new RangeError(\"Mask value out of range\");\n this.size = version * 4 + 17;\n const row = Array.from({ length: this.size }).fill(false);\n for (let i = 0; i < this.size; i++) {\n this.modules.push(row.slice());\n this.types.push(row.map(() => 0));\n }\n this.drawFunctionPatterns();\n const allCodewords = this.addEccAndInterleave(dataCodewords);\n this.drawCodewords(allCodewords);\n if (msk === -1) {\n let minPenalty = 1e9;\n for (let i = 0; i < 8; i++) {\n this.applyMask(i);\n this.drawFormatBits(i);\n const penalty = this.getPenaltyScore();\n if (penalty < minPenalty) {\n msk = i;\n minPenalty = penalty;\n }\n this.applyMask(i);\n }\n }\n this.mask = msk;\n this.applyMask(msk);\n this.drawFormatBits(msk);\n }\n /* -- Fields -- */\n // The width and height of this QR Code, measured in modules, between\n // 21 and 177 (inclusive). This is equal to version * 4 + 17.\n size;\n // The index of the mask pattern used in this QR Code, which is between 0 and 7 (inclusive).\n // Even if a QR Code is created with automatic masking requested (mask = -1),\n // the resulting object still has a mask value between 0 and 7.\n mask;\n // The modules of this QR Code (false = light, true = dark).\n // Immutable after constructor finishes. Accessed through getModule().\n modules = [];\n types = [];\n /* -- Accessor methods -- */\n // Returns the color of the module (pixel) at the given coordinates, which is false\n // for light or true for dark. The top left corner has the coordinates (x=0, y=0).\n // If the given coordinates are out of bounds, then false (light) is returned.\n getModule(x, y) {\n return x >= 0 && x < this.size && y >= 0 && y < this.size && this.modules[y][x];\n }\n /* -- Private helper methods for constructor: Drawing function modules -- */\n // Reads this object's version field, and draws and marks all function modules.\n drawFunctionPatterns() {\n for (let i = 0; i < this.size; i++) {\n this.setFunctionModule(6, i, i % 2 === 0, QrCodeDataType.Timing);\n this.setFunctionModule(i, 6, i % 2 === 0, QrCodeDataType.Timing);\n }\n this.drawFinderPattern(3, 3);\n this.drawFinderPattern(this.size - 4, 3);\n this.drawFinderPattern(3, this.size - 4);\n const alignPatPos = this.getAlignmentPatternPositions();\n const numAlign = alignPatPos.length;\n for (let i = 0; i < numAlign; i++) {\n for (let j = 0; j < numAlign; j++) {\n if (!(i === 0 && j === 0 || i === 0 && j === numAlign - 1 || i === numAlign - 1 && j === 0))\n this.drawAlignmentPattern(alignPatPos[i], alignPatPos[j]);\n }\n }\n this.drawFormatBits(0);\n this.drawVersion();\n }\n // Draws two copies of the format bits (with its own error correction code)\n // based on the given mask and this object's error correction level field.\n drawFormatBits(mask) {\n const data = this.ecc[1] << 3 | mask;\n let rem = data;\n for (let i = 0; i < 10; i++)\n rem = rem << 1 ^ (rem >>> 9) * 1335;\n const bits = (data << 10 | rem) ^ 21522;\n for (let i = 0; i <= 5; i++)\n this.setFunctionModule(8, i, getBit(bits, i));\n this.setFunctionModule(8, 7, getBit(bits, 6));\n this.setFunctionModule(8, 8, getBit(bits, 7));\n this.setFunctionModule(7, 8, getBit(bits, 8));\n for (let i = 9; i < 15; i++)\n this.setFunctionModule(14 - i, 8, getBit(bits, i));\n for (let i = 0; i < 8; i++)\n this.setFunctionModule(this.size - 1 - i, 8, getBit(bits, i));\n for (let i = 8; i < 15; i++)\n this.setFunctionModule(8, this.size - 15 + i, getBit(bits, i));\n this.setFunctionModule(8, this.size - 8, true);\n }\n // Draws two copies of the version bits (with its own error correction code),\n // based on this object's version field, iff 7 <= version <= 40.\n drawVersion() {\n if (this.version < 7)\n return;\n let rem = this.version;\n for (let i = 0; i < 12; i++)\n rem = rem << 1 ^ (rem >>> 11) * 7973;\n const bits = this.version << 12 | rem;\n for (let i = 0; i < 18; i++) {\n const color = getBit(bits, i);\n const a = this.size - 11 + i % 3;\n const b = Math.floor(i / 3);\n this.setFunctionModule(a, b, color);\n this.setFunctionModule(b, a, color);\n }\n }\n // Draws a 9*9 finder pattern including the border separator,\n // with the center module at (x, y). Modules can be out of bounds.\n drawFinderPattern(x, y) {\n for (let dy = -4; dy <= 4; dy++) {\n for (let dx = -4; dx <= 4; dx++) {\n const dist = Math.max(Math.abs(dx), Math.abs(dy));\n const xx = x + dx;\n const yy = y + dy;\n if (xx >= 0 && xx < this.size && yy >= 0 && yy < this.size)\n this.setFunctionModule(xx, yy, dist !== 2 && dist !== 4, QrCodeDataType.Position);\n }\n }\n }\n // Draws a 5*5 alignment pattern, with the center module\n // at (x, y). All modules must be in bounds.\n drawAlignmentPattern(x, y) {\n for (let dy = -2; dy <= 2; dy++) {\n for (let dx = -2; dx <= 2; dx++) {\n this.setFunctionModule(\n x + dx,\n y + dy,\n Math.max(Math.abs(dx), Math.abs(dy)) !== 1,\n QrCodeDataType.Alignment\n );\n }\n }\n }\n // Sets the color of a module and marks it as a function module.\n // Only used by the constructor. Coordinates must be in bounds.\n setFunctionModule(x, y, isDark, type = QrCodeDataType.Function) {\n this.modules[y][x] = isDark;\n this.types[y][x] = type;\n }\n /* -- Private helper methods for constructor: Codewords and masking -- */\n // Returns a new byte string representing the given data with the appropriate error correction\n // codewords appended to it, based on this object's version and error correction level.\n addEccAndInterleave(data) {\n const ver = this.version;\n const ecl = this.ecc;\n if (data.length !== getNumDataCodewords(ver, ecl))\n throw new RangeError(\"Invalid argument\");\n const numBlocks = NUM_ERROR_CORRECTION_BLOCKS[ecl[0]][ver];\n const blockEccLen = ECC_CODEWORDS_PER_BLOCK[ecl[0]][ver];\n const rawCodewords = Math.floor(getNumRawDataModules(ver) / 8);\n const numShortBlocks = numBlocks - rawCodewords % numBlocks;\n const shortBlockLen = Math.floor(rawCodewords / numBlocks);\n const blocks = [];\n const rsDiv = reedSolomonComputeDivisor(blockEccLen);\n for (let i = 0, k = 0; i < numBlocks; i++) {\n const dat = data.slice(k, k + shortBlockLen - blockEccLen + (i < numShortBlocks ? 0 : 1));\n k += dat.length;\n const ecc = reedSolomonComputeRemainder(dat, rsDiv);\n if (i < numShortBlocks)\n dat.push(0);\n blocks.push(dat.concat(ecc));\n }\n const result = [];\n for (let i = 0; i < blocks[0].length; i++) {\n blocks.forEach((block, j) => {\n if (i !== shortBlockLen - blockEccLen || j >= numShortBlocks)\n result.push(block[i]);\n });\n }\n return result;\n }\n // Draws the given sequence of 8-bit codewords (data and error correction) onto the entire\n // data area of this QR Code. Function modules need to be marked off before this is called.\n drawCodewords(data) {\n if (data.length !== Math.floor(getNumRawDataModules(this.version) / 8))\n throw new RangeError(\"Invalid argument\");\n let i = 0;\n for (let right = this.size - 1; right >= 1; right -= 2) {\n if (right === 6)\n right = 5;\n for (let vert = 0; vert < this.size; vert++) {\n for (let j = 0; j < 2; j++) {\n const x = right - j;\n const upward = (right + 1 & 2) === 0;\n const y = upward ? this.size - 1 - vert : vert;\n if (!this.types[y][x] && i < data.length * 8) {\n this.modules[y][x] = getBit(data[i >>> 3], 7 - (i & 7));\n i++;\n }\n }\n }\n }\n }\n // XORs the codeword modules in this QR Code with the given mask pattern.\n // The function modules must be marked and the codeword bits must be drawn\n // before masking. Due to the arithmetic of XOR, calling applyMask() with\n // the same mask value a second time will undo the mask. A final well-formed\n // QR Code needs exactly one (not zero, two, etc.) mask applied.\n applyMask(mask) {\n if (mask < 0 || mask > 7)\n throw new RangeError(\"Mask value out of range\");\n for (let y = 0; y < this.size; y++) {\n for (let x = 0; x < this.size; x++) {\n let invert;\n switch (mask) {\n case 0:\n invert = (x + y) % 2 === 0;\n break;\n case 1:\n invert = y % 2 === 0;\n break;\n case 2:\n invert = x % 3 === 0;\n break;\n case 3:\n invert = (x + y) % 3 === 0;\n break;\n case 4:\n invert = (Math.floor(x / 3) + Math.floor(y / 2)) % 2 === 0;\n break;\n case 5:\n invert = x * y % 2 + x * y % 3 === 0;\n break;\n case 6:\n invert = (x * y % 2 + x * y % 3) % 2 === 0;\n break;\n case 7:\n invert = ((x + y) % 2 + x * y % 3) % 2 === 0;\n break;\n default:\n throw new Error(\"Unreachable\");\n }\n if (!this.types[y][x] && invert)\n this.modules[y][x] = !this.modules[y][x];\n }\n }\n }\n // Calculates and returns the penalty score based on state of this QR Code's current modules.\n // This is used by the automatic mask choice algorithm to find the mask pattern that yields the lowest score.\n getPenaltyScore() {\n let result = 0;\n for (let y = 0; y < this.size; y++) {\n let runColor = false;\n let runX = 0;\n const runHistory = [0, 0, 0, 0, 0, 0, 0];\n for (let x = 0; x < this.size; x++) {\n if (this.modules[y][x] === runColor) {\n runX++;\n if (runX === 5)\n result += PENALTY_N1;\n else if (runX > 5)\n result++;\n } else {\n this.finderPenaltyAddHistory(runX, runHistory);\n if (!runColor)\n result += this.finderPenaltyCountPatterns(runHistory) * PENALTY_N3;\n runColor = this.modules[y][x];\n runX = 1;\n }\n }\n result += this.finderPenaltyTerminateAndCount(runColor, runX, runHistory) * PENALTY_N3;\n }\n for (let x = 0; x < this.size; x++) {\n let runColor = false;\n let runY = 0;\n const runHistory = [0, 0, 0, 0, 0, 0, 0];\n for (let y = 0; y < this.size; y++) {\n if (this.modules[y][x] === runColor) {\n runY++;\n if (runY === 5)\n result += PENALTY_N1;\n else if (runY > 5)\n result++;\n } else {\n this.finderPenaltyAddHistory(runY, runHistory);\n if (!runColor)\n result += this.finderPenaltyCountPatterns(runHistory) * PENALTY_N3;\n runColor = this.modules[y][x];\n runY = 1;\n }\n }\n result += this.finderPenaltyTerminateAndCount(runColor, runY, runHistory) * PENALTY_N3;\n }\n for (let y = 0; y < this.size - 1; y++) {\n for (let x = 0; x < this.size - 1; x++) {\n const color = this.modules[y][x];\n if (color === this.modules[y][x + 1] && color === this.modules[y + 1][x] && color === this.modules[y + 1][x + 1]) {\n result += PENALTY_N2;\n }\n }\n }\n let dark = 0;\n for (const row of this.modules)\n dark = row.reduce((sum, color) => sum + (color ? 1 : 0), dark);\n const total = this.size * this.size;\n const k = Math.ceil(Math.abs(dark * 20 - total * 10) / total) - 1;\n result += k * PENALTY_N4;\n return result;\n }\n /* -- Private helper functions -- */\n // Returns an ascending list of positions of alignment patterns for this version number.\n // Each position is in the range [0,177), and are used on both the x and y axes.\n // This could be implemented as lookup table of 40 variable-length lists of integers.\n getAlignmentPatternPositions() {\n if (this.version === 1) {\n return [];\n } else {\n const numAlign = Math.floor(this.version / 7) + 2;\n const step = this.version === 32 ? 26 : Math.ceil((this.version * 4 + 4) / (numAlign * 2 - 2)) * 2;\n const result = [6];\n for (let pos = this.size - 7; result.length < numAlign; pos -= step)\n result.splice(1, 0, pos);\n return result;\n }\n }\n // Can only be called immediately after a light run is added, and\n // returns either 0, 1, or 2. A helper function for getPenaltyScore().\n finderPenaltyCountPatterns(runHistory) {\n const n = runHistory[1];\n const core = n > 0 && runHistory[2] === n && runHistory[3] === n * 3 && runHistory[4] === n && runHistory[5] === n;\n return (core && runHistory[0] >= n * 4 && runHistory[6] >= n ? 1 : 0) + (core && runHistory[6] >= n * 4 && runHistory[0] >= n ? 1 : 0);\n }\n // Must be called at the end of a line (row or column) of modules. A helper function for getPenaltyScore().\n finderPenaltyTerminateAndCount(currentRunColor, currentRunLength, runHistory) {\n if (currentRunColor) {\n this.finderPenaltyAddHistory(currentRunLength, runHistory);\n currentRunLength = 0;\n }\n currentRunLength += this.size;\n this.finderPenaltyAddHistory(currentRunLength, runHistory);\n return this.finderPenaltyCountPatterns(runHistory);\n }\n // Pushes the given value to the front and drops the last value. A helper function for getPenaltyScore().\n finderPenaltyAddHistory(currentRunLength, runHistory) {\n if (runHistory[0] === 0)\n currentRunLength += this.size;\n runHistory.pop();\n runHistory.unshift(currentRunLength);\n }\n}\nfunction appendBits(val, len, bb) {\n if (len < 0 || len > 31 || val >>> len !== 0)\n throw new RangeError(\"Value out of range\");\n for (let i = len - 1; i >= 0; i--)\n bb.push(val >>> i & 1);\n}\nfunction getBit(x, i) {\n return (x >>> i & 1) !== 0;\n}\nclass QrSegment {\n // Creates a new QR Code segment with the given attributes and data.\n // The character count (numChars) must agree with the mode and the bit buffer length,\n // but the constraint isn't checked. The given bit buffer is cloned and stored.\n constructor(mode, numChars, bitData) {\n this.mode = mode;\n this.numChars = numChars;\n this.bitData = bitData;\n if (numChars < 0)\n throw new RangeError(\"Invalid argument\");\n this.bitData = bitData.slice();\n }\n /* -- Methods -- */\n // Returns a new copy of the data bits of this segment.\n getData() {\n return this.bitData.slice();\n }\n}\nconst MODE_NUMERIC = [1, 10, 12, 14];\nconst MODE_ALPHANUMERIC = [2, 9, 11, 13];\nconst MODE_BYTE = [4, 8, 16, 16];\nfunction numCharCountBits(mode, ver) {\n return mode[Math.floor((ver + 7) / 17) + 1];\n}\nfunction makeBytes(data) {\n const bb = [];\n for (const b of data)\n appendBits(b, 8, bb);\n return new QrSegment(MODE_BYTE, data.length, bb);\n}\nfunction makeNumeric(digits) {\n if (!isNumeric(digits))\n throw new RangeError(\"String contains non-numeric characters\");\n const bb = [];\n for (let i = 0; i < digits.length; ) {\n const n = Math.min(digits.length - i, 3);\n appendBits(Number.parseInt(digits.substring(i, i + n), 10), n * 3 + 1, bb);\n i += n;\n }\n return new QrSegment(MODE_NUMERIC, digits.length, bb);\n}\nfunction makeAlphanumeric(text) {\n if (!isAlphanumeric(text))\n throw new RangeError(\"String contains unencodable characters in alphanumeric mode\");\n const bb = [];\n let i;\n for (i = 0; i + 2 <= text.length; i += 2) {\n let temp = ALPHANUMERIC_CHARSET.indexOf(text.charAt(i)) * 45;\n temp += ALPHANUMERIC_CHARSET.indexOf(text.charAt(i + 1));\n appendBits(temp, 11, bb);\n }\n if (i < text.length)\n appendBits(ALPHANUMERIC_CHARSET.indexOf(text.charAt(i)), 6, bb);\n return new QrSegment(MODE_ALPHANUMERIC, text.length, bb);\n}\nfunction makeSegments(text) {\n if (text === \"\")\n return [];\n else if (isNumeric(text))\n return [makeNumeric(text)];\n else if (isAlphanumeric(text))\n return [makeAlphanumeric(text)];\n else\n return [makeBytes(toUtf8ByteArray(text))];\n}\nfunction isNumeric(text) {\n return NUMERIC_REGEX.test(text);\n}\nfunction isAlphanumeric(text) {\n return ALPHANUMERIC_REGEX.test(text);\n}\nfunction getTotalBits(segs, version) {\n let result = 0;\n for (const seg of segs) {\n const ccbits = numCharCountBits(seg.mode, version);\n if (seg.numChars >= 1 << ccbits)\n return Number.POSITIVE_INFINITY;\n result += 4 + ccbits + seg.bitData.length;\n }\n return result;\n}\nfunction toUtf8ByteArray(str) {\n str = encodeURI(str);\n const result = [];\n for (let i = 0; i < str.length; i++) {\n if (str.charAt(i) !== \"%\") {\n result.push(str.charCodeAt(i));\n } else {\n result.push(Number.parseInt(str.substring(i + 1, i + 3), 16));\n i += 2;\n }\n }\n return result;\n}\nfunction getNumRawDataModules(ver) {\n if (ver < MIN_VERSION || ver > MAX_VERSION)\n throw new RangeError(\"Version number out of range\");\n let result = (16 * ver + 128) * ver + 64;\n if (ver >= 2) {\n const numAlign = Math.floor(ver / 7) + 2;\n result -= (25 * numAlign - 10) * numAlign - 55;\n if (ver >= 7)\n result -= 36;\n }\n return result;\n}\nfunction getNumDataCodewords(ver, ecl) {\n return Math.floor(getNumRawDataModules(ver) / 8) - ECC_CODEWORDS_PER_BLOCK[ecl[0]][ver] * NUM_ERROR_CORRECTION_BLOCKS[ecl[0]][ver];\n}\nfunction reedSolomonComputeDivisor(degree) {\n if (degree < 1 || degree > 255)\n throw new RangeError(\"Degree out of range\");\n const result = [];\n for (let i = 0; i < degree - 1; i++)\n result.push(0);\n result.push(1);\n let root = 1;\n for (let i = 0; i < degree; i++) {\n for (let j = 0; j < result.length; j++) {\n result[j] = reedSolomonMultiply(result[j], root);\n if (j + 1 < result.length)\n result[j] ^= result[j + 1];\n }\n root = reedSolomonMultiply(root, 2);\n }\n return result;\n}\nfunction reedSolomonComputeRemainder(data, divisor) {\n const result = divisor.map((_) => 0);\n for (const b of data) {\n const factor = b ^ result.shift();\n result.push(0);\n divisor.forEach((coef, i) => result[i] ^= reedSolomonMultiply(coef, factor));\n }\n return result;\n}\nfunction reedSolomonMultiply(x, y) {\n if (x >>> 8 !== 0 || y >>> 8 !== 0)\n throw new RangeError(\"Byte out of range\");\n let z = 0;\n for (let i = 7; i >= 0; i--) {\n z = z << 1 ^ (z >>> 7) * 285;\n z ^= (y >>> i & 1) * x;\n }\n return z;\n}\nfunction encodeSegments(segs, ecl, minVersion = 1, maxVersion = 40, mask = -1, boostEcl = true) {\n if (!(MIN_VERSION <= minVersion && minVersion <= maxVersion && maxVersion <= MAX_VERSION) || mask < -1 || mask > 7) {\n throw new RangeError(\"Invalid value\");\n }\n let version;\n let dataUsedBits;\n for (version = minVersion; ; version++) {\n const dataCapacityBits2 = getNumDataCodewords(version, ecl) * 8;\n const usedBits = getTotalBits(segs, version);\n if (usedBits <= dataCapacityBits2) {\n dataUsedBits = usedBits;\n break;\n }\n if (version >= maxVersion)\n throw new RangeError(\"Data too long\");\n }\n for (const newEcl of [MEDIUM, QUARTILE, HIGH]) {\n if (boostEcl && dataUsedBits <= getNumDataCodewords(version, newEcl) * 8)\n ecl = newEcl;\n }\n const bb = [];\n for (const seg of segs) {\n appendBits(seg.mode[0], 4, bb);\n appendBits(seg.numChars, numCharCountBits(seg.mode, version), bb);\n for (const b of seg.getData())\n bb.push(b);\n }\n const dataCapacityBits = getNumDataCodewords(version, ecl) * 8;\n appendBits(0, Math.min(4, dataCapacityBits - bb.length), bb);\n appendBits(0, (8 - bb.length % 8) % 8, bb);\n for (let padByte = 236; bb.length < dataCapacityBits; padByte ^= 236 ^ 17)\n appendBits(padByte, 8, bb);\n const dataCodewords = Array.from({ length: Math.ceil(bb.length / 8) }, () => 0);\n bb.forEach((b, i) => dataCodewords[i >>> 3] |= b << 7 - (i & 7));\n return new QrCode(version, ecl, dataCodewords, mask);\n}\n\nfunction encode(data, options) {\n const {\n ecc = \"L\",\n boostEcc = false,\n minVersion = 1,\n maxVersion = 40,\n maskPattern = -1,\n border = 1\n } = options || {};\n const segment = typeof data === \"string\" ? makeSegments(data) : Array.isArray(data) ? [makeBytes(data)] : void 0;\n if (!segment)\n throw new Error(`uqr only supports encoding string and binary data, but got: ${typeof data}`);\n const qr = encodeSegments(\n segment,\n EccMap[ecc],\n minVersion,\n maxVersion,\n maskPattern,\n boostEcc\n );\n const result = addBorder({\n version: qr.version,\n maskPattern: qr.mask,\n size: qr.size,\n data: qr.modules,\n types: qr.types\n }, border);\n if (options?.invert)\n result.data = result.data.map((row) => row.map((mod) => !mod));\n options?.onEncoded?.(result);\n return result;\n}\nfunction addBorder(input, border = 1) {\n if (!border)\n return input;\n const { size } = input;\n const newSize = size + border * 2;\n input.size = newSize;\n input.data.forEach((row) => {\n for (let i = 0; i < border; i++) {\n row.unshift(false);\n row.push(false);\n }\n });\n for (let i = 0; i < border; i++) {\n input.data.unshift(Array.from({ length: newSize }, (_) => false));\n input.data.push(Array.from({ length: newSize }, (_) => false));\n }\n const b = QrCodeDataType.Border;\n input.types.forEach((row) => {\n for (let i = 0; i < border; i++) {\n row.unshift(b);\n row.push(b);\n }\n });\n for (let i = 0; i < border; i++) {\n input.types.unshift(Array.from({ length: newSize }, (_) => b));\n input.types.push(Array.from({ length: newSize }, (_) => b));\n }\n return input;\n}\nfunction getDataAt(data, x, y, defaults = false) {\n if (x < 0 || y < 0 || x >= data.length || y >= data.length)\n return defaults;\n return data[y][x];\n}\n\nfunction renderUnicode(data, options = {}) {\n const {\n whiteChar = \"\\u2588\",\n blackChar = \"\\u2591\"\n } = options;\n const result = encode(data, options);\n return result.data.map((row) => {\n return row.map((mod) => mod ? blackChar : whiteChar).join(\"\");\n }).join(\"\\n\");\n}\nfunction renderANSI(data, options = {}) {\n return renderUnicode(data, {\n ...options,\n blackChar: \"\\x1B[40m\\u3000\\x1B[0m\",\n whiteChar: \"\\x1B[47m\\u3000\\x1B[0m\"\n });\n}\nfunction renderUnicodeCompact(data, options = {}) {\n const palette = {\n WHITE_ALL: \"\\u2588\",\n WHITE_BLACK: \"\\u2580\",\n BLACK_WHITE: \"\\u2584\",\n BLACK_ALL: \" \"\n };\n const result = encode(data, options);\n const WHITE = false;\n const BLACK = true;\n const at = (x, y) => getDataAt(result.data, x, y, true);\n const lines = [];\n let line = \"\";\n for (let row = 0; row < result.size; row += 2) {\n for (let col = 0; col < result.size; col++) {\n if (at(col, row) === WHITE && at(col, row + 1) === WHITE)\n line += palette.WHITE_ALL;\n else if (at(col, row) === WHITE && at(col, row + 1) === BLACK)\n line += palette.WHITE_BLACK;\n else if (at(col, row) === BLACK && at(col, row + 1) === WHITE)\n line += palette.BLACK_WHITE;\n else\n line += palette.BLACK_ALL;\n }\n lines.push(line);\n line = \"\";\n }\n return lines.join(\"\\n\");\n}\n\nfunction escapeAttr(value) {\n return value.replace(/&/g, \"&\").replace(/\"/g, \""\").replace(/</g, \"<\").replace(/>/g, \">\");\n}\nfunction renderSVG(data, options = {}) {\n const result = encode(data, options);\n const {\n pixelSize = 10,\n whiteColor = \"white\",\n blackColor = \"black\"\n } = options;\n const height = result.size * pixelSize;\n const width = result.size * pixelSize;\n let svg = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 ${width} ${height}\">`;\n const paths = [];\n for (let row = 0; row < result.size; row++) {\n for (let col = 0; col < result.size; col++) {\n const x = col * pixelSize;\n const y = row * pixelSize;\n if (result.data[row][col])\n paths.push(`M${x},${y}h${pixelSize}v${pixelSize}h-${pixelSize}z`);\n }\n }\n svg += `<rect fill=\"${escapeAttr(whiteColor)}\" width=\"${width}\" height=\"${height}\"/>`;\n svg += `<path fill=\"${escapeAttr(blackColor)}\" d=\"${paths.join(\"\")}\"/>`;\n svg += \"</svg>\";\n return svg;\n}\n\nexport { QrCodeDataType, encode, renderANSI, renderSVG, renderUnicode, renderUnicodeCompact };\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "159D44E751EA96F164756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["src/mini/mini.ts", "src/mini/run.ts", "src/mini/noninteractive.ts", "src/mini/ui.ts"], | ||
| "sourcesContent": [ | ||
| "import { Service } from \"@opencode-ai/client/effect\"\nimport { OpenCode, type OpenCodeClient } from \"@opencode-ai/client/promise\"\nimport { Server } from \"../services/server\"\nimport { waitForCatalogReady } from \"./catalog.shared\"\nimport { INTERACTIVE_INPUT_ERROR, resolveInteractiveStdin } from \"./runtime.stdin\"\nimport type { RunInput, RunTuiConfig } from \"./types\"\n\nexport type MiniCommandInput = {\n server: Server.Resolved\n continue?: boolean\n session?: string\n fork?: boolean\n model?: string\n agent?: string\n prompt?: string\n replay?: boolean\n replayLimit?: number\n demo?: boolean\n tuiConfig?: RunTuiConfig | Promise<RunTuiConfig>\n}\n\ntype Session = Awaited<ReturnType<OpenCodeClient[\"session\"][\"get\"]>>\nexport async function runMini(input: MiniCommandInput) {\n validate(input)\n const initialInput = mergeInput(process.stdin.isTTY ? undefined : await Bun.stdin.text(), input.prompt)\n const runtimeTask = import(\"./runtime\")\n const directory = localDirectory()\n\n try {\n const sdk = OpenCode.make({\n baseUrl: input.server.endpoint.url,\n headers: Service.headers(input.server.endpoint),\n })\n const model = parseModel(input.model)\n let agentTask: Promise<string | undefined> | undefined\n const resolveAgent = () => {\n agentTask ??= validateAgent(sdk, directory, input.agent)\n return agentTask\n }\n const resolveSession = async () => {\n const [agent, selected] = await Promise.all([\n resolveAgent(),\n selectSession(sdk, directory, input),\n ])\n const readyModel =\n model ?? (selected?.model ? { providerID: selected.model.providerID, modelID: selected.model.id } : undefined)\n if (readyModel) await waitForCatalogReady({ sdk, directory, model: readyModel })\n const session = selected ?? (await createSession(sdk, directory, agent, model))\n return { id: session.id, title: session.title, resume: selected !== undefined }\n }\n const create = (\n _sdk: OpenCodeClient,\n next: { agent: string | undefined; model: RunInput[\"model\"]; variant: string | undefined },\n ) => createSession(sdk, directory, next.agent, next.model, next.variant)\n const runtime = await runtimeTask\n await runtime.runInteractiveDeferredMode({\n sdk,\n directory,\n resolveAgent,\n session: resolveSession,\n createSession: create,\n agent: input.agent,\n model,\n variant: undefined,\n files: [],\n initialInput,\n thinking: true,\n replay: input.replay ?? true,\n replayLimit: input.replayLimit,\n demo: input.demo,\n tuiConfig: input.tuiConfig,\n })\n } catch (error) {\n if (error instanceof Error && error.message === INTERACTIVE_INPUT_ERROR) fail(error.message)\n throw error\n }\n}\n\nexport function validateMiniTerminal() {\n if (!process.stdout.isTTY) fail(\"opencode mini requires a TTY stdout\")\n}\n\n/** @internal Exported for testing. */\nexport function mergeInput(piped: string | undefined, prompt: string | undefined) {\n if (!prompt) return piped || undefined\n if (!piped) return prompt\n return piped + \"\\n\" + prompt\n}\n\nfunction validate(input: MiniCommandInput) {\n validateMiniTerminal()\n if (input.replayLimit !== undefined && (!Number.isInteger(input.replayLimit) || input.replayLimit <= 0)) {\n fail(\"--replay-limit must be a positive integer\")\n }\n if (input.fork && !input.continue && !input.session) fail(\"--fork requires --continue or --session\")\n resolveInteractiveStdin().cleanup?.()\n}\n\nfunction localDirectory(): string {\n const root = process.env.PWD ?? process.cwd()\n try {\n process.chdir(root)\n return process.cwd()\n } catch {\n fail(`Failed to change directory to ${root}`)\n }\n}\n\nfunction parseModel(value?: string): RunInput[\"model\"] {\n if (!value) return\n const [providerID, ...rest] = value.split(\"/\")\n const modelID = rest.join(\"/\")\n if (!providerID || !modelID) fail(\"--model must use the format provider/model\")\n return { providerID, modelID }\n}\n\nasync function validateAgent(sdk: OpenCodeClient, directory: string, name?: string) {\n if (!name) return\n const deadline = Date.now() + 5_000\n let agents: Awaited<ReturnType<OpenCodeClient[\"agent\"][\"list\"]>> | undefined\n while (Date.now() < deadline) {\n agents = await sdk.agent.list({ location: { directory } }).catch(() => undefined)\n const agent = agents?.data.find((item) => item.id === name)\n if (agent?.mode === \"subagent\") {\n warning(`agent \"${name}\" is a subagent, not a primary agent. Falling back to default agent`)\n return\n }\n if (agent) return name\n await Bun.sleep(25)\n }\n if (!agents) {\n warning(\"failed to list agents. Falling back to default agent\")\n return\n }\n warning(`agent \"${name}\" not found. Falling back to default agent`)\n}\n\nasync function selectSession(sdk: OpenCodeClient, directory: string, input: MiniCommandInput, preselected?: Session) {\n const selected =\n preselected ??\n (input.session\n ? await sdk.session.get({ sessionID: input.session }).catch(() => undefined)\n : input.continue\n ? await sdk.session\n .list({ directory, parentID: null, limit: 1, order: \"desc\" })\n .then((result) => result.data[0])\n : undefined)\n if (input.session && !selected) fail(\"Session not found\")\n if (!selected) return\n if (!input.fork) return selected\n return sdk.session.fork({ sessionID: selected.id })\n}\n\nasync function createSession(\n sdk: OpenCodeClient,\n directory: string,\n agent: string | undefined,\n model: RunInput[\"model\"],\n variant?: string,\n): Promise<Session> {\n if (model) await waitForCatalogReady({ sdk, directory, model })\n return sdk.session.create({\n agent,\n model: model ? { providerID: model.providerID, id: model.modelID, variant } : undefined,\n location: { directory },\n })\n}\n\nfunction warning(message: string) {\n process.stderr.write(`\\x1b[93m\\x1b[1m!\\x1b[0m ${message}\\n`)\n}\n\nfunction fail(message: string): never {\n process.stderr.write(`\\x1b[91m\\x1b[1mError: \\x1b[0m${message}\\n`)\n process.exit(1)\n}\n", | ||
| "import { Service } from \"@opencode-ai/client/effect\"\nimport { OpenCode, type OpenCodeClient } from \"@opencode-ai/client/promise\"\nimport { FSUtil } from \"@opencode-ai/core/fs-util\"\nimport { Model } from \"@opencode-ai/schema/model\"\nimport type { ToolPart } from \"@opencode-ai/sdk/v2\"\nimport { open } from \"node:fs/promises\"\nimport path from \"node:path\"\nimport { Server } from \"../services/server\"\nimport { loadRunAgents, waitForCatalogReady } from \"./catalog.shared\"\nimport { runNonInteractivePrompt } from \"./noninteractive\"\nimport { toolInlineInfo } from \"./tool\"\nimport { UI } from \"./ui\"\n\nexport type RunCommandInput = {\n server: Server.Resolved\n message: string[]\n continue?: boolean\n session?: string\n fork?: boolean\n model?: string\n agent?: string\n format: \"default\" | \"json\"\n file: string[]\n title?: string\n thinking?: boolean\n auto?: boolean\n}\n\ntype FilePart = {\n url: string\n filename: string\n mime: string\n}\n\ntype Prepared = {\n directory?: string\n message: string\n files: FilePart[]\n}\n\nconst ATTACH_FILE_MAX_BYTES = 10 * 1024 * 1024\n\nexport function runNonInteractive(input: RunCommandInput) {\n return run(input).catch((error) => reportError(input, error instanceof Error ? error.message : String(error)))\n}\n\nasync function run(input: RunCommandInput) {\n if (input.fork && !input.continue && !input.session) fail(\"--fork requires --continue or --session\")\n const root = process.env.PWD ?? process.cwd()\n const directory = localDirectory(root)\n const message = mergeInput(formatMessage(input.message), process.stdin.isTTY ? undefined : await Bun.stdin.text())\n if (!message?.trim()) fail(\"You must provide a message\")\n const files = await Promise.all(input.file.map((file) => prepareFile(file, root)))\n const prepared = { directory, message, files }\n return execute(input, prepared, input.server.endpoint)\n}\n\nasync function execute(input: RunCommandInput, prepared: Prepared, endpoint: Service.Endpoint) {\n const client = OpenCode.make({ baseUrl: endpoint.url, headers: Service.headers(endpoint) })\n const requestedDirectory = prepared.directory ?? (await client.location.get()).directory\n if (!requestedDirectory) fail(\"Failed to resolve server directory\")\n const session = await selectSession(client, requestedDirectory, input)\n const cwd = session?.location.directory ?? requestedDirectory\n const workspace = session?.location.workspaceID\n const explicit = parseRunModel(input.model)\n const explicitModel = explicit?.model\n const variant = explicit?.variant\n const sessionModel = session?.model ? { providerID: session.model.providerID, modelID: session.model.id } : undefined\n const defaultModel =\n !explicitModel && !sessionModel\n ? await client.model\n .default({ location: { directory: cwd, workspace } })\n .then((result) => (result.data ? { providerID: result.data.providerID, modelID: result.data.id } : undefined))\n : undefined\n const model = pickRunModel(explicitModel, variant, sessionModel, defaultModel)\n if (variant && !model)\n return reportError(input, \"Cannot select a variant before selecting a model\", session?.id)\n if (model) {\n await waitForCatalogReady({ sdk: client, directory: cwd, workspace, model })\n const available = await client.model.list({ location: { directory: cwd, workspace } })\n if (!available.data.some((item) => item.providerID === model.providerID && item.id === model.modelID))\n return reportError(input, `Model unavailable: ${model.providerID}/${model.modelID}`, session?.id)\n }\n const agent = await validateAgent(client, cwd, input.agent)\n const selected =\n session ??\n (await client.session.create({\n agent,\n model: model ? { providerID: model.providerID, id: model.modelID, variant } : undefined,\n location: { directory: cwd },\n }))\n if (!session && input.title !== undefined) {\n await client.session.rename({\n sessionID: selected.id,\n title: input.title || prepared.message.slice(0, 50) + (prepared.message.length > 50 ? \"...\" : \"\"),\n })\n }\n\n await runNonInteractivePrompt({\n client,\n sessionID: selected.id,\n message: prepared.message,\n files: prepared.files,\n agent,\n model,\n variant,\n thinking: input.thinking ?? false,\n format: input.format,\n auto: input.auto ?? false,\n attached: true,\n renderTool,\n renderToolError,\n }).catch((error) => reportError(input, error instanceof Error ? error.message : String(error), selected.id))\n}\n\nexport function mergeInput(message: string | undefined, piped: string | undefined) {\n if (!message) return piped || undefined\n if (!piped) return message\n return message + \"\\n\" + piped\n}\n\nexport function pickRunModel(\n explicit: { providerID: string; modelID: string } | undefined,\n variant: string | undefined,\n session: { providerID: string; modelID: string } | undefined,\n fallback: { providerID: string; modelID: string } | undefined,\n) {\n if (explicit) return explicit\n if (!variant) return\n return session ?? fallback\n}\n\nfunction formatMessage(message: string[]) {\n const value = message.map((part) => (part.includes(\" \") ? `\"${part.replace(/\"/g, '\\\\\"')}\"` : part)).join(\" \")\n return value || undefined\n}\n\nfunction localDirectory(root: string) {\n try {\n process.chdir(root)\n return process.cwd()\n } catch {\n fail(`Failed to change directory to ${root}`)\n }\n}\n\nexport function parseRunModel(value?: string) {\n if (!value) return\n const ref = Model.Ref.parse(value)\n return {\n model: { providerID: ref.providerID, modelID: ref.id },\n variant: ref.variant,\n }\n}\n\nasync function validateAgent(client: OpenCodeClient, directory: string, name?: string) {\n if (!name) return\n const agents = await loadRunAgents(client, directory).catch(() => undefined)\n if (!agents) {\n warning(\"failed to list agents. Falling back to default agent\")\n return\n }\n const agent = agents.find((item) => item.id === name)\n if (!agent) {\n warning(`agent \"${name}\" not found. Falling back to default agent`)\n return\n }\n if (agent.mode === \"subagent\") {\n warning(`agent \"${name}\" is a subagent, not a primary agent. Falling back to default agent`)\n return\n }\n return name\n}\n\nasync function selectSession(client: OpenCodeClient, directory: string, input: RunCommandInput) {\n const selected = input.session\n ? await client.session.get({ sessionID: input.session }).catch(() => undefined)\n : input.continue\n ? await client.session\n .list({ directory, parentID: null, limit: 1, order: \"desc\" })\n .then((result) => result.data[0])\n : undefined\n if (input.session && !selected) fail(\"Session not found\")\n if (!selected || !input.fork) return selected\n return client.session.fork({ sessionID: selected.id })\n}\n\nasync function prepareFile(input: string, directory: string): Promise<FilePart> {\n const file = path.resolve(directory, input)\n const handle = await open(file, \"r\").catch(() => fail(`File not found: ${input}`))\n try {\n const stat = await handle.stat()\n if (!stat.isFile() || stat.size > ATTACH_FILE_MAX_BYTES)\n fail(`Cannot attach a directory, special file, or file larger than 10 MiB: ${input}`)\n const content = Buffer.alloc(Number(stat.size))\n let offset = 0\n while (offset < content.length) {\n const read = await handle.read(content, offset, content.length - offset, offset)\n if (read.bytesRead === 0) break\n offset += read.bytesRead\n }\n const bytes = content.subarray(0, offset)\n const detected = FSUtil.mimeType(file)\n const text = bytes.toString(\"utf8\")\n const mime =\n detected.startsWith(\"image/\") || detected === \"application/pdf\"\n ? detected\n : !isBinaryContent(bytes) && Buffer.from(text, \"utf8\").equals(bytes)\n ? \"text/plain\"\n : detected\n return {\n url: `data:${mime};base64,${bytes.toString(\"base64\")}`,\n filename: path.basename(file),\n mime,\n }\n } finally {\n await handle.close()\n }\n}\n\nfunction isBinaryContent(bytes: Uint8Array) {\n if (bytes.length === 0) return false\n if (bytes.includes(0)) return true\n return bytes.reduce((count, byte) => count + Number(byte < 9 || (byte > 13 && byte < 32)), 0) / bytes.length > 0.3\n}\n\nasync function renderTool(part: ToolPart) {\n const info = toolInlineInfo(part)\n if (info.mode === \"block\") {\n UI.empty()\n UI.println(UI.Style.TEXT_NORMAL + info.icon, UI.Style.TEXT_NORMAL + info.title)\n if (info.body?.trim()) UI.println(info.body)\n UI.empty()\n return\n }\n UI.println(\n UI.Style.TEXT_NORMAL + info.icon,\n UI.Style.TEXT_NORMAL + info.title,\n info.description ? UI.Style.TEXT_DIM + info.description + UI.Style.TEXT_NORMAL : \"\",\n )\n}\n\nasync function renderToolError(part: ToolPart) {\n const info = toolInlineInfo(part)\n UI.println(UI.Style.TEXT_NORMAL + \"✗\", UI.Style.TEXT_NORMAL + `${info.title} failed`)\n}\n\nfunction warning(message: string) {\n UI.println(UI.Style.TEXT_WARNING_BOLD + \"!\", UI.Style.TEXT_NORMAL, message)\n}\n\nfunction reportError(input: RunCommandInput, message: string, sessionID?: string) {\n process.exitCode = 1\n if (input.format === \"json\") {\n process.stdout.write(\n JSON.stringify({\n type: \"error\",\n timestamp: Date.now(),\n sessionID: sessionID ?? \"\",\n error: { type: \"unknown\", message },\n }) + \"\\n\",\n )\n return\n }\n UI.error(message)\n}\n\nfunction fail(message: string): never {\n throw new Error(message)\n}\n", | ||
| "import type { EventSubscribeOutput, OpenCodeClient } from \"@opencode-ai/client/promise\"\nimport type { ReasoningPart, StepFinishPart, StepStartPart, TextPart, ToolPart } from \"@opencode-ai/sdk/v2\"\nimport { SessionMessage } from \"@opencode-ai/schema/session-message\"\nimport { EOL } from \"node:os\"\nimport { UI } from \"./ui\"\n\ntype Model = {\n providerID: string\n modelID: string\n}\n\ntype File = {\n url: string\n filename: string\n mime: string\n}\n\ntype Input = {\n client: OpenCodeClient\n sessionID: string\n message: string\n files: File[]\n agent?: string\n model?: Model\n variant?: string\n thinking: boolean\n format: \"default\" | \"json\"\n auto: boolean\n /** True when the client is attached to a shared server rather than an exclusive in-process one. */\n attached: boolean\n renderTool: (part: ToolPart) => Promise<void>\n renderToolError: (part: ToolPart) => Promise<void>\n}\n\ntype StartedPart = {\n id: string\n timestamp: number\n}\n\ntype ToolState = StartedPart & {\n assistantMessageID: string\n tool: string\n input: Record<string, unknown>\n raw?: string\n provider?: unknown\n}\n\ntype V2Event = EventSubscribeOutput\ntype FormRequest = Extract<V2Event, { type: \"form.created\" }>[\"data\"][\"form\"]\n\n// MCP elicitations are temporarily owned by the \"global\" sentinel instead of a real\n// session. An exclusive local process may treat them as this run's blockers; an\n// attached client must not cancel input that may belong to another session.\nconst GLOBAL_FORM_SESSION_ID = \"global\"\n\nexport async function runNonInteractivePrompt(input: Input) {\n const controller = new AbortController()\n const stream = input.client.event.subscribe({ signal: controller.signal })[Symbol.asyncIterator]()\n const connected = await stream.next()\n if (connected.done) throw new Error(\"Event stream disconnected before prompt admission\")\n\n const messageID = SessionMessage.ID.create()\n const starts = new Map<string, StartedPart>()\n const tools = new Map<string, ToolState>()\n let submitted = false\n let promoted = false\n let emittedError = false\n let questionRejected = false\n let permissionRejected = false\n let formCancelled = false\n let interrupted = false\n let admission: AbortController | undefined\n\n const emit = (type: string, timestamp: number, data: Record<string, unknown>) => {\n if (input.format !== \"json\") return false\n process.stdout.write(JSON.stringify({ type, timestamp, sessionID: input.sessionID, ...data }) + EOL)\n return true\n }\n\n const writeText = (part: TextPart, timestamp: number) => {\n if (emit(\"text\", timestamp, { part })) return\n const text = part.text.trim()\n if (!text) return\n if (!process.stdout.isTTY) {\n process.stdout.write(text + EOL)\n return\n }\n UI.empty()\n UI.println(text)\n UI.empty()\n }\n\n const replyPermission = async (request: { id: string; action: string; resources: ReadonlyArray<string> }) => {\n if (!input.auto) {\n permissionRejected = true\n UI.println(\n UI.Style.TEXT_WARNING_BOLD + \"!\",\n UI.Style.TEXT_NORMAL +\n `permission requested: ${request.action} (${request.resources.join(\", \")}); auto-rejecting`,\n )\n }\n await input.client.permission\n .reply({\n sessionID: input.sessionID,\n requestID: request.id,\n reply: input.auto ? \"once\" : \"reject\",\n })\n .catch(() => {})\n if (!input.auto) {\n await input.client.session.interrupt({ sessionID: input.sessionID }).catch(() => {})\n }\n }\n\n const rejectQuestion = async (request: { id: string }) => {\n questionRejected = true\n await input.client.question.reject({ sessionID: input.sessionID, requestID: request.id }).catch(() => {})\n }\n\n const cancelForm = async (request: Pick<FormRequest, \"id\" | \"sessionID\">) => {\n formCancelled = true\n await input.client.form.cancel({ sessionID: request.sessionID, formID: request.id }).catch(() => {})\n }\n\n const consume = async () => {\n while (!controller.signal.aborted) {\n const next = await stream.next().catch((error) => {\n if (!emittedError) throw error\n return { done: true as const, value: undefined }\n })\n if (next.done) {\n if (emittedError) return\n throw new Error(\"Event stream disconnected during prompt execution\")\n }\n const event = next.value\n\n if (event.type === \"permission.v2.asked\" && submitted && event.data.sessionID === input.sessionID) {\n await replyPermission(event.data)\n continue\n }\n if (event.type === \"question.v2.asked\" && submitted && event.data.sessionID === input.sessionID) {\n await rejectQuestion(event.data)\n continue\n }\n if (\n event.type === \"form.created\" &&\n submitted &&\n (event.data.form.sessionID === input.sessionID ||\n (!input.attached && event.data.form.sessionID === GLOBAL_FORM_SESSION_ID))\n ) {\n await cancelForm(event.data.form)\n continue\n }\n if (!(\"sessionID\" in event.data) || event.data.sessionID !== input.sessionID) continue\n const time = toMillis(\"created\" in event ? event.created : undefined)\n\n if (event.type === \"session.input.promoted\") {\n if (event.data.inputID === messageID) {\n promoted = true\n continue\n }\n }\n if (\n event.type === \"session.execution.interrupted\" &&\n event.data.reason === \"user\" &&\n (interrupted || permissionRejected || questionRejected || formCancelled)\n ) {\n return\n }\n if (!promoted) continue\n\n if (event.type === \"session.step.started\") {\n const part: StepStartPart = {\n id: partID(event.id),\n sessionID: input.sessionID,\n messageID: event.data.assistantMessageID,\n type: \"step-start\",\n snapshot: event.data.snapshot,\n }\n if (!emit(\"step_start\", time, { part }) && input.format !== \"json\") {\n UI.empty()\n UI.println(`> ${event.data.agent} · ${event.data.model.id}`)\n UI.empty()\n }\n continue\n }\n\n if (event.type === \"session.text.started\") {\n starts.set(\"text\", { id: partID(event.id), timestamp: time })\n continue\n }\n if (event.type === \"session.text.ended\") {\n const started = starts.get(\"text\")\n starts.delete(\"text\")\n const part: TextPart = {\n id: started?.id ?? partID(event.id),\n sessionID: input.sessionID,\n messageID: event.data.assistantMessageID,\n type: \"text\",\n text: event.data.text,\n time: { start: started?.timestamp ?? time, end: time },\n }\n writeText(part, time)\n continue\n }\n\n if (event.type === \"session.reasoning.started\") {\n starts.set(\"reasoning\", { id: partID(event.id), timestamp: time })\n continue\n }\n if (event.type === \"session.reasoning.ended\" && input.thinking) {\n const started = starts.get(\"reasoning\")\n starts.delete(\"reasoning\")\n const part: ReasoningPart = {\n id: started?.id ?? partID(event.id),\n sessionID: input.sessionID,\n messageID: event.data.assistantMessageID,\n type: \"reasoning\",\n text: event.data.text,\n metadata: event.data.state,\n time: { start: started?.timestamp ?? time, end: time },\n }\n if (emit(\"reasoning\", time, { part })) continue\n const text = part.text.trim()\n if (!text) continue\n const line = `Thinking: ${text}`\n if (!process.stdout.isTTY) {\n process.stdout.write(line + EOL)\n continue\n }\n UI.empty()\n UI.println(`${UI.Style.TEXT_DIM}\\u001b[3m${line}\\u001b[0m${UI.Style.TEXT_NORMAL}`)\n UI.empty()\n continue\n }\n\n if (event.type === \"session.tool.input.started\") {\n tools.set(event.data.callID, {\n id: partID(event.id),\n timestamp: time,\n assistantMessageID: event.data.assistantMessageID,\n tool: event.data.name,\n input: {},\n })\n continue\n }\n if (event.type === \"session.tool.input.ended\") {\n const current = tools.get(event.data.callID)\n if (current) current.raw = event.data.text\n continue\n }\n if (event.type === \"session.tool.called\") {\n const current = tools.get(event.data.callID)\n tools.set(event.data.callID, {\n id: current?.id ?? partID(event.id),\n timestamp: current?.timestamp ?? time,\n assistantMessageID: event.data.assistantMessageID,\n tool: current?.tool ?? \"tool\",\n input: event.data.input,\n raw: current?.raw,\n provider: { executed: event.data.executed, state: event.data.state },\n })\n continue\n }\n if (event.type === \"session.tool.success\") {\n const current = tools.get(event.data.callID) ?? fallbackTool(event)\n const part: ToolPart = {\n id: current.id,\n sessionID: input.sessionID,\n messageID: event.data.assistantMessageID,\n type: \"tool\",\n callID: event.data.callID,\n tool: current.tool,\n state: {\n status: \"completed\",\n input: current.input,\n output: event.data.content\n .filter((item) => item.type === \"text\")\n .map((item) => item.text)\n .join(\"\\n\"),\n title: current.tool,\n metadata: {\n structured: event.data.structured,\n content: event.data.content,\n result: event.data.result,\n providerCall: current.provider,\n providerResult: { executed: event.data.executed, state: event.data.resultState },\n rawInput: current.raw,\n },\n time: { start: current.timestamp, end: time },\n },\n }\n tools.delete(event.data.callID)\n if (!emit(\"tool_use\", time, { part })) await input.renderTool(part)\n continue\n }\n if (event.type === \"session.tool.failed\") {\n const current = tools.get(event.data.callID) ?? fallbackTool(event)\n const error = event.data.error.message\n const part: ToolPart = {\n id: current.id,\n sessionID: input.sessionID,\n messageID: event.data.assistantMessageID,\n type: \"tool\",\n callID: event.data.callID,\n tool: current.tool,\n state: {\n status: \"error\",\n input: current.input,\n error,\n metadata: {\n result: event.data.result,\n providerCall: current.provider,\n providerResult: { executed: event.data.executed, state: event.data.resultState },\n rawInput: current.raw,\n },\n time: { start: current.timestamp, end: time },\n },\n }\n tools.delete(event.data.callID)\n if (!emit(\"tool_use\", time, { part })) {\n await input.renderToolError(part)\n UI.error(error)\n }\n continue\n }\n\n if (event.type === \"session.step.ended\") {\n const part: StepFinishPart = {\n id: partID(event.id),\n sessionID: input.sessionID,\n messageID: event.data.assistantMessageID,\n type: \"step-finish\",\n reason: event.data.finish,\n snapshot: event.data.snapshot,\n cost: event.data.cost,\n tokens: event.data.tokens,\n }\n emit(\"step_finish\", time, { part })\n continue\n }\n if (event.type === \"session.step.failed\") {\n if (interrupted || permissionRejected || questionRejected || formCancelled) continue\n emittedError = true\n process.exitCode = 1\n if (!emit(\"error\", time, { error: event.data.error })) UI.error(event.data.error.message)\n continue\n }\n if (event.type === \"session.execution.failed\") {\n if (!emittedError && !questionRejected && !formCancelled) {\n emittedError = true\n process.exitCode = 1\n if (!emit(\"error\", time, { error: event.data.error })) UI.error(event.data.error.message)\n }\n return\n }\n if (event.type === \"session.execution.interrupted\") {\n if (event.data.reason === \"user\" && interrupted) process.exitCode = 130\n if (event.data.reason !== \"user\" && !emittedError) {\n emittedError = true\n process.exitCode = 1\n const error = { type: \"aborted\" as const, message: `Session interrupted: ${event.data.reason}` }\n if (!emit(\"error\", time, { error })) UI.error(error.message)\n }\n return\n }\n if (event.type === \"session.execution.succeeded\") return\n }\n }\n\n const interrupt = () => {\n if (interrupted) process.exit(130)\n interrupted = true\n process.exitCode = 130\n admission?.abort()\n void input.client.session.interrupt({ sessionID: input.sessionID }).catch(() => {})\n }\n process.on(\"SIGINT\", interrupt)\n\n let completed: Promise<void> | undefined\n try {\n if (input.agent) {\n await input.client.session.switchAgent({ sessionID: input.sessionID, agent: input.agent })\n }\n const selected = input.model\n ? { providerID: input.model.providerID, id: input.model.modelID, variant: input.variant }\n : input.variant\n ? await input.client.session\n .get({ sessionID: input.sessionID })\n .then((result) => result.model)\n .then(async (model) => {\n if (model) return { ...model, variant: input.variant }\n const result = await input.client.model.default()\n const fallback = result.data\n return fallback ? { providerID: fallback.providerID, id: fallback.id, variant: input.variant } : undefined\n })\n : undefined\n if (input.variant && !selected) throw new Error(\"Cannot select a variant before selecting a model\")\n if (selected) {\n await input.client.session.switchModel({ sessionID: input.sessionID, model: selected })\n }\n\n const prepared = await Promise.all(input.files.map(prepareFile))\n if (interrupted) return\n submitted = true\n completed = consume()\n admission = new AbortController()\n const response = await input.client.session\n .prompt(\n {\n sessionID: input.sessionID,\n id: messageID,\n text: [input.message, ...prepared.flatMap((file) => (file.text ? [file.text] : []))].join(\"\\n\\n\"),\n files: prepared.flatMap((file) => (file.attachment ? [file.attachment] : [])),\n delivery: \"steer\",\n },\n { signal: admission.signal },\n )\n .catch(async (error) => {\n if (interrupted) {\n await input.client.session.interrupt({ sessionID: input.sessionID }).catch(() => {})\n }\n controller.abort()\n await completed?.catch(() => {})\n if (interrupted || emittedError) return undefined\n throw error\n })\n admission = undefined\n if (!response) return\n if (interrupted) await input.client.session.interrupt({ sessionID: input.sessionID }).catch(() => {})\n\n const [permissions, questions, forms] = await Promise.all([\n input.client.permission.list({ sessionID: input.sessionID }).catch(() => undefined),\n input.client.question.list({ sessionID: input.sessionID }).catch(() => undefined),\n Promise.all(\n (input.attached ? [input.sessionID] : [input.sessionID, GLOBAL_FORM_SESSION_ID]).map((sessionID) =>\n input.client.form.list({ sessionID }).catch(() => undefined),\n ),\n ),\n ])\n await Promise.all([\n ...(permissions ?? []).map(replyPermission),\n ...(questions ?? []).map(rejectQuestion),\n ...forms.flatMap((response) => response ?? []).map(cancelForm),\n ])\n await completed\n } finally {\n process.off(\"SIGINT\", interrupt)\n controller.abort()\n await stream.return?.(undefined).catch(() => {})\n }\n}\n\nfunction partID(eventID: string) {\n return `prt_${eventID.replace(/^evt_/, \"\")}`\n}\n\nfunction fallbackTool(event: {\n id: string\n created: number\n data: { assistantMessageID: string; callID: string }\n}): ToolState {\n return {\n id: partID(event.id),\n timestamp: toMillis(event.created),\n assistantMessageID: event.data.assistantMessageID,\n tool: \"tool\",\n input: {},\n }\n}\n\nfunction toMillis(value: unknown) {\n if (typeof value === \"number\") return value\n if (typeof value === \"string\") return new Date(value).getTime()\n return Date.now()\n}\n\nasync function prepareFile(file: File) {\n if (file.mime !== \"text/plain\") {\n const uri = file.url.startsWith(\"data:\")\n ? file.url\n : `data:${file.mime};base64,${Buffer.from(await Bun.file(new URL(file.url)).arrayBuffer()).toString(\"base64\")}`\n return { attachment: { uri, mime: file.mime, name: file.filename } }\n }\n const content = file.url.startsWith(\"data:\")\n ? Buffer.from(file.url.slice(file.url.indexOf(\",\") + 1), \"base64\").toString(\"utf8\")\n : await Bun.file(new URL(file.url)).text()\n return { text: `<file name=\"${file.filename}\">\\n${content}\\n</file>` }\n}\n", | ||
| "import { EOL } from \"node:os\"\n\nexport const Style = {\n TEXT_DIM: \"\\x1b[90m\",\n TEXT_NORMAL: \"\\x1b[0m\",\n TEXT_WARNING_BOLD: \"\\x1b[93m\\x1b[1m\",\n TEXT_DANGER_BOLD: \"\\x1b[91m\\x1b[1m\",\n}\n\nexport function println(...message: string[]) {\n process.stderr.write(message.join(\" \") + EOL)\n}\n\nlet blank = false\n\nexport function empty() {\n if (blank) return\n println(Style.TEXT_NORMAL)\n blank = true\n}\n\nexport function error(message: string) {\n if (message.startsWith(\"Error: \")) message = message.slice(\"Error: \".length)\n println(Style.TEXT_DANGER_BOLD + \"Error: \" + Style.TEXT_NORMAL + message)\n}\n\nexport * as UI from \"./ui\"\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "D3DECCA0F4A45B1864756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "B06CA5A84F10E66C64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@ai-sdk+provider@3.0.10/node_modules/@ai-sdk/provider/dist/index.mjs"], | ||
| "sourcesContent": [ | ||
| "// src/errors/ai-sdk-error.ts\nvar marker = \"vercel.ai.error\";\nvar symbol = Symbol.for(marker);\nvar _a, _b;\nvar AISDKError = class _AISDKError extends (_b = Error, _a = symbol, _b) {\n /**\n * Creates an AI SDK Error.\n *\n * @param {Object} params - The parameters for creating the error.\n * @param {string} params.name - The name of the error.\n * @param {string} params.message - The error message.\n * @param {unknown} [params.cause] - The underlying cause of the error.\n */\n constructor({\n name: name14,\n message,\n cause\n }) {\n super(message);\n this[_a] = true;\n this.name = name14;\n this.cause = cause;\n }\n /**\n * Checks if the given error is an AI SDK Error.\n * @param {unknown} error - The error to check.\n * @returns {boolean} True if the error is an AI SDK Error, false otherwise.\n */\n static isInstance(error) {\n return _AISDKError.hasMarker(error, marker);\n }\n static hasMarker(error, marker15) {\n const markerSymbol = Symbol.for(marker15);\n return error != null && typeof error === \"object\" && markerSymbol in error && typeof error[markerSymbol] === \"boolean\" && error[markerSymbol] === true;\n }\n};\n\n// src/errors/api-call-error.ts\nvar name = \"AI_APICallError\";\nvar marker2 = `vercel.ai.error.${name}`;\nvar symbol2 = Symbol.for(marker2);\nvar _a2, _b2;\nvar APICallError = class extends (_b2 = AISDKError, _a2 = symbol2, _b2) {\n constructor({\n message,\n url,\n requestBodyValues,\n statusCode,\n responseHeaders,\n responseBody,\n cause,\n isRetryable = statusCode != null && (statusCode === 408 || // request timeout\n statusCode === 409 || // conflict\n statusCode === 429 || // too many requests\n statusCode >= 500),\n // server error\n data\n }) {\n super({ name, message, cause });\n this[_a2] = true;\n this.url = url;\n this.requestBodyValues = requestBodyValues;\n this.statusCode = statusCode;\n this.responseHeaders = responseHeaders;\n this.responseBody = responseBody;\n this.isRetryable = isRetryable;\n this.data = data;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker2);\n }\n};\n\n// src/errors/empty-response-body-error.ts\nvar name2 = \"AI_EmptyResponseBodyError\";\nvar marker3 = `vercel.ai.error.${name2}`;\nvar symbol3 = Symbol.for(marker3);\nvar _a3, _b3;\nvar EmptyResponseBodyError = class extends (_b3 = AISDKError, _a3 = symbol3, _b3) {\n // used in isInstance\n constructor({ message = \"Empty response body\" } = {}) {\n super({ name: name2, message });\n this[_a3] = true;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker3);\n }\n};\n\n// src/errors/get-error-message.ts\nfunction getErrorMessage(error) {\n if (error == null) {\n return \"unknown error\";\n }\n if (typeof error === \"string\") {\n return error;\n }\n if (error instanceof Error) {\n return error.message;\n }\n return JSON.stringify(error);\n}\n\n// src/errors/invalid-argument-error.ts\nvar name3 = \"AI_InvalidArgumentError\";\nvar marker4 = `vercel.ai.error.${name3}`;\nvar symbol4 = Symbol.for(marker4);\nvar _a4, _b4;\nvar InvalidArgumentError = class extends (_b4 = AISDKError, _a4 = symbol4, _b4) {\n constructor({\n message,\n cause,\n argument\n }) {\n super({ name: name3, message, cause });\n this[_a4] = true;\n this.argument = argument;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker4);\n }\n};\n\n// src/errors/invalid-prompt-error.ts\nvar name4 = \"AI_InvalidPromptError\";\nvar marker5 = `vercel.ai.error.${name4}`;\nvar symbol5 = Symbol.for(marker5);\nvar _a5, _b5;\nvar InvalidPromptError = class extends (_b5 = AISDKError, _a5 = symbol5, _b5) {\n constructor({\n prompt,\n message,\n cause\n }) {\n super({ name: name4, message: `Invalid prompt: ${message}`, cause });\n this[_a5] = true;\n this.prompt = prompt;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker5);\n }\n};\n\n// src/errors/invalid-response-data-error.ts\nvar name5 = \"AI_InvalidResponseDataError\";\nvar marker6 = `vercel.ai.error.${name5}`;\nvar symbol6 = Symbol.for(marker6);\nvar _a6, _b6;\nvar InvalidResponseDataError = class extends (_b6 = AISDKError, _a6 = symbol6, _b6) {\n constructor({\n data,\n message = `Invalid response data: ${JSON.stringify(data)}.`\n }) {\n super({ name: name5, message });\n this[_a6] = true;\n this.data = data;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker6);\n }\n};\n\n// src/errors/json-parse-error.ts\nvar name6 = \"AI_JSONParseError\";\nvar marker7 = `vercel.ai.error.${name6}`;\nvar symbol7 = Symbol.for(marker7);\nvar _a7, _b7;\nvar JSONParseError = class extends (_b7 = AISDKError, _a7 = symbol7, _b7) {\n constructor({ text, cause }) {\n super({\n name: name6,\n message: `JSON parsing failed: Text: ${text}.\nError message: ${getErrorMessage(cause)}`,\n cause\n });\n this[_a7] = true;\n this.text = text;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker7);\n }\n};\n\n// src/errors/load-api-key-error.ts\nvar name7 = \"AI_LoadAPIKeyError\";\nvar marker8 = `vercel.ai.error.${name7}`;\nvar symbol8 = Symbol.for(marker8);\nvar _a8, _b8;\nvar LoadAPIKeyError = class extends (_b8 = AISDKError, _a8 = symbol8, _b8) {\n // used in isInstance\n constructor({ message }) {\n super({ name: name7, message });\n this[_a8] = true;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker8);\n }\n};\n\n// src/errors/load-setting-error.ts\nvar name8 = \"AI_LoadSettingError\";\nvar marker9 = `vercel.ai.error.${name8}`;\nvar symbol9 = Symbol.for(marker9);\nvar _a9, _b9;\nvar LoadSettingError = class extends (_b9 = AISDKError, _a9 = symbol9, _b9) {\n // used in isInstance\n constructor({ message }) {\n super({ name: name8, message });\n this[_a9] = true;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker9);\n }\n};\n\n// src/errors/no-content-generated-error.ts\nvar name9 = \"AI_NoContentGeneratedError\";\nvar marker10 = `vercel.ai.error.${name9}`;\nvar symbol10 = Symbol.for(marker10);\nvar _a10, _b10;\nvar NoContentGeneratedError = class extends (_b10 = AISDKError, _a10 = symbol10, _b10) {\n // used in isInstance\n constructor({\n message = \"No content generated.\"\n } = {}) {\n super({ name: name9, message });\n this[_a10] = true;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker10);\n }\n};\n\n// src/errors/no-such-model-error.ts\nvar name10 = \"AI_NoSuchModelError\";\nvar marker11 = `vercel.ai.error.${name10}`;\nvar symbol11 = Symbol.for(marker11);\nvar _a11, _b11;\nvar NoSuchModelError = class extends (_b11 = AISDKError, _a11 = symbol11, _b11) {\n constructor({\n errorName = name10,\n modelId,\n modelType,\n message = `No such ${modelType}: ${modelId}`\n }) {\n super({ name: errorName, message });\n this[_a11] = true;\n this.modelId = modelId;\n this.modelType = modelType;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker11);\n }\n};\n\n// src/errors/too-many-embedding-values-for-call-error.ts\nvar name11 = \"AI_TooManyEmbeddingValuesForCallError\";\nvar marker12 = `vercel.ai.error.${name11}`;\nvar symbol12 = Symbol.for(marker12);\nvar _a12, _b12;\nvar TooManyEmbeddingValuesForCallError = class extends (_b12 = AISDKError, _a12 = symbol12, _b12) {\n constructor(options) {\n super({\n name: name11,\n message: `Too many values for a single embedding call. The ${options.provider} model \"${options.modelId}\" can only embed up to ${options.maxEmbeddingsPerCall} values per call, but ${options.values.length} values were provided.`\n });\n this[_a12] = true;\n this.provider = options.provider;\n this.modelId = options.modelId;\n this.maxEmbeddingsPerCall = options.maxEmbeddingsPerCall;\n this.values = options.values;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker12);\n }\n};\n\n// src/errors/type-validation-error.ts\nvar name12 = \"AI_TypeValidationError\";\nvar marker13 = `vercel.ai.error.${name12}`;\nvar symbol13 = Symbol.for(marker13);\nvar _a13, _b13;\nvar TypeValidationError = class _TypeValidationError extends (_b13 = AISDKError, _a13 = symbol13, _b13) {\n constructor({\n value,\n cause,\n context\n }) {\n let contextPrefix = \"Type validation failed\";\n if (context == null ? void 0 : context.field) {\n contextPrefix += ` for ${context.field}`;\n }\n if ((context == null ? void 0 : context.entityName) || (context == null ? void 0 : context.entityId)) {\n contextPrefix += \" (\";\n const parts = [];\n if (context.entityName) {\n parts.push(context.entityName);\n }\n if (context.entityId) {\n parts.push(`id: \"${context.entityId}\"`);\n }\n contextPrefix += parts.join(\", \");\n contextPrefix += \")\";\n }\n super({\n name: name12,\n message: `${contextPrefix}: Value: ${JSON.stringify(value)}.\nError message: ${getErrorMessage(cause)}`,\n cause\n });\n this[_a13] = true;\n this.value = value;\n this.context = context;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker13);\n }\n /**\n * Wraps an error into a TypeValidationError.\n * If the cause is already a TypeValidationError with the same value and context, it returns the cause.\n * Otherwise, it creates a new TypeValidationError.\n *\n * @param {Object} params - The parameters for wrapping the error.\n * @param {unknown} params.value - The value that failed validation.\n * @param {unknown} params.cause - The original error or cause of the validation failure.\n * @param {TypeValidationContext} params.context - Optional context about what is being validated.\n * @returns {TypeValidationError} A TypeValidationError instance.\n */\n static wrap({\n value,\n cause,\n context\n }) {\n var _a15, _b15, _c;\n if (_TypeValidationError.isInstance(cause) && cause.value === value && ((_a15 = cause.context) == null ? void 0 : _a15.field) === (context == null ? void 0 : context.field) && ((_b15 = cause.context) == null ? void 0 : _b15.entityName) === (context == null ? void 0 : context.entityName) && ((_c = cause.context) == null ? void 0 : _c.entityId) === (context == null ? void 0 : context.entityId)) {\n return cause;\n }\n return new _TypeValidationError({ value, cause, context });\n }\n};\n\n// src/errors/unsupported-functionality-error.ts\nvar name13 = \"AI_UnsupportedFunctionalityError\";\nvar marker14 = `vercel.ai.error.${name13}`;\nvar symbol14 = Symbol.for(marker14);\nvar _a14, _b14;\nvar UnsupportedFunctionalityError = class extends (_b14 = AISDKError, _a14 = symbol14, _b14) {\n constructor({\n functionality,\n message = `'${functionality}' functionality not supported.`\n }) {\n super({ name: name13, message });\n this[_a14] = true;\n this.functionality = functionality;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker14);\n }\n};\n\n// src/json-value/is-json.ts\nfunction isJSONValue(value) {\n if (value === null || typeof value === \"string\" || typeof value === \"number\" || typeof value === \"boolean\") {\n return true;\n }\n if (Array.isArray(value)) {\n return value.every(isJSONValue);\n }\n if (typeof value === \"object\") {\n return Object.entries(value).every(\n ([key, val]) => typeof key === \"string\" && (val === void 0 || isJSONValue(val))\n );\n }\n return false;\n}\nfunction isJSONArray(value) {\n return Array.isArray(value) && value.every(isJSONValue);\n}\nfunction isJSONObject(value) {\n return value != null && typeof value === \"object\" && Object.entries(value).every(\n ([key, val]) => typeof key === \"string\" && (val === void 0 || isJSONValue(val))\n );\n}\nexport {\n AISDKError,\n APICallError,\n EmptyResponseBodyError,\n InvalidArgumentError,\n InvalidPromptError,\n InvalidResponseDataError,\n JSONParseError,\n LoadAPIKeyError,\n LoadSettingError,\n NoContentGeneratedError,\n NoSuchModelError,\n TooManyEmbeddingValuesForCallError,\n TypeValidationError,\n UnsupportedFunctionalityError,\n getErrorMessage,\n isJSONArray,\n isJSONObject,\n isJSONValue\n};\n//# sourceMappingURL=index.mjs.map" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "7E80C3B93FA6E70164756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["../tui/src/prompt/content.ts"], | ||
| "sourcesContent": [ | ||
| "export function normalizePromptContent(content: string) {\n if (content.endsWith(\"\\r\\n\")) {\n const body = content.slice(0, -2)\n return !body.includes(\"\\n\") && !body.includes(\"\\r\") ? body : content\n }\n\n if (content.endsWith(\"\\n\")) {\n const body = content.slice(0, -1)\n return !body.includes(\"\\n\") && !body.includes(\"\\r\") ? body : content\n }\n\n return content\n}\n" | ||
| ], | ||
| "mappings": ";AAAO,SAAS,CAAsB,CAAC,EAAiB,CACtD,GAAI,EAAQ,SAAS;AAAA,CAAM,EAAG,CAC5B,IAAM,EAAO,EAAQ,MAAM,EAAG,EAAE,EAChC,MAAO,CAAC,EAAK,SAAS;AAAA,CAAI,GAAK,CAAC,EAAK,SAAS,IAAI,EAAI,EAAO,EAG/D,GAAI,EAAQ,SAAS;AAAA,CAAI,EAAG,CAC1B,IAAM,EAAO,EAAQ,MAAM,EAAG,EAAE,EAChC,MAAO,CAAC,EAAK,SAAS;AAAA,CAAI,GAAK,CAAC,EAAK,SAAS,IAAI,EAAI,EAAO,EAG/D,OAAO", | ||
| "debugId": "1EAE594F39F2A17964756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "7A6EDE55C1288FE164756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260511000411_data_migration_state.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260511000411_data_migration_state\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`\n CREATE TABLE \\`data_migration\\` (\n \\`name\\` text PRIMARY KEY,\n \\`time_completed\\` integer NOT NULL\n );\n `)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,sCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,gJAKb,EACF,EAEL", | ||
| "debugId": "A66D1C6EE054C1B664756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260428004200_add_session_path.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260428004200_add_session_path\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`ALTER TABLE \\`session\\` ADD \\`path\\` text;`)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,kCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,wCAA4C,EAC3D,EAEL", | ||
| "debugId": "C5102D1CF6D34C5364756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260511173437_session-metadata.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260511173437_session-metadata\",\n up(tx) {\n return Effect.gen(function* () {\n // This column briefly shipped again under 20260530232709_lovely_romulus.\n if (\n (yield* tx.all<{ name: string }>(`PRAGMA table_info(\\`session\\`)`)).some((column) => column.name === \"metadata\")\n )\n return\n yield* tx.run(`ALTER TABLE \\`session\\` ADD \\`metadata\\` text;`)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,kCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAE7B,IACG,MAAO,EAAG,IAAsB,8BAAgC,GAAG,KAAK,CAAC,IAAW,EAAO,OAAS,UAAU,EAE/G,OACF,MAAO,EAAG,IAAI,4CAAgD,EAC/D,EAEL", | ||
| "debugId": "AF12213A53B93D9064756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["src/mini/tool.ts"], | ||
| "sourcesContent": [ | ||
| "// Per-tool display rules shared across `opencode run` output paths.\n//\n// Each known tool (bash, edit, write, task, etc.) has a ToolRule that controls\n// five display hooks:\n//\n// view → visibility policy for progress/final scrollback entries and\n// whether completed finals can render as structured snapshots\n// run → inline summary for the non-interactive `run` command output\n// scroll → text formatting for start/progress/final scrollback entries\n// permission → display info for the permission UI (icon, title, diff)\n// snap → structured snapshot (code block, diff, task card) for rich\n// scrollback entries\n//\n// Tools not in TOOL_RULES get fallback formatting.\nimport os from \"os\"\nimport path from \"path\"\nimport stripAnsi from \"strip-ansi\"\nimport type { ToolPart } from \"@opencode-ai/sdk/v2\"\nimport { LANGUAGE_EXTENSIONS } from \"@opencode-ai/tui/util/filetype\"\nimport { Locale } from \"@opencode-ai/tui/util/locale\"\nimport type { RunEntryBody, StreamCommit, ToolSnapshot } from \"./types\"\n\nexport type ToolView = {\n output: boolean\n final: boolean\n snap?: \"code\" | \"diff\" | \"structured\"\n}\n\nexport type ToolPhase = \"start\" | \"progress\" | \"final\"\n\nexport type ToolDict = Record<string, unknown>\n\ntype PatchFile = {\n type?: string\n relativePath?: string\n filePath?: string\n movePath?: string\n patch?: string\n deletions?: number\n}\n\ntype ToolInput = ToolDict & {\n path?: string\n pattern?: string\n filePath?: string\n filepath?: string\n url?: string\n query?: string\n subagent_type?: string\n description?: string\n name?: string\n operation?: string\n line?: number\n character?: number\n content?: string\n command?: string\n workdir?: string\n questions?: Array<{ question?: string }>\n diff?: string\n}\n\ntype ToolMetadata = ToolDict & {\n count?: number\n matches?: number\n diff?: string\n provider?: unknown\n files?: PatchFile[]\n answers?: string[][]\n exit?: number\n}\n\nexport type ToolFrame = {\n raw: string\n name: string\n input: ToolDict\n meta: ToolDict\n state: ToolDict\n status: string\n error: string\n}\n\nexport type ToolInline = {\n icon: string\n title: string\n description?: string\n mode?: \"inline\" | \"block\"\n body?: string\n}\n\nexport type ToolPermissionInfo = {\n icon: string\n title: string\n lines: string[]\n diff?: string\n file?: string\n}\n\nexport type ToolProps = {\n input: ToolInput\n metadata: ToolMetadata\n frame: ToolFrame\n}\n\ntype ToolPermissionProps = {\n input: ToolInput\n metadata: ToolMetadata\n patterns: string[]\n}\n\ntype ToolPermissionCtx = {\n input: ToolDict\n meta: ToolDict\n patterns: string[]\n}\n\ntype ToolName =\n | \"invalid\"\n | \"bash\"\n | \"write\"\n | \"edit\"\n | \"patch\"\n | \"batch\"\n | \"task\"\n | \"question\"\n | \"read\"\n | \"glob\"\n | \"grep\"\n | \"list\"\n | \"lsp\"\n | \"webfetch\"\n | \"websearch\"\n | \"skill\"\n | \"plan_exit\"\n\ntype ToolRule = {\n view: ToolView\n run: (props: ToolProps) => ToolInline\n scroll?: Partial<Record<ToolPhase, (props: ToolProps) => string>>\n permission?: (props: ToolPermissionProps) => ToolPermissionInfo\n snap?: (props: ToolProps) => ToolSnapshot | undefined\n}\n\ntype ToolRegistry = Record<ToolName, ToolRule>\n\ntype AnyToolRule = ToolRule\n\nfunction dict(v: unknown): ToolDict {\n if (!v || typeof v !== \"object\" || Array.isArray(v)) {\n return {}\n }\n\n return { ...v }\n}\n\nfunction props(frame: ToolFrame): ToolProps {\n return {\n input: frame.input,\n metadata: frame.meta,\n frame,\n }\n}\n\nfunction permission(ctx: ToolPermissionCtx): ToolPermissionProps {\n return {\n input: ctx.input,\n metadata: ctx.meta,\n patterns: ctx.patterns,\n }\n}\n\nfunction webSearchProviderLabel(provider: unknown) {\n if (provider === \"parallel\") return \"Parallel Web Search\"\n if (provider === \"exa\") return \"Exa Web Search\"\n return \"Web Search\"\n}\n\nfunction text(v: unknown): string {\n return typeof v === \"string\" ? v : \"\"\n}\n\nfunction num(v: unknown): number | undefined {\n if (typeof v !== \"number\" || !Number.isFinite(v)) {\n return undefined\n }\n\n return v\n}\n\nfunction list<T>(v: unknown): T[] {\n if (!Array.isArray(v)) {\n return []\n }\n\n return v\n}\n\nfunction info(data: ToolDict, skip: string[] = []): string {\n const list = Object.entries(data).filter(([key, val]) => {\n if (skip.includes(key)) {\n return false\n }\n\n return typeof val === \"string\" || typeof val === \"number\" || typeof val === \"boolean\"\n })\n\n if (list.length === 0) {\n return \"\"\n }\n\n return `[${list.map(([key, val]) => `${key}=${String(val)}`).join(\", \")}]`\n}\n\nfunction span(state: ToolDict): string {\n const time = dict(state.time)\n const start = num(time.start)\n const end = num(time.end)\n if (start === undefined || end === undefined || end <= start) {\n return \"\"\n }\n\n return Locale.duration(end - start)\n}\n\nfunction fail(ctx: ToolFrame): string {\n const error = toolError(ctx)\n if (error) {\n return `✖ ${ctx.name} failed: ${error}`\n }\n\n return `✖ ${ctx.name} failed`\n}\n\nfunction toolError(ctx: ToolFrame): string {\n if (ctx.error) {\n return ctx.error\n }\n\n const state = text(ctx.state.error).trim()\n if (state) {\n return state\n }\n\n return ctx.raw.trim()\n}\n\nfunction fallbackStart(ctx: ToolFrame): string {\n const extra = info(ctx.input)\n if (!extra) {\n return `⚙ ${ctx.name}`\n }\n\n return `⚙ ${ctx.name} ${extra}`\n}\n\nfunction fallbackFinal(ctx: ToolFrame): string {\n if (ctx.status === \"error\") {\n return fail(ctx)\n }\n\n if (ctx.status && ctx.status !== \"completed\") {\n return ctx.raw.trim()\n }\n\n const time = span(ctx.state)\n if (!time) {\n return `${ctx.name} completed`\n }\n\n return `${ctx.name} completed · ${time}`\n}\n\nexport function toolPath(input?: string, opts: { home?: boolean } = {}): string {\n if (!input) {\n return \"\"\n }\n\n const cwd = process.cwd()\n const home = os.homedir()\n const abs = path.isAbsolute(input) ? input : path.resolve(cwd, input)\n const rel = path.relative(cwd, abs)\n\n if (!rel) {\n return \".\"\n }\n\n if (!rel.startsWith(\"..\")) {\n return rel.replaceAll(\"\\\\\", \"/\")\n }\n\n if (opts.home && home && (abs === home || abs.startsWith(home + path.sep))) {\n return abs.replace(home, \"~\").replaceAll(\"\\\\\", \"/\")\n }\n\n return abs.replaceAll(\"\\\\\", \"/\")\n}\n\nfunction fallbackInline(ctx: ToolFrame): ToolInline {\n const title = text(ctx.state.title) || (Object.keys(ctx.input).length > 0 ? JSON.stringify(ctx.input) : \"Unknown\")\n\n return {\n icon: \"⚙\",\n title: `${ctx.name} ${title}`,\n }\n}\n\nfunction count(n: number, label: string): string {\n return `${n} ${label}${n === 1 ? \"\" : \"es\"}`\n}\n\nfunction runGlob(p: ToolProps): ToolInline {\n const root = p.input.path ?? \"\"\n const title = `Glob \"${p.input.pattern ?? \"\"}\"`\n const suffix = root ? `in ${toolPath(root)}` : \"\"\n const matches = p.metadata.count\n const description = matches === undefined ? suffix : `${suffix}${suffix ? \" · \" : \"\"}${count(matches, \"match\")}`\n return {\n icon: \"✱\",\n title,\n ...(description && { description }),\n }\n}\n\nfunction runGrep(p: ToolProps): ToolInline {\n const root = p.input.path ?? \"\"\n const title = `Grep \"${p.input.pattern ?? \"\"}\"`\n const suffix = root ? `in ${toolPath(root)}` : \"\"\n const matches = p.metadata.matches\n const description = matches === undefined ? suffix : `${suffix}${suffix ? \" · \" : \"\"}${count(matches, \"match\")}`\n return {\n icon: \"✱\",\n title,\n ...(description && { description }),\n }\n}\n\nfunction runList(p: ToolProps): ToolInline {\n const dir = text(dict(p.input).path)\n return {\n icon: \"→\",\n title: dir ? `List ${toolPath(dir)}` : \"List\",\n }\n}\n\nfunction runRead(p: ToolProps): ToolInline {\n const file = toolPath(p.input.filePath)\n const description = info(p.frame.input, [\"filePath\"]) || undefined\n return {\n icon: \"→\",\n title: `Read ${file}`,\n ...(description && { description }),\n }\n}\n\nfunction runWrite(p: ToolProps): ToolInline {\n return {\n icon: \"←\",\n title: `Write ${toolPath(p.input.filePath)}`,\n mode: \"block\",\n body: p.frame.status === \"completed\" ? text(p.frame.state.output) : undefined,\n }\n}\n\nfunction runWebfetch(p: ToolProps): ToolInline {\n const url = p.input.url ?? \"\"\n return {\n icon: \"%\",\n title: url ? `WebFetch ${url}` : \"WebFetch\",\n }\n}\n\nfunction runEdit(p: ToolProps): ToolInline {\n return {\n icon: \"←\",\n title: `Edit ${toolPath(p.input.filePath)}`,\n mode: \"block\",\n body: p.metadata.diff,\n }\n}\n\nfunction runWebSearch(p: ToolProps): ToolInline {\n const title = webSearchProviderLabel(p.metadata.provider)\n return {\n icon: \"◈\",\n title: p.input.query ? `${title} \"${p.input.query}\"` : title,\n }\n}\n\nfunction runTask(p: ToolProps): ToolInline {\n const kind = Locale.titlecase(p.input.subagent_type || \"unknown\")\n const desc = p.input.description\n const icon = p.frame.status === \"error\" ? \"✗\" : p.frame.status === \"running\" ? \"•\" : \"✓\"\n return {\n icon,\n title: desc || `${kind} Task`,\n description: desc ? `${kind} Agent` : undefined,\n }\n}\n\nfunction runSkill(p: ToolProps): ToolInline {\n return {\n icon: \"→\",\n title: `Skill \"${p.input.name ?? \"\"}\"`,\n }\n}\n\nfunction runPatch(p: ToolProps): ToolInline {\n const files = p.metadata.files?.length ?? 0\n if (files === 0) {\n return {\n icon: \"%\",\n title: \"Patch\",\n }\n }\n\n return {\n icon: \"%\",\n title: `Patch ${files} file${files === 1 ? \"\" : \"s\"}`,\n }\n}\n\nfunction runQuestion(p: ToolProps): ToolInline {\n const total = list(p.frame.input.questions).length\n return {\n icon: \"→\",\n title: `Asked ${total} question${total === 1 ? \"\" : \"s\"}`,\n }\n}\n\nfunction runInvalid(p: ToolProps): ToolInline {\n return {\n icon: \"✗\",\n title: text(p.frame.state.title) || \"Invalid Tool\",\n mode: \"block\",\n body: p.frame.status === \"completed\" ? text(p.frame.state.output) : undefined,\n }\n}\n\nfunction runBatch(p: ToolProps): ToolInline {\n const calls = list(dict(p.input).tool_calls).length\n return {\n icon: \"#\",\n title: text(p.frame.state.title) || (calls > 0 ? `Batch ${calls} tool${calls === 1 ? \"\" : \"s\"}` : \"Batch\"),\n mode: \"block\",\n body: p.frame.status === \"completed\" ? text(p.frame.state.output) : undefined,\n }\n}\n\nfunction lspTitle(\n input: {\n operation?: string\n filePath?: string\n line?: number\n character?: number\n },\n opts: { home?: boolean } = {},\n): string {\n const op = input.operation || \"request\"\n const file = input.filePath ? toolPath(input.filePath, opts) : \"\"\n const line = typeof input.line === \"number\" ? input.line : undefined\n const char = typeof input.character === \"number\" ? input.character : undefined\n const pos = line !== undefined && char !== undefined ? `:${line}:${char}` : \"\"\n if (!file) {\n return `LSP ${op}`\n }\n\n return `LSP ${op} ${file}${pos}`\n}\n\nfunction runLsp(p: ToolProps): ToolInline {\n return {\n icon: \"→\",\n title: text(p.frame.state.title) || lspTitle(p.input),\n }\n}\n\nfunction runPlanExit(p: ToolProps): ToolInline {\n return {\n icon: \"→\",\n title: text(p.frame.state.title) || \"Switching to build agent\",\n mode: \"block\",\n body: p.frame.status === \"completed\" ? text(p.frame.state.output) : undefined,\n }\n}\n\nfunction patchTitle(file: PatchFile): string {\n const rel = file.relativePath\n const from = file.filePath\n if (file.type === \"add\") {\n return `# Created ${rel || toolPath(from)}`\n }\n if (file.type === \"delete\") {\n return `# Deleted ${rel || toolPath(from)}`\n }\n if (file.type === \"move\") {\n return `# Moved ${toolPath(from)} -> ${rel || toolPath(file.movePath)}`\n }\n\n return `# Patched ${rel || toolPath(from)}`\n}\n\nfunction snapWrite(p: ToolProps): ToolSnapshot | undefined {\n const file = p.input.filePath || \"\"\n const content = p.input.content || \"\"\n if (!file && !content) {\n return undefined\n }\n\n return {\n kind: \"code\",\n title: `# Wrote ${toolPath(file)}`,\n content,\n file,\n }\n}\n\nfunction snapEdit(p: ToolProps): ToolSnapshot | undefined {\n const file = p.input.filePath || \"\"\n const diff = p.metadata.diff || \"\"\n if (!file || !diff.trim()) {\n return undefined\n }\n\n return {\n kind: \"diff\",\n items: [\n {\n title: `# Edited ${toolPath(file)}`,\n diff,\n file,\n },\n ],\n }\n}\n\nfunction snapPatch(p: ToolProps): ToolSnapshot | undefined {\n const files = list<PatchFile>(p.frame.meta.files)\n if (files.length === 0) {\n return undefined\n }\n\n const items = files.flatMap((file) => {\n if (!file || typeof file !== \"object\") {\n return []\n }\n\n const diff = typeof file.patch === \"string\" ? file.patch : \"\"\n if (!diff.trim()) {\n return []\n }\n\n const name = file.movePath || file.filePath || file.relativePath\n return [\n {\n title: patchTitle(file),\n diff,\n file: name,\n deletions: typeof file.deletions === \"number\" ? file.deletions : 0,\n },\n ]\n })\n\n if (items.length === 0) {\n return undefined\n }\n\n return {\n kind: \"diff\",\n items,\n }\n}\n\nfunction snapTask(p: ToolProps): ToolSnapshot {\n const kind = Locale.titlecase(p.input.subagent_type || \"general\")\n const desc = p.input.description\n const title = text(p.frame.state.title)\n const rows = [desc || title].filter((item): item is string => Boolean(item))\n\n return {\n kind: \"task\",\n title: `# ${kind} Task`,\n rows,\n tail: \"\",\n }\n}\n\nfunction snapQuestion(p: ToolProps): ToolSnapshot {\n const answers = list<unknown[]>(p.frame.meta.answers)\n const items = list<{ question?: string }>(p.frame.input.questions).map((item, i) => {\n const answer = list<string>(answers[i]).filter((entry) => typeof entry === \"string\")\n return {\n question: item.question || `Question ${i + 1}`,\n answer: answer.length > 0 ? answer.join(\", \") : \"(no answer)\",\n }\n })\n\n return {\n kind: \"question\",\n items,\n tail: \"\",\n }\n}\n\nfunction scrollBashStart(p: ToolProps): string {\n const cmd = p.input.command ?? \"\"\n const wd = p.input.workdir ?? \"\"\n const formatted = wd && wd !== \".\" ? toolPath(wd) : \"\"\n const dir = formatted === \".\" ? \"\" : formatted\n if (cmd && !dir) {\n return `$ ${cmd}`\n }\n\n if (!cmd) {\n return dir ? `# Running in ${dir}` : \"\"\n }\n\n return `# Running in ${dir}\\n$ ${cmd}`\n}\n\nfunction scrollBashProgress(p: ToolProps): string {\n const out = stripAnsi(p.frame.raw)\n const cmd = (p.input.command ?? \"\").trim()\n const fmt = (text: string) => {\n const body = text.replace(/^\\n+/, \"\").replace(/\\n+$/, \"\")\n return body ? `\\n${body}` : \"\"\n }\n\n if (!cmd) {\n return out.replace(/\\n+$/, \"\")\n }\n\n const wdRaw = (p.input.workdir ?? \"\").trim()\n const wd = wdRaw ? toolPath(wdRaw) : \"\"\n const lines = out.split(\"\\n\")\n const first = (lines[0] || \"\").trim()\n const second = (lines[1] || \"\").trim()\n\n if (wd && (first === wd || first === wdRaw) && second === cmd) {\n return fmt(lines.slice(2).join(\"\\n\"))\n }\n\n if (first === cmd || first === `$ ${cmd}`) {\n return fmt(lines.slice(1).join(\"\\n\"))\n }\n\n if (wd && (first === `${wd} ${cmd}` || first === `${wdRaw} ${cmd}`)) {\n return fmt(lines.slice(1).join(\"\\n\"))\n }\n\n return fmt(out)\n}\n\nfunction scrollBashFinal(p: ToolProps): string {\n if (p.frame.status === \"error\") {\n return fail(p.frame)\n }\n\n const code = p.metadata.exit ?? num(p.frame.meta.exitCode) ?? num(p.frame.meta.exit_code)\n const time = span(p.frame.state)\n if (code === undefined) {\n if (!time) {\n return \"bash completed\"\n }\n\n return `bash completed · ${time}`\n }\n\n return `bash completed (exit ${code})${time ? ` · ${time}` : \"\"}`\n}\n\nfunction scrollReadStart(p: ToolProps): string {\n const file = toolPath(p.input.filePath)\n const extra = info(p.frame.input, [\"filePath\"])\n const tail = extra ? ` ${extra}` : \"\"\n return `→ Read ${file}${tail}`.trim()\n}\n\nfunction scrollWriteStart(_: ToolProps): string {\n return \"\"\n}\n\nfunction scrollEditStart(_: ToolProps): string {\n return \"\"\n}\n\nfunction scrollPatchStart(_: ToolProps): string {\n return \"\"\n}\n\nfunction patchLine(file: PatchFile): string {\n const type = file.type\n const rel = file.relativePath\n const from = file.filePath\n\n if (type === \"add\") {\n return `+ Created ${rel || toolPath(from)}`\n }\n\n if (type === \"delete\") {\n return `- Deleted ${rel || toolPath(from)}`\n }\n\n if (type === \"move\") {\n return `→ Moved ${toolPath(from)} → ${rel || toolPath(file.movePath)}`\n }\n\n return `~ Patched ${rel || toolPath(from)}`\n}\n\nfunction scrollPatchFinal(p: ToolProps): string {\n if (p.frame.status === \"error\") {\n return fail(p.frame)\n }\n\n const files = list<PatchFile>(p.frame.meta.files)\n if (files.length === 0) {\n const time = span(p.frame.state)\n if (!time) {\n return \"patch\"\n }\n\n return `patch · ${time}`\n }\n\n const show_updates = !files.some((file) => file?.type && file.type !== \"update\")\n const shown = files.filter((file) => show_updates || file.type !== \"update\")\n const rows = shown.slice(0, 6).map(patchLine)\n if (shown.length > 6) {\n rows.push(`... and ${shown.length - 6} more`)\n }\n\n if (rows.length > 0) {\n return rows.join(\"\\n\")\n }\n\n return patchLine(files[0]!)\n}\n\nfunction scrollTaskStart(_: ToolProps): string {\n return \"\"\n}\n\nfunction taskResult(output: string): string | undefined {\n if (!output.trim()) {\n return undefined\n }\n\n const match = output.match(/<task_result>\\s*([\\s\\S]*?)\\s*<\\/task_result>/)\n if (match) {\n return match[1].trim() || undefined\n }\n\n const next = output\n .split(\"\\n\")\n .filter((line) => !line.startsWith(\"task_id:\"))\n .join(\"\\n\")\n .trim()\n return next || undefined\n}\n\nfunction scrollTaskFinal(p: ToolProps): string {\n if (p.frame.status === \"error\") {\n return fail(p.frame)\n }\n\n const kind = Locale.titlecase(p.input.subagent_type || \"general\")\n const row = p.input.description || text(p.frame.state.title)\n if (!row) {\n return `# ${kind} Task`\n }\n\n return `# ${kind} Task\\n${row}`\n}\n\nfunction scrollQuestionStart(_: ToolProps): string {\n return \"\"\n}\n\nfunction scrollQuestionFinal(p: ToolProps): string {\n const q = p.input.questions ?? []\n const a = p.metadata.answers ?? []\n const time = span(p.frame.state)\n if (q.length === 0) {\n if (!time) {\n return \"0 questions\"\n }\n\n return `0 questions · ${time}`\n }\n\n const rows: string[] = []\n for (const [i, item] of q.slice(0, 4).entries()) {\n const prompt = item.question\n const reply = a[i] ?? []\n rows.push(`? ${prompt || `Question ${i + 1}`}`)\n rows.push(` ${reply.length > 0 ? reply.join(\", \") : \"(no answer)\"}`)\n }\n\n if (q.length > 4) {\n rows.push(`... and ${q.length - 4} more`)\n }\n\n return rows.join(\"\\n\")\n}\n\nfunction scrollLspStart(p: ToolProps): string {\n return `→ ${lspTitle(p.input)}`\n}\n\nfunction scrollSkillStart(p: ToolProps): string {\n return `→ Skill \"${p.input.name ?? \"\"}\"`\n}\n\nfunction scrollGlobStart(p: ToolProps): string {\n const pattern = p.input.pattern ?? \"\"\n const head = pattern ? `✱ Glob \"${pattern}\"` : \"✱ Glob\"\n const dir = p.input.path ?? \"\"\n if (!dir) {\n return head\n }\n\n return `${head} in ${toolPath(dir)}`\n}\n\nfunction scrollGlobFinal(p: ToolProps): string {\n return toolError(p.frame) || fail(p.frame)\n}\n\nfunction scrollGrepStart(p: ToolProps): string {\n const pattern = p.input.pattern ?? \"\"\n const head = pattern ? `✱ Grep \"${pattern}\"` : \"✱ Grep\"\n const dir = p.input.path ?? \"\"\n if (!dir) {\n return head\n }\n\n return `${head} in ${toolPath(dir)}`\n}\n\nfunction scrollListStart(p: ToolProps): string {\n const dir = text(dict(p.input).path)\n if (!dir) {\n return \"→ List\"\n }\n\n return `→ List ${toolPath(dir)}`\n}\n\nfunction scrollWebfetchStart(p: ToolProps): string {\n const url = p.input.url ?? \"\"\n if (!url) {\n return \"% WebFetch\"\n }\n\n return `% WebFetch ${url}`\n}\n\nfunction scrollWebSearchStart(p: ToolProps): string {\n const title = webSearchProviderLabel(p.metadata.provider)\n const query = p.input.query ?? \"\"\n if (!query) {\n return `◈ ${title}`\n }\n\n return `◈ ${title} \"${query}\"`\n}\n\nfunction permEdit(p: ToolPermissionProps): ToolPermissionInfo {\n const input = p.input as { filePath?: string; filepath?: string; diff?: string }\n const file = input.filePath || input.filepath || p.patterns[0] || \"\"\n return {\n icon: \"→\",\n title: `Edit ${toolPath(file, { home: true })}`,\n lines: [],\n diff: p.metadata.diff ?? input.diff,\n file,\n }\n}\n\nfunction permRead(p: ToolPermissionProps): ToolPermissionInfo {\n const file = p.input.filePath || p.patterns[0] || \"\"\n return {\n icon: \"→\",\n title: `Read ${toolPath(file, { home: true })}`,\n lines: file ? [`Path: ${toolPath(file, { home: true })}`] : [],\n }\n}\n\nfunction permGlob(p: ToolPermissionProps): ToolPermissionInfo {\n const pattern = p.input.pattern || p.patterns[0] || \"\"\n return {\n icon: \"✱\",\n title: `Glob \"${pattern}\"`,\n lines: pattern ? [`Pattern: ${pattern}`] : [],\n }\n}\n\nfunction permGrep(p: ToolPermissionProps): ToolPermissionInfo {\n const pattern = p.input.pattern || p.patterns[0] || \"\"\n return {\n icon: \"✱\",\n title: `Grep \"${pattern}\"`,\n lines: pattern ? [`Pattern: ${pattern}`] : [],\n }\n}\n\nfunction permList(p: ToolPermissionProps): ToolPermissionInfo {\n const dir = text(dict(p.input).path) || p.patterns[0] || \"\"\n return {\n icon: \"→\",\n title: `List ${toolPath(dir, { home: true })}`,\n lines: dir ? [`Path: ${toolPath(dir, { home: true })}`] : [],\n }\n}\n\nfunction permBash(p: ToolPermissionProps): ToolPermissionInfo {\n const cmd = p.input.command || \"\"\n return {\n icon: \"#\",\n title: \"Shell command\",\n lines: cmd ? [`$ ${cmd}`] : p.patterns.map((item) => `- ${item}`),\n }\n}\n\nfunction permTask(p: ToolPermissionProps): ToolPermissionInfo {\n const type = p.input.subagent_type || \"general\"\n const desc = p.input.description\n return {\n icon: \"#\",\n title: `${Locale.titlecase(type)} Task`,\n lines: desc ? [`◉ ${desc}`] : [],\n }\n}\n\nfunction permWebfetch(p: ToolPermissionProps): ToolPermissionInfo {\n const url = p.input.url || \"\"\n return {\n icon: \"%\",\n title: `WebFetch ${url}`,\n lines: url ? [`URL: ${url}`] : [],\n }\n}\n\nfunction permWebSearch(p: ToolPermissionProps): ToolPermissionInfo {\n const query = p.input.query || \"\"\n const title = webSearchProviderLabel(p.metadata.provider)\n return {\n icon: \"◈\",\n title: query ? `${title} \"${query}\"` : title,\n lines: query ? [`Query: ${query}`] : [],\n }\n}\n\nfunction permLsp(p: ToolPermissionProps): ToolPermissionInfo {\n const file = p.input.filePath || \"\"\n const line = typeof p.input.line === \"number\" ? p.input.line : undefined\n const char = typeof p.input.character === \"number\" ? p.input.character : undefined\n const pos = line !== undefined && char !== undefined ? `${line}:${char}` : undefined\n return {\n icon: \"→\",\n title: lspTitle(p.input, { home: true }),\n lines: [\n ...(p.input.operation ? [`Operation: ${p.input.operation}`] : []),\n ...(file ? [`Path: ${toolPath(file, { home: true })}`] : []),\n ...(pos ? [`Position: ${pos}`] : []),\n ],\n }\n}\n\nconst TOOL_RULES = {\n invalid: {\n view: {\n output: true,\n final: false,\n },\n run: runInvalid,\n scroll: {\n start: () => \"\",\n },\n },\n bash: {\n view: {\n output: true,\n final: false,\n },\n run: runBash,\n scroll: {\n start: scrollBashStart,\n progress: scrollBashProgress,\n final: scrollBashFinal,\n },\n permission: permBash,\n },\n write: {\n view: {\n output: false,\n final: true,\n snap: \"code\",\n },\n run: runWrite,\n snap: snapWrite,\n scroll: {\n start: scrollWriteStart,\n },\n },\n edit: {\n view: {\n output: false,\n final: true,\n snap: \"diff\",\n },\n run: runEdit,\n snap: snapEdit,\n scroll: {\n start: scrollEditStart,\n },\n permission: permEdit,\n },\n patch: {\n view: {\n output: false,\n final: true,\n snap: \"diff\",\n },\n run: runPatch,\n snap: snapPatch,\n scroll: {\n start: scrollPatchStart,\n final: scrollPatchFinal,\n },\n },\n batch: {\n view: {\n output: true,\n final: false,\n },\n run: runBatch,\n scroll: {\n start: () => \"\",\n },\n },\n task: {\n view: {\n output: false,\n final: true,\n snap: \"structured\",\n },\n run: runTask,\n snap: snapTask,\n scroll: {\n start: scrollTaskStart,\n final: scrollTaskFinal,\n },\n permission: permTask,\n },\n question: {\n view: {\n output: false,\n final: true,\n snap: \"structured\",\n },\n run: runQuestion,\n snap: snapQuestion,\n scroll: {\n start: scrollQuestionStart,\n final: scrollQuestionFinal,\n },\n },\n read: {\n view: {\n output: false,\n final: false,\n },\n run: runRead,\n scroll: {\n start: scrollReadStart,\n },\n permission: permRead,\n },\n glob: {\n view: {\n output: false,\n final: false,\n },\n run: runGlob,\n scroll: {\n start: scrollGlobStart,\n final: scrollGlobFinal,\n },\n permission: permGlob,\n },\n grep: {\n view: {\n output: false,\n final: false,\n },\n run: runGrep,\n scroll: {\n start: scrollGrepStart,\n },\n permission: permGrep,\n },\n list: {\n view: {\n output: false,\n final: false,\n },\n run: runList,\n scroll: {\n start: scrollListStart,\n },\n permission: permList,\n },\n lsp: {\n view: {\n output: false,\n final: false,\n },\n run: runLsp,\n scroll: {\n start: scrollLspStart,\n },\n permission: permLsp,\n },\n webfetch: {\n view: {\n output: false,\n final: false,\n },\n run: runWebfetch,\n scroll: {\n start: scrollWebfetchStart,\n },\n permission: permWebfetch,\n },\n websearch: {\n view: {\n output: false,\n final: false,\n },\n run: runWebSearch,\n scroll: {\n start: scrollWebSearchStart,\n },\n permission: permWebSearch,\n },\n skill: {\n view: {\n output: false,\n final: false,\n },\n run: runSkill,\n scroll: {\n start: scrollSkillStart,\n },\n },\n plan_exit: {\n view: {\n output: true,\n final: false,\n },\n run: runPlanExit,\n scroll: {\n start: () => \"\",\n },\n },\n} as const satisfies ToolRegistry\n\nfunction key(name: string): name is ToolName {\n return Object.prototype.hasOwnProperty.call(TOOL_RULES, name)\n}\n\nfunction rule(name?: string): AnyToolRule | undefined {\n if (!name || !key(name)) {\n return undefined\n }\n\n return TOOL_RULES[name]\n}\n\nfunction frame(part: ToolPart): ToolFrame {\n const state = dict(part.state)\n return {\n raw: \"\",\n name: part.tool,\n input: dict(state.input),\n meta: \"metadata\" in part.state ? dict(part.state.metadata) : {},\n state,\n status: text(state.status),\n error: text(state.error),\n }\n}\n\nexport function toolFrame(commit: StreamCommit, raw: string): ToolFrame {\n const state = dict(commit.part?.state)\n return {\n raw,\n name: commit.tool || commit.part?.tool || \"tool\",\n input: dict(state.input),\n meta: commit.part?.state && \"metadata\" in commit.part.state ? dict(commit.part.state.metadata) : {},\n state,\n status: commit.toolState ?? text(state.status),\n error: (commit.toolError ?? \"\").trim(),\n }\n}\n\nfunction runBash(p: ToolProps): ToolInline {\n return {\n icon: \"$\",\n title: p.input.command || \"\",\n mode: \"block\",\n body: p.frame.status === \"completed\" ? text(p.frame.state.output).trim() : undefined,\n }\n}\n\nexport function toolView(name?: string): ToolView {\n return (\n rule(name)?.view ?? {\n output: true,\n final: true,\n }\n )\n}\n\nexport function toolStructuredFinal(commit: StreamCommit): boolean {\n const state = commit.toolState ?? commit.part?.state.status\n return (\n commit.kind === \"tool\" &&\n commit.phase === \"final\" &&\n state === \"completed\" &&\n Boolean(toolView(commit.tool ?? commit.part?.tool).snap)\n )\n}\n\nexport function toolInlineInfo(part: ToolPart): ToolInline {\n const ctx = frame(part)\n const draw = rule(ctx.name)?.run\n try {\n if (draw) {\n return draw(props(ctx))\n }\n } catch {\n return fallbackInline(ctx)\n }\n\n return fallbackInline(ctx)\n}\n\nexport function toolScroll(phase: ToolPhase, ctx: ToolFrame): string {\n const draw = rule(ctx.name)?.scroll?.[phase]\n try {\n if (draw) {\n return draw(props(ctx))\n }\n } catch {\n if (phase === \"start\") {\n return fallbackStart(ctx)\n }\n if (phase === \"progress\") {\n return ctx.raw\n }\n return fallbackFinal(ctx)\n }\n\n if (phase === \"start\") {\n return fallbackStart(ctx)\n }\n\n if (phase === \"progress\") {\n return ctx.raw\n }\n\n return fallbackFinal(ctx)\n}\n\nexport function toolPermissionInfo(\n name: string,\n input: ToolDict,\n meta: ToolDict,\n patterns: string[],\n): ToolPermissionInfo | undefined {\n const draw = rule(name)?.permission\n if (!draw) {\n return undefined\n }\n\n try {\n return draw(permission({ input, meta, patterns }))\n } catch {\n return undefined\n }\n}\n\nexport function toolSnapshot(commit: StreamCommit, raw: string): ToolSnapshot | undefined {\n const ctx = toolFrame(commit, raw)\n const draw = rule(ctx.name)?.snap\n if (!draw) {\n return undefined\n }\n\n try {\n return draw(props(ctx))\n } catch {\n return undefined\n }\n}\n\nfunction textBody(content: string): RunEntryBody | undefined {\n if (!content) {\n return undefined\n }\n\n return {\n type: \"text\",\n content,\n }\n}\n\nfunction markdownBody(content: string): RunEntryBody | undefined {\n if (!content) {\n return undefined\n }\n\n return {\n type: \"markdown\",\n content,\n }\n}\n\nfunction structuredBody(commit: StreamCommit, raw: string): RunEntryBody | undefined {\n const snap = toolSnapshot(commit, raw)\n if (!snap) {\n return undefined\n }\n\n return {\n type: \"structured\",\n snapshot: snap,\n }\n}\n\nfunction shellOutput(command: string, raw: string): string | undefined {\n const body = stripAnsi(raw).replace(/^\\n+/, \"\").replace(/\\n+$/, \"\")\n if (!body) {\n return undefined\n }\n\n if (!command) {\n return body\n }\n\n return `\\n${body}`\n}\n\nexport function toolEntryBody(commit: StreamCommit, raw: string): RunEntryBody | undefined {\n if (commit.shell) {\n if (commit.phase === \"start\") {\n return textBody(`$ ${commit.shell.command}`)\n }\n\n if (commit.phase === \"progress\") {\n return textBody(shellOutput(commit.shell.command, raw) ?? \"\")\n }\n\n if (commit.toolState === \"error\") {\n const ctx = toolFrame(commit, raw)\n return textBody(toolScroll(\"final\", ctx))\n }\n\n return undefined\n }\n\n const ctx = toolFrame(commit, raw)\n const view = toolView(ctx.name)\n\n if (ctx.name === \"task\") {\n if (commit.phase === \"start\") {\n return undefined\n }\n\n if (commit.phase === \"final\" && ctx.status === \"completed\") {\n const result = taskResult(text(ctx.state.output))\n if (result) {\n return markdownBody(result)\n }\n }\n }\n\n if (commit.phase === \"progress\" && !view.output) {\n return undefined\n }\n\n if (commit.phase === \"final\") {\n if (ctx.status === \"error\") {\n return textBody(toolScroll(\"final\", ctx))\n }\n\n if (!view.final) {\n return undefined\n }\n\n if (ctx.status && ctx.status !== \"completed\") {\n return textBody(ctx.raw.trim())\n }\n\n if (toolStructuredFinal(commit)) {\n return structuredBody(commit, raw) ?? textBody(toolScroll(\"final\", ctx))\n }\n }\n\n return textBody(toolScroll(commit.phase, ctx))\n}\n\nexport function toolFiletype(input?: string): string | undefined {\n if (!input) {\n return undefined\n }\n\n const ext = path.extname(input)\n const lang = LANGUAGE_EXTENSIONS[ext]\n if ([\"typescriptreact\", \"javascriptreact\", \"javascript\"].includes(lang)) {\n return \"typescript\"\n }\n\n return lang\n}\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "5D1236C1120FC36164756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@ai-sdk+cerebras@2.0.41+d6123d32214422cb/node_modules/@ai-sdk/cerebras/dist/index.mjs"], | ||
| "sourcesContent": [ | ||
| "// src/cerebras-provider.ts\nimport { OpenAICompatibleChatLanguageModel } from \"@ai-sdk/openai-compatible\";\nimport {\n NoSuchModelError\n} from \"@ai-sdk/provider\";\nimport {\n loadApiKey,\n withoutTrailingSlash,\n withUserAgentSuffix\n} from \"@ai-sdk/provider-utils\";\nimport { z } from \"zod/v4\";\n\n// src/version.ts\nvar VERSION = true ? \"2.0.41\" : \"0.0.0-test\";\n\n// src/cerebras-provider.ts\nvar cerebrasErrorSchema = z.object({\n message: z.string(),\n type: z.string(),\n param: z.string(),\n code: z.string()\n});\nvar cerebrasErrorStructure = {\n errorSchema: cerebrasErrorSchema,\n errorToMessage: (data) => data.message\n};\nfunction createCerebras(options = {}) {\n var _a;\n const baseURL = withoutTrailingSlash(\n (_a = options.baseURL) != null ? _a : \"https://api.cerebras.ai/v1\"\n );\n const getHeaders = () => withUserAgentSuffix(\n {\n Authorization: `Bearer ${loadApiKey({\n apiKey: options.apiKey,\n environmentVariableName: \"CEREBRAS_API_KEY\",\n description: \"Cerebras API key\"\n })}`,\n ...options.headers\n },\n `ai-sdk/cerebras/${VERSION}`\n );\n const createLanguageModel = (modelId) => {\n return new OpenAICompatibleChatLanguageModel(modelId, {\n provider: `cerebras.chat`,\n url: ({ path }) => `${baseURL}${path}`,\n headers: getHeaders,\n fetch: options.fetch,\n errorStructure: cerebrasErrorStructure,\n supportsStructuredOutputs: true\n });\n };\n const provider = (modelId) => createLanguageModel(modelId);\n provider.specificationVersion = \"v3\";\n provider.languageModel = createLanguageModel;\n provider.chat = 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 cerebras = createCerebras();\nexport {\n VERSION,\n cerebras,\n createCerebras\n};\n//# sourceMappingURL=index.mjs.map" | ||
| ], | ||
| "mappings": ";qRAaA,SAAI,OAAiB,cAGjB,OAAsB,OAAE,OAAO,CACjC,QAAS,EAAE,OAAO,EAClB,KAAM,EAAE,OAAO,EACf,MAAO,EAAE,OAAO,EAChB,KAAM,EAAE,OAAO,CACjB,CAAC,EACG,EAAyB,CAC3B,YAAa,EACb,eAAgB,CAAC,IAAS,EAAK,OACjC,EACA,SAAS,CAAc,CAAC,EAAU,CAAC,EAAG,CACpC,IAAI,EACJ,IAAM,EAAU,GACb,EAAK,EAAQ,UAAY,KAAO,EAAK,4BACxC,EACM,EAAa,IAAM,EACvB,CACE,cAAe,UAAU,EAAW,CAClC,OAAQ,EAAQ,OAChB,wBAAyB,mBACzB,YAAa,kBACf,CAAC,OACE,EAAQ,OACb,EACA,mBAAmB,GACrB,EACM,EAAsB,CAAC,IAAY,CACvC,OAAO,IAAI,EAAkC,EAAS,CACpD,SAAU,gBACV,IAAK,EAAG,UAAW,GAAG,IAAU,IAChC,QAAS,EACT,MAAO,EAAQ,MACf,eAAgB,EAChB,0BAA2B,EAC7B,CAAC,GAEG,EAAW,CAAC,IAAY,EAAoB,CAAO,EAWzD,OAVA,EAAS,qBAAuB,KAChC,EAAS,cAAgB,EACzB,EAAS,KAAO,EAChB,EAAS,eAAiB,CAAC,IAAY,CACrC,MAAM,IAAI,EAAiB,CAAE,UAAS,UAAW,gBAAiB,CAAC,GAErE,EAAS,mBAAqB,EAAS,eACvC,EAAS,WAAa,CAAC,IAAY,CACjC,MAAM,IAAI,EAAiB,CAAE,UAAS,UAAW,YAAa,CAAC,GAE1D,EAET,IAAI,EAAW,EAAe", | ||
| "debugId": "307CCF849170C37264756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@aws-sdk+credential-provider-sso@3.972.45/node_modules/@aws-sdk/credential-provider-sso/dist-es/fromSSO.js", "../../node_modules/.bun/@aws-sdk+credential-provider-sso@3.972.45/node_modules/@aws-sdk/credential-provider-sso/dist-es/isSsoProfile.js", "../../node_modules/.bun/@aws-sdk+credential-provider-sso@3.972.45/node_modules/@aws-sdk/credential-provider-sso/dist-es/resolveSSOCredentials.js", "../../node_modules/.bun/@aws-sdk+token-providers@3.1056.0/node_modules/@aws-sdk/token-providers/dist-es/fromSso.js", "../../node_modules/.bun/@aws-sdk+token-providers@3.1056.0/node_modules/@aws-sdk/token-providers/dist-es/constants.js", "../../node_modules/.bun/@aws-sdk+token-providers@3.1056.0/node_modules/@aws-sdk/token-providers/dist-es/getSsoOidcClient.js", "../../node_modules/.bun/@aws-sdk+token-providers@3.1056.0/node_modules/@aws-sdk/token-providers/dist-es/getNewSsoOidcToken.js", "../../node_modules/.bun/@aws-sdk+token-providers@3.1056.0/node_modules/@aws-sdk/token-providers/dist-es/validateTokenExpiry.js", "../../node_modules/.bun/@aws-sdk+token-providers@3.1056.0/node_modules/@aws-sdk/token-providers/dist-es/validateTokenKey.js", "../../node_modules/.bun/@aws-sdk+token-providers@3.1056.0/node_modules/@aws-sdk/token-providers/dist-es/writeSSOTokenToFile.js", "../../node_modules/.bun/@aws-sdk+credential-provider-sso@3.972.45/node_modules/@aws-sdk/credential-provider-sso/dist-es/validateSsoProfile.js"], | ||
| "sourcesContent": [ | ||
| "import { CredentialsProviderError, getProfileName, loadSsoSessionData, parseKnownFiles } from \"@smithy/core/config\";\nimport { isSsoProfile } from \"./isSsoProfile\";\nimport { resolveSSOCredentials } from \"./resolveSSOCredentials\";\nimport { validateSsoProfile } from \"./validateSsoProfile\";\nexport const fromSSO = (init = {}) => async ({ callerClientConfig } = {}) => {\n init.logger?.debug(\"@aws-sdk/credential-provider-sso - fromSSO\");\n const { ssoStartUrl, ssoAccountId, ssoRegion, ssoRoleName, ssoSession } = init;\n const { ssoClient } = init;\n const profileName = getProfileName({\n profile: init.profile ?? callerClientConfig?.profile,\n });\n if (!ssoStartUrl && !ssoAccountId && !ssoRegion && !ssoRoleName && !ssoSession) {\n const profiles = await parseKnownFiles(init);\n const profile = profiles[profileName];\n if (!profile) {\n throw new CredentialsProviderError(`Profile ${profileName} was not found.`, { logger: init.logger });\n }\n if (!isSsoProfile(profile)) {\n throw new CredentialsProviderError(`Profile ${profileName} is not configured with SSO credentials.`, {\n logger: init.logger,\n });\n }\n if (profile?.sso_session) {\n const ssoSessions = await loadSsoSessionData(init);\n const session = ssoSessions[profile.sso_session];\n const conflictMsg = ` configurations in profile ${profileName} and sso-session ${profile.sso_session}`;\n if (ssoRegion && ssoRegion !== session.sso_region) {\n throw new CredentialsProviderError(`Conflicting SSO region` + conflictMsg, {\n tryNextLink: false,\n logger: init.logger,\n });\n }\n if (ssoStartUrl && ssoStartUrl !== session.sso_start_url) {\n throw new CredentialsProviderError(`Conflicting SSO start_url` + conflictMsg, {\n tryNextLink: false,\n logger: init.logger,\n });\n }\n profile.sso_region = session.sso_region;\n profile.sso_start_url = session.sso_start_url;\n }\n const { sso_start_url, sso_account_id, sso_region, sso_role_name, sso_session } = validateSsoProfile(profile, init.logger);\n return resolveSSOCredentials({\n ssoStartUrl: sso_start_url,\n ssoSession: sso_session,\n ssoAccountId: sso_account_id,\n ssoRegion: sso_region,\n ssoRoleName: sso_role_name,\n ssoClient: ssoClient,\n clientConfig: init.clientConfig,\n parentClientConfig: init.parentClientConfig,\n callerClientConfig: init.callerClientConfig,\n profile: profileName,\n filepath: init.filepath,\n configFilepath: init.configFilepath,\n ignoreCache: init.ignoreCache,\n logger: init.logger,\n });\n }\n else if (!ssoStartUrl || !ssoAccountId || !ssoRegion || !ssoRoleName) {\n throw new CredentialsProviderError(\"Incomplete configuration. The fromSSO() argument hash must include \" +\n '\"ssoStartUrl\", \"ssoAccountId\", \"ssoRegion\", \"ssoRoleName\"', { tryNextLink: false, logger: init.logger });\n }\n else {\n return resolveSSOCredentials({\n ssoStartUrl,\n ssoSession,\n ssoAccountId,\n ssoRegion,\n ssoRoleName,\n ssoClient,\n clientConfig: init.clientConfig,\n parentClientConfig: init.parentClientConfig,\n callerClientConfig: init.callerClientConfig,\n profile: profileName,\n filepath: init.filepath,\n configFilepath: init.configFilepath,\n ignoreCache: init.ignoreCache,\n logger: init.logger,\n });\n }\n};\n", | ||
| "export const isSsoProfile = (arg) => arg &&\n (typeof arg.sso_start_url === \"string\" ||\n typeof arg.sso_account_id === \"string\" ||\n typeof arg.sso_session === \"string\" ||\n typeof arg.sso_region === \"string\" ||\n typeof arg.sso_role_name === \"string\");\n", | ||
| "import { setCredentialFeature } from \"@aws-sdk/core/client\";\nimport { fromSso as getSsoTokenProvider } from \"@aws-sdk/token-providers\";\nimport { CredentialsProviderError, getSSOTokenFromFile } from \"@smithy/core/config\";\nconst SHOULD_FAIL_CREDENTIAL_CHAIN = false;\nexport const resolveSSOCredentials = async ({ ssoStartUrl, ssoSession, ssoAccountId, ssoRegion, ssoRoleName, ssoClient, clientConfig, parentClientConfig, callerClientConfig, profile, filepath, configFilepath, ignoreCache, logger, }) => {\n let token;\n const refreshMessage = `To refresh this SSO session run aws sso login with the corresponding profile.`;\n if (ssoSession) {\n try {\n const _token = await getSsoTokenProvider({\n profile,\n filepath,\n configFilepath,\n ignoreCache,\n })();\n token = {\n accessToken: _token.token,\n expiresAt: new Date(_token.expiration).toISOString(),\n };\n }\n catch (e) {\n throw new CredentialsProviderError(e.message, {\n tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN,\n logger,\n });\n }\n }\n else {\n try {\n token = await getSSOTokenFromFile(ssoStartUrl);\n }\n catch (e) {\n throw new CredentialsProviderError(`The SSO session associated with this profile is invalid. ${refreshMessage}`, {\n tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN,\n logger,\n });\n }\n }\n if (new Date(token.expiresAt).getTime() - Date.now() <= 0) {\n throw new CredentialsProviderError(`The SSO session associated with this profile has expired. ${refreshMessage}`, {\n tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN,\n logger,\n });\n }\n const { accessToken } = token;\n const { SSOClient, GetRoleCredentialsCommand } = await import(\"./loadSso.js\");\n const sso = ssoClient ||\n new SSOClient(Object.assign({}, clientConfig ?? {}, {\n logger: clientConfig?.logger ?? callerClientConfig?.logger ?? parentClientConfig?.logger,\n region: clientConfig?.region ?? ssoRegion,\n userAgentAppId: clientConfig?.userAgentAppId ?? callerClientConfig?.userAgentAppId ?? parentClientConfig?.userAgentAppId,\n }));\n let ssoResp;\n try {\n ssoResp = await sso.send(new GetRoleCredentialsCommand({\n accountId: ssoAccountId,\n roleName: ssoRoleName,\n accessToken,\n }));\n }\n catch (e) {\n throw new CredentialsProviderError(e, {\n tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN,\n logger,\n });\n }\n const { roleCredentials: { accessKeyId, secretAccessKey, sessionToken, expiration, credentialScope, accountId } = {}, } = ssoResp;\n if (!accessKeyId || !secretAccessKey || !sessionToken || !expiration) {\n throw new CredentialsProviderError(\"SSO returns an invalid temporary credential.\", {\n tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN,\n logger,\n });\n }\n const credentials = {\n accessKeyId,\n secretAccessKey,\n sessionToken,\n expiration: new Date(expiration),\n ...(credentialScope && { credentialScope }),\n ...(accountId && { accountId }),\n };\n if (ssoSession) {\n setCredentialFeature(credentials, \"CREDENTIALS_SSO\", \"s\");\n }\n else {\n setCredentialFeature(credentials, \"CREDENTIALS_SSO_LEGACY\", \"u\");\n }\n return credentials;\n};\n", | ||
| "import { getProfileName, getSSOTokenFromFile, loadSsoSessionData, parseKnownFiles, TokenProviderError, } from \"@smithy/core/config\";\nimport { EXPIRE_WINDOW_MS, REFRESH_MESSAGE } from \"./constants\";\nimport { getNewSsoOidcToken } from \"./getNewSsoOidcToken\";\nimport { validateTokenExpiry } from \"./validateTokenExpiry\";\nimport { validateTokenKey } from \"./validateTokenKey\";\nimport { writeSSOTokenToFile } from \"./writeSSOTokenToFile\";\nconst lastRefreshAttemptTime = new Date(0);\nexport const fromSso = (init = {}) => async ({ callerClientConfig } = {}) => {\n init.logger?.debug(\"@aws-sdk/token-providers - fromSso\");\n const profiles = await parseKnownFiles(init);\n const profileName = getProfileName({\n profile: init.profile ?? callerClientConfig?.profile,\n });\n const profile = profiles[profileName];\n if (!profile) {\n throw new TokenProviderError(`Profile '${profileName}' could not be found in shared credentials file.`, false);\n }\n else if (!profile[\"sso_session\"]) {\n throw new TokenProviderError(`Profile '${profileName}' is missing required property 'sso_session'.`);\n }\n const ssoSessionName = profile[\"sso_session\"];\n const ssoSessions = await loadSsoSessionData(init);\n const ssoSession = ssoSessions[ssoSessionName];\n if (!ssoSession) {\n throw new TokenProviderError(`Sso session '${ssoSessionName}' could not be found in shared credentials file.`, false);\n }\n for (const ssoSessionRequiredKey of [\"sso_start_url\", \"sso_region\"]) {\n if (!ssoSession[ssoSessionRequiredKey]) {\n throw new TokenProviderError(`Sso session '${ssoSessionName}' is missing required property '${ssoSessionRequiredKey}'.`, false);\n }\n }\n const ssoStartUrl = ssoSession[\"sso_start_url\"];\n const ssoRegion = ssoSession[\"sso_region\"];\n let ssoToken;\n try {\n ssoToken = await getSSOTokenFromFile(ssoSessionName);\n }\n catch (e) {\n throw new TokenProviderError(`The SSO session token associated with profile=${profileName} was not found or is invalid. ${REFRESH_MESSAGE}`, false);\n }\n validateTokenKey(\"accessToken\", ssoToken.accessToken);\n validateTokenKey(\"expiresAt\", ssoToken.expiresAt);\n const { accessToken, expiresAt } = ssoToken;\n const existingToken = { token: accessToken, expiration: new Date(expiresAt) };\n if (existingToken.expiration.getTime() - Date.now() > EXPIRE_WINDOW_MS) {\n return existingToken;\n }\n if (Date.now() - lastRefreshAttemptTime.getTime() < 30 * 1000) {\n validateTokenExpiry(existingToken);\n return existingToken;\n }\n validateTokenKey(\"clientId\", ssoToken.clientId, true);\n validateTokenKey(\"clientSecret\", ssoToken.clientSecret, true);\n validateTokenKey(\"refreshToken\", ssoToken.refreshToken, true);\n try {\n lastRefreshAttemptTime.setTime(Date.now());\n const newSsoOidcToken = await getNewSsoOidcToken(ssoToken, ssoRegion, init, callerClientConfig);\n validateTokenKey(\"accessToken\", newSsoOidcToken.accessToken);\n validateTokenKey(\"expiresIn\", newSsoOidcToken.expiresIn);\n const newTokenExpiration = new Date(Date.now() + newSsoOidcToken.expiresIn * 1000);\n try {\n await writeSSOTokenToFile(ssoSessionName, {\n ...ssoToken,\n accessToken: newSsoOidcToken.accessToken,\n expiresAt: newTokenExpiration.toISOString(),\n refreshToken: newSsoOidcToken.refreshToken,\n });\n }\n catch (error) {\n }\n return {\n token: newSsoOidcToken.accessToken,\n expiration: newTokenExpiration,\n };\n }\n catch (error) {\n validateTokenExpiry(existingToken);\n return existingToken;\n }\n};\n", | ||
| "export const EXPIRE_WINDOW_MS = 5 * 60 * 1000;\nexport const REFRESH_MESSAGE = `To refresh this SSO session run 'aws sso login' with the corresponding profile.`;\n", | ||
| "export const getSsoOidcClient = async (ssoRegion, init = {}, callerClientConfig) => {\n const { SSOOIDCClient } = await import(\"@aws-sdk/nested-clients/sso-oidc\");\n const coalesce = (prop) => init.clientConfig?.[prop] ?? init.parentClientConfig?.[prop] ?? callerClientConfig?.[prop];\n const ssoOidcClient = new SSOOIDCClient(Object.assign({}, init.clientConfig ?? {}, {\n region: ssoRegion ?? init.clientConfig?.region,\n logger: coalesce(\"logger\"),\n userAgentAppId: coalesce(\"userAgentAppId\"),\n }));\n return ssoOidcClient;\n};\n", | ||
| "import { getSsoOidcClient } from \"./getSsoOidcClient\";\nexport const getNewSsoOidcToken = async (ssoToken, ssoRegion, init = {}, callerClientConfig) => {\n const { CreateTokenCommand } = await import(\"@aws-sdk/nested-clients/sso-oidc\");\n const ssoOidcClient = await getSsoOidcClient(ssoRegion, init, callerClientConfig);\n return ssoOidcClient.send(new CreateTokenCommand({\n clientId: ssoToken.clientId,\n clientSecret: ssoToken.clientSecret,\n refreshToken: ssoToken.refreshToken,\n grantType: \"refresh_token\",\n }));\n};\n", | ||
| "import { TokenProviderError } from \"@smithy/core/config\";\nimport { REFRESH_MESSAGE } from \"./constants\";\nexport const validateTokenExpiry = (token) => {\n if (token.expiration && token.expiration.getTime() < Date.now()) {\n throw new TokenProviderError(`Token is expired. ${REFRESH_MESSAGE}`, false);\n }\n};\n", | ||
| "import { TokenProviderError } from \"@smithy/core/config\";\nimport { REFRESH_MESSAGE } from \"./constants\";\nexport const validateTokenKey = (key, value, forRefresh = false) => {\n if (typeof value === \"undefined\") {\n throw new TokenProviderError(`Value not present for '${key}' in SSO Token${forRefresh ? \". Cannot refresh\" : \"\"}. ${REFRESH_MESSAGE}`, false);\n }\n};\n", | ||
| "import { getSSOTokenFilepath } from \"@smithy/core/config\";\nimport { promises as fsPromises } from \"node:fs\";\nconst { writeFile } = fsPromises;\nexport const writeSSOTokenToFile = (id, ssoToken) => {\n const tokenFilepath = getSSOTokenFilepath(id);\n const tokenString = JSON.stringify(ssoToken, null, 2);\n return writeFile(tokenFilepath, tokenString);\n};\n", | ||
| "import { CredentialsProviderError } from \"@smithy/core/config\";\nexport const validateSsoProfile = (profile, logger) => {\n const { sso_start_url, sso_account_id, sso_region, sso_role_name } = profile;\n if (!sso_start_url || !sso_account_id || !sso_region || !sso_role_name) {\n throw new CredentialsProviderError(`Profile is configured with invalid SSO credentials. Required parameters \"sso_account_id\", ` +\n `\"sso_region\", \"sso_role_name\", \"sso_start_url\". Got ${Object.keys(profile).join(\", \")}\\nReference: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sso.html`, { tryNextLink: false, logger });\n }\n return profile;\n};\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "737DD9EE84824DB964756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/p-map@7.0.4/node_modules/p-map/index.js"], | ||
| "sourcesContent": [ | ||
| "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" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "22393183D96D9E0864756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["src/mini/variant.shared.ts", "src/mini/session.shared.ts", "src/mini/theme.ts"], | ||
| "sourcesContent": [ | ||
| "// Model variant resolution and persistence.\n//\n// Variants are provider-specific reasoning effort levels (e.g., \"high\", \"max\").\n// Resolution priority: CLI --variant flag > saved preference > session history.\n//\n// The saved variant persists across sessions in ~/.local/state/opencode/model.json\n// so your last-used variant sticks. Cycling (ctrl+t) updates both the active\n// variant and the persisted file.\nimport path from \"path\"\nimport { FSUtil } from \"@opencode-ai/core/fs-util\"\nimport { AppNodeBuilder } from \"@opencode-ai/core/effect/app-node-builder\"\nimport { Context, Effect, Layer } from \"effect\"\nimport { LayerNode } from \"@opencode-ai/core/effect/layer-node\"\nimport { makeGlobalNode } from \"@opencode-ai/core/effect/app-node\"\nimport { makeRuntime } from \"@opencode-ai/core/effect/runtime\"\nimport { Global } from \"@opencode-ai/core/global\"\nimport { createSession, sessionVariant, type RunSession, type SessionMessages } from \"./session.shared\"\nimport type { RunInput, RunProvider } from \"./types\"\n\nconst MODEL_FILE = path.join(Global.Path.state, \"model.json\")\n\ntype ModelState = Record<string, unknown> & {\n variant?: Record<string, string | undefined>\n}\ntype VariantService = {\n readonly resolveSavedVariant: (model: RunInput[\"model\"]) => Effect.Effect<string | undefined>\n readonly saveVariant: (model: RunInput[\"model\"], variant: string | undefined) => Effect.Effect<void>\n}\ntype VariantRuntime = {\n resolveSavedVariant(model: RunInput[\"model\"]): Promise<string | undefined>\n saveVariant(model: RunInput[\"model\"], variant: string | undefined): Promise<void>\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return !!value && typeof value === \"object\" && !Array.isArray(value)\n}\n\nclass Service extends Context.Service<Service, VariantService>()(\"@opencode/RunVariant\") {}\n\nfunction modelKey(provider: string, model: string): string {\n return `${provider}/${model}`\n}\n\nfunction variantKey(model: NonNullable<RunInput[\"model\"]>): string {\n return modelKey(model.providerID, model.modelID)\n}\n\nexport function modelInfo(providers: RunProvider[] | undefined, model: NonNullable<RunInput[\"model\"]>) {\n const provider = providers?.find((item) => item.id === model.providerID)\n return {\n provider: provider?.name ?? model.providerID,\n model: provider?.models[model.modelID]?.name ?? model.modelID,\n }\n}\n\nexport function formatModelLabel(\n model: NonNullable<RunInput[\"model\"]>,\n variant: string | undefined,\n providers?: RunProvider[],\n): string {\n const names = modelInfo(providers, model)\n const label = variant ? ` · ${variant}` : \"\"\n return `${names.model} · ${names.provider}${label}`\n}\n\nexport function cycleVariant(current: string | undefined, variants: string[]): string | undefined {\n if (variants.length === 0) {\n return undefined\n }\n\n if (!current) {\n return variants[0]\n }\n\n const idx = variants.indexOf(current)\n if (idx === -1 || idx === variants.length - 1) {\n return undefined\n }\n\n return variants[idx + 1]\n}\n\nexport function pickVariant(model: RunInput[\"model\"], input: RunSession | SessionMessages): string | undefined {\n return sessionVariant(Array.isArray(input) ? createSession(input) : input, model)\n}\n\nfunction fitVariant(value: string | undefined, variants: string[]): string | undefined {\n if (!value) {\n return undefined\n }\n\n if (variants.length === 0 || variants.includes(value)) {\n return value\n }\n\n return undefined\n}\n\n// Picks the active variant. CLI flag wins, then saved preference, then session\n// history. fitVariant() checks saved and session values against the available\n// variants list -- if the provider doesn't offer a variant, it drops.\nexport function resolveVariant(\n input: string | undefined,\n session: string | undefined,\n saved: string | undefined,\n variants: string[],\n): string | undefined {\n if (input !== undefined) {\n return input\n }\n\n const fallback = fitVariant(saved, variants)\n const current = fitVariant(session, variants)\n if (current !== undefined) {\n return current\n }\n\n return fallback\n}\n\nfunction state(value: unknown): ModelState {\n if (!isRecord(value)) {\n return {}\n }\n\n const variant = isRecord(value.variant)\n ? Object.fromEntries(\n Object.entries(value.variant).flatMap(([key, item]) => {\n if (typeof item !== \"string\") {\n return []\n }\n\n return [[key, item] as const]\n }),\n )\n : undefined\n\n return {\n ...value,\n variant,\n }\n}\n\nconst layer = Layer.fresh(\n Layer.effect(\n Service,\n Effect.gen(function* () {\n const file = yield* FSUtil.Service\n\n const read = Effect.fn(\"RunVariant.read\")(function* () {\n return yield* file.readJson(MODEL_FILE).pipe(\n Effect.map(state),\n Effect.catchCause(() => Effect.succeed(state(undefined))),\n )\n })\n\n const resolveSavedVariant = Effect.fn(\"RunVariant.resolveSavedVariant\")(function* (model: RunInput[\"model\"]) {\n if (!model) {\n return undefined\n }\n\n return (yield* read()).variant?.[variantKey(model)]\n })\n\n const saveVariant = Effect.fn(\"RunVariant.saveVariant\")(function* (\n model: RunInput[\"model\"],\n variant: string | undefined,\n ) {\n if (!model) {\n return\n }\n\n const current = yield* read()\n const next = {\n ...current.variant,\n }\n const key = variantKey(model)\n if (variant) {\n next[key] = variant\n }\n\n if (!variant) {\n delete next[key]\n }\n\n yield* file\n .writeJson(MODEL_FILE, {\n ...current,\n variant: next,\n })\n .pipe(Effect.orElseSucceed(() => undefined))\n })\n\n return Service.of({\n resolveSavedVariant,\n saveVariant,\n })\n }),\n ),\n)\n\nconst node = makeGlobalNode({ service: Service, layer, deps: [FSUtil.node] })\n\n/** @internal Exported for testing. */\nexport function createVariantRuntime(replacements?: readonly LayerNode.Replacement[]): VariantRuntime {\n const runtime = makeRuntime(Service, AppNodeBuilder.build(node, replacements))\n return {\n resolveSavedVariant: (model) => runtime.runPromise((svc) => svc.resolveSavedVariant(model)).catch(() => undefined),\n saveVariant: (model, variant) => runtime.runPromise((svc) => svc.saveVariant(model, variant)).catch(() => {}),\n }\n}\n\nconst runtime = createVariantRuntime()\n\nexport async function resolveSavedVariant(model: RunInput[\"model\"]): Promise<string | undefined> {\n return runtime.resolveSavedVariant(model)\n}\n\nexport function saveVariant(model: RunInput[\"model\"], variant: string | undefined): void {\n void runtime.saveVariant(model, variant)\n}\n", | ||
| "// Session message extraction and prompt history.\n//\n// Fetches session messages from the SDK and extracts user turn text for\n// the prompt history ring. Also finds the most recently used variant for\n// the current model so the footer can pre-select it.\nimport { promptCopy, promptSame } from \"./prompt.shared\"\nimport type { Message, Part } from \"@opencode-ai/sdk/v2\"\nimport type { RunInput, RunPrompt } from \"./types\"\n\nconst LIMIT = 200\n\nexport type SessionMessages = Array<{ info: Message; parts: Part[] }>\n\ntype Turn = {\n prompt: RunPrompt\n provider: string | undefined\n model: string | undefined\n variant: string | undefined\n}\n\nexport type RunSession = {\n first: boolean\n turns: Turn[]\n model?: NonNullable<RunInput[\"model\"]>\n variant?: string\n}\n\nfunction fileName(url: string, filename?: string) {\n if (filename) {\n return filename\n }\n\n try {\n const next = new URL(url)\n if (next.protocol !== \"file:\") {\n return url\n }\n\n const name = next.pathname.split(\"/\").at(-1)\n if (name) {\n return decodeURIComponent(name)\n }\n } catch {}\n\n return url\n}\n\nfunction fileSource(\n part: Extract<SessionMessages[number][\"parts\"][number], { type: \"file\" }>,\n text: { start: number; end: number; value: string },\n) {\n if (part.source) {\n return {\n ...structuredClone(part.source),\n text,\n }\n }\n\n return {\n type: \"file\" as const,\n path: part.filename ?? part.url,\n text,\n }\n}\n\nexport function messagePrompt(msg: SessionMessages[number]): RunPrompt {\n const parts: RunPrompt[\"parts\"] = []\n let text = msg.parts\n .filter((part): part is Extract<SessionMessages[number][\"parts\"][number], { type: \"text\" }> => {\n return part.type === \"text\" && !part.synthetic\n })\n .map((part) => part.text)\n .join(\"\")\n let cursor = Bun.stringWidth(text)\n const used: Array<{ start: number; end: number }> = []\n\n const take = (value: string): { start: number; end: number; value: string } | undefined => {\n let from = 0\n while (true) {\n const idx = text.indexOf(value, from)\n if (idx === -1) {\n return undefined\n }\n\n const start = Bun.stringWidth(text.slice(0, idx))\n const end = start + Bun.stringWidth(value)\n if (!used.some((item) => item.start < end && start < item.end)) {\n return { start, end, value }\n }\n\n from = idx + value.length\n }\n }\n\n const add = (value: string) => {\n const gap = text ? \" \" : \"\"\n const start = cursor + Bun.stringWidth(gap)\n text += gap + value\n const end = start + Bun.stringWidth(value)\n cursor = end\n return { start, end, value }\n }\n\n for (const part of msg.parts) {\n if (part.type === \"file\") {\n const next = part.source?.text ? structuredClone(part.source.text) : take(\"@\" + fileName(part.url, part.filename))\n const span = next ?? add(\"@\" + fileName(part.url, part.filename))\n used.push({ start: span.start, end: span.end })\n parts.push({\n type: \"file\",\n mime: part.mime,\n filename: part.filename,\n url: part.url,\n source: fileSource(part, span),\n })\n continue\n }\n\n if (part.type !== \"agent\") {\n continue\n }\n\n const span = part.source ? structuredClone(part.source) : (take(\"@\" + part.name) ?? add(\"@\" + part.name))\n used.push({ start: span.start, end: span.end })\n parts.push({\n type: \"agent\",\n name: part.name,\n source: span,\n })\n }\n\n return { text, parts }\n}\n\nfunction turn(msg: SessionMessages[number]): Turn | undefined {\n if (msg.info.role !== \"user\") {\n return undefined\n }\n\n return {\n prompt: messagePrompt(msg),\n provider: msg.info.model.providerID,\n model: msg.info.model.modelID,\n variant: msg.info.model.variant,\n }\n}\n\nexport function createSession(messages: SessionMessages): RunSession {\n return {\n first: messages.length === 0,\n turns: messages.flatMap((msg) => {\n const item = turn(msg)\n return item ? [item] : []\n }),\n }\n}\n\nexport async function resolveCurrentSession(\n sdk: RunInput[\"sdk\"],\n sessionID: string,\n limit = LIMIT,\n): Promise<RunSession> {\n const [response, session] = await Promise.all([\n sdk.message.list({ sessionID, limit, order: \"desc\" }),\n sdk.session.get({ sessionID }),\n ])\n const messages = response.data.toReversed()\n return {\n first: messages.length === 0,\n turns: messages.flatMap((message) => {\n if (message.type !== \"user\") return []\n return [\n {\n prompt: {\n text: message.text,\n parts: [\n ...(message.files ?? []).map((file) => ({\n type: \"file\" as const,\n url: file.source.type === \"uri\" ? file.source.uri : `data:${file.mime};base64,${file.data}`,\n mime: file.mime,\n filename: file.name,\n source: file.mention\n ? {\n type: \"file\" as const,\n path: file.name ?? (file.source.type === \"uri\" ? file.source.uri : \"inline attachment\"),\n text: { start: file.mention.start, end: file.mention.end, value: file.mention.text },\n }\n : undefined,\n })),\n ...(message.agents ?? []).map((agent) => ({\n type: \"agent\" as const,\n name: agent.name,\n source: agent.mention\n ? { start: agent.mention.start, end: agent.mention.end, value: agent.mention.text }\n : undefined,\n })),\n ],\n },\n provider: session.model?.providerID,\n model: session.model?.id,\n variant: session.model?.variant,\n },\n ]\n }),\n ...(session.model && {\n model: {\n providerID: session.model.providerID,\n modelID: session.model.id,\n },\n variant: session.model.variant,\n }),\n }\n}\n\nexport function sessionHistory(session: RunSession, limit = LIMIT): RunPrompt[] {\n const out: RunPrompt[] = []\n\n for (const turn of session.turns) {\n if (!turn.prompt.text.trim()) {\n continue\n }\n\n if (out[out.length - 1] && promptSame(out[out.length - 1], turn.prompt)) {\n continue\n }\n\n out.push(promptCopy(turn.prompt))\n }\n\n return out.slice(-limit)\n}\n\nexport function sessionVariant(session: RunSession, model: RunInput[\"model\"]): string | undefined {\n if (!model) {\n return undefined\n }\n\n if (session.model?.providerID === model.providerID && session.model.modelID === model.modelID) {\n return session.variant\n }\n\n for (let idx = session.turns.length - 1; idx >= 0; idx -= 1) {\n const turn = session.turns[idx]\n if (turn.provider !== model.providerID || turn.model !== model.modelID) {\n continue\n }\n\n return turn.variant\n }\n\n return undefined\n}\n", | ||
| "// Theme resolution for direct interactive mode.\n//\n// Derives scrollback and footer colors from the terminal's actual palette.\n// resolveRunTheme() queries the renderer for the terminal's palette,\n// detects dark/light mode, builds a small system theme locally, and maps it to\n// the run footer + scrollback color model. Falls back to a hardcoded dark-mode\n// palette if detection fails.\nimport { RGBA, SyntaxStyle, type CliRenderer, type ColorInput, type TerminalColors } from \"@opentui/core\"\nimport type { TuiThemeCurrent } from \"@opencode-ai/plugin/tui\"\nimport type { EntryKind } from \"./types\"\n\ntype Tone = {\n body: ColorInput\n start?: ColorInput\n}\n\nexport type RunEntryTheme = Record<EntryKind, Tone>\n\nexport type RunSplashTheme = {\n left: ColorInput\n right: ColorInput\n leftShadow: ColorInput\n rightShadow: ColorInput\n}\n\nexport type RunFooterTheme = {\n highlight: ColorInput\n selected: ColorInput\n selectedText: ColorInput\n warning: ColorInput\n success: ColorInput\n error: ColorInput\n muted: ColorInput\n text: ColorInput\n status: ColorInput\n statusAccent: ColorInput\n shade: ColorInput\n surface: ColorInput\n pane: ColorInput\n border: ColorInput\n line: ColorInput\n}\n\nexport type RunBlockTheme = {\n highlight: ColorInput\n warning: ColorInput\n text: ColorInput\n muted: ColorInput\n syntax?: SyntaxStyle\n subtleSyntax?: SyntaxStyle\n diffAdded: ColorInput\n diffRemoved: ColorInput\n diffAddedBg: ColorInput\n diffRemovedBg: ColorInput\n diffContextBg: ColorInput\n diffHighlightAdded: ColorInput\n diffHighlightRemoved: ColorInput\n diffLineNumber: ColorInput\n diffAddedLineNumberBg: ColorInput\n diffRemovedLineNumberBg: ColorInput\n}\n\nexport type RunTheme = {\n background: ColorInput\n footer: RunFooterTheme\n entry: RunEntryTheme\n splash: RunSplashTheme\n block: RunBlockTheme\n}\n\ntype ThemeColor = Exclude<keyof TuiThemeCurrent, \"thinkingOpacity\">\ntype HexColor = `#${string}`\ntype RefName = string\ntype Variant = {\n dark: HexColor | RefName\n light: HexColor | RefName\n}\ntype ColorValue = HexColor | RefName | Variant | RGBA | number\ntype ThemeJson = {\n defs?: Record<string, HexColor | RefName>\n theme: Omit<Record<ThemeColor, ColorValue>, \"selectedListItemText\" | \"backgroundMenu\"> & {\n selectedListItemText?: ColorValue\n backgroundMenu?: ColorValue\n thinkingOpacity?: number\n }\n}\n\ntype SharedSyntaxTheme = TuiThemeCurrent & {\n _hasSelectedListItemText: boolean\n}\n\nexport const transparent = RGBA.fromValues(0, 0, 0, 0)\n\nfunction alpha(color: RGBA, value: number): RGBA {\n return RGBA.fromValues(color.r, color.g, color.b, Math.max(0, Math.min(1, value)))\n}\n\nfunction rgba(hex: string, value?: number): RGBA {\n const color = RGBA.fromHex(hex)\n return value === undefined ? color : alpha(color, value)\n}\n\nfunction mode(bg: RGBA): \"dark\" | \"light\" {\n return luminance(bg) > 0.5 ? \"light\" : \"dark\"\n}\n\nfunction luminance(color: RGBA): number {\n return 0.299 * color.r + 0.587 * color.g + 0.114 * color.b\n}\n\nfunction fade(color: RGBA, base: RGBA, fallback: number, scale: number, limit: number): RGBA {\n if (color.a === 0) {\n return RGBA.fromValues(color.r, color.g, color.b, Math.max(0, Math.min(1, fallback)))\n }\n\n const target = Math.min(limit, color.a * scale)\n const mix = Math.min(1, target / color.a)\n\n return RGBA.fromValues(\n base.r + (color.r - base.r) * mix,\n base.g + (color.g - base.g) * mix,\n base.b + (color.b - base.b) * mix,\n color.a,\n )\n}\n\nfunction ansiToRgba(code: number): RGBA {\n if (code < 16) {\n const ansi = [\n \"#000000\",\n \"#800000\",\n \"#008000\",\n \"#808000\",\n \"#000080\",\n \"#800080\",\n \"#008080\",\n \"#c0c0c0\",\n \"#808080\",\n \"#ff0000\",\n \"#00ff00\",\n \"#ffff00\",\n \"#0000ff\",\n \"#ff00ff\",\n \"#00ffff\",\n \"#ffffff\",\n ]\n return RGBA.fromHex(ansi[code] ?? \"#000000\")\n }\n\n if (code < 232) {\n const index = code - 16\n const b = index % 6\n const g = Math.floor(index / 6) % 6\n const r = Math.floor(index / 36)\n const value = (x: number) => (x === 0 ? 0 : x * 40 + 55)\n return RGBA.fromInts(value(r), value(g), value(b))\n }\n\n if (code < 256) {\n const gray = (code - 232) * 10 + 8\n return RGBA.fromInts(gray, gray, gray)\n }\n\n return RGBA.fromInts(0, 0, 0)\n}\n\nfunction tint(base: RGBA, overlay: RGBA, value: number): RGBA {\n return RGBA.fromInts(\n Math.round((base.r + (overlay.r - base.r) * value) * 255),\n Math.round((base.g + (overlay.g - base.g) * value) * 255),\n Math.round((base.b + (overlay.b - base.b) * value) * 255),\n )\n}\n\nfunction blend(color: RGBA, bg: RGBA): RGBA {\n if (color.a >= 1) {\n return color\n }\n\n return RGBA.fromValues(\n bg.r + (color.r - bg.r) * color.a,\n bg.g + (color.g - bg.g) * color.a,\n bg.b + (color.b - bg.b) * color.a,\n 1,\n )\n}\n\nfunction chroma(color: RGBA) {\n return Math.max(color.r, color.g, color.b) - Math.min(color.r, color.g, color.b)\n}\n\nfunction opaqueSyntaxStyle(style: SyntaxStyle | undefined, bg: RGBA): SyntaxStyle | undefined {\n if (!style) {\n return undefined\n }\n\n return SyntaxStyle.fromStyles(\n Object.fromEntries(\n [...style.getAllStyles()].map(([name, value]) => [\n name,\n {\n ...value,\n fg: value.fg ? blend(value.fg, bg) : value.fg,\n bg: value.bg ? blend(value.bg, bg) : value.bg,\n },\n ]),\n ),\n )\n}\n\nfunction indexedPalette(colors: TerminalColors, size: number = Math.max(colors.palette.length, 16)): RGBA[] {\n return Array.from({ length: size }, (_, index) => {\n const value = colors.palette[index]\n return RGBA.fromIndex(index, value ? RGBA.fromHex(value) : ansiToRgba(index))\n })\n}\n\nfunction srgbToLinear(value: number): number {\n if (value <= 0.04045) {\n return value / 12.92\n }\n\n return ((value + 0.055) / 1.055) ** 2.4\n}\n\nfunction oklab(color: RGBA) {\n const r = srgbToLinear(color.r)\n const g = srgbToLinear(color.g)\n const b = srgbToLinear(color.b)\n\n const l = Math.cbrt(0.4122214708 * r + 0.5363325363 * g + 0.0514459929 * b)\n const m = Math.cbrt(0.2119034982 * r + 0.6806995451 * g + 0.1073969566 * b)\n const s = Math.cbrt(0.0883024619 * r + 0.2817188376 * g + 0.6299787005 * b)\n\n return {\n l: 0.2104542553 * l + 0.793617785 * m - 0.0040720468 * s,\n a: 1.9779984951 * l - 2.428592205 * m + 0.4505937099 * s,\n b: 0.0259040371 * l + 0.7827717662 * m - 0.808675766 * s,\n }\n}\n\nfunction nearestIndexed(indexed: RGBA[], rgba: RGBA): RGBA {\n const target = oklab(rgba)\n const hit = indexed.reduce(\n (best, item) => {\n const sample = oklab(item)\n const dl = sample.l - target.l\n const da = sample.a - target.a\n const db = sample.b - target.b\n const dist = dl * dl * 2 + da * da + db * db\n if (dist >= best.dist) return best\n return {\n dist,\n item,\n }\n },\n {\n dist: Number.POSITIVE_INFINITY,\n item: indexed[0]!,\n },\n )\n\n return RGBA.clone(hit.item)\n}\n\nfunction paletteColor(colors: TerminalColors, index: number): RGBA {\n const value = colors.palette[index]\n return value ? RGBA.fromHex(value) : ansiToRgba(index)\n}\n\nfunction splashShadow(indexed: RGBA[], base: RGBA, overlay: RGBA, value: number): RGBA {\n const mixed = tint(base, overlay, value)\n return nearestIndexed(indexed, mixed)\n}\n\nexport function resolveTheme(theme: ThemeJson, pick: \"dark\" | \"light\"): TuiThemeCurrent {\n const defs = theme.defs ?? {}\n\n const resolveColor = (value: ColorValue, chain: string[] = []): RGBA => {\n if (value instanceof RGBA) return value\n\n if (typeof value === \"number\") {\n return RGBA.fromIndex(value, ansiToRgba(value))\n }\n\n if (typeof value !== \"string\") {\n return resolveColor(value[pick], chain)\n }\n\n if (value === \"transparent\" || value === \"none\") {\n return RGBA.fromInts(0, 0, 0, 0)\n }\n\n if (value.startsWith(\"#\")) {\n return RGBA.fromHex(value)\n }\n\n if (chain.includes(value)) {\n throw new Error(`Circular color reference: ${[...chain, value].join(\" -> \")}`)\n }\n\n const next = defs[value] ?? theme.theme[value as ThemeColor]\n if (next === undefined) {\n throw new Error(`Color reference \"${value}\" not found in defs or theme`)\n }\n\n return resolveColor(next, [...chain, value])\n }\n\n const resolved = Object.fromEntries(\n Object.entries(theme.theme)\n .filter(([key]) => key !== \"selectedListItemText\" && key !== \"backgroundMenu\" && key !== \"thinkingOpacity\")\n .map(([key, value]) => [key, resolveColor(value as ColorValue)]),\n ) as Partial<Record<ThemeColor, RGBA>>\n\n return {\n ...(resolved as Record<ThemeColor, RGBA>),\n selectedListItemText:\n theme.theme.selectedListItemText === undefined\n ? resolved.background!\n : resolveColor(theme.theme.selectedListItemText),\n backgroundMenu:\n theme.theme.backgroundMenu === undefined ? resolved.backgroundElement! : resolveColor(theme.theme.backgroundMenu),\n thinkingOpacity: theme.theme.thinkingOpacity ?? 0.6,\n }\n}\n\nfunction generateGrayScale(bg: RGBA, isDark: boolean, map: (rgba: RGBA) => RGBA): Record<number, RGBA> {\n const r = bg.r * 255\n const g = bg.g * 255\n const b = bg.b * 255\n const lum = 0.299 * r + 0.587 * g + 0.114 * b\n const cast = 0.25 * (1 - chroma(bg)) ** 2\n\n const gray = (level: number) => {\n const factor = level / 12\n\n if (isDark && lum < 10) {\n const value = Math.floor(factor * 0.4 * 255)\n return map(RGBA.fromInts(value, value, value))\n }\n\n if (!isDark && lum > 245) {\n const value = Math.floor(255 - factor * 0.4 * 255)\n return map(RGBA.fromInts(value, value, value))\n }\n\n const value = isDark ? lum + (255 - lum) * factor * 0.4 : lum * (1 - factor * 0.4)\n const tone = RGBA.fromInts(Math.floor(value), Math.floor(value), Math.floor(value))\n if (cast === 0) return map(tone)\n\n const ratio = lum === 0 ? 0 : value / lum\n return map(\n tint(\n tone,\n RGBA.fromInts(\n Math.floor(Math.max(0, Math.min(r * ratio, 255))),\n Math.floor(Math.max(0, Math.min(g * ratio, 255))),\n Math.floor(Math.max(0, Math.min(b * ratio, 255))),\n ),\n cast,\n ),\n )\n }\n\n return Object.fromEntries(Array.from({ length: 12 }, (_, index) => [index + 1, gray(index + 1)]))\n}\n\nfunction generateMutedTextColor(bg: RGBA, isDark: boolean, map: (rgba: RGBA) => RGBA): RGBA {\n const lum = 0.299 * bg.r * 255 + 0.587 * bg.g * 255 + 0.114 * bg.b * 255\n const gray = isDark\n ? lum < 10\n ? 180\n : Math.min(Math.floor(160 + lum * 0.3), 200)\n : lum > 245\n ? 75\n : Math.max(Math.floor(100 - (255 - lum) * 0.2), 60)\n\n return map(RGBA.fromInts(gray, gray, gray))\n}\n\nexport function generateSystem(colors: TerminalColors, pick: \"dark\" | \"light\"): ThemeJson {\n const bg_snapshot = RGBA.fromHex(colors.defaultBackground ?? colors.palette[0]!)\n const fg_snapshot = RGBA.fromHex(colors.defaultForeground ?? colors.palette[7]!)\n const bg = RGBA.defaultBackground(bg_snapshot)\n const fg = RGBA.defaultForeground(fg_snapshot)\n const isDark = pick === \"dark\"\n\n const color = (index: number) => paletteColor(colors, index)\n\n const grays = generateGrayScale(bg_snapshot, isDark, (rgba) => rgba)\n const textMuted = generateMutedTextColor(bg_snapshot, isDark, (rgba) => rgba)\n\n const ansi = {\n red: color(1),\n green: color(2),\n yellow: color(3),\n blue: color(4),\n magenta: color(5),\n cyan: color(6),\n red_bright: color(9),\n green_bright: color(10),\n }\n\n const diff_alpha = isDark ? 0.22 : 0.14\n const diff_context_bg = grays[2]\n const primary = ansi.cyan\n const secondary = ansi.magenta\n\n return {\n theme: {\n primary,\n secondary,\n accent: primary,\n error: ansi.red,\n warning: ansi.yellow,\n success: ansi.green,\n info: ansi.cyan,\n text: fg,\n textMuted,\n selectedListItemText: bg,\n background: alpha(bg, 0),\n backgroundPanel: grays[2],\n backgroundElement: grays[3],\n backgroundMenu: grays[3],\n borderSubtle: grays[6],\n border: grays[7],\n borderActive: grays[8],\n diffAdded: ansi.green,\n diffRemoved: ansi.red,\n diffContext: grays[7],\n diffHunkHeader: grays[7],\n diffHighlightAdded: ansi.green_bright,\n diffHighlightRemoved: ansi.red_bright,\n diffAddedBg: tint(bg_snapshot, ansi.green, diff_alpha),\n diffRemovedBg: tint(bg_snapshot, ansi.red, diff_alpha),\n diffContextBg: diff_context_bg,\n diffLineNumber: textMuted,\n diffAddedLineNumberBg: tint(diff_context_bg, ansi.green, diff_alpha),\n diffRemovedLineNumberBg: tint(diff_context_bg, ansi.red, diff_alpha),\n markdownText: fg,\n markdownHeading: fg,\n markdownLink: ansi.blue,\n markdownLinkText: ansi.cyan,\n markdownCode: ansi.green,\n markdownBlockQuote: ansi.yellow,\n markdownEmph: ansi.yellow,\n markdownStrong: fg,\n markdownHorizontalRule: grays[7],\n markdownListItem: ansi.blue,\n markdownListEnumeration: ansi.cyan,\n markdownImage: ansi.blue,\n markdownImageText: ansi.cyan,\n markdownCodeBlock: fg,\n syntaxComment: textMuted,\n syntaxKeyword: ansi.magenta,\n syntaxFunction: ansi.blue,\n syntaxVariable: fg,\n syntaxString: ansi.green,\n syntaxNumber: ansi.yellow,\n syntaxType: ansi.cyan,\n syntaxOperator: ansi.cyan,\n syntaxPunctuation: fg,\n },\n }\n}\n\nfunction quantizeColor(indexed: RGBA[], rgba: RGBA): RGBA {\n if (rgba.a === 0 || rgba.intent === \"default\" || rgba.intent === \"indexed\") {\n return RGBA.clone(rgba)\n }\n\n return nearestIndexed(indexed, rgba)\n}\n\nfunction quantizeTheme(theme: TuiThemeCurrent, indexed: RGBA[]): TuiThemeCurrent {\n const resolved = Object.fromEntries(\n Object.entries(theme)\n .filter(([key]) => key !== \"thinkingOpacity\")\n .map(([key, value]) => [key, quantizeColor(indexed, value as RGBA)]),\n ) as Partial<Record<ThemeColor, RGBA>>\n\n return {\n ...(resolved as Record<ThemeColor, RGBA>),\n thinkingOpacity: theme.thinkingOpacity,\n }\n}\n\nfunction splashTheme(theme: TuiThemeCurrent, indexed: RGBA[]): RunSplashTheme {\n const left = nearestIndexed(indexed, theme.textMuted)\n const right = nearestIndexed(indexed, theme.text)\n return {\n left,\n right,\n leftShadow: splashShadow(indexed, theme.background, left, 0.14),\n rightShadow: splashShadow(indexed, theme.background, right, 0.14),\n }\n}\n\nfunction map(\n footerTheme: TuiThemeCurrent,\n scrollbackTheme: TuiThemeCurrent,\n splash: RunSplashTheme,\n syntax?: SyntaxStyle,\n subtleSyntax?: SyntaxStyle,\n): RunTheme {\n const opaqueSubtleSyntax = opaqueSyntaxStyle(subtleSyntax, scrollbackTheme.background)\n subtleSyntax?.destroy()\n const footerBackground = alpha(footerTheme.background, 1)\n const footerMode = mode(footerBackground)\n const shade = fade(footerTheme.backgroundMenu, footerTheme.background, 0.12, 0.56, 0.72)\n const surface = fade(footerTheme.backgroundMenu, footerTheme.background, 0.18, 0.76, 0.9)\n const line = fade(footerTheme.backgroundMenu, footerTheme.background, 0.24, 0.9, 0.98)\n const statusBase = tint(footerBackground, rgba(\"#000000\"), footerMode === \"dark\" ? 0.12 : 0.06)\n const statusAccentBase =\n footerMode === \"dark\" ? tint(footerBackground, rgba(\"#ffffff\"), 0.06) : tint(statusBase, rgba(\"#000000\"), 0.04)\n const collapsedStatus = footerMode === \"dark\" && luminance(statusBase) <= 0.04\n // Pure-black backgrounds need a slight lift or the row disappears into the terminal background.\n const status = collapsedStatus ? tint(statusBase, statusAccentBase, 0.7) : statusBase\n const statusAccent = collapsedStatus ? tint(status, rgba(\"#ffffff\"), 0.06) : statusAccentBase\n\n return {\n background: footerTheme.background,\n footer: {\n highlight: footerTheme.primary,\n selected: footerTheme.backgroundElement,\n selectedText: footerTheme.selectedListItemText,\n warning: footerTheme.warning,\n success: footerTheme.success,\n error: footerTheme.error,\n muted: footerTheme.textMuted,\n text: footerTheme.text,\n status,\n statusAccent,\n shade,\n surface,\n pane: footerTheme.backgroundMenu,\n border: footerTheme.border,\n line,\n },\n entry: {\n system: {\n body: scrollbackTheme.textMuted,\n },\n user: {\n body: scrollbackTheme.primary,\n },\n assistant: {\n body: scrollbackTheme.text,\n },\n reasoning: {\n body: scrollbackTheme.textMuted,\n },\n tool: {\n body: scrollbackTheme.text,\n start: scrollbackTheme.textMuted,\n },\n error: {\n body: scrollbackTheme.error,\n },\n },\n splash,\n block: {\n highlight: scrollbackTheme.primary,\n warning: scrollbackTheme.warning,\n text: scrollbackTheme.text,\n muted: scrollbackTheme.textMuted,\n syntax,\n subtleSyntax: opaqueSubtleSyntax,\n diffAdded: scrollbackTheme.diffAdded,\n diffRemoved: scrollbackTheme.diffRemoved,\n diffAddedBg: transparent,\n diffRemovedBg: transparent,\n diffContextBg: transparent,\n diffHighlightAdded: scrollbackTheme.diffHighlightAdded,\n diffHighlightRemoved: scrollbackTheme.diffHighlightRemoved,\n diffLineNumber: scrollbackTheme.diffLineNumber,\n diffAddedLineNumberBg: scrollbackTheme.diffAddedLineNumberBg,\n diffRemovedLineNumberBg: scrollbackTheme.diffRemovedLineNumberBg,\n },\n }\n}\n\nconst seed = {\n highlight: RGBA.fromIndex(6, rgba(\"#38bdf8\")),\n muted: RGBA.fromIndex(8, rgba(\"#64748b\")),\n text: RGBA.defaultForeground(rgba(\"#f8fafc\")),\n panel: rgba(\"#0f172a\"),\n success: RGBA.fromIndex(2, rgba(\"#22c55e\")),\n warning: RGBA.fromIndex(3, rgba(\"#f59e0b\")),\n error: RGBA.fromIndex(1, rgba(\"#ef4444\")),\n}\n\nfunction tone(body: ColorInput, start?: ColorInput): Tone {\n return {\n body,\n start,\n }\n}\n\nconst fallbackSplashIndexed = Array.from({ length: 256 }, (_, index) => RGBA.fromIndex(index))\nconst fallbackSplashLeft = RGBA.fromIndex(67)\nconst fallbackSplashRight = RGBA.fromIndex(110)\n\nexport const RUN_THEME_FALLBACK: RunTheme = {\n background: RGBA.fromValues(0, 0, 0, 0),\n footer: {\n highlight: seed.highlight,\n selected: seed.text,\n selectedText: seed.panel,\n warning: seed.warning,\n success: seed.success,\n error: seed.error,\n muted: seed.muted,\n text: seed.text,\n status: tint(seed.panel, rgba(\"#000000\"), 0.12),\n statusAccent: tint(seed.panel, rgba(\"#ffffff\"), 0.06),\n shade: alpha(seed.panel, 0.68),\n surface: alpha(seed.panel, 0.86),\n pane: seed.panel,\n border: seed.muted,\n line: alpha(seed.panel, 0.96),\n },\n entry: {\n system: tone(seed.muted),\n user: tone(seed.highlight),\n assistant: tone(seed.text),\n reasoning: tone(seed.muted),\n tool: tone(seed.text, seed.muted),\n error: tone(seed.error),\n },\n splash: {\n left: fallbackSplashLeft,\n right: fallbackSplashRight,\n leftShadow: splashShadow(fallbackSplashIndexed, RGBA.fromValues(0, 0, 0, 0), fallbackSplashLeft, 0.14),\n rightShadow: splashShadow(fallbackSplashIndexed, RGBA.fromValues(0, 0, 0, 0), fallbackSplashRight, 0.14),\n },\n block: {\n highlight: seed.highlight,\n warning: seed.warning,\n text: seed.text,\n muted: seed.muted,\n diffAdded: seed.success,\n diffRemoved: seed.error,\n diffAddedBg: alpha(seed.success, 0.18),\n diffRemovedBg: alpha(seed.error, 0.18),\n diffContextBg: alpha(seed.panel, 0.72),\n diffHighlightAdded: seed.success,\n diffHighlightRemoved: seed.error,\n diffLineNumber: seed.muted,\n diffAddedLineNumberBg: alpha(seed.success, 0.12),\n diffRemovedLineNumberBg: alpha(seed.error, 0.12),\n },\n}\n\nexport async function resolveRunTheme(renderer: CliRenderer): Promise<RunTheme> {\n try {\n const colors = await renderer.getPalette({\n size: 256,\n })\n const bg = colors.defaultBackground ?? colors.palette[0]\n if (!bg) {\n return RUN_THEME_FALLBACK\n }\n\n // Palette-only terminal reloads can leave renderer.themeMode stale, but\n // ANSI slot zero is not the terminal background when OSC 11 is absent.\n const pick = colors.defaultBackground\n ? mode(RGBA.fromHex(colors.defaultBackground))\n : (renderer.themeMode ?? mode(RGBA.fromHex(bg)))\n const footerTheme = resolveTheme(generateSystem(colors, pick), pick)\n const indexed = indexedPalette(colors, 256)\n const scrollbackTheme = quantizeTheme(footerTheme, indexed)\n const shared = await import(\"@opencode-ai/tui/context/theme\")\n const syntaxTheme: SharedSyntaxTheme = {\n ...scrollbackTheme,\n _hasSelectedListItemText: true,\n }\n const syntax = shared.generateSyntax(syntaxTheme)\n return map(\n footerTheme,\n scrollbackTheme,\n splashTheme(scrollbackTheme, indexed),\n syntax,\n shared.generateSubtleSyntax(syntaxTheme),\n )\n } catch {\n return RUN_THEME_FALLBACK\n }\n}\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "4CDD203D6D32D24164756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@aws-sdk+credential-provider-web-identity@3.972.45/node_modules/@aws-sdk/credential-provider-web-identity/dist-es/fromTokenFile.js", "../../node_modules/.bun/@aws-sdk+credential-provider-web-identity@3.972.45/node_modules/@aws-sdk/credential-provider-web-identity/dist-es/fromWebToken.js"], | ||
| "sourcesContent": [ | ||
| "import { setCredentialFeature } from \"@aws-sdk/core/client\";\nimport { CredentialsProviderError, externalDataInterceptor } from \"@smithy/core/config\";\nimport { readFileSync } from \"node:fs\";\nimport { fromWebToken } from \"./fromWebToken\";\nconst ENV_TOKEN_FILE = \"AWS_WEB_IDENTITY_TOKEN_FILE\";\nconst ENV_ROLE_ARN = \"AWS_ROLE_ARN\";\nconst ENV_ROLE_SESSION_NAME = \"AWS_ROLE_SESSION_NAME\";\nexport const fromTokenFile = (init = {}) => async (awsIdentityProperties) => {\n init.logger?.debug(\"@aws-sdk/credential-provider-web-identity - fromTokenFile\");\n const webIdentityTokenFile = init?.webIdentityTokenFile ?? process.env[ENV_TOKEN_FILE];\n const roleArn = init?.roleArn ?? process.env[ENV_ROLE_ARN];\n const roleSessionName = init?.roleSessionName ?? process.env[ENV_ROLE_SESSION_NAME];\n if (!webIdentityTokenFile || !roleArn) {\n throw new CredentialsProviderError(\"Web identity configuration not specified\", {\n logger: init.logger,\n });\n }\n const credentials = await fromWebToken({\n ...init,\n webIdentityToken: externalDataInterceptor?.getTokenRecord?.()[webIdentityTokenFile] ??\n readFileSync(webIdentityTokenFile, { encoding: \"ascii\" }),\n roleArn,\n roleSessionName,\n })(awsIdentityProperties);\n if (webIdentityTokenFile === process.env[ENV_TOKEN_FILE]) {\n setCredentialFeature(credentials, \"CREDENTIALS_ENV_VARS_STS_WEB_ID_TOKEN\", \"h\");\n }\n return credentials;\n};\n", | ||
| "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" | ||
| ], | ||
| "mappings": ";kJAAA,oBACA,gBACA,uBAAS,WCFF,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,0CAC9D,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,GDnBL,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", | ||
| "debugId": "B0CF67D3CA86E88664756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@aws-sdk+credential-provider-ini@3.972.46/node_modules/@aws-sdk/credential-provider-ini/dist-es/fromIni.js", "../../node_modules/.bun/@aws-sdk+credential-provider-ini@3.972.46/node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveProfileData.js", "../../node_modules/.bun/@aws-sdk+credential-provider-ini@3.972.46/node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveAssumeRoleCredentials.js", "../../node_modules/.bun/@aws-sdk+credential-provider-ini@3.972.46/node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveCredentialSource.js", "../../node_modules/.bun/@aws-sdk+credential-provider-ini@3.972.46/node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveLoginCredentials.js", "../../node_modules/.bun/@aws-sdk+credential-provider-login@3.972.45/node_modules/@aws-sdk/credential-provider-login/dist-es/fromLoginCredentials.js", "../../node_modules/.bun/@aws-sdk+credential-provider-login@3.972.45/node_modules/@aws-sdk/credential-provider-login/dist-es/LoginCredentialsFetcher.js", "../../node_modules/.bun/@aws-sdk+credential-provider-ini@3.972.46/node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveProcessCredentials.js", "../../node_modules/.bun/@aws-sdk+credential-provider-ini@3.972.46/node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveSsoCredentials.js", "../../node_modules/.bun/@aws-sdk+credential-provider-ini@3.972.46/node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveStaticCredentials.js", "../../node_modules/.bun/@aws-sdk+credential-provider-ini@3.972.46/node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveWebIdentityCredentials.js"], | ||
| "sourcesContent": [ | ||
| "import { getProfileName, parseKnownFiles } from \"@smithy/core/config\";\nimport { resolveProfileData } from \"./resolveProfileData\";\nexport const fromIni = (init = {}) => async ({ callerClientConfig } = {}) => {\n init.logger?.debug(\"@aws-sdk/credential-provider-ini - fromIni\");\n const profiles = await parseKnownFiles(init);\n return resolveProfileData(getProfileName({\n profile: init.profile ?? callerClientConfig?.profile,\n }), profiles, init, callerClientConfig);\n};\n", | ||
| "import { CredentialsProviderError } from \"@smithy/core/config\";\nimport { isAssumeRoleProfile, resolveAssumeRoleCredentials } from \"./resolveAssumeRoleCredentials\";\nimport { isLoginProfile, resolveLoginCredentials } from \"./resolveLoginCredentials\";\nimport { isProcessProfile, resolveProcessCredentials } from \"./resolveProcessCredentials\";\nimport { isSsoProfile, resolveSsoCredentials } from \"./resolveSsoCredentials\";\nimport { isStaticCredsProfile, resolveStaticCredentials } from \"./resolveStaticCredentials\";\nimport { isWebIdentityProfile, resolveWebIdentityCredentials } from \"./resolveWebIdentityCredentials\";\nexport const resolveProfileData = async (profileName, profiles, options, callerClientConfig, visitedProfiles = {}, isAssumeRoleRecursiveCall = false) => {\n const data = profiles[profileName];\n if (Object.keys(visitedProfiles).length > 0 && isStaticCredsProfile(data)) {\n return resolveStaticCredentials(data, options);\n }\n if (isAssumeRoleRecursiveCall || isAssumeRoleProfile(data, { profile: profileName, logger: options.logger })) {\n return resolveAssumeRoleCredentials(profileName, profiles, options, callerClientConfig, visitedProfiles, resolveProfileData);\n }\n if (isStaticCredsProfile(data)) {\n return resolveStaticCredentials(data, options);\n }\n if (isWebIdentityProfile(data)) {\n return resolveWebIdentityCredentials(data, options, callerClientConfig);\n }\n if (isProcessProfile(data)) {\n return resolveProcessCredentials(options, profileName);\n }\n if (isSsoProfile(data)) {\n return await resolveSsoCredentials(profileName, data, options, callerClientConfig);\n }\n if (isLoginProfile(data)) {\n return resolveLoginCredentials(profileName, options, callerClientConfig);\n }\n throw new CredentialsProviderError(`Could not resolve credentials using profile: [${profileName}] in configuration/credentials file(s).`, { logger: options.logger });\n};\n", | ||
| "import { setCredentialFeature } from \"@aws-sdk/core/client\";\nimport { CredentialsProviderError, getProfileName } from \"@smithy/core/config\";\nimport { resolveCredentialSource } from \"./resolveCredentialSource\";\nexport const isAssumeRoleProfile = (arg, { profile = \"default\", logger } = {}) => {\n return (Boolean(arg) &&\n typeof arg === \"object\" &&\n typeof arg.role_arn === \"string\" &&\n [\"undefined\", \"string\"].indexOf(typeof arg.role_session_name) > -1 &&\n [\"undefined\", \"string\"].indexOf(typeof arg.external_id) > -1 &&\n [\"undefined\", \"string\"].indexOf(typeof arg.mfa_serial) > -1 &&\n (isAssumeRoleWithSourceProfile(arg, { profile, logger }) || isCredentialSourceProfile(arg, { profile, logger })));\n};\nconst isAssumeRoleWithSourceProfile = (arg, { profile, logger }) => {\n const withSourceProfile = typeof arg.source_profile === \"string\" && typeof arg.credential_source === \"undefined\";\n if (withSourceProfile) {\n logger?.debug?.(` ${profile} isAssumeRoleWithSourceProfile source_profile=${arg.source_profile}`);\n }\n return withSourceProfile;\n};\nconst isCredentialSourceProfile = (arg, { profile, logger }) => {\n const withProviderProfile = typeof arg.credential_source === \"string\" && typeof arg.source_profile === \"undefined\";\n if (withProviderProfile) {\n logger?.debug?.(` ${profile} isCredentialSourceProfile credential_source=${arg.credential_source}`);\n }\n return withProviderProfile;\n};\nexport const resolveAssumeRoleCredentials = async (profileName, profiles, options, callerClientConfig, visitedProfiles = {}, resolveProfileData) => {\n options.logger?.debug(\"@aws-sdk/credential-provider-ini - resolveAssumeRoleCredentials (STS)\");\n const profileData = profiles[profileName];\n const { source_profile, region } = profileData;\n if (!options.roleAssumer) {\n const { getDefaultRoleAssumer } = await import(\"@aws-sdk/nested-clients/sts\");\n options.roleAssumer = getDefaultRoleAssumer({\n ...options.clientConfig,\n credentialProviderLogger: options.logger,\n parentClientConfig: {\n ...callerClientConfig,\n ...options?.parentClientConfig,\n region: region ?? options?.parentClientConfig?.region ?? callerClientConfig?.region,\n },\n }, options.clientPlugins);\n }\n if (source_profile && source_profile in visitedProfiles) {\n throw new CredentialsProviderError(`Detected a cycle attempting to resolve credentials for profile` +\n ` ${getProfileName(options)}. Profiles visited: ` +\n Object.keys(visitedProfiles).join(\", \"), { logger: options.logger });\n }\n options.logger?.debug(`@aws-sdk/credential-provider-ini - finding credential resolver using ${source_profile ? `source_profile=[${source_profile}]` : `profile=[${profileName}]`}`);\n const sourceCredsProvider = source_profile\n ? resolveProfileData(source_profile, profiles, options, callerClientConfig, {\n ...visitedProfiles,\n [source_profile]: true,\n }, isCredentialSourceWithoutRoleArn(profiles[source_profile] ?? {}))\n : (await resolveCredentialSource(profileData.credential_source, profileName, options.logger)(options))();\n if (isCredentialSourceWithoutRoleArn(profileData)) {\n return sourceCredsProvider.then((creds) => setCredentialFeature(creds, \"CREDENTIALS_PROFILE_SOURCE_PROFILE\", \"o\"));\n }\n else {\n const params = {\n RoleArn: profileData.role_arn,\n RoleSessionName: profileData.role_session_name || `aws-sdk-js-${Date.now()}`,\n ExternalId: profileData.external_id,\n DurationSeconds: parseInt(profileData.duration_seconds || \"3600\", 10),\n };\n const { mfa_serial } = profileData;\n if (mfa_serial) {\n if (!options.mfaCodeProvider) {\n throw new CredentialsProviderError(`Profile ${profileName} requires multi-factor authentication, but no MFA code callback was provided.`, { logger: options.logger, tryNextLink: false });\n }\n params.SerialNumber = mfa_serial;\n params.TokenCode = await options.mfaCodeProvider(mfa_serial);\n }\n const sourceCreds = await sourceCredsProvider;\n return options.roleAssumer(sourceCreds, params).then((creds) => setCredentialFeature(creds, \"CREDENTIALS_PROFILE_SOURCE_PROFILE\", \"o\"));\n }\n};\nconst isCredentialSourceWithoutRoleArn = (section) => {\n return !section.role_arn && !!section.credential_source;\n};\n", | ||
| "import { setCredentialFeature } from \"@aws-sdk/core/client\";\nimport { chain, CredentialsProviderError } from \"@smithy/core/config\";\nexport const resolveCredentialSource = (credentialSource, profileName, logger) => {\n const sourceProvidersMap = {\n EcsContainer: async (options) => {\n const { fromHttp } = await import(\"@aws-sdk/credential-provider-http\");\n const { fromContainerMetadata } = await import(\"@smithy/credential-provider-imds\");\n logger?.debug(\"@aws-sdk/credential-provider-ini - credential_source is EcsContainer\");\n return async () => chain(fromHttp(options ?? {}), fromContainerMetadata(options))().then(setNamedProvider);\n },\n Ec2InstanceMetadata: async (options) => {\n logger?.debug(\"@aws-sdk/credential-provider-ini - credential_source is Ec2InstanceMetadata\");\n const { fromInstanceMetadata } = await import(\"@smithy/credential-provider-imds\");\n return async () => fromInstanceMetadata(options)().then(setNamedProvider);\n },\n Environment: async (options) => {\n logger?.debug(\"@aws-sdk/credential-provider-ini - credential_source is Environment\");\n const { fromEnv } = await import(\"@aws-sdk/credential-provider-env\");\n return async () => fromEnv(options)().then(setNamedProvider);\n },\n };\n if (credentialSource in sourceProvidersMap) {\n return sourceProvidersMap[credentialSource];\n }\n else {\n throw new CredentialsProviderError(`Unsupported credential source in profile ${profileName}. Got ${credentialSource}, ` +\n `expected EcsContainer or Ec2InstanceMetadata or Environment.`, { logger });\n }\n};\nconst setNamedProvider = (creds) => setCredentialFeature(creds, \"CREDENTIALS_PROFILE_NAMED_PROVIDER\", \"p\");\n", | ||
| "import { setCredentialFeature } from \"@aws-sdk/core/client\";\nimport { fromLoginCredentials } from \"@aws-sdk/credential-provider-login\";\nexport const isLoginProfile = (data) => {\n return Boolean(data && data.login_session);\n};\nexport const resolveLoginCredentials = async (profileName, options, callerClientConfig) => {\n const credentials = await fromLoginCredentials({\n ...options,\n profile: profileName,\n })({ callerClientConfig });\n return setCredentialFeature(credentials, \"CREDENTIALS_PROFILE_LOGIN\", \"AC\");\n};\n", | ||
| "import { setCredentialFeature } from \"@aws-sdk/core/client\";\nimport { CredentialsProviderError, getProfileName, parseKnownFiles } from \"@smithy/core/config\";\nimport { LoginCredentialsFetcher } from \"./LoginCredentialsFetcher\";\nexport const fromLoginCredentials = (init) => async ({ callerClientConfig } = {}) => {\n init?.logger?.debug?.(\"@aws-sdk/credential-providers - fromLoginCredentials\");\n const profiles = await parseKnownFiles(init || {});\n const profileName = getProfileName({\n profile: init?.profile ?? callerClientConfig?.profile,\n });\n const profile = profiles[profileName];\n if (!profile?.login_session) {\n throw new CredentialsProviderError(`Profile ${profileName} does not contain login_session.`, {\n tryNextLink: true,\n logger: init?.logger,\n });\n }\n const fetcher = new LoginCredentialsFetcher(profile, init, callerClientConfig);\n const credentials = await fetcher.loadCredentials();\n return setCredentialFeature(credentials, \"CREDENTIALS_LOGIN\", \"AD\");\n};\n", | ||
| "import { CredentialsProviderError, readFile } from \"@smithy/core/config\";\nimport { HttpRequest } from \"@smithy/core/protocols\";\nimport { createHash, createPrivateKey, createPublicKey, sign } from \"node:crypto\";\nimport { promises as fs } from \"node:fs\";\nimport { homedir } from \"node:os\";\nimport { dirname, join } from \"node:path\";\nexport class LoginCredentialsFetcher {\n profileData;\n init;\n callerClientConfig;\n static REFRESH_THRESHOLD = 5 * 60 * 1000;\n constructor(profileData, init, callerClientConfig) {\n this.profileData = profileData;\n this.init = init;\n this.callerClientConfig = callerClientConfig;\n }\n async loadCredentials() {\n const token = await this.loadToken();\n if (!token) {\n throw new CredentialsProviderError(`Failed to load a token for session ${this.loginSession}, please re-authenticate using aws login`, { tryNextLink: false, logger: this.logger });\n }\n const accessToken = token.accessToken;\n const now = Date.now();\n const expiryTime = new Date(accessToken.expiresAt).getTime();\n const timeUntilExpiry = expiryTime - now;\n if (timeUntilExpiry <= LoginCredentialsFetcher.REFRESH_THRESHOLD) {\n return this.refresh(token);\n }\n return {\n accessKeyId: accessToken.accessKeyId,\n secretAccessKey: accessToken.secretAccessKey,\n sessionToken: accessToken.sessionToken,\n accountId: accessToken.accountId,\n expiration: new Date(accessToken.expiresAt),\n };\n }\n get logger() {\n return this.init?.logger;\n }\n get loginSession() {\n return this.profileData.login_session;\n }\n async refresh(token) {\n const { SigninClient, CreateOAuth2TokenCommand } = await import(\"@aws-sdk/nested-clients/signin\");\n const { logger, userAgentAppId } = this.callerClientConfig ?? {};\n const isH2 = (requestHandler) => {\n return requestHandler?.metadata?.handlerProtocol === \"h2\";\n };\n const requestHandler = isH2(this.callerClientConfig?.requestHandler)\n ? undefined\n : this.callerClientConfig?.requestHandler;\n const region = this.profileData.region ?? (await this.callerClientConfig?.region?.()) ?? process.env.AWS_REGION;\n const client = new SigninClient({\n credentials: {\n accessKeyId: \"\",\n secretAccessKey: \"\",\n },\n region,\n requestHandler,\n logger,\n userAgentAppId,\n ...this.init?.clientConfig,\n });\n this.createDPoPInterceptor(client.middlewareStack);\n const commandInput = {\n tokenInput: {\n clientId: token.clientId,\n refreshToken: token.refreshToken,\n grantType: \"refresh_token\",\n },\n };\n try {\n const response = await client.send(new CreateOAuth2TokenCommand(commandInput));\n const { accessKeyId, secretAccessKey, sessionToken } = response.tokenOutput?.accessToken ?? {};\n const { refreshToken, expiresIn } = response.tokenOutput ?? {};\n if (!accessKeyId || !secretAccessKey || !sessionToken || !refreshToken) {\n throw new CredentialsProviderError(\"Token refresh response missing required fields\", {\n logger: this.logger,\n tryNextLink: false,\n });\n }\n const expiresInMs = (expiresIn ?? 900) * 1000;\n const expiration = new Date(Date.now() + expiresInMs);\n const updatedToken = {\n ...token,\n accessToken: {\n ...token.accessToken,\n accessKeyId: accessKeyId,\n secretAccessKey: secretAccessKey,\n sessionToken: sessionToken,\n expiresAt: expiration.toISOString(),\n },\n refreshToken: refreshToken,\n };\n await this.saveToken(updatedToken);\n const newAccessToken = updatedToken.accessToken;\n return {\n accessKeyId: newAccessToken.accessKeyId,\n secretAccessKey: newAccessToken.secretAccessKey,\n sessionToken: newAccessToken.sessionToken,\n accountId: newAccessToken.accountId,\n expiration,\n };\n }\n catch (error) {\n if (error.name === \"AccessDeniedException\") {\n const errorType = error.error;\n let message;\n switch (errorType) {\n case \"TOKEN_EXPIRED\":\n message = \"Your session has expired. Please reauthenticate.\";\n break;\n case \"USER_CREDENTIALS_CHANGED\":\n message =\n \"Unable to refresh credentials because of a change in your password. Please reauthenticate with your new password.\";\n break;\n case \"INSUFFICIENT_PERMISSIONS\":\n message =\n \"Unable to refresh credentials due to insufficient permissions. You may be missing permission for the 'CreateOAuth2Token' action.\";\n break;\n default:\n message = `Failed to refresh token: ${String(error)}. Please re-authenticate using \\`aws login\\``;\n }\n throw new CredentialsProviderError(message, { logger: this.logger, tryNextLink: false });\n }\n throw new CredentialsProviderError(`Failed to refresh token: ${String(error)}. Please re-authenticate using aws login`, { logger: this.logger });\n }\n }\n async loadToken() {\n const tokenFilePath = this.getTokenFilePath();\n try {\n let tokenData;\n try {\n tokenData = await readFile(tokenFilePath, { ignoreCache: this.init?.ignoreCache });\n }\n catch {\n tokenData = await fs.readFile(tokenFilePath, \"utf8\");\n }\n const token = JSON.parse(tokenData);\n const missingFields = [\"accessToken\", \"clientId\", \"refreshToken\", \"dpopKey\"].filter((k) => !token[k]);\n if (!token.accessToken?.accountId) {\n missingFields.push(\"accountId\");\n }\n if (missingFields.length > 0) {\n throw new CredentialsProviderError(`Token validation failed, missing fields: ${missingFields.join(\", \")}`, {\n logger: this.logger,\n tryNextLink: false,\n });\n }\n return token;\n }\n catch (error) {\n throw new CredentialsProviderError(`Failed to load token from ${tokenFilePath}: ${String(error)}`, {\n logger: this.logger,\n tryNextLink: false,\n });\n }\n }\n async saveToken(token) {\n const tokenFilePath = this.getTokenFilePath();\n const directory = dirname(tokenFilePath);\n try {\n await fs.mkdir(directory, { recursive: true });\n }\n catch (error) {\n }\n await fs.writeFile(tokenFilePath, JSON.stringify(token, null, 2), \"utf8\");\n }\n getTokenFilePath() {\n const directory = process.env.AWS_LOGIN_CACHE_DIRECTORY ?? join(homedir(), \".aws\", \"login\", \"cache\");\n const loginSessionBytes = Buffer.from(this.loginSession, \"utf8\");\n const loginSessionSha256 = createHash(\"sha256\").update(loginSessionBytes).digest(\"hex\");\n return join(directory, `${loginSessionSha256}.json`);\n }\n derToRawSignature(derSignature) {\n let offset = 2;\n if (derSignature[offset] !== 0x02) {\n throw new Error(\"Invalid DER signature\");\n }\n offset++;\n const rLength = derSignature[offset++];\n let r = derSignature.subarray(offset, offset + rLength);\n offset += rLength;\n if (derSignature[offset] !== 0x02) {\n throw new Error(\"Invalid DER signature\");\n }\n offset++;\n const sLength = derSignature[offset++];\n let s = derSignature.subarray(offset, offset + sLength);\n r = r[0] === 0x00 ? r.subarray(1) : r;\n s = s[0] === 0x00 ? s.subarray(1) : s;\n const rPadded = Buffer.concat([Buffer.alloc(32 - r.length), r]);\n const sPadded = Buffer.concat([Buffer.alloc(32 - s.length), s]);\n return Buffer.concat([rPadded, sPadded]);\n }\n createDPoPInterceptor(middlewareStack) {\n middlewareStack.add((next) => async (args) => {\n if (HttpRequest.isInstance(args.request)) {\n const request = args.request;\n const actualEndpoint = `${request.protocol}//${request.hostname}${request.port ? `:${request.port}` : \"\"}${request.path}`;\n const dpop = await this.generateDpop(request.method, actualEndpoint);\n request.headers = {\n ...request.headers,\n DPoP: dpop,\n };\n }\n return next(args);\n }, {\n step: \"finalizeRequest\",\n name: \"dpopInterceptor\",\n override: true,\n });\n }\n async generateDpop(method = \"POST\", endpoint) {\n const token = await this.loadToken();\n try {\n const privateKey = createPrivateKey({\n key: token.dpopKey,\n format: \"pem\",\n type: \"sec1\",\n });\n const publicKey = createPublicKey(privateKey);\n const publicDer = publicKey.export({ format: \"der\", type: \"spki\" });\n let pointStart = -1;\n for (let i = 0; i < publicDer.length; i++) {\n if (publicDer[i] === 0x04) {\n pointStart = i;\n break;\n }\n }\n const x = publicDer.slice(pointStart + 1, pointStart + 33);\n const y = publicDer.slice(pointStart + 33, pointStart + 65);\n const header = {\n alg: \"ES256\",\n typ: \"dpop+jwt\",\n jwk: {\n kty: \"EC\",\n crv: \"P-256\",\n x: x.toString(\"base64url\"),\n y: y.toString(\"base64url\"),\n },\n };\n const payload = {\n jti: crypto.randomUUID(),\n htm: method,\n htu: endpoint,\n iat: Math.floor(Date.now() / 1000),\n };\n const headerB64 = Buffer.from(JSON.stringify(header)).toString(\"base64url\");\n const payloadB64 = Buffer.from(JSON.stringify(payload)).toString(\"base64url\");\n const message = `${headerB64}.${payloadB64}`;\n const asn1Signature = sign(\"sha256\", Buffer.from(message), privateKey);\n const rawSignature = this.derToRawSignature(asn1Signature);\n const signatureB64 = rawSignature.toString(\"base64url\");\n return `${message}.${signatureB64}`;\n }\n catch (error) {\n throw new CredentialsProviderError(`Failed to generate Dpop proof: ${error instanceof Error ? error.message : String(error)}`, { logger: this.logger, tryNextLink: false });\n }\n }\n}\n", | ||
| "import { setCredentialFeature } from \"@aws-sdk/core/client\";\nexport const isProcessProfile = (arg) => Boolean(arg) && typeof arg === \"object\" && typeof arg.credential_process === \"string\";\nexport const resolveProcessCredentials = async (options, profile) => import(\"@aws-sdk/credential-provider-process\").then(({ fromProcess }) => fromProcess({\n ...options,\n profile,\n})().then((creds) => setCredentialFeature(creds, \"CREDENTIALS_PROFILE_PROCESS\", \"v\")));\n", | ||
| "import { setCredentialFeature } from \"@aws-sdk/core/client\";\nexport const resolveSsoCredentials = async (profile, profileData, options = {}, callerClientConfig) => {\n const { fromSSO } = await import(\"@aws-sdk/credential-provider-sso\");\n return fromSSO({\n profile,\n logger: options.logger,\n parentClientConfig: options.parentClientConfig,\n clientConfig: options.clientConfig,\n })({\n callerClientConfig,\n }).then((creds) => {\n if (profileData.sso_session) {\n return setCredentialFeature(creds, \"CREDENTIALS_PROFILE_SSO\", \"r\");\n }\n else {\n return setCredentialFeature(creds, \"CREDENTIALS_PROFILE_SSO_LEGACY\", \"t\");\n }\n });\n};\nexport const isSsoProfile = (arg) => arg &&\n (typeof arg.sso_start_url === \"string\" ||\n typeof arg.sso_account_id === \"string\" ||\n typeof arg.sso_session === \"string\" ||\n typeof arg.sso_region === \"string\" ||\n typeof arg.sso_role_name === \"string\");\n", | ||
| "import { setCredentialFeature } from \"@aws-sdk/core/client\";\nexport const isStaticCredsProfile = (arg) => Boolean(arg) &&\n typeof arg === \"object\" &&\n typeof arg.aws_access_key_id === \"string\" &&\n typeof arg.aws_secret_access_key === \"string\" &&\n [\"undefined\", \"string\"].indexOf(typeof arg.aws_session_token) > -1 &&\n [\"undefined\", \"string\"].indexOf(typeof arg.aws_account_id) > -1;\nexport const resolveStaticCredentials = async (profile, options) => {\n options?.logger?.debug(\"@aws-sdk/credential-provider-ini - resolveStaticCredentials\");\n const credentials = {\n accessKeyId: profile.aws_access_key_id,\n secretAccessKey: profile.aws_secret_access_key,\n sessionToken: profile.aws_session_token,\n ...(profile.aws_credential_scope && { credentialScope: profile.aws_credential_scope }),\n ...(profile.aws_account_id && { accountId: profile.aws_account_id }),\n };\n return setCredentialFeature(credentials, \"CREDENTIALS_PROFILE\", \"n\");\n};\n", | ||
| "import { setCredentialFeature } from \"@aws-sdk/core/client\";\nexport const isWebIdentityProfile = (arg) => Boolean(arg) &&\n typeof arg === \"object\" &&\n typeof arg.web_identity_token_file === \"string\" &&\n typeof arg.role_arn === \"string\" &&\n [\"undefined\", \"string\"].indexOf(typeof arg.role_session_name) > -1;\nexport const resolveWebIdentityCredentials = async (profile, options, callerClientConfig) => import(\"@aws-sdk/credential-provider-web-identity\").then(({ fromTokenFile }) => fromTokenFile({\n webIdentityTokenFile: profile.web_identity_token_file,\n roleArn: profile.role_arn,\n roleSessionName: profile.role_session_name,\n roleAssumerWithWebIdentity: options.roleAssumerWithWebIdentity,\n logger: options.logger,\n parentClientConfig: options.parentClientConfig,\n})({\n callerClientConfig,\n}).then((creds) => setCredentialFeature(creds, \"CREDENTIALS_PROFILE_STS_WEB_ID_TOKEN\", \"q\")));\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "8028CAACCB084B2C64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260622170816_reset_v2_session_state.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260622170816_reset_v2_session_state\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`DELETE FROM \\`session_context_epoch\\`;`)\n yield* tx.run(`DELETE FROM \\`session_input\\`;`)\n yield* tx.run(`DELETE FROM \\`session_message\\`;`)\n yield* tx.run(`DELETE FROM \\`event\\`;`)\n yield* tx.run(`DELETE FROM \\`event_sequence\\`;`)\n yield* tx.run(`UPDATE \\`session\\` SET \\`workspace_id\\` = NULL WHERE \\`workspace_id\\` IS NOT NULL;`)\n yield* tx.run(`DELETE FROM \\`workspace\\`;`)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,wCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,sCAAwC,EACtD,MAAO,EAAG,IAAI,8BAAgC,EAC9C,MAAO,EAAG,IAAI,gCAAkC,EAChD,MAAO,EAAG,IAAI,sBAAwB,EACtC,MAAO,EAAG,IAAI,+BAAiC,EAC/C,MAAO,EAAG,IAAI,8EAAoF,EAClG,MAAO,EAAG,IAAI,0BAA4B,EAC3C,EAEL", | ||
| "debugId": "B25D6A370F1D0CBA64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/ai-gateway-provider@3.1.2+a6631614dda8d488/node_modules/ai-gateway-provider/dist/providers/unified.mjs"], | ||
| "sourcesContent": [ | ||
| "// src/providers/unified.ts\nimport { createOpenAICompatible } from \"@ai-sdk/openai-compatible\";\nvar createUnified = (arg) => {\n return createOpenAICompatible({\n baseURL: \"https://gateway.ai.cloudflare.com/v1/compat\",\n // intercepted and replaced with actual base URL later\n name: \"Unified\",\n ...arg || {}\n });\n};\nvar unified = createUnified();\nexport {\n createUnified,\n unified\n};\n//# sourceMappingURL=unified.mjs.map" | ||
| ], | ||
| "mappings": ";8NAEA,SAAI,OAAgB,MAAC,SAAQ,MAC3B,OAAO,EAAuB,CAC5B,QAAS,8CAET,KAAM,aACH,GAAO,CAAC,CACb,CAAC,GAEC,EAAU,EAAc", | ||
| "debugId": "073FDE05C6EA207A64756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "DF5061E203C70FEE64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": [], | ||
| "sourcesContent": [ | ||
| ], | ||
| "mappings": "", | ||
| "debugId": "C12335D2112B8E6564756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../schema/src/schema.ts"], | ||
| "sourcesContent": [ | ||
| "import { DateTime, Option, Schema, SchemaGetter } from \"effect\"\n\nexport const PositiveInt = Schema.Int.check(Schema.isGreaterThan(0))\nexport const NonNegativeInt = Schema.Int.check(Schema.isGreaterThanOrEqualTo(0))\n\nexport const RelativePath = Schema.String.pipe(Schema.brand(\"RelativePath\"))\nexport type RelativePath = typeof RelativePath.Type\n\nexport const AbsolutePath = Schema.String.pipe(Schema.brand(\"AbsolutePath\"))\nexport type AbsolutePath = typeof AbsolutePath.Type\n\nexport const optional = <S extends Schema.Top>(schema: S) =>\n Schema.optionalKey(schema).pipe(\n Schema.decodeTo(Schema.optional(Schema.toType(schema)), {\n decode: SchemaGetter.passthrough({ strict: false }),\n encode: SchemaGetter.transformOptional(Option.filter((value) => value !== undefined)),\n }),\n )\n\nexport const statics =\n <S extends object, M extends Record<string, unknown>>(methods: (schema: S) => M) =>\n (schema: S): S & M =>\n Object.assign(schema, methods(schema))\n\nexport const DateTimeUtcFromMillis = Schema.Finite.pipe(\n Schema.decodeTo(Schema.DateTimeUtc, {\n decode: SchemaGetter.transform((value) => DateTime.makeUnsafe(value)),\n encode: SchemaGetter.transform((value) => DateTime.toEpochMillis(value)),\n }),\n)\n" | ||
| ], | ||
| "mappings": ";4EAEO,IAAM,EAAc,EAAO,IAAI,MAAM,EAAO,cAAc,CAAC,CAAC,EACtD,EAAiB,EAAO,IAAI,MAAM,EAAO,uBAAuB,CAAC,CAAC,EAElE,EAAe,EAAO,OAAO,KAAK,EAAO,MAAM,cAAc,CAAC,EAG9D,EAAe,EAAO,OAAO,KAAK,EAAO,MAAM,cAAc,CAAC,EAG9D,EAAW,CAAuB,IAC7C,EAAO,YAAY,CAAM,EAAE,KACzB,EAAO,SAAS,EAAO,SAAS,EAAO,OAAO,CAAM,CAAC,EAAG,CACtD,OAAQ,EAAa,YAAY,CAAE,OAAQ,EAAM,CAAC,EAClD,OAAQ,EAAa,kBAAkB,EAAO,OAAO,CAAC,IAAU,IAAU,MAAS,CAAC,CACtF,CAAC,CACH,EAEW,EACX,CAAsD,IACtD,CAAC,IACC,OAAO,OAAO,EAAQ,EAAQ,CAAM,CAAC,EAE5B,EAAwB,EAAO,OAAO,KACjD,EAAO,SAAS,EAAO,YAAa,CAClC,OAAQ,EAAa,UAAU,CAAC,IAAU,EAAS,WAAW,CAAK,CAAC,EACpE,OAAQ,EAAa,UAAU,CAAC,IAAU,EAAS,cAAc,CAAK,CAAC,CACzE,CAAC,CACH", | ||
| "debugId": "2426872CEF4D0D2564756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260603160727_jittery_ezekiel_stane.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260603160727_jittery_ezekiel_stane\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`DROP INDEX IF EXISTS \\`session_input_session_pending_seq_idx\\`;`)\n yield* tx.run(\n `CREATE INDEX IF NOT EXISTS \\`event_aggregate_type_seq_idx\\` ON \\`event\\` (\\`aggregate_id\\`,\\`type\\`,\\`seq\\`);`,\n )\n yield* tx.run(\n `CREATE INDEX IF NOT EXISTS \\`session_input_session_pending_delivery_seq_idx\\` ON \\`session_input\\` (\\`session_id\\`,\\`promoted_seq\\`,\\`delivery\\`,\\`seq\\`);`,\n )\n yield* tx.run(\n `CREATE INDEX IF NOT EXISTS \\`session_message_session_time_created_id_idx\\` ON \\`session_message\\` (\\`session_id\\`,\\`time_created\\`,\\`id\\`);`,\n )\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,uCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,+DAAiE,EAC/E,MAAO,EAAG,IACR,qGACF,EACA,MAAO,EAAG,IACR,gJACF,EACA,MAAO,EAAG,IACR,mIACF,EACD,EAEL", | ||
| "debugId": "4C476D05D7B5035864756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260703181610_event_created_column.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260703181610_event_created_column\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`ALTER TABLE \\`event\\` ADD \\`created\\` integer NOT NULL;`)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,sCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,qDAAyD,EACxE,EAEL", | ||
| "debugId": "6F50820FA79E8F1664756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["src/commands/handlers/debug/agents.ts"], | ||
| "sourcesContent": [ | ||
| "import { EOL } from \"os\"\nimport { Effect } from \"effect\"\nimport { createOpencodeClient } from \"@opencode-ai/sdk/v2/client\"\nimport { Commands } from \"../../commands\"\nimport { Runtime } from \"../../../framework/runtime\"\nimport { Service } from \"@opencode-ai/client/effect\"\nimport { ServiceConfig } from \"../../../services/service-config\"\n\nexport default Runtime.handler(\n Commands.commands.debug.commands.agents,\n Effect.fn(\"cli.debug.agents\")(function* () {\n const options = yield* ServiceConfig.options()\n const found = yield* Service.discover(options)\n const endpoint = found ?? (yield* Service.start(options))\n const client = createOpencodeClient({ baseUrl: endpoint.url, headers: Service.headers(endpoint) })\n const response = yield* Effect.promise(() => client.v2.agent.list({ location: { directory: process.cwd() } }))\n process.stdout.write(\n JSON.stringify(\n response.data?.data.toSorted((a, b) => a.id.localeCompare(b.id)),\n null,\n 2,\n ) + EOL,\n )\n }),\n)\n" | ||
| ], | ||
| "mappings": ";krBAAA,mBAAS,gBAQT,SAAe,SAAQ,aACrB,OAAS,cAAS,WAAM,cAAS,YACjC,OAAO,QAAG,uBAAkB,OAAE,cAAU,OAAG,MACzC,IAAM,EAAU,MAAO,EAAc,QAAQ,EAEvC,GADQ,MAAO,EAAQ,SAAS,CAAO,KAClB,MAAO,EAAQ,MAAM,CAAO,GACjD,EAAS,EAAqB,CAAE,QAAS,EAAS,IAAK,QAAS,EAAQ,QAAQ,CAAQ,CAAE,CAAC,EAC3F,EAAW,MAAO,EAAO,QAAQ,IAAM,EAAO,GAAG,MAAM,KAAK,CAAE,SAAU,CAAE,UAAW,QAAQ,IAAI,CAAE,CAAE,CAAC,CAAC,EAC7G,QAAQ,OAAO,MACb,KAAK,UACH,EAAS,MAAM,KAAK,SAAS,CAAC,EAAG,IAAM,EAAE,GAAG,cAAc,EAAE,EAAE,CAAC,EAC/D,KACA,CACF,EAAI,CACN,EACD,CACH", | ||
| "debugId": "39D72068AB1D9C3F64756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/mime-types@3.0.2/node_modules/mime-types/mimeScore.js", "../core/src/fs-util.ts", "../../node_modules/.bun/mime-types@3.0.2/node_modules/mime-types/index.js", "../core/src/effect/service-use.ts"], | ||
| "sourcesContent": [ | ||
| "// 'mime-score' back-ported to CommonJS\n\n// Score RFC facets (see https://tools.ietf.org/html/rfc6838#section-3)\nvar FACET_SCORES = {\n 'prs.': 100,\n 'x-': 200,\n 'x.': 300,\n 'vnd.': 400,\n default: 900\n}\n\n// Score mime source (Logic originally from `jshttp/mime-types` module)\nvar SOURCE_SCORES = {\n nginx: 10,\n apache: 20,\n iana: 40,\n default: 30 // definitions added by `jshttp/mime-db` project?\n}\n\nvar TYPE_SCORES = {\n // prefer application/xml over text/xml\n // prefer application/rtf over text/rtf\n application: 1,\n\n // prefer font/woff over application/font-woff\n font: 2,\n\n // prefer video/mp4 over audio/mp4 over application/mp4\n // See https://www.rfc-editor.org/rfc/rfc4337.html#section-2\n audio: 2,\n video: 3,\n\n default: 0\n}\n\n/**\n * Get each component of the score for a mime type. The sum of these is the\n * total score. The higher the score, the more \"official\" the type.\n */\nmodule.exports = function mimeScore (mimeType, source = 'default') {\n if (mimeType === 'application/octet-stream') {\n return 0\n }\n\n const [type, subtype] = mimeType.split('/')\n\n const facet = subtype.replace(/(\\.|x-).*/, '$1')\n\n const facetScore = FACET_SCORES[facet] || FACET_SCORES.default\n const sourceScore = SOURCE_SCORES[source] || SOURCE_SCORES.default\n const typeScore = TYPE_SCORES[type] || TYPE_SCORES.default\n\n // All else being equal prefer shorter types\n const lengthScore = 1 - mimeType.length / 100\n\n return facetScore + sourceScore + typeScore + lengthScore\n}\n", | ||
| "import { NodeFileSystem } from \"@effect/platform-node\"\nimport path, { dirname, isAbsolute, join, relative, sep } from \"path\"\nimport { realpathSync } from \"fs\"\nimport { readdir } from \"fs/promises\"\nimport { lookup } from \"mime-types\"\nimport { Context, Effect, FileSystem, Layer, Schema } from \"effect\"\nimport type { PlatformError } from \"effect/PlatformError\"\nimport { Glob } from \"./util/glob\"\nimport { serviceUse } from \"./effect/service-use\"\nimport { makeGlobalNode } from \"./effect/app-node\"\nimport { filesystem } from \"./effect/app-node-platform\"\n\nexport namespace FSUtil {\n export class FileSystemError extends Schema.TaggedErrorClass<FileSystemError>()(\"FileSystemError\", {\n method: Schema.String,\n cause: Schema.optional(Schema.Defect()),\n }) {\n override get message() {\n const detail = this.cause instanceof Error ? this.cause.message : this.cause && String(this.cause)\n return `Filesystem operation failed: ${this.method}${detail ? `: ${detail}` : \"\"}`\n }\n }\n\n export type Error = PlatformError | FileSystemError\n\n export interface DirEntry {\n readonly name: string\n readonly type: \"file\" | \"directory\" | \"symlink\" | \"other\"\n }\n\n export interface Interface extends FileSystem.FileSystem {\n readonly isDir: (path: string) => Effect.Effect<boolean>\n readonly isFile: (path: string) => Effect.Effect<boolean>\n readonly existsSafe: (path: string) => Effect.Effect<boolean>\n readonly readFileStringSafe: (path: string) => Effect.Effect<string | undefined, Error>\n readonly readJson: (path: string) => Effect.Effect<unknown, Error>\n readonly writeJson: (path: string, data: unknown, mode?: number) => Effect.Effect<void, Error>\n readonly ensureDir: (path: string) => Effect.Effect<void, Error>\n readonly writeWithDirs: (path: string, content: string | Uint8Array, mode?: number) => Effect.Effect<void, Error>\n readonly readDirectoryEntries: (path: string) => Effect.Effect<DirEntry[], Error>\n readonly resolve: (path: string) => Effect.Effect<string>\n readonly findUp: (target: string, start: string, stop?: string) => Effect.Effect<string[], Error>\n readonly up: (options: { targets: string[]; start: string; stop?: string }) => Effect.Effect<string[], Error>\n readonly globUp: (pattern: string, start: string, stop?: string) => Effect.Effect<string[], Error>\n readonly glob: (pattern: string, options?: Glob.Options) => Effect.Effect<string[], Error>\n readonly globMatch: (pattern: string, filepath: string) => boolean\n }\n\n export class Service extends Context.Service<Service, Interface>()(\"@opencode/FileSystem\") {}\n\n export const use = serviceUse(Service)\n\n // Exported so simulation can wrap this layer and override the methods that\n // bypass the injected FileSystem (readDirectoryEntries, glob, globUp).\n export const layer = Layer.effect(\n Service,\n Effect.gen(function* () {\n const fs = yield* FileSystem.FileSystem\n\n const existsSafe = Effect.fn(\"FileSystem.existsSafe\")(function* (path: string) {\n return yield* fs.exists(path).pipe(Effect.orElseSucceed(() => false))\n })\n\n const readFileStringSafe = Effect.fn(\"FileSystem.readFileStringSafe\")(function* (path: string) {\n return yield* fs.readFileString(path).pipe(\n Effect.catchReason(\"PlatformError\", \"NotFound\", () => Effect.succeed(undefined)),\n Effect.catchReason(\"PlatformError\", \"PermissionDenied\", () => Effect.succeed(undefined)),\n )\n })\n\n const isDir = Effect.fn(\"FileSystem.isDir\")(function* (path: string) {\n const info = yield* fs.stat(path).pipe(Effect.catch(() => Effect.void))\n return info?.type === \"Directory\"\n })\n\n const isFile = Effect.fn(\"FileSystem.isFile\")(function* (path: string) {\n const info = yield* fs.stat(path).pipe(Effect.catch(() => Effect.void))\n return info?.type === \"File\"\n })\n\n const readDirectoryEntries = Effect.fn(\"FileSystem.readDirectoryEntries\")(function* (dirPath: string) {\n return yield* Effect.tryPromise({\n try: async () => {\n const entries = await readdir(dirPath, { withFileTypes: true })\n return entries.map(\n (e): DirEntry => ({\n name: e.name,\n type: e.isDirectory() ? \"directory\" : e.isSymbolicLink() ? \"symlink\" : e.isFile() ? \"file\" : \"other\",\n }),\n )\n },\n catch: (cause) => new FileSystemError({ method: \"readDirectoryEntries\", cause }),\n })\n })\n\n const resolve = Effect.fn(\"FileSystem.resolve\")(function* (input: string) {\n const resolved = path.resolve(windowsPath(input))\n return yield* fs.realPath(resolved).pipe(\n Effect.catchReason(\"PlatformError\", \"NotFound\", () => Effect.succeed(resolved)),\n Effect.orDie,\n )\n })\n\n const readJson = Effect.fn(\"FileSystem.readJson\")(function* (path: string) {\n const text = yield* fs.readFileString(path)\n return yield* Effect.try({\n try: () => JSON.parse(text),\n catch: (cause) => new FileSystemError({ method: \"readJson\", cause }),\n })\n })\n\n const writeJson = Effect.fn(\"FileSystem.writeJson\")(function* (path: string, data: unknown, mode?: number) {\n const content = JSON.stringify(data, null, 2)\n yield* fs.writeFileString(path, content)\n if (mode) yield* fs.chmod(path, mode)\n })\n\n const ensureDir = Effect.fn(\"FileSystem.ensureDir\")(function* (path: string) {\n yield* fs.makeDirectory(path, { recursive: true })\n })\n\n const writeWithDirs = Effect.fn(\"FileSystem.writeWithDirs\")(function* (\n path: string,\n content: string | Uint8Array,\n mode?: number,\n ) {\n const write = typeof content === \"string\" ? fs.writeFileString(path, content) : fs.writeFile(path, content)\n\n yield* write.pipe(\n Effect.catchIf(\n (e) => e.reason._tag === \"NotFound\",\n () =>\n Effect.gen(function* () {\n yield* fs.makeDirectory(dirname(path), { recursive: true })\n yield* write\n }),\n ),\n )\n if (mode) yield* fs.chmod(path, mode)\n })\n\n const glob = Effect.fn(\"FileSystem.glob\")(function* (pattern: string, options?: Glob.Options) {\n return yield* Effect.tryPromise({\n try: () => Glob.scan(pattern, options),\n catch: (cause) => new FileSystemError({ method: \"glob\", cause }),\n })\n })\n\n const findUp = Effect.fn(\"FileSystem.findUp\")(function* (target: string, start: string, stop?: string) {\n const result: string[] = []\n let current = start\n while (true) {\n const search = join(current, target)\n if (yield* fs.exists(search)) result.push(search)\n if (stop === current) break\n const parent = dirname(current)\n if (parent === current) break\n current = parent\n }\n return result\n })\n\n const up = Effect.fn(\"FileSystem.up\")(function* (options: { targets: string[]; start: string; stop?: string }) {\n const result: string[] = []\n let current = options.start\n while (true) {\n for (const target of options.targets) {\n const search = join(current, target)\n if (yield* fs.exists(search)) result.push(search)\n }\n if (options.stop === current) break\n const parent = dirname(current)\n if (parent === current) break\n current = parent\n }\n return result\n })\n\n const globUp = Effect.fn(\"FileSystem.globUp\")(function* (pattern: string, start: string, stop?: string) {\n const result: string[] = []\n let current = start\n while (true) {\n const matches = yield* glob(pattern, { cwd: current, absolute: true, include: \"file\", dot: true }).pipe(\n Effect.catch(() => Effect.succeed([] as string[])),\n )\n result.push(...matches)\n if (stop === current) break\n const parent = dirname(current)\n if (parent === current) break\n current = parent\n }\n return result\n })\n\n return Service.of({\n ...fs,\n existsSafe,\n readFileStringSafe,\n isDir,\n isFile,\n readDirectoryEntries,\n resolve,\n readJson,\n writeJson,\n ensureDir,\n writeWithDirs,\n findUp,\n up,\n globUp,\n glob,\n globMatch: Glob.match,\n })\n }),\n )\n\n export const node = makeGlobalNode({ service: Service, layer: layer, deps: [filesystem] })\n\n // Pure helpers that don't need Effect (path manipulation, sync operations)\n export function mimeType(p: string): string {\n return lookup(p) || \"application/octet-stream\"\n }\n\n export function normalizePath(p: string): string {\n if (process.platform !== \"win32\") return p\n const resolved = path.resolve(windowsPath(p))\n try {\n return realpathSync.native(resolved)\n } catch {\n return resolved\n }\n }\n\n export function normalizePathPattern(p: string): string {\n if (process.platform !== \"win32\") return p\n if (p === \"*\") return p\n const match = p.match(/^(.*)[\\\\/]\\*$/)\n if (!match) return normalizePath(p)\n const dir = /^[A-Za-z]:$/.test(match[1]) ? match[1] + \"\\\\\" : match[1]\n return join(normalizePath(dir), \"*\")\n }\n\n export function resolve(p: string): string {\n const resolved = path.resolve(windowsPath(p))\n try {\n return normalizePath(realpathSync(resolved))\n } catch (e: any) {\n if (e?.code === \"ENOENT\") return normalizePath(resolved)\n throw e\n }\n }\n\n export function windowsPath(p: string): string {\n if (process.platform !== \"win32\") return p\n return p\n .replace(/^\\/([a-zA-Z]):(?:[\\\\/]|$)/, (_, drive) => `${drive.toUpperCase()}:/`)\n .replace(/^\\/([a-zA-Z])(?:\\/|$)/, (_, drive) => `${drive.toUpperCase()}:/`)\n .replace(/^\\/cygdrive\\/([a-zA-Z])(?:\\/|$)/, (_, drive) => `${drive.toUpperCase()}:/`)\n .replace(/^\\/mnt\\/([a-zA-Z])(?:\\/|$)/, (_, drive) => `${drive.toUpperCase()}:/`)\n }\n\n export function overlaps(a: string, b: string) {\n return contains(a, b) || contains(b, a)\n }\n\n export function contains(parent: string, child: string) {\n const result = relative(parent, child)\n return result === \"\" || (!isAbsolute(result) && result !== \"..\" && !result.startsWith(`..${sep}`))\n }\n}\n", | ||
| "/*!\n * mime-types\n * Copyright(c) 2014 Jonathan Ong\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n'use strict'\n\n/**\n * Module dependencies.\n * @private\n */\n\nvar db = require('mime-db')\nvar extname = require('path').extname\nvar mimeScore = require('./mimeScore')\n\n/**\n * Module variables.\n * @private\n */\n\nvar EXTRACT_TYPE_REGEXP = /^\\s*([^;\\s]*)(?:;|\\s|$)/\nvar TEXT_TYPE_REGEXP = /^text\\//i\n\n/**\n * Module exports.\n * @public\n */\n\nexports.charset = charset\nexports.charsets = { lookup: charset }\nexports.contentType = contentType\nexports.extension = extension\nexports.extensions = Object.create(null)\nexports.lookup = lookup\nexports.types = Object.create(null)\nexports._extensionConflicts = []\n\n// Populate the extensions/types maps\npopulateMaps(exports.extensions, exports.types)\n\n/**\n * Get the default charset for a MIME type.\n *\n * @param {string} type\n * @return {false|string}\n */\n\nfunction charset (type) {\n if (!type || typeof type !== 'string') {\n return false\n }\n\n // TODO: use media-typer\n var match = EXTRACT_TYPE_REGEXP.exec(type)\n var mime = match && db[match[1].toLowerCase()]\n\n if (mime && mime.charset) {\n return mime.charset\n }\n\n // default text/* to utf-8\n if (match && TEXT_TYPE_REGEXP.test(match[1])) {\n return 'UTF-8'\n }\n\n return false\n}\n\n/**\n * Create a full Content-Type header given a MIME type or extension.\n *\n * @param {string} str\n * @return {false|string}\n */\n\nfunction contentType (str) {\n // TODO: should this even be in this module?\n if (!str || typeof str !== 'string') {\n return false\n }\n\n var mime = str.indexOf('/') === -1 ? exports.lookup(str) : str\n\n if (!mime) {\n return false\n }\n\n // TODO: use content-type or other module\n if (mime.indexOf('charset') === -1) {\n var charset = exports.charset(mime)\n if (charset) mime += '; charset=' + charset.toLowerCase()\n }\n\n return mime\n}\n\n/**\n * Get the default extension for a MIME type.\n *\n * @param {string} type\n * @return {false|string}\n */\n\nfunction extension (type) {\n if (!type || typeof type !== 'string') {\n return false\n }\n\n // TODO: use media-typer\n var match = EXTRACT_TYPE_REGEXP.exec(type)\n\n // get extensions\n var exts = match && exports.extensions[match[1].toLowerCase()]\n\n if (!exts || !exts.length) {\n return false\n }\n\n return exts[0]\n}\n\n/**\n * Lookup the MIME type for a file path/extension.\n *\n * @param {string} path\n * @return {false|string}\n */\n\nfunction lookup (path) {\n if (!path || typeof path !== 'string') {\n return false\n }\n\n // get the extension (\"ext\" or \".ext\" or full path)\n var extension = extname('x.' + path)\n .toLowerCase()\n .slice(1)\n\n if (!extension) {\n return false\n }\n\n return exports.types[extension] || false\n}\n\n/**\n * Populate the extensions and types maps.\n * @private\n */\n\nfunction populateMaps (extensions, types) {\n Object.keys(db).forEach(function forEachMimeType (type) {\n var mime = db[type]\n var exts = mime.extensions\n\n if (!exts || !exts.length) {\n return\n }\n\n // mime -> extensions\n extensions[type] = exts\n\n // extension -> mime\n for (var i = 0; i < exts.length; i++) {\n var extension = exts[i]\n types[extension] = _preferredType(extension, types[extension], type)\n\n // DELETE (eventually): Capture extension->type maps that change as a\n // result of switching to mime-score. This is just to help make reviewing\n // PR #119 easier, and can be removed once that PR is approved.\n const legacyType = _preferredTypeLegacy(\n extension,\n types[extension],\n type\n )\n if (legacyType !== types[extension]) {\n exports._extensionConflicts.push([extension, legacyType, types[extension]])\n }\n }\n })\n}\n\n// Resolve type conflict using mime-score\nfunction _preferredType (ext, type0, type1) {\n var score0 = type0 ? mimeScore(type0, db[type0].source) : 0\n var score1 = type1 ? mimeScore(type1, db[type1].source) : 0\n\n return score0 > score1 ? type0 : type1\n}\n\n// Resolve type conflict using pre-mime-score logic\nfunction _preferredTypeLegacy (ext, type0, type1) {\n var SOURCE_RANK = ['nginx', 'apache', undefined, 'iana']\n\n var score0 = type0 ? SOURCE_RANK.indexOf(db[type0].source) : 0\n var score1 = type1 ? SOURCE_RANK.indexOf(db[type1].source) : 0\n\n if (\n exports.types[extension] !== 'application/octet-stream' &&\n (score0 > score1 ||\n (score0 === score1 &&\n exports.types[extension]?.slice(0, 12) === 'application/'))\n ) {\n return type0\n }\n\n return score0 > score1 ? type0 : type1\n}\n", | ||
| "import { Context, Effect } from \"effect\"\n\ntype EffectMethod = (...args: ReadonlyArray<never>) => Effect.Effect<unknown, unknown, unknown>\n\ntype ServiceUse<Identifier, Shape> = {\n readonly [Key in keyof Shape as Shape[Key] extends EffectMethod ? Key : never]: Shape[Key] extends (\n ...args: infer Args\n ) => infer Return\n ? Args extends ReadonlyArray<unknown>\n ? Return extends Effect.Effect<infer A, infer E, infer R>\n ? (...args: Args) => Effect.Effect<A, E, R | Identifier>\n : never\n : never\n : never\n}\n\nexport const serviceUse = <Identifier, Shape>(tag: Context.Service<Identifier, Shape>) => {\n const cache = new Map<string, (...args: unknown[]) => Effect.Effect<unknown, unknown, unknown>>()\n // This is the only dynamic boundary: TypeScript knows the accessor shape,\n // but Proxy property names are runtime values.\n const access = new Proxy(\n {},\n {\n get: (_, key) => {\n if (typeof key !== \"string\") return undefined\n const cached = cache.get(key)\n if (cached) return cached\n const accessor = (...args: unknown[]) =>\n tag.use((service) => {\n // oxlint-disable-next-line typescript-eslint/no-unsafe-type-assertion -- Proxy keys are checked at runtime.\n const method = service[key as keyof Shape]\n if (typeof method !== \"function\") return Effect.die(new Error(`Service method not found: ${key}`))\n // oxlint-disable-next-line typescript-eslint/no-unsafe-type-assertion -- ServiceUse exposes only Effect-returning methods.\n return (method as (...args: unknown[]) => Effect.Effect<unknown, unknown, unknown>)(...args)\n })\n cache.set(key, accessor)\n return accessor\n },\n },\n )\n // oxlint-disable-next-line typescript-eslint/no-unsafe-type-assertion -- Proxy implements the mapped accessor surface lazily.\n return access as ServiceUse<Identifier, Shape>\n}\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "B55A22DD27E7751364756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@ai-sdk+vercel@2.0.39+d6123d32214422cb/node_modules/@ai-sdk/vercel/dist/index.mjs"], | ||
| "sourcesContent": [ | ||
| "// src/vercel-provider.ts\nimport {\n NoSuchModelError\n} from \"@ai-sdk/provider\";\nimport { OpenAICompatibleChatLanguageModel } from \"@ai-sdk/openai-compatible\";\nimport {\n loadApiKey,\n withoutTrailingSlash,\n withUserAgentSuffix\n} from \"@ai-sdk/provider-utils\";\n\n// src/version.ts\nvar VERSION = true ? \"2.0.39\" : \"0.0.0-test\";\n\n// src/vercel-provider.ts\nfunction createVercel(options = {}) {\n var _a;\n const baseURL = withoutTrailingSlash(\n (_a = options.baseURL) != null ? _a : \"https://api.v0.dev/v1\"\n );\n const getHeaders = () => withUserAgentSuffix(\n {\n Authorization: `Bearer ${loadApiKey({\n apiKey: options.apiKey,\n environmentVariableName: \"VERCEL_API_KEY\",\n description: \"Vercel\"\n })}`,\n ...options.headers\n },\n `ai-sdk/vercel/${VERSION}`\n );\n const getCommonModelConfig = (modelType) => ({\n provider: `vercel.${modelType}`,\n url: ({ path }) => `${baseURL}${path}`,\n headers: getHeaders,\n fetch: options.fetch\n });\n const createChatModel = (modelId) => {\n return new OpenAICompatibleChatLanguageModel(modelId, {\n ...getCommonModelConfig(\"chat\")\n });\n };\n const provider = (modelId) => createChatModel(modelId);\n provider.specificationVersion = \"v3\";\n provider.languageModel = createChatModel;\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 vercel = createVercel();\nexport {\n VERSION,\n createVercel,\n vercel\n};\n//# sourceMappingURL=index.mjs.map" | ||
| ], | ||
| "mappings": ";wQAYA,SAAI,OAAiB,cAGrB,cAAS,MAAY,CAAC,EAAU,CAAC,EAAG,CAClC,IAAI,EACJ,IAAM,EAAU,GACb,EAAK,EAAQ,UAAY,KAAO,EAAK,uBACxC,EACM,EAAa,IAAM,EACvB,CACE,cAAe,UAAU,EAAW,CAClC,OAAQ,EAAQ,OAChB,wBAAyB,iBACzB,YAAa,QACf,CAAC,OACE,EAAQ,OACb,EACA,iBAAiB,GACnB,EACM,EAAuB,CAAC,KAAe,CAC3C,SAAU,UAAU,IACpB,IAAK,EAAG,UAAW,GAAG,IAAU,IAChC,QAAS,EACT,MAAO,EAAQ,KACjB,GACM,EAAkB,CAAC,IAAY,CACnC,OAAO,IAAI,EAAkC,EAAS,IACjD,EAAqB,MAAM,CAChC,CAAC,GAEG,EAAW,CAAC,IAAY,EAAgB,CAAO,EAUrD,OATA,EAAS,qBAAuB,KAChC,EAAS,cAAgB,EACzB,EAAS,eAAiB,CAAC,IAAY,CACrC,MAAM,IAAI,EAAiB,CAAE,UAAS,UAAW,gBAAiB,CAAC,GAErE,EAAS,mBAAqB,EAAS,eACvC,EAAS,WAAa,CAAC,IAAY,CACjC,MAAM,IAAI,EAAiB,CAAE,UAAS,UAAW,YAAa,CAAC,GAE1D,EAET,IAAI,EAAS,EAAa", | ||
| "debugId": "D34EE5D55BCB225764756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260601202201_amazing_prowler.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260601202201_amazing_prowler\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`DROP TABLE \\`permission\\`;`)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,iCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,0BAA4B,EAC3C,EAEL", | ||
| "debugId": "CA01FF850E7E3E2664756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@ai-sdk+mistral@3.0.27+d6123d32214422cb/node_modules/@ai-sdk/mistral/dist/index.mjs"], | ||
| "sourcesContent": [ | ||
| "// src/mistral-provider.ts\nimport {\n NoSuchModelError\n} from \"@ai-sdk/provider\";\nimport {\n loadApiKey,\n withoutTrailingSlash,\n withUserAgentSuffix\n} from \"@ai-sdk/provider-utils\";\n\n// src/mistral-chat-language-model.ts\nimport {\n combineHeaders,\n createEventSourceResponseHandler,\n createJsonResponseHandler,\n generateId,\n injectJsonInstructionIntoMessages,\n parseProviderOptions,\n postJsonToApi\n} from \"@ai-sdk/provider-utils\";\nimport { z as z3 } from \"zod/v4\";\n\n// src/convert-mistral-usage.ts\nfunction convertMistralUsage(usage) {\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 = usage.prompt_tokens;\n const completionTokens = usage.completion_tokens;\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,\n reasoning: void 0\n },\n raw: usage\n };\n}\n\n// src/convert-to-mistral-chat-messages.ts\nimport {\n UnsupportedFunctionalityError\n} from \"@ai-sdk/provider\";\nimport { convertToBase64 } from \"@ai-sdk/provider-utils\";\nfunction formatFileUrl({\n data,\n mediaType\n}) {\n return data instanceof URL ? data.toString() : `data:${mediaType};base64,${convertToBase64(data)}`;\n}\nfunction convertToMistralChatMessages(prompt) {\n var _a;\n const messages = [];\n for (let i = 0; i < prompt.length; i++) {\n const { role, content } = prompt[i];\n const isLastMessage = i === prompt.length - 1;\n switch (role) {\n case \"system\": {\n messages.push({ role: \"system\", content });\n break;\n }\n case \"user\": {\n messages.push({\n role: \"user\",\n content: content.map((part) => {\n switch (part.type) {\n case \"text\": {\n return { type: \"text\", text: part.text };\n }\n case \"file\": {\n if (part.mediaType.startsWith(\"image/\")) {\n const mediaType = part.mediaType === \"image/*\" ? \"image/jpeg\" : part.mediaType;\n return {\n type: \"image_url\",\n image_url: formatFileUrl({ data: part.data, mediaType })\n };\n } else if (part.mediaType === \"application/pdf\") {\n return {\n type: \"document_url\",\n document_url: formatFileUrl({\n data: part.data,\n mediaType: \"application/pdf\"\n })\n };\n } else {\n throw new UnsupportedFunctionalityError({\n functionality: \"Only images and PDF file parts are supported\"\n });\n }\n }\n }\n })\n });\n break;\n }\n case \"assistant\": {\n let text = \"\";\n const toolCalls = [];\n for (const part of content) {\n switch (part.type) {\n case \"text\": {\n text += part.text;\n break;\n }\n case \"tool-call\": {\n toolCalls.push({\n id: part.toolCallId,\n type: \"function\",\n function: {\n name: part.toolName,\n arguments: JSON.stringify(part.input)\n }\n });\n break;\n }\n case \"reasoning\": {\n text += part.text;\n break;\n }\n default: {\n throw new Error(\n `Unsupported content type in assistant message: ${part.type}`\n );\n }\n }\n }\n messages.push({\n role: \"assistant\",\n content: text,\n prefix: isLastMessage ? true : void 0,\n tool_calls: toolCalls.length > 0 ? toolCalls : void 0\n });\n break;\n }\n case \"tool\": {\n for (const toolResponse of content) {\n if (toolResponse.type === \"tool-approval-response\") {\n continue;\n }\n const output = toolResponse.output;\n let contentValue;\n switch (output.type) {\n case \"text\":\n case \"error-text\":\n contentValue = output.value;\n break;\n case \"execution-denied\":\n contentValue = (_a = output.reason) != null ? _a : \"Tool execution denied.\";\n break;\n case \"content\":\n case \"json\":\n case \"error-json\":\n contentValue = JSON.stringify(output.value);\n break;\n }\n messages.push({\n role: \"tool\",\n name: toolResponse.toolName,\n tool_call_id: toolResponse.toolCallId,\n content: contentValue\n });\n }\n break;\n }\n default: {\n const _exhaustiveCheck = role;\n throw new Error(`Unsupported role: ${_exhaustiveCheck}`);\n }\n }\n }\n return messages;\n}\n\n// src/get-response-metadata.ts\nfunction getResponseMetadata({\n id,\n model,\n created\n}) {\n return {\n id: id != null ? id : void 0,\n modelId: model != null ? model : void 0,\n timestamp: created != null ? new Date(created * 1e3) : void 0\n };\n}\n\n// src/map-mistral-finish-reason.ts\nfunction mapMistralFinishReason(finishReason) {\n switch (finishReason) {\n case \"stop\":\n return \"stop\";\n case \"length\":\n case \"model_length\":\n return \"length\";\n case \"tool_calls\":\n return \"tool-calls\";\n default:\n return \"other\";\n }\n}\n\n// src/mistral-chat-options.ts\nimport { z } from \"zod/v4\";\nvar mistralLanguageModelOptions = z.object({\n /**\n * Whether to inject a safety prompt before all conversations.\n *\n * Defaults to `false`.\n */\n safePrompt: z.boolean().optional(),\n documentImageLimit: z.number().optional(),\n documentPageLimit: z.number().optional(),\n /**\n * Whether to use structured outputs.\n *\n * @default true\n */\n structuredOutputs: z.boolean().optional(),\n /**\n * Whether to use strict JSON schema validation.\n *\n * @default false\n */\n strictJsonSchema: z.boolean().optional(),\n /**\n * Whether to enable parallel function calling during tool use.\n * When set to false, the model will use at most one tool per response.\n *\n * @default true\n */\n parallelToolCalls: z.boolean().optional(),\n /**\n * Controls the reasoning effort for models that support adjustable reasoning.\n *\n * - `'high'`: Enable reasoning\n * - `'none'`: Disable reasoning\n */\n reasoningEffort: z.enum([\"high\", \"none\"]).optional()\n});\n\n// src/mistral-error.ts\nimport { createJsonErrorResponseHandler } from \"@ai-sdk/provider-utils\";\nimport { z as z2 } from \"zod/v4\";\nvar mistralErrorDataSchema = z2.object({\n object: z2.literal(\"error\"),\n message: z2.string(),\n type: z2.string(),\n param: z2.string().nullable(),\n code: z2.string().nullable()\n});\nvar mistralFailedResponseHandler = createJsonErrorResponseHandler({\n errorSchema: mistralErrorDataSchema,\n errorToMessage: (data) => data.message\n});\n\n// src/mistral-prepare-tools.ts\nimport {\n UnsupportedFunctionalityError as UnsupportedFunctionalityError2\n} from \"@ai-sdk/provider\";\nfunction prepareTools({\n tools,\n toolChoice\n}) {\n tools = (tools == null ? void 0 : tools.length) ? tools : void 0;\n const toolWarnings = [];\n if (tools == null) {\n return { tools: void 0, toolChoice: void 0, toolWarnings };\n }\n const mistralTools = [];\n for (const tool of tools) {\n if (tool.type === \"provider\") {\n toolWarnings.push({\n type: \"unsupported\",\n feature: `provider-defined tool ${tool.id}`\n });\n } else {\n mistralTools.push({\n type: \"function\",\n function: {\n name: tool.name,\n description: tool.description,\n parameters: tool.inputSchema,\n ...tool.strict != null ? { strict: tool.strict } : {}\n }\n });\n }\n }\n if (toolChoice == null) {\n return { tools: mistralTools, toolChoice: void 0, toolWarnings };\n }\n const type = toolChoice.type;\n switch (type) {\n case \"auto\":\n case \"none\":\n return { tools: mistralTools, toolChoice: type, toolWarnings };\n case \"required\":\n return { tools: mistralTools, toolChoice: \"any\", toolWarnings };\n // mistral does not support tool mode directly,\n // so we filter the tools and force the tool choice through 'any'\n case \"tool\":\n return {\n tools: mistralTools.filter(\n (tool) => tool.function.name === toolChoice.toolName\n ),\n toolChoice: \"any\",\n toolWarnings\n };\n default: {\n const _exhaustiveCheck = type;\n throw new UnsupportedFunctionalityError2({\n functionality: `tool choice type: ${_exhaustiveCheck}`\n });\n }\n }\n}\n\n// src/mistral-chat-language-model.ts\nvar MistralChatLanguageModel = class {\n constructor(modelId, config) {\n this.specificationVersion = \"v3\";\n this.supportedUrls = {\n \"application/pdf\": [/^https:\\/\\/.*$/]\n };\n var _a;\n this.modelId = modelId;\n this.config = config;\n this.generateId = (_a = config.generateId) != null ? _a : generateId;\n }\n get provider() {\n return this.config.provider;\n }\n async getArgs({\n prompt,\n maxOutputTokens,\n temperature,\n topP,\n topK,\n frequencyPenalty,\n presencePenalty,\n stopSequences,\n responseFormat,\n seed,\n providerOptions,\n tools,\n toolChoice\n }) {\n var _a, _b, _c, _d;\n const warnings = [];\n const options = (_a = await parseProviderOptions({\n provider: \"mistral\",\n providerOptions,\n schema: mistralLanguageModelOptions\n })) != null ? _a : {};\n if (topK != null) {\n warnings.push({ type: \"unsupported\", feature: \"topK\" });\n }\n if (frequencyPenalty != null) {\n warnings.push({ type: \"unsupported\", feature: \"frequencyPenalty\" });\n }\n if (presencePenalty != null) {\n warnings.push({ type: \"unsupported\", feature: \"presencePenalty\" });\n }\n if (stopSequences != null) {\n warnings.push({ type: \"unsupported\", feature: \"stopSequences\" });\n }\n const structuredOutputs = (_b = options.structuredOutputs) != null ? _b : true;\n const strictJsonSchema = (_c = options.strictJsonSchema) != null ? _c : false;\n if ((responseFormat == null ? void 0 : responseFormat.type) === \"json\" && !(responseFormat == null ? void 0 : responseFormat.schema)) {\n prompt = injectJsonInstructionIntoMessages({\n messages: prompt,\n schema: responseFormat.schema\n });\n }\n const baseArgs = {\n // model id:\n model: this.modelId,\n // model specific settings:\n safe_prompt: options.safePrompt,\n // standardized settings:\n max_tokens: maxOutputTokens,\n temperature,\n top_p: topP,\n random_seed: seed,\n reasoning_effort: options.reasoningEffort,\n // response format:\n response_format: (responseFormat == null ? void 0 : responseFormat.type) === \"json\" ? structuredOutputs && (responseFormat == null ? void 0 : responseFormat.schema) != null ? {\n type: \"json_schema\",\n json_schema: {\n schema: responseFormat.schema,\n strict: strictJsonSchema,\n name: (_d = responseFormat.name) != null ? _d : \"response\",\n description: responseFormat.description\n }\n } : { type: \"json_object\" } : void 0,\n // mistral-specific provider options:\n document_image_limit: options.documentImageLimit,\n document_page_limit: options.documentPageLimit,\n // messages:\n messages: convertToMistralChatMessages(prompt)\n };\n const {\n tools: mistralTools,\n toolChoice: mistralToolChoice,\n toolWarnings\n } = prepareTools({\n tools,\n toolChoice\n });\n return {\n args: {\n ...baseArgs,\n tools: mistralTools,\n tool_choice: mistralToolChoice,\n ...mistralTools != null && options.parallelToolCalls !== void 0 ? { parallel_tool_calls: options.parallelToolCalls } : {}\n },\n warnings: [...warnings, ...toolWarnings]\n };\n }\n async doGenerate(options) {\n var _a;\n const { args: body, warnings } = await 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: mistralFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler(\n mistralChatResponseSchema\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch\n });\n const choice = response.choices[0];\n const content = [];\n if (choice.message.content != null && Array.isArray(choice.message.content)) {\n for (const part of choice.message.content) {\n if (part.type === \"thinking\") {\n const reasoningText = extractReasoningContent(part.thinking);\n if (reasoningText.length > 0) {\n content.push({ type: \"reasoning\", text: reasoningText });\n }\n } else if (part.type === \"text\") {\n if (part.text.length > 0) {\n content.push({ type: \"text\", text: part.text });\n }\n }\n }\n } else {\n const text = extractTextContent(choice.message.content);\n if (text != null && text.length > 0) {\n content.push({ type: \"text\", text });\n }\n }\n if (choice.message.tool_calls != null) {\n for (const toolCall of choice.message.tool_calls) {\n content.push({\n type: \"tool-call\",\n toolCallId: toolCall.id,\n toolName: toolCall.function.name,\n input: toolCall.function.arguments\n });\n }\n }\n return {\n content,\n finishReason: {\n unified: mapMistralFinishReason(choice.finish_reason),\n raw: (_a = choice.finish_reason) != null ? _a : void 0\n },\n usage: convertMistralUsage(response.usage),\n request: { body },\n response: {\n ...getResponseMetadata(response),\n headers: responseHeaders,\n body: rawResponse\n },\n warnings\n };\n }\n async doStream(options) {\n const { args, warnings } = await 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: mistralFailedResponseHandler,\n successfulResponseHandler: createEventSourceResponseHandler(\n mistralChatChunkSchema\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 let isFirstChunk = true;\n let activeText = false;\n let activeReasoningId = null;\n const generateId2 = this.generateId;\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 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 isFirstChunk = false;\n controller.enqueue({\n type: \"response-metadata\",\n ...getResponseMetadata(value)\n });\n }\n if (value.usage != null) {\n usage = value.usage;\n }\n const choice = value.choices[0];\n const delta = choice.delta;\n const textContent = extractTextContent(delta.content);\n if (delta.content != null && Array.isArray(delta.content)) {\n for (const part of delta.content) {\n if (part.type === \"thinking\") {\n const reasoningDelta = extractReasoningContent(part.thinking);\n if (reasoningDelta.length > 0) {\n if (activeReasoningId == null) {\n if (activeText) {\n controller.enqueue({ type: \"text-end\", id: \"0\" });\n activeText = false;\n }\n activeReasoningId = generateId2();\n controller.enqueue({\n type: \"reasoning-start\",\n id: activeReasoningId\n });\n }\n controller.enqueue({\n type: \"reasoning-delta\",\n id: activeReasoningId,\n delta: reasoningDelta\n });\n }\n }\n }\n }\n if (textContent != null && textContent.length > 0) {\n if (!activeText) {\n if (activeReasoningId != null) {\n controller.enqueue({\n type: \"reasoning-end\",\n id: activeReasoningId\n });\n activeReasoningId = null;\n }\n controller.enqueue({ type: \"text-start\", id: \"0\" });\n activeText = true;\n }\n controller.enqueue({\n type: \"text-delta\",\n id: \"0\",\n delta: textContent\n });\n }\n if ((delta == null ? void 0 : delta.tool_calls) != null) {\n for (const toolCall of delta.tool_calls) {\n const toolCallId = toolCall.id;\n const toolName = toolCall.function.name;\n const input = toolCall.function.arguments;\n controller.enqueue({\n type: \"tool-input-start\",\n id: toolCallId,\n toolName\n });\n controller.enqueue({\n type: \"tool-input-delta\",\n id: toolCallId,\n delta: input\n });\n controller.enqueue({\n type: \"tool-input-end\",\n id: toolCallId\n });\n controller.enqueue({\n type: \"tool-call\",\n toolCallId,\n toolName,\n input\n });\n }\n }\n if (choice.finish_reason != null) {\n finishReason = {\n unified: mapMistralFinishReason(choice.finish_reason),\n raw: choice.finish_reason\n };\n }\n },\n flush(controller) {\n if (activeReasoningId != null) {\n controller.enqueue({\n type: \"reasoning-end\",\n id: activeReasoningId\n });\n }\n if (activeText) {\n controller.enqueue({ type: \"text-end\", id: \"0\" });\n }\n controller.enqueue({\n type: \"finish\",\n finishReason,\n usage: convertMistralUsage(usage)\n });\n }\n })\n ),\n request: { body },\n response: { headers: responseHeaders }\n };\n }\n};\nfunction extractReasoningContent(thinking) {\n return thinking.filter((chunk) => chunk.type === \"text\").map((chunk) => chunk.text).join(\"\");\n}\nfunction extractTextContent(content) {\n if (typeof content === \"string\") {\n return content;\n }\n if (content == null) {\n return void 0;\n }\n const textContent = [];\n for (const chunk of content) {\n const { type } = chunk;\n switch (type) {\n case \"text\":\n textContent.push(chunk.text);\n break;\n case \"thinking\":\n case \"image_url\":\n case \"reference\":\n break;\n default: {\n const _exhaustiveCheck = type;\n throw new Error(`Unsupported type: ${_exhaustiveCheck}`);\n }\n }\n }\n return textContent.length ? textContent.join(\"\") : void 0;\n}\nvar mistralContentSchema = z3.union([\n z3.string(),\n z3.array(\n z3.discriminatedUnion(\"type\", [\n z3.object({\n type: z3.literal(\"text\"),\n text: z3.string()\n }),\n z3.object({\n type: z3.literal(\"image_url\"),\n image_url: z3.union([\n z3.string(),\n z3.object({\n url: z3.string(),\n detail: z3.string().nullable()\n })\n ])\n }),\n z3.object({\n type: z3.literal(\"reference\"),\n reference_ids: z3.array(z3.union([z3.string(), z3.number()]))\n }),\n z3.object({\n type: z3.literal(\"thinking\"),\n thinking: z3.array(\n z3.object({\n type: z3.literal(\"text\"),\n text: z3.string()\n })\n )\n })\n ])\n )\n]).nullish();\nvar mistralUsageSchema = z3.object({\n prompt_tokens: z3.number(),\n completion_tokens: z3.number(),\n total_tokens: z3.number()\n});\nvar mistralChatResponseSchema = z3.object({\n id: z3.string().nullish(),\n created: z3.number().nullish(),\n model: z3.string().nullish(),\n choices: z3.array(\n z3.object({\n message: z3.object({\n role: z3.literal(\"assistant\"),\n content: mistralContentSchema,\n tool_calls: z3.array(\n z3.object({\n id: z3.string(),\n function: z3.object({ name: z3.string(), arguments: z3.string() })\n })\n ).nullish()\n }),\n index: z3.number(),\n finish_reason: z3.string().nullish()\n })\n ),\n object: z3.literal(\"chat.completion\"),\n usage: mistralUsageSchema\n});\nvar mistralChatChunkSchema = z3.object({\n id: z3.string().nullish(),\n created: z3.number().nullish(),\n model: z3.string().nullish(),\n choices: z3.array(\n z3.object({\n delta: z3.object({\n role: z3.enum([\"assistant\"]).optional(),\n content: mistralContentSchema,\n tool_calls: z3.array(\n z3.object({\n id: z3.string(),\n function: z3.object({ name: z3.string(), arguments: z3.string() })\n })\n ).nullish()\n }),\n finish_reason: z3.string().nullish(),\n index: z3.number()\n })\n ),\n usage: mistralUsageSchema.nullish()\n});\n\n// src/mistral-embedding-model.ts\nimport {\n TooManyEmbeddingValuesForCallError\n} from \"@ai-sdk/provider\";\nimport {\n combineHeaders as combineHeaders2,\n createJsonResponseHandler as createJsonResponseHandler2,\n postJsonToApi as postJsonToApi2\n} from \"@ai-sdk/provider-utils\";\nimport { z as z4 } from \"zod/v4\";\nvar MistralEmbeddingModel = class {\n constructor(modelId, config) {\n this.specificationVersion = \"v3\";\n this.maxEmbeddingsPerCall = 32;\n this.supportsParallelCalls = false;\n this.modelId = modelId;\n this.config = config;\n }\n get provider() {\n return this.config.provider;\n }\n async doEmbed({\n values,\n abortSignal,\n headers\n }) {\n if (values.length > this.maxEmbeddingsPerCall) {\n throw new TooManyEmbeddingValuesForCallError({\n provider: this.provider,\n modelId: this.modelId,\n maxEmbeddingsPerCall: this.maxEmbeddingsPerCall,\n values\n });\n }\n const {\n responseHeaders,\n value: response,\n rawValue\n } = await postJsonToApi2({\n url: `${this.config.baseURL}/embeddings`,\n headers: combineHeaders2(this.config.headers(), headers),\n body: {\n model: this.modelId,\n input: values,\n encoding_format: \"float\"\n },\n failedResponseHandler: mistralFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler2(\n MistralTextEmbeddingResponseSchema\n ),\n abortSignal,\n fetch: this.config.fetch\n });\n return {\n warnings: [],\n embeddings: response.data.map((item) => item.embedding),\n usage: response.usage ? { tokens: response.usage.prompt_tokens } : void 0,\n response: { headers: responseHeaders, body: rawValue }\n };\n }\n};\nvar MistralTextEmbeddingResponseSchema = z4.object({\n data: z4.array(z4.object({ embedding: z4.array(z4.number()) })),\n usage: z4.object({ prompt_tokens: z4.number() }).nullish()\n});\n\n// src/version.ts\nvar VERSION = true ? \"3.0.27\" : \"0.0.0-test\";\n\n// src/mistral-provider.ts\nfunction createMistral(options = {}) {\n var _a;\n const baseURL = (_a = withoutTrailingSlash(options.baseURL)) != null ? _a : \"https://api.mistral.ai/v1\";\n const getHeaders = () => withUserAgentSuffix(\n {\n Authorization: `Bearer ${loadApiKey({\n apiKey: options.apiKey,\n environmentVariableName: \"MISTRAL_API_KEY\",\n description: \"Mistral\"\n })}`,\n ...options.headers\n },\n `ai-sdk/mistral/${VERSION}`\n );\n const createChatModel = (modelId) => new MistralChatLanguageModel(modelId, {\n provider: \"mistral.chat\",\n baseURL,\n headers: getHeaders,\n fetch: options.fetch,\n generateId: options.generateId\n });\n const createEmbeddingModel = (modelId) => new MistralEmbeddingModel(modelId, {\n provider: \"mistral.embedding\",\n baseURL,\n headers: getHeaders,\n fetch: options.fetch\n });\n const provider = function(modelId) {\n if (new.target) {\n throw new Error(\n \"The Mistral model function cannot be called with the new keyword.\"\n );\n }\n return createChatModel(modelId);\n };\n provider.specificationVersion = \"v3\";\n provider.languageModel = createChatModel;\n provider.chat = createChatModel;\n provider.embedding = createEmbeddingModel;\n provider.embeddingModel = createEmbeddingModel;\n provider.textEmbedding = createEmbeddingModel;\n provider.textEmbeddingModel = createEmbeddingModel;\n provider.imageModel = (modelId) => {\n throw new NoSuchModelError({ modelId, modelType: \"imageModel\" });\n };\n return provider;\n}\nvar mistral = createMistral();\nexport {\n VERSION,\n createMistral,\n mistral\n};\n//# sourceMappingURL=index.mjs.map" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "84353188E9866A1964756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["src/mini/runtime.queue.ts"], | ||
| "sourcesContent": [ | ||
| "// Serial prompt queue for direct interactive mode.\n//\n// Prompts arrive from the footer (user types and hits enter) and queue up\n// here. The queue drains one turn at a time; ordinary prompts waiting behind\n// an active ordinary turn are exposed for edit/removal until they begin.\n//\n// The queue also handles /exit, /quit, and /new commands, empty-prompt rejection,\n// and tracks per-turn wall-clock duration for the footer status line.\n//\n// Resolves when the footer closes and all in-flight work finishes.\nimport { ascending } from \"@opencode-ai/schema/identifier\"\nimport { SessionMessage } from \"@opencode-ai/schema/session-message\"\nimport { Locale } from \"@opencode-ai/tui/util/locale\"\nimport { isExitCommand, isNewCommand } from \"./prompt.shared\"\nimport type { FooterApi, FooterEvent, FooterQueuedPrompt, RunPrompt } from \"./types\"\n\ntype Trace = {\n write(type: string, data?: unknown): void\n}\n\ntype Deferred<T = void> = {\n promise: Promise<T>\n resolve: (value: T | PromiseLike<T>) => void\n reject: (error?: unknown) => void\n}\n\nexport type QueueInput = {\n footer: FooterApi\n initialInput?: string\n trace?: Trace\n onSend?: (prompt: RunPrompt) => void\n onNewSession?: () => void | Promise<void>\n run: (prompt: RunPrompt, signal: AbortSignal) => Promise<void>\n}\n\ntype State = {\n queue: RunPrompt[]\n queued: FooterQueuedPrompt[]\n active?: RunPrompt\n ctrl?: AbortController\n closed: boolean\n}\n\nfunction defer<T = void>(): Deferred<T> {\n let resolve!: (value: T | PromiseLike<T>) => void\n let reject!: (error?: unknown) => void\n const promise = new Promise<T>((next, fail) => {\n resolve = next\n reject = fail\n })\n\n return { promise, resolve, reject }\n}\n\n// Runs the prompt queue until the footer closes.\n//\n// Subscribes to footer prompt events and drains operations through input.run().\n// Ordinary prompts submitted during an ordinary active turn remain local and\n// are exposed by the footer for edit/removal until their turn begins.\nexport async function runPromptQueue(input: QueueInput): Promise<void> {\n const stop = defer<{ type: \"closed\" }>()\n const done = defer()\n const state: State = {\n queue: [],\n queued: [],\n closed: input.footer.isClosed,\n }\n let draining: Promise<void> | undefined\n\n const emit = (next: FooterEvent, row: Record<string, unknown>) => {\n input.trace?.write(\"ui.patch\", row)\n input.footer.event(next)\n }\n\n const syncQueue = () => {\n const queue = state.queue.length\n emit({ type: \"queue\", queue }, { queue })\n emit(\n {\n type: \"queued.prompts\",\n prompts: [...state.queued],\n },\n { queued: state.queued.length },\n )\n }\n\n const removeLocalQueued = (queued: FooterQueuedPrompt) => {\n if (!state.queued.includes(queued)) return\n state.queued = state.queued.filter((item) => item !== queued)\n syncQueue()\n }\n\n const finish = () => {\n if (!state.closed || draining) {\n return\n }\n\n done.resolve()\n }\n\n const close = () => {\n if (state.closed) {\n return\n }\n\n state.closed = true\n state.queue.length = 0\n state.queued.length = 0\n state.ctrl?.abort()\n stop.resolve({ type: \"closed\" })\n finish()\n }\n\n const drain = () => {\n if (draining || state.closed || state.queue.length === 0) {\n return\n }\n\n draining = (async () => {\n try {\n while (!state.closed && state.queue.length > 0) {\n const prompt = state.queue.shift()\n if (!prompt) {\n continue\n }\n\n const queued = state.queued.find((item) => item.prompt === prompt)\n if (queued) removeLocalQueued(queued)\n\n if (prompt.mode !== \"shell\" && isNewCommand(prompt.text)) {\n syncQueue()\n if (!input.onNewSession) {\n emit(\n {\n type: \"stream.patch\",\n patch: {\n status: \"new sessions unavailable\",\n },\n },\n {\n status: \"new sessions unavailable\",\n },\n )\n continue\n }\n\n emit(\n {\n type: \"stream.patch\",\n patch: {\n phase: \"running\",\n status: \"starting new session\",\n queue: state.queue.length,\n },\n },\n {\n phase: \"running\",\n status: \"starting new session\",\n queue: state.queue.length,\n },\n )\n await input.onNewSession()\n continue\n }\n\n const sent =\n prompt.mode === \"shell\"\n ? prompt\n : {\n ...prompt,\n messageID: prompt.messageID ?? queued?.messageID ?? SessionMessage.ID.create(),\n }\n state.active = sent\n\n emit(\n {\n type: \"turn.send\",\n queue: state.queue.length,\n },\n {\n phase: \"running\",\n status: \"sending prompt\",\n queue: state.queue.length,\n },\n )\n const start = Date.now()\n const ctrl = new AbortController()\n state.ctrl = ctrl\n\n try {\n await input.footer.idle()\n if (state.closed) {\n break\n }\n\n if (sent.mode !== \"shell\") {\n const commit = {\n kind: \"user\",\n text: sent.text,\n phase: \"start\",\n source: \"system\",\n messageID: sent.messageID,\n } as const\n input.trace?.write(\"ui.commit\", commit)\n input.footer.append(commit)\n }\n input.onSend?.(sent)\n\n if (state.closed) {\n break\n }\n\n const task = input.run(sent, ctrl.signal).then(\n () => ({ type: \"done\" as const }),\n (error) => ({ type: \"error\" as const, error }),\n )\n\n const next = await Promise.race([task, stop.promise])\n if (next.type === \"closed\") {\n ctrl.abort()\n break\n }\n\n if (next.type === \"error\") {\n throw next.error\n }\n } finally {\n if (state.ctrl === ctrl) {\n state.ctrl = undefined\n }\n\n if (sent.mode !== \"shell\") {\n const duration = Locale.duration(Math.max(0, Date.now() - start))\n emit(\n {\n type: \"turn.duration\",\n duration,\n },\n {\n duration,\n },\n )\n }\n state.active = undefined\n }\n }\n } catch (error) {\n done.reject(error)\n return\n } finally {\n draining = undefined\n emit(\n {\n type: \"turn.idle\",\n queue: state.queue.length,\n },\n {\n phase: \"idle\",\n status: \"\",\n queue: state.queue.length,\n },\n )\n }\n\n finish()\n })()\n }\n\n const submit = (prompt: RunPrompt) => {\n if (!prompt.text.trim() || state.closed) {\n return\n }\n\n if (prompt.mode !== \"shell\" && isExitCommand(prompt.text)) {\n input.footer.close()\n return\n }\n\n const active = state.active\n if (\n active &&\n active.mode !== \"shell\" &&\n !active.command &&\n prompt.mode !== \"shell\" &&\n !prompt.command &&\n !isNewCommand(prompt.text)\n ) {\n const queued: FooterQueuedPrompt = {\n messageID: SessionMessage.ID.create(),\n partID: \"prt_\" + ascending(),\n prompt,\n }\n state.queued = [...state.queued, queued]\n state.queue.push(prompt)\n syncQueue()\n return\n }\n\n state.queue.push(prompt)\n syncQueue()\n if (prompt.mode !== \"shell\" && isNewCommand(prompt.text)) {\n drain()\n return\n }\n\n emit(\n {\n type: \"first\",\n first: false,\n },\n {\n first: false,\n },\n )\n drain()\n }\n\n const offPrompt = input.footer.onPrompt((prompt) => {\n submit(prompt)\n })\n const offClose = input.footer.onClose(() => {\n close()\n })\n const offRemoveQueued = input.footer.onQueuedRemove((messageID) => {\n const queued = state.queued.find((item) => item.messageID === messageID)\n if (!queued) return false\n state.queue = state.queue.filter((prompt) => prompt !== queued.prompt)\n removeLocalQueued(queued)\n return true\n })\n\n try {\n if (state.closed) {\n return\n }\n\n submit({\n text: input.initialInput ?? \"\",\n parts: [],\n })\n finish()\n await done.promise\n } finally {\n offPrompt()\n offClose()\n offRemoveQueued()\n close()\n await draining?.catch(() => {})\n }\n}\n" | ||
| ], | ||
| "mappings": ";uMA2CA,cAAS,MAAe,OAAgB,CACtC,IAAI,EACA,EAMJ,MAAO,CAAE,QALO,IAAI,QAAW,CAAC,EAAM,IAAS,CAC7C,EAAU,EACV,EAAS,EACV,EAEiB,UAAS,QAAO,EAQpC,eAAsB,CAAc,CAAC,EAAkC,CACrE,IAAM,EAAO,EAA0B,EACjC,EAAO,EAAM,EACb,EAAe,CACnB,MAAO,CAAC,EACR,OAAQ,CAAC,EACT,OAAQ,EAAM,OAAO,QACvB,EACI,EAEE,EAAO,CAAC,EAAmB,IAAiC,CAChE,EAAM,OAAO,MAAM,WAAY,CAAG,EAClC,EAAM,OAAO,MAAM,CAAI,GAGnB,EAAY,IAAM,CACtB,IAAM,EAAQ,EAAM,MAAM,OAC1B,EAAK,CAAE,KAAM,QAAS,OAAM,EAAG,CAAE,OAAM,CAAC,EACxC,EACE,CACE,KAAM,iBACN,QAAS,CAAC,GAAG,EAAM,MAAM,CAC3B,EACA,CAAE,OAAQ,EAAM,OAAO,MAAO,CAChC,GAGI,EAAoB,CAAC,IAA+B,CACxD,GAAI,CAAC,EAAM,OAAO,SAAS,CAAM,EAAG,OACpC,EAAM,OAAS,EAAM,OAAO,OAAO,CAAC,IAAS,IAAS,CAAM,EAC5D,EAAU,GAGN,EAAS,IAAM,CACnB,GAAI,CAAC,EAAM,QAAU,EACnB,OAGF,EAAK,QAAQ,GAGT,EAAQ,IAAM,CAClB,GAAI,EAAM,OACR,OAGF,EAAM,OAAS,GACf,EAAM,MAAM,OAAS,EACrB,EAAM,OAAO,OAAS,EACtB,EAAM,MAAM,MAAM,EAClB,EAAK,QAAQ,CAAE,KAAM,QAAS,CAAC,EAC/B,EAAO,GAGH,EAAQ,IAAM,CAClB,GAAI,GAAY,EAAM,QAAU,EAAM,MAAM,SAAW,EACrD,OAGF,GAAY,SAAY,CACtB,GAAI,CACF,MAAO,CAAC,EAAM,QAAU,EAAM,MAAM,OAAS,EAAG,CAC9C,IAAM,EAAS,EAAM,MAAM,MAAM,EACjC,GAAI,CAAC,EACH,SAGF,IAAM,EAAS,EAAM,OAAO,KAAK,CAAC,IAAS,EAAK,SAAW,CAAM,EACjE,GAAI,EAAQ,EAAkB,CAAM,EAEpC,GAAI,EAAO,OAAS,SAAW,EAAa,EAAO,IAAI,EAAG,CAExD,GADA,EAAU,EACN,CAAC,EAAM,aAAc,CACvB,EACE,CACE,KAAM,eACN,MAAO,CACL,OAAQ,0BACV,CACF,EACA,CACE,OAAQ,0BACV,CACF,EACA,SAGF,EACE,CACE,KAAM,eACN,MAAO,CACL,MAAO,UACP,OAAQ,uBACR,MAAO,EAAM,MAAM,MACrB,CACF,EACA,CACE,MAAO,UACP,OAAQ,uBACR,MAAO,EAAM,MAAM,MACrB,CACF,EACA,MAAM,EAAM,aAAa,EACzB,SAGF,IAAM,EACJ,EAAO,OAAS,QACZ,EACA,IACK,EACH,UAAW,EAAO,WAAa,GAAQ,WAAa,EAAe,GAAG,OAAO,CAC/E,EACN,EAAM,OAAS,EAEf,EACE,CACE,KAAM,YACN,MAAO,EAAM,MAAM,MACrB,EACA,CACE,MAAO,UACP,OAAQ,iBACR,MAAO,EAAM,MAAM,MACrB,CACF,EACA,IAAM,EAAQ,KAAK,IAAI,EACjB,EAAO,IAAI,gBACjB,EAAM,KAAO,EAEb,GAAI,CAEF,GADA,MAAM,EAAM,OAAO,KAAK,EACpB,EAAM,OACR,MAGF,GAAI,EAAK,OAAS,QAAS,CACzB,IAAM,EAAS,CACb,KAAM,OACN,KAAM,EAAK,KACX,MAAO,QACP,OAAQ,SACR,UAAW,EAAK,SAClB,EACA,EAAM,OAAO,MAAM,YAAa,CAAM,EACtC,EAAM,OAAO,OAAO,CAAM,EAI5B,GAFA,EAAM,SAAS,CAAI,EAEf,EAAM,OACR,MAGF,IAAM,EAAO,EAAM,IAAI,EAAM,EAAK,MAAM,EAAE,KACxC,KAAO,CAAE,KAAM,MAAgB,GAC/B,CAAC,KAAW,CAAE,KAAM,QAAkB,OAAM,EAC9C,EAEM,EAAO,MAAM,QAAQ,KAAK,CAAC,EAAM,EAAK,OAAO,CAAC,EACpD,GAAI,EAAK,OAAS,SAAU,CAC1B,EAAK,MAAM,EACX,MAGF,GAAI,EAAK,OAAS,QAChB,MAAM,EAAK,aAEb,CACA,GAAI,EAAM,OAAS,EACjB,EAAM,KAAO,OAGf,GAAI,EAAK,OAAS,QAAS,CACzB,IAAM,EAAW,EAAO,SAAS,KAAK,IAAI,EAAG,KAAK,IAAI,EAAI,CAAK,CAAC,EAChE,EACE,CACE,KAAM,gBACN,UACF,EACA,CACE,UACF,CACF,EAEF,EAAM,OAAS,SAGnB,MAAO,EAAO,CACd,EAAK,OAAO,CAAK,EACjB,cACA,CACA,EAAW,OACX,EACE,CACE,KAAM,YACN,MAAO,EAAM,MAAM,MACrB,EACA,CACE,MAAO,OACP,OAAQ,GACR,MAAO,EAAM,MAAM,MACrB,CACF,EAGF,EAAO,IACN,GAGC,EAAS,CAAC,IAAsB,CACpC,GAAI,CAAC,EAAO,KAAK,KAAK,GAAK,EAAM,OAC/B,OAGF,GAAI,EAAO,OAAS,SAAW,EAAc,EAAO,IAAI,EAAG,CACzD,EAAM,OAAO,MAAM,EACnB,OAGF,IAAM,EAAS,EAAM,OACrB,GACE,GACA,EAAO,OAAS,SAChB,CAAC,EAAO,SACR,EAAO,OAAS,SAChB,CAAC,EAAO,SACR,CAAC,EAAa,EAAO,IAAI,EACzB,CACA,IAAM,EAA6B,CACjC,UAAW,EAAe,GAAG,OAAO,EACpC,OAAQ,OAAS,EAAU,EAC3B,QACF,EACA,EAAM,OAAS,CAAC,GAAG,EAAM,OAAQ,CAAM,EACvC,EAAM,MAAM,KAAK,CAAM,EACvB,EAAU,EACV,OAKF,GAFA,EAAM,MAAM,KAAK,CAAM,EACvB,EAAU,EACN,EAAO,OAAS,SAAW,EAAa,EAAO,IAAI,EAAG,CACxD,EAAM,EACN,OAGF,EACE,CACE,KAAM,QACN,MAAO,EACT,EACA,CACE,MAAO,EACT,CACF,EACA,EAAM,GAGF,EAAY,EAAM,OAAO,SAAS,CAAC,IAAW,CAClD,EAAO,CAAM,EACd,EACK,EAAW,EAAM,OAAO,QAAQ,IAAM,CAC1C,EAAM,EACP,EACK,EAAkB,EAAM,OAAO,eAAe,CAAC,IAAc,CACjE,IAAM,EAAS,EAAM,OAAO,KAAK,CAAC,IAAS,EAAK,YAAc,CAAS,EACvE,GAAI,CAAC,EAAQ,MAAO,GAGpB,OAFA,EAAM,MAAQ,EAAM,MAAM,OAAO,CAAC,IAAW,IAAW,EAAO,MAAM,EACrE,EAAkB,CAAM,EACjB,GACR,EAED,GAAI,CACF,GAAI,EAAM,OACR,OAGF,EAAO,CACL,KAAM,EAAM,cAAgB,GAC5B,MAAO,CAAC,CACV,CAAC,EACD,EAAO,EACP,MAAM,EAAK,eACX,CACA,EAAU,EACV,EAAS,EACT,EAAgB,EAChB,EAAM,EACN,MAAM,GAAU,MAAM,IAAM,EAAE", | ||
| "debugId": "54B2296123A556BF64756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@vercel+oidc@3.2.0/node_modules/@vercel/oidc/dist/token-error.js", "../../node_modules/.bun/@vercel+oidc@3.2.0/node_modules/@vercel/oidc/dist/token-io.js", "../../node_modules/.bun/@vercel+oidc@3.2.0/node_modules/@vercel/oidc/dist/auth-config.js", "../../node_modules/.bun/@vercel+oidc@3.2.0/node_modules/@vercel/oidc/dist/oauth.js", "../../node_modules/.bun/@vercel+oidc@3.2.0/node_modules/@vercel/oidc/dist/auth-errors.js", "../../node_modules/.bun/@vercel+oidc@3.2.0/node_modules/@vercel/oidc/dist/token-util.js"], | ||
| "sourcesContent": [ | ||
| "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar token_error_exports = {};\n__export(token_error_exports, {\n VercelOidcTokenError: () => VercelOidcTokenError\n});\nmodule.exports = __toCommonJS(token_error_exports);\nclass VercelOidcTokenError extends Error {\n constructor(message, cause) {\n super(message);\n this.name = \"VercelOidcTokenError\";\n this.cause = cause;\n }\n toString() {\n if (this.cause) {\n return `${this.name}: ${this.message}: ${this.cause}`;\n }\n return `${this.name}: ${this.message}`;\n }\n}\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n VercelOidcTokenError\n});\n", | ||
| "\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar token_io_exports = {};\n__export(token_io_exports, {\n findRootDir: () => findRootDir,\n getUserDataDir: () => getUserDataDir\n});\nmodule.exports = __toCommonJS(token_io_exports);\nvar import_path = __toESM(require(\"path\"));\nvar import_fs = __toESM(require(\"fs\"));\nvar import_os = __toESM(require(\"os\"));\nvar import_token_error = require(\"./token-error\");\nfunction findRootDir() {\n try {\n let dir = process.cwd();\n while (dir !== import_path.default.dirname(dir)) {\n const pkgPath = import_path.default.join(dir, \".vercel\");\n if (import_fs.default.existsSync(pkgPath)) {\n return dir;\n }\n dir = import_path.default.dirname(dir);\n }\n } catch (e) {\n throw new import_token_error.VercelOidcTokenError(\n \"Token refresh only supported in node server environments\"\n );\n }\n return null;\n}\nfunction getUserDataDir() {\n if (process.env.XDG_DATA_HOME) {\n return process.env.XDG_DATA_HOME;\n }\n switch (import_os.default.platform()) {\n case \"darwin\":\n return import_path.default.join(import_os.default.homedir(), \"Library/Application Support\");\n case \"linux\":\n return import_path.default.join(import_os.default.homedir(), \".local/share\");\n case \"win32\":\n if (process.env.LOCALAPPDATA) {\n return process.env.LOCALAPPDATA;\n }\n return null;\n default:\n return null;\n }\n}\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n findRootDir,\n getUserDataDir\n});\n", | ||
| "\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar auth_config_exports = {};\n__export(auth_config_exports, {\n isValidAccessToken: () => isValidAccessToken,\n readAuthConfig: () => readAuthConfig,\n writeAuthConfig: () => writeAuthConfig\n});\nmodule.exports = __toCommonJS(auth_config_exports);\nvar fs = __toESM(require(\"fs\"));\nvar path = __toESM(require(\"path\"));\nvar import_token_util = require(\"./token-util\");\nfunction getAuthConfigPath() {\n const dataDir = (0, import_token_util.getVercelDataDir)();\n if (!dataDir) {\n throw new Error(\n `Unable to find Vercel CLI data directory. Your platform: ${process.platform}. Supported: darwin, linux, win32.`\n );\n }\n return path.join(dataDir, \"auth.json\");\n}\nfunction readAuthConfig() {\n try {\n const authPath = getAuthConfigPath();\n if (!fs.existsSync(authPath)) {\n return null;\n }\n const content = fs.readFileSync(authPath, \"utf8\");\n if (!content) {\n return null;\n }\n return JSON.parse(content);\n } catch (error) {\n return null;\n }\n}\nfunction writeAuthConfig(config) {\n const authPath = getAuthConfigPath();\n const authDir = path.dirname(authPath);\n if (!fs.existsSync(authDir)) {\n fs.mkdirSync(authDir, { mode: 504, recursive: true });\n }\n fs.writeFileSync(authPath, JSON.stringify(config, null, 2), { mode: 384 });\n}\nfunction isValidAccessToken(authConfig, expirationBufferMs = 0) {\n if (!authConfig.token)\n return false;\n if (typeof authConfig.expiresAt !== \"number\")\n return true;\n const nowInSeconds = Math.floor(Date.now() / 1e3);\n const bufferInSeconds = expirationBufferMs / 1e3;\n return authConfig.expiresAt >= nowInSeconds + bufferInSeconds;\n}\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n isValidAccessToken,\n readAuthConfig,\n writeAuthConfig\n});\n", | ||
| "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar oauth_exports = {};\n__export(oauth_exports, {\n processTokenResponse: () => processTokenResponse,\n refreshTokenRequest: () => refreshTokenRequest\n});\nmodule.exports = __toCommonJS(oauth_exports);\nvar import_os = require(\"os\");\nconst VERCEL_ISSUER = \"https://vercel.com\";\nconst VERCEL_CLI_CLIENT_ID = \"cl_HYyOPBNtFMfHhaUn9L4QPfTZz6TP47bp\";\nconst userAgent = `@vercel/oidc node-${process.version} ${(0, import_os.platform)()} (${(0, import_os.arch)()}) ${(0, import_os.hostname)()}`;\nlet _tokenEndpoint = null;\nasync function getTokenEndpoint() {\n if (_tokenEndpoint) {\n return _tokenEndpoint;\n }\n const discoveryUrl = `${VERCEL_ISSUER}/.well-known/openid-configuration`;\n const response = await fetch(discoveryUrl, {\n headers: { \"user-agent\": userAgent }\n });\n if (!response.ok) {\n throw new Error(\"Failed to discover OAuth endpoints\");\n }\n const metadata = await response.json();\n if (!metadata || typeof metadata.token_endpoint !== \"string\") {\n throw new Error(\"Invalid OAuth discovery response\");\n }\n const endpoint = metadata.token_endpoint;\n _tokenEndpoint = endpoint;\n return endpoint;\n}\nasync function refreshTokenRequest(options) {\n const tokenEndpoint = await getTokenEndpoint();\n return await fetch(tokenEndpoint, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/x-www-form-urlencoded\",\n \"user-agent\": userAgent\n },\n body: new URLSearchParams({\n client_id: VERCEL_CLI_CLIENT_ID,\n grant_type: \"refresh_token\",\n ...options\n })\n });\n}\nasync function processTokenResponse(response) {\n const json = await response.json();\n if (!response.ok) {\n const errorMsg = typeof json === \"object\" && json && \"error\" in json ? String(json.error) : \"Token refresh failed\";\n return [new Error(errorMsg)];\n }\n if (typeof json !== \"object\" || json === null) {\n return [new Error(\"Invalid token response\")];\n }\n if (typeof json.access_token !== \"string\") {\n return [new Error(\"Missing access_token in response\")];\n }\n if (json.token_type !== \"Bearer\") {\n return [new Error(\"Invalid token_type in response\")];\n }\n if (typeof json.expires_in !== \"number\") {\n return [new Error(\"Missing expires_in in response\")];\n }\n return [null, json];\n}\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n processTokenResponse,\n refreshTokenRequest\n});\n", | ||
| "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar auth_errors_exports = {};\n__export(auth_errors_exports, {\n AccessTokenMissingError: () => AccessTokenMissingError,\n RefreshAccessTokenFailedError: () => RefreshAccessTokenFailedError\n});\nmodule.exports = __toCommonJS(auth_errors_exports);\nclass AccessTokenMissingError extends Error {\n constructor() {\n super(\n \"No authentication found. Please log in with the Vercel CLI (vercel login).\"\n );\n this.name = \"AccessTokenMissingError\";\n }\n}\nclass RefreshAccessTokenFailedError extends Error {\n constructor(cause) {\n super(\"Failed to refresh authentication token.\", { cause });\n this.name = \"RefreshAccessTokenFailedError\";\n }\n}\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n AccessTokenMissingError,\n RefreshAccessTokenFailedError\n});\n", | ||
| "\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar token_util_exports = {};\n__export(token_util_exports, {\n assertVercelOidcTokenResponse: () => assertVercelOidcTokenResponse,\n findProjectInfo: () => findProjectInfo,\n getTokenPayload: () => getTokenPayload,\n getVercelDataDir: () => getVercelDataDir,\n getVercelOidcToken: () => getVercelOidcToken,\n getVercelToken: () => getVercelToken,\n isExpired: () => isExpired,\n loadToken: () => loadToken,\n saveToken: () => saveToken\n});\nmodule.exports = __toCommonJS(token_util_exports);\nvar path = __toESM(require(\"path\"));\nvar fs = __toESM(require(\"fs\"));\nvar import_token_error = require(\"./token-error\");\nvar import_token_io = require(\"./token-io\");\nvar import_auth_config = require(\"./auth-config\");\nvar import_oauth = require(\"./oauth\");\nvar import_auth_errors = require(\"./auth-errors\");\nfunction getVercelDataDir() {\n const vercelFolder = \"com.vercel.cli\";\n const dataDir = (0, import_token_io.getUserDataDir)();\n if (!dataDir) {\n return null;\n }\n return path.join(dataDir, vercelFolder);\n}\nasync function getVercelToken(options) {\n const authConfig = (0, import_auth_config.readAuthConfig)();\n if (!authConfig?.token) {\n throw new import_auth_errors.AccessTokenMissingError();\n }\n if ((0, import_auth_config.isValidAccessToken)(authConfig, options?.expirationBufferMs)) {\n return authConfig.token;\n }\n if (!authConfig.refreshToken) {\n (0, import_auth_config.writeAuthConfig)({});\n throw new import_auth_errors.RefreshAccessTokenFailedError(\"No refresh token available\");\n }\n try {\n const tokenResponse = await (0, import_oauth.refreshTokenRequest)({\n refresh_token: authConfig.refreshToken\n });\n const [tokensError, tokens] = await (0, import_oauth.processTokenResponse)(tokenResponse);\n if (tokensError || !tokens) {\n (0, import_auth_config.writeAuthConfig)({});\n throw new import_auth_errors.RefreshAccessTokenFailedError(tokensError);\n }\n const updatedConfig = {\n token: tokens.access_token,\n expiresAt: Math.floor(Date.now() / 1e3) + tokens.expires_in\n };\n if (tokens.refresh_token) {\n updatedConfig.refreshToken = tokens.refresh_token;\n }\n (0, import_auth_config.writeAuthConfig)(updatedConfig);\n return updatedConfig.token;\n } catch (error) {\n (0, import_auth_config.writeAuthConfig)({});\n if (error instanceof import_auth_errors.AccessTokenMissingError || error instanceof import_auth_errors.RefreshAccessTokenFailedError) {\n throw error;\n }\n throw new import_auth_errors.RefreshAccessTokenFailedError(error);\n }\n}\nasync function getVercelOidcToken(authToken, projectId, teamId) {\n const url = `https://api.vercel.com/v1/projects/${projectId}/token?source=vercel-oidc-refresh${teamId ? `&teamId=${teamId}` : \"\"}`;\n const res = await fetch(url, {\n method: \"POST\",\n headers: {\n Authorization: `Bearer ${authToken}`\n }\n });\n if (!res.ok) {\n throw new import_token_error.VercelOidcTokenError(\n `Failed to refresh OIDC token: ${res.statusText}`\n );\n }\n const tokenRes = await res.json();\n assertVercelOidcTokenResponse(tokenRes);\n return tokenRes;\n}\nfunction assertVercelOidcTokenResponse(res) {\n if (!res || typeof res !== \"object\") {\n throw new TypeError(\n \"Vercel OIDC token is malformed. Expected an object. Please run `vc env pull` and try again\"\n );\n }\n if (!(\"token\" in res) || typeof res.token !== \"string\") {\n throw new TypeError(\n \"Vercel OIDC token is malformed. Expected a string-valued token property. Please run `vc env pull` and try again\"\n );\n }\n}\nfunction findProjectInfo() {\n const dir = (0, import_token_io.findRootDir)();\n if (!dir) {\n throw new import_token_error.VercelOidcTokenError(\n \"Unable to find project root directory. Have you linked your project with `vc link?`\"\n );\n }\n const prjPath = path.join(dir, \".vercel\", \"project.json\");\n if (!fs.existsSync(prjPath)) {\n throw new import_token_error.VercelOidcTokenError(\n \"project.json not found, have you linked your project with `vc link?`\"\n );\n }\n const prj = JSON.parse(fs.readFileSync(prjPath, \"utf8\"));\n if (typeof prj.projectId !== \"string\" && typeof prj.orgId !== \"string\") {\n throw new TypeError(\n \"Expected a string-valued projectId property. Try running `vc link` to re-link your project.\"\n );\n }\n return { projectId: prj.projectId, teamId: prj.orgId };\n}\nfunction saveToken(token, projectId) {\n const dir = (0, import_token_io.getUserDataDir)();\n if (!dir) {\n throw new import_token_error.VercelOidcTokenError(\n \"Unable to find user data directory. Please reach out to Vercel support.\"\n );\n }\n const tokenPath = path.join(dir, \"com.vercel.token\", `${projectId}.json`);\n const tokenJson = JSON.stringify(token);\n fs.mkdirSync(path.dirname(tokenPath), { mode: 504, recursive: true });\n fs.writeFileSync(tokenPath, tokenJson);\n fs.chmodSync(tokenPath, 432);\n return;\n}\nfunction loadToken(projectId) {\n const dir = (0, import_token_io.getUserDataDir)();\n if (!dir) {\n throw new import_token_error.VercelOidcTokenError(\n \"Unable to find user data directory. Please reach out to Vercel support.\"\n );\n }\n const tokenPath = path.join(dir, \"com.vercel.token\", `${projectId}.json`);\n if (!fs.existsSync(tokenPath)) {\n return null;\n }\n const token = JSON.parse(fs.readFileSync(tokenPath, \"utf8\"));\n assertVercelOidcTokenResponse(token);\n return token;\n}\nfunction getTokenPayload(token) {\n const tokenParts = token.split(\".\");\n if (tokenParts.length !== 3) {\n throw new import_token_error.VercelOidcTokenError(\n \"Invalid token. Please run `vc env pull` and try again\"\n );\n }\n const base64 = tokenParts[1].replace(/-/g, \"+\").replace(/_/g, \"/\");\n const padded = base64.padEnd(\n base64.length + (4 - base64.length % 4) % 4,\n \"=\"\n );\n return JSON.parse(Buffer.from(padded, \"base64\").toString(\"utf8\"));\n}\nfunction isExpired(token, bufferMs = 0) {\n return token.exp * 1e3 < Date.now() + bufferMs;\n}\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n assertVercelOidcTokenResponse,\n findProjectInfo,\n getTokenPayload,\n getVercelDataDir,\n getVercelOidcToken,\n getVercelToken,\n isExpired,\n loadToken,\n saveToken\n});\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "E56FEE1C70C49C6764756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@ai-sdk+provider@3.0.8/node_modules/@ai-sdk/provider/dist/index.mjs"], | ||
| "sourcesContent": [ | ||
| "// src/errors/ai-sdk-error.ts\nvar marker = \"vercel.ai.error\";\nvar symbol = Symbol.for(marker);\nvar _a, _b;\nvar AISDKError = class _AISDKError extends (_b = Error, _a = symbol, _b) {\n /**\n * Creates an AI SDK Error.\n *\n * @param {Object} params - The parameters for creating the error.\n * @param {string} params.name - The name of the error.\n * @param {string} params.message - The error message.\n * @param {unknown} [params.cause] - The underlying cause of the error.\n */\n constructor({\n name: name14,\n message,\n cause\n }) {\n super(message);\n this[_a] = true;\n this.name = name14;\n this.cause = cause;\n }\n /**\n * Checks if the given error is an AI SDK Error.\n * @param {unknown} error - The error to check.\n * @returns {boolean} True if the error is an AI SDK Error, false otherwise.\n */\n static isInstance(error) {\n return _AISDKError.hasMarker(error, marker);\n }\n static hasMarker(error, marker15) {\n const markerSymbol = Symbol.for(marker15);\n return error != null && typeof error === \"object\" && markerSymbol in error && typeof error[markerSymbol] === \"boolean\" && error[markerSymbol] === true;\n }\n};\n\n// src/errors/api-call-error.ts\nvar name = \"AI_APICallError\";\nvar marker2 = `vercel.ai.error.${name}`;\nvar symbol2 = Symbol.for(marker2);\nvar _a2, _b2;\nvar APICallError = class extends (_b2 = AISDKError, _a2 = symbol2, _b2) {\n constructor({\n message,\n url,\n requestBodyValues,\n statusCode,\n responseHeaders,\n responseBody,\n cause,\n isRetryable = statusCode != null && (statusCode === 408 || // request timeout\n statusCode === 409 || // conflict\n statusCode === 429 || // too many requests\n statusCode >= 500),\n // server error\n data\n }) {\n super({ name, message, cause });\n this[_a2] = true;\n this.url = url;\n this.requestBodyValues = requestBodyValues;\n this.statusCode = statusCode;\n this.responseHeaders = responseHeaders;\n this.responseBody = responseBody;\n this.isRetryable = isRetryable;\n this.data = data;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker2);\n }\n};\n\n// src/errors/empty-response-body-error.ts\nvar name2 = \"AI_EmptyResponseBodyError\";\nvar marker3 = `vercel.ai.error.${name2}`;\nvar symbol3 = Symbol.for(marker3);\nvar _a3, _b3;\nvar EmptyResponseBodyError = class extends (_b3 = AISDKError, _a3 = symbol3, _b3) {\n // used in isInstance\n constructor({ message = \"Empty response body\" } = {}) {\n super({ name: name2, message });\n this[_a3] = true;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker3);\n }\n};\n\n// src/errors/get-error-message.ts\nfunction getErrorMessage(error) {\n if (error == null) {\n return \"unknown error\";\n }\n if (typeof error === \"string\") {\n return error;\n }\n if (error instanceof Error) {\n return error.message;\n }\n return JSON.stringify(error);\n}\n\n// src/errors/invalid-argument-error.ts\nvar name3 = \"AI_InvalidArgumentError\";\nvar marker4 = `vercel.ai.error.${name3}`;\nvar symbol4 = Symbol.for(marker4);\nvar _a4, _b4;\nvar InvalidArgumentError = class extends (_b4 = AISDKError, _a4 = symbol4, _b4) {\n constructor({\n message,\n cause,\n argument\n }) {\n super({ name: name3, message, cause });\n this[_a4] = true;\n this.argument = argument;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker4);\n }\n};\n\n// src/errors/invalid-prompt-error.ts\nvar name4 = \"AI_InvalidPromptError\";\nvar marker5 = `vercel.ai.error.${name4}`;\nvar symbol5 = Symbol.for(marker5);\nvar _a5, _b5;\nvar InvalidPromptError = class extends (_b5 = AISDKError, _a5 = symbol5, _b5) {\n constructor({\n prompt,\n message,\n cause\n }) {\n super({ name: name4, message: `Invalid prompt: ${message}`, cause });\n this[_a5] = true;\n this.prompt = prompt;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker5);\n }\n};\n\n// src/errors/invalid-response-data-error.ts\nvar name5 = \"AI_InvalidResponseDataError\";\nvar marker6 = `vercel.ai.error.${name5}`;\nvar symbol6 = Symbol.for(marker6);\nvar _a6, _b6;\nvar InvalidResponseDataError = class extends (_b6 = AISDKError, _a6 = symbol6, _b6) {\n constructor({\n data,\n message = `Invalid response data: ${JSON.stringify(data)}.`\n }) {\n super({ name: name5, message });\n this[_a6] = true;\n this.data = data;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker6);\n }\n};\n\n// src/errors/json-parse-error.ts\nvar name6 = \"AI_JSONParseError\";\nvar marker7 = `vercel.ai.error.${name6}`;\nvar symbol7 = Symbol.for(marker7);\nvar _a7, _b7;\nvar JSONParseError = class extends (_b7 = AISDKError, _a7 = symbol7, _b7) {\n constructor({ text, cause }) {\n super({\n name: name6,\n message: `JSON parsing failed: Text: ${text}.\nError message: ${getErrorMessage(cause)}`,\n cause\n });\n this[_a7] = true;\n this.text = text;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker7);\n }\n};\n\n// src/errors/load-api-key-error.ts\nvar name7 = \"AI_LoadAPIKeyError\";\nvar marker8 = `vercel.ai.error.${name7}`;\nvar symbol8 = Symbol.for(marker8);\nvar _a8, _b8;\nvar LoadAPIKeyError = class extends (_b8 = AISDKError, _a8 = symbol8, _b8) {\n // used in isInstance\n constructor({ message }) {\n super({ name: name7, message });\n this[_a8] = true;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker8);\n }\n};\n\n// src/errors/load-setting-error.ts\nvar name8 = \"AI_LoadSettingError\";\nvar marker9 = `vercel.ai.error.${name8}`;\nvar symbol9 = Symbol.for(marker9);\nvar _a9, _b9;\nvar LoadSettingError = class extends (_b9 = AISDKError, _a9 = symbol9, _b9) {\n // used in isInstance\n constructor({ message }) {\n super({ name: name8, message });\n this[_a9] = true;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker9);\n }\n};\n\n// src/errors/no-content-generated-error.ts\nvar name9 = \"AI_NoContentGeneratedError\";\nvar marker10 = `vercel.ai.error.${name9}`;\nvar symbol10 = Symbol.for(marker10);\nvar _a10, _b10;\nvar NoContentGeneratedError = class extends (_b10 = AISDKError, _a10 = symbol10, _b10) {\n // used in isInstance\n constructor({\n message = \"No content generated.\"\n } = {}) {\n super({ name: name9, message });\n this[_a10] = true;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker10);\n }\n};\n\n// src/errors/no-such-model-error.ts\nvar name10 = \"AI_NoSuchModelError\";\nvar marker11 = `vercel.ai.error.${name10}`;\nvar symbol11 = Symbol.for(marker11);\nvar _a11, _b11;\nvar NoSuchModelError = class extends (_b11 = AISDKError, _a11 = symbol11, _b11) {\n constructor({\n errorName = name10,\n modelId,\n modelType,\n message = `No such ${modelType}: ${modelId}`\n }) {\n super({ name: errorName, message });\n this[_a11] = true;\n this.modelId = modelId;\n this.modelType = modelType;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker11);\n }\n};\n\n// src/errors/too-many-embedding-values-for-call-error.ts\nvar name11 = \"AI_TooManyEmbeddingValuesForCallError\";\nvar marker12 = `vercel.ai.error.${name11}`;\nvar symbol12 = Symbol.for(marker12);\nvar _a12, _b12;\nvar TooManyEmbeddingValuesForCallError = class extends (_b12 = AISDKError, _a12 = symbol12, _b12) {\n constructor(options) {\n super({\n name: name11,\n message: `Too many values for a single embedding call. The ${options.provider} model \"${options.modelId}\" can only embed up to ${options.maxEmbeddingsPerCall} values per call, but ${options.values.length} values were provided.`\n });\n this[_a12] = true;\n this.provider = options.provider;\n this.modelId = options.modelId;\n this.maxEmbeddingsPerCall = options.maxEmbeddingsPerCall;\n this.values = options.values;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker12);\n }\n};\n\n// src/errors/type-validation-error.ts\nvar name12 = \"AI_TypeValidationError\";\nvar marker13 = `vercel.ai.error.${name12}`;\nvar symbol13 = Symbol.for(marker13);\nvar _a13, _b13;\nvar TypeValidationError = class _TypeValidationError extends (_b13 = AISDKError, _a13 = symbol13, _b13) {\n constructor({\n value,\n cause,\n context\n }) {\n let contextPrefix = \"Type validation failed\";\n if (context == null ? void 0 : context.field) {\n contextPrefix += ` for ${context.field}`;\n }\n if ((context == null ? void 0 : context.entityName) || (context == null ? void 0 : context.entityId)) {\n contextPrefix += \" (\";\n const parts = [];\n if (context.entityName) {\n parts.push(context.entityName);\n }\n if (context.entityId) {\n parts.push(`id: \"${context.entityId}\"`);\n }\n contextPrefix += parts.join(\", \");\n contextPrefix += \")\";\n }\n super({\n name: name12,\n message: `${contextPrefix}: Value: ${JSON.stringify(value)}.\nError message: ${getErrorMessage(cause)}`,\n cause\n });\n this[_a13] = true;\n this.value = value;\n this.context = context;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker13);\n }\n /**\n * Wraps an error into a TypeValidationError.\n * If the cause is already a TypeValidationError with the same value and context, it returns the cause.\n * Otherwise, it creates a new TypeValidationError.\n *\n * @param {Object} params - The parameters for wrapping the error.\n * @param {unknown} params.value - The value that failed validation.\n * @param {unknown} params.cause - The original error or cause of the validation failure.\n * @param {TypeValidationContext} params.context - Optional context about what is being validated.\n * @returns {TypeValidationError} A TypeValidationError instance.\n */\n static wrap({\n value,\n cause,\n context\n }) {\n var _a15, _b15, _c;\n if (_TypeValidationError.isInstance(cause) && cause.value === value && ((_a15 = cause.context) == null ? void 0 : _a15.field) === (context == null ? void 0 : context.field) && ((_b15 = cause.context) == null ? void 0 : _b15.entityName) === (context == null ? void 0 : context.entityName) && ((_c = cause.context) == null ? void 0 : _c.entityId) === (context == null ? void 0 : context.entityId)) {\n return cause;\n }\n return new _TypeValidationError({ value, cause, context });\n }\n};\n\n// src/errors/unsupported-functionality-error.ts\nvar name13 = \"AI_UnsupportedFunctionalityError\";\nvar marker14 = `vercel.ai.error.${name13}`;\nvar symbol14 = Symbol.for(marker14);\nvar _a14, _b14;\nvar UnsupportedFunctionalityError = class extends (_b14 = AISDKError, _a14 = symbol14, _b14) {\n constructor({\n functionality,\n message = `'${functionality}' functionality not supported.`\n }) {\n super({ name: name13, message });\n this[_a14] = true;\n this.functionality = functionality;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker14);\n }\n};\n\n// src/json-value/is-json.ts\nfunction isJSONValue(value) {\n if (value === null || typeof value === \"string\" || typeof value === \"number\" || typeof value === \"boolean\") {\n return true;\n }\n if (Array.isArray(value)) {\n return value.every(isJSONValue);\n }\n if (typeof value === \"object\") {\n return Object.entries(value).every(\n ([key, val]) => typeof key === \"string\" && (val === void 0 || isJSONValue(val))\n );\n }\n return false;\n}\nfunction isJSONArray(value) {\n return Array.isArray(value) && value.every(isJSONValue);\n}\nfunction isJSONObject(value) {\n return value != null && typeof value === \"object\" && Object.entries(value).every(\n ([key, val]) => typeof key === \"string\" && (val === void 0 || isJSONValue(val))\n );\n}\nexport {\n AISDKError,\n APICallError,\n EmptyResponseBodyError,\n InvalidArgumentError,\n InvalidPromptError,\n InvalidResponseDataError,\n JSONParseError,\n LoadAPIKeyError,\n LoadSettingError,\n NoContentGeneratedError,\n NoSuchModelError,\n TooManyEmbeddingValuesForCallError,\n TypeValidationError,\n UnsupportedFunctionalityError,\n getErrorMessage,\n isJSONArray,\n isJSONObject,\n isJSONValue\n};\n//# sourceMappingURL=index.mjs.map" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "75302B090E3A390864756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260507164347_add_workspace_time.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260507164347_add_workspace_time\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`ALTER TABLE \\`workspace\\` ADD \\`time_used\\` integer NOT NULL DEFAULT 0;`)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,oCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,qEAAyE,EACxF,EAEL", | ||
| "debugId": "861F7A635EF0BFA264756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@opentelemetry+resources@2.6.1+460773ef8ff1e07c/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/machine-id/getMachineId-darwin.js"], | ||
| "sourcesContent": [ | ||
| "\"use strict\";\n/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getMachineId = void 0;\nconst execAsync_1 = require(\"./execAsync\");\nconst api_1 = require(\"@opentelemetry/api\");\nasync function getMachineId() {\n try {\n const result = await (0, execAsync_1.execAsync)('ioreg -rd1 -c \"IOPlatformExpertDevice\"');\n const idLine = result.stdout\n .split('\\n')\n .find(line => line.includes('IOPlatformUUID'));\n if (!idLine) {\n return undefined;\n }\n const parts = idLine.split('\" = \"');\n if (parts.length === 2) {\n return parts[1].slice(0, -1);\n }\n }\n catch (e) {\n api_1.diag.debug(`error reading machine id: ${e}`);\n }\n return undefined;\n}\nexports.getMachineId = getMachineId;\n//# sourceMappingURL=getMachineId-darwin.js.map" | ||
| ], | ||
| "mappings": ";gKAKA,YAAO,oBAAe,EAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EACpD,eAAoB,OAC5B,IAAM,MACA,MACN,eAAe,CAAY,EAAG,CAC1B,GAAI,CAEA,IAAM,GADS,MAAO,EAAG,EAAY,WAAW,wCAAwC,GAClE,OACjB,MAAM;AAAA,CAAI,EACV,KAAK,KAAQ,EAAK,SAAS,gBAAgB,CAAC,EACjD,GAAI,CAAC,EACD,OAEJ,IAAM,EAAQ,EAAO,MAAM,OAAO,EAClC,GAAI,EAAM,SAAW,EACjB,OAAO,EAAM,GAAG,MAAM,EAAG,EAAE,EAGnC,MAAO,EAAG,CACN,EAAM,KAAK,MAAM,6BAA6B,GAAG,EAErD,OAEI,eAAe", | ||
| "debugId": "B3CE25A3B35E797964756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260225215848_workspace.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260225215848_workspace\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`\n CREATE TABLE \\`workspace\\` (\n \\`id\\` text PRIMARY KEY,\n \\`branch\\` text,\n \\`project_id\\` text NOT NULL,\n \\`config\\` text NOT NULL,\n CONSTRAINT \\`fk_workspace_project_id_project_id_fk\\` FOREIGN KEY (\\`project_id\\`) REFERENCES \\`project\\`(\\`id\\`) ON DELETE CASCADE\n );\n `)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,2BACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,sUAQb,EACF,EAEL", | ||
| "debugId": "F49B01B29437FFA064756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@opentelemetry+resources@2.6.1+460773ef8ff1e07c/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/machine-id/getMachineId-unsupported.js"], | ||
| "sourcesContent": [ | ||
| "\"use strict\";\n/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getMachineId = void 0;\nconst api_1 = require(\"@opentelemetry/api\");\nasync function getMachineId() {\n api_1.diag.debug('could not read machine-id: unsupported platform');\n return undefined;\n}\nexports.getMachineId = getMachineId;\n//# sourceMappingURL=getMachineId-unsupported.js.map" | ||
| ], | ||
| "mappings": ";iHAKA,YAAO,eAAe,EAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EACpD,eAAoB,OAC5B,IAAM,MACN,eAAe,CAAY,EAAG,CAC1B,EAAM,KAAK,MAAM,iDAAiD,EAClE,OAEI,eAAe", | ||
| "debugId": "0FB78BADCF3196F764756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../simulation/src/backend/llm-exchange.ts", "../simulation/src/backend/control.ts", "../simulation/src/backend/network.ts", "../simulation/src/backend/openai.ts", "../simulation/src/backend/index.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect, Queue } from \"effect\"\n\n/**\n * Pending driver-answered LLM exchanges.\n *\n * When the simulated network receives a provider request it opens an\n * exchange: the parsed request body plus a queue of response chunks. The\n * simulation control WebSocket notifies the external driver, and the driver\n * pushes chunks back until it finishes the exchange. The driver is the\n * model; nothing is scripted or enqueued server-side.\n *\n * Process-global by design (plain module state, like the network route\n * table): the simulated network and the control server must observe the same\n * exchanges regardless of which layer instance touched them.\n */\n\n/** One response item the driver sends back. Compiled to provider wire chunks by the endpoint. */\nexport type Item =\n | { readonly type: \"textDelta\"; readonly text: string }\n | { readonly type: \"reasoningDelta\"; readonly text: string }\n | {\n readonly type: \"toolCall\"\n readonly index: number\n readonly id: string\n readonly name: string\n readonly input: unknown\n }\n | { readonly type: \"raw\"; readonly chunk: unknown }\n\nexport type FinishReason = \"stop\" | \"tool-calls\" | \"length\" | \"content-filter\"\n\nexport type Chunk =\n | { readonly type: \"item\"; readonly item: Item }\n | { readonly type: \"finish\"; readonly reason: FinishReason }\n\nexport interface Exchange {\n readonly id: string\n readonly url: string\n readonly body: unknown\n readonly queue: Queue.Queue<Chunk>\n}\n\nexport interface OpenedExchange {\n readonly id: string\n readonly url: string\n readonly body: unknown\n}\n\nconst state = {\n counter: 0,\n exchanges: new Map<string, Exchange>(),\n listeners: new Set<(exchange: OpenedExchange) => void>(),\n}\n\nexport class ExchangeNotFoundError extends Error {\n constructor(id: string) {\n super(`Simulation LLM exchange not found or already finished: ${id}`)\n }\n}\n\n/** Opens an exchange and notifies listeners. Called by the simulated provider endpoint. */\nexport const open = (input: { readonly url: string; readonly body: unknown }) =>\n Effect.gen(function* () {\n const id = `ex_${++state.counter}`\n const queue = yield* Queue.unbounded<Chunk>()\n const exchange: Exchange = { id, url: input.url, body: input.body, queue }\n state.exchanges.set(id, exchange)\n for (const listener of state.listeners) listener({ id, url: input.url, body: input.body })\n return exchange\n })\n\n/** Closes an exchange without consuming remaining chunks (response interrupted or finished). */\nexport const close = (id: string) =>\n Effect.suspend(() => {\n const exchange = state.exchanges.get(id)\n state.exchanges.delete(id)\n if (!exchange) return Effect.void\n return Queue.shutdown(exchange.queue).pipe(Effect.asVoid)\n })\n\n/** Appends response chunks to an open exchange. Driver-facing. */\nexport const push = (id: string, chunks: readonly Chunk[]) =>\n Effect.gen(function* () {\n const exchange = state.exchanges.get(id)\n if (!exchange) return yield* Effect.fail(new ExchangeNotFoundError(id))\n yield* Queue.offerAll(exchange.queue, chunks)\n })\n\n/** Abruptly ends the provider body without a finish chunk or SSE sentinel. */\nexport const disconnect = (id: string) =>\n Effect.gen(function* () {\n const exchange = state.exchanges.get(id)\n if (!exchange) return yield* Effect.fail(new ExchangeNotFoundError(id))\n yield* Queue.shutdown(exchange.queue)\n })\n\n/**\n * Registers a listener for newly opened exchanges and immediately replays\n * currently-pending ones, so a late-attaching driver observes requests that\n * arrived before it connected. Returns an unsubscribe function.\n */\nexport function subscribe(listener: (exchange: OpenedExchange) => void) {\n state.listeners.add(listener)\n for (const exchange of pending()) listener(exchange)\n return () => {\n state.listeners.delete(listener)\n }\n}\n\n/** Snapshot of currently open exchanges, for control-surface inspection. */\nexport function pending(): OpenedExchange[] {\n return [...state.exchanges.values()].map((exchange) => ({\n id: exchange.id,\n url: exchange.url,\n body: exchange.body,\n }))\n}\n\nexport * as SimulationLLMExchange from \"./llm-exchange\"\n", | ||
| "import { Effect } from \"effect\"\nimport { SimulationProtocol } from \"../protocol\"\nimport { SimulationLLMExchange } from \"./llm-exchange\"\n\n/**\n * Backend-hosted simulation control WebSocket.\n *\n * JSON-RPC 2.0 over a loopback WebSocket, mirroring the protocol of the TUI\n * simulation server. Drivers connect directly (standalone topology; no\n * frontend proxy) to answer LLM exchanges and inspect the simulated network.\n * This is also the headless-simulation interface: it works with no TUI at\n * all.\n *\n * Methods:\n * - `llm.attach` -> subscribe; pending and future exchanges arrive\n * as `llm.request` notifications\n * - `llm.chunk` { id, items } append response items to an exchange\n * - `llm.finish` { id, reason? } finish an exchange\n * - `llm.disconnect` { id } abruptly terminate an exchange without a finish\n * - `llm.pending` list open exchanges\n */\n\ntype ControlSocket = Bun.ServerWebSocket<{ unsubscribe?: () => void }>\n\nfunction parseRequest(input: string | Buffer) {\n return SimulationProtocol.Backend.decodeRequest(JSON.parse(typeof input === \"string\" ? input : input.toString()))\n}\n\nasync function handle(socket: ControlSocket, request: SimulationProtocol.Backend.Request): Promise<unknown> {\n switch (request.method) {\n case \"llm.attach\": {\n socket.data.unsubscribe?.()\n socket.data.unsubscribe = SimulationLLMExchange.subscribe((exchange) => {\n socket.send(JSON.stringify({ jsonrpc: \"2.0\", method: \"llm.request\", params: exchange }))\n })\n return { attached: true }\n }\n case \"llm.chunk\": {\n await Effect.runPromise(\n SimulationLLMExchange.push(\n request.params.id,\n request.params.items.map((item) => ({ type: \"item\", item }) as const),\n ),\n )\n return { ok: true }\n }\n case \"llm.finish\": {\n await Effect.runPromise(\n SimulationLLMExchange.push(request.params.id, [{ type: \"finish\", reason: request.params.reason }]),\n )\n return { ok: true }\n }\n case \"llm.disconnect\": {\n await Effect.runPromise(SimulationLLMExchange.disconnect(request.params.id))\n return { ok: true }\n }\n case \"llm.pending\":\n return { exchanges: SimulationLLMExchange.pending() }\n }\n}\n\nexport function start(endpoint: string) {\n const url = new URL(endpoint)\n const server = Bun.serve<{ unsubscribe?: () => void }>({\n hostname: url.hostname,\n port: Number(url.port),\n fetch(request, server) {\n if (server.upgrade(request, { data: {} })) return undefined\n return new Response(\"opencode drive backend websocket\", { status: 426 })\n },\n websocket: {\n close(socket) {\n socket.data.unsubscribe?.()\n },\n async message(socket, message) {\n let request: SimulationProtocol.Backend.Request | undefined\n try {\n request = parseRequest(message)\n const result = await handle(socket, request)\n const response = SimulationProtocol.JsonRpc.success(request.id, result)\n if (response) socket.send(JSON.stringify(response))\n } catch (error) {\n socket.send(JSON.stringify(SimulationProtocol.JsonRpc.failure(request?.id, error)))\n }\n },\n },\n })\n process.stderr.write(`opencode drive backend websocket: ${endpoint}\\n`)\n return {\n url: endpoint,\n stop: () => {\n server.stop(true)\n },\n }\n}\n\nexport * as SimulationControl from \"./control\"\n", | ||
| "import { Effect, Layer } from \"effect\"\nimport { HttpClient, HttpClientResponse } from \"effect/unstable/http\"\nimport { HttpClientError, TransportError } from \"effect/unstable/http/HttpClientError\"\nimport type { HttpClientRequest } from \"effect/unstable/http\"\n\n/**\n * Simulated network.\n *\n * Replaces the `HttpClient.HttpClient` platform node in simulation mode. All\n * outbound HTTP resolves against an in-memory route table; unknown\n * destinations fail loudly with a transport error so no simulation run can\n * silently reach the real network. The scripted LLM is one registered route,\n * not a separate mechanism.\n *\n * The route table is process-global module state so the control surface and\n * the client layer observe the same registrations.\n */\n\nexport interface Route {\n /** Return a response effect to claim the request, undefined to pass. */\n readonly match: (\n request: HttpClientRequest.HttpClientRequest,\n url: URL,\n ) => Effect.Effect<HttpClientResponse.HttpClientResponse> | undefined\n}\n\ninterface LogEntry {\n readonly time: number\n readonly method: string\n readonly url: string\n readonly matched: boolean\n}\n\nconst state = {\n routes: [] as Route[],\n log: [] as LogEntry[],\n}\n\nconst LOG_LIMIT = 1000\n\nexport function register(route: Route) {\n state.routes.push(route)\n return () => {\n const index = state.routes.indexOf(route)\n if (index >= 0) state.routes.splice(index, 1)\n }\n}\n\n/** Static JSON route: exact method + origin/path match answered with a fixed body. */\nexport function json(method: string, url: string, body: unknown): Route {\n return {\n match: (request, requestUrl) => {\n if (request.method !== method) return undefined\n if (requestUrl.origin + requestUrl.pathname !== url) return undefined\n return Effect.sync(() =>\n HttpClientResponse.fromWeb(\n request,\n new Response(JSON.stringify(body), { status: 200, headers: { \"content-type\": \"application/json\" } }),\n ),\n )\n },\n }\n}\n\nexport function log(): readonly LogEntry[] {\n return state.log\n}\n\nfunction record(entry: LogEntry) {\n state.log.push(entry)\n if (state.log.length > LOG_LIMIT) state.log.splice(0, state.log.length - LOG_LIMIT)\n}\n\nexport const layer = Layer.sync(HttpClient.HttpClient)(() =>\n HttpClient.make((request, url) =>\n Effect.suspend(() => {\n const matched = state.routes\n .map((route) => route.match(request, url))\n .find((response) => response !== undefined)\n record({ time: Date.now(), method: request.method, url: url.toString(), matched: matched !== undefined })\n if (matched) return matched\n return Effect.fail(\n new HttpClientError({\n reason: new TransportError({\n request,\n description: `Simulation denied unregistered network destination: ${request.method} ${url}`,\n }),\n }),\n )\n }),\n ),\n)\n\nexport * as SimulationNetwork from \"./network\"\n", | ||
| "import { Effect, Schema, Stream } from \"effect\"\nimport { HttpClientResponse } from \"effect/unstable/http\"\nimport { OpenAIChatEvent, DEFAULT_BASE_URL, PATH } from \"@opencode-ai/llm/protocols/openai-chat\"\nimport { SimulationLLMExchange } from \"./llm-exchange\"\nimport { SimulationNetwork } from \"./network\"\n\n/**\n * Driver-answered OpenAI endpoint for the simulated network.\n *\n * Claims `POST {DEFAULT_BASE_URL}{PATH}` (the real openai-chat route\n * endpoint), opens an LLM exchange, and streams the driver's chunks back as\n * an OpenAI Chat SSE response terminated by `[DONE]`. Everything downstream\n * of the response bytes is the real pipeline: SSE framing, the OpenAIChat\n * event schema, the protocol state machine, and Lifecycle grammar.\n */\n\nconst encodeChunk = Schema.encodeUnknownSync(OpenAIChatEvent)\n\nconst encoder = new TextEncoder()\n\n// The simulated model id is echoed back only in non-schema fields; the\n// protocol event schema ignores unknown fields, so id/object/model are\n// decorative wire realism.\nfunction chunkOf(item: SimulationLLMExchange.Item): OpenAIChatEvent | unknown {\n if (item.type === \"textDelta\") return { choices: [{ delta: { content: item.text } }] }\n if (item.type === \"reasoningDelta\") return { choices: [{ delta: { reasoning_content: item.text } }] }\n if (item.type === \"toolCall\")\n return {\n choices: [\n {\n delta: {\n tool_calls: [\n {\n index: item.index,\n id: item.id,\n function: { name: item.name, arguments: JSON.stringify(item.input) },\n },\n ],\n },\n },\n ],\n }\n return item.chunk\n}\n\nconst finishReasonWire: Record<SimulationLLMExchange.FinishReason, string> = {\n stop: \"stop\",\n \"tool-calls\": \"tool_calls\",\n length: \"length\",\n \"content-filter\": \"content_filter\",\n}\n\nfunction frame(payload: unknown): Uint8Array {\n return encoder.encode(`data: ${JSON.stringify(payload)}\\n\\n`)\n}\n\nfunction sseBody(exchange: SimulationLLMExchange.Exchange): Stream.Stream<Uint8Array> {\n const chunks = Stream.fromQueue(exchange.queue).pipe(\n Stream.takeUntil((chunk) => chunk.type === \"finish\"),\n Stream.map((chunk) => {\n if (chunk.type === \"finish\")\n return frame(encodeChunk({ choices: [{ delta: {}, finish_reason: finishReasonWire[chunk.reason] }] }))\n if (chunk.item.type === \"raw\") return frame(chunk.item.chunk)\n return frame(encodeChunk(chunkOf(chunk.item)))\n }),\n )\n return chunks.pipe(\n Stream.concat(Stream.make(encoder.encode(\"data: [DONE]\\n\\n\"))),\n // Close the exchange when the response body ends or is interrupted, so\n // late driver pushes fail with ExchangeNotFoundError instead of leaking.\n Stream.ensuring(SimulationLLMExchange.close(exchange.id)),\n )\n}\n\nexport const route: SimulationNetwork.Route = {\n match: (request, url) => {\n if (request.method !== \"POST\") return undefined\n if (url.origin + url.pathname !== DEFAULT_BASE_URL + PATH) return undefined\n return Effect.gen(function* () {\n const body = request.body._tag === \"Uint8Array\" ? JSON.parse(new TextDecoder().decode(request.body.body)) : {}\n const exchange = yield* SimulationLLMExchange.open({ url: url.toString(), body })\n return HttpClientResponse.fromWeb(\n request,\n new Response(Stream.toReadableStream(sseBody(exchange)), {\n status: 200,\n headers: { \"content-type\": \"text/event-stream\" },\n }),\n )\n })\n },\n}\n\nexport * as SimulationOpenAI from \"./openai\"\n", | ||
| "import { LayerNode } from \"@opencode-ai/core/effect/layer-node\"\nimport { httpClient } from \"@opencode-ai/core/effect/app-node-platform\"\nimport { DriveManifest } from \"../manifest\"\nimport { SimulationControl } from \"./control\"\nimport { SimulationNetwork } from \"./network\"\nimport { SimulationOpenAI } from \"./openai\"\n\n/**\n * Layer replacements applied when the server is built in simulation mode.\n *\n * The server merges these into the app node build when `OPENCODE_SIMULATE`\n * is enabled, via a dynamic import so this module is never loaded eagerly.\n *\n * - Network: all outbound HTTP resolves against the simulated route table;\n * unknown destinations are denied. The driver-answered OpenAI endpoint is\n * registered here as the first route.\n *\n */\n\nSimulationNetwork.register(SimulationOpenAI.route)\n// ModelsDev dies when its catalog fetch fails, so simulation answers it with\n// an empty catalog; providers come from seeded config instead.\nSimulationNetwork.register(SimulationNetwork.json(\"GET\", \"https://models.dev/api.json\", {}))\n\nexport function startDriveServer() {\n return SimulationControl.start(DriveManifest.resolve().endpoints.backend)\n}\n\nexport const simulationReplacements: LayerNode.Replacements = [\n [httpClient, SimulationNetwork.layer],\n]\n\nexport * as Simulation from \"./index\"\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "F4612EF6C47C67FC64756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["../core/src/database/migration/20260309230000_move_org_to_state.ts"], | ||
| "sourcesContent": [ | ||
| "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260309230000_move_org_to_state\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`ALTER TABLE \\`account_state\\` ADD \\`active_org_id\\` text;`)\n yield* tx.run(\n `UPDATE \\`account_state\\` SET \\`active_org_id\\` = (SELECT \\`selected_org_id\\` FROM \\`account\\` WHERE \\`account\\`.\\`id\\` = \\`account_state\\`.\\`active_account_id\\`);`,\n )\n yield* tx.run(`ALTER TABLE \\`account\\` DROP COLUMN \\`selected_org_id\\`;`)\n })\n },\n} satisfies DatabaseMigration.Migration\n" | ||
| ], | ||
| "mappings": ";wHAGA,SAAe,QACb,GAAI,mCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,uDAA2D,EACzE,MAAO,EAAG,IACR,oJACF,EACA,MAAO,EAAG,IAAI,sDAA0D,EACzE,EAEL", | ||
| "debugId": "FDBC97C6ABD8F09064756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@aws-sdk+nested-clients@3.997.13/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/cognito-identity/index.js"], | ||
| "sourcesContent": [ | ||
| "'use strict';\n\nvar client$1 = require('@aws-sdk/core/client');\nvar core = require('@smithy/core');\nvar client = require('@smithy/core/client');\nvar config = require('@smithy/core/config');\nvar endpoints = require('@smithy/core/endpoints');\nvar protocols = require('@smithy/core/protocols');\nvar retry = require('@smithy/core/retry');\nvar schema = require('@smithy/core/schema');\nvar httpAuthSchemes = require('@aws-sdk/core/httpAuthSchemes');\nvar serde = require('@smithy/core/serde');\nvar nodeHttpHandler = require('@smithy/node-http-handler');\nvar protocols$1 = require('@aws-sdk/core/protocols');\n\nconst defaultCognitoIdentityHttpAuthSchemeParametersProvider = async (config, context, input) => {\n return {\n operation: client.getSmithyContext(context).operation,\n region: (await client.normalizeProvider(config.region)()) ||\n (() => {\n throw new Error(\"expected `region` to be configured for `aws.auth#sigv4`\");\n })(),\n };\n};\nfunction createAwsAuthSigv4HttpAuthOption(authParameters) {\n return {\n schemeId: \"aws.auth#sigv4\",\n signingProperties: {\n name: \"cognito-identity\",\n region: authParameters.region,\n },\n propertiesExtractor: (config, context) => ({\n signingProperties: {\n config,\n context,\n },\n }),\n };\n}\nfunction createSmithyApiNoAuthHttpAuthOption(authParameters) {\n return {\n schemeId: \"smithy.api#noAuth\",\n };\n}\nconst defaultCognitoIdentityHttpAuthSchemeProvider = (authParameters) => {\n const options = [];\n switch (authParameters.operation) {\n case \"GetCredentialsForIdentity\": {\n options.push(createSmithyApiNoAuthHttpAuthOption());\n break;\n }\n case \"GetId\": {\n options.push(createSmithyApiNoAuthHttpAuthOption());\n break;\n }\n default: {\n options.push(createAwsAuthSigv4HttpAuthOption(authParameters));\n }\n }\n return options;\n};\nconst resolveHttpAuthSchemeConfig = (config) => {\n const config_0 = httpAuthSchemes.resolveAwsSdkSigV4Config(config);\n return Object.assign(config_0, {\n authSchemePreference: client.normalizeProvider(config.authSchemePreference ?? []),\n });\n};\n\nconst resolveClientEndpointParameters = (options) => {\n return Object.assign(options, {\n useDualstackEndpoint: options.useDualstackEndpoint ?? false,\n useFipsEndpoint: options.useFipsEndpoint ?? false,\n defaultSigningName: \"cognito-identity\",\n });\n};\nconst commonParams = {\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n};\n\nvar version = \"3.997.12\";\nvar packageInfo = {\n\tversion: version};\n\nconst m = \"ref\";\nconst a = -1, b = true, c = \"isSet\", d = \"PartitionResult\", e = \"booleanEquals\", f = \"getAttr\", g = \"stringEquals\", h = { [m]: \"Endpoint\" }, i = { [m]: d }, j = { [m]: \"Region\" }, k = {}, l = [j];\nconst _data = {\n conditions: [\n [c, [h]],\n [c, l],\n [\"aws.partition\", l, d],\n [e, [{ [m]: \"UseFIPS\" }, b]],\n [e, [{ fn: f, argv: [i, \"supportsFIPS\"] }, b]],\n [e, [{ [m]: \"UseDualStack\" }, b]],\n [e, [{ fn: f, argv: [i, \"supportsDualStack\"] }, b]],\n [g, [{ fn: f, argv: [i, \"name\"] }, \"aws\"]],\n [g, [j, \"us-east-1\"]],\n [g, [j, \"us-east-2\"]],\n [g, [j, \"us-west-1\"]],\n [g, [j, \"us-west-2\"]],\n ],\n results: [\n [a],\n [a, \"Invalid Configuration: FIPS and custom endpoint are not supported\"],\n [a, \"Invalid Configuration: Dualstack and custom endpoint are not supported\"],\n [h, k],\n [\"https://cognito-identity-fips.us-east-1.amazonaws.com\", k],\n [\"https://cognito-identity-fips.us-east-2.amazonaws.com\", k],\n [\"https://cognito-identity-fips.us-west-1.amazonaws.com\", k],\n [\"https://cognito-identity-fips.us-west-2.amazonaws.com\", k],\n [\"https://cognito-identity-fips.{Region}.{PartitionResult#dualStackDnsSuffix}\", k],\n [a, \"FIPS and DualStack are enabled, but this partition does not support one or both\"],\n [\"https://cognito-identity-fips.{Region}.{PartitionResult#dnsSuffix}\", k],\n [a, \"FIPS is enabled but this partition does not support FIPS\"],\n [\"https://cognito-identity.{Region}.amazonaws.com\", k],\n [\"https://cognito-identity.{Region}.{PartitionResult#dualStackDnsSuffix}\", k],\n [a, \"DualStack is enabled but this partition does not support DualStack\"],\n [\"https://cognito-identity.{Region}.{PartitionResult#dnsSuffix}\", k],\n [a, \"Invalid Configuration: Missing Region\"],\n ],\n};\nconst root = 2;\nconst r = 100_000_000;\nconst nodes = new Int32Array([\n -1,\n 1,\n -1,\n 0,\n 17,\n 3,\n 1,\n 4,\n r + 16,\n 2,\n 5,\n r + 16,\n 3,\n 9,\n 6,\n 5,\n 7,\n r + 15,\n 6,\n 8,\n r + 14,\n 7,\n r + 12,\n r + 13,\n 4,\n 11,\n 10,\n 5,\n r + 9,\n r + 11,\n 5,\n 12,\n r + 10,\n 6,\n 13,\n r + 9,\n 8,\n r + 4,\n 14,\n 9,\n r + 5,\n 15,\n 10,\n r + 6,\n 16,\n 11,\n r + 7,\n r + 8,\n 3,\n r + 1,\n 18,\n 5,\n r + 2,\n r + 3,\n]);\nconst bdd = endpoints.BinaryDecisionDiagram.from(nodes, root, _data.conditions, _data.results);\n\nconst cache = new endpoints.EndpointCache({\n size: 50,\n params: [\"Endpoint\", \"Region\", \"UseDualStack\", \"UseFIPS\"],\n});\nconst defaultEndpointResolver = (endpointParams, context = {}) => {\n return cache.get(endpointParams, () => endpoints.decideEndpoint(bdd, {\n endpointParams: endpointParams,\n logger: context.logger,\n }));\n};\nendpoints.customEndpointFunctions.aws = client$1.awsEndpointFunctions;\n\nclass CognitoIdentityServiceException extends client.ServiceException {\n constructor(options) {\n super(options);\n Object.setPrototypeOf(this, CognitoIdentityServiceException.prototype);\n }\n}\n\nclass ExternalServiceException extends CognitoIdentityServiceException {\n name = \"ExternalServiceException\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"ExternalServiceException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, ExternalServiceException.prototype);\n }\n}\nclass InternalErrorException extends CognitoIdentityServiceException {\n name = \"InternalErrorException\";\n $fault = \"server\";\n constructor(opts) {\n super({\n name: \"InternalErrorException\",\n $fault: \"server\",\n ...opts,\n });\n Object.setPrototypeOf(this, InternalErrorException.prototype);\n }\n}\nclass InvalidIdentityPoolConfigurationException extends CognitoIdentityServiceException {\n name = \"InvalidIdentityPoolConfigurationException\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"InvalidIdentityPoolConfigurationException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, InvalidIdentityPoolConfigurationException.prototype);\n }\n}\nclass InvalidParameterException extends CognitoIdentityServiceException {\n name = \"InvalidParameterException\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"InvalidParameterException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, InvalidParameterException.prototype);\n }\n}\nclass NotAuthorizedException extends CognitoIdentityServiceException {\n name = \"NotAuthorizedException\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"NotAuthorizedException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, NotAuthorizedException.prototype);\n }\n}\nclass ResourceConflictException extends CognitoIdentityServiceException {\n name = \"ResourceConflictException\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"ResourceConflictException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, ResourceConflictException.prototype);\n }\n}\nclass ResourceNotFoundException extends CognitoIdentityServiceException {\n name = \"ResourceNotFoundException\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"ResourceNotFoundException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, ResourceNotFoundException.prototype);\n }\n}\nclass TooManyRequestsException extends CognitoIdentityServiceException {\n name = \"TooManyRequestsException\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"TooManyRequestsException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, TooManyRequestsException.prototype);\n }\n}\nclass LimitExceededException extends CognitoIdentityServiceException {\n name = \"LimitExceededException\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"LimitExceededException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, LimitExceededException.prototype);\n }\n}\n\nconst _AI = \"AccountId\";\nconst _AKI = \"AccessKeyId\";\nconst _C = \"Credentials\";\nconst _CRA = \"CustomRoleArn\";\nconst _E = \"Expiration\";\nconst _ESE = \"ExternalServiceException\";\nconst _GCFI = \"GetCredentialsForIdentity\";\nconst _GCFII = \"GetCredentialsForIdentityInput\";\nconst _GCFIR = \"GetCredentialsForIdentityResponse\";\nconst _GI = \"GetId\";\nconst _GII = \"GetIdInput\";\nconst _GIR = \"GetIdResponse\";\nconst _IEE = \"InternalErrorException\";\nconst _II = \"IdentityId\";\nconst _IIPCE = \"InvalidIdentityPoolConfigurationException\";\nconst _IPE = \"InvalidParameterException\";\nconst _IPI = \"IdentityPoolId\";\nconst _IPT = \"IdentityProviderToken\";\nconst _L = \"Logins\";\nconst _LEE = \"LimitExceededException\";\nconst _LM = \"LoginsMap\";\nconst _NAE = \"NotAuthorizedException\";\nconst _RCE = \"ResourceConflictException\";\nconst _RNFE = \"ResourceNotFoundException\";\nconst _SK = \"SecretKey\";\nconst _SKS = \"SecretKeyString\";\nconst _ST = \"SessionToken\";\nconst _TMRE = \"TooManyRequestsException\";\nconst _c = \"client\";\nconst _e = \"error\";\nconst _hE = \"httpError\";\nconst _m = \"message\";\nconst _s = \"smithy.ts.sdk.synthetic.com.amazonaws.cognitoidentity\";\nconst _se = \"server\";\nconst n0 = \"com.amazonaws.cognitoidentity\";\nconst _s_registry = schema.TypeRegistry.for(_s);\nvar CognitoIdentityServiceException$ = [-3, _s, \"CognitoIdentityServiceException\", 0, [], []];\n_s_registry.registerError(CognitoIdentityServiceException$, CognitoIdentityServiceException);\nconst n0_registry = schema.TypeRegistry.for(n0);\nvar ExternalServiceException$ = [-3, n0, _ESE, { [_e]: _c, [_hE]: 400 }, [_m], [0]];\nn0_registry.registerError(ExternalServiceException$, ExternalServiceException);\nvar InternalErrorException$ = [-3, n0, _IEE, { [_e]: _se }, [_m], [0]];\nn0_registry.registerError(InternalErrorException$, InternalErrorException);\nvar InvalidIdentityPoolConfigurationException$ = [\n -3,\n n0,\n _IIPCE,\n { [_e]: _c, [_hE]: 400 },\n [_m],\n [0],\n];\nn0_registry.registerError(InvalidIdentityPoolConfigurationException$, InvalidIdentityPoolConfigurationException);\nvar InvalidParameterException$ = [-3, n0, _IPE, { [_e]: _c, [_hE]: 400 }, [_m], [0]];\nn0_registry.registerError(InvalidParameterException$, InvalidParameterException);\nvar LimitExceededException$ = [-3, n0, _LEE, { [_e]: _c, [_hE]: 400 }, [_m], [0]];\nn0_registry.registerError(LimitExceededException$, LimitExceededException);\nvar NotAuthorizedException$ = [-3, n0, _NAE, { [_e]: _c, [_hE]: 403 }, [_m], [0]];\nn0_registry.registerError(NotAuthorizedException$, NotAuthorizedException);\nvar ResourceConflictException$ = [-3, n0, _RCE, { [_e]: _c, [_hE]: 409 }, [_m], [0]];\nn0_registry.registerError(ResourceConflictException$, ResourceConflictException);\nvar ResourceNotFoundException$ = [-3, n0, _RNFE, { [_e]: _c, [_hE]: 404 }, [_m], [0]];\nn0_registry.registerError(ResourceNotFoundException$, ResourceNotFoundException);\nvar TooManyRequestsException$ = [-3, n0, _TMRE, { [_e]: _c, [_hE]: 429 }, [_m], [0]];\nn0_registry.registerError(TooManyRequestsException$, TooManyRequestsException);\nconst errorTypeRegistries = [_s_registry, n0_registry];\nvar IdentityProviderToken = [0, n0, _IPT, 8, 0];\nvar SecretKeyString = [0, n0, _SKS, 8, 0];\nvar Credentials$ = [\n 3,\n n0,\n _C,\n 0,\n [_AKI, _SK, _ST, _E],\n [0, [() => SecretKeyString, 0], 0, 4],\n];\nvar GetCredentialsForIdentityInput$ = [\n 3,\n n0,\n _GCFII,\n 0,\n [_II, _L, _CRA],\n [0, [() => LoginsMap, 0], 0],\n 1,\n];\nvar GetCredentialsForIdentityResponse$ = [\n 3,\n n0,\n _GCFIR,\n 0,\n [_II, _C],\n [0, [() => Credentials$, 0]],\n];\nvar GetIdInput$ = [3, n0, _GII, 0, [_IPI, _AI, _L], [0, 0, [() => LoginsMap, 0]], 1];\nvar GetIdResponse$ = [3, n0, _GIR, 0, [_II], [0]];\nvar LoginsMap = [2, n0, _LM, 0, [0, 0], [() => IdentityProviderToken, 0]];\nvar GetCredentialsForIdentity$ = [\n 9,\n n0,\n _GCFI,\n 0,\n () => GetCredentialsForIdentityInput$,\n () => GetCredentialsForIdentityResponse$,\n];\nvar GetId$ = [9, n0, _GI, 0, () => GetIdInput$, () => GetIdResponse$];\n\nconst getRuntimeConfig$1 = (config) => {\n return {\n apiVersion: \"2014-06-30\",\n base64Decoder: config?.base64Decoder ?? serde.fromBase64,\n base64Encoder: config?.base64Encoder ?? serde.toBase64,\n disableHostPrefix: config?.disableHostPrefix ?? false,\n endpointProvider: config?.endpointProvider ?? defaultEndpointResolver,\n extensions: config?.extensions ?? [],\n httpAuthSchemeProvider: config?.httpAuthSchemeProvider ?? defaultCognitoIdentityHttpAuthSchemeProvider,\n httpAuthSchemes: config?.httpAuthSchemes ?? [\n {\n schemeId: \"aws.auth#sigv4\",\n identityProvider: (ipc) => ipc.getIdentityProvider(\"aws.auth#sigv4\"),\n signer: new httpAuthSchemes.AwsSdkSigV4Signer(),\n },\n {\n schemeId: \"smithy.api#noAuth\",\n identityProvider: (ipc) => ipc.getIdentityProvider(\"smithy.api#noAuth\") || (async () => ({})),\n signer: new core.NoAuthSigner(),\n },\n ],\n logger: config?.logger ?? new client.NoOpLogger(),\n protocol: config?.protocol ?? protocols$1.AwsJson1_1Protocol,\n protocolSettings: config?.protocolSettings ?? {\n defaultNamespace: \"com.amazonaws.cognitoidentity\",\n errorTypeRegistries,\n xmlNamespace: \"http://cognito-identity.amazonaws.com/doc/2014-06-30/\",\n version: \"2014-06-30\",\n serviceTarget: \"AWSCognitoIdentityService\",\n },\n serviceId: config?.serviceId ?? \"Cognito Identity\",\n urlParser: config?.urlParser ?? protocols.parseUrl,\n utf8Decoder: config?.utf8Decoder ?? serde.fromUtf8,\n utf8Encoder: config?.utf8Encoder ?? serde.toUtf8,\n };\n};\n\nconst getRuntimeConfig = (config$1) => {\n client.emitWarningIfUnsupportedVersion(process.version);\n const defaultsMode = config.resolveDefaultsModeConfig(config$1);\n const defaultConfigProvider = () => defaultsMode().then(client.loadConfigsForDefaultMode);\n const clientSharedValues = getRuntimeConfig$1(config$1);\n client$1.emitWarningIfUnsupportedVersion(process.version);\n const loaderConfig = {\n profile: config$1?.profile,\n logger: clientSharedValues.logger,\n };\n return {\n ...clientSharedValues,\n ...config$1,\n runtime: \"node\",\n defaultsMode,\n authSchemePreference: config$1?.authSchemePreference ?? config.loadConfig(httpAuthSchemes.NODE_AUTH_SCHEME_PREFERENCE_OPTIONS, loaderConfig),\n bodyLengthChecker: config$1?.bodyLengthChecker ?? serde.calculateBodyLength,\n defaultUserAgentProvider: config$1?.defaultUserAgentProvider ??\n client$1.createDefaultUserAgentProvider({ serviceId: clientSharedValues.serviceId, clientVersion: packageInfo.version }),\n maxAttempts: config$1?.maxAttempts ?? config.loadConfig(retry.NODE_MAX_ATTEMPT_CONFIG_OPTIONS, config$1),\n region: config$1?.region ??\n config.loadConfig(config.NODE_REGION_CONFIG_OPTIONS, { ...config.NODE_REGION_CONFIG_FILE_OPTIONS, ...loaderConfig }),\n requestHandler: nodeHttpHandler.NodeHttpHandler.create(config$1?.requestHandler ?? defaultConfigProvider),\n retryMode: config$1?.retryMode ??\n config.loadConfig({\n ...retry.NODE_RETRY_MODE_CONFIG_OPTIONS,\n default: async () => (await defaultConfigProvider()).retryMode || retry.DEFAULT_RETRY_MODE,\n }, config$1),\n sha256: config$1?.sha256 ?? serde.Hash.bind(null, \"sha256\"),\n streamCollector: config$1?.streamCollector ?? nodeHttpHandler.streamCollector,\n useDualstackEndpoint: config$1?.useDualstackEndpoint ?? config.loadConfig(config.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS, loaderConfig),\n useFipsEndpoint: config$1?.useFipsEndpoint ?? config.loadConfig(config.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS, loaderConfig),\n userAgentAppId: config$1?.userAgentAppId ?? config.loadConfig(client$1.NODE_APP_ID_CONFIG_OPTIONS, loaderConfig),\n };\n};\n\nconst getHttpAuthExtensionConfiguration = (runtimeConfig) => {\n const _httpAuthSchemes = runtimeConfig.httpAuthSchemes;\n let _httpAuthSchemeProvider = runtimeConfig.httpAuthSchemeProvider;\n let _credentials = runtimeConfig.credentials;\n return {\n setHttpAuthScheme(httpAuthScheme) {\n const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId);\n if (index === -1) {\n _httpAuthSchemes.push(httpAuthScheme);\n }\n else {\n _httpAuthSchemes.splice(index, 1, httpAuthScheme);\n }\n },\n httpAuthSchemes() {\n return _httpAuthSchemes;\n },\n setHttpAuthSchemeProvider(httpAuthSchemeProvider) {\n _httpAuthSchemeProvider = httpAuthSchemeProvider;\n },\n httpAuthSchemeProvider() {\n return _httpAuthSchemeProvider;\n },\n setCredentials(credentials) {\n _credentials = credentials;\n },\n credentials() {\n return _credentials;\n },\n };\n};\nconst resolveHttpAuthRuntimeConfig = (config) => {\n return {\n httpAuthSchemes: config.httpAuthSchemes(),\n httpAuthSchemeProvider: config.httpAuthSchemeProvider(),\n credentials: config.credentials(),\n };\n};\n\nconst resolveRuntimeExtensions = (runtimeConfig, extensions) => {\n const extensionConfiguration = Object.assign(client$1.getAwsRegionExtensionConfiguration(runtimeConfig), client.getDefaultExtensionConfiguration(runtimeConfig), protocols.getHttpHandlerExtensionConfiguration(runtimeConfig), getHttpAuthExtensionConfiguration(runtimeConfig));\n extensions.forEach((extension) => extension.configure(extensionConfiguration));\n return Object.assign(runtimeConfig, client$1.resolveAwsRegionExtensionConfiguration(extensionConfiguration), client.resolveDefaultRuntimeConfig(extensionConfiguration), protocols.resolveHttpHandlerRuntimeConfig(extensionConfiguration), resolveHttpAuthRuntimeConfig(extensionConfiguration));\n};\n\nclass CognitoIdentityClient extends client.Client {\n config;\n constructor(...[configuration]) {\n const _config_0 = getRuntimeConfig(configuration || {});\n super(_config_0);\n this.initConfig = _config_0;\n const _config_1 = resolveClientEndpointParameters(_config_0);\n const _config_2 = client$1.resolveUserAgentConfig(_config_1);\n const _config_3 = retry.resolveRetryConfig(_config_2);\n const _config_4 = config.resolveRegionConfig(_config_3);\n const _config_5 = client$1.resolveHostHeaderConfig(_config_4);\n const _config_6 = endpoints.resolveEndpointConfig(_config_5);\n const _config_7 = resolveHttpAuthSchemeConfig(_config_6);\n const _config_8 = resolveRuntimeExtensions(_config_7, configuration?.extensions || []);\n this.config = _config_8;\n this.middlewareStack.use(schema.getSchemaSerdePlugin(this.config));\n this.middlewareStack.use(client$1.getUserAgentPlugin(this.config));\n this.middlewareStack.use(retry.getRetryPlugin(this.config));\n this.middlewareStack.use(protocols.getContentLengthPlugin(this.config));\n this.middlewareStack.use(client$1.getHostHeaderPlugin(this.config));\n this.middlewareStack.use(client$1.getLoggerPlugin(this.config));\n this.middlewareStack.use(client$1.getRecursionDetectionPlugin(this.config));\n this.middlewareStack.use(core.getHttpAuthSchemeEndpointRuleSetPlugin(this.config, {\n httpAuthSchemeParametersProvider: defaultCognitoIdentityHttpAuthSchemeParametersProvider,\n identityProviderConfigProvider: async (config) => new core.DefaultIdentityProviderConfig({\n \"aws.auth#sigv4\": config.credentials,\n }),\n }));\n this.middlewareStack.use(core.getHttpSigningPlugin(this.config));\n }\n destroy() {\n super.destroy();\n }\n}\n\nclass GetCredentialsForIdentityCommand extends client.Command\n .classBuilder()\n .ep(commonParams)\n .m(function (Command, cs, config, o) {\n return [endpoints.getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"AWSCognitoIdentityService\", \"GetCredentialsForIdentity\", {})\n .n(\"CognitoIdentityClient\", \"GetCredentialsForIdentityCommand\")\n .sc(GetCredentialsForIdentity$)\n .build() {\n}\n\nclass GetIdCommand extends client.Command\n .classBuilder()\n .ep(commonParams)\n .m(function (Command, cs, config, o) {\n return [endpoints.getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"AWSCognitoIdentityService\", \"GetId\", {})\n .n(\"CognitoIdentityClient\", \"GetIdCommand\")\n .sc(GetId$)\n .build() {\n}\n\nconst commands = {\n GetCredentialsForIdentityCommand,\n GetIdCommand,\n};\nclass CognitoIdentity extends CognitoIdentityClient {\n}\nclient.createAggregatedClient(commands, CognitoIdentity);\n\nexports.$Command = client.Command;\nexports.__Client = client.Client;\nexports.CognitoIdentity = CognitoIdentity;\nexports.CognitoIdentityClient = CognitoIdentityClient;\nexports.CognitoIdentityServiceException = CognitoIdentityServiceException;\nexports.CognitoIdentityServiceException$ = CognitoIdentityServiceException$;\nexports.Credentials$ = Credentials$;\nexports.ExternalServiceException = ExternalServiceException;\nexports.ExternalServiceException$ = ExternalServiceException$;\nexports.GetCredentialsForIdentity$ = GetCredentialsForIdentity$;\nexports.GetCredentialsForIdentityCommand = GetCredentialsForIdentityCommand;\nexports.GetCredentialsForIdentityInput$ = GetCredentialsForIdentityInput$;\nexports.GetCredentialsForIdentityResponse$ = GetCredentialsForIdentityResponse$;\nexports.GetId$ = GetId$;\nexports.GetIdCommand = GetIdCommand;\nexports.GetIdInput$ = GetIdInput$;\nexports.GetIdResponse$ = GetIdResponse$;\nexports.InternalErrorException = InternalErrorException;\nexports.InternalErrorException$ = InternalErrorException$;\nexports.InvalidIdentityPoolConfigurationException = InvalidIdentityPoolConfigurationException;\nexports.InvalidIdentityPoolConfigurationException$ = InvalidIdentityPoolConfigurationException$;\nexports.InvalidParameterException = InvalidParameterException;\nexports.InvalidParameterException$ = InvalidParameterException$;\nexports.LimitExceededException = LimitExceededException;\nexports.LimitExceededException$ = LimitExceededException$;\nexports.NotAuthorizedException = NotAuthorizedException;\nexports.NotAuthorizedException$ = NotAuthorizedException$;\nexports.ResourceConflictException = ResourceConflictException;\nexports.ResourceConflictException$ = ResourceConflictException$;\nexports.ResourceNotFoundException = ResourceNotFoundException;\nexports.ResourceNotFoundException$ = ResourceNotFoundException$;\nexports.TooManyRequestsException = TooManyRequestsException;\nexports.TooManyRequestsException$ = TooManyRequestsException$;\nexports.errorTypeRegistries = errorTypeRegistries;\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "ABC535EE33701E2664756E2164756E21", | ||
| "names": [] | ||
| } |
| { | ||
| "version": 3, | ||
| "sources": ["../../node_modules/.bun/@aws-sdk+nested-clients@3.997.13/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/index.js"], | ||
| "sourcesContent": [ | ||
| "'use strict';\n\nvar client$1 = require('@aws-sdk/core/client');\nvar core = require('@smithy/core');\nvar client = require('@smithy/core/client');\nvar config = require('@smithy/core/config');\nvar endpoints = require('@smithy/core/endpoints');\nvar protocols = require('@smithy/core/protocols');\nvar retry = require('@smithy/core/retry');\nvar schema = require('@smithy/core/schema');\nvar httpAuthSchemes = require('@aws-sdk/core/httpAuthSchemes');\nvar serde = require('@smithy/core/serde');\nvar nodeHttpHandler = require('@smithy/node-http-handler');\nvar protocols$1 = require('@aws-sdk/core/protocols');\n\nconst defaultSSOOIDCHttpAuthSchemeParametersProvider = async (config, context, input) => {\n return {\n operation: client.getSmithyContext(context).operation,\n region: (await client.normalizeProvider(config.region)()) ||\n (() => {\n throw new Error(\"expected `region` to be configured for `aws.auth#sigv4`\");\n })(),\n };\n};\nfunction createAwsAuthSigv4HttpAuthOption(authParameters) {\n return {\n schemeId: \"aws.auth#sigv4\",\n signingProperties: {\n name: \"sso-oauth\",\n region: authParameters.region,\n },\n propertiesExtractor: (config, context) => ({\n signingProperties: {\n config,\n context,\n },\n }),\n };\n}\nfunction createSmithyApiNoAuthHttpAuthOption(authParameters) {\n return {\n schemeId: \"smithy.api#noAuth\",\n };\n}\nconst defaultSSOOIDCHttpAuthSchemeProvider = (authParameters) => {\n const options = [];\n switch (authParameters.operation) {\n case \"CreateToken\": {\n options.push(createSmithyApiNoAuthHttpAuthOption());\n break;\n }\n default: {\n options.push(createAwsAuthSigv4HttpAuthOption(authParameters));\n }\n }\n return options;\n};\nconst resolveHttpAuthSchemeConfig = (config) => {\n const config_0 = httpAuthSchemes.resolveAwsSdkSigV4Config(config);\n return Object.assign(config_0, {\n authSchemePreference: client.normalizeProvider(config.authSchemePreference ?? []),\n });\n};\n\nconst resolveClientEndpointParameters = (options) => {\n return Object.assign(options, {\n useDualstackEndpoint: options.useDualstackEndpoint ?? false,\n useFipsEndpoint: options.useFipsEndpoint ?? false,\n defaultSigningName: \"sso-oauth\",\n });\n};\nconst commonParams = {\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n};\n\nvar version = \"3.997.12\";\nvar packageInfo = {\n\tversion: version};\n\nconst k = \"ref\";\nconst a = -1, b = true, c = \"isSet\", d = \"PartitionResult\", e = \"booleanEquals\", f = \"getAttr\", g = { [k]: \"Endpoint\" }, h = { [k]: d }, i = {}, j = [{ [k]: \"Region\" }];\nconst _data = {\n conditions: [\n [c, [g]],\n [c, j],\n [\"aws.partition\", j, d],\n [e, [{ [k]: \"UseFIPS\" }, b]],\n [e, [{ [k]: \"UseDualStack\" }, b]],\n [e, [{ fn: f, argv: [h, \"supportsDualStack\"] }, b]],\n [e, [{ fn: f, argv: [h, \"supportsFIPS\"] }, b]],\n [\"stringEquals\", [{ fn: f, argv: [h, \"name\"] }, \"aws-us-gov\"]],\n ],\n results: [\n [a],\n [a, \"Invalid Configuration: FIPS and custom endpoint are not supported\"],\n [a, \"Invalid Configuration: Dualstack and custom endpoint are not supported\"],\n [g, i],\n [\"https://oidc-fips.{Region}.{PartitionResult#dualStackDnsSuffix}\", i],\n [a, \"FIPS and DualStack are enabled, but this partition does not support one or both\"],\n [\"https://oidc.{Region}.amazonaws.com\", i],\n [\"https://oidc-fips.{Region}.{PartitionResult#dnsSuffix}\", i],\n [a, \"FIPS is enabled but this partition does not support FIPS\"],\n [\"https://oidc.{Region}.{PartitionResult#dualStackDnsSuffix}\", i],\n [a, \"DualStack is enabled but this partition does not support DualStack\"],\n [\"https://oidc.{Region}.{PartitionResult#dnsSuffix}\", i],\n [a, \"Invalid Configuration: Missing Region\"],\n ],\n};\nconst root = 2;\nconst r = 100_000_000;\nconst nodes = new Int32Array([\n -1,\n 1,\n -1,\n 0,\n 13,\n 3,\n 1,\n 4,\n r + 12,\n 2,\n 5,\n r + 12,\n 3,\n 8,\n 6,\n 4,\n 7,\n r + 11,\n 5,\n r + 9,\n r + 10,\n 4,\n 11,\n 9,\n 6,\n 10,\n r + 8,\n 7,\n r + 6,\n r + 7,\n 5,\n 12,\n r + 5,\n 6,\n r + 4,\n r + 5,\n 3,\n r + 1,\n 14,\n 4,\n r + 2,\n r + 3,\n]);\nconst bdd = endpoints.BinaryDecisionDiagram.from(nodes, root, _data.conditions, _data.results);\n\nconst cache = new endpoints.EndpointCache({\n size: 50,\n params: [\"Endpoint\", \"Region\", \"UseDualStack\", \"UseFIPS\"],\n});\nconst defaultEndpointResolver = (endpointParams, context = {}) => {\n return cache.get(endpointParams, () => endpoints.decideEndpoint(bdd, {\n endpointParams: endpointParams,\n logger: context.logger,\n }));\n};\nendpoints.customEndpointFunctions.aws = client$1.awsEndpointFunctions;\n\nclass SSOOIDCServiceException extends client.ServiceException {\n constructor(options) {\n super(options);\n Object.setPrototypeOf(this, SSOOIDCServiceException.prototype);\n }\n}\n\nclass AccessDeniedException extends SSOOIDCServiceException {\n name = \"AccessDeniedException\";\n $fault = \"client\";\n error;\n reason;\n error_description;\n constructor(opts) {\n super({\n name: \"AccessDeniedException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, AccessDeniedException.prototype);\n this.error = opts.error;\n this.reason = opts.reason;\n this.error_description = opts.error_description;\n }\n}\nclass AuthorizationPendingException extends SSOOIDCServiceException {\n name = \"AuthorizationPendingException\";\n $fault = \"client\";\n error;\n error_description;\n constructor(opts) {\n super({\n name: \"AuthorizationPendingException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, AuthorizationPendingException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nclass ExpiredTokenException extends SSOOIDCServiceException {\n name = \"ExpiredTokenException\";\n $fault = \"client\";\n error;\n error_description;\n constructor(opts) {\n super({\n name: \"ExpiredTokenException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, ExpiredTokenException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nclass InternalServerException extends SSOOIDCServiceException {\n name = \"InternalServerException\";\n $fault = \"server\";\n error;\n error_description;\n constructor(opts) {\n super({\n name: \"InternalServerException\",\n $fault: \"server\",\n ...opts,\n });\n Object.setPrototypeOf(this, InternalServerException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nclass InvalidClientException extends SSOOIDCServiceException {\n name = \"InvalidClientException\";\n $fault = \"client\";\n error;\n error_description;\n constructor(opts) {\n super({\n name: \"InvalidClientException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, InvalidClientException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nclass InvalidGrantException extends SSOOIDCServiceException {\n name = \"InvalidGrantException\";\n $fault = \"client\";\n error;\n error_description;\n constructor(opts) {\n super({\n name: \"InvalidGrantException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, InvalidGrantException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nclass InvalidRequestException extends SSOOIDCServiceException {\n name = \"InvalidRequestException\";\n $fault = \"client\";\n error;\n reason;\n error_description;\n constructor(opts) {\n super({\n name: \"InvalidRequestException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, InvalidRequestException.prototype);\n this.error = opts.error;\n this.reason = opts.reason;\n this.error_description = opts.error_description;\n }\n}\nclass InvalidScopeException extends SSOOIDCServiceException {\n name = \"InvalidScopeException\";\n $fault = \"client\";\n error;\n error_description;\n constructor(opts) {\n super({\n name: \"InvalidScopeException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, InvalidScopeException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nclass SlowDownException extends SSOOIDCServiceException {\n name = \"SlowDownException\";\n $fault = \"client\";\n error;\n error_description;\n constructor(opts) {\n super({\n name: \"SlowDownException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, SlowDownException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nclass UnauthorizedClientException extends SSOOIDCServiceException {\n name = \"UnauthorizedClientException\";\n $fault = \"client\";\n error;\n error_description;\n constructor(opts) {\n super({\n name: \"UnauthorizedClientException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, UnauthorizedClientException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nclass UnsupportedGrantTypeException extends SSOOIDCServiceException {\n name = \"UnsupportedGrantTypeException\";\n $fault = \"client\";\n error;\n error_description;\n constructor(opts) {\n super({\n name: \"UnsupportedGrantTypeException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, UnsupportedGrantTypeException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\n\nconst _ADE = \"AccessDeniedException\";\nconst _APE = \"AuthorizationPendingException\";\nconst _AT = \"AccessToken\";\nconst _CS = \"ClientSecret\";\nconst _CT = \"CreateToken\";\nconst _CTR = \"CreateTokenRequest\";\nconst _CTRr = \"CreateTokenResponse\";\nconst _CV = \"CodeVerifier\";\nconst _ETE = \"ExpiredTokenException\";\nconst _ICE = \"InvalidClientException\";\nconst _IGE = \"InvalidGrantException\";\nconst _IRE = \"InvalidRequestException\";\nconst _ISE = \"InternalServerException\";\nconst _ISEn = \"InvalidScopeException\";\nconst _IT = \"IdToken\";\nconst _RT = \"RefreshToken\";\nconst _SDE = \"SlowDownException\";\nconst _UCE = \"UnauthorizedClientException\";\nconst _UGTE = \"UnsupportedGrantTypeException\";\nconst _aT = \"accessToken\";\nconst _c = \"client\";\nconst _cI = \"clientId\";\nconst _cS = \"clientSecret\";\nconst _cV = \"codeVerifier\";\nconst _co = \"code\";\nconst _dC = \"deviceCode\";\nconst _e = \"error\";\nconst _eI = \"expiresIn\";\nconst _ed = \"error_description\";\nconst _gT = \"grantType\";\nconst _h = \"http\";\nconst _hE = \"httpError\";\nconst _iT = \"idToken\";\nconst _r = \"reason\";\nconst _rT = \"refreshToken\";\nconst _rU = \"redirectUri\";\nconst _s = \"smithy.ts.sdk.synthetic.com.amazonaws.ssooidc\";\nconst _sc = \"scope\";\nconst _se = \"server\";\nconst _tT = \"tokenType\";\nconst n0 = \"com.amazonaws.ssooidc\";\nconst _s_registry = schema.TypeRegistry.for(_s);\nvar SSOOIDCServiceException$ = [-3, _s, \"SSOOIDCServiceException\", 0, [], []];\n_s_registry.registerError(SSOOIDCServiceException$, SSOOIDCServiceException);\nconst n0_registry = schema.TypeRegistry.for(n0);\nvar AccessDeniedException$ = [\n -3,\n n0,\n _ADE,\n { [_e]: _c, [_hE]: 400 },\n [_e, _r, _ed],\n [0, 0, 0],\n];\nn0_registry.registerError(AccessDeniedException$, AccessDeniedException);\nvar AuthorizationPendingException$ = [\n -3,\n n0,\n _APE,\n { [_e]: _c, [_hE]: 400 },\n [_e, _ed],\n [0, 0],\n];\nn0_registry.registerError(AuthorizationPendingException$, AuthorizationPendingException);\nvar ExpiredTokenException$ = [-3, n0, _ETE, { [_e]: _c, [_hE]: 400 }, [_e, _ed], [0, 0]];\nn0_registry.registerError(ExpiredTokenException$, ExpiredTokenException);\nvar InternalServerException$ = [-3, n0, _ISE, { [_e]: _se, [_hE]: 500 }, [_e, _ed], [0, 0]];\nn0_registry.registerError(InternalServerException$, InternalServerException);\nvar InvalidClientException$ = [-3, n0, _ICE, { [_e]: _c, [_hE]: 401 }, [_e, _ed], [0, 0]];\nn0_registry.registerError(InvalidClientException$, InvalidClientException);\nvar InvalidGrantException$ = [-3, n0, _IGE, { [_e]: _c, [_hE]: 400 }, [_e, _ed], [0, 0]];\nn0_registry.registerError(InvalidGrantException$, InvalidGrantException);\nvar InvalidRequestException$ = [\n -3,\n n0,\n _IRE,\n { [_e]: _c, [_hE]: 400 },\n [_e, _r, _ed],\n [0, 0, 0],\n];\nn0_registry.registerError(InvalidRequestException$, InvalidRequestException);\nvar InvalidScopeException$ = [-3, n0, _ISEn, { [_e]: _c, [_hE]: 400 }, [_e, _ed], [0, 0]];\nn0_registry.registerError(InvalidScopeException$, InvalidScopeException);\nvar SlowDownException$ = [-3, n0, _SDE, { [_e]: _c, [_hE]: 400 }, [_e, _ed], [0, 0]];\nn0_registry.registerError(SlowDownException$, SlowDownException);\nvar UnauthorizedClientException$ = [\n -3,\n n0,\n _UCE,\n { [_e]: _c, [_hE]: 400 },\n [_e, _ed],\n [0, 0],\n];\nn0_registry.registerError(UnauthorizedClientException$, UnauthorizedClientException);\nvar UnsupportedGrantTypeException$ = [\n -3,\n n0,\n _UGTE,\n { [_e]: _c, [_hE]: 400 },\n [_e, _ed],\n [0, 0],\n];\nn0_registry.registerError(UnsupportedGrantTypeException$, UnsupportedGrantTypeException);\nconst errorTypeRegistries = [_s_registry, n0_registry];\nvar AccessToken = [0, n0, _AT, 8, 0];\nvar ClientSecret = [0, n0, _CS, 8, 0];\nvar CodeVerifier = [0, n0, _CV, 8, 0];\nvar IdToken = [0, n0, _IT, 8, 0];\nvar RefreshToken = [0, n0, _RT, 8, 0];\nvar CreateTokenRequest$ = [\n 3,\n n0,\n _CTR,\n 0,\n [_cI, _cS, _gT, _dC, _co, _rT, _sc, _rU, _cV],\n [0, [() => ClientSecret, 0], 0, 0, 0, [() => RefreshToken, 0], 64 | 0, 0, [() => CodeVerifier, 0]],\n 3,\n];\nvar CreateTokenResponse$ = [\n 3,\n n0,\n _CTRr,\n 0,\n [_aT, _tT, _eI, _rT, _iT],\n [[() => AccessToken, 0], 0, 1, [() => RefreshToken, 0], [() => IdToken, 0]],\n];\nvar CreateToken$ = [\n 9,\n n0,\n _CT,\n { [_h]: [\"POST\", \"/token\", 200] },\n () => CreateTokenRequest$,\n () => CreateTokenResponse$,\n];\n\nconst getRuntimeConfig$1 = (config) => {\n return {\n apiVersion: \"2019-06-10\",\n base64Decoder: config?.base64Decoder ?? serde.fromBase64,\n base64Encoder: config?.base64Encoder ?? serde.toBase64,\n disableHostPrefix: config?.disableHostPrefix ?? false,\n endpointProvider: config?.endpointProvider ?? defaultEndpointResolver,\n extensions: config?.extensions ?? [],\n httpAuthSchemeProvider: config?.httpAuthSchemeProvider ?? defaultSSOOIDCHttpAuthSchemeProvider,\n httpAuthSchemes: config?.httpAuthSchemes ?? [\n {\n schemeId: \"aws.auth#sigv4\",\n identityProvider: (ipc) => ipc.getIdentityProvider(\"aws.auth#sigv4\"),\n signer: new httpAuthSchemes.AwsSdkSigV4Signer(),\n },\n {\n schemeId: \"smithy.api#noAuth\",\n identityProvider: (ipc) => ipc.getIdentityProvider(\"smithy.api#noAuth\") || (async () => ({})),\n signer: new core.NoAuthSigner(),\n },\n ],\n logger: config?.logger ?? new client.NoOpLogger(),\n protocol: config?.protocol ?? protocols$1.AwsRestJsonProtocol,\n protocolSettings: config?.protocolSettings ?? {\n defaultNamespace: \"com.amazonaws.ssooidc\",\n errorTypeRegistries,\n version: \"2019-06-10\",\n serviceTarget: \"AWSSSOOIDCService\",\n },\n serviceId: config?.serviceId ?? \"SSO OIDC\",\n urlParser: config?.urlParser ?? protocols.parseUrl,\n utf8Decoder: config?.utf8Decoder ?? serde.fromUtf8,\n utf8Encoder: config?.utf8Encoder ?? serde.toUtf8,\n };\n};\n\nconst getRuntimeConfig = (config$1) => {\n client.emitWarningIfUnsupportedVersion(process.version);\n const defaultsMode = config.resolveDefaultsModeConfig(config$1);\n const defaultConfigProvider = () => defaultsMode().then(client.loadConfigsForDefaultMode);\n const clientSharedValues = getRuntimeConfig$1(config$1);\n client$1.emitWarningIfUnsupportedVersion(process.version);\n const loaderConfig = {\n profile: config$1?.profile,\n logger: clientSharedValues.logger,\n };\n return {\n ...clientSharedValues,\n ...config$1,\n runtime: \"node\",\n defaultsMode,\n authSchemePreference: config$1?.authSchemePreference ?? config.loadConfig(httpAuthSchemes.NODE_AUTH_SCHEME_PREFERENCE_OPTIONS, loaderConfig),\n bodyLengthChecker: config$1?.bodyLengthChecker ?? serde.calculateBodyLength,\n defaultUserAgentProvider: config$1?.defaultUserAgentProvider ??\n client$1.createDefaultUserAgentProvider({ serviceId: clientSharedValues.serviceId, clientVersion: packageInfo.version }),\n maxAttempts: config$1?.maxAttempts ?? config.loadConfig(retry.NODE_MAX_ATTEMPT_CONFIG_OPTIONS, config$1),\n region: config$1?.region ??\n config.loadConfig(config.NODE_REGION_CONFIG_OPTIONS, { ...config.NODE_REGION_CONFIG_FILE_OPTIONS, ...loaderConfig }),\n requestHandler: nodeHttpHandler.NodeHttpHandler.create(config$1?.requestHandler ?? defaultConfigProvider),\n retryMode: config$1?.retryMode ??\n config.loadConfig({\n ...retry.NODE_RETRY_MODE_CONFIG_OPTIONS,\n default: async () => (await defaultConfigProvider()).retryMode || retry.DEFAULT_RETRY_MODE,\n }, config$1),\n sha256: config$1?.sha256 ?? serde.Hash.bind(null, \"sha256\"),\n streamCollector: config$1?.streamCollector ?? nodeHttpHandler.streamCollector,\n useDualstackEndpoint: config$1?.useDualstackEndpoint ?? config.loadConfig(config.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS, loaderConfig),\n useFipsEndpoint: config$1?.useFipsEndpoint ?? config.loadConfig(config.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS, loaderConfig),\n userAgentAppId: config$1?.userAgentAppId ?? config.loadConfig(client$1.NODE_APP_ID_CONFIG_OPTIONS, loaderConfig),\n };\n};\n\nconst getHttpAuthExtensionConfiguration = (runtimeConfig) => {\n const _httpAuthSchemes = runtimeConfig.httpAuthSchemes;\n let _httpAuthSchemeProvider = runtimeConfig.httpAuthSchemeProvider;\n let _credentials = runtimeConfig.credentials;\n return {\n setHttpAuthScheme(httpAuthScheme) {\n const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId);\n if (index === -1) {\n _httpAuthSchemes.push(httpAuthScheme);\n }\n else {\n _httpAuthSchemes.splice(index, 1, httpAuthScheme);\n }\n },\n httpAuthSchemes() {\n return _httpAuthSchemes;\n },\n setHttpAuthSchemeProvider(httpAuthSchemeProvider) {\n _httpAuthSchemeProvider = httpAuthSchemeProvider;\n },\n httpAuthSchemeProvider() {\n return _httpAuthSchemeProvider;\n },\n setCredentials(credentials) {\n _credentials = credentials;\n },\n credentials() {\n return _credentials;\n },\n };\n};\nconst resolveHttpAuthRuntimeConfig = (config) => {\n return {\n httpAuthSchemes: config.httpAuthSchemes(),\n httpAuthSchemeProvider: config.httpAuthSchemeProvider(),\n credentials: config.credentials(),\n };\n};\n\nconst resolveRuntimeExtensions = (runtimeConfig, extensions) => {\n const extensionConfiguration = Object.assign(client$1.getAwsRegionExtensionConfiguration(runtimeConfig), client.getDefaultExtensionConfiguration(runtimeConfig), protocols.getHttpHandlerExtensionConfiguration(runtimeConfig), getHttpAuthExtensionConfiguration(runtimeConfig));\n extensions.forEach((extension) => extension.configure(extensionConfiguration));\n return Object.assign(runtimeConfig, client$1.resolveAwsRegionExtensionConfiguration(extensionConfiguration), client.resolveDefaultRuntimeConfig(extensionConfiguration), protocols.resolveHttpHandlerRuntimeConfig(extensionConfiguration), resolveHttpAuthRuntimeConfig(extensionConfiguration));\n};\n\nclass SSOOIDCClient extends client.Client {\n config;\n constructor(...[configuration]) {\n const _config_0 = getRuntimeConfig(configuration || {});\n super(_config_0);\n this.initConfig = _config_0;\n const _config_1 = resolveClientEndpointParameters(_config_0);\n const _config_2 = client$1.resolveUserAgentConfig(_config_1);\n const _config_3 = retry.resolveRetryConfig(_config_2);\n const _config_4 = config.resolveRegionConfig(_config_3);\n const _config_5 = client$1.resolveHostHeaderConfig(_config_4);\n const _config_6 = endpoints.resolveEndpointConfig(_config_5);\n const _config_7 = resolveHttpAuthSchemeConfig(_config_6);\n const _config_8 = resolveRuntimeExtensions(_config_7, configuration?.extensions || []);\n this.config = _config_8;\n this.middlewareStack.use(schema.getSchemaSerdePlugin(this.config));\n this.middlewareStack.use(client$1.getUserAgentPlugin(this.config));\n this.middlewareStack.use(retry.getRetryPlugin(this.config));\n this.middlewareStack.use(protocols.getContentLengthPlugin(this.config));\n this.middlewareStack.use(client$1.getHostHeaderPlugin(this.config));\n this.middlewareStack.use(client$1.getLoggerPlugin(this.config));\n this.middlewareStack.use(client$1.getRecursionDetectionPlugin(this.config));\n this.middlewareStack.use(core.getHttpAuthSchemeEndpointRuleSetPlugin(this.config, {\n httpAuthSchemeParametersProvider: defaultSSOOIDCHttpAuthSchemeParametersProvider,\n identityProviderConfigProvider: async (config) => new core.DefaultIdentityProviderConfig({\n \"aws.auth#sigv4\": config.credentials,\n }),\n }));\n this.middlewareStack.use(core.getHttpSigningPlugin(this.config));\n }\n destroy() {\n super.destroy();\n }\n}\n\nclass CreateTokenCommand extends client.Command\n .classBuilder()\n .ep(commonParams)\n .m(function (Command, cs, config, o) {\n return [endpoints.getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"AWSSSOOIDCService\", \"CreateToken\", {})\n .n(\"SSOOIDCClient\", \"CreateTokenCommand\")\n .sc(CreateToken$)\n .build() {\n}\n\nconst commands = {\n CreateTokenCommand,\n};\nclass SSOOIDC extends SSOOIDCClient {\n}\nclient.createAggregatedClient(commands, SSOOIDC);\n\nconst AccessDeniedExceptionReason = {\n KMS_ACCESS_DENIED: \"KMS_AccessDeniedException\",\n};\nconst InvalidRequestExceptionReason = {\n KMS_DISABLED_KEY: \"KMS_DisabledException\",\n KMS_INVALID_KEY_USAGE: \"KMS_InvalidKeyUsageException\",\n KMS_INVALID_STATE: \"KMS_InvalidStateException\",\n KMS_KEY_NOT_FOUND: \"KMS_NotFoundException\",\n};\n\nexports.$Command = client.Command;\nexports.__Client = client.Client;\nexports.AccessDeniedException = AccessDeniedException;\nexports.AccessDeniedException$ = AccessDeniedException$;\nexports.AccessDeniedExceptionReason = AccessDeniedExceptionReason;\nexports.AuthorizationPendingException = AuthorizationPendingException;\nexports.AuthorizationPendingException$ = AuthorizationPendingException$;\nexports.CreateToken$ = CreateToken$;\nexports.CreateTokenCommand = CreateTokenCommand;\nexports.CreateTokenRequest$ = CreateTokenRequest$;\nexports.CreateTokenResponse$ = CreateTokenResponse$;\nexports.ExpiredTokenException = ExpiredTokenException;\nexports.ExpiredTokenException$ = ExpiredTokenException$;\nexports.InternalServerException = InternalServerException;\nexports.InternalServerException$ = InternalServerException$;\nexports.InvalidClientException = InvalidClientException;\nexports.InvalidClientException$ = InvalidClientException$;\nexports.InvalidGrantException = InvalidGrantException;\nexports.InvalidGrantException$ = InvalidGrantException$;\nexports.InvalidRequestException = InvalidRequestException;\nexports.InvalidRequestException$ = InvalidRequestException$;\nexports.InvalidRequestExceptionReason = InvalidRequestExceptionReason;\nexports.InvalidScopeException = InvalidScopeException;\nexports.InvalidScopeException$ = InvalidScopeException$;\nexports.SSOOIDC = SSOOIDC;\nexports.SSOOIDCClient = SSOOIDCClient;\nexports.SSOOIDCServiceException = SSOOIDCServiceException;\nexports.SSOOIDCServiceException$ = SSOOIDCServiceException$;\nexports.SlowDownException = SlowDownException;\nexports.SlowDownException$ = SlowDownException$;\nexports.UnauthorizedClientException = UnauthorizedClientException;\nexports.UnauthorizedClientException$ = UnauthorizedClientException$;\nexports.UnsupportedGrantTypeException = UnsupportedGrantTypeException;\nexports.UnsupportedGrantTypeException$ = UnsupportedGrantTypeException$;\nexports.errorTypeRegistries = errorTypeRegistries;\n" | ||
| ], | ||
| "mappings": "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", | ||
| "debugId": "AF587DE1C05B11F164756E2164756E21", | ||
| "names": [] | ||
| } |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
266920849
0.02%249
0.4%