@keystrokehq/openrouter 0.1.5 → 0.1.6

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 (117) hide show
  1. package/dist/action.cjs.map +1 -1
  2. package/dist/action.mjs.map +1 -1
  3. package/dist/actions/create-chat-completion.cjs +1 -0
  4. package/dist/actions/create-chat-completion.cjs.map +1 -1
  5. package/dist/actions/create-chat-completion.d.cts +3 -37
  6. package/dist/actions/create-chat-completion.d.cts.map +1 -1
  7. package/dist/actions/create-chat-completion.d.mts +3 -37
  8. package/dist/actions/create-chat-completion.d.mts.map +1 -1
  9. package/dist/actions/create-chat-completion.mjs +1 -0
  10. package/dist/actions/create-chat-completion.mjs.map +1 -1
  11. package/dist/actions/create-coinbase-charge.cjs +1 -0
  12. package/dist/actions/create-coinbase-charge.cjs.map +1 -1
  13. package/dist/actions/create-coinbase-charge.d.cts +3 -19
  14. package/dist/actions/create-coinbase-charge.d.cts.map +1 -1
  15. package/dist/actions/create-coinbase-charge.d.mts +3 -19
  16. package/dist/actions/create-coinbase-charge.d.mts.map +1 -1
  17. package/dist/actions/create-coinbase-charge.mjs +1 -0
  18. package/dist/actions/create-coinbase-charge.mjs.map +1 -1
  19. package/dist/actions/create-message.cjs +1 -0
  20. package/dist/actions/create-message.cjs.map +1 -1
  21. package/dist/actions/create-message.d.cts +3 -72
  22. package/dist/actions/create-message.d.cts.map +1 -1
  23. package/dist/actions/create-message.d.mts +3 -72
  24. package/dist/actions/create-message.d.mts.map +1 -1
  25. package/dist/actions/create-message.mjs +1 -0
  26. package/dist/actions/create-message.mjs.map +1 -1
  27. package/dist/actions/get-credits.cjs +1 -0
  28. package/dist/actions/get-credits.cjs.map +1 -1
  29. package/dist/actions/get-credits.d.cts +3 -13
  30. package/dist/actions/get-credits.d.cts.map +1 -1
  31. package/dist/actions/get-credits.d.mts +3 -13
  32. package/dist/actions/get-credits.d.mts.map +1 -1
  33. package/dist/actions/get-credits.mjs +1 -0
  34. package/dist/actions/get-credits.mjs.map +1 -1
  35. package/dist/actions/get-current-key.cjs +1 -0
  36. package/dist/actions/get-current-key.cjs.map +1 -1
  37. package/dist/actions/get-current-key.d.cts +3 -16
  38. package/dist/actions/get-current-key.d.cts.map +1 -1
  39. package/dist/actions/get-current-key.d.mts +3 -16
  40. package/dist/actions/get-current-key.d.mts.map +1 -1
  41. package/dist/actions/get-current-key.mjs +1 -0
  42. package/dist/actions/get-current-key.mjs.map +1 -1
  43. package/dist/actions/get-generation.cjs +1 -0
  44. package/dist/actions/get-generation.cjs.map +1 -1
  45. package/dist/actions/get-generation.d.cts +3 -15
  46. package/dist/actions/get-generation.d.cts.map +1 -1
  47. package/dist/actions/get-generation.d.mts +3 -15
  48. package/dist/actions/get-generation.d.mts.map +1 -1
  49. package/dist/actions/get-generation.mjs +1 -0
  50. package/dist/actions/get-generation.mjs.map +1 -1
  51. package/dist/actions/get-models-count.cjs +1 -0
  52. package/dist/actions/get-models-count.cjs.map +1 -1
  53. package/dist/actions/get-models-count.d.cts +3 -16
  54. package/dist/actions/get-models-count.d.cts.map +1 -1
  55. package/dist/actions/get-models-count.d.mts +3 -16
  56. package/dist/actions/get-models-count.d.mts.map +1 -1
  57. package/dist/actions/get-models-count.mjs +1 -0
  58. package/dist/actions/get-models-count.mjs.map +1 -1
  59. package/dist/actions/list-available-models.cjs +1 -0
  60. package/dist/actions/list-available-models.cjs.map +1 -1
  61. package/dist/actions/list-available-models.d.cts +3 -17
  62. package/dist/actions/list-available-models.d.cts.map +1 -1
  63. package/dist/actions/list-available-models.d.mts +3 -17
  64. package/dist/actions/list-available-models.d.mts.map +1 -1
  65. package/dist/actions/list-available-models.mjs +1 -0
  66. package/dist/actions/list-available-models.mjs.map +1 -1
  67. package/dist/actions/list-embedding-models.cjs +1 -0
  68. package/dist/actions/list-embedding-models.cjs.map +1 -1
  69. package/dist/actions/list-embedding-models.d.cts +3 -16
  70. package/dist/actions/list-embedding-models.d.cts.map +1 -1
  71. package/dist/actions/list-embedding-models.d.mts +3 -16
  72. package/dist/actions/list-embedding-models.d.mts.map +1 -1
  73. package/dist/actions/list-embedding-models.mjs +1 -0
  74. package/dist/actions/list-embedding-models.mjs.map +1 -1
  75. package/dist/actions/list-model-endpoints.cjs +1 -0
  76. package/dist/actions/list-model-endpoints.cjs.map +1 -1
  77. package/dist/actions/list-model-endpoints.d.cts +3 -16
  78. package/dist/actions/list-model-endpoints.d.cts.map +1 -1
  79. package/dist/actions/list-model-endpoints.d.mts +3 -16
  80. package/dist/actions/list-model-endpoints.d.mts.map +1 -1
  81. package/dist/actions/list-model-endpoints.mjs +1 -0
  82. package/dist/actions/list-model-endpoints.mjs.map +1 -1
  83. package/dist/actions/list-providers.cjs +1 -0
  84. package/dist/actions/list-providers.cjs.map +1 -1
  85. package/dist/actions/list-providers.d.cts +3 -13
  86. package/dist/actions/list-providers.d.cts.map +1 -1
  87. package/dist/actions/list-providers.d.mts +3 -13
  88. package/dist/actions/list-providers.d.mts.map +1 -1
  89. package/dist/actions/list-providers.mjs +1 -0
  90. package/dist/actions/list-providers.mjs.map +1 -1
  91. package/dist/actions/list-user-models.cjs +1 -0
  92. package/dist/actions/list-user-models.cjs.map +1 -1
  93. package/dist/actions/list-user-models.d.cts +3 -16
  94. package/dist/actions/list-user-models.d.cts.map +1 -1
  95. package/dist/actions/list-user-models.d.mts +3 -16
  96. package/dist/actions/list-user-models.d.mts.map +1 -1
  97. package/dist/actions/list-user-models.mjs +1 -0
  98. package/dist/actions/list-user-models.mjs.map +1 -1
  99. package/dist/actions/list-zdr-endpoints.cjs +1 -0
  100. package/dist/actions/list-zdr-endpoints.cjs.map +1 -1
  101. package/dist/actions/list-zdr-endpoints.d.cts +3 -16
  102. package/dist/actions/list-zdr-endpoints.d.cts.map +1 -1
  103. package/dist/actions/list-zdr-endpoints.d.mts +3 -16
  104. package/dist/actions/list-zdr-endpoints.d.mts.map +1 -1
  105. package/dist/actions/list-zdr-endpoints.mjs +1 -0
  106. package/dist/actions/list-zdr-endpoints.mjs.map +1 -1
  107. package/dist/app.cjs +2 -2
  108. package/dist/app.cjs.map +1 -1
  109. package/dist/app.d.cts +4 -6
  110. package/dist/app.d.cts.map +1 -1
  111. package/dist/app.d.mts +4 -6
  112. package/dist/app.d.mts.map +1 -1
  113. package/dist/app.mjs +0 -1
  114. package/dist/app.mjs.map +1 -1
  115. package/dist/index.d.cts +1 -1
  116. package/dist/index.d.mts +1 -1
  117. package/package.json +2 -2
@@ -1,3 +1,4 @@
1
+ require("../app.cjs");
1
2
  const require_action = require("../action.cjs");
2
3
  let zod = require("zod");
3
4
  //#region src/actions/list-user-models.ts
@@ -1 +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.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.object({\n image: z.string().describe(\"Price per image.\").nullable().optional(),\n prompt: z.string().describe(\"Price per prompt token.\").nullable(),\n request: z.string().describe(\"Price per request.\").nullable().optional(),\n completion: z.string().describe(\"Price per completion token.\").nullable(),\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}).passthrough();\nconst OpenrouterListUserModels_ArchitectureSchema = z.object({\n modality: z.string().describe(\"Overall modality pattern (e.g., 'text->text').\").nullable().optional(),\n tokenizer: z.string().describe(\"Tokenization method used.\").nullable(),\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}).passthrough();\nconst OpenrouterListUserModels_TopProviderSchema = 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}).passthrough();\nconst OpenrouterListUserModels_ModelInfoSchema = z.object({\n id: z.string().describe(\"Unique model identifier.\").nullable(),\n name: z.string().describe(\"Human-readable display name for the model.\").nullable(),\n created: z.number().describe(\"Unix timestamp when the model was added.\").nullable(),\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).\").nullable(),\n context_length: z.number().int().describe(\"Maximum context window size in tokens.\").nullable(),\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.record(z.string(), z.unknown()).describe(\"Default parameter values for this model, if any.\").nullable().optional(),\n per_request_limits: z.record(z.string(), z.unknown()).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}).passthrough();\nexport const OpenrouterListUserModelsOutput = z.object({\n data: z.array(OpenrouterListUserModels_ModelInfoSchema).describe(\"List of models filtered by user provider preferences, privacy settings, and guardrails.\"),\n}).passthrough();\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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"}
1
+ {"version":3,"file":"list-user-models.cjs","names":["z","action"],"sources":["../../src/actions/list-user-models.ts"],"sourcesContent":["import type { AppAction } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nimport { action } from \"../action\";\nimport { openrouter } from \"../app\";\n\nexport const OpenrouterListUserModelsInput = 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.object({\n image: z.string().describe(\"Price per image.\").nullable().optional(),\n prompt: z.string().describe(\"Price per prompt token.\").nullable(),\n request: z.string().describe(\"Price per request.\").nullable().optional(),\n completion: z.string().describe(\"Price per completion token.\").nullable(),\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}).passthrough();\nconst OpenrouterListUserModels_ArchitectureSchema = z.object({\n modality: z.string().describe(\"Overall modality pattern (e.g., 'text->text').\").nullable().optional(),\n tokenizer: z.string().describe(\"Tokenization method used.\").nullable(),\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}).passthrough();\nconst OpenrouterListUserModels_TopProviderSchema = 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}).passthrough();\nconst OpenrouterListUserModels_ModelInfoSchema = z.object({\n id: z.string().describe(\"Unique model identifier.\").nullable(),\n name: z.string().describe(\"Human-readable display name for the model.\").nullable(),\n created: z.number().describe(\"Unix timestamp when the model was added.\").nullable(),\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).\").nullable(),\n context_length: z.number().int().describe(\"Maximum context window size in tokens.\").nullable(),\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.record(z.string(), z.unknown()).describe(\"Default parameter values for this model, if any.\").nullable().optional(),\n per_request_limits: z.record(z.string(), z.unknown()).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}).passthrough();\nexport const OpenrouterListUserModelsOutput = z.object({\n data: z.array(OpenrouterListUserModels_ModelInfoSchema).describe(\"List of models filtered by user provider preferences, privacy settings, and guardrails.\"),\n}).passthrough();\n\nexport const openrouterListUserModels: AppAction<\n typeof OpenrouterListUserModelsInput,\n typeof OpenrouterListUserModelsOutput,\n typeof openrouter.credential\n> = 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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"}
@@ -1,3 +1,5 @@
1
+ import { openrouter } from "../app.cjs";
2
+ import { AppAction } from "@keystrokehq/keystroke/app";
1
3
  import { z } from "zod";
2
4
 
3
5
  //#region src/actions/list-user-models.d.ts
@@ -42,22 +44,7 @@ declare const OpenrouterListUserModelsOutput: z.ZodObject<{
42
44
  supported_parameters: z.ZodArray<z.ZodString>;
43
45
  }, z.core.$loose>>;
44
46
  }, z.core.$loose>;
45
- declare const openrouterListUserModels: import("@keystrokehq/action").WorkflowActionDefinition<{
46
- x_title?: string | undefined;
47
- http_referer?: string | undefined;
48
- }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential<"openrouter", z.ZodObject<{
49
- connectionId: z.ZodString;
50
- entityId: z.ZodString;
51
- instanceId: z.ZodString;
52
- }, z.core.$strip>, z.ZodObject<{
53
- generic_api_key: z.ZodString;
54
- }, z.core.$strip>>]>, readonly [import("@keystrokehq/shared").Credential<"openrouter", z.ZodObject<{
55
- connectionId: z.ZodString;
56
- entityId: z.ZodString;
57
- instanceId: z.ZodString;
58
- }, z.core.$strip>, z.ZodObject<{
59
- generic_api_key: z.ZodString;
60
- }, z.core.$strip>>]>;
47
+ declare const openrouterListUserModels: AppAction<typeof OpenrouterListUserModelsInput, typeof OpenrouterListUserModelsOutput, typeof openrouter.credential>;
61
48
  //#endregion
62
49
  export { openrouterListUserModels };
63
50
  //# sourceMappingURL=list-user-models.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-user-models.d.cts","names":[],"sources":["../../src/actions/list-user-models.ts"],"mappings":";;;cAIa,6BAAA,EAA6B,CAAA,CAAA,SAAA;;;;cA0C7B,8BAAA,EAA8B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAI9B,wBAAA,gCAAwB,wBAAA"}
1
+ {"version":3,"file":"list-user-models.d.cts","names":[],"sources":["../../src/actions/list-user-models.ts"],"mappings":";;;;;cAMa,6BAAA,EAA6B,CAAA,CAAA,SAAA;;;;cA0C7B,8BAAA,EAA8B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAI9B,wBAAA,EAA0B,SAAA,QAC9B,6BAAA,SACA,8BAAA,SACA,UAAA,CAAW,UAAA"}
@@ -1,3 +1,5 @@
1
+ import { openrouter } from "../app.mjs";
2
+ import { AppAction } from "@keystrokehq/keystroke/app";
1
3
  import { z } from "zod";
2
4
 
3
5
  //#region src/actions/list-user-models.d.ts
@@ -42,22 +44,7 @@ declare const OpenrouterListUserModelsOutput: z.ZodObject<{
42
44
  supported_parameters: z.ZodArray<z.ZodString>;
43
45
  }, z.core.$loose>>;
44
46
  }, z.core.$loose>;
45
- declare const openrouterListUserModels: import("@keystrokehq/action").WorkflowActionDefinition<{
46
- x_title?: string | undefined;
47
- http_referer?: string | undefined;
48
- }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential<"openrouter", z.ZodObject<{
49
- connectionId: z.ZodString;
50
- entityId: z.ZodString;
51
- instanceId: z.ZodString;
52
- }, z.core.$strip>, z.ZodObject<{
53
- generic_api_key: z.ZodString;
54
- }, z.core.$strip>>]>, readonly [import("@keystrokehq/shared").Credential<"openrouter", z.ZodObject<{
55
- connectionId: z.ZodString;
56
- entityId: z.ZodString;
57
- instanceId: z.ZodString;
58
- }, z.core.$strip>, z.ZodObject<{
59
- generic_api_key: z.ZodString;
60
- }, z.core.$strip>>]>;
47
+ declare const openrouterListUserModels: AppAction<typeof OpenrouterListUserModelsInput, typeof OpenrouterListUserModelsOutput, typeof openrouter.credential>;
61
48
  //#endregion
62
49
  export { openrouterListUserModels };
63
50
  //# sourceMappingURL=list-user-models.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-user-models.d.mts","names":[],"sources":["../../src/actions/list-user-models.ts"],"mappings":";;;cAIa,6BAAA,EAA6B,CAAA,CAAA,SAAA;;;;cA0C7B,8BAAA,EAA8B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAI9B,wBAAA,gCAAwB,wBAAA"}
1
+ {"version":3,"file":"list-user-models.d.mts","names":[],"sources":["../../src/actions/list-user-models.ts"],"mappings":";;;;;cAMa,6BAAA,EAA6B,CAAA,CAAA,SAAA;;;;cA0C7B,8BAAA,EAA8B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAI9B,wBAAA,EAA0B,SAAA,QAC9B,6BAAA,SACA,8BAAA,SACA,UAAA,CAAW,UAAA"}
@@ -1,3 +1,4 @@
1
+ import "../app.mjs";
1
2
  import { action } from "../action.mjs";
2
3
  import { z } from "zod";
3
4
  //#region src/actions/list-user-models.ts
@@ -1 +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.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.object({\n image: z.string().describe(\"Price per image.\").nullable().optional(),\n prompt: z.string().describe(\"Price per prompt token.\").nullable(),\n request: z.string().describe(\"Price per request.\").nullable().optional(),\n completion: z.string().describe(\"Price per completion token.\").nullable(),\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}).passthrough();\nconst OpenrouterListUserModels_ArchitectureSchema = z.object({\n modality: z.string().describe(\"Overall modality pattern (e.g., 'text->text').\").nullable().optional(),\n tokenizer: z.string().describe(\"Tokenization method used.\").nullable(),\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}).passthrough();\nconst OpenrouterListUserModels_TopProviderSchema = 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}).passthrough();\nconst OpenrouterListUserModels_ModelInfoSchema = z.object({\n id: z.string().describe(\"Unique model identifier.\").nullable(),\n name: z.string().describe(\"Human-readable display name for the model.\").nullable(),\n created: z.number().describe(\"Unix timestamp when the model was added.\").nullable(),\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).\").nullable(),\n context_length: z.number().int().describe(\"Maximum context window size in tokens.\").nullable(),\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.record(z.string(), z.unknown()).describe(\"Default parameter values for this model, if any.\").nullable().optional(),\n per_request_limits: z.record(z.string(), z.unknown()).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}).passthrough();\nexport const OpenrouterListUserModelsOutput = z.object({\n data: z.array(OpenrouterListUserModels_ModelInfoSchema).describe(\"List of models filtered by user provider preferences, privacy settings, and guardrails.\"),\n}).passthrough();\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":";;;AAIA,MAAa,gCAAgC,EAAE,OAAO;CACpD,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,8FAA8F,CAAC,CAAC,SAAS;CACtI,cAAc,EAAE,OAAO,CAAC,CAAC,SAAS,kJAAkJ,CAAC,CAAC,SAAS;AACjM,CAAC;AACD,MAAM,yCAAyC,EAAE,OAAO;CACtD,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,kBAAkB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACnE,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,yBAAyB,CAAC,CAAC,SAAS;CAChE,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,oBAAoB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACvE,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,6BAA6B,CAAC,CAAC,SAAS;CACxE,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,uBAAuB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC7E,kBAAkB,EAAE,OAAO,CAAC,CAAC,SAAS,6BAA6B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACzF,mBAAmB,EAAE,OAAO,CAAC,CAAC,SAAS,8BAA8B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC3F,oBAAoB,EAAE,OAAO,CAAC,CAAC,SAAS,+BAA+B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AAC/F,CAAC,CAAC,CAAC,YAAY;AACf,MAAM,8CAA8C,EAAE,OAAO;CAC3D,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,gDAAgD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACpG,WAAW,EAAE,OAAO,CAAC,CAAC,SAAS,2BAA2B,CAAC,CAAC,SAAS;CACrE,eAAe,EAAE,OAAO,CAAC,CAAC,SAAS,0CAA0C,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACnG,kBAAkB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,gDAAgD;CAC/F,mBAAmB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,wCAAwC;AAC1F,CAAC,CAAC,CAAC,YAAY;AACf,MAAM,6CAA6C,EAAE,OAAO;CAC1D,cAAc,EAAE,QAAQ,CAAC,CAAC,SAAS,wCAAwC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACjG,gBAAgB,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,4CAA4C,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC5G,uBAAuB,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,gDAAgD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AACzH,CAAC,CAAC,CAAC,YAAY;AACf,MAAM,2CAA2C,EAAE,OAAO;CACxD,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,0BAA0B,CAAC,CAAC,SAAS;CAC7D,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,4CAA4C,CAAC,CAAC,SAAS;CACjF,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,0CAA0C,CAAC,CAAC,SAAS;CAClF,SAAS,uCAAuC,SAAS;CACzD,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,mDAAmD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC1G,cAAc,4CAA4C,SAAS;CACnE,cAAc,2CAA2C,SAAS;CAClE,gBAAgB,EAAE,OAAO,CAAC,CAAC,SAAS,2CAA2C,CAAC,CAAC,SAAS;CAC1F,gBAAgB,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,wCAAwC,CAAC,CAAC,SAAS;CAC7F,iBAAiB,EAAE,OAAO,CAAC,CAAC,SAAS,oDAAoD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC/G,iBAAiB,EAAE,OAAO,CAAC,CAAC,SAAS,2CAA2C,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACtG,oBAAoB,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,kDAAkD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACvI,oBAAoB,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,wFAAwF,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC7K,sBAAsB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,0CAA0C;AAC/F,CAAC,CAAC,CAAC,YAAY;AAKf,MAAa,2BAA2B,OAAO,+BAA+B;CAC5E,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAT4C,EAAE,OAAO,EACrD,MAAM,EAAE,MAAM,wCAAwC,CAAC,CAAC,SAAS,yFAAyF,EAC5J,CAAC,CAAC,CAAC,YAOO;AACV,CAAC"}
1
+ {"version":3,"file":"list-user-models.mjs","names":[],"sources":["../../src/actions/list-user-models.ts"],"sourcesContent":["import type { AppAction } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nimport { action } from \"../action\";\nimport { openrouter } from \"../app\";\n\nexport const OpenrouterListUserModelsInput = 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.object({\n image: z.string().describe(\"Price per image.\").nullable().optional(),\n prompt: z.string().describe(\"Price per prompt token.\").nullable(),\n request: z.string().describe(\"Price per request.\").nullable().optional(),\n completion: z.string().describe(\"Price per completion token.\").nullable(),\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}).passthrough();\nconst OpenrouterListUserModels_ArchitectureSchema = z.object({\n modality: z.string().describe(\"Overall modality pattern (e.g., 'text->text').\").nullable().optional(),\n tokenizer: z.string().describe(\"Tokenization method used.\").nullable(),\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}).passthrough();\nconst OpenrouterListUserModels_TopProviderSchema = 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}).passthrough();\nconst OpenrouterListUserModels_ModelInfoSchema = z.object({\n id: z.string().describe(\"Unique model identifier.\").nullable(),\n name: z.string().describe(\"Human-readable display name for the model.\").nullable(),\n created: z.number().describe(\"Unix timestamp when the model was added.\").nullable(),\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).\").nullable(),\n context_length: z.number().int().describe(\"Maximum context window size in tokens.\").nullable(),\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.record(z.string(), z.unknown()).describe(\"Default parameter values for this model, if any.\").nullable().optional(),\n per_request_limits: z.record(z.string(), z.unknown()).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}).passthrough();\nexport const OpenrouterListUserModelsOutput = z.object({\n data: z.array(OpenrouterListUserModels_ModelInfoSchema).describe(\"List of models filtered by user provider preferences, privacy settings, and guardrails.\"),\n}).passthrough();\n\nexport const openrouterListUserModels: AppAction<\n typeof OpenrouterListUserModelsInput,\n typeof OpenrouterListUserModelsOutput,\n typeof openrouter.credential\n> = 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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"}
@@ -1,3 +1,4 @@
1
+ require("../app.cjs");
1
2
  const require_action = require("../action.cjs");
2
3
  let zod = require("zod");
3
4
  //#region src/actions/list-zdr-endpoints.ts
@@ -1 +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.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.object({\n image: z.string().describe(\"Cost per image operation.\").nullable().optional(),\n prompt: z.string().describe(\"Cost per prompt token.\").nullable(),\n request: z.string().describe(\"Cost per request.\").nullable().optional(),\n completion: z.string().describe(\"Cost per completion token.\").nullable(),\n}).passthrough().describe(\"Pricing rates for different usage metrics.\");\nconst OpenrouterListZdrEndpoints_LatencyMetricsSchema = 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}).passthrough().describe(\"Latency percentile metrics over the last 30 minutes.\");\nconst OpenrouterListZdrEndpoints_ThroughputMetricsSchema = 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}).passthrough().describe(\"Throughput percentile metrics over the last 30 minutes.\");\nconst OpenrouterListZdrEndpoints_ZdrEndpointSchema = z.object({\n tag: z.string().describe(\"Tag identifying the model or provider category.\").nullable(),\n name: z.string().describe(\"Endpoint display name.\").nullable(),\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.\").nullable(),\n model_name: z.string().describe(\"Human-readable model name.\").nullable(),\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.\").nullable(),\n context_length: z.number().describe(\"Maximum number of tokens in context window.\").nullable(),\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.\").nullable(),\n}).passthrough().describe(\"Information about a specific model endpoint under Zero Data Retention.\");\nexport const OpenrouterListZdrEndpointsOutput = z.object({\n data: z.array(OpenrouterListZdrEndpoints_ZdrEndpointSchema).describe(\"List of model endpoints available under Zero Data Retention policy.\"),\n}).passthrough().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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"}
1
+ {"version":3,"file":"list-zdr-endpoints.cjs","names":["z","action"],"sources":["../../src/actions/list-zdr-endpoints.ts"],"sourcesContent":["import type { AppAction } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nimport { action } from \"../action\";\nimport { openrouter } from \"../app\";\n\nexport const OpenrouterListZdrEndpointsInput = 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.object({\n image: z.string().describe(\"Cost per image operation.\").nullable().optional(),\n prompt: z.string().describe(\"Cost per prompt token.\").nullable(),\n request: z.string().describe(\"Cost per request.\").nullable().optional(),\n completion: z.string().describe(\"Cost per completion token.\").nullable(),\n}).passthrough().describe(\"Pricing rates for different usage metrics.\");\nconst OpenrouterListZdrEndpoints_LatencyMetricsSchema = 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}).passthrough().describe(\"Latency percentile metrics over the last 30 minutes.\");\nconst OpenrouterListZdrEndpoints_ThroughputMetricsSchema = 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}).passthrough().describe(\"Throughput percentile metrics over the last 30 minutes.\");\nconst OpenrouterListZdrEndpoints_ZdrEndpointSchema = z.object({\n tag: z.string().describe(\"Tag identifying the model or provider category.\").nullable(),\n name: z.string().describe(\"Endpoint display name.\").nullable(),\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.\").nullable(),\n model_name: z.string().describe(\"Human-readable model name.\").nullable(),\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.\").nullable(),\n context_length: z.number().describe(\"Maximum number of tokens in context window.\").nullable(),\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.\").nullable(),\n}).passthrough().describe(\"Information about a specific model endpoint under Zero Data Retention.\");\nexport const OpenrouterListZdrEndpointsOutput = z.object({\n data: z.array(OpenrouterListZdrEndpoints_ZdrEndpointSchema).describe(\"List of model endpoints available under Zero Data Retention policy.\"),\n}).passthrough().describe(\"Response schema for listing ZDR endpoints.\");\n\nexport const openrouterListZdrEndpoints: AppAction<\n typeof OpenrouterListZdrEndpointsInput,\n typeof OpenrouterListZdrEndpointsOutput,\n typeof openrouter.credential\n> = 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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"}
@@ -1,3 +1,5 @@
1
+ import { openrouter } from "../app.cjs";
2
+ import { AppAction } from "@keystrokehq/keystroke/app";
1
3
  import { z } from "zod";
2
4
 
3
5
  //#region src/actions/list-zdr-endpoints.d.ts
@@ -40,22 +42,7 @@ declare const OpenrouterListZdrEndpointsOutput: z.ZodObject<{
40
42
  supports_implicit_caching: z.ZodNullable<z.ZodBoolean>;
41
43
  }, z.core.$loose>>;
42
44
  }, z.core.$loose>;
43
- declare const openrouterListZdrEndpoints: import("@keystrokehq/action").WorkflowActionDefinition<{
44
- x_title?: string | undefined;
45
- http_referer?: string | undefined;
46
- }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential<"openrouter", z.ZodObject<{
47
- connectionId: z.ZodString;
48
- entityId: z.ZodString;
49
- instanceId: z.ZodString;
50
- }, z.core.$strip>, z.ZodObject<{
51
- generic_api_key: z.ZodString;
52
- }, z.core.$strip>>]>, readonly [import("@keystrokehq/shared").Credential<"openrouter", z.ZodObject<{
53
- connectionId: z.ZodString;
54
- entityId: z.ZodString;
55
- instanceId: z.ZodString;
56
- }, z.core.$strip>, z.ZodObject<{
57
- generic_api_key: z.ZodString;
58
- }, z.core.$strip>>]>;
45
+ declare const openrouterListZdrEndpoints: AppAction<typeof OpenrouterListZdrEndpointsInput, typeof OpenrouterListZdrEndpointsOutput, typeof openrouter.credential>;
59
46
  //#endregion
60
47
  export { openrouterListZdrEndpoints };
61
48
  //# sourceMappingURL=list-zdr-endpoints.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-zdr-endpoints.d.cts","names":[],"sources":["../../src/actions/list-zdr-endpoints.ts"],"mappings":";;;cAIa,+BAAA,EAA+B,CAAA,CAAA,SAAA;;;;cAwC/B,gCAAA,EAAgC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAIhC,0BAAA,gCAA0B,wBAAA"}
1
+ {"version":3,"file":"list-zdr-endpoints.d.cts","names":[],"sources":["../../src/actions/list-zdr-endpoints.ts"],"mappings":";;;;;cAMa,+BAAA,EAA+B,CAAA,CAAA,SAAA;;;;cAwC/B,gCAAA,EAAgC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAIhC,0BAAA,EAA4B,SAAA,QAChC,+BAAA,SACA,gCAAA,SACA,UAAA,CAAW,UAAA"}
@@ -1,3 +1,5 @@
1
+ import { openrouter } from "../app.mjs";
2
+ import { AppAction } from "@keystrokehq/keystroke/app";
1
3
  import { z } from "zod";
2
4
 
3
5
  //#region src/actions/list-zdr-endpoints.d.ts
@@ -40,22 +42,7 @@ declare const OpenrouterListZdrEndpointsOutput: z.ZodObject<{
40
42
  supports_implicit_caching: z.ZodNullable<z.ZodBoolean>;
41
43
  }, z.core.$loose>>;
42
44
  }, z.core.$loose>;
43
- declare const openrouterListZdrEndpoints: import("@keystrokehq/action").WorkflowActionDefinition<{
44
- x_title?: string | undefined;
45
- http_referer?: string | undefined;
46
- }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential<"openrouter", z.ZodObject<{
47
- connectionId: z.ZodString;
48
- entityId: z.ZodString;
49
- instanceId: z.ZodString;
50
- }, z.core.$strip>, z.ZodObject<{
51
- generic_api_key: z.ZodString;
52
- }, z.core.$strip>>]>, readonly [import("@keystrokehq/shared").Credential<"openrouter", z.ZodObject<{
53
- connectionId: z.ZodString;
54
- entityId: z.ZodString;
55
- instanceId: z.ZodString;
56
- }, z.core.$strip>, z.ZodObject<{
57
- generic_api_key: z.ZodString;
58
- }, z.core.$strip>>]>;
45
+ declare const openrouterListZdrEndpoints: AppAction<typeof OpenrouterListZdrEndpointsInput, typeof OpenrouterListZdrEndpointsOutput, typeof openrouter.credential>;
59
46
  //#endregion
60
47
  export { openrouterListZdrEndpoints };
61
48
  //# sourceMappingURL=list-zdr-endpoints.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-zdr-endpoints.d.mts","names":[],"sources":["../../src/actions/list-zdr-endpoints.ts"],"mappings":";;;cAIa,+BAAA,EAA+B,CAAA,CAAA,SAAA;;;;cAwC/B,gCAAA,EAAgC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAIhC,0BAAA,gCAA0B,wBAAA"}
1
+ {"version":3,"file":"list-zdr-endpoints.d.mts","names":[],"sources":["../../src/actions/list-zdr-endpoints.ts"],"mappings":";;;;;cAMa,+BAAA,EAA+B,CAAA,CAAA,SAAA;;;;cAwC/B,gCAAA,EAAgC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAIhC,0BAAA,EAA4B,SAAA,QAChC,+BAAA,SACA,gCAAA,SACA,UAAA,CAAW,UAAA"}
@@ -1,3 +1,4 @@
1
+ import "../app.mjs";
1
2
  import { action } from "../action.mjs";
2
3
  import { z } from "zod";
3
4
  //#region src/actions/list-zdr-endpoints.ts
@@ -1 +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.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.object({\n image: z.string().describe(\"Cost per image operation.\").nullable().optional(),\n prompt: z.string().describe(\"Cost per prompt token.\").nullable(),\n request: z.string().describe(\"Cost per request.\").nullable().optional(),\n completion: z.string().describe(\"Cost per completion token.\").nullable(),\n}).passthrough().describe(\"Pricing rates for different usage metrics.\");\nconst OpenrouterListZdrEndpoints_LatencyMetricsSchema = 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}).passthrough().describe(\"Latency percentile metrics over the last 30 minutes.\");\nconst OpenrouterListZdrEndpoints_ThroughputMetricsSchema = 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}).passthrough().describe(\"Throughput percentile metrics over the last 30 minutes.\");\nconst OpenrouterListZdrEndpoints_ZdrEndpointSchema = z.object({\n tag: z.string().describe(\"Tag identifying the model or provider category.\").nullable(),\n name: z.string().describe(\"Endpoint display name.\").nullable(),\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.\").nullable(),\n model_name: z.string().describe(\"Human-readable model name.\").nullable(),\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.\").nullable(),\n context_length: z.number().describe(\"Maximum number of tokens in context window.\").nullable(),\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.\").nullable(),\n}).passthrough().describe(\"Information about a specific model endpoint under Zero Data Retention.\");\nexport const OpenrouterListZdrEndpointsOutput = z.object({\n data: z.array(OpenrouterListZdrEndpoints_ZdrEndpointSchema).describe(\"List of model endpoints available under Zero Data Retention policy.\"),\n}).passthrough().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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"}
1
+ {"version":3,"file":"list-zdr-endpoints.mjs","names":[],"sources":["../../src/actions/list-zdr-endpoints.ts"],"sourcesContent":["import type { AppAction } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nimport { action } from \"../action\";\nimport { openrouter } from \"../app\";\n\nexport const OpenrouterListZdrEndpointsInput = 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.object({\n image: z.string().describe(\"Cost per image operation.\").nullable().optional(),\n prompt: z.string().describe(\"Cost per prompt token.\").nullable(),\n request: z.string().describe(\"Cost per request.\").nullable().optional(),\n completion: z.string().describe(\"Cost per completion token.\").nullable(),\n}).passthrough().describe(\"Pricing rates for different usage metrics.\");\nconst OpenrouterListZdrEndpoints_LatencyMetricsSchema = 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}).passthrough().describe(\"Latency percentile metrics over the last 30 minutes.\");\nconst OpenrouterListZdrEndpoints_ThroughputMetricsSchema = 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}).passthrough().describe(\"Throughput percentile metrics over the last 30 minutes.\");\nconst OpenrouterListZdrEndpoints_ZdrEndpointSchema = z.object({\n tag: z.string().describe(\"Tag identifying the model or provider category.\").nullable(),\n name: z.string().describe(\"Endpoint display name.\").nullable(),\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.\").nullable(),\n model_name: z.string().describe(\"Human-readable model name.\").nullable(),\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.\").nullable(),\n context_length: z.number().describe(\"Maximum number of tokens in context window.\").nullable(),\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.\").nullable(),\n}).passthrough().describe(\"Information about a specific model endpoint under Zero Data Retention.\");\nexport const OpenrouterListZdrEndpointsOutput = z.object({\n data: z.array(OpenrouterListZdrEndpoints_ZdrEndpointSchema).describe(\"List of model endpoints available under Zero Data Retention policy.\"),\n}).passthrough().describe(\"Response schema for listing ZDR endpoints.\");\n\nexport const openrouterListZdrEndpoints: AppAction<\n typeof OpenrouterListZdrEndpointsInput,\n typeof OpenrouterListZdrEndpointsOutput,\n typeof openrouter.credential\n> = 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 CHANGED
@@ -1,10 +1,10 @@
1
1
  let _keystrokehq_keystroke_app = require("@keystrokehq/keystroke/app");
2
- let zod = require("zod");
3
2
  //#region src/app.ts
3
+ const credential = { generic_api_key: require("zod").z.string() };
4
4
  const openrouter = (0, _keystrokehq_keystroke_app.defineApp)({
5
5
  slug: "openrouter",
6
6
  auth: "keystroke",
7
- credential: { generic_api_key: zod.z.string() }
7
+ credential
8
8
  });
9
9
  //#endregion
10
10
  exports.openrouter = openrouter;
package/dist/app.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.cjs","names":["z"],"sources":["../src/app.ts"],"sourcesContent":["import { defineApp } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nexport const openrouter = defineApp({\n slug: \"openrouter\",\n auth: \"keystroke\",\n credential: {\n generic_api_key: z.string(),\n },\n});\n"],"mappings":";;;AAGA,MAAa,cAAA,GAAA,2BAAA,UAAA,CAAuB;CAClC,MAAM;CACN,MAAM;CACN,YAAY,EACV,iBAAiBA,IAAAA,EAAE,OAAO,EAC5B;AACF,CAAC"}
1
+ {"version":3,"file":"app.cjs","names":["z"],"sources":["../src/app.ts"],"sourcesContent":["import { defineApp, type KeystrokeApp } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nconst credential = {\n generic_api_key: z.string(),\n};\n\nexport const openrouter: KeystrokeApp<\"openrouter\", typeof credential> = defineApp({\n slug: \"openrouter\",\n auth: \"keystroke\",\n credential,\n});\n"],"mappings":";;AAGA,MAAM,aAAa,EACjB,8BAAiBA,CAAAA,CAAAA,EAAE,OAAO,EAC5B;AAEA,MAAa,cAAA,GAAA,2BAAA,UAAA,CAAsE;CACjF,MAAM;CACN,MAAM;CACN;AACF,CAAC"}
package/dist/app.d.cts CHANGED
@@ -1,13 +1,11 @@
1
+ import { KeystrokeApp } from "@keystrokehq/keystroke/app";
1
2
  import { z } from "zod";
2
3
 
3
4
  //#region src/app.d.ts
4
- declare const openrouter: import("@keystrokehq/app").App<import("@keystrokehq/shared").Credential<"openrouter", z.ZodObject<{
5
- connectionId: z.ZodString;
6
- entityId: z.ZodString;
7
- instanceId: z.ZodString;
8
- }, z.core.$strip>, z.ZodObject<{
5
+ declare const credential: {
9
6
  generic_api_key: z.ZodString;
10
- }, z.core.$strip>>>;
7
+ };
8
+ declare const openrouter: KeystrokeApp<"openrouter", typeof credential>;
11
9
  //#endregion
12
10
  export { openrouter };
13
11
  //# sourceMappingURL=app.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.cts","names":[],"sources":["../src/app.ts"],"mappings":";;;cAGa,UAAA,6BAAU,GAAA,+BAAA,UAAA,eAAA,CAAA,CAAA,SAAA"}
1
+ {"version":3,"file":"app.d.cts","names":[],"sources":["../src/app.ts"],"mappings":";;;;cAGM,UAAA;mBAEL,CAAA,CAAA,SAAA;AAAA;AAAA,cAEY,UAAA,EAAY,YAAY,sBAAsB,UAAA"}
package/dist/app.d.mts CHANGED
@@ -1,13 +1,11 @@
1
+ import { KeystrokeApp } from "@keystrokehq/keystroke/app";
1
2
  import { z } from "zod";
2
3
 
3
4
  //#region src/app.d.ts
4
- declare const openrouter: import("@keystrokehq/app").App<import("@keystrokehq/shared").Credential<"openrouter", z.ZodObject<{
5
- connectionId: z.ZodString;
6
- entityId: z.ZodString;
7
- instanceId: z.ZodString;
8
- }, z.core.$strip>, z.ZodObject<{
5
+ declare const credential: {
9
6
  generic_api_key: z.ZodString;
10
- }, z.core.$strip>>>;
7
+ };
8
+ declare const openrouter: KeystrokeApp<"openrouter", typeof credential>;
11
9
  //#endregion
12
10
  export { openrouter };
13
11
  //# sourceMappingURL=app.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.mts","names":[],"sources":["../src/app.ts"],"mappings":";;;cAGa,UAAA,6BAAU,GAAA,+BAAA,UAAA,eAAA,CAAA,CAAA,SAAA"}
1
+ {"version":3,"file":"app.d.mts","names":[],"sources":["../src/app.ts"],"mappings":";;;;cAGM,UAAA;mBAEL,CAAA,CAAA,SAAA;AAAA;AAAA,cAEY,UAAA,EAAY,YAAY,sBAAsB,UAAA"}
package/dist/app.mjs CHANGED
@@ -1,6 +1,5 @@
1
1
  import { defineApp } from "@keystrokehq/keystroke/app";
2
2
  import { z } from "zod";
3
- //#region src/app.ts
4
3
  const openrouter = defineApp({
5
4
  slug: "openrouter",
6
5
  auth: "keystroke",
package/dist/app.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.mjs","names":[],"sources":["../src/app.ts"],"sourcesContent":["import { defineApp } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nexport const openrouter = defineApp({\n slug: \"openrouter\",\n auth: \"keystroke\",\n credential: {\n generic_api_key: z.string(),\n },\n});\n"],"mappings":";;;AAGA,MAAa,aAAa,UAAU;CAClC,MAAM;CACN,MAAM;CACN,YAAY,EACV,iBAAiB,EAAE,OAAO,EAC5B;AACF,CAAC"}
1
+ {"version":3,"file":"app.mjs","names":[],"sources":["../src/app.ts"],"sourcesContent":["import { defineApp, type KeystrokeApp } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nconst credential = {\n generic_api_key: z.string(),\n};\n\nexport const openrouter: KeystrokeApp<\"openrouter\", typeof credential> = defineApp({\n slug: \"openrouter\",\n auth: \"keystroke\",\n credential,\n});\n"],"mappings":";;AAOA,MAAa,aAA4D,UAAU;CACjF,MAAM;CACN,MAAM;CACN,cANA,iBAAiB,EAAE,OAAO,EAM1B;AACF,CAAC"}
package/dist/index.d.cts CHANGED
@@ -1,3 +1,4 @@
1
+ import { openrouter } from "./app.cjs";
1
2
  import { openrouterCreateChatCompletion } from "./actions/create-chat-completion.cjs";
2
3
  import { openrouterCreateCoinbaseCharge } from "./actions/create-coinbase-charge.cjs";
3
4
  import { openrouterCreateMessage } from "./actions/create-message.cjs";
@@ -11,6 +12,5 @@ import { openrouterListModelEndpoints } from "./actions/list-model-endpoints.cjs
11
12
  import { openrouterListProviders } from "./actions/list-providers.cjs";
12
13
  import { openrouterListUserModels } from "./actions/list-user-models.cjs";
13
14
  import { openrouterListZdrEndpoints } from "./actions/list-zdr-endpoints.cjs";
14
- import { openrouter } from "./app.cjs";
15
15
  import { openrouterCatalog } from "./catalog.cjs";
16
16
  export { openrouter, openrouterCatalog, openrouterCreateChatCompletion, openrouterCreateCoinbaseCharge, openrouterCreateMessage, openrouterGetCredits, openrouterGetCurrentKey, openrouterGetGeneration, openrouterGetModelsCount, openrouterListAvailableModels, openrouterListEmbeddingModels, openrouterListModelEndpoints, openrouterListProviders, openrouterListUserModels, openrouterListZdrEndpoints };
package/dist/index.d.mts CHANGED
@@ -1,3 +1,4 @@
1
+ import { openrouter } from "./app.mjs";
1
2
  import { openrouterCreateChatCompletion } from "./actions/create-chat-completion.mjs";
2
3
  import { openrouterCreateCoinbaseCharge } from "./actions/create-coinbase-charge.mjs";
3
4
  import { openrouterCreateMessage } from "./actions/create-message.mjs";
@@ -11,6 +12,5 @@ import { openrouterListModelEndpoints } from "./actions/list-model-endpoints.mjs
11
12
  import { openrouterListProviders } from "./actions/list-providers.mjs";
12
13
  import { openrouterListUserModels } from "./actions/list-user-models.mjs";
13
14
  import { openrouterListZdrEndpoints } from "./actions/list-zdr-endpoints.mjs";
14
- import { openrouter } from "./app.mjs";
15
15
  import { openrouterCatalog } from "./catalog.mjs";
16
16
  export { openrouter, openrouterCatalog, openrouterCreateChatCompletion, openrouterCreateCoinbaseCharge, openrouterCreateMessage, openrouterGetCredits, openrouterGetCurrentKey, openrouterGetGeneration, openrouterGetModelsCount, openrouterListAvailableModels, openrouterListEmbeddingModels, openrouterListModelEndpoints, openrouterListProviders, openrouterListUserModels, openrouterListZdrEndpoints };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@keystrokehq/openrouter",
3
- "version": "0.1.5",
3
+ "version": "0.1.6",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "registry": "https://registry.npmjs.org"
@@ -31,7 +31,7 @@
31
31
  }
32
32
  },
33
33
  "peerDependencies": {
34
- "@keystrokehq/keystroke": ">=0.1.4",
34
+ "@keystrokehq/keystroke": ">=0.1.104",
35
35
  "zod": "^4.4.3"
36
36
  },
37
37
  "devDependencies": {