@cat-factory/contracts 0.294.0 → 0.296.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/public-api.d.ts +93 -4
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +89 -4
- package/dist/public-api.js.map +1 -1
- package/dist/public-provisioning.d.ts +220 -13
- package/dist/public-provisioning.d.ts.map +1 -1
- package/dist/public-provisioning.js +181 -15
- package/dist/public-provisioning.js.map +1 -1
- package/dist/routes/public-api.d.ts +18 -0
- package/dist/routes/public-api.d.ts.map +1 -1
- package/dist/routes/public-board.d.ts +4 -0
- package/dist/routes/public-board.d.ts.map +1 -1
- package/dist/routes/public-provisioning.d.ts +507 -321
- package/dist/routes/public-provisioning.d.ts.map +1 -1
- package/dist/routes/public-provisioning.js +77 -5
- package/dist/routes/public-provisioning.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public-provisioning.d.ts","sourceRoot":"","sources":["../../src/routes/public-provisioning.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"public-provisioning.d.ts","sourceRoot":"","sources":["../../src/routes/public-provisioning.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AA+C5B;;;;;;;GAOG;AACH,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQ5C,CAAA;AAID;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQ5C,CAAA;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQlC,CAAA;AAED,qFAAqF;AACrF,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQ1C,CAAA;AAID;;;;;;;;GAQG;AACH,eAAO,MAAM,uCAAuC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQnD,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQ5C,CAAA;AAID;;;;;;;;;;GAUG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CASvC,CAAA;AAID;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOzC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAO1C,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAO1C,CAAA;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAO1C,CAAA"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import * as v from 'valibot';
|
|
1
2
|
import { defineApiContract } from '@toad-contracts/valibot';
|
|
2
|
-
import { connectPublicEnvironmentSchema, publicBootstrapJobSchema, publicBootstrapRepoSchema, publicEnvironmentConnectionTestSchema, publicEnvironmentConnectionViewSchema,
|
|
3
|
+
import { connectPublicEnvironmentSchema, linkPublicRepoSchema, publicAvailableRepoListSchema, publicBootstrapJobSchema, publicBootstrapRepoSchema, publicEnvironmentConnectionTestSchema, publicEnvironmentConnectionViewSchema, publicModelPresetListSchema, publicRiskPolicyListSchema, publicVcsConnectionViewSchema, publicWiredModelListSchema, testPublicEnvironmentConnectionSchema, updatePublicServiceSchema, } from '../public-provisioning.js';
|
|
3
4
|
import { publicServiceSchema } from '../public-api.js';
|
|
5
|
+
import { publicRepoSchema } from '../public-board.js';
|
|
4
6
|
import { errorResponses, singleStringParam, withMinScope } from './_shared.js';
|
|
5
7
|
// ---------------------------------------------------------------------------
|
|
6
8
|
// DEPLOYMENT PROVISIONING on `/api/v1`: the setup half of the surface.
|
|
@@ -39,6 +41,51 @@ export const startPublicRepoBootstrapContract = withMinScope('admin', defineApiC
|
|
|
39
41
|
requestBodySchema: publicBootstrapRepoSchema,
|
|
40
42
|
responsesByStatusCode: { 201: publicBootstrapJobSchema, ...errorResponses },
|
|
41
43
|
}));
|
|
44
|
+
// ---- adopting a repository that already exists -------------------------------
|
|
45
|
+
/**
|
|
46
|
+
* The repositories the workspace's connection can REACH, linked or not.
|
|
47
|
+
*
|
|
48
|
+
* The discovery half of {@link linkPublicRepoContract}, and the read that makes an absent repository
|
|
49
|
+
* diagnosable: `GET /api/v1/repos` lists what this workspace has LINKED, so a repository that exists
|
|
50
|
+
* and is reachable is missing from it in exactly the way one that was never created is, and those
|
|
51
|
+
* need opposite fixes. Here, the first appears with `linked: false` and the second does not appear.
|
|
52
|
+
*
|
|
53
|
+
* `q` filters server-side, as the app's own picker does, because a wide installation can reach
|
|
54
|
+
* thousands of repositories: pass `owner/name` for an exact point-read (authoritative for
|
|
55
|
+
* reachability, where a name search can miss an exact slug), a substring to search, or nothing to
|
|
56
|
+
* browse what is accessible. Each call reaches the provider, so it is a setup-time read rather than
|
|
57
|
+
* one to poll.
|
|
58
|
+
*/
|
|
59
|
+
export const listPublicAvailableReposContract = withMinScope('admin', defineApiContract({
|
|
60
|
+
method: 'get',
|
|
61
|
+
pathResolver: () => '/api/v1/repos/available',
|
|
62
|
+
requestQuerySchema: v.object({ q: v.optional(v.string()) }),
|
|
63
|
+
responsesByStatusCode: { 200: publicAvailableRepoListSchema, ...errorResponses },
|
|
64
|
+
}));
|
|
65
|
+
/**
|
|
66
|
+
* Adopt a reachable repository into this workspace, so a service can be created against it.
|
|
67
|
+
*
|
|
68
|
+
* The act a headless caller could not perform: linking is explicit per workspace and nothing does it
|
|
69
|
+
* for you (the provider webhook for an added repository does not project one, and a resync refreshes
|
|
70
|
+
* what is already linked), so a repository created by any means at all stayed invisible to
|
|
71
|
+
* `GET /api/v1/repos` and unusable by `POST /api/v1/services` until a person opened the app's picker.
|
|
72
|
+
*
|
|
73
|
+
* **Idempotent, and answers 200 either way.** Adopting a repository this workspace already links
|
|
74
|
+
* returns the same row rather than refusing, because the caller that most needs this endpoint is a
|
|
75
|
+
* setup script re-running itself, and a 409 there would make every re-run a special case. What the
|
|
76
|
+
* row does report is whether the repository is spoken for (`serviceId`, `linkedElsewhere`), which is
|
|
77
|
+
* the question the caller asks next.
|
|
78
|
+
*
|
|
79
|
+
* A repository the connection cannot reach is a `404` with `details.reason: 'repo_not_reachable'`,
|
|
80
|
+
* never a link to nothing: the two states this endpoint must not blur are "your credential cannot see
|
|
81
|
+
* it" and "it does not exist", and neither is fixed by retrying.
|
|
82
|
+
*/
|
|
83
|
+
export const linkPublicRepoContract = withMinScope('admin', defineApiContract({
|
|
84
|
+
method: 'post',
|
|
85
|
+
pathResolver: () => '/api/v1/repos/link',
|
|
86
|
+
requestBodySchema: linkPublicRepoSchema,
|
|
87
|
+
responsesByStatusCode: { 200: publicRepoSchema, ...errorResponses },
|
|
88
|
+
}));
|
|
42
89
|
/** Poll one bootstrap run. Idempotent, and the only way to learn a run's outcome. */
|
|
43
90
|
export const getPublicRepoBootstrapContract = withMinScope('admin', defineApiContract({
|
|
44
91
|
method: 'get',
|
|
@@ -117,12 +164,37 @@ export const getPublicVcsConnectionContract = withMinScope('admin', defineApiCon
|
|
|
117
164
|
responsesByStatusCode: { 200: publicVcsConnectionViewSchema, ...errorResponses },
|
|
118
165
|
}));
|
|
119
166
|
/**
|
|
120
|
-
* The workspace's
|
|
167
|
+
* The workspace's risk-policy library. The `isDefault` row is the policy a task that pins none
|
|
121
168
|
* resolves, so it is the one that decides whether this caller's runs can land without a person.
|
|
169
|
+
*
|
|
170
|
+
* The id a caller reads here is the one it pins as `riskPolicyId`. It answered at
|
|
171
|
+
* `/api/v1/merge-presets` in 1.41.0, under the name the product renamed away from a month before
|
|
172
|
+
* that release; the correction is a rename in place rather than a dual-served migration because
|
|
173
|
+
* 1.41.0 had no adopters, and `backend/docs/public-api-versions.md` records the exception.
|
|
174
|
+
*/
|
|
175
|
+
export const listPublicRiskPoliciesContract = withMinScope('admin', defineApiContract({
|
|
176
|
+
method: 'get',
|
|
177
|
+
pathResolver: () => '/api/v1/risk-policies',
|
|
178
|
+
responsesByStatusCode: { 200: publicRiskPolicyListSchema, ...errorResponses },
|
|
179
|
+
}));
|
|
180
|
+
/**
|
|
181
|
+
* The workspace's model-preset library, and which one a task pinning none resolves.
|
|
182
|
+
*
|
|
183
|
+
* Beside the risk policies rather than beside the pipelines because the two libraries are siblings:
|
|
184
|
+
* a caller setting a workspace up reads both to learn what its runs will cost and whether they can
|
|
185
|
+
* land. It is what makes `modelPresetId` on task create usable, since an id a caller cannot
|
|
186
|
+
* discover is one it has to hard-code.
|
|
187
|
+
*
|
|
188
|
+
* `admin` follows this file's rule and ADR 0034's reversibility argument, not a claim that a lower
|
|
189
|
+
* rung would be wrong. A `write` key can PIN a preset and cannot LIST one, which is the same gap the
|
|
190
|
+
* public pipeline list was added to close, so relaxing this to `read` is the likely next step. That
|
|
191
|
+
* direction is available; the other one is not. What a refused pin may NOT do is close the gap by
|
|
192
|
+
* accident: the `422` names the id that missed and never the library's contents, or a `write` key
|
|
193
|
+
* would read by typo what this route holds at `admin`.
|
|
122
194
|
*/
|
|
123
|
-
export const
|
|
195
|
+
export const listPublicModelPresetsContract = withMinScope('admin', defineApiContract({
|
|
124
196
|
method: 'get',
|
|
125
|
-
pathResolver: () => '/api/v1/
|
|
126
|
-
responsesByStatusCode: { 200:
|
|
197
|
+
pathResolver: () => '/api/v1/model-presets',
|
|
198
|
+
responsesByStatusCode: { 200: publicModelPresetListSchema, ...errorResponses },
|
|
127
199
|
}));
|
|
128
200
|
//# sourceMappingURL=public-provisioning.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public-provisioning.js","sourceRoot":"","sources":["../../src/routes/public-provisioning.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"public-provisioning.js","sourceRoot":"","sources":["../../src/routes/public-provisioning.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,EACL,8BAA8B,EAC9B,oBAAoB,EACpB,6BAA6B,EAC7B,wBAAwB,EACxB,yBAAyB,EACzB,qCAAqC,EACrC,qCAAqC,EACrC,2BAA2B,EAC3B,0BAA0B,EAC1B,6BAA6B,EAC7B,0BAA0B,EAC1B,qCAAqC,EACrC,yBAAyB,GAC1B,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE9E,8EAA8E;AAC9E,uEAAuE;AACvE,EAAE;AACF,kGAAkG;AAClG,gGAAgG;AAChG,oGAAoG;AACpG,oEAAoE;AACpE,EAAE;AACF,+FAA+F;AAC/F,oGAAoG;AACpG,iGAAiG;AACjG,+FAA+F;AAC/F,kGAAkG;AAClG,8FAA8F;AAC9F,oFAAoF;AACpF,EAAE;AACF,oGAAoG;AACpG,iGAAiG;AACjG,0BAA0B;AAC1B,8EAA8E;AAE9E,MAAM,WAAW,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAA;AAC9C,MAAM,eAAe,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAA;AAEtD,gFAAgF;AAEhF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,YAAY,CAC1D,OAAO,EACP,iBAAiB,CAAC;IAChB,MAAM,EAAE,MAAM;IACd,YAAY,EAAE,GAAG,EAAE,CAAC,yBAAyB;IAC7C,iBAAiB,EAAE,yBAAyB;IAC5C,qBAAqB,EAAE,EAAE,GAAG,EAAE,wBAAwB,EAAE,GAAG,cAAc,EAAE;CAC5E,CAAC,CACH,CAAA;AAED,iFAAiF;AAEjF;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,YAAY,CAC1D,OAAO,EACP,iBAAiB,CAAC;IAChB,MAAM,EAAE,KAAK;IACb,YAAY,EAAE,GAAG,EAAE,CAAC,yBAAyB;IAC7C,kBAAkB,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;IAC3D,qBAAqB,EAAE,EAAE,GAAG,EAAE,6BAA6B,EAAE,GAAG,cAAc,EAAE;CACjF,CAAC,CACH,CAAA;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,YAAY,CAChD,OAAO,EACP,iBAAiB,CAAC;IAChB,MAAM,EAAE,MAAM;IACd,YAAY,EAAE,GAAG,EAAE,CAAC,oBAAoB;IACxC,iBAAiB,EAAE,oBAAoB;IACvC,qBAAqB,EAAE,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,cAAc,EAAE;CACpE,CAAC,CACH,CAAA;AAED,qFAAqF;AACrF,MAAM,CAAC,MAAM,8BAA8B,GAAG,YAAY,CACxD,OAAO,EACP,iBAAiB,CAAC;IAChB,MAAM,EAAE,KAAK;IACb,uBAAuB,EAAE,WAAW;IACpC,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,2BAA2B,KAAK,EAAE;IAC/D,qBAAqB,EAAE,EAAE,GAAG,EAAE,wBAAwB,EAAE,GAAG,cAAc,EAAE;CAC5E,CAAC,CACH,CAAA;AAED,gFAAgF;AAEhF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,uCAAuC,GAAG,YAAY,CACjE,OAAO,EACP,iBAAiB,CAAC;IAChB,MAAM,EAAE,MAAM;IACd,YAAY,EAAE,GAAG,EAAE,CAAC,uCAAuC;IAC3D,iBAAiB,EAAE,qCAAqC;IACxD,qBAAqB,EAAE,EAAE,GAAG,EAAE,qCAAqC,EAAE,GAAG,cAAc,EAAE;CACzF,CAAC,CACH,CAAA;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,YAAY,CAC1D,OAAO,EACP,iBAAiB,CAAC;IAChB,MAAM,EAAE,MAAM;IACd,YAAY,EAAE,GAAG,EAAE,CAAC,kCAAkC;IACtD,iBAAiB,EAAE,8BAA8B;IACjD,qBAAqB,EAAE,EAAE,GAAG,EAAE,qCAAqC,EAAE,GAAG,cAAc,EAAE;CACzF,CAAC,CACH,CAAA;AAED,gFAAgF;AAEhF;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,YAAY,CACrD,OAAO,EACP,iBAAiB,CAAC;IAChB,MAAM,EAAE,OAAO;IACf,uBAAuB,EAAE,eAAe;IACxC,YAAY,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,oBAAoB,SAAS,EAAE;IAChE,iBAAiB,EAAE,yBAAyB;IAC5C,qBAAqB,EAAE,EAAE,GAAG,EAAE,mBAAmB,EAAE,GAAG,cAAc,EAAE;CACvE,CAAC,CACH,CAAA;AAED,gFAAgF;AAEhF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,YAAY,CACvD,OAAO,EACP,iBAAiB,CAAC;IAChB,MAAM,EAAE,KAAK;IACb,YAAY,EAAE,GAAG,EAAE,CAAC,gBAAgB;IACpC,qBAAqB,EAAE,EAAE,GAAG,EAAE,0BAA0B,EAAE,GAAG,cAAc,EAAE;CAC9E,CAAC,CACH,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,YAAY,CACxD,OAAO,EACP,iBAAiB,CAAC;IAChB,MAAM,EAAE,KAAK;IACb,YAAY,EAAE,GAAG,EAAE,CAAC,wBAAwB;IAC5C,qBAAqB,EAAE,EAAE,GAAG,EAAE,6BAA6B,EAAE,GAAG,cAAc,EAAE;CACjF,CAAC,CACH,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,YAAY,CACxD,OAAO,EACP,iBAAiB,CAAC;IAChB,MAAM,EAAE,KAAK;IACb,YAAY,EAAE,GAAG,EAAE,CAAC,uBAAuB;IAC3C,qBAAqB,EAAE,EAAE,GAAG,EAAE,0BAA0B,EAAE,GAAG,cAAc,EAAE;CAC9E,CAAC,CACH,CAAA;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,YAAY,CACxD,OAAO,EACP,iBAAiB,CAAC;IAChB,MAAM,EAAE,KAAK;IACb,YAAY,EAAE,GAAG,EAAE,CAAC,uBAAuB;IAC3C,qBAAqB,EAAE,EAAE,GAAG,EAAE,2BAA2B,EAAE,GAAG,cAAc,EAAE;CAC/E,CAAC,CACH,CAAA"}
|