@caracalai/admin 0.1.6-rc.3 → 0.2.0-rc.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ export interface ControlClientOptions {
2
+ stsUrl: string;
3
+ controlUrl: string;
4
+ audience: string;
5
+ applicationId: string;
6
+ clientSecret: string;
7
+ ttlSeconds?: number;
8
+ zoneScope?: string;
9
+ authorizedBy?: string;
10
+ coAuthorOperator?: boolean;
11
+ requestId?: string;
12
+ timeoutMs?: number;
13
+ signal?: AbortSignal;
14
+ fetchImpl?: typeof fetch;
15
+ }
16
+ export declare class ControlClientError extends Error {
17
+ readonly stage: 'token' | 'invoke';
18
+ readonly status: number;
19
+ readonly reason: string;
20
+ readonly code?: string | undefined;
21
+ readonly remediation?: string | undefined;
22
+ constructor(stage: 'token' | 'invoke', status: number, reason: string, code?: string | undefined, remediation?: string | undefined);
23
+ get definitive(): boolean;
24
+ }
25
+ export declare class ControlClient {
26
+ private readonly options;
27
+ private readonly stsUrl;
28
+ private readonly controlUrl;
29
+ private readonly fetchImpl;
30
+ constructor(options: ControlClientOptions);
31
+ private mintToken;
32
+ private exchangeToken;
33
+ private send;
34
+ invoke(command: string, subcommand: string, flags: Record<string, unknown>, scopes: readonly string[]): Promise<unknown>;
35
+ }
36
+ //# sourceMappingURL=control.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"control.d.ts","sourceRoot":"","sources":["../src/control.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IAIpB,UAAU,CAAC,EAAE,MAAM,CAAA;IAMnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAKlB,YAAY,CAAC,EAAE,MAAM,CAAA;IAIrB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAI1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAGlB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;CACzB;AAMD,qBAAa,kBAAmB,SAAQ,KAAK;aAEzB,KAAK,EAAE,OAAO,GAAG,QAAQ;aACzB,MAAM,EAAE,MAAM;aACd,MAAM,EAAE,MAAM;aACd,IAAI,CAAC,EAAE,MAAM;aACb,WAAW,CAAC,EAAE,MAAM;gBAJpB,KAAK,EAAE,OAAO,GAAG,QAAQ,EACzB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,MAAM,YAAA,EACb,WAAW,CAAC,EAAE,MAAM,YAAA;IAStC,IAAI,UAAU,IAAI,OAAO,CAExB;CACF;AAqCD,qBAAa,aAAa;IAKZ,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAQ;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAc;gBAEX,OAAO,EAAE,oBAAoB;YAU5C,SAAS;YAIT,aAAa;YAmCb,IAAI;IAQZ,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;CA6B/H"}
@@ -0,0 +1,152 @@
1
+ // Copyright (C) 2026 Garudex Labs. All Rights Reserved.
2
+ // Caracal, a product of Garudex Labs
3
+ //
4
+ // Control API client that mints a scoped, single-use Caracal token per call and invokes a control command through the governed /v1/control/invoke path.
5
+ const STS_TOKEN_PATH = '/oauth/2/token';
6
+ const CONTROL_INVOKE_PATH = '/v1/control/invoke';
7
+ const DEFAULT_TIMEOUT_MS = 30_000;
8
+ // A control invoke failed. stage distinguishes a token-exchange failure from a control
9
+ // dispatch failure; status 0 means the request itself failed and no response arrived.
10
+ // reason is already free of the client secret, so it is safe to surface or log. code and
11
+ // remediation are the structured control-plane fields when the failure came from dispatch.
12
+ export class ControlClientError extends Error {
13
+ stage;
14
+ status;
15
+ reason;
16
+ code;
17
+ remediation;
18
+ constructor(stage, status, reason, code, remediation) {
19
+ super(`control ${stage} failed (${status}): ${reason}`);
20
+ this.stage = stage;
21
+ this.status = status;
22
+ this.reason = reason;
23
+ this.code = code;
24
+ this.remediation = remediation;
25
+ this.name = 'ControlClientError';
26
+ }
27
+ // Whether the server definitively rejected the request before accepting it. Lost
28
+ // responses and server failures are outcome-ambiguous at both stages: STS may have
29
+ // minted a token, or Control may have applied the command.
30
+ get definitive() {
31
+ return this.status >= 400 && this.status < 500;
32
+ }
33
+ }
34
+ function describeError(body, fallback) {
35
+ const envelope = body?.error;
36
+ if (envelope && typeof envelope === 'object') {
37
+ return { reason: envelope.reason ?? fallback, code: envelope.code, remediation: envelope.remediation };
38
+ }
39
+ return { reason: typeof envelope === 'string' ? envelope : fallback };
40
+ }
41
+ async function readJson(res) {
42
+ const text = await res.text();
43
+ if (text.length === 0)
44
+ return undefined;
45
+ try {
46
+ return JSON.parse(text);
47
+ }
48
+ catch {
49
+ return { raw: text };
50
+ }
51
+ }
52
+ // Trims trailing slashes with a linear scan: a quantified-regex trim backtracks
53
+ // quadratically on long slash runs (js/polynomial-redos), and the URL is library input.
54
+ function trimTrailingSlashes(url) {
55
+ let end = url.length;
56
+ while (end > 0 && url[end - 1] === '/')
57
+ end--;
58
+ return url.slice(0, end);
59
+ }
60
+ // A control-plane client bound to one identity. Each invoke mints a fresh token scoped to
61
+ // exactly the scopes that call requires, so an action carries the least authority that
62
+ // satisfies it and a leaked token grants nothing beyond that one operation. The caller
63
+ // decides what to invoke and with which scopes; this client only carries it to the
64
+ // governed control surface.
65
+ export class ControlClient {
66
+ options;
67
+ stsUrl;
68
+ controlUrl;
69
+ fetchImpl;
70
+ constructor(options) {
71
+ this.options = options;
72
+ this.stsUrl = trimTrailingSlashes(options.stsUrl);
73
+ this.controlUrl = trimTrailingSlashes(options.controlUrl);
74
+ this.fetchImpl = options.fetchImpl ?? fetch;
75
+ }
76
+ // Exchanges the identity's client credentials for a Caracal control token scoped to
77
+ // exactly the requested scopes. The STS narrows the token to the intersection of the
78
+ // identity's allowed scopes and those requested, so an over-broad request can never
79
+ // widen authority beyond what the identity was granted.
80
+ async mintToken(scopes, signal) {
81
+ return this.exchangeToken(scopes, signal);
82
+ }
83
+ async exchangeToken(scopes, signal) {
84
+ const form = new URLSearchParams({
85
+ grant_type: 'urn:ietf:params:oauth:grant-type:token-exchange',
86
+ application_id: this.options.applicationId,
87
+ client_secret: this.options.clientSecret,
88
+ resource: this.options.audience,
89
+ scope: scopes.join(' '),
90
+ });
91
+ if (this.options.ttlSeconds !== undefined)
92
+ form.set('ttl_seconds', String(this.options.ttlSeconds));
93
+ const headers = { 'content-type': 'application/x-www-form-urlencoded' };
94
+ if (this.options.requestId)
95
+ headers['x-request-id'] = this.options.requestId;
96
+ const res = await this.send('token', `${this.stsUrl}${STS_TOKEN_PATH}`, {
97
+ method: 'POST',
98
+ headers,
99
+ body: form.toString(),
100
+ }, signal);
101
+ const body = await readJson(res);
102
+ if (!res.ok) {
103
+ const { reason, code, remediation } = describeError(body, 'token exchange rejected');
104
+ throw new ControlClientError('token', res.status, reason, code, remediation);
105
+ }
106
+ const token = body?.access_token;
107
+ if (typeof token !== 'string' || token.length === 0) {
108
+ throw new ControlClientError('token', res.status, 'token exchange returned no access_token');
109
+ }
110
+ return token;
111
+ }
112
+ // Carries a request to the wire, normalizing a thrown network failure into the error
113
+ // taxonomy as status 0 so every failure a caller sees carries a stage and a status.
114
+ async send(stage, url, init, signal) {
115
+ try {
116
+ return await this.fetchImpl(url, { ...init, signal });
117
+ }
118
+ catch (err) {
119
+ throw new ControlClientError(stage, 0, err instanceof Error ? err.message : 'network request failed');
120
+ }
121
+ }
122
+ async invoke(command, subcommand, flags, scopes) {
123
+ const timeoutMs = this.options.timeoutMs ?? DEFAULT_TIMEOUT_MS;
124
+ if (!Number.isFinite(timeoutMs) || timeoutMs <= 0)
125
+ throw new Error('ControlClient timeoutMs must be a positive number');
126
+ const timeout = AbortSignal.timeout(timeoutMs);
127
+ const signal = this.options.signal ? AbortSignal.any([timeout, this.options.signal]) : timeout;
128
+ const token = await this.mintToken(scopes, signal);
129
+ const headers = { 'content-type': 'application/json', authorization: `Bearer ${token}` };
130
+ if (this.options.zoneScope)
131
+ headers['x-caracal-zone-scope'] = this.options.zoneScope;
132
+ if (this.options.requestId)
133
+ headers['x-request-id'] = this.options.requestId;
134
+ const invokeBody = { command, subcommand, flags };
135
+ if (this.options.authorizedBy)
136
+ invokeBody.authorized_by = this.options.authorizedBy;
137
+ if (this.options.coAuthorOperator)
138
+ invokeBody.co_author_operator = true;
139
+ const res = await this.send('invoke', `${this.controlUrl}${CONTROL_INVOKE_PATH}`, {
140
+ method: 'POST',
141
+ headers,
142
+ body: JSON.stringify(invokeBody),
143
+ }, signal);
144
+ const body = await readJson(res);
145
+ if (!res.ok) {
146
+ const { reason, code, remediation } = describeError(body, 'control invoke rejected');
147
+ throw new ControlClientError('invoke', res.status, reason, code, remediation);
148
+ }
149
+ return body?.result;
150
+ }
151
+ }
152
+ //# sourceMappingURL=control.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"control.js","sourceRoot":"","sources":["../src/control.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ import type { AdminClient } from './client.js';
2
+ import type { APIKeyProviderConfig, OAuth2ClientCredentialsProviderConfig, ProviderIdentifier, Resource, ResourceOperationEnforcement } from './types.js';
3
+ export interface EnsureApplicationInput {
4
+ name: string;
5
+ traits: string[];
6
+ clientSecret: string;
7
+ }
8
+ export declare function ensureApplication(client: AdminClient, zoneId: string, input: EnsureApplicationInput): Promise<string>;
9
+ export interface EnsureApiKeyProviderInput {
10
+ name: string;
11
+ identifier: ProviderIdentifier;
12
+ publicConfig: APIKeyProviderConfig;
13
+ apiKey?: string;
14
+ }
15
+ export declare function ensureApiKeyProvider(client: AdminClient, zoneId: string, input: EnsureApiKeyProviderInput): Promise<string | null>;
16
+ export interface EnsureClientCredentialsProviderInput {
17
+ name: string;
18
+ identifier: ProviderIdentifier;
19
+ publicConfig: OAuth2ClientCredentialsProviderConfig;
20
+ clientSecret?: string;
21
+ privateKey?: string;
22
+ }
23
+ export declare function ensureClientCredentialsProvider(client: AdminClient, zoneId: string, input: EnsureClientCredentialsProviderInput): Promise<string | null>;
24
+ export interface EnsureResourceInput {
25
+ name: string;
26
+ identifier: string;
27
+ scopes: string[];
28
+ upstream_url?: string | null;
29
+ credential_provider_id?: string | null;
30
+ operation_enforcement?: ResourceOperationEnforcement;
31
+ }
32
+ export declare function ensureResource(client: AdminClient, zoneId: string, input: EnsureResourceInput): Promise<Resource>;
33
+ export interface EnsureActivePolicySetInput {
34
+ policyName: string;
35
+ setName: string;
36
+ content: string;
37
+ createWhenMissing?: boolean;
38
+ }
39
+ export declare function ensureActivePolicySet(client: AdminClient, zoneId: string, input: EnsureActivePolicySetInput): Promise<void>;
40
+ export interface ResourceGrant {
41
+ applicationId: string;
42
+ resourceIdentifier: string;
43
+ scopes: string[];
44
+ role?: string;
45
+ }
46
+ export interface EnsureGrantsInput {
47
+ grants: ResourceGrant[];
48
+ policyName?: string;
49
+ setName?: string;
50
+ }
51
+ export declare function authorGrantsDocument(grants: ResourceGrant[]): string;
52
+ export declare function ensureGrants(client: AdminClient, zoneId: string, input: EnsureGrantsInput): Promise<void>;
53
+ export interface GovernedUpstream {
54
+ provider: EnsureApiKeyProviderInput;
55
+ resource: {
56
+ name: string;
57
+ identifier: string;
58
+ scopes: string[];
59
+ upstream_url: string;
60
+ operation_enforcement?: ResourceOperationEnforcement;
61
+ };
62
+ grants: Omit<ResourceGrant, 'resourceIdentifier'>[];
63
+ }
64
+ export interface EnsureGovernedUpstreamsInput {
65
+ upstreams: GovernedUpstream[];
66
+ policyName?: string;
67
+ setName?: string;
68
+ }
69
+ export interface GovernedUpstreamResult {
70
+ providerId: string;
71
+ resource: Resource;
72
+ }
73
+ export declare function ensureGovernedUpstreams(client: AdminClient, zoneId: string, input: EnsureGovernedUpstreamsInput): Promise<GovernedUpstreamResult[]>;
74
+ //# sourceMappingURL=ensure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensure.d.ts","sourceRoot":"","sources":["../src/ensure.ts"],"names":[],"mappings":"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"}
package/dist/ensure.js ADDED
@@ -0,0 +1,256 @@
1
+ // Copyright (C) 2026 Garudex Labs. All Rights Reserved.
2
+ // Caracal, a product of Garudex Labs
3
+ //
4
+ // Idempotent reconcilers that converge applications, providers, resources, and policy sets to a desired state.
5
+ function sameStringSet(live, desired) {
6
+ const have = new Set(live ?? []);
7
+ return have.size === desired.length && desired.every((value) => have.has(value));
8
+ }
9
+ async function sha256Hex(text) {
10
+ const digest = await crypto.subtle.digest('SHA-256', new TextEncoder().encode(text));
11
+ return [...new Uint8Array(digest)].map((byte) => byte.toString(16).padStart(2, '0')).join('');
12
+ }
13
+ // Converges a managed application to exactly the given trait set and seals the given
14
+ // client secret, creating it when absent. The secret patch on every run is the rotation
15
+ // itself: the previous secret stops working the moment the new one is sealed, which is
16
+ // also how a compromised credential is revoked. An existing same-named identity must be a
17
+ // usable managed credential; a DCR or app-expiring application cannot carry a rotating
18
+ // secret, so binding to it would report the identity configured while every token mint
19
+ // failed. Fail closed instead, so the misconfiguration surfaces rather than hiding.
20
+ // Returns the application id.
21
+ export async function ensureApplication(client, zoneId, input) {
22
+ const apps = await client.applications.list(zoneId);
23
+ const existing = apps.find((app) => app.name === input.name);
24
+ if (!existing) {
25
+ const created = await client.applications.create(zoneId, { name: input.name, registration_method: 'managed', traits: input.traits });
26
+ // Seal the caller's secret so the one-time secret minted at creation is never the
27
+ // running credential.
28
+ await client.applications.patch(zoneId, created.id, { client_secret: input.clientSecret });
29
+ return created.id;
30
+ }
31
+ if (existing.registration_method !== 'managed' || (existing.expires_at !== null && existing.expires_at !== undefined)) {
32
+ throw new Error(`application ${input.name} exists but is not a usable managed credential`);
33
+ }
34
+ if (!sameStringSet(existing.traits, input.traits)) {
35
+ await client.applications.patch(zoneId, existing.id, { traits: input.traits });
36
+ }
37
+ await client.applications.patch(zoneId, existing.id, { client_secret: input.clientSecret });
38
+ return existing.id;
39
+ }
40
+ // Seals an api key into an api_key provider the gateway injects at call time, so the
41
+ // caller never holds the key. When a key is supplied it is reconciled together with the
42
+ // public placement config (the sealed secret cannot be read back, so setting or rotating
43
+ // re-seals). When no key is supplied but the placement may have changed, the existing
44
+ // provider's public config is patched without resupplying the key, so an edit applies and
45
+ // the sealed secret is preserved. A missing provider with no key returns null, marking the
46
+ // credential unconfigured so no resource binds a dead credential.
47
+ export async function ensureApiKeyProvider(client, zoneId, input) {
48
+ const providers = await client.providers.list(zoneId);
49
+ const existing = providers.find((provider) => provider.identifier === input.identifier);
50
+ if (input.apiKey === undefined) {
51
+ if (!existing)
52
+ return null;
53
+ await client.providers.patch(zoneId, existing.id, { config_json: input.publicConfig });
54
+ return existing.id;
55
+ }
56
+ const config = { ...input.publicConfig, api_key: input.apiKey };
57
+ if (!existing) {
58
+ const created = await client.providers.create(zoneId, {
59
+ name: input.name,
60
+ identifier: input.identifier,
61
+ kind: 'api_key',
62
+ config_json: config,
63
+ });
64
+ return created.id;
65
+ }
66
+ await client.providers.patch(zoneId, existing.id, { kind: 'api_key', config_json: config });
67
+ return existing.id;
68
+ }
69
+ // Seals the client credential into an oauth2_client_credentials provider so the caller
70
+ // never holds it after the run. When a client secret or signing key is supplied it is
71
+ // reconciled together with the public config (the sealed secret cannot be read back, so
72
+ // setting or rotating re-seals). When no credential is supplied but the public config may
73
+ // have changed, an existing provider is patched without resupplying the credential, so an
74
+ // edit applies and the sealed secret is preserved. Whether a missing provider without a
75
+ // credential is creatable follows the declared authentication: jwt_bearer grants and
76
+ // every client_auth_method except none require a sealed credential, so absence returns
77
+ // null and no resource binds a dead credential; a public client (none) is complete
78
+ // without one and is created. Returns the provider id.
79
+ export async function ensureClientCredentialsProvider(client, zoneId, input) {
80
+ const providers = await client.providers.list(zoneId);
81
+ const existing = providers.find((provider) => provider.identifier === input.identifier);
82
+ const secrets = {};
83
+ if (input.clientSecret !== undefined)
84
+ secrets.client_secret = input.clientSecret;
85
+ if (input.privateKey !== undefined)
86
+ secrets.private_key = input.privateKey;
87
+ if (Object.keys(secrets).length === 0) {
88
+ const grantType = input.publicConfig.grant_type ?? 'client_credentials';
89
+ const authMethod = input.publicConfig.client_auth_method ?? (grantType === 'jwt_bearer' ? 'none' : 'client_secret_basic');
90
+ if (grantType === 'jwt_bearer' || authMethod !== 'none') {
91
+ if (!existing)
92
+ return null;
93
+ await client.providers.patch(zoneId, existing.id, { config_json: input.publicConfig });
94
+ return existing.id;
95
+ }
96
+ }
97
+ const config = { ...input.publicConfig, ...secrets };
98
+ if (!existing) {
99
+ const created = await client.providers.create(zoneId, {
100
+ name: input.name,
101
+ identifier: input.identifier,
102
+ kind: 'oauth2_client_credentials',
103
+ config_json: config,
104
+ });
105
+ return created.id;
106
+ }
107
+ await client.providers.patch(zoneId, existing.id, { kind: 'oauth2_client_credentials', config_json: config });
108
+ return existing.id;
109
+ }
110
+ // Converges a resource to the given desired fields, creating it when absent and patching
111
+ // it only on drift so a steady state never bumps caches keyed on the resource row. Fields
112
+ // left undefined are not managed: they are excluded from both the drift comparison and the
113
+ // patch, so a reconciler that owns only some fields never clobbers the rest. Declared
114
+ // scopes are the resource's business vocabulary; the platform-reserved agent:lifecycle
115
+ // bootstrap scope is derived by STS for gateway-routed resources and never stored on the
116
+ // row. Returns the live resource.
117
+ export async function ensureResource(client, zoneId, input) {
118
+ const desired = { scopes: input.scopes };
119
+ if (input.upstream_url !== undefined)
120
+ desired.upstream_url = input.upstream_url;
121
+ if (input.credential_provider_id !== undefined)
122
+ desired.credential_provider_id = input.credential_provider_id;
123
+ if (input.operation_enforcement !== undefined)
124
+ desired.operation_enforcement = input.operation_enforcement;
125
+ const resources = await client.resources.list(zoneId);
126
+ const existing = resources.find((resource) => resource.identifier === input.identifier);
127
+ if (!existing) {
128
+ return client.resources.create(zoneId, { name: input.name, identifier: input.identifier, ...desired, scopes: input.scopes });
129
+ }
130
+ const drifted = !sameStringSet(existing.scopes, input.scopes) ||
131
+ (desired.upstream_url !== undefined && existing.upstream_url !== desired.upstream_url) ||
132
+ (desired.credential_provider_id !== undefined && existing.credential_provider_id !== desired.credential_provider_id) ||
133
+ (desired.operation_enforcement !== undefined && existing.operation_enforcement !== desired.operation_enforcement);
134
+ if (!drifted)
135
+ return existing;
136
+ return client.resources.patch(zoneId, existing.id, desired);
137
+ }
138
+ // Converges one named policy and policy set to carry exactly the given content, active.
139
+ // Policy versions are immutable, so a new version is added only when the content's digest
140
+ // changes; the set is re-activated only when the content changed or no version is active,
141
+ // which self-heals a deactivated set without churning a steady state.
142
+ export async function ensureActivePolicySet(client, zoneId, input) {
143
+ const policies = await client.policies.list(zoneId);
144
+ const policy = policies.find((entry) => entry.name === input.policyName);
145
+ if (!policy && input.createWhenMissing === false)
146
+ return;
147
+ const desiredSha = await sha256Hex(input.content);
148
+ let policyVersionId;
149
+ let policyChanged = false;
150
+ if (!policy) {
151
+ const created = await client.policies.create(zoneId, { name: input.policyName, content: input.content });
152
+ policyVersionId = created.version_id;
153
+ policyChanged = true;
154
+ }
155
+ else {
156
+ const detail = await client.policies.get(zoneId, policy.id);
157
+ const latest = detail.versions.reduce((best, version) => (version.version > best.version ? version : best));
158
+ if (latest.content_sha256 === desiredSha) {
159
+ policyVersionId = latest.id;
160
+ }
161
+ else {
162
+ const added = await client.policies.addVersion(zoneId, policy.id, input.content);
163
+ policyVersionId = added.version_id;
164
+ policyChanged = true;
165
+ }
166
+ }
167
+ const sets = await client.policySets.list(zoneId);
168
+ let set = sets.find((entry) => entry.name === input.setName);
169
+ if (!set) {
170
+ set = await client.policySets.create(zoneId, input.setName);
171
+ }
172
+ if (policyChanged || !set.active_version_id) {
173
+ const version = await client.policySets.addVersion(zoneId, set.id, [{ policy_version_id: policyVersionId }]);
174
+ await client.policySets.activate(zoneId, set.id, version.version_id);
175
+ }
176
+ }
177
+ const GRANT_POLICY_NAME = 'application-grants';
178
+ const GRANT_POLICY_SET_NAME = 'application-grant-policy';
179
+ // Authors the zone's grant data document: the platform decision contract reads app_ids and
180
+ // grants to authorize data-plane exchanges, and this renders them so no caller ever touches
181
+ // the document format. Deterministic - roles, resources, and scopes are sorted and rendered
182
+ // as canonical JSON - so an unchanged grant set produces an identical document and the
183
+ // reconciler adds no new policy version.
184
+ export function authorGrantsDocument(grants) {
185
+ const appIds = {};
186
+ const byResource = new Map();
187
+ for (const grant of grants) {
188
+ const role = grant.role ?? grant.applicationId;
189
+ if (appIds[role] !== undefined && appIds[role] !== grant.applicationId) {
190
+ throw new Error(`grant role '${role}' is claimed by two applications`);
191
+ }
192
+ appIds[role] = grant.applicationId;
193
+ const entry = byResource.get(grant.resourceIdentifier) ?? { application: role, roles: {} };
194
+ entry.roles[role] = [...new Set([...(entry.roles[role] ?? []), ...grant.scopes])].sort();
195
+ byResource.set(grant.resourceIdentifier, entry);
196
+ }
197
+ const sortedAppIds = Object.fromEntries(Object.keys(appIds)
198
+ .sort()
199
+ .map((role) => [role, appIds[role]]));
200
+ const sortedGrants = {};
201
+ for (const identifier of [...byResource.keys()].sort()) {
202
+ const entry = byResource.get(identifier);
203
+ const roles = Object.fromEntries(Object.keys(entry.roles)
204
+ .sort()
205
+ .map((role) => [role, entry.roles[role]]));
206
+ sortedGrants[identifier] = { application: entry.application, roles };
207
+ }
208
+ return [
209
+ '# caracal:data-document',
210
+ 'package caracal.authz',
211
+ 'import rego.v1',
212
+ `app_ids := ${JSON.stringify(sortedAppIds)}`,
213
+ `grants := ${JSON.stringify(sortedGrants)}`,
214
+ '',
215
+ ].join('\n');
216
+ }
217
+ // Converges the zone's grant policy so each application may mint exactly the given scopes
218
+ // on its resources. This owns the decision-contract data-document format end to end: pair
219
+ // it with ensureResource and a governed transport and an application's authority is fully
220
+ // declared without authoring policy text. With an empty grant set and no existing policy it
221
+ // creates nothing; with an existing policy it converges the document to the (possibly
222
+ // empty) set, revoking what is no longer granted.
223
+ export async function ensureGrants(client, zoneId, input) {
224
+ return ensureActivePolicySet(client, zoneId, {
225
+ policyName: input.policyName ?? GRANT_POLICY_NAME,
226
+ setName: input.setName ?? GRANT_POLICY_SET_NAME,
227
+ content: authorGrantsDocument(input.grants),
228
+ createWhenMissing: input.grants.length > 0,
229
+ });
230
+ }
231
+ // Converges a set of governed upstreams - sealed credential provider, gateway-routed
232
+ // resource, and the zone's grant document - in dependency order, so one call declares
233
+ // everything the platform needs to govern the set. Rego permits one definition of the
234
+ // grant document per zone, so the set converges as a whole: an upstream absent from it
235
+ // loses its grants on the next run, which is the revocation. Every step is idempotent, so
236
+ // a partial failure converges on rerun, and grants land last so nothing is authorized
237
+ // before its resource exists. An upstream whose provider resolves to no sealed key fails
238
+ // closed before any resource binds a dead credential.
239
+ export async function ensureGovernedUpstreams(client, zoneId, input) {
240
+ const results = [];
241
+ const grants = [];
242
+ for (const upstream of input.upstreams) {
243
+ const providerId = await ensureApiKeyProvider(client, zoneId, upstream.provider);
244
+ if (providerId === null) {
245
+ throw new Error(`provider ${upstream.provider.identifier} has no sealed api key: supply apiKey before governing ${upstream.resource.identifier}`);
246
+ }
247
+ const resource = await ensureResource(client, zoneId, { ...upstream.resource, credential_provider_id: providerId });
248
+ results.push({ providerId, resource });
249
+ for (const grant of upstream.grants) {
250
+ grants.push({ ...grant, resourceIdentifier: upstream.resource.identifier });
251
+ }
252
+ }
253
+ await ensureGrants(client, zoneId, { grants, policyName: input.policyName, setName: input.setName });
254
+ return results;
255
+ }
256
+ //# sourceMappingURL=ensure.js.map