@doist/automations-cli 1.14.1 → 1.14.3

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.
package/dist/index.js CHANGED
@@ -15,7 +15,7 @@ import { fileURLToPath } from "node:url";
15
15
  // package.json
16
16
  var package_default = {
17
17
  name: "@doist/automations-cli",
18
- version: "1.14.1",
18
+ version: "1.14.3",
19
19
  description: "Command-line client for Todoist Automations",
20
20
  type: "module",
21
21
  bin: {
@@ -60,16 +60,16 @@ var package_default = {
60
60
  },
61
61
  dependencies: {
62
62
  "@doist/cli-core": "1.6.0",
63
- "@napi-rs/keyring": "2.0.0",
63
+ "@napi-rs/keyring": "2.1.0",
64
64
  ai: "7.0.77",
65
65
  commander: "15.0.0",
66
66
  oauth4webapi: "3.8.8",
67
- open: "11.0.3"
67
+ open: "11.0.4"
68
68
  },
69
69
  devDependencies: {
70
70
  "@doist/automations-core": "*",
71
71
  "@doist/automations-sdk": "*",
72
- "@types/node": "24.13.4",
72
+ "@types/node": "24.13.5",
73
73
  "conventional-changelog-conventionalcommits": "9.3.1",
74
74
  esbuild: "0.28.2",
75
75
  "semantic-release": "25.0.9",
@@ -226,6 +226,81 @@ var WEBHOOK_SIGNATURE_TOLERANCE_SECONDS = 5 * 60;
226
226
  var WEBHOOK_SUBSCRIPTION_STATUSES = ["active", "paused", "error"];
227
227
  var PROVIDER_TYPES = ["direct", "pubsub", "app-level"];
228
228
 
229
+ // ../../packages/core/dist/esm/models.js
230
+ var MODEL_CATALOG = {
231
+ "gemini-2.5-flash-lite": {
232
+ provider: "gemini",
233
+ family: "2.5",
234
+ providerModelId: "gemini-2.5-flash-lite"
235
+ },
236
+ "gemini-2.5-flash": {
237
+ provider: "gemini",
238
+ family: "2.5",
239
+ providerModelId: "gemini-2.5-flash"
240
+ },
241
+ "gemini-3.1-pro": {
242
+ provider: "gemini",
243
+ family: "3",
244
+ providerModelId: "gemini-3.1-pro-preview"
245
+ },
246
+ "gemini-3.8-flash": {
247
+ provider: "gemini",
248
+ family: "3",
249
+ providerModelId: "gemini-3.8-flash"
250
+ },
251
+ "claude-opus-4-6": {
252
+ provider: "anthropic",
253
+ family: "4.6",
254
+ providerModelId: "claude-opus-4-6"
255
+ },
256
+ "claude-sonnet-5": {
257
+ provider: "anthropic",
258
+ family: "5",
259
+ providerModelId: "claude-sonnet-5"
260
+ },
261
+ "claude-sonnet-4-6": {
262
+ provider: "anthropic",
263
+ family: "4.6",
264
+ providerModelId: "claude-sonnet-4-6"
265
+ },
266
+ "claude-haiku-4-5": {
267
+ provider: "anthropic",
268
+ family: "4.5",
269
+ providerModelId: "claude-haiku-4-5"
270
+ },
271
+ "deepseek-v4-flash": {
272
+ provider: "openrouter",
273
+ family: "deepseek",
274
+ providerModelId: "deepseek/deepseek-v4-flash-0731"
275
+ },
276
+ "deepseek-v4-pro": {
277
+ provider: "openrouter",
278
+ family: "deepseek",
279
+ providerModelId: "deepseek/deepseek-v4-pro"
280
+ },
281
+ "mimo-v2.5": {
282
+ provider: "openrouter",
283
+ family: "mimo",
284
+ providerModelId: "xiaomi/mimo-v2.5"
285
+ },
286
+ "mimo-v2.5-pro": {
287
+ provider: "openrouter",
288
+ family: "mimo",
289
+ providerModelId: "xiaomi/mimo-v2.5-pro"
290
+ },
291
+ "glm-5.2": {
292
+ provider: "openrouter",
293
+ family: "glm",
294
+ providerModelId: "z-ai/glm-5.2"
295
+ }
296
+ };
297
+ var SUPPORTED_LLM_MODELS = Object.keys(MODEL_CATALOG);
298
+ var SUPPORTED_SEARCH_MODELS = SUPPORTED_LLM_MODELS.filter(supportsWebSearch);
299
+ function supportsWebSearch(modelId) {
300
+ const { provider } = MODEL_CATALOG[modelId];
301
+ return provider === "gemini" || provider === "anthropic";
302
+ }
303
+
229
304
  // ../../node_modules/zod/v4/classic/external.js
230
305
  var external_exports = {};
231
306
  __export(external_exports, {
@@ -20927,21 +21002,16 @@ var baseStepSchema = external_exports.object({
20927
21002
  description: "Overrides the global execution policy (timeout and retries) for this step."
20928
21003
  })
20929
21004
  });
20930
- var SUPPORTED_LLM_MODELS = [
20931
- "gemini-2.5-flash-lite",
20932
- "gemini-2.5-flash",
20933
- "gemini-3.1-pro",
20934
- "claude-haiku-4-5",
20935
- "claude-sonnet-4-6"
20936
- ];
20937
- var DEFAULT_LLM_MODEL = "claude-haiku-4-5";
21005
+ var MODEL_TIERS = ["lite", "flash", "pro"];
21006
+ var SUPPORTED_MODEL_REFERENCES = [...MODEL_TIERS, ...SUPPORTED_LLM_MODELS];
21007
+ var modelReferenceSchema = external_exports.enum(SUPPORTED_MODEL_REFERENCES).meta({
21008
+ description: "A stable model tier (lite, flash, pro) or a supported literal model override."
21009
+ });
20938
21010
  var llmStepSchema = baseStepSchema.merge(external_exports.object({
20939
21011
  type: external_exports.literal("llm"),
20940
21012
  prompt: external_exports.string().meta({ description: "The prompt template to be sent to the LLM." }),
20941
21013
  outputSchema: stepOutputSchema,
20942
- model: external_exports.enum(SUPPORTED_LLM_MODELS).meta({
20943
- description: `The specific model to use. Supported models: ${SUPPORTED_LLM_MODELS.join(", ")}.`
20944
- }),
21014
+ model: modelReferenceSchema,
20945
21015
  tools: external_exports.record(external_exports.string(), external_exports.array(external_exports.string())).default({}).meta({
20946
21016
  description: 'A mapping from MCP server connector IDs to arrays of their tool names (e.g., {"todoist": ["find-tasks-by-date"], "linear": ["create-issue"]}).'
20947
21017
  })
@@ -20952,9 +21022,7 @@ var codegenStepSchema = baseStepSchema.merge(external_exports.object({
20952
21022
  description: "The goal or instruction for what the generated code should accomplish."
20953
21023
  }),
20954
21024
  outputSchema: stepOutputSchema,
20955
- model: external_exports.enum(SUPPORTED_LLM_MODELS).meta({
20956
- description: `The specific model to use for code generation. Supported models: ${SUPPORTED_LLM_MODELS.join(", ")}.`
20957
- }),
21025
+ model: modelReferenceSchema,
20958
21026
  tools: external_exports.record(external_exports.string(), external_exports.array(external_exports.string())).default({}).meta({
20959
21027
  description: 'A mapping from MCP server connector IDs to arrays of their tool names that will be available in the generated code (e.g., {"todoist": ["find-tasks", "update-tasks"]}).'
20960
21028
  }),
@@ -20991,8 +21059,8 @@ var searchStepSchema = baseStepSchema.merge(external_exports.object({
20991
21059
  description: "The search prompt to execute using web search."
20992
21060
  }),
20993
21061
  outputSchema: searchStepOutputSchema,
20994
- model: external_exports.enum(SUPPORTED_LLM_MODELS).optional().meta({
20995
- description: `The specific model to use for processing search results. Defaults to ${DEFAULT_LLM_MODEL}.`
21062
+ model: external_exports.enum([...MODEL_TIERS, ...SUPPORTED_SEARCH_MODELS]).optional().meta({
21063
+ description: "A stable tier (lite, flash, pro) or a supported search-enabled literal model override."
20996
21064
  })
20997
21065
  }));
20998
21066
  var delayStepOutputSchema = external_exports.object({
@@ -22855,17 +22923,18 @@ var AuthorizeUsageRequestSchema = external_exports.object({
22855
22923
  category: external_exports.string().min(1).max(CATEGORY_MAX_LENGTH)
22856
22924
  });
22857
22925
  var UsageBillingUnitsSchema = external_exports.number().int().nonnegative();
22926
+ var UsageBillingBalanceSchema = external_exports.number().int();
22858
22927
  var RecordUsageRefsSchema = external_exports.record(external_exports.string().max(40), external_exports.string().max(500)).refine((refs) => Object.keys(refs).length <= 50);
22859
22928
  var AuthorizeUsageResponseSchema = external_exports.discriminatedUnion("decision", [
22860
22929
  external_exports.object({
22861
22930
  decision: external_exports.literal("allowed"),
22862
22931
  reservation_id: external_exports.string().min(1),
22863
- available_units: UsageBillingUnitsSchema
22932
+ available_units: UsageBillingBalanceSchema
22864
22933
  }),
22865
22934
  external_exports.object({
22866
22935
  decision: external_exports.literal("denied"),
22867
22936
  reason: external_exports.enum(["insufficient_credit", "no_billing_account"]),
22868
- available_units: UsageBillingUnitsSchema
22937
+ available_units: UsageBillingBalanceSchema
22869
22938
  })
22870
22939
  ]);
22871
22940
  var RecordUsageRequestSchema = external_exports.object({
@@ -22882,7 +22951,7 @@ var RecordUsageRequestSchema = external_exports.object({
22882
22951
  var RecordUsageResponseSchema = external_exports.object({
22883
22952
  recorded: external_exports.boolean(),
22884
22953
  charged_units: UsageBillingUnitsSchema,
22885
- available_units: UsageBillingUnitsSchema
22954
+ available_units: UsageBillingBalanceSchema
22886
22955
  });
22887
22956
  var TOP_UP_USD_MIN_AMOUNT = 500;
22888
22957
  var TopUpCurrencySchema = external_exports.preprocess((value) => typeof value === "string" ? value.toLowerCase() : value, external_exports.literal("usd"));
@@ -22904,8 +22973,8 @@ var BillingPortalUrlResponseSchema = external_exports.object({
22904
22973
  billing_portal_url: external_exports.url()
22905
22974
  });
22906
22975
  var ReadStateResponseSchema = external_exports.object({
22907
- available_units: external_exports.number().int(),
22908
- available_amount: external_exports.number().int(),
22976
+ available_units: UsageBillingBalanceSchema,
22977
+ available_amount: UsageBillingBalanceSchema,
22909
22978
  currency: external_exports.string(),
22910
22979
  usage_allowed: external_exports.boolean(),
22911
22980
  low_balance: external_exports.boolean(),