@cat-factory/server 0.293.0 → 0.295.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 (55) hide show
  1. package/dist/agents/ContainerAgentExecutor.d.ts +5 -5
  2. package/dist/agents/ContainerAgentExecutor.js +10 -10
  3. package/dist/agents/ContainerAgentExecutor.js.map +1 -1
  4. package/dist/agents/agentContextRecord.d.ts.map +1 -1
  5. package/dist/agents/agentContextRecord.js +10 -0
  6. package/dist/agents/agentContextRecord.js.map +1 -1
  7. package/dist/agents/capabilitySecrets.d.ts +61 -0
  8. package/dist/agents/capabilitySecrets.d.ts.map +1 -0
  9. package/dist/agents/{binaryGenerators.js → capabilitySecrets.js} +98 -62
  10. package/dist/agents/capabilitySecrets.js.map +1 -0
  11. package/dist/agents/containerAgentBody.d.ts +2 -2
  12. package/dist/agents/containerAgentBody.d.ts.map +1 -1
  13. package/dist/agents/containerAgentBody.js +11 -10
  14. package/dist/agents/containerAgentBody.js.map +1 -1
  15. package/dist/agents/promptOverrides.d.ts +3 -4
  16. package/dist/agents/promptOverrides.d.ts.map +1 -1
  17. package/dist/agents/promptOverrides.js +5 -9
  18. package/dist/agents/promptOverrides.js.map +1 -1
  19. package/dist/github/FetchGitHubClient.d.ts +2 -0
  20. package/dist/github/FetchGitHubClient.d.ts.map +1 -1
  21. package/dist/github/FetchGitHubClient.js +17 -91
  22. package/dist/github/FetchGitHubClient.js.map +1 -1
  23. package/dist/github/githubHttpHelpers.d.ts +59 -3
  24. package/dist/github/githubHttpHelpers.d.ts.map +1 -1
  25. package/dist/github/githubHttpHelpers.js +59 -4
  26. package/dist/github/githubHttpHelpers.js.map +1 -1
  27. package/dist/github/repoContents.d.ts +31 -0
  28. package/dist/github/repoContents.d.ts.map +1 -0
  29. package/dist/github/repoContents.js +121 -0
  30. package/dist/github/repoContents.js.map +1 -0
  31. package/dist/http/env.d.ts +10 -1
  32. package/dist/http/env.d.ts.map +1 -1
  33. package/dist/modules/capabilityCredentials/CapabilityCredentialsController.d.ts.map +1 -1
  34. package/dist/modules/capabilityCredentials/CapabilityCredentialsController.js +1 -0
  35. package/dist/modules/capabilityCredentials/CapabilityCredentialsController.js.map +1 -1
  36. package/dist/modules/capabilityCredentials/declaredCredentials.d.ts +21 -7
  37. package/dist/modules/capabilityCredentials/declaredCredentials.d.ts.map +1 -1
  38. package/dist/modules/capabilityCredentials/declaredCredentials.js +18 -2
  39. package/dist/modules/capabilityCredentials/declaredCredentials.js.map +1 -1
  40. package/dist/modules/publicApi/PublicProvisioningController.d.ts +57 -1
  41. package/dist/modules/publicApi/PublicProvisioningController.d.ts.map +1 -1
  42. package/dist/modules/publicApi/PublicProvisioningController.js +204 -8
  43. package/dist/modules/publicApi/PublicProvisioningController.js.map +1 -1
  44. package/dist/modules/publicApi/boardProjection.d.ts +9 -3
  45. package/dist/modules/publicApi/boardProjection.d.ts.map +1 -1
  46. package/dist/modules/publicApi/boardProjection.js +41 -8
  47. package/dist/modules/publicApi/boardProjection.js.map +1 -1
  48. package/dist/modules/publicApi/openapiDocument.generated.d.ts +1 -1
  49. package/dist/modules/publicApi/openapiDocument.generated.d.ts.map +1 -1
  50. package/dist/modules/publicApi/openapiDocument.generated.js +1 -1
  51. package/dist/modules/publicApi/openapiDocument.generated.js.map +1 -1
  52. package/package.json +8 -8
  53. package/dist/agents/binaryGenerators.d.ts +0 -40
  54. package/dist/agents/binaryGenerators.d.ts.map +0 -1
  55. package/dist/agents/binaryGenerators.js.map +0 -1
@@ -1,5 +1,6 @@
1
- import { type BootstrapJob, type GitHubAvailableRepo, type GitHubConnection, type KubernetesManifestSource, type PublicAvailableRepo, type PublicBootstrapJob, type PublicKubernetesManifestSource, type ServiceProvisioning, type UpdatePublicServiceInput } from '@cat-factory/contracts';
1
+ import { type BootstrapJob, type EnvironmentHandlerView, type GitHubAvailableRepo, type GitHubConnection, type KubernetesManifestSource, type PublicAvailableRepo, type PublicBootstrapJob, type PublicEnvironmentHandler, type PublicKubernetesManifestSource, type ServiceProvisioning, type UpdatePublicServiceInput } from '@cat-factory/contracts';
2
2
  import type { RepoUseByRepoId } from '@cat-factory/orchestration';
3
+ import { type RepoFileContent, type RunRepoContext } from '@cat-factory/kernel';
3
4
  import { Hono } from 'hono';
4
5
  import type { AppEnv, ServerContainer } from '../../http/env.js';
5
6
  /**
@@ -64,11 +65,66 @@ export declare function toPublicAvailableRepo(repo: GitHubAvailableRepo, use: Re
64
65
  * prevent, on the deployment least able to tell that is what happened.
65
66
  */
66
67
  export declare function asVcsRefusal(error: unknown): unknown;
68
+ /**
69
+ * Read one file, turning the two answers only this layer can name into the refusals it documents.
70
+ *
71
+ * **A blob past the PROVIDER's own contents ceiling is the same refusal as one past ours.** GitHub
72
+ * reports it as a `403`, which {@link asVcsRefusal} would otherwise read as a rejected credential,
73
+ * so an operator whose lockfile is 1.4 MB would be told to re-mint a token that works. The adapter
74
+ * names the fact (`VcsBlobTooLargeError`) and this maps it onto `file_too_large` with the provider's
75
+ * limit and NO size, because nothing here measured one.
76
+ *
77
+ * **Bytes that are not UTF-8 are refused rather than answered.** The decode is lossy for a PNG, a
78
+ * tarball or a Latin-1 source file, and handing back replacement characters under a field documented
79
+ * as the file's content is the same lie the truncation above refuses to tell: a caller comparing
80
+ * against its own copy sees a mismatch it cannot attribute. The `sha` rides the refusal, so the
81
+ * byte-exact join a grader wanted is still available.
82
+ *
83
+ * Anything else is a fact about the provider and goes through {@link asVcsRefusal} unchanged.
84
+ */
85
+ export declare function readGradableFile(repo: RunRepoContext['repo'], at: string, path: string, ref: string | undefined): Promise<RepoFileContent | null>;
67
86
  /**
68
87
  * Lower a public manifest source onto the internal one, for the same reason and with the same
69
88
  * exhaustiveness as the URL source above.
70
89
  */
71
90
  export declare function toKubernetesManifestSource(source: PublicKubernetesManifestSource): KubernetesManifestSource;
91
+ /**
92
+ * Project a handler for the LIST, whatever engine services it.
93
+ *
94
+ * `engine` and `backendKind` are open strings here rather than the connect view's literal, because
95
+ * this read reports handlers the deployment SEEDED from its composition root, and a deployment may
96
+ * register an environment backend of its own: the whole point of the registry. Reporting one as
97
+ * `kubernetes` would be the coercion the board projection refuses next door, and omitting it would
98
+ * make a seeded handler indistinguishable from an absent one, which is the state this read exists to
99
+ * make checkable.
100
+ *
101
+ * `endpoint` and not `apiServerUrl`: the Kubernetes noun is false of every other engine, and stating
102
+ * it anyway is what sends an operator whose environment is a VM looking for an apiserver.
103
+ *
104
+ * BOTH manifest-id fields are reported, because the engine's own resolution
105
+ * (`resolveInfraHandler` → `matchesCustom`) matches a service's pinned `manifestId` against EITHER,
106
+ * and the two ways of registering a handler each set only one: a deployment SEEDING one keys it with
107
+ * `manifestId`, while a `remote-custom` connection declares `acceptsManifestId`. Publishing only the
108
+ * second made the commonest seed shape read as a handler serving nothing, so a setup script checking
109
+ * that its own seed landed found no entry naming it while a run against it resolved fine.
110
+ *
111
+ * No `config`, though `EnvironmentHandlerView` carries one for the app's connect-form prefill: it is
112
+ * the internal per-engine bag, deliberately open, and this surface may not freeze it (ADR 0034).
113
+ */
114
+ export declare function toPublicHandler(view: EnvironmentHandlerView): PublicEnvironmentHandler;
115
+ /**
116
+ * Order handlers by what IDENTIFIES one, comparing code units rather than collating.
117
+ *
118
+ * `localeCompare` is ICU- and locale-dependent, so the same set of handlers can serialise in one
119
+ * order from a workerd isolate and in another from a Node build with a different ICU: precisely the
120
+ * spurious diff the ordering was added to prevent. A code-unit comparison answers the same everywhere,
121
+ * which is what a wire ordering needs.
122
+ *
123
+ * Both manifest ids join the key, since two `custom` handlers keyed to different manifests are
124
+ * otherwise equal here. A handler that ties on all four keys keeps its position from the repository
125
+ * read (the sort is stable), which is the honest fallback: nothing published distinguishes them.
126
+ */
127
+ export declare function byHandlerIdentity(left: PublicEnvironmentHandler, right: PublicEnvironmentHandler): number;
72
128
  /**
73
129
  * Lower a public service patch onto the board patch.
74
130
  *
@@ -1 +1 @@
1
- {"version":3,"file":"PublicProvisioningController.d.ts","sourceRoot":"","sources":["../../../src/modules/publicApi/PublicProvisioningController.ts"],"names":[],"mappings":"AAAA,OAAO,EAaL,KAAK,YAAY,EAEjB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EAErB,KAAK,wBAAwB,EAI7B,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EAGvB,KAAK,8BAA8B,EAQnC,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,EAC9B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAKV,eAAe,EAEhB,MAAM,4BAA4B,CAAA;AAWnC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAgEhE;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,eAAe,EAC1B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAQlC;AA6FD,wBAAgB,4BAA4B,IAAI,IAAI,CAAC,MAAM,CAAC,CAQ3D;AAID;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,YAAY,GAAG,kBAAkB,CAgB1E;AAiDD;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,mBAAmB,EACzB,GAAG,EAAE,eAAe,GACnB,mBAAmB,CAsBrB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAoBpD;AAyID;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,8BAA8B,GACrC,wBAAwB,CAW1B;AAmFD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,wBAAwB,EAC/B,MAAM,EAAE,mBAAmB,GAAG,SAAS,GACtC;IACD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,mBAAmB,CAAA;CACnC,CAQA"}
1
+ {"version":3,"file":"PublicProvisioningController.d.ts","sourceRoot":"","sources":["../../../src/modules/publicApi/PublicProvisioningController.ts"],"names":[],"mappings":"AAAA,OAAO,EAgBL,KAAK,YAAY,EACjB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EAErB,KAAK,wBAAwB,EAI7B,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EAGvB,KAAK,wBAAwB,EAC7B,KAAK,8BAA8B,EAQnC,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,EAC9B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAKV,eAAe,EAEhB,MAAM,4BAA4B,CAAA;AAEnC,OAAO,EASL,KAAK,eAAe,EACpB,KAAK,cAAc,EACpB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAgEhE;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,eAAe,EAC1B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAQlC;AA6FD,wBAAgB,4BAA4B,IAAI,IAAI,CAAC,MAAM,CAAC,CAQ3D;AAID;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,YAAY,GAAG,kBAAkB,CAgB1E;AAiDD;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,mBAAmB,EACzB,GAAG,EAAE,eAAe,GACnB,mBAAmB,CAsBrB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAoBpD;AAoJD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,EAC5B,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GAAG,SAAS,GACtB,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAsBjC;AA6DD;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,8BAA8B,GACrC,wBAAwB,CAW1B;AA8BD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,sBAAsB,GAAG,wBAAwB,CAYtF;AA8CD;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,wBAAwB,EAC9B,KAAK,EAAE,wBAAwB,GAC9B,MAAM,CAOR;AAiCD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,wBAAwB,EAC/B,MAAM,EAAE,mBAAmB,GAAG,SAAS,GACtC;IACD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,mBAAmB,CAAA;CACnC,CAQA"}
@@ -1,5 +1,5 @@
1
- import { connectPublicEnvironmentContract, getPublicRepoBootstrapContract, getPublicVcsConnectionContract, linkPublicRepoContract, listPublicAvailableReposContract, listPublicModelPresetsContract, listPublicRiskPoliciesContract, listPublicWiredModelsContract, startPublicRepoBootstrapContract, testPublicEnvironmentConnectionContract, updatePublicServiceContract, UNATTRIBUTED_BLOCK_EDIT_AUTHORITY, } from '@cat-factory/contracts';
2
- import { NotFoundError, RateLimitedError, UnavailableError, VcsApiError, individualVendorForModelId, isVcsRateLimited, } from '@cat-factory/kernel';
1
+ import { connectPublicEnvironmentContract, getPublicRepoBootstrapContract, getPublicRepoFileContract, getPublicVcsConnectionContract, linkPublicRepoContract, listPublicAvailableReposContract, listPublicEnvironmentConnectionsContract, listPublicModelPresetsContract, listPublicRiskPoliciesContract, listPublicWiredModelsContract, MAX_REPO_FILE_CHARS, startPublicRepoBootstrapContract, testPublicEnvironmentConnectionContract, updatePublicServiceContract, UNATTRIBUTED_BLOCK_EDIT_AUTHORITY, } from '@cat-factory/contracts';
2
+ import { NotFoundError, RateLimitedError, UnavailableError, ValidationError, VcsApiError, VcsBlobTooLargeError, individualVendorForModelId, isVcsRateLimited, } from '@cat-factory/kernel';
3
3
  import { buildHonoRoute } from '@toad-contracts/hono';
4
4
  import { Hono } from 'hono';
5
5
  import { requireCapability } from '../../http/guards.js';
@@ -365,6 +365,99 @@ function registerRepoAdoptionRoutes(app) {
365
365
  }
366
366
  return c.json(toPublicRepo(adopted), 200);
367
367
  });
368
+ registerRepoFileRoute(app);
369
+ }
370
+ /**
371
+ * ONE file out of a linked repository, so a caller can grade what a run COMMITTED.
372
+ *
373
+ * It closes the loop on everything else this surface can start. A caller could create a repository,
374
+ * adopt one, file work against it and watch a run merge, and then had nothing to read but the
375
+ * agent's own final reply, which is asserting on model prose: swap the model and it goes red having
376
+ * found nothing wrong. The only real alternative was a SECOND VCS credential in the caller's config,
377
+ * with its own scopes to get right, for data the workspace's own connection already reads.
378
+ *
379
+ * Five outcomes, kept apart because each takes a different action, and because folding any of them
380
+ * onto "no such file" is the same mistake `PublicSpecController` documents at length: a repository
381
+ * that answers nothing and a file that is genuinely absent look identical from a provider. Two of the
382
+ * five are what {@link readGradableFile} exists to name.
383
+ */
384
+ function registerRepoFileRoute(app) {
385
+ buildHonoRoute(app, getPublicRepoFileContract, async (c) => {
386
+ const auth = await authorizeOrThrow(c, getPublicRepoFileContract.minScope);
387
+ const resolve = requireCapability(c.get('container').resolveRepoFilesForCoords, 'No version-control integration is configured for this deployment', 'vcs_not_configured');
388
+ const { owner, name } = c.req.valid('param');
389
+ const { path, ref } = c.req.valid('query');
390
+ // Resolved against the workspace's PROJECTED repos, so this reads only what this workspace has
391
+ // LINKED. A repository the deployment's credential could reach and nobody adopted is absent
392
+ // here exactly as it is from `GET /api/v1/repos`, which is what stops the endpoint becoming a
393
+ // way to read any repository an installation happens to cover.
394
+ const context = await resolve(auth.workspaceId, { owner, repo: name });
395
+ if (!context) {
396
+ throw new NotFoundError('repository', `${owner}/${name}`, { reason: 'repo_not_linked' });
397
+ }
398
+ // `ref` is passed through EXACTLY as the request gave it, absent included, because the port
399
+ // resolves the repository's own default branch for an omitted one. `context.baseBranch` is the
400
+ // wrong value to substitute: `makeResolveRepoFilesForCoords` INVENTS `main` for a projection row
401
+ // carrying no default branch, so a repository whose default is `master` would be read at a
402
+ // branch it does not have and answer `file_not_found` for a file that is right there, while the
403
+ // response named the invented branch as the thing graded.
404
+ const at = `${owner}/${name}:${path}`;
405
+ const file = await readGradableFile(context.repo, at, path, ref);
406
+ if (!file) {
407
+ throw new NotFoundError('file', `${at}@${ref ?? 'the default branch'}`, {
408
+ reason: 'file_not_found',
409
+ });
410
+ }
411
+ if (file.content.length > MAX_REPO_FILE_CHARS) {
412
+ // REFUSED, never truncated. A caller reading a file to grade what an agent committed is
413
+ // joining on its exact bytes, and a silently shortened answer is indistinguishable from an
414
+ // agent that wrote a shorter file. The size and the limit ride `details` because those are
415
+ // facts a caller can act on where a truncation is not.
416
+ //
417
+ // A 422 and not a 413: `Content Too Large` is a statement about the REQUEST entity, and this
418
+ // request is perfectly well formed. The status class is "structurally valid, refused by a
419
+ // domain rule", which is the same reading `resolveRepoTarget` takes for an unlinked service,
420
+ // and the machine-readable cause is `details.reason` as it is everywhere else on this surface.
421
+ throw new ValidationError(`${at} is ${file.content.length} characters, past the ${MAX_REPO_FILE_CHARS} this read ` +
422
+ `answers with`, { reason: 'file_too_large', size: file.content.length, limit: MAX_REPO_FILE_CHARS });
423
+ }
424
+ return c.json({ owner, name, path, ref: ref ?? null, sha: file.sha, content: file.content }, 200);
425
+ });
426
+ }
427
+ /**
428
+ * Read one file, turning the two answers only this layer can name into the refusals it documents.
429
+ *
430
+ * **A blob past the PROVIDER's own contents ceiling is the same refusal as one past ours.** GitHub
431
+ * reports it as a `403`, which {@link asVcsRefusal} would otherwise read as a rejected credential,
432
+ * so an operator whose lockfile is 1.4 MB would be told to re-mint a token that works. The adapter
433
+ * names the fact (`VcsBlobTooLargeError`) and this maps it onto `file_too_large` with the provider's
434
+ * limit and NO size, because nothing here measured one.
435
+ *
436
+ * **Bytes that are not UTF-8 are refused rather than answered.** The decode is lossy for a PNG, a
437
+ * tarball or a Latin-1 source file, and handing back replacement characters under a field documented
438
+ * as the file's content is the same lie the truncation above refuses to tell: a caller comparing
439
+ * against its own copy sees a mismatch it cannot attribute. The `sha` rides the refusal, so the
440
+ * byte-exact join a grader wanted is still available.
441
+ *
442
+ * Anything else is a fact about the provider and goes through {@link asVcsRefusal} unchanged.
443
+ */
444
+ export async function readGradableFile(repo, at, path, ref) {
445
+ let file;
446
+ try {
447
+ file = await repo.getFile(path, ref);
448
+ }
449
+ catch (error) {
450
+ if (error instanceof VcsBlobTooLargeError) {
451
+ throw new ValidationError(`${at} is past the ${error.limitBytes} bytes ${error.provider} will serve through its ` +
452
+ `contents API, so this read cannot answer with it`, { reason: 'file_too_large', limit: error.limitBytes });
453
+ }
454
+ throw asVcsRefusal(error);
455
+ }
456
+ if (file?.lossy) {
457
+ throw new ValidationError(`${at} is not UTF-8 text, so this read cannot answer with its content; its blob sha is ` +
458
+ `${file.sha}`, { reason: 'file_not_text', sha: file.sha });
459
+ }
460
+ return file;
368
461
  }
369
462
  // ---- the environment connection (the ENGINE half) ---------------------------
370
463
  /**
@@ -449,6 +542,10 @@ function toInfraHandlerConfig(connection) {
449
542
  *
450
543
  * `baseUrl` is the connection's own endpoint, which for a Kubernetes engine is the apiserver, so it
451
544
  * is reported under the name the caller supplied it as rather than the engine's generic one.
545
+ *
546
+ * The CONNECT response only, which is why `engine` can be the literal: this surface registers
547
+ * kubernetes and nothing else, so it is true of every handler this call can produce. The LIST is a
548
+ * different question and takes {@link toPublicHandler}.
452
549
  */
453
550
  function toPublicConnectionView(view) {
454
551
  return {
@@ -459,6 +556,42 @@ function toPublicConnectionView(view) {
459
556
  secretKeys: view.secretKeys,
460
557
  };
461
558
  }
559
+ /**
560
+ * Project a handler for the LIST, whatever engine services it.
561
+ *
562
+ * `engine` and `backendKind` are open strings here rather than the connect view's literal, because
563
+ * this read reports handlers the deployment SEEDED from its composition root, and a deployment may
564
+ * register an environment backend of its own: the whole point of the registry. Reporting one as
565
+ * `kubernetes` would be the coercion the board projection refuses next door, and omitting it would
566
+ * make a seeded handler indistinguishable from an absent one, which is the state this read exists to
567
+ * make checkable.
568
+ *
569
+ * `endpoint` and not `apiServerUrl`: the Kubernetes noun is false of every other engine, and stating
570
+ * it anyway is what sends an operator whose environment is a VM looking for an apiserver.
571
+ *
572
+ * BOTH manifest-id fields are reported, because the engine's own resolution
573
+ * (`resolveInfraHandler` → `matchesCustom`) matches a service's pinned `manifestId` against EITHER,
574
+ * and the two ways of registering a handler each set only one: a deployment SEEDING one keys it with
575
+ * `manifestId`, while a `remote-custom` connection declares `acceptsManifestId`. Publishing only the
576
+ * second made the commonest seed shape read as a handler serving nothing, so a setup script checking
577
+ * that its own seed landed found no entry naming it while a run against it resolved fine.
578
+ *
579
+ * No `config`, though `EnvironmentHandlerView` carries one for the app's connect-form prefill: it is
580
+ * the internal per-engine bag, deliberately open, and this surface may not freeze it (ADR 0034).
581
+ */
582
+ export function toPublicHandler(view) {
583
+ return {
584
+ provisionType: view.provisionType,
585
+ manifestId: view.manifestId,
586
+ acceptsManifestId: view.acceptsManifestId,
587
+ engine: view.engine,
588
+ backendKind: view.backendKind,
589
+ label: view.label,
590
+ endpoint: view.baseUrl,
591
+ secretKeys: view.secretKeys,
592
+ connectedAt: view.connectedAt,
593
+ };
594
+ }
462
595
  function registerEnvironmentRoutes(app) {
463
596
  // Probe without persisting. `ok: false` is an ANSWER (the cluster refused the token), so it is a
464
597
  // 200 carrying the verdict rather than an error: a caller distinguishes "the cluster said no"
@@ -490,6 +623,41 @@ function registerEnvironmentRoutes(app) {
490
623
  });
491
624
  return c.json(toPublicConnectionView(view), 201);
492
625
  });
626
+ // The read half. Ordered so a caller diffing two workspaces (or its own setup before and after)
627
+ // compares two stable lists rather than two insertion orders.
628
+ buildHonoRoute(app, listPublicEnvironmentConnectionsContract, async (c) => {
629
+ const auth = await authorizeOrThrow(c, listPublicEnvironmentConnectionsContract.minScope);
630
+ const environments = requireEnvironments(c);
631
+ const handlers = await environments.connectionService.listHandlers(auth.workspaceId);
632
+ const connections = handlers.map(toPublicHandler).sort(byHandlerIdentity);
633
+ return c.json({ connections }, 200);
634
+ });
635
+ }
636
+ /**
637
+ * Order handlers by what IDENTIFIES one, comparing code units rather than collating.
638
+ *
639
+ * `localeCompare` is ICU- and locale-dependent, so the same set of handlers can serialise in one
640
+ * order from a workerd isolate and in another from a Node build with a different ICU: precisely the
641
+ * spurious diff the ordering was added to prevent. A code-unit comparison answers the same everywhere,
642
+ * which is what a wire ordering needs.
643
+ *
644
+ * Both manifest ids join the key, since two `custom` handlers keyed to different manifests are
645
+ * otherwise equal here. A handler that ties on all four keys keeps its position from the repository
646
+ * read (the sort is stable), which is the honest fallback: nothing published distinguishes them.
647
+ */
648
+ export function byHandlerIdentity(left, right) {
649
+ return (compareCodeUnits(left.provisionType, right.provisionType) ||
650
+ compareCodeUnits(left.manifestId, right.manifestId) ||
651
+ compareCodeUnits(left.acceptsManifestId, right.acceptsManifestId) ||
652
+ compareCodeUnits(left.label, right.label));
653
+ }
654
+ /** An absent id sorts first, which is the only ordering a null can honestly take. */
655
+ function compareCodeUnits(left, right) {
656
+ const a = left ?? '';
657
+ const b = right ?? '';
658
+ if (a === b)
659
+ return 0;
660
+ return a < b ? -1 : 1;
493
661
  }
494
662
  // ---- a service's provisioning (the SOURCE half) -----------------------------
495
663
  function registerServiceRoutes(app) {
@@ -529,7 +697,7 @@ export function toBlockPatch(input, stored) {
529
697
  * Overlay a public provisioning patch onto what the service already declares.
530
698
  *
531
699
  * `provisioning` is ONE JSON column and `updateBlock` REPLACES it wholesale, where this surface
532
- * publishes two of its dozen fields. Writing just the pair would therefore delete every field the
700
+ * publishes a few of its dozen fields. Writing just those would therefore delete every field the
533
701
  * public shape cannot express: a Kubernetes service's `images`, `secretInjections` and
534
702
  * `helmReleases`, authored in the app by someone who is not the caller. The next deploy would
535
703
  * render manifests with no image overrides and no Secrets, which is the "empty environment that
@@ -539,14 +707,42 @@ export function toBlockPatch(input, stored) {
539
707
  * A patch that CHANGES the provision type replaces instead of overlaying: the stored remainder
540
708
  * belongs to the type being left behind, so carrying it forward would attach one engine's
541
709
  * configuration to another.
710
+ *
711
+ * Exhaustive over the public variant through a `never`, so a member added there cannot reach the
712
+ * stored column as an unlowered shape.
542
713
  */
543
714
  function mergeProvisioning(patch, stored) {
544
715
  const base = stored?.type === patch.type ? stored : undefined;
545
- return {
546
- ...base,
547
- type: patch.type,
548
- manifestSource: toKubernetesManifestSource(patch.manifestSource),
549
- };
716
+ switch (patch.type) {
717
+ case 'kubernetes':
718
+ return {
719
+ ...base,
720
+ type: 'kubernetes',
721
+ manifestSource: toKubernetesManifestSource(patch.manifestSource),
722
+ };
723
+ case 'custom': {
724
+ // `manifestPath` is the one stored field this surface PUBLISHES, so it is also the only one a
725
+ // patch can be said to have left out on purpose: omitted, it is CLEARED, and the manifest
726
+ // type's own default applies again. Carried over from the stored row (which is what a plain
727
+ // `...base` does), a caller correcting a path back to the default would keep deploying the old
728
+ // one and have no way to say so, since the public shape has no other way to express "none".
729
+ // Every field the public shape cannot express still rides `...rest`, for the reason the
730
+ // function's own doc gives.
731
+ const { manifestPath: _cleared, ...rest } = base ?? {};
732
+ return {
733
+ ...rest,
734
+ type: 'custom',
735
+ manifestId: patch.manifestId,
736
+ ...(patch.manifestPath === undefined ? {} : { manifestPath: patch.manifestPath }),
737
+ };
738
+ }
739
+ default:
740
+ return unreachableProvisioning(patch);
741
+ }
742
+ }
743
+ /** The compile-time half of the lowering above: a new public member has to be lowered explicitly. */
744
+ function unreachableProvisioning(value) {
745
+ throw new Error(`unmapped public service provisioning: ${JSON.stringify(value)}`);
550
746
  }
551
747
  // ---- what this deployment has WIRED -----------------------------------------
552
748
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"PublicProvisioningController.js","sourceRoot":"","sources":["../../../src/modules/publicApi/PublicProvisioningController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PublicProvisioningController.js","sourceRoot":"","sources":["../../../src/modules/publicApi/PublicProvisioningController.ts"],"names":[],"mappings":"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"}
@@ -5,10 +5,16 @@ export declare function toPublicTask(block: Block, serviceId: string): PublicTas
5
5
  /**
6
6
  * Project a service frame block onto the external service resource.
7
7
  *
8
- * `provisioning` is projected only for the shapes this surface publishes (today `kubernetes`). A
9
- * service provisioned through another engine reports NOTHING here rather than a coerced value: the
10
- * public union cannot describe it, and answering with the nearest member would tell a caller its
8
+ * `provisioning` is projected only for the shapes this surface publishes. A service provisioned
9
+ * through a type this build cannot describe reports NOTHING here rather than a coerced value: the
10
+ * public union cannot express it, and answering with the nearest member would tell a caller its
11
11
  * service deploys from manifests it never declared.
12
+ *
13
+ * That omission is deliberately as SMALL as the surface allows, because it is indistinguishable from
14
+ * an unpinned service. A Kargo-backed (or any other custom-backend) service used to land in it, so a
15
+ * headless caller could not tell "pinned to something I cannot read" from "pinned to nothing", which
16
+ * are the two states an acceptance prerequisite most needs apart. `custom` now projects, which
17
+ * leaves the hole covering only a type added to the internal picklist and not to the public one.
12
18
  */
13
19
  export declare function toPublicService(frame: Block): PublicService;
14
20
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"boardProjection.d.ts","sourceRoot":"","sources":["../../../src/modules/publicApi/boardProjection.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,KAAK,EAGV,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,UAAU,EAChB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAWlE,kEAAkE;AAClE,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,GAAG,UAAU,CAuBxE;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,aAAa,CAc3D;AAoCD;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,gBAAgB,GAAG,UAAU,CAiBjE"}
1
+ {"version":3,"file":"boardProjection.d.ts","sourceRoot":"","sources":["../../../src/modules/publicApi/boardProjection.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,KAAK,EAGV,KAAK,UAAU,EACf,KAAK,aAAa,EAElB,KAAK,UAAU,EAChB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAWlE,kEAAkE;AAClE,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,GAAG,UAAU,CAuBxE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,aAAa,CAS3D;AAsED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,gBAAgB,GAAG,UAAU,CAiBjE"}
@@ -35,25 +35,58 @@ export function toPublicTask(block, serviceId) {
35
35
  /**
36
36
  * Project a service frame block onto the external service resource.
37
37
  *
38
- * `provisioning` is projected only for the shapes this surface publishes (today `kubernetes`). A
39
- * service provisioned through another engine reports NOTHING here rather than a coerced value: the
40
- * public union cannot describe it, and answering with the nearest member would tell a caller its
38
+ * `provisioning` is projected only for the shapes this surface publishes. A service provisioned
39
+ * through a type this build cannot describe reports NOTHING here rather than a coerced value: the
40
+ * public union cannot express it, and answering with the nearest member would tell a caller its
41
41
  * service deploys from manifests it never declared.
42
+ *
43
+ * That omission is deliberately as SMALL as the surface allows, because it is indistinguishable from
44
+ * an unpinned service. A Kargo-backed (or any other custom-backend) service used to land in it, so a
45
+ * headless caller could not tell "pinned to something I cannot read" from "pinned to nothing", which
46
+ * are the two states an acceptance prerequisite most needs apart. `custom` now projects, which
47
+ * leaves the hole covering only a type added to the internal picklist and not to the public one.
42
48
  */
43
49
  export function toPublicService(frame) {
44
- const provisioning = frame.provisioning;
45
- const manifestSource = provisioning?.type === 'kubernetes' && provisioning.manifestSource
46
- ? toPublicManifestSource(provisioning.manifestSource)
47
- : null;
48
50
  return {
49
51
  serviceId: frame.id,
50
52
  title: frame.title,
51
53
  description: frame.description,
52
54
  type: frame.type,
53
55
  status: frame.status,
54
- ...(manifestSource ? { provisioning: { type: 'kubernetes', manifestSource } } : {}),
56
+ ...toPublicProvisioning(frame.provisioning),
55
57
  };
56
58
  }
59
+ /**
60
+ * The `provisioning` key, or nothing when this surface cannot describe what is stored.
61
+ *
62
+ * Answers the KEY rather than the value so the caller spreads one expression: an `undefined` value
63
+ * spread into the object would put the field on the wire as absent-but-present, which valibot and
64
+ * the SDK read differently from a field that was never there.
65
+ *
66
+ * A stored `custom` with no `manifestId` reports nothing, and that is not pedantry: the id is what
67
+ * matches the service to a handler, so a `custom` without one is a half-written pin that resolves no
68
+ * backend, and publishing `{ type: 'custom' }` would report it as a configuration that will deploy.
69
+ */
70
+ function toPublicProvisioning(provisioning) {
71
+ if (provisioning?.type === 'kubernetes') {
72
+ const manifestSource = provisioning.manifestSource
73
+ ? toPublicManifestSource(provisioning.manifestSource)
74
+ : null;
75
+ return manifestSource ? { provisioning: { type: 'kubernetes', manifestSource } } : null;
76
+ }
77
+ if (provisioning?.type === 'custom' && provisioning.manifestId) {
78
+ return {
79
+ provisioning: {
80
+ type: 'custom',
81
+ manifestId: provisioning.manifestId,
82
+ ...(provisioning.manifestPath === undefined
83
+ ? {}
84
+ : { manifestPath: provisioning.manifestPath }),
85
+ },
86
+ };
87
+ }
88
+ return null;
89
+ }
57
90
  /**
58
91
  * Lift a stored manifest source onto the published one, or null when this surface cannot describe
59
92
  * it.
@@ -1 +1 @@
1
- {"version":3,"file":"boardProjection.js","sourceRoot":"","sources":["../../../src/modules/publicApi/boardProjection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"boardProjection.js","sourceRoot":"","sources":["../../../src/modules/publicApi/boardProjection.ts"],"names":[],"mappings":"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"}