@lucern/sdk 0.2.0-alpha.4 → 0.2.0-alpha.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.
Files changed (190) 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/lib/platform/sdk/contextFacade.d.ts +10 -0
  22. package/dist/lib/platform/sdk/contextFacade.js +10 -0
  23. package/dist/{lucern/packages/domain-context/src/context-pack-compiler.d.ts → lib/platform/sdk/contextPackCompiler.d.ts} +2 -3
  24. package/dist/lib/platform/sdk/contextPackCompiler.js +534 -0
  25. package/dist/lib/platform/sdk/contextTypes.d.ts +133 -0
  26. package/dist/lib/platform/sdk/contextTypes.js +1 -0
  27. package/dist/{packages/sdk/src → lib/platform/sdk}/controlObjectOwnership.d.ts +15 -0
  28. package/dist/lib/platform/sdk/controlObjectOwnership.js +220 -0
  29. package/dist/{packages/sdk/src → lib/platform/sdk}/coreClient.d.ts +19 -0
  30. package/dist/lib/platform/sdk/coreClient.js +366 -0
  31. package/dist/{packages/sdk/src → lib/platform/sdk}/customTools.d.ts +21 -3
  32. package/dist/lib/platform/sdk/customTools.js +247 -0
  33. package/dist/{packages/sdk/src → lib/platform/sdk}/decisionsClient.d.ts +9 -0
  34. package/dist/lib/platform/sdk/decisionsClient.js +129 -0
  35. package/dist/lib/platform/sdk/domainContext.d.ts +1 -0
  36. package/dist/lib/platform/sdk/domainContext.js +1 -0
  37. package/dist/lib/platform/sdk/events.d.ts +176 -0
  38. package/dist/lib/platform/sdk/events.js +261 -0
  39. package/dist/lib/platform/sdk/eventsCore.d.ts +13 -0
  40. package/dist/lib/platform/sdk/eventsCore.js +13 -0
  41. package/dist/lib/platform/sdk/gatewayFacades.d.ts +586 -0
  42. package/dist/lib/platform/sdk/gatewayFacades.js +845 -0
  43. package/dist/{packages/sdk/src → lib/platform/sdk}/graphClient.d.ts +75 -0
  44. package/dist/lib/platform/sdk/graphClient.js +235 -0
  45. package/dist/{packages/sdk/src → lib/platform/sdk}/harnessClient.d.ts +90 -1
  46. package/dist/lib/platform/sdk/harnessClient.js +219 -0
  47. package/dist/{packages/sdk/src → lib/platform/sdk}/identityClient.d.ts +45 -15
  48. package/dist/lib/platform/sdk/identityClient.js +131 -0
  49. package/dist/{packages/sdk/src → lib/platform/sdk}/index.d.ts +24 -3
  50. package/dist/lib/platform/sdk/index.js +49 -0
  51. package/dist/{packages/sdk/src → lib/platform/sdk}/learningClient.d.ts +3 -0
  52. package/dist/lib/platform/sdk/learningClient.js +53 -0
  53. package/dist/{packages/sdk/src → lib/platform/sdk}/mcpParityClient.d.ts +1 -0
  54. package/dist/lib/platform/sdk/mcpParityClient.js +196 -0
  55. package/dist/{packages/sdk/src → lib/platform/sdk}/mcpParitySurface.d.ts +2 -0
  56. package/dist/lib/platform/sdk/mcpParitySurface.js +57 -0
  57. package/dist/{packages/sdk/src → lib/platform/sdk}/ontologyClient.d.ts +16 -0
  58. package/dist/lib/platform/sdk/ontologyClient.js +161 -0
  59. package/dist/lib/platform/sdk/packRuntime.d.ts +1 -0
  60. package/dist/lib/platform/sdk/packRuntime.js +1 -0
  61. package/dist/{packages/sdk/src → lib/platform/sdk}/packsClient.d.ts +25 -0
  62. package/dist/lib/platform/sdk/packsClient.js +157 -0
  63. package/dist/{packages/sdk/src → lib/platform/sdk}/policyClient.d.ts +90 -1
  64. package/dist/lib/platform/sdk/policyClient.js +277 -0
  65. package/dist/lib/platform/sdk/promptCatalog.d.ts +1 -0
  66. package/dist/lib/platform/sdk/promptCatalog.js +1 -0
  67. package/dist/{packages/sdk/src → lib/platform/sdk}/reportsClient.d.ts +3 -0
  68. package/dist/lib/platform/sdk/reportsClient.js +64 -0
  69. package/dist/{packages/sdk/src → lib/platform/sdk}/schemaClient.d.ts +5 -0
  70. package/dist/lib/platform/sdk/schemaClient.js +71 -0
  71. package/dist/{packages/sdk/src → lib/platform/sdk}/sdkSurface.d.ts +1 -0
  72. package/dist/lib/platform/sdk/sdkSurface.js +140 -0
  73. package/dist/{packages/sdk/src → lib/platform/sdk}/topicsClient.d.ts +33 -0
  74. package/dist/lib/platform/sdk/topicsClient.js +118 -0
  75. package/dist/{packages/sdk/src → lib/platform/sdk}/types.d.ts +224 -2
  76. package/dist/lib/platform/sdk/types.js +1 -0
  77. package/dist/lib/platform/sdk/version.js +2 -0
  78. package/dist/{packages/sdk/src → lib/platform/sdk}/workflowClient.d.ts +63 -2
  79. package/dist/lib/platform/sdk/workflowClient.js +366 -0
  80. package/dist/lucern/contracts/src/api-enums.contract.d.ts +58 -0
  81. package/dist/lucern/contracts/src/api-enums.contract.js +147 -0
  82. package/dist/lucern/contracts/src/auth-context.contract.d.ts +8 -0
  83. package/dist/lucern/contracts/src/auth-context.contract.js +8 -0
  84. package/dist/lucern/contracts/src/auth-session.contract.d.ts +5 -50
  85. package/dist/lucern/contracts/src/auth-session.contract.js +8 -0
  86. package/dist/lucern/contracts/src/auth.contract.d.ts +88 -0
  87. package/dist/lucern/contracts/src/auth.contract.js +57 -0
  88. package/dist/lucern/contracts/src/context-pack.contract.js +169 -0
  89. package/dist/lucern/contracts/src/convex-admin.contract.d.ts +5 -0
  90. package/dist/lucern/contracts/src/convex-admin.contract.js +1 -0
  91. package/dist/lucern/contracts/src/events-types.contract.d.ts +8 -0
  92. package/dist/lucern/contracts/src/events-types.contract.js +8 -0
  93. package/dist/lucern/{packages/events/src/types.d.ts → contracts/src/events.contract.d.ts} +25 -0
  94. package/dist/lucern/contracts/src/events.contract.js +159 -0
  95. package/dist/lucern/contracts/src/gateway.contract.d.ts +74 -0
  96. package/dist/lucern/contracts/src/gateway.contract.js +19 -0
  97. package/dist/lucern/contracts/src/ids.contract.js +24 -0
  98. package/dist/lucern/contracts/src/index.d.ts +29 -0
  99. package/dist/lucern/contracts/src/index.js +29 -0
  100. package/dist/lucern/contracts/src/lens-filter.contract.js +95 -0
  101. package/dist/lucern/contracts/src/lens-workflow.contract.js +54 -0
  102. package/dist/lucern/contracts/src/mcp-tools.contract.js +3281 -0
  103. package/dist/lucern/contracts/src/ontology-matching.contract.d.ts +8 -0
  104. package/dist/lucern/contracts/src/ontology-matching.contract.js +8 -0
  105. package/dist/lucern/contracts/src/prompt.contract.d.ts +24 -0
  106. package/dist/lucern/contracts/src/prompt.contract.js +24 -0
  107. package/dist/lucern/contracts/src/sdk-methods.contract.d.ts +358 -0
  108. package/dist/lucern/contracts/src/sdk-methods.contract.js +19 -0
  109. package/dist/lucern/contracts/src/sdk-tools.contract.d.ts +92 -0
  110. package/dist/lucern/contracts/src/sdk-tools.contract.js +1398 -0
  111. package/dist/lucern/contracts/src/text-matching.contract.js +277 -0
  112. package/dist/lucern/contracts/src/topic-scope.contract.d.ts +8 -0
  113. package/dist/lucern/contracts/src/topic-scope.contract.js +8 -0
  114. package/dist/lucern/contracts/src/workflow-runtime.contract.js +257 -0
  115. package/dist/realtime-refs.d.ts +1 -0
  116. package/dist/realtime-refs.js +1 -0
  117. package/dist/realtime.d.ts +1 -0
  118. package/dist/realtime.js +1 -0
  119. package/package.json +18 -5
  120. package/dist/index.js.map +0 -1
  121. package/dist/lucern/mcp-server/src/context-pack-policy.d.ts +0 -119
  122. package/dist/lucern/mcp-server/src/context-pack-schema.d.ts +0 -18
  123. package/dist/lucern/modules/graph-primitives/src/ontology-matching.d.ts +0 -78
  124. package/dist/lucern/packages/client-core/src/beliefs.d.ts +0 -30
  125. package/dist/lucern/packages/client-core/src/context.d.ts +0 -29
  126. package/dist/lucern/packages/client-core/src/contradictions.d.ts +0 -11
  127. package/dist/lucern/packages/client-core/src/edges.d.ts +0 -11
  128. package/dist/lucern/packages/client-core/src/events.d.ts +0 -9
  129. package/dist/lucern/packages/client-core/src/evidence.d.ts +0 -21
  130. package/dist/lucern/packages/client-core/src/graph.d.ts +0 -17
  131. package/dist/lucern/packages/client-core/src/identity.d.ts +0 -7
  132. package/dist/lucern/packages/client-core/src/ontologies.d.ts +0 -13
  133. package/dist/lucern/packages/client-core/src/questions.d.ts +0 -39
  134. package/dist/lucern/packages/client-core/src/search.d.ts +0 -7
  135. package/dist/lucern/packages/client-core/src/tasks.d.ts +0 -13
  136. package/dist/lucern/packages/client-core/src/topics.d.ts +0 -17
  137. package/dist/lucern/packages/client-core/src/webhooks.d.ts +0 -35
  138. package/dist/lucern/packages/client-core/src/worktrees.d.ts +0 -17
  139. package/dist/lucern/packages/domain-beliefs/src/beliefs.d.ts +0 -283
  140. package/dist/lucern/packages/domain-beliefs/src/index.d.ts +0 -1
  141. package/dist/lucern/packages/domain-context/src/compile.d.ts +0 -11
  142. package/dist/lucern/packages/domain-context/src/index.d.ts +0 -4
  143. package/dist/lucern/packages/domain-context/src/ports.d.ts +0 -58
  144. package/dist/lucern/packages/domain-context/src/public-types.d.ts +0 -1
  145. package/dist/lucern/packages/domain-edges/src/contradictions.d.ts +0 -59
  146. package/dist/lucern/packages/domain-edges/src/edges.d.ts +0 -91
  147. package/dist/lucern/packages/domain-edges/src/index.d.ts +0 -2
  148. package/dist/lucern/packages/domain-evidence/src/evidence.d.ts +0 -115
  149. package/dist/lucern/packages/domain-evidence/src/index.d.ts +0 -1
  150. package/dist/lucern/packages/domain-graph/src/graph.d.ts +0 -150
  151. package/dist/lucern/packages/domain-identity/src/index.d.ts +0 -1
  152. package/dist/lucern/packages/domain-identity/src/whoami.d.ts +0 -13
  153. package/dist/lucern/packages/domain-ontologies/src/ontologies.d.ts +0 -123
  154. package/dist/lucern/packages/domain-questions/src/index.d.ts +0 -1
  155. package/dist/lucern/packages/domain-questions/src/questions.d.ts +0 -147
  156. package/dist/lucern/packages/domain-search/src/search.d.ts +0 -97
  157. package/dist/lucern/packages/domain-tasks/src/index.d.ts +0 -1
  158. package/dist/lucern/packages/domain-tasks/src/tasks.d.ts +0 -102
  159. package/dist/lucern/packages/domain-topics/src/index.d.ts +0 -1
  160. package/dist/lucern/packages/domain-topics/src/topics.d.ts +0 -147
  161. package/dist/lucern/packages/domain-worktrees/src/index.d.ts +0 -1
  162. package/dist/lucern/packages/domain-worktrees/src/worktrees.d.ts +0 -185
  163. package/dist/lucern/packages/events/src/index.d.ts +0 -4
  164. package/dist/lucern/packages/events/src/matching.d.ts +0 -3
  165. package/dist/lucern/packages/events/src/outbox.d.ts +0 -15
  166. package/dist/lucern/packages/events/src/webhooks.d.ts +0 -9
  167. package/dist/lucern/packages/sdk-typescript/src/facade/beliefs.d.ts +0 -15
  168. package/dist/lucern/packages/sdk-typescript/src/facade/context.d.ts +0 -12
  169. package/dist/lucern/packages/sdk-typescript/src/facade/contradictions.d.ts +0 -7
  170. package/dist/lucern/packages/sdk-typescript/src/facade/edges.d.ts +0 -7
  171. package/dist/lucern/packages/sdk-typescript/src/facade/events.d.ts +0 -6
  172. package/dist/lucern/packages/sdk-typescript/src/facade/evidence.d.ts +0 -21
  173. package/dist/lucern/packages/sdk-typescript/src/facade/graph.d.ts +0 -10
  174. package/dist/lucern/packages/sdk-typescript/src/facade/identity.d.ts +0 -5
  175. package/dist/lucern/packages/sdk-typescript/src/facade/ontologies.d.ts +0 -8
  176. package/dist/lucern/packages/sdk-typescript/src/facade/questions.d.ts +0 -39
  177. package/dist/lucern/packages/sdk-typescript/src/facade/search.d.ts +0 -5
  178. package/dist/lucern/packages/sdk-typescript/src/facade/tasks.d.ts +0 -8
  179. package/dist/lucern/packages/sdk-typescript/src/facade/topics.d.ts +0 -10
  180. package/dist/lucern/packages/sdk-typescript/src/facade/webhooks.d.ts +0 -16
  181. package/dist/lucern/packages/sdk-typescript/src/facade/worktrees.d.ts +0 -10
  182. package/dist/lucern/packages/sdk-typescript/src/index.d.ts +0 -28
  183. package/dist/packages/sdk/src/adminClient.d.ts +0 -89
  184. package/dist/packages/sdk/src/answersClient.d.ts +0 -5
  185. package/dist/packages/sdk/src/beliefsClient.d.ts +0 -52
  186. package/dist/packages/sdk/src/contextClient.d.ts +0 -9
  187. package/dist/packages/sdk/src/contracts/api-enums.contract.d.ts +0 -79
  188. /package/dist/{packages/sdk/src → lib/platform/sdk}/version.d.ts +0 -0
  189. /package/dist/lucern/{packages/client-core/src/ids.d.ts → contracts/src/ids.contract.d.ts} +0 -0
  190. /package/dist/lucern/{modules/graph-primitives/src/text-matching.d.ts → contracts/src/text-matching.contract.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
+ };