@soat/sdk 0.15.6 → 0.15.7

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.cjs CHANGED
@@ -955,7 +955,7 @@ var ApiKeys = class {
955
955
  /**
956
956
  * Create an API key
957
957
  *
958
- * Creates a new API key for the authenticated user. - `project_id` is required: every key is scoped to exactly one project. - If `policy_ids` is provided, the key's effective permissions are the intersection of the user's policies and the key's policies. - Otherwise the key inherits the user's permissions, confined to the key's project.
958
+ * Creates a new API key for the authenticated user. - `project_id` is optional. When set, the key is scoped to that single project. When omitted or null, the key is **unscoped** and spans every project its owner can reach. - If `policy_ids` is provided, the key's effective permissions are the intersection of the user's policies and the key's policies. - Otherwise the key inherits the user's permissions (confined to the key's project when scoped).
959
959
  *
960
960
  */
961
961
  static createApiKey(options) {
@@ -993,7 +993,7 @@ var ApiKeys = class {
993
993
  /**
994
994
  * Update an API key
995
995
  *
996
- * Updates an API key's name, project scope, or policies. The project scope can be changed to another project but never cleared. Only the owner or an admin can update it.
996
+ * Updates an API key's name, project scope, or policies. The project scope can be changed to another project, set (scoping a previously unscoped key), or cleared with null (unscoping the key). Only the owner or an admin can update it.
997
997
  */
998
998
  static updateApiKey(options) {
999
999
  return (options.client ?? client).put({
package/dist/index.d.cts CHANGED
@@ -920,9 +920,9 @@ type ApiKeyRecord = {
920
920
  */
921
921
  user_id?: string;
922
922
  /**
923
- * The project this key is scoped to
923
+ * The project this key is scoped to, or null for an unscoped key that spans projects
924
924
  */
925
- project_id?: string;
925
+ project_id?: string | null;
926
926
  /**
927
927
  * Public IDs of policies attached to this key
928
928
  */
@@ -949,6 +949,10 @@ type ApprovalItem = {
949
949
  */
950
950
  proposed_action?: {
951
951
  tool_id?: string;
952
+ /**
953
+ * Resolved action name (the soat/mcp action) for tool-call items; omitted for single-action tools
954
+ */
955
+ action?: string;
952
956
  arguments?: {
953
957
  [key: string]: unknown;
954
958
  };
@@ -987,6 +991,10 @@ type ApprovalItem = {
987
991
  * Originating generation (tool-call producer)
988
992
  */
989
993
  generation_id?: string | null;
994
+ /**
995
+ * Session the originating generation ran in (tool-call producer)
996
+ */
997
+ session_id?: string | null;
990
998
  /**
991
999
  * Proposing agent
992
1000
  */
@@ -2458,7 +2466,8 @@ type Formation = {
2458
2466
  */
2459
2467
  status?: 'creating' | 'active' | 'updating' | 'failed' | 'deleting' | 'deleted' | 'delete_failed';
2460
2468
  /**
2461
- * Arbitrary metadata stored on the formation record (supplied at create/update).
2469
+ * Static annotations stored on the formation record (supplied at create/update). Not a substitution site — `sub`/`param`/`ref` expressions are rejected. Use the template's top-level `metadata` block for deploy-time substitution (see `resolved_metadata`).
2470
+ *
2462
2471
  */
2463
2472
  metadata?: {
2464
2473
  [key: string]: unknown;
@@ -5377,9 +5386,9 @@ type CreateApiKeyData = {
5377
5386
  */
5378
5387
  name: string;
5379
5388
  /**
5380
- * Project ID this key is scoped to. Required keys cannot span projects.
5389
+ * Optional project ID to scope the key to. Omit or set null to create an unscoped key that spans projects.
5381
5390
  */
5382
- project_id: string;
5391
+ project_id?: string | null;
5383
5392
  /**
5384
5393
  * Optional list of policy IDs to attach. Key permissions become the intersection of user policies and these policies.
5385
5394
  */
@@ -5475,9 +5484,9 @@ type UpdateApiKeyData = {
5475
5484
  body: {
5476
5485
  name?: string;
5477
5486
  /**
5478
- * Re-scope the key to a different project. Cannot be null keys are always project-scoped.
5487
+ * Re-scope the key to a different project, or set null to clear the scope (unscoped key). Omit to leave the scope unchanged.
5479
5488
  */
5480
- project_id?: string;
5489
+ project_id?: string | null;
5481
5490
  /**
5482
5491
  * Replace the key's policy list (empty array removes all)
5483
5492
  */
@@ -7929,6 +7938,10 @@ type CreateFormationData = {
7929
7938
  parameters?: {
7930
7939
  [key: string]: string;
7931
7940
  } | null;
7941
+ /**
7942
+ * Static annotations stored on the formation record. This field is NOT a substitution site: `sub`/`param`/`ref` expressions are rejected with 400 (`FORMATION_INVALID_METADATA`). For deploy-time substitution use the template's top-level `metadata` block, which is resolved into `resolved_metadata`.
7943
+ *
7944
+ */
7932
7945
  metadata?: {
7933
7946
  [key: string]: unknown;
7934
7947
  } | null;
@@ -8032,6 +8045,10 @@ type UpdateFormationData = {
8032
8045
  parameters?: {
8033
8046
  [key: string]: string;
8034
8047
  } | null;
8048
+ /**
8049
+ * Static annotations stored on the formation record. This field is NOT a substitution site: `sub`/`param`/`ref` expressions are rejected with 400 (`FORMATION_INVALID_METADATA`). For deploy-time substitution use the template's top-level `metadata` block, which is resolved into `resolved_metadata`.
8050
+ *
8051
+ */
8035
8052
  metadata?: {
8036
8053
  [key: string]: unknown;
8037
8054
  } | null;
@@ -11915,7 +11932,7 @@ declare class ApiKeys {
11915
11932
  /**
11916
11933
  * Create an API key
11917
11934
  *
11918
- * Creates a new API key for the authenticated user. - `project_id` is required: every key is scoped to exactly one project. - If `policy_ids` is provided, the key's effective permissions are the intersection of the user's policies and the key's policies. - Otherwise the key inherits the user's permissions, confined to the key's project.
11935
+ * Creates a new API key for the authenticated user. - `project_id` is optional. When set, the key is scoped to that single project. When omitted or null, the key is **unscoped** and spans every project its owner can reach. - If `policy_ids` is provided, the key's effective permissions are the intersection of the user's policies and the key's policies. - Otherwise the key inherits the user's permissions (confined to the key's project when scoped).
11919
11936
  *
11920
11937
  */
11921
11938
  static createApiKey<ThrowOnError extends boolean = false>(options: Options<CreateApiKeyData, ThrowOnError>): RequestResult<CreateApiKeyResponses, CreateApiKeyErrors, ThrowOnError>;
@@ -11934,7 +11951,7 @@ declare class ApiKeys {
11934
11951
  /**
11935
11952
  * Update an API key
11936
11953
  *
11937
- * Updates an API key's name, project scope, or policies. The project scope can be changed to another project but never cleared. Only the owner or an admin can update it.
11954
+ * Updates an API key's name, project scope, or policies. The project scope can be changed to another project, set (scoping a previously unscoped key), or cleared with null (unscoping the key). Only the owner or an admin can update it.
11938
11955
  */
11939
11956
  static updateApiKey<ThrowOnError extends boolean = false>(options: Options<UpdateApiKeyData, ThrowOnError>): RequestResult<UpdateApiKeyResponses, UpdateApiKeyErrors, ThrowOnError>;
11940
11957
  }
package/dist/index.d.mts CHANGED
@@ -920,9 +920,9 @@ type ApiKeyRecord = {
920
920
  */
921
921
  user_id?: string;
922
922
  /**
923
- * The project this key is scoped to
923
+ * The project this key is scoped to, or null for an unscoped key that spans projects
924
924
  */
925
- project_id?: string;
925
+ project_id?: string | null;
926
926
  /**
927
927
  * Public IDs of policies attached to this key
928
928
  */
@@ -949,6 +949,10 @@ type ApprovalItem = {
949
949
  */
950
950
  proposed_action?: {
951
951
  tool_id?: string;
952
+ /**
953
+ * Resolved action name (the soat/mcp action) for tool-call items; omitted for single-action tools
954
+ */
955
+ action?: string;
952
956
  arguments?: {
953
957
  [key: string]: unknown;
954
958
  };
@@ -987,6 +991,10 @@ type ApprovalItem = {
987
991
  * Originating generation (tool-call producer)
988
992
  */
989
993
  generation_id?: string | null;
994
+ /**
995
+ * Session the originating generation ran in (tool-call producer)
996
+ */
997
+ session_id?: string | null;
990
998
  /**
991
999
  * Proposing agent
992
1000
  */
@@ -2458,7 +2466,8 @@ type Formation = {
2458
2466
  */
2459
2467
  status?: 'creating' | 'active' | 'updating' | 'failed' | 'deleting' | 'deleted' | 'delete_failed';
2460
2468
  /**
2461
- * Arbitrary metadata stored on the formation record (supplied at create/update).
2469
+ * Static annotations stored on the formation record (supplied at create/update). Not a substitution site — `sub`/`param`/`ref` expressions are rejected. Use the template's top-level `metadata` block for deploy-time substitution (see `resolved_metadata`).
2470
+ *
2462
2471
  */
2463
2472
  metadata?: {
2464
2473
  [key: string]: unknown;
@@ -5377,9 +5386,9 @@ type CreateApiKeyData = {
5377
5386
  */
5378
5387
  name: string;
5379
5388
  /**
5380
- * Project ID this key is scoped to. Required keys cannot span projects.
5389
+ * Optional project ID to scope the key to. Omit or set null to create an unscoped key that spans projects.
5381
5390
  */
5382
- project_id: string;
5391
+ project_id?: string | null;
5383
5392
  /**
5384
5393
  * Optional list of policy IDs to attach. Key permissions become the intersection of user policies and these policies.
5385
5394
  */
@@ -5475,9 +5484,9 @@ type UpdateApiKeyData = {
5475
5484
  body: {
5476
5485
  name?: string;
5477
5486
  /**
5478
- * Re-scope the key to a different project. Cannot be null keys are always project-scoped.
5487
+ * Re-scope the key to a different project, or set null to clear the scope (unscoped key). Omit to leave the scope unchanged.
5479
5488
  */
5480
- project_id?: string;
5489
+ project_id?: string | null;
5481
5490
  /**
5482
5491
  * Replace the key's policy list (empty array removes all)
5483
5492
  */
@@ -7929,6 +7938,10 @@ type CreateFormationData = {
7929
7938
  parameters?: {
7930
7939
  [key: string]: string;
7931
7940
  } | null;
7941
+ /**
7942
+ * Static annotations stored on the formation record. This field is NOT a substitution site: `sub`/`param`/`ref` expressions are rejected with 400 (`FORMATION_INVALID_METADATA`). For deploy-time substitution use the template's top-level `metadata` block, which is resolved into `resolved_metadata`.
7943
+ *
7944
+ */
7932
7945
  metadata?: {
7933
7946
  [key: string]: unknown;
7934
7947
  } | null;
@@ -8032,6 +8045,10 @@ type UpdateFormationData = {
8032
8045
  parameters?: {
8033
8046
  [key: string]: string;
8034
8047
  } | null;
8048
+ /**
8049
+ * Static annotations stored on the formation record. This field is NOT a substitution site: `sub`/`param`/`ref` expressions are rejected with 400 (`FORMATION_INVALID_METADATA`). For deploy-time substitution use the template's top-level `metadata` block, which is resolved into `resolved_metadata`.
8050
+ *
8051
+ */
8035
8052
  metadata?: {
8036
8053
  [key: string]: unknown;
8037
8054
  } | null;
@@ -11915,7 +11932,7 @@ declare class ApiKeys {
11915
11932
  /**
11916
11933
  * Create an API key
11917
11934
  *
11918
- * Creates a new API key for the authenticated user. - `project_id` is required: every key is scoped to exactly one project. - If `policy_ids` is provided, the key's effective permissions are the intersection of the user's policies and the key's policies. - Otherwise the key inherits the user's permissions, confined to the key's project.
11935
+ * Creates a new API key for the authenticated user. - `project_id` is optional. When set, the key is scoped to that single project. When omitted or null, the key is **unscoped** and spans every project its owner can reach. - If `policy_ids` is provided, the key's effective permissions are the intersection of the user's policies and the key's policies. - Otherwise the key inherits the user's permissions (confined to the key's project when scoped).
11919
11936
  *
11920
11937
  */
11921
11938
  static createApiKey<ThrowOnError extends boolean = false>(options: Options<CreateApiKeyData, ThrowOnError>): RequestResult<CreateApiKeyResponses, CreateApiKeyErrors, ThrowOnError>;
@@ -11934,7 +11951,7 @@ declare class ApiKeys {
11934
11951
  /**
11935
11952
  * Update an API key
11936
11953
  *
11937
- * Updates an API key's name, project scope, or policies. The project scope can be changed to another project but never cleared. Only the owner or an admin can update it.
11954
+ * Updates an API key's name, project scope, or policies. The project scope can be changed to another project, set (scoping a previously unscoped key), or cleared with null (unscoping the key). Only the owner or an admin can update it.
11938
11955
  */
11939
11956
  static updateApiKey<ThrowOnError extends boolean = false>(options: Options<UpdateApiKeyData, ThrowOnError>): RequestResult<UpdateApiKeyResponses, UpdateApiKeyErrors, ThrowOnError>;
11940
11957
  }
package/dist/index.mjs CHANGED
@@ -954,7 +954,7 @@ var ApiKeys = class {
954
954
  /**
955
955
  * Create an API key
956
956
  *
957
- * Creates a new API key for the authenticated user. - `project_id` is required: every key is scoped to exactly one project. - If `policy_ids` is provided, the key's effective permissions are the intersection of the user's policies and the key's policies. - Otherwise the key inherits the user's permissions, confined to the key's project.
957
+ * Creates a new API key for the authenticated user. - `project_id` is optional. When set, the key is scoped to that single project. When omitted or null, the key is **unscoped** and spans every project its owner can reach. - If `policy_ids` is provided, the key's effective permissions are the intersection of the user's policies and the key's policies. - Otherwise the key inherits the user's permissions (confined to the key's project when scoped).
958
958
  *
959
959
  */
960
960
  static createApiKey(options) {
@@ -992,7 +992,7 @@ var ApiKeys = class {
992
992
  /**
993
993
  * Update an API key
994
994
  *
995
- * Updates an API key's name, project scope, or policies. The project scope can be changed to another project but never cleared. Only the owner or an admin can update it.
995
+ * Updates an API key's name, project scope, or policies. The project scope can be changed to another project, set (scoping a previously unscoped key), or cleared with null (unscoping the key). Only the owner or an admin can update it.
996
996
  */
997
997
  static updateApiKey(options) {
998
998
  return (options.client ?? client).put({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@soat/sdk",
3
- "version": "0.15.6",
3
+ "version": "0.15.7",
4
4
  "description": "TypeScript SDK for the SOAT API",
5
5
  "type": "module",
6
6
  "main": "dist/index.mjs",