@keystrokehq/cli 0.0.53 → 0.0.55

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/dist/{anthropic-BW7tKfye.mjs → anthropic-OIjNEgxk.mjs} +3 -3
  2. package/dist/{anthropic-BW7tKfye.mjs.map → anthropic-OIjNEgxk.mjs.map} +1 -1
  3. package/dist/{azure-openai-responses-CbpqfHpG.mjs → azure-openai-responses-J2iGyy4d.mjs} +3 -3
  4. package/dist/{azure-openai-responses-CbpqfHpG.mjs.map → azure-openai-responses-J2iGyy4d.mjs.map} +1 -1
  5. package/dist/{cat-TSFMZVYS-BfwZOafs.mjs → cat-TSFMZVYS-BUlDi5Qf.mjs} +2 -2
  6. package/dist/{cat-TSFMZVYS-BfwZOafs.mjs.map → cat-TSFMZVYS-BUlDi5Qf.mjs.map} +1 -1
  7. package/dist/{cut-OKARJCCV-Cm3OStWG.mjs → cut-OKARJCCV-p9v-ig7a.mjs} +2 -2
  8. package/dist/{cut-OKARJCCV-Cm3OStWG.mjs.map → cut-OKARJCCV-p9v-ig7a.mjs.map} +1 -1
  9. package/dist/{dist-BSgBg_mF.mjs → dist-OeT0Z7by.mjs} +3 -3
  10. package/dist/{dist-BSgBg_mF.mjs.map → dist-OeT0Z7by.mjs.map} +1 -1
  11. package/dist/{du-572XNP42-DeJ11TW7.mjs → du-572XNP42-Br0wC4cR.mjs} +2 -2
  12. package/dist/{du-572XNP42-DeJ11TW7.mjs.map → du-572XNP42-Br0wC4cR.mjs.map} +1 -1
  13. package/dist/{emit-route-manifest-DRcNXHCP-CSOVo0UZ.mjs → emit-route-manifest-DRcNXHCP-CuH5IaKl.mjs} +210 -209
  14. package/dist/emit-route-manifest-DRcNXHCP-CuH5IaKl.mjs.map +1 -0
  15. package/dist/{env-api-keys-CjsGqLnm.mjs → env-api-keys-Dj0phNAZ.mjs} +2 -2
  16. package/dist/{env-api-keys-CjsGqLnm.mjs.map → env-api-keys-Dj0phNAZ.mjs.map} +1 -1
  17. package/dist/{from-BVavsm7Y.mjs → from-CM85M090.mjs} +2 -2
  18. package/dist/{from-BVavsm7Y.mjs.map → from-CM85M090.mjs.map} +1 -1
  19. package/dist/{google-B3pBIkED.mjs → google-CZqUzYLL.mjs} +3 -3
  20. package/dist/{google-B3pBIkED.mjs.map → google-CZqUzYLL.mjs.map} +1 -1
  21. package/dist/{google-shared-CZrnlDVf.mjs → google-shared-DpSg5iXi.mjs} +5 -5
  22. package/dist/{google-shared-CZrnlDVf.mjs.map → google-shared-DpSg5iXi.mjs.map} +1 -1
  23. package/dist/{google-vertex-CK79qwUV.mjs → google-vertex-BM9RkknB.mjs} +2 -2
  24. package/dist/{google-vertex-CK79qwUV.mjs.map → google-vertex-BM9RkknB.mjs.map} +1 -1
  25. package/dist/{html-to-markdown-JW4MSQZO-CvfnlE0t.mjs → html-to-markdown-JW4MSQZO-CL7jZmA2.mjs} +2 -2
  26. package/dist/{html-to-markdown-JW4MSQZO-CvfnlE0t.mjs.map → html-to-markdown-JW4MSQZO-CL7jZmA2.mjs.map} +1 -1
  27. package/dist/index.mjs +717 -8
  28. package/dist/index.mjs.map +1 -1
  29. package/dist/{jq-4XLYLOS5-DrYXLsYH.mjs → jq-4XLYLOS5-KSRW1t5y.mjs} +2 -2
  30. package/dist/{jq-4XLYLOS5-DrYXLsYH.mjs.map → jq-4XLYLOS5-KSRW1t5y.mjs.map} +1 -1
  31. package/dist/{json-parse-4wvL0yab.mjs → json-parse-D7gmIw6y.mjs} +2 -2
  32. package/dist/{json-parse-4wvL0yab.mjs.map → json-parse-D7gmIw6y.mjs.map} +1 -1
  33. package/dist/{lib-L8rwARiF.mjs → lib-15JvMO_y.mjs} +2 -2
  34. package/dist/{lib-L8rwARiF.mjs.map → lib-15JvMO_y.mjs.map} +1 -1
  35. package/dist/{ls-ZJGQER7M-C_1bAeGq.mjs → ls-ZJGQER7M-CvMghjGY.mjs} +2 -2
  36. package/dist/{ls-ZJGQER7M-C_1bAeGq.mjs.map → ls-ZJGQER7M-CvMghjGY.mjs.map} +1 -1
  37. package/dist/{mistral-CO6JoIDU.mjs → mistral-BMK3QxKa.mjs} +3 -3
  38. package/dist/{mistral-CO6JoIDU.mjs.map → mistral-BMK3QxKa.mjs.map} +1 -1
  39. package/dist/{multipart-parser-CybO63Pn.mjs → multipart-parser-ChdFj-Tf.mjs} +3 -3
  40. package/dist/{multipart-parser-CybO63Pn.mjs.map → multipart-parser-ChdFj-Tf.mjs.map} +1 -1
  41. package/dist/{openai-codex-responses-BsV2OXkO.mjs → openai-codex-responses-FPOFDQCI.mjs} +3 -3
  42. package/dist/{openai-codex-responses-BsV2OXkO.mjs.map → openai-codex-responses-FPOFDQCI.mjs.map} +1 -1
  43. package/dist/{openai-completions-DtKMQJXz.mjs → openai-completions-DaFkurXZ.mjs} +3 -3
  44. package/dist/{openai-completions-DtKMQJXz.mjs.map → openai-completions-DaFkurXZ.mjs.map} +1 -1
  45. package/dist/{openai-responses-Dn8IOWpx.mjs → openai-responses-DjcjpFVd.mjs} +3 -3
  46. package/dist/{openai-responses-Dn8IOWpx.mjs.map → openai-responses-DjcjpFVd.mjs.map} +1 -1
  47. package/dist/{openai-responses-shared-rmpfdSMl.mjs → openai-responses-shared-DOajVKFM.mjs} +2 -2
  48. package/dist/{openai-responses-shared-rmpfdSMl.mjs.map → openai-responses-shared-DOajVKFM.mjs.map} +1 -1
  49. package/dist/{openrouter-Cq37VS4X.mjs → openrouter-BD82J9ov.mjs} +2 -2
  50. package/dist/{openrouter-Cq37VS4X.mjs.map → openrouter-BD82J9ov.mjs.map} +1 -1
  51. package/dist/{printf-TWGXF445-BcIEiMjE.mjs → printf-TWGXF445-CtbOGcY-.mjs} +2 -2
  52. package/dist/{printf-TWGXF445-BcIEiMjE.mjs.map → printf-TWGXF445-CtbOGcY-.mjs.map} +1 -1
  53. package/dist/{sort-SW2YEO5B-D08jaQ5v.mjs → sort-SW2YEO5B-BT2dtrqE.mjs} +2 -2
  54. package/dist/{sort-SW2YEO5B-D08jaQ5v.mjs.map → sort-SW2YEO5B-BT2dtrqE.mjs.map} +1 -1
  55. package/dist/{sqlite3-CGOEFJAO-DVuaAgm0.mjs → sqlite3-CGOEFJAO-DKaf3b_T.mjs} +2 -2
  56. package/dist/{sqlite3-CGOEFJAO-DVuaAgm0.mjs.map → sqlite3-CGOEFJAO-DKaf3b_T.mjs.map} +1 -1
  57. package/dist/{src-xQsWiElt.mjs → src-BhFu0wxf.mjs} +4 -4
  58. package/dist/{src-xQsWiElt.mjs.map → src-BhFu0wxf.mjs.map} +1 -1
  59. package/dist/{src-DuFA6S6A.mjs → src-CO4ATuDw.mjs} +2 -2
  60. package/dist/{src-DuFA6S6A.mjs.map → src-CO4ATuDw.mjs.map} +1 -1
  61. package/dist/{tar-STHHZTZ6-C7-gpnmi.mjs → tar-STHHZTZ6-Cy8WppFl.mjs} +3 -3
  62. package/dist/{tar-STHHZTZ6-C7-gpnmi.mjs.map → tar-STHHZTZ6-Cy8WppFl.mjs.map} +1 -1
  63. package/dist/{tree-YLD52CNT-DiHyiFBi.mjs → tree-YLD52CNT-CFtEJCzO.mjs} +2 -2
  64. package/dist/{tree-YLD52CNT-DiHyiFBi.mjs.map → tree-YLD52CNT-CFtEJCzO.mjs.map} +1 -1
  65. package/dist/{uniq-XSIZR6PB-BA-vRB1O.mjs → uniq-XSIZR6PB-ERG9Mu92.mjs} +2 -2
  66. package/dist/{uniq-XSIZR6PB-BA-vRB1O.mjs.map → uniq-XSIZR6PB-ERG9Mu92.mjs.map} +1 -1
  67. package/dist/{watch-app-DTIeKrbl-BdEadl4m.mjs → watch-app-DTIeKrbl-C-BThJEO.mjs} +2 -2
  68. package/dist/{watch-app-DTIeKrbl-BdEadl4m.mjs.map → watch-app-DTIeKrbl-C-BThJEO.mjs.map} +1 -1
  69. package/dist/{wc-LF7NU4LA-BWoItyXd.mjs → wc-LF7NU4LA-CsPoPEAk.mjs} +2 -2
  70. package/dist/{wc-LF7NU4LA-BWoItyXd.mjs.map → wc-LF7NU4LA-CsPoPEAk.mjs.map} +1 -1
  71. package/dist/{websocket-server-DBCa1Df9.mjs → websocket-server-m6wiYSFm.mjs} +2 -2
  72. package/dist/{websocket-server-DBCa1Df9.mjs.map → websocket-server-m6wiYSFm.mjs.map} +1 -1
  73. package/dist/{xan-Y6WF3IRG-BilR2MsH.mjs → xan-Y6WF3IRG-ovCpFLkA.mjs} +2 -2
  74. package/dist/{xan-Y6WF3IRG-BilR2MsH.mjs.map → xan-Y6WF3IRG-ovCpFLkA.mjs.map} +1 -1
  75. package/package.json +8 -4
  76. package/dist/chunk-lXUa1qmO.mjs +0 -37
  77. package/dist/emit-route-manifest-DRcNXHCP-CSOVo0UZ.mjs.map +0 -1
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { i as __require } from "./chunk-lXUa1qmO.mjs";
2
+ import { Nn as __require } from "./index.mjs";
3
3
  //#region ../../node_modules/.pnpm/@earendil-works+pi-ai@0.75.4_@modelcontextprotocol+sdk@1.29.0_zod@4.4.3__ws@8.20.1_zod@4.4.3/node_modules/@earendil-works/pi-ai/dist/env-api-keys.js
4
4
  var __rewriteRelativeImportExtension = function(path, preserveJsx) {
5
5
  if (typeof path === "string" && /^\.\.?\//.test(path)) return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function(m, tsx, d, ext, cm) {
@@ -118,4 +118,4 @@ function getEnvApiKey(provider) {
118
118
  //#endregion
119
119
  export { getEnvApiKey as t };
120
120
 
121
- //# sourceMappingURL=env-api-keys-CjsGqLnm.mjs.map
121
+ //# sourceMappingURL=env-api-keys-Dj0phNAZ.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"env-api-keys-CjsGqLnm.mjs","names":[],"sources":["../../../node_modules/.pnpm/@earendil-works+pi-ai@0.75.4_@modelcontextprotocol+sdk@1.29.0_zod@4.4.3__ws@8.20.1_zod@4.4.3/node_modules/@earendil-works/pi-ai/dist/env-api-keys.js"],"sourcesContent":["var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n};\n// NEVER convert to top-level imports - breaks browser/Vite builds\nlet _existsSync = null;\nlet _homedir = null;\nlet _join = null;\nconst dynamicImport = (specifier) => import(__rewriteRelativeImportExtension(specifier));\nconst NODE_FS_SPECIFIER = \"node:\" + \"fs\";\nconst NODE_OS_SPECIFIER = \"node:\" + \"os\";\nconst NODE_PATH_SPECIFIER = \"node:\" + \"path\";\n// Eagerly load in Node.js/Bun environment only\nif (typeof process !== \"undefined\" && (process.versions?.node || process.versions?.bun)) {\n dynamicImport(NODE_FS_SPECIFIER).then((m) => {\n _existsSync = m.existsSync;\n });\n dynamicImport(NODE_OS_SPECIFIER).then((m) => {\n _homedir = m.homedir;\n });\n dynamicImport(NODE_PATH_SPECIFIER).then((m) => {\n _join = m.join;\n });\n}\nlet _procEnvCache = null;\n/**\n * Fallback for https://github.com/oven-sh/bun/issues/27802\n * Bun compiled binaries have an empty `process.env` inside sandbox\n * environments on Linux. We can recover the env from `/proc/self/environ`.\n */\nfunction getProcEnv(key) {\n if (!process.versions?.bun)\n return undefined;\n if (typeof process === \"undefined\")\n return undefined;\n // If process.env already has entries, the bug is not triggered.\n if (Object.keys(process.env).length > 0)\n return undefined;\n if (_procEnvCache === null) {\n _procEnvCache = new Map();\n try {\n const { readFileSync } = require(\"node:fs\");\n const data = readFileSync(\"/proc/self/environ\", \"utf-8\");\n for (const entry of data.split(\"\\0\")) {\n const idx = entry.indexOf(\"=\");\n if (idx > 0) {\n _procEnvCache.set(entry.slice(0, idx), entry.slice(idx + 1));\n }\n }\n }\n catch {\n // /proc/self/environ may not be readable.\n }\n }\n return _procEnvCache.get(key);\n}\nlet cachedVertexAdcCredentialsExists = null;\nfunction hasVertexAdcCredentials() {\n if (cachedVertexAdcCredentialsExists === null) {\n // If node modules haven't loaded yet (async import race at startup),\n // return false WITHOUT caching so the next call retries once they're ready.\n // Only cache false permanently in a browser environment where fs is never available.\n if (!_existsSync || !_homedir || !_join) {\n const isNode = typeof process !== \"undefined\" && (process.versions?.node || process.versions?.bun);\n if (!isNode) {\n // Definitively in a browser — safe to cache false permanently\n cachedVertexAdcCredentialsExists = false;\n }\n return false;\n }\n // Check GOOGLE_APPLICATION_CREDENTIALS env var first (standard way)\n const gacPath = process.env.GOOGLE_APPLICATION_CREDENTIALS || getProcEnv(\"GOOGLE_APPLICATION_CREDENTIALS\");\n if (gacPath) {\n cachedVertexAdcCredentialsExists = _existsSync(gacPath);\n }\n else {\n // Fall back to default ADC path (lazy evaluation)\n cachedVertexAdcCredentialsExists = _existsSync(_join(_homedir(), \".config\", \"gcloud\", \"application_default_credentials.json\"));\n }\n }\n return cachedVertexAdcCredentialsExists;\n}\nfunction getApiKeyEnvVars(provider) {\n if (provider === \"github-copilot\") {\n return [\"COPILOT_GITHUB_TOKEN\"];\n }\n // ANTHROPIC_OAUTH_TOKEN takes precedence over ANTHROPIC_API_KEY\n if (provider === \"anthropic\") {\n return [\"ANTHROPIC_OAUTH_TOKEN\", \"ANTHROPIC_API_KEY\"];\n }\n const envMap = {\n openai: \"OPENAI_API_KEY\",\n \"azure-openai-responses\": \"AZURE_OPENAI_API_KEY\",\n deepseek: \"DEEPSEEK_API_KEY\",\n google: \"GEMINI_API_KEY\",\n \"google-vertex\": \"GOOGLE_CLOUD_API_KEY\",\n groq: \"GROQ_API_KEY\",\n cerebras: \"CEREBRAS_API_KEY\",\n xai: \"XAI_API_KEY\",\n openrouter: \"OPENROUTER_API_KEY\",\n \"vercel-ai-gateway\": \"AI_GATEWAY_API_KEY\",\n zai: \"ZAI_API_KEY\",\n mistral: \"MISTRAL_API_KEY\",\n minimax: \"MINIMAX_API_KEY\",\n \"minimax-cn\": \"MINIMAX_CN_API_KEY\",\n moonshotai: \"MOONSHOT_API_KEY\",\n \"moonshotai-cn\": \"MOONSHOT_API_KEY\",\n huggingface: \"HF_TOKEN\",\n fireworks: \"FIREWORKS_API_KEY\",\n together: \"TOGETHER_API_KEY\",\n opencode: \"OPENCODE_API_KEY\",\n \"opencode-go\": \"OPENCODE_API_KEY\",\n \"kimi-coding\": \"KIMI_API_KEY\",\n \"cloudflare-workers-ai\": \"CLOUDFLARE_API_KEY\",\n \"cloudflare-ai-gateway\": \"CLOUDFLARE_API_KEY\",\n xiaomi: \"XIAOMI_API_KEY\",\n \"xiaomi-token-plan-cn\": \"XIAOMI_TOKEN_PLAN_CN_API_KEY\",\n \"xiaomi-token-plan-ams\": \"XIAOMI_TOKEN_PLAN_AMS_API_KEY\",\n \"xiaomi-token-plan-sgp\": \"XIAOMI_TOKEN_PLAN_SGP_API_KEY\",\n };\n const envVar = envMap[provider];\n return envVar ? [envVar] : undefined;\n}\nexport function findEnvKeys(provider) {\n const envVars = getApiKeyEnvVars(provider);\n if (!envVars)\n return undefined;\n const found = envVars.filter((envVar) => !!process.env[envVar] || !!getProcEnv(envVar));\n return found.length > 0 ? found : undefined;\n}\nexport function getEnvApiKey(provider) {\n const envKeys = findEnvKeys(provider);\n if (envKeys?.[0]) {\n return process.env[envKeys[0]] || getProcEnv(envKeys[0]);\n }\n // Vertex AI supports either an explicit API key or Application Default Credentials.\n // Auth is configured via `gcloud auth application-default login`.\n if (provider === \"google-vertex\") {\n const hasCredentials = hasVertexAdcCredentials();\n const hasProject = !!(process.env.GOOGLE_CLOUD_PROJECT ||\n process.env.GCLOUD_PROJECT ||\n getProcEnv(\"GOOGLE_CLOUD_PROJECT\") ||\n getProcEnv(\"GCLOUD_PROJECT\"));\n const hasLocation = !!(process.env.GOOGLE_CLOUD_LOCATION || getProcEnv(\"GOOGLE_CLOUD_LOCATION\"));\n if (hasCredentials && hasProject && hasLocation) {\n return \"<authenticated>\";\n }\n }\n if (provider === \"amazon-bedrock\") {\n // Amazon Bedrock supports multiple credential sources:\n // 1. AWS_PROFILE - named profile from ~/.aws/credentials\n // 2. AWS_ACCESS_KEY_ID + AWS_SECRET_ACCESS_KEY - standard IAM keys\n // 3. AWS_BEARER_TOKEN_BEDROCK - Bedrock bearer token\n // 4. AWS_CONTAINER_CREDENTIALS_RELATIVE_URI - ECS task roles\n // 5. AWS_CONTAINER_CREDENTIALS_FULL_URI - ECS task roles (full URI)\n // 6. AWS_WEB_IDENTITY_TOKEN_FILE - IRSA (IAM Roles for Service Accounts)\n if (process.env.AWS_PROFILE ||\n (process.env.AWS_ACCESS_KEY_ID && process.env.AWS_SECRET_ACCESS_KEY) ||\n process.env.AWS_BEARER_TOKEN_BEDROCK ||\n process.env.AWS_CONTAINER_CREDENTIALS_RELATIVE_URI ||\n process.env.AWS_CONTAINER_CREDENTIALS_FULL_URI ||\n process.env.AWS_WEB_IDENTITY_TOKEN_FILE ||\n getProcEnv(\"AWS_PROFILE\") ||\n (getProcEnv(\"AWS_ACCESS_KEY_ID\") && getProcEnv(\"AWS_SECRET_ACCESS_KEY\")) ||\n getProcEnv(\"AWS_BEARER_TOKEN_BEDROCK\") ||\n getProcEnv(\"AWS_CONTAINER_CREDENTIALS_RELATIVE_URI\") ||\n getProcEnv(\"AWS_CONTAINER_CREDENTIALS_FULL_URI\") ||\n getProcEnv(\"AWS_WEB_IDENTITY_TOKEN_FILE\")) {\n return \"<authenticated>\";\n }\n }\n return undefined;\n}\n//# sourceMappingURL=env-api-keys.js.map"],"x_google_ignoreList":[0],"mappings":"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"}
1
+ {"version":3,"file":"env-api-keys-Dj0phNAZ.mjs","names":[],"sources":["../../../node_modules/.pnpm/@earendil-works+pi-ai@0.75.4_@modelcontextprotocol+sdk@1.29.0_zod@4.4.3__ws@8.20.1_zod@4.4.3/node_modules/@earendil-works/pi-ai/dist/env-api-keys.js"],"sourcesContent":["var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n};\n// NEVER convert to top-level imports - breaks browser/Vite builds\nlet _existsSync = null;\nlet _homedir = null;\nlet _join = null;\nconst dynamicImport = (specifier) => import(__rewriteRelativeImportExtension(specifier));\nconst NODE_FS_SPECIFIER = \"node:\" + \"fs\";\nconst NODE_OS_SPECIFIER = \"node:\" + \"os\";\nconst NODE_PATH_SPECIFIER = \"node:\" + \"path\";\n// Eagerly load in Node.js/Bun environment only\nif (typeof process !== \"undefined\" && (process.versions?.node || process.versions?.bun)) {\n dynamicImport(NODE_FS_SPECIFIER).then((m) => {\n _existsSync = m.existsSync;\n });\n dynamicImport(NODE_OS_SPECIFIER).then((m) => {\n _homedir = m.homedir;\n });\n dynamicImport(NODE_PATH_SPECIFIER).then((m) => {\n _join = m.join;\n });\n}\nlet _procEnvCache = null;\n/**\n * Fallback for https://github.com/oven-sh/bun/issues/27802\n * Bun compiled binaries have an empty `process.env` inside sandbox\n * environments on Linux. We can recover the env from `/proc/self/environ`.\n */\nfunction getProcEnv(key) {\n if (!process.versions?.bun)\n return undefined;\n if (typeof process === \"undefined\")\n return undefined;\n // If process.env already has entries, the bug is not triggered.\n if (Object.keys(process.env).length > 0)\n return undefined;\n if (_procEnvCache === null) {\n _procEnvCache = new Map();\n try {\n const { readFileSync } = require(\"node:fs\");\n const data = readFileSync(\"/proc/self/environ\", \"utf-8\");\n for (const entry of data.split(\"\\0\")) {\n const idx = entry.indexOf(\"=\");\n if (idx > 0) {\n _procEnvCache.set(entry.slice(0, idx), entry.slice(idx + 1));\n }\n }\n }\n catch {\n // /proc/self/environ may not be readable.\n }\n }\n return _procEnvCache.get(key);\n}\nlet cachedVertexAdcCredentialsExists = null;\nfunction hasVertexAdcCredentials() {\n if (cachedVertexAdcCredentialsExists === null) {\n // If node modules haven't loaded yet (async import race at startup),\n // return false WITHOUT caching so the next call retries once they're ready.\n // Only cache false permanently in a browser environment where fs is never available.\n if (!_existsSync || !_homedir || !_join) {\n const isNode = typeof process !== \"undefined\" && (process.versions?.node || process.versions?.bun);\n if (!isNode) {\n // Definitively in a browser — safe to cache false permanently\n cachedVertexAdcCredentialsExists = false;\n }\n return false;\n }\n // Check GOOGLE_APPLICATION_CREDENTIALS env var first (standard way)\n const gacPath = process.env.GOOGLE_APPLICATION_CREDENTIALS || getProcEnv(\"GOOGLE_APPLICATION_CREDENTIALS\");\n if (gacPath) {\n cachedVertexAdcCredentialsExists = _existsSync(gacPath);\n }\n else {\n // Fall back to default ADC path (lazy evaluation)\n cachedVertexAdcCredentialsExists = _existsSync(_join(_homedir(), \".config\", \"gcloud\", \"application_default_credentials.json\"));\n }\n }\n return cachedVertexAdcCredentialsExists;\n}\nfunction getApiKeyEnvVars(provider) {\n if (provider === \"github-copilot\") {\n return [\"COPILOT_GITHUB_TOKEN\"];\n }\n // ANTHROPIC_OAUTH_TOKEN takes precedence over ANTHROPIC_API_KEY\n if (provider === \"anthropic\") {\n return [\"ANTHROPIC_OAUTH_TOKEN\", \"ANTHROPIC_API_KEY\"];\n }\n const envMap = {\n openai: \"OPENAI_API_KEY\",\n \"azure-openai-responses\": \"AZURE_OPENAI_API_KEY\",\n deepseek: \"DEEPSEEK_API_KEY\",\n google: \"GEMINI_API_KEY\",\n \"google-vertex\": \"GOOGLE_CLOUD_API_KEY\",\n groq: \"GROQ_API_KEY\",\n cerebras: \"CEREBRAS_API_KEY\",\n xai: \"XAI_API_KEY\",\n openrouter: \"OPENROUTER_API_KEY\",\n \"vercel-ai-gateway\": \"AI_GATEWAY_API_KEY\",\n zai: \"ZAI_API_KEY\",\n mistral: \"MISTRAL_API_KEY\",\n minimax: \"MINIMAX_API_KEY\",\n \"minimax-cn\": \"MINIMAX_CN_API_KEY\",\n moonshotai: \"MOONSHOT_API_KEY\",\n \"moonshotai-cn\": \"MOONSHOT_API_KEY\",\n huggingface: \"HF_TOKEN\",\n fireworks: \"FIREWORKS_API_KEY\",\n together: \"TOGETHER_API_KEY\",\n opencode: \"OPENCODE_API_KEY\",\n \"opencode-go\": \"OPENCODE_API_KEY\",\n \"kimi-coding\": \"KIMI_API_KEY\",\n \"cloudflare-workers-ai\": \"CLOUDFLARE_API_KEY\",\n \"cloudflare-ai-gateway\": \"CLOUDFLARE_API_KEY\",\n xiaomi: \"XIAOMI_API_KEY\",\n \"xiaomi-token-plan-cn\": \"XIAOMI_TOKEN_PLAN_CN_API_KEY\",\n \"xiaomi-token-plan-ams\": \"XIAOMI_TOKEN_PLAN_AMS_API_KEY\",\n \"xiaomi-token-plan-sgp\": \"XIAOMI_TOKEN_PLAN_SGP_API_KEY\",\n };\n const envVar = envMap[provider];\n return envVar ? [envVar] : undefined;\n}\nexport function findEnvKeys(provider) {\n const envVars = getApiKeyEnvVars(provider);\n if (!envVars)\n return undefined;\n const found = envVars.filter((envVar) => !!process.env[envVar] || !!getProcEnv(envVar));\n return found.length > 0 ? found : undefined;\n}\nexport function getEnvApiKey(provider) {\n const envKeys = findEnvKeys(provider);\n if (envKeys?.[0]) {\n return process.env[envKeys[0]] || getProcEnv(envKeys[0]);\n }\n // Vertex AI supports either an explicit API key or Application Default Credentials.\n // Auth is configured via `gcloud auth application-default login`.\n if (provider === \"google-vertex\") {\n const hasCredentials = hasVertexAdcCredentials();\n const hasProject = !!(process.env.GOOGLE_CLOUD_PROJECT ||\n process.env.GCLOUD_PROJECT ||\n getProcEnv(\"GOOGLE_CLOUD_PROJECT\") ||\n getProcEnv(\"GCLOUD_PROJECT\"));\n const hasLocation = !!(process.env.GOOGLE_CLOUD_LOCATION || getProcEnv(\"GOOGLE_CLOUD_LOCATION\"));\n if (hasCredentials && hasProject && hasLocation) {\n return \"<authenticated>\";\n }\n }\n if (provider === \"amazon-bedrock\") {\n // Amazon Bedrock supports multiple credential sources:\n // 1. AWS_PROFILE - named profile from ~/.aws/credentials\n // 2. AWS_ACCESS_KEY_ID + AWS_SECRET_ACCESS_KEY - standard IAM keys\n // 3. AWS_BEARER_TOKEN_BEDROCK - Bedrock bearer token\n // 4. AWS_CONTAINER_CREDENTIALS_RELATIVE_URI - ECS task roles\n // 5. AWS_CONTAINER_CREDENTIALS_FULL_URI - ECS task roles (full URI)\n // 6. AWS_WEB_IDENTITY_TOKEN_FILE - IRSA (IAM Roles for Service Accounts)\n if (process.env.AWS_PROFILE ||\n (process.env.AWS_ACCESS_KEY_ID && process.env.AWS_SECRET_ACCESS_KEY) ||\n process.env.AWS_BEARER_TOKEN_BEDROCK ||\n process.env.AWS_CONTAINER_CREDENTIALS_RELATIVE_URI ||\n process.env.AWS_CONTAINER_CREDENTIALS_FULL_URI ||\n process.env.AWS_WEB_IDENTITY_TOKEN_FILE ||\n getProcEnv(\"AWS_PROFILE\") ||\n (getProcEnv(\"AWS_ACCESS_KEY_ID\") && getProcEnv(\"AWS_SECRET_ACCESS_KEY\")) ||\n getProcEnv(\"AWS_BEARER_TOKEN_BEDROCK\") ||\n getProcEnv(\"AWS_CONTAINER_CREDENTIALS_RELATIVE_URI\") ||\n getProcEnv(\"AWS_CONTAINER_CREDENTIALS_FULL_URI\") ||\n getProcEnv(\"AWS_WEB_IDENTITY_TOKEN_FILE\")) {\n return \"<authenticated>\";\n }\n }\n return undefined;\n}\n//# sourceMappingURL=env-api-keys.js.map"],"x_google_ignoreList":[0],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { i as __require, n as __esmMin, t as __commonJSMin } from "./chunk-lXUa1qmO.mjs";
2
+ import { An as __commonJSMin, Nn as __require, jn as __esmMin } from "./index.mjs";
3
3
  import "node:path";
4
4
  import { promises } from "node:fs";
5
5
  //#region ../../node_modules/.pnpm/web-streams-polyfill@3.3.3/node_modules/web-streams-polyfill/dist/ponyfill.es2018.js
@@ -3844,4 +3844,4 @@ var init_from = __esmMin((() => {
3844
3844
  //#endregion
3845
3845
  export { File as a, init_fetch_blob as c, init_esm_min as i, FormData as n, init_file as o, formDataToBlob as r, Blob as s, init_from as t };
3846
3846
 
3847
- //# sourceMappingURL=from-BVavsm7Y.mjs.map
3847
+ //# sourceMappingURL=from-CM85M090.mjs.map