@cat-factory/integrations 0.170.1 → 0.171.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 (23) hide show
  1. package/dist/modules/environments/EnvironmentProvisioningService.d.ts +10 -1
  2. package/dist/modules/environments/EnvironmentProvisioningService.d.ts.map +1 -1
  3. package/dist/modules/environments/EnvironmentProvisioningService.js +2 -0
  4. package/dist/modules/environments/EnvironmentProvisioningService.js.map +1 -1
  5. package/dist/modules/environments/HttpEnvironmentProvider.d.ts.map +1 -1
  6. package/dist/modules/environments/HttpEnvironmentProvider.js +7 -4
  7. package/dist/modules/environments/HttpEnvironmentProvider.js.map +1 -1
  8. package/dist/modules/environments/environmentDiagnostics.d.ts.map +1 -1
  9. package/dist/modules/environments/environmentDiagnostics.js +27 -8
  10. package/dist/modules/environments/environmentDiagnostics.js.map +1 -1
  11. package/dist/modules/environments/environmentReachability.d.ts +58 -23
  12. package/dist/modules/environments/environmentReachability.d.ts.map +1 -1
  13. package/dist/modules/environments/environmentReachability.js +177 -46
  14. package/dist/modules/environments/environmentReachability.js.map +1 -1
  15. package/dist/modules/environments/environmentStatusPoll.d.ts +6 -1
  16. package/dist/modules/environments/environmentStatusPoll.d.ts.map +1 -1
  17. package/dist/modules/environments/environmentStatusPoll.js +5 -0
  18. package/dist/modules/environments/environmentStatusPoll.js.map +1 -1
  19. package/dist/modules/environments/environments.logic.d.ts +16 -11
  20. package/dist/modules/environments/environments.logic.d.ts.map +1 -1
  21. package/dist/modules/environments/environments.logic.js +24 -14
  22. package/dist/modules/environments/environments.logic.js.map +1 -1
  23. package/package.json +4 -4
@@ -1,32 +1,53 @@
1
1
  // Proving that a provisioned environment can be reached, and keeping the claim and the proof in
2
2
  // step as the provider re-states one and the platform re-runs the other.
3
3
  //
4
- // The RULE lives in kernel (`planRouteProbes` / `reduceRouteProof`), which is also where the
5
- // reasoning is: why the name is tried first, why the provider's order is kept for the addresses,
6
- // which addresses the platform will not dial, and why an unwired prober records `unproved` rather
7
- // than a failure. What lives here is the sequencing.
4
+ // The RULE lives in kernel (`planHostResolutions` / `planRouteProbes` / `reduceRouteProof`), which
5
+ // is also where the reasoning is: why the name is tried first, why the provider's order is kept for
6
+ // the candidates, which addresses the platform will not dial, how a stated NAME expands into the
7
+ // addresses it resolves to, and why an unwired prober records `unproved` rather than a failure.
8
+ // What lives here is the sequencing.
8
9
  //
9
10
  // Where the URL is turned into coordinates is `@cat-factory/contracts`
10
11
  // (`deriveEnvironmentCoordinates`), the ONE deriver, shared with the Tester prompt that states
11
12
  // those same coordinates to an agent. A second parser here would let the platform dial one host
12
13
  // and tell the agent another.
13
- import { deriveEnvironmentCoordinates } from '@cat-factory/contracts';
14
- import { planRouteProbes, recordRefusedAttempt, recordRouteAttempt, reduceRouteProof, unprovedRoute, } from '@cat-factory/kernel';
14
+ import { deriveEnvironmentCoordinates, statedRouteTarget } from '@cat-factory/contracts';
15
+ import { getErrorMessage, HOST_RESOLVE_TIMEOUT_MS, planHostResolutions, planRouteProbes, recordRouteAttempt, recordUndialledAttempt, reduceRouteProof, unprovedRoute, } from '@cat-factory/kernel';
15
16
  /**
16
- * Dial an environment's name and then, in the provider's order, each address it stated for that
17
- * name. Stops at the first target that CARRIES and publishes that one.
17
+ * Resolve every stated NAME the plan is willing to look up, then dial the environment's own name
18
+ * and, in the provider's order, each candidate it stated for that name. Stops at the first target
19
+ * that CARRIES and publishes that one.
18
20
  *
19
- * Sequential rather than raced, deliberately. The provider's order is its own statement about
20
- * which balancer it wants used (an internal one ahead of a public one, say), and racing would
21
- * publish whichever answered fastest, which is a different question and one nobody asked. The cost
22
- * is bounded by `MAX_PROBED_ADDRESSES` times the per-probe timeout, against a misdiagnosis that
23
- * currently costs a whole tester step.
21
+ * The dials are sequential rather than raced, deliberately. The provider's order is its own
22
+ * statement about which balancer it wants used (an internal one ahead of a public one, say), and
23
+ * racing would publish whichever answered fastest, which is a different question and one nobody
24
+ * asked. The cost is bounded by `MAX_PROBED_ADDRESSES` times the per-probe timeout, against a
25
+ * misdiagnosis that currently costs a whole tester step.
26
+ *
27
+ * The lookups ahead of them are concurrent, and that is not the same trade. Nothing is CHOSEN by
28
+ * answering first: the answers land in a map the plan reads by name, so the provider's order is
29
+ * expressed entirely by the plan and a resolver race could not disturb it. Serialising them would
30
+ * only add up to `MAX_RESOLVED_HOSTS` timeouts to a settle path that is already waiting on dials.
24
31
  *
25
32
  * With no prober wired the result is `unproved`, never a failure: a facade that cannot open a
26
- * socket behaves exactly as it did before this existed.
33
+ * socket behaves exactly as it did before this existed. Resolution is skipped in that case too,
34
+ * because nothing would be dialled with the answers.
35
+ *
36
+ * It is skipped for an environment with NOTHING TO DIAL for the same reason, and that one is
37
+ * asked of kernel rather than re-derived: the plan is empty when the URL names no host and port,
38
+ * no resolution can add a target to an empty plan, and up to `MAX_RESOLVED_HOSTS` lookups would
39
+ * then be paid for answers nobody reads, on the settle path and again on every status poll that
40
+ * re-proves. Asking the pure plan twice is how that stays ONE condition; a copy of it here is how
41
+ * the resolver comes to be paid on exactly the path its answers cannot reach.
42
+ *
43
+ * The lookups stay AHEAD of the first dial, rather than being deferred until the URL's own name
44
+ * has failed. Deferring would save a healthy lookup (tens of milliseconds) in the case where the
45
+ * URL carries, and a deployment that states names is by construction one whose URL does not; the
46
+ * cost would be handing the plan out in two halves, so that the order the provider stated and the
47
+ * platform's own "name first" rule stopped living in one function.
27
48
  *
28
- * A target the plan REFUSED is recorded without a socket being opened. That is the one place the
29
- * two kinds of target must not be conflated, and why the plan makes a refused one carry no
49
+ * A target the plan will not dial is recorded without a socket being opened. That is the one place
50
+ * the two kinds of target must not be conflated, and why the plan makes an undialled one carry no
30
51
  * request to dial.
31
52
  */
32
53
  export async function proveEnvironmentRoute(url, candidates, deps) {
@@ -34,20 +55,51 @@ export async function proveEnvironmentRoute(url, candidates, deps) {
34
55
  if (!deps.probe)
35
56
  return unprovedRoute(now);
36
57
  const coords = deriveEnvironmentCoordinates(url);
37
- const targets = planRouteProbes(coords?.host, coords?.port, candidates);
58
+ if (planRouteProbes(coords?.host, coords?.port, candidates).length === 0) {
59
+ return reduceRouteProof([], null, now);
60
+ }
61
+ const resolutions = await resolveStatedHosts(candidates, deps.resolveHost);
62
+ const targets = planRouteProbes(coords?.host, coords?.port, candidates, { resolutions });
38
63
  const attempts = [];
39
64
  for (const target of targets) {
40
- if (target.kind === 'refused') {
41
- attempts.push(recordRefusedAttempt(target));
65
+ if (target.kind === 'undialled') {
66
+ attempts.push(recordUndialledAttempt(target));
42
67
  continue;
43
68
  }
44
69
  const outcome = await deps.probe(target.request);
45
70
  attempts.push(recordRouteAttempt(target, outcome));
46
71
  if (outcome.state === 'carried')
47
- return reduceRouteProof(attempts, target.address, now);
72
+ return reduceRouteProof(attempts, target, now);
48
73
  }
49
74
  return reduceRouteProof(attempts, null, now);
50
75
  }
76
+ /**
77
+ * Look up the names kernel's plan is willing to look up, and hand back what each one answered.
78
+ *
79
+ * An EMPTY map with no resolver wired, rather than one entry saying so per name: the plan already
80
+ * knows which names it asked about, so a missing entry IS "nothing resolved this", and inventing a
81
+ * per-name placeholder here would put the same fact in two shapes.
82
+ *
83
+ * `allSettled`, so a resolver that breaks its own contract costs its OWN name and not the proof.
84
+ * The port says a resolver never rejects and nothing can enforce that: a facade adapter with an
85
+ * unguarded leg, or one a deployment supplies, would otherwise reject `proveEnvironmentRoute`
86
+ * itself, and the status poll's fold is not best-effort, so the whole poll would throw and leave
87
+ * the environment stuck at whatever it last said. A rejection is the same fact as a lookup that
88
+ * `failed` ("we could not tell"), which is the outcome that leaves the candidate unruled-out.
89
+ */
90
+ async function resolveStatedHosts(candidates, resolveHost) {
91
+ if (!resolveHost)
92
+ return new Map();
93
+ const hosts = planHostResolutions(candidates);
94
+ const settled = await Promise.allSettled(hosts.map((host) => resolveHost({ host, timeoutMs: HOST_RESOLVE_TIMEOUT_MS })));
95
+ return new Map(hosts.map((host, index) => {
96
+ const result = settled[index];
97
+ if (result?.status === 'fulfilled')
98
+ return [host, result.value];
99
+ const detail = getErrorMessage(result?.reason) || 'the host resolver rejected';
100
+ return [host, { state: 'failed', detail }];
101
+ }));
102
+ }
51
103
  /**
52
104
  * Fold a provider's freshly stated addresses into what is already stored, and decide whether the
53
105
  * proof beside them survives.
@@ -74,11 +126,18 @@ export async function proveEnvironmentRoute(url, candidates, deps) {
74
126
  *
75
127
  * So the URL has to be unchanged (every finding was about that name), and then:
76
128
  *
77
- * - a `reached` proof is a finding about ONE target: the address in `via`, or the name itself
78
- * when `via` is null. It survives while that target is still on offer, which for `via` means
79
- * still being among the stated candidates and for the name means nothing further, the URL
80
- * having already been checked. A provider adding a fallback candidate is strictly MORE
81
- * information and cannot invalidate a proof about an address it did not touch.
129
+ * - a `reached` proof is a finding about ONE target: the candidate `via` came from, or the URL's
130
+ * own name when `via` is null. It survives while that candidate is still on offer, and for the
131
+ * name that means nothing further, the URL having already been checked. A provider adding a
132
+ * fallback candidate is strictly MORE information and cannot invalidate a proof about a target
133
+ * it did not touch.
134
+ *
135
+ * Which candidate that is comes off the proof, never off the address: `viaHost` names the
136
+ * stated NAME the address was resolved from, and for those the NAME is the target. A balancer
137
+ * the provider still states, that has scaled or gained a zone since the proof, answers with a
138
+ * different address set, and matching the stored `via` against it would drop a good proof on a
139
+ * routine event that says nothing about whether the route still carries. An older proof carries
140
+ * no `viaHost`, which reads as the address case, which is what it was.
82
141
  * - every other proof is a finding about the whole list that was TRIED, so it survives only
83
142
  * while the candidate SET is unchanged. A new candidate is a target nothing ever dialled, and
84
143
  * "nothing reaches this environment" is no longer established once one exists.
@@ -117,27 +176,59 @@ function survivingProof(proof, stored, candidates) {
117
176
  if (!proof)
118
177
  return null;
119
178
  if (proof.state === 'reached') {
120
- return !proof.via || candidates.some((entry) => normalized(entry) === proof.via) ? proof : null;
179
+ if (!proof.via)
180
+ return proof;
181
+ const target = proof.viaHost ? `h:${proof.viaHost}` : `a:${proof.via}`;
182
+ return candidates.some((entry) => candidateKey(entry) === target) ? proof : null;
121
183
  }
122
- return sameAddressSet(stored, candidates) ? proof : null;
184
+ return sameCandidateSet(stored, candidates) ? proof : null;
185
+ }
186
+ /**
187
+ * One candidate's identity, as both the PROOF and the plan spell it.
188
+ *
189
+ * Kind-prefixed so a name and an address that happen to read alike are two candidates rather than
190
+ * one, and read through `statedRouteTarget` so the trimming and lower-casing happen once. That
191
+ * boundary is not cosmetic: `planRouteProbes` trims before it dials, so `via` is a trimmed value,
192
+ * and a raw comparison against the stored candidate crossed it. A provider stating `' 10.4.19.22'`
193
+ * proved `'10.4.19.22'`, matched neither its own candidate nor itself, and paid a fresh probe on
194
+ * every single poll for a proof it already had.
195
+ */
196
+ function candidateKey(entry) {
197
+ const stated = statedRouteTarget(entry);
198
+ if (stated.kind === 'address')
199
+ return `a:${stated.address}`;
200
+ if (stated.kind === 'host')
201
+ return `h:${stated.host}`;
202
+ return UNUSABLE_KEY;
123
203
  }
124
204
  /**
125
- * One candidate's address as the PROOF spells it.
205
+ * The key every candidate naming no single target collapses onto.
126
206
  *
127
- * `planRouteProbes` trims before it dials, so `via` is a trimmed value and a raw comparison
128
- * against the stored candidate crosses that boundary: a provider stating `' 10.4.19.22'` proved
129
- * `'10.4.19.22'`, matched neither its own candidate nor itself, and paid a fresh probe on every
130
- * single poll for a proof it already had. The manifest provider trims on capture, which is why
131
- * this only ever bit an adapter stating addresses directly.
207
+ * They have nothing to key BY, which is the whole reason `planRouteProbes` labels one by its
208
+ * position rather than by a value. Named so the comparison below can COUNT them instead of
209
+ * folding them into a set that cannot see their number change.
132
210
  */
133
- function normalized(entry) {
134
- return entry.address.trim();
211
+ const UNUSABLE_KEY = 'x:';
212
+ /** Whether two candidate lists name the same SET of targets (order and labels are cosmetic). */
213
+ function sameCandidateSet(a, b) {
214
+ const left = targetKeys(a);
215
+ const right = targetKeys(b);
216
+ if (left.size !== right.size || ![...left].every((key) => right.has(key)))
217
+ return false;
218
+ // The unusable entries are COUNTED, because a set cannot tell one from four: every one of them
219
+ // carries {@link UNUSABLE_KEY}, so a provider that starts stating an extra entry naming nothing
220
+ // would keep a stale `not_reached` proof while `planRouteProbes` records one more
221
+ // `address_refused` attempt than that proof knows about. Their POSITION is deliberately not part
222
+ // of it, matching the rest of this comparison: they render identically, so reordering them
223
+ // changes nothing a proof could be a finding about.
224
+ return countUnusable(a) === countUnusable(b);
225
+ }
226
+ /** The deduplicated keys of the candidates that name a target, ignoring the ones that name none. */
227
+ function targetKeys(entries) {
228
+ return new Set(entries.map(candidateKey).filter((key) => key !== UNUSABLE_KEY));
135
229
  }
136
- /** Whether two candidate lists name the same SET of addresses (order and labels are cosmetic). */
137
- function sameAddressSet(a, b) {
138
- const left = new Set(a.map(normalized));
139
- const right = new Set(b.map(normalized));
140
- return left.size === right.size && [...left].every((address) => right.has(address));
230
+ function countUnusable(entries) {
231
+ return entries.filter((entry) => candidateKey(entry) === UNUSABLE_KEY).length;
141
232
  }
142
233
  /**
143
234
  * How long a proof holds the prober off, once one has run.
@@ -150,6 +241,9 @@ function sameAddressSet(a, b) {
150
241
  * durable step, over and over. A minute means at most one probe sequence per environment per
151
242
  * minute, which is still promptly enough for the case the re-prove exists for: a proof invalidated
152
243
  * once, by a provider that then stays put.
244
+ *
245
+ * It paces the refresh of a proof that SURVIVED the fold too (see {@link awaitsAnotherLook}), and
246
+ * for the same reason: a resolved `via` is re-taken as often as this allows and no oftener.
153
247
  */
154
248
  export const ROUTE_REPROVE_MIN_INTERVAL_MS = 60_000;
155
249
  /**
@@ -166,11 +260,9 @@ export const ROUTE_REPROVE_MIN_INTERVAL_MS = 60_000;
166
260
  * - **Never the FIRST look.** Nothing has looked at a provisioning environment, and looking here
167
261
  * would put a probe on every poll of every environment whose deployer has not settled it. The
168
262
  * settle path owns that one.
169
- * - **A surviving proof is left alone, EXCEPT `unproved`.** `unproved` records that nothing was
170
- * wired to open a socket, so it is a proof never taken and it survives the fold forever on set
171
- * equality; treating it as a live proof is what would leave every environment settled before a
172
- * deployment wired its prober permanently unproved, which is exactly the "a dropped proof and
173
- * a proof never taken are the same value" trap one level up.
263
+ * - **A surviving proof is left alone unless it {@link awaitsAnotherLook}.** The fold decides
264
+ * whether a proof still says something about the candidates beside it; that decides whether
265
+ * what it says is still worth standing on.
174
266
  * - **{@link ROUTE_REPROVE_MIN_INTERVAL_MS} since the last look**, read off `probedAt` rather
175
267
  * than off the proof, because a hold PERSISTS the drop: anchored on the proof's own date, the
176
268
  * first hold would erase the anchor and no later poll would ever re-take anything.
@@ -182,8 +274,47 @@ export function routeReproveDecision(args) {
182
274
  if (lookedAt === null)
183
275
  return 'keep';
184
276
  const surviving = args.folded?.proof;
185
- if (surviving && surviving.state !== 'unproved')
277
+ if (surviving && !awaitsAnotherLook(surviving, args.canResolveHosts))
186
278
  return 'keep';
187
279
  return args.now - lookedAt < ROUTE_REPROVE_MIN_INTERVAL_MS ? 'held' : 'reprove';
188
280
  }
281
+ /**
282
+ * Whether a proof that survived the fold is one the poll should take AGAIN.
283
+ *
284
+ * Three cases, and each is a proof about the PLATFORM wearing a state that reads like a verdict:
285
+ *
286
+ * - **`unproved`.** Nothing was wired to open a socket, so it is a proof never taken, and it
287
+ * survives set equality forever. The caller only consults this with a prober in hand, so
288
+ * re-taking it is precisely "the deployment gained the capability the proof records lacking".
289
+ * - **`resolver_unavailable`.** The same fact one layer down, and it arrived carrying the same
290
+ * trap in a shape the rule above cannot see: the proof is `inconclusive`, so it is not
291
+ * `unproved`, so it would be left alone for the life of the environment and an environment
292
+ * settled by a facade with no resolver would stay unproved after the deployment wired one.
293
+ * Gated on the capability rather than re-taken unconditionally, because with nothing still
294
+ * wired the re-probe would pay a full dial sequence a minute to re-derive an answer it has.
295
+ * - **A `reached` proof whose `via` was RESOLVED from a name.** `via` is the literal a container
296
+ * host bridge is built from, and for a resolved name it is a snapshot of an address set the
297
+ * platform does not own. The balancer rescaling this proof deliberately SURVIVES (the name is
298
+ * still stated, so the fold keeps it) is the same event that releases that address, and left
299
+ * alone the row goes on publishing a bridge target the vendor has since handed to someone
300
+ * else: a run heading for failure with a proof on the record saying the environment is
301
+ * reachable, which is the worst of the bridge module's failure modes. Re-taking refreshes the
302
+ * literal against the name that is still the finding.
303
+ *
304
+ * Every other proof is left alone. `probe_failed` is a transient with no signal to pace against,
305
+ * so re-taking it would be a guess on the poll's own cadence rather than a response to anything,
306
+ * and `not_attempted` records a bound this build does not move.
307
+ *
308
+ * The residual gap is the environment nothing polls between the settle that proved it and the
309
+ * dispatch that bridges to it: this can only refresh a literal where a poll happens. ADR 0064
310
+ * records it.
311
+ */
312
+ function awaitsAnotherLook(proof, canResolveHosts) {
313
+ if (proof.state === 'unproved')
314
+ return true;
315
+ if (proof.reason === 'resolver_unavailable') {
316
+ return canResolveHosts;
317
+ }
318
+ return proof.state === 'reached' && proof.viaHost !== undefined;
319
+ }
189
320
  //# sourceMappingURL=environmentReachability.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"environmentReachability.js","sourceRoot":"","sources":["../../../src/modules/environments/environmentReachability.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"environmentReachability.js","sourceRoot":"","sources":["../../../src/modules/environments/environmentReachability.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { Clock, EnvironmentAccessHandle, EnvironmentHandle, EnvironmentRecord, EnvironmentRegistryRepository, Logger, ProvisionedEnvironment, ProvisionFields, RouteProbe } from '@cat-factory/kernel';
1
+ import type { Clock, EnvironmentAccessHandle, EnvironmentHandle, EnvironmentRecord, EnvironmentRegistryRepository, HostResolver, Logger, ProvisionedEnvironment, ProvisionFields, RouteProbe } from '@cat-factory/kernel';
2
2
  import type { ProvisioningLogRecorder } from '../provisioning-logs/ProvisioningLogService.js';
3
3
  import type { ResolvedEnvironmentProvider } from './environmentRemediation.js';
4
4
  /**
@@ -24,6 +24,11 @@ export interface EnvironmentStatusPollerDeps {
24
24
  * Absent ⇒ this deployment probes nothing at all and the poll behaves exactly as it did.
25
25
  */
26
26
  probe?: RouteProbe;
27
+ /**
28
+ * Resolves a stated balancer NAME for that re-take. Absent ⇒ a name candidate settles nothing,
29
+ * exactly as it does on the settle path, and an address candidate is unaffected.
30
+ */
31
+ resolveHost?: HostResolver;
27
32
  /** Best-effort provisioning-event log; absent ⇒ polling is unchanged. */
28
33
  provisioningLog?: ProvisioningLogRecorder;
29
34
  logger?: Logger;
@@ -1 +1 @@
1
- {"version":3,"file":"environmentStatusPoll.d.ts","sourceRoot":"","sources":["../../../src/modules/environments/environmentStatusPoll.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,uBAAuB,EACvB,iBAAiB,EAEjB,iBAAiB,EAEjB,6BAA6B,EAC7B,MAAM,EACN,sBAAsB,EACtB,eAAe,EACf,UAAU,EACX,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gDAAgD,CAAA;AAO7F,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAA;AAyB9E;;;;;GAKG;AACH,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,6BAA6B,CAAA;IACvC,4FAA4F;IAC5F,eAAe,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,OAAO,CAAC,2BAA2B,CAAC,CAAA;IACpF,aAAa,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,OAAO,CAAC,eAAe,CAAC,CAAA;IACtE,uFAAuF;IACvF,UAAU,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;IAC7E,UAAU,EAAE,CACV,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,uBAAuB,GAAG,IAAI,KACnC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IAC3B,wFAAwF;IACxF,oBAAoB,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;IAClD,aAAa,EAAE,CACb,WAAW,EAAE,sBAAsB,EACnC,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,IAAI,EAAE,MAAM,KACT,MAAM,GAAG,IAAI,CAAA;IAClB,KAAK,EAAE,KAAK,CAAA;IACZ;;;OAGG;IACH,KAAK,CAAC,EAAE,UAAU,CAAA;IAClB,yEAAyE;IACzE,eAAe,CAAC,EAAE,uBAAuB,CAAA;IACzC,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,2BAA2B;2BAIzC,MAAM,MAAM,MAAM,KAAG,OAAO,CAAC,iBAAiB,CAAC;EAoNpF;AAED,4EAA4E;AAC5E,MAAM,MAAM,uBAAuB,GAAG,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAA"}
1
+ {"version":3,"file":"environmentStatusPoll.d.ts","sourceRoot":"","sources":["../../../src/modules/environments/environmentStatusPoll.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,uBAAuB,EACvB,iBAAiB,EAEjB,iBAAiB,EAEjB,6BAA6B,EAC7B,YAAY,EACZ,MAAM,EACN,sBAAsB,EACtB,eAAe,EACf,UAAU,EACX,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gDAAgD,CAAA;AAO7F,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAA;AAyB9E;;;;;GAKG;AACH,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,6BAA6B,CAAA;IACvC,4FAA4F;IAC5F,eAAe,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,OAAO,CAAC,2BAA2B,CAAC,CAAA;IACpF,aAAa,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,OAAO,CAAC,eAAe,CAAC,CAAA;IACtE,uFAAuF;IACvF,UAAU,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;IAC7E,UAAU,EAAE,CACV,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,uBAAuB,GAAG,IAAI,KACnC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IAC3B,wFAAwF;IACxF,oBAAoB,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;IAClD,aAAa,EAAE,CACb,WAAW,EAAE,sBAAsB,EACnC,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,IAAI,EAAE,MAAM,KACT,MAAM,GAAG,IAAI,CAAA;IAClB,KAAK,EAAE,KAAK,CAAA;IACZ;;;OAGG;IACH,KAAK,CAAC,EAAE,UAAU,CAAA;IAClB;;;OAGG;IACH,WAAW,CAAC,EAAE,YAAY,CAAA;IAC1B,yEAAyE;IACzE,eAAe,CAAC,EAAE,uBAAuB,CAAA;IACzC,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,2BAA2B;2BAIzC,MAAM,MAAM,MAAM,KAAG,OAAO,CAAC,iBAAiB,CAAC;EAyNpF;AAED,4EAA4E;AAC5E,MAAM,MAAM,uBAAuB,GAAG,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAA"}
@@ -122,6 +122,10 @@ export function createEnvironmentStatusPoller(deps) {
122
122
  stored,
123
123
  folded,
124
124
  ready: provisioned.status === 'ready',
125
+ // The capability, not a preference: a proof recording that this deployment could not
126
+ // resolve a stated NAME is re-taken once one is wired and left alone while none is, which
127
+ // is the same rule the `unproved` case gets from `deps.probe` one line up.
128
+ canResolveHosts: Boolean(deps.resolveHost),
125
129
  now,
126
130
  });
127
131
  if (decision === 'keep')
@@ -143,6 +147,7 @@ export function createEnvironmentStatusPoller(deps) {
143
147
  const candidates = folded?.candidates ?? [];
144
148
  const proof = await proveEnvironmentRoute(provisioned.url, candidates, {
145
149
  probe: deps.probe,
150
+ ...(deps.resolveHost ? { resolveHost: deps.resolveHost } : {}),
146
151
  clock: deps.clock,
147
152
  });
148
153
  log.debug('re-proved an environment route the status poll invalidated', {
@@ -1 +1 @@
1
- {"version":3,"file":"environmentStatusPoll.js","sourceRoot":"","sources":["../../../src/modules/environments/environmentStatusPoll.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"environmentStatusPoll.js","sourceRoot":"","sources":["../../../src/modules/environments/environmentStatusPoll.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { ConnectionTestResult, EnvironmentAccessHandle, EnvironmentHandle, EnvironmentManifest, EnvironmentStatus, ProviderConfigField, TeardownConfirmation, TeardownProbe } from '@cat-factory/kernel';
2
2
  import type { EnvironmentRecord, UrlSafetyPolicy } from '@cat-factory/kernel';
3
- import type { EnvironmentAddress, EnvironmentReachability } from '@cat-factory/contracts';
3
+ import type { EnvironmentRouteCandidate, EnvironmentReachability } from '@cat-factory/contracts';
4
4
  /**
5
5
  * The agent kind that triggers deterministic provisioning, and its counterpart that triggers the
6
6
  * deterministic RECLAIM. Re-exported from `@cat-factory/contracts` rather than restated: the
@@ -177,20 +177,25 @@ export declare function mapStatus(raw: string | undefined, statusMap: {
177
177
  to: EnvironmentStatus;
178
178
  }[] | undefined, fallback: EnvironmentStatus): EnvironmentStatus;
179
179
  /**
180
- * Read a manifest's `addressesPath` off an arbitrary provider response.
180
+ * Read a manifest's `addressesPath` (or `hostsPath`) off an arbitrary provider response.
181
181
  *
182
182
  * Three shapes are accepted because a self-rolled management API can reasonably return any of
183
- * them, and refusing two would push an org into reshaping its API for us: a single address string,
184
- * an array of strings, or an array of `{ address, label }` objects. Anything else in the array is
185
- * SKIPPED rather than coerced, so an unexpected element cannot become the literal `[object
186
- * Object]` in an `--add-host` argument.
183
+ * them, and refusing two would push an org into reshaping its API for us: a single string, an array
184
+ * of strings, or an array of objects. Anything else in the array is SKIPPED rather than coerced, so
185
+ * an unexpected element cannot become the literal `[object Object]` in an `--add-host` argument.
187
186
  *
188
- * Nothing here validates the addresses. Which ones a bridge may name is kernel's rule
189
- * (`isBridgeableAddress`), applied where the bridge is built, and what actually carries is the
190
- * proof's answer; a provider stating a useless address gets a recorded failed attempt, which is
191
- * the honest outcome.
187
+ * `bare` is what a plain string in that path MEANS, and it comes from which manifest key was
188
+ * declared rather than from reading the value: a bare string is unlabelled, so nothing about it
189
+ * says whether `10.4.19.22` is an address or a name someone is about to resolve. An object entry
190
+ * states its own kind and is read as it is written, which is what lets ONE path interleave the two
191
+ * in a provider's preference order.
192
+ *
193
+ * Nothing here validates the values. Which addresses a bridge may name is kernel's rule
194
+ * (`isBridgeableAddress`), applied at plan time and again where the bridge is built, and what
195
+ * actually carries is the proof's answer; a provider stating a useless candidate gets a recorded
196
+ * failed attempt, which is the honest outcome.
192
197
  */
193
- export declare function extractAddresses(json: unknown, path: string | undefined): EnvironmentAddress[];
198
+ export declare function extractAddresses(json: unknown, path: string | undefined, bare?: 'address' | 'host'): EnvironmentRouteCandidate[];
194
199
  /**
195
200
  * Parse the stored reachability blob, or null when there is none and when what is there does not
196
201
  * validate.
@@ -1 +1 @@
1
- {"version":3,"file":"environments.logic.d.ts","sourceRoot":"","sources":["../../../src/modules/environments/environments.logic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"environments.logic.d.ts","sourceRoot":"","sources":["../../../src/modules/environments/environments.logic.ts"],"names":[],"mappings":"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"}
@@ -337,42 +337,52 @@ export function mapStatus(raw, statusMap, fallback) {
337
337
  return fallback;
338
338
  }
339
339
  /**
340
- * Read a manifest's `addressesPath` off an arbitrary provider response.
340
+ * Read a manifest's `addressesPath` (or `hostsPath`) off an arbitrary provider response.
341
341
  *
342
342
  * Three shapes are accepted because a self-rolled management API can reasonably return any of
343
- * them, and refusing two would push an org into reshaping its API for us: a single address string,
344
- * an array of strings, or an array of `{ address, label }` objects. Anything else in the array is
345
- * SKIPPED rather than coerced, so an unexpected element cannot become the literal `[object
346
- * Object]` in an `--add-host` argument.
343
+ * them, and refusing two would push an org into reshaping its API for us: a single string, an array
344
+ * of strings, or an array of objects. Anything else in the array is SKIPPED rather than coerced, so
345
+ * an unexpected element cannot become the literal `[object Object]` in an `--add-host` argument.
347
346
  *
348
- * Nothing here validates the addresses. Which ones a bridge may name is kernel's rule
349
- * (`isBridgeableAddress`), applied where the bridge is built, and what actually carries is the
350
- * proof's answer; a provider stating a useless address gets a recorded failed attempt, which is
351
- * the honest outcome.
347
+ * `bare` is what a plain string in that path MEANS, and it comes from which manifest key was
348
+ * declared rather than from reading the value: a bare string is unlabelled, so nothing about it
349
+ * says whether `10.4.19.22` is an address or a name someone is about to resolve. An object entry
350
+ * states its own kind and is read as it is written, which is what lets ONE path interleave the two
351
+ * in a provider's preference order.
352
+ *
353
+ * Nothing here validates the values. Which addresses a bridge may name is kernel's rule
354
+ * (`isBridgeableAddress`), applied at plan time and again where the bridge is built, and what
355
+ * actually carries is the proof's answer; a provider stating a useless candidate gets a recorded
356
+ * failed attempt, which is the honest outcome.
352
357
  */
353
- export function extractAddresses(json, path) {
358
+ export function extractAddresses(json, path, bare = 'address') {
354
359
  if (!path)
355
360
  return [];
356
361
  const raw = extractByPath(json, path);
357
362
  if (typeof raw === 'string')
358
- return raw.trim() ? [{ address: raw.trim() }] : [];
363
+ return raw.trim() ? [{ [bare]: raw.trim() }] : [];
359
364
  if (!Array.isArray(raw))
360
365
  return [];
361
366
  const out = [];
362
367
  for (const entry of raw) {
363
368
  if (typeof entry === 'string') {
364
369
  if (entry.trim())
365
- out.push({ address: entry.trim() });
370
+ out.push({ [bare]: entry.trim() });
366
371
  continue;
367
372
  }
368
373
  if (!entry || typeof entry !== 'object')
369
374
  continue;
370
375
  const record = entry;
371
376
  const address = typeof record.address === 'string' ? record.address.trim() : '';
372
- if (!address)
377
+ const host = typeof record.host === 'string' ? record.host.trim() : '';
378
+ // Exactly one, on the schema's own rule: an entry stating both names two things with no way to
379
+ // tell which was meant, and is dropped here rather than carried to the plan as a candidate that
380
+ // could only ever be refused.
381
+ if ((address && host) || (!address && !host))
373
382
  continue;
374
383
  const label = typeof record.label === 'string' ? record.label.trim() : '';
375
- out.push(label ? { address, label } : { address });
384
+ const target = address ? { address } : { host };
385
+ out.push(label ? { ...target, label } : target);
376
386
  }
377
387
  return out;
378
388
  }
@@ -1 +1 @@
1
- {"version":3,"file":"environments.logic.js","sourceRoot":"","sources":["../../../src/modules/environments/environments.logic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"environments.logic.js","sourceRoot":"","sources":["../../../src/modules/environments/environments.logic.ts"],"names":[],"mappings":"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"}