orchajs 0.17.0 → 0.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/README.md +9 -3
  2. package/dist/cli.js +4 -4
  3. package/dist/cli.js.map +1 -1
  4. package/dist/compiler/build-project.js +2 -2
  5. package/dist/env.d.ts.map +1 -1
  6. package/dist/env.js +5 -2
  7. package/dist/env.js.map +1 -1
  8. package/dist/playground/public/app.js +9 -9
  9. package/dist/playground/public/app.js.map +4 -4
  10. package/dist/playground/server.d.ts.map +1 -1
  11. package/dist/playground/server.js +9 -4
  12. package/dist/playground/server.js.map +1 -1
  13. package/dist/project-loader.js +1 -1
  14. package/dist/providers/google-gemini.d.ts +67 -4
  15. package/dist/providers/google-gemini.d.ts.map +1 -1
  16. package/dist/providers/google-gemini.js +13 -2
  17. package/dist/providers/google-gemini.js.map +1 -1
  18. package/dist/providers/google-genai.d.ts.map +1 -1
  19. package/dist/providers/google-genai.js +2 -2
  20. package/dist/providers/google-genai.js.map +1 -1
  21. package/dist/providers/index.js +11 -1
  22. package/dist/providers/index.js.map +1 -1
  23. package/dist/providers/vertex-ai.d.ts.map +1 -1
  24. package/dist/providers/vertex-ai.js +2 -2
  25. package/dist/providers/vertex-ai.js.map +1 -1
  26. package/dist/runtime/actions/context.js +25 -1
  27. package/dist/runtime/actions/context.js.map +1 -1
  28. package/dist-cjs/amarsia/metadata.js +18 -18
  29. package/dist-cjs/amarsia/metadata.js.map +2 -2
  30. package/dist-cjs/amarsia/sync.js +1 -1
  31. package/dist-cjs/cli-agents-template.js +1 -1
  32. package/dist-cjs/compiler/build-project.js +24 -24
  33. package/dist-cjs/compiler/build-project.js.map +2 -2
  34. package/dist-cjs/compiler/compile.js +31 -31
  35. package/dist-cjs/compiler/compile.js.map +2 -2
  36. package/dist-cjs/env.js +10 -7
  37. package/dist-cjs/env.js.map +2 -2
  38. package/dist-cjs/errors.js +1 -1
  39. package/dist-cjs/file-content.js +6 -6
  40. package/dist-cjs/file-content.js.map +2 -2
  41. package/dist-cjs/index.js +1 -1
  42. package/dist-cjs/integrations/esbuild.js +4 -4
  43. package/dist-cjs/integrations/esbuild.js.map +2 -2
  44. package/dist-cjs/orcha.js +4 -4
  45. package/dist-cjs/orcha.js.map +2 -2
  46. package/dist-cjs/playground/server.js +34 -30
  47. package/dist-cjs/playground/server.js.map +2 -2
  48. package/dist-cjs/playground/source.js +11 -11
  49. package/dist-cjs/playground/source.js.map +2 -2
  50. package/dist-cjs/project-loader.js +11 -11
  51. package/dist-cjs/project-loader.js.map +2 -2
  52. package/dist-cjs/providers/anthropic.js +1 -1
  53. package/dist-cjs/providers/bedrock.js +8 -8
  54. package/dist-cjs/providers/bedrock.js.map +2 -2
  55. package/dist-cjs/providers/catalog.js +1 -1
  56. package/dist-cjs/providers/deepseek.js +1 -1
  57. package/dist-cjs/providers/dispatcher.js +1 -1
  58. package/dist-cjs/providers/google-gemini.js +13 -3
  59. package/dist-cjs/providers/google-gemini.js.map +2 -2
  60. package/dist-cjs/providers/google-genai.js +2 -2
  61. package/dist-cjs/providers/google-genai.js.map +2 -2
  62. package/dist-cjs/providers/index.js +11 -1
  63. package/dist-cjs/providers/index.js.map +2 -2
  64. package/dist-cjs/providers/openai.js +1 -1
  65. package/dist-cjs/providers/sse.js +1 -1
  66. package/dist-cjs/providers/types.js +1 -1
  67. package/dist-cjs/providers/vertex-ai.js +6 -2
  68. package/dist-cjs/providers/vertex-ai.js.map +2 -2
  69. package/dist-cjs/runtime/actions/context.js +26 -2
  70. package/dist-cjs/runtime/actions/context.js.map +2 -2
  71. package/dist-cjs/runtime/actions/execute.js +1 -1
  72. package/dist-cjs/runtime/actions/native.js +3 -3
  73. package/dist-cjs/runtime/actions/native.js.map +2 -2
  74. package/dist-cjs/runtime/actions/sandbox.js +1 -1
  75. package/dist-cjs/runtime/agent.js +3 -3
  76. package/dist-cjs/runtime/agent.js.map +2 -2
  77. package/dist-cjs/runtime/context.js +1 -1
  78. package/dist-cjs/runtime/create-orcha.js +3 -3
  79. package/dist-cjs/runtime/create-orcha.js.map +2 -2
  80. package/dist-cjs/runtime/execution.js +1 -1
  81. package/dist-cjs/runtime/session-events.js +1 -1
  82. package/dist-cjs/runtime/structured-output.js +1 -1
  83. package/dist-cjs/storage/browser-indexeddb.js +1 -1
  84. package/dist-cjs/storage/create-store.js +1 -1
  85. package/dist-cjs/storage/edge-store.js +1 -1
  86. package/dist-cjs/storage/migrate.js +1 -1
  87. package/dist-cjs/storage/node-jsonl.js +10 -10
  88. package/dist-cjs/storage/node-jsonl.js.map +2 -2
  89. package/dist-cjs/storage/node-sqlite.js +7 -7
  90. package/dist-cjs/storage/node-sqlite.js.map +2 -2
  91. package/dist-cjs/storage/react-native-jsonl.js +1 -1
  92. package/dist-cjs/testing.js +17 -17
  93. package/dist-cjs/testing.js.map +2 -2
  94. package/dist-cjs/types/google-genai-sdk.d.js +3 -0
  95. package/dist-cjs/types/google-genai-sdk.d.js.map +7 -0
  96. package/dist-cjs/types.js +1 -1
  97. package/package.json +12 -8
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/providers/index.ts"],
4
- "sourcesContent": ["import { OrchaError } from \"../errors.js\";\nimport type { ProviderName } from \"../types.js\";\nimport {\n builtInProviderCatalog,\n isBuiltInProvider,\n} from \"./catalog.js\";\nimport type {\n ProviderAdapter,\n ProviderResponseGenerator,\n} from \"./types.js\";\n\nexport { isBuiltInProvider } from \"./catalog.js\";\n\nconst loadedProviders = new Map<\n ProviderName,\n Promise<ProviderAdapter>\n>();\n\nexport const generateProviderResponse: ProviderResponseGenerator =\n async (name, configuration, request) => {\n const provider = await loadProvider(name);\n return provider.generate(configuration, request);\n };\n\nfunction loadProvider(name: ProviderName): Promise<ProviderAdapter> {\n const existing = loadedProviders.get(name);\n if (existing) {\n return existing;\n }\n if (!isBuiltInProvider(name)) {\n throw new OrchaError(\n \"provider_error\",\n `Provider \"${name}\" is not implemented by this version of OrchaJS.`,\n );\n }\n\n const descriptor = builtInProviderCatalog[name];\n const loading = import(`./${descriptor.moduleFile}`).then((module) => {\n const provider: unknown = module[descriptor.exportName];\n if (!isProviderAdapter(provider) || provider.name !== name) {\n throw new Error(\n `Provider module \"${descriptor.moduleFile}\" does not export \"${descriptor.exportName}\".`,\n );\n }\n return provider;\n });\n loadedProviders.set(name, loading);\n return loading;\n}\n\nfunction isProviderAdapter(value: unknown): value is ProviderAdapter {\n return (\n typeof value === \"object\" &&\n value !== null &&\n \"name\" in value &&\n \"generate\" in value &&\n typeof value.generate === \"function\"\n );\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA2B;AAE3B,qBAGO;AAMP,IAAAA,kBAAkC;AAElC,MAAM,kBAAkB,oBAAI,IAG1B;AAEK,MAAM,2BACX,OAAO,MAAM,eAAe,YAAY;AACtC,QAAM,WAAW,MAAM,aAAa,IAAI;AACxC,SAAO,SAAS,SAAS,eAAe,OAAO;AACjD;AAEF,SAAS,aAAa,MAA8C;AAClE,QAAM,WAAW,gBAAgB,IAAI,IAAI;AACzC,MAAI,UAAU;AACZ,WAAO;AAAA,EACT;AACA,MAAI,KAAC,kCAAkB,IAAI,GAAG;AAC5B,UAAM,IAAI;AAAA,MACR;AAAA,MACA,aAAa,IAAI;AAAA,IACnB;AAAA,EACF;AAEA,QAAM,aAAa,sCAAuB,IAAI;AAC9C,QAAM,UAAU,OAAO,KAAK,WAAW,UAAU,IAAI,KAAK,CAACC,YAAW;AACpE,UAAM,WAAoBA,QAAO,WAAW,UAAU;AACtD,QAAI,CAAC,kBAAkB,QAAQ,KAAK,SAAS,SAAS,MAAM;AAC1D,YAAM,IAAI;AAAA,QACR,oBAAoB,WAAW,UAAU,sBAAsB,WAAW,UAAU;AAAA,MACtF;AAAA,IACF;AACA,WAAO;AAAA,EACT,CAAC;AACD,kBAAgB,IAAI,MAAM,OAAO;AACjC,SAAO;AACT;AAEA,SAAS,kBAAkB,OAA0C;AACnE,SACE,OAAO,UAAU,YACjB,UAAU,QACV,UAAU,SACV,cAAc,SACd,OAAO,MAAM,aAAa;AAE9B;",
4
+ "sourcesContent": ["import { OrchaError } from \"../errors.js\";\nimport type { ProviderName } from \"../types.js\";\nimport {\n builtInProviderCatalog,\n isBuiltInProvider,\n} from \"./catalog.js\";\nimport type {\n ProviderAdapter,\n ProviderResponseGenerator,\n} from \"./types.js\";\n\nexport { isBuiltInProvider } from \"./catalog.js\";\n\nconst loadedProviders = new Map<\n ProviderName,\n Promise<ProviderAdapter>\n>();\n\nexport const generateProviderResponse: ProviderResponseGenerator =\n async (name, configuration, request) => {\n const provider = await loadProvider(name);\n return provider.generate(configuration, request);\n };\n\nfunction loadProvider(name: ProviderName): Promise<ProviderAdapter> {\n const existing = loadedProviders.get(name);\n if (existing) {\n return existing;\n }\n if (!isBuiltInProvider(name)) {\n throw new OrchaError(\n \"provider_error\",\n `Provider \"${name}\" is not implemented by this version of OrchaJS.`,\n );\n }\n\n const descriptor = builtInProviderCatalog[name];\n const loading = import(`./${descriptor.moduleFile}`)\n .then((module) => {\n const provider: unknown = module[descriptor.exportName];\n if (!isProviderAdapter(provider) || provider.name !== name) {\n throw new Error(\n `Provider module \"${descriptor.moduleFile}\" does not export \"${descriptor.exportName}\".`,\n );\n }\n return provider;\n })\n .catch((error: unknown) => {\n loadedProviders.delete(name);\n if (\n (name === \"googlegenai\" || name === \"vertexai\") &&\n error instanceof Error &&\n error.message.includes(\"@google/genai\")\n ) {\n throw new OrchaError(\n \"provider_error\",\n `Provider \"${name}\" requires Node.js 20 or newer and the optional \"@google/genai\" package.`,\n { cause: error },\n );\n }\n throw error;\n });\n loadedProviders.set(name, loading);\n return loading;\n}\n\nfunction isProviderAdapter(value: unknown): value is ProviderAdapter {\n return (\n typeof value === \"object\" &&\n value !== null &&\n \"name\" in value &&\n \"generate\" in value &&\n typeof value.generate === \"function\"\n );\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA2B;AAE3B,qBAGO;AAMP,IAAAA,kBAAkC;AAElC,MAAM,kBAAkB,oBAAI,IAG1B;AAEK,MAAM,2BACX,OAAO,MAAM,eAAe,YAAY;AACtC,QAAM,WAAW,MAAM,aAAa,IAAI;AACxC,SAAO,SAAS,SAAS,eAAe,OAAO;AACjD;AAEF,SAAS,aAAa,MAA8C;AAClE,QAAM,WAAW,gBAAgB,IAAI,IAAI;AACzC,MAAI,UAAU;AACZ,WAAO;AAAA,EACT;AACA,MAAI,KAAC,kCAAkB,IAAI,GAAG;AAC5B,UAAM,IAAI;AAAA,MACR;AAAA,MACA,aAAa,IAAI;AAAA,IACnB;AAAA,EACF;AAEA,QAAM,aAAa,sCAAuB,IAAI;AAC9C,QAAM,UAAU,OAAO,KAAK,WAAW,UAAU,IAC9C,KAAK,CAACC,YAAW;AAChB,UAAM,WAAoBA,QAAO,WAAW,UAAU;AACtD,QAAI,CAAC,kBAAkB,QAAQ,KAAK,SAAS,SAAS,MAAM;AAC1D,YAAM,IAAI;AAAA,QACR,oBAAoB,WAAW,UAAU,sBAAsB,WAAW,UAAU;AAAA,MACtF;AAAA,IACF;AACA,WAAO;AAAA,EACT,CAAC,EACA,MAAM,CAAC,UAAmB;AACzB,oBAAgB,OAAO,IAAI;AAC3B,SACG,SAAS,iBAAiB,SAAS,eACpC,iBAAiB,SACjB,MAAM,QAAQ,SAAS,eAAe,GACtC;AACA,YAAM,IAAI;AAAA,QACR;AAAA,QACA,aAAa,IAAI;AAAA,QACjB,EAAE,OAAO,MAAM;AAAA,MACjB;AAAA,IACF;AACA,UAAM;AAAA,EACR,CAAC;AACH,kBAAgB,IAAI,MAAM,OAAO;AACjC,SAAO;AACT;AAEA,SAAS,kBAAkB,OAA0C;AACnE,SACE,OAAO,UAAU,YACjB,UAAU,QACV,UAAU,SACV,cAAc,SACd,OAAO,MAAM,aAAa;AAE9B;",
6
6
  "names": ["import_catalog", "module"]
7
7
  }
@@ -1,4 +1,4 @@
1
- "use strict"; const __orchaImportMetaUrl = require("node:url").pathToFileURL(__filename).href;
1
+ "use strict"; const __orchaImportMetaUrl = require("url").pathToFileURL(__filename).href;
2
2
  "use strict";
3
3
  var __defProp = Object.defineProperty;
4
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -1,4 +1,4 @@
1
- "use strict"; const __orchaImportMetaUrl = require("node:url").pathToFileURL(__filename).href;
1
+ "use strict"; const __orchaImportMetaUrl = require("url").pathToFileURL(__filename).href;
2
2
  "use strict";
3
3
  var __defProp = Object.defineProperty;
4
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -1,4 +1,4 @@
1
- "use strict"; const __orchaImportMetaUrl = require("node:url").pathToFileURL(__filename).href;
1
+ "use strict"; const __orchaImportMetaUrl = require("url").pathToFileURL(__filename).href;
2
2
  "use strict";
3
3
  var __defProp = Object.defineProperty;
4
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -1,4 +1,4 @@
1
- "use strict"; const __orchaImportMetaUrl = require("node:url").pathToFileURL(__filename).href;
1
+ "use strict"; const __orchaImportMetaUrl = require("url").pathToFileURL(__filename).href;
2
2
  "use strict";
3
3
  var __defProp = Object.defineProperty;
4
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -59,7 +59,11 @@ async function generateVertexAI(configuration, request) {
59
59
  } : {},
60
60
  ...configuration.baseUrl ? { httpOptions: { baseUrl: configuration.baseUrl } } : {}
61
61
  });
62
- return (0, import_google_gemini.generateGoogleContent)(client, request, "vertexai");
62
+ return (0, import_google_gemini.generateGoogleContent)(
63
+ (0, import_google_gemini.toGoogleContentClient)(client),
64
+ request,
65
+ "vertexai"
66
+ );
63
67
  }
64
68
  // Annotate the CommonJS export names for ESM import in node:
65
69
  0 && (module.exports = {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/providers/vertex-ai.ts"],
4
- "sourcesContent": ["import { GoogleGenAI } from \"@google/genai/node\";\nimport type { ProviderConfiguration } from \"../types.js\";\nimport { generateGoogleContent } from \"./google-gemini.js\";\nimport type {\n ProviderAdapter,\n ProviderRequest,\n ProviderResponse,\n} from \"./types.js\";\n\nexport const vertexAIProvider: ProviderAdapter = {\n name: \"vertexai\",\n generate: generateVertexAI,\n};\n\nasync function generateVertexAI(\n configuration: ProviderConfiguration,\n request: ProviderRequest,\n): Promise<ProviderResponse> {\n if (!configuration.project?.trim()) {\n throw new Error(\n 'Missing Google Cloud project in orcha.init({ providers: { vertexai: { project: \"...\", location: \"...\" } } }).',\n );\n }\n if (!configuration.location?.trim()) {\n throw new Error(\n 'Missing Google Cloud location in orcha.init({ providers: { vertexai: { project: \"...\", location: \"...\" } } }).',\n );\n }\n if (\n configuration.credentials &&\n (!configuration.credentials.clientEmail.trim() ||\n !configuration.credentials.privateKey.trim())\n ) {\n throw new Error(\n \"Vertex AI service-account credentials require non-empty clientEmail and privateKey values.\",\n );\n }\n\n const client = new GoogleGenAI({\n vertexai: true,\n apiVersion: \"v1\",\n project: configuration.project,\n location: configuration.location,\n ...(configuration.credentials\n ? {\n googleAuthOptions: {\n credentials: {\n client_email: configuration.credentials.clientEmail,\n private_key: configuration.credentials.privateKey,\n },\n },\n }\n : {}),\n ...(configuration.baseUrl\n ? { httpOptions: { baseUrl: configuration.baseUrl } }\n : {}),\n });\n return generateGoogleContent(client, request, \"vertexai\");\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAA4B;AAE5B,2BAAsC;AAO/B,MAAM,mBAAoC;AAAA,EAC/C,MAAM;AAAA,EACN,UAAU;AACZ;AAEA,eAAe,iBACb,eACA,SAC2B;AAC3B,MAAI,CAAC,cAAc,SAAS,KAAK,GAAG;AAClC,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACA,MAAI,CAAC,cAAc,UAAU,KAAK,GAAG;AACnC,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACA,MACE,cAAc,gBACb,CAAC,cAAc,YAAY,YAAY,KAAK,KAC3C,CAAC,cAAc,YAAY,WAAW,KAAK,IAC7C;AACA,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAEA,QAAM,SAAS,IAAI,wBAAY;AAAA,IAC7B,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,SAAS,cAAc;AAAA,IACvB,UAAU,cAAc;AAAA,IACxB,GAAI,cAAc,cACd;AAAA,MACE,mBAAmB;AAAA,QACjB,aAAa;AAAA,UACX,cAAc,cAAc,YAAY;AAAA,UACxC,aAAa,cAAc,YAAY;AAAA,QACzC;AAAA,MACF;AAAA,IACF,IACA,CAAC;AAAA,IACL,GAAI,cAAc,UACd,EAAE,aAAa,EAAE,SAAS,cAAc,QAAQ,EAAE,IAClD,CAAC;AAAA,EACP,CAAC;AACD,aAAO,4CAAsB,QAAQ,SAAS,UAAU;AAC1D;",
4
+ "sourcesContent": ["import { GoogleGenAI } from \"@google/genai/node\";\nimport type { ProviderConfiguration } from \"../types.js\";\nimport {\n generateGoogleContent,\n toGoogleContentClient,\n} from \"./google-gemini.js\";\nimport type {\n ProviderAdapter,\n ProviderRequest,\n ProviderResponse,\n} from \"./types.js\";\n\nexport const vertexAIProvider: ProviderAdapter = {\n name: \"vertexai\",\n generate: generateVertexAI,\n};\n\nasync function generateVertexAI(\n configuration: ProviderConfiguration,\n request: ProviderRequest,\n): Promise<ProviderResponse> {\n if (!configuration.project?.trim()) {\n throw new Error(\n 'Missing Google Cloud project in orcha.init({ providers: { vertexai: { project: \"...\", location: \"...\" } } }).',\n );\n }\n if (!configuration.location?.trim()) {\n throw new Error(\n 'Missing Google Cloud location in orcha.init({ providers: { vertexai: { project: \"...\", location: \"...\" } } }).',\n );\n }\n if (\n configuration.credentials &&\n (!configuration.credentials.clientEmail.trim() ||\n !configuration.credentials.privateKey.trim())\n ) {\n throw new Error(\n \"Vertex AI service-account credentials require non-empty clientEmail and privateKey values.\",\n );\n }\n\n const client = new GoogleGenAI({\n vertexai: true,\n apiVersion: \"v1\",\n project: configuration.project,\n location: configuration.location,\n ...(configuration.credentials\n ? {\n googleAuthOptions: {\n credentials: {\n client_email: configuration.credentials.clientEmail,\n private_key: configuration.credentials.privateKey,\n },\n },\n }\n : {}),\n ...(configuration.baseUrl\n ? { httpOptions: { baseUrl: configuration.baseUrl } }\n : {}),\n });\n return generateGoogleContent(\n toGoogleContentClient(client),\n request,\n \"vertexai\",\n );\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAA4B;AAE5B,2BAGO;AAOA,MAAM,mBAAoC;AAAA,EAC/C,MAAM;AAAA,EACN,UAAU;AACZ;AAEA,eAAe,iBACb,eACA,SAC2B;AAC3B,MAAI,CAAC,cAAc,SAAS,KAAK,GAAG;AAClC,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACA,MAAI,CAAC,cAAc,UAAU,KAAK,GAAG;AACnC,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACA,MACE,cAAc,gBACb,CAAC,cAAc,YAAY,YAAY,KAAK,KAC3C,CAAC,cAAc,YAAY,WAAW,KAAK,IAC7C;AACA,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAEA,QAAM,SAAS,IAAI,wBAAY;AAAA,IAC7B,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,SAAS,cAAc;AAAA,IACvB,UAAU,cAAc;AAAA,IACxB,GAAI,cAAc,cACd;AAAA,MACE,mBAAmB;AAAA,QACjB,aAAa;AAAA,UACX,cAAc,cAAc,YAAY;AAAA,UACxC,aAAa,cAAc,YAAY;AAAA,QACzC;AAAA,MACF;AAAA,IACF,IACA,CAAC;AAAA,IACL,GAAI,cAAc,UACd,EAAE,aAAa,EAAE,SAAS,cAAc,QAAQ,EAAE,IAClD,CAAC;AAAA,EACP,CAAC;AACD,aAAO;AAAA,QACL,4CAAsB,MAAM;AAAA,IAC5B;AAAA,IACA;AAAA,EACF;AACF;",
6
6
  "names": []
7
7
  }
@@ -1,4 +1,4 @@
1
- "use strict"; const __orchaImportMetaUrl = require("node:url").pathToFileURL(__filename).href;
1
+ "use strict"; const __orchaImportMetaUrl = require("url").pathToFileURL(__filename).href;
2
2
  "use strict";
3
3
  var __defProp = Object.defineProperty;
4
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -52,7 +52,7 @@ function createLocalActionContext(options) {
52
52
  const response = await fetch(url, {
53
53
  ...init,
54
54
  redirect: "manual",
55
- signal: init?.signal ? AbortSignal.any([init.signal, timeoutSignal]) : timeoutSignal
55
+ signal: init?.signal ? combineAbortSignals(init.signal, timeoutSignal) : timeoutSignal
56
56
  });
57
57
  if (response.status >= 300 && response.status < 400) {
58
58
  throw new Error(
@@ -66,6 +66,30 @@ function createLocalActionContext(options) {
66
66
  }
67
67
  });
68
68
  }
69
+ function combineAbortSignals(first, second) {
70
+ const controller = new AbortController();
71
+ const registrations = [];
72
+ const cleanup = () => {
73
+ for (const { signal, listener } of registrations) {
74
+ signal.removeEventListener("abort", listener);
75
+ }
76
+ };
77
+ const register = (signal) => {
78
+ const abort = () => controller.abort(signal.reason);
79
+ if (signal.aborted) {
80
+ abort();
81
+ return;
82
+ }
83
+ signal.addEventListener("abort", abort, { once: true });
84
+ registrations.push({ signal, listener: abort });
85
+ };
86
+ controller.signal.addEventListener("abort", cleanup, { once: true });
87
+ register(first);
88
+ if (!controller.signal.aborted) {
89
+ register(second);
90
+ }
91
+ return controller.signal;
92
+ }
69
93
  function isAllowedHost(hostname, allowedHosts) {
70
94
  return allowedHosts.some((allowed) => {
71
95
  if (allowed.startsWith("*.")) {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/runtime/actions/context.ts"],
4
- "sourcesContent": ["import type {\n CompiledActionManifest,\n LocalActionRuntimeConfiguration,\n SessionMetadata,\n} from \"../../types.js\";\n\nexport interface LocalActionContext {\n sessionId: string;\n metadata: SessionMetadata;\n idempotencyKey: string;\n env: Record<string, string>;\n fetch(\n input: string | URL,\n init?: RequestInit,\n ): Promise<Response>;\n log(...values: unknown[]): void;\n}\n\nexport function createLocalActionContext(options: {\n action: CompiledActionManifest;\n configuration: LocalActionRuntimeConfiguration;\n sessionId: string;\n metadata: SessionMetadata;\n idempotencyKey: string;\n}): LocalActionContext {\n const allowedEnvironment = new Set(options.action.permissions?.env ?? []);\n const env = Object.fromEntries(\n Object.entries(options.configuration.env ?? {}).filter(\n (entry): entry is [string, string] =>\n allowedEnvironment.has(entry[0]) &&\n typeof entry[1] === \"string\",\n ),\n );\n\n return Object.freeze({\n sessionId: options.sessionId,\n metadata: Object.freeze({ ...options.metadata }),\n idempotencyKey: options.idempotencyKey,\n env: Object.freeze(env),\n fetch: async (input: string | URL, init?: RequestInit) => {\n const url = new URL(input);\n if (url.protocol !== \"https:\" && url.protocol !== \"http:\") {\n throw new Error(\n `Action \"${options.action.name}\" cannot use protocol \"${url.protocol}\".`,\n );\n }\n if (!isAllowedHost(url.hostname, options.action.permissions?.network ?? [])) {\n throw new Error(\n `Action \"${options.action.name}\" cannot access \"${url.hostname}\".`,\n );\n }\n const timeoutSignal = AbortSignal.timeout(\n options.action.timeoutMs ?? 10_000,\n );\n const response = await fetch(url, {\n ...init,\n redirect: \"manual\",\n signal: init?.signal\n ? AbortSignal.any([init.signal, timeoutSignal])\n : timeoutSignal,\n });\n if (response.status >= 300 && response.status < 400) {\n throw new Error(\n `Action \"${options.action.name}\" network redirects are not allowed.`,\n );\n }\n return response;\n },\n log: (...values: unknown[]) => {\n console.log(`[orcha:${options.action.name}]`, ...values);\n },\n });\n}\n\nfunction isAllowedHost(hostname: string, allowedHosts: string[]): boolean {\n return allowedHosts.some((allowed) => {\n if (allowed.startsWith(\"*.\")) {\n const suffix = allowed.slice(1);\n return hostname.endsWith(suffix) && hostname !== suffix.slice(1);\n }\n return hostname === allowed;\n });\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAkBO,SAAS,yBAAyB,SAMlB;AACrB,QAAM,qBAAqB,IAAI,IAAI,QAAQ,OAAO,aAAa,OAAO,CAAC,CAAC;AACxE,QAAM,MAAM,OAAO;AAAA,IACjB,OAAO,QAAQ,QAAQ,cAAc,OAAO,CAAC,CAAC,EAAE;AAAA,MAC9C,CAAC,UACC,mBAAmB,IAAI,MAAM,CAAC,CAAC,KAC/B,OAAO,MAAM,CAAC,MAAM;AAAA,IACxB;AAAA,EACF;AAEA,SAAO,OAAO,OAAO;AAAA,IACnB,WAAW,QAAQ;AAAA,IACnB,UAAU,OAAO,OAAO,EAAE,GAAG,QAAQ,SAAS,CAAC;AAAA,IAC/C,gBAAgB,QAAQ;AAAA,IACxB,KAAK,OAAO,OAAO,GAAG;AAAA,IACtB,OAAO,OAAO,OAAqB,SAAuB;AACxD,YAAM,MAAM,IAAI,IAAI,KAAK;AACzB,UAAI,IAAI,aAAa,YAAY,IAAI,aAAa,SAAS;AACzD,cAAM,IAAI;AAAA,UACR,WAAW,QAAQ,OAAO,IAAI,0BAA0B,IAAI,QAAQ;AAAA,QACtE;AAAA,MACF;AACA,UAAI,CAAC,cAAc,IAAI,UAAU,QAAQ,OAAO,aAAa,WAAW,CAAC,CAAC,GAAG;AAC3E,cAAM,IAAI;AAAA,UACR,WAAW,QAAQ,OAAO,IAAI,oBAAoB,IAAI,QAAQ;AAAA,QAChE;AAAA,MACF;AACA,YAAM,gBAAgB,YAAY;AAAA,QAChC,QAAQ,OAAO,aAAa;AAAA,MAC9B;AACA,YAAM,WAAW,MAAM,MAAM,KAAK;AAAA,QAChC,GAAG;AAAA,QACH,UAAU;AAAA,QACV,QAAQ,MAAM,SACV,YAAY,IAAI,CAAC,KAAK,QAAQ,aAAa,CAAC,IAC5C;AAAA,MACN,CAAC;AACD,UAAI,SAAS,UAAU,OAAO,SAAS,SAAS,KAAK;AACnD,cAAM,IAAI;AAAA,UACR,WAAW,QAAQ,OAAO,IAAI;AAAA,QAChC;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAAA,IACA,KAAK,IAAI,WAAsB;AAC7B,cAAQ,IAAI,UAAU,QAAQ,OAAO,IAAI,KAAK,GAAG,MAAM;AAAA,IACzD;AAAA,EACF,CAAC;AACH;AAEA,SAAS,cAAc,UAAkB,cAAiC;AACxE,SAAO,aAAa,KAAK,CAAC,YAAY;AACpC,QAAI,QAAQ,WAAW,IAAI,GAAG;AAC5B,YAAM,SAAS,QAAQ,MAAM,CAAC;AAC9B,aAAO,SAAS,SAAS,MAAM,KAAK,aAAa,OAAO,MAAM,CAAC;AAAA,IACjE;AACA,WAAO,aAAa;AAAA,EACtB,CAAC;AACH;",
4
+ "sourcesContent": ["import type {\n CompiledActionManifest,\n LocalActionRuntimeConfiguration,\n SessionMetadata,\n} from \"../../types.js\";\n\nexport interface LocalActionContext {\n sessionId: string;\n metadata: SessionMetadata;\n idempotencyKey: string;\n env: Record<string, string>;\n fetch(\n input: string | URL,\n init?: RequestInit,\n ): Promise<Response>;\n log(...values: unknown[]): void;\n}\n\nexport function createLocalActionContext(options: {\n action: CompiledActionManifest;\n configuration: LocalActionRuntimeConfiguration;\n sessionId: string;\n metadata: SessionMetadata;\n idempotencyKey: string;\n}): LocalActionContext {\n const allowedEnvironment = new Set(options.action.permissions?.env ?? []);\n const env = Object.fromEntries(\n Object.entries(options.configuration.env ?? {}).filter(\n (entry): entry is [string, string] =>\n allowedEnvironment.has(entry[0]) &&\n typeof entry[1] === \"string\",\n ),\n );\n\n return Object.freeze({\n sessionId: options.sessionId,\n metadata: Object.freeze({ ...options.metadata }),\n idempotencyKey: options.idempotencyKey,\n env: Object.freeze(env),\n fetch: async (input: string | URL, init?: RequestInit) => {\n const url = new URL(input);\n if (url.protocol !== \"https:\" && url.protocol !== \"http:\") {\n throw new Error(\n `Action \"${options.action.name}\" cannot use protocol \"${url.protocol}\".`,\n );\n }\n if (!isAllowedHost(url.hostname, options.action.permissions?.network ?? [])) {\n throw new Error(\n `Action \"${options.action.name}\" cannot access \"${url.hostname}\".`,\n );\n }\n const timeoutSignal = AbortSignal.timeout(\n options.action.timeoutMs ?? 10_000,\n );\n const response = await fetch(url, {\n ...init,\n redirect: \"manual\",\n signal: init?.signal\n ? combineAbortSignals(init.signal, timeoutSignal)\n : timeoutSignal,\n });\n if (response.status >= 300 && response.status < 400) {\n throw new Error(\n `Action \"${options.action.name}\" network redirects are not allowed.`,\n );\n }\n return response;\n },\n log: (...values: unknown[]) => {\n console.log(`[orcha:${options.action.name}]`, ...values);\n },\n });\n}\n\nfunction combineAbortSignals(\n first: AbortSignal,\n second: AbortSignal,\n): AbortSignal {\n const controller = new AbortController();\n const registrations: Array<{\n signal: AbortSignal;\n listener: () => void;\n }> = [];\n const cleanup = () => {\n for (const { signal, listener } of registrations) {\n signal.removeEventListener(\"abort\", listener);\n }\n };\n const register = (signal: AbortSignal) => {\n const abort = () => controller.abort(signal.reason);\n if (signal.aborted) {\n abort();\n return;\n }\n signal.addEventListener(\"abort\", abort, { once: true });\n registrations.push({ signal, listener: abort });\n };\n\n controller.signal.addEventListener(\"abort\", cleanup, { once: true });\n register(first);\n if (!controller.signal.aborted) {\n register(second);\n }\n return controller.signal;\n}\n\nfunction isAllowedHost(hostname: string, allowedHosts: string[]): boolean {\n return allowedHosts.some((allowed) => {\n if (allowed.startsWith(\"*.\")) {\n const suffix = allowed.slice(1);\n return hostname.endsWith(suffix) && hostname !== suffix.slice(1);\n }\n return hostname === allowed;\n });\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAkBO,SAAS,yBAAyB,SAMlB;AACrB,QAAM,qBAAqB,IAAI,IAAI,QAAQ,OAAO,aAAa,OAAO,CAAC,CAAC;AACxE,QAAM,MAAM,OAAO;AAAA,IACjB,OAAO,QAAQ,QAAQ,cAAc,OAAO,CAAC,CAAC,EAAE;AAAA,MAC9C,CAAC,UACC,mBAAmB,IAAI,MAAM,CAAC,CAAC,KAC/B,OAAO,MAAM,CAAC,MAAM;AAAA,IACxB;AAAA,EACF;AAEA,SAAO,OAAO,OAAO;AAAA,IACnB,WAAW,QAAQ;AAAA,IACnB,UAAU,OAAO,OAAO,EAAE,GAAG,QAAQ,SAAS,CAAC;AAAA,IAC/C,gBAAgB,QAAQ;AAAA,IACxB,KAAK,OAAO,OAAO,GAAG;AAAA,IACtB,OAAO,OAAO,OAAqB,SAAuB;AACxD,YAAM,MAAM,IAAI,IAAI,KAAK;AACzB,UAAI,IAAI,aAAa,YAAY,IAAI,aAAa,SAAS;AACzD,cAAM,IAAI;AAAA,UACR,WAAW,QAAQ,OAAO,IAAI,0BAA0B,IAAI,QAAQ;AAAA,QACtE;AAAA,MACF;AACA,UAAI,CAAC,cAAc,IAAI,UAAU,QAAQ,OAAO,aAAa,WAAW,CAAC,CAAC,GAAG;AAC3E,cAAM,IAAI;AAAA,UACR,WAAW,QAAQ,OAAO,IAAI,oBAAoB,IAAI,QAAQ;AAAA,QAChE;AAAA,MACF;AACA,YAAM,gBAAgB,YAAY;AAAA,QAChC,QAAQ,OAAO,aAAa;AAAA,MAC9B;AACA,YAAM,WAAW,MAAM,MAAM,KAAK;AAAA,QAChC,GAAG;AAAA,QACH,UAAU;AAAA,QACV,QAAQ,MAAM,SACV,oBAAoB,KAAK,QAAQ,aAAa,IAC9C;AAAA,MACN,CAAC;AACD,UAAI,SAAS,UAAU,OAAO,SAAS,SAAS,KAAK;AACnD,cAAM,IAAI;AAAA,UACR,WAAW,QAAQ,OAAO,IAAI;AAAA,QAChC;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAAA,IACA,KAAK,IAAI,WAAsB;AAC7B,cAAQ,IAAI,UAAU,QAAQ,OAAO,IAAI,KAAK,GAAG,MAAM;AAAA,IACzD;AAAA,EACF,CAAC;AACH;AAEA,SAAS,oBACP,OACA,QACa;AACb,QAAM,aAAa,IAAI,gBAAgB;AACvC,QAAM,gBAGD,CAAC;AACN,QAAM,UAAU,MAAM;AACpB,eAAW,EAAE,QAAQ,SAAS,KAAK,eAAe;AAChD,aAAO,oBAAoB,SAAS,QAAQ;AAAA,IAC9C;AAAA,EACF;AACA,QAAM,WAAW,CAAC,WAAwB;AACxC,UAAM,QAAQ,MAAM,WAAW,MAAM,OAAO,MAAM;AAClD,QAAI,OAAO,SAAS;AAClB,YAAM;AACN;AAAA,IACF;AACA,WAAO,iBAAiB,SAAS,OAAO,EAAE,MAAM,KAAK,CAAC;AACtD,kBAAc,KAAK,EAAE,QAAQ,UAAU,MAAM,CAAC;AAAA,EAChD;AAEA,aAAW,OAAO,iBAAiB,SAAS,SAAS,EAAE,MAAM,KAAK,CAAC;AACnE,WAAS,KAAK;AACd,MAAI,CAAC,WAAW,OAAO,SAAS;AAC9B,aAAS,MAAM;AAAA,EACjB;AACA,SAAO,WAAW;AACpB;AAEA,SAAS,cAAc,UAAkB,cAAiC;AACxE,SAAO,aAAa,KAAK,CAAC,YAAY;AACpC,QAAI,QAAQ,WAAW,IAAI,GAAG;AAC5B,YAAM,SAAS,QAAQ,MAAM,CAAC;AAC9B,aAAO,SAAS,SAAS,MAAM,KAAK,aAAa,OAAO,MAAM,CAAC;AAAA,IACjE;AACA,WAAO,aAAa;AAAA,EACtB,CAAC;AACH;",
6
6
  "names": []
7
7
  }
@@ -1,4 +1,4 @@
1
- "use strict"; const __orchaImportMetaUrl = require("node:url").pathToFileURL(__filename).href;
1
+ "use strict"; const __orchaImportMetaUrl = require("url").pathToFileURL(__filename).href;
2
2
  "use strict";
3
3
  var __create = Object.create;
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- "use strict"; const __orchaImportMetaUrl = require("node:url").pathToFileURL(__filename).href;
1
+ "use strict"; const __orchaImportMetaUrl = require("url").pathToFileURL(__filename).href;
2
2
  "use strict";
3
3
  var __defProp = Object.defineProperty;
4
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -22,8 +22,8 @@ __export(native_exports, {
22
22
  executeNativeAction: () => executeNativeAction
23
23
  });
24
24
  module.exports = __toCommonJS(native_exports);
25
- var import_node_module = require("node:module");
26
- const require2 = (0, import_node_module.createRequire)(__orchaImportMetaUrl);
25
+ var import_module = require("module");
26
+ const require2 = (0, import_module.createRequire)(__orchaImportMetaUrl);
27
27
  async function executeNativeAction(action, parameters, context) {
28
28
  if (!action.source) {
29
29
  throw new Error(`Action "${action.name}" has no compiled source.`);
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/runtime/actions/native.ts"],
4
- "sourcesContent": ["import { createRequire } from \"node:module\";\nimport type { CompiledActionManifest } from \"../../types.js\";\nimport type { LocalActionContext } from \"./context.js\";\n\nconst require = createRequire(import.meta.url);\n\ntype LocalActionFunction = (\n parameters: Record<string, unknown>,\n context: LocalActionContext,\n) => unknown | Promise<unknown>;\n\nexport async function executeNativeAction(\n action: CompiledActionManifest,\n parameters: Record<string, unknown>,\n context: LocalActionContext,\n): Promise<unknown> {\n if (!action.source) {\n throw new Error(`Action \"${action.name}\" has no compiled source.`);\n }\n\n const loadAction = new Function(\n \"require\",\n `\"use strict\";\\n${action.source}\\nreturn __orchaActionModule.default;`,\n ) as (require: NodeJS.Require) => unknown;\n const executable = loadAction(require);\n if (typeof executable !== \"function\") {\n throw new Error(\n `Action \"${action.name}\" index.js must export a default function.`,\n );\n }\n\n const execution = Promise.resolve(\n (executable as LocalActionFunction)(parameters, context),\n );\n const timeoutMs = action.timeoutMs ?? 10_000;\n let timeout: ReturnType<typeof setTimeout> | undefined;\n try {\n return await Promise.race([\n execution,\n new Promise<never>((_resolve, reject) => {\n timeout = setTimeout(\n () => reject(new Error(`Action timed out after ${timeoutMs}ms.`)),\n timeoutMs,\n );\n }),\n ]);\n } finally {\n if (timeout) {\n clearTimeout(timeout);\n }\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,yBAA8B;AAI9B,MAAMA,eAAU,kCAAc,oBAAe;AAO7C,eAAsB,oBACpB,QACA,YACA,SACkB;AAClB,MAAI,CAAC,OAAO,QAAQ;AAClB,UAAM,IAAI,MAAM,WAAW,OAAO,IAAI,2BAA2B;AAAA,EACnE;AAEA,QAAM,aAAa,IAAI;AAAA,IACrB;AAAA,IACA;AAAA,EAAkB,OAAO,MAAM;AAAA;AAAA,EACjC;AACA,QAAM,aAAa,WAAWA,QAAO;AACrC,MAAI,OAAO,eAAe,YAAY;AACpC,UAAM,IAAI;AAAA,MACR,WAAW,OAAO,IAAI;AAAA,IACxB;AAAA,EACF;AAEA,QAAM,YAAY,QAAQ;AAAA,IACvB,WAAmC,YAAY,OAAO;AAAA,EACzD;AACA,QAAM,YAAY,OAAO,aAAa;AACtC,MAAI;AACJ,MAAI;AACF,WAAO,MAAM,QAAQ,KAAK;AAAA,MACxB;AAAA,MACA,IAAI,QAAe,CAAC,UAAU,WAAW;AACvC,kBAAU;AAAA,UACR,MAAM,OAAO,IAAI,MAAM,0BAA0B,SAAS,KAAK,CAAC;AAAA,UAChE;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH,CAAC;AAAA,EACH,UAAE;AACA,QAAI,SAAS;AACX,mBAAa,OAAO;AAAA,IACtB;AAAA,EACF;AACF;",
4
+ "sourcesContent": ["import { createRequire } from \"module\";\nimport type { CompiledActionManifest } from \"../../types.js\";\nimport type { LocalActionContext } from \"./context.js\";\n\nconst require = createRequire(import.meta.url);\n\ntype LocalActionFunction = (\n parameters: Record<string, unknown>,\n context: LocalActionContext,\n) => unknown | Promise<unknown>;\n\nexport async function executeNativeAction(\n action: CompiledActionManifest,\n parameters: Record<string, unknown>,\n context: LocalActionContext,\n): Promise<unknown> {\n if (!action.source) {\n throw new Error(`Action \"${action.name}\" has no compiled source.`);\n }\n\n const loadAction = new Function(\n \"require\",\n `\"use strict\";\\n${action.source}\\nreturn __orchaActionModule.default;`,\n ) as (require: NodeJS.Require) => unknown;\n const executable = loadAction(require);\n if (typeof executable !== \"function\") {\n throw new Error(\n `Action \"${action.name}\" index.js must export a default function.`,\n );\n }\n\n const execution = Promise.resolve(\n (executable as LocalActionFunction)(parameters, context),\n );\n const timeoutMs = action.timeoutMs ?? 10_000;\n let timeout: ReturnType<typeof setTimeout> | undefined;\n try {\n return await Promise.race([\n execution,\n new Promise<never>((_resolve, reject) => {\n timeout = setTimeout(\n () => reject(new Error(`Action timed out after ${timeoutMs}ms.`)),\n timeoutMs,\n );\n }),\n ]);\n } finally {\n if (timeout) {\n clearTimeout(timeout);\n }\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA8B;AAI9B,MAAMA,eAAU,6BAAc,oBAAe;AAO7C,eAAsB,oBACpB,QACA,YACA,SACkB;AAClB,MAAI,CAAC,OAAO,QAAQ;AAClB,UAAM,IAAI,MAAM,WAAW,OAAO,IAAI,2BAA2B;AAAA,EACnE;AAEA,QAAM,aAAa,IAAI;AAAA,IACrB;AAAA,IACA;AAAA,EAAkB,OAAO,MAAM;AAAA;AAAA,EACjC;AACA,QAAM,aAAa,WAAWA,QAAO;AACrC,MAAI,OAAO,eAAe,YAAY;AACpC,UAAM,IAAI;AAAA,MACR,WAAW,OAAO,IAAI;AAAA,IACxB;AAAA,EACF;AAEA,QAAM,YAAY,QAAQ;AAAA,IACvB,WAAmC,YAAY,OAAO;AAAA,EACzD;AACA,QAAM,YAAY,OAAO,aAAa;AACtC,MAAI;AACJ,MAAI;AACF,WAAO,MAAM,QAAQ,KAAK;AAAA,MACxB;AAAA,MACA,IAAI,QAAe,CAAC,UAAU,WAAW;AACvC,kBAAU;AAAA,UACR,MAAM,OAAO,IAAI,MAAM,0BAA0B,SAAS,KAAK,CAAC;AAAA,UAChE;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH,CAAC;AAAA,EACH,UAAE;AACA,QAAI,SAAS;AACX,mBAAa,OAAO;AAAA,IACtB;AAAA,EACF;AACF;",
6
6
  "names": ["require"]
7
7
  }
@@ -1,4 +1,4 @@
1
- "use strict"; const __orchaImportMetaUrl = require("node:url").pathToFileURL(__filename).href;
1
+ "use strict"; const __orchaImportMetaUrl = require("url").pathToFileURL(__filename).href;
2
2
  "use strict";
3
3
  var __create = Object.create;
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- "use strict"; const __orchaImportMetaUrl = require("node:url").pathToFileURL(__filename).href;
1
+ "use strict"; const __orchaImportMetaUrl = require("url").pathToFileURL(__filename).href;
2
2
  "use strict";
3
3
  var __defProp = Object.defineProperty;
4
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -22,7 +22,7 @@ __export(agent_exports, {
22
22
  RuntimeAgent: () => RuntimeAgent
23
23
  });
24
24
  module.exports = __toCommonJS(agent_exports);
25
- var import_node_crypto = require("node:crypto");
25
+ var import_crypto = require("crypto");
26
26
  var import_errors = require("../errors.js");
27
27
  var import_file_content = require("../file-content.js");
28
28
  var import_session_events = require("./session-events.js");
@@ -2128,7 +2128,7 @@ function normalizeMetadata(metadata) {
2128
2128
  }
2129
2129
  function createSessionId(prefix) {
2130
2130
  const utcTimestamp = (/* @__PURE__ */ new Date()).toISOString().replace(/\.\d{3}Z$/, "").replace("T", "_");
2131
- return `${prefix}${utcTimestamp}_${(0, import_node_crypto.randomUUID)()}`;
2131
+ return `${prefix}${utcTimestamp}_${(0, import_crypto.randomUUID)()}`;
2132
2132
  }
2133
2133
  function normalizeVariables(variables) {
2134
2134
  if (variables === void 0) {