@naturali/sdk 0.78.4 → 0.78.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.
package/dist/index.d.cts CHANGED
@@ -2398,6 +2398,12 @@ type EvalRun = {
2398
2398
  item_count?: number;
2399
2399
  completed_count?: number;
2400
2400
  errored_count?: number;
2401
+ /**
2402
+ * The caller-owned key/value metadata supplied when the run was started, returned verbatim. Null when the run was started without any (a trigger-started run included — see `trigger_id` for that provenance). The server writes nothing here.
2403
+ */
2404
+ metadata?: {
2405
+ [key: string]: unknown;
2406
+ } | null;
2401
2407
  started_at?: Date | null;
2402
2408
  finished_at?: Date | null;
2403
2409
  created_at?: Date;
@@ -2435,7 +2441,7 @@ type ExceptionItem = {
2435
2441
  /**
2436
2442
  * How the exception was filed
2437
2443
  */
2438
- kind?: 'run_failed' | 'guardrail_tripwire' | 'approval_expired' | 'quota_unpriced' | 'manual';
2444
+ kind?: 'run_failed' | 'guardrail_tripwire' | 'approval_expired' | 'quota_unpriced' | 'event_trigger_loop' | 'manual';
2439
2445
  /**
2440
2446
  * Human-readable one-line summary
2441
2447
  */
@@ -3770,6 +3776,12 @@ type OrchestrationRun = {
3770
3776
  tool_context?: {
3771
3777
  [key: string]: string;
3772
3778
  } | null;
3779
+ /**
3780
+ * The caller-owned key/value metadata supplied at run creation, returned verbatim. Null when the run was started without any. The server writes nothing here and no key is reserved; the bag is never merged into `state`, so nothing in it reaches the graph.
3781
+ */
3782
+ metadata?: {
3783
+ [key: string]: unknown;
3784
+ } | null;
3773
3785
  /**
3774
3786
  * Terminal node artifact(s) when the run has succeeded.
3775
3787
  */
@@ -3908,6 +3920,16 @@ type StartRunRequest = {
3908
3920
  tool_context?: {
3909
3921
  [key: string]: string;
3910
3922
  };
3923
+ /**
3924
+ * Caller-supplied key/value metadata attached to the run record for per-run attribution (e.g. which of your own tenants this run belongs to, or the dispatch batch that started it). Round-trips verbatim on every read of the run, on the list as well as the single read.
3925
+ *
3926
+ * The bag is caller-owned and no key is reserved: server-owned state (status, the pinned orchestration version, the trace, usage, artifacts, the run's own `input` and accumulated `state`) lives in its own top-level field and cannot be written from here.
3927
+ *
3928
+ * It is **not** merged into run state: no graph node sees it, and an `input_schema` never has to tolerate it — which is what makes it the place for an infrastructural label, rather than `input`. Keys are never transformed. It is not inherited by the child runs a `loop` or `sub_orchestration` node starts; each child carries whatever the graph gives it, which today is nothing.
3929
+ */
3930
+ metadata?: {
3931
+ [key: string]: unknown;
3932
+ };
3911
3933
  /**
3912
3934
  * When true, block until the run reaches a terminal (succeeded/failed) or awaiting_input state and return the settled run. When false (default), return immediately with status "queued" and execute the run in the background.
3913
3935
  */
@@ -4419,6 +4441,12 @@ type Task = {
4419
4441
  payload?: {
4420
4442
  [key: string]: unknown;
4421
4443
  };
4444
+ /**
4445
+ * The caller-owned key/value metadata supplied when the task was created, returned verbatim. Null when the task was created without any. Unlike `payload` it is invisible to guards and to `payload_writes`, so it is the place for an attribution label rather than task data.
4446
+ */
4447
+ metadata?: {
4448
+ [key: string]: unknown;
4449
+ } | null;
4422
4450
  /**
4423
4451
  * Server-owned. The result of the current state's last completed dispatch, overwritten on every dispatch. Read-only — exposed to transition guards and `on_complete`/`payload_writes` expressions as `task.last_result`, a namespace a caller cannot write.
4424
4452
  */
@@ -4498,6 +4526,16 @@ type CreateTaskRequest = {
4498
4526
  tool_context?: {
4499
4527
  [key: string]: string;
4500
4528
  };
4529
+ /**
4530
+ * Caller-supplied key/value metadata attached to the task record for attribution — which of your own tenants the task belongs to, the ticket that raised it, the import batch that created it. Round-trips verbatim on every read of the task, the list included, and survives every transition (a transition supplies no metadata of its own).
4531
+ *
4532
+ * The bag is caller-owned and no key is reserved: everything the engine decides about a task (`state`, `status`, `workflow_version`, `last_result`, `active_dispatch`, the automation fields) is a field of its own and cannot be written from here.
4533
+ *
4534
+ * Prefer this over `payload` for anything that is not task data: `payload` is read by every guard as `task.payload` and may be written by the workflow's declared `payload_writes`, so a label parked there is neither invisible to the state machine nor safe from it. A non-object is rejected with `400 VALIDATION_FAILED` and no task is created.
4535
+ */
4536
+ metadata?: {
4537
+ [key: string]: unknown;
4538
+ };
4501
4539
  };
4502
4540
  type UpdateTaskRequest = {
4503
4541
  title?: string;
@@ -4795,7 +4833,7 @@ type Trigger = {
4795
4833
  project_id?: string;
4796
4834
  name?: string;
4797
4835
  description?: string | null;
4798
- type?: 'manual' | 'webhook' | 'schedule';
4836
+ type?: 'manual' | 'webhook' | 'schedule' | 'event';
4799
4837
  target_type?: 'orchestration' | 'agent' | 'tool' | 'eval';
4800
4838
  /**
4801
4839
  * Public ID of the target resource (orchestration, agent, tool, or eval)
@@ -4815,6 +4853,10 @@ type Trigger = {
4815
4853
  * 5-field cron expression (UTC). Present only for schedule triggers
4816
4854
  */
4817
4855
  cron?: string | null;
4856
+ /**
4857
+ * Internal-event subscription pattern. Present only for event triggers: `*`, `prefix.*`, or an exact event name
4858
+ */
4859
+ event_pattern?: string | null;
4818
4860
  active?: boolean;
4819
4861
  /**
4820
4862
  * Optional boundary policy that further restricts firings
@@ -4836,7 +4878,7 @@ type TriggerWithSecret = Trigger & {
4836
4878
  type CreateTriggerRequest = {
4837
4879
  name: string;
4838
4880
  description?: string;
4839
- type: 'manual' | 'webhook' | 'schedule';
4881
+ type: 'manual' | 'webhook' | 'schedule' | 'event';
4840
4882
  target_type: 'orchestration' | 'agent' | 'tool' | 'eval';
4841
4883
  target_id: string;
4842
4884
  /**
@@ -4850,6 +4892,10 @@ type CreateTriggerRequest = {
4850
4892
  * 5-field cron expression (UTC). Required when type is schedule
4851
4893
  */
4852
4894
  cron?: string;
4895
+ /**
4896
+ * Internal-event subscription pattern. Required when type is event, rejected otherwise. `*` matches every event, `prefix.*` a namespace, or give an exact event name such as `documents.ingested`
4897
+ */
4898
+ event_pattern?: string;
4853
4899
  active?: boolean;
4854
4900
  policy_id?: string;
4855
4901
  };
@@ -4863,6 +4909,7 @@ type UpdateTriggerRequest = {
4863
4909
  [key: string]: unknown;
4864
4910
  } | null;
4865
4911
  cron?: string | null;
4912
+ event_pattern?: string | null;
4866
4913
  active?: boolean;
4867
4914
  policy_id?: string | null;
4868
4915
  };
@@ -4881,7 +4928,7 @@ type TriggerFiring = {
4881
4928
  id?: string;
4882
4929
  trigger_id?: string;
4883
4930
  project_id?: string;
4884
- source?: 'manual' | 'webhook' | 'schedule';
4931
+ source?: 'manual' | 'webhook' | 'schedule' | 'event';
4885
4932
  status?: 'pending' | 'running' | 'succeeded' | 'failed';
4886
4933
  input?: {
4887
4934
  [key: string]: unknown;
@@ -10398,6 +10445,14 @@ type StartEvalRunData = {
10398
10445
  * A terminal run of the same eval to compare against. The finished run's `aggregate_scores.baseline` reports per-scorer deltas over the item intersection. A run of a different eval is rejected with 400.
10399
10446
  */
10400
10447
  baseline_run_id?: string | null;
10448
+ /**
10449
+ * Caller-supplied key/value metadata attached to the run record for attribution — what this measurement was of (the commit or release candidate being scored, the CI job that asked for it). Round-trips verbatim on every read of the run, the list included.
10450
+ *
10451
+ * The bag is caller-owned and no key is reserved: everything the platform decides about a run (`status`, `agent_version`, `baseline_run_id`, `aggregate_scores`, `passed`, the counts) is a field of its own and cannot be written from here. Nothing in the scoring path reads it. A non-object is rejected with `400 VALIDATION_FAILED` and no run is created.
10452
+ */
10453
+ metadata?: {
10454
+ [key: string]: unknown;
10455
+ };
10401
10456
  };
10402
10457
  path: {
10403
10458
  /**
@@ -10603,7 +10658,7 @@ type ListExceptionsData = {
10603
10658
  /**
10604
10659
  * Filter by how the exception was filed
10605
10660
  */
10606
- kind?: 'run_failed' | 'guardrail_tripwire' | 'approval_expired' | 'quota_unpriced' | 'manual';
10661
+ kind?: 'run_failed' | 'guardrail_tripwire' | 'approval_expired' | 'quota_unpriced' | 'event_trigger_loop' | 'manual';
10607
10662
  /**
10608
10663
  * Maximum number of results to return
10609
10664
  */
@@ -13490,7 +13545,7 @@ type StartOrchestrationRunData = {
13490
13545
  };
13491
13546
  type StartOrchestrationRunErrors = {
13492
13547
  /**
13493
- * Validation error
13548
+ * Validation error (e.g. a `tool_context` key that cannot become a header, or `metadata` that is not a JSON object). No run is created.
13494
13549
  */
13495
13550
  400: unknown;
13496
13551
  /**
@@ -15615,7 +15670,7 @@ type ListTriggersData = {
15615
15670
  project_id: string;
15616
15671
  };
15617
15672
  query?: {
15618
- type?: 'manual' | 'webhook' | 'schedule';
15673
+ type?: 'manual' | 'webhook' | 'schedule' | 'event';
15619
15674
  target_type?: 'orchestration' | 'agent' | 'tool' | 'eval';
15620
15675
  /**
15621
15676
  * Maximum number of results to return
package/dist/index.d.mts CHANGED
@@ -2398,6 +2398,12 @@ type EvalRun = {
2398
2398
  item_count?: number;
2399
2399
  completed_count?: number;
2400
2400
  errored_count?: number;
2401
+ /**
2402
+ * The caller-owned key/value metadata supplied when the run was started, returned verbatim. Null when the run was started without any (a trigger-started run included — see `trigger_id` for that provenance). The server writes nothing here.
2403
+ */
2404
+ metadata?: {
2405
+ [key: string]: unknown;
2406
+ } | null;
2401
2407
  started_at?: Date | null;
2402
2408
  finished_at?: Date | null;
2403
2409
  created_at?: Date;
@@ -2435,7 +2441,7 @@ type ExceptionItem = {
2435
2441
  /**
2436
2442
  * How the exception was filed
2437
2443
  */
2438
- kind?: 'run_failed' | 'guardrail_tripwire' | 'approval_expired' | 'quota_unpriced' | 'manual';
2444
+ kind?: 'run_failed' | 'guardrail_tripwire' | 'approval_expired' | 'quota_unpriced' | 'event_trigger_loop' | 'manual';
2439
2445
  /**
2440
2446
  * Human-readable one-line summary
2441
2447
  */
@@ -3770,6 +3776,12 @@ type OrchestrationRun = {
3770
3776
  tool_context?: {
3771
3777
  [key: string]: string;
3772
3778
  } | null;
3779
+ /**
3780
+ * The caller-owned key/value metadata supplied at run creation, returned verbatim. Null when the run was started without any. The server writes nothing here and no key is reserved; the bag is never merged into `state`, so nothing in it reaches the graph.
3781
+ */
3782
+ metadata?: {
3783
+ [key: string]: unknown;
3784
+ } | null;
3773
3785
  /**
3774
3786
  * Terminal node artifact(s) when the run has succeeded.
3775
3787
  */
@@ -3908,6 +3920,16 @@ type StartRunRequest = {
3908
3920
  tool_context?: {
3909
3921
  [key: string]: string;
3910
3922
  };
3923
+ /**
3924
+ * Caller-supplied key/value metadata attached to the run record for per-run attribution (e.g. which of your own tenants this run belongs to, or the dispatch batch that started it). Round-trips verbatim on every read of the run, on the list as well as the single read.
3925
+ *
3926
+ * The bag is caller-owned and no key is reserved: server-owned state (status, the pinned orchestration version, the trace, usage, artifacts, the run's own `input` and accumulated `state`) lives in its own top-level field and cannot be written from here.
3927
+ *
3928
+ * It is **not** merged into run state: no graph node sees it, and an `input_schema` never has to tolerate it — which is what makes it the place for an infrastructural label, rather than `input`. Keys are never transformed. It is not inherited by the child runs a `loop` or `sub_orchestration` node starts; each child carries whatever the graph gives it, which today is nothing.
3929
+ */
3930
+ metadata?: {
3931
+ [key: string]: unknown;
3932
+ };
3911
3933
  /**
3912
3934
  * When true, block until the run reaches a terminal (succeeded/failed) or awaiting_input state and return the settled run. When false (default), return immediately with status "queued" and execute the run in the background.
3913
3935
  */
@@ -4419,6 +4441,12 @@ type Task = {
4419
4441
  payload?: {
4420
4442
  [key: string]: unknown;
4421
4443
  };
4444
+ /**
4445
+ * The caller-owned key/value metadata supplied when the task was created, returned verbatim. Null when the task was created without any. Unlike `payload` it is invisible to guards and to `payload_writes`, so it is the place for an attribution label rather than task data.
4446
+ */
4447
+ metadata?: {
4448
+ [key: string]: unknown;
4449
+ } | null;
4422
4450
  /**
4423
4451
  * Server-owned. The result of the current state's last completed dispatch, overwritten on every dispatch. Read-only — exposed to transition guards and `on_complete`/`payload_writes` expressions as `task.last_result`, a namespace a caller cannot write.
4424
4452
  */
@@ -4498,6 +4526,16 @@ type CreateTaskRequest = {
4498
4526
  tool_context?: {
4499
4527
  [key: string]: string;
4500
4528
  };
4529
+ /**
4530
+ * Caller-supplied key/value metadata attached to the task record for attribution — which of your own tenants the task belongs to, the ticket that raised it, the import batch that created it. Round-trips verbatim on every read of the task, the list included, and survives every transition (a transition supplies no metadata of its own).
4531
+ *
4532
+ * The bag is caller-owned and no key is reserved: everything the engine decides about a task (`state`, `status`, `workflow_version`, `last_result`, `active_dispatch`, the automation fields) is a field of its own and cannot be written from here.
4533
+ *
4534
+ * Prefer this over `payload` for anything that is not task data: `payload` is read by every guard as `task.payload` and may be written by the workflow's declared `payload_writes`, so a label parked there is neither invisible to the state machine nor safe from it. A non-object is rejected with `400 VALIDATION_FAILED` and no task is created.
4535
+ */
4536
+ metadata?: {
4537
+ [key: string]: unknown;
4538
+ };
4501
4539
  };
4502
4540
  type UpdateTaskRequest = {
4503
4541
  title?: string;
@@ -4795,7 +4833,7 @@ type Trigger = {
4795
4833
  project_id?: string;
4796
4834
  name?: string;
4797
4835
  description?: string | null;
4798
- type?: 'manual' | 'webhook' | 'schedule';
4836
+ type?: 'manual' | 'webhook' | 'schedule' | 'event';
4799
4837
  target_type?: 'orchestration' | 'agent' | 'tool' | 'eval';
4800
4838
  /**
4801
4839
  * Public ID of the target resource (orchestration, agent, tool, or eval)
@@ -4815,6 +4853,10 @@ type Trigger = {
4815
4853
  * 5-field cron expression (UTC). Present only for schedule triggers
4816
4854
  */
4817
4855
  cron?: string | null;
4856
+ /**
4857
+ * Internal-event subscription pattern. Present only for event triggers: `*`, `prefix.*`, or an exact event name
4858
+ */
4859
+ event_pattern?: string | null;
4818
4860
  active?: boolean;
4819
4861
  /**
4820
4862
  * Optional boundary policy that further restricts firings
@@ -4836,7 +4878,7 @@ type TriggerWithSecret = Trigger & {
4836
4878
  type CreateTriggerRequest = {
4837
4879
  name: string;
4838
4880
  description?: string;
4839
- type: 'manual' | 'webhook' | 'schedule';
4881
+ type: 'manual' | 'webhook' | 'schedule' | 'event';
4840
4882
  target_type: 'orchestration' | 'agent' | 'tool' | 'eval';
4841
4883
  target_id: string;
4842
4884
  /**
@@ -4850,6 +4892,10 @@ type CreateTriggerRequest = {
4850
4892
  * 5-field cron expression (UTC). Required when type is schedule
4851
4893
  */
4852
4894
  cron?: string;
4895
+ /**
4896
+ * Internal-event subscription pattern. Required when type is event, rejected otherwise. `*` matches every event, `prefix.*` a namespace, or give an exact event name such as `documents.ingested`
4897
+ */
4898
+ event_pattern?: string;
4853
4899
  active?: boolean;
4854
4900
  policy_id?: string;
4855
4901
  };
@@ -4863,6 +4909,7 @@ type UpdateTriggerRequest = {
4863
4909
  [key: string]: unknown;
4864
4910
  } | null;
4865
4911
  cron?: string | null;
4912
+ event_pattern?: string | null;
4866
4913
  active?: boolean;
4867
4914
  policy_id?: string | null;
4868
4915
  };
@@ -4881,7 +4928,7 @@ type TriggerFiring = {
4881
4928
  id?: string;
4882
4929
  trigger_id?: string;
4883
4930
  project_id?: string;
4884
- source?: 'manual' | 'webhook' | 'schedule';
4931
+ source?: 'manual' | 'webhook' | 'schedule' | 'event';
4885
4932
  status?: 'pending' | 'running' | 'succeeded' | 'failed';
4886
4933
  input?: {
4887
4934
  [key: string]: unknown;
@@ -10398,6 +10445,14 @@ type StartEvalRunData = {
10398
10445
  * A terminal run of the same eval to compare against. The finished run's `aggregate_scores.baseline` reports per-scorer deltas over the item intersection. A run of a different eval is rejected with 400.
10399
10446
  */
10400
10447
  baseline_run_id?: string | null;
10448
+ /**
10449
+ * Caller-supplied key/value metadata attached to the run record for attribution — what this measurement was of (the commit or release candidate being scored, the CI job that asked for it). Round-trips verbatim on every read of the run, the list included.
10450
+ *
10451
+ * The bag is caller-owned and no key is reserved: everything the platform decides about a run (`status`, `agent_version`, `baseline_run_id`, `aggregate_scores`, `passed`, the counts) is a field of its own and cannot be written from here. Nothing in the scoring path reads it. A non-object is rejected with `400 VALIDATION_FAILED` and no run is created.
10452
+ */
10453
+ metadata?: {
10454
+ [key: string]: unknown;
10455
+ };
10401
10456
  };
10402
10457
  path: {
10403
10458
  /**
@@ -10603,7 +10658,7 @@ type ListExceptionsData = {
10603
10658
  /**
10604
10659
  * Filter by how the exception was filed
10605
10660
  */
10606
- kind?: 'run_failed' | 'guardrail_tripwire' | 'approval_expired' | 'quota_unpriced' | 'manual';
10661
+ kind?: 'run_failed' | 'guardrail_tripwire' | 'approval_expired' | 'quota_unpriced' | 'event_trigger_loop' | 'manual';
10607
10662
  /**
10608
10663
  * Maximum number of results to return
10609
10664
  */
@@ -13490,7 +13545,7 @@ type StartOrchestrationRunData = {
13490
13545
  };
13491
13546
  type StartOrchestrationRunErrors = {
13492
13547
  /**
13493
- * Validation error
13548
+ * Validation error (e.g. a `tool_context` key that cannot become a header, or `metadata` that is not a JSON object). No run is created.
13494
13549
  */
13495
13550
  400: unknown;
13496
13551
  /**
@@ -15615,7 +15670,7 @@ type ListTriggersData = {
15615
15670
  project_id: string;
15616
15671
  };
15617
15672
  query?: {
15618
- type?: 'manual' | 'webhook' | 'schedule';
15673
+ type?: 'manual' | 'webhook' | 'schedule' | 'event';
15619
15674
  target_type?: 'orchestration' | 'agent' | 'tool' | 'eval';
15620
15675
  /**
15621
15676
  * Maximum number of results to return
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@naturali/sdk",
3
- "version": "0.78.4",
3
+ "version": "0.78.6",
4
4
  "description": "TypeScript SDK for the naturali.ai API, generated from its OpenAPI specs",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -37,7 +37,7 @@
37
37
  "tsx": "^4.23.1",
38
38
  "typescript": "~6.0.3",
39
39
  "vitest": "^4.1.10",
40
- "@naturali/api": "0.78.4"
40
+ "@naturali/api": "0.78.6"
41
41
  },
42
42
  "scripts": {
43
43
  "generate": "tsx scripts/generate.ts",