@keystrokehq/openrouter 0.1.4 → 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 -25
  6. package/dist/actions/create-chat-completion.d.cts.map +1 -1
  7. package/dist/actions/create-chat-completion.d.mts +3 -25
  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 -7
  14. package/dist/actions/create-coinbase-charge.d.cts.map +1 -1
  15. package/dist/actions/create-coinbase-charge.d.mts +3 -7
  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 -60
  22. package/dist/actions/create-message.d.cts.map +1 -1
  23. package/dist/actions/create-message.d.mts +3 -60
  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 -1
  30. package/dist/actions/get-credits.d.cts.map +1 -1
  31. package/dist/actions/get-credits.d.mts +3 -1
  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 -4
  38. package/dist/actions/get-current-key.d.cts.map +1 -1
  39. package/dist/actions/get-current-key.d.mts +3 -4
  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 -3
  46. package/dist/actions/get-generation.d.cts.map +1 -1
  47. package/dist/actions/get-generation.d.mts +3 -3
  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 -4
  54. package/dist/actions/get-models-count.d.cts.map +1 -1
  55. package/dist/actions/get-models-count.d.mts +3 -4
  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 -5
  62. package/dist/actions/list-available-models.d.cts.map +1 -1
  63. package/dist/actions/list-available-models.d.mts +3 -5
  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 -4
  70. package/dist/actions/list-embedding-models.d.cts.map +1 -1
  71. package/dist/actions/list-embedding-models.d.mts +3 -4
  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 -4
  78. package/dist/actions/list-model-endpoints.d.cts.map +1 -1
  79. package/dist/actions/list-model-endpoints.d.mts +3 -4
  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 -1
  86. package/dist/actions/list-providers.d.cts.map +1 -1
  87. package/dist/actions/list-providers.d.mts +3 -1
  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 -4
  94. package/dist/actions/list-user-models.d.cts.map +1 -1
  95. package/dist/actions/list-user-models.d.mts +3 -4
  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 -4
  102. package/dist/actions/list-zdr-endpoints.d.cts.map +1 -1
  103. package/dist/actions/list-zdr-endpoints.d.mts +3 -4
  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 +5 -2
  108. package/dist/app.cjs.map +1 -1
  109. package/dist/app.d.cts +7 -1
  110. package/dist/app.d.cts.map +1 -1
  111. package/dist/app.d.mts +7 -1
  112. package/dist/app.d.mts.map +1 -1
  113. package/dist/app.mjs +3 -2
  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 +1 @@
1
- {"version":3,"file":"list-available-models.d.mts","names":[],"sources":["../../src/actions/list-available-models.ts"],"mappings":";;;cAIa,kCAAA,EAAkC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;cAqDlC,mCAAA,EAAmC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAInC,6BAAA,gCAA6B,wBAAA"}
1
+ {"version":3,"file":"list-available-models.d.mts","names":[],"sources":["../../src/actions/list-available-models.ts"],"mappings":";;;;;cAMa,kCAAA,EAAkC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;cAqDlC,mCAAA,EAAmC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAInC,6BAAA,EAA+B,SAAA,QACnC,kCAAA,SACA,mCAAA,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-available-models.ts
@@ -1 +1 @@
1
- {"version":3,"file":"list-available-models.mjs","names":[],"sources":["../../src/actions/list-available-models.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const OpenrouterListAvailableModelsInput = z.object({\n use_rss: z.boolean().default(false).describe(\"Return RSS XML feed instead of JSON (BETA).\").optional(),\n category: z.enum([\"programming\", \"roleplay\", \"marketing\", \"marketing/seo\", \"technology\", \"science\", \"translation\", \"legal\", \"finance\", \"health\", \"trivia\", \"academia\"]).describe(\"Valid categories for filtering models.\").optional(),\n use_rss_chat_links: z.boolean().default(false).describe(\"Use chat URLs instead of model page URLs in RSS items (only applies when use_rss=true) (BETA).\").optional(),\n});\nconst OpenrouterListAvailableModels_PricingSchema = z.object({\n audio: z.string().describe(\"Price per audio unit.\").nullable().optional(),\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 OpenrouterListAvailableModels_ArchitectureSchema = z.object({\n modality: z.string().describe(\"Combined modality string (e.g., 'text+image->text').\").nullable().optional(),\n tokenizer: z.string().describe(\"Tokenization method used.\").nullable(),\n instruct_type: z.string().describe(\"Instruction tuning type for the model.\").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 OpenrouterListAvailableModels_TopProviderSchema = z.object({\n is_moderated: z.boolean().describe(\"Indicates if the content is moderated.\").nullable(),\n context_length: z.number().int().describe(\"Context window size provided by this provider.\").nullable().optional(),\n max_completion_tokens: z.number().int().describe(\"Maximum tokens that can be generated in the completion.\").nullable().optional(),\n}).passthrough();\nconst OpenrouterListAvailableModels_DefaultParametersSchema = z.object({\n top_p: z.number().describe(\"Default top_p setting.\").nullable().optional(),\n temperature: z.number().describe(\"Default temperature setting.\").nullable().optional(),\n frequency_penalty: z.number().describe(\"Default frequency penalty setting.\").nullable().optional(),\n}).passthrough().describe(\"Default parameter values for the model.\");\nconst OpenrouterListAvailableModels_PerRequestLimitsSchema = z.object({\n prompt_tokens: z.number().describe(\"Maximum prompt tokens allowed per request.\").nullable(),\n completion_tokens: z.number().describe(\"Maximum completion tokens allowed per request.\").nullable(),\n}).passthrough().describe(\"Rate limiting information for the model.\");\nconst OpenrouterListAvailableModels_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: OpenrouterListAvailableModels_PricingSchema.nullable(),\n description: z.string().describe(\"Detailed description of the model's capabilities.\").nullable(),\n architecture: OpenrouterListAvailableModels_ArchitectureSchema.nullable(),\n top_provider: OpenrouterListAvailableModels_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(\"ISO 8601 date when the model will be deprecated.\").nullable().optional(),\n hugging_face_id: z.string().describe(\"Identifier for the model on Hugging Face.\").nullable().optional(),\n default_parameters: OpenrouterListAvailableModels_DefaultParametersSchema.nullable(),\n per_request_limits: OpenrouterListAvailableModels_PerRequestLimitsSchema.nullable().optional(),\n supported_parameters: z.array(z.string()).describe(\"Supported API parameters for this model.\"),\n}).passthrough();\nexport const OpenrouterListAvailableModelsOutput = z.object({\n data: z.array(OpenrouterListAvailableModels_ModelInfoSchema).describe(\"List of available models.\"),\n}).passthrough();\n\nexport const openrouterListAvailableModels = action(\"OPENROUTER_LIST_AVAILABLE_MODELS\", {\n slug: \"openrouter-list-available-models\",\n name: \"List Available Models\",\n description: \"Tool to list available models via OpenRouter API. Use after confirming authentication to fetch the model catalog. Use exact model IDs returned here in OPENROUTER_CREATE_CHAT_COMPLETION or OPENROUTER_CREATE_COMPLETION calls — hard-coded IDs may break when the catalog changes. Use exact author and slug values from this response as inputs to OPENROUTER_LIST_MODEL_ENDPOINTS. Models have varying capabilities (e.g., tools, reasoning); verify individual model capabilities before downstream use. Pricing and latency metadata may be null or approximate — handle missing values in routing logic.\",\n input: OpenrouterListAvailableModelsInput,\n output: OpenrouterListAvailableModelsOutput,\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"list-available-models.mjs","names":[],"sources":["../../src/actions/list-available-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 OpenrouterListAvailableModelsInput = z.object({\n use_rss: z.boolean().default(false).describe(\"Return RSS XML feed instead of JSON (BETA).\").optional(),\n category: z.enum([\"programming\", \"roleplay\", \"marketing\", \"marketing/seo\", \"technology\", \"science\", \"translation\", \"legal\", \"finance\", \"health\", \"trivia\", \"academia\"]).describe(\"Valid categories for filtering models.\").optional(),\n use_rss_chat_links: z.boolean().default(false).describe(\"Use chat URLs instead of model page URLs in RSS items (only applies when use_rss=true) (BETA).\").optional(),\n});\nconst OpenrouterListAvailableModels_PricingSchema = z.object({\n audio: z.string().describe(\"Price per audio unit.\").nullable().optional(),\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 OpenrouterListAvailableModels_ArchitectureSchema = z.object({\n modality: z.string().describe(\"Combined modality string (e.g., 'text+image->text').\").nullable().optional(),\n tokenizer: z.string().describe(\"Tokenization method used.\").nullable(),\n instruct_type: z.string().describe(\"Instruction tuning type for the model.\").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 OpenrouterListAvailableModels_TopProviderSchema = z.object({\n is_moderated: z.boolean().describe(\"Indicates if the content is moderated.\").nullable(),\n context_length: z.number().int().describe(\"Context window size provided by this provider.\").nullable().optional(),\n max_completion_tokens: z.number().int().describe(\"Maximum tokens that can be generated in the completion.\").nullable().optional(),\n}).passthrough();\nconst OpenrouterListAvailableModels_DefaultParametersSchema = z.object({\n top_p: z.number().describe(\"Default top_p setting.\").nullable().optional(),\n temperature: z.number().describe(\"Default temperature setting.\").nullable().optional(),\n frequency_penalty: z.number().describe(\"Default frequency penalty setting.\").nullable().optional(),\n}).passthrough().describe(\"Default parameter values for the model.\");\nconst OpenrouterListAvailableModels_PerRequestLimitsSchema = z.object({\n prompt_tokens: z.number().describe(\"Maximum prompt tokens allowed per request.\").nullable(),\n completion_tokens: z.number().describe(\"Maximum completion tokens allowed per request.\").nullable(),\n}).passthrough().describe(\"Rate limiting information for the model.\");\nconst OpenrouterListAvailableModels_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: OpenrouterListAvailableModels_PricingSchema.nullable(),\n description: z.string().describe(\"Detailed description of the model's capabilities.\").nullable(),\n architecture: OpenrouterListAvailableModels_ArchitectureSchema.nullable(),\n top_provider: OpenrouterListAvailableModels_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(\"ISO 8601 date when the model will be deprecated.\").nullable().optional(),\n hugging_face_id: z.string().describe(\"Identifier for the model on Hugging Face.\").nullable().optional(),\n default_parameters: OpenrouterListAvailableModels_DefaultParametersSchema.nullable(),\n per_request_limits: OpenrouterListAvailableModels_PerRequestLimitsSchema.nullable().optional(),\n supported_parameters: z.array(z.string()).describe(\"Supported API parameters for this model.\"),\n}).passthrough();\nexport const OpenrouterListAvailableModelsOutput = z.object({\n data: z.array(OpenrouterListAvailableModels_ModelInfoSchema).describe(\"List of available models.\"),\n}).passthrough();\n\nexport const openrouterListAvailableModels: AppAction<\n typeof OpenrouterListAvailableModelsInput,\n typeof OpenrouterListAvailableModelsOutput,\n typeof openrouter.credential\n> = action(\"OPENROUTER_LIST_AVAILABLE_MODELS\", {\n slug: \"openrouter-list-available-models\",\n name: \"List Available Models\",\n description: \"Tool to list available models via OpenRouter API. Use after confirming authentication to fetch the model catalog. Use exact model IDs returned here in OPENROUTER_CREATE_CHAT_COMPLETION or OPENROUTER_CREATE_COMPLETION calls — hard-coded IDs may break when the catalog changes. Use exact author and slug values from this response as inputs to OPENROUTER_LIST_MODEL_ENDPOINTS. Models have varying capabilities (e.g., tools, reasoning); verify individual model capabilities before downstream use. Pricing and latency metadata may be null or approximate — handle missing values in routing logic.\",\n input: OpenrouterListAvailableModelsInput,\n output: OpenrouterListAvailableModelsOutput,\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-embedding-models.ts
@@ -1 +1 @@
1
- {"version":3,"file":"list-embedding-models.cjs","names":["z","action"],"sources":["../../src/actions/list-embedding-models.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const OpenrouterListEmbeddingModelsInput = 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 OpenrouterListEmbeddingModels_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}).passthrough();\nconst OpenrouterListEmbeddingModels_ArchitectureSchema = z.object({\n modality: z.string().describe(\"Model modality (e.g., 'text->text').\").nullable().optional(),\n tokenizer: z.string().describe(\"Tokenization method used.\").nullable(),\n instruct_type: z.string().describe(\"Instruction format 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 OpenrouterListEmbeddingModels_TopProviderSchema = z.object({\n is_moderated: z.boolean().describe(\"Indicates if the content is moderated.\").nullable(),\n context_length: z.number().int().describe(\"Maximum context window size in tokens for the top provider.\").nullable(),\n max_completion_tokens: z.number().int().describe(\"Maximum number of completion tokens.\").nullable().optional(),\n}).passthrough();\nconst OpenrouterListEmbeddingModels_EmbeddingModelInfoSchema = 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: OpenrouterListEmbeddingModels_PricingSchema.nullable(),\n description: z.string().describe(\"Detailed description of the model's capabilities.\").nullable().optional(),\n architecture: OpenrouterListEmbeddingModels_ArchitectureSchema.nullable(),\n top_provider: OpenrouterListEmbeddingModels_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(\"Expiration date of the model, 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 parameters for the model, or null if none.\").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 OpenrouterListEmbeddingModelsOutput = z.object({\n data: z.array(OpenrouterListEmbeddingModels_EmbeddingModelInfoSchema).describe(\"List of available embedding models.\"),\n}).passthrough();\n\nexport const openrouterListEmbeddingModels = action(\"OPENROUTER_LIST_EMBEDDING_MODELS\", {\n slug: \"openrouter-list-embedding-models\",\n name: \"List Embedding Models\",\n description: \"Tool to list all available embeddings models via OpenRouter API. Returns a list of embeddings models with their properties including architecture, pricing, and capabilities.\",\n input: OpenrouterListEmbeddingModelsInput,\n output: OpenrouterListEmbeddingModelsOutput,\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"list-embedding-models.cjs","names":["z","action"],"sources":["../../src/actions/list-embedding-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 OpenrouterListEmbeddingModelsInput = 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 OpenrouterListEmbeddingModels_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}).passthrough();\nconst OpenrouterListEmbeddingModels_ArchitectureSchema = z.object({\n modality: z.string().describe(\"Model modality (e.g., 'text->text').\").nullable().optional(),\n tokenizer: z.string().describe(\"Tokenization method used.\").nullable(),\n instruct_type: z.string().describe(\"Instruction format 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 OpenrouterListEmbeddingModels_TopProviderSchema = z.object({\n is_moderated: z.boolean().describe(\"Indicates if the content is moderated.\").nullable(),\n context_length: z.number().int().describe(\"Maximum context window size in tokens for the top provider.\").nullable(),\n max_completion_tokens: z.number().int().describe(\"Maximum number of completion tokens.\").nullable().optional(),\n}).passthrough();\nconst OpenrouterListEmbeddingModels_EmbeddingModelInfoSchema = 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: OpenrouterListEmbeddingModels_PricingSchema.nullable(),\n description: z.string().describe(\"Detailed description of the model's capabilities.\").nullable().optional(),\n architecture: OpenrouterListEmbeddingModels_ArchitectureSchema.nullable(),\n top_provider: OpenrouterListEmbeddingModels_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(\"Expiration date of the model, 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 parameters for the model, or null if none.\").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 OpenrouterListEmbeddingModelsOutput = z.object({\n data: z.array(OpenrouterListEmbeddingModels_EmbeddingModelInfoSchema).describe(\"List of available embedding models.\"),\n}).passthrough();\n\nexport const openrouterListEmbeddingModels: AppAction<\n typeof OpenrouterListEmbeddingModelsInput,\n typeof OpenrouterListEmbeddingModelsOutput,\n typeof openrouter.credential\n> = action(\"OPENROUTER_LIST_EMBEDDING_MODELS\", {\n slug: \"openrouter-list-embedding-models\",\n name: \"List Embedding Models\",\n description: \"Tool to list all available embeddings models via OpenRouter API. Returns a list of embeddings models with their properties including architecture, pricing, and capabilities.\",\n input: OpenrouterListEmbeddingModelsInput,\n output: OpenrouterListEmbeddingModelsOutput,\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-embedding-models.d.ts
@@ -38,10 +40,7 @@ declare const OpenrouterListEmbeddingModelsOutput: z.ZodObject<{
38
40
  supported_parameters: z.ZodArray<z.ZodString>;
39
41
  }, z.core.$loose>>;
40
42
  }, z.core.$loose>;
41
- declare const openrouterListEmbeddingModels: import("@keystrokehq/action").WorkflowActionDefinition<{
42
- "X-Title"?: string | undefined;
43
- "HTTP-Referer"?: string | undefined;
44
- }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
43
+ declare const openrouterListEmbeddingModels: AppAction<typeof OpenrouterListEmbeddingModelsInput, typeof OpenrouterListEmbeddingModelsOutput, typeof openrouter.credential>;
45
44
  //#endregion
46
45
  export { openrouterListEmbeddingModels };
47
46
  //# sourceMappingURL=list-embedding-models.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-embedding-models.d.cts","names":[],"sources":["../../src/actions/list-embedding-models.ts"],"mappings":";;;cAIa,kCAAA,EAAkC,CAAA,CAAA,SAAA;;;;cAsClC,mCAAA,EAAmC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAInC,6BAAA,gCAA6B,wBAAA"}
1
+ {"version":3,"file":"list-embedding-models.d.cts","names":[],"sources":["../../src/actions/list-embedding-models.ts"],"mappings":";;;;;cAMa,kCAAA,EAAkC,CAAA,CAAA,SAAA;;;;cAsClC,mCAAA,EAAmC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAInC,6BAAA,EAA+B,SAAA,QACnC,kCAAA,SACA,mCAAA,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-embedding-models.d.ts
@@ -38,10 +40,7 @@ declare const OpenrouterListEmbeddingModelsOutput: z.ZodObject<{
38
40
  supported_parameters: z.ZodArray<z.ZodString>;
39
41
  }, z.core.$loose>>;
40
42
  }, z.core.$loose>;
41
- declare const openrouterListEmbeddingModels: import("@keystrokehq/action").WorkflowActionDefinition<{
42
- "X-Title"?: string | undefined;
43
- "HTTP-Referer"?: string | undefined;
44
- }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
43
+ declare const openrouterListEmbeddingModels: AppAction<typeof OpenrouterListEmbeddingModelsInput, typeof OpenrouterListEmbeddingModelsOutput, typeof openrouter.credential>;
45
44
  //#endregion
46
45
  export { openrouterListEmbeddingModels };
47
46
  //# sourceMappingURL=list-embedding-models.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-embedding-models.d.mts","names":[],"sources":["../../src/actions/list-embedding-models.ts"],"mappings":";;;cAIa,kCAAA,EAAkC,CAAA,CAAA,SAAA;;;;cAsClC,mCAAA,EAAmC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAInC,6BAAA,gCAA6B,wBAAA"}
1
+ {"version":3,"file":"list-embedding-models.d.mts","names":[],"sources":["../../src/actions/list-embedding-models.ts"],"mappings":";;;;;cAMa,kCAAA,EAAkC,CAAA,CAAA,SAAA;;;;cAsClC,mCAAA,EAAmC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAInC,6BAAA,EAA+B,SAAA,QACnC,kCAAA,SACA,mCAAA,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-embedding-models.ts
@@ -1 +1 @@
1
- {"version":3,"file":"list-embedding-models.mjs","names":[],"sources":["../../src/actions/list-embedding-models.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const OpenrouterListEmbeddingModelsInput = 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 OpenrouterListEmbeddingModels_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}).passthrough();\nconst OpenrouterListEmbeddingModels_ArchitectureSchema = z.object({\n modality: z.string().describe(\"Model modality (e.g., 'text->text').\").nullable().optional(),\n tokenizer: z.string().describe(\"Tokenization method used.\").nullable(),\n instruct_type: z.string().describe(\"Instruction format 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 OpenrouterListEmbeddingModels_TopProviderSchema = z.object({\n is_moderated: z.boolean().describe(\"Indicates if the content is moderated.\").nullable(),\n context_length: z.number().int().describe(\"Maximum context window size in tokens for the top provider.\").nullable(),\n max_completion_tokens: z.number().int().describe(\"Maximum number of completion tokens.\").nullable().optional(),\n}).passthrough();\nconst OpenrouterListEmbeddingModels_EmbeddingModelInfoSchema = 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: OpenrouterListEmbeddingModels_PricingSchema.nullable(),\n description: z.string().describe(\"Detailed description of the model's capabilities.\").nullable().optional(),\n architecture: OpenrouterListEmbeddingModels_ArchitectureSchema.nullable(),\n top_provider: OpenrouterListEmbeddingModels_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(\"Expiration date of the model, 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 parameters for the model, or null if none.\").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 OpenrouterListEmbeddingModelsOutput = z.object({\n data: z.array(OpenrouterListEmbeddingModels_EmbeddingModelInfoSchema).describe(\"List of available embedding models.\"),\n}).passthrough();\n\nexport const openrouterListEmbeddingModels = action(\"OPENROUTER_LIST_EMBEDDING_MODELS\", {\n slug: \"openrouter-list-embedding-models\",\n name: \"List Embedding Models\",\n description: \"Tool to list all available embeddings models via OpenRouter API. Returns a list of embeddings models with their properties including architecture, pricing, and capabilities.\",\n input: OpenrouterListEmbeddingModelsInput,\n output: OpenrouterListEmbeddingModelsOutput,\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"list-embedding-models.mjs","names":[],"sources":["../../src/actions/list-embedding-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 OpenrouterListEmbeddingModelsInput = 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 OpenrouterListEmbeddingModels_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}).passthrough();\nconst OpenrouterListEmbeddingModels_ArchitectureSchema = z.object({\n modality: z.string().describe(\"Model modality (e.g., 'text->text').\").nullable().optional(),\n tokenizer: z.string().describe(\"Tokenization method used.\").nullable(),\n instruct_type: z.string().describe(\"Instruction format 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 OpenrouterListEmbeddingModels_TopProviderSchema = z.object({\n is_moderated: z.boolean().describe(\"Indicates if the content is moderated.\").nullable(),\n context_length: z.number().int().describe(\"Maximum context window size in tokens for the top provider.\").nullable(),\n max_completion_tokens: z.number().int().describe(\"Maximum number of completion tokens.\").nullable().optional(),\n}).passthrough();\nconst OpenrouterListEmbeddingModels_EmbeddingModelInfoSchema = 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: OpenrouterListEmbeddingModels_PricingSchema.nullable(),\n description: z.string().describe(\"Detailed description of the model's capabilities.\").nullable().optional(),\n architecture: OpenrouterListEmbeddingModels_ArchitectureSchema.nullable(),\n top_provider: OpenrouterListEmbeddingModels_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(\"Expiration date of the model, 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 parameters for the model, or null if none.\").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 OpenrouterListEmbeddingModelsOutput = z.object({\n data: z.array(OpenrouterListEmbeddingModels_EmbeddingModelInfoSchema).describe(\"List of available embedding models.\"),\n}).passthrough();\n\nexport const openrouterListEmbeddingModels: AppAction<\n typeof OpenrouterListEmbeddingModelsInput,\n typeof OpenrouterListEmbeddingModelsOutput,\n typeof openrouter.credential\n> = action(\"OPENROUTER_LIST_EMBEDDING_MODELS\", {\n slug: \"openrouter-list-embedding-models\",\n name: \"List Embedding Models\",\n description: \"Tool to list all available embeddings models via OpenRouter API. Returns a list of embeddings models with their properties including architecture, pricing, and capabilities.\",\n input: OpenrouterListEmbeddingModelsInput,\n output: OpenrouterListEmbeddingModelsOutput,\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-model-endpoints.ts
@@ -1 +1 @@
1
- {"version":3,"file":"list-model-endpoints.cjs","names":["z","action"],"sources":["../../src/actions/list-model-endpoints.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const OpenrouterListModelEndpointsInput = 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.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 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}).passthrough().describe(\"Pricing rates for different usage metrics.\");\nconst OpenrouterListModelEndpoints_EndpointInfoSchema = z.object({\n name: z.string().describe(\"Endpoint identifier.\").nullable(),\n pricing: OpenrouterListModelEndpoints_PricingSchema.nullable(),\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.\").nullable(),\n supported_parameters: z.array(z.string()).describe(\"List of supported parameter names for this endpoint.\"),\n}).passthrough().describe(\"Details for a single model endpoint.\");\nconst OpenrouterListModelEndpoints_ArchitectureSchema = z.object({\n tokenizer: z.string().describe(\"Tokenizer name used by the model.\").nullable(),\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}).passthrough().describe(\"Model architecture details.\");\nconst OpenrouterListModelEndpoints_OpenrouterListModelEndpointsDataSchema = z.object({\n id: z.string().describe(\"Unique model identifier.\").nullable(),\n name: z.string().describe(\"Human-readable model name.\").nullable(),\n created: z.number().describe(\"UNIX timestamp when model was created.\").nullable(),\n endpoints: z.array(OpenrouterListModelEndpoints_EndpointInfoSchema),\n description: z.string().describe(\"Model description.\").nullable().optional(),\n architecture: OpenrouterListModelEndpoints_ArchitectureSchema.nullable(),\n}).passthrough();\nexport const OpenrouterListModelEndpointsOutput = z.object({\n data: OpenrouterListModelEndpoints_OpenrouterListModelEndpointsDataSchema.nullable(),\n}).passthrough().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":"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"}
1
+ {"version":3,"file":"list-model-endpoints.cjs","names":["z","action"],"sources":["../../src/actions/list-model-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 OpenrouterListModelEndpointsInput = 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.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 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}).passthrough().describe(\"Pricing rates for different usage metrics.\");\nconst OpenrouterListModelEndpoints_EndpointInfoSchema = z.object({\n name: z.string().describe(\"Endpoint identifier.\").nullable(),\n pricing: OpenrouterListModelEndpoints_PricingSchema.nullable(),\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.\").nullable(),\n supported_parameters: z.array(z.string()).describe(\"List of supported parameter names for this endpoint.\"),\n}).passthrough().describe(\"Details for a single model endpoint.\");\nconst OpenrouterListModelEndpoints_ArchitectureSchema = z.object({\n tokenizer: z.string().describe(\"Tokenizer name used by the model.\").nullable(),\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}).passthrough().describe(\"Model architecture details.\");\nconst OpenrouterListModelEndpoints_OpenrouterListModelEndpointsDataSchema = z.object({\n id: z.string().describe(\"Unique model identifier.\").nullable(),\n name: z.string().describe(\"Human-readable model name.\").nullable(),\n created: z.number().describe(\"UNIX timestamp when model was created.\").nullable(),\n endpoints: z.array(OpenrouterListModelEndpoints_EndpointInfoSchema),\n description: z.string().describe(\"Model description.\").nullable().optional(),\n architecture: OpenrouterListModelEndpoints_ArchitectureSchema.nullable(),\n}).passthrough();\nexport const OpenrouterListModelEndpointsOutput = z.object({\n data: OpenrouterListModelEndpoints_OpenrouterListModelEndpointsDataSchema.nullable(),\n}).passthrough().describe(\"Response schema for listing model endpoints.\");\n\nexport const openrouterListModelEndpoints: AppAction<\n typeof OpenrouterListModelEndpointsInput,\n typeof OpenrouterListModelEndpointsOutput,\n typeof openrouter.credential\n> = 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":"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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-model-endpoints.d.ts
@@ -36,10 +38,7 @@ declare const OpenrouterListModelEndpointsOutput: z.ZodObject<{
36
38
  }, z.core.$loose>>;
37
39
  }, z.core.$loose>>;
38
40
  }, z.core.$loose>;
39
- declare const openrouterListModelEndpoints: import("@keystrokehq/action").WorkflowActionDefinition<{
40
- slug: string;
41
- author: string;
42
- }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
41
+ declare const openrouterListModelEndpoints: AppAction<typeof OpenrouterListModelEndpointsInput, typeof OpenrouterListModelEndpointsOutput, typeof openrouter.credential>;
43
42
  //#endregion
44
43
  export { openrouterListModelEndpoints };
45
44
  //# sourceMappingURL=list-model-endpoints.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-model-endpoints.d.cts","names":[],"sources":["../../src/actions/list-model-endpoints.ts"],"mappings":";;;cAIa,iCAAA,EAAiC,CAAA,CAAA,SAAA;;;;cAoCjC,kCAAA,EAAkC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAIlC,4BAAA,gCAA4B,wBAAA"}
1
+ {"version":3,"file":"list-model-endpoints.d.cts","names":[],"sources":["../../src/actions/list-model-endpoints.ts"],"mappings":";;;;;cAMa,iCAAA,EAAiC,CAAA,CAAA,SAAA;;;;cAoCjC,kCAAA,EAAkC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAIlC,4BAAA,EAA8B,SAAA,QAClC,iCAAA,SACA,kCAAA,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-model-endpoints.d.ts
@@ -36,10 +38,7 @@ declare const OpenrouterListModelEndpointsOutput: z.ZodObject<{
36
38
  }, z.core.$loose>>;
37
39
  }, z.core.$loose>>;
38
40
  }, z.core.$loose>;
39
- declare const openrouterListModelEndpoints: import("@keystrokehq/action").WorkflowActionDefinition<{
40
- slug: string;
41
- author: string;
42
- }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
41
+ declare const openrouterListModelEndpoints: AppAction<typeof OpenrouterListModelEndpointsInput, typeof OpenrouterListModelEndpointsOutput, typeof openrouter.credential>;
43
42
  //#endregion
44
43
  export { openrouterListModelEndpoints };
45
44
  //# sourceMappingURL=list-model-endpoints.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-model-endpoints.d.mts","names":[],"sources":["../../src/actions/list-model-endpoints.ts"],"mappings":";;;cAIa,iCAAA,EAAiC,CAAA,CAAA,SAAA;;;;cAoCjC,kCAAA,EAAkC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAIlC,4BAAA,gCAA4B,wBAAA"}
1
+ {"version":3,"file":"list-model-endpoints.d.mts","names":[],"sources":["../../src/actions/list-model-endpoints.ts"],"mappings":";;;;;cAMa,iCAAA,EAAiC,CAAA,CAAA,SAAA;;;;cAoCjC,kCAAA,EAAkC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAIlC,4BAAA,EAA8B,SAAA,QAClC,iCAAA,SACA,kCAAA,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-model-endpoints.ts
@@ -1 +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.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.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 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}).passthrough().describe(\"Pricing rates for different usage metrics.\");\nconst OpenrouterListModelEndpoints_EndpointInfoSchema = z.object({\n name: z.string().describe(\"Endpoint identifier.\").nullable(),\n pricing: OpenrouterListModelEndpoints_PricingSchema.nullable(),\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.\").nullable(),\n supported_parameters: z.array(z.string()).describe(\"List of supported parameter names for this endpoint.\"),\n}).passthrough().describe(\"Details for a single model endpoint.\");\nconst OpenrouterListModelEndpoints_ArchitectureSchema = z.object({\n tokenizer: z.string().describe(\"Tokenizer name used by the model.\").nullable(),\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}).passthrough().describe(\"Model architecture details.\");\nconst OpenrouterListModelEndpoints_OpenrouterListModelEndpointsDataSchema = z.object({\n id: z.string().describe(\"Unique model identifier.\").nullable(),\n name: z.string().describe(\"Human-readable model name.\").nullable(),\n created: z.number().describe(\"UNIX timestamp when model was created.\").nullable(),\n endpoints: z.array(OpenrouterListModelEndpoints_EndpointInfoSchema),\n description: z.string().describe(\"Model description.\").nullable().optional(),\n architecture: OpenrouterListModelEndpoints_ArchitectureSchema.nullable(),\n}).passthrough();\nexport const OpenrouterListModelEndpointsOutput = z.object({\n data: OpenrouterListModelEndpoints_OpenrouterListModelEndpointsDataSchema.nullable(),\n}).passthrough().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":"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"}
1
+ {"version":3,"file":"list-model-endpoints.mjs","names":[],"sources":["../../src/actions/list-model-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 OpenrouterListModelEndpointsInput = 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.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 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}).passthrough().describe(\"Pricing rates for different usage metrics.\");\nconst OpenrouterListModelEndpoints_EndpointInfoSchema = z.object({\n name: z.string().describe(\"Endpoint identifier.\").nullable(),\n pricing: OpenrouterListModelEndpoints_PricingSchema.nullable(),\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.\").nullable(),\n supported_parameters: z.array(z.string()).describe(\"List of supported parameter names for this endpoint.\"),\n}).passthrough().describe(\"Details for a single model endpoint.\");\nconst OpenrouterListModelEndpoints_ArchitectureSchema = z.object({\n tokenizer: z.string().describe(\"Tokenizer name used by the model.\").nullable(),\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}).passthrough().describe(\"Model architecture details.\");\nconst OpenrouterListModelEndpoints_OpenrouterListModelEndpointsDataSchema = z.object({\n id: z.string().describe(\"Unique model identifier.\").nullable(),\n name: z.string().describe(\"Human-readable model name.\").nullable(),\n created: z.number().describe(\"UNIX timestamp when model was created.\").nullable(),\n endpoints: z.array(OpenrouterListModelEndpoints_EndpointInfoSchema),\n description: z.string().describe(\"Model description.\").nullable().optional(),\n architecture: OpenrouterListModelEndpoints_ArchitectureSchema.nullable(),\n}).passthrough();\nexport const OpenrouterListModelEndpointsOutput = z.object({\n data: OpenrouterListModelEndpoints_OpenrouterListModelEndpointsDataSchema.nullable(),\n}).passthrough().describe(\"Response schema for listing model endpoints.\");\n\nexport const openrouterListModelEndpoints: AppAction<\n typeof OpenrouterListModelEndpointsInput,\n typeof OpenrouterListModelEndpointsOutput,\n typeof openrouter.credential\n> = 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":"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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-providers.ts
@@ -1 +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.object({}).describe(\"Empty request model for listing providers.\");\nconst OpenrouterListProviders_ProviderSchema = 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\").nullable(),\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.object({\n data: z.array(OpenrouterListProviders_ProviderSchema).describe(\"List of available AI model providers\"),\n}).passthrough().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,+BAA+BA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,4CAA4C;AAC9G,MAAM,yCAAyCA,IAAAA,EAAE,OAAO;CACtD,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,qCAAqC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACrF,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,0CAA0C,CAAC,CAAC,SAAS;CAC/E,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,gCAAgCA,IAAAA,EAAE,OAAO,EACpD,MAAMA,IAAAA,EAAE,MAAM,sCAAsC,CAAC,CAAC,SAAS,sCAAsC,EACvG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,sCAAsC;AAEhE,MAAa,0BAA0BC,eAAAA,OAAO,6BAA6B;CACzE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
1
+ {"version":3,"file":"list-providers.cjs","names":["z","action"],"sources":["../../src/actions/list-providers.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 OpenrouterListProvidersInput = z.object({}).describe(\"Empty request model for listing providers.\");\nconst OpenrouterListProviders_ProviderSchema = 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\").nullable(),\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.object({\n data: z.array(OpenrouterListProviders_ProviderSchema).describe(\"List of available AI model providers\"),\n}).passthrough().describe(\"Response model for provider listing.\");\n\nexport const openrouterListProviders: AppAction<\n typeof OpenrouterListProvidersInput,\n typeof OpenrouterListProvidersOutput,\n typeof openrouter.credential\n> = 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":";;;;AAMA,MAAa,+BAA+BA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,4CAA4C;AAC9G,MAAM,yCAAyCA,IAAAA,EAAE,OAAO;CACtD,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,qCAAqC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACrF,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,0CAA0C,CAAC,CAAC,SAAS;CAC/E,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,gCAAgCA,IAAAA,EAAE,OAAO,EACpD,MAAMA,IAAAA,EAAE,MAAM,sCAAsC,CAAC,CAAC,SAAS,sCAAsC,EACvG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,sCAAsC;AAEhE,MAAa,0BAITC,eAAAA,OAAO,6BAA6B;CACtC,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
@@ -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-providers.d.ts
@@ -9,7 +11,7 @@ declare const OpenrouterListProvidersOutput: z.ZodObject<{
9
11
  description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
10
12
  }, z.core.$loose>>;
11
13
  }, z.core.$loose>;
12
- declare const openrouterListProviders: import("@keystrokehq/action").WorkflowActionDefinition<Record<string, never>, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
14
+ declare const openrouterListProviders: AppAction<typeof OpenrouterListProvidersInput, typeof OpenrouterListProvidersOutput, typeof openrouter.credential>;
13
15
  //#endregion
14
16
  export { openrouterListProviders };
15
17
  //# sourceMappingURL=list-providers.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-providers.d.cts","names":[],"sources":["../../src/actions/list-providers.ts"],"mappings":";;;cAIa,4BAAA,EAA4B,CAAA,CAAA,SAAA,KAAA,CAAA,CAAA,IAAA,CAAA,MAAA;AAAA,cAM5B,6BAAA,EAA6B,CAAA,CAAA,SAAA;;;;;;;cAI7B,uBAAA,gCAAuB,wBAAA,CAAA,MAAA,wDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
1
+ {"version":3,"file":"list-providers.d.cts","names":[],"sources":["../../src/actions/list-providers.ts"],"mappings":";;;;;cAMa,4BAAA,EAA4B,CAAA,CAAA,SAAA,KAAA,CAAA,CAAA,IAAA,CAAA,MAAA;AAAA,cAM5B,6BAAA,EAA6B,CAAA,CAAA,SAAA;;;;;;;cAI7B,uBAAA,EAAyB,SAAA,QAC7B,4BAAA,SACA,6BAAA,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-providers.d.ts
@@ -9,7 +11,7 @@ declare const OpenrouterListProvidersOutput: z.ZodObject<{
9
11
  description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
10
12
  }, z.core.$loose>>;
11
13
  }, z.core.$loose>;
12
- declare const openrouterListProviders: import("@keystrokehq/action").WorkflowActionDefinition<Record<string, never>, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
14
+ declare const openrouterListProviders: AppAction<typeof OpenrouterListProvidersInput, typeof OpenrouterListProvidersOutput, typeof openrouter.credential>;
13
15
  //#endregion
14
16
  export { openrouterListProviders };
15
17
  //# sourceMappingURL=list-providers.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-providers.d.mts","names":[],"sources":["../../src/actions/list-providers.ts"],"mappings":";;;cAIa,4BAAA,EAA4B,CAAA,CAAA,SAAA,KAAA,CAAA,CAAA,IAAA,CAAA,MAAA;AAAA,cAM5B,6BAAA,EAA6B,CAAA,CAAA,SAAA;;;;;;;cAI7B,uBAAA,gCAAuB,wBAAA,CAAA,MAAA,wDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
1
+ {"version":3,"file":"list-providers.d.mts","names":[],"sources":["../../src/actions/list-providers.ts"],"mappings":";;;;;cAMa,4BAAA,EAA4B,CAAA,CAAA,SAAA,KAAA,CAAA,CAAA,IAAA,CAAA,MAAA;AAAA,cAM5B,6BAAA,EAA6B,CAAA,CAAA,SAAA;;;;;;;cAI7B,uBAAA,EAAyB,SAAA,QAC7B,4BAAA,SACA,6BAAA,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-providers.ts
@@ -1 +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.object({}).describe(\"Empty request model for listing providers.\");\nconst OpenrouterListProviders_ProviderSchema = 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\").nullable(),\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.object({\n data: z.array(OpenrouterListProviders_ProviderSchema).describe(\"List of available AI model providers\"),\n}).passthrough().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,+BAA+B,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,4CAA4C;AAC9G,MAAM,yCAAyC,EAAE,OAAO;CACtD,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,qCAAqC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACrF,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,0CAA0C,CAAC,CAAC,SAAS;CAC/E,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,QAT2C,EAAE,OAAO,EACpD,MAAM,EAAE,MAAM,sCAAsC,CAAC,CAAC,SAAS,sCAAsC,EACvG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,sCAOhB;AACV,CAAC"}
1
+ {"version":3,"file":"list-providers.mjs","names":[],"sources":["../../src/actions/list-providers.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 OpenrouterListProvidersInput = z.object({}).describe(\"Empty request model for listing providers.\");\nconst OpenrouterListProviders_ProviderSchema = 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\").nullable(),\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.object({\n data: z.array(OpenrouterListProviders_ProviderSchema).describe(\"List of available AI model providers\"),\n}).passthrough().describe(\"Response model for provider listing.\");\n\nexport const openrouterListProviders: AppAction<\n typeof OpenrouterListProvidersInput,\n typeof OpenrouterListProvidersOutput,\n typeof openrouter.credential\n> = 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":";;;;AAMA,MAAa,+BAA+B,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,4CAA4C;AAC9G,MAAM,yCAAyC,EAAE,OAAO;CACtD,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,qCAAqC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACrF,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,0CAA0C,CAAC,CAAC,SAAS;CAC/E,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,2CAA2C,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AACpG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,6DAA6D;AAKvF,MAAa,0BAIT,OAAO,6BAA6B;CACtC,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAb2C,EAAE,OAAO,EACpD,MAAM,EAAE,MAAM,sCAAsC,CAAC,CAAC,SAAS,sCAAsC,EACvG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,sCAWhB;AACV,CAAC"}
@@ -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":";;;AAIA,MAAa,gCAAgCA,IAAAA,EAAE,OAAO;CACpD,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,8FAA8F,CAAC,CAAC,SAAS;CACtI,cAAcA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,kJAAkJ,CAAC,CAAC,SAAS;AACjM,CAAC;AACD,MAAM,yCAAyCA,IAAAA,EAAE,OAAO;CACtD,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,kBAAkB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACnE,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,yBAAyB,CAAC,CAAC,SAAS;CAChE,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oBAAoB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACvE,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,6BAA6B,CAAC,CAAC,SAAS;CACxE,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,uBAAuB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC7E,kBAAkBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,6BAA6B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACzF,mBAAmBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,8BAA8B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC3F,oBAAoBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,+BAA+B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AAC/F,CAAC,CAAC,CAAC,YAAY;AACf,MAAM,8CAA8CA,IAAAA,EAAE,OAAO;CAC3D,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,gDAAgD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACpG,WAAWA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,2BAA2B,CAAC,CAAC,SAAS;CACrE,eAAeA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,0CAA0C,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACnG,kBAAkBA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,gDAAgD;CAC/F,mBAAmBA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,wCAAwC;AAC1F,CAAC,CAAC,CAAC,YAAY;AACf,MAAM,6CAA6CA,IAAAA,EAAE,OAAO;CAC1D,cAAcA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,wCAAwC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACjG,gBAAgBA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,4CAA4C,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC5G,uBAAuBA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,gDAAgD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AACzH,CAAC,CAAC,CAAC,YAAY;AACf,MAAM,2CAA2CA,IAAAA,EAAE,OAAO;CACxD,IAAIA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,0BAA0B,CAAC,CAAC,SAAS;CAC7D,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,4CAA4C,CAAC,CAAC,SAAS;CACjF,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,0CAA0C,CAAC,CAAC,SAAS;CAClF,SAAS,uCAAuC,SAAS;CACzD,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,mDAAmD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC1G,cAAc,4CAA4C,SAAS;CACnE,cAAc,2CAA2C,SAAS;CAClE,gBAAgBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,2CAA2C,CAAC,CAAC,SAAS;CAC1F,gBAAgBA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,wCAAwC,CAAC,CAAC,SAAS;CAC7F,iBAAiBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oDAAoD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC/G,iBAAiBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,2CAA2C,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACtG,oBAAoBA,IAAAA,EAAE,OAAOA,IAAAA,EAAE,OAAO,GAAGA,IAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,kDAAkD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACvI,oBAAoBA,IAAAA,EAAE,OAAOA,IAAAA,EAAE,OAAO,GAAGA,IAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,wFAAwF,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC7K,sBAAsBA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,0CAA0C;AAC/F,CAAC,CAAC,CAAC,YAAY;AACf,MAAa,iCAAiCA,IAAAA,EAAE,OAAO,EACrD,MAAMA,IAAAA,EAAE,MAAM,wCAAwC,CAAC,CAAC,SAAS,yFAAyF,EAC5J,CAAC,CAAC,CAAC,YAAY;AAEf,MAAa,2BAA2BC,eAAAA,OAAO,+BAA+B;CAC5E,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
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,10 +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]>, readonly [import("@keystrokehq/shared").Credential]>;
47
+ declare const openrouterListUserModels: AppAction<typeof OpenrouterListUserModelsInput, typeof OpenrouterListUserModelsOutput, typeof openrouter.credential>;
49
48
  //#endregion
50
49
  export { openrouterListUserModels };
51
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,10 +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]>, readonly [import("@keystrokehq/shared").Credential]>;
47
+ declare const openrouterListUserModels: AppAction<typeof OpenrouterListUserModelsInput, typeof OpenrouterListUserModelsOutput, typeof openrouter.credential>;
49
48
  //#endregion
50
49
  export { openrouterListUserModels };
51
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":"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"}
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