@xemahq/platform-common 0.14.0 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/nestjs/connector-webhooks/connector-webhook-envelope.dto.d.ts +1 -0
- package/dist/nestjs/connector-webhooks/connector-webhook-envelope.dto.d.ts.map +1 -1
- package/dist/nestjs/connector-webhooks/connector-webhook-envelope.dto.js +17 -0
- package/dist/nestjs/connector-webhooks/connector-webhook-envelope.dto.js.map +1 -1
- package/package.json +2 -2
- package/dist/lib/advisory-lock.d.ts +0 -10
- package/dist/lib/advisory-lock.d.ts.map +0 -1
- package/dist/lib/advisory-lock.js +0 -32
- package/dist/lib/advisory-lock.js.map +0 -1
- package/dist/lib/biome-database.d.ts +0 -14
- package/dist/lib/biome-database.d.ts.map +0 -1
- package/dist/lib/biome-database.js +0 -88
- package/dist/lib/biome-database.js.map +0 -1
- package/dist/lib/llm-stream/anthropic-adapter.d.ts +0 -25
- package/dist/lib/llm-stream/anthropic-adapter.d.ts.map +0 -1
- package/dist/lib/llm-stream/anthropic-adapter.js +0 -278
- package/dist/lib/llm-stream/anthropic-adapter.js.map +0 -1
- package/dist/lib/redaction/redaction.interceptor.d.ts +0 -11
- package/dist/lib/redaction/redaction.interceptor.d.ts.map +0 -1
- package/dist/lib/redaction/redaction.interceptor.js +0 -41
- package/dist/lib/redaction/redaction.interceptor.js.map +0 -1
- package/dist/lib/redaction/redaction.service.d.ts +0 -9
- package/dist/lib/redaction/redaction.service.d.ts.map +0 -1
- package/dist/lib/redaction/redaction.service.js +0 -110
- package/dist/lib/redaction/redaction.service.js.map +0 -1
- package/dist/lib/to-prisma-json.d.ts +0 -6
- package/dist/lib/to-prisma-json.d.ts.map +0 -1
- package/dist/lib/to-prisma-json.js +0 -12
- package/dist/lib/to-prisma-json.js.map +0 -1
- package/dist/lib/tool-usage-counter.d.ts +0 -20
- package/dist/lib/tool-usage-counter.d.ts.map +0 -1
- package/dist/lib/tool-usage-counter.js +0 -50
- package/dist/lib/tool-usage-counter.js.map +0 -1
- package/dist/lib/write-policy.d.ts +0 -30
- package/dist/lib/write-policy.d.ts.map +0 -1
- package/dist/lib/write-policy.js +0 -54
- package/dist/lib/write-policy.js.map +0 -1
- package/dist/nestjs/auth/org-authority-observations.d.ts +0 -15
- package/dist/nestjs/auth/org-authority-observations.d.ts.map +0 -1
- package/dist/nestjs/auth/org-authority-observations.js +0 -47
- package/dist/nestjs/auth/org-authority-observations.js.map +0 -1
- package/dist/nestjs/auth/org-authority.d.ts +0 -32
- package/dist/nestjs/auth/org-authority.d.ts.map +0 -1
- package/dist/nestjs/auth/org-authority.js +0 -102
- package/dist/nestjs/auth/org-authority.js.map +0 -1
- package/dist/nestjs/auth/org-claim.d.ts +0 -12
- package/dist/nestjs/auth/org-claim.d.ts.map +0 -1
- package/dist/nestjs/auth/org-claim.js +0 -25
- package/dist/nestjs/auth/org-claim.js.map +0 -1
- package/dist/nestjs/auth/org-role.d.ts +0 -13
- package/dist/nestjs/auth/org-role.d.ts.map +0 -1
- package/dist/nestjs/auth/org-role.js +0 -75
- package/dist/nestjs/auth/org-role.js.map +0 -1
- package/dist/nestjs/idempotency/prisma-idempotency.service.d.ts +0 -20
- package/dist/nestjs/idempotency/prisma-idempotency.service.d.ts.map +0 -1
- package/dist/nestjs/idempotency/prisma-idempotency.service.js +0 -58
- package/dist/nestjs/idempotency/prisma-idempotency.service.js.map +0 -1
|
@@ -1,25 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,13 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,75 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"org-role.js","sourceRoot":"","sources":["../../../src/nestjs/auth/org-role.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { IDEMPOTENCY_RECORD_PRISMA_MODEL, type IdempotencyOutcome, type IdempotencyService } from './idempotency.service';
|
|
2
|
-
export interface IdempotencyPrismaDelegate {
|
|
3
|
-
create(args: {
|
|
4
|
-
data: {
|
|
5
|
-
consumerName: string;
|
|
6
|
-
cloudEventId: string;
|
|
7
|
-
};
|
|
8
|
-
}): Promise<unknown>;
|
|
9
|
-
}
|
|
10
|
-
export interface IdempotencyPrismaClient {
|
|
11
|
-
readonly idempotencyRecord: IdempotencyPrismaDelegate;
|
|
12
|
-
}
|
|
13
|
-
export declare const IDEMPOTENCY_PRISMA_CLIENT: unique symbol;
|
|
14
|
-
export declare class PrismaIdempotencyService implements IdempotencyService {
|
|
15
|
-
private readonly prisma;
|
|
16
|
-
constructor(prisma: IdempotencyPrismaClient);
|
|
17
|
-
mark(consumerName: string, cloudEventId: string): Promise<IdempotencyOutcome>;
|
|
18
|
-
}
|
|
19
|
-
export { IDEMPOTENCY_RECORD_PRISMA_MODEL };
|
|
20
|
-
//# sourceMappingURL=prisma-idempotency.service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prisma-idempotency.service.d.ts","sourceRoot":"","sources":["../../../src/nestjs/idempotency/prisma-idempotency.service.ts"],"names":[],"mappings":"AACA,OAAO,EACL,+BAA+B,EAC/B,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACxB,MAAM,uBAAuB,CAAC;AAY/B,MAAM,WAAW,yBAAyB;IACxC,MAAM,CAAC,IAAI,EAAE;QACX,IAAI,EAAE;YAAE,YAAY,EAAE,MAAM,CAAC;YAAC,YAAY,EAAE,MAAM,CAAA;SAAE,CAAC;KACtD,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACtB;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,iBAAiB,EAAE,yBAAyB,CAAC;CACvD;AAGD,eAAO,MAAM,yBAAyB,eAErC,CAAC;AAWF,qBACa,wBAAyB,YAAW,kBAAkB;IAG/D,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,uBAAuB;IAG5C,IAAI,CACR,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,kBAAkB,CAAC;CAmB/B;AASD,OAAO,EAAE,+BAA+B,EAAE,CAAC"}
|
|
@@ -1,58 +0,0 @@
|
|
|
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 __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
-
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.IDEMPOTENCY_RECORD_PRISMA_MODEL = exports.PrismaIdempotencyService = exports.IDEMPOTENCY_PRISMA_CLIENT = void 0;
|
|
16
|
-
const common_1 = require("@nestjs/common");
|
|
17
|
-
const idempotency_service_1 = require("./idempotency.service");
|
|
18
|
-
Object.defineProperty(exports, "IDEMPOTENCY_RECORD_PRISMA_MODEL", { enumerable: true, get: function () { return idempotency_service_1.IDEMPOTENCY_RECORD_PRISMA_MODEL; } });
|
|
19
|
-
exports.IDEMPOTENCY_PRISMA_CLIENT = Symbol('IDEMPOTENCY_PRISMA_CLIENT');
|
|
20
|
-
let PrismaIdempotencyService = class PrismaIdempotencyService {
|
|
21
|
-
prisma;
|
|
22
|
-
constructor(prisma) {
|
|
23
|
-
this.prisma = prisma;
|
|
24
|
-
}
|
|
25
|
-
async mark(consumerName, cloudEventId) {
|
|
26
|
-
if (!consumerName) {
|
|
27
|
-
throw new Error('PrismaIdempotencyService.mark: consumerName is required');
|
|
28
|
-
}
|
|
29
|
-
if (!cloudEventId) {
|
|
30
|
-
throw new Error('PrismaIdempotencyService.mark: cloudEventId is required');
|
|
31
|
-
}
|
|
32
|
-
try {
|
|
33
|
-
await this.prisma.idempotencyRecord.create({
|
|
34
|
-
data: { consumerName, cloudEventId },
|
|
35
|
-
});
|
|
36
|
-
return 'fresh';
|
|
37
|
-
}
|
|
38
|
-
catch (err) {
|
|
39
|
-
if (isPrismaUniqueConstraintError(err)) {
|
|
40
|
-
return 'duplicate';
|
|
41
|
-
}
|
|
42
|
-
throw err;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
exports.PrismaIdempotencyService = PrismaIdempotencyService;
|
|
47
|
-
exports.PrismaIdempotencyService = PrismaIdempotencyService = __decorate([
|
|
48
|
-
(0, common_1.Injectable)(),
|
|
49
|
-
__param(0, (0, common_1.Inject)(exports.IDEMPOTENCY_PRISMA_CLIENT)),
|
|
50
|
-
__metadata("design:paramtypes", [Object])
|
|
51
|
-
], PrismaIdempotencyService);
|
|
52
|
-
function isPrismaUniqueConstraintError(err) {
|
|
53
|
-
if (!err || typeof err !== 'object')
|
|
54
|
-
return false;
|
|
55
|
-
const code = err.code;
|
|
56
|
-
return code === 'P2002';
|
|
57
|
-
}
|
|
58
|
-
//# sourceMappingURL=prisma-idempotency.service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prisma-idempotency.service.js","sourceRoot":"","sources":["../../../src/nestjs/idempotency/prisma-idempotency.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAoD;AACpD,+DAI+B;AA0EtB,gHA7EP,qDAA+B,OA6EO;AAnD3B,QAAA,yBAAyB,GAAG,MAAM,CAC7C,2BAA2B,CAC5B,CAAC;AAYK,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IAGhB;IAFnB,YAEmB,MAA+B;QAA/B,WAAM,GAAN,MAAM,CAAyB;IAC/C,CAAC;IAEJ,KAAK,CAAC,IAAI,CACR,YAAoB,EACpB,YAAoB;QAEpB,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC;gBACzC,IAAI,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE;aACrC,CAAC,CAAC;YACH,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,6BAA6B,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvC,OAAO,WAAW,CAAC;YACrB,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;CACF,CAAA;AA5BY,4DAAwB;mCAAxB,wBAAwB;IADpC,IAAA,mBAAU,GAAE;IAGR,WAAA,IAAA,eAAM,EAAC,iCAAyB,CAAC,CAAA;;GAFzB,wBAAwB,CA4BpC;AAED,SAAS,6BAA6B,CAAC,GAAY;IACjD,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAClD,MAAM,IAAI,GAAI,GAA0B,CAAC,IAAI,CAAC;IAC9C,OAAO,IAAI,KAAK,OAAO,CAAC;AAC1B,CAAC"}
|