@axivoy/api 1.26.0 → 1.28.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.
@@ -377,6 +377,94 @@ export interface paths {
377
377
  patch?: never;
378
378
  trace?: never;
379
379
  };
380
+ "/ops/agents.budgets.update": {
381
+ parameters: {
382
+ query?: never;
383
+ header?: never;
384
+ path?: never;
385
+ cookie?: never;
386
+ };
387
+ get?: never;
388
+ put?: never;
389
+ /**
390
+ * Set an agent's limits
391
+ * @description Sets how many runs an agent may start per day, how many tool calls one run may make, and how many AI credits it may use per month. A run that reaches a limit waits for a person.
392
+ *
393
+ * Kind: `mutate`. Errors use the envelope `{error: {code, reason, message, fields}}`.
394
+ */
395
+ post: operations["ops.agents.budgets.update"];
396
+ delete?: never;
397
+ options?: never;
398
+ head?: never;
399
+ patch?: never;
400
+ trace?: never;
401
+ };
402
+ "/ops/agents.disable": {
403
+ parameters: {
404
+ query?: never;
405
+ header?: never;
406
+ path?: never;
407
+ cookie?: never;
408
+ };
409
+ get?: never;
410
+ put?: never;
411
+ /**
412
+ * Turn an agent off now
413
+ * @description Stops one agent in this workspace: no new runs start, a running turn stops at its next step, and approvals it was waiting on are withdrawn. Only a person on the web can turn it back on.
414
+ *
415
+ * Kind: `mutate`. Errors use the envelope `{error: {code, reason, message, fields}}`.
416
+ */
417
+ post: operations["ops.agents.disable"];
418
+ delete?: never;
419
+ options?: never;
420
+ head?: never;
421
+ patch?: never;
422
+ trace?: never;
423
+ };
424
+ "/ops/agents.runs.cancel": {
425
+ parameters: {
426
+ query?: never;
427
+ header?: never;
428
+ path?: never;
429
+ cookie?: never;
430
+ };
431
+ get?: never;
432
+ put?: never;
433
+ /**
434
+ * Cancel an agent run
435
+ * @description Ends one agent run: the step under way is the last one, and approvals it was waiting on are withdrawn. The agent itself stays on.
436
+ *
437
+ * Kind: `mutate`. Errors use the envelope `{error: {code, reason, message, fields}}`.
438
+ */
439
+ post: operations["ops.agents.runs.cancel"];
440
+ delete?: never;
441
+ options?: never;
442
+ head?: never;
443
+ patch?: never;
444
+ trace?: never;
445
+ };
446
+ "/ops/agents.runs.list": {
447
+ parameters: {
448
+ query?: never;
449
+ header?: never;
450
+ path?: never;
451
+ cookie?: never;
452
+ };
453
+ get?: never;
454
+ put?: never;
455
+ /**
456
+ * List an agent's runs
457
+ * @description One agent's runs, newest first: what each run is about, its status, how many steps it took, the AI credits it used so far, and the last operation it called.
458
+ *
459
+ * Kind: `read`. Errors use the envelope `{error: {code, reason, message, fields}}`.
460
+ */
461
+ post: operations["ops.agents.runs.list"];
462
+ delete?: never;
463
+ options?: never;
464
+ head?: never;
465
+ patch?: never;
466
+ trace?: never;
467
+ };
380
468
  "/ops/ai.jobs.list": {
381
469
  parameters: {
382
470
  query?: never;
@@ -20222,6 +20310,585 @@ export interface operations {
20222
20310
  };
20223
20311
  };
20224
20312
  };
20313
+ "ops.agents.budgets.update": {
20314
+ parameters: {
20315
+ query?: never;
20316
+ header?: {
20317
+ /** @description Replays the first result when the same call is retried. Send one per user intent on writes. */
20318
+ "Idempotency-Key"?: string;
20319
+ /** @description Send `true` to run every check without changing anything. The answer is `{"dry_run": {"outcome": "would_run" | "would_propose", "input": {...}}}`. */
20320
+ "Axivoy-Dry-Run"?: "true" | "false";
20321
+ };
20322
+ path?: never;
20323
+ cookie?: never;
20324
+ };
20325
+ requestBody?: {
20326
+ content: {
20327
+ /**
20328
+ * @example {
20329
+ * "agent_key": "tms_advisor",
20330
+ * "max_tool_calls_per_run": 30,
20331
+ * "monthly_credit_budget": null
20332
+ * }
20333
+ */
20334
+ "application/json": {
20335
+ /** @description The agent's key, for example recruiting_desk. */
20336
+ agent_key: string;
20337
+ /** @description Runs the agent may start per UTC day; null removes the limit, left out keeps it. */
20338
+ max_runs_per_day?: number | null;
20339
+ /** @description Tool calls one run may make; null removes the limit, left out keeps it. */
20340
+ max_tool_calls_per_run?: number | null;
20341
+ /** @description AI credits the agent may use per UTC month; null removes the limit, left out keeps it. */
20342
+ monthly_credit_budget?: number | null;
20343
+ };
20344
+ };
20345
+ };
20346
+ responses: {
20347
+ /** @description The operation ran. */
20348
+ 200: {
20349
+ headers: {
20350
+ [name: string]: unknown;
20351
+ };
20352
+ content: {
20353
+ /**
20354
+ * @example {
20355
+ * "result": {
20356
+ * "message": "Limits saved.",
20357
+ * "active_version": 3,
20358
+ * "max_runs_per_day": 5,
20359
+ * "max_tool_calls_per_run": 30,
20360
+ * "monthly_credit_budget": null
20361
+ * }
20362
+ * }
20363
+ */
20364
+ "application/json": {
20365
+ result: {
20366
+ /** @description What happened, in the operator's words */
20367
+ message: string;
20368
+ /** @description The version that now carries the limits */
20369
+ active_version: number;
20370
+ /** @description Runs per UTC day; null when unlimited */
20371
+ max_runs_per_day?: number | null;
20372
+ /** @description Tool calls per run; null when unlimited */
20373
+ max_tool_calls_per_run?: number | null;
20374
+ /** @description AI credits per UTC month; null when unlimited */
20375
+ monthly_credit_budget?: number | null;
20376
+ };
20377
+ };
20378
+ };
20379
+ };
20380
+ 202: components["responses"]["Proposal"];
20381
+ /** @description Refused: credits_exhausted. */
20382
+ 402: {
20383
+ headers: {
20384
+ [name: string]: unknown;
20385
+ };
20386
+ content: {
20387
+ "application/json": components["schemas"]["OperationError"];
20388
+ };
20389
+ };
20390
+ /** @description Refused: not_permitted, not_available, authority_off, data_class_blocked. */
20391
+ 403: {
20392
+ headers: {
20393
+ [name: string]: unknown;
20394
+ };
20395
+ content: {
20396
+ "application/json": components["schemas"]["OperationError"];
20397
+ };
20398
+ };
20399
+ /** @description Refused: not_found. */
20400
+ 404: {
20401
+ headers: {
20402
+ [name: string]: unknown;
20403
+ };
20404
+ content: {
20405
+ "application/json": components["schemas"]["OperationError"];
20406
+ };
20407
+ };
20408
+ /** @description Refused: idempotency_conflict, stale_state. */
20409
+ 409: {
20410
+ headers: {
20411
+ [name: string]: unknown;
20412
+ };
20413
+ content: {
20414
+ "application/json": components["schemas"]["OperationError"];
20415
+ };
20416
+ };
20417
+ /** @description Refused: operation_retired. */
20418
+ 410: {
20419
+ headers: {
20420
+ [name: string]: unknown;
20421
+ };
20422
+ content: {
20423
+ "application/json": components["schemas"]["OperationError"];
20424
+ };
20425
+ };
20426
+ /** @description Refused: invalid_input, domain_rule. */
20427
+ 422: {
20428
+ headers: {
20429
+ [name: string]: unknown;
20430
+ };
20431
+ content: {
20432
+ "application/json": components["schemas"]["OperationError"];
20433
+ };
20434
+ };
20435
+ /** @description Refused: rate_limited. */
20436
+ 429: {
20437
+ headers: {
20438
+ [name: string]: unknown;
20439
+ };
20440
+ content: {
20441
+ "application/json": components["schemas"]["OperationError"];
20442
+ };
20443
+ };
20444
+ };
20445
+ };
20446
+ "ops.agents.disable": {
20447
+ parameters: {
20448
+ query?: never;
20449
+ header?: {
20450
+ /** @description Replays the first result when the same call is retried. Send one per user intent on writes. */
20451
+ "Idempotency-Key"?: string;
20452
+ /** @description Send `true` to run every check without changing anything. The answer is `{"dry_run": {"outcome": "would_run" | "would_propose", "input": {...}}}`. */
20453
+ "Axivoy-Dry-Run"?: "true" | "false";
20454
+ };
20455
+ path?: never;
20456
+ cookie?: never;
20457
+ };
20458
+ requestBody?: {
20459
+ content: {
20460
+ /**
20461
+ * @example {
20462
+ * "agent_key": "fixture_desk",
20463
+ * "reason": "Stop"
20464
+ * }
20465
+ */
20466
+ "application/json": {
20467
+ /** @description The agent's key, for example recruiting_desk. */
20468
+ agent_key: string;
20469
+ /** @description Why the agent is being turned off; shown to whoever turns it back on. */
20470
+ reason: string;
20471
+ };
20472
+ };
20473
+ };
20474
+ responses: {
20475
+ /** @description The operation ran. */
20476
+ 200: {
20477
+ headers: {
20478
+ [name: string]: unknown;
20479
+ };
20480
+ content: {
20481
+ /**
20482
+ * @example {
20483
+ * "result": {
20484
+ * "message": "Agent turned off.",
20485
+ * "status": "disabled",
20486
+ * "disabled_at": "2026-10-20T19:10:03Z",
20487
+ * "held_runs_count": 1,
20488
+ * "withdrawn_approvals_count": 0
20489
+ * }
20490
+ * }
20491
+ */
20492
+ "application/json": {
20493
+ result: {
20494
+ /** @description What happened, in the operator's words */
20495
+ message: string;
20496
+ /** @description disabled */
20497
+ status: string;
20498
+ /**
20499
+ * Format: date-time
20500
+ * @description When the agent was turned off
20501
+ */
20502
+ disabled_at: string;
20503
+ /** @description Open runs put on hold */
20504
+ held_runs_count: number;
20505
+ /** @description Approvals the agent was waiting on that were withdrawn */
20506
+ withdrawn_approvals_count: number;
20507
+ };
20508
+ };
20509
+ };
20510
+ };
20511
+ 202: components["responses"]["Proposal"];
20512
+ /** @description Refused: credits_exhausted. */
20513
+ 402: {
20514
+ headers: {
20515
+ [name: string]: unknown;
20516
+ };
20517
+ content: {
20518
+ "application/json": components["schemas"]["OperationError"];
20519
+ };
20520
+ };
20521
+ /** @description Refused: not_permitted, not_available, authority_off, data_class_blocked. */
20522
+ 403: {
20523
+ headers: {
20524
+ [name: string]: unknown;
20525
+ };
20526
+ content: {
20527
+ "application/json": components["schemas"]["OperationError"];
20528
+ };
20529
+ };
20530
+ /** @description Refused: not_found. */
20531
+ 404: {
20532
+ headers: {
20533
+ [name: string]: unknown;
20534
+ };
20535
+ content: {
20536
+ "application/json": components["schemas"]["OperationError"];
20537
+ };
20538
+ };
20539
+ /** @description Refused: idempotency_conflict, stale_state. */
20540
+ 409: {
20541
+ headers: {
20542
+ [name: string]: unknown;
20543
+ };
20544
+ content: {
20545
+ "application/json": components["schemas"]["OperationError"];
20546
+ };
20547
+ };
20548
+ /** @description Refused: operation_retired. */
20549
+ 410: {
20550
+ headers: {
20551
+ [name: string]: unknown;
20552
+ };
20553
+ content: {
20554
+ "application/json": components["schemas"]["OperationError"];
20555
+ };
20556
+ };
20557
+ /** @description Refused: invalid_input, domain_rule. */
20558
+ 422: {
20559
+ headers: {
20560
+ [name: string]: unknown;
20561
+ };
20562
+ content: {
20563
+ "application/json": components["schemas"]["OperationError"];
20564
+ };
20565
+ };
20566
+ /** @description Refused: rate_limited. */
20567
+ 429: {
20568
+ headers: {
20569
+ [name: string]: unknown;
20570
+ };
20571
+ content: {
20572
+ "application/json": components["schemas"]["OperationError"];
20573
+ };
20574
+ };
20575
+ };
20576
+ };
20577
+ "ops.agents.runs.cancel": {
20578
+ parameters: {
20579
+ query?: never;
20580
+ header?: {
20581
+ /** @description Replays the first result when the same call is retried. Send one per user intent on writes. */
20582
+ "Idempotency-Key"?: string;
20583
+ /** @description Send `true` to run every check without changing anything. The answer is `{"dry_run": {"outcome": "would_run" | "would_propose", "input": {...}}}`. */
20584
+ "Axivoy-Dry-Run"?: "true" | "false";
20585
+ };
20586
+ path?: never;
20587
+ cookie?: never;
20588
+ };
20589
+ requestBody?: {
20590
+ content: {
20591
+ /**
20592
+ * @example {
20593
+ * "run_id": 1,
20594
+ * "reason": "Wrong file"
20595
+ * }
20596
+ */
20597
+ "application/json": {
20598
+ /** @description The run to cancel (from agents.runs.list). */
20599
+ run_id: number;
20600
+ /** @description Why, for the run timeline and the audit log. */
20601
+ reason?: string | null;
20602
+ };
20603
+ };
20604
+ };
20605
+ responses: {
20606
+ /** @description The operation ran. */
20607
+ 200: {
20608
+ headers: {
20609
+ [name: string]: unknown;
20610
+ };
20611
+ content: {
20612
+ /**
20613
+ * @example {
20614
+ * "result": {
20615
+ * "message": "Run cancelled.",
20616
+ * "status": "completed",
20617
+ * "cancelled": true,
20618
+ * "withdrawn_approvals_count": 0
20619
+ * }
20620
+ * }
20621
+ */
20622
+ "application/json": {
20623
+ result: {
20624
+ /** @description What happened, in the operator's words */
20625
+ message: string;
20626
+ /** @description The run status after the call */
20627
+ status: string;
20628
+ /** @description False when the run had already ended */
20629
+ cancelled: boolean;
20630
+ /** @description Approvals the run was waiting on that were withdrawn */
20631
+ withdrawn_approvals_count: number;
20632
+ };
20633
+ };
20634
+ };
20635
+ };
20636
+ 202: components["responses"]["Proposal"];
20637
+ /** @description Refused: credits_exhausted. */
20638
+ 402: {
20639
+ headers: {
20640
+ [name: string]: unknown;
20641
+ };
20642
+ content: {
20643
+ "application/json": components["schemas"]["OperationError"];
20644
+ };
20645
+ };
20646
+ /** @description Refused: not_permitted, not_available, authority_off, data_class_blocked. */
20647
+ 403: {
20648
+ headers: {
20649
+ [name: string]: unknown;
20650
+ };
20651
+ content: {
20652
+ "application/json": components["schemas"]["OperationError"];
20653
+ };
20654
+ };
20655
+ /** @description Refused: not_found. */
20656
+ 404: {
20657
+ headers: {
20658
+ [name: string]: unknown;
20659
+ };
20660
+ content: {
20661
+ "application/json": components["schemas"]["OperationError"];
20662
+ };
20663
+ };
20664
+ /** @description Refused: idempotency_conflict, stale_state. */
20665
+ 409: {
20666
+ headers: {
20667
+ [name: string]: unknown;
20668
+ };
20669
+ content: {
20670
+ "application/json": components["schemas"]["OperationError"];
20671
+ };
20672
+ };
20673
+ /** @description Refused: operation_retired. */
20674
+ 410: {
20675
+ headers: {
20676
+ [name: string]: unknown;
20677
+ };
20678
+ content: {
20679
+ "application/json": components["schemas"]["OperationError"];
20680
+ };
20681
+ };
20682
+ /** @description Refused: invalid_input, domain_rule. */
20683
+ 422: {
20684
+ headers: {
20685
+ [name: string]: unknown;
20686
+ };
20687
+ content: {
20688
+ "application/json": components["schemas"]["OperationError"];
20689
+ };
20690
+ };
20691
+ /** @description Refused: rate_limited. */
20692
+ 429: {
20693
+ headers: {
20694
+ [name: string]: unknown;
20695
+ };
20696
+ content: {
20697
+ "application/json": components["schemas"]["OperationError"];
20698
+ };
20699
+ };
20700
+ };
20701
+ };
20702
+ "ops.agents.runs.list": {
20703
+ parameters: {
20704
+ query?: never;
20705
+ header?: {
20706
+ /** @description Replays the first result when the same call is retried. Send one per user intent on writes. */
20707
+ "Idempotency-Key"?: string;
20708
+ /** @description Send `true` to run every check without changing anything. The answer is `{"dry_run": {"outcome": "would_run" | "would_propose", "input": {...}}}`. */
20709
+ "Axivoy-Dry-Run"?: "true" | "false";
20710
+ };
20711
+ path?: never;
20712
+ cookie?: never;
20713
+ };
20714
+ requestBody?: {
20715
+ content: {
20716
+ /**
20717
+ * @example {
20718
+ * "agent_key": "fixture_desk"
20719
+ * }
20720
+ */
20721
+ "application/json": {
20722
+ /** @description The agent's key, for example recruiting_desk. */
20723
+ agent_key: string;
20724
+ /**
20725
+ * @description running, parked (waiting for a person), finished, or cancelled; all when left out.
20726
+ * @enum {string|null}
20727
+ */
20728
+ status?: "running" | "parked" | "finished" | "cancelled" | null;
20729
+ /** @description Cursor from the previous page's next_cursor. */
20730
+ cursor?: string | null;
20731
+ /** @description Rows per page (default 25). */
20732
+ limit?: number | null;
20733
+ /**
20734
+ * Format: date-time
20735
+ * @description Only rows changed at or after this instant, oldest change first, with deleted rows as tombstones.
20736
+ */
20737
+ updated_since?: string | null;
20738
+ };
20739
+ };
20740
+ };
20741
+ responses: {
20742
+ /** @description The operation ran. */
20743
+ 200: {
20744
+ headers: {
20745
+ [name: string]: unknown;
20746
+ };
20747
+ content: {
20748
+ /**
20749
+ * @example {
20750
+ * "result": {
20751
+ * "items": [
20752
+ * {
20753
+ * "id": 2,
20754
+ * "subject": "user:2",
20755
+ * "status": "cancelled",
20756
+ * "run_status": "completed",
20757
+ * "reason": "run_cancelled",
20758
+ * "steps": 0,
20759
+ * "credits_used": 0,
20760
+ * "last_operation_key": null,
20761
+ * "started_at": null,
20762
+ * "completed_at": null,
20763
+ * "delegate": "ai_agent_run:2",
20764
+ * "deleted": null
20765
+ * },
20766
+ * {
20767
+ * "id": 1,
20768
+ * "subject": "user:1",
20769
+ * "status": "running",
20770
+ * "run_status": "waiting",
20771
+ * "reason": null,
20772
+ * "steps": 0,
20773
+ * "credits_used": 0,
20774
+ * "last_operation_key": null,
20775
+ * "started_at": "2026-10-20T19:10:09Z",
20776
+ * "completed_at": null,
20777
+ * "delegate": "ai_agent_run:1",
20778
+ * "deleted": null
20779
+ * }
20780
+ * ],
20781
+ * "next_cursor": null
20782
+ * }
20783
+ * }
20784
+ */
20785
+ "application/json": {
20786
+ result: {
20787
+ /** @description One page of rows. */
20788
+ items: {
20789
+ /** @description The row's id. */
20790
+ id: number;
20791
+ /** @description What the run is about, as type:id */
20792
+ subject?: string | null;
20793
+ /** @description running, parked, finished or cancelled */
20794
+ status: string;
20795
+ /** @description The run's own status: pending, active, waiting, paused, completed or failed */
20796
+ run_status: string;
20797
+ /** @description Why a parked run waits or how a finished run ended */
20798
+ reason?: string | null;
20799
+ /** @description Steps recorded so far */
20800
+ steps: number;
20801
+ /** @description AI credits the run used so far */
20802
+ credits_used: number;
20803
+ /** @description The operation or tool the run called last */
20804
+ last_operation_key?: string | null;
20805
+ /**
20806
+ * Format: date-time
20807
+ * @description When the run first thought
20808
+ */
20809
+ started_at?: string | null;
20810
+ /**
20811
+ * Format: date-time
20812
+ * @description When the run ended
20813
+ */
20814
+ completed_at?: string | null;
20815
+ /** @description What audit entries for this run record as the delegate */
20816
+ delegate: string;
20817
+ /** @description True on a tombstone (the row was deleted or recycled); other fields are absent. */
20818
+ deleted?: boolean | null;
20819
+ }[];
20820
+ /** @description Pass as cursor for the next page; null on the last page. */
20821
+ next_cursor?: string | null;
20822
+ };
20823
+ };
20824
+ };
20825
+ };
20826
+ 202: components["responses"]["Proposal"];
20827
+ /** @description Refused: credits_exhausted. */
20828
+ 402: {
20829
+ headers: {
20830
+ [name: string]: unknown;
20831
+ };
20832
+ content: {
20833
+ "application/json": components["schemas"]["OperationError"];
20834
+ };
20835
+ };
20836
+ /** @description Refused: not_permitted, not_available, authority_off, data_class_blocked. */
20837
+ 403: {
20838
+ headers: {
20839
+ [name: string]: unknown;
20840
+ };
20841
+ content: {
20842
+ "application/json": components["schemas"]["OperationError"];
20843
+ };
20844
+ };
20845
+ /** @description Refused: not_found. */
20846
+ 404: {
20847
+ headers: {
20848
+ [name: string]: unknown;
20849
+ };
20850
+ content: {
20851
+ "application/json": components["schemas"]["OperationError"];
20852
+ };
20853
+ };
20854
+ /** @description Refused: idempotency_conflict, stale_state. */
20855
+ 409: {
20856
+ headers: {
20857
+ [name: string]: unknown;
20858
+ };
20859
+ content: {
20860
+ "application/json": components["schemas"]["OperationError"];
20861
+ };
20862
+ };
20863
+ /** @description Refused: operation_retired. */
20864
+ 410: {
20865
+ headers: {
20866
+ [name: string]: unknown;
20867
+ };
20868
+ content: {
20869
+ "application/json": components["schemas"]["OperationError"];
20870
+ };
20871
+ };
20872
+ /** @description Refused: invalid_input, domain_rule. */
20873
+ 422: {
20874
+ headers: {
20875
+ [name: string]: unknown;
20876
+ };
20877
+ content: {
20878
+ "application/json": components["schemas"]["OperationError"];
20879
+ };
20880
+ };
20881
+ /** @description Refused: rate_limited. */
20882
+ 429: {
20883
+ headers: {
20884
+ [name: string]: unknown;
20885
+ };
20886
+ content: {
20887
+ "application/json": components["schemas"]["OperationError"];
20888
+ };
20889
+ };
20890
+ };
20891
+ };
20225
20892
  "ops.ai.jobs.list": {
20226
20893
  parameters: {
20227
20894
  query?: never;
@@ -26351,7 +27018,7 @@ export interface operations {
26351
27018
  plan_id: number;
26352
27019
  /** @description First day of the new version, YYYY-MM-DD */
26353
27020
  effective_from: string | null;
26354
- /** @description Confirms a past date; unlocked pay lines are not recalculated automatically */
27021
+ /** @description Confirms a past date; unlocked pay lines from that date are recalculated in the background */
26355
27022
  confirm_past_effective?: boolean | string | number | null;
26356
27023
  };
26357
27024
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@axivoy/api",
3
- "version": "1.26.0",
3
+ "version": "1.28.0",
4
4
  "description": "Typed client for the Axivoy API: operations, webhooks and errors.",
5
5
  "license": "MIT",
6
6
  "homepage": "https://app.axivoy.ai/developers",