@serve.zone/interfaces 32.7.0 → 32.8.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/changelog.md CHANGED
@@ -1,5 +1,29 @@
1
1
  # Changelog
2
2
 
3
+ ## 2026-09-19 - 32.8.0
4
+
5
+ ### Features
6
+
7
+ - Expose explicit refusal reasons for missing or mismatched attached network policies and missing or exhausted workload address pools.
8
+
9
+ ## 2026-09-19 - 32.7.1
10
+
11
+ ### Fixes
12
+
13
+ - `data.normalizeCoreMailCredentialVerifier` now reads the argon2id PHC parameter block by name
14
+ instead of matching one literal order. A PHC parameter block is a set keyed by name, and
15
+ `argon2` 0.45 — the encoder the CoreMail image ships — serialises it as `m=65536,p=1,t=3` while
16
+ the normalizer accepted `m=65536,t=3,p=1` only, so a control bootstrap minted with the image's
17
+ own encoder was refused although `argon2.verify` accepts it. Every parameter must still appear
18
+ exactly once with the exact `data.coreMailCredentialVerifierPolicy` cost: a missing, repeated or
19
+ unknown name is refused by name, and a value that is not a positive decimal integer without a
20
+ leading zero, or that differs from the policy, is refused as before. The normalized
21
+ `verificationHash` is re-emitted in the canonical `m=,t=,p=` order, so both encoder orders yield
22
+ the same string, the same `data.canonicalizeCoreMailDesiredState` bytes and the same
23
+ `data.createCoreMailDesiredStateDigest` value; already-persisted verifiers and published digests
24
+ keep their exact bytes. The rest of the PHC grammar is unchanged: `$argon2id$v=19$…$salt$hash`
25
+ with unpadded standard base64.
26
+
3
27
  ## 2026-09-19 - 32.7.0
4
28
 
5
29
  ### Features
@@ -3,7 +3,7 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@serve.zone/interfaces',
6
- version: '32.7.0',
6
+ version: '32.8.0',
7
7
  description: 'Shared TypeScript interfaces and TypedRequest contracts for the serve.zone ecosystem.'
8
8
  };
9
9
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSx3QkFBd0I7SUFDOUIsT0FBTyxFQUFFLFFBQVE7SUFDakIsV0FBVyxFQUFFLHVGQUF1RjtDQUNyRyxDQUFBIn0=
@@ -179,6 +179,70 @@ const decodeCanonicalBase64 = (valueArg, expectedBytesArg, pathArg) => {
179
179
  fail(`${pathArg} must be canonical unpadded base64`);
180
180
  }
181
181
  };
182
+ /**
183
+ * The argon2id cost parameters a CoreMail verifier must carry, keyed by PHC name.
184
+ *
185
+ * A PHC parameter block is a set keyed by name, not a fixed sequence: `argon2`
186
+ * 0.45 serialises it as `m=…,p=…,t=…` while older encoders wrote `m=…,t=…,p=…`,
187
+ * and every argon2 verifier reads both. Matching one literal order therefore
188
+ * refused hashes that are valid argon2id at the stated cost, so the block is
189
+ * read by name here and the accepted value is re-emitted in one canonical
190
+ * order (see `canonicalArgon2ParameterBlock`).
191
+ */
192
+ const argon2ParameterPolicy = new Map([
193
+ ['m', coreMailCredentialVerifierPolicy.memoryCost],
194
+ ['t', coreMailCredentialVerifierPolicy.timeCost],
195
+ ['p', coreMailCredentialVerifierPolicy.parallelism],
196
+ ]);
197
+ /**
198
+ * The one parameter order a normalized verifier is re-emitted in.
199
+ *
200
+ * `m,t,p` is the order every already-persisted CoreMail verifier and every
201
+ * published desired-state digest was produced with, so canonicalising to it
202
+ * keeps `createCoreMailDesiredStateDigest` stable across both encoder orders
203
+ * and leaves stored verifiers byte-identical.
204
+ */
205
+ const canonicalArgon2ParameterBlock = [
206
+ `m=${coreMailCredentialVerifierPolicy.memoryCost}`,
207
+ `t=${coreMailCredentialVerifierPolicy.timeCost}`,
208
+ `p=${coreMailCredentialVerifierPolicy.parallelism}`,
209
+ ].join(',');
210
+ /** A positive decimal integer: no sign, no padding, no leading zero. */
211
+ const argon2ParameterValueRegex = /^[1-9][0-9]{0,9}$/;
212
+ /**
213
+ * Assert an argon2id parameter block carries exactly the policy parameters.
214
+ *
215
+ * Every name must appear exactly once, no unknown name is tolerated, and each
216
+ * value must equal the policy value, so a hash computed at a different cost is
217
+ * refused here rather than relabelled by the canonical re-emit below.
218
+ */
219
+ const requireArgon2ParameterBlock = (blockArg, pathArg) => {
220
+ const seenNames = new Set();
221
+ for (const parameterArg of blockArg.split(',')) {
222
+ const parameter = /^([a-z]+)=([0-9]+)$/.exec(parameterArg);
223
+ if (!parameter) {
224
+ return fail(`${pathArg} must carry name=value argon2id parameters`);
225
+ }
226
+ const [, name, rawValue] = parameter;
227
+ const expectedValue = argon2ParameterPolicy.get(name);
228
+ if (expectedValue === undefined) {
229
+ return fail(`${pathArg} must not carry the argon2id parameter ${name}`);
230
+ }
231
+ if (seenNames.has(name)) {
232
+ return fail(`${pathArg} must carry the argon2id parameter ${name} once`);
233
+ }
234
+ seenNames.add(name);
235
+ if (!argon2ParameterValueRegex.test(rawValue)
236
+ || Number(rawValue) !== expectedValue) {
237
+ return fail(`${pathArg} must use argon2id ${name}=${expectedValue}`);
238
+ }
239
+ }
240
+ for (const name of argon2ParameterPolicy.keys()) {
241
+ if (!seenNames.has(name)) {
242
+ fail(`${pathArg} must carry the argon2id parameter ${name}`);
243
+ }
244
+ }
245
+ };
182
246
  export const normalizeCoreMailSha256 = (valueArg, pathArg = 'sha256') => {
183
247
  if (typeof valueArg !== 'string'
184
248
  || !/^sha256:[0-9a-f]{64}$/.test(valueArg)) {
@@ -198,11 +262,15 @@ export const normalizeCoreMailCredentialVerifier = (valueArg, pathArg = 'credent
198
262
  ? record.format
199
263
  : fail(`${pathArg}.format must be ${coreMailCredentialVerifierPolicy.format}`);
200
264
  const verificationHash = requireString(record.verificationHash, `${pathArg}.verificationHash`, 512);
201
- const match = verificationHash.match(/^\$argon2id\$v=19\$m=65536,t=3,p=1\$([A-Za-z0-9+/]+)\$([A-Za-z0-9+/]+)$/);
265
+ // The parameter block is captured whole and read by name below; the rest of
266
+ // the PHC grammar stays pinned, including argon2 version 19 (the value of
267
+ // `coreMailCredentialVerifierPolicy.version`) and unpadded standard base64.
268
+ const match = verificationHash.match(/^\$argon2id\$v=19\$([a-z0-9,=]+)\$([A-Za-z0-9+/]+)\$([A-Za-z0-9+/]+)$/);
202
269
  if (!match) {
203
270
  return fail(`${pathArg}.verificationHash must use the canonical argon2id PHC form`);
204
271
  }
205
- const [, saltBase64, digestBase64] = match;
272
+ const [, parameterBlock, saltBase64, digestBase64] = match;
273
+ requireArgon2ParameterBlock(parameterBlock, `${pathArg}.verificationHash`);
206
274
  decodeCanonicalBase64(saltBase64, coreMailCredentialVerifierPolicy.saltLengthBytes, `${pathArg}.verificationHash salt`);
207
275
  decodeCanonicalBase64(digestBase64, coreMailCredentialVerifierPolicy.hashLengthBytes, `${pathArg}.verificationHash digest`);
208
276
  if (state === 'current' && Object.hasOwn(record, 'acceptUntil')) {
@@ -216,7 +284,11 @@ export const normalizeCoreMailCredentialVerifier = (valueArg, pathArg = 'credent
216
284
  version,
217
285
  state,
218
286
  format,
219
- verificationHash,
287
+ // Re-emitted rather than passed through: both accepted encoder orders carry
288
+ // the same parameters, and only one of them may reach a persisted verifier
289
+ // or a desired-state digest.
290
+ verificationHash: `$argon2id$v=${coreMailCredentialVerifierPolicy.version}`
291
+ + `$${canonicalArgon2ParameterBlock}$${saltBase64}$${digestBase64}`,
220
292
  };
221
293
  if (state === 'retiring') {
222
294
  normalized.acceptUntil = requireSafeInteger(record.acceptUntil, `${pathArg}.acceptUntil`, 1);
@@ -1419,4 +1491,4 @@ export const normalizeCoreMailConnectionInfo = (valueArg, pathArg = 'connectionI
1419
1491
  }
1420
1492
  return deepFreezeValue(normalized);
1421
1493
  };
1422
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZW1haWwucnVudGltZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzL2RhdGEvY29yZW1haWwucnVudGltZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRixPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLDRCQUE0QixFQUM1QixlQUFlLEVBQ2Ysd0JBQXdCLEdBQ3pCLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUNMLGdDQUFnQyxFQUNoQyxjQUFjLEVBQ2Qsd0JBQXdCLEVBQ3hCLDJCQUEyQixFQUMzQiwrQkFBK0IsR0FvQ2hDLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLHdCQUF3QixDQUFDO0FBRW5FLE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUFHLENBQy9DLFFBQStCLEVBQy9CLGVBQStDLEVBQ1IsRUFBRTtJQUN6QyxNQUFNLFVBQVUsR0FBRyxJQUFJLEdBQUcsRUFBOEIsQ0FBQztJQUN6RCxLQUFLLE1BQU0sVUFBVSxJQUFJLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBVSxFQUFFLENBQUM7UUFDMUQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUMxQyxTQUFTO1FBQ1gsQ0FBQztRQUNELEtBQUssTUFBTSxTQUFTLElBQUksK0JBQStCLENBQUMsUUFBUSxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUM5RSxVQUFVLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzVCLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDO0FBQ3hDLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLE1BQU0s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
1494
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZW1haWwucnVudGltZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzL2RhdGEvY29yZW1haWwucnVudGltZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRixPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLDRCQUE0QixFQUM1QixlQUFlLEVBQ2Ysd0JBQXdCLEdBQ3pCLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUNMLGdDQUFnQyxFQUNoQyxjQUFjLEVBQ2Qsd0JBQXdCLEVBQ3hCLDJCQUEyQixFQUMzQiwrQkFBK0IsR0FvQ2hDLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLHdCQUF3QixDQUFDO0FBRW5FLE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUFHLENBQy9DLFFBQStCLEVBQy9CLGVBQStDLEVBQ1IsRUFBRTtJQUN6QyxNQUFNLFVBQVUsR0FBRyxJQUFJLEdBQUcsRUFBOEIsQ0FBQztJQUN6RCxLQUFLLE1BQU0sVUFBVSxJQUFJLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBVSxFQUFFLENBQUM7UUFDMUQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUMxQyxTQUFTO1FBQ1gsQ0FBQztRQUNELEtBQUssTUFBTSxTQUFTLElBQUksK0JBQStCLENBQUMsUUFBUSxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUM5RSxVQUFVLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzVCLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDO0FBQ3hDLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLE1BQU0s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
@@ -70,7 +70,7 @@ export declare const serviceRuntimeContract: Readonly<{
70
70
  readonly maximumAssignmentPageSize: 256;
71
71
  }>;
72
72
  declare const serviceRuntimeWaitingReasons: readonly ["node-network-pending", "conflict", "failure-backoff"];
73
- declare const serviceRuntimeRefusals: readonly ["cluster-runtime-missing", "organization-missing", "image-plan-missing", "platform-unsupported", "secrets-unsupported", "volumes-unsupported", "port-protocol-unsupported", "ports-too-many", "readiness-target-undeclared", "environment-too-large", "no-eligible-node", "replica-limit", "node-authority-unsupported"];
73
+ declare const serviceRuntimeRefusals: readonly ["cluster-runtime-missing", "organization-missing", "image-plan-missing", "platform-unsupported", "secrets-unsupported", "volumes-unsupported", "port-protocol-unsupported", "ports-too-many", "readiness-target-undeclared", "environment-too-large", "no-eligible-node", "replica-limit", "node-authority-unsupported", "network-policy-missing", "network-policy-mismatch", "network-workload-pool-missing", "network-workload-pool-exhausted"];
74
74
  /**
75
75
  * Why the producer is not converging yet, though nothing needs an administrator:
76
76
  * `node-network-pending` waits for a node's network readiness, `conflict` for a sweep over inputs
@@ -84,7 +84,8 @@ export type TServiceRuntimeWaitingReason = typeof serviceRuntimeWaitingReasons[n
84
84
  * target ports than `runtimeConfigContract.maximumTargetPorts` a config carries — a count, where
85
85
  * `port-protocol-unsupported` is about one port's protocol — and `node-authority-unsupported` is a
86
86
  * node whose session resolved fewer workload authorities than this spec needs, which the admit step
87
- * refuses rather than handing the node work it would silently park.
87
+ * refuses rather than handing the node work it would silently park. An attached network needs an
88
+ * explicit matching policy and a current workload address pool; neither is defaulted.
88
89
  */
89
90
  export type TServiceRuntimeRefusal = typeof serviceRuntimeRefusals[number];
90
91
  interface IServiceRuntimeStatusBase {
@@ -17,7 +17,8 @@ const serviceRuntimeRefusals = [
17
17
  'cluster-runtime-missing', 'organization-missing', 'image-plan-missing', 'platform-unsupported',
18
18
  'secrets-unsupported', 'volumes-unsupported', 'port-protocol-unsupported', 'ports-too-many',
19
19
  'readiness-target-undeclared', 'environment-too-large', 'no-eligible-node', 'replica-limit',
20
- 'node-authority-unsupported',
20
+ 'node-authority-unsupported', 'network-policy-missing', 'network-policy-mismatch',
21
+ 'network-workload-pool-missing', 'network-workload-pool-exhausted',
21
22
  ];
22
23
  /** Sorted, duplicate-free and read by the vocabulary the ids belong to: a node's, or the canonical one. */
23
24
  const sortedIds = (value, maximum, read) => networkSorted(networkList(value, maximum, read), id => id);
@@ -91,4 +92,4 @@ export const snapshotServiceRuntimeStatus = (value) => producerSafe(() => {
91
92
  requireNetwork(item.state === 'refused' && isOneOf(serviceRuntimeRefusals, item.reason));
92
93
  return { ...base, state: item.state, reason: item.reason };
93
94
  });
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZXJ1bnRpbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9kYXRhL3NlcnZpY2VydW50aW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQzVILGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsdUJBQXVCLEVBQUUsa0JBQWtCLEVBQ2hILG9CQUFvQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUF3RDVELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDbEQsc0JBQXNCLEVBQUUsRUFBRTtJQUMxQiwrRkFBK0Y7SUFDL0YsZUFBZSxFQUFFLEVBQUU7SUFDbkIsb0hBQW9IO0lBQ3BILGtCQUFrQixFQUFFLCtCQUErQixDQUFDLHdCQUF3QjtJQUM1RSx3QkFBd0IsRUFBRSwrQkFBK0IsQ0FBQyx3QkFBd0I7SUFDbEYsZ0dBQWdHO0lBQ2hHLHlCQUF5QixFQUFFLEdBQUc7Q0FDdEIsQ0FBQyxDQUFDO0FBRVosTUFBTSw0QkFBNEIsR0FBRyxDQUFDLHNCQUFzQixFQUFFLFVBQVUsRUFBRSxpQkFBaUIsQ0FBVSxDQUFDO0FBQ3RHLE1BQU0sc0JBQXNCLEdBQUc7SUFDN0IseUJBQXlCLEVBQUUsc0JBQXNCLEVBQUUsb0JBQW9CLEVBQUUsc0JBQXNCO0lBQy9GLHFCQUFxQixFQUFFLHFCQUFxQixFQUFFLDJCQUEyQixF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
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZXJ1bnRpbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9kYXRhL3NlcnZpY2VydW50aW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQzVILGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsdUJBQXVCLEVBQUUsa0JBQWtCLEVBQ2hILG9CQUFvQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUF3RDVELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDbEQsc0JBQXNCLEVBQUUsRUFBRTtJQUMxQiwrRkFBK0Y7SUFDL0YsZUFBZSxFQUFFLEVBQUU7SUFDbkIsb0hBQW9IO0lBQ3BILGtCQUFrQixFQUFFLCtCQUErQixDQUFDLHdCQUF3QjtJQUM1RSx3QkFBd0IsRUFBRSwrQkFBK0IsQ0FBQyx3QkFBd0I7SUFDbEYsZ0dBQWdHO0lBQ2hHLHlCQUF5QixFQUFFLEdBQUc7Q0FDdEIsQ0FBQyxDQUFDO0FBRVosTUFBTSw0QkFBNEIsR0FBRyxDQUFDLHNCQUFzQixFQUFFLFVBQVUsRUFBRSxpQkFBaUIsQ0FBVSxDQUFDO0FBQ3RHLE1BQU0sc0JBQXNCLEdBQUc7SUFDN0IseUJBQXlCLEVBQUUsc0JBQXNCLEVBQUUsb0JBQW9CLEVBQUUsc0JBQXNCO0lBQy9GLHFCQUFxQixFQUFFLHFCQUFxQixFQUFFLDJCQUEyQixF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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@serve.zone/interfaces",
3
- "version": "32.7.0",
3
+ "version": "32.8.0",
4
4
  "private": false,
5
5
  "description": "Shared TypeScript interfaces and TypedRequest contracts for the serve.zone ecosystem.",
6
6
  "exports": {
package/readme.md CHANGED
@@ -974,12 +974,18 @@ carry `reason: null`. `waiting` carries a `TServiceRuntimeWaitingReason`: `node-
974
974
  `conflict` or `failure-backoff`. `refused` carries a `TServiceRuntimeRefusal`:
975
975
  `cluster-runtime-missing`, `organization-missing`, `image-plan-missing`, `platform-unsupported`,
976
976
  `secrets-unsupported`, `volumes-unsupported`, `port-protocol-unsupported`, `ports-too-many`,
977
- `readiness-target-undeclared`, `environment-too-large`, `no-eligible-node`, `replica-limit` or
978
- `node-authority-unsupported`. `ports-too-many` is a service declaring more target ports than the
977
+ `readiness-target-undeclared`, `environment-too-large`, `no-eligible-node`, `replica-limit`,
978
+ `node-authority-unsupported`, `network-policy-missing`, `network-policy-mismatch`,
979
+ `network-workload-pool-missing` or `network-workload-pool-exhausted`. `ports-too-many` is a service declaring more target ports than the
979
980
  `runtimeConfigContract.maximumTargetPorts` (64) a config carries, where `port-protocol-unsupported`
980
981
  is about one port's protocol; `node-authority-unsupported` is a node whose session resolved fewer
981
982
  workload authorities than the spec needs, refused at the admit step rather than handed to a node
982
- that would silently park it. A refusal never retires running slots.
983
+ that would silently park it. An attached network requires an explicit service policy: its absence
984
+ is `network-policy-missing`, and a disagreement with the requested egress or platform endpoints is
985
+ `network-policy-mismatch`. A missing workload address pool in the current protected authority is
986
+ `network-workload-pool-missing`; existing eligible pools without a free workload subnet are
987
+ `network-workload-pool-exhausted`. Neither policy nor pool is silently defaulted. A refusal never
988
+ retires running slots.
983
989
  `snapshotServiceRuntimeStatus` enforces the pairing.
984
990
 
985
991
  ### Runtime Assignment Views
@@ -2123,7 +2129,11 @@ normalizers reject unknown fields, noncanonical mailboxes,
2123
2129
  ambiguous active recipient ownership, malformed SHA-256 values, and
2124
2130
  credential-lifecycle inconsistencies. CoreMail credential verifiers use the
2125
2131
  `argon2id` format and the exact policy exported as
2126
- `data.coreMailCredentialVerifierPolicy`.
2132
+ `data.coreMailCredentialVerifierPolicy`. The PHC parameter block is read by
2133
+ name, so any encoder's parameter order is accepted as long as `m`, `t` and `p`
2134
+ each appear once at the policy cost; the normalized `verificationHash` is
2135
+ always re-emitted as `$argon2id$v=19$m=…,t=…,p=…$<salt>$<hash>`, the canonical
2136
+ order the desired-state digest is computed over.
2127
2137
 
2128
2138
  `data.ICoreMailDesiredState.smtp` is the optional CoreMail SMTP submission
2129
2139
  listener (MSA). It carries the listener port, the advertised EHLO hostname, and
@@ -3,6 +3,6 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@serve.zone/interfaces',
6
- version: '32.7.0',
6
+ version: '32.8.0',
7
7
  description: 'Shared TypeScript interfaces and TypedRequest contracts for the serve.zone ecosystem.'
8
8
  }
@@ -305,6 +305,79 @@ const decodeCanonicalBase64 = (
305
305
  }
306
306
  };
307
307
 
308
+ /**
309
+ * The argon2id cost parameters a CoreMail verifier must carry, keyed by PHC name.
310
+ *
311
+ * A PHC parameter block is a set keyed by name, not a fixed sequence: `argon2`
312
+ * 0.45 serialises it as `m=…,p=…,t=…` while older encoders wrote `m=…,t=…,p=…`,
313
+ * and every argon2 verifier reads both. Matching one literal order therefore
314
+ * refused hashes that are valid argon2id at the stated cost, so the block is
315
+ * read by name here and the accepted value is re-emitted in one canonical
316
+ * order (see `canonicalArgon2ParameterBlock`).
317
+ */
318
+ const argon2ParameterPolicy = new Map<string, number>([
319
+ ['m', coreMailCredentialVerifierPolicy.memoryCost],
320
+ ['t', coreMailCredentialVerifierPolicy.timeCost],
321
+ ['p', coreMailCredentialVerifierPolicy.parallelism],
322
+ ]);
323
+
324
+ /**
325
+ * The one parameter order a normalized verifier is re-emitted in.
326
+ *
327
+ * `m,t,p` is the order every already-persisted CoreMail verifier and every
328
+ * published desired-state digest was produced with, so canonicalising to it
329
+ * keeps `createCoreMailDesiredStateDigest` stable across both encoder orders
330
+ * and leaves stored verifiers byte-identical.
331
+ */
332
+ const canonicalArgon2ParameterBlock = [
333
+ `m=${coreMailCredentialVerifierPolicy.memoryCost}`,
334
+ `t=${coreMailCredentialVerifierPolicy.timeCost}`,
335
+ `p=${coreMailCredentialVerifierPolicy.parallelism}`,
336
+ ].join(',');
337
+
338
+ /** A positive decimal integer: no sign, no padding, no leading zero. */
339
+ const argon2ParameterValueRegex = /^[1-9][0-9]{0,9}$/;
340
+
341
+ /**
342
+ * Assert an argon2id parameter block carries exactly the policy parameters.
343
+ *
344
+ * Every name must appear exactly once, no unknown name is tolerated, and each
345
+ * value must equal the policy value, so a hash computed at a different cost is
346
+ * refused here rather than relabelled by the canonical re-emit below.
347
+ */
348
+ const requireArgon2ParameterBlock = (
349
+ blockArg: string,
350
+ pathArg: string,
351
+ ): void => {
352
+ const seenNames = new Set<string>();
353
+ for (const parameterArg of blockArg.split(',')) {
354
+ const parameter = /^([a-z]+)=([0-9]+)$/.exec(parameterArg);
355
+ if (!parameter) {
356
+ return fail(`${pathArg} must carry name=value argon2id parameters`);
357
+ }
358
+ const [, name, rawValue] = parameter;
359
+ const expectedValue = argon2ParameterPolicy.get(name);
360
+ if (expectedValue === undefined) {
361
+ return fail(`${pathArg} must not carry the argon2id parameter ${name}`);
362
+ }
363
+ if (seenNames.has(name)) {
364
+ return fail(`${pathArg} must carry the argon2id parameter ${name} once`);
365
+ }
366
+ seenNames.add(name);
367
+ if (
368
+ !argon2ParameterValueRegex.test(rawValue)
369
+ || Number(rawValue) !== expectedValue
370
+ ) {
371
+ return fail(`${pathArg} must use argon2id ${name}=${expectedValue}`);
372
+ }
373
+ }
374
+ for (const name of argon2ParameterPolicy.keys()) {
375
+ if (!seenNames.has(name)) {
376
+ fail(`${pathArg} must carry the argon2id parameter ${name}`);
377
+ }
378
+ }
379
+ };
380
+
308
381
  export const normalizeCoreMailSha256 = (
309
382
  valueArg: unknown,
310
383
  pathArg = 'sha256',
@@ -342,13 +415,17 @@ export const normalizeCoreMailCredentialVerifier = (
342
415
  `${pathArg}.verificationHash`,
343
416
  512,
344
417
  );
418
+ // The parameter block is captured whole and read by name below; the rest of
419
+ // the PHC grammar stays pinned, including argon2 version 19 (the value of
420
+ // `coreMailCredentialVerifierPolicy.version`) and unpadded standard base64.
345
421
  const match = verificationHash.match(
346
- /^\$argon2id\$v=19\$m=65536,t=3,p=1\$([A-Za-z0-9+/]+)\$([A-Za-z0-9+/]+)$/,
422
+ /^\$argon2id\$v=19\$([a-z0-9,=]+)\$([A-Za-z0-9+/]+)\$([A-Za-z0-9+/]+)$/,
347
423
  );
348
424
  if (!match) {
349
425
  return fail(`${pathArg}.verificationHash must use the canonical argon2id PHC form`);
350
426
  }
351
- const [, saltBase64, digestBase64] = match;
427
+ const [, parameterBlock, saltBase64, digestBase64] = match;
428
+ requireArgon2ParameterBlock(parameterBlock, `${pathArg}.verificationHash`);
352
429
  decodeCanonicalBase64(
353
430
  saltBase64,
354
431
  coreMailCredentialVerifierPolicy.saltLengthBytes,
@@ -372,7 +449,12 @@ export const normalizeCoreMailCredentialVerifier = (
372
449
  version,
373
450
  state,
374
451
  format,
375
- verificationHash,
452
+ // Re-emitted rather than passed through: both accepted encoder orders carry
453
+ // the same parameters, and only one of them may reach a persisted verifier
454
+ // or a desired-state digest.
455
+ verificationHash:
456
+ `$argon2id$v=${coreMailCredentialVerifierPolicy.version}`
457
+ + `$${canonicalArgon2ParameterBlock}$${saltBase64}$${digestBase64}`,
376
458
  };
377
459
  if (state === 'retiring') {
378
460
  normalized.acceptUntil = requireSafeInteger(
@@ -79,7 +79,8 @@ const serviceRuntimeRefusals = [
79
79
  'cluster-runtime-missing', 'organization-missing', 'image-plan-missing', 'platform-unsupported',
80
80
  'secrets-unsupported', 'volumes-unsupported', 'port-protocol-unsupported', 'ports-too-many',
81
81
  'readiness-target-undeclared', 'environment-too-large', 'no-eligible-node', 'replica-limit',
82
- 'node-authority-unsupported',
82
+ 'node-authority-unsupported', 'network-policy-missing', 'network-policy-mismatch',
83
+ 'network-workload-pool-missing', 'network-workload-pool-exhausted',
83
84
  ] as const;
84
85
 
85
86
  /**
@@ -96,7 +97,8 @@ export type TServiceRuntimeWaitingReason = typeof serviceRuntimeWaitingReasons[n
96
97
  * target ports than `runtimeConfigContract.maximumTargetPorts` a config carries — a count, where
97
98
  * `port-protocol-unsupported` is about one port's protocol — and `node-authority-unsupported` is a
98
99
  * node whose session resolved fewer workload authorities than this spec needs, which the admit step
99
- * refuses rather than handing the node work it would silently park.
100
+ * refuses rather than handing the node work it would silently park. An attached network needs an
101
+ * explicit matching policy and a current workload address pool; neither is defaulted.
100
102
  */
101
103
  export type TServiceRuntimeRefusal = typeof serviceRuntimeRefusals[number];
102
104