@kindgi/compliance 0.1.8 → 0.1.9-rc.0

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/README.md CHANGED
@@ -24,7 +24,7 @@ Evidence is a classification lens over the audit-event stream from [`@kindgi/aud
24
24
  - **`Classification`** — `retention` (`days`, `onDenyDays?`, `legalHold?`), `signed`, `exportable`.
25
25
  - **`LoadedClassifier`** — `file` plus `resolve(kind)`, which returns the per-kind entry or the default.
26
26
  - **`auditEventToEvidence(event)`** — pure transform from an `AuditEvent` to an `Evidence` record (unwraps the `{ v, doc }` payload envelope).
27
- - **`emitResolveEvent(input)`** / **`emitLifecycleEvent(input)`** — append `env-resolved` / `secret-resolved` and `env-set` / `secret-rotated` / … audit events to an `AuditEventBinding`. Payloads carry metadata only (scope, name, version, caller), never the value. Failures are logged with `console.warn` and never thrown. Inputs: **`EmitResolveEventInput`**, **`EmitLifecycleEventInput`**, **`ResolveContext`**.
27
+ - **`emitResolveEvent(input)`** / **`emitLifecycleEvent(input)`** — append `env-resolved` / `secret-resolved` and `env-set` / `secret-rotated` / … audit events to an `AuditEventBinding`. Payloads carry metadata only (scope, name, version, caller), never the value. An append that fails or throws is never thrown: it's logged at `warn` through the input's `log` (a `@kindgi/log` `Logger`), and without one it isn't logged anywhere. Inputs: **`EmitResolveEventInput`**, **`EmitLifecycleEventInput`**, **`ResolveContext`**.
28
28
  - **Errors** — **`ComplianceError`** union of `InvalidEvidenceError`, `PersistenceError`, `SignerFailureError`, `SigningKeyMissingError`, `SigningFailureError`, `InvalidCursorError`, `ProjectNotFoundError`, `UnsupportedVersionError`, each with a `code`. **`EmitResult`** and **`ListResult`** are the `ComplianceProvider` return types.
29
29
 
30
30
  ## Example
package/dist/index.d.ts CHANGED
@@ -6,6 +6,6 @@ export type { Classification, ComplianceClassifierFile, ComplianceClassifierSour
6
6
  export type { ComplianceEvidenceGenerator } from './generator.js';
7
7
  export { auditEventToEvidence } from './generator.js';
8
8
  export { EVIDENCE_EXPORT_PAGE_SIZE, collectEvidence, evidenceFilterToAuditFilter, } from './collect.js';
9
- export { emitLifecycleEvent, emitResolveEvent } from './resolve-emit.js';
10
- export type { EmitLifecycleEventInput, EmitResolveEventInput, ResolveContext, } from './resolve-emit.js';
9
+ export { emitAuditEvent, emitLifecycleEvent, emitResolveEvent, resolveEvent, } from './resolve-emit.js';
10
+ export type { EmitAuditEventInput, EmitLifecycleEventInput, EmitResolveEventInput, ResolveContext, ResolveEventInput, } from './resolve-emit.js';
11
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,YAAY,EACV,SAAS,EACT,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,aAAa,GACd,MAAM,YAAY,CAAC;AAGpB,YAAY,EACV,kBAAkB,EAClB,cAAc,EACd,YAAY,EACZ,sBAAsB,EACtB,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAGpB,YAAY,EACV,eAAe,EACf,UAAU,EACV,kBAAkB,EAClB,oBAAoB,EACpB,UAAU,EACV,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,aAAa,CAAC;AAGrB,YAAY,EACV,cAAc,EACd,wBAAwB,EACxB,0BAA0B,EAC1B,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AAGzB,YAAY,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EACL,yBAAyB,EACzB,eAAe,EACf,2BAA2B,GAC5B,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACzE,YAAY,EACV,uBAAuB,EACvB,qBAAqB,EACrB,cAAc,GACf,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,YAAY,EACV,SAAS,EACT,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,aAAa,GACd,MAAM,YAAY,CAAC;AAGpB,YAAY,EACV,kBAAkB,EAClB,cAAc,EACd,YAAY,EACZ,sBAAsB,EACtB,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAGpB,YAAY,EACV,eAAe,EACf,UAAU,EACV,kBAAkB,EAClB,oBAAoB,EACpB,UAAU,EACV,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,aAAa,CAAC;AAGrB,YAAY,EACV,cAAc,EACd,wBAAwB,EACxB,0BAA0B,EAC1B,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AAGzB,YAAY,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EACL,yBAAyB,EACzB,eAAe,EACf,2BAA2B,GAC5B,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,GACb,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,EACrB,cAAc,EACd,iBAAiB,GAClB,MAAM,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -5,5 +5,5 @@ export { EVIDENCE_KINDS } from './types.js';
5
5
  export { auditEventToEvidence } from './generator.js';
6
6
  export { EVIDENCE_EXPORT_PAGE_SIZE, collectEvidence, evidenceFilterToAuditFilter, } from './collect.js';
7
7
  // ============ Resolve + lifecycle event emitters ============
8
- export { emitLifecycleEvent, emitResolveEvent } from './resolve-emit.js';
8
+ export { emitAuditEvent, emitLifecycleEvent, emitResolveEvent, resolveEvent, } from './resolve-emit.js';
9
9
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AAEjC,uCAAuC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAwD5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EACL,yBAAyB,EACzB,eAAe,EACf,2BAA2B,GAC5B,MAAM,cAAc,CAAC;AAEtB,+DAA+D;AAC/D,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AAEjC,uCAAuC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAwD5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EACL,yBAAyB,EACzB,eAAe,EACf,2BAA2B,GAC5B,MAAM,cAAc,CAAC;AAEtB,+DAA+D;AAC/D,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,GACb,MAAM,mBAAmB,CAAC"}
@@ -1,4 +1,5 @@
1
- import type { AuditEventBinding } from '@kindgi/audit-events';
1
+ import type { AuditEvent, AuditEventBinding } from '@kindgi/audit-events';
2
+ import type { Logger } from '@kindgi/log';
2
3
  import type { Scope } from '@kindgi/platform';
3
4
  import type { EnvName, ProjectId, TenantId } from '@kindgi/types';
4
5
  /**
@@ -11,7 +12,7 @@ export interface ResolveContext {
11
12
  readonly runId?: string;
12
13
  readonly deploymentId?: string;
13
14
  readonly nodeId?: string;
14
- readonly caller: 'dispatch' | 'deploy-sync' | 'admin-cli' | 'boot-bridge' | 'webhook-receiver';
15
+ readonly caller: 'dispatch' | 'deploy-sync' | 'admin-cli' | 'boot-bridge' | 'webhook-receiver' | 'pack-env';
15
16
  }
16
17
  /** Input to `emitResolveEvent`. */
17
18
  export interface EmitResolveEventInput {
@@ -22,12 +23,22 @@ export interface EmitResolveEventInput {
22
23
  readonly outcome: 'succeeded' | 'failed';
23
24
  readonly resolveContext: ResolveContext;
24
25
  readonly version?: number;
26
+ /** The revision a value was given out under (a pack env secret's, `ps1-…`), never the value. */
27
+ readonly revision?: string;
25
28
  readonly errorCode?: string;
29
+ /** The request it came from (the API's `requestId`). */
30
+ readonly correlationId?: string;
31
+ /** The system key that was given the value, by its id (never its token): a pack env secret's. */
32
+ readonly systemKeyId?: string;
26
33
  readonly auditEvents: AuditEventBinding;
27
34
  readonly tenantId: TenantId;
28
35
  /** The project the event belongs to; absent for one that's the tenant's or an org's. */
29
36
  readonly projectId?: ProjectId;
37
+ /** Where an append that fails or throws is logged, at `warn`. Absent: it isn't logged. */
38
+ readonly log?: Logger;
30
39
  }
40
+ /** What `resolveEvent` builds an event from: `emitResolveEvent`'s input, without where it goes. */
41
+ export type ResolveEventInput = Omit<EmitResolveEventInput, 'auditEvents' | 'log'>;
31
42
  /**
32
43
  * Emit an `env-resolved` or `secret-resolved` audit event.
33
44
  *
@@ -35,10 +46,17 @@ export interface EmitResolveEventInput {
35
46
  * outcome carries the plaintext to the caller; the audit event carries
36
47
  * only the fact-of-resolution + version + scope + caller attribution.
37
48
  *
38
- * Fire-and-forget: any error is logged but swallowed. The resolve path
39
- * must not fail because the audit sink is unreachable.
49
+ * Fire-and-forget: an append that fails or throws is logged through
50
+ * `log` (when given) and swallowed. The resolve path must not fail
51
+ * because the audit sink is unreachable.
40
52
  */
41
53
  export declare function emitResolveEvent(input: EmitResolveEventInput): Promise<void>;
54
+ /**
55
+ * The `env-resolved` or `secret-resolved` event `emitResolveEvent` emits,
56
+ * for a caller that appends it itself: one whose read mustn't go on when
57
+ * its row can't be written. It never carries the value.
58
+ */
59
+ export declare function resolveEvent(input: ResolveEventInput): AuditEvent;
42
60
  /**
43
61
  * Input to `emitLifecycleEvent`. Used for env `set` / `delete` and
44
62
  * secret `set` / `rotate` / `revoke` — the non-resolve write ops that
@@ -84,6 +102,8 @@ export interface EmitLifecycleEventInput {
84
102
  readonly tenantId: TenantId;
85
103
  /** The project, for a project-scoped value; absent for a tenant- or org-scoped one. */
86
104
  readonly projectId?: ProjectId;
105
+ /** Where an append that fails or throws is logged, at `warn`. Absent: it isn't logged. */
106
+ readonly log?: Logger;
87
107
  }
88
108
  /**
89
109
  * Emit a non-resolve lifecycle event (`env-set` / `env-deleted` /
@@ -92,4 +112,34 @@ export interface EmitLifecycleEventInput {
92
112
  * Same fire-and-forget contract as `emitResolveEvent`.
93
113
  */
94
114
  export declare function emitLifecycleEvent(input: EmitLifecycleEventInput): Promise<void>;
115
+ /** Input to {@link emitAuditEvent}: a lifecycle event outside the env / secret paths. */
116
+ export interface EmitAuditEventInput {
117
+ /** Where the event lands; absent (no audit binding) → nothing is recorded. */
118
+ readonly auditEvents: AuditEventBinding | undefined;
119
+ readonly tenantId: TenantId;
120
+ /** The event's project, when it has one (query scoping). */
121
+ readonly projectId?: ProjectId;
122
+ /** The event kind — a built-in `EvidenceKind` or a pack's own. */
123
+ readonly kind: string;
124
+ /** Who did it, as the API names its caller (`user:<id>` / `service_account:<id>`). */
125
+ readonly actor?: string;
126
+ /** The outcome, when the event has one; defaults to `succeeded`. */
127
+ readonly outcome?: string;
128
+ /** The request it came from (the API's `requestId`). */
129
+ readonly correlationId?: string;
130
+ /** The kernel run it was emitted in, when any. */
131
+ readonly runId?: string;
132
+ /** The kind-specific body, wrapped as the versioned `{ v: 1, doc }` envelope. */
133
+ readonly doc: Readonly<Record<string, unknown>>;
134
+ /** Where an append that fails or throws is logged, at `warn`. Absent: it isn't logged. */
135
+ readonly log?: Logger;
136
+ }
137
+ /**
138
+ * Emit a lifecycle audit event the env / secret and resolve paths don't
139
+ * cover — a route-layer event such as a trigger's owner change. Builds the
140
+ * canonical event (its id, timestamp and `{ v: 1, doc }` payload envelope)
141
+ * and appends it, fire-and-forget on the same contract as the others: an
142
+ * append that fails or throws is logged at `warn`, never raised.
143
+ */
144
+ export declare function emitAuditEvent(input: EmitAuditEventInput): Promise<void>;
95
145
  //# sourceMappingURL=resolve-emit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-emit.d.ts","sourceRoot":"","sources":["../src/resolve-emit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve-emit.d.ts","sourceRoot":"","sources":["../src/resolve-emit.ts"],"names":[],"mappings":"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"}
@@ -14,8 +14,10 @@
14
14
  * - Framework NEVER copies a secret plaintext `value` into a payload.
15
15
  * Payloads carry only metadata (name, version, scope,
16
16
  * caller, errorCode).
17
- * - Emission is fire-and-forget: failures inside the binding are
18
- * logged (via `console.warn`) but never poison the caller's op.
17
+ * - Emission is fire-and-forget: an append that fails or throws
18
+ * never poisons the caller's op. It's logged at `warn` through the
19
+ * caller's `log`, when the caller passes one; without one it isn't
20
+ * logged anywhere.
19
21
  * - The `resolveContext.caller` discriminant maps to a distinct
20
22
  * `actor` string.
21
23
  */
@@ -27,23 +29,29 @@ import { randomUUID } from 'node:crypto';
27
29
  * outcome carries the plaintext to the caller; the audit event carries
28
30
  * only the fact-of-resolution + version + scope + caller attribution.
29
31
  *
30
- * Fire-and-forget: any error is logged but swallowed. The resolve path
31
- * must not fail because the audit sink is unreachable.
32
+ * Fire-and-forget: an append that fails or throws is logged through
33
+ * `log` (when given) and swallowed. The resolve path must not fail
34
+ * because the audit sink is unreachable.
32
35
  */
33
36
  export async function emitResolveEvent(input) {
34
- const kind = input.kind === 'env' ? 'env-resolved' : 'secret-resolved';
35
- const payload = buildResolvePayload(input);
36
- const actor = actorFromResolveContext(input.resolveContext);
37
- const event = buildEvent({
37
+ await safeEmit(input.auditEvents, resolveEvent(input), input.log);
38
+ }
39
+ /**
40
+ * The `env-resolved` or `secret-resolved` event `emitResolveEvent` emits,
41
+ * for a caller that appends it itself: one whose read mustn't go on when
42
+ * its row can't be written. It never carries the value.
43
+ */
44
+ export function resolveEvent(input) {
45
+ return buildEvent({
38
46
  tenantId: input.tenantId,
39
47
  ...(input.projectId !== undefined && { projectId: input.projectId }),
40
- kind,
48
+ kind: input.kind === 'env' ? 'env-resolved' : 'secret-resolved',
41
49
  outcome: input.outcome,
42
- actor,
50
+ actor: actorFromResolveContext(input.resolveContext),
43
51
  runId: input.resolveContext.runId,
44
- payload,
52
+ ...(input.correlationId !== undefined && { correlationId: input.correlationId }),
53
+ payload: buildResolvePayload(input),
45
54
  });
46
- await safeEmit(input.auditEvents, event);
47
55
  }
48
56
  /**
49
57
  * Emit a non-resolve lifecycle event (`env-set` / `env-deleted` /
@@ -67,7 +75,29 @@ export async function emitLifecycleEvent(input) {
67
75
  ...(input.correlationId !== undefined && { correlationId: input.correlationId }),
68
76
  payload,
69
77
  });
70
- await safeEmit(input.auditEvents, event);
78
+ await safeEmit(input.auditEvents, event, input.log);
79
+ }
80
+ /**
81
+ * Emit a lifecycle audit event the env / secret and resolve paths don't
82
+ * cover — a route-layer event such as a trigger's owner change. Builds the
83
+ * canonical event (its id, timestamp and `{ v: 1, doc }` payload envelope)
84
+ * and appends it, fire-and-forget on the same contract as the others: an
85
+ * append that fails or throws is logged at `warn`, never raised.
86
+ */
87
+ export async function emitAuditEvent(input) {
88
+ if (input.auditEvents === undefined)
89
+ return;
90
+ const event = buildEvent({
91
+ tenantId: input.tenantId,
92
+ ...(input.projectId !== undefined && { projectId: input.projectId }),
93
+ kind: input.kind,
94
+ outcome: input.outcome ?? 'succeeded',
95
+ actor: input.actor,
96
+ runId: input.runId,
97
+ ...(input.correlationId !== undefined && { correlationId: input.correlationId }),
98
+ payload: input.doc,
99
+ });
100
+ await safeEmit(input.auditEvents, event, input.log);
71
101
  }
72
102
  function buildEvent(input) {
73
103
  return {
@@ -83,17 +113,15 @@ function buildEvent(input) {
83
113
  payload: { v: 1, doc: input.payload },
84
114
  };
85
115
  }
86
- async function safeEmit(binding, event) {
116
+ async function safeEmit(binding, event, log) {
87
117
  try {
88
118
  const result = await binding.append([event]);
89
119
  if (result.kind === 'err') {
90
- // eslint-disable-next-line no-console -- no injected logger here
91
- console.warn(`[compliance] emit ${event.kind} audit event failed: ${result.error.message}`);
120
+ log?.warn(`${event.kind} audit event failed: ${result.error.message}`, { tenantId: event.tenantId, kind: event.kind, code: result.error.code }, { inMessage: ['kind'] });
92
121
  }
93
122
  }
94
123
  catch (cause) {
95
- // eslint-disable-next-line no-console -- no injected logger here
96
- console.warn(`[compliance] emit ${event.kind} audit event threw: ${cause instanceof Error ? cause.message : String(cause)}`);
124
+ log?.warn(`${event.kind} audit event failed`, { tenantId: event.tenantId, kind: event.kind, err: cause }, { inMessage: ['kind'] });
97
125
  }
98
126
  }
99
127
  /**
@@ -107,6 +135,7 @@ function actorFromResolveContext(ctx) {
107
135
  case 'dispatch':
108
136
  return ctx.runId !== undefined ? `agent:${ctx.runId}` : 'agent:unknown';
109
137
  case 'deploy-sync':
138
+ case 'pack-env':
110
139
  return ctx.deploymentId !== undefined ? `system:${ctx.deploymentId}` : 'system:deploy';
111
140
  case 'admin-cli':
112
141
  return 'user:admin';
@@ -147,8 +176,15 @@ function buildResolvePayload(input) {
147
176
  };
148
177
  if (input.version !== undefined)
149
178
  payload.recordVersion = input.version;
179
+ if (input.revision !== undefined)
180
+ payload.revision = input.revision;
181
+ if (input.resolveContext.deploymentId !== undefined) {
182
+ payload.deploymentId = input.resolveContext.deploymentId;
183
+ }
150
184
  if (input.errorCode !== undefined)
151
185
  payload.errorCode = input.errorCode;
186
+ if (input.systemKeyId !== undefined)
187
+ payload.systemKeyId = input.systemKeyId;
152
188
  if (input.resolveContext.nodeId !== undefined)
153
189
  payload.nodeId = input.resolveContext.nodeId;
154
190
  if (input.resolveContext.runId !== undefined)
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-emit.js","sourceRoot":"","sources":["../src/resolve-emit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve-emit.js","sourceRoot":"","sources":["../src/resolve-emit.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -7,7 +7,7 @@ import type { AgentId, ComplianceEvidenceId, FlowId, ProjectId, ProvenanceId, Ru
7
7
  * whose kinds are open (pack authors add their own), and a deployment's
8
8
  * compliance classifier can mark any kind exportable. See `EvidenceKind`.
9
9
  */
10
- export declare const EVIDENCE_KINDS: readonly ["access-event", "policy-decision", "config-change", "secret-rotation", "incident-event", "guardrail-violation", "eval-run", "approval-completed", "data-retention-action", "authn-event", "authz-decision", "model-invocation", "pack-install", "pack-upgrade", "pack-uninstall", "run-outcome", "env-resolved", "env-set", "env-deleted", "secret-resolved", "secret-set", "secret-rotated", "secret-rotation-started", "secret-rotation-failed", "secret-revoked", "secret-hard-revoked", "hitl-decision", "agent-promotion", "agent-promotion-refused", "agent-rollback", "agent-live-unpinned", "agent-live-pin-inactive", "api-key-minted", "api-key-revoked", "service-account-created", "service-account-granted", "service-account-ungranted", "service-account-unregistered", "person-added", "person-granted", "person-ungranted"];
10
+ export declare const EVIDENCE_KINDS: readonly ["access-event", "policy-decision", "config-change", "secret-rotation", "incident-event", "guardrail-violation", "eval-run", "approval-completed", "data-retention-action", "authn-event", "authz-decision", "model-invocation", "pack-install", "pack-upgrade", "pack-uninstall", "run-outcome", "env-resolved", "env-set", "env-deleted", "secret-resolved", "secret-set", "secret-rotated", "secret-rotation-started", "secret-rotation-failed", "secret-revoked", "secret-hard-revoked", "hitl-decision", "agent-promotion", "agent-promotion-refused", "agent-rollback", "agent-live-unpinned", "agent-live-pin-inactive", "api-key-minted", "api-key-revoked", "service-account-created", "service-account-granted", "service-account-ungranted", "service-account-unregistered", "person-added", "person-granted", "person-ungranted", "trigger-owner-set", "environment-order-set", "deployment-promoted"];
11
11
  /**
12
12
  * An evidence kind: one of the built-in `EVIDENCE_KINDS`, or any other
13
13
  * audit-event kind a deployment's classifier marks exportable. Consumers
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js CHANGED
@@ -69,5 +69,17 @@ export const EVIDENCE_KINDS = [
69
69
  'person-added',
70
70
  'person-granted',
71
71
  'person-ungranted',
72
+ // A trigger's owner (the principal its runs act as) set at registration
73
+ // or changed on take-over — a delegation when it names a service account.
74
+ 'trigger-owner-set',
75
+ // The order a tenant (or one of its orgs) runs a project through to live
76
+ // was set, changed or cleared. The payload carries the order before and
77
+ // after, each a list of project ids — never anything a project holds.
78
+ 'environment-order-set',
79
+ // A deployment was promoted into the next environment of its order: a new
80
+ // deployment there, or versions carried onto the one it had. The payload
81
+ // names both deployments, both projects, the image digest and the
82
+ // versions carried — never anything a project holds.
83
+ 'deployment-promoted',
72
84
  ];
73
85
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AAcjC,wDAAwD;AAExD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,cAAc;IACd,iBAAiB;IACjB,eAAe;IACf,kEAAkE;IAClE,0EAA0E;IAC1E,SAAS;IACT,iBAAiB;IACjB,gBAAgB;IAChB,qBAAqB;IACrB,UAAU;IACV,oBAAoB;IACpB,uBAAuB;IACvB,aAAa;IACb,gBAAgB;IAChB,kBAAkB;IAClB,cAAc;IACd,cAAc;IACd,gBAAgB;IAChB,aAAa;IACb,kEAAkE;IAClE,gEAAgE;IAChE,cAAc;IACd,SAAS;IACT,aAAa;IACb,kEAAkE;IAClE,4CAA4C;IAC5C,0EAA0E;IAC1E,iBAAiB;IACjB,YAAY;IACZ,gBAAgB;IAChB,yBAAyB;IACzB,wBAAwB;IACxB,gBAAgB;IAChB,qBAAqB;IACrB,kEAAkE;IAClE,0BAA0B;IAC1B,eAAe;IACf,uEAAuE;IACvE,oDAAoD;IACpD,iBAAiB;IACjB,+EAA+E;IAC/E,yBAAyB;IACzB,gBAAgB;IAChB,qBAAqB;IACrB,uEAAuE;IACvE,yBAAyB;IACzB,uEAAuE;IACvE,uEAAuE;IACvE,qEAAqE;IACrE,cAAc;IACd,gBAAgB;IAChB,iBAAiB;IACjB,yBAAyB;IACzB,yBAAyB;IACzB,2BAA2B;IAC3B,8BAA8B;IAC9B,cAAc;IACd,gBAAgB;IAChB,kBAAkB;CACV,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AAcjC,wDAAwD;AAExD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,cAAc;IACd,iBAAiB;IACjB,eAAe;IACf,kEAAkE;IAClE,0EAA0E;IAC1E,SAAS;IACT,iBAAiB;IACjB,gBAAgB;IAChB,qBAAqB;IACrB,UAAU;IACV,oBAAoB;IACpB,uBAAuB;IACvB,aAAa;IACb,gBAAgB;IAChB,kBAAkB;IAClB,cAAc;IACd,cAAc;IACd,gBAAgB;IAChB,aAAa;IACb,kEAAkE;IAClE,gEAAgE;IAChE,cAAc;IACd,SAAS;IACT,aAAa;IACb,kEAAkE;IAClE,4CAA4C;IAC5C,0EAA0E;IAC1E,iBAAiB;IACjB,YAAY;IACZ,gBAAgB;IAChB,yBAAyB;IACzB,wBAAwB;IACxB,gBAAgB;IAChB,qBAAqB;IACrB,kEAAkE;IAClE,0BAA0B;IAC1B,eAAe;IACf,uEAAuE;IACvE,oDAAoD;IACpD,iBAAiB;IACjB,+EAA+E;IAC/E,yBAAyB;IACzB,gBAAgB;IAChB,qBAAqB;IACrB,uEAAuE;IACvE,yBAAyB;IACzB,uEAAuE;IACvE,uEAAuE;IACvE,qEAAqE;IACrE,cAAc;IACd,gBAAgB;IAChB,iBAAiB;IACjB,yBAAyB;IACzB,yBAAyB;IACzB,2BAA2B;IAC3B,8BAA8B;IAC9B,cAAc;IACd,gBAAgB;IAChB,kBAAkB;IAClB,wEAAwE;IACxE,0EAA0E;IAC1E,mBAAmB;IACnB,yEAAyE;IACzE,wEAAwE;IACxE,sEAAsE;IACtE,uBAAuB;IACvB,0EAA0E;IAC1E,yEAAyE;IACzE,kEAAkE;IAClE,qDAAqD;IACrD,qBAAqB;CACb,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kindgi/compliance",
3
- "version": "0.1.8",
3
+ "version": "0.1.9-rc.0",
4
4
  "description": "Kindgi™ compliance evidence contract. Types for the Evidence wire record and its sub-types (EvidenceActor, EvidenceSubject, EvidenceKind, EvidenceOutcome, EvidencePayload, EvidenceSignature, ProvenanceRef, ActorKind; ComplianceEvidence alias), the ComplianceProvider seam (EmitEvidenceInput, ListEvidenceFilter, EvidenceSigner), the ComplianceEvidenceGenerator interface with its inputs (RecordFromRunOptions, RunEvidenceContext, ModelCallSummary, ToolInvocationSummary, GuardrailResultSummary), EvidenceFilter, EvidencePage, SignedEvidenceBundle and EvidenceBundleBody, the classifier file format (ComplianceClassifierFile, Classification, LoadedClassifier), and the ComplianceError union. Runtime exports: the EVIDENCE_KINDS list, the pure auditEventToEvidence transform, and emitResolveEvent / emitLifecycleEvent, which append env-* and secret-* audit events to an AuditEventBinding. The generator implementation and the classifier loader are provided by the Kindgi runtime or by the caller.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -28,12 +28,13 @@
28
28
  "README.md"
29
29
  ],
30
30
  "dependencies": {
31
- "@kindgi/audit-events": "0.1.8",
32
- "@kindgi/platform": "0.1.8",
33
- "@kindgi/types": "0.1.8"
31
+ "@kindgi/audit-events": "0.1.9-rc.0",
32
+ "@kindgi/log": "0.1.9-rc.0",
33
+ "@kindgi/platform": "0.1.9-rc.0",
34
+ "@kindgi/types": "0.1.9-rc.0"
34
35
  },
35
36
  "devDependencies": {
36
- "@kindgi/specs": "0.1.8",
37
+ "@kindgi/specs": "0.1.9-rc.0",
37
38
  "@types/node": "^22.10.5",
38
39
  "typescript": "^5.7.3",
39
40
  "vitest": "^2.1.8"
package/src/index.ts CHANGED
@@ -66,9 +66,16 @@ export {
66
66
  } from './collect.js';
67
67
 
68
68
  // ============ Resolve + lifecycle event emitters ============
69
- export { emitLifecycleEvent, emitResolveEvent } from './resolve-emit.js';
69
+ export {
70
+ emitAuditEvent,
71
+ emitLifecycleEvent,
72
+ emitResolveEvent,
73
+ resolveEvent,
74
+ } from './resolve-emit.js';
70
75
  export type {
76
+ EmitAuditEventInput,
71
77
  EmitLifecycleEventInput,
72
78
  EmitResolveEventInput,
73
79
  ResolveContext,
80
+ ResolveEventInput,
74
81
  } from './resolve-emit.js';
@@ -15,8 +15,10 @@
15
15
  * - Framework NEVER copies a secret plaintext `value` into a payload.
16
16
  * Payloads carry only metadata (name, version, scope,
17
17
  * caller, errorCode).
18
- * - Emission is fire-and-forget: failures inside the binding are
19
- * logged (via `console.warn`) but never poison the caller's op.
18
+ * - Emission is fire-and-forget: an append that fails or throws
19
+ * never poisons the caller's op. It's logged at `warn` through the
20
+ * caller's `log`, when the caller passes one; without one it isn't
21
+ * logged anywhere.
20
22
  * - The `resolveContext.caller` discriminant maps to a distinct
21
23
  * `actor` string.
22
24
  */
@@ -24,6 +26,7 @@
24
26
  import { randomUUID } from 'node:crypto';
25
27
 
26
28
  import type { AuditEvent, AuditEventBinding } from '@kindgi/audit-events';
29
+ import type { Logger } from '@kindgi/log';
27
30
  import type { Scope } from '@kindgi/platform';
28
31
  import type { EnvName, ProjectId, TenantId, Timestamp } from '@kindgi/types';
29
32
 
@@ -37,7 +40,13 @@ export interface ResolveContext {
37
40
  readonly runId?: string;
38
41
  readonly deploymentId?: string;
39
42
  readonly nodeId?: string;
40
- readonly caller: 'dispatch' | 'deploy-sync' | 'admin-cli' | 'boot-bridge' | 'webhook-receiver';
43
+ readonly caller:
44
+ | 'dispatch'
45
+ | 'deploy-sync'
46
+ | 'admin-cli'
47
+ | 'boot-bridge'
48
+ | 'webhook-receiver'
49
+ | 'pack-env';
41
50
  }
42
51
 
43
52
  /** Input to `emitResolveEvent`. */
@@ -49,13 +58,24 @@ export interface EmitResolveEventInput {
49
58
  readonly outcome: 'succeeded' | 'failed';
50
59
  readonly resolveContext: ResolveContext;
51
60
  readonly version?: number;
61
+ /** The revision a value was given out under (a pack env secret's, `ps1-…`), never the value. */
62
+ readonly revision?: string;
52
63
  readonly errorCode?: string;
64
+ /** The request it came from (the API's `requestId`). */
65
+ readonly correlationId?: string;
66
+ /** The system key that was given the value, by its id (never its token): a pack env secret's. */
67
+ readonly systemKeyId?: string;
53
68
  readonly auditEvents: AuditEventBinding;
54
69
  readonly tenantId: TenantId;
55
70
  /** The project the event belongs to; absent for one that's the tenant's or an org's. */
56
71
  readonly projectId?: ProjectId;
72
+ /** Where an append that fails or throws is logged, at `warn`. Absent: it isn't logged. */
73
+ readonly log?: Logger;
57
74
  }
58
75
 
76
+ /** What `resolveEvent` builds an event from: `emitResolveEvent`'s input, without where it goes. */
77
+ export type ResolveEventInput = Omit<EmitResolveEventInput, 'auditEvents' | 'log'>;
78
+
59
79
  /**
60
80
  * Emit an `env-resolved` or `secret-resolved` audit event.
61
81
  *
@@ -63,23 +83,30 @@ export interface EmitResolveEventInput {
63
83
  * outcome carries the plaintext to the caller; the audit event carries
64
84
  * only the fact-of-resolution + version + scope + caller attribution.
65
85
  *
66
- * Fire-and-forget: any error is logged but swallowed. The resolve path
67
- * must not fail because the audit sink is unreachable.
86
+ * Fire-and-forget: an append that fails or throws is logged through
87
+ * `log` (when given) and swallowed. The resolve path must not fail
88
+ * because the audit sink is unreachable.
68
89
  */
69
90
  export async function emitResolveEvent(input: EmitResolveEventInput): Promise<void> {
70
- const kind = input.kind === 'env' ? 'env-resolved' : 'secret-resolved';
71
- const payload = buildResolvePayload(input);
72
- const actor = actorFromResolveContext(input.resolveContext);
73
- const event = buildEvent({
91
+ await safeEmit(input.auditEvents, resolveEvent(input), input.log);
92
+ }
93
+
94
+ /**
95
+ * The `env-resolved` or `secret-resolved` event `emitResolveEvent` emits,
96
+ * for a caller that appends it itself: one whose read mustn't go on when
97
+ * its row can't be written. It never carries the value.
98
+ */
99
+ export function resolveEvent(input: ResolveEventInput): AuditEvent {
100
+ return buildEvent({
74
101
  tenantId: input.tenantId,
75
102
  ...(input.projectId !== undefined && { projectId: input.projectId }),
76
- kind,
103
+ kind: input.kind === 'env' ? 'env-resolved' : 'secret-resolved',
77
104
  outcome: input.outcome,
78
- actor,
105
+ actor: actorFromResolveContext(input.resolveContext),
79
106
  runId: input.resolveContext.runId,
80
- payload,
107
+ ...(input.correlationId !== undefined && { correlationId: input.correlationId }),
108
+ payload: buildResolvePayload(input),
81
109
  });
82
- await safeEmit(input.auditEvents, event);
83
110
  }
84
111
 
85
112
  /**
@@ -127,6 +154,8 @@ export interface EmitLifecycleEventInput {
127
154
  readonly tenantId: TenantId;
128
155
  /** The project, for a project-scoped value; absent for a tenant- or org-scoped one. */
129
156
  readonly projectId?: ProjectId;
157
+ /** Where an append that fails or throws is logged, at `warn`. Absent: it isn't logged. */
158
+ readonly log?: Logger;
130
159
  }
131
160
 
132
161
  /**
@@ -152,7 +181,52 @@ export async function emitLifecycleEvent(input: EmitLifecycleEventInput): Promis
152
181
  ...(input.correlationId !== undefined && { correlationId: input.correlationId }),
153
182
  payload,
154
183
  });
155
- await safeEmit(input.auditEvents, event);
184
+ await safeEmit(input.auditEvents, event, input.log);
185
+ }
186
+
187
+ /** Input to {@link emitAuditEvent}: a lifecycle event outside the env / secret paths. */
188
+ export interface EmitAuditEventInput {
189
+ /** Where the event lands; absent (no audit binding) → nothing is recorded. */
190
+ readonly auditEvents: AuditEventBinding | undefined;
191
+ readonly tenantId: TenantId;
192
+ /** The event's project, when it has one (query scoping). */
193
+ readonly projectId?: ProjectId;
194
+ /** The event kind — a built-in `EvidenceKind` or a pack's own. */
195
+ readonly kind: string;
196
+ /** Who did it, as the API names its caller (`user:<id>` / `service_account:<id>`). */
197
+ readonly actor?: string;
198
+ /** The outcome, when the event has one; defaults to `succeeded`. */
199
+ readonly outcome?: string;
200
+ /** The request it came from (the API's `requestId`). */
201
+ readonly correlationId?: string;
202
+ /** The kernel run it was emitted in, when any. */
203
+ readonly runId?: string;
204
+ /** The kind-specific body, wrapped as the versioned `{ v: 1, doc }` envelope. */
205
+ readonly doc: Readonly<Record<string, unknown>>;
206
+ /** Where an append that fails or throws is logged, at `warn`. Absent: it isn't logged. */
207
+ readonly log?: Logger;
208
+ }
209
+
210
+ /**
211
+ * Emit a lifecycle audit event the env / secret and resolve paths don't
212
+ * cover — a route-layer event such as a trigger's owner change. Builds the
213
+ * canonical event (its id, timestamp and `{ v: 1, doc }` payload envelope)
214
+ * and appends it, fire-and-forget on the same contract as the others: an
215
+ * append that fails or throws is logged at `warn`, never raised.
216
+ */
217
+ export async function emitAuditEvent(input: EmitAuditEventInput): Promise<void> {
218
+ if (input.auditEvents === undefined) return;
219
+ const event = buildEvent({
220
+ tenantId: input.tenantId,
221
+ ...(input.projectId !== undefined && { projectId: input.projectId }),
222
+ kind: input.kind,
223
+ outcome: input.outcome ?? 'succeeded',
224
+ actor: input.actor,
225
+ runId: input.runId,
226
+ ...(input.correlationId !== undefined && { correlationId: input.correlationId }),
227
+ payload: input.doc,
228
+ });
229
+ await safeEmit(input.auditEvents, event, input.log);
156
230
  }
157
231
 
158
232
  // -----------------------------------------------------------------------------
@@ -185,19 +259,25 @@ function buildEvent(input: BuildEventInput): AuditEvent {
185
259
  };
186
260
  }
187
261
 
188
- async function safeEmit(binding: AuditEventBinding, event: AuditEvent): Promise<void> {
262
+ async function safeEmit(
263
+ binding: AuditEventBinding,
264
+ event: AuditEvent,
265
+ log: Logger | undefined,
266
+ ): Promise<void> {
189
267
  try {
190
268
  const result = await binding.append([event]);
191
269
  if (result.kind === 'err') {
192
- // eslint-disable-next-line no-console -- no injected logger here
193
- console.warn(`[compliance] emit ${event.kind} audit event failed: ${result.error.message}`);
270
+ log?.warn(
271
+ `${event.kind} audit event failed: ${result.error.message}`,
272
+ { tenantId: event.tenantId, kind: event.kind, code: result.error.code },
273
+ { inMessage: ['kind'] },
274
+ );
194
275
  }
195
276
  } catch (cause) {
196
- // eslint-disable-next-line no-console -- no injected logger here
197
- console.warn(
198
- `[compliance] emit ${event.kind} audit event threw: ${
199
- cause instanceof Error ? cause.message : String(cause)
200
- }`,
277
+ log?.warn(
278
+ `${event.kind} audit event failed`,
279
+ { tenantId: event.tenantId, kind: event.kind, err: cause },
280
+ { inMessage: ['kind'] },
201
281
  );
202
282
  }
203
283
  }
@@ -213,6 +293,7 @@ function actorFromResolveContext(ctx: ResolveContext): string | undefined {
213
293
  case 'dispatch':
214
294
  return ctx.runId !== undefined ? `agent:${ctx.runId}` : 'agent:unknown';
215
295
  case 'deploy-sync':
296
+ case 'pack-env':
216
297
  return ctx.deploymentId !== undefined ? `system:${ctx.deploymentId}` : 'system:deploy';
217
298
  case 'admin-cli':
218
299
  return 'user:admin';
@@ -246,7 +327,7 @@ function scopeToPayloadShape(scope: Scope): Readonly<Record<string, unknown>> {
246
327
  * key ever appears. Every field is either metadata (name,
247
328
  * version, scope) or attribution (caller, errorCode).
248
329
  */
249
- function buildResolvePayload(input: EmitResolveEventInput): Readonly<Record<string, unknown>> {
330
+ function buildResolvePayload(input: ResolveEventInput): Readonly<Record<string, unknown>> {
250
331
  const payload: Record<string, unknown> = {
251
332
  scope: scopeToPayloadShape(input.scope),
252
333
  envName: input.envName as unknown as string,
@@ -254,7 +335,12 @@ function buildResolvePayload(input: EmitResolveEventInput): Readonly<Record<stri
254
335
  caller: input.resolveContext.caller,
255
336
  };
256
337
  if (input.version !== undefined) payload.recordVersion = input.version;
338
+ if (input.revision !== undefined) payload.revision = input.revision;
339
+ if (input.resolveContext.deploymentId !== undefined) {
340
+ payload.deploymentId = input.resolveContext.deploymentId;
341
+ }
257
342
  if (input.errorCode !== undefined) payload.errorCode = input.errorCode;
343
+ if (input.systemKeyId !== undefined) payload.systemKeyId = input.systemKeyId;
258
344
  if (input.resolveContext.nodeId !== undefined) payload.nodeId = input.resolveContext.nodeId;
259
345
  if (input.resolveContext.runId !== undefined) payload.runId = input.resolveContext.runId;
260
346
  return payload;
package/src/types.ts CHANGED
@@ -83,6 +83,18 @@ export const EVIDENCE_KINDS = [
83
83
  'person-added',
84
84
  'person-granted',
85
85
  'person-ungranted',
86
+ // A trigger's owner (the principal its runs act as) set at registration
87
+ // or changed on take-over — a delegation when it names a service account.
88
+ 'trigger-owner-set',
89
+ // The order a tenant (or one of its orgs) runs a project through to live
90
+ // was set, changed or cleared. The payload carries the order before and
91
+ // after, each a list of project ids — never anything a project holds.
92
+ 'environment-order-set',
93
+ // A deployment was promoted into the next environment of its order: a new
94
+ // deployment there, or versions carried onto the one it had. The payload
95
+ // names both deployments, both projects, the image digest and the
96
+ // versions carried — never anything a project holds.
97
+ 'deployment-promoted',
86
98
  ] as const;
87
99
 
88
100
  /**