@serve.zone/interfaces 19.8.0 → 20.1.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.
Files changed (44) hide show
  1. package/changelog.md +28 -0
  2. package/dist_ts/00_commitinfo_data.js +1 -1
  3. package/dist_ts/data/immutableimage.d.ts +2 -0
  4. package/dist_ts/data/immutableimage.js +1 -1
  5. package/dist_ts/data/index.d.ts +1 -0
  6. package/dist_ts/data/index.js +2 -1
  7. package/dist_ts/data/isolatedrestore.js +7 -82
  8. package/dist_ts/data/secret.d.ts +205 -0
  9. package/dist_ts/data/secret.js +469 -0
  10. package/dist_ts/data/secretbundle.d.ts +4 -0
  11. package/dist_ts/data/secretgroup.d.ts +4 -0
  12. package/dist_ts/data/service.d.ts +18 -6
  13. package/dist_ts/data/service.js +1 -1
  14. package/dist_ts/platform/index.d.ts +3 -1
  15. package/dist_ts/platform/index.js +4 -2
  16. package/dist_ts/platform/storagemigration.d.ts +346 -0
  17. package/dist_ts/platform/storagemigration.golden.d.ts +49 -0
  18. package/dist_ts/platform/storagemigration.golden.js +207 -0
  19. package/dist_ts/platform/storagemigration.js +1554 -0
  20. package/dist_ts/private/canonicaljson.d.ts +14 -0
  21. package/dist_ts/private/canonicaljson.js +154 -0
  22. package/dist_ts/requests/index.d.ts +2 -1
  23. package/dist_ts/requests/index.js +3 -2
  24. package/dist_ts/requests/secret.d.ts +198 -0
  25. package/dist_ts/requests/secret.js +2 -0
  26. package/dist_ts/runtime.d.ts +41 -0
  27. package/dist_ts/runtime.js +33 -0
  28. package/package.json +9 -2
  29. package/readme.md +162 -2
  30. package/ts/00_commitinfo_data.ts +1 -1
  31. package/ts/data/immutableimage.ts +2 -0
  32. package/ts/data/index.ts +1 -0
  33. package/ts/data/isolatedrestore.ts +12 -93
  34. package/ts/data/secret.ts +835 -0
  35. package/ts/data/secretbundle.ts +4 -0
  36. package/ts/data/secretgroup.ts +4 -0
  37. package/ts/data/service.ts +26 -6
  38. package/ts/platform/index.ts +3 -0
  39. package/ts/platform/storagemigration.golden.ts +241 -0
  40. package/ts/platform/storagemigration.ts +3082 -0
  41. package/ts/private/canonicaljson.ts +221 -0
  42. package/ts/requests/index.ts +2 -0
  43. package/ts/requests/secret.ts +256 -0
  44. package/ts/runtime.ts +80 -0
@@ -0,0 +1,14 @@
1
+ export declare const strictCanonicalJsonRules: Readonly<{
2
+ version: 1;
3
+ encoding: "utf-8";
4
+ objectKeyOrdering: "utf-16-code-unit-ascending";
5
+ arrayOrdering: "preserved-dense";
6
+ unicodeNormalization: "preserved";
7
+ numberEncoding: "safe-integer-json-no-negative-zero";
8
+ digest: "sha256-lowercase-hex";
9
+ }>;
10
+ export type TCanonicalJsonFailure = (reasonArg: string) => never;
11
+ export declare const canonicalizeStrictJson: (valueArg: unknown, failArg: TCanonicalJsonFailure, fieldNameArg?: string) => string;
12
+ export declare const createSha256Hex: (contentsArg: Uint8Array, failArg: TCanonicalJsonFailure) => Promise<string>;
13
+ export declare const createCanonicalJsonSha256Hex: (canonicalJsonArg: string, failArg: TCanonicalJsonFailure) => Promise<string>;
14
+ export declare const deepFreezeValue: <T>(valueArg: T, seenArg?: WeakSet<object>) => T;
@@ -0,0 +1,154 @@
1
+ export const strictCanonicalJsonRules = Object.freeze({
2
+ version: 1,
3
+ encoding: 'utf-8',
4
+ objectKeyOrdering: 'utf-16-code-unit-ascending',
5
+ arrayOrdering: 'preserved-dense',
6
+ unicodeNormalization: 'preserved',
7
+ numberEncoding: 'safe-integer-json-no-negative-zero',
8
+ digest: 'sha256-lowercase-hex',
9
+ });
10
+ const assertUnicodeScalarString = (valueArg, fieldNameArg, failArg) => {
11
+ for (let index = 0; index < valueArg.length; index++) {
12
+ const codeUnit = valueArg.charCodeAt(index);
13
+ if (codeUnit >= 0xd800 && codeUnit <= 0xdbff) {
14
+ const followingCodeUnit = valueArg.charCodeAt(index + 1);
15
+ if (!Number.isInteger(followingCodeUnit) ||
16
+ followingCodeUnit < 0xdc00 ||
17
+ followingCodeUnit > 0xdfff) {
18
+ failArg(`${fieldNameArg} must not contain an unpaired UTF-16 surrogate`);
19
+ }
20
+ index++;
21
+ continue;
22
+ }
23
+ if (codeUnit >= 0xdc00 && codeUnit <= 0xdfff) {
24
+ failArg(`${fieldNameArg} must not contain an unpaired UTF-16 surrogate`);
25
+ }
26
+ }
27
+ };
28
+ const readStrictRecord = (valueArg, fieldNameArg, failArg) => {
29
+ const prototype = Object.getPrototypeOf(valueArg);
30
+ if (prototype !== Object.prototype && prototype !== null) {
31
+ return failArg(`${fieldNameArg} must be a plain object`);
32
+ }
33
+ const record = valueArg;
34
+ const ownKeys = Reflect.ownKeys(record);
35
+ if (ownKeys.some((keyArg) => typeof keyArg !== 'string')) {
36
+ return failArg(`${fieldNameArg} must not contain symbol keys`);
37
+ }
38
+ for (const key of ownKeys) {
39
+ const descriptor = Object.getOwnPropertyDescriptor(record, key);
40
+ if (!descriptor ||
41
+ !descriptor.enumerable ||
42
+ !Object.hasOwn(descriptor, 'value')) {
43
+ return failArg(`${fieldNameArg} must contain enumerable data properties only`);
44
+ }
45
+ }
46
+ return record;
47
+ };
48
+ const readStrictArray = (valueArg, fieldNameArg, failArg) => {
49
+ if (Object.getPrototypeOf(valueArg) !== Array.prototype) {
50
+ return failArg(`${fieldNameArg} must be a dense plain array`);
51
+ }
52
+ for (let index = 0; index < valueArg.length; index++) {
53
+ if (!Object.hasOwn(valueArg, index)) {
54
+ return failArg(`${fieldNameArg} must not contain sparse entries`);
55
+ }
56
+ const descriptor = Object.getOwnPropertyDescriptor(valueArg, String(index));
57
+ if (!descriptor ||
58
+ !descriptor.enumerable ||
59
+ !Object.hasOwn(descriptor, 'value')) {
60
+ return failArg(`${fieldNameArg} must contain enumerable data entries only`);
61
+ }
62
+ }
63
+ for (const key of Reflect.ownKeys(valueArg)) {
64
+ if (key === 'length') {
65
+ continue;
66
+ }
67
+ if (typeof key !== 'string' ||
68
+ !/^(?:0|[1-9][0-9]*)$/.test(key) ||
69
+ Number(key) >= valueArg.length) {
70
+ return failArg(`${fieldNameArg} must not contain extra properties`);
71
+ }
72
+ }
73
+ return valueArg;
74
+ };
75
+ export const canonicalizeStrictJson = (valueArg, failArg, fieldNameArg = 'canonical JSON input') => {
76
+ const ancestors = new Set();
77
+ const visit = (currentValueArg, currentFieldNameArg) => {
78
+ if (currentValueArg === null) {
79
+ return 'null';
80
+ }
81
+ if (typeof currentValueArg === 'boolean') {
82
+ return currentValueArg ? 'true' : 'false';
83
+ }
84
+ if (typeof currentValueArg === 'string') {
85
+ assertUnicodeScalarString(currentValueArg, currentFieldNameArg, failArg);
86
+ return JSON.stringify(currentValueArg);
87
+ }
88
+ if (typeof currentValueArg === 'number') {
89
+ if (!Number.isSafeInteger(currentValueArg) ||
90
+ Object.is(currentValueArg, -0)) {
91
+ return failArg(`${currentFieldNameArg} must contain safe integers only`);
92
+ }
93
+ return String(currentValueArg);
94
+ }
95
+ if (!currentValueArg || typeof currentValueArg !== 'object') {
96
+ return failArg(`${currentFieldNameArg} contains a non-JSON value`);
97
+ }
98
+ if (ancestors.has(currentValueArg)) {
99
+ return failArg(`${currentFieldNameArg} contains a cycle`);
100
+ }
101
+ ancestors.add(currentValueArg);
102
+ try {
103
+ if (Array.isArray(currentValueArg)) {
104
+ const array = readStrictArray(currentValueArg, currentFieldNameArg, failArg);
105
+ return `[${array
106
+ .map((entryArg, indexArg) => visit(entryArg, `${currentFieldNameArg}[${indexArg}]`))
107
+ .join(',')}]`;
108
+ }
109
+ const record = readStrictRecord(currentValueArg, currentFieldNameArg, failArg);
110
+ const keys = Object.keys(record).sort((leftArg, rightArg) => {
111
+ return leftArg < rightArg ? -1 : leftArg > rightArg ? 1 : 0;
112
+ });
113
+ return `{${keys
114
+ .map((keyArg) => {
115
+ assertUnicodeScalarString(keyArg, `${currentFieldNameArg} key`, failArg);
116
+ return `${JSON.stringify(keyArg)}:${visit(record[keyArg], `${currentFieldNameArg}.${keyArg}`)}`;
117
+ })
118
+ .join(',')}}`;
119
+ }
120
+ finally {
121
+ ancestors.delete(currentValueArg);
122
+ }
123
+ };
124
+ return visit(valueArg, fieldNameArg);
125
+ };
126
+ export const createSha256Hex = async (contentsArg, failArg) => {
127
+ const subtle = globalThis.crypto?.subtle;
128
+ if (!subtle) {
129
+ return failArg('Web Crypto SHA-256 is unavailable in this runtime');
130
+ }
131
+ const digest = await subtle.digest('SHA-256', new Uint8Array(contentsArg));
132
+ return Array.from(new Uint8Array(digest), (byteArg) => byteArg.toString(16).padStart(2, '0')).join('');
133
+ };
134
+ export const createCanonicalJsonSha256Hex = async (canonicalJsonArg, failArg) => {
135
+ return createSha256Hex(new TextEncoder().encode(canonicalJsonArg), failArg);
136
+ };
137
+ export const deepFreezeValue = (valueArg, seenArg = new WeakSet()) => {
138
+ if (!valueArg || typeof valueArg !== 'object') {
139
+ return valueArg;
140
+ }
141
+ const object = valueArg;
142
+ if (ArrayBuffer.isView(object) || seenArg.has(object)) {
143
+ return valueArg;
144
+ }
145
+ seenArg.add(object);
146
+ for (const key of Reflect.ownKeys(object)) {
147
+ const descriptor = Object.getOwnPropertyDescriptor(object, key);
148
+ if (descriptor && Object.hasOwn(descriptor, 'value')) {
149
+ deepFreezeValue(descriptor.value, seenArg);
150
+ }
151
+ }
152
+ return Object.freeze(valueArg);
153
+ };
154
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fub25pY2FsanNvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzL3ByaXZhdGUvY2Fub25pY2FsanNvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQ3BELE9BQU8sRUFBRSxDQUFVO0lBQ25CLFFBQVEsRUFBRSxPQUFnQjtJQUMxQixpQkFBaUIsRUFBRSw0QkFBcUM7SUFDeEQsYUFBYSxFQUFFLGlCQUEwQjtJQUN6QyxvQkFBb0IsRUFBRSxXQUFvQjtJQUMxQyxjQUFjLEVBQUUsb0NBQTZDO0lBQzdELE1BQU0sRUFBRSxzQkFBK0I7Q0FDeEMsQ0FBQyxDQUFDO0FBSUgsTUFBTSx5QkFBeUIsR0FBRyxDQUNoQyxRQUFnQixFQUNoQixZQUFvQixFQUNwQixPQUE4QixFQUN4QixFQUFFO0lBQ1IsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLFFBQVEsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztRQUNyRCxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVDLElBQUksUUFBUSxJQUFJLE1BQU0sSUFBSSxRQUFRLElBQUksTUFBTSxFQUFFLENBQUM7WUFDN0MsTUFBTSxpQkFBaUIsR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztZQUN6RCxJQUNFLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQztnQkFDcEMsaUJBQWlCLEdBQUcsTUFBTTtnQkFDMUIsaUJBQWlCLEdBQUcsTUFBTSxFQUMxQixDQUFDO2dCQUNELE9BQU8sQ0FBQyxHQUFHLFlBQVksZ0RBQWdELENBQUMsQ0FBQztZQUMzRSxDQUFDO1lBQ0QsS0FBSyxFQUFFLENBQUM7WUFDUixTQUFTO1FBQ1gsQ0FBQztRQUNELElBQUks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
@@ -23,6 +23,7 @@ import * as networkRequests from './network.js';
23
23
  import * as nodeRequests from './node.js';
24
24
  import * as platformRequests from './platform.js';
25
25
  import * as routingRequests from './routing.js';
26
+ import * as secretRequests from './secret.js';
26
27
  import * as secretBundleRequests from './secretbundle.js';
27
28
  import * as secretGroupRequests from './secretgroup.js';
28
29
  import * as serverRequests from './server.js';
@@ -32,7 +33,7 @@ import * as statusRequests from './status.js';
32
33
  import * as taskRequests from './task.js';
33
34
  import * as versionRequests from './version.js';
34
35
  import * as webPushRequests from './webpush.js';
35
- export { adminRequests as admin, appStoreRequests as appstore, baremetalRequests as baremetal, baseOsRequests as baseos, backupRequests as backup, certificateRequests as certificate, clusterRequests as cluster, configRequests as config, corestoreRequests as corestore, deploymentRequests as deployment, dnsRequests as dns, domainRequests as domain, externalRegistryRequests as externalRegistry, gatewayRequests as gateway, hostedAppRequests as hostedapp, identityRequests as identity, imageRequests as image, informRequests as inform, logRequests as log, mailRequests as mail, migrationRequests as migration, networkRequests as network, nodeRequests as node, platformRequests as platform, routingRequests as routing, secretBundleRequests as secretbundle, secretGroupRequests as secretgroup, serverRequests as server, serviceRequests as service, settingsRequests as settings, statusRequests as status, taskRequests as task, versionRequests as version, webPushRequests as webpush, };
36
+ export { adminRequests as admin, appStoreRequests as appstore, baremetalRequests as baremetal, baseOsRequests as baseos, backupRequests as backup, certificateRequests as certificate, clusterRequests as cluster, configRequests as config, corestoreRequests as corestore, deploymentRequests as deployment, dnsRequests as dns, domainRequests as domain, externalRegistryRequests as externalRegistry, gatewayRequests as gateway, hostedAppRequests as hostedapp, identityRequests as identity, imageRequests as image, informRequests as inform, logRequests as log, mailRequests as mail, migrationRequests as migration, networkRequests as network, nodeRequests as node, platformRequests as platform, routingRequests as routing, secretRequests as secret, secretBundleRequests as secretbundle, secretGroupRequests as secretgroup, serverRequests as server, serviceRequests as service, settingsRequests as settings, statusRequests as status, taskRequests as task, versionRequests as version, webPushRequests as webpush, };
36
37
  export * from './inform.js';
37
38
  export * from './hostedapp.js';
38
39
  export * from './mail.js';
@@ -24,6 +24,7 @@ import * as networkRequests from './network.js';
24
24
  import * as nodeRequests from './node.js';
25
25
  import * as platformRequests from './platform.js';
26
26
  import * as routingRequests from './routing.js';
27
+ import * as secretRequests from './secret.js';
27
28
  import * as secretBundleRequests from './secretbundle.js';
28
29
  import * as secretGroupRequests from './secretgroup.js';
29
30
  import * as serverRequests from './server.js';
@@ -33,9 +34,9 @@ import * as statusRequests from './status.js';
33
34
  import * as taskRequests from './task.js';
34
35
  import * as versionRequests from './version.js';
35
36
  import * as webPushRequests from './webpush.js';
36
- export { adminRequests as admin, appStoreRequests as appstore, baremetalRequests as baremetal, baseOsRequests as baseos, backupRequests as backup, certificateRequests as certificate, clusterRequests as cluster, configRequests as config, corestoreRequests as corestore, deploymentRequests as deployment, dnsRequests as dns, domainRequests as domain, externalRegistryRequests as externalRegistry, gatewayRequests as gateway, hostedAppRequests as hostedapp, identityRequests as identity, imageRequests as image, informRequests as inform, logRequests as log, mailRequests as mail, migrationRequests as migration, networkRequests as network, nodeRequests as node, platformRequests as platform, routingRequests as routing, secretBundleRequests as secretbundle, secretGroupRequests as secretgroup, serverRequests as server, serviceRequests as service, settingsRequests as settings, statusRequests as status, taskRequests as task, versionRequests as version, webPushRequests as webpush, };
37
+ export { adminRequests as admin, appStoreRequests as appstore, baremetalRequests as baremetal, baseOsRequests as baseos, backupRequests as backup, certificateRequests as certificate, clusterRequests as cluster, configRequests as config, corestoreRequests as corestore, deploymentRequests as deployment, dnsRequests as dns, domainRequests as domain, externalRegistryRequests as externalRegistry, gatewayRequests as gateway, hostedAppRequests as hostedapp, identityRequests as identity, imageRequests as image, informRequests as inform, logRequests as log, mailRequests as mail, migrationRequests as migration, networkRequests as network, nodeRequests as node, platformRequests as platform, routingRequests as routing, secretRequests as secret, secretBundleRequests as secretbundle, secretGroupRequests as secretgroup, serverRequests as server, serviceRequests as service, settingsRequests as settings, statusRequests as status, taskRequests as task, versionRequests as version, webPushRequests as webpush, };
37
38
  export * from './inform.js';
38
39
  export * from './hostedapp.js';
39
40
  export * from './mail.js';
40
41
  export * from './webpush.js';
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9yZXF1ZXN0cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEtBQUssYUFBYSxNQUFNLFlBQVksQ0FBQztBQUM1QyxPQUFPLEtBQUssZ0JBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sS0FBSyxpQkFBaUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRCxPQUFPLEtBQUssY0FBYyxNQUFNLGFBQWEsQ0FBQztBQUM5QyxPQUFPLEtBQUssY0FBYyxNQUFNLGFBQWEsQ0FBQztBQUM5QyxPQUFPLEtBQUssbUJBQW1CLE1BQU0sa0JBQWtCLENBQUM7QUFDeEQsT0FBTyxLQUFLLGVBQWUsTUFBTSxjQUFjLENBQUM7QUFDaEQsT0FBTyxLQUFLLGNBQWMsTUFBTSxhQUFhLENBQUM7QUFDOUMsT0FBTyxLQUFLLGlCQUFpQixNQUFNLGdCQUFnQixDQUFDO0FBQ3BELE9BQU8sS0FBSyxrQkFBa0IsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RCxPQUFPLEtBQUssV0FBVyxNQUFNLFVBQVUsQ0FBQztBQUN4QyxPQUFPLEtBQUssY0FBYyxNQUFNLGFBQWEsQ0FBQztBQUM5QyxPQUFPLEtBQUssd0JBQXdCLE1BQU0sdUJBQXVCLENBQUM7QUFDbEUsT0FBTyxLQUFLLGVBQWUsTUFBTSxjQUFjLENBQUM7QUFDaEQsT0FBTyxLQUFLLGlCQUFpQixNQUFNLGdCQUFnQixDQUFDO0FBQ3BELE9BQU8sS0FBSyxnQkFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxLQUFLLGFBQWEsTUFBTSxZQUFZLENBQUM7QUFDNUMsT0FBTyxLQUFLLGNBQWMsTUFBTSxhQUFhLENBQUM7QUFDOUMsT0FBTyxLQUFLLFdBQVcsTUFBTSxVQUFVLENBQUM7QUFDeEMsT0FBTyxLQUFLLFlBQVksTUFBTSxXQUFXLENBQUM7QUFDMUMsT0FBTyxLQUFLLGlCQUFpQixNQUFNLGdCQUFnQixDQUFDO0FBQ3BELE9BQU8sS0FBSyxlQUFlLE1BQU0sY0FBYyxDQUFDO0FBQ2hELE9BQU8sS0FBSyxZQUFZLE1BQU0sV0FBVyxDQUFDO0FBQzFDLE9BQU8sS0FBSyxnQkFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxLQUFLLGVBQWUsTUFBTSxjQUFjLENBQUM7QUFDaEQsT0FBTyxLQUFLLG9CQUFvQixNQUFNLG1CQUFtQixDQUFDO0FBQzFELE9BQU8sS0FBSyxtQkFBbUIsTUFBTSxrQkFBa0IsQ0FBQztBQUN4RCxPQUFPLEtBQUssY0FBYyxNQUFNLGFBQWEsQ0FBQztBQUM5QyxPQUFPLEtBQUssZUFBZSxNQUFNLGNBQWMsQ0FBQztBQUNoRCxPQUFPLEtBQUssZ0JBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sS0FBSyxjQUFjLE1BQU0sYUFBYSxDQUFDO0FBQzlDLE9BQU8sS0FBSyxZQUFZLE1BQU0sV0FBVyxDQUFDO0FBQzFDLE9BQU8sS0FBSyxlQUFlLE1BQU0sY0FBYyxDQUFDO0FBQ2hELE9BQU8sS0FBSyxlQUFlLE1BQU0sY0FBYyxDQUFDO0FBRWhELE9BQU8sRUFDTCxhQUFhLElBQUksS0FBSyxFQUN0QixnQkFBZ0IsSUFBSSxRQUFRLEVBQzVCLGlCQUFpQixJQUFJLFNBQVMsRUFDOUIsY0FBYyxJQUFJLE1BQU0sRUFDeEIsY0FBYyxJQUFJLE1BQU0sRUFDeEIsbUJBQW1CLElBQUksV0FBVyxFQUNsQyxlQUFlLElBQUksT0FBTyxFQUMxQixjQUFjLElBQUksTUFBTSxFQUN4QixpQkFBaUIsSUFBSSxTQUFTLEVBQzlCLGtCQUFrQixJQUFJLFVBQVUsRUFDaEMsV0FBVyxJQUFJLEdBQUcsRUFDbEIsY0FBYyxJQUFJLE1BQU0sRUFDeEIsd0JBQXdCLElBQUksZ0JBQWdCLEVBQzVDLGVBQWUsSUFBSSxPQUFPLEVBQzFCLGlCQUFpQixJQUFJLFNBQVMsRUFDOUIsZ0JBQWdCLElBQUksUUFBUSxFQUM1QixhQUFhLElBQUksS0FBSyxFQUN0QixjQUFjLElBQUksTUFBTSxFQUN4QixXQUFXLElBQUksR0FBRyxFQUNsQixZQUFZLElBQUksSUFBSSxFQUNwQixpQkFBaUIsSUFBSSxTQUFTLEVBQzlCLGVBQWUsSUFBSSxPQUFPLEVBQzFCLFlBQVksSUFBSSxJQUFJLEVBQ3BCLGdCQUFnQixJQUFJLFFBQVEsRUFDNUIsZUFBZSxJQUFJLE9BQU8sRUFDMUIsb0JBQW9CLElBQUksWUFBWSxFQUNwQyxtQkFBbUIsSUFBSSxXQUFXLEVBQ2xDLGNBQWMsSUFBSSxNQUFNLEVBQ3hCLGVBQWUsSUFBSSxPQUFPLEVBQzFCLGdCQUFnQixJQUFJLFFBQVEsRUFDNUIsY0FBYyxJQUFJLE1BQU0sRUFDeEIsWUFBWSxJQUFJLElBQUksRUFDcEIsZUFBZSxJQUFJLE9BQU8sRUFDMUIsZUFBZSxJQUFJLE9BQU8sR0FDM0IsQ0FBQztBQUVGLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxjQUFjLENBQUMifQ==
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9yZXF1ZXN0cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEtBQUssYUFBYSxNQUFNLFlBQVksQ0FBQztBQUM1QyxPQUFPLEtBQUssZ0JBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sS0FBSyxpQkFBaUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRCxPQUFPLEtBQUssY0FBYyxNQUFNLGFBQWEsQ0FBQztBQUM5QyxPQUFPLEtBQUssY0FBYyxNQUFNLGFBQWEsQ0FBQztBQUM5QyxPQUFPLEtBQUssbUJBQW1CLE1BQU0sa0JBQWtCLENBQUM7QUFDeEQsT0FBTyxLQUFLLGVBQWUsTUFBTSxjQUFjLENBQUM7QUFDaEQsT0FBTyxLQUFLLGNBQWMsTUFBTSxhQUFhLENBQUM7QUFDOUMsT0FBTyxLQUFLLGlCQUFpQixNQUFNLGdCQUFnQixDQUFDO0FBQ3BELE9BQU8sS0FBSyxrQkFBa0IsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RCxPQUFPLEtBQUssV0FBVyxNQUFNLFVBQVUsQ0FBQztBQUN4QyxPQUFPLEtBQUssY0FBYyxNQUFNLGFBQWEsQ0FBQztBQUM5QyxPQUFPLEtBQUssd0JBQXdCLE1BQU0sdUJBQXVCLENBQUM7QUFDbEUsT0FBTyxLQUFLLGVBQWUsTUFBTSxjQUFjLENBQUM7QUFDaEQsT0FBTyxLQUFLLGlCQUFpQixNQUFNLGdCQUFnQixDQUFDO0FBQ3BELE9BQU8sS0FBSyxnQkFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxLQUFLLGFBQWEsTUFBTSxZQUFZLENBQUM7QUFDNUMsT0FBTyxLQUFLLGNBQWMsTUFBTSxhQUFhLENBQUM7QUFDOUMsT0FBTyxLQUFLLFdBQVcsTUFBTSxVQUFVLENBQUM7QUFDeEMsT0FBTyxLQUFLLFlBQVksTUFBTSxXQUFXLENBQUM7QUFDMUMsT0FBTyxLQUFLLGlCQUFpQixNQUFNLGdCQUFnQixDQUFDO0FBQ3BELE9BQU8sS0FBSyxlQUFlLE1BQU0sY0FBYyxDQUFDO0FBQ2hELE9BQU8sS0FBSyxZQUFZLE1BQU0sV0FBVyxDQUFDO0FBQzFDLE9BQU8sS0FBSyxnQkFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxLQUFLLGVBQWUsTUFBTSxjQUFjLENBQUM7QUFDaEQsT0FBTyxLQUFLLGNBQWMsTUFBTSxhQUFhLENBQUM7QUFDOUMsT0FBTyxLQUFLLG9CQUFvQixNQUFNLG1CQUFtQixDQUFDO0FBQzFELE9BQU8sS0FBSyxtQkFBbUIsTUFBTSxrQkFBa0IsQ0FBQztBQUN4RCxPQUFPLEtBQUssY0FBYyxNQUFNLGFBQWEsQ0FBQztBQUM5QyxPQUFPLEtBQUssZUFBZSxNQUFNLGNBQWMsQ0FBQztBQUNoRCxPQUFPLEtBQUssZ0JBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sS0FBSyxjQUFjLE1BQU0sYUFBYSxDQUFDO0FBQzlDLE9BQU8sS0FBSyxZQUFZLE1BQU0sV0FBVyxDQUFDO0FBQzFDLE9BQU8sS0FBSyxlQUFlLE1BQU0sY0FBYyxDQUFDO0FBQ2hELE9BQU8sS0FBSyxlQUFlLE1BQU0sY0FBYyxDQUFDO0FBRWhELE9BQU8sRUFDTCxhQUFhLElBQUksS0FBSyxFQUN0QixnQkFBZ0IsSUFBSSxRQUFRLEVBQzVCLGlCQUFpQixJQUFJLFNBQVMsRUFDOUIsY0FBYyxJQUFJLE1BQU0sRUFDeEIsY0FBYyxJQUFJLE1BQU0sRUFDeEIsbUJBQW1CLElBQUksV0FBVyxFQUNsQyxlQUFlLElBQUksT0FBTyxFQUMxQixjQUFjLElBQUksTUFBTSxFQUN4QixpQkFBaUIsSUFBSSxTQUFTLEVBQzlCLGtCQUFrQixJQUFJLFVBQVUsRUFDaEMsV0FBVyxJQUFJLEdBQUcsRUFDbEIsY0FBYyxJQUFJLE1BQU0sRUFDeEIsd0JBQXdCLElBQUksZ0JBQWdCLEVBQzVDLGVBQWUsSUFBSSxPQUFPLEVBQzFCLGlCQUFpQixJQUFJLFNBQVMsRUFDOUIsZ0JBQWdCLElBQUksUUFBUSxFQUM1QixhQUFhLElBQUksS0FBSyxFQUN0QixjQUFjLElBQUksTUFBTSxFQUN4QixXQUFXLElBQUksR0FBRyxFQUNsQixZQUFZLElBQUksSUFBSSxFQUNwQixpQkFBaUIsSUFBSSxTQUFTLEVBQzlCLGVBQWUsSUFBSSxPQUFPLEVBQzFCLFlBQVksSUFBSSxJQUFJLEVBQ3BCLGdCQUFnQixJQUFJLFFBQVEsRUFDNUIsZUFBZSxJQUFJLE9BQU8sRUFDMUIsY0FBYyxJQUFJLE1BQU0sRUFDeEIsb0JBQW9CLElBQUksWUFBWSxFQUNwQyxtQkFBbUIsSUFBSSxXQUFXLEVBQ2xDLGNBQWMsSUFBSSxNQUFNLEVBQ3hCLGVBQWUsSUFBSSxPQUFPLEVBQzFCLGdCQUFnQixJQUFJLFFBQVEsRUFDNUIsY0FBYyxJQUFJLE1BQU0sRUFDeEIsWUFBWSxJQUFJLElBQUksRUFDcEIsZUFBZSxJQUFJLE9BQU8sRUFDMUIsZUFBZSxJQUFJLE9BQU8sR0FDM0IsQ0FBQztBQUVGLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxjQUFjLENBQUMifQ==
@@ -0,0 +1,198 @@
1
+ import type * as plugins from '../plugins.js';
2
+ import type { IResolvedSecretManifestEntry, ISecretMetadata, ISecretSetAttachment, ISecretSetConsumerRolloutStatus, ISecretSetMetadata, ISecretVersionMetadata, ISecretVersionRetentionReference, TSecretDelivery, TSecretEnvironment } from '../data/secret.js';
3
+ import type { IIdentityCredential } from '../data/user.js';
4
+ export type TSecretMutationTarget = {
5
+ kind: 'service';
6
+ serviceId: string;
7
+ } | {
8
+ kind: 'secret-set';
9
+ secretSetId: string;
10
+ };
11
+ export type TSecretValueInput = {
12
+ mode: 'provided';
13
+ value: string;
14
+ }
15
+ /** Server-generated runtime-only value; plaintext is never returned. */
16
+ | {
17
+ mode: 'generated';
18
+ bytes: 32 | 48 | 64;
19
+ };
20
+ export interface IReq_ListSecrets extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_ListSecrets> {
21
+ method: 'listSecrets';
22
+ request: {
23
+ identity: IIdentityCredential;
24
+ target: TSecretMutationTarget;
25
+ environment?: TSecretEnvironment;
26
+ };
27
+ response: {
28
+ secrets: ISecretMetadata[];
29
+ /** Observable CAS fence for the selected service or SecretSet. */
30
+ targetSecretsRevision: number;
31
+ };
32
+ }
33
+ export interface IReq_GetSecretMetadata extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_GetSecretMetadata> {
34
+ method: 'getSecretMetadata';
35
+ request: {
36
+ identity: IIdentityCredential;
37
+ secretId: string;
38
+ };
39
+ response: {
40
+ secret: ISecretMetadata;
41
+ versions: ISecretVersionMetadata[];
42
+ };
43
+ }
44
+ export interface IReq_CreateSecret extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_CreateSecret> {
45
+ method: 'createSecret';
46
+ request: {
47
+ identity: IIdentityCredential;
48
+ target: TSecretMutationTarget;
49
+ key: string;
50
+ environment: TSecretEnvironment;
51
+ name: string;
52
+ description?: string;
53
+ tags?: Array<{
54
+ key: string;
55
+ value: string;
56
+ }>;
57
+ delivery: TSecretDelivery;
58
+ valueInput: TSecretValueInput;
59
+ expectedTargetSecretsRevision: number;
60
+ };
61
+ response: {
62
+ secret: ISecretMetadata;
63
+ version: ISecretVersionMetadata;
64
+ /** Post-create CAS revision for the selected target. */
65
+ targetSecretsRevision: number;
66
+ };
67
+ }
68
+ export interface IReq_RotateSecret extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_RotateSecret> {
69
+ method: 'rotateSecret';
70
+ request: {
71
+ identity: IIdentityCredential;
72
+ secretId: string;
73
+ valueInput: TSecretValueInput;
74
+ expectedSecretRevision: number;
75
+ expectedActiveVersionId?: string;
76
+ };
77
+ response: {
78
+ secret: ISecretMetadata;
79
+ version: ISecretVersionMetadata;
80
+ };
81
+ }
82
+ export interface IReq_ChangeSecretLifecycle extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_ChangeSecretLifecycle> {
83
+ method: 'changeSecretLifecycle';
84
+ request: {
85
+ identity: IIdentityCredential;
86
+ secretId: string;
87
+ action: 'retire' | 'revoke' | 'delete' | 'request-purge';
88
+ expectedSecretRevision: number;
89
+ };
90
+ response: {
91
+ secret: ISecretMetadata;
92
+ };
93
+ }
94
+ export interface IReq_GetSecretVersionPurgePreflight extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_GetSecretVersionPurgePreflight> {
95
+ method: 'getSecretVersionPurgePreflight';
96
+ request: {
97
+ identity: IIdentityCredential;
98
+ secretId: string;
99
+ secretVersionId: string;
100
+ };
101
+ response: {
102
+ purgeAllowed: boolean;
103
+ references: ISecretVersionRetentionReference[];
104
+ };
105
+ }
106
+ export interface IReq_ListSecretSets extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_ListSecretSets> {
107
+ method: 'listSecretSets';
108
+ request: {
109
+ identity: IIdentityCredential;
110
+ organizationId: string;
111
+ };
112
+ response: {
113
+ secretSets: ISecretSetMetadata[];
114
+ };
115
+ }
116
+ export interface IReq_CreateSecretSet extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_CreateSecretSet> {
117
+ method: 'createSecretSet';
118
+ request: {
119
+ identity: IIdentityCredential;
120
+ organizationId: string;
121
+ name: string;
122
+ description?: string;
123
+ };
124
+ response: {
125
+ secretSet: ISecretSetMetadata;
126
+ };
127
+ }
128
+ export interface IReq_UpdateSecretSet extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_UpdateSecretSet> {
129
+ method: 'updateSecretSet';
130
+ request: {
131
+ identity: IIdentityCredential;
132
+ secretSetId: string;
133
+ name: string;
134
+ description?: string;
135
+ expectedRevision: number;
136
+ };
137
+ response: {
138
+ secretSet: ISecretSetMetadata;
139
+ };
140
+ }
141
+ export interface IReq_ChangeSecretSetLifecycle extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_ChangeSecretSetLifecycle> {
142
+ method: 'changeSecretSetLifecycle';
143
+ request: {
144
+ identity: IIdentityCredential;
145
+ secretSetId: string;
146
+ action: 'retire' | 'delete';
147
+ expectedRevision: number;
148
+ };
149
+ response: {
150
+ secretSet: ISecretSetMetadata;
151
+ };
152
+ }
153
+ export interface IReq_GetSecretSetConsumerRollout extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_GetSecretSetConsumerRollout> {
154
+ method: 'getSecretSetConsumerRollout';
155
+ request: {
156
+ identity: IIdentityCredential;
157
+ secretSetId: string;
158
+ rolloutId: string;
159
+ cursor?: string;
160
+ limit?: number;
161
+ };
162
+ response: {
163
+ consumers: ISecretSetConsumerRolloutStatus[];
164
+ nextCursor?: string;
165
+ };
166
+ }
167
+ export interface IReq_SetServiceSecretSetAttachments extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_SetServiceSecretSetAttachments> {
168
+ method: 'setServiceSecretSetAttachments';
169
+ request: {
170
+ identity: IIdentityCredential;
171
+ serviceId: string;
172
+ attachments: ISecretSetAttachment[];
173
+ expectedSecretConfigurationRevision: number;
174
+ };
175
+ response: {
176
+ attachments: ISecretSetAttachment[];
177
+ /** Post-update attachment CAS revision. */
178
+ secretConfigurationRevision: number;
179
+ };
180
+ }
181
+ export interface ISecretResolutionPreviewCollision {
182
+ environment: TSecretEnvironment;
183
+ key: string;
184
+ sourceSecretIds: string[];
185
+ reason: 'duplicate-secret-set-key' | 'duplicate-service-key' | 'invalid-alias';
186
+ }
187
+ export interface IReq_PreviewServiceSecretResolution extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_PreviewServiceSecretResolution> {
188
+ method: 'previewServiceSecretResolution';
189
+ request: {
190
+ identity: IIdentityCredential;
191
+ serviceId: string;
192
+ attachments?: ISecretSetAttachment[];
193
+ };
194
+ response: {
195
+ entries: IResolvedSecretManifestEntry[];
196
+ collisions: ISecretResolutionPreviewCollision[];
197
+ };
198
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjcmV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvcmVxdWVzdHMvc2VjcmV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
@@ -0,0 +1,41 @@
1
+ import type * as plugins from './plugins.js';
2
+ import type { IIdentityCredential, IResolvedSecretManifest, TSha256Digest } from './data/index.js';
3
+ /**
4
+ * Runtime-only material. This module is exported only under the Node condition
5
+ * and is intentionally unreachable from the universal/browser-facing barrel.
6
+ */
7
+ export interface IResolvedSecretMaterialValue {
8
+ secretVersionId: string;
9
+ value: string;
10
+ }
11
+ export interface IResolvedSecretMaterial {
12
+ schemaVersion: 1;
13
+ /** Full value-free manifest so the runtime can verify its canonical digest. */
14
+ manifest: IResolvedSecretManifest;
15
+ /** Plaintext values keyed only by the exact version IDs pinned by the manifest. */
16
+ values: IResolvedSecretMaterialValue[];
17
+ }
18
+ /**
19
+ * Verifies the immutable manifest and requires exactly one material value for
20
+ * every pinned version. Callers separately compare the verified manifest
21
+ * reference to the request and their authenticated cluster scope.
22
+ */
23
+ export declare const verifyResolvedSecretMaterial: (materialArg: unknown) => Promise<boolean>;
24
+ /**
25
+ * Cluster and organization are derived from the verified JWT. A caller cannot
26
+ * select either scope through request fields.
27
+ */
28
+ export interface IReq_GetResolvedSecretMaterial extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_GetResolvedSecretMaterial> {
29
+ method: 'getResolvedSecretMaterial';
30
+ request: {
31
+ identity: IIdentityCredential;
32
+ serviceId: string;
33
+ secretRolloutId: string;
34
+ secretRolloutGeneration: number;
35
+ manifestId: string;
36
+ manifestDigest: TSha256Digest;
37
+ };
38
+ response: {
39
+ material: IResolvedSecretMaterial;
40
+ };
41
+ }
@@ -0,0 +1,33 @@
1
+ import { validateResolvedSecretManifest, verifyResolvedSecretManifestDigest, } from './data/secret.js';
2
+ /**
3
+ * Verifies the immutable manifest and requires exactly one material value for
4
+ * every pinned version. Callers separately compare the verified manifest
5
+ * reference to the request and their authenticated cluster scope.
6
+ */
7
+ export const verifyResolvedSecretMaterial = async (materialArg) => {
8
+ if (!materialArg || typeof materialArg !== 'object' || Array.isArray(materialArg))
9
+ return false;
10
+ const material = materialArg;
11
+ if (!material.manifest || !Array.isArray(material.values))
12
+ return false;
13
+ if (material.schemaVersion !== 1)
14
+ return false;
15
+ if (validateResolvedSecretManifest(material.manifest).length > 0)
16
+ return false;
17
+ if (!await verifyResolvedSecretManifestDigest(material.manifest))
18
+ return false;
19
+ if (!material.values.every((valueArg) => (Boolean(valueArg)
20
+ && typeof valueArg === 'object'
21
+ && typeof valueArg.secretVersionId === 'string'
22
+ && typeof valueArg.value === 'string')))
23
+ return false;
24
+ const expectedVersionIds = material.manifest.entries
25
+ .map((entryArg) => entryArg.secretVersionId)
26
+ .sort();
27
+ const actualVersionIds = material.values
28
+ .map((valueArg) => valueArg.secretVersionId)
29
+ .sort();
30
+ return new Set(actualVersionIds).size === actualVersionIds.length
31
+ && JSON.stringify(actualVersionIds) === JSON.stringify(expectedVersionIds);
32
+ };
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3J1bnRpbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsT0FBTyxFQUNMLDhCQUE4QixFQUM5QixrQ0FBa0MsR0FDbkMsTUFBTSxrQkFBa0IsQ0FBQztBQW1CMUI7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLEtBQUssRUFDL0MsV0FBb0IsRUFDRixFQUFFO0lBQ3BCLElBQUksQ0FBQyxXQUFXLElBQUksT0FBTyxXQUFXLEtBQUssUUFBUSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDO1FBQUUsT0FBTyxLQUFLLENBQUM7SUFDaEcsTUFBTSxRQUFRLEdBQUcsV0FBK0MsQ0FBQztJQUNqRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztRQUFFLE9BQU8sS0FBSyxDQUFDO0lBQ3hFLElBQUksUUFBUSxDQUFDLGFBQWEsS0FBSyxDQUFDO1FBQUUsT0FBTyxLQUFLLENBQUM7SUFDL0MsSUFBSSw4QkFBOEIsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUM7UUFBRSxPQUFPLEtBQUssQ0FBQztJQUMvRSxJQUFJLENBQUMsTUFBTSxrQ0FBa0MsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDO1FBQUUsT0FBTyxLQUFLLENBQUM7SUFDL0UsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUN2QyxPQUFPLENBQUMsUUFBUSxDQUFDO1dBQ2QsT0FBTyxRQUFRLEtBQUssUUFBUTtXQUM1QixPQUFPLFFBQVEsQ0FBQyxlQUFlLEtBQUssUUFBUTtXQUM1QyxPQUFPLFFBQVEsQ0FBQyxLQUFLLEtBQUssUUFBUSxDQUN0QyxDQUFDO1FBQUUsT0FBTyxLQUFLLENBQUM7SUFDakIsTUFBTSxrQkFBa0IsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU87U0FDakQsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDO1NBQzNDLElBQUksRUFBRSxDQUFDO0lBQ1YsTUFBTSxnQkFBZ0IsR0FBRyxRQUFRLENBQUMsTUFBTTtTQUNyQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUM7U0FDM0MsSUFBSSxFQUFFLENBQUM7SUFDVixPQUFPLElBQUksR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsSUFBSSxLQUFLLGdCQUFnQixDQUFDLE1BQU07V0FDNUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsQ0FBQztBQUMvRSxDQUFDLENBQUMifQ==
package/package.json CHANGED
@@ -1,10 +1,17 @@
1
1
  {
2
2
  "name": "@serve.zone/interfaces",
3
- "version": "19.8.0",
3
+ "version": "20.1.0",
4
4
  "private": false,
5
5
  "description": "Shared TypeScript interfaces and TypedRequest contracts for the serve.zone ecosystem.",
6
6
  "exports": {
7
- ".": "./dist_ts/index.js"
7
+ ".": {
8
+ "types": "./dist_ts/index.d.ts",
9
+ "default": "./dist_ts/index.js"
10
+ },
11
+ "./runtime": {
12
+ "types": "./dist_ts/runtime.d.ts",
13
+ "node": "./dist_ts/runtime.js"
14
+ }
8
15
  },
9
16
  "type": "module",
10
17
  "author": "Task Venture Capital GmbH",