@lucern/sdk 0.2.0-alpha.4 → 0.2.0-alpha.5

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 (155) hide show
  1. package/README.md +31 -0
  2. package/dist/.generated +2 -0
  3. package/dist/index.d.ts +3 -0
  4. package/dist/index.js +3 -8894
  5. package/dist/lib/platform/auth/credentials.d.ts +5 -0
  6. package/dist/lib/platform/auth/credentials.js +40 -0
  7. package/dist/lib/platform/sdk/adminClient.d.ts +404 -0
  8. package/dist/lib/platform/sdk/adminClient.js +384 -0
  9. package/dist/lib/platform/sdk/answersClient.d.ts +16 -0
  10. package/dist/lib/platform/sdk/answersClient.js +21 -0
  11. package/dist/{packages/sdk/src → lib/platform/sdk}/audiencesClient.d.ts +6 -0
  12. package/dist/lib/platform/sdk/audiencesClient.js +111 -0
  13. package/dist/{packages/sdk/src → lib/platform/sdk}/auditClient.d.ts +3 -0
  14. package/dist/lib/platform/sdk/auditClient.js +21 -0
  15. package/dist/lib/platform/sdk/beliefsClient.d.ts +157 -0
  16. package/dist/lib/platform/sdk/beliefsClient.js +124 -0
  17. package/dist/{packages/sdk/src → lib/platform/sdk}/client.d.ts +957 -146
  18. package/dist/lib/platform/sdk/client.js +1831 -0
  19. package/dist/lib/platform/sdk/contextClient.d.ts +21 -0
  20. package/dist/lib/platform/sdk/contextClient.js +86 -0
  21. package/dist/{lucern/packages/domain-context/src/context-pack-compiler.d.ts → lib/platform/sdk/contextPackCompiler.d.ts} +2 -3
  22. package/dist/lib/platform/sdk/contextPackCompiler.js +534 -0
  23. package/dist/lib/platform/sdk/contextTypes.d.ts +133 -0
  24. package/dist/lib/platform/sdk/contextTypes.js +1 -0
  25. package/dist/{packages/sdk/src → lib/platform/sdk}/controlObjectOwnership.d.ts +15 -0
  26. package/dist/lib/platform/sdk/controlObjectOwnership.js +220 -0
  27. package/dist/{packages/sdk/src → lib/platform/sdk}/coreClient.d.ts +19 -0
  28. package/dist/lib/platform/sdk/coreClient.js +366 -0
  29. package/dist/{packages/sdk/src → lib/platform/sdk}/customTools.d.ts +21 -3
  30. package/dist/lib/platform/sdk/customTools.js +247 -0
  31. package/dist/{packages/sdk/src → lib/platform/sdk}/decisionsClient.d.ts +9 -0
  32. package/dist/lib/platform/sdk/decisionsClient.js +129 -0
  33. package/dist/lib/platform/sdk/domainContext.d.ts +1 -0
  34. package/dist/lib/platform/sdk/domainContext.js +1 -0
  35. package/dist/{lucern/packages/events/src/types.d.ts → lib/platform/sdk/events.d.ts} +25 -0
  36. package/dist/lib/platform/sdk/events.js +261 -0
  37. package/dist/lib/platform/sdk/gatewayFacades.d.ts +586 -0
  38. package/dist/lib/platform/sdk/gatewayFacades.js +845 -0
  39. package/dist/{packages/sdk/src → lib/platform/sdk}/graphClient.d.ts +75 -0
  40. package/dist/lib/platform/sdk/graphClient.js +235 -0
  41. package/dist/{packages/sdk/src → lib/platform/sdk}/harnessClient.d.ts +90 -1
  42. package/dist/lib/platform/sdk/harnessClient.js +219 -0
  43. package/dist/{packages/sdk/src → lib/platform/sdk}/identityClient.d.ts +45 -15
  44. package/dist/lib/platform/sdk/identityClient.js +131 -0
  45. package/dist/{packages/sdk/src → lib/platform/sdk}/index.d.ts +21 -3
  46. package/dist/lib/platform/sdk/index.js +46 -0
  47. package/dist/{packages/sdk/src → lib/platform/sdk}/learningClient.d.ts +3 -0
  48. package/dist/lib/platform/sdk/learningClient.js +53 -0
  49. package/dist/{packages/sdk/src → lib/platform/sdk}/mcpParityClient.d.ts +1 -0
  50. package/dist/lib/platform/sdk/mcpParityClient.js +196 -0
  51. package/dist/{packages/sdk/src → lib/platform/sdk}/mcpParitySurface.d.ts +2 -0
  52. package/dist/lib/platform/sdk/mcpParitySurface.js +57 -0
  53. package/dist/{packages/sdk/src → lib/platform/sdk}/ontologyClient.d.ts +16 -0
  54. package/dist/lib/platform/sdk/ontologyClient.js +161 -0
  55. package/dist/lib/platform/sdk/packRuntime.d.ts +1 -0
  56. package/dist/lib/platform/sdk/packRuntime.js +1 -0
  57. package/dist/{packages/sdk/src → lib/platform/sdk}/packsClient.d.ts +25 -0
  58. package/dist/lib/platform/sdk/packsClient.js +157 -0
  59. package/dist/{packages/sdk/src → lib/platform/sdk}/policyClient.d.ts +90 -1
  60. package/dist/lib/platform/sdk/policyClient.js +277 -0
  61. package/dist/lib/platform/sdk/promptCatalog.d.ts +1 -0
  62. package/dist/lib/platform/sdk/promptCatalog.js +1 -0
  63. package/dist/{packages/sdk/src → lib/platform/sdk}/reportsClient.d.ts +3 -0
  64. package/dist/lib/platform/sdk/reportsClient.js +64 -0
  65. package/dist/{packages/sdk/src → lib/platform/sdk}/schemaClient.d.ts +5 -0
  66. package/dist/lib/platform/sdk/schemaClient.js +71 -0
  67. package/dist/{packages/sdk/src → lib/platform/sdk}/sdkSurface.d.ts +1 -0
  68. package/dist/lib/platform/sdk/sdkSurface.js +140 -0
  69. package/dist/{packages/sdk/src → lib/platform/sdk}/topicsClient.d.ts +33 -0
  70. package/dist/lib/platform/sdk/topicsClient.js +118 -0
  71. package/dist/{packages/sdk/src → lib/platform/sdk}/types.d.ts +224 -2
  72. package/dist/lib/platform/sdk/types.js +1 -0
  73. package/dist/lib/platform/sdk/version.js +2 -0
  74. package/dist/{packages/sdk/src → lib/platform/sdk}/workflowClient.d.ts +63 -2
  75. package/dist/lib/platform/sdk/workflowClient.js +366 -0
  76. package/dist/lucern/contracts/src/api-enums.contract.d.ts +58 -0
  77. package/dist/lucern/contracts/src/api-enums.contract.js +147 -0
  78. package/dist/lucern/contracts/src/lens-filter.contract.js +95 -0
  79. package/dist/lucern/contracts/src/lens-workflow.contract.js +54 -0
  80. package/dist/lucern/contracts/src/mcp-tools.contract.js +3281 -0
  81. package/package.json +17 -3
  82. package/dist/index.js.map +0 -1
  83. package/dist/lucern/contracts/src/auth-session.contract.d.ts +0 -53
  84. package/dist/lucern/contracts/src/context-pack.contract.d.ts +0 -494
  85. package/dist/lucern/contracts/src/workflow-runtime.contract.d.ts +0 -161
  86. package/dist/lucern/mcp-server/src/context-pack-policy.d.ts +0 -119
  87. package/dist/lucern/mcp-server/src/context-pack-schema.d.ts +0 -18
  88. package/dist/lucern/modules/graph-primitives/src/ontology-matching.d.ts +0 -78
  89. package/dist/lucern/modules/graph-primitives/src/text-matching.d.ts +0 -53
  90. package/dist/lucern/packages/client-core/src/beliefs.d.ts +0 -30
  91. package/dist/lucern/packages/client-core/src/context.d.ts +0 -29
  92. package/dist/lucern/packages/client-core/src/contradictions.d.ts +0 -11
  93. package/dist/lucern/packages/client-core/src/edges.d.ts +0 -11
  94. package/dist/lucern/packages/client-core/src/events.d.ts +0 -9
  95. package/dist/lucern/packages/client-core/src/evidence.d.ts +0 -21
  96. package/dist/lucern/packages/client-core/src/graph.d.ts +0 -17
  97. package/dist/lucern/packages/client-core/src/identity.d.ts +0 -7
  98. package/dist/lucern/packages/client-core/src/ids.d.ts +0 -7
  99. package/dist/lucern/packages/client-core/src/ontologies.d.ts +0 -13
  100. package/dist/lucern/packages/client-core/src/questions.d.ts +0 -39
  101. package/dist/lucern/packages/client-core/src/search.d.ts +0 -7
  102. package/dist/lucern/packages/client-core/src/tasks.d.ts +0 -13
  103. package/dist/lucern/packages/client-core/src/topics.d.ts +0 -17
  104. package/dist/lucern/packages/client-core/src/webhooks.d.ts +0 -35
  105. package/dist/lucern/packages/client-core/src/worktrees.d.ts +0 -17
  106. package/dist/lucern/packages/domain-beliefs/src/beliefs.d.ts +0 -283
  107. package/dist/lucern/packages/domain-beliefs/src/index.d.ts +0 -1
  108. package/dist/lucern/packages/domain-context/src/compile.d.ts +0 -11
  109. package/dist/lucern/packages/domain-context/src/index.d.ts +0 -4
  110. package/dist/lucern/packages/domain-context/src/ports.d.ts +0 -58
  111. package/dist/lucern/packages/domain-context/src/public-types.d.ts +0 -1
  112. package/dist/lucern/packages/domain-edges/src/contradictions.d.ts +0 -59
  113. package/dist/lucern/packages/domain-edges/src/edges.d.ts +0 -91
  114. package/dist/lucern/packages/domain-edges/src/index.d.ts +0 -2
  115. package/dist/lucern/packages/domain-evidence/src/evidence.d.ts +0 -115
  116. package/dist/lucern/packages/domain-evidence/src/index.d.ts +0 -1
  117. package/dist/lucern/packages/domain-graph/src/graph.d.ts +0 -150
  118. package/dist/lucern/packages/domain-identity/src/index.d.ts +0 -1
  119. package/dist/lucern/packages/domain-identity/src/whoami.d.ts +0 -13
  120. package/dist/lucern/packages/domain-ontologies/src/ontologies.d.ts +0 -123
  121. package/dist/lucern/packages/domain-questions/src/index.d.ts +0 -1
  122. package/dist/lucern/packages/domain-questions/src/questions.d.ts +0 -147
  123. package/dist/lucern/packages/domain-search/src/search.d.ts +0 -97
  124. package/dist/lucern/packages/domain-tasks/src/index.d.ts +0 -1
  125. package/dist/lucern/packages/domain-tasks/src/tasks.d.ts +0 -102
  126. package/dist/lucern/packages/domain-topics/src/index.d.ts +0 -1
  127. package/dist/lucern/packages/domain-topics/src/topics.d.ts +0 -147
  128. package/dist/lucern/packages/domain-worktrees/src/index.d.ts +0 -1
  129. package/dist/lucern/packages/domain-worktrees/src/worktrees.d.ts +0 -185
  130. package/dist/lucern/packages/events/src/index.d.ts +0 -4
  131. package/dist/lucern/packages/events/src/matching.d.ts +0 -3
  132. package/dist/lucern/packages/events/src/outbox.d.ts +0 -15
  133. package/dist/lucern/packages/events/src/webhooks.d.ts +0 -9
  134. package/dist/lucern/packages/sdk-typescript/src/facade/beliefs.d.ts +0 -15
  135. package/dist/lucern/packages/sdk-typescript/src/facade/context.d.ts +0 -12
  136. package/dist/lucern/packages/sdk-typescript/src/facade/contradictions.d.ts +0 -7
  137. package/dist/lucern/packages/sdk-typescript/src/facade/edges.d.ts +0 -7
  138. package/dist/lucern/packages/sdk-typescript/src/facade/events.d.ts +0 -6
  139. package/dist/lucern/packages/sdk-typescript/src/facade/evidence.d.ts +0 -21
  140. package/dist/lucern/packages/sdk-typescript/src/facade/graph.d.ts +0 -10
  141. package/dist/lucern/packages/sdk-typescript/src/facade/identity.d.ts +0 -5
  142. package/dist/lucern/packages/sdk-typescript/src/facade/ontologies.d.ts +0 -8
  143. package/dist/lucern/packages/sdk-typescript/src/facade/questions.d.ts +0 -39
  144. package/dist/lucern/packages/sdk-typescript/src/facade/search.d.ts +0 -5
  145. package/dist/lucern/packages/sdk-typescript/src/facade/tasks.d.ts +0 -8
  146. package/dist/lucern/packages/sdk-typescript/src/facade/topics.d.ts +0 -10
  147. package/dist/lucern/packages/sdk-typescript/src/facade/webhooks.d.ts +0 -16
  148. package/dist/lucern/packages/sdk-typescript/src/facade/worktrees.d.ts +0 -10
  149. package/dist/lucern/packages/sdk-typescript/src/index.d.ts +0 -28
  150. package/dist/packages/sdk/src/adminClient.d.ts +0 -89
  151. package/dist/packages/sdk/src/answersClient.d.ts +0 -5
  152. package/dist/packages/sdk/src/beliefsClient.d.ts +0 -52
  153. package/dist/packages/sdk/src/contextClient.d.ts +0 -9
  154. package/dist/packages/sdk/src/contracts/api-enums.contract.d.ts +0 -79
  155. /package/dist/{packages/sdk/src → lib/platform/sdk}/version.d.ts +0 -0
@@ -0,0 +1,5 @@
1
+ export declare function parseAuthorizationBearer(value: string | null | undefined): string | null;
2
+ export declare function isTenantApiKey(value: string): boolean;
3
+ export declare function isServicePrincipalKey(value: string): boolean;
4
+ export declare function buildPlatformAuthHeadersFromApiKey(apiKey: string): Record<string, string>;
5
+ export declare function buildPlatformAuthHeadersFromSessionToken(sessionToken: string): Record<string, string>;
@@ -0,0 +1,40 @@
1
+ const TENANT_API_KEY_PREFIXES = ["luc_", "stk_"];
2
+ const SERVICE_PRINCIPAL_KEY_PREFIXES = ["lk_", "lsk_"];
3
+ export function parseAuthorizationBearer(value) {
4
+ if (!value) {
5
+ return null;
6
+ }
7
+ const [scheme, token] = value.trim().split(/\s+/, 2);
8
+ if (!scheme || !token) {
9
+ return null;
10
+ }
11
+ if (scheme.toLowerCase() !== "bearer") {
12
+ return null;
13
+ }
14
+ return token.trim() || null;
15
+ }
16
+ export function isTenantApiKey(value) {
17
+ const normalized = value.trim();
18
+ return TENANT_API_KEY_PREFIXES.some((prefix) => normalized.startsWith(prefix));
19
+ }
20
+ export function isServicePrincipalKey(value) {
21
+ const normalized = value.trim();
22
+ return SERVICE_PRINCIPAL_KEY_PREFIXES.some((prefix) => normalized.startsWith(prefix));
23
+ }
24
+ export function buildPlatformAuthHeadersFromApiKey(apiKey) {
25
+ const normalized = apiKey.trim();
26
+ if (!normalized) {
27
+ return {};
28
+ }
29
+ if (isTenantApiKey(normalized)) {
30
+ return { "x-lucern-key": normalized };
31
+ }
32
+ return { Authorization: `Bearer ${normalized}` };
33
+ }
34
+ export function buildPlatformAuthHeadersFromSessionToken(sessionToken) {
35
+ const normalized = sessionToken.trim();
36
+ if (!normalized) {
37
+ return {};
38
+ }
39
+ return { Authorization: `Bearer ${normalized}` };
40
+ }
@@ -0,0 +1,404 @@
1
+ import { type GatewayClientConfig, type GatewayScope, LucernApiError } from "./coreClient";
2
+ import type { ControlObjectOwnershipContract } from "./controlObjectOwnership";
3
+ import type { JsonObject } from "./types";
4
+ export { LucernApiError };
5
+ export type { GatewayScope, PlatformGatewaySuccess } from "./coreClient";
6
+ /** Configuration for the admin client. */
7
+ export type AdminClientConfig = GatewayClientConfig;
8
+ export type TenantApiKeyRecord = {
9
+ id?: string;
10
+ tenantId?: string;
11
+ workspaceId?: string;
12
+ label?: string;
13
+ keyPrefix?: string;
14
+ hashedKey?: string;
15
+ scopes?: string[];
16
+ status?: string;
17
+ expiresAt?: number;
18
+ lastUsedAt?: number;
19
+ revokedAt?: number;
20
+ revokedBy?: string;
21
+ createdBy?: string;
22
+ createdAt?: number;
23
+ updatedAt?: number;
24
+ };
25
+ export type TenantVaultSecretRecord = {
26
+ id?: string;
27
+ tenantId?: string;
28
+ workspaceId?: string;
29
+ name?: string;
30
+ description?: string;
31
+ lastRotated?: number;
32
+ createdBy?: string;
33
+ updatedBy?: string;
34
+ createdAt?: number;
35
+ updatedAt?: number;
36
+ };
37
+ export type TenantAuthPolicyMode = "open" | "invite_only" | "sso_required";
38
+ export type TenantTopicVisibility = "private" | "tenant" | "public";
39
+ export type TenantFeatureFlags = Record<string, boolean>;
40
+ export type TenantModelSlotOverrides = Record<string, string>;
41
+ export type TenantConfigRecord = {
42
+ tenantId: string;
43
+ authPolicyMode: TenantAuthPolicyMode;
44
+ defaultSessionTTL: number;
45
+ defaultTopicVisibility: TenantTopicVisibility;
46
+ featureFlags: TenantFeatureFlags;
47
+ maxWorkspaceCount: number;
48
+ defaultModelSlotOverrides: TenantModelSlotOverrides;
49
+ updatedAt?: number;
50
+ updatedBy?: string;
51
+ };
52
+ export type TenantModelRoutingSlotRecord = {
53
+ slot: string;
54
+ category?: string;
55
+ description?: string;
56
+ modelKey: string;
57
+ promptName?: string;
58
+ temperature?: number;
59
+ maxTokens?: number;
60
+ enabled?: boolean;
61
+ };
62
+ export type TenantModelRoutingModelRecord = {
63
+ key: string;
64
+ name?: string;
65
+ modelId?: string;
66
+ provider?: string;
67
+ enabled?: boolean;
68
+ recommended?: boolean;
69
+ notes?: string;
70
+ };
71
+ export type TenantModelRoutingBindingRecord = {
72
+ slot: string;
73
+ providerId: string;
74
+ secretRef: string;
75
+ label?: string;
76
+ keyHint?: string;
77
+ };
78
+ export type TenantModelRouteOverrideStatus = "inherit" | "active" | "blocked_missing_model" | "blocked_missing_binding";
79
+ export type TenantModelRouteBindingState = "ready" | "missing";
80
+ export type TenantModelRouteSource = "platform_default" | "tenant_override";
81
+ export type TenantModelRouteRow = {
82
+ slot: string;
83
+ category: string;
84
+ description?: string;
85
+ promptName?: string;
86
+ slotEnabled: boolean;
87
+ platformModelKey: string;
88
+ platformModelName?: string;
89
+ platformProviderId?: string;
90
+ overrideModelKey?: string;
91
+ overrideModelName?: string;
92
+ overrideProviderId?: string;
93
+ effectiveModelKey: string;
94
+ effectiveModelName?: string;
95
+ effectiveProviderId?: string;
96
+ effectiveSource: TenantModelRouteSource;
97
+ overrideStatus: TenantModelRouteOverrideStatus;
98
+ bindingState: TenantModelRouteBindingState;
99
+ bindingLabel?: string;
100
+ bindingKeyHint?: string;
101
+ bindingSecretRef?: string;
102
+ };
103
+ export type TenantModelRoutingSummary = {
104
+ totalSlots: number;
105
+ promptBoundSlots: number;
106
+ activeOverrides: number;
107
+ blockedOverrides: number;
108
+ readyBindings: number;
109
+ };
110
+ export type TenantModelRoutingSnapshot = {
111
+ tenantId: string;
112
+ defaultModelSlotOverrides: Record<string, string>;
113
+ slots: TenantModelRoutingSlotRecord[];
114
+ models: TenantModelRoutingModelRecord[];
115
+ bindings: TenantModelRoutingBindingRecord[];
116
+ rows: TenantModelRouteRow[];
117
+ summary: TenantModelRoutingSummary;
118
+ notes: string[];
119
+ };
120
+ /**
121
+ * Create the admin client for tenant, workspace, and membership administration.
122
+ * @param config - Gateway transport configuration.
123
+ * @returns An object with methods to manage tenants, workspaces, and memberships.
124
+ */
125
+ export declare function createAdminClient(config?: AdminClientConfig): {
126
+ /**
127
+ * List tenants visible to the current principal.
128
+ */
129
+ listTenants(query?: {
130
+ status?: "active" | "disabled" | "archived";
131
+ limit?: number;
132
+ }): Promise<import("./coreClient").PlatformGatewaySuccess<import("./types").ListResult<any, "tenants">>>;
133
+ /**
134
+ * Create a tenant.
135
+ */
136
+ createTenant(input: {
137
+ key: string;
138
+ slug?: string;
139
+ name: string;
140
+ status?: "active" | "disabled" | "archived";
141
+ metadata?: JsonObject;
142
+ }, idempotencyKey?: string): Promise<import("./coreClient").PlatformGatewaySuccess<unknown>>;
143
+ /**
144
+ * Get the control-object ownership contract.
145
+ */
146
+ getControlObjectOwnership(): Promise<import("./coreClient").PlatformGatewaySuccess<ControlObjectOwnershipContract>>;
147
+ /**
148
+ * @deprecated Use getControlObjectOwnership.
149
+ */
150
+ getControlObjectOwnershipContract(): Promise<import("./coreClient").PlatformGatewaySuccess<ControlObjectOwnershipContract>>;
151
+ /**
152
+ * List workspaces for the current admin scope.
153
+ */
154
+ listWorkspaces(query?: GatewayScope & {
155
+ status?: "active" | "archived";
156
+ limit?: number;
157
+ }): Promise<import("./coreClient").PlatformGatewaySuccess<import("./types").ListResult<any, "workspaces">>>;
158
+ /**
159
+ * Create a workspace.
160
+ */
161
+ createWorkspace(input: GatewayScope & {
162
+ workspaceId?: string;
163
+ key?: string;
164
+ slug?: string;
165
+ name?: string;
166
+ status?: "active" | "archived";
167
+ defaultProjectVisibility?: "private" | "team" | "firm" | "external" | "public";
168
+ restore?: boolean;
169
+ metadata?: JsonObject;
170
+ }, idempotencyKey?: string): Promise<import("./coreClient").PlatformGatewaySuccess<unknown>>;
171
+ /**
172
+ * List memberships for the current admin scope.
173
+ */
174
+ listMemberships(query?: GatewayScope & {
175
+ principalId?: string;
176
+ status?: "active" | "revoked" | "expired";
177
+ limit?: number;
178
+ }): Promise<import("./coreClient").PlatformGatewaySuccess<import("./types").ListResult<any, "memberships">>>;
179
+ /**
180
+ * Create a membership.
181
+ */
182
+ createMembership(input: GatewayScope & {
183
+ membershipId?: string;
184
+ principalId: string;
185
+ role: "platform_admin" | "tenant_admin" | "workspace_admin" | "editor" | "viewer" | "auditor" | "service_agent";
186
+ status?: "active" | "revoked" | "expired";
187
+ source?: "bootstrap" | "manual" | "sync" | "invitation";
188
+ }, idempotencyKey?: string): Promise<import("./coreClient").PlatformGatewaySuccess<unknown>>;
189
+ /**
190
+ * Update a membership.
191
+ */
192
+ updateMembership(input: GatewayScope & {
193
+ membershipId?: string;
194
+ principalId: string;
195
+ role: "platform_admin" | "tenant_admin" | "workspace_admin" | "editor" | "viewer" | "auditor" | "service_agent";
196
+ status?: "active" | "revoked" | "expired";
197
+ source?: "bootstrap" | "manual" | "sync" | "invitation";
198
+ }, idempotencyKey?: string): Promise<import("./coreClient").PlatformGatewaySuccess<unknown>>;
199
+ /**
200
+ * @deprecated Use createMembership or updateMembership.
201
+ */
202
+ upsertMembership(input: GatewayScope & {
203
+ membershipId?: string;
204
+ principalId: string;
205
+ role: "platform_admin" | "tenant_admin" | "workspace_admin" | "editor" | "viewer" | "auditor" | "service_agent";
206
+ status?: "active" | "revoked" | "expired";
207
+ source?: "bootstrap" | "manual" | "sync" | "invitation";
208
+ }, idempotencyKey?: string): Promise<import("./coreClient").PlatformGatewaySuccess<unknown>>;
209
+ /**
210
+ * List tenant API keys in the current admin scope.
211
+ */
212
+ listTenantApiKeys(scope: GatewayScope & {
213
+ status?: "active" | "revoked" | "expired";
214
+ }): Promise<{
215
+ data: {
216
+ keys: TenantApiKeyRecord[];
217
+ };
218
+ success: true;
219
+ correlationId: string;
220
+ policyTraceId: string | null;
221
+ idempotentReplay: boolean;
222
+ }>;
223
+ /**
224
+ * Create a tenant API key.
225
+ */
226
+ createTenantApiKey(input: GatewayScope & {
227
+ label?: string;
228
+ scopes: string[];
229
+ expiresAt?: number;
230
+ }, idempotencyKey?: string): Promise<{
231
+ data: {
232
+ key: TenantApiKeyRecord | null;
233
+ plaintextKey: string | undefined;
234
+ };
235
+ success: true;
236
+ correlationId: string;
237
+ policyTraceId: string | null;
238
+ idempotentReplay: boolean;
239
+ }>;
240
+ /**
241
+ * Revoke a tenant API key.
242
+ */
243
+ revokeTenantApiKey(keyId: string, input?: GatewayScope & {
244
+ reason?: string;
245
+ }, idempotencyKey?: string): Promise<import("./coreClient").PlatformGatewaySuccess<unknown>>;
246
+ /**
247
+ * List tenant vault secrets.
248
+ */
249
+ listTenantVaultSecrets(scope: GatewayScope): Promise<{
250
+ data: {
251
+ secrets: TenantVaultSecretRecord[];
252
+ };
253
+ success: true;
254
+ correlationId: string;
255
+ policyTraceId: string | null;
256
+ idempotentReplay: boolean;
257
+ }>;
258
+ /**
259
+ * Create a tenant vault secret.
260
+ */
261
+ createTenantVaultSecret(input: GatewayScope & {
262
+ name: string;
263
+ description?: string;
264
+ value: string;
265
+ }, idempotencyKey?: string): Promise<{
266
+ data: {
267
+ secret: TenantVaultSecretRecord | null;
268
+ };
269
+ success: true;
270
+ correlationId: string;
271
+ policyTraceId: string | null;
272
+ idempotentReplay: boolean;
273
+ }>;
274
+ /**
275
+ * Update a tenant vault secret.
276
+ */
277
+ updateTenantVaultSecret(secretId: string, input: GatewayScope & {
278
+ name: string;
279
+ description?: string;
280
+ value?: string;
281
+ }, idempotencyKey?: string): Promise<{
282
+ data: {
283
+ secret: TenantVaultSecretRecord | null;
284
+ };
285
+ success: true;
286
+ correlationId: string;
287
+ policyTraceId: string | null;
288
+ idempotentReplay: boolean;
289
+ }>;
290
+ /**
291
+ * Delete a tenant vault secret.
292
+ */
293
+ deleteTenantVaultSecret(secretId: string, scope: GatewayScope, idempotencyKey?: string): Promise<import("./coreClient").PlatformGatewaySuccess<unknown>>;
294
+ /**
295
+ * List tenant provider secrets.
296
+ */
297
+ listTenantSecrets(scope: GatewayScope & {
298
+ providerId?: string;
299
+ status?: "active" | "revoked";
300
+ }): Promise<import("./coreClient").PlatformGatewaySuccess<unknown>>;
301
+ /**
302
+ * Upsert a tenant provider secret.
303
+ */
304
+ upsertTenantSecret(input: GatewayScope & {
305
+ providerId: string;
306
+ apiKey: string;
307
+ label?: string;
308
+ modelSlotIds?: string[];
309
+ passThroughOnly?: boolean;
310
+ metadata?: JsonObject;
311
+ }, idempotencyKey?: string): Promise<import("./coreClient").PlatformGatewaySuccess<unknown>>;
312
+ /**
313
+ * Revoke a tenant provider secret.
314
+ */
315
+ revokeTenantSecret(secretRef: string, input: GatewayScope & {
316
+ reason?: string;
317
+ }, idempotencyKey?: string): Promise<import("./coreClient").PlatformGatewaySuccess<unknown>>;
318
+ /**
319
+ * Get tenant configuration.
320
+ */
321
+ getTenantConfig(scope: GatewayScope & {
322
+ tenantId: string;
323
+ }): Promise<import("./coreClient").PlatformGatewaySuccess<TenantConfigRecord>>;
324
+ /**
325
+ * Get tenant model routing.
326
+ */
327
+ getTenantModelRouting(scope: GatewayScope & {
328
+ tenantId: string;
329
+ }): Promise<import("./coreClient").PlatformGatewaySuccess<TenantModelRoutingSnapshot>>;
330
+ /**
331
+ * Upsert tenant configuration.
332
+ */
333
+ upsertTenantConfig(input: GatewayScope & Omit<TenantConfigRecord, "updatedAt" | "updatedBy">, idempotencyKey?: string): Promise<import("./coreClient").PlatformGatewaySuccess<TenantConfigRecord>>;
334
+ /**
335
+ * List groups.
336
+ */
337
+ listGroups(scope?: GatewayScope & {
338
+ limit?: number;
339
+ }): Promise<import("./coreClient").PlatformGatewaySuccess<unknown>>;
340
+ /**
341
+ * Create a group.
342
+ */
343
+ createGroup(input: GatewayScope & {
344
+ name: string;
345
+ groupKey?: string;
346
+ groupType?: string;
347
+ description?: string;
348
+ }, idempotencyKey?: string): Promise<import("./coreClient").PlatformGatewaySuccess<unknown>>;
349
+ /**
350
+ * Update a group.
351
+ */
352
+ updateGroup(groupId: string, input: GatewayScope & {
353
+ name?: string;
354
+ description?: string;
355
+ workspaceId?: string;
356
+ clearWorkspaceId?: boolean;
357
+ }, idempotencyKey?: string): Promise<import("./coreClient").PlatformGatewaySuccess<unknown>>;
358
+ /**
359
+ * Delete a group.
360
+ */
361
+ deleteGroup(groupId: string, input?: GatewayScope, idempotencyKey?: string): Promise<import("./coreClient").PlatformGatewaySuccess<unknown>>;
362
+ /**
363
+ * List group members.
364
+ */
365
+ listGroupMembers(query: GatewayScope & {
366
+ groupId: string;
367
+ }): Promise<import("./coreClient").PlatformGatewaySuccess<unknown>>;
368
+ /**
369
+ * Add a group member.
370
+ */
371
+ addGroupMember(input: GatewayScope & {
372
+ groupId: string;
373
+ principalId: string;
374
+ }, idempotencyKey?: string): Promise<import("./coreClient").PlatformGatewaySuccess<unknown>>;
375
+ /**
376
+ * Remove a group member.
377
+ */
378
+ removeGroupMember(input: GatewayScope & {
379
+ groupId: string;
380
+ principalId: string;
381
+ }, idempotencyKey?: string): Promise<import("./coreClient").PlatformGatewaySuccess<unknown>>;
382
+ /**
383
+ * List pack-to-group assignments.
384
+ */
385
+ listPackGroupAssignments(query?: GatewayScope & {
386
+ groupId?: string;
387
+ status?: string;
388
+ }): Promise<import("./coreClient").PlatformGatewaySuccess<unknown>>;
389
+ /**
390
+ * Assign a pack to a group.
391
+ */
392
+ assignPackToGroup(input: GatewayScope & {
393
+ groupId: string;
394
+ packKey: string;
395
+ packVersion?: string;
396
+ }, idempotencyKey?: string): Promise<import("./coreClient").PlatformGatewaySuccess<unknown>>;
397
+ /**
398
+ * Remove a pack from a group.
399
+ */
400
+ removePackFromGroup(input: GatewayScope & {
401
+ groupId: string;
402
+ packKey: string;
403
+ }, idempotencyKey?: string): Promise<import("./coreClient").PlatformGatewaySuccess<unknown>>;
404
+ };