@lucern/events 0.3.0-alpha.16 → 0.3.0-alpha.17

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
@@ -1,5 +1,17 @@
1
- # packages/events
1
+ # @lucern/events
2
2
 
3
- Event infrastructure: outbox pattern, webhook delivery, replay, projection reconciliation.
3
+ Operational eventing helpers for Lucern: domain event contracts, event matching,
4
+ outbox helper re-exports, webhook validation, webhook signing, retry scheduling,
5
+ and delivery record sanitization.
4
6
 
5
7
  ## Built by: EK-13.8 (Eventing + Async Integrations)
8
+
9
+ ## Replay boundary
10
+
11
+ This package is operational eventing substrate. It is not the final Campaign #4
12
+ bitemporal replay architecture. Source Horizons, Output Objects, Computation
13
+ Runs, Bitemporal Events, Replay Records, and source-horizon-bound artifact
14
+ replay remain roadmap contracts.
15
+
16
+ See `docs/reference/mcp-event-packages.md` for package-boundary truth and
17
+ `docs/development/mcp-eventing-workflows.md` for development workflow examples.
package/dist/index.js CHANGED
@@ -921,7 +921,7 @@ defineTable({
921
921
  shape: z.object({
922
922
  "tenantId": idOf("tenants").optional(),
923
923
  "apiKeyId": idOf("apiKeys").optional(),
924
- "action": z.enum(["key_created", "key_revoked", "key_expired", "key_used", "tenant_secret_created", "tenant_secret_rotated", "tenant_secret_revoked", "tenant_slot_binding_upserted", "tenant_slot_binding_revoked", "proxy_token_minted", "proxy_token_lease_issued", "proxy_token_lease_renewed", "proxy_token_lease_revoked", "proxy_request_recorded", "tenant_created", "tenant_updated", "tenant_suspended", "tenant_archived", "tenant_reactivated", "principal_created", "principal_updated", "principal_suspended", "principal_identity_alias_upserted", "principal_identity_alias_revoked", "membership_created", "membership_updated", "membership_revoked", "group_created", "group_updated", "group_deleted", "group_member_added", "group_member_removed", "workspace_created", "workspace_updated", "workspace_archived", "workspace_deployment_set", "workspace_deployment_removed", "deployment_host_registered", "deployment_host_revoked", "service_key_created", "service_key_rotated", "service_key_revoked", "service_key_used", "service_key_auth_failed", "session_created", "session_validated", "session_revoked", "session_cascade_revoked", "session_expired", "sandbox_created", "sandbox_secret_injected", "sandbox_execution_started", "sandbox_execution_completed", "sandbox_limit_violated", "policy_created", "policy_updated", "policy_enforced", "policy_archived", "permit_sync_enqueued", "permit_sync_succeeded", "permit_sync_failed", "permit_sync_skipped", "agent_registered", "agent_updated", "tool_registered", "tool_updated", "pack_entitled", "pack_installed", "pack_enabled", "pack_disabled", "pack_entitlement_revoked", "pack_upgraded", "pack_upgrade_committed", "pack_upgrade_rolled_back", "pack_group_assigned", "pack_group_unassigned", "methodology_pack_created", "methodology_pack_updated", "methodology_pack_assigned", "methodology_pack_removed", "pack_assigned_to_group", "pack_revoked_from_group", "pack_ontology_materialized", "pack_ontology_topic_bound", "cutover_flag_set", "cutover_flag_cleared"]),
924
+ "action": z.enum(["key_created", "key_revoked", "key_expired", "key_used", "tenant_secret_created", "tenant_secret_rotated", "tenant_secret_revoked", "tenant_slot_binding_upserted", "tenant_slot_binding_revoked", "proxy_token_minted", "proxy_token_lease_issued", "proxy_token_lease_renewed", "proxy_token_lease_revoked", "proxy_request_recorded", "tenant_created", "tenant_updated", "tenant_suspended", "tenant_archived", "tenant_reactivated", "tenant_clerk_organization_linked", "principal_created", "principal_updated", "principal_suspended", "principal_identity_alias_upserted", "principal_identity_alias_revoked", "membership_created", "membership_updated", "membership_revoked", "group_created", "group_updated", "group_deleted", "group_member_added", "group_member_removed", "workspace_created", "workspace_updated", "workspace_archived", "workspace_deployment_set", "workspace_deployment_removed", "deployment_host_registered", "deployment_host_revoked", "service_key_created", "service_key_rotated", "service_key_revoked", "service_key_used", "service_key_auth_failed", "session_created", "session_validated", "session_revoked", "session_cascade_revoked", "session_expired", "sandbox_created", "sandbox_secret_injected", "sandbox_execution_started", "sandbox_execution_completed", "sandbox_limit_violated", "policy_created", "policy_updated", "policy_enforced", "policy_archived", "permit_sync_enqueued", "permit_sync_succeeded", "permit_sync_failed", "permit_sync_skipped", "agent_registered", "agent_updated", "tool_registered", "tool_updated", "pack_entitled", "pack_installed", "pack_enabled", "pack_disabled", "pack_entitlement_revoked", "pack_upgraded", "pack_upgrade_committed", "pack_upgrade_rolled_back", "pack_group_assigned", "pack_group_unassigned", "methodology_pack_created", "methodology_pack_updated", "methodology_pack_assigned", "methodology_pack_removed", "pack_assigned_to_group", "pack_revoked_from_group", "pack_ontology_materialized", "pack_ontology_topic_bound", "cutover_flag_set", "cutover_flag_cleared"]),
925
925
  "actorClerkId": z.string(),
926
926
  "details": z.any().optional(),
927
927
  "createdAt": z.number()
@@ -9559,7 +9559,7 @@ var IDENTITY_WHOAMI = {
9559
9559
  response: {
9560
9560
  description: "Canonical identity summary for the current session",
9561
9561
  fields: {
9562
- principalId: "string \u2014 canonical federated principal identifier",
9562
+ principalId: "string \u2014 canonical principal identifier; for humans this is the Clerk user_... ID",
9563
9563
  principalType: "string \u2014 human, service, agent, group, or external_viewer",
9564
9564
  tenantId: "string | undefined \u2014 resolved tenant scope",
9565
9565
  workspaceId: "string | undefined \u2014 resolved workspace scope",
@@ -9573,7 +9573,7 @@ var IDENTITY_WHOAMI = {
9573
9573
  };
9574
9574
  var RESOLVE_INTERACTIVE_PRINCIPAL = {
9575
9575
  name: "resolve_interactive_principal",
9576
- description: "Read the Permit-backed Lucern principal context for an authenticated Clerk user. Like `git config --get user.email` plus the repository ACL \u2014 resolves the identity alias into the canonical authorization subject.",
9576
+ description: "Read the Permit-backed Lucern principal context for an authenticated Clerk user. Like `git config --get user.email` plus the repository ACL \u2014 resolves the Clerk subject into tenant/workspace authorization context.",
9577
9577
  parameters: {
9578
9578
  clerkId: {
9579
9579
  type: "string",
@@ -9596,7 +9596,7 @@ var RESOLVE_INTERACTIVE_PRINCIPAL = {
9596
9596
  response: {
9597
9597
  description: "Permit-backed Lucern principal context for tenant SDK bootstrap",
9598
9598
  fields: {
9599
- principalId: "string \u2014 canonical Lucern principal identifier",
9599
+ principalId: "string \u2014 canonical Clerk user_... ID for human sessions",
9600
9600
  principalType: "string \u2014 human, service, agent, group, or external_viewer",
9601
9601
  clerkId: "string \u2014 authenticated Clerk subject alias",
9602
9602
  tenantId: "string \u2014 resolved tenant scope",
@@ -10424,7 +10424,7 @@ var MANAGE_WRITE_POLICY = {
10424
10424
  },
10425
10425
  role: {
10426
10426
  type: "string",
10427
- description: "Role to set policy for (required for 'set'). E.g. 'agent:internal', 'user:analyst'."
10427
+ description: "Role to set policy for (required for 'set'). E.g. 'agent:internal' or a Permit role key such as 'workspace_admin'."
10428
10428
  },
10429
10429
  permission: {
10430
10430
  type: "string",
@@ -14205,6 +14205,19 @@ var worktreeEvidenceSignalInputSchema = z.object({
14205
14205
  progress: z.string().optional().describe("Collection progress note for the signal."),
14206
14206
  notes: z.string().optional().describe("Additional evidence collection notes.")
14207
14207
  }).passthrough().describe("Evidence signal embedded in the worktree plan.");
14208
+ var worktreeDocCompanionTargetSchema = z.object({
14209
+ docPath: z.string().describe(
14210
+ "Repo-relative path to a documentation file the worktree promises to update."
14211
+ ),
14212
+ sectionAnchor: z.string().optional().describe(
14213
+ "Markdown heading anchor (e.g. '## Function-surface manifest') that scopes the promised update."
14214
+ ),
14215
+ reason: z.string().describe(
14216
+ "Why this doc section must be updated for the worktree to be complete."
14217
+ )
14218
+ }).passthrough().describe(
14219
+ "Intent-driven docs companion target. pr-gate-reviewer verifies that the PR actually touches each declared (docPath, sectionAnchor). Distinct from the touch-driven docs-loop. See docs/development/docs-sync-discipline.md Lock 3."
14220
+ );
14208
14221
  var worktreeDecisionGateInputSchema = z.object({
14209
14222
  goCriteria: z.array(z.string()).describe("Criteria that must hold for the worktree to proceed."),
14210
14223
  noGoSignals: z.array(z.string()).describe("Signals that stop or redirect the worktree."),
@@ -14237,6 +14250,9 @@ var addWorktreeArgs = z.object({
14237
14250
  keyQuestions: z.array(worktreeKeyQuestionInputSchema).optional().describe("Inline key questions captured as part of the worktree plan."),
14238
14251
  evidenceSignals: z.array(worktreeEvidenceSignalInputSchema).optional().describe("Evidence signals the worktree needs to collect or validate."),
14239
14252
  decisionGate: worktreeDecisionGateInputSchema.optional(),
14253
+ docCompanionTargets: z.array(worktreeDocCompanionTargetSchema).optional().describe(
14254
+ "Doc sections the worktree promises to update at PR time. Enforced by pr-gate-reviewer (Lock 3)."
14255
+ ),
14240
14256
  goCriteria: z.array(z.string()).optional().describe("Shorthand go criteria used to build decisionGate."),
14241
14257
  noGoSignals: z.array(z.string()).optional().describe("Shorthand no-go signals used to build decisionGate."),
14242
14258
  proofArtifacts: z.array(z.unknown()).optional().describe("Expected proof artifacts required to close the worktree."),