windmill-cli 1.625.0 → 1.628.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/esm/gen/core/OpenAPI.js +1 -1
  2. package/esm/src/commands/app/generate_agents.js +3 -1
  3. package/esm/src/commands/app/new.js +2 -0
  4. package/esm/src/commands/init/init.js +60 -21
  5. package/esm/src/commands/sync/sync.js +19 -236
  6. package/esm/src/guidance/core.js +57 -0
  7. package/esm/src/guidance/skills.js +5742 -0
  8. package/esm/src/main.js +1 -1
  9. package/esm/windmill-utils-internal/src/path-utils/path-assigner.js +2 -0
  10. package/package.json +1 -1
  11. package/types/gen/types.gen.d.ts +1091 -90
  12. package/types/gen/types.gen.d.ts.map +1 -1
  13. package/types/src/commands/app/generate_agents.d.ts.map +1 -1
  14. package/types/src/commands/app/new.d.ts.map +1 -1
  15. package/types/src/commands/init/init.d.ts.map +1 -1
  16. package/types/src/commands/sync/sync.d.ts +3 -2
  17. package/types/src/commands/sync/sync.d.ts.map +1 -1
  18. package/types/src/guidance/core.d.ts +13 -0
  19. package/types/src/guidance/core.d.ts.map +1 -0
  20. package/types/src/guidance/skills.d.ts +15 -0
  21. package/types/src/guidance/skills.d.ts.map +1 -0
  22. package/types/src/main.d.ts +1 -1
  23. package/types/windmill-utils-internal/src/gen/types.gen.d.ts +1091 -90
  24. package/types/windmill-utils-internal/src/gen/types.gen.d.ts.map +1 -1
  25. package/types/windmill-utils-internal/src/path-utils/path-assigner.d.ts.map +1 -1
  26. package/esm/src/guidance/flow_guidance.js +0 -15
  27. package/esm/src/guidance/prompts.js +0 -2620
  28. package/esm/src/guidance/script_guidance.js +0 -13
  29. package/types/src/guidance/flow_guidance.d.ts +0 -2
  30. package/types/src/guidance/flow_guidance.d.ts.map +0 -1
  31. package/types/src/guidance/prompts.d.ts +0 -4
  32. package/types/src/guidance/prompts.d.ts.map +0 -1
  33. package/types/src/guidance/script_guidance.d.ts +0 -2
  34. package/types/src/guidance/script_guidance.d.ts.map +0 -1
@@ -287,10 +287,7 @@ export type FlowModule = {
287
287
  /**
288
288
  * Maps input parameters for a step. Can be a static value or a JavaScript expression that references previous results or flow inputs
289
289
  */
290
- export type InputTransform = StaticTransform | JavascriptTransform | {
291
- type: 'ai';
292
- };
293
- export type type = 'ai';
290
+ export type InputTransform = StaticTransform | JavascriptTransform | AiTransform;
294
291
  /**
295
292
  * Static value passed directly to the step. Use for hardcoded values or resource references like '$res:path/to/resource'
296
293
  */
@@ -311,6 +308,56 @@ export type JavascriptTransform = {
311
308
  expr: string;
312
309
  type: 'javascript';
313
310
  };
311
+ /**
312
+ * Value resolved by the AI runtime for this input. The AI engine decides how to satisfy the parameter.
313
+ */
314
+ export type AiTransform = {
315
+ type: 'ai';
316
+ };
317
+ /**
318
+ * Complete AI provider configuration with resource reference and model selection
319
+ */
320
+ export type ProviderConfig = {
321
+ /**
322
+ * Supported AI provider types
323
+ */
324
+ kind: 'openai' | 'azure_openai' | 'anthropic' | 'mistral' | 'deepseek' | 'googleai' | 'groq' | 'openrouter' | 'togetherai' | 'customai' | 'aws_bedrock';
325
+ /**
326
+ * Resource reference in format '$res:{resource_path}' pointing to provider credentials
327
+ */
328
+ resource: string;
329
+ /**
330
+ * Model identifier (e.g., 'gpt-4', 'claude-3-opus-20240229', 'gemini-pro')
331
+ */
332
+ model: string;
333
+ };
334
+ /**
335
+ * Supported AI provider types
336
+ */
337
+ export type kind = 'openai' | 'azure_openai' | 'anthropic' | 'mistral' | 'deepseek' | 'googleai' | 'groq' | 'openrouter' | 'togetherai' | 'customai' | 'aws_bedrock';
338
+ /**
339
+ * Conversation memory configuration
340
+ */
341
+ export type MemoryConfig = {
342
+ kind: 'off';
343
+ } | {
344
+ kind: 'auto';
345
+ /**
346
+ * Maximum number of messages to retain in context
347
+ */
348
+ context_length?: number;
349
+ /**
350
+ * Identifier for persistent memory across agent invocations
351
+ */
352
+ memory_id?: string;
353
+ } | {
354
+ kind: 'manual';
355
+ messages: Array<{
356
+ role: 'user' | 'assistant' | 'system';
357
+ content: string;
358
+ }>;
359
+ };
360
+ export type kind2 = 'off';
314
361
  /**
315
362
  * The actual implementation of a flow step. Can be a script (inline or referenced), subflow, loop, branch, or special module type
316
363
  */
@@ -332,7 +379,7 @@ export type RawScript = {
332
379
  /**
333
380
  * Programming language for this script
334
381
  */
335
- language: 'deno' | 'bun' | 'python3' | 'go' | 'bash' | 'powershell' | 'postgresql' | 'mysql' | 'bigquery' | 'snowflake' | 'mssql' | 'oracledb' | 'graphql' | 'nativets' | 'php';
382
+ language: 'deno' | 'bun' | 'python3' | 'go' | 'bash' | 'powershell' | 'postgresql' | 'mysql' | 'bigquery' | 'snowflake' | 'mssql' | 'oracledb' | 'graphql' | 'nativets' | 'php' | 'rust' | 'ansible' | 'csharp' | 'nu' | 'java' | 'ruby' | 'duckdb';
336
383
  /**
337
384
  * Optional path for saving this script
338
385
  */
@@ -377,17 +424,17 @@ export type RawScript = {
377
424
  /**
378
425
  * Access level for this asset
379
426
  */
380
- access_type?: 'r' | 'w' | 'rw';
427
+ access_type?: ('r' | 'w' | 'rw') | null;
381
428
  /**
382
429
  * Alternative access level
383
430
  */
384
- alt_access_type?: 'r' | 'w' | 'rw';
431
+ alt_access_type?: ('r' | 'w' | 'rw') | null;
385
432
  }>;
386
433
  };
387
434
  /**
388
435
  * Programming language for this script
389
436
  */
390
- export type language = 'deno' | 'bun' | 'python3' | 'go' | 'bash' | 'powershell' | 'postgresql' | 'mysql' | 'bigquery' | 'snowflake' | 'mssql' | 'oracledb' | 'graphql' | 'nativets' | 'php';
437
+ export type language = 'deno' | 'bun' | 'python3' | 'go' | 'bash' | 'powershell' | 'postgresql' | 'mysql' | 'bigquery' | 'snowflake' | 'mssql' | 'oracledb' | 'graphql' | 'nativets' | 'php' | 'rust' | 'ansible' | 'csharp' | 'nu' | 'java' | 'ruby' | 'duckdb';
391
438
  /**
392
439
  * Reference to an existing script by path. Use this when calling a previously saved script instead of writing inline code
393
440
  */
@@ -544,16 +591,69 @@ export type AiAgent = {
544
591
  * Input parameters for the AI agent mapped to their values
545
592
  */
546
593
  input_transforms: {
547
- provider: InputTransform;
548
- output_type: InputTransform;
549
- user_message: InputTransform;
550
- system_prompt?: InputTransform;
551
- streaming?: InputTransform;
552
- memory?: InputTransform;
553
- output_schema?: InputTransform;
554
- user_images?: InputTransform;
555
- max_completion_tokens?: InputTransform;
556
- temperature?: InputTransform;
594
+ /**
595
+ * Provider configuration - can be static (ProviderConfig), JavaScript expression, or AI-determined
596
+ */
597
+ provider: ({
598
+ value: ProviderConfig;
599
+ type: 'static';
600
+ } | JavascriptTransform | AiTransform);
601
+ /**
602
+ * Output format type.
603
+ * Valid values: 'text' (default) - plain text response, 'image' - image generation
604
+ *
605
+ */
606
+ output_type: (InputTransform);
607
+ /**
608
+ * The user's prompt/message to the AI agent. Supports variable interpolation with flow.input syntax.
609
+ */
610
+ user_message: (InputTransform);
611
+ /**
612
+ * System instructions that guide the AI's behavior, persona, and response style. Optional.
613
+ */
614
+ system_prompt?: (InputTransform);
615
+ /**
616
+ * Boolean. If true, stream the AI response incrementally.
617
+ * Streaming events include: token_delta, tool_call, tool_call_arguments, tool_execution, tool_result
618
+ *
619
+ */
620
+ streaming?: (InputTransform);
621
+ /**
622
+ * Memory configuration - can be static (MemoryConfig), JavaScript expression, or AI-determined
623
+ */
624
+ memory?: ({
625
+ value: MemoryConfig;
626
+ type: 'static';
627
+ } | JavascriptTransform | AiTransform);
628
+ /**
629
+ * JSON Schema object defining structured output format. Used when you need the AI to return data in a specific shape.
630
+ * Supports standard JSON Schema properties: type, properties, required, items, enum, pattern, minLength, maxLength, minimum, maximum, etc.
631
+ * Example: { type: 'object', properties: { name: { type: 'string' }, age: { type: 'integer' } }, required: ['name'] }
632
+ *
633
+ */
634
+ output_schema?: (InputTransform);
635
+ /**
636
+ * Array of image references for vision-capable models.
637
+ * Format: Array<{ bucket: string, key: string }> - S3 object references
638
+ * Example: [{ bucket: 'my-bucket', key: 'images/photo.jpg' }]
639
+ *
640
+ */
641
+ user_images?: (InputTransform);
642
+ /**
643
+ * Integer. Maximum number of tokens the AI will generate in its response.
644
+ * Range: 1 to 4,294,967,295. Typical values: 256-4096 for most use cases.
645
+ *
646
+ */
647
+ max_completion_tokens?: (InputTransform);
648
+ /**
649
+ * Float. Controls randomness/creativity of responses.
650
+ * Range: 0.0 to 2.0 (provider-dependent)
651
+ * - 0.0 = deterministic, focused responses
652
+ * - 0.7 = balanced (common default)
653
+ * - 1.0+ = more creative/random
654
+ *
655
+ */
656
+ temperature?: (InputTransform);
557
657
  };
558
658
  /**
559
659
  * Array of tools the agent can use. The agent decides which tools to call based on the task
@@ -596,6 +696,7 @@ export type AiAgent = {
596
696
  */
597
697
  parallel?: boolean;
598
698
  };
699
+ export type type = 'static';
599
700
  /**
600
701
  * Pass-through module that returns its input unchanged. Useful for flow structure or as a placeholder
601
702
  */
@@ -1096,7 +1197,7 @@ export type Script = {
1096
1197
  has_preprocessor: boolean;
1097
1198
  on_behalf_of_email?: string;
1098
1199
  };
1099
- export type kind = 'script' | 'failure' | 'trigger' | 'command' | 'approval' | 'preprocessor';
1200
+ export type kind3 = 'script' | 'failure' | 'trigger' | 'command' | 'approval' | 'preprocessor';
1100
1201
  export type NewScript = {
1101
1202
  path: string;
1102
1203
  parent_hash?: string;
@@ -1609,7 +1710,7 @@ export type MainArgSignature = {
1609
1710
  has_preprocessor: (boolean) | null;
1610
1711
  };
1611
1712
  export type type5 = 'Valid' | 'Invalid';
1612
- export type ScriptLang = 'python3' | 'deno' | 'go' | 'bash' | 'powershell' | 'postgresql' | 'mysql' | 'bigquery' | 'snowflake' | 'mssql' | 'oracledb' | 'graphql' | 'nativets' | 'bun' | 'php' | 'rust' | 'ansible' | 'csharp' | 'nu' | 'java' | 'ruby' | 'duckdb';
1713
+ export type ScriptLang = 'python3' | 'deno' | 'go' | 'bash' | 'powershell' | 'postgresql' | 'mysql' | 'bigquery' | 'snowflake' | 'mssql' | 'oracledb' | 'graphql' | 'nativets' | 'bun' | 'php' | 'rust' | 'ansible' | 'csharp' | 'nu' | 'java' | 'ruby' | 'duckdb' | 'bunnative';
1613
1714
  export type Preview = {
1614
1715
  /**
1615
1716
  * The code to run
@@ -1630,7 +1731,7 @@ export type Preview = {
1630
1731
  dedicated_worker?: boolean;
1631
1732
  lock?: string;
1632
1733
  };
1633
- export type kind2 = 'code' | 'identity' | 'http';
1734
+ export type kind4 = 'code' | 'identity' | 'http';
1634
1735
  export type PreviewInline = {
1635
1736
  /**
1636
1737
  * The code to run
@@ -1726,39 +1827,111 @@ export type EditResourceType = {
1726
1827
  description?: string;
1727
1828
  };
1728
1829
  export type Schedule = {
1830
+ /**
1831
+ * The unique path identifier for this schedule
1832
+ */
1729
1833
  path: string;
1834
+ /**
1835
+ * Username of the last person who edited this schedule
1836
+ */
1730
1837
  edited_by: string;
1838
+ /**
1839
+ * Timestamp of the last edit
1840
+ */
1731
1841
  edited_at: string;
1842
+ /**
1843
+ * Cron expression with 6 fields (seconds, minutes, hours, day of month, month, day of week). Example '0 0 12 * * *' for daily at noon
1844
+ */
1732
1845
  schedule: string;
1846
+ /**
1847
+ * IANA timezone for the schedule (e.g., 'UTC', 'Europe/Paris', 'America/New_York')
1848
+ */
1733
1849
  timezone: string;
1850
+ /**
1851
+ * Whether the schedule is currently active and will trigger jobs
1852
+ */
1734
1853
  enabled: boolean;
1854
+ /**
1855
+ * Path to the script or flow to execute when triggered
1856
+ */
1735
1857
  script_path: string;
1858
+ /**
1859
+ * True if script_path points to a flow, false if it points to a script
1860
+ */
1736
1861
  is_flow: boolean;
1737
1862
  args?: ScriptArgs;
1863
+ /**
1864
+ * Additional permissions for this schedule
1865
+ */
1738
1866
  extra_perms: {
1739
1867
  [key: string]: (boolean);
1740
1868
  };
1869
+ /**
1870
+ * Email of the user who owns this schedule, used for permissioned_as
1871
+ */
1741
1872
  email: string;
1873
+ /**
1874
+ * Last error message if the schedule failed to trigger
1875
+ */
1742
1876
  error?: string;
1877
+ /**
1878
+ * Path to a script or flow to run when the scheduled job fails
1879
+ */
1743
1880
  on_failure?: string;
1881
+ /**
1882
+ * Number of consecutive failures before the on_failure handler is triggered (default 1)
1883
+ */
1744
1884
  on_failure_times?: number;
1885
+ /**
1886
+ * If true, trigger on_failure handler only on exactly N failures, not on every failure after N
1887
+ */
1745
1888
  on_failure_exact?: boolean;
1746
1889
  on_failure_extra_args?: ScriptArgs;
1890
+ /**
1891
+ * Path to a script or flow to run when the schedule recovers after failures
1892
+ */
1747
1893
  on_recovery?: string;
1894
+ /**
1895
+ * Number of consecutive successes before the on_recovery handler is triggered (default 1)
1896
+ */
1748
1897
  on_recovery_times?: number;
1749
1898
  on_recovery_extra_args?: ScriptArgs;
1899
+ /**
1900
+ * Path to a script or flow to run after each successful execution
1901
+ */
1750
1902
  on_success?: string;
1751
1903
  on_success_extra_args?: ScriptArgs;
1904
+ /**
1905
+ * If true, the workspace-level error handler will not be triggered for this schedule's failures
1906
+ */
1752
1907
  ws_error_handler_muted?: boolean;
1753
1908
  retry?: Retry;
1909
+ /**
1910
+ * Short summary describing the purpose of this schedule
1911
+ */
1754
1912
  summary?: string;
1913
+ /**
1914
+ * Detailed description of what this schedule does
1915
+ */
1755
1916
  description?: string;
1917
+ /**
1918
+ * If true, skip this schedule's execution if the previous run is still in progress (prevents concurrent runs)
1919
+ */
1756
1920
  no_flow_overlap?: boolean;
1921
+ /**
1922
+ * Worker tag to route jobs to specific worker groups
1923
+ */
1757
1924
  tag?: string;
1925
+ /**
1926
+ * ISO 8601 datetime until which the schedule is paused. Schedule resumes automatically after this time
1927
+ */
1758
1928
  paused_until?: string;
1929
+ /**
1930
+ * Cron parser version. Use 'v2' for extended syntax with additional features
1931
+ */
1759
1932
  cron_version?: string;
1760
1933
  /**
1761
- * Path to a script that validates scheduled datetimes. Receives scheduled_for datetime and returns boolean.
1934
+ * Path to a script that validates scheduled datetimes. Receives scheduled_for datetime and returns boolean to skip (true) or run (false)
1762
1935
  */
1763
1936
  dynamic_skip?: string;
1764
1937
  };
@@ -1772,189 +1945,159 @@ export type ScheduleWJobs = Schedule & {
1772
1945
  export type ErrorHandler = 'custom' | 'slack' | 'teams' | 'email';
1773
1946
  export type NewSchedule = {
1774
1947
  /**
1775
- * The path where the schedule will be created
1948
+ * The unique path identifier for this schedule
1776
1949
  */
1777
1950
  path: string;
1778
1951
  /**
1779
- * The cron schedule to trigger the script or flow. Should include seconds.
1952
+ * Cron expression with 6 fields (seconds, minutes, hours, day of month, month, day of week). Example '0 0 12 * * *' for daily at noon
1780
1953
  */
1781
1954
  schedule: string;
1782
1955
  /**
1783
- * The timezone to use for the cron schedule
1956
+ * IANA timezone for the schedule (e.g., 'UTC', 'Europe/Paris', 'America/New_York')
1784
1957
  */
1785
1958
  timezone: string;
1786
1959
  /**
1787
- * The path to the script or flow to trigger
1960
+ * Path to the script or flow to execute when triggered
1788
1961
  */
1789
1962
  script_path: string;
1790
1963
  /**
1791
- * Whether the schedule is for a flow
1964
+ * True if script_path points to a flow, false if it points to a script
1792
1965
  */
1793
1966
  is_flow: boolean;
1794
- /**
1795
- * The arguments to pass to the script or flow
1796
- */
1797
1967
  args: ScriptArgs;
1798
1968
  /**
1799
- * Whether the schedule is enabled
1969
+ * Whether the schedule is currently active and will trigger jobs
1800
1970
  */
1801
1971
  enabled?: boolean;
1802
1972
  /**
1803
- * The path to the script or flow to trigger on failure
1973
+ * Path to a script or flow to run when the scheduled job fails
1804
1974
  */
1805
1975
  on_failure?: string;
1806
1976
  /**
1807
- * The number of times to retry on failure
1977
+ * Number of consecutive failures before the on_failure handler is triggered (default 1)
1808
1978
  */
1809
1979
  on_failure_times?: number;
1810
1980
  /**
1811
- * Whether the schedule should only run on the exact time
1981
+ * If true, trigger on_failure handler only on exactly N failures, not on every failure after N
1812
1982
  */
1813
1983
  on_failure_exact?: boolean;
1814
- /**
1815
- * The arguments to pass to the script or flow on failure
1816
- */
1817
1984
  on_failure_extra_args?: ScriptArgs;
1818
1985
  /**
1819
- * The path to the script or flow to trigger on recovery
1986
+ * Path to a script or flow to run when the schedule recovers after failures
1820
1987
  */
1821
1988
  on_recovery?: string;
1822
1989
  /**
1823
- * The number of times to retry on recovery
1990
+ * Number of consecutive successes before the on_recovery handler is triggered (default 1)
1824
1991
  */
1825
1992
  on_recovery_times?: number;
1826
- /**
1827
- * The arguments to pass to the script or flow on recovery
1828
- */
1829
1993
  on_recovery_extra_args?: ScriptArgs;
1830
1994
  /**
1831
- * The path to the script or flow to trigger on success
1995
+ * Path to a script or flow to run after each successful execution
1832
1996
  */
1833
1997
  on_success?: string;
1834
- /**
1835
- * The arguments to pass to the script or flow on success
1836
- */
1837
1998
  on_success_extra_args?: ScriptArgs;
1838
1999
  /**
1839
- * Whether the WebSocket error handler is muted
2000
+ * If true, the workspace-level error handler will not be triggered for this schedule's failures
1840
2001
  */
1841
2002
  ws_error_handler_muted?: boolean;
1842
- /**
1843
- * The retry configuration for the schedule
1844
- */
1845
2003
  retry?: Retry;
1846
2004
  /**
1847
- * Whether the schedule should not run if a flow is already running
2005
+ * If true, skip this schedule's execution if the previous run is still in progress (prevents concurrent runs)
1848
2006
  */
1849
2007
  no_flow_overlap?: boolean;
1850
2008
  /**
1851
- * The summary of the schedule
2009
+ * Short summary describing the purpose of this schedule
1852
2010
  */
1853
2011
  summary?: string;
1854
2012
  /**
1855
- * The description of the schedule
2013
+ * Detailed description of what this schedule does
1856
2014
  */
1857
2015
  description?: string;
1858
2016
  /**
1859
- * The tag of the schedule
2017
+ * Worker tag to route jobs to specific worker groups
1860
2018
  */
1861
2019
  tag?: string;
1862
2020
  /**
1863
- * The date and time the schedule will be paused until
2021
+ * ISO 8601 datetime until which the schedule is paused. Schedule resumes automatically after this time
1864
2022
  */
1865
2023
  paused_until?: string;
1866
2024
  /**
1867
- * The version of the cron schedule to use (last is v2)
2025
+ * Cron parser version. Use 'v2' for extended syntax with additional features
1868
2026
  */
1869
2027
  cron_version?: string;
1870
2028
  /**
1871
- * Path to a script that validates scheduled datetimes. Receives scheduled_for datetime and returns boolean.
2029
+ * Path to a script that validates scheduled datetimes. Receives scheduled_for datetime and returns boolean to skip (true) or run (false)
1872
2030
  */
1873
2031
  dynamic_skip?: string;
1874
2032
  };
1875
2033
  export type EditSchedule = {
1876
2034
  /**
1877
- * The cron schedule to trigger the script or flow. Should include seconds.
2035
+ * Cron expression with 6 fields (seconds, minutes, hours, day of month, month, day of week). Example '0 0 12 * * *' for daily at noon
1878
2036
  */
1879
2037
  schedule: string;
1880
2038
  /**
1881
- * The timezone to use for the cron schedule
2039
+ * IANA timezone for the schedule (e.g., 'UTC', 'Europe/Paris', 'America/New_York')
1882
2040
  */
1883
2041
  timezone: string;
1884
- /**
1885
- * The arguments to pass to the script or flow
1886
- */
1887
2042
  args: ScriptArgs;
1888
2043
  /**
1889
- * The path to the script or flow to trigger on failure
2044
+ * Path to a script or flow to run when the scheduled job fails
1890
2045
  */
1891
2046
  on_failure?: string;
1892
2047
  /**
1893
- * The number of times to retry on failure
2048
+ * Number of consecutive failures before the on_failure handler is triggered (default 1)
1894
2049
  */
1895
2050
  on_failure_times?: number;
1896
2051
  /**
1897
- * Whether the schedule should only run on the exact time
2052
+ * If true, trigger on_failure handler only on exactly N failures, not on every failure after N
1898
2053
  */
1899
2054
  on_failure_exact?: boolean;
1900
- /**
1901
- * The arguments to pass to the script or flow on failure
1902
- */
1903
2055
  on_failure_extra_args?: ScriptArgs;
1904
2056
  /**
1905
- * The path to the script or flow to trigger on recovery
2057
+ * Path to a script or flow to run when the schedule recovers after failures
1906
2058
  */
1907
2059
  on_recovery?: string;
1908
2060
  /**
1909
- * The number of times to retry on recovery
2061
+ * Number of consecutive successes before the on_recovery handler is triggered (default 1)
1910
2062
  */
1911
2063
  on_recovery_times?: number;
1912
- /**
1913
- * The arguments to pass to the script or flow on recovery
1914
- */
1915
2064
  on_recovery_extra_args?: ScriptArgs;
1916
2065
  /**
1917
- * The path to the script or flow to trigger on success
2066
+ * Path to a script or flow to run after each successful execution
1918
2067
  */
1919
2068
  on_success?: string;
1920
- /**
1921
- * The arguments to pass to the script or flow on success
1922
- */
1923
2069
  on_success_extra_args?: ScriptArgs;
1924
2070
  /**
1925
- * Whether the WebSocket error handler is muted
2071
+ * If true, the workspace-level error handler will not be triggered for this schedule's failures
1926
2072
  */
1927
2073
  ws_error_handler_muted?: boolean;
1928
- /**
1929
- * The retry configuration for the schedule
1930
- */
1931
2074
  retry?: Retry;
1932
2075
  /**
1933
- * Whether the schedule should not run if a flow is already running
2076
+ * If true, skip this schedule's execution if the previous run is still in progress (prevents concurrent runs)
1934
2077
  */
1935
2078
  no_flow_overlap?: boolean;
1936
2079
  /**
1937
- * The summary of the schedule
2080
+ * Short summary describing the purpose of this schedule
1938
2081
  */
1939
2082
  summary?: string;
1940
2083
  /**
1941
- * The description of the schedule
2084
+ * Detailed description of what this schedule does
1942
2085
  */
1943
2086
  description?: string;
1944
2087
  /**
1945
- * The tag of the schedule
2088
+ * Worker tag to route jobs to specific worker groups
1946
2089
  */
1947
2090
  tag?: string;
1948
2091
  /**
1949
- * The date and time the schedule will be paused until
2092
+ * ISO 8601 datetime until which the schedule is paused. Schedule resumes automatically after this time
1950
2093
  */
1951
2094
  paused_until?: string;
1952
2095
  /**
1953
- * The version of the cron schedule to use (last is v2)
2096
+ * Cron parser version. Use 'v2' for extended syntax with additional features
1954
2097
  */
1955
2098
  cron_version?: string;
1956
2099
  /**
1957
- * Path to a script that validates scheduled datetimes. Receives scheduled_for datetime and returns boolean.
2100
+ * Path to a script that validates scheduled datetimes. Receives scheduled_for datetime and returns boolean to skip (true) or run (false)
1958
2101
  */
1959
2102
  dynamic_skip?: string;
1960
2103
  };
@@ -1967,16 +2110,43 @@ export type JobTriggerKind = 'webhook' | 'default_email' | 'email' | 'schedule'
1967
2110
  */
1968
2111
  export type TriggerMode = 'enabled' | 'disabled' | 'suspended';
1969
2112
  export type TriggerExtraProperty = {
2113
+ /**
2114
+ * The unique path identifier for this trigger
2115
+ */
1970
2116
  path: string;
2117
+ /**
2118
+ * Path to the script or flow to execute when triggered
2119
+ */
1971
2120
  script_path: string;
2121
+ /**
2122
+ * Email of the user who owns this trigger, used for permissioned_as
2123
+ */
1972
2124
  email: string;
2125
+ /**
2126
+ * Additional permissions for this trigger
2127
+ */
1973
2128
  extra_perms: {
1974
2129
  [key: string]: (boolean);
1975
2130
  };
2131
+ /**
2132
+ * The workspace this trigger belongs to
2133
+ */
1976
2134
  workspace_id: string;
2135
+ /**
2136
+ * Username of the last person who edited this trigger
2137
+ */
1977
2138
  edited_by: string;
2139
+ /**
2140
+ * Timestamp of the last edit
2141
+ */
1978
2142
  edited_at: string;
2143
+ /**
2144
+ * True if script_path points to a flow, false if it points to a script
2145
+ */
1979
2146
  is_flow: boolean;
2147
+ /**
2148
+ * Trigger mode (enabled/disabled)
2149
+ */
1980
2150
  mode: TriggerMode;
1981
2151
  };
1982
2152
  export type AuthenticationMethod = 'none' | 'windmill' | 'api_key' | 'basic_http' | 'custom_script' | 'signature';
@@ -2020,82 +2190,262 @@ export type GenerateOpenapiSpec = {
2020
2190
  export type HttpMethod = 'get' | 'post' | 'put' | 'delete' | 'patch';
2021
2191
  export type HttpRequestType = 'sync' | 'async' | 'sync_sse';
2022
2192
  export type HttpTrigger = TriggerExtraProperty & {
2193
+ /**
2194
+ * The URL route path that will trigger this endpoint (e.g., 'api/myendpoint'). Must NOT start with a /.
2195
+ */
2023
2196
  route_path: string;
2197
+ /**
2198
+ * Configuration for serving static assets (s3 bucket, storage path, filename)
2199
+ */
2024
2200
  static_asset_config?: {
2201
+ /**
2202
+ * S3 bucket path for static assets
2203
+ */
2025
2204
  s3: string;
2205
+ /**
2206
+ * Storage path for static assets
2207
+ */
2026
2208
  storage?: string;
2209
+ /**
2210
+ * Filename for the static asset
2211
+ */
2027
2212
  filename?: string;
2028
2213
  };
2214
+ /**
2215
+ * HTTP method (get, post, put, delete, patch) that triggers this endpoint
2216
+ */
2029
2217
  http_method: HttpMethod;
2218
+ /**
2219
+ * Path to the resource containing authentication configuration (for api_key, basic_http, custom_script, signature methods)
2220
+ */
2030
2221
  authentication_resource_path?: string;
2222
+ /**
2223
+ * Short summary describing the purpose of this trigger
2224
+ */
2031
2225
  summary?: string;
2226
+ /**
2227
+ * Detailed description of what this trigger does
2228
+ */
2032
2229
  description?: string;
2230
+ /**
2231
+ * How the request is handled - 'sync' waits for result, 'async' returns job ID immediately, 'sync_sse' streams results via Server-Sent Events
2232
+ */
2033
2233
  request_type: HttpRequestType;
2234
+ /**
2235
+ * How requests are authenticated - 'none' (public), 'windmill' (Windmill token), 'api_key', 'basic_http', 'custom_script', 'signature'
2236
+ */
2034
2237
  authentication_method: AuthenticationMethod;
2238
+ /**
2239
+ * If true, serves static files from S3/storage instead of running a script
2240
+ */
2035
2241
  is_static_website: boolean;
2242
+ /**
2243
+ * If true, the route includes the workspace ID in the path
2244
+ */
2036
2245
  workspaced_route: boolean;
2246
+ /**
2247
+ * If true, wraps the request body in a 'body' parameter
2248
+ */
2037
2249
  wrap_body: boolean;
2250
+ /**
2251
+ * If true, passes the request body as a raw string instead of parsing as JSON
2252
+ */
2038
2253
  raw_string: boolean;
2254
+ /**
2255
+ * Path to a script or flow to run when the triggered job fails
2256
+ */
2039
2257
  error_handler_path?: string;
2258
+ /**
2259
+ * Arguments to pass to the error handler
2260
+ */
2040
2261
  error_handler_args?: ScriptArgs;
2262
+ /**
2263
+ * Retry configuration for failed executions
2264
+ */
2041
2265
  retry?: Retry;
2042
2266
  };
2043
2267
  export type NewHttpTrigger = {
2268
+ /**
2269
+ * The unique path identifier for this trigger
2270
+ */
2044
2271
  path: string;
2272
+ /**
2273
+ * Path to the script or flow to execute when triggered
2274
+ */
2045
2275
  script_path: string;
2276
+ /**
2277
+ * The URL route path that will trigger this endpoint (e.g., 'api/myendpoint'). Must NOT start with a /.
2278
+ */
2046
2279
  route_path: string;
2280
+ /**
2281
+ * If true, the route includes the workspace ID in the path
2282
+ */
2047
2283
  workspaced_route?: boolean;
2284
+ /**
2285
+ * Short summary describing the purpose of this trigger
2286
+ */
2048
2287
  summary?: string;
2288
+ /**
2289
+ * Detailed description of what this trigger does
2290
+ */
2049
2291
  description?: string;
2292
+ /**
2293
+ * Configuration for serving static assets (s3 bucket, storage path, filename)
2294
+ */
2050
2295
  static_asset_config?: {
2296
+ /**
2297
+ * S3 bucket path for static assets
2298
+ */
2051
2299
  s3: string;
2300
+ /**
2301
+ * Storage path for static assets
2302
+ */
2052
2303
  storage?: string;
2304
+ /**
2305
+ * Filename for the static asset
2306
+ */
2053
2307
  filename?: string;
2054
2308
  };
2309
+ /**
2310
+ * True if script_path points to a flow, false if it points to a script
2311
+ */
2055
2312
  is_flow: boolean;
2313
+ /**
2314
+ * HTTP method (get, post, put, delete, patch) that triggers this endpoint
2315
+ */
2056
2316
  http_method: HttpMethod;
2317
+ /**
2318
+ * Path to the resource containing authentication configuration (for api_key, basic_http, custom_script, signature methods)
2319
+ */
2057
2320
  authentication_resource_path?: string;
2058
2321
  /**
2059
2322
  * Deprecated, use request_type instead
2060
2323
  */
2061
2324
  is_async?: boolean;
2325
+ /**
2326
+ * How the request is handled - 'sync' waits for result, 'async' returns job ID immediately, 'sync_sse' streams results via Server-Sent Events
2327
+ */
2062
2328
  request_type?: HttpRequestType;
2329
+ /**
2330
+ * How requests are authenticated - 'none' (public), 'windmill' (Windmill token), 'api_key', 'basic_http', 'custom_script', 'signature'
2331
+ */
2063
2332
  authentication_method: AuthenticationMethod;
2333
+ /**
2334
+ * If true, serves static files from S3/storage instead of running a script
2335
+ */
2064
2336
  is_static_website: boolean;
2337
+ /**
2338
+ * If true, wraps the request body in a 'body' parameter
2339
+ */
2065
2340
  wrap_body?: boolean;
2066
2341
  mode?: TriggerMode;
2342
+ /**
2343
+ * If true, passes the request body as a raw string instead of parsing as JSON
2344
+ */
2067
2345
  raw_string?: boolean;
2346
+ /**
2347
+ * Path to a script or flow to run when the triggered job fails
2348
+ */
2068
2349
  error_handler_path?: string;
2350
+ /**
2351
+ * Arguments to pass to the error handler
2352
+ */
2069
2353
  error_handler_args?: ScriptArgs;
2354
+ /**
2355
+ * Retry configuration for failed executions
2356
+ */
2070
2357
  retry?: Retry;
2071
2358
  };
2072
2359
  export type EditHttpTrigger = {
2360
+ /**
2361
+ * The unique path identifier for this trigger
2362
+ */
2073
2363
  path: string;
2364
+ /**
2365
+ * Path to the script or flow to execute when triggered
2366
+ */
2074
2367
  script_path: string;
2368
+ /**
2369
+ * The URL route path that will trigger this endpoint (e.g., 'api/myendpoint'). Must NOT start with a /.
2370
+ */
2075
2371
  route_path?: string;
2372
+ /**
2373
+ * Short summary describing the purpose of this trigger
2374
+ */
2076
2375
  summary?: string;
2376
+ /**
2377
+ * Detailed description of what this trigger does
2378
+ */
2077
2379
  description?: string;
2380
+ /**
2381
+ * If true, the route includes the workspace ID in the path
2382
+ */
2078
2383
  workspaced_route?: boolean;
2384
+ /**
2385
+ * Configuration for serving static assets (s3 bucket, storage path, filename)
2386
+ */
2079
2387
  static_asset_config?: {
2388
+ /**
2389
+ * S3 bucket path for static assets
2390
+ */
2080
2391
  s3: string;
2392
+ /**
2393
+ * Storage path for static assets
2394
+ */
2081
2395
  storage?: string;
2396
+ /**
2397
+ * Filename for the static asset
2398
+ */
2082
2399
  filename?: string;
2083
2400
  };
2401
+ /**
2402
+ * Path to the resource containing authentication configuration (for api_key, basic_http, custom_script, signature methods)
2403
+ */
2084
2404
  authentication_resource_path?: string;
2405
+ /**
2406
+ * True if script_path points to a flow, false if it points to a script
2407
+ */
2085
2408
  is_flow: boolean;
2409
+ /**
2410
+ * HTTP method (get, post, put, delete, patch) that triggers this endpoint
2411
+ */
2086
2412
  http_method: HttpMethod;
2087
2413
  /**
2088
2414
  * Deprecated, use request_type instead
2089
2415
  */
2090
2416
  is_async?: boolean;
2417
+ /**
2418
+ * How the request is handled - 'sync' waits for result, 'async' returns job ID immediately, 'sync_sse' streams results via Server-Sent Events
2419
+ */
2091
2420
  request_type?: HttpRequestType;
2421
+ /**
2422
+ * How requests are authenticated - 'none' (public), 'windmill' (Windmill token), 'api_key', 'basic_http', 'custom_script', 'signature'
2423
+ */
2092
2424
  authentication_method: AuthenticationMethod;
2425
+ /**
2426
+ * If true, serves static files from S3/storage instead of running a script
2427
+ */
2093
2428
  is_static_website: boolean;
2429
+ /**
2430
+ * If true, wraps the request body in a 'body' parameter
2431
+ */
2094
2432
  wrap_body?: boolean;
2433
+ /**
2434
+ * If true, passes the request body as a raw string instead of parsing as JSON
2435
+ */
2095
2436
  raw_string?: boolean;
2437
+ /**
2438
+ * Path to a script or flow to run when the triggered job fails
2439
+ */
2096
2440
  error_handler_path?: string;
2441
+ /**
2442
+ * Arguments to pass to the error handler
2443
+ */
2097
2444
  error_handler_args?: ScriptArgs;
2098
- retry?: Retry;
2445
+ /**
2446
+ * Retry configuration for failed executions
2447
+ */
2448
+ retry?: Retry;
2099
2449
  };
2100
2450
  export type TriggersCount = {
2101
2451
  primary_schedule?: {
@@ -2116,55 +2466,163 @@ export type TriggersCount = {
2116
2466
  nextcloud_count?: number;
2117
2467
  };
2118
2468
  export type WebsocketTrigger = TriggerExtraProperty & {
2469
+ /**
2470
+ * The WebSocket URL to connect to (can be a static URL or computed by a runnable)
2471
+ */
2119
2472
  url: string;
2473
+ /**
2474
+ * ID of the server currently handling this trigger (internal)
2475
+ */
2120
2476
  server_id?: string;
2477
+ /**
2478
+ * Timestamp of last server heartbeat (internal)
2479
+ */
2121
2480
  last_server_ping?: string;
2481
+ /**
2482
+ * Last error message if the trigger failed
2483
+ */
2122
2484
  error?: string;
2485
+ /**
2486
+ * Array of key-value filters to match incoming messages (only matching messages trigger the script)
2487
+ */
2123
2488
  filters: Array<{
2124
2489
  key: string;
2125
2490
  value: unknown;
2126
2491
  }>;
2492
+ /**
2493
+ * Messages to send immediately after connecting (can be raw strings or computed by runnables)
2494
+ */
2127
2495
  initial_messages?: Array<WebsocketTriggerInitialMessage>;
2496
+ /**
2497
+ * Arguments to pass to the script/flow that computes the WebSocket URL
2498
+ */
2128
2499
  url_runnable_args?: ScriptArgs;
2500
+ /**
2501
+ * If true, the script can return a message to send back through the WebSocket
2502
+ */
2129
2503
  can_return_message: boolean;
2504
+ /**
2505
+ * If true, error results are sent back through the WebSocket
2506
+ */
2130
2507
  can_return_error_result: boolean;
2508
+ /**
2509
+ * Path to a script or flow to run when the triggered job fails
2510
+ */
2131
2511
  error_handler_path?: string;
2512
+ /**
2513
+ * Arguments to pass to the error handler
2514
+ */
2132
2515
  error_handler_args?: ScriptArgs;
2516
+ /**
2517
+ * Retry configuration for failed executions
2518
+ */
2133
2519
  retry?: Retry;
2134
2520
  };
2135
2521
  export type NewWebsocketTrigger = {
2522
+ /**
2523
+ * The unique path identifier for this trigger
2524
+ */
2136
2525
  path: string;
2526
+ /**
2527
+ * Path to the script or flow to execute when a message is received
2528
+ */
2137
2529
  script_path: string;
2530
+ /**
2531
+ * True if script_path points to a flow, false if it points to a script
2532
+ */
2138
2533
  is_flow: boolean;
2534
+ /**
2535
+ * The WebSocket URL to connect to (can be a static URL or computed by a runnable)
2536
+ */
2139
2537
  url: string;
2140
2538
  mode?: TriggerMode;
2539
+ /**
2540
+ * Array of key-value filters to match incoming messages (only matching messages trigger the script)
2541
+ */
2141
2542
  filters: Array<{
2142
2543
  key: string;
2143
2544
  value: unknown;
2144
2545
  }>;
2546
+ /**
2547
+ * Messages to send immediately after connecting (can be raw strings or computed by runnables)
2548
+ */
2145
2549
  initial_messages?: Array<WebsocketTriggerInitialMessage>;
2550
+ /**
2551
+ * Arguments to pass to the script/flow that computes the WebSocket URL
2552
+ */
2146
2553
  url_runnable_args?: ScriptArgs;
2554
+ /**
2555
+ * If true, the script can return a message to send back through the WebSocket
2556
+ */
2147
2557
  can_return_message: boolean;
2558
+ /**
2559
+ * If true, error results are sent back through the WebSocket
2560
+ */
2148
2561
  can_return_error_result: boolean;
2562
+ /**
2563
+ * Path to a script or flow to run when the triggered job fails
2564
+ */
2149
2565
  error_handler_path?: string;
2566
+ /**
2567
+ * Arguments to pass to the error handler
2568
+ */
2150
2569
  error_handler_args?: ScriptArgs;
2570
+ /**
2571
+ * Retry configuration for failed executions
2572
+ */
2151
2573
  retry?: Retry;
2152
2574
  };
2153
2575
  export type EditWebsocketTrigger = {
2576
+ /**
2577
+ * The WebSocket URL to connect to (can be a static URL or computed by a runnable)
2578
+ */
2154
2579
  url: string;
2580
+ /**
2581
+ * The unique path identifier for this trigger
2582
+ */
2155
2583
  path: string;
2584
+ /**
2585
+ * Path to the script or flow to execute when a message is received
2586
+ */
2156
2587
  script_path: string;
2588
+ /**
2589
+ * True if script_path points to a flow, false if it points to a script
2590
+ */
2157
2591
  is_flow: boolean;
2592
+ /**
2593
+ * Array of key-value filters to match incoming messages (only matching messages trigger the script)
2594
+ */
2158
2595
  filters: Array<{
2159
2596
  key: string;
2160
2597
  value: unknown;
2161
2598
  }>;
2599
+ /**
2600
+ * Messages to send immediately after connecting (can be raw strings or computed by runnables)
2601
+ */
2162
2602
  initial_messages?: Array<WebsocketTriggerInitialMessage>;
2603
+ /**
2604
+ * Arguments to pass to the script/flow that computes the WebSocket URL
2605
+ */
2163
2606
  url_runnable_args?: ScriptArgs;
2607
+ /**
2608
+ * If true, the script can return a message to send back through the WebSocket
2609
+ */
2164
2610
  can_return_message: boolean;
2611
+ /**
2612
+ * If true, error results are sent back through the WebSocket
2613
+ */
2165
2614
  can_return_error_result: boolean;
2615
+ /**
2616
+ * Path to a script or flow to run when the triggered job fails
2617
+ */
2166
2618
  error_handler_path?: string;
2619
+ /**
2620
+ * Arguments to pass to the error handler
2621
+ */
2167
2622
  error_handler_args?: ScriptArgs;
2623
+ /**
2624
+ * Retry configuration for failed executions
2625
+ */
2168
2626
  retry?: Retry;
2169
2627
  };
2170
2628
  export type WebsocketTriggerInitialMessage = {
@@ -2191,91 +2649,277 @@ export type MqttSubscribeTopic = {
2191
2649
  };
2192
2650
  export type MqttClientVersion = 'v3' | 'v5';
2193
2651
  export type MqttTrigger = TriggerExtraProperty & {
2652
+ /**
2653
+ * Path to the MQTT resource containing broker connection configuration
2654
+ */
2194
2655
  mqtt_resource_path: string;
2656
+ /**
2657
+ * Array of MQTT topics to subscribe to, each with topic name and QoS level
2658
+ */
2195
2659
  subscribe_topics: Array<MqttSubscribeTopic>;
2660
+ /**
2661
+ * MQTT v3 specific configuration (clean_session)
2662
+ */
2196
2663
  v3_config?: MqttV3Config;
2664
+ /**
2665
+ * MQTT v5 specific configuration (clean_start, topic_alias_maximum, session_expiry_interval)
2666
+ */
2197
2667
  v5_config?: MqttV5Config;
2668
+ /**
2669
+ * MQTT client ID for this connection
2670
+ */
2198
2671
  client_id?: string;
2672
+ /**
2673
+ * MQTT protocol version ('v3' or 'v5')
2674
+ */
2199
2675
  client_version?: MqttClientVersion;
2676
+ /**
2677
+ * ID of the server currently handling this trigger (internal)
2678
+ */
2200
2679
  server_id?: string;
2680
+ /**
2681
+ * Timestamp of last server heartbeat (internal)
2682
+ */
2201
2683
  last_server_ping?: string;
2684
+ /**
2685
+ * Last error message if the trigger failed
2686
+ */
2202
2687
  error?: string;
2688
+ /**
2689
+ * Path to a script or flow to run when the triggered job fails
2690
+ */
2203
2691
  error_handler_path?: string;
2692
+ /**
2693
+ * Arguments to pass to the error handler
2694
+ */
2204
2695
  error_handler_args?: ScriptArgs;
2696
+ /**
2697
+ * Retry configuration for failed executions
2698
+ */
2205
2699
  retry?: Retry;
2206
2700
  };
2207
2701
  export type NewMqttTrigger = {
2702
+ /**
2703
+ * Path to the MQTT resource containing broker connection configuration
2704
+ */
2208
2705
  mqtt_resource_path: string;
2706
+ /**
2707
+ * Array of MQTT topics to subscribe to, each with topic name and QoS level
2708
+ */
2209
2709
  subscribe_topics: Array<MqttSubscribeTopic>;
2710
+ /**
2711
+ * MQTT client ID for this connection
2712
+ */
2210
2713
  client_id?: string;
2714
+ /**
2715
+ * MQTT v3 specific configuration (clean_session)
2716
+ */
2211
2717
  v3_config?: MqttV3Config;
2718
+ /**
2719
+ * MQTT v5 specific configuration (clean_start, topic_alias_maximum, session_expiry_interval)
2720
+ */
2212
2721
  v5_config?: MqttV5Config;
2722
+ /**
2723
+ * MQTT protocol version ('v3' or 'v5')
2724
+ */
2213
2725
  client_version?: MqttClientVersion;
2726
+ /**
2727
+ * The unique path identifier for this trigger
2728
+ */
2214
2729
  path: string;
2730
+ /**
2731
+ * Path to the script or flow to execute when a message is received
2732
+ */
2215
2733
  script_path: string;
2734
+ /**
2735
+ * True if script_path points to a flow, false if it points to a script
2736
+ */
2216
2737
  is_flow: boolean;
2217
2738
  mode?: TriggerMode;
2739
+ /**
2740
+ * Path to a script or flow to run when the triggered job fails
2741
+ */
2218
2742
  error_handler_path?: string;
2743
+ /**
2744
+ * Arguments to pass to the error handler
2745
+ */
2219
2746
  error_handler_args?: ScriptArgs;
2747
+ /**
2748
+ * Retry configuration for failed executions
2749
+ */
2220
2750
  retry?: Retry;
2221
2751
  };
2222
2752
  export type EditMqttTrigger = {
2753
+ /**
2754
+ * Path to the MQTT resource containing broker connection configuration
2755
+ */
2223
2756
  mqtt_resource_path: string;
2757
+ /**
2758
+ * Array of MQTT topics to subscribe to, each with topic name and QoS level
2759
+ */
2224
2760
  subscribe_topics: Array<MqttSubscribeTopic>;
2761
+ /**
2762
+ * MQTT client ID for this connection
2763
+ */
2225
2764
  client_id?: string;
2765
+ /**
2766
+ * MQTT v3 specific configuration (clean_session)
2767
+ */
2226
2768
  v3_config?: MqttV3Config;
2769
+ /**
2770
+ * MQTT v5 specific configuration (clean_start, topic_alias_maximum, session_expiry_interval)
2771
+ */
2227
2772
  v5_config?: MqttV5Config;
2773
+ /**
2774
+ * MQTT protocol version ('v3' or 'v5')
2775
+ */
2228
2776
  client_version?: MqttClientVersion;
2777
+ /**
2778
+ * The unique path identifier for this trigger
2779
+ */
2229
2780
  path: string;
2781
+ /**
2782
+ * Path to the script or flow to execute when a message is received
2783
+ */
2230
2784
  script_path: string;
2785
+ /**
2786
+ * True if script_path points to a flow, false if it points to a script
2787
+ */
2231
2788
  is_flow: boolean;
2232
2789
  mode?: TriggerMode;
2790
+ /**
2791
+ * Path to a script or flow to run when the triggered job fails
2792
+ */
2233
2793
  error_handler_path?: string;
2794
+ /**
2795
+ * Arguments to pass to the error handler
2796
+ */
2234
2797
  error_handler_args?: ScriptArgs;
2798
+ /**
2799
+ * Retry configuration for failed executions
2800
+ */
2235
2801
  retry?: Retry;
2236
2802
  };
2803
+ /**
2804
+ * Delivery mode for messages. 'push' for HTTP push delivery where messages are sent to a webhook endpoint, 'pull' for polling where the trigger actively fetches messages.
2805
+ */
2237
2806
  export type DeliveryType = 'push' | 'pull';
2807
+ /**
2808
+ * Configuration for push delivery mode.
2809
+ */
2238
2810
  export type PushConfig = {
2811
+ /**
2812
+ * The audience claim for OIDC tokens used in push authentication.
2813
+ */
2239
2814
  audience?: string;
2815
+ /**
2816
+ * If true, push messages will include OIDC authentication tokens.
2817
+ */
2240
2818
  authenticate: boolean;
2241
2819
  };
2820
+ /**
2821
+ * A Google Cloud Pub/Sub trigger that executes a script or flow when messages are received.
2822
+ */
2242
2823
  export type GcpTrigger = TriggerExtraProperty & {
2824
+ /**
2825
+ * Path to the GCP resource containing service account credentials for authentication.
2826
+ */
2243
2827
  gcp_resource_path: string;
2828
+ /**
2829
+ * Google Cloud Pub/Sub topic ID to subscribe to.
2830
+ */
2244
2831
  topic_id: string;
2832
+ /**
2833
+ * Google Cloud Pub/Sub subscription ID.
2834
+ */
2245
2835
  subscription_id: string;
2836
+ /**
2837
+ * ID of the server currently handling this trigger (internal use).
2838
+ */
2246
2839
  server_id?: string;
2247
2840
  delivery_type: DeliveryType;
2248
2841
  delivery_config?: PushConfig;
2249
2842
  subscription_mode: SubscriptionMode;
2843
+ /**
2844
+ * Timestamp of last server heartbeat (internal use).
2845
+ */
2250
2846
  last_server_ping?: string;
2847
+ /**
2848
+ * Last error message if the trigger failed.
2849
+ */
2251
2850
  error?: string;
2851
+ /**
2852
+ * Path to a script or flow to run when the triggered job fails.
2853
+ */
2252
2854
  error_handler_path?: string;
2855
+ /**
2856
+ * Arguments to pass to the error handler.
2857
+ */
2253
2858
  error_handler_args?: ScriptArgs;
2859
+ /**
2860
+ * Retry configuration for failed executions.
2861
+ */
2254
2862
  retry?: Retry;
2255
2863
  };
2256
2864
  /**
2257
2865
  * The mode of subscription. 'existing' means using an existing GCP subscription, while 'create_update' involves creating or updating a new subscription.
2258
2866
  */
2259
2867
  export type SubscriptionMode = 'existing' | 'create_update';
2868
+ /**
2869
+ * Data for creating or updating a Google Cloud Pub/Sub trigger.
2870
+ */
2260
2871
  export type GcpTriggerData = {
2872
+ /**
2873
+ * Path to the GCP resource containing service account credentials for authentication.
2874
+ */
2261
2875
  gcp_resource_path: string;
2262
2876
  subscription_mode: SubscriptionMode;
2877
+ /**
2878
+ * Google Cloud Pub/Sub topic ID to subscribe to.
2879
+ */
2263
2880
  topic_id: string;
2881
+ /**
2882
+ * Google Cloud Pub/Sub subscription ID.
2883
+ */
2264
2884
  subscription_id?: string;
2885
+ /**
2886
+ * Base URL for push delivery endpoint.
2887
+ */
2265
2888
  base_endpoint?: string;
2266
2889
  delivery_type?: DeliveryType;
2267
2890
  delivery_config?: PushConfig;
2891
+ /**
2892
+ * The unique path identifier for this trigger.
2893
+ */
2268
2894
  path: string;
2895
+ /**
2896
+ * Path to the script or flow to execute when a message is received.
2897
+ */
2269
2898
  script_path: string;
2899
+ /**
2900
+ * True if script_path points to a flow, false if it points to a script.
2901
+ */
2270
2902
  is_flow: boolean;
2271
2903
  mode?: TriggerMode;
2904
+ /**
2905
+ * If true, automatically acknowledge messages after processing.
2906
+ */
2272
2907
  auto_acknowledge_msg?: boolean;
2273
2908
  /**
2274
2909
  * Time in seconds within which the message must be acknowledged. If not provided, defaults to the subscription's acknowledgment deadline (600 seconds).
2275
2910
  */
2276
2911
  ack_deadline?: number;
2912
+ /**
2913
+ * Path to a script or flow to run when the triggered job fails.
2914
+ */
2277
2915
  error_handler_path?: string;
2916
+ /**
2917
+ * Arguments to pass to the error handler.
2918
+ */
2278
2919
  error_handler_args?: ScriptArgs;
2920
+ /**
2921
+ * Retry configuration for failed executions.
2922
+ */
2279
2923
  retry?: Retry;
2280
2924
  };
2281
2925
  export type GetAllTopicSubscription = {
@@ -2286,15 +2930,45 @@ export type DeleteGcpSubscription = {
2286
2930
  };
2287
2931
  export type AwsAuthResourceType = 'oidc' | 'credentials';
2288
2932
  export type SqsTrigger = TriggerExtraProperty & {
2933
+ /**
2934
+ * The full URL of the AWS SQS queue to poll for messages
2935
+ */
2289
2936
  queue_url: string;
2937
+ /**
2938
+ * Authentication type - 'credentials' for access key/secret, 'oidc' for OpenID Connect
2939
+ */
2290
2940
  aws_auth_resource_type: AwsAuthResourceType;
2941
+ /**
2942
+ * Path to the AWS resource containing credentials or OIDC configuration
2943
+ */
2291
2944
  aws_resource_path: string;
2945
+ /**
2946
+ * Array of SQS message attribute names to include with each message
2947
+ */
2292
2948
  message_attributes?: Array<(string)>;
2949
+ /**
2950
+ * ID of the server currently handling this trigger (internal)
2951
+ */
2293
2952
  server_id?: string;
2953
+ /**
2954
+ * Timestamp of last server heartbeat (internal)
2955
+ */
2294
2956
  last_server_ping?: string;
2957
+ /**
2958
+ * Last error message if the trigger failed
2959
+ */
2295
2960
  error?: string;
2961
+ /**
2962
+ * Path to a script or flow to run when the triggered job fails
2963
+ */
2296
2964
  error_handler_path?: string;
2965
+ /**
2966
+ * Arguments to pass to the error handler
2967
+ */
2297
2968
  error_handler_args?: ScriptArgs;
2969
+ /**
2970
+ * Retry configuration for failed executions
2971
+ */
2298
2972
  retry?: Retry;
2299
2973
  };
2300
2974
  export type LoggedWizardStatus = 'OK' | 'SKIP' | 'FAIL';
@@ -2320,29 +2994,89 @@ export type CustomInstanceDb = {
2320
2994
  tag?: CustomInstanceDbTag;
2321
2995
  };
2322
2996
  export type NewSqsTrigger = {
2997
+ /**
2998
+ * The full URL of the AWS SQS queue to poll for messages
2999
+ */
2323
3000
  queue_url: string;
3001
+ /**
3002
+ * Authentication type - 'credentials' for access key/secret, 'oidc' for OpenID Connect
3003
+ */
2324
3004
  aws_auth_resource_type: AwsAuthResourceType;
3005
+ /**
3006
+ * Path to the AWS resource containing credentials or OIDC configuration
3007
+ */
2325
3008
  aws_resource_path: string;
3009
+ /**
3010
+ * Array of SQS message attribute names to include with each message
3011
+ */
2326
3012
  message_attributes?: Array<(string)>;
3013
+ /**
3014
+ * The unique path identifier for this trigger
3015
+ */
2327
3016
  path: string;
3017
+ /**
3018
+ * Path to the script or flow to execute when a message is received
3019
+ */
2328
3020
  script_path: string;
3021
+ /**
3022
+ * True if script_path points to a flow, false if it points to a script
3023
+ */
2329
3024
  is_flow: boolean;
2330
3025
  mode?: TriggerMode;
3026
+ /**
3027
+ * Path to a script or flow to run when the triggered job fails
3028
+ */
2331
3029
  error_handler_path?: string;
3030
+ /**
3031
+ * Arguments to pass to the error handler
3032
+ */
2332
3033
  error_handler_args?: ScriptArgs;
3034
+ /**
3035
+ * Retry configuration for failed executions
3036
+ */
2333
3037
  retry?: Retry;
2334
3038
  };
2335
3039
  export type EditSqsTrigger = {
3040
+ /**
3041
+ * The full URL of the AWS SQS queue to poll for messages
3042
+ */
2336
3043
  queue_url: string;
3044
+ /**
3045
+ * Authentication type - 'credentials' for access key/secret, 'oidc' for OpenID Connect
3046
+ */
2337
3047
  aws_auth_resource_type: AwsAuthResourceType;
3048
+ /**
3049
+ * Path to the AWS resource containing credentials or OIDC configuration
3050
+ */
2338
3051
  aws_resource_path: string;
3052
+ /**
3053
+ * Array of SQS message attribute names to include with each message
3054
+ */
2339
3055
  message_attributes?: Array<(string)>;
3056
+ /**
3057
+ * The unique path identifier for this trigger
3058
+ */
2340
3059
  path: string;
3060
+ /**
3061
+ * Path to the script or flow to execute when a message is received
3062
+ */
2341
3063
  script_path: string;
3064
+ /**
3065
+ * True if script_path points to a flow, false if it points to a script
3066
+ */
2342
3067
  is_flow: boolean;
2343
3068
  mode?: TriggerMode;
3069
+ /**
3070
+ * Path to a script or flow to run when the triggered job fails
3071
+ */
2344
3072
  error_handler_path?: string;
3073
+ /**
3074
+ * Arguments to pass to the error handler
3075
+ */
2345
3076
  error_handler_args?: ScriptArgs;
3077
+ /**
3078
+ * Retry configuration for failed executions
3079
+ */
2346
3080
  retry?: Retry;
2347
3081
  };
2348
3082
  export type Slot = {
@@ -2372,126 +3106,393 @@ export type TemplateScript = {
2372
3106
  language: Language;
2373
3107
  };
2374
3108
  export type PostgresTrigger = TriggerExtraProperty & {
3109
+ /**
3110
+ * Path to the PostgreSQL resource containing connection configuration
3111
+ */
2375
3112
  postgres_resource_path: string;
3113
+ /**
3114
+ * Name of the PostgreSQL publication to subscribe to for change data capture
3115
+ */
2376
3116
  publication_name: string;
3117
+ /**
3118
+ * ID of the server currently handling this trigger (internal)
3119
+ */
2377
3120
  server_id?: string;
3121
+ /**
3122
+ * Name of the PostgreSQL logical replication slot to use
3123
+ */
2378
3124
  replication_slot_name: string;
3125
+ /**
3126
+ * Last error message if the trigger failed
3127
+ */
2379
3128
  error?: string;
3129
+ /**
3130
+ * Timestamp of last server heartbeat (internal)
3131
+ */
2380
3132
  last_server_ping?: string;
3133
+ /**
3134
+ * Path to a script or flow to run when the triggered job fails
3135
+ */
2381
3136
  error_handler_path?: string;
3137
+ /**
3138
+ * Arguments to pass to the error handler
3139
+ */
2382
3140
  error_handler_args?: ScriptArgs;
3141
+ /**
3142
+ * Retry configuration for failed executions
3143
+ */
2383
3144
  retry?: Retry;
2384
3145
  };
2385
3146
  export type NewPostgresTrigger = {
3147
+ /**
3148
+ * Name of the PostgreSQL logical replication slot to use
3149
+ */
2386
3150
  replication_slot_name?: string;
3151
+ /**
3152
+ * Name of the PostgreSQL publication to subscribe to for change data capture
3153
+ */
2387
3154
  publication_name?: string;
3155
+ /**
3156
+ * The unique path identifier for this trigger
3157
+ */
2388
3158
  path: string;
3159
+ /**
3160
+ * Path to the script or flow to execute when database changes are detected
3161
+ */
2389
3162
  script_path: string;
3163
+ /**
3164
+ * True if script_path points to a flow, false if it points to a script
3165
+ */
2390
3166
  is_flow: boolean;
2391
3167
  mode?: TriggerMode;
3168
+ /**
3169
+ * Path to the PostgreSQL resource containing connection configuration
3170
+ */
2392
3171
  postgres_resource_path: string;
3172
+ /**
3173
+ * Configuration for creating/managing the publication (tables, operations)
3174
+ */
2393
3175
  publication?: PublicationData;
3176
+ /**
3177
+ * Path to a script or flow to run when the triggered job fails
3178
+ */
2394
3179
  error_handler_path?: string;
3180
+ /**
3181
+ * Arguments to pass to the error handler
3182
+ */
2395
3183
  error_handler_args?: ScriptArgs;
3184
+ /**
3185
+ * Retry configuration for failed executions
3186
+ */
2396
3187
  retry?: Retry;
2397
3188
  };
2398
3189
  export type EditPostgresTrigger = {
3190
+ /**
3191
+ * Name of the PostgreSQL logical replication slot to use
3192
+ */
2399
3193
  replication_slot_name: string;
3194
+ /**
3195
+ * Name of the PostgreSQL publication to subscribe to for change data capture
3196
+ */
2400
3197
  publication_name: string;
3198
+ /**
3199
+ * The unique path identifier for this trigger
3200
+ */
2401
3201
  path: string;
3202
+ /**
3203
+ * Path to the script or flow to execute when database changes are detected
3204
+ */
2402
3205
  script_path: string;
3206
+ /**
3207
+ * True if script_path points to a flow, false if it points to a script
3208
+ */
2403
3209
  is_flow: boolean;
2404
3210
  mode?: TriggerMode;
3211
+ /**
3212
+ * Path to the PostgreSQL resource containing connection configuration
3213
+ */
2405
3214
  postgres_resource_path: string;
3215
+ /**
3216
+ * Configuration for creating/managing the publication (tables, operations)
3217
+ */
2406
3218
  publication?: PublicationData;
3219
+ /**
3220
+ * Path to a script or flow to run when the triggered job fails
3221
+ */
2407
3222
  error_handler_path?: string;
3223
+ /**
3224
+ * Arguments to pass to the error handler
3225
+ */
2408
3226
  error_handler_args?: ScriptArgs;
3227
+ /**
3228
+ * Retry configuration for failed executions
3229
+ */
2409
3230
  retry?: Retry;
2410
3231
  };
2411
3232
  export type KafkaTrigger = TriggerExtraProperty & {
3233
+ /**
3234
+ * Path to the Kafka resource containing connection configuration
3235
+ */
2412
3236
  kafka_resource_path: string;
3237
+ /**
3238
+ * Kafka consumer group ID for this trigger
3239
+ */
2413
3240
  group_id: string;
3241
+ /**
3242
+ * Array of Kafka topic names to subscribe to
3243
+ */
2414
3244
  topics: Array<(string)>;
2415
3245
  filters: Array<{
2416
3246
  key: string;
2417
3247
  value: unknown;
2418
3248
  }>;
3249
+ /**
3250
+ * ID of the server currently handling this trigger (internal)
3251
+ */
2419
3252
  server_id?: string;
3253
+ /**
3254
+ * Timestamp of last server heartbeat (internal)
3255
+ */
2420
3256
  last_server_ping?: string;
3257
+ /**
3258
+ * Last error message if the trigger failed
3259
+ */
2421
3260
  error?: string;
3261
+ /**
3262
+ * Path to a script or flow to run when the triggered job fails
3263
+ */
2422
3264
  error_handler_path?: string;
3265
+ /**
3266
+ * Arguments to pass to the error handler
3267
+ */
2423
3268
  error_handler_args?: ScriptArgs;
3269
+ /**
3270
+ * Retry configuration for failed executions
3271
+ */
2424
3272
  retry?: Retry;
2425
3273
  };
2426
3274
  export type NewKafkaTrigger = {
3275
+ /**
3276
+ * The unique path identifier for this trigger
3277
+ */
2427
3278
  path: string;
3279
+ /**
3280
+ * Path to the script or flow to execute when a message is received
3281
+ */
2428
3282
  script_path: string;
3283
+ /**
3284
+ * True if script_path points to a flow, false if it points to a script
3285
+ */
2429
3286
  is_flow: boolean;
3287
+ /**
3288
+ * Path to the Kafka resource containing connection configuration
3289
+ */
2430
3290
  kafka_resource_path: string;
3291
+ /**
3292
+ * Kafka consumer group ID for this trigger
3293
+ */
2431
3294
  group_id: string;
3295
+ /**
3296
+ * Array of Kafka topic names to subscribe to
3297
+ */
2432
3298
  topics: Array<(string)>;
2433
3299
  filters: Array<{
2434
3300
  key: string;
2435
3301
  value: unknown;
2436
3302
  }>;
2437
3303
  mode?: TriggerMode;
3304
+ /**
3305
+ * Path to a script or flow to run when the triggered job fails
3306
+ */
2438
3307
  error_handler_path?: string;
3308
+ /**
3309
+ * Arguments to pass to the error handler
3310
+ */
2439
3311
  error_handler_args?: ScriptArgs;
3312
+ /**
3313
+ * Retry configuration for failed executions
3314
+ */
2440
3315
  retry?: Retry;
2441
3316
  };
2442
3317
  export type EditKafkaTrigger = {
3318
+ /**
3319
+ * Path to the Kafka resource containing connection configuration
3320
+ */
2443
3321
  kafka_resource_path: string;
3322
+ /**
3323
+ * Kafka consumer group ID for this trigger
3324
+ */
2444
3325
  group_id: string;
3326
+ /**
3327
+ * Array of Kafka topic names to subscribe to
3328
+ */
2445
3329
  topics: Array<(string)>;
2446
3330
  filters: Array<{
2447
3331
  key: string;
2448
3332
  value: unknown;
2449
3333
  }>;
3334
+ /**
3335
+ * The unique path identifier for this trigger
3336
+ */
2450
3337
  path: string;
3338
+ /**
3339
+ * Path to the script or flow to execute when a message is received
3340
+ */
2451
3341
  script_path: string;
3342
+ /**
3343
+ * True if script_path points to a flow, false if it points to a script
3344
+ */
2452
3345
  is_flow: boolean;
3346
+ /**
3347
+ * Path to a script or flow to run when the triggered job fails
3348
+ */
2453
3349
  error_handler_path?: string;
3350
+ /**
3351
+ * Arguments to pass to the error handler
3352
+ */
2454
3353
  error_handler_args?: ScriptArgs;
3354
+ /**
3355
+ * Retry configuration for failed executions
3356
+ */
2455
3357
  retry?: Retry;
2456
3358
  };
2457
3359
  export type NatsTrigger = TriggerExtraProperty & {
3360
+ /**
3361
+ * Path to the NATS resource containing connection configuration
3362
+ */
2458
3363
  nats_resource_path: string;
3364
+ /**
3365
+ * If true, uses NATS JetStream for durable message delivery
3366
+ */
2459
3367
  use_jetstream: boolean;
3368
+ /**
3369
+ * JetStream stream name (required when use_jetstream is true)
3370
+ */
2460
3371
  stream_name?: string;
3372
+ /**
3373
+ * JetStream consumer name (required when use_jetstream is true)
3374
+ */
2461
3375
  consumer_name?: string;
3376
+ /**
3377
+ * Array of NATS subjects to subscribe to
3378
+ */
2462
3379
  subjects: Array<(string)>;
3380
+ /**
3381
+ * ID of the server currently handling this trigger (internal)
3382
+ */
2463
3383
  server_id?: string;
3384
+ /**
3385
+ * Timestamp of last server heartbeat (internal)
3386
+ */
2464
3387
  last_server_ping?: string;
3388
+ /**
3389
+ * Last error message if the trigger failed
3390
+ */
2465
3391
  error?: string;
3392
+ /**
3393
+ * Path to a script or flow to run when the triggered job fails
3394
+ */
2466
3395
  error_handler_path?: string;
3396
+ /**
3397
+ * Arguments to pass to the error handler
3398
+ */
2467
3399
  error_handler_args?: ScriptArgs;
3400
+ /**
3401
+ * Retry configuration for failed executions
3402
+ */
2468
3403
  retry?: Retry;
2469
3404
  };
2470
3405
  export type NewNatsTrigger = {
3406
+ /**
3407
+ * The unique path identifier for this trigger
3408
+ */
2471
3409
  path: string;
3410
+ /**
3411
+ * Path to the script or flow to execute when a message is received
3412
+ */
2472
3413
  script_path: string;
3414
+ /**
3415
+ * True if script_path points to a flow, false if it points to a script
3416
+ */
2473
3417
  is_flow: boolean;
3418
+ /**
3419
+ * Path to the NATS resource containing connection configuration
3420
+ */
2474
3421
  nats_resource_path: string;
3422
+ /**
3423
+ * If true, uses NATS JetStream for durable message delivery
3424
+ */
2475
3425
  use_jetstream: boolean;
3426
+ /**
3427
+ * JetStream stream name (required when use_jetstream is true)
3428
+ */
2476
3429
  stream_name?: string;
3430
+ /**
3431
+ * JetStream consumer name (required when use_jetstream is true)
3432
+ */
2477
3433
  consumer_name?: string;
3434
+ /**
3435
+ * Array of NATS subjects to subscribe to
3436
+ */
2478
3437
  subjects: Array<(string)>;
2479
3438
  mode?: TriggerMode;
3439
+ /**
3440
+ * Path to a script or flow to run when the triggered job fails
3441
+ */
2480
3442
  error_handler_path?: string;
3443
+ /**
3444
+ * Arguments to pass to the error handler
3445
+ */
2481
3446
  error_handler_args?: ScriptArgs;
3447
+ /**
3448
+ * Retry configuration for failed executions
3449
+ */
2482
3450
  retry?: Retry;
2483
3451
  };
2484
3452
  export type EditNatsTrigger = {
3453
+ /**
3454
+ * Path to the NATS resource containing connection configuration
3455
+ */
2485
3456
  nats_resource_path: string;
3457
+ /**
3458
+ * If true, uses NATS JetStream for durable message delivery
3459
+ */
2486
3460
  use_jetstream: boolean;
3461
+ /**
3462
+ * JetStream stream name (required when use_jetstream is true)
3463
+ */
2487
3464
  stream_name?: string;
3465
+ /**
3466
+ * JetStream consumer name (required when use_jetstream is true)
3467
+ */
2488
3468
  consumer_name?: string;
3469
+ /**
3470
+ * Array of NATS subjects to subscribe to
3471
+ */
2489
3472
  subjects: Array<(string)>;
3473
+ /**
3474
+ * The unique path identifier for this trigger
3475
+ */
2490
3476
  path: string;
3477
+ /**
3478
+ * Path to the script or flow to execute when a message is received
3479
+ */
2491
3480
  script_path: string;
3481
+ /**
3482
+ * True if script_path points to a flow, false if it points to a script
3483
+ */
2492
3484
  is_flow: boolean;
3485
+ /**
3486
+ * Path to a script or flow to run when the triggered job fails
3487
+ */
2493
3488
  error_handler_path?: string;
3489
+ /**
3490
+ * Arguments to pass to the error handler
3491
+ */
2494
3492
  error_handler_args?: ScriptArgs;
3493
+ /**
3494
+ * Retry configuration for failed executions
3495
+ */
2495
3496
  retry?: Retry;
2496
3497
  };
2497
3498
  export type EmailTrigger = TriggerExtraProperty & {
@@ -3161,7 +4162,7 @@ export type WorkspaceItemDiff = {
3161
4162
  /**
3162
4163
  * Type of the item
3163
4164
  */
3164
- export type kind3 = 'script' | 'flow' | 'app' | 'resource' | 'variable' | 'resource_type';
4165
+ export type kind5 = 'script' | 'flow' | 'app' | 'resource' | 'variable' | 'resource_type';
3165
4166
  export type CompareSummary = {
3166
4167
  /**
3167
4168
  * Total number of items with differences