@collective-intelligence/external-apps-server-sdk 0.1.6 → 0.1.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/admin.d.ts CHANGED
@@ -368,6 +368,11 @@ export type UpdatePackageInstallationRequestEncoded = {
368
368
  };
369
369
  };
370
370
  };
371
+ variables?: {
372
+ [key: string]: {
373
+ link: string;
374
+ } | unknown;
375
+ };
371
376
  };
372
377
  export type PackageOperationAccepted2 = {
373
378
  operationId: string;
@@ -457,6 +462,12 @@ export type ExtensionReleaseManifestEncoded = {
457
462
  size: number;
458
463
  [key: string]: unknown | string | string | "backend" | "dashboard" | "studio" | number | undefined;
459
464
  }>;
465
+ media?: Array<{
466
+ digest: string;
467
+ path: string;
468
+ size: number;
469
+ [key: string]: unknown | string | string | number;
470
+ }>;
460
471
  package: {
461
472
  fqn: string;
462
473
  version: string;
@@ -492,6 +503,11 @@ export type ExtensionReleaseManifestEncoded = {
492
503
  host: "backend" | "dashboard" | "studio";
493
504
  size: number;
494
505
  [key: string]: unknown | string | string | "backend" | "dashboard" | "studio" | number | undefined;
506
+ }> | Array<{
507
+ digest: string;
508
+ path: string;
509
+ size: number;
510
+ [key: string]: unknown | string | string | number;
495
511
  }> | {
496
512
  fqn: string;
497
513
  version: string;
@@ -1537,6 +1553,11 @@ export type ExtensionPackagesInstallData = {
1537
1553
  };
1538
1554
  };
1539
1555
  };
1556
+ variables?: {
1557
+ [key: string]: {
1558
+ link: string;
1559
+ } | unknown;
1560
+ };
1540
1561
  };
1541
1562
  headers: {
1542
1563
  authorization?: string;
@@ -2904,6 +2925,7 @@ export type OrganizationsGetData = {
2904
2925
  };
2905
2926
  export type OrganizationsUpdateData = {
2906
2927
  body: {
2928
+ applicationConsentRequired?: boolean;
2907
2929
  availableLanguages?: Array<string>;
2908
2930
  coverFileId?: string | null;
2909
2931
  defaultKnowledgePropertyCase?: "camel_case" | "snake_case";
@@ -3737,6 +3759,7 @@ export type OrganizationExternalAppsListResponses = {
3737
3759
  200: {
3738
3760
  data: Array<{
3739
3761
  allowedOrigins: Array<string>;
3762
+ applicationConsent: "inherit" | "ask" | "skip";
3740
3763
  applicationType: "public" | "confidential";
3741
3764
  audience: string;
3742
3765
  clientId: string;
@@ -3774,6 +3797,7 @@ export type OrganizationExternalAppsCreateResponses = {
3774
3797
  201: {
3775
3798
  application: {
3776
3799
  allowedOrigins: Array<string>;
3800
+ applicationConsent: "inherit" | "ask" | "skip";
3777
3801
  applicationType: "public" | "confidential";
3778
3802
  audience: string;
3779
3803
  clientId: string;
@@ -3805,6 +3829,7 @@ export type OrganizationExternalAppsCreateResponses = {
3805
3829
  } | {
3806
3830
  application: {
3807
3831
  allowedOrigins: Array<string>;
3832
+ applicationConsent: "inherit" | "ask" | "skip";
3808
3833
  applicationType: "public" | "confidential";
3809
3834
  audience: string;
3810
3835
  clientId: string;
@@ -3843,6 +3868,7 @@ export type OrganizationExternalAppsGetResponses = {
3843
3868
  */
3844
3869
  200: {
3845
3870
  allowedOrigins: Array<string>;
3871
+ applicationConsent: "inherit" | "ask" | "skip";
3846
3872
  applicationType: "public" | "confidential";
3847
3873
  audience: string;
3848
3874
  clientId: string;
@@ -3875,6 +3901,7 @@ export type OrganizationExternalAppsGetResponse = OrganizationExternalAppsGetRes
3875
3901
  export type OrganizationExternalAppsUpdateData = {
3876
3902
  body: {
3877
3903
  allowedOrigins?: Array<string>;
3904
+ applicationConsent?: "inherit" | "ask" | "skip";
3878
3905
  audience?: string;
3879
3906
  enabled?: boolean;
3880
3907
  name?: string;
@@ -3914,6 +3941,7 @@ export type OrganizationExternalAppsRotateCredentialResponses = {
3914
3941
  200: {
3915
3942
  application: {
3916
3943
  allowedOrigins: Array<string>;
3944
+ applicationConsent: "inherit" | "ask" | "skip";
3917
3945
  applicationType: "public" | "confidential";
3918
3946
  audience: string;
3919
3947
  clientId: string;
@@ -4655,18 +4683,26 @@ declare const createAdministrationApi: (client: Client$1) => {
4655
4683
  type: string;
4656
4684
  }>;
4657
4685
  listSsoProviders: (options: Pick<Options$1<OrganizationAuthenticationListProvidersData, true, unknown>, "query" | "body" | "headers" | "path">) => Promise<{
4658
- connectionId: string | null;
4659
- connectionName: string | null;
4660
- connectionStatus: string | null;
4661
- defaultRole: "organization_admin" | "organization_user";
4662
- domains: Array<string>;
4663
- enabled: boolean;
4664
- id: string;
4665
- provisionMembers: boolean;
4666
- testedAt: string | null;
4667
- testedEmail: string | null;
4668
- type: string;
4669
- }[]>;
4686
+ applicationConsentRequired: boolean;
4687
+ managedSettings: {
4688
+ keys: Array<"identity.name" | "identity.companyDomains" | "branding.logo" | "branding.icon" | "branding.cover" | "authentication.password" | "authentication.otp" | "authentication.sso" | "authentication.applicationConsent" | "locale.defaultLanguage" | "locale.languages" | "locale.timezone" | "governance.accessAuditRetentionMonths" | "governance.maxGroupHierarchyDepth">;
4689
+ packageFqn: string;
4690
+ readonly: boolean;
4691
+ } | null;
4692
+ providers: Array<{
4693
+ connectionId: string | null;
4694
+ connectionName: string | null;
4695
+ connectionStatus: string | null;
4696
+ defaultRole: "organization_admin" | "organization_user";
4697
+ domains: Array<string>;
4698
+ enabled: boolean;
4699
+ id: string;
4700
+ provisionMembers: boolean;
4701
+ testedAt: string | null;
4702
+ testedEmail: string | null;
4703
+ type: string;
4704
+ }>;
4705
+ }>;
4670
4706
  testSsoProvider: (options: Pick<Options$1<OrganizationAuthenticationStartSsoTestData, true, unknown>, "query" | "body" | "headers" | "path">) => Promise<{
4671
4707
  callbackUrl: string;
4672
4708
  url: string;
@@ -6985,6 +7021,7 @@ declare const createAdministrationApi: (client: Client$1) => {
6985
7021
  teardownId: string;
6986
7022
  }>;
6987
7023
  get: (options: Pick<Options$1<OrganizationsGetData, true, unknown>, "query" | "body" | "headers" | "path">) => Promise<{
7024
+ applicationConsentRequired: boolean;
6988
7025
  availableLanguages: Array<string>;
6989
7026
  coverFileId: string | null;
6990
7027
  createdAt: string | null;
@@ -6996,6 +7033,11 @@ declare const createAdministrationApi: (client: Client$1) => {
6996
7033
  iconFileId: string | null;
6997
7034
  id: string;
6998
7035
  logoFileId: string | null;
7036
+ managedSettings?: {
7037
+ keys: Array<"identity.name" | "identity.companyDomains" | "branding.logo" | "branding.icon" | "branding.cover" | "authentication.password" | "authentication.otp" | "authentication.sso" | "authentication.applicationConsent" | "locale.defaultLanguage" | "locale.languages" | "locale.timezone" | "governance.accessAuditRetentionMonths" | "governance.maxGroupHierarchyDepth">;
7038
+ packageFqn: string;
7039
+ readonly: boolean;
7040
+ } | null;
6999
7041
  maxGroupHierarchyDepth: number;
7000
7042
  meta: string | null;
7001
7043
  name: string;
@@ -7017,6 +7059,7 @@ declare const createAdministrationApi: (client: Client$1) => {
7017
7059
  }>;
7018
7060
  list: (options: Pick<Options$1<OrganizationsSearchData, true, unknown>, "query" | "body" | "headers" | "path">) => Promise<{
7019
7061
  data: Array<{
7062
+ applicationConsentRequired: boolean;
7020
7063
  availableLanguages: Array<string>;
7021
7064
  coverFileId: string | null;
7022
7065
  createdAt: string | null;
@@ -7028,6 +7071,11 @@ declare const createAdministrationApi: (client: Client$1) => {
7028
7071
  iconFileId: string | null;
7029
7072
  id: string;
7030
7073
  logoFileId: string | null;
7074
+ managedSettings?: {
7075
+ keys: Array<"identity.name" | "identity.companyDomains" | "branding.logo" | "branding.icon" | "branding.cover" | "authentication.password" | "authentication.otp" | "authentication.sso" | "authentication.applicationConsent" | "locale.defaultLanguage" | "locale.languages" | "locale.timezone" | "governance.accessAuditRetentionMonths" | "governance.maxGroupHierarchyDepth">;
7076
+ packageFqn: string;
7077
+ readonly: boolean;
7078
+ } | null;
7031
7079
  maxGroupHierarchyDepth: number;
7032
7080
  meta: string | null;
7033
7081
  name: string;
package/dist/express.d.ts CHANGED
@@ -93,66 +93,6 @@ export type PackageSchemaProjection = Readonly<{
93
93
  document: JsonSchemaDocument;
94
94
  fidelity: ProjectionFidelity;
95
95
  }>;
96
- /** Closed public principal vocabulary accepted by a gateway operation. */
97
- export type PortableOperationPrincipalKind = "detached_user" | "service_principal";
98
- /** Explicit delegated-subject requirement reviewed with an operation. */
99
- export type PortableOperationDelegatedSubjectPolicy = "allowed" | "forbidden" | "required";
100
- /** Fully materialized authorization policy for one exposed operation. */
101
- export type PortableOperationAuthorization = Readonly<{
102
- delegatedSubject: PortableOperationDelegatedSubjectPolicy;
103
- organization: "required";
104
- principalKinds: readonly PortableOperationPrincipalKind[];
105
- scopes: readonly string[];
106
- }>;
107
- /** Observable side-effect class reviewed before an operation becomes a tool. */
108
- export type PortableOperationEffect = "external_side_effect" | "read" | "write";
109
- /** The replay guarantee supplied by the operation implementation. */
110
- export type PortableOperationIdempotency = "idempotent" | "requires_key" | "safe";
111
- /** Explicit, bounded retry permission for callers of the operation. */
112
- export type PortableOperationRetryPolicy = Readonly<{
113
- mode: "never";
114
- }> | Readonly<{
115
- maxAttempts: number;
116
- mode: "idempotent_only";
117
- }>;
118
- /** Execution lifecycle and maximum wall-clock duration. */
119
- export type PortableOperationExecutionPolicy = Readonly<{
120
- mode: "synchronous";
121
- timeoutMs: number;
122
- }>;
123
- /** Per-invocation transport bounds. */
124
- export type PortableOperationLimits = Readonly<{
125
- maxRequestBytes: number;
126
- maxResponseBytes: number;
127
- }>;
128
- /**
129
- * Complete JSON-only operation contract reviewed by a host. Executable
130
- * handlers remain in a server runtime sidecar and never enter this descriptor.
131
- */
132
- export type PortableOperationDeclaration = Readonly<{
133
- authorization: PortableOperationAuthorization;
134
- description: string;
135
- effects: PortableOperationEffect;
136
- execution: PortableOperationExecutionPolicy;
137
- id: string;
138
- idempotency: PortableOperationIdempotency;
139
- input: PackageSchemaProjection;
140
- limits: PortableOperationLimits;
141
- output: PackageSchemaProjection;
142
- retry: PortableOperationRetryPolicy;
143
- title: string;
144
- version: string;
145
- }>;
146
- /** One catalog and identity namespace for an ordered operation list. */
147
- export type OperationDomainDeclaration<Operation extends PortableOperationDeclaration = PortableOperationDeclaration> = Readonly<{
148
- description?: string;
149
- displayOrder?: number;
150
- icon?: string;
151
- id: string;
152
- operations: readonly Operation[];
153
- tags?: readonly string[];
154
- title: string;
155
- }>;
156
96
  export type DatasetProviderResult<Value> = Readonly<{
157
97
  status: "success";
158
98
  value: Value;
@@ -361,6 +301,66 @@ export type DatasetProviderError = Readonly<{
361
301
  retryAfterMs?: number;
362
302
  diagnostics: readonly SafeDiagnostic[];
363
303
  }>;
304
+ /** Closed public principal vocabulary accepted by a gateway operation. */
305
+ export type PortableOperationPrincipalKind = "detached_user" | "service_principal";
306
+ /** Explicit delegated-subject requirement reviewed with an operation. */
307
+ export type PortableOperationDelegatedSubjectPolicy = "allowed" | "forbidden" | "required";
308
+ /** Fully materialized authorization policy for one exposed operation. */
309
+ export type PortableOperationAuthorization = Readonly<{
310
+ delegatedSubject: PortableOperationDelegatedSubjectPolicy;
311
+ organization: "required";
312
+ principalKinds: readonly PortableOperationPrincipalKind[];
313
+ scopes: readonly string[];
314
+ }>;
315
+ /** Observable side-effect class reviewed before an operation becomes a tool. */
316
+ export type PortableOperationEffect = "external_side_effect" | "read" | "write";
317
+ /** The replay guarantee supplied by the operation implementation. */
318
+ export type PortableOperationIdempotency = "idempotent" | "requires_key" | "safe";
319
+ /** Explicit, bounded retry permission for callers of the operation. */
320
+ export type PortableOperationRetryPolicy = Readonly<{
321
+ mode: "never";
322
+ }> | Readonly<{
323
+ maxAttempts: number;
324
+ mode: "idempotent_only";
325
+ }>;
326
+ /** Execution lifecycle and maximum wall-clock duration. */
327
+ export type PortableOperationExecutionPolicy = Readonly<{
328
+ mode: "synchronous";
329
+ timeoutMs: number;
330
+ }>;
331
+ /** Per-invocation transport bounds. */
332
+ export type PortableOperationLimits = Readonly<{
333
+ maxRequestBytes: number;
334
+ maxResponseBytes: number;
335
+ }>;
336
+ /**
337
+ * Complete JSON-only operation contract reviewed by a host. Executable
338
+ * handlers remain in a server runtime sidecar and never enter this descriptor.
339
+ */
340
+ export type PortableOperationDeclaration = Readonly<{
341
+ authorization: PortableOperationAuthorization;
342
+ description: string;
343
+ effects: PortableOperationEffect;
344
+ execution: PortableOperationExecutionPolicy;
345
+ id: string;
346
+ idempotency: PortableOperationIdempotency;
347
+ input: PackageSchemaProjection;
348
+ limits: PortableOperationLimits;
349
+ output: PackageSchemaProjection;
350
+ retry: PortableOperationRetryPolicy;
351
+ title: string;
352
+ version: string;
353
+ }>;
354
+ /** One catalog and identity namespace for an ordered operation list. */
355
+ export type OperationDomainDeclaration<Operation extends PortableOperationDeclaration = PortableOperationDeclaration> = Readonly<{
356
+ description?: string;
357
+ displayOrder?: number;
358
+ icon?: string;
359
+ id: string;
360
+ operations: readonly Operation[];
361
+ tags?: readonly string[];
362
+ title: string;
363
+ }>;
364
364
  export type ResourceJsonValue = null | boolean | number | string | readonly ResourceJsonValue[] | Readonly<{
365
365
  [key: string]: ResourceJsonValue;
366
366
  }>;
@@ -60,66 +60,6 @@ export type PackageSchemaProjection = Readonly<{
60
60
  document: JsonSchemaDocument;
61
61
  fidelity: ProjectionFidelity;
62
62
  }>;
63
- /** Closed public principal vocabulary accepted by a gateway operation. */
64
- export type PortableOperationPrincipalKind = "detached_user" | "service_principal";
65
- /** Explicit delegated-subject requirement reviewed with an operation. */
66
- export type PortableOperationDelegatedSubjectPolicy = "allowed" | "forbidden" | "required";
67
- /** Fully materialized authorization policy for one exposed operation. */
68
- export type PortableOperationAuthorization = Readonly<{
69
- delegatedSubject: PortableOperationDelegatedSubjectPolicy;
70
- organization: "required";
71
- principalKinds: readonly PortableOperationPrincipalKind[];
72
- scopes: readonly string[];
73
- }>;
74
- /** Observable side-effect class reviewed before an operation becomes a tool. */
75
- export type PortableOperationEffect = "external_side_effect" | "read" | "write";
76
- /** The replay guarantee supplied by the operation implementation. */
77
- export type PortableOperationIdempotency = "idempotent" | "requires_key" | "safe";
78
- /** Explicit, bounded retry permission for callers of the operation. */
79
- export type PortableOperationRetryPolicy = Readonly<{
80
- mode: "never";
81
- }> | Readonly<{
82
- maxAttempts: number;
83
- mode: "idempotent_only";
84
- }>;
85
- /** Execution lifecycle and maximum wall-clock duration. */
86
- export type PortableOperationExecutionPolicy = Readonly<{
87
- mode: "synchronous";
88
- timeoutMs: number;
89
- }>;
90
- /** Per-invocation transport bounds. */
91
- export type PortableOperationLimits = Readonly<{
92
- maxRequestBytes: number;
93
- maxResponseBytes: number;
94
- }>;
95
- /**
96
- * Complete JSON-only operation contract reviewed by a host. Executable
97
- * handlers remain in a server runtime sidecar and never enter this descriptor.
98
- */
99
- export type PortableOperationDeclaration = Readonly<{
100
- authorization: PortableOperationAuthorization;
101
- description: string;
102
- effects: PortableOperationEffect;
103
- execution: PortableOperationExecutionPolicy;
104
- id: string;
105
- idempotency: PortableOperationIdempotency;
106
- input: PackageSchemaProjection;
107
- limits: PortableOperationLimits;
108
- output: PackageSchemaProjection;
109
- retry: PortableOperationRetryPolicy;
110
- title: string;
111
- version: string;
112
- }>;
113
- /** One catalog and identity namespace for an ordered operation list. */
114
- export type OperationDomainDeclaration<Operation extends PortableOperationDeclaration = PortableOperationDeclaration> = Readonly<{
115
- description?: string;
116
- displayOrder?: number;
117
- icon?: string;
118
- id: string;
119
- operations: readonly Operation[];
120
- tags?: readonly string[];
121
- title: string;
122
- }>;
123
63
  export type DatasetProviderResult<Value> = Readonly<{
124
64
  status: "success";
125
65
  value: Value;
@@ -328,6 +268,66 @@ export type DatasetProviderError = Readonly<{
328
268
  retryAfterMs?: number;
329
269
  diagnostics: readonly SafeDiagnostic[];
330
270
  }>;
271
+ /** Closed public principal vocabulary accepted by a gateway operation. */
272
+ export type PortableOperationPrincipalKind = "detached_user" | "service_principal";
273
+ /** Explicit delegated-subject requirement reviewed with an operation. */
274
+ export type PortableOperationDelegatedSubjectPolicy = "allowed" | "forbidden" | "required";
275
+ /** Fully materialized authorization policy for one exposed operation. */
276
+ export type PortableOperationAuthorization = Readonly<{
277
+ delegatedSubject: PortableOperationDelegatedSubjectPolicy;
278
+ organization: "required";
279
+ principalKinds: readonly PortableOperationPrincipalKind[];
280
+ scopes: readonly string[];
281
+ }>;
282
+ /** Observable side-effect class reviewed before an operation becomes a tool. */
283
+ export type PortableOperationEffect = "external_side_effect" | "read" | "write";
284
+ /** The replay guarantee supplied by the operation implementation. */
285
+ export type PortableOperationIdempotency = "idempotent" | "requires_key" | "safe";
286
+ /** Explicit, bounded retry permission for callers of the operation. */
287
+ export type PortableOperationRetryPolicy = Readonly<{
288
+ mode: "never";
289
+ }> | Readonly<{
290
+ maxAttempts: number;
291
+ mode: "idempotent_only";
292
+ }>;
293
+ /** Execution lifecycle and maximum wall-clock duration. */
294
+ export type PortableOperationExecutionPolicy = Readonly<{
295
+ mode: "synchronous";
296
+ timeoutMs: number;
297
+ }>;
298
+ /** Per-invocation transport bounds. */
299
+ export type PortableOperationLimits = Readonly<{
300
+ maxRequestBytes: number;
301
+ maxResponseBytes: number;
302
+ }>;
303
+ /**
304
+ * Complete JSON-only operation contract reviewed by a host. Executable
305
+ * handlers remain in a server runtime sidecar and never enter this descriptor.
306
+ */
307
+ export type PortableOperationDeclaration = Readonly<{
308
+ authorization: PortableOperationAuthorization;
309
+ description: string;
310
+ effects: PortableOperationEffect;
311
+ execution: PortableOperationExecutionPolicy;
312
+ id: string;
313
+ idempotency: PortableOperationIdempotency;
314
+ input: PackageSchemaProjection;
315
+ limits: PortableOperationLimits;
316
+ output: PackageSchemaProjection;
317
+ retry: PortableOperationRetryPolicy;
318
+ title: string;
319
+ version: string;
320
+ }>;
321
+ /** One catalog and identity namespace for an ordered operation list. */
322
+ export type OperationDomainDeclaration<Operation extends PortableOperationDeclaration = PortableOperationDeclaration> = Readonly<{
323
+ description?: string;
324
+ displayOrder?: number;
325
+ icon?: string;
326
+ id: string;
327
+ operations: readonly Operation[];
328
+ tags?: readonly string[];
329
+ title: string;
330
+ }>;
331
331
  export type ResourceJsonValue = null | boolean | number | string | readonly ResourceJsonValue[] | Readonly<{
332
332
  [key: string]: ResourceJsonValue;
333
333
  }>;
package/dist/gateway.d.ts CHANGED
@@ -101,66 +101,6 @@ export type PackageSchemaProjection = Readonly<{
101
101
  document: JsonSchemaDocument;
102
102
  fidelity: ProjectionFidelity;
103
103
  }>;
104
- /** Closed public principal vocabulary accepted by a gateway operation. */
105
- export type PortableOperationPrincipalKind = "detached_user" | "service_principal";
106
- /** Explicit delegated-subject requirement reviewed with an operation. */
107
- export type PortableOperationDelegatedSubjectPolicy = "allowed" | "forbidden" | "required";
108
- /** Fully materialized authorization policy for one exposed operation. */
109
- export type PortableOperationAuthorization = Readonly<{
110
- delegatedSubject: PortableOperationDelegatedSubjectPolicy;
111
- organization: "required";
112
- principalKinds: readonly PortableOperationPrincipalKind[];
113
- scopes: readonly string[];
114
- }>;
115
- /** Observable side-effect class reviewed before an operation becomes a tool. */
116
- export type PortableOperationEffect = "external_side_effect" | "read" | "write";
117
- /** The replay guarantee supplied by the operation implementation. */
118
- export type PortableOperationIdempotency = "idempotent" | "requires_key" | "safe";
119
- /** Explicit, bounded retry permission for callers of the operation. */
120
- export type PortableOperationRetryPolicy = Readonly<{
121
- mode: "never";
122
- }> | Readonly<{
123
- maxAttempts: number;
124
- mode: "idempotent_only";
125
- }>;
126
- /** Execution lifecycle and maximum wall-clock duration. */
127
- export type PortableOperationExecutionPolicy = Readonly<{
128
- mode: "synchronous";
129
- timeoutMs: number;
130
- }>;
131
- /** Per-invocation transport bounds. */
132
- export type PortableOperationLimits = Readonly<{
133
- maxRequestBytes: number;
134
- maxResponseBytes: number;
135
- }>;
136
- /**
137
- * Complete JSON-only operation contract reviewed by a host. Executable
138
- * handlers remain in a server runtime sidecar and never enter this descriptor.
139
- */
140
- export type PortableOperationDeclaration = Readonly<{
141
- authorization: PortableOperationAuthorization;
142
- description: string;
143
- effects: PortableOperationEffect;
144
- execution: PortableOperationExecutionPolicy;
145
- id: string;
146
- idempotency: PortableOperationIdempotency;
147
- input: PackageSchemaProjection;
148
- limits: PortableOperationLimits;
149
- output: PackageSchemaProjection;
150
- retry: PortableOperationRetryPolicy;
151
- title: string;
152
- version: string;
153
- }>;
154
- /** One catalog and identity namespace for an ordered operation list. */
155
- export type OperationDomainDeclaration<Operation extends PortableOperationDeclaration = PortableOperationDeclaration> = Readonly<{
156
- description?: string;
157
- displayOrder?: number;
158
- icon?: string;
159
- id: string;
160
- operations: readonly Operation[];
161
- tags?: readonly string[];
162
- title: string;
163
- }>;
164
104
  export type DatasetProviderResult<Value> = Readonly<{
165
105
  status: "success";
166
106
  value: Value;
@@ -369,6 +309,66 @@ export type DatasetProviderError = Readonly<{
369
309
  retryAfterMs?: number;
370
310
  diagnostics: readonly SafeDiagnostic[];
371
311
  }>;
312
+ /** Closed public principal vocabulary accepted by a gateway operation. */
313
+ export type PortableOperationPrincipalKind = "detached_user" | "service_principal";
314
+ /** Explicit delegated-subject requirement reviewed with an operation. */
315
+ export type PortableOperationDelegatedSubjectPolicy = "allowed" | "forbidden" | "required";
316
+ /** Fully materialized authorization policy for one exposed operation. */
317
+ export type PortableOperationAuthorization = Readonly<{
318
+ delegatedSubject: PortableOperationDelegatedSubjectPolicy;
319
+ organization: "required";
320
+ principalKinds: readonly PortableOperationPrincipalKind[];
321
+ scopes: readonly string[];
322
+ }>;
323
+ /** Observable side-effect class reviewed before an operation becomes a tool. */
324
+ export type PortableOperationEffect = "external_side_effect" | "read" | "write";
325
+ /** The replay guarantee supplied by the operation implementation. */
326
+ export type PortableOperationIdempotency = "idempotent" | "requires_key" | "safe";
327
+ /** Explicit, bounded retry permission for callers of the operation. */
328
+ export type PortableOperationRetryPolicy = Readonly<{
329
+ mode: "never";
330
+ }> | Readonly<{
331
+ maxAttempts: number;
332
+ mode: "idempotent_only";
333
+ }>;
334
+ /** Execution lifecycle and maximum wall-clock duration. */
335
+ export type PortableOperationExecutionPolicy = Readonly<{
336
+ mode: "synchronous";
337
+ timeoutMs: number;
338
+ }>;
339
+ /** Per-invocation transport bounds. */
340
+ export type PortableOperationLimits = Readonly<{
341
+ maxRequestBytes: number;
342
+ maxResponseBytes: number;
343
+ }>;
344
+ /**
345
+ * Complete JSON-only operation contract reviewed by a host. Executable
346
+ * handlers remain in a server runtime sidecar and never enter this descriptor.
347
+ */
348
+ export type PortableOperationDeclaration = Readonly<{
349
+ authorization: PortableOperationAuthorization;
350
+ description: string;
351
+ effects: PortableOperationEffect;
352
+ execution: PortableOperationExecutionPolicy;
353
+ id: string;
354
+ idempotency: PortableOperationIdempotency;
355
+ input: PackageSchemaProjection;
356
+ limits: PortableOperationLimits;
357
+ output: PackageSchemaProjection;
358
+ retry: PortableOperationRetryPolicy;
359
+ title: string;
360
+ version: string;
361
+ }>;
362
+ /** One catalog and identity namespace for an ordered operation list. */
363
+ export type OperationDomainDeclaration<Operation extends PortableOperationDeclaration = PortableOperationDeclaration> = Readonly<{
364
+ description?: string;
365
+ displayOrder?: number;
366
+ icon?: string;
367
+ id: string;
368
+ operations: readonly Operation[];
369
+ tags?: readonly string[];
370
+ title: string;
371
+ }>;
372
372
  export type ResourceJsonValue = null | boolean | number | string | readonly ResourceJsonValue[] | Readonly<{
373
373
  [key: string]: ResourceJsonValue;
374
374
  }>;