@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 +14 -2
- package/dist/index.js +21 -5
- package/dist/index.js.map +1 -1
- package/dist/outbox.js +21 -5
- package/dist/outbox.js.map +1 -1
- package/dist/types.js +21 -5
- package/dist/types.js.map +1 -1
- package/dist/webhooks.js +21 -5
- package/dist/webhooks.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @lucern/events
|
|
2
2
|
|
|
3
|
-
|
|
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
|
|
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
|
|
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
|
|
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'
|
|
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."),
|