@keystrokehq/openrouter 0.1.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 (138) hide show
  1. package/README.md +17 -0
  2. package/dist/action.cjs +21 -0
  3. package/dist/action.cjs.map +1 -0
  4. package/dist/action.mjs +21 -0
  5. package/dist/action.mjs.map +1 -0
  6. package/dist/actions/create-chat-completion.cjs +81 -0
  7. package/dist/actions/create-chat-completion.cjs.map +1 -0
  8. package/dist/actions/create-chat-completion.d.cts +9 -0
  9. package/dist/actions/create-chat-completion.d.cts.map +1 -0
  10. package/dist/actions/create-chat-completion.d.mts +9 -0
  11. package/dist/actions/create-chat-completion.d.mts.map +1 -0
  12. package/dist/actions/create-chat-completion.mjs +80 -0
  13. package/dist/actions/create-chat-completion.mjs.map +1 -0
  14. package/dist/actions/create-coinbase-charge.cjs +33 -0
  15. package/dist/actions/create-coinbase-charge.cjs.map +1 -0
  16. package/dist/actions/create-coinbase-charge.d.cts +9 -0
  17. package/dist/actions/create-coinbase-charge.d.cts.map +1 -0
  18. package/dist/actions/create-coinbase-charge.d.mts +9 -0
  19. package/dist/actions/create-coinbase-charge.d.mts.map +1 -0
  20. package/dist/actions/create-coinbase-charge.mjs +32 -0
  21. package/dist/actions/create-coinbase-charge.mjs.map +1 -0
  22. package/dist/actions/create-message.cjs +91 -0
  23. package/dist/actions/create-message.cjs.map +1 -0
  24. package/dist/actions/create-message.d.cts +9 -0
  25. package/dist/actions/create-message.d.cts.map +1 -0
  26. package/dist/actions/create-message.d.mts +9 -0
  27. package/dist/actions/create-message.d.mts.map +1 -0
  28. package/dist/actions/create-message.mjs +90 -0
  29. package/dist/actions/create-message.mjs.map +1 -0
  30. package/dist/actions/get-credits.cjs +20 -0
  31. package/dist/actions/get-credits.cjs.map +1 -0
  32. package/dist/actions/get-credits.d.cts +9 -0
  33. package/dist/actions/get-credits.d.cts.map +1 -0
  34. package/dist/actions/get-credits.d.mts +9 -0
  35. package/dist/actions/get-credits.d.mts.map +1 -0
  36. package/dist/actions/get-credits.mjs +19 -0
  37. package/dist/actions/get-credits.mjs.map +1 -0
  38. package/dist/actions/get-current-key.cjs +44 -0
  39. package/dist/actions/get-current-key.cjs.map +1 -0
  40. package/dist/actions/get-current-key.d.cts +9 -0
  41. package/dist/actions/get-current-key.d.cts.map +1 -0
  42. package/dist/actions/get-current-key.d.mts +9 -0
  43. package/dist/actions/get-current-key.d.mts.map +1 -0
  44. package/dist/actions/get-current-key.mjs +43 -0
  45. package/dist/actions/get-current-key.mjs.map +1 -0
  46. package/dist/actions/get-generation.cjs +45 -0
  47. package/dist/actions/get-generation.cjs.map +1 -0
  48. package/dist/actions/get-generation.d.cts +9 -0
  49. package/dist/actions/get-generation.d.cts.map +1 -0
  50. package/dist/actions/get-generation.d.mts +9 -0
  51. package/dist/actions/get-generation.d.mts.map +1 -0
  52. package/dist/actions/get-generation.mjs +44 -0
  53. package/dist/actions/get-generation.mjs.map +1 -0
  54. package/dist/actions/get-models-count.cjs +20 -0
  55. package/dist/actions/get-models-count.cjs.map +1 -0
  56. package/dist/actions/get-models-count.d.cts +9 -0
  57. package/dist/actions/get-models-count.d.cts.map +1 -0
  58. package/dist/actions/get-models-count.d.mts +9 -0
  59. package/dist/actions/get-models-count.d.mts.map +1 -0
  60. package/dist/actions/get-models-count.mjs +19 -0
  61. package/dist/actions/get-models-count.mjs.map +1 -0
  62. package/dist/actions/index.cjs +27 -0
  63. package/dist/actions/index.d.cts +14 -0
  64. package/dist/actions/index.d.mts +14 -0
  65. package/dist/actions/index.mjs +14 -0
  66. package/dist/actions/list-available-models.cjs +81 -0
  67. package/dist/actions/list-available-models.cjs.map +1 -0
  68. package/dist/actions/list-available-models.d.cts +9 -0
  69. package/dist/actions/list-available-models.d.cts.map +1 -0
  70. package/dist/actions/list-available-models.d.mts +9 -0
  71. package/dist/actions/list-available-models.d.mts.map +1 -0
  72. package/dist/actions/list-available-models.mjs +80 -0
  73. package/dist/actions/list-available-models.mjs.map +1 -0
  74. package/dist/actions/list-embedding-models.cjs +53 -0
  75. package/dist/actions/list-embedding-models.cjs.map +1 -0
  76. package/dist/actions/list-embedding-models.d.cts +9 -0
  77. package/dist/actions/list-embedding-models.d.cts.map +1 -0
  78. package/dist/actions/list-embedding-models.d.mts +9 -0
  79. package/dist/actions/list-embedding-models.d.mts.map +1 -0
  80. package/dist/actions/list-embedding-models.mjs +52 -0
  81. package/dist/actions/list-embedding-models.mjs.map +1 -0
  82. package/dist/actions/list-model-endpoints.cjs +51 -0
  83. package/dist/actions/list-model-endpoints.cjs.map +1 -0
  84. package/dist/actions/list-model-endpoints.d.cts +9 -0
  85. package/dist/actions/list-model-endpoints.d.cts.map +1 -0
  86. package/dist/actions/list-model-endpoints.d.mts +9 -0
  87. package/dist/actions/list-model-endpoints.d.mts.map +1 -0
  88. package/dist/actions/list-model-endpoints.mjs +50 -0
  89. package/dist/actions/list-model-endpoints.mjs.map +1 -0
  90. package/dist/actions/list-providers.cjs +21 -0
  91. package/dist/actions/list-providers.cjs.map +1 -0
  92. package/dist/actions/list-providers.d.cts +9 -0
  93. package/dist/actions/list-providers.d.cts.map +1 -0
  94. package/dist/actions/list-providers.d.mts +9 -0
  95. package/dist/actions/list-providers.d.mts.map +1 -0
  96. package/dist/actions/list-providers.mjs +20 -0
  97. package/dist/actions/list-providers.mjs.map +1 -0
  98. package/dist/actions/list-user-models.cjs +57 -0
  99. package/dist/actions/list-user-models.cjs.map +1 -0
  100. package/dist/actions/list-user-models.d.cts +9 -0
  101. package/dist/actions/list-user-models.d.cts.map +1 -0
  102. package/dist/actions/list-user-models.d.mts +9 -0
  103. package/dist/actions/list-user-models.d.mts.map +1 -0
  104. package/dist/actions/list-user-models.mjs +56 -0
  105. package/dist/actions/list-user-models.mjs.map +1 -0
  106. package/dist/actions/list-zdr-endpoints.cjs +55 -0
  107. package/dist/actions/list-zdr-endpoints.cjs.map +1 -0
  108. package/dist/actions/list-zdr-endpoints.d.cts +9 -0
  109. package/dist/actions/list-zdr-endpoints.d.cts.map +1 -0
  110. package/dist/actions/list-zdr-endpoints.d.mts +9 -0
  111. package/dist/actions/list-zdr-endpoints.d.mts.map +1 -0
  112. package/dist/actions/list-zdr-endpoints.mjs +54 -0
  113. package/dist/actions/list-zdr-endpoints.mjs.map +1 -0
  114. package/dist/app.cjs +9 -0
  115. package/dist/app.cjs.map +1 -0
  116. package/dist/app.d.cts +5 -0
  117. package/dist/app.d.cts.map +1 -0
  118. package/dist/app.d.mts +5 -0
  119. package/dist/app.d.mts.map +1 -0
  120. package/dist/app.mjs +10 -0
  121. package/dist/app.mjs.map +1 -0
  122. package/dist/catalog.cjs +15 -0
  123. package/dist/catalog.cjs.map +1 -0
  124. package/dist/catalog.d.cts +14 -0
  125. package/dist/catalog.d.cts.map +1 -0
  126. package/dist/catalog.d.mts +14 -0
  127. package/dist/catalog.d.mts.map +1 -0
  128. package/dist/catalog.mjs +15 -0
  129. package/dist/catalog.mjs.map +1 -0
  130. package/dist/execute.cjs +18 -0
  131. package/dist/execute.cjs.map +1 -0
  132. package/dist/execute.mjs +18 -0
  133. package/dist/execute.mjs.map +1 -0
  134. package/dist/index.cjs +32 -0
  135. package/dist/index.d.cts +16 -0
  136. package/dist/index.d.mts +16 -0
  137. package/dist/index.mjs +17 -0
  138. package/package.json +49 -0
@@ -0,0 +1,50 @@
1
+ import { action } from "../action.mjs";
2
+ import { z } from "zod";
3
+ //#region src/actions/list-model-endpoints.ts
4
+ const OpenrouterListModelEndpointsInput = z.object({
5
+ slug: z.string().describe("Model's unique slug under the author namespace (e.g., 'gpt4')."),
6
+ author: z.string().describe("Model author's username as it appears in the model URL (e.g., 'anon'). Use exact value from OPENROUTER_LIST_AVAILABLE_MODELS — approximate or incorrect values return empty results.")
7
+ }).describe("Request parameters for listing endpoints of a specific model.");
8
+ const OpenrouterListModelEndpoints_PricingSchema = z.object({
9
+ image: z.string().describe("Cost per image operation.").nullable().optional(),
10
+ prompt: z.string().describe("Cost per prompt token."),
11
+ request: z.string().describe("Cost per request.").nullable().optional(),
12
+ completion: z.string().describe("Cost per completion token."),
13
+ web_search: z.string().describe("Cost per web search.").nullable().optional(),
14
+ image_output: z.string().describe("Cost per output image.").nullable().optional(),
15
+ input_cache_read: z.string().describe("Cost per input cache read.").nullable().optional(),
16
+ input_cache_write: z.string().describe("Cost per input cache write.").nullable().optional(),
17
+ internal_reasoning: z.string().describe("Cost per internal reasoning.").nullable().optional()
18
+ }).describe("Pricing rates for different usage metrics.");
19
+ const OpenrouterListModelEndpoints_EndpointInfoSchema = z.object({
20
+ name: z.string().describe("Endpoint identifier."),
21
+ pricing: OpenrouterListModelEndpoints_PricingSchema.nullable(),
22
+ provider_name: z.string().describe("Name of the provider serving this endpoint."),
23
+ context_length: z.number().describe("Maximum number of tokens in context."),
24
+ supported_parameters: z.array(z.string()).describe("List of supported parameter names for this endpoint.")
25
+ }).describe("Details for a single model endpoint.");
26
+ const OpenrouterListModelEndpoints_ArchitectureSchema = z.object({
27
+ tokenizer: z.string().describe("Tokenizer name used by the model."),
28
+ instruct_type: z.string().describe("Instruction style/type (e.g., 'instruct').").nullable().optional(),
29
+ input_modalities: z.array(z.string()).describe("List of modalities accepted as input (e.g., ['text', 'image'])."),
30
+ output_modalities: z.array(z.string()).describe("List of modalities produced as output (e.g., ['text']).")
31
+ }).describe("Model architecture details.");
32
+ const OpenrouterListModelEndpoints_OpenrouterListModelEndpointsDataSchema = z.object({
33
+ id: z.string().describe("Unique model identifier."),
34
+ name: z.string().describe("Human-readable model name."),
35
+ created: z.number().describe("UNIX timestamp when model was created."),
36
+ endpoints: z.array(OpenrouterListModelEndpoints_EndpointInfoSchema),
37
+ description: z.string().describe("Model description.").nullable().optional(),
38
+ architecture: OpenrouterListModelEndpoints_ArchitectureSchema.nullable()
39
+ });
40
+ const openrouterListModelEndpoints = action("OPENROUTER_LIST_MODEL_ENDPOINTS", {
41
+ slug: "openrouter-list-model-endpoints",
42
+ name: "OpenRouter List Model Endpoints",
43
+ description: "Tool to list endpoints for a specific model. Use after specifying model author and slug to get endpoint details including pricing, context length, and supported parameters. Some metadata fields (e.g., latency, pricing) may be null or approximate; handle missing values in routing logic.",
44
+ input: OpenrouterListModelEndpointsInput,
45
+ output: z.object({ data: OpenrouterListModelEndpoints_OpenrouterListModelEndpointsDataSchema.nullable() }).describe("Response schema for listing model endpoints.")
46
+ });
47
+ //#endregion
48
+ export { openrouterListModelEndpoints };
49
+
50
+ //# sourceMappingURL=list-model-endpoints.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-model-endpoints.mjs","names":[],"sources":["../../src/actions/list-model-endpoints.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const OpenrouterListModelEndpointsInput: z.ZodTypeAny = z.object({\n slug: z.string().describe(\"Model's unique slug under the author namespace (e.g., 'gpt4').\"),\n author: z.string().describe(\"Model author's username as it appears in the model URL (e.g., 'anon'). Use exact value from OPENROUTER_LIST_AVAILABLE_MODELS — approximate or incorrect values return empty results.\"),\n}).describe(\"Request parameters for listing endpoints of a specific model.\");\nconst OpenrouterListModelEndpoints_PricingSchema: z.ZodTypeAny = z.object({\n image: z.string().describe(\"Cost per image operation.\").nullable().optional(),\n prompt: z.string().describe(\"Cost per prompt token.\"),\n request: z.string().describe(\"Cost per request.\").nullable().optional(),\n completion: z.string().describe(\"Cost per completion token.\"),\n web_search: z.string().describe(\"Cost per web search.\").nullable().optional(),\n image_output: z.string().describe(\"Cost per output image.\").nullable().optional(),\n input_cache_read: z.string().describe(\"Cost per input cache read.\").nullable().optional(),\n input_cache_write: z.string().describe(\"Cost per input cache write.\").nullable().optional(),\n internal_reasoning: z.string().describe(\"Cost per internal reasoning.\").nullable().optional(),\n}).describe(\"Pricing rates for different usage metrics.\");\nconst OpenrouterListModelEndpoints_EndpointInfoSchema: z.ZodTypeAny = z.object({\n name: z.string().describe(\"Endpoint identifier.\"),\n pricing: OpenrouterListModelEndpoints_PricingSchema.nullable(),\n provider_name: z.string().describe(\"Name of the provider serving this endpoint.\"),\n context_length: z.number().describe(\"Maximum number of tokens in context.\"),\n supported_parameters: z.array(z.string()).describe(\"List of supported parameter names for this endpoint.\"),\n}).describe(\"Details for a single model endpoint.\");\nconst OpenrouterListModelEndpoints_ArchitectureSchema: z.ZodTypeAny = z.object({\n tokenizer: z.string().describe(\"Tokenizer name used by the model.\"),\n instruct_type: z.string().describe(\"Instruction style/type (e.g., 'instruct').\").nullable().optional(),\n input_modalities: z.array(z.string()).describe(\"List of modalities accepted as input (e.g., ['text', 'image']).\"),\n output_modalities: z.array(z.string()).describe(\"List of modalities produced as output (e.g., ['text']).\"),\n}).describe(\"Model architecture details.\");\nconst OpenrouterListModelEndpoints_OpenrouterListModelEndpointsDataSchema: z.ZodTypeAny = z.object({\n id: z.string().describe(\"Unique model identifier.\"),\n name: z.string().describe(\"Human-readable model name.\"),\n created: z.number().describe(\"UNIX timestamp when model was created.\"),\n endpoints: z.array(OpenrouterListModelEndpoints_EndpointInfoSchema),\n description: z.string().describe(\"Model description.\").nullable().optional(),\n architecture: OpenrouterListModelEndpoints_ArchitectureSchema.nullable(),\n});\nexport const OpenrouterListModelEndpointsOutput: z.ZodTypeAny = z.object({\n data: OpenrouterListModelEndpoints_OpenrouterListModelEndpointsDataSchema.nullable(),\n}).describe(\"Response schema for listing model endpoints.\");\n\nexport const openrouterListModelEndpoints = action(\"OPENROUTER_LIST_MODEL_ENDPOINTS\", {\n slug: \"openrouter-list-model-endpoints\",\n name: \"OpenRouter List Model Endpoints\",\n description: \"Tool to list endpoints for a specific model. Use after specifying model author and slug to get endpoint details including pricing, context length, and supported parameters. Some metadata fields (e.g., latency, pricing) may be null or approximate; handle missing values in routing logic.\",\n input: OpenrouterListModelEndpointsInput,\n output: OpenrouterListModelEndpointsOutput,\n});\n"],"mappings":";;;AAIA,MAAa,oCAAkD,EAAE,OAAO;CACtE,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,gEAAgE;CAC1F,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,sLAAsL;AACpN,CAAC,CAAC,CAAC,SAAS,+DAA+D;AAC3E,MAAM,6CAA2D,EAAE,OAAO;CACxE,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,2BAA2B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC5E,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,wBAAwB;CACpD,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,mBAAmB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACtE,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,4BAA4B;CAC5D,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,sBAAsB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC5E,cAAc,EAAE,OAAO,CAAC,CAAC,SAAS,wBAAwB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAChF,kBAAkB,EAAE,OAAO,CAAC,CAAC,SAAS,4BAA4B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACxF,mBAAmB,EAAE,OAAO,CAAC,CAAC,SAAS,6BAA6B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC1F,oBAAoB,EAAE,OAAO,CAAC,CAAC,SAAS,8BAA8B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AAC9F,CAAC,CAAC,CAAC,SAAS,4CAA4C;AACxD,MAAM,kDAAgE,EAAE,OAAO;CAC7E,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,sBAAsB;CAChD,SAAS,2CAA2C,SAAS;CAC7D,eAAe,EAAE,OAAO,CAAC,CAAC,SAAS,6CAA6C;CAChF,gBAAgB,EAAE,OAAO,CAAC,CAAC,SAAS,sCAAsC;CAC1E,sBAAsB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,sDAAsD;AAC3G,CAAC,CAAC,CAAC,SAAS,sCAAsC;AAClD,MAAM,kDAAgE,EAAE,OAAO;CAC7E,WAAW,EAAE,OAAO,CAAC,CAAC,SAAS,mCAAmC;CAClE,eAAe,EAAE,OAAO,CAAC,CAAC,SAAS,4CAA4C,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACrG,kBAAkB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,iEAAiE;CAChH,mBAAmB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,yDAAyD;AAC3G,CAAC,CAAC,CAAC,SAAS,6BAA6B;AACzC,MAAM,sEAAoF,EAAE,OAAO;CACjG,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,0BAA0B;CAClD,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,4BAA4B;CACtD,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,wCAAwC;CACrE,WAAW,EAAE,MAAM,+CAA+C;CAClE,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,oBAAoB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC3E,cAAc,gDAAgD,SAAS;AACzE,CAAC;AAKD,MAAa,+BAA+B,OAAO,mCAAmC;CACpF,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAT8D,EAAE,OAAO,EACvE,MAAM,oEAAoE,SAAS,EACrF,CAAC,CAAC,CAAC,SAAS,8CAOF;AACV,CAAC"}
@@ -0,0 +1,21 @@
1
+ const require_action = require("../action.cjs");
2
+ let zod = require("zod");
3
+ //#region src/actions/list-providers.ts
4
+ const OpenrouterListProvidersInput = zod.z.object({}).describe("Empty request model for listing providers.");
5
+ const OpenrouterListProviders_ProviderSchema = zod.z.object({
6
+ name: zod.z.string().describe("Human-readable name of the provider").nullable().optional(),
7
+ slug: zod.z.string().describe("Unique identifier (slug) of the provider"),
8
+ description: zod.z.string().describe("Description of the provider, if available").nullable().optional()
9
+ }).passthrough().describe("Schema for a provider entry returned by the OpenRouter API.");
10
+ const OpenrouterListProvidersOutput = zod.z.object({ data: zod.z.array(OpenrouterListProviders_ProviderSchema).describe("List of available AI model providers") }).describe("Response model for provider listing.");
11
+ const openrouterListProviders = require_action.action("OPENROUTER_LIST_PROVIDERS", {
12
+ slug: "openrouter-list-providers",
13
+ name: "OpenRouter List Providers",
14
+ description: "Tool to list all AI model providers available through the OpenRouter API. Use after authentication to retrieve available provider options for routing configuration. Providers differ in latency, context window sizes, and rate limits — switching providers affects these constraints. Newly added providers may not appear immediately due to catalog propagation delays.",
15
+ input: OpenrouterListProvidersInput,
16
+ output: OpenrouterListProvidersOutput
17
+ });
18
+ //#endregion
19
+ exports.openrouterListProviders = openrouterListProviders;
20
+
21
+ //# sourceMappingURL=list-providers.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-providers.cjs","names":["z","action"],"sources":["../../src/actions/list-providers.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const OpenrouterListProvidersInput: z.ZodTypeAny = z.object({}).describe(\"Empty request model for listing providers.\");\nconst OpenrouterListProviders_ProviderSchema: z.ZodTypeAny = z.object({\n name: z.string().describe(\"Human-readable name of the provider\").nullable().optional(),\n slug: z.string().describe(\"Unique identifier (slug) of the provider\"),\n description: z.string().describe(\"Description of the provider, if available\").nullable().optional(),\n}).passthrough().describe(\"Schema for a provider entry returned by the OpenRouter API.\");\nexport const OpenrouterListProvidersOutput: z.ZodTypeAny = z.object({\n data: z.array(OpenrouterListProviders_ProviderSchema).describe(\"List of available AI model providers\"),\n}).describe(\"Response model for provider listing.\");\n\nexport const openrouterListProviders = action(\"OPENROUTER_LIST_PROVIDERS\", {\n slug: \"openrouter-list-providers\",\n name: \"OpenRouter List Providers\",\n description: \"Tool to list all AI model providers available through the OpenRouter API. Use after authentication to retrieve available provider options for routing configuration. Providers differ in latency, context window sizes, and rate limits — switching providers affects these constraints. Newly added providers may not appear immediately due to catalog propagation delays.\",\n input: OpenrouterListProvidersInput,\n output: OpenrouterListProvidersOutput,\n});\n"],"mappings":";;;AAIA,MAAa,+BAA6CA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,4CAA4C;AAC5H,MAAM,yCAAuDA,IAAAA,EAAE,OAAO;CACpE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,qCAAqC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACrF,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,0CAA0C;CACpE,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,2CAA2C,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AACpG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,6DAA6D;AACvF,MAAa,gCAA8CA,IAAAA,EAAE,OAAO,EAClE,MAAMA,IAAAA,EAAE,MAAM,sCAAsC,CAAC,CAAC,SAAS,sCAAsC,EACvG,CAAC,CAAC,CAAC,SAAS,sCAAsC;AAElD,MAAa,0BAA0BC,eAAAA,OAAO,6BAA6B;CACzE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/actions/list-providers.d.ts
4
+ declare const OpenrouterListProvidersInput: z.ZodTypeAny;
5
+ declare const OpenrouterListProvidersOutput: z.ZodTypeAny;
6
+ declare const openrouterListProviders: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { openrouterListProviders };
9
+ //# sourceMappingURL=list-providers.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-providers.d.cts","names":[],"sources":["../../src/actions/list-providers.ts"],"mappings":";;;cAIa,4BAAA,EAA8B,CAAA,CAAE,UAAgF;AAAA,cAMhH,6BAAA,EAA+B,CAAA,CAAE,UAEK;AAAA,cAEtC,uBAAA,gCAAuB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/actions/list-providers.d.ts
4
+ declare const OpenrouterListProvidersInput: z.ZodTypeAny;
5
+ declare const OpenrouterListProvidersOutput: z.ZodTypeAny;
6
+ declare const openrouterListProviders: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { openrouterListProviders };
9
+ //# sourceMappingURL=list-providers.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-providers.d.mts","names":[],"sources":["../../src/actions/list-providers.ts"],"mappings":";;;cAIa,4BAAA,EAA8B,CAAA,CAAE,UAAgF;AAAA,cAMhH,6BAAA,EAA+B,CAAA,CAAE,UAEK;AAAA,cAEtC,uBAAA,gCAAuB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,20 @@
1
+ import { action } from "../action.mjs";
2
+ import { z } from "zod";
3
+ //#region src/actions/list-providers.ts
4
+ const OpenrouterListProvidersInput = z.object({}).describe("Empty request model for listing providers.");
5
+ const OpenrouterListProviders_ProviderSchema = z.object({
6
+ name: z.string().describe("Human-readable name of the provider").nullable().optional(),
7
+ slug: z.string().describe("Unique identifier (slug) of the provider"),
8
+ description: z.string().describe("Description of the provider, if available").nullable().optional()
9
+ }).passthrough().describe("Schema for a provider entry returned by the OpenRouter API.");
10
+ const openrouterListProviders = action("OPENROUTER_LIST_PROVIDERS", {
11
+ slug: "openrouter-list-providers",
12
+ name: "OpenRouter List Providers",
13
+ description: "Tool to list all AI model providers available through the OpenRouter API. Use after authentication to retrieve available provider options for routing configuration. Providers differ in latency, context window sizes, and rate limits — switching providers affects these constraints. Newly added providers may not appear immediately due to catalog propagation delays.",
14
+ input: OpenrouterListProvidersInput,
15
+ output: z.object({ data: z.array(OpenrouterListProviders_ProviderSchema).describe("List of available AI model providers") }).describe("Response model for provider listing.")
16
+ });
17
+ //#endregion
18
+ export { openrouterListProviders };
19
+
20
+ //# sourceMappingURL=list-providers.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-providers.mjs","names":[],"sources":["../../src/actions/list-providers.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const OpenrouterListProvidersInput: z.ZodTypeAny = z.object({}).describe(\"Empty request model for listing providers.\");\nconst OpenrouterListProviders_ProviderSchema: z.ZodTypeAny = z.object({\n name: z.string().describe(\"Human-readable name of the provider\").nullable().optional(),\n slug: z.string().describe(\"Unique identifier (slug) of the provider\"),\n description: z.string().describe(\"Description of the provider, if available\").nullable().optional(),\n}).passthrough().describe(\"Schema for a provider entry returned by the OpenRouter API.\");\nexport const OpenrouterListProvidersOutput: z.ZodTypeAny = z.object({\n data: z.array(OpenrouterListProviders_ProviderSchema).describe(\"List of available AI model providers\"),\n}).describe(\"Response model for provider listing.\");\n\nexport const openrouterListProviders = action(\"OPENROUTER_LIST_PROVIDERS\", {\n slug: \"openrouter-list-providers\",\n name: \"OpenRouter List Providers\",\n description: \"Tool to list all AI model providers available through the OpenRouter API. Use after authentication to retrieve available provider options for routing configuration. Providers differ in latency, context window sizes, and rate limits — switching providers affects these constraints. Newly added providers may not appear immediately due to catalog propagation delays.\",\n input: OpenrouterListProvidersInput,\n output: OpenrouterListProvidersOutput,\n});\n"],"mappings":";;;AAIA,MAAa,+BAA6C,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,4CAA4C;AAC5H,MAAM,yCAAuD,EAAE,OAAO;CACpE,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,qCAAqC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACrF,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,0CAA0C;CACpE,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,2CAA2C,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AACpG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,6DAA6D;AAKvF,MAAa,0BAA0B,OAAO,6BAA6B;CACzE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QATyD,EAAE,OAAO,EAClE,MAAM,EAAE,MAAM,sCAAsC,CAAC,CAAC,SAAS,sCAAsC,EACvG,CAAC,CAAC,CAAC,SAAS,sCAOF;AACV,CAAC"}
@@ -0,0 +1,57 @@
1
+ const require_action = require("../action.cjs");
2
+ let zod = require("zod");
3
+ //#region src/actions/list-user-models.ts
4
+ const OpenrouterListUserModelsInput = zod.z.object({
5
+ x_title: zod.z.string().describe("The app display name allows you to customize how your app appears in OpenRouter's dashboard.").optional(),
6
+ http_referer: zod.z.string().describe("The app identifier should be your app's URL and is used as the primary identifier for rankings. This is used to track API usage per application.").optional()
7
+ });
8
+ const OpenrouterListUserModels_PricingSchema = zod.z.object({
9
+ image: zod.z.string().describe("Price per image.").nullable().optional(),
10
+ prompt: zod.z.string().describe("Price per prompt token."),
11
+ request: zod.z.string().describe("Price per request.").nullable().optional(),
12
+ completion: zod.z.string().describe("Price per completion token."),
13
+ web_search: zod.z.string().describe("Price per web search.").nullable().optional(),
14
+ input_cache_read: zod.z.string().describe("Price per input cache read.").nullable().optional(),
15
+ input_cache_write: zod.z.string().describe("Price per input cache write.").nullable().optional(),
16
+ internal_reasoning: zod.z.string().describe("Price per internal reasoning.").nullable().optional()
17
+ });
18
+ const OpenrouterListUserModels_ArchitectureSchema = zod.z.object({
19
+ modality: zod.z.string().describe("Overall modality pattern (e.g., 'text->text').").nullable().optional(),
20
+ tokenizer: zod.z.string().describe("Tokenization method used."),
21
+ instruct_type: zod.z.string().describe("Instruction style/type (e.g., 'chatml').").nullable().optional(),
22
+ input_modalities: zod.z.array(zod.z.string()).describe("Supported input types (e.g., 'text', 'image')."),
23
+ output_modalities: zod.z.array(zod.z.string()).describe("Supported output types (e.g., 'text').")
24
+ });
25
+ const OpenrouterListUserModels_TopProviderSchema = zod.z.object({
26
+ is_moderated: zod.z.boolean().describe("Indicates if the content is moderated.").nullable().optional(),
27
+ context_length: zod.z.number().int().describe("Maximum context window size from provider.").nullable().optional(),
28
+ max_completion_tokens: zod.z.number().int().describe("Maximum completion tokens allowed by provider.").nullable().optional()
29
+ });
30
+ const OpenrouterListUserModels_ModelInfoSchema = zod.z.object({
31
+ id: zod.z.string().describe("Unique model identifier."),
32
+ name: zod.z.string().describe("Human-readable display name for the model."),
33
+ created: zod.z.number().describe("Unix timestamp when the model was added."),
34
+ pricing: OpenrouterListUserModels_PricingSchema.nullable(),
35
+ description: zod.z.string().describe("Detailed description of the model's capabilities.").nullable().optional(),
36
+ architecture: OpenrouterListUserModels_ArchitectureSchema.nullable(),
37
+ top_provider: OpenrouterListUserModels_TopProviderSchema.nullable(),
38
+ canonical_slug: zod.z.string().describe("Permanent slug for the model (immutable)."),
39
+ context_length: zod.z.number().int().describe("Maximum context window size in tokens."),
40
+ expiration_date: zod.z.string().describe("Date when model will be deprecated, if applicable.").nullable().optional(),
41
+ hugging_face_id: zod.z.string().describe("Identifier for the model on Hugging Face.").nullable().optional(),
42
+ default_parameters: zod.z.object({}).describe("Default parameter values for this model, if any.").nullable().optional(),
43
+ per_request_limits: zod.z.object({}).describe("Rate limiting information as a mapping of limit names to values, or null if no limits.").nullable().optional(),
44
+ supported_parameters: zod.z.array(zod.z.string()).describe("Supported API parameters for this model.")
45
+ });
46
+ const OpenrouterListUserModelsOutput = zod.z.object({ data: zod.z.array(OpenrouterListUserModels_ModelInfoSchema).describe("List of models filtered by user provider preferences, privacy settings, and guardrails.") });
47
+ const openrouterListUserModels = require_action.action("OPENROUTER_LIST_USER_MODELS", {
48
+ slug: "openrouter-list-user-models",
49
+ name: "List User Models",
50
+ description: "Tool to list models filtered by user provider preferences, privacy settings, and guardrails. Use after authenticating to get models tailored to the user's configuration.",
51
+ input: OpenrouterListUserModelsInput,
52
+ output: OpenrouterListUserModelsOutput
53
+ });
54
+ //#endregion
55
+ exports.openrouterListUserModels = openrouterListUserModels;
56
+
57
+ //# sourceMappingURL=list-user-models.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-user-models.cjs","names":["z","action"],"sources":["../../src/actions/list-user-models.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const OpenrouterListUserModelsInput: z.ZodTypeAny = z.object({\n x_title: z.string().describe(\"The app display name allows you to customize how your app appears in OpenRouter's dashboard.\").optional(),\n http_referer: z.string().describe(\"The app identifier should be your app's URL and is used as the primary identifier for rankings. This is used to track API usage per application.\").optional(),\n});\nconst OpenrouterListUserModels_PricingSchema: z.ZodTypeAny = z.object({\n image: z.string().describe(\"Price per image.\").nullable().optional(),\n prompt: z.string().describe(\"Price per prompt token.\"),\n request: z.string().describe(\"Price per request.\").nullable().optional(),\n completion: z.string().describe(\"Price per completion token.\"),\n web_search: z.string().describe(\"Price per web search.\").nullable().optional(),\n input_cache_read: z.string().describe(\"Price per input cache read.\").nullable().optional(),\n input_cache_write: z.string().describe(\"Price per input cache write.\").nullable().optional(),\n internal_reasoning: z.string().describe(\"Price per internal reasoning.\").nullable().optional(),\n});\nconst OpenrouterListUserModels_ArchitectureSchema: z.ZodTypeAny = z.object({\n modality: z.string().describe(\"Overall modality pattern (e.g., 'text->text').\").nullable().optional(),\n tokenizer: z.string().describe(\"Tokenization method used.\"),\n instruct_type: z.string().describe(\"Instruction style/type (e.g., 'chatml').\").nullable().optional(),\n input_modalities: z.array(z.string()).describe(\"Supported input types (e.g., 'text', 'image').\"),\n output_modalities: z.array(z.string()).describe(\"Supported output types (e.g., 'text').\"),\n});\nconst OpenrouterListUserModels_TopProviderSchema: z.ZodTypeAny = z.object({\n is_moderated: z.boolean().describe(\"Indicates if the content is moderated.\").nullable().optional(),\n context_length: z.number().int().describe(\"Maximum context window size from provider.\").nullable().optional(),\n max_completion_tokens: z.number().int().describe(\"Maximum completion tokens allowed by provider.\").nullable().optional(),\n});\nconst OpenrouterListUserModels_ModelInfoSchema: z.ZodTypeAny = z.object({\n id: z.string().describe(\"Unique model identifier.\"),\n name: z.string().describe(\"Human-readable display name for the model.\"),\n created: z.number().describe(\"Unix timestamp when the model was added.\"),\n pricing: OpenrouterListUserModels_PricingSchema.nullable(),\n description: z.string().describe(\"Detailed description of the model's capabilities.\").nullable().optional(),\n architecture: OpenrouterListUserModels_ArchitectureSchema.nullable(),\n top_provider: OpenrouterListUserModels_TopProviderSchema.nullable(),\n canonical_slug: z.string().describe(\"Permanent slug for the model (immutable).\"),\n context_length: z.number().int().describe(\"Maximum context window size in tokens.\"),\n expiration_date: z.string().describe(\"Date when model will be deprecated, if applicable.\").nullable().optional(),\n hugging_face_id: z.string().describe(\"Identifier for the model on Hugging Face.\").nullable().optional(),\n default_parameters: z.object({}).describe(\"Default parameter values for this model, if any.\").nullable().optional(),\n per_request_limits: z.object({}).describe(\"Rate limiting information as a mapping of limit names to values, or null if no limits.\").nullable().optional(),\n supported_parameters: z.array(z.string()).describe(\"Supported API parameters for this model.\"),\n});\nexport const OpenrouterListUserModelsOutput: z.ZodTypeAny = z.object({\n data: z.array(OpenrouterListUserModels_ModelInfoSchema).describe(\"List of models filtered by user provider preferences, privacy settings, and guardrails.\"),\n});\n\nexport const openrouterListUserModels = action(\"OPENROUTER_LIST_USER_MODELS\", {\n slug: \"openrouter-list-user-models\",\n name: \"List User Models\",\n description: \"Tool to list models filtered by user provider preferences, privacy settings, and guardrails. Use after authenticating to get models tailored to the user's configuration.\",\n input: OpenrouterListUserModelsInput,\n output: OpenrouterListUserModelsOutput,\n});\n"],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/actions/list-user-models.d.ts
4
+ declare const OpenrouterListUserModelsInput: z.ZodTypeAny;
5
+ declare const OpenrouterListUserModelsOutput: z.ZodTypeAny;
6
+ declare const openrouterListUserModels: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { openrouterListUserModels };
9
+ //# sourceMappingURL=list-user-models.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-user-models.d.cts","names":[],"sources":["../../src/actions/list-user-models.ts"],"mappings":";;;cAIa,6BAAA,EAA+B,CAAA,CAAE,UAG5C;AAAA,cAuCW,8BAAA,EAAgC,CAAA,CAAE,UAE7C;AAAA,cAEW,wBAAA,gCAAwB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/actions/list-user-models.d.ts
4
+ declare const OpenrouterListUserModelsInput: z.ZodTypeAny;
5
+ declare const OpenrouterListUserModelsOutput: z.ZodTypeAny;
6
+ declare const openrouterListUserModels: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { openrouterListUserModels };
9
+ //# sourceMappingURL=list-user-models.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-user-models.d.mts","names":[],"sources":["../../src/actions/list-user-models.ts"],"mappings":";;;cAIa,6BAAA,EAA+B,CAAA,CAAE,UAG5C;AAAA,cAuCW,8BAAA,EAAgC,CAAA,CAAE,UAE7C;AAAA,cAEW,wBAAA,gCAAwB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,56 @@
1
+ import { action } from "../action.mjs";
2
+ import { z } from "zod";
3
+ //#region src/actions/list-user-models.ts
4
+ const OpenrouterListUserModelsInput = z.object({
5
+ x_title: z.string().describe("The app display name allows you to customize how your app appears in OpenRouter's dashboard.").optional(),
6
+ http_referer: z.string().describe("The app identifier should be your app's URL and is used as the primary identifier for rankings. This is used to track API usage per application.").optional()
7
+ });
8
+ const OpenrouterListUserModels_PricingSchema = z.object({
9
+ image: z.string().describe("Price per image.").nullable().optional(),
10
+ prompt: z.string().describe("Price per prompt token."),
11
+ request: z.string().describe("Price per request.").nullable().optional(),
12
+ completion: z.string().describe("Price per completion token."),
13
+ web_search: z.string().describe("Price per web search.").nullable().optional(),
14
+ input_cache_read: z.string().describe("Price per input cache read.").nullable().optional(),
15
+ input_cache_write: z.string().describe("Price per input cache write.").nullable().optional(),
16
+ internal_reasoning: z.string().describe("Price per internal reasoning.").nullable().optional()
17
+ });
18
+ const OpenrouterListUserModels_ArchitectureSchema = z.object({
19
+ modality: z.string().describe("Overall modality pattern (e.g., 'text->text').").nullable().optional(),
20
+ tokenizer: z.string().describe("Tokenization method used."),
21
+ instruct_type: z.string().describe("Instruction style/type (e.g., 'chatml').").nullable().optional(),
22
+ input_modalities: z.array(z.string()).describe("Supported input types (e.g., 'text', 'image')."),
23
+ output_modalities: z.array(z.string()).describe("Supported output types (e.g., 'text').")
24
+ });
25
+ const OpenrouterListUserModels_TopProviderSchema = z.object({
26
+ is_moderated: z.boolean().describe("Indicates if the content is moderated.").nullable().optional(),
27
+ context_length: z.number().int().describe("Maximum context window size from provider.").nullable().optional(),
28
+ max_completion_tokens: z.number().int().describe("Maximum completion tokens allowed by provider.").nullable().optional()
29
+ });
30
+ const OpenrouterListUserModels_ModelInfoSchema = z.object({
31
+ id: z.string().describe("Unique model identifier."),
32
+ name: z.string().describe("Human-readable display name for the model."),
33
+ created: z.number().describe("Unix timestamp when the model was added."),
34
+ pricing: OpenrouterListUserModels_PricingSchema.nullable(),
35
+ description: z.string().describe("Detailed description of the model's capabilities.").nullable().optional(),
36
+ architecture: OpenrouterListUserModels_ArchitectureSchema.nullable(),
37
+ top_provider: OpenrouterListUserModels_TopProviderSchema.nullable(),
38
+ canonical_slug: z.string().describe("Permanent slug for the model (immutable)."),
39
+ context_length: z.number().int().describe("Maximum context window size in tokens."),
40
+ expiration_date: z.string().describe("Date when model will be deprecated, if applicable.").nullable().optional(),
41
+ hugging_face_id: z.string().describe("Identifier for the model on Hugging Face.").nullable().optional(),
42
+ default_parameters: z.object({}).describe("Default parameter values for this model, if any.").nullable().optional(),
43
+ per_request_limits: z.object({}).describe("Rate limiting information as a mapping of limit names to values, or null if no limits.").nullable().optional(),
44
+ supported_parameters: z.array(z.string()).describe("Supported API parameters for this model.")
45
+ });
46
+ const openrouterListUserModels = action("OPENROUTER_LIST_USER_MODELS", {
47
+ slug: "openrouter-list-user-models",
48
+ name: "List User Models",
49
+ description: "Tool to list models filtered by user provider preferences, privacy settings, and guardrails. Use after authenticating to get models tailored to the user's configuration.",
50
+ input: OpenrouterListUserModelsInput,
51
+ output: z.object({ data: z.array(OpenrouterListUserModels_ModelInfoSchema).describe("List of models filtered by user provider preferences, privacy settings, and guardrails.") })
52
+ });
53
+ //#endregion
54
+ export { openrouterListUserModels };
55
+
56
+ //# sourceMappingURL=list-user-models.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-user-models.mjs","names":[],"sources":["../../src/actions/list-user-models.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const OpenrouterListUserModelsInput: z.ZodTypeAny = z.object({\n x_title: z.string().describe(\"The app display name allows you to customize how your app appears in OpenRouter's dashboard.\").optional(),\n http_referer: z.string().describe(\"The app identifier should be your app's URL and is used as the primary identifier for rankings. This is used to track API usage per application.\").optional(),\n});\nconst OpenrouterListUserModels_PricingSchema: z.ZodTypeAny = z.object({\n image: z.string().describe(\"Price per image.\").nullable().optional(),\n prompt: z.string().describe(\"Price per prompt token.\"),\n request: z.string().describe(\"Price per request.\").nullable().optional(),\n completion: z.string().describe(\"Price per completion token.\"),\n web_search: z.string().describe(\"Price per web search.\").nullable().optional(),\n input_cache_read: z.string().describe(\"Price per input cache read.\").nullable().optional(),\n input_cache_write: z.string().describe(\"Price per input cache write.\").nullable().optional(),\n internal_reasoning: z.string().describe(\"Price per internal reasoning.\").nullable().optional(),\n});\nconst OpenrouterListUserModels_ArchitectureSchema: z.ZodTypeAny = z.object({\n modality: z.string().describe(\"Overall modality pattern (e.g., 'text->text').\").nullable().optional(),\n tokenizer: z.string().describe(\"Tokenization method used.\"),\n instruct_type: z.string().describe(\"Instruction style/type (e.g., 'chatml').\").nullable().optional(),\n input_modalities: z.array(z.string()).describe(\"Supported input types (e.g., 'text', 'image').\"),\n output_modalities: z.array(z.string()).describe(\"Supported output types (e.g., 'text').\"),\n});\nconst OpenrouterListUserModels_TopProviderSchema: z.ZodTypeAny = z.object({\n is_moderated: z.boolean().describe(\"Indicates if the content is moderated.\").nullable().optional(),\n context_length: z.number().int().describe(\"Maximum context window size from provider.\").nullable().optional(),\n max_completion_tokens: z.number().int().describe(\"Maximum completion tokens allowed by provider.\").nullable().optional(),\n});\nconst OpenrouterListUserModels_ModelInfoSchema: z.ZodTypeAny = z.object({\n id: z.string().describe(\"Unique model identifier.\"),\n name: z.string().describe(\"Human-readable display name for the model.\"),\n created: z.number().describe(\"Unix timestamp when the model was added.\"),\n pricing: OpenrouterListUserModels_PricingSchema.nullable(),\n description: z.string().describe(\"Detailed description of the model's capabilities.\").nullable().optional(),\n architecture: OpenrouterListUserModels_ArchitectureSchema.nullable(),\n top_provider: OpenrouterListUserModels_TopProviderSchema.nullable(),\n canonical_slug: z.string().describe(\"Permanent slug for the model (immutable).\"),\n context_length: z.number().int().describe(\"Maximum context window size in tokens.\"),\n expiration_date: z.string().describe(\"Date when model will be deprecated, if applicable.\").nullable().optional(),\n hugging_face_id: z.string().describe(\"Identifier for the model on Hugging Face.\").nullable().optional(),\n default_parameters: z.object({}).describe(\"Default parameter values for this model, if any.\").nullable().optional(),\n per_request_limits: z.object({}).describe(\"Rate limiting information as a mapping of limit names to values, or null if no limits.\").nullable().optional(),\n supported_parameters: z.array(z.string()).describe(\"Supported API parameters for this model.\"),\n});\nexport const OpenrouterListUserModelsOutput: z.ZodTypeAny = z.object({\n data: z.array(OpenrouterListUserModels_ModelInfoSchema).describe(\"List of models filtered by user provider preferences, privacy settings, and guardrails.\"),\n});\n\nexport const openrouterListUserModels = action(\"OPENROUTER_LIST_USER_MODELS\", {\n slug: \"openrouter-list-user-models\",\n name: \"List User Models\",\n description: \"Tool to list models filtered by user provider preferences, privacy settings, and guardrails. Use after authenticating to get models tailored to the user's configuration.\",\n input: OpenrouterListUserModelsInput,\n output: OpenrouterListUserModelsOutput,\n});\n"],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ const require_action = require("../action.cjs");
2
+ let zod = require("zod");
3
+ //#region src/actions/list-zdr-endpoints.ts
4
+ const OpenrouterListZdrEndpointsInput = zod.z.object({
5
+ x_title: zod.z.string().describe("The app display name allows you to customize how your app appears in OpenRouter's dashboard.").optional(),
6
+ http_referer: zod.z.string().describe("The app identifier should be your app's URL and is used as the primary identifier for rankings. This is used to track API usage per application.").optional()
7
+ }).describe("Request parameters for listing Zero Data Retention (ZDR) endpoints.");
8
+ const OpenrouterListZdrEndpoints_ZdrPricingSchema = zod.z.object({
9
+ image: zod.z.string().describe("Cost per image operation.").nullable().optional(),
10
+ prompt: zod.z.string().describe("Cost per prompt token."),
11
+ request: zod.z.string().describe("Cost per request.").nullable().optional(),
12
+ completion: zod.z.string().describe("Cost per completion token.")
13
+ }).describe("Pricing rates for different usage metrics.");
14
+ const OpenrouterListZdrEndpoints_LatencyMetricsSchema = zod.z.object({
15
+ p50: zod.z.number().describe("50th percentile latency in seconds.").nullable().optional(),
16
+ p75: zod.z.number().describe("75th percentile latency in seconds.").nullable().optional(),
17
+ p90: zod.z.number().describe("90th percentile latency in seconds.").nullable().optional(),
18
+ p99: zod.z.number().describe("99th percentile latency in seconds.").nullable().optional()
19
+ }).describe("Latency percentile metrics over the last 30 minutes.");
20
+ const OpenrouterListZdrEndpoints_ThroughputMetricsSchema = zod.z.object({
21
+ p50: zod.z.number().describe("50th percentile throughput (tokens per second).").nullable().optional(),
22
+ p75: zod.z.number().describe("75th percentile throughput (tokens per second).").nullable().optional(),
23
+ p90: zod.z.number().describe("90th percentile throughput (tokens per second).").nullable().optional(),
24
+ p99: zod.z.number().describe("99th percentile throughput (tokens per second).").nullable().optional()
25
+ }).describe("Throughput percentile metrics over the last 30 minutes.");
26
+ const OpenrouterListZdrEndpoints_ZdrEndpointSchema = zod.z.object({
27
+ tag: zod.z.string().describe("Tag identifying the model or provider category."),
28
+ name: zod.z.string().describe("Endpoint display name."),
29
+ status: zod.z.number().int().describe("Status code indicating endpoint availability.").nullable().optional(),
30
+ pricing: OpenrouterListZdrEndpoints_ZdrPricingSchema.nullable(),
31
+ model_id: zod.z.string().describe("Unique model identifier."),
32
+ model_name: zod.z.string().describe("Human-readable model name."),
33
+ quantization: zod.z.union([zod.z.string(), zod.z.record(zod.z.string(), zod.z.unknown())]).nullable().optional(),
34
+ provider_name: zod.z.string().describe("Name of the provider serving this endpoint."),
35
+ context_length: zod.z.number().describe("Maximum number of tokens in context window."),
36
+ uptime_last_30m: zod.z.number().describe("Uptime percentage over the last 30 minutes.").nullable().optional(),
37
+ latency_last_30m: OpenrouterListZdrEndpoints_LatencyMetricsSchema.nullable().optional(),
38
+ max_prompt_tokens: zod.z.number().describe("Maximum number of tokens allowed in prompt.").nullable().optional(),
39
+ throughput_last_30m: OpenrouterListZdrEndpoints_ThroughputMetricsSchema.nullable().optional(),
40
+ supported_parameters: zod.z.array(zod.z.string()).describe("List of supported parameter names for this endpoint."),
41
+ max_completion_tokens: zod.z.number().describe("Maximum number of tokens allowed in completion.").nullable().optional(),
42
+ supports_implicit_caching: zod.z.boolean().describe("Whether the endpoint supports implicit caching.")
43
+ }).describe("Information about a specific model endpoint under Zero Data Retention.");
44
+ const OpenrouterListZdrEndpointsOutput = zod.z.object({ data: zod.z.array(OpenrouterListZdrEndpoints_ZdrEndpointSchema).describe("List of model endpoints available under Zero Data Retention policy.") }).describe("Response schema for listing ZDR endpoints.");
45
+ const openrouterListZdrEndpoints = require_action.action("OPENROUTER_LIST_ZDR_ENDPOINTS", {
46
+ slug: "openrouter-list-zdr-endpoints",
47
+ name: "OpenRouter List ZDR Endpoints",
48
+ description: "Tool to preview the impact of Zero Data Retention (ZDR) on the available endpoints. Use to see which model endpoints remain accessible when ZDR is enabled.",
49
+ input: OpenrouterListZdrEndpointsInput,
50
+ output: OpenrouterListZdrEndpointsOutput
51
+ });
52
+ //#endregion
53
+ exports.openrouterListZdrEndpoints = openrouterListZdrEndpoints;
54
+
55
+ //# sourceMappingURL=list-zdr-endpoints.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-zdr-endpoints.cjs","names":["z","action"],"sources":["../../src/actions/list-zdr-endpoints.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const OpenrouterListZdrEndpointsInput: z.ZodTypeAny = z.object({\n x_title: z.string().describe(\"The app display name allows you to customize how your app appears in OpenRouter's dashboard.\").optional(),\n http_referer: z.string().describe(\"The app identifier should be your app's URL and is used as the primary identifier for rankings. This is used to track API usage per application.\").optional(),\n}).describe(\"Request parameters for listing Zero Data Retention (ZDR) endpoints.\");\nconst OpenrouterListZdrEndpoints_ZdrPricingSchema: z.ZodTypeAny = z.object({\n image: z.string().describe(\"Cost per image operation.\").nullable().optional(),\n prompt: z.string().describe(\"Cost per prompt token.\"),\n request: z.string().describe(\"Cost per request.\").nullable().optional(),\n completion: z.string().describe(\"Cost per completion token.\"),\n}).describe(\"Pricing rates for different usage metrics.\");\nconst OpenrouterListZdrEndpoints_LatencyMetricsSchema: z.ZodTypeAny = z.object({\n p50: z.number().describe(\"50th percentile latency in seconds.\").nullable().optional(),\n p75: z.number().describe(\"75th percentile latency in seconds.\").nullable().optional(),\n p90: z.number().describe(\"90th percentile latency in seconds.\").nullable().optional(),\n p99: z.number().describe(\"99th percentile latency in seconds.\").nullable().optional(),\n}).describe(\"Latency percentile metrics over the last 30 minutes.\");\nconst OpenrouterListZdrEndpoints_ThroughputMetricsSchema: z.ZodTypeAny = z.object({\n p50: z.number().describe(\"50th percentile throughput (tokens per second).\").nullable().optional(),\n p75: z.number().describe(\"75th percentile throughput (tokens per second).\").nullable().optional(),\n p90: z.number().describe(\"90th percentile throughput (tokens per second).\").nullable().optional(),\n p99: z.number().describe(\"99th percentile throughput (tokens per second).\").nullable().optional(),\n}).describe(\"Throughput percentile metrics over the last 30 minutes.\");\nconst OpenrouterListZdrEndpoints_ZdrEndpointSchema: z.ZodTypeAny = z.object({\n tag: z.string().describe(\"Tag identifying the model or provider category.\"),\n name: z.string().describe(\"Endpoint display name.\"),\n status: z.number().int().describe(\"Status code indicating endpoint availability.\").nullable().optional(),\n pricing: OpenrouterListZdrEndpoints_ZdrPricingSchema.nullable(),\n model_id: z.string().describe(\"Unique model identifier.\"),\n model_name: z.string().describe(\"Human-readable model name.\"),\n quantization: z.union([z.string(), z.record(z.string(), z.unknown())]).nullable().optional(),\n provider_name: z.string().describe(\"Name of the provider serving this endpoint.\"),\n context_length: z.number().describe(\"Maximum number of tokens in context window.\"),\n uptime_last_30m: z.number().describe(\"Uptime percentage over the last 30 minutes.\").nullable().optional(),\n latency_last_30m: OpenrouterListZdrEndpoints_LatencyMetricsSchema.nullable().optional(),\n max_prompt_tokens: z.number().describe(\"Maximum number of tokens allowed in prompt.\").nullable().optional(),\n throughput_last_30m: OpenrouterListZdrEndpoints_ThroughputMetricsSchema.nullable().optional(),\n supported_parameters: z.array(z.string()).describe(\"List of supported parameter names for this endpoint.\"),\n max_completion_tokens: z.number().describe(\"Maximum number of tokens allowed in completion.\").nullable().optional(),\n supports_implicit_caching: z.boolean().describe(\"Whether the endpoint supports implicit caching.\"),\n}).describe(\"Information about a specific model endpoint under Zero Data Retention.\");\nexport const OpenrouterListZdrEndpointsOutput: z.ZodTypeAny = z.object({\n data: z.array(OpenrouterListZdrEndpoints_ZdrEndpointSchema).describe(\"List of model endpoints available under Zero Data Retention policy.\"),\n}).describe(\"Response schema for listing ZDR endpoints.\");\n\nexport const openrouterListZdrEndpoints = action(\"OPENROUTER_LIST_ZDR_ENDPOINTS\", {\n slug: \"openrouter-list-zdr-endpoints\",\n name: \"OpenRouter List ZDR Endpoints\",\n description: \"Tool to preview the impact of Zero Data Retention (ZDR) on the available endpoints. Use to see which model endpoints remain accessible when ZDR is enabled.\",\n input: OpenrouterListZdrEndpointsInput,\n output: OpenrouterListZdrEndpointsOutput,\n});\n"],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/actions/list-zdr-endpoints.d.ts
4
+ declare const OpenrouterListZdrEndpointsInput: z.ZodTypeAny;
5
+ declare const OpenrouterListZdrEndpointsOutput: z.ZodTypeAny;
6
+ declare const openrouterListZdrEndpoints: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { openrouterListZdrEndpoints };
9
+ //# sourceMappingURL=list-zdr-endpoints.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-zdr-endpoints.d.cts","names":[],"sources":["../../src/actions/list-zdr-endpoints.ts"],"mappings":";;;cAIa,+BAAA,EAAiC,CAAA,CAAE,UAGkC;AAAA,cAqCrE,gCAAA,EAAkC,CAAA,CAAE,UAEQ;AAAA,cAE5C,0BAAA,gCAA0B,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/actions/list-zdr-endpoints.d.ts
4
+ declare const OpenrouterListZdrEndpointsInput: z.ZodTypeAny;
5
+ declare const OpenrouterListZdrEndpointsOutput: z.ZodTypeAny;
6
+ declare const openrouterListZdrEndpoints: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { openrouterListZdrEndpoints };
9
+ //# sourceMappingURL=list-zdr-endpoints.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-zdr-endpoints.d.mts","names":[],"sources":["../../src/actions/list-zdr-endpoints.ts"],"mappings":";;;cAIa,+BAAA,EAAiC,CAAA,CAAE,UAGkC;AAAA,cAqCrE,gCAAA,EAAkC,CAAA,CAAE,UAEQ;AAAA,cAE5C,0BAAA,gCAA0B,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,54 @@
1
+ import { action } from "../action.mjs";
2
+ import { z } from "zod";
3
+ //#region src/actions/list-zdr-endpoints.ts
4
+ const OpenrouterListZdrEndpointsInput = z.object({
5
+ x_title: z.string().describe("The app display name allows you to customize how your app appears in OpenRouter's dashboard.").optional(),
6
+ http_referer: z.string().describe("The app identifier should be your app's URL and is used as the primary identifier for rankings. This is used to track API usage per application.").optional()
7
+ }).describe("Request parameters for listing Zero Data Retention (ZDR) endpoints.");
8
+ const OpenrouterListZdrEndpoints_ZdrPricingSchema = z.object({
9
+ image: z.string().describe("Cost per image operation.").nullable().optional(),
10
+ prompt: z.string().describe("Cost per prompt token."),
11
+ request: z.string().describe("Cost per request.").nullable().optional(),
12
+ completion: z.string().describe("Cost per completion token.")
13
+ }).describe("Pricing rates for different usage metrics.");
14
+ const OpenrouterListZdrEndpoints_LatencyMetricsSchema = z.object({
15
+ p50: z.number().describe("50th percentile latency in seconds.").nullable().optional(),
16
+ p75: z.number().describe("75th percentile latency in seconds.").nullable().optional(),
17
+ p90: z.number().describe("90th percentile latency in seconds.").nullable().optional(),
18
+ p99: z.number().describe("99th percentile latency in seconds.").nullable().optional()
19
+ }).describe("Latency percentile metrics over the last 30 minutes.");
20
+ const OpenrouterListZdrEndpoints_ThroughputMetricsSchema = z.object({
21
+ p50: z.number().describe("50th percentile throughput (tokens per second).").nullable().optional(),
22
+ p75: z.number().describe("75th percentile throughput (tokens per second).").nullable().optional(),
23
+ p90: z.number().describe("90th percentile throughput (tokens per second).").nullable().optional(),
24
+ p99: z.number().describe("99th percentile throughput (tokens per second).").nullable().optional()
25
+ }).describe("Throughput percentile metrics over the last 30 minutes.");
26
+ const OpenrouterListZdrEndpoints_ZdrEndpointSchema = z.object({
27
+ tag: z.string().describe("Tag identifying the model or provider category."),
28
+ name: z.string().describe("Endpoint display name."),
29
+ status: z.number().int().describe("Status code indicating endpoint availability.").nullable().optional(),
30
+ pricing: OpenrouterListZdrEndpoints_ZdrPricingSchema.nullable(),
31
+ model_id: z.string().describe("Unique model identifier."),
32
+ model_name: z.string().describe("Human-readable model name."),
33
+ quantization: z.union([z.string(), z.record(z.string(), z.unknown())]).nullable().optional(),
34
+ provider_name: z.string().describe("Name of the provider serving this endpoint."),
35
+ context_length: z.number().describe("Maximum number of tokens in context window."),
36
+ uptime_last_30m: z.number().describe("Uptime percentage over the last 30 minutes.").nullable().optional(),
37
+ latency_last_30m: OpenrouterListZdrEndpoints_LatencyMetricsSchema.nullable().optional(),
38
+ max_prompt_tokens: z.number().describe("Maximum number of tokens allowed in prompt.").nullable().optional(),
39
+ throughput_last_30m: OpenrouterListZdrEndpoints_ThroughputMetricsSchema.nullable().optional(),
40
+ supported_parameters: z.array(z.string()).describe("List of supported parameter names for this endpoint."),
41
+ max_completion_tokens: z.number().describe("Maximum number of tokens allowed in completion.").nullable().optional(),
42
+ supports_implicit_caching: z.boolean().describe("Whether the endpoint supports implicit caching.")
43
+ }).describe("Information about a specific model endpoint under Zero Data Retention.");
44
+ const openrouterListZdrEndpoints = action("OPENROUTER_LIST_ZDR_ENDPOINTS", {
45
+ slug: "openrouter-list-zdr-endpoints",
46
+ name: "OpenRouter List ZDR Endpoints",
47
+ description: "Tool to preview the impact of Zero Data Retention (ZDR) on the available endpoints. Use to see which model endpoints remain accessible when ZDR is enabled.",
48
+ input: OpenrouterListZdrEndpointsInput,
49
+ output: z.object({ data: z.array(OpenrouterListZdrEndpoints_ZdrEndpointSchema).describe("List of model endpoints available under Zero Data Retention policy.") }).describe("Response schema for listing ZDR endpoints.")
50
+ });
51
+ //#endregion
52
+ export { openrouterListZdrEndpoints };
53
+
54
+ //# sourceMappingURL=list-zdr-endpoints.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-zdr-endpoints.mjs","names":[],"sources":["../../src/actions/list-zdr-endpoints.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const OpenrouterListZdrEndpointsInput: z.ZodTypeAny = z.object({\n x_title: z.string().describe(\"The app display name allows you to customize how your app appears in OpenRouter's dashboard.\").optional(),\n http_referer: z.string().describe(\"The app identifier should be your app's URL and is used as the primary identifier for rankings. This is used to track API usage per application.\").optional(),\n}).describe(\"Request parameters for listing Zero Data Retention (ZDR) endpoints.\");\nconst OpenrouterListZdrEndpoints_ZdrPricingSchema: z.ZodTypeAny = z.object({\n image: z.string().describe(\"Cost per image operation.\").nullable().optional(),\n prompt: z.string().describe(\"Cost per prompt token.\"),\n request: z.string().describe(\"Cost per request.\").nullable().optional(),\n completion: z.string().describe(\"Cost per completion token.\"),\n}).describe(\"Pricing rates for different usage metrics.\");\nconst OpenrouterListZdrEndpoints_LatencyMetricsSchema: z.ZodTypeAny = z.object({\n p50: z.number().describe(\"50th percentile latency in seconds.\").nullable().optional(),\n p75: z.number().describe(\"75th percentile latency in seconds.\").nullable().optional(),\n p90: z.number().describe(\"90th percentile latency in seconds.\").nullable().optional(),\n p99: z.number().describe(\"99th percentile latency in seconds.\").nullable().optional(),\n}).describe(\"Latency percentile metrics over the last 30 minutes.\");\nconst OpenrouterListZdrEndpoints_ThroughputMetricsSchema: z.ZodTypeAny = z.object({\n p50: z.number().describe(\"50th percentile throughput (tokens per second).\").nullable().optional(),\n p75: z.number().describe(\"75th percentile throughput (tokens per second).\").nullable().optional(),\n p90: z.number().describe(\"90th percentile throughput (tokens per second).\").nullable().optional(),\n p99: z.number().describe(\"99th percentile throughput (tokens per second).\").nullable().optional(),\n}).describe(\"Throughput percentile metrics over the last 30 minutes.\");\nconst OpenrouterListZdrEndpoints_ZdrEndpointSchema: z.ZodTypeAny = z.object({\n tag: z.string().describe(\"Tag identifying the model or provider category.\"),\n name: z.string().describe(\"Endpoint display name.\"),\n status: z.number().int().describe(\"Status code indicating endpoint availability.\").nullable().optional(),\n pricing: OpenrouterListZdrEndpoints_ZdrPricingSchema.nullable(),\n model_id: z.string().describe(\"Unique model identifier.\"),\n model_name: z.string().describe(\"Human-readable model name.\"),\n quantization: z.union([z.string(), z.record(z.string(), z.unknown())]).nullable().optional(),\n provider_name: z.string().describe(\"Name of the provider serving this endpoint.\"),\n context_length: z.number().describe(\"Maximum number of tokens in context window.\"),\n uptime_last_30m: z.number().describe(\"Uptime percentage over the last 30 minutes.\").nullable().optional(),\n latency_last_30m: OpenrouterListZdrEndpoints_LatencyMetricsSchema.nullable().optional(),\n max_prompt_tokens: z.number().describe(\"Maximum number of tokens allowed in prompt.\").nullable().optional(),\n throughput_last_30m: OpenrouterListZdrEndpoints_ThroughputMetricsSchema.nullable().optional(),\n supported_parameters: z.array(z.string()).describe(\"List of supported parameter names for this endpoint.\"),\n max_completion_tokens: z.number().describe(\"Maximum number of tokens allowed in completion.\").nullable().optional(),\n supports_implicit_caching: z.boolean().describe(\"Whether the endpoint supports implicit caching.\"),\n}).describe(\"Information about a specific model endpoint under Zero Data Retention.\");\nexport const OpenrouterListZdrEndpointsOutput: z.ZodTypeAny = z.object({\n data: z.array(OpenrouterListZdrEndpoints_ZdrEndpointSchema).describe(\"List of model endpoints available under Zero Data Retention policy.\"),\n}).describe(\"Response schema for listing ZDR endpoints.\");\n\nexport const openrouterListZdrEndpoints = action(\"OPENROUTER_LIST_ZDR_ENDPOINTS\", {\n slug: \"openrouter-list-zdr-endpoints\",\n name: \"OpenRouter List ZDR Endpoints\",\n description: \"Tool to preview the impact of Zero Data Retention (ZDR) on the available endpoints. Use to see which model endpoints remain accessible when ZDR is enabled.\",\n input: OpenrouterListZdrEndpointsInput,\n output: OpenrouterListZdrEndpointsOutput,\n});\n"],"mappings":"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"}
package/dist/app.cjs ADDED
@@ -0,0 +1,9 @@
1
+ //#region src/app.ts
2
+ const openrouter = (0, require("@keystrokehq/keystroke/app").defineApp)({
3
+ slug: "openrouter",
4
+ auth: "keystroke"
5
+ });
6
+ //#endregion
7
+ exports.openrouter = openrouter;
8
+
9
+ //# sourceMappingURL=app.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.cjs","names":[],"sources":["../src/app.ts"],"sourcesContent":["import { defineApp } from \"@keystrokehq/keystroke/app\";\n\nexport const openrouter = defineApp({\n slug: \"openrouter\",\n auth: \"keystroke\",\n});\n"],"mappings":";AAEA,MAAa,cAAA,uCAAA,CAAA,CAAA,UAAA,CAAuB;CAClC,MAAM;CACN,MAAM;AACR,CAAC"}
package/dist/app.d.cts ADDED
@@ -0,0 +1,5 @@
1
+ //#region src/app.d.ts
2
+ declare const openrouter: import("@keystrokehq/app").App<import("@keystrokehq/shared").Credential>;
3
+ //#endregion
4
+ export { openrouter };
5
+ //# sourceMappingURL=app.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.d.cts","names":[],"sources":["../src/app.ts"],"mappings":";cAEa,UAAA,6BAAU,GAAA,+BAAA,UAAA"}
package/dist/app.d.mts ADDED
@@ -0,0 +1,5 @@
1
+ //#region src/app.d.ts
2
+ declare const openrouter: import("@keystrokehq/app").App<import("@keystrokehq/shared").Credential>;
3
+ //#endregion
4
+ export { openrouter };
5
+ //# sourceMappingURL=app.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.d.mts","names":[],"sources":["../src/app.ts"],"mappings":";cAEa,UAAA,6BAAU,GAAA,+BAAA,UAAA"}
package/dist/app.mjs ADDED
@@ -0,0 +1,10 @@
1
+ import { defineApp } from "@keystrokehq/keystroke/app";
2
+ //#region src/app.ts
3
+ const openrouter = defineApp({
4
+ slug: "openrouter",
5
+ auth: "keystroke"
6
+ });
7
+ //#endregion
8
+ export { openrouter };
9
+
10
+ //# sourceMappingURL=app.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.mjs","names":[],"sources":["../src/app.ts"],"sourcesContent":["import { defineApp } from \"@keystrokehq/keystroke/app\";\n\nexport const openrouter = defineApp({\n slug: \"openrouter\",\n auth: \"keystroke\",\n});\n"],"mappings":";;AAEA,MAAa,aAAa,UAAU;CAClC,MAAM;CACN,MAAM;AACR,CAAC"}
@@ -0,0 +1,15 @@
1
+ //#region src/catalog.ts
2
+ /** Generated — kept in sync with src/app.ts. */
3
+ const openrouterCatalog = {
4
+ "slug": "openrouter",
5
+ "name": "Openrouter",
6
+ "description": "OpenRouter is a platform that provides a unified API for accessing various large language models (LLMs) from different providers, allowing developers to integrate multiple AI models seamlessly.",
7
+ "category": "Artificial Intelligence",
8
+ "logo": "https://logos.composio.dev/api/openrouter",
9
+ "authKind": "keystroke",
10
+ "oauthScopes": []
11
+ };
12
+ //#endregion
13
+ exports.openrouterCatalog = openrouterCatalog;
14
+
15
+ //# sourceMappingURL=catalog.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.cjs","names":[],"sources":["../src/catalog.ts"],"sourcesContent":["/** Generated — kept in sync with src/app.ts. */\nexport const openrouterCatalog = {\n \"slug\": \"openrouter\",\n \"name\": \"Openrouter\",\n \"description\": \"OpenRouter is a platform that provides a unified API for accessing various large language models (LLMs) from different providers, allowing developers to integrate multiple AI models seamlessly.\",\n \"category\": \"Artificial Intelligence\",\n \"logo\": \"https://logos.composio.dev/api/openrouter\",\n \"authKind\": \"keystroke\",\n \"oauthScopes\": []\n} as const;\n"],"mappings":";;AACA,MAAa,oBAAoB;CAC/B,QAAQ;CACR,QAAQ;CACR,eAAe;CACf,YAAY;CACZ,QAAQ;CACR,YAAY;CACZ,eAAe,CAAC;AAClB"}