@nodii/approval 0.2.1 → 0.3.1
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/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +19 -7
- package/dist/init.js.map +1 -1
- package/dist/outbox.d.ts +59 -0
- package/dist/outbox.d.ts.map +1 -0
- package/dist/outbox.js +68 -0
- package/dist/outbox.js.map +1 -0
- package/dist/request.d.ts.map +1 -1
- package/dist/request.js +96 -159
- package/dist/request.js.map +1 -1
- package/dist/types.d.ts +41 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/uuid.d.ts +2 -0
- package/dist/uuid.d.ts.map +1 -0
- package/dist/uuid.js +33 -0
- package/dist/uuid.js.map +1 -0
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare const LIB_NAME = "approval";
|
|
2
|
-
export declare const VERSION = "0.
|
|
2
|
+
export declare const VERSION = "0.3.0";
|
|
3
3
|
export { defineApprovalKinds, KindRegistry, RequesterRegistry, validateCrossOwnerKind, type DefineApprovalKindsOpts, } from "./kinds";
|
|
4
4
|
export { initApproval, requireApproval, getApprovalOrNull, requireKindRegistry, requireHandlers, requesterRegistry, defineApprovalRequester, registerKinds, _resetForTests, } from "./init";
|
|
5
5
|
export { bindApprovalHandlers, type BindApprovalHandlersOpts, } from "./handlers";
|
|
@@ -7,6 +7,8 @@ export { requestApproval } from "./request";
|
|
|
7
7
|
export { validatePreviewSummary, PII_PATTERNS, } from "./preview-validation";
|
|
8
8
|
export { startApprovalConsumer, stopApprovalConsumer, defaultQueueName, _resetConsumerForTests, type StartApprovalConsumerOpts, type ApprovalConsumerHandle, } from "./consumer";
|
|
9
9
|
export { getApprovalMigrationSQL, splitStatements, type GetMigrationSQLOpts, } from "./migrations";
|
|
10
|
+
export { APPROVAL_OUTBOX_AGGREGATE_KIND, DEFAULT_OUTBOX_TABLE_NAME, approvalRequestedTopic, insertBeginEventOutboxRow, type ApprovalBeginEventPayload, type InsertBeginEventOutboxRowInput, } from "./outbox";
|
|
11
|
+
export { uuidv7 } from "./uuid";
|
|
10
12
|
export { TaskTrackingGrpcClient, TASK_SERVICE_DESCRIPTOR, type TaskTrackingGrpcClientOpts, } from "./task-tracking-client";
|
|
11
13
|
export { createApprovalPolicyClient, ApprovalPolicyGrpcClient, APPROVAL_POLICY_SERVICE, type CreateApprovalPolicyClientOpts, } from "./policy-client";
|
|
12
14
|
export { ApprovalError, ApprovalNotInitialized, ApproverRoleNotInCatalog, DeferredActionNotFound, HandlerForUnregisteredKind, HandlerNotRegistered, IdempotencyKeyRequired, InvalidApprovalPreviewShape, InvalidApprovalSegment, ReservedServiceNameViolation, TaskCreationFailed, TenantPolicyKindUnknown, UndeclaredRequesterKind, UnknownApprovalKind, } from "./errors";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,QAAQ,aAAa,CAAC;AACnC,eAAO,MAAM,OAAO,UAAU,CAAC;AAE/B,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,EACjB,sBAAsB,EACtB,KAAK,uBAAuB,GAC7B,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,uBAAuB,EACvB,aAAa,EACb,cAAc,GACf,MAAM,QAAQ,CAAC;AAEhB,OAAO,EACL,oBAAoB,EACpB,KAAK,wBAAwB,GAC9B,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,EACL,sBAAsB,EACtB,YAAY,GACb,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,sBAAsB,EACtB,KAAK,yBAAyB,EAC9B,KAAK,sBAAsB,GAC5B,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,uBAAuB,EACvB,eAAe,EACf,KAAK,mBAAmB,GACzB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,KAAK,0BAA0B,GAChC,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,uBAAuB,EACvB,KAAK,8BAA8B,GACpC,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,0BAA0B,EAC1B,oBAAoB,EACpB,sBAAsB,EACtB,2BAA2B,EAC3B,sBAAsB,EACtB,4BAA4B,EAC5B,kBAAkB,EAClB,uBAAuB,EACvB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,UAAU,CAAC;AAElB,YAAY,EACV,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,2BAA2B,EAC3B,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,4BAA4B,EAC5B,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,qBAAqB,EACrB,2BAA2B,EAC3B,sBAAsB,EACtB,cAAc,EACd,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,8BAA8B,EAC9B,4BAA4B,EAC5B,sBAAsB,EACtB,+BAA+B,EAC/B,sBAAsB,GACvB,MAAM,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,QAAQ,aAAa,CAAC;AACnC,eAAO,MAAM,OAAO,UAAU,CAAC;AAE/B,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,EACjB,sBAAsB,EACtB,KAAK,uBAAuB,GAC7B,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,uBAAuB,EACvB,aAAa,EACb,cAAc,GACf,MAAM,QAAQ,CAAC;AAEhB,OAAO,EACL,oBAAoB,EACpB,KAAK,wBAAwB,GAC9B,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,EACL,sBAAsB,EACtB,YAAY,GACb,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,sBAAsB,EACtB,KAAK,yBAAyB,EAC9B,KAAK,sBAAsB,GAC5B,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,uBAAuB,EACvB,eAAe,EACf,KAAK,mBAAmB,GACzB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,8BAA8B,EAC9B,yBAAyB,EACzB,sBAAsB,EACtB,yBAAyB,EACzB,KAAK,yBAAyB,EAC9B,KAAK,8BAA8B,GACpC,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,KAAK,0BAA0B,GAChC,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,uBAAuB,EACvB,KAAK,8BAA8B,GACpC,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,0BAA0B,EAC1B,oBAAoB,EACpB,sBAAsB,EACtB,2BAA2B,EAC3B,sBAAsB,EACtB,4BAA4B,EAC5B,kBAAkB,EAClB,uBAAuB,EACvB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,UAAU,CAAC;AAElB,YAAY,EACV,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,2BAA2B,EAC3B,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,4BAA4B,EAC5B,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,qBAAqB,EACrB,2BAA2B,EAC3B,sBAAsB,EACtB,cAAc,EACd,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,8BAA8B,EAC9B,4BAA4B,EAC5B,sBAAsB,EACtB,+BAA+B,EAC/B,sBAAsB,GACvB,MAAM,SAAS,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// Spec: planning hub feature_doc serviceId=nodii-libs docKey=approval.
|
|
4
4
|
// Polyglot ship: TS + Python + Go in parity. This is the TypeScript impl.
|
|
5
5
|
export const LIB_NAME = "approval";
|
|
6
|
-
export const VERSION = "0.
|
|
6
|
+
export const VERSION = "0.3.0";
|
|
7
7
|
export { defineApprovalKinds, KindRegistry, RequesterRegistry, validateCrossOwnerKind, } from "./kinds";
|
|
8
8
|
export { initApproval, requireApproval, getApprovalOrNull, requireKindRegistry, requireHandlers, requesterRegistry, defineApprovalRequester, registerKinds, _resetForTests, } from "./init";
|
|
9
9
|
export { bindApprovalHandlers, } from "./handlers";
|
|
@@ -11,6 +11,8 @@ export { requestApproval } from "./request";
|
|
|
11
11
|
export { validatePreviewSummary, PII_PATTERNS, } from "./preview-validation";
|
|
12
12
|
export { startApprovalConsumer, stopApprovalConsumer, defaultQueueName, _resetConsumerForTests, } from "./consumer";
|
|
13
13
|
export { getApprovalMigrationSQL, splitStatements, } from "./migrations";
|
|
14
|
+
export { APPROVAL_OUTBOX_AGGREGATE_KIND, DEFAULT_OUTBOX_TABLE_NAME, approvalRequestedTopic, insertBeginEventOutboxRow, } from "./outbox";
|
|
15
|
+
export { uuidv7 } from "./uuid";
|
|
14
16
|
export { TaskTrackingGrpcClient, TASK_SERVICE_DESCRIPTOR, } from "./task-tracking-client";
|
|
15
17
|
export { createApprovalPolicyClient, ApprovalPolicyGrpcClient, APPROVAL_POLICY_SERVICE, } from "./policy-client";
|
|
16
18
|
export { ApprovalError, ApprovalNotInitialized, ApproverRoleNotInCatalog, DeferredActionNotFound, HandlerForUnregisteredKind, HandlerNotRegistered, IdempotencyKeyRequired, InvalidApprovalPreviewShape, InvalidApprovalSegment, ReservedServiceNameViolation, TaskCreationFailed, TenantPolicyKindUnknown, UndeclaredRequesterKind, UnknownApprovalKind, } from "./errors";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,EAAE;AACF,uEAAuE;AACvE,0EAA0E;AAE1E,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,CAAC;AACnC,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAE/B,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,EACjB,sBAAsB,GAEvB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,uBAAuB,EACvB,aAAa,EACb,cAAc,GACf,MAAM,QAAQ,CAAC;AAEhB,OAAO,EACL,oBAAoB,GAErB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,EACL,sBAAsB,EACtB,YAAY,GACb,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,sBAAsB,GAGvB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,uBAAuB,EACvB,eAAe,GAEhB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,sBAAsB,EACtB,uBAAuB,GAExB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,uBAAuB,GAExB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,0BAA0B,EAC1B,oBAAoB,EACpB,sBAAsB,EACtB,2BAA2B,EAC3B,sBAAsB,EACtB,4BAA4B,EAC5B,kBAAkB,EAClB,uBAAuB,EACvB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,UAAU,CAAC;AA+BlB,OAAO,EACL,8BAA8B,EAC9B,4BAA4B,EAC5B,sBAAsB,EACtB,+BAA+B,EAC/B,sBAAsB,GACvB,MAAM,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,EAAE;AACF,uEAAuE;AACvE,0EAA0E;AAE1E,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,CAAC;AACnC,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAE/B,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,EACjB,sBAAsB,GAEvB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,uBAAuB,EACvB,aAAa,EACb,cAAc,GACf,MAAM,QAAQ,CAAC;AAEhB,OAAO,EACL,oBAAoB,GAErB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,EACL,sBAAsB,EACtB,YAAY,GACb,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,sBAAsB,GAGvB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,uBAAuB,EACvB,eAAe,GAEhB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,8BAA8B,EAC9B,yBAAyB,EACzB,sBAAsB,EACtB,yBAAyB,GAG1B,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EACL,sBAAsB,EACtB,uBAAuB,GAExB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,uBAAuB,GAExB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,0BAA0B,EAC1B,oBAAoB,EACpB,sBAAsB,EACtB,2BAA2B,EAC3B,sBAAsB,EACtB,4BAA4B,EAC5B,kBAAkB,EAClB,uBAAuB,EACvB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,UAAU,CAAC;AA+BlB,OAAO,EACL,8BAA8B,EAC9B,4BAA4B,EAC5B,sBAAsB,EACtB,+BAA+B,EAC/B,sBAAsB,GACvB,MAAM,SAAS,CAAC"}
|
package/dist/init.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAG1D,OAAO,KAAK,EACV,eAAe,EACf,UAAU,EACV,kBAAkB,EAClB,sBAAsB,EAEvB,MAAM,SAAS,CAAC;AA+BjB;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,kBAAkB,GAAG,IAAI,CA6E1D;AAED,wBAAgB,eAAe,IAAI,sBAAsB,CAGxD;AAED,wBAAgB,iBAAiB,IAAI,sBAAsB,GAAG,IAAI,CAEjE;AAED,wBAAgB,mBAAmB,IAAI,YAAY,CAGlD;AAED,wBAAgB,eAAe,IAAI,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAGzD;AAED;;sBAEsB;AACtB,wBAAgB,iBAAiB,IAAI,iBAAiB,CAErD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAE1D;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,IAAI,CAezE;AAED,8EAA8E;AAC9E,wBAAgB,cAAc,IAAI,IAAI,CAKrC"}
|
package/dist/init.js
CHANGED
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
// No Noop default. No InMemory default. Per R1.
|
|
13
13
|
import { ApprovalNotInitialized, ApproverRoleNotInCatalog } from "./errors";
|
|
14
14
|
import { KindRegistry, RequesterRegistry } from "./kinds";
|
|
15
|
+
import { DEFAULT_OUTBOX_TABLE_NAME } from "./outbox";
|
|
15
16
|
import { validateServiceName } from "./validation";
|
|
16
17
|
import { DEFAULT_CONSUMER_LEASE_SECONDS, DEFAULT_CONSUMER_MAX_RETRIES, DEFAULT_EXPIRY_SECONDS, } from "./types";
|
|
17
18
|
import { TaskTrackingGrpcClient } from "./task-tracking-client";
|
|
@@ -60,19 +61,26 @@ export function initApproval(cfg) {
|
|
|
60
61
|
if (!cfg.pgPool && !cfg.dbRls) {
|
|
61
62
|
throw new TypeError("initApproval: either pgPool or dbRls must be provided");
|
|
62
63
|
}
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
64
|
+
// Since D237 (v0.3.0) the request flow no longer calls CreateTask (the
|
|
65
|
+
// begin-event is a same-tx outbox emit), so neither taskServiceUrl nor
|
|
66
|
+
// taskServiceClient is REQUIRED. They stay OPTIONAL — wired only for
|
|
67
|
+
// NON-approval direct task creation (D237 Rule 5). Do NOT throw if absent.
|
|
67
68
|
if (!cfg.membershipRolesLookup) {
|
|
68
69
|
throw new TypeError("initApproval: membershipRolesLookup is required (used for self-action exception evaluation)");
|
|
69
70
|
}
|
|
70
71
|
const pgPool = cfg.dbRls ? cfg.dbRls.pool : cfg.pgPool;
|
|
71
72
|
if (!pgPool)
|
|
72
73
|
throw new TypeError("initApproval: pgPool resolution failed");
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
74
|
+
// Resolve the task client ONLY when the service actually wired one (D237
|
|
75
|
+
// Rule 5 — kept available for NON-approval direct CreateTask). When neither
|
|
76
|
+
// a client nor a URL is provided, it stays `undefined`; the request flow no
|
|
77
|
+
// longer needs it (begin-event is a same-tx outbox emit).
|
|
78
|
+
let taskServiceClient;
|
|
79
|
+
if (cfg.taskServiceClient) {
|
|
80
|
+
taskServiceClient = cfg.taskServiceClient;
|
|
81
|
+
}
|
|
82
|
+
else if (cfg.taskServiceUrl && cfg.taskServiceUrl.trim() !== "") {
|
|
83
|
+
taskServiceClient = new TaskTrackingGrpcClient({
|
|
76
84
|
url: cfg.taskServiceUrl,
|
|
77
85
|
sourceModule: cfg.serviceName,
|
|
78
86
|
// Production wiring — adopters layer grpc-auth S2S envelope +
|
|
@@ -83,12 +91,16 @@ export function initApproval(cfg) {
|
|
|
83
91
|
credentials: cfg.taskClientOptions?.credentials,
|
|
84
92
|
deadlineMs: cfg.taskClientOptions?.deadlineMs,
|
|
85
93
|
});
|
|
94
|
+
}
|
|
86
95
|
RESOLVED = {
|
|
87
96
|
serviceName: cfg.serviceName,
|
|
88
97
|
pgPool,
|
|
89
98
|
dbRls: cfg.dbRls,
|
|
90
99
|
redis: cfg.redis,
|
|
91
100
|
taskServiceClient,
|
|
101
|
+
outboxTableName: cfg.outboxTableName && cfg.outboxTableName.trim() !== ""
|
|
102
|
+
? cfg.outboxTableName
|
|
103
|
+
: DEFAULT_OUTBOX_TABLE_NAME,
|
|
92
104
|
membershipRolesLookup: cfg.membershipRolesLookup,
|
|
93
105
|
defaultExpirySeconds: cfg.defaultExpirySeconds ?? DEFAULT_EXPIRY_SECONDS,
|
|
94
106
|
consumerLeaseSeconds: cfg.consumerLeaseSeconds ?? DEFAULT_CONSUMER_LEASE_SECONDS,
|
package/dist/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,EAAE;AACF,0EAA0E;AAC1E,qEAAqE;AACrE,EAAE;AACF,6BAA6B;AAC7B,uEAAuE;AACvE,kCAAkC;AAClC,+EAA+E;AAC/E,uCAAuC;AACvC,EAAE;AACF,gDAAgD;AAEhD,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
|
package/dist/outbox.d.ts
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import type { DeferredActionPayloadSummary, SqlTxExecutor } from "./types";
|
|
2
|
+
/** Aggregate kind written onto every approval begin-event outbox row. */
|
|
3
|
+
export declare const APPROVAL_OUTBOX_AGGREGATE_KIND = "ApprovalRequest";
|
|
4
|
+
/** Default outbox table name (matches @nodii/outbox-dispatcher's default). */
|
|
5
|
+
export declare const DEFAULT_OUTBOX_TABLE_NAME = "outbox";
|
|
6
|
+
/** Structured begin-event payload carried in the outbox row's `payload` JSONB.
|
|
7
|
+
* Carries the same D231/D236 provenance the prior CreateTask begin-event did,
|
|
8
|
+
* PLUS `tenant_id` (no column on the outbox table) and the in-tx occurred-at. */
|
|
9
|
+
export interface ApprovalBeginEventPayload {
|
|
10
|
+
/** Fully-qualified kind (`<owner>.<resource>.<verb>`). */
|
|
11
|
+
kind: string;
|
|
12
|
+
/** Requester service (this service). */
|
|
13
|
+
requester_service: string;
|
|
14
|
+
/** Owner service (parsed from `kind` before the first `.`). */
|
|
15
|
+
owner_service: string;
|
|
16
|
+
/** The requester-local deferred_action row id (== aggregate_id). */
|
|
17
|
+
deferred_action_id: string;
|
|
18
|
+
/** Caller-supplied idempotency key (consumer dedupe + replay guard). */
|
|
19
|
+
idempotency_key: string;
|
|
20
|
+
/** Tenant id — lives in the payload because the outbox table has no column. */
|
|
21
|
+
tenant_id: string;
|
|
22
|
+
/** Requester membership id (begin-event provenance). */
|
|
23
|
+
requester_membership_id: string;
|
|
24
|
+
/** Owner-resolved fallback approver role (empty for cross-owner). */
|
|
25
|
+
default_approver_role: string;
|
|
26
|
+
/** Requester-side expiry fallback (task-tracking may override via GetPolicy). */
|
|
27
|
+
default_expires_in_seconds: number;
|
|
28
|
+
/** D236 validated non-PII preview summary, when supplied. */
|
|
29
|
+
deferred_action_payload_summary?: DeferredActionPayloadSummary;
|
|
30
|
+
/** Wall-clock ms when the row was written inside the requester's tx. */
|
|
31
|
+
occurred_at_in_requester_tx_ms: number;
|
|
32
|
+
/** Caller metadata passed through to the begin-event (non-lib-mandated). */
|
|
33
|
+
metadata?: Record<string, unknown>;
|
|
34
|
+
}
|
|
35
|
+
export interface InsertBeginEventOutboxRowInput {
|
|
36
|
+
/** Resolved outbox table name. */
|
|
37
|
+
tableName: string;
|
|
38
|
+
/** aggregate_id == deferred_action_id. */
|
|
39
|
+
aggregateId: string;
|
|
40
|
+
/** `<requester_service>.approval.requested.v1`. */
|
|
41
|
+
topic: string;
|
|
42
|
+
/** The structured begin-event payload. */
|
|
43
|
+
payload: ApprovalBeginEventPayload;
|
|
44
|
+
}
|
|
45
|
+
/** Same-tx INSERT of the begin-event outbox row.
|
|
46
|
+
*
|
|
47
|
+
* MUST run inside the SAME `pgPool.begin` transaction that inserts the
|
|
48
|
+
* deferred_action row (D237 Rule 3 — same-tx atomicity). The drainer-managed
|
|
49
|
+
* columns (dispatched_at, stream_id, publish_attempts, last_error,
|
|
50
|
+
* last_attempt_at) are left to their table defaults; only the producer-owned
|
|
51
|
+
* columns are written. Returns the row's transport `id` + `event_id` so the
|
|
52
|
+
* caller can surface the begin-event id back to the requester. */
|
|
53
|
+
export declare function insertBeginEventOutboxRow(tx: SqlTxExecutor, input: InsertBeginEventOutboxRowInput): Promise<{
|
|
54
|
+
id: string;
|
|
55
|
+
eventId: string;
|
|
56
|
+
}>;
|
|
57
|
+
/** `<requester_service>.approval.requested.v1` — the begin-event topic. */
|
|
58
|
+
export declare function approvalRequestedTopic(requesterService: string): string;
|
|
59
|
+
//# sourceMappingURL=outbox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outbox.d.ts","sourceRoot":"","sources":["../src/outbox.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,4BAA4B,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE3E,yEAAyE;AACzE,eAAO,MAAM,8BAA8B,oBAAoB,CAAC;AAEhE,8EAA8E;AAC9E,eAAO,MAAM,yBAAyB,WAAW,CAAC;AAoBlD;;kFAEkF;AAClF,MAAM,WAAW,yBAAyB;IACxC,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,wCAAwC;IACxC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,+DAA+D;IAC/D,aAAa,EAAE,MAAM,CAAC;IACtB,oEAAoE;IACpE,kBAAkB,EAAE,MAAM,CAAC;IAC3B,wEAAwE;IACxE,eAAe,EAAE,MAAM,CAAC;IACxB,+EAA+E;IAC/E,SAAS,EAAE,MAAM,CAAC;IAClB,wDAAwD;IACxD,uBAAuB,EAAE,MAAM,CAAC;IAChC,qEAAqE;IACrE,qBAAqB,EAAE,MAAM,CAAC;IAC9B,iFAAiF;IACjF,0BAA0B,EAAE,MAAM,CAAC;IACnC,6DAA6D;IAC7D,+BAA+B,CAAC,EAAE,4BAA4B,CAAC;IAC/D,wEAAwE;IACxE,8BAA8B,EAAE,MAAM,CAAC;IACvC,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,8BAA8B;IAC7C,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,OAAO,EAAE,yBAAyB,CAAC;CACpC;AAED;;;;;;;mEAOmE;AACnE,wBAAsB,yBAAyB,CAC7C,EAAE,EAAE,aAAa,EACjB,KAAK,EAAE,8BAA8B,GACpC,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAuB1C;AAED,2EAA2E;AAC3E,wBAAgB,sBAAsB,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAEvE"}
|
package/dist/outbox.js
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
// Begin-event transactional-outbox emit per D237 + 01-comms § 9.1.
|
|
2
|
+
//
|
|
3
|
+
// D237 LOCKED (2026-06-05): `requestApproval`'s begin-event MUST be emitted
|
|
4
|
+
// via the requester service's transactional outbox — NOT a synchronous direct
|
|
5
|
+
// gRPC `TaskService.CreateTask`. The deferred_action row + the outbox row
|
|
6
|
+
// commit in the SAME transaction (same-tx atomicity); the service's
|
|
7
|
+
// @nodii/outbox-dispatcher drainer (01-comms § 9.2) publishes the row to
|
|
8
|
+
// `<svc>.approval.requested.v1`, where task-tracking's approval-runtime
|
|
9
|
+
// consumer projects it (D232 + R2). The library makes ZERO gRPC calls from
|
|
10
|
+
// the request flow.
|
|
11
|
+
//
|
|
12
|
+
// The outbox row targets the canonical `outbox` table from
|
|
13
|
+
// @nodii/outbox-dispatcher (ts/outbox-dispatcher/src/migrations/
|
|
14
|
+
// 001-outbox-dispatcher.sql). NOTE: that table has NO `tenant_id` column —
|
|
15
|
+
// `tenant_id` rides INSIDE the `payload` JSONB, not as a column.
|
|
16
|
+
import { randomUUID } from "node:crypto";
|
|
17
|
+
import { uuidv7 } from "./uuid";
|
|
18
|
+
/** Aggregate kind written onto every approval begin-event outbox row. */
|
|
19
|
+
export const APPROVAL_OUTBOX_AGGREGATE_KIND = "ApprovalRequest";
|
|
20
|
+
/** Default outbox table name (matches @nodii/outbox-dispatcher's default). */
|
|
21
|
+
export const DEFAULT_OUTBOX_TABLE_NAME = "outbox";
|
|
22
|
+
/**
|
|
23
|
+
* Safe SQL identifier: optional `schema.` prefix + a table name, each a plain
|
|
24
|
+
* unquoted identifier. The outbox table name is config-driven (initApproval's
|
|
25
|
+
* `outboxTableName`) and interpolated into the INSERT (a table name cannot be a
|
|
26
|
+
* bound parameter), so we validate it as a strict identifier to keep it from
|
|
27
|
+
* being an injection vector if a service mis-configures it.
|
|
28
|
+
*/
|
|
29
|
+
const SAFE_SQL_IDENTIFIER = /^[A-Za-z_][A-Za-z0-9_]*(\.[A-Za-z_][A-Za-z0-9_]*)?$/;
|
|
30
|
+
function assertSafeOutboxTableName(tableName) {
|
|
31
|
+
if (!SAFE_SQL_IDENTIFIER.test(tableName)) {
|
|
32
|
+
throw new Error(`approval: outboxTableName '${tableName}' is not a valid SQL identifier (expected [schema.]table of letters/digits/underscore)`);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
/** Same-tx INSERT of the begin-event outbox row.
|
|
36
|
+
*
|
|
37
|
+
* MUST run inside the SAME `pgPool.begin` transaction that inserts the
|
|
38
|
+
* deferred_action row (D237 Rule 3 — same-tx atomicity). The drainer-managed
|
|
39
|
+
* columns (dispatched_at, stream_id, publish_attempts, last_error,
|
|
40
|
+
* last_attempt_at) are left to their table defaults; only the producer-owned
|
|
41
|
+
* columns are written. Returns the row's transport `id` + `event_id` so the
|
|
42
|
+
* caller can surface the begin-event id back to the requester. */
|
|
43
|
+
export async function insertBeginEventOutboxRow(tx, input) {
|
|
44
|
+
// id: a fresh transport id (uuid v4) — matches outbox-dispatcher's per-row
|
|
45
|
+
// id convention; the dedupe key is `event_id` (uuid v7), not `id`.
|
|
46
|
+
const id = randomUUID();
|
|
47
|
+
const eventId = uuidv7();
|
|
48
|
+
assertSafeOutboxTableName(input.tableName);
|
|
49
|
+
await tx.unsafe(`INSERT INTO ${input.tableName}
|
|
50
|
+
(id, event_id, aggregate_kind, aggregate_id, source_entity_version,
|
|
51
|
+
topic, payload)
|
|
52
|
+
VALUES ($1, $2, $3, $4, $5, $6, $7)`, [
|
|
53
|
+
id,
|
|
54
|
+
eventId,
|
|
55
|
+
APPROVAL_OUTBOX_AGGREGATE_KIND,
|
|
56
|
+
input.aggregateId,
|
|
57
|
+
// source_entity_version — a freshly-created aggregate is version 1.
|
|
58
|
+
1,
|
|
59
|
+
input.topic,
|
|
60
|
+
JSON.stringify(input.payload),
|
|
61
|
+
]);
|
|
62
|
+
return { id, eventId };
|
|
63
|
+
}
|
|
64
|
+
/** `<requester_service>.approval.requested.v1` — the begin-event topic. */
|
|
65
|
+
export function approvalRequestedTopic(requesterService) {
|
|
66
|
+
return `${requesterService}.approval.requested.v1`;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=outbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outbox.js","sourceRoot":"","sources":["../src/outbox.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,0EAA0E;AAC1E,oEAAoE;AACpE,yEAAyE;AACzE,wEAAwE;AACxE,2EAA2E;AAC3E,oBAAoB;AACpB,EAAE;AACF,2DAA2D;AAC3D,iEAAiE;AACjE,2EAA2E;AAC3E,iEAAiE;AAEjE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,yEAAyE;AACzE,MAAM,CAAC,MAAM,8BAA8B,GAAG,iBAAiB,CAAC;AAEhE,8EAA8E;AAC9E,MAAM,CAAC,MAAM,yBAAyB,GAAG,QAAQ,CAAC;AAElD;;;;;;GAMG;AACH,MAAM,mBAAmB,GACvB,qDAAqD,CAAC;AAExD,SAAS,yBAAyB,CAAC,SAAiB;IAClD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CACb,8BAA8B,SAAS,wFAAwF,CAChI,CAAC;IACJ,CAAC;AACH,CAAC;AA2CD;;;;;;;mEAOmE;AACnE,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,EAAiB,EACjB,KAAqC;IAErC,2EAA2E;IAC3E,mEAAmE;IACnE,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;IACxB,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC;IACzB,yBAAyB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC3C,MAAM,EAAE,CAAC,MAAM,CACb,eAAe,KAAK,CAAC,SAAS;;;yCAGO,EACrC;QACE,EAAE;QACF,OAAO;QACP,8BAA8B;QAC9B,KAAK,CAAC,WAAW;QACjB,oEAAoE;QACpE,CAAC;QACD,KAAK,CAAC,KAAK;QACX,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC;KAC9B,CACF,CAAC;IACF,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;AACzB,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,sBAAsB,CAAC,gBAAwB;IAC7D,OAAO,GAAG,gBAAgB,wBAAwB,CAAC;AACrD,CAAC"}
|
package/dist/request.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../src/request.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../src/request.ts"],"names":[],"mappings":"AAgCA,OAAO,KAAK,EAIV,mBAAmB,EACnB,qBAAqB,EAEtB,MAAM,SAAS,CAAC;AAGjB,wBAAsB,eAAe,CACnC,IAAI,EAAE,mBAAmB,GACxB,OAAO,CAAC,qBAAqB,CAAC,CA0DhC"}
|
package/dist/request.js
CHANGED
|
@@ -14,6 +14,7 @@ import { wrapForSagaStep } from "@nodii/idempotency";
|
|
|
14
14
|
import { insertDeferredAction, markFailed } from "./deferred-actions";
|
|
15
15
|
import { HandlerNotRegistered, IdempotencyKeyRequired, UndeclaredRequesterKind, } from "./errors";
|
|
16
16
|
import { requireApproval, requireHandlers, requireKindRegistry, requesterRegistry, } from "./init";
|
|
17
|
+
import { approvalRequestedTopic, insertBeginEventOutboxRow } from "./outbox";
|
|
17
18
|
import { resolvePolicy } from "./policies";
|
|
18
19
|
import { validatePreviewSummary } from "./preview-validation";
|
|
19
20
|
import { emitAudit, inc, observe } from "./telemetry-shim";
|
|
@@ -150,6 +151,8 @@ async function runCanonicalSequence(cfg, def, opts, previewSummary) {
|
|
|
150
151
|
return {
|
|
151
152
|
approvalId: row.id,
|
|
152
153
|
taskId: null,
|
|
154
|
+
// No begin-event on the short-circuit path — no task is created.
|
|
155
|
+
beginEventId: null,
|
|
153
156
|
status: "opt_in_disabled_executed",
|
|
154
157
|
};
|
|
155
158
|
}
|
|
@@ -190,13 +193,25 @@ async function runCanonicalSequence(cfg, def, opts, previewSummary) {
|
|
|
190
193
|
return {
|
|
191
194
|
approvalId: row.id,
|
|
192
195
|
taskId: null,
|
|
196
|
+
// No begin-event on the short-circuit path — no task is created.
|
|
197
|
+
beginEventId: null,
|
|
193
198
|
status: "self_action_executed",
|
|
194
199
|
};
|
|
195
200
|
}
|
|
196
201
|
}
|
|
197
|
-
// [5] Persist deferred-action row +
|
|
202
|
+
// [5] Persist deferred-action row + emit the begin-event into the requester's
|
|
203
|
+
// transactional outbox — IN THE SAME TRANSACTION (D237 Rule 3 + 01-comms
|
|
204
|
+
// § 9.1). Same-tx atomicity: if the outbox insert fails (or commit
|
|
205
|
+
// fails), the deferred_action row rolls back too — no half-state. NO
|
|
206
|
+
// synchronous gRPC CreateTask is called from the request flow anymore;
|
|
207
|
+
// the service's @nodii/outbox-dispatcher drainer publishes the row to
|
|
208
|
+
// `<svc>.approval.requested.v1` (01-comms § 9.2), where task-tracking's
|
|
209
|
+
// approval-runtime consumer projects it (D232 + R2).
|
|
210
|
+
// For an owned kind the owner IS the requester (D231 Rule 1).
|
|
211
|
+
const ownerService = ownerOf(def.kind);
|
|
212
|
+
const expirySeconds = opts.expirySeconds ?? policy.expirySeconds ?? cfg.defaultExpirySeconds;
|
|
198
213
|
const correlationId = randomUUID();
|
|
199
|
-
const row = await pg.begin(async (tx) => {
|
|
214
|
+
const { row, beginEventId } = await pg.begin(async (tx) => {
|
|
200
215
|
const inserted = await insertDeferredAction(cfg, tx, {
|
|
201
216
|
tenantId: opts.tenantId,
|
|
202
217
|
kind: def.kind,
|
|
@@ -208,10 +223,31 @@ async function runCanonicalSequence(cfg, def, opts, previewSummary) {
|
|
|
208
223
|
metadata: { ...(opts.metadata ?? {}), ...summaryMeta },
|
|
209
224
|
auditCorrelationId: correlationId,
|
|
210
225
|
});
|
|
211
|
-
|
|
226
|
+
// Same-tx begin-event outbox emit (D237). tenant_id rides INSIDE payload —
|
|
227
|
+
// the canonical `outbox` table has no tenant_id column.
|
|
228
|
+
const { eventId } = await insertBeginEventOutboxRow(tx, {
|
|
229
|
+
tableName: cfg.outboxTableName,
|
|
230
|
+
aggregateId: inserted.id,
|
|
231
|
+
topic: approvalRequestedTopic(cfg.serviceName),
|
|
232
|
+
payload: {
|
|
233
|
+
kind: def.kind,
|
|
234
|
+
requester_service: cfg.serviceName,
|
|
235
|
+
owner_service: ownerService,
|
|
236
|
+
deferred_action_id: inserted.id,
|
|
237
|
+
idempotency_key: opts.idempotencyKey,
|
|
238
|
+
tenant_id: opts.tenantId,
|
|
239
|
+
requester_membership_id: opts.requesterMembershipId,
|
|
240
|
+
default_approver_role: policy.approverRole,
|
|
241
|
+
default_expires_in_seconds: expirySeconds,
|
|
242
|
+
...(previewSummary
|
|
243
|
+
? { deferred_action_payload_summary: previewSummary }
|
|
244
|
+
: {}),
|
|
245
|
+
occurred_at_in_requester_tx_ms: Date.now(),
|
|
246
|
+
...(opts.metadata ? { metadata: opts.metadata } : {}),
|
|
247
|
+
},
|
|
248
|
+
});
|
|
249
|
+
return { row: inserted, beginEventId: eventId };
|
|
212
250
|
});
|
|
213
|
-
// For an owned kind the owner IS the requester (D231 Rule 1).
|
|
214
|
-
const ownerService = ownerOf(def.kind);
|
|
215
251
|
emitAudit({
|
|
216
252
|
tenantId: opts.tenantId,
|
|
217
253
|
action: `${cfg.serviceName}.approval.requested`,
|
|
@@ -227,70 +263,11 @@ async function runCanonicalSequence(cfg, def, opts, previewSummary) {
|
|
|
227
263
|
// D231 begin-event cross-owner provenance fields.
|
|
228
264
|
requester_service: cfg.serviceName,
|
|
229
265
|
owner_service: ownerService,
|
|
266
|
+
// D237 — the begin-event is now an outbox row, not a CreateTask.
|
|
267
|
+
begin_event_id: beginEventId,
|
|
268
|
+
begin_event_transport: "outbox",
|
|
230
269
|
},
|
|
231
270
|
});
|
|
232
|
-
// [6] gRPC CreateTask
|
|
233
|
-
const expirySeconds = opts.expirySeconds ?? policy.expirySeconds ?? cfg.defaultExpirySeconds;
|
|
234
|
-
const expiresAt = new Date(Date.now() + expirySeconds * 1000).toISOString();
|
|
235
|
-
const taskRequest = {
|
|
236
|
-
tenantId: opts.tenantId,
|
|
237
|
-
kind: `approval:${def.kind}`,
|
|
238
|
-
title: titleFor(def, opts.metadata ?? {}),
|
|
239
|
-
description: def.description,
|
|
240
|
-
assigneeRole: policy.approverRole,
|
|
241
|
-
// Caller metadata first; lib-mandated fields last so they win
|
|
242
|
-
// (task-tracking's task.metadata payload — the D231 begin-event).
|
|
243
|
-
metadata: {
|
|
244
|
-
...(opts.metadata ?? {}),
|
|
245
|
-
...summaryMeta,
|
|
246
|
-
approvalId: row.id,
|
|
247
|
-
deferredActionId: row.id,
|
|
248
|
-
kind: def.kind,
|
|
249
|
-
requesterMembershipId: opts.requesterMembershipId,
|
|
250
|
-
thresholdEvalContext: policy.thresholdParams,
|
|
251
|
-
// D231 begin-event cross-owner provenance fields (Rule 1 + Rule 3:
|
|
252
|
-
// task-tracking parses owner_service from the kind to call GetPolicy).
|
|
253
|
-
requester_service: cfg.serviceName,
|
|
254
|
-
owner_service: ownerService,
|
|
255
|
-
},
|
|
256
|
-
expiresAt,
|
|
257
|
-
idempotencyKey: opts.idempotencyKey,
|
|
258
|
-
sourceModule: cfg.serviceName,
|
|
259
|
-
actionButton: opts.actionButton ?? {
|
|
260
|
-
label: def.actionButtonLabel ?? "Review",
|
|
261
|
-
moduleKey: cfg.serviceName,
|
|
262
|
-
actionKey: `approval:${def.shortKind}`,
|
|
263
|
-
params: { approvalId: row.id },
|
|
264
|
-
},
|
|
265
|
-
};
|
|
266
|
-
let taskResponse;
|
|
267
|
-
try {
|
|
268
|
-
taskResponse = await cfg.taskServiceClient.createTask(taskRequest);
|
|
269
|
-
}
|
|
270
|
-
catch (err) {
|
|
271
|
-
emitAudit({
|
|
272
|
-
tenantId: opts.tenantId,
|
|
273
|
-
action: `${cfg.serviceName}.approval.task_creation_failed`,
|
|
274
|
-
targetKind: "deferred_action",
|
|
275
|
-
targetId: row.id,
|
|
276
|
-
metadata: {
|
|
277
|
-
kind: def.kind,
|
|
278
|
-
error: err instanceof Error ? err.message : String(err),
|
|
279
|
-
},
|
|
280
|
-
});
|
|
281
|
-
inc({
|
|
282
|
-
name: "approval_task_creation_failed_total",
|
|
283
|
-
family: "request_handler",
|
|
284
|
-
labels: {
|
|
285
|
-
service: cfg.serviceName,
|
|
286
|
-
kind: def.kind,
|
|
287
|
-
reason: classifyError(err),
|
|
288
|
-
},
|
|
289
|
-
});
|
|
290
|
-
throw err;
|
|
291
|
-
}
|
|
292
|
-
// [7] Persist task_id back
|
|
293
|
-
await pg.unsafe(`UPDATE ${cfg.serviceName}_deferred_actions SET task_id = $1 WHERE id = $2`, [taskResponse.taskId, row.id]);
|
|
294
271
|
inc({
|
|
295
272
|
name: "approval_requested_total",
|
|
296
273
|
family: "request_handler",
|
|
@@ -302,7 +279,10 @@ async function runCanonicalSequence(cfg, def, opts, previewSummary) {
|
|
|
302
279
|
});
|
|
303
280
|
return {
|
|
304
281
|
approvalId: row.id,
|
|
305
|
-
|
|
282
|
+
// D237 — no synchronous task id at request time; task-tracking mints the
|
|
283
|
+
// task asynchronously from the drained outbox row.
|
|
284
|
+
taskId: null,
|
|
285
|
+
beginEventId,
|
|
306
286
|
status: "task_created",
|
|
307
287
|
};
|
|
308
288
|
}
|
|
@@ -325,17 +305,51 @@ async function runCrossOwnerSequence(cfg, def, opts, previewSummary) {
|
|
|
325
305
|
const summaryMeta = previewSummary
|
|
326
306
|
? { deferred_action_payload_summary: previewSummary }
|
|
327
307
|
: {};
|
|
328
|
-
//
|
|
308
|
+
// Expiry defaults to the requester's configured fallback; task-tracking
|
|
309
|
+
// overrides from the owner policy when it drains the begin-event.
|
|
310
|
+
const expirySeconds = opts.expirySeconds ?? cfg.defaultExpirySeconds;
|
|
311
|
+
// [5] Persist deferred-action row to the REQUESTER's local table AND emit the
|
|
312
|
+
// begin-event into the requester's outbox — SAME TX (D237 Rule 3). The
|
|
313
|
+
// owner resolves approverRole + expiry when its consumer drains the row
|
|
314
|
+
// (Rule 3) — the requester carries an EMPTY default_approver_role. NO
|
|
315
|
+
// gRPC CreateTask is called.
|
|
329
316
|
const correlationId = randomUUID();
|
|
330
|
-
const row = await cfg.pgPool.begin((tx) =>
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
317
|
+
const { row, beginEventId } = await cfg.pgPool.begin(async (tx) => {
|
|
318
|
+
const inserted = await insertDeferredAction(cfg, tx, {
|
|
319
|
+
tenantId: opts.tenantId,
|
|
320
|
+
kind: def.kind,
|
|
321
|
+
requesterMembershipId: opts.requesterMembershipId,
|
|
322
|
+
deferredActionPayload: opts.deferredActionPayload,
|
|
323
|
+
idempotencyKey: opts.idempotencyKey,
|
|
324
|
+
metadata: { ...(opts.metadata ?? {}), ...summaryMeta },
|
|
325
|
+
auditCorrelationId: correlationId,
|
|
326
|
+
});
|
|
327
|
+
const { eventId } = await insertBeginEventOutboxRow(tx, {
|
|
328
|
+
tableName: cfg.outboxTableName,
|
|
329
|
+
aggregateId: inserted.id,
|
|
330
|
+
// Topic is the REQUESTER service's name (D237 Rule 3) — the cross-owner
|
|
331
|
+
// owner is carried inside the payload's owner_service, not the topic.
|
|
332
|
+
topic: approvalRequestedTopic(requesterService),
|
|
333
|
+
payload: {
|
|
334
|
+
kind: def.kind,
|
|
335
|
+
requester_service: requesterService,
|
|
336
|
+
owner_service: ownerService,
|
|
337
|
+
deferred_action_id: inserted.id,
|
|
338
|
+
idempotency_key: opts.idempotencyKey,
|
|
339
|
+
tenant_id: opts.tenantId,
|
|
340
|
+
requester_membership_id: opts.requesterMembershipId,
|
|
341
|
+
// Owner-resolved — empty default for a cross-owner kind.
|
|
342
|
+
default_approver_role: "",
|
|
343
|
+
default_expires_in_seconds: expirySeconds,
|
|
344
|
+
...(previewSummary
|
|
345
|
+
? { deferred_action_payload_summary: previewSummary }
|
|
346
|
+
: {}),
|
|
347
|
+
occurred_at_in_requester_tx_ms: Date.now(),
|
|
348
|
+
...(opts.metadata ? { metadata: opts.metadata } : {}),
|
|
349
|
+
},
|
|
350
|
+
});
|
|
351
|
+
return { row: inserted, beginEventId: eventId };
|
|
352
|
+
});
|
|
339
353
|
emitAudit({
|
|
340
354
|
tenantId: opts.tenantId,
|
|
341
355
|
action: `${requesterService}.approval.requested`,
|
|
@@ -349,72 +363,10 @@ async function runCrossOwnerSequence(cfg, def, opts, previewSummary) {
|
|
|
349
363
|
audit_correlation_id: correlationId,
|
|
350
364
|
requester_service: requesterService,
|
|
351
365
|
owner_service: ownerService,
|
|
366
|
+
begin_event_id: beginEventId,
|
|
367
|
+
begin_event_transport: "outbox",
|
|
352
368
|
},
|
|
353
369
|
});
|
|
354
|
-
// [6] gRPC CreateTask. The owner resolves approverRole + expiry via
|
|
355
|
-
// GetPolicy (task-tracking, Rule 3) — the requester does NOT set
|
|
356
|
-
// assigneeRole from a local policy. Expiry defaults to the requester's
|
|
357
|
-
// configured fallback; task-tracking overrides from the owner policy.
|
|
358
|
-
const expirySeconds = opts.expirySeconds ?? cfg.defaultExpirySeconds;
|
|
359
|
-
const expiresAt = new Date(Date.now() + expirySeconds * 1000).toISOString();
|
|
360
|
-
const taskRequest = {
|
|
361
|
-
tenantId: opts.tenantId,
|
|
362
|
-
kind: `approval:${def.kind}`,
|
|
363
|
-
title: titleFor(def, opts.metadata ?? {}),
|
|
364
|
-
description: def.description,
|
|
365
|
-
// No local approverRole for a cross-owner kind — task-tracking sets the
|
|
366
|
-
// assignee from the owner's GetPolicy. Empty = "owner-resolved".
|
|
367
|
-
assigneeRole: "",
|
|
368
|
-
metadata: {
|
|
369
|
-
...(opts.metadata ?? {}),
|
|
370
|
-
...summaryMeta,
|
|
371
|
-
approvalId: row.id,
|
|
372
|
-
deferredActionId: row.id,
|
|
373
|
-
kind: def.kind,
|
|
374
|
-
requesterMembershipId: opts.requesterMembershipId,
|
|
375
|
-
// D231 begin-event cross-owner provenance fields.
|
|
376
|
-
requester_service: requesterService,
|
|
377
|
-
owner_service: ownerService,
|
|
378
|
-
},
|
|
379
|
-
expiresAt,
|
|
380
|
-
idempotencyKey: opts.idempotencyKey,
|
|
381
|
-
sourceModule: requesterService,
|
|
382
|
-
actionButton: opts.actionButton ?? {
|
|
383
|
-
label: def.actionButtonLabel ?? "Review",
|
|
384
|
-
moduleKey: requesterService,
|
|
385
|
-
actionKey: `approval:${def.shortKind}`,
|
|
386
|
-
params: { approvalId: row.id },
|
|
387
|
-
},
|
|
388
|
-
};
|
|
389
|
-
let taskResponse;
|
|
390
|
-
try {
|
|
391
|
-
taskResponse = await cfg.taskServiceClient.createTask(taskRequest);
|
|
392
|
-
}
|
|
393
|
-
catch (err) {
|
|
394
|
-
emitAudit({
|
|
395
|
-
tenantId: opts.tenantId,
|
|
396
|
-
action: `${requesterService}.approval.task_creation_failed`,
|
|
397
|
-
targetKind: "deferred_action",
|
|
398
|
-
targetId: row.id,
|
|
399
|
-
metadata: {
|
|
400
|
-
kind: def.kind,
|
|
401
|
-
owner_service: ownerService,
|
|
402
|
-
error: err instanceof Error ? err.message : String(err),
|
|
403
|
-
},
|
|
404
|
-
});
|
|
405
|
-
inc({
|
|
406
|
-
name: "approval_task_creation_failed_total",
|
|
407
|
-
family: "request_handler",
|
|
408
|
-
labels: {
|
|
409
|
-
service: requesterService,
|
|
410
|
-
kind: def.kind,
|
|
411
|
-
reason: classifyError(err),
|
|
412
|
-
},
|
|
413
|
-
});
|
|
414
|
-
throw err;
|
|
415
|
-
}
|
|
416
|
-
// [7] Persist task_id back.
|
|
417
|
-
await cfg.pgPool.unsafe(`UPDATE ${requesterService}_deferred_actions SET task_id = $1 WHERE id = $2`, [taskResponse.taskId, row.id]);
|
|
418
370
|
inc({
|
|
419
371
|
name: "approval_requested_total",
|
|
420
372
|
family: "request_handler",
|
|
@@ -426,7 +378,8 @@ async function runCrossOwnerSequence(cfg, def, opts, previewSummary) {
|
|
|
426
378
|
});
|
|
427
379
|
return {
|
|
428
380
|
approvalId: row.id,
|
|
429
|
-
taskId:
|
|
381
|
+
taskId: null,
|
|
382
|
+
beginEventId,
|
|
430
383
|
status: "task_created",
|
|
431
384
|
};
|
|
432
385
|
}
|
|
@@ -502,22 +455,6 @@ function syntheticSagaId(serviceName, kind, idempotencyKey) {
|
|
|
502
455
|
h.update(idempotencyKey);
|
|
503
456
|
return `synthetic:${serviceName}:${h.digest("hex").slice(0, 32)}`;
|
|
504
457
|
}
|
|
505
|
-
function titleFor(def, metadata) {
|
|
506
|
-
if (typeof metadata.title === "string" && metadata.title.length > 0) {
|
|
507
|
-
return metadata.title;
|
|
508
|
-
}
|
|
509
|
-
return `Approve ${def.kind}`;
|
|
510
|
-
}
|
|
511
|
-
function classifyError(err) {
|
|
512
|
-
if (err && typeof err === "object" && "message" in err) {
|
|
513
|
-
const msg = String(err.message);
|
|
514
|
-
if (msg.includes("UNAVAILABLE"))
|
|
515
|
-
return "unavailable";
|
|
516
|
-
if (msg.includes("FAILED_PRECONDITION"))
|
|
517
|
-
return "failed_precondition";
|
|
518
|
-
}
|
|
519
|
-
return "unknown";
|
|
520
|
-
}
|
|
521
458
|
/** Shared finaliser when a short-circuit (opt-in disabled / self-action)
|
|
522
459
|
* handler throws. Mirrors the consumer.ts apply-tx failure path —
|
|
523
460
|
* marks the row failed + emits the failure audit + bumps the metric.
|
package/dist/request.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.js","sourceRoot":"","sources":["../src/request.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["../src/request.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -152,7 +152,22 @@ export interface RequestApprovalOpts {
|
|
|
152
152
|
export type RequestApprovalResultStatus = "task_created" | "self_action_executed" | "opt_in_disabled_executed" | "duplicate";
|
|
153
153
|
export interface RequestApprovalResult {
|
|
154
154
|
approvalId: string;
|
|
155
|
+
/**
|
|
156
|
+
* Deprecated as a task-tracking task id. Since D237 (v0.3.0) the begin-event
|
|
157
|
+
* is a same-tx outbox emit, not a synchronous `CreateTask`, so there is no
|
|
158
|
+
* task id at request time — task-tracking mints the task asynchronously when
|
|
159
|
+
* its consumer drains `<svc>.approval.requested.v1`. Always `null` on the
|
|
160
|
+
* `task_created` path now; retained for back-compat with the v0.2.x shape.
|
|
161
|
+
* Use {@link RequestApprovalResult.beginEventId} for the outbox event id.
|
|
162
|
+
*/
|
|
155
163
|
taskId: string | null;
|
|
164
|
+
/**
|
|
165
|
+
* The begin-event outbox row's `event_id` (uuid v7) emitted on the
|
|
166
|
+
* `task_created` path (D237). `null` on the short-circuit paths
|
|
167
|
+
* (`self_action_executed` / `opt_in_disabled_executed`) and on `duplicate`
|
|
168
|
+
* replays where the prior result is returned from the idempotency cache.
|
|
169
|
+
*/
|
|
170
|
+
beginEventId: string | null;
|
|
156
171
|
status: RequestApprovalResultStatus;
|
|
157
172
|
}
|
|
158
173
|
/** Membership lookup function — service provides per its own RBAC store. */
|
|
@@ -265,10 +280,25 @@ export interface InitApprovalConfig {
|
|
|
265
280
|
/** Optional db-rls handle (when wired). Both can coexist; rls wins. */
|
|
266
281
|
dbRls?: DbRlsLike;
|
|
267
282
|
redis: IoRedis;
|
|
268
|
-
/**
|
|
283
|
+
/**
|
|
284
|
+
* Task-tracking gRPC URL. OPTIONAL since D237 (v0.3.0) — `requestApproval`
|
|
285
|
+
* no longer calls `CreateTask` (the begin-event is a same-tx outbox emit),
|
|
286
|
+
* so the request flow does not need it. Still wired (when provided) so a
|
|
287
|
+
* service can use `TaskService.CreateTask` for NON-approval direct task
|
|
288
|
+
* creation (D237 Rule 5). Ignored if `taskServiceClient` is provided.
|
|
289
|
+
*/
|
|
269
290
|
taskServiceUrl?: string;
|
|
270
|
-
/**
|
|
291
|
+
/**
|
|
292
|
+
* Injectable task-tracking client. OPTIONAL since D237 (v0.3.0) — see
|
|
293
|
+
* `taskServiceUrl`. Supersedes `taskServiceUrl` when both are present.
|
|
294
|
+
*/
|
|
271
295
|
taskServiceClient?: TaskServiceClient;
|
|
296
|
+
/**
|
|
297
|
+
* Override the outbox table name the begin-event is INSERTed into (D237 +
|
|
298
|
+
* 01-comms § 9.1). Defaults to `'outbox'` (the @nodii/outbox-dispatcher
|
|
299
|
+
* default). Set this when the requester's outbox table is named differently.
|
|
300
|
+
*/
|
|
301
|
+
outboxTableName?: string;
|
|
272
302
|
/** Production knob: pass through to the internally-constructed
|
|
273
303
|
* `TaskTrackingGrpcClient` when `taskServiceUrl` is set. This is how
|
|
274
304
|
* adopting services layer in `@nodii/grpc-auth`'s S2S interceptor +
|
|
@@ -309,7 +339,15 @@ export interface ResolvedApprovalConfig {
|
|
|
309
339
|
pgPool: SqlPoolExecutor;
|
|
310
340
|
dbRls: DbRlsLike | undefined;
|
|
311
341
|
redis: IoRedis;
|
|
312
|
-
|
|
342
|
+
/**
|
|
343
|
+
* Resolved task-tracking client, or `undefined` since D237 — the request
|
|
344
|
+
* flow no longer requires it (begin-event is an outbox emit). Present only
|
|
345
|
+
* when the service wired `taskServiceUrl` / `taskServiceClient` for
|
|
346
|
+
* NON-approval direct task creation (D237 Rule 5).
|
|
347
|
+
*/
|
|
348
|
+
taskServiceClient: TaskServiceClient | undefined;
|
|
349
|
+
/** Resolved outbox table name for the begin-event emit (default `outbox`). */
|
|
350
|
+
outboxTableName: string;
|
|
313
351
|
membershipRolesLookup: MembershipRolesLookup;
|
|
314
352
|
defaultExpirySeconds: number;
|
|
315
353
|
consumerLeaseSeconds: number;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -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.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,EAAE;AACF,sEAAsE;AACtE,mDAAmD;AAsBnD,6EAA6E;AAC7E,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,UAAU;IACV,QAAQ;IACR,KAAK;IACL,OAAO;IACP,MAAM;CACE,CAAC;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,EAAE;AACF,sEAAsE;AACtE,mDAAmD;AAsBnD,6EAA6E;AAC7E,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,UAAU;IACV,QAAQ;IACR,KAAK;IACL,OAAO;IACP,MAAM;CACE,CAAC;AAiaX,qDAAqD;AACrD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,SAAS;AAC9D,MAAM,CAAC,MAAM,8BAA8B,GAAG,EAAE,CAAC;AACjD,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC;AAC9C,MAAM,CAAC,MAAM,+BAA+B,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,MAAM"}
|
package/dist/uuid.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uuid.d.ts","sourceRoot":"","sources":["../src/uuid.ts"],"names":[],"mappings":"AAOA,wBAAgB,MAAM,IAAI,MAAM,CA4B/B"}
|
package/dist/uuid.js
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
// UUIDv7 generator — RFC 9562. Inlined for self-containment, byte-parity
|
|
2
|
+
// with ts/outbox-dispatcher/src/uuid.ts + ts/replica-consumer/src/uuid.ts.
|
|
3
|
+
//
|
|
4
|
+
// Used for the begin-event outbox `event_id` (the consumer dedupe key) per
|
|
5
|
+
// D237 + 01-comms § 9.1. A time-ordered v7 id keeps the outbox naturally
|
|
6
|
+
// drain-ordered by `occurred_at`.
|
|
7
|
+
export function uuidv7() {
|
|
8
|
+
const ts = BigInt(Date.now());
|
|
9
|
+
const tsHex = ts.toString(16).padStart(12, "0");
|
|
10
|
+
const randBytes = new Uint8Array(10);
|
|
11
|
+
if (typeof crypto !== "undefined" && crypto.getRandomValues) {
|
|
12
|
+
crypto.getRandomValues(randBytes);
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
// No Math.random fallback: `event_id` is the consumer dedupe key — weak
|
|
16
|
+
// entropy risks collisions. Fail loud rather than mint a low-entropy id.
|
|
17
|
+
// (The Node runtime this lib targets always has crypto.getRandomValues.)
|
|
18
|
+
throw new Error("uuidv7: no cryptographically-secure RNG available (crypto.getRandomValues)");
|
|
19
|
+
}
|
|
20
|
+
randBytes[0] = ((randBytes[0] ?? 0) & 0x0f) | 0x70; // version 7
|
|
21
|
+
randBytes[2] = ((randBytes[2] ?? 0) & 0x3f) | 0x80; // variant 10
|
|
22
|
+
let randHex = "";
|
|
23
|
+
for (const b of randBytes)
|
|
24
|
+
randHex += b.toString(16).padStart(2, "0");
|
|
25
|
+
return [
|
|
26
|
+
tsHex.slice(0, 8),
|
|
27
|
+
tsHex.slice(8, 12),
|
|
28
|
+
randHex.slice(0, 4),
|
|
29
|
+
randHex.slice(4, 8),
|
|
30
|
+
randHex.slice(8, 20),
|
|
31
|
+
].join("-");
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=uuid.js.map
|
package/dist/uuid.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uuid.js","sourceRoot":"","sources":["../src/uuid.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,2EAA2E;AAC3E,EAAE;AACF,2EAA2E;AAC3E,yEAAyE;AACzE,kCAAkC;AAElC,MAAM,UAAU,MAAM;IACpB,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC9B,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAEhD,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IACrC,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;QAC5D,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;SAAM,CAAC;QACN,wEAAwE;QACxE,yEAAyE;QACzE,yEAAyE;QACzE,MAAM,IAAI,KAAK,CACb,4EAA4E,CAC7E,CAAC;IACJ,CAAC;IACD,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,YAAY;IAChE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,aAAa;IAEjE,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,KAAK,MAAM,CAAC,IAAI,SAAS;QAAE,OAAO,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAEtE,OAAO;QACL,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QACjB,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QACnB,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QACnB,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;KACrB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACd,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nodii/approval",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"description": "Approval library for the Nodii microservice stack — defineApprovalKinds + requestApproval + bindApprovalHandlers + per-tenant policies + completion-event consumer + migrate-gen. Polyglot ship: TS + Python + Go in parity. Spec: planning hub docKey=approval.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"@nodii/audit-chain": "0.4.2",
|
|
42
42
|
"@nodii/grpc-auth": "0.5.1",
|
|
43
|
-
"@nodii/idempotency": "0.
|
|
43
|
+
"@nodii/idempotency": "0.4.0",
|
|
44
44
|
"@nodii/role-catalog": "0.1.7",
|
|
45
45
|
"@nodii/telemetry": "0.5.2",
|
|
46
46
|
"@grpc/grpc-js": "^1.13.0",
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
"dependencies": {
|
|
59
59
|
"@nodii/audit-chain": "0.4.2",
|
|
60
60
|
"@nodii/grpc-auth": "0.5.1",
|
|
61
|
-
"@nodii/idempotency": "0.
|
|
61
|
+
"@nodii/idempotency": "0.4.0",
|
|
62
62
|
"@nodii/role-catalog": "0.1.7",
|
|
63
63
|
"@nodii/telemetry": "0.5.2"
|
|
64
64
|
}
|