@xemahq/platform-common 0.12.6 → 0.12.7

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.
Files changed (50) hide show
  1. package/dist/lib/advisory-lock.d.ts +10 -0
  2. package/dist/lib/advisory-lock.d.ts.map +1 -0
  3. package/dist/lib/advisory-lock.js +32 -0
  4. package/dist/lib/advisory-lock.js.map +1 -0
  5. package/dist/lib/biome-database.d.ts +14 -0
  6. package/dist/lib/biome-database.d.ts.map +1 -0
  7. package/dist/lib/biome-database.js +88 -0
  8. package/dist/lib/biome-database.js.map +1 -0
  9. package/dist/lib/llm-stream/anthropic-adapter.d.ts +25 -0
  10. package/dist/lib/llm-stream/anthropic-adapter.d.ts.map +1 -0
  11. package/dist/lib/llm-stream/anthropic-adapter.js +278 -0
  12. package/dist/lib/llm-stream/anthropic-adapter.js.map +1 -0
  13. package/dist/lib/redaction/redaction.interceptor.d.ts +11 -0
  14. package/dist/lib/redaction/redaction.interceptor.d.ts.map +1 -0
  15. package/dist/lib/redaction/redaction.interceptor.js +41 -0
  16. package/dist/lib/redaction/redaction.interceptor.js.map +1 -0
  17. package/dist/lib/redaction/redaction.service.d.ts +9 -0
  18. package/dist/lib/redaction/redaction.service.d.ts.map +1 -0
  19. package/dist/lib/redaction/redaction.service.js +110 -0
  20. package/dist/lib/redaction/redaction.service.js.map +1 -0
  21. package/dist/lib/session-event-payloads/error-codes.d.ts +4 -2
  22. package/dist/lib/session-event-payloads/error-codes.d.ts.map +1 -1
  23. package/dist/lib/session-event-payloads/error-codes.js +4 -0
  24. package/dist/lib/session-event-payloads/error-codes.js.map +1 -1
  25. package/dist/lib/session-event-payloads/validation.d.ts +2 -2
  26. package/dist/lib/to-prisma-json.d.ts +6 -0
  27. package/dist/lib/to-prisma-json.d.ts.map +1 -0
  28. package/dist/lib/to-prisma-json.js +12 -0
  29. package/dist/lib/to-prisma-json.js.map +1 -0
  30. package/dist/nestjs/auth/org-authority-observations.d.ts +15 -0
  31. package/dist/nestjs/auth/org-authority-observations.d.ts.map +1 -0
  32. package/dist/nestjs/auth/org-authority-observations.js +47 -0
  33. package/dist/nestjs/auth/org-authority-observations.js.map +1 -0
  34. package/dist/nestjs/auth/org-authority.d.ts +32 -0
  35. package/dist/nestjs/auth/org-authority.d.ts.map +1 -0
  36. package/dist/nestjs/auth/org-authority.js +102 -0
  37. package/dist/nestjs/auth/org-authority.js.map +1 -0
  38. package/dist/nestjs/auth/org-claim.d.ts +12 -0
  39. package/dist/nestjs/auth/org-claim.d.ts.map +1 -0
  40. package/dist/nestjs/auth/org-claim.js +25 -0
  41. package/dist/nestjs/auth/org-claim.js.map +1 -0
  42. package/dist/nestjs/auth/org-role.d.ts +13 -0
  43. package/dist/nestjs/auth/org-role.d.ts.map +1 -0
  44. package/dist/nestjs/auth/org-role.js +75 -0
  45. package/dist/nestjs/auth/org-role.js.map +1 -0
  46. package/dist/nestjs/idempotency/prisma-idempotency.service.d.ts +20 -0
  47. package/dist/nestjs/idempotency/prisma-idempotency.service.d.ts.map +1 -0
  48. package/dist/nestjs/idempotency/prisma-idempotency.service.js +58 -0
  49. package/dist/nestjs/idempotency/prisma-idempotency.service.js.map +1 -0
  50. package/package.json +1 -1
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var RedactionService_1;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.RedactionService = void 0;
14
+ const common_1 = require("@nestjs/common");
15
+ const default_rules_1 = require("./default-rules");
16
+ const DISABLED_RULES_ENV = 'REDACTION_DISABLED_RULES';
17
+ let RedactionService = RedactionService_1 = class RedactionService {
18
+ rules;
19
+ constructor() {
20
+ const disabled = parseDisabledRules(process.env[DISABLED_RULES_ENV]);
21
+ this.rules = default_rules_1.DEFAULT_REDACTION_RULES.filter((r) => !disabled.has(r.name));
22
+ }
23
+ static withRules(rules) {
24
+ const svc = Object.create(RedactionService_1.prototype);
25
+ const disabled = parseDisabledRules(process.env[DISABLED_RULES_ENV]);
26
+ svc.rules = rules.filter((r) => !disabled.has(r.name));
27
+ return svc;
28
+ }
29
+ redact(value) {
30
+ return this.walk(value, undefined, new WeakSet());
31
+ }
32
+ walk(value, key, seen) {
33
+ if (key !== undefined) {
34
+ for (const rule of this.rules) {
35
+ if (rule.fieldName && rule.fieldName.test(key)) {
36
+ return rule.replacement;
37
+ }
38
+ }
39
+ }
40
+ if (typeof value === 'string') {
41
+ return applyStringRules(value, this.rules);
42
+ }
43
+ if (Array.isArray(value)) {
44
+ if (seen.has(value)) {
45
+ return '[redacted-cycle]';
46
+ }
47
+ seen.add(value);
48
+ let mutated = false;
49
+ const next = new Array(value.length);
50
+ for (let i = 0; i < value.length; i++) {
51
+ const v = value[i];
52
+ const w = this.walk(v, undefined, seen);
53
+ if (w !== v) {
54
+ mutated = true;
55
+ }
56
+ next[i] = w;
57
+ }
58
+ seen.delete(value);
59
+ return mutated ? next : value;
60
+ }
61
+ if (value !== null && typeof value === 'object') {
62
+ if (seen.has(value)) {
63
+ return '[redacted-cycle]';
64
+ }
65
+ seen.add(value);
66
+ const record = value;
67
+ let mutated = false;
68
+ const out = {};
69
+ for (const k of Object.keys(record)) {
70
+ const v = record[k];
71
+ const w = this.walk(v, k, seen);
72
+ if (w !== v) {
73
+ mutated = true;
74
+ }
75
+ out[k] = w;
76
+ }
77
+ seen.delete(value);
78
+ return mutated ? out : value;
79
+ }
80
+ return value;
81
+ }
82
+ };
83
+ exports.RedactionService = RedactionService;
84
+ exports.RedactionService = RedactionService = RedactionService_1 = __decorate([
85
+ (0, common_1.Injectable)(),
86
+ __metadata("design:paramtypes", [])
87
+ ], RedactionService);
88
+ function applyStringRules(value, rules) {
89
+ let current = value;
90
+ for (const rule of rules) {
91
+ if (!rule.stringPattern) {
92
+ continue;
93
+ }
94
+ if (rule.stringPattern.test(current)) {
95
+ const regex = new RegExp(rule.stringPattern.source, rule.stringPattern.flags);
96
+ current = current.replace(regex, rule.replacement);
97
+ }
98
+ }
99
+ return current;
100
+ }
101
+ function parseDisabledRules(raw) {
102
+ if (!raw) {
103
+ return new Set();
104
+ }
105
+ return new Set(raw
106
+ .split(',')
107
+ .map((s) => s.trim())
108
+ .filter((s) => s.length > 0));
109
+ }
110
+ //# sourceMappingURL=redaction.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redaction.service.js","sourceRoot":"","sources":["../../../src/lib/redaction/redaction.service.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,8 @@ export declare enum SessionErrorCode {
23
23
  LaunchStepUnreachable = "step_unreachable",
24
24
  LaunchUnclassifiedFailure = "launch_unclassified",
25
25
  LaunchWorkspaceRestoreFailed = "workspace_restore_failed",
26
+ LaunchWorkspaceSnapshotCorrupt = "workspace_snapshot_corrupt",
27
+ LaunchWorkingFileSourceMissing = "working_file_source_missing",
26
28
  LaunchFinalizeFailed = "finalize_failed",
27
29
  LaunchFinalizeReadinessFailed = "finalize_readiness_failed",
28
30
  LaunchNoUsableProvider = "no_usable_provider",
@@ -33,8 +35,8 @@ export declare enum SessionErrorCode {
33
35
  }
34
36
  export type SessionTurnErrorCode = SessionErrorCode.ThreadBusy | SessionErrorCode.TurnFailed | SessionErrorCode.ConsentResumeFailed | SessionErrorCode.ToolIterationLimit | SessionErrorCode.NoTerminalFrame | SessionErrorCode.WorkerTurnFailed;
35
37
  export declare const SESSION_TURN_ERROR_CODES: readonly [SessionErrorCode.ThreadBusy, SessionErrorCode.TurnFailed, SessionErrorCode.ConsentResumeFailed, SessionErrorCode.ToolIterationLimit, SessionErrorCode.NoTerminalFrame, SessionErrorCode.WorkerTurnFailed];
36
- export type SessionLaunchErrorCode = SessionErrorCode.LaunchConfigResolutionFailed | SessionErrorCode.LaunchSelectionInvalid | SessionErrorCode.LaunchWorkerAcquireTimeout | SessionErrorCode.LaunchWorkerAcquireRejected | SessionErrorCode.LaunchWorkerAllocationLost | SessionErrorCode.LaunchControlBundleFailed | SessionErrorCode.LaunchControlBundleRejected | SessionErrorCode.LaunchBootstrapFailed | SessionErrorCode.LaunchBootstrapContractBroken | SessionErrorCode.LaunchProvisionFailed | SessionErrorCode.LaunchStepUnreachable | SessionErrorCode.LaunchUnclassifiedFailure | SessionErrorCode.LaunchWorkspaceRestoreFailed | SessionErrorCode.LaunchFinalizeFailed | SessionErrorCode.LaunchFinalizeReadinessFailed | SessionErrorCode.LaunchNoUsableProvider | SessionErrorCode.LaunchAgentUnavailable | SessionErrorCode.LaunchDeadlineExceeded | SessionErrorCode.LaunchIllegalTransition | SessionErrorCode.LaunchAbandoned;
37
- export declare const SESSION_LAUNCH_ERROR_CODES: readonly [SessionErrorCode.LaunchConfigResolutionFailed, SessionErrorCode.LaunchSelectionInvalid, SessionErrorCode.LaunchWorkerAcquireTimeout, SessionErrorCode.LaunchWorkerAcquireRejected, SessionErrorCode.LaunchWorkerAllocationLost, SessionErrorCode.LaunchControlBundleFailed, SessionErrorCode.LaunchControlBundleRejected, SessionErrorCode.LaunchBootstrapFailed, SessionErrorCode.LaunchBootstrapContractBroken, SessionErrorCode.LaunchProvisionFailed, SessionErrorCode.LaunchStepUnreachable, SessionErrorCode.LaunchUnclassifiedFailure, SessionErrorCode.LaunchWorkspaceRestoreFailed, SessionErrorCode.LaunchFinalizeFailed, SessionErrorCode.LaunchFinalizeReadinessFailed, SessionErrorCode.LaunchNoUsableProvider, SessionErrorCode.LaunchAgentUnavailable, SessionErrorCode.LaunchDeadlineExceeded, SessionErrorCode.LaunchIllegalTransition, SessionErrorCode.LaunchAbandoned];
38
+ export type SessionLaunchErrorCode = SessionErrorCode.LaunchConfigResolutionFailed | SessionErrorCode.LaunchSelectionInvalid | SessionErrorCode.LaunchWorkerAcquireTimeout | SessionErrorCode.LaunchWorkerAcquireRejected | SessionErrorCode.LaunchWorkerAllocationLost | SessionErrorCode.LaunchControlBundleFailed | SessionErrorCode.LaunchControlBundleRejected | SessionErrorCode.LaunchBootstrapFailed | SessionErrorCode.LaunchBootstrapContractBroken | SessionErrorCode.LaunchProvisionFailed | SessionErrorCode.LaunchStepUnreachable | SessionErrorCode.LaunchUnclassifiedFailure | SessionErrorCode.LaunchWorkspaceRestoreFailed | SessionErrorCode.LaunchWorkspaceSnapshotCorrupt | SessionErrorCode.LaunchWorkingFileSourceMissing | SessionErrorCode.LaunchFinalizeFailed | SessionErrorCode.LaunchFinalizeReadinessFailed | SessionErrorCode.LaunchNoUsableProvider | SessionErrorCode.LaunchAgentUnavailable | SessionErrorCode.LaunchDeadlineExceeded | SessionErrorCode.LaunchIllegalTransition | SessionErrorCode.LaunchAbandoned;
39
+ export declare const SESSION_LAUNCH_ERROR_CODES: readonly [SessionErrorCode.LaunchConfigResolutionFailed, SessionErrorCode.LaunchSelectionInvalid, SessionErrorCode.LaunchWorkerAcquireTimeout, SessionErrorCode.LaunchWorkerAcquireRejected, SessionErrorCode.LaunchWorkerAllocationLost, SessionErrorCode.LaunchControlBundleFailed, SessionErrorCode.LaunchControlBundleRejected, SessionErrorCode.LaunchBootstrapFailed, SessionErrorCode.LaunchBootstrapContractBroken, SessionErrorCode.LaunchProvisionFailed, SessionErrorCode.LaunchStepUnreachable, SessionErrorCode.LaunchUnclassifiedFailure, SessionErrorCode.LaunchWorkspaceRestoreFailed, SessionErrorCode.LaunchWorkspaceSnapshotCorrupt, SessionErrorCode.LaunchWorkingFileSourceMissing, SessionErrorCode.LaunchFinalizeFailed, SessionErrorCode.LaunchFinalizeReadinessFailed, SessionErrorCode.LaunchNoUsableProvider, SessionErrorCode.LaunchAgentUnavailable, SessionErrorCode.LaunchDeadlineExceeded, SessionErrorCode.LaunchIllegalTransition, SessionErrorCode.LaunchAbandoned];
38
40
  export declare const SESSION_LAUNCH_FAILURE_CODES: Readonly<Record<string, SessionLaunchErrorCode>>;
39
41
  export declare function mapLaunchFailureToSessionErrorCode(launchFailureKind: string): SessionLaunchErrorCode;
40
42
  //# sourceMappingURL=error-codes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"error-codes.d.ts","sourceRoot":"","sources":["../../../src/lib/session-event-payloads/error-codes.ts"],"names":[],"mappings":"AA4BA,oBAAY,iBAAiB;IAC3B,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,YAAY,iBAAiB;CAC9B;AA6BD,oBAAY,gBAAgB;IAM1B,UAAU,uBAAuB;IAMjC,UAAU,uBAAuB;IAUjC,mBAAmB,yBAAyB;IAO5C,kBAAkB,gCAAgC;IAKlD,eAAe,6BAA6B;IAU5C,gBAAgB,+BAA+B;IAkB/C,4BAA4B,6BAA6B;IAOzD,sBAAsB,6BAA6B;IAEnD,0BAA0B,2BAA2B;IAErD,2BAA2B,4BAA4B;IAWvD,0BAA0B,2BAA2B;IAQrD,yBAAyB,0BAA0B;IAenD,2BAA2B,4BAA4B;IAEvD,qBAAqB,qBAAqB;IAa1C,6BAA6B,8BAA8B;IAkB3D,qBAAqB,qBAAqB;IAqC1C,qBAAqB,qBAAqB;IAuB1C,yBAAyB,wBAAwB;IAEjD,4BAA4B,6BAA6B;IAiBzD,oBAAoB,oBAAoB;IAWxC,6BAA6B,8BAA8B;IAK3D,sBAAsB,uBAAuB;IAM7C,sBAAsB,sBAAsB;IAa5C,sBAAsB,sBAAsB;IAE5C,uBAAuB,uBAAuB;IAK9C,eAAe,qBAAqB;CACrC;AAUD,MAAM,MAAM,oBAAoB,GAC5B,gBAAgB,CAAC,UAAU,GAC3B,gBAAgB,CAAC,UAAU,GAC3B,gBAAgB,CAAC,mBAAmB,GACpC,gBAAgB,CAAC,kBAAkB,GACnC,gBAAgB,CAAC,eAAe,GAChC,gBAAgB,CAAC,gBAAgB,CAAC;AAGtC,eAAO,MAAM,wBAAwB,qNAOe,CAAC;AAUrD,MAAM,MAAM,sBAAsB,GAC9B,gBAAgB,CAAC,4BAA4B,GAC7C,gBAAgB,CAAC,sBAAsB,GACvC,gBAAgB,CAAC,0BAA0B,GAC3C,gBAAgB,CAAC,2BAA2B,GAC5C,gBAAgB,CAAC,0BAA0B,GAC3C,gBAAgB,CAAC,yBAAyB,GAC1C,gBAAgB,CAAC,2BAA2B,GAC5C,gBAAgB,CAAC,qBAAqB,GACtC,gBAAgB,CAAC,6BAA6B,GAC9C,gBAAgB,CAAC,qBAAqB,GACtC,gBAAgB,CAAC,qBAAqB,GACtC,gBAAgB,CAAC,yBAAyB,GAC1C,gBAAgB,CAAC,4BAA4B,GAC7C,gBAAgB,CAAC,oBAAoB,GACrC,gBAAgB,CAAC,6BAA6B,GAC9C,gBAAgB,CAAC,sBAAsB,GACvC,gBAAgB,CAAC,sBAAsB,GACvC,gBAAgB,CAAC,sBAAsB,GACvC,gBAAgB,CAAC,uBAAuB,GACxC,gBAAgB,CAAC,eAAe,CAAC;AAGrC,eAAO,MAAM,0BAA0B,s2BAqBe,CAAC;AAiBvD,eAAO,MAAM,4BAA4B,EAAE,QAAQ,CACjD,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAKvC,CAAC;AAuBF,wBAAgB,kCAAkC,CAChD,iBAAiB,EAAE,MAAM,GACxB,sBAAsB,CAWxB"}
1
+ {"version":3,"file":"error-codes.d.ts","sourceRoot":"","sources":["../../../src/lib/session-event-payloads/error-codes.ts"],"names":[],"mappings":"AA4BA,oBAAY,iBAAiB;IAC3B,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,YAAY,iBAAiB;CAC9B;AA6BD,oBAAY,gBAAgB;IAM1B,UAAU,uBAAuB;IAMjC,UAAU,uBAAuB;IAUjC,mBAAmB,yBAAyB;IAO5C,kBAAkB,gCAAgC;IAKlD,eAAe,6BAA6B;IAU5C,gBAAgB,+BAA+B;IAkB/C,4BAA4B,6BAA6B;IAOzD,sBAAsB,6BAA6B;IAEnD,0BAA0B,2BAA2B;IAErD,2BAA2B,4BAA4B;IAWvD,0BAA0B,2BAA2B;IAQrD,yBAAyB,0BAA0B;IAenD,2BAA2B,4BAA4B;IAEvD,qBAAqB,qBAAqB;IAa1C,6BAA6B,8BAA8B;IAkB3D,qBAAqB,qBAAqB;IAqC1C,qBAAqB,qBAAqB;IAuB1C,yBAAyB,wBAAwB;IAYjD,4BAA4B,6BAA6B;IAazD,8BAA8B,+BAA+B;IAY7D,8BAA8B,gCAAgC;IAiB9D,oBAAoB,oBAAoB;IAWxC,6BAA6B,8BAA8B;IAK3D,sBAAsB,uBAAuB;IAM7C,sBAAsB,sBAAsB;IAa5C,sBAAsB,sBAAsB;IAE5C,uBAAuB,uBAAuB;IAK9C,eAAe,qBAAqB;CACrC;AAUD,MAAM,MAAM,oBAAoB,GAC5B,gBAAgB,CAAC,UAAU,GAC3B,gBAAgB,CAAC,UAAU,GAC3B,gBAAgB,CAAC,mBAAmB,GACpC,gBAAgB,CAAC,kBAAkB,GACnC,gBAAgB,CAAC,eAAe,GAChC,gBAAgB,CAAC,gBAAgB,CAAC;AAGtC,eAAO,MAAM,wBAAwB,qNAOe,CAAC;AAUrD,MAAM,MAAM,sBAAsB,GAC9B,gBAAgB,CAAC,4BAA4B,GAC7C,gBAAgB,CAAC,sBAAsB,GACvC,gBAAgB,CAAC,0BAA0B,GAC3C,gBAAgB,CAAC,2BAA2B,GAC5C,gBAAgB,CAAC,0BAA0B,GAC3C,gBAAgB,CAAC,yBAAyB,GAC1C,gBAAgB,CAAC,2BAA2B,GAC5C,gBAAgB,CAAC,qBAAqB,GACtC,gBAAgB,CAAC,6BAA6B,GAC9C,gBAAgB,CAAC,qBAAqB,GACtC,gBAAgB,CAAC,qBAAqB,GACtC,gBAAgB,CAAC,yBAAyB,GAC1C,gBAAgB,CAAC,4BAA4B,GAC7C,gBAAgB,CAAC,8BAA8B,GAC/C,gBAAgB,CAAC,8BAA8B,GAC/C,gBAAgB,CAAC,oBAAoB,GACrC,gBAAgB,CAAC,6BAA6B,GAC9C,gBAAgB,CAAC,sBAAsB,GACvC,gBAAgB,CAAC,sBAAsB,GACvC,gBAAgB,CAAC,sBAAsB,GACvC,gBAAgB,CAAC,uBAAuB,GACxC,gBAAgB,CAAC,eAAe,CAAC;AAGrC,eAAO,MAAM,0BAA0B,w8BAuBe,CAAC;AAiBvD,eAAO,MAAM,4BAA4B,EAAE,QAAQ,CACjD,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAKvC,CAAC;AAuBF,wBAAgB,kCAAkC,CAChD,iBAAiB,EAAE,MAAM,GACxB,sBAAsB,CAWxB"}
@@ -29,6 +29,8 @@ var SessionErrorCode;
29
29
  SessionErrorCode["LaunchStepUnreachable"] = "step_unreachable";
30
30
  SessionErrorCode["LaunchUnclassifiedFailure"] = "launch_unclassified";
31
31
  SessionErrorCode["LaunchWorkspaceRestoreFailed"] = "workspace_restore_failed";
32
+ SessionErrorCode["LaunchWorkspaceSnapshotCorrupt"] = "workspace_snapshot_corrupt";
33
+ SessionErrorCode["LaunchWorkingFileSourceMissing"] = "working_file_source_missing";
32
34
  SessionErrorCode["LaunchFinalizeFailed"] = "finalize_failed";
33
35
  SessionErrorCode["LaunchFinalizeReadinessFailed"] = "finalize_readiness_failed";
34
36
  SessionErrorCode["LaunchNoUsableProvider"] = "no_usable_provider";
@@ -59,6 +61,8 @@ exports.SESSION_LAUNCH_ERROR_CODES = [
59
61
  SessionErrorCode.LaunchStepUnreachable,
60
62
  SessionErrorCode.LaunchUnclassifiedFailure,
61
63
  SessionErrorCode.LaunchWorkspaceRestoreFailed,
64
+ SessionErrorCode.LaunchWorkspaceSnapshotCorrupt,
65
+ SessionErrorCode.LaunchWorkingFileSourceMissing,
62
66
  SessionErrorCode.LaunchFinalizeFailed,
63
67
  SessionErrorCode.LaunchFinalizeReadinessFailed,
64
68
  SessionErrorCode.LaunchNoUsableProvider,
@@ -1 +1 @@
1
- {"version":3,"file":"error-codes.js","sourceRoot":"","sources":["../../../src/lib/session-event-payloads/error-codes.ts"],"names":[],"mappings":";;;AAicA,gFAaC;AAlbD,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IAC3B,kCAAa,CAAA;IACb,sCAAiB,CAAA;IACjB,kDAA6B,CAAA;AAC/B,CAAC,EAJW,iBAAiB,iCAAjB,iBAAiB,QAI5B;AA6BD,IAAY,gBAsQX;AAtQD,WAAY,gBAAgB;IAM1B,qDAAiC,CAAA;IAMjC,qDAAiC,CAAA;IAUjC,gEAA4C,CAAA;IAO5C,sEAAkD,CAAA;IAKlD,gEAA4C,CAAA;IAU5C,mEAA+C,CAAA;IAkB/C,6EAAyD,CAAA;IAOzD,uEAAmD,CAAA;IAEnD,yEAAqD,CAAA;IAErD,2EAAuD,CAAA;IAWvD,yEAAqD,CAAA;IAQrD,uEAAmD,CAAA;IAenD,2EAAuD,CAAA;IAEvD,8DAA0C,CAAA;IAa1C,+EAA2D,CAAA;IAkB3D,8DAA0C,CAAA;IAqC1C,8DAA0C,CAAA;IAuB1C,qEAAiD,CAAA;IAEjD,6EAAyD,CAAA;IAiBzD,4DAAwC,CAAA;IAWxC,+EAA2D,CAAA;IAK3D,iEAA6C,CAAA;IAM7C,gEAA4C,CAAA;IAa5C,gEAA4C,CAAA;IAE5C,kEAA8C,CAAA;IAK9C,wDAAoC,CAAA;AACtC,CAAC,EAtQW,gBAAgB,gCAAhB,gBAAgB,QAsQ3B;AAmBY,QAAA,wBAAwB,GAAG;IACtC,gBAAgB,CAAC,UAAU;IAC3B,gBAAgB,CAAC,UAAU;IAC3B,gBAAgB,CAAC,mBAAmB;IACpC,gBAAgB,CAAC,kBAAkB;IACnC,gBAAgB,CAAC,eAAe;IAChC,gBAAgB,CAAC,gBAAgB;CACiB,CAAC;AAiCxC,QAAA,0BAA0B,GAAG;IACxC,gBAAgB,CAAC,4BAA4B;IAC7C,gBAAgB,CAAC,sBAAsB;IACvC,gBAAgB,CAAC,0BAA0B;IAC3C,gBAAgB,CAAC,2BAA2B;IAC5C,gBAAgB,CAAC,0BAA0B;IAC3C,gBAAgB,CAAC,yBAAyB;IAC1C,gBAAgB,CAAC,2BAA2B;IAC5C,gBAAgB,CAAC,qBAAqB;IACtC,gBAAgB,CAAC,6BAA6B;IAC9C,gBAAgB,CAAC,qBAAqB;IACtC,gBAAgB,CAAC,qBAAqB;IACtC,gBAAgB,CAAC,yBAAyB;IAC1C,gBAAgB,CAAC,4BAA4B;IAC7C,gBAAgB,CAAC,oBAAoB;IACrC,gBAAgB,CAAC,6BAA6B;IAC9C,gBAAgB,CAAC,sBAAsB;IACvC,gBAAgB,CAAC,sBAAsB;IACvC,gBAAgB,CAAC,sBAAsB;IACvC,gBAAgB,CAAC,uBAAuB;IACxC,gBAAgB,CAAC,eAAe;CACoB,CAAC;AAiB1C,QAAA,4BAA4B,GAErC,MAAM,CAAC,MAAM,CACf,MAAM,CAAC,WAAW,CAChB,kCAA0B,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAc,EAAE,IAAI,CAAC,CAAC,CACvB,CAC5C,CAAC;AAuBF,SAAgB,kCAAkC,CAChD,iBAAyB;IAEzB,MAAM,IAAI,GAAG,oCAA4B,CAAC,iBAAiB,CAAC,CAAC;IAC7D,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,IAAI,SAAS,CACjB,wBAAwB,iBAAiB,6BAA6B;YACpE,qEAAqE;YACrE,iDAAiD;YACjD,6BAA6B,CAChC,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"error-codes.js","sourceRoot":"","sources":["../../../src/lib/session-event-payloads/error-codes.ts"],"names":[],"mappings":";;;AAweA,gFAaC;AAzdD,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IAC3B,kCAAa,CAAA;IACb,sCAAiB,CAAA;IACjB,kDAA6B,CAAA;AAC/B,CAAC,EAJW,iBAAiB,iCAAjB,iBAAiB,QAI5B;AA6BD,IAAY,gBAySX;AAzSD,WAAY,gBAAgB;IAM1B,qDAAiC,CAAA;IAMjC,qDAAiC,CAAA;IAUjC,gEAA4C,CAAA;IAO5C,sEAAkD,CAAA;IAKlD,gEAA4C,CAAA;IAU5C,mEAA+C,CAAA;IAkB/C,6EAAyD,CAAA;IAOzD,uEAAmD,CAAA;IAEnD,yEAAqD,CAAA;IAErD,2EAAuD,CAAA;IAWvD,yEAAqD,CAAA;IAQrD,uEAAmD,CAAA;IAenD,2EAAuD,CAAA;IAEvD,8DAA0C,CAAA;IAa1C,+EAA2D,CAAA;IAkB3D,8DAA0C,CAAA;IAqC1C,8DAA0C,CAAA;IAuB1C,qEAAiD,CAAA;IAYjD,6EAAyD,CAAA;IAazD,iFAA6D,CAAA;IAY7D,kFAA8D,CAAA;IAiB9D,4DAAwC,CAAA;IAWxC,+EAA2D,CAAA;IAK3D,iEAA6C,CAAA;IAM7C,gEAA4C,CAAA;IAa5C,gEAA4C,CAAA;IAE5C,kEAA8C,CAAA;IAK9C,wDAAoC,CAAA;AACtC,CAAC,EAzSW,gBAAgB,gCAAhB,gBAAgB,QAyS3B;AAmBY,QAAA,wBAAwB,GAAG;IACtC,gBAAgB,CAAC,UAAU;IAC3B,gBAAgB,CAAC,UAAU;IAC3B,gBAAgB,CAAC,mBAAmB;IACpC,gBAAgB,CAAC,kBAAkB;IACnC,gBAAgB,CAAC,eAAe;IAChC,gBAAgB,CAAC,gBAAgB;CACiB,CAAC;AAmCxC,QAAA,0BAA0B,GAAG;IACxC,gBAAgB,CAAC,4BAA4B;IAC7C,gBAAgB,CAAC,sBAAsB;IACvC,gBAAgB,CAAC,0BAA0B;IAC3C,gBAAgB,CAAC,2BAA2B;IAC5C,gBAAgB,CAAC,0BAA0B;IAC3C,gBAAgB,CAAC,yBAAyB;IAC1C,gBAAgB,CAAC,2BAA2B;IAC5C,gBAAgB,CAAC,qBAAqB;IACtC,gBAAgB,CAAC,6BAA6B;IAC9C,gBAAgB,CAAC,qBAAqB;IACtC,gBAAgB,CAAC,qBAAqB;IACtC,gBAAgB,CAAC,yBAAyB;IAC1C,gBAAgB,CAAC,4BAA4B;IAC7C,gBAAgB,CAAC,8BAA8B;IAC/C,gBAAgB,CAAC,8BAA8B;IAC/C,gBAAgB,CAAC,oBAAoB;IACrC,gBAAgB,CAAC,6BAA6B;IAC9C,gBAAgB,CAAC,sBAAsB;IACvC,gBAAgB,CAAC,sBAAsB;IACvC,gBAAgB,CAAC,sBAAsB;IACvC,gBAAgB,CAAC,uBAAuB;IACxC,gBAAgB,CAAC,eAAe;CACoB,CAAC;AAiB1C,QAAA,4BAA4B,GAErC,MAAM,CAAC,MAAM,CACf,MAAM,CAAC,WAAW,CAChB,kCAA0B,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAc,EAAE,IAAI,CAAC,CAAC,CACvB,CAC5C,CAAC;AAuBF,SAAgB,kCAAkC,CAChD,iBAAyB;IAEzB,MAAM,IAAI,GAAG,oCAA4B,CAAC,iBAAiB,CAAC,CAAC;IAC7D,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,IAAI,SAAS,CACjB,wBAAwB,iBAAiB,6BAA6B;YACpE,qEAAqE;YACrE,iDAAiD;YACjD,6BAA6B,CAChC,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -63,12 +63,12 @@ export declare const SESSION_EVENT_PAYLOAD_SCHEMAS: {
63
63
  detail: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
64
64
  }, z.core.$strict>, z.ZodObject<{
65
65
  phase: z.ZodLiteral<SessionErrorPhase.Resume>;
66
- code: z.ZodLiteral<import("./error-codes").SessionErrorCode.LaunchConfigResolutionFailed | import("./error-codes").SessionErrorCode.LaunchSelectionInvalid | import("./error-codes").SessionErrorCode.LaunchWorkerAcquireTimeout | import("./error-codes").SessionErrorCode.LaunchWorkerAcquireRejected | import("./error-codes").SessionErrorCode.LaunchWorkerAllocationLost | import("./error-codes").SessionErrorCode.LaunchControlBundleFailed | import("./error-codes").SessionErrorCode.LaunchControlBundleRejected | import("./error-codes").SessionErrorCode.LaunchBootstrapFailed | import("./error-codes").SessionErrorCode.LaunchBootstrapContractBroken | import("./error-codes").SessionErrorCode.LaunchProvisionFailed | import("./error-codes").SessionErrorCode.LaunchStepUnreachable | import("./error-codes").SessionErrorCode.LaunchUnclassifiedFailure | import("./error-codes").SessionErrorCode.LaunchWorkspaceRestoreFailed | import("./error-codes").SessionErrorCode.LaunchFinalizeFailed | import("./error-codes").SessionErrorCode.LaunchFinalizeReadinessFailed | import("./error-codes").SessionErrorCode.LaunchNoUsableProvider | import("./error-codes").SessionErrorCode.LaunchAgentUnavailable | import("./error-codes").SessionErrorCode.LaunchDeadlineExceeded | import("./error-codes").SessionErrorCode.LaunchIllegalTransition | import("./error-codes").SessionErrorCode.LaunchAbandoned>;
66
+ code: z.ZodLiteral<import("./error-codes").SessionErrorCode.LaunchConfigResolutionFailed | import("./error-codes").SessionErrorCode.LaunchSelectionInvalid | import("./error-codes").SessionErrorCode.LaunchWorkerAcquireTimeout | import("./error-codes").SessionErrorCode.LaunchWorkerAcquireRejected | import("./error-codes").SessionErrorCode.LaunchWorkerAllocationLost | import("./error-codes").SessionErrorCode.LaunchControlBundleFailed | import("./error-codes").SessionErrorCode.LaunchControlBundleRejected | import("./error-codes").SessionErrorCode.LaunchBootstrapFailed | import("./error-codes").SessionErrorCode.LaunchBootstrapContractBroken | import("./error-codes").SessionErrorCode.LaunchProvisionFailed | import("./error-codes").SessionErrorCode.LaunchStepUnreachable | import("./error-codes").SessionErrorCode.LaunchUnclassifiedFailure | import("./error-codes").SessionErrorCode.LaunchWorkspaceRestoreFailed | import("./error-codes").SessionErrorCode.LaunchWorkspaceSnapshotCorrupt | import("./error-codes").SessionErrorCode.LaunchWorkingFileSourceMissing | import("./error-codes").SessionErrorCode.LaunchFinalizeFailed | import("./error-codes").SessionErrorCode.LaunchFinalizeReadinessFailed | import("./error-codes").SessionErrorCode.LaunchNoUsableProvider | import("./error-codes").SessionErrorCode.LaunchAgentUnavailable | import("./error-codes").SessionErrorCode.LaunchDeadlineExceeded | import("./error-codes").SessionErrorCode.LaunchIllegalTransition | import("./error-codes").SessionErrorCode.LaunchAbandoned>;
67
67
  message: z.ZodString;
68
68
  agentSlug: z.ZodOptional<z.ZodString>;
69
69
  }, z.core.$strict>, z.ZodObject<{
70
70
  phase: z.ZodLiteral<SessionErrorPhase.Provisioning>;
71
- code: z.ZodLiteral<import("./error-codes").SessionErrorCode.LaunchConfigResolutionFailed | import("./error-codes").SessionErrorCode.LaunchSelectionInvalid | import("./error-codes").SessionErrorCode.LaunchWorkerAcquireTimeout | import("./error-codes").SessionErrorCode.LaunchWorkerAcquireRejected | import("./error-codes").SessionErrorCode.LaunchWorkerAllocationLost | import("./error-codes").SessionErrorCode.LaunchControlBundleFailed | import("./error-codes").SessionErrorCode.LaunchControlBundleRejected | import("./error-codes").SessionErrorCode.LaunchBootstrapFailed | import("./error-codes").SessionErrorCode.LaunchBootstrapContractBroken | import("./error-codes").SessionErrorCode.LaunchProvisionFailed | import("./error-codes").SessionErrorCode.LaunchStepUnreachable | import("./error-codes").SessionErrorCode.LaunchUnclassifiedFailure | import("./error-codes").SessionErrorCode.LaunchWorkspaceRestoreFailed | import("./error-codes").SessionErrorCode.LaunchFinalizeFailed | import("./error-codes").SessionErrorCode.LaunchFinalizeReadinessFailed | import("./error-codes").SessionErrorCode.LaunchNoUsableProvider | import("./error-codes").SessionErrorCode.LaunchAgentUnavailable | import("./error-codes").SessionErrorCode.LaunchDeadlineExceeded | import("./error-codes").SessionErrorCode.LaunchIllegalTransition | import("./error-codes").SessionErrorCode.LaunchAbandoned>;
71
+ code: z.ZodLiteral<import("./error-codes").SessionErrorCode.LaunchConfigResolutionFailed | import("./error-codes").SessionErrorCode.LaunchSelectionInvalid | import("./error-codes").SessionErrorCode.LaunchWorkerAcquireTimeout | import("./error-codes").SessionErrorCode.LaunchWorkerAcquireRejected | import("./error-codes").SessionErrorCode.LaunchWorkerAllocationLost | import("./error-codes").SessionErrorCode.LaunchControlBundleFailed | import("./error-codes").SessionErrorCode.LaunchControlBundleRejected | import("./error-codes").SessionErrorCode.LaunchBootstrapFailed | import("./error-codes").SessionErrorCode.LaunchBootstrapContractBroken | import("./error-codes").SessionErrorCode.LaunchProvisionFailed | import("./error-codes").SessionErrorCode.LaunchStepUnreachable | import("./error-codes").SessionErrorCode.LaunchUnclassifiedFailure | import("./error-codes").SessionErrorCode.LaunchWorkspaceRestoreFailed | import("./error-codes").SessionErrorCode.LaunchWorkspaceSnapshotCorrupt | import("./error-codes").SessionErrorCode.LaunchWorkingFileSourceMissing | import("./error-codes").SessionErrorCode.LaunchFinalizeFailed | import("./error-codes").SessionErrorCode.LaunchFinalizeReadinessFailed | import("./error-codes").SessionErrorCode.LaunchNoUsableProvider | import("./error-codes").SessionErrorCode.LaunchAgentUnavailable | import("./error-codes").SessionErrorCode.LaunchDeadlineExceeded | import("./error-codes").SessionErrorCode.LaunchIllegalTransition | import("./error-codes").SessionErrorCode.LaunchAbandoned>;
72
72
  message: z.ZodString;
73
73
  }, z.core.$strict>], "phase">;
74
74
  };
@@ -0,0 +1,6 @@
1
+ import type { ZodType } from 'zod';
2
+ export declare function toPrismaJson<T>(schema: ZodType<T>, value: T, context?: {
3
+ workItemId?: string;
4
+ hint?: string;
5
+ }): unknown;
6
+ //# sourceMappingURL=to-prisma-json.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"to-prisma-json.d.ts","sourceRoot":"","sources":["../../src/lib/to-prisma-json.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAmBnC,wBAAgB,YAAY,CAAC,CAAC,EAC5B,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAClB,KAAK,EAAE,CAAC,EACR,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GACnD,OAAO,CAYT"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toPrismaJson = toPrismaJson;
4
+ const pipeline_errors_1 = require("./errors/pipeline-errors");
5
+ function toPrismaJson(schema, value, context = {}) {
6
+ const parsed = schema.safeParse(value);
7
+ if (!parsed.success) {
8
+ throw new pipeline_errors_1.WorkItemPayloadInvalidError(`Work-item payload failed schema validation${context.hint ? ` (${context.hint})` : ''}`, context.workItemId ?? 'unknown', parsed.error.issues);
9
+ }
10
+ return structuredClone(parsed.data);
11
+ }
12
+ //# sourceMappingURL=to-prisma-json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"to-prisma-json.js","sourceRoot":"","sources":["../../src/lib/to-prisma-json.ts"],"names":[],"mappings":";;AAwCA,oCAgBC;AAlCD,8DAAuE;AAkBvE,SAAgB,YAAY,CAC1B,MAAkB,EAClB,KAAQ,EACR,UAAkD,EAAE;IAEpD,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACvC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,6CAA2B,CACnC,6CAA6C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EACvF,OAAO,CAAC,UAAU,IAAI,SAAS,EAC/B,MAAM,CAAC,KAAK,CAAC,MAAM,CACpB,CAAC;IACJ,CAAC;IAGD,OAAO,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { OrgAuthorityCallerFacts } from './org-authority';
2
+ export declare const ORG_AUTHORITY_OBSERVATION_LIMIT = 512;
3
+ export interface OrgAuthorityObservation extends OrgAuthorityCallerFacts {
4
+ readonly count: number;
5
+ readonly firstSeenAt: string;
6
+ }
7
+ export interface OrgAuthorityCensus {
8
+ readonly observations: readonly OrgAuthorityObservation[];
9
+ readonly droppedByLimit: number;
10
+ }
11
+ export declare const UNKNOWN_CLIENT_ID = "<unknown>";
12
+ export declare function recordUnprovenOrgAuthority(facts: OrgAuthorityCallerFacts): boolean;
13
+ export declare function orgAuthorityCensus(): OrgAuthorityCensus;
14
+ export declare function resetOrgAuthorityCensus(): void;
15
+ //# sourceMappingURL=org-authority-observations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"org-authority-observations.d.ts","sourceRoot":"","sources":["../../../src/nestjs/auth/org-authority-observations.ts"],"names":[],"mappings":"AAgCA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAO/D,eAAO,MAAM,+BAA+B,MAAM,CAAC;AAGnD,MAAM,WAAW,uBAAwB,SAAQ,uBAAuB;IAEtE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAGD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,YAAY,EAAE,SAAS,uBAAuB,EAAE,CAAC;IAM1D,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAWD,eAAO,MAAM,iBAAiB,cAAc,CAAC;AAmB7C,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAiBT;AAGD,wBAAgB,kBAAkB,IAAI,kBAAkB,CAKvD;AAMD,wBAAgB,uBAAuB,IAAI,IAAI,CAG9C"}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UNKNOWN_CLIENT_ID = exports.ORG_AUTHORITY_OBSERVATION_LIMIT = void 0;
4
+ exports.recordUnprovenOrgAuthority = recordUnprovenOrgAuthority;
5
+ exports.orgAuthorityCensus = orgAuthorityCensus;
6
+ exports.resetOrgAuthorityCensus = resetOrgAuthorityCensus;
7
+ exports.ORG_AUTHORITY_OBSERVATION_LIMIT = 512;
8
+ const observations = new Map();
9
+ let droppedByLimit = 0;
10
+ exports.UNKNOWN_CLIENT_ID = '<unknown>';
11
+ function keyFor(facts) {
12
+ return [
13
+ facts.clientId,
14
+ facts.tokenClass,
15
+ facts.subjectKind,
16
+ facts.delegated ? 'delegated' : 'direct',
17
+ ].join('|');
18
+ }
19
+ function recordUnprovenOrgAuthority(facts) {
20
+ const key = keyFor(facts);
21
+ const existing = observations.get(key);
22
+ if (existing) {
23
+ existing.count += 1;
24
+ return false;
25
+ }
26
+ if (observations.size >= exports.ORG_AUTHORITY_OBSERVATION_LIMIT) {
27
+ droppedByLimit += 1;
28
+ return false;
29
+ }
30
+ observations.set(key, {
31
+ ...facts,
32
+ count: 1,
33
+ firstSeenAt: new Date().toISOString(),
34
+ });
35
+ return true;
36
+ }
37
+ function orgAuthorityCensus() {
38
+ return {
39
+ observations: [...observations.values()].map((entry) => ({ ...entry })),
40
+ droppedByLimit,
41
+ };
42
+ }
43
+ function resetOrgAuthorityCensus() {
44
+ observations.clear();
45
+ droppedByLimit = 0;
46
+ }
47
+ //# sourceMappingURL=org-authority-observations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"org-authority-observations.js","sourceRoot":"","sources":["../../../src/nestjs/auth/org-authority-observations.ts"],"names":[],"mappings":";;;AAwFA,gEAmBC;AAGD,gDAKC;AAMD,0DAGC;AArFY,QAAA,+BAA+B,GAAG,GAAG,CAAC;AA0BnD,MAAM,YAAY,GAAG,IAAI,GAAG,EAA8B,CAAC;AAC3D,IAAI,cAAc,GAAG,CAAC,CAAC;AAGV,QAAA,iBAAiB,GAAG,WAAW,CAAC;AAE7C,SAAS,MAAM,CAAC,KAA8B;IAC5C,OAAO;QACL,KAAK,CAAC,QAAQ;QACd,KAAK,CAAC,UAAU;QAChB,KAAK,CAAC,WAAW;QACjB,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ;KACzC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACd,CAAC;AAUD,SAAgB,0BAA0B,CACxC,KAA8B;IAE9B,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1B,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACvC,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAC;QACpB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,YAAY,CAAC,IAAI,IAAI,uCAA+B,EAAE,CAAC;QACzD,cAAc,IAAI,CAAC,CAAC;QACpB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE;QACpB,GAAG,KAAK;QACR,KAAK,EAAE,CAAC;QACR,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACtC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC;AAGD,SAAgB,kBAAkB;IAChC,OAAO;QACL,YAAY,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;QACvE,cAAc;KACf,CAAC;AACJ,CAAC;AAMD,SAAgB,uBAAuB;IACrC,YAAY,CAAC,KAAK,EAAE,CAAC;IACrB,cAAc,GAAG,CAAC,CAAC;AACrB,CAAC"}
@@ -0,0 +1,32 @@
1
+ import type { SubjectKind, TokenClass } from '@xemahq/kernel-contracts/subject';
2
+ export declare enum OrgAuthoritySource {
3
+ OrgClaim = "org_claim",
4
+ OrgMembership = "org_membership",
5
+ NoOrgAsserted = "no_org_asserted",
6
+ ClaimMismatch = "claim_mismatch",
7
+ Unproven = "unproven_header"
8
+ }
9
+ export interface OrgAuthorityVerdict {
10
+ readonly source: OrgAuthoritySource;
11
+ readonly assertedOrgId: string;
12
+ readonly tokenOrgId?: string;
13
+ }
14
+ export declare function resolveOrgAuthority(claims: Record<string, unknown>, assertedOrgId: string): OrgAuthorityVerdict;
15
+ export declare function isOrgAuthorityProven(verdict: OrgAuthorityVerdict): boolean;
16
+ export declare function orgAuthorityRequiresProof(verdict: OrgAuthorityVerdict): boolean;
17
+ export declare enum OrgAuthorityMode {
18
+ Observe = "observe",
19
+ Enforce = "enforce"
20
+ }
21
+ export declare const ORG_AUTHORITY_MODE_ENV = "XEMA_ORG_AUTHORITY_MODE";
22
+ export declare class InvalidOrgAuthorityModeError extends Error {
23
+ constructor(value: string);
24
+ }
25
+ export declare function resolveOrgAuthorityMode(env?: NodeJS.ProcessEnv): OrgAuthorityMode;
26
+ export interface OrgAuthorityCallerFacts {
27
+ readonly clientId: string;
28
+ readonly tokenClass: TokenClass;
29
+ readonly subjectKind: SubjectKind;
30
+ readonly delegated: boolean;
31
+ }
32
+ //# sourceMappingURL=org-authority.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"org-authority.d.ts","sourceRoot":"","sources":["../../../src/nestjs/auth/org-authority.ts"],"names":[],"mappings":"AA+CA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAahF,oBAAY,kBAAkB;IAE5B,QAAQ,cAAc;IAEtB,aAAa,mBAAmB;IAKhC,aAAa,oBAAoB;IAYjC,aAAa,mBAAmB;IAKhC,QAAQ,oBAAoB;CAC7B;AAGD,MAAM,WAAW,mBAAmB;IAElC,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;IAEpC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAO/B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAYD,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,aAAa,EAAE,MAAM,GACpB,mBAAmB,CAuCrB;AAGD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAU1E;AAUD,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAUT;AAiBD,oBAAY,gBAAgB;IAE1B,OAAO,YAAY;IAEnB,OAAO,YAAY;CACpB;AAGD,eAAO,MAAM,sBAAsB,4BAA4B,CAAC;AAGhE,qBAAa,4BAA6B,SAAQ,KAAK;gBACzC,KAAK,EAAE,MAAM;CAO1B;AAYD,wBAAgB,uBAAuB,CACrC,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,gBAAgB,CAelB;AAQD,MAAM,WAAW,uBAAuB;IAEtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAElC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B"}
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InvalidOrgAuthorityModeError = exports.ORG_AUTHORITY_MODE_ENV = exports.OrgAuthorityMode = exports.OrgAuthoritySource = void 0;
4
+ exports.resolveOrgAuthority = resolveOrgAuthority;
5
+ exports.isOrgAuthorityProven = isOrgAuthorityProven;
6
+ exports.orgAuthorityRequiresProof = orgAuthorityRequiresProof;
7
+ exports.resolveOrgAuthorityMode = resolveOrgAuthorityMode;
8
+ const org_claim_1 = require("./org-claim");
9
+ const org_role_1 = require("./org-role");
10
+ var OrgAuthoritySource;
11
+ (function (OrgAuthoritySource) {
12
+ OrgAuthoritySource["OrgClaim"] = "org_claim";
13
+ OrgAuthoritySource["OrgMembership"] = "org_membership";
14
+ OrgAuthoritySource["NoOrgAsserted"] = "no_org_asserted";
15
+ OrgAuthoritySource["ClaimMismatch"] = "claim_mismatch";
16
+ OrgAuthoritySource["Unproven"] = "unproven_header";
17
+ })(OrgAuthoritySource || (exports.OrgAuthoritySource = OrgAuthoritySource = {}));
18
+ function resolveOrgAuthority(claims, assertedOrgId) {
19
+ const asserted = assertedOrgId.trim();
20
+ if (asserted.length === 0) {
21
+ return {
22
+ source: OrgAuthoritySource.NoOrgAsserted,
23
+ assertedOrgId: '',
24
+ };
25
+ }
26
+ const claim = (0, org_claim_1.resolveOrgClaim)(claims);
27
+ if (claim) {
28
+ return claim.value.toLowerCase() === asserted.toLowerCase()
29
+ ? {
30
+ source: OrgAuthoritySource.OrgClaim,
31
+ assertedOrgId: asserted,
32
+ tokenOrgId: claim.value,
33
+ }
34
+ : {
35
+ source: OrgAuthoritySource.ClaimMismatch,
36
+ assertedOrgId: asserted,
37
+ tokenOrgId: claim.value,
38
+ };
39
+ }
40
+ const orgRoles = (0, org_role_1.resolveOrgRoles)(claims);
41
+ const assertedLower = asserted.toLowerCase();
42
+ for (const memberOrgId of Object.keys(orgRoles)) {
43
+ if (memberOrgId.toLowerCase() === assertedLower) {
44
+ return {
45
+ source: OrgAuthoritySource.OrgMembership,
46
+ assertedOrgId: asserted,
47
+ };
48
+ }
49
+ }
50
+ return { source: OrgAuthoritySource.Unproven, assertedOrgId: asserted };
51
+ }
52
+ function isOrgAuthorityProven(verdict) {
53
+ switch (verdict.source) {
54
+ case OrgAuthoritySource.OrgClaim:
55
+ case OrgAuthoritySource.OrgMembership:
56
+ return true;
57
+ case OrgAuthoritySource.NoOrgAsserted:
58
+ case OrgAuthoritySource.ClaimMismatch:
59
+ case OrgAuthoritySource.Unproven:
60
+ return false;
61
+ }
62
+ }
63
+ function orgAuthorityRequiresProof(verdict) {
64
+ switch (verdict.source) {
65
+ case OrgAuthoritySource.Unproven:
66
+ return true;
67
+ case OrgAuthoritySource.OrgClaim:
68
+ case OrgAuthoritySource.OrgMembership:
69
+ case OrgAuthoritySource.NoOrgAsserted:
70
+ case OrgAuthoritySource.ClaimMismatch:
71
+ return false;
72
+ }
73
+ }
74
+ var OrgAuthorityMode;
75
+ (function (OrgAuthorityMode) {
76
+ OrgAuthorityMode["Observe"] = "observe";
77
+ OrgAuthorityMode["Enforce"] = "enforce";
78
+ })(OrgAuthorityMode || (exports.OrgAuthorityMode = OrgAuthorityMode = {}));
79
+ exports.ORG_AUTHORITY_MODE_ENV = 'XEMA_ORG_AUTHORITY_MODE';
80
+ class InvalidOrgAuthorityModeError extends Error {
81
+ constructor(value) {
82
+ super(`${exports.ORG_AUTHORITY_MODE_ENV}="${value}" is not a valid org-authority mode. ` +
83
+ `Expected one of: ${Object.values(OrgAuthorityMode).join(', ')}. ` +
84
+ `Leave it unset for "${OrgAuthorityMode.Observe}".`);
85
+ }
86
+ }
87
+ exports.InvalidOrgAuthorityModeError = InvalidOrgAuthorityModeError;
88
+ function resolveOrgAuthorityMode(env = process.env) {
89
+ const raw = env[exports.ORG_AUTHORITY_MODE_ENV];
90
+ if (raw === undefined || raw.trim().length === 0) {
91
+ return OrgAuthorityMode.Observe;
92
+ }
93
+ const normalized = raw.trim().toLowerCase();
94
+ const matched = Object.values(OrgAuthorityMode).includes(normalized)
95
+ ? normalized
96
+ : undefined;
97
+ if (!matched) {
98
+ throw new InvalidOrgAuthorityModeError(raw);
99
+ }
100
+ return matched;
101
+ }
102
+ //# sourceMappingURL=org-authority.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"org-authority.js","sourceRoot":"","sources":["../../../src/nestjs/auth/org-authority.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export declare enum OrgClaimKey {
2
+ Canonical = "xema_org_id"
3
+ }
4
+ export declare const ORG_CLAIM_KEYS: readonly OrgClaimKey[];
5
+ export declare enum OrgHeaderName {
6
+ Canonical = "X-Xema-Org-Id"
7
+ }
8
+ export declare function resolveOrgClaim(claims: Record<string, unknown>): {
9
+ key: OrgClaimKey;
10
+ value: string;
11
+ } | null;
12
+ //# sourceMappingURL=org-claim.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"org-claim.d.ts","sourceRoot":"","sources":["../../../src/nestjs/auth/org-claim.ts"],"names":[],"mappings":"AA8BA,oBAAY,WAAW;IAErB,SAAS,gBAAgB;CAC1B;AAOD,eAAO,MAAM,cAAc,EAAE,SAAS,WAAW,EAEvC,CAAC;AAQX,oBAAY,aAAa;IAEvB,SAAS,kBAAkB;CAC5B;AAUD,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B;IAAE,GAAG,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAQ5C"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OrgHeaderName = exports.ORG_CLAIM_KEYS = exports.OrgClaimKey = void 0;
4
+ exports.resolveOrgClaim = resolveOrgClaim;
5
+ var OrgClaimKey;
6
+ (function (OrgClaimKey) {
7
+ OrgClaimKey["Canonical"] = "xema_org_id";
8
+ })(OrgClaimKey || (exports.OrgClaimKey = OrgClaimKey = {}));
9
+ exports.ORG_CLAIM_KEYS = [
10
+ OrgClaimKey.Canonical,
11
+ ];
12
+ var OrgHeaderName;
13
+ (function (OrgHeaderName) {
14
+ OrgHeaderName["Canonical"] = "X-Xema-Org-Id";
15
+ })(OrgHeaderName || (exports.OrgHeaderName = OrgHeaderName = {}));
16
+ function resolveOrgClaim(claims) {
17
+ for (const key of exports.ORG_CLAIM_KEYS) {
18
+ const raw = claims[key];
19
+ if (typeof raw === 'string' && raw.length > 0) {
20
+ return { key, value: raw };
21
+ }
22
+ }
23
+ return null;
24
+ }
25
+ //# sourceMappingURL=org-claim.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"org-claim.js","sourceRoot":"","sources":["../../../src/nestjs/auth/org-claim.ts"],"names":[],"mappings":";;;AA+DA,0CAUC;AA3CD,IAAY,WAGX;AAHD,WAAY,WAAW;IAErB,wCAAyB,CAAA;AAC3B,CAAC,EAHW,WAAW,2BAAX,WAAW,QAGtB;AAOY,QAAA,cAAc,GAA2B;IACpD,WAAW,CAAC,SAAS;CACb,CAAC;AAQX,IAAY,aAGX;AAHD,WAAY,aAAa;IAEvB,4CAA2B,CAAA;AAC7B,CAAC,EAHW,aAAa,6BAAb,aAAa,QAGxB;AAUD,SAAgB,eAAe,CAC7B,MAA+B;IAE/B,KAAK,MAAM,GAAG,IAAI,sBAAc,EAAE,CAAC;QACjC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,13 @@
1
+ export declare enum OrgRolesClaimKey {
2
+ Canonical = "org_roles"
3
+ }
4
+ export declare const ORG_ROLES_CLAIM_KEYS: readonly OrgRolesClaimKey[];
5
+ export declare enum OrgRole {
6
+ Owner = "org_owner",
7
+ Admin = "org_admin",
8
+ Member = "org_member"
9
+ }
10
+ export declare function resolveOrgRoles(claims: Record<string, unknown>): Record<string, OrgRole>;
11
+ export declare function resolveOrgRoleForOrg(claims: Record<string, unknown>, orgId: string): OrgRole | null;
12
+ export declare function orgRoleSatisfies(actual: OrgRole | null | undefined, required: OrgRole): boolean;
13
+ //# sourceMappingURL=org-role.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"org-role.d.ts","sourceRoot":"","sources":["../../../src/nestjs/auth/org-role.ts"],"names":[],"mappings":"AAoCA,oBAAY,gBAAgB;IAE1B,SAAS,cAAc;CACxB;AAED,eAAO,MAAM,oBAAoB,EAAE,SAAS,gBAAgB,EAElD,CAAC;AASX,oBAAY,OAAO;IACjB,KAAK,cAAc;IACnB,KAAK,cAAc;IACnB,MAAM,eAAe;CACtB;AA2BD,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAazB;AAMD,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,KAAK,EAAE,MAAM,GACZ,OAAO,GAAG,IAAI,CAGhB;AAOD,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,EAClC,QAAQ,EAAE,OAAO,GAChB,OAAO,CAGT"}
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OrgRole = exports.ORG_ROLES_CLAIM_KEYS = exports.OrgRolesClaimKey = void 0;
4
+ exports.resolveOrgRoles = resolveOrgRoles;
5
+ exports.resolveOrgRoleForOrg = resolveOrgRoleForOrg;
6
+ exports.orgRoleSatisfies = orgRoleSatisfies;
7
+ var OrgRolesClaimKey;
8
+ (function (OrgRolesClaimKey) {
9
+ OrgRolesClaimKey["Canonical"] = "org_roles";
10
+ })(OrgRolesClaimKey || (exports.OrgRolesClaimKey = OrgRolesClaimKey = {}));
11
+ exports.ORG_ROLES_CLAIM_KEYS = [
12
+ OrgRolesClaimKey.Canonical,
13
+ ];
14
+ var OrgRole;
15
+ (function (OrgRole) {
16
+ OrgRole["Owner"] = "org_owner";
17
+ OrgRole["Admin"] = "org_admin";
18
+ OrgRole["Member"] = "org_member";
19
+ })(OrgRole || (exports.OrgRole = OrgRole = {}));
20
+ const ORG_ROLE_RANK = {
21
+ [OrgRole.Owner]: 3,
22
+ [OrgRole.Admin]: 2,
23
+ [OrgRole.Member]: 1,
24
+ };
25
+ function isOrgRole(value) {
26
+ return (typeof value === 'string' &&
27
+ Object.values(OrgRole).includes(value));
28
+ }
29
+ function resolveOrgRoles(claims) {
30
+ for (const key of exports.ORG_ROLES_CLAIM_KEYS) {
31
+ const parsed = coerceClaimObject(claims[key]);
32
+ if (!parsed)
33
+ continue;
34
+ const out = {};
35
+ for (const [orgId, role] of Object.entries(parsed)) {
36
+ if (orgId.length > 0 && isOrgRole(role)) {
37
+ out[orgId] = role;
38
+ }
39
+ }
40
+ return out;
41
+ }
42
+ return {};
43
+ }
44
+ function resolveOrgRoleForOrg(claims, orgId) {
45
+ if (!orgId)
46
+ return null;
47
+ return resolveOrgRoles(claims)[orgId] ?? null;
48
+ }
49
+ function orgRoleSatisfies(actual, required) {
50
+ if (!actual)
51
+ return false;
52
+ return ORG_ROLE_RANK[actual] >= ORG_ROLE_RANK[required];
53
+ }
54
+ function coerceClaimObject(raw) {
55
+ let value = raw;
56
+ if (Array.isArray(value)) {
57
+ value = value.length === 1 ? value[0] : undefined;
58
+ }
59
+ if (typeof value === 'string') {
60
+ const trimmed = value.trim();
61
+ if (trimmed.length === 0)
62
+ return null;
63
+ try {
64
+ value = JSON.parse(trimmed);
65
+ }
66
+ catch {
67
+ return null;
68
+ }
69
+ }
70
+ if (value && typeof value === 'object' && !Array.isArray(value)) {
71
+ return value;
72
+ }
73
+ return null;
74
+ }
75
+ //# sourceMappingURL=org-role.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"org-role.js","sourceRoot":"","sources":["../../../src/nestjs/auth/org-role.ts"],"names":[],"mappings":"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"}