@kozou/api 1.1.1 → 1.3.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/auth.d.ts +7 -0
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +19 -1
- package/dist/auth.js.map +1 -1
- package/package.json +3 -3
package/dist/auth.d.ts
CHANGED
|
@@ -58,6 +58,13 @@ export type ServiceTokenOptions = {
|
|
|
58
58
|
issuer?: string;
|
|
59
59
|
/** `aud` to set; required when the verifier expects a matching audience. */
|
|
60
60
|
audience?: string | string[];
|
|
61
|
+
/** Extra claims merged into the payload (flat, shallow) — for RLS
|
|
62
|
+
* policies that read `request.jwt.claims` beyond the role, e.g. a
|
|
63
|
+
* tenant id. The role claim is always controlled by `role`/`roleClaim`
|
|
64
|
+
* (a colliding key here is dropped, even when no role is set); `iat`
|
|
65
|
+
* is always set by the mint; `iss`/`aud` win when `issuer`/`audience`
|
|
66
|
+
* are given. */
|
|
67
|
+
claims?: Record<string, unknown>;
|
|
61
68
|
};
|
|
62
69
|
/**
|
|
63
70
|
* Mint an HS256 service token for a trusted same-host caller — the bundled
|
package/dist/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AASA,OAAO,EAOL,KAAK,UAAU,EAGhB,MAAM,MAAM,CAAC;AAGd,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,OAAO,CAAC;AAE7C,MAAM,MAAM,UAAU,GAAG;IACvB,GAAG,EAAE;QACH,oFAAoF;QACpF,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,4EAA4E;QAC5E,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB;;0FAEkF;QAClF,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,2EAA2E;QAC3E,UAAU,CAAC,EAAE,YAAY,EAAE,CAAC;QAC5B,wDAAwD;QACxD,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,wDAAwD;QACxD,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;KAC9B,CAAC;IACF,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,sDAAsD;IACtD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;sEAIkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oFAAoF;IACpF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,CAAC;AAE/D,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB;gFAC4E;IAC5E,YAAY,CAAC,mBAAmB,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CAC7E,CAAC;
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AASA,OAAO,EAOL,KAAK,UAAU,EAGhB,MAAM,MAAM,CAAC;AAGd,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,OAAO,CAAC;AAE7C,MAAM,MAAM,UAAU,GAAG;IACvB,GAAG,EAAE;QACH,oFAAoF;QACpF,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,4EAA4E;QAC5E,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB;;0FAEkF;QAClF,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,2EAA2E;QAC3E,UAAU,CAAC,EAAE,YAAY,EAAE,CAAC;QAC5B,wDAAwD;QACxD,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,wDAAwD;QACxD,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;KAC9B,CAAC;IACF,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,sDAAsD;IACtD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;sEAIkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oFAAoF;IACpF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,CAAC;AAE/D,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB;gFAC4E;IAC5E,YAAY,CAAC,mBAAmB,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CAC7E,CAAC;AAiBF;0DAC0D;AAC1D,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,UAAU,GAAG,aAAa,CA2DrE;AAsCD,MAAM,MAAM,mBAAmB,GAAG;IAChC,0EAA0E;IAC1E,MAAM,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;oDACgD;IAChD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0EAA0E;IAC1E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC7B;;;;;qBAKiB;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,CAmBjF"}
|
package/dist/auth.js
CHANGED
|
@@ -8,6 +8,17 @@
|
|
|
8
8
|
// No node:http and no pg here, so this unit-tests with a signed token alone.
|
|
9
9
|
import { importSPKI, importJWK, jwtVerify, createRemoteJWKSet, SignJWT, errors as joseErrors, } from 'jose';
|
|
10
10
|
import { unauthorized, forbidden } from './errors.js';
|
|
11
|
+
// Registered JWT claims with temporal / issuer semantics the verifier (and
|
|
12
|
+
// the service-token mint) actively control. Naming one of these as the role
|
|
13
|
+
// claim cannot work — the role value would be validated as a timestamp or
|
|
14
|
+
// overridden by the mint — so it fails fast instead of failing per request.
|
|
15
|
+
const RESERVED_ROLE_CLAIMS = new Set(['exp', 'nbf', 'iat', 'iss', 'aud']);
|
|
16
|
+
function assertUsableRoleClaim(roleClaim, context) {
|
|
17
|
+
if (RESERVED_ROLE_CLAIMS.has(roleClaim)) {
|
|
18
|
+
throw new Error(`${context}: roleClaim "${roleClaim}" is a registered JWT claim ` +
|
|
19
|
+
'("exp", "nbf", "iat", "iss", "aud") and cannot carry the role.');
|
|
20
|
+
}
|
|
21
|
+
}
|
|
11
22
|
/** Validate config (throws a plain Error at startup on misconfiguration),
|
|
12
23
|
* import the key once, and return a verifier closure. */
|
|
13
24
|
export function createAuthenticator(config) {
|
|
@@ -21,6 +32,7 @@ export function createAuthenticator(config) {
|
|
|
21
32
|
}
|
|
22
33
|
const algorithms = jwt.algorithms ?? (hasSecret ? ['HS256'] : ['RS256']);
|
|
23
34
|
const roleClaim = config.roleClaim ?? 'role';
|
|
35
|
+
assertUsableRoleClaim(roleClaim, '@kozou/api auth');
|
|
24
36
|
const claimsGuc = config.claimsGuc ?? 'request.jwt.claims';
|
|
25
37
|
const verifyOptions = { algorithms };
|
|
26
38
|
if (jwt.issuer !== undefined)
|
|
@@ -114,7 +126,13 @@ export async function signServiceToken(opts) {
|
|
|
114
126
|
throw new Error('@kozou/api signServiceToken: a non-empty HS256 secret is required.');
|
|
115
127
|
}
|
|
116
128
|
const roleClaim = opts.roleClaim ?? 'role';
|
|
117
|
-
|
|
129
|
+
assertUsableRoleClaim(roleClaim, '@kozou/api signServiceToken');
|
|
130
|
+
// Extra claims first, so the explicit settings below always win. The
|
|
131
|
+
// role claim is reserved unconditionally: dropping a colliding key even
|
|
132
|
+
// when no `role` is set keeps the role decision in `role`/`defaultRole`
|
|
133
|
+
// (a claims entry must not smuggle one in).
|
|
134
|
+
const payload = { ...(opts.claims ?? {}) };
|
|
135
|
+
delete payload[roleClaim];
|
|
118
136
|
if (typeof opts.role === 'string' && opts.role.length > 0) {
|
|
119
137
|
payload[roleClaim] = opts.role;
|
|
120
138
|
}
|
package/dist/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,yEAAyE;AACzE,4EAA4E;AAC5E,4EAA4E;AAC5E,2EAA2E;AAC3E,6EAA6E;AAC7E,EAAE;AACF,6EAA6E;AAE7E,OAAO,EACL,UAAU,EACV,SAAS,EACT,SAAS,EACT,kBAAkB,EAClB,OAAO,EACP,MAAM,IAAI,UAAU,GAIrB,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AA+CtD,2EAA2E;AAC3E,4EAA4E;AAC5E,0EAA0E;AAC1E,4EAA4E;AAC5E,MAAM,oBAAoB,GAAwB,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AAE/F,SAAS,qBAAqB,CAAC,SAAiB,EAAE,OAAe;IAC/D,IAAI,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CACb,GAAG,OAAO,gBAAgB,SAAS,8BAA8B;YAC/D,gEAAgE,CACnE,CAAC;IACJ,CAAC;AACH,CAAC;AAED;0DAC0D;AAC1D,MAAM,UAAU,mBAAmB,CAAC,MAAkB;IACpD,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IACvB,MAAM,SAAS,GAAG,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IAC1E,MAAM,YAAY,GAAG,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IACnF,MAAM,UAAU,GAAG,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7E,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvE,MAAM,IAAI,KAAK,CACb,gEAAgE;YAC9D,sDAAsD,CACzD,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACzE,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC;IAC7C,qBAAqB,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,oBAAoB,CAAC;IAE3D,MAAM,aAAa,GAAqB,EAAE,UAAU,EAAE,CAAC;IACvD,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS;QAAE,aAAa,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;IAChE,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS;QAAE,aAAa,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;IAEtE,6EAA6E;IAC7E,8EAA8E;IAC9E,kEAAkE;IAClE,MAAM,MAAM,GAA6B,UAAU;QACjD,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,OAAiB,CAAC,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC,SAAS;YACR,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACvD,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,SAAmB,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CACrE,CAAC,IAAI,CAAC,CAAC,GAAG,EAAmB,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAEjE,OAAO;QACL,SAAS;QACT,SAAS;QACT,KAAK,CAAC,YAAY,CAAC,MAAM;YACvB,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;YACpC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,mEAAmE;gBACnE,gEAAgE;gBAChE,6CAA6C;gBAC7C,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;gBAC/C,CAAC;gBACD,MAAM,YAAY,CAAC,4CAA4C,CAAC,CAAC;YACnE,CAAC;YACD,IAAI,OAAmB,CAAC;YACxB,IAAI,CAAC;gBACH,CAAC,EAAE,OAAO,EAAE,GAAG,MAAM,SAAS,CAAC,KAAK,EAAE,MAAM,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;YACtE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,mEAAmE;gBACnE,mEAAmE;gBACnE,IAAI,GAAG,YAAY,UAAU,CAAC,SAAS,EAAE,CAAC;oBACxC,MAAM,YAAY,CAAC,2BAA2B,CAAC,CAAC;gBAClD,CAAC;gBACD,MAAM,GAAG,CAAC;YACZ,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,WAAW,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QAC5E,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,MAA0B;IAC/C,sEAAsE;IACtE,oDAAoD;IACpD,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC3C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAC9B,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACnC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IACzE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9C,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9C,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,SAAiB,EACjB,SAAuB;IAEvB,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;IACjC,IAAI,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACrC,OAAO,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAA4B,EAAE,SAAS,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,WAAW,CAAC,OAAmB,EAAE,SAAiB,EAAE,MAAkB;IAC7E,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACnC,MAAM,IAAI,GACR,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;IACnF,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5C,MAAM,SAAS,CAAC,kEAAkE,CAAC,CAAC;IACtF,CAAC;IACD,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7E,MAAM,SAAS,CAAC,SAAS,IAAI,qBAAqB,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAuBD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAAyB;IAC9D,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;IACxF,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC;IAC3C,qBAAqB,CAAC,SAAS,EAAE,6BAA6B,CAAC,CAAC;IAChE,qEAAqE;IACrE,wEAAwE;IACxE,wEAAwE;IACxE,4CAA4C;IAC5C,MAAM,OAAO,GAAe,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC;IACvD,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC;IAC1B,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1D,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;IACjC,CAAC;IACD,IAAI,GAAG,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,kBAAkB,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAClF,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;QAAE,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChE,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;QAAE,GAAG,GAAG,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtE,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AACzD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kozou/api",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"description": "Kozou's own REST layer: serves table CRUD / VIEW reads / OpenAPI from a SchemaContext.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -32,11 +32,11 @@
|
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"jose": "^6.2.3",
|
|
34
34
|
"pg": "^8.13.0",
|
|
35
|
-
"@kozou/core": "1.
|
|
35
|
+
"@kozou/core": "1.3.0"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"@types/pg": "^8.11.0",
|
|
39
|
-
"@kozou/introspect": "1.
|
|
39
|
+
"@kozou/introspect": "1.3.0",
|
|
40
40
|
"@kozou/test-utils": "0.0.0"
|
|
41
41
|
},
|
|
42
42
|
"scripts": {
|