@cat-factory/kernel 0.271.0 → 0.273.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/domain/agent-capabilities.js +51 -12
- package/dist/domain/agent-capabilities.js.map +1 -1
- package/dist/domain/binary-store-registry.d.ts +98 -0
- package/dist/domain/binary-store-registry.d.ts.map +1 -0
- package/dist/domain/binary-store-registry.js +79 -0
- package/dist/domain/binary-store-registry.js.map +1 -0
- package/dist/domain/notification-audience.d.ts +27 -0
- package/dist/domain/notification-audience.d.ts.map +1 -0
- package/dist/domain/notification-audience.js +40 -0
- package/dist/domain/notification-audience.js.map +1 -0
- package/dist/domain/types.d.ts +1 -1
- package/dist/domain/types.d.ts.map +1 -1
- package/dist/domain/vcs-errors.d.ts +25 -0
- package/dist/domain/vcs-errors.d.ts.map +1 -1
- package/dist/domain/vcs-errors.js +41 -0
- package/dist/domain/vcs-errors.js.map +1 -1
- package/dist/domain/workspace-cascade.d.ts +1 -1
- package/dist/domain/workspace-cascade.d.ts.map +1 -1
- package/dist/domain/workspace-cascade.js +1 -0
- package/dist/domain/workspace-cascade.js.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -1
- package/dist/index.js.map +1 -1
- package/dist/ports/binary-artifacts.d.ts +44 -2
- package/dist/ports/binary-artifacts.d.ts.map +1 -1
- package/dist/ports/binary-artifacts.js +41 -0
- package/dist/ports/binary-artifacts.js.map +1 -1
- package/dist/ports/index.d.ts +4 -3
- package/dist/ports/index.d.ts.map +1 -1
- package/dist/ports/index.js +2 -2
- package/dist/ports/index.js.map +1 -1
- package/dist/ports/notification-channel.d.ts +98 -4
- package/dist/ports/notification-channel.d.ts.map +1 -1
- package/dist/ports/notification-channel.js +129 -2
- package/dist/ports/notification-channel.js.map +1 -1
- package/dist/ports/notification-settings-repositories.d.ts +16 -0
- package/dist/ports/notification-settings-repositories.d.ts.map +1 -0
- package/dist/ports/notification-settings-repositories.js +2 -0
- package/dist/ports/notification-settings-repositories.js.map +1 -0
- package/dist/shared/post-mortem.logic.d.ts +35 -0
- package/dist/shared/post-mortem.logic.d.ts.map +1 -0
- package/dist/shared/post-mortem.logic.js +72 -0
- package/dist/shared/post-mortem.logic.js.map +1 -0
- package/package.json +2 -2
|
@@ -187,24 +187,63 @@ export function isLoopbackMcpHttpUrl(raw) {
|
|
|
187
187
|
const parsed = parseMcpHttpUrl(raw);
|
|
188
188
|
return parsed ? isLoopbackHost(parsed.host) : false;
|
|
189
189
|
}
|
|
190
|
+
/**
|
|
191
|
+
* Whether the url carries an ASCII control character or a space ANYWHERE, which is refused rather
|
|
192
|
+
* than canonicalised.
|
|
193
|
+
*
|
|
194
|
+
* The WHATWG parser strips leading and trailing C0-and-space and REMOVES tab, LF and CR from
|
|
195
|
+
* anywhere in the string, so a url carrying one parses to something other than what it reads as.
|
|
196
|
+
* The admitted string is stored and handed VERBATIM to the agent CLI's MCP config, so admitting one
|
|
197
|
+
* url and starting another is the one thing this predicate may not do. They are all typos in
|
|
198
|
+
* deployment-authored config, and a refusal at registration names the problem where a silent
|
|
199
|
+
* rewrite would not.
|
|
200
|
+
*/
|
|
201
|
+
function hasControlOrSpace(raw) {
|
|
202
|
+
for (let i = 0; i < raw.length; i += 1) {
|
|
203
|
+
if (raw.charCodeAt(i) <= 0x20)
|
|
204
|
+
return true;
|
|
205
|
+
}
|
|
206
|
+
return false;
|
|
207
|
+
}
|
|
208
|
+
const UrlParser = globalThis.URL;
|
|
190
209
|
/**
|
|
191
210
|
* Split an http(s) URL into its scheme and bare host, or undefined when it is neither.
|
|
192
211
|
*
|
|
193
|
-
*
|
|
194
|
-
*
|
|
195
|
-
*
|
|
212
|
+
* Parsed by `new URL` DELIBERATELY: it is the same WHATWG parser `fetch` and every agent CLI we
|
|
213
|
+
* hand the url to resolve the request with, so the host ruled on here is the host the credential
|
|
214
|
+
* actually travels to. A hand-written parse cannot hold that property, and the ways it silently
|
|
215
|
+
* loses it are not enumerable. `http://evil.example\@127.0.0.1/t` is the worked example: a
|
|
216
|
+
* backslash terminates the authority for a special scheme, so the WHATWG host is `evil.example`
|
|
217
|
+
* while an authority regex that stops only at `/?#` reads the userinfo rule onto `127.0.0.1` and
|
|
218
|
+
* hands `evil.example` a cleartext credential header.
|
|
219
|
+
*
|
|
220
|
+
* `hostname` already applies every rule the hand-parse was written for and several it was not:
|
|
221
|
+
* userinfo stripped from the LAST `@`, the host lowercased, IDNA applied, and the IPv4 shorthands
|
|
222
|
+
* (`127.1`, `0177.0.0.1`, `2130706433`) collapsed to the address they dial. Only the brackets an
|
|
223
|
+
* IPv6 literal keeps have to come off, since {@link isLoopbackHost} tests the address itself.
|
|
196
224
|
*/
|
|
197
225
|
function parseMcpHttpUrl(raw) {
|
|
198
|
-
|
|
199
|
-
|
|
226
|
+
if (hasControlOrSpace(raw))
|
|
227
|
+
return undefined;
|
|
228
|
+
// A runtime with no URL parser REFUSES rather than falling back to an authority scan. Being
|
|
229
|
+
// unable to hold the property above is exactly what disqualified the hand-written parse, so a
|
|
230
|
+
// fallback would reinstate the bug on the one runtime nobody tests.
|
|
231
|
+
if (!UrlParser)
|
|
232
|
+
return undefined;
|
|
233
|
+
let parsed;
|
|
234
|
+
try {
|
|
235
|
+
parsed = new UrlParser(raw);
|
|
236
|
+
}
|
|
237
|
+
catch {
|
|
238
|
+
// silent-catch-ok: an unparseable url IS the "neither" this returns undefined for, and the
|
|
239
|
+
// caller renders the refusal. There is nothing here a cause would add.
|
|
240
|
+
return undefined;
|
|
241
|
+
}
|
|
242
|
+
if (parsed.protocol !== 'http:' && parsed.protocol !== 'https:')
|
|
200
243
|
return undefined;
|
|
201
|
-
const
|
|
202
|
-
const
|
|
203
|
-
|
|
204
|
-
const host = (hostPort.startsWith('[') && closingBracket !== -1
|
|
205
|
-
? hostPort.slice(1, closingBracket) // IPv6 literal, e.g. [::1]:8080
|
|
206
|
-
: (hostPort.split(':')[0] ?? '')).toLowerCase();
|
|
207
|
-
return { scheme: match[1].toLowerCase(), host };
|
|
244
|
+
const hostname = parsed.hostname;
|
|
245
|
+
const host = hostname.startsWith('[') ? hostname.slice(1, -1) : hostname;
|
|
246
|
+
return { scheme: parsed.protocol.slice(0, -1), host };
|
|
208
247
|
}
|
|
209
248
|
function isLoopbackHost(host) {
|
|
210
249
|
return host === 'localhost' || host === '::1' || /^127\.\d+\.\d+\.\d+$/.test(host);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-capabilities.js","sourceRoot":"","sources":["../../src/domain/agent-capabilities.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"agent-capabilities.js","sourceRoot":"","sources":["../../src/domain/agent-capabilities.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import type { BinaryBlobBackend } from '../ports/binary-artifacts.js';
|
|
2
|
+
import type { Logger } from '../ports/logging.js';
|
|
3
|
+
/** What the resolver tells a store about the account it is being built for. */
|
|
4
|
+
export interface BinaryStoreContext {
|
|
5
|
+
/**
|
|
6
|
+
* The account whose artifacts this store will hold, or null for a legacy unscoped board.
|
|
7
|
+
*
|
|
8
|
+
* Supplied so a multi-tenant deployment can shard by account (a bucket or key prefix per
|
|
9
|
+
* account) without a per-account settings surface. A store that ignores it holds every
|
|
10
|
+
* account's bytes together, which is the right shape for a single-tenant deployment and is why
|
|
11
|
+
* this is context rather than a required parameter.
|
|
12
|
+
*/
|
|
13
|
+
accountId: string | null;
|
|
14
|
+
/** The composition root's logger, for a store that wants to report its own diagnostics. */
|
|
15
|
+
logger?: Logger;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* A binary artifact store a DEPLOYMENT defines in code: identity for the account-settings picker,
|
|
19
|
+
* plus the factory that builds the {@link BinaryBlobBackend} the composed store writes through.
|
|
20
|
+
*/
|
|
21
|
+
export interface BinaryStoreDefinition {
|
|
22
|
+
/**
|
|
23
|
+
* Stable id. It is what an account's content-storage config names, and what is stamped onto
|
|
24
|
+
* each artifact row's `storage` column, so it must be stable across releases: changing it
|
|
25
|
+
* orphans the rows already pointing at it (the bytes stay where they are, but nothing left
|
|
26
|
+
* says which store to ask for them).
|
|
27
|
+
*
|
|
28
|
+
* Lowercase letters, digits and dashes, and never one of the platform's own kinds — see
|
|
29
|
+
* {@link BinaryStoreRegistrationError}.
|
|
30
|
+
*/
|
|
31
|
+
id: string;
|
|
32
|
+
/** Human-readable name, shown in the account-settings storage picker. */
|
|
33
|
+
name: string;
|
|
34
|
+
/** One line of what it is and where the bytes go, shown beside the name. */
|
|
35
|
+
summary?: string;
|
|
36
|
+
/**
|
|
37
|
+
* Build the backend for one account. Called on a cache miss (the resolver memoises the composed
|
|
38
|
+
* store per account), so a client built here survives across requests.
|
|
39
|
+
*
|
|
40
|
+
* Return `null` for "this deployment cannot serve the store right now" (an unset credential, an
|
|
41
|
+
* un-provisioned bucket): the resolver treats it exactly as it treats an unsupported built-in
|
|
42
|
+
* backend, so storage reads as unavailable rather than half-working, and says so in the log.
|
|
43
|
+
* Throwing is for a programming error, and propagates.
|
|
44
|
+
*
|
|
45
|
+
* The returned backend's own `kind` is not used: the resolver stamps {@link id} onto the
|
|
46
|
+
* artifact rows, because one implementation registered twice (a bucket per region, say) would
|
|
47
|
+
* otherwise file both registrations' rows under one name.
|
|
48
|
+
*/
|
|
49
|
+
create(context: BinaryStoreContext): BinaryBlobBackend | null;
|
|
50
|
+
}
|
|
51
|
+
/** What the picker and the boot report show about a registered store — never the backend itself. */
|
|
52
|
+
export interface BinaryStoreView {
|
|
53
|
+
id: string;
|
|
54
|
+
name: string;
|
|
55
|
+
summary?: string;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* A registration this platform refuses. Thrown at REGISTRATION rather than collected as a
|
|
59
|
+
* warning, because a store is composition code: the deployment is holding the registry when it
|
|
60
|
+
* happens, and the alternative (a store registered under an id the resolver can never select) is
|
|
61
|
+
* an account settings picker offering an entry that silently resolves to no storage at all.
|
|
62
|
+
*/
|
|
63
|
+
export declare class BinaryStoreRegistrationError extends Error {
|
|
64
|
+
constructor(message: string);
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* App-owned registry of the deployment's own binary artifact stores. The composition root news
|
|
68
|
+
* ONE instance and a deployment registers its stores on it by reference; the per-account resolver
|
|
69
|
+
* builds a backend from it whenever an account has selected one.
|
|
70
|
+
*/
|
|
71
|
+
export declare class BinaryStoreRegistry {
|
|
72
|
+
private readonly definitions;
|
|
73
|
+
/**
|
|
74
|
+
* Register a store. A registration whose id matches an earlier one replaces it (the same
|
|
75
|
+
* last-wins rule every other app-owned registry uses, so a deployment can override a store its
|
|
76
|
+
* own shared composition module registered).
|
|
77
|
+
*
|
|
78
|
+
* Refuses an id the resolver could not honour: a malformed one, or one of the platform's own
|
|
79
|
+
* backend kinds. The second is the load-bearing check — `s3` and `fs` are selected through
|
|
80
|
+
* their own config (a bucket, a base path, sealed credentials), so a store registered under
|
|
81
|
+
* one of those names would be picked in the UI and never built, with the account looking
|
|
82
|
+
* correctly configured throughout.
|
|
83
|
+
*/
|
|
84
|
+
register(definition: BinaryStoreDefinition): void;
|
|
85
|
+
/** Register several stores at once. */
|
|
86
|
+
registerAll(definitions: Iterable<BinaryStoreDefinition>): void;
|
|
87
|
+
/** The registered definition for an id, or undefined when this build registers none. */
|
|
88
|
+
get(id: string): BinaryStoreDefinition | undefined;
|
|
89
|
+
/** Every registered id, in registration order. */
|
|
90
|
+
ids(): string[];
|
|
91
|
+
/** How many stores are registered — the "does this deployment offer any" check. */
|
|
92
|
+
get size(): number;
|
|
93
|
+
/** The picker-facing projection: identity only, never the factory. */
|
|
94
|
+
views(): BinaryStoreView[];
|
|
95
|
+
}
|
|
96
|
+
/** A fresh, EMPTY registry — the platform registers no custom stores of its own. */
|
|
97
|
+
export declare function defaultBinaryStoreRegistry(): BinaryStoreRegistry;
|
|
98
|
+
//# sourceMappingURL=binary-store-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binary-store-registry.d.ts","sourceRoot":"","sources":["../../src/domain/binary-store-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAErE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAyBjD,+EAA+E;AAC/E,MAAM,WAAW,kBAAkB;IACjC;;;;;;;OAOG;IACH,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,2FAA2F;IAC3F,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;;;;;OAQG;IACH,EAAE,EAAE,MAAM,CAAA;IACV,yEAAyE;IACzE,IAAI,EAAE,MAAM,CAAA;IACZ,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,OAAO,EAAE,kBAAkB,GAAG,iBAAiB,GAAG,IAAI,CAAA;CAC9D;AAED,oGAAoG;AACpG,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;;;;GAKG;AACH,qBAAa,4BAA6B,SAAQ,KAAK;IACrD,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF;AAKD;;;;GAIG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA2C;IAEvE;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,UAAU,EAAE,qBAAqB,GAAG,IAAI,CAkBhD;IAED,uCAAuC;IACvC,WAAW,CAAC,WAAW,EAAE,QAAQ,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAE9D;IAED,wFAAwF;IACxF,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS,CAEjD;IAED,kDAAkD;IAClD,GAAG,IAAI,MAAM,EAAE,CAEd;IAED,mFAAmF;IACnF,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,sEAAsE;IACtE,KAAK,IAAI,eAAe,EAAE,CAMzB;CACF;AAED,oFAAoF;AACpF,wBAAgB,0BAA0B,IAAI,mBAAmB,CAEhE"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { BUILTIN_BINARY_ARTIFACT_STORAGE_KINDS } from '../ports/binary-artifacts.js';
|
|
2
|
+
/**
|
|
3
|
+
* A registration this platform refuses. Thrown at REGISTRATION rather than collected as a
|
|
4
|
+
* warning, because a store is composition code: the deployment is holding the registry when it
|
|
5
|
+
* happens, and the alternative (a store registered under an id the resolver can never select) is
|
|
6
|
+
* an account settings picker offering an entry that silently resolves to no storage at all.
|
|
7
|
+
*/
|
|
8
|
+
export class BinaryStoreRegistrationError extends Error {
|
|
9
|
+
constructor(message) {
|
|
10
|
+
super(message);
|
|
11
|
+
this.name = 'BinaryStoreRegistrationError';
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
/** Ids are compared and persisted as-is, so the shape is constrained rather than normalised. */
|
|
15
|
+
const ID_PATTERN = /^[a-z0-9][a-z0-9-]{0,62}$/;
|
|
16
|
+
/**
|
|
17
|
+
* App-owned registry of the deployment's own binary artifact stores. The composition root news
|
|
18
|
+
* ONE instance and a deployment registers its stores on it by reference; the per-account resolver
|
|
19
|
+
* builds a backend from it whenever an account has selected one.
|
|
20
|
+
*/
|
|
21
|
+
export class BinaryStoreRegistry {
|
|
22
|
+
definitions = new Map();
|
|
23
|
+
/**
|
|
24
|
+
* Register a store. A registration whose id matches an earlier one replaces it (the same
|
|
25
|
+
* last-wins rule every other app-owned registry uses, so a deployment can override a store its
|
|
26
|
+
* own shared composition module registered).
|
|
27
|
+
*
|
|
28
|
+
* Refuses an id the resolver could not honour: a malformed one, or one of the platform's own
|
|
29
|
+
* backend kinds. The second is the load-bearing check — `s3` and `fs` are selected through
|
|
30
|
+
* their own config (a bucket, a base path, sealed credentials), so a store registered under
|
|
31
|
+
* one of those names would be picked in the UI and never built, with the account looking
|
|
32
|
+
* correctly configured throughout.
|
|
33
|
+
*/
|
|
34
|
+
register(definition) {
|
|
35
|
+
const id = definition.id;
|
|
36
|
+
if (!ID_PATTERN.test(id)) {
|
|
37
|
+
throw new BinaryStoreRegistrationError(`binary store id ${JSON.stringify(id)} is not usable: use lowercase letters, digits and ` +
|
|
38
|
+
`dashes (max 63 characters). The id is persisted on every artifact row, so it is ` +
|
|
39
|
+
`constrained rather than normalised.`);
|
|
40
|
+
}
|
|
41
|
+
if (BUILTIN_BINARY_ARTIFACT_STORAGE_KINDS.includes(id)) {
|
|
42
|
+
throw new BinaryStoreRegistrationError(`binary store id ${JSON.stringify(id)} is one of the platform's own backend kinds ` +
|
|
43
|
+
`(${BUILTIN_BINARY_ARTIFACT_STORAGE_KINDS.join(', ')}). Those are selected through their ` +
|
|
44
|
+
`own account config, so a store registered under one would be offered in the settings ` +
|
|
45
|
+
`picker and never built. Pick another id.`);
|
|
46
|
+
}
|
|
47
|
+
this.definitions.set(id, definition);
|
|
48
|
+
}
|
|
49
|
+
/** Register several stores at once. */
|
|
50
|
+
registerAll(definitions) {
|
|
51
|
+
for (const definition of definitions)
|
|
52
|
+
this.register(definition);
|
|
53
|
+
}
|
|
54
|
+
/** The registered definition for an id, or undefined when this build registers none. */
|
|
55
|
+
get(id) {
|
|
56
|
+
return this.definitions.get(id);
|
|
57
|
+
}
|
|
58
|
+
/** Every registered id, in registration order. */
|
|
59
|
+
ids() {
|
|
60
|
+
return [...this.definitions.keys()];
|
|
61
|
+
}
|
|
62
|
+
/** How many stores are registered — the "does this deployment offer any" check. */
|
|
63
|
+
get size() {
|
|
64
|
+
return this.definitions.size;
|
|
65
|
+
}
|
|
66
|
+
/** The picker-facing projection: identity only, never the factory. */
|
|
67
|
+
views() {
|
|
68
|
+
return [...this.definitions.values()].map((definition) => ({
|
|
69
|
+
id: definition.id,
|
|
70
|
+
name: definition.name,
|
|
71
|
+
...(definition.summary ? { summary: definition.summary } : {}),
|
|
72
|
+
}));
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
/** A fresh, EMPTY registry — the platform registers no custom stores of its own. */
|
|
76
|
+
export function defaultBinaryStoreRegistry() {
|
|
77
|
+
return new BinaryStoreRegistry();
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=binary-store-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binary-store-registry.js","sourceRoot":"","sources":["../../src/domain/binary-store-registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qCAAqC,EAAE,MAAM,8BAA8B,CAAA;AAmFpF;;;;;GAKG;AACH,MAAM,OAAO,4BAA6B,SAAQ,KAAK;IACrD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAA;IAC5C,CAAC;CACF;AAED,gGAAgG;AAChG,MAAM,UAAU,GAAG,2BAA2B,CAAA;AAE9C;;;;GAIG;AACH,MAAM,OAAO,mBAAmB;IACb,WAAW,GAAG,IAAI,GAAG,EAAiC,CAAA;IAEvE;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,UAAiC;QACxC,MAAM,EAAE,GAAG,UAAU,CAAC,EAAE,CAAA;QACxB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,4BAA4B,CACpC,mBAAmB,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,oDAAoD;gBACvF,kFAAkF;gBAClF,qCAAqC,CACxC,CAAA;QACH,CAAC;QACD,IAAK,qCAA2D,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YAC9E,MAAM,IAAI,4BAA4B,CACpC,mBAAmB,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,8CAA8C;gBACjF,IAAI,qCAAqC,CAAC,IAAI,CAAC,IAAI,CAAC,sCAAsC;gBAC1F,uFAAuF;gBACvF,0CAA0C,CAC7C,CAAA;QACH,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,CAAC,CAAA;IACtC,CAAC;IAED,uCAAuC;IACvC,WAAW,CAAC,WAA4C;QACtD,KAAK,MAAM,UAAU,IAAI,WAAW;YAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;IACjE,CAAC;IAED,wFAAwF;IACxF,GAAG,CAAC,EAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACjC,CAAC;IAED,kDAAkD;IAClD,GAAG;QACD,OAAO,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAA;IACrC,CAAC;IAED,mFAAmF;IACnF,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;IAC9B,CAAC;IAED,sEAAsE;IACtE,KAAK;QACH,OAAO,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YACzD,EAAE,EAAE,UAAU,CAAC,EAAE;YACjB,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/D,CAAC,CAAC,CAAA;IACL,CAAC;CACF;AAED,oFAAoF;AACpF,MAAM,UAAU,0BAA0B;IACxC,OAAO,IAAI,mBAAmB,EAAE,CAAA;AAClC,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { AccountRole } from './types.js';
|
|
2
|
+
import type { WorkspaceAccessRow } from './workspace-access.js';
|
|
3
|
+
/** One account membership as the audience rules read it. */
|
|
4
|
+
export interface AudienceAccountMember {
|
|
5
|
+
userId: string;
|
|
6
|
+
roles: AccountRole[];
|
|
7
|
+
}
|
|
8
|
+
export interface NotificationAudienceInput {
|
|
9
|
+
/** The board's access row (owning account, legacy owner, access mode). */
|
|
10
|
+
workspace: WorkspaceAccessRow;
|
|
11
|
+
/** Every membership in the board's owning account. Empty for a legacy board. */
|
|
12
|
+
accountMembers: AudienceAccountMember[];
|
|
13
|
+
/** The user ids holding an explicit `workspace_members` row on this board. */
|
|
14
|
+
workspaceMemberUserIds: string[];
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* The user ids a workspace notification may be delivered to, de-duplicated and in a
|
|
18
|
+
* stable order (account roster order, then the member rows).
|
|
19
|
+
*
|
|
20
|
+
* - Legacy / unscoped board (`accountId === null`): its owner alone.
|
|
21
|
+
* - `accessMode: 'account'`: every account member (a member ROW is an upgrade-only
|
|
22
|
+
* overlay there, so it adds nobody).
|
|
23
|
+
* - `accessMode: 'restricted'`: the account admins plus the account members who hold a
|
|
24
|
+
* member row.
|
|
25
|
+
*/
|
|
26
|
+
export declare function notificationAudienceUserIds(input: NotificationAudienceInput): string[];
|
|
27
|
+
//# sourceMappingURL=notification-audience.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notification-audience.d.ts","sourceRoot":"","sources":["../../src/domain/notification-audience.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAE/D,4DAA4D;AAC5D,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,WAAW,EAAE,CAAA;CACrB;AAED,MAAM,WAAW,yBAAyB;IACxC,0EAA0E;IAC1E,SAAS,EAAE,kBAAkB,CAAA;IAC7B,gFAAgF;IAChF,cAAc,EAAE,qBAAqB,EAAE,CAAA;IACvC,8EAA8E;IAC9E,sBAAsB,EAAE,MAAM,EAAE,CAAA;CACjC;AAED;;;;;;;;;GASG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,yBAAyB,GAAG,MAAM,EAAE,CActF"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
// ---------------------------------------------------------------------------
|
|
2
|
+
// Who a workspace-scoped notification is addressed to, when the channel has to name
|
|
3
|
+
// PEOPLE rather than a destination (email today; any future per-person transport).
|
|
4
|
+
//
|
|
5
|
+
// It is the same question `resolveWorkspaceAccess` answers, asked over a roster instead
|
|
6
|
+
// of about one caller, so it is derived from the SAME rules and lives beside them: a
|
|
7
|
+
// second, looser reading of who can see a board would mail a task's contents to someone
|
|
8
|
+
// the board itself hides it from. Account membership is the prerequisite, an account
|
|
9
|
+
// admin always qualifies, and a `workspace_members` row only counts for someone who is
|
|
10
|
+
// still an account member (an orphaned row is inert, exactly as it is for access).
|
|
11
|
+
//
|
|
12
|
+
// Pure, so both facades and the tests agree without a store.
|
|
13
|
+
// ---------------------------------------------------------------------------
|
|
14
|
+
/**
|
|
15
|
+
* The user ids a workspace notification may be delivered to, de-duplicated and in a
|
|
16
|
+
* stable order (account roster order, then the member rows).
|
|
17
|
+
*
|
|
18
|
+
* - Legacy / unscoped board (`accountId === null`): its owner alone.
|
|
19
|
+
* - `accessMode: 'account'`: every account member (a member ROW is an upgrade-only
|
|
20
|
+
* overlay there, so it adds nobody).
|
|
21
|
+
* - `accessMode: 'restricted'`: the account admins plus the account members who hold a
|
|
22
|
+
* member row.
|
|
23
|
+
*/
|
|
24
|
+
export function notificationAudienceUserIds(input) {
|
|
25
|
+
const { workspace, accountMembers, workspaceMemberUserIds } = input;
|
|
26
|
+
if (workspace.accountId === null) {
|
|
27
|
+
return workspace.ownerUserId ? [workspace.ownerUserId] : [];
|
|
28
|
+
}
|
|
29
|
+
if (workspace.accessMode === 'account') {
|
|
30
|
+
return unique(accountMembers.map((m) => m.userId));
|
|
31
|
+
}
|
|
32
|
+
const rostered = new Set(workspaceMemberUserIds);
|
|
33
|
+
return unique(accountMembers
|
|
34
|
+
.filter((m) => m.roles.includes('admin') || rostered.has(m.userId))
|
|
35
|
+
.map((m) => m.userId));
|
|
36
|
+
}
|
|
37
|
+
function unique(ids) {
|
|
38
|
+
return [...new Set(ids)];
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=notification-audience.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notification-audience.js","sourceRoot":"","sources":["../../src/domain/notification-audience.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,oFAAoF;AACpF,mFAAmF;AACnF,EAAE;AACF,wFAAwF;AACxF,qFAAqF;AACrF,wFAAwF;AACxF,qFAAqF;AACrF,uFAAuF;AACvF,mFAAmF;AACnF,EAAE;AACF,6DAA6D;AAC7D,8EAA8E;AAoB9E;;;;;;;;;GASG;AACH,MAAM,UAAU,2BAA2B,CAAC,KAAgC;IAC1E,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,sBAAsB,EAAE,GAAG,KAAK,CAAA;IACnE,IAAI,SAAS,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;QACjC,OAAO,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC7D,CAAC;IACD,IAAI,SAAS,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACvC,OAAO,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;IACpD,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,sBAAsB,CAAC,CAAA;IAChD,OAAO,MAAM,CACX,cAAc;SACX,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;SAClE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CACxB,CAAA;AACH,CAAC;AAED,SAAS,MAAM,CAAC,GAAa;IAC3B,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;AAC1B,CAAC"}
|
package/dist/domain/types.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export type { AgentKind, AgentState, AgentFailure, AgentFailureKind, AgentRunKind, ModelFamily, ModelFamilyPolicy, ModelPolicyMode, AccountRegion, ModelFamilyPolicyPreset, Block, BlockLevel, BlockStatus, BlockType, TaskType, CreateTaskType, TaskTypeFields, CustomTaskType, TaskTypePresentation, TaskTypeFieldDescriptor, TaskTypeFieldType, TaskTypeFieldOption, DescriptorField, DescriptorFieldType, DescriptorFieldOption, DescriptorFieldShowWhen, DescriptorFieldValue, DescriptorFieldValues, DocKind, Decision, EnvConfigRepairJob, EnvConfigRepairStatus, EnvironmentTestRun, EnvironmentTestStage, EnvironmentTestStatus, ExecutionInstance, ExecutionStatus, IntakeOrigin, InputGateIssue, InputGateIssueCode, InputGateMode, InputGateSeverity, InputGateStatus, RunInputGate, ResolveInputGateChoice, ResolveInputGateRequest, Pipeline, PipelineAvailability, PipelineStep, Position, PriorStepOutput, PromptFragment, PullRequestRef, PeerPullRequest, ReferenceRepo, AprioriBranch, SpendStatus, StepApproval, StepReviewComment, StepSubtasks, WebSearchAvailability, WebSearchProvider, Workspace, WorkspaceSnapshot, FragmentOwnerKind, FragmentTier, CreatePromptFragmentInput, CreateDocumentFragmentInput, UpdatePromptFragmentInput, FragmentSource, LinkFragmentSourceInput, FragmentSyncResult, FragmentSourceStatus, ResolvedFragment, ResolvedFragmentCatalog, Account, AccountType, AccountRole, AccountMember, CreateAccountInput, AddMemberInput, WorkspaceRole, WorkspacePermission, WorkspaceAccessMode, WorkspaceMember, Service, WorkspaceMount, MountServiceInput, UpdateMountInput, GitHubBranch, GitHubCheckRun, GitHubCommit, GitHubConnection, GitHubInstallationOption, GitHubAvailableRepo, GitHubIssue, GitHubIssueState, GitHubPullRequest, GitHubPullRequestState, OpenedPullRequest, GitHubRepo, RepoTreeEntry, SetRepoMonorepoInput, CommitFilesInput, LinkReposInput, OpenPullRequestInput, MergePullRequestInput, ProviderConfigFieldType, ProviderConfigField, ProviderDescriptor, ConnectionTestResult, ConnectionWarning, ConnectionWarningCode, UserSecretKind, UserSecretStatus, StoreUserSecretInput, TestUserSecretInput, UserSecretDescriptor, DocumentSourceKind, DocumentOrigin, DocumentLinkRole, DocumentRenderStatus, DocumentSourceDescriptor, CredentialField, DocumentConnection, SourceDocument, DocumentSearchResult, DocumentBoardPlan, PlanFrame, PlanModule, PlanTask, TaskSourceKind, TaskSourceDescriptor, TaskSourceState, TaskSourceDiagnostic, TaskSourceDiagnosticStatus, TaskConnection, TaskComment, TaskDependencyLink, SourceTask, TaskSearchResult, IssueIntakePredicate, TrackerBoard, BugCandidate, BugHuntAnalysis, BugHuntAnalysisStatus, BugHuntCandidate, BugHuntConfidence, BugHuntResult, RunBugHuntInput, EnvironmentSecretRef, EnvironmentAuthScheme, EnvironmentHttpMethod, EnvironmentRequestTemplate, EnvironmentStatus, TeardownConfirmation, EnvironmentAccessScheme, EnvironmentAccessMapping, EnvironmentResponseMapping, EnvironmentManifest, EnvironmentBackendConfig, EnvironmentBackendKind, KubernetesEnvironmentConfig, KubernetesManifestSource, KubernetesUrlSource, KubernetesRenderer, KubernetesImageOverride, KubernetesHelmRelease, KubernetesHelmSet, KubernetesSecretEntry, KubernetesSecretInjection, KubernetesProvisionConfig, CloudflareEnvironmentConfig, ProvisionType, EnvironmentFailureReason, InfraEngine, ManifestId, ServiceProvisioning, StackRecipe, RecipeStep, RecipeStepKind, RecipeHealthGate, RecipeEnvFile, PreflightCheckId, PreflightParams, PreflightRef, PreflightStatus, PreflightResult, FrontendConfig, FrontendBackendBinding, FrontendBackendSource, ResolvedFrontendBinding, LiveEnvHandle, ServiceConnection, KubernetesEngineConfig, InfraHandlerConfig, CustomManifestType, CustomManifestTypeSource, UpsertCustomManifestTypeInput, EnvironmentAccessHandle, EnvironmentHandle, EnvironmentConnection, TestEnvironmentConnectionInput, TestEnvironmentHandlerInput, ValidateEnvironmentRepoInput, BootstrapEnvironmentRepoInput, BootstrapRepoResult, TestSecretRef, TestSecretEntry, ServiceTestSecretsView, UpsertServiceTestSecretsInput, ProvisioningSubsystem, ProvisioningOperation, ProvisioningOutcome, ProvisioningLogEntry, RunnerPoolSecretRef, RunnerPoolAuthScheme, RunnerPoolRequestTemplate, RunnerJobState, RunnerPoolResponseMapping, RunnerPoolManifest, RunnerPoolConnection, TestRunnerPoolConnectionInput, RunnerBackendConfig, RunnerBackendKind, KubernetesRunnerConfig, KubernetesResourceQuantities, ReferenceArchitecture, CreateReferenceArchitectureInput, UpdateReferenceArchitectureInput, BootstrapStatus, BootstrapFailure, BootstrapFailureKind, BootstrapJob, BootstrapRepoInput, BlueprintModule, BlueprintService, BlueprintSource, BoardScanSpawnResult, ReviewItemCategory, ReviewItemSeverity, ReviewItemStatus, RequirementReviewItem, RequirementReviewStatus, RequirementReview, DocInterviewQa, DocInterviewStatus, DocInterviewSession, AnswerDocInterviewInput, KaizenGradingStatus, KaizenGrading, KaizenVerifiedCombo, KaizenOverview, KaizenRunGradings, RecommendationStatus, RequirementRecommendation, ReplyReviewItemInput, UpdateReviewItemStatusInput, IncorporateRequirementsInput, RequestRecommendationItem, RequestRecommendationsInput, ReRequestRecommendationInput, ResolveRequirementsExceededInput, ResolveRequirementsExceededChoice, FollowUpItemKind, FollowUpItemStatus, FollowUpItem, FollowUpsStepState, AnswerFollowUpInput, StreamedFollowUp, ForkOption, ForkChatMessage, ForkDecisionStatus, ForkChoice, ForkDecisionStepState, ForkChatRequestInput, ChooseForkInput, ForkProposal, JudgeFindingSeverity, JudgeFinding, JudgeVerdict, JudgeDisposition, JudgeStatus, JudgeRound, JudgeStepState, JudgeModelPin, JudgeModelPinStatus, ResolveJudgeInput, PrReviewSeverity, PrReviewCategory, PrReviewSlice, PrReviewSliceReview, PrReviewFinding, PrReviewFindingChallenge, PrReviewStatus, PrReviewResolution, PrReviewStepState, PrReviewPostReport, PrReviewPostFailure, PrReviewAgentOutput, PrReviewChallengeOutput, ResolvePrReviewInput, ChallengePrReviewFindingInput, ClarityReviewItem, ClarityReviewStatus, ClarityReview, ReplyClarityItemInput, UpdateClarityItemStatusInput, IncorporateClarityInput, ResolveClarityExceededInput, ResolveClarityExceededChoice, BrainstormStage, BrainstormItem, BrainstormStatus, BrainstormSession, ReplyBrainstormItemInput, UpdateBrainstormItemStatusInput, IncorporateBrainstormInput, ResolveBrainstormExceededInput, ResolveBrainstormExceededChoice, IterationCapChoice, ResolveIterationCapInput, RequirementPriority, RequirementKind,
|
|
2
2
|
/** Implementation state: agreed-but-not-built vs observed-to-hold. */
|
|
3
|
-
RequirementState, AcceptanceCriterion, RequirementItem, DomainRule, RequirementGroup, SpecModule, SpecDoc, CompanionAssessment, CompanionVerdict, GateStepState, GateFailingCheck, GateAttempt, RalphStepState, RalphVerdict, RalphAttempt, ValidationCheck, ValidationCheckOutcome, ValidationReport, ResolvedValidationChecks, ServiceValidationConfig, UpsertServiceValidationConfigInput, ReproductionProofMode, ResolvedReproduction, ReproductionStatus, ReproductionPhaseOutcome, ReproductionReport, HumanTestStepState, HumanTestEnvironment, HumanTestRound, RequestHumanTestFixInput, VisualConfirmStepState, VisualConfirmPair, VisualConfirmRound, MergeAssessment, MergeAxis, MergeDecision, MergeDecisionThresholds, MergeClassRule, MergeClassRules, ClassRulesByRole, SubmissionClassesByRole, RunMode, ChangeClass, ReviewEffort, MergeTrackDecision, MergeTrackRecord, MergeClassRollup, ReviewEffortDistribution, TagReviewEffortInput, PrVerificationReport, PrReportScope, PrReportOwnPullRequest, PrReportSectionStatus, PrReportStep, PrReportIssue, PrReportJudge, PrReportRun, PrReportCheck, PrReportCi, PrReportTestOutcome, PrReportTestConcern, PrReportTests, PrReportContext, PrReportContextDocument, PrReportValidation, PrReportValidationCommand, PrReportReproduction, PrReportReproductionPhase, PrReportEnvironment, PrReportEnvironments, PrReportEnvironmentTimeline, PrReportTimelineGap, PrReportEnvironmentEvidence, PrReportEvidenceArtifact, PrReportRequirement, PrReportRequirements, PrReportMerge, PrReportObservability, RiskPolicy, RequirementConcernLevel, CreateRiskPolicyInput, UpdateRiskPolicyInput, ComposeFileRef, ComposeSource, ComposeSourceKind, SharedStack, SharedStackStatus, CreateSharedStackInput, UpdateSharedStackInput, DetectSharedStackInput, SharedStackRecommendation, ConsensusStrategy, ConsensusParticipant, ConsensusGating, StepGating, ConsensusStepConfig, ConsensusGroup, CreateConsensusGroupInput, UpdateConsensusGroupInput, TaskEstimate, ConsensusScore, ConsensusContribution, ConsensusRound, ConsensusSessionStatus, ConsensusSession, AgentConfigOption, AgentConfigDescriptor, AgentConfigCatalog, AgentConfigValues, TestReport, TestOutcome, TestConcern, TestConcernSeverity, RequirementVerdict, RequirementVerdictStatus, TesterQualityConfig, StepOptions, StepGateConfig, GateApproverPolicy, GateApprovalRecord, CloudProvider, InstanceSize, UpdateAccountInput, ModelFlavor, ModelPreset, CreateModelPresetInput, UpdateModelPresetInput, AgentPromptRevision, AgentPromptDetail, AgentPromptSummary, SaveAgentPromptInput, PromoteAgentPromptInput, WorkspaceAgentSettings, UpdateWorkspaceAgentSettingsInput, ServiceFragmentDefaults, SetServiceFragmentDefaultsInput, Notification, NotificationType, NotificationStatus, NotificationSeverity, NotificationPayload, ResolveNotificationAction, WorkspaceSettings, UpdateWorkspaceSettingsInput, TaskLimitMode, TaskLimitPerType, UserSettings, UpdateUserSettingsInput, TutorialProgress, TutorialDecision, UpdateTutorialProgressInput, TutorialEvent, RecordTutorialEventInput, SlackConnection, SlackRoute, SlackNotificationSettings, SlackMemberMappingEntry, SlackMemberRole, SlackMemberMapping, SlackChannel, ConnectSlackByTokenInput, UpdateSlackSettingsInput, UpdateSlackMemberMappingInput, ScheduleTemplate, Recurrence, IssueIntakeConfig, PipelineSchedule, ScheduleRun, CreateScheduleInput, UpdateScheduleInput, TrackerKind, TrackerSettings, PutTrackerSettingsInput, WritebackOverride, LlmCallActivity, SandboxPromptOrigin, SandboxPromptVersion, SandboxFixtureKind, SandboxRepoRef, SandboxFixtureObjective, SandboxFixture, SandboxExperimentStatus, SandboxMatrix, SandboxExperiment, SandboxRunStatus, SandboxTokenUsage, SandboxRun, SandboxGradeDimension, SandboxObjectiveResult, SandboxGrade, Initiative, InitiativeStatus, InitiativeItem, InitiativeItemStatus, InitiativePhase, InitiativeEstimate, InitiativePipelineRule, InitiativeExecutionPolicy, InitiativeDecision, InitiativeDeviation, InitiativeFollowUp, InitiativeQa, InitiativeQaStatus, InitiativeInterviewState, InitiativePlanDraft, InitiativeDraftItem, InitiativeVersion, CreateInitiativeInput, AnswerInitiativeQuestionInput, PromoteInitiativeFollowUpInput, UpdateInitiativeItemInput, UpdateInitiativePolicyInput, AccountSettingsConfig, ContentStorageConfig, FigmaOAuthSecret, LinearOAuthSecret, S3CredentialsSecret, SlackOAuthSecret, WebSearchSecret, } from '@cat-factory/contracts';
|
|
3
|
+
RequirementState, AcceptanceCriterion, RequirementItem, DomainRule, RequirementGroup, SpecModule, SpecDoc, CompanionAssessment, CompanionVerdict, GateStepState, GateFailingCheck, GateAttempt, RalphStepState, RalphVerdict, RalphAttempt, ValidationCheck, ValidationCheckOutcome, ValidationReport, ResolvedValidationChecks, ServiceValidationConfig, UpsertServiceValidationConfigInput, ReproductionProofMode, ResolvedReproduction, ReproductionStatus, ReproductionPhaseOutcome, ReproductionReport, HumanTestStepState, HumanTestEnvironment, HumanTestRound, RequestHumanTestFixInput, VisualConfirmStepState, VisualConfirmPair, VisualConfirmReferenceOrigin, VisualConfirmDesignGap, VisualConfirmDesignGapReason, VisualConfirmDesignReferences, VisualConfirmRound, MergeAssessment, MergeAxis, MergeDecision, MergeDecisionThresholds, MergeClassRule, MergeClassRules, ClassRulesByRole, SubmissionClassesByRole, RunMode, ChangeClass, ReviewEffort, MergeTrackDecision, MergeTrackRecord, MergeClassRollup, ReviewEffortDistribution, TagReviewEffortInput, PrVerificationReport, PrReportScope, PrReportOwnPullRequest, PrReportSectionStatus, PrReportStep, PrReportIssue, PrReportJudge, PrReportRun, PrReportCheck, PrReportCi, PrReportTestOutcome, PrReportTestConcern, PrReportTests, PrReportContext, PrReportContextDocument, PrReportValidation, PrReportValidationCommand, PrReportReproduction, PrReportReproductionPhase, PrReportEnvironment, PrReportEnvironments, PrReportEnvironmentTimeline, PrReportTimelineGap, PrReportEnvironmentEvidence, PrReportEvidenceArtifact, PrReportRequirement, PrReportRequirements, PrReportMerge, PrReportObservability, RiskPolicy, RequirementConcernLevel, CreateRiskPolicyInput, UpdateRiskPolicyInput, ComposeFileRef, ComposeSource, ComposeSourceKind, SharedStack, SharedStackStatus, CreateSharedStackInput, UpdateSharedStackInput, DetectSharedStackInput, SharedStackRecommendation, ConsensusStrategy, ConsensusParticipant, ConsensusGating, StepGating, ConsensusStepConfig, ConsensusGroup, CreateConsensusGroupInput, UpdateConsensusGroupInput, TaskEstimate, ConsensusScore, ConsensusContribution, ConsensusRound, ConsensusSessionStatus, ConsensusSession, AgentConfigOption, AgentConfigDescriptor, AgentConfigCatalog, AgentConfigValues, TestReport, TestOutcome, TestConcern, TestConcernSeverity, RequirementVerdict, RequirementVerdictStatus, TesterQualityConfig, StepOptions, StepGateConfig, GateApproverPolicy, GateApprovalRecord, CloudProvider, InstanceSize, UpdateAccountInput, ModelFlavor, ModelPreset, CreateModelPresetInput, UpdateModelPresetInput, AgentPromptRevision, AgentPromptDetail, AgentPromptSummary, SaveAgentPromptInput, PromoteAgentPromptInput, WorkspaceAgentSettings, UpdateWorkspaceAgentSettingsInput, ServiceFragmentDefaults, SetServiceFragmentDefaultsInput, Notification, NotificationType, NotificationStatus, NotificationSeverity, NotificationPayload, ResolveNotificationAction, NotificationDeliveryChannel, NotificationChannelOverrides, NotificationRoutingMatrix, NotificationSettings, UpdateNotificationSettingsInput, WorkspaceSettings, UpdateWorkspaceSettingsInput, TaskLimitMode, TaskLimitPerType, UserSettings, UpdateUserSettingsInput, TutorialProgress, TutorialDecision, UpdateTutorialProgressInput, TutorialEvent, RecordTutorialEventInput, SlackConnection, SlackRoute, SlackNotificationSettings, SlackMemberMappingEntry, SlackMemberRole, SlackMemberMapping, SlackChannel, ConnectSlackByTokenInput, UpdateSlackSettingsInput, UpdateSlackMemberMappingInput, ScheduleTemplate, Recurrence, IssueIntakeConfig, PipelineSchedule, ScheduleRun, CreateScheduleInput, UpdateScheduleInput, TrackerKind, TrackerSettings, PutTrackerSettingsInput, WritebackOverride, LlmCallActivity, SandboxPromptOrigin, SandboxPromptVersion, SandboxFixtureKind, SandboxRepoRef, SandboxFixtureObjective, SandboxFixture, SandboxExperimentStatus, SandboxMatrix, SandboxExperiment, SandboxRunStatus, SandboxTokenUsage, SandboxRun, SandboxGradeDimension, SandboxObjectiveResult, SandboxGrade, Initiative, InitiativeStatus, InitiativeItem, InitiativeItemStatus, InitiativePhase, InitiativeEstimate, InitiativePipelineRule, InitiativeExecutionPolicy, InitiativeDecision, InitiativeDeviation, InitiativeFollowUp, InitiativeQa, InitiativeQaStatus, InitiativeInterviewState, InitiativePlanDraft, InitiativeDraftItem, InitiativeVersion, CreateInitiativeInput, AnswerInitiativeQuestionInput, PromoteInitiativeFollowUpInput, UpdateInitiativeItemInput, UpdateInitiativePolicyInput, AccountSettingsConfig, ContentStorageConfig, FigmaOAuthSecret, LinearOAuthSecret, S3CredentialsSecret, SlackOAuthSecret, WebSearchSecret, } from '@cat-factory/contracts';
|
|
4
4
|
/**
|
|
5
5
|
* A backend-prepared file to inject into a container agent's `.cat-context/` directory before
|
|
6
6
|
* it runs — the deterministic analogue of the linked-doc context the executor already
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/domain/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/domain/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,29 @@
|
|
|
1
1
|
import type { VcsProvider } from './vcs-types.js';
|
|
2
|
+
import { UnavailableError } from './errors.js';
|
|
3
|
+
/**
|
|
4
|
+
* A provider-routing VCS client was asked for a member the ROUTED provider's client does not
|
|
5
|
+
* implement, while the other configured provider's does. Thrown by
|
|
6
|
+
* `providerRoutingGitHubClient` (`@cat-factory/server`) and lives here so a consumer BELOW the
|
|
7
|
+
* server layer can catch it.
|
|
8
|
+
*
|
|
9
|
+
* A distinct class rather than a bare {@link UnavailableError} because the two facts need
|
|
10
|
+
* different handling and only the caller knows which it can absorb: the generic 503 says "this
|
|
11
|
+
* deployment has not configured the capability", a build problem an operator fixes by wiring
|
|
12
|
+
* something, while this is a permanent property of the provider the workspace CONNECTED, which
|
|
13
|
+
* no amount of wiring changes. A caller that already models "the client cannot answer this"
|
|
14
|
+
* (`GitHubService.checkDefaultBranchProtection`'s `capability: 'unavailable'`) reports that;
|
|
15
|
+
* one that does not lets it surface as the 503 it is.
|
|
16
|
+
*
|
|
17
|
+
* Surfacing is only honest because the reason is a member of contracts' `UNAVAILABLE_REASONS`
|
|
18
|
+
* and the SPA keys its own copy off it. Without that entry the 503 renders as the generic
|
|
19
|
+
* "not configured" wording, so the class would state the distinction in its own message while
|
|
20
|
+
* the only text a user reads asserts the opposite.
|
|
21
|
+
*/
|
|
22
|
+
export declare class VcsCapabilityUnsupportedError extends UnavailableError {
|
|
23
|
+
readonly provider: VcsProvider;
|
|
24
|
+
readonly operation: string;
|
|
25
|
+
constructor(provider: VcsProvider, operation: string);
|
|
26
|
+
}
|
|
2
27
|
/** In-repo docs the VCS remedies deep-link to. */
|
|
3
28
|
export declare const VCS_DOC_URLS: {
|
|
4
29
|
/** GitHub connect / repo linking. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vcs-errors.d.ts","sourceRoot":"","sources":["../../src/domain/vcs-errors.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"vcs-errors.d.ts","sourceRoot":"","sources":["../../src/domain/vcs-errors.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAY9C;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,6BAA8B,SAAQ,gBAAgB;IAE/D,QAAQ,CAAC,QAAQ,EAAE,WAAW;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM;IAF5B,YACW,QAAQ,EAAE,WAAW,EACrB,SAAS,EAAE,MAAM,EAM3B;CACF;AAOD,kDAAkD;AAClD,eAAO,MAAM,YAAY;IACvB,qCAAqC;aACrC,iBAAiB;IACjB,oCAAoC;aACpC,gBAAgB;IAChB,oDAAoD;aACpD,YAAY;CACJ,CAAA;AAEV,mFAAmF;AACnF,eAAO,MAAM,oBAAoB;aAC/B,aAAa,EAAE,2CAA2C;CAClD,CAAA;AAEV,yFAAyF;AACzF,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,WAAW,CAAA;IACrB,8CAA8C;IAC9C,MAAM,EAAE,MAAM,CAAA;IACd,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAA;IACd,gDAAgD;IAChD,GAAG,EAAE,MAAM,CAAA;IACX,oFAAoF;IACpF,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,6FAA6F;IAC7F,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACxB;AAmDD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,mBAAmB,GAAG,MAAM,CAMpE"}
|
|
@@ -15,6 +15,47 @@
|
|
|
15
15
|
// `@cat-factory/gitlab`) but share `@cat-factory/kernel`, so keeping the copy here keeps the two
|
|
16
16
|
// providers' remedies from drifting and lets the mapping be unit-tested in one place.
|
|
17
17
|
// ---------------------------------------------------------------------------
|
|
18
|
+
import { UnavailableError } from './errors.js';
|
|
19
|
+
/**
|
|
20
|
+
* Typed against the SHARED vocabulary rather than passed as a bare string, because this reason
|
|
21
|
+
* only does its job if the SPA has copy keyed to it. `UnavailableError.reason` is `string` on
|
|
22
|
+
* purpose (most reasons are internal and never reach a human), so nothing else would notice if
|
|
23
|
+
* the entry were dropped from `UNAVAILABLE_REASONS`: the refusal would keep working and quietly
|
|
24
|
+
* fall back to the generic "not configured" wording this class exists to avoid. Naming the union
|
|
25
|
+
* here turns that into a build failure.
|
|
26
|
+
*/
|
|
27
|
+
const VCS_CAPABILITY_UNSUPPORTED = 'vcs_capability_unsupported';
|
|
28
|
+
/**
|
|
29
|
+
* A provider-routing VCS client was asked for a member the ROUTED provider's client does not
|
|
30
|
+
* implement, while the other configured provider's does. Thrown by
|
|
31
|
+
* `providerRoutingGitHubClient` (`@cat-factory/server`) and lives here so a consumer BELOW the
|
|
32
|
+
* server layer can catch it.
|
|
33
|
+
*
|
|
34
|
+
* A distinct class rather than a bare {@link UnavailableError} because the two facts need
|
|
35
|
+
* different handling and only the caller knows which it can absorb: the generic 503 says "this
|
|
36
|
+
* deployment has not configured the capability", a build problem an operator fixes by wiring
|
|
37
|
+
* something, while this is a permanent property of the provider the workspace CONNECTED, which
|
|
38
|
+
* no amount of wiring changes. A caller that already models "the client cannot answer this"
|
|
39
|
+
* (`GitHubService.checkDefaultBranchProtection`'s `capability: 'unavailable'`) reports that;
|
|
40
|
+
* one that does not lets it surface as the 503 it is.
|
|
41
|
+
*
|
|
42
|
+
* Surfacing is only honest because the reason is a member of contracts' `UNAVAILABLE_REASONS`
|
|
43
|
+
* and the SPA keys its own copy off it. Without that entry the 503 renders as the generic
|
|
44
|
+
* "not configured" wording, so the class would state the distinction in its own message while
|
|
45
|
+
* the only text a user reads asserts the opposite.
|
|
46
|
+
*/
|
|
47
|
+
export class VcsCapabilityUnsupportedError extends UnavailableError {
|
|
48
|
+
provider;
|
|
49
|
+
operation;
|
|
50
|
+
constructor(provider, operation) {
|
|
51
|
+
super(`The ${provider} client does not support ${operation}`, VCS_CAPABILITY_UNSUPPORTED, {
|
|
52
|
+
provider,
|
|
53
|
+
operation,
|
|
54
|
+
});
|
|
55
|
+
this.provider = provider;
|
|
56
|
+
this.operation = operation;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
18
59
|
// In-repo docs are linked as stable GitHub blob URLs on `main`. Kernel sits BELOW the server
|
|
19
60
|
// layer, so it cannot import `@cat-factory/server`'s `config/docs.ts`; per the doc-URL convention
|
|
20
61
|
// a package outside the server layer keeps its own equivalent — this is that equivalent.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vcs-errors.js","sourceRoot":"","sources":["../../src/domain/vcs-errors.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"vcs-errors.js","sourceRoot":"","sources":["../../src/domain/vcs-errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
* - Runtime-specific tables that only exist on one facade (e.g. the Cloudflare-only
|
|
21
21
|
* `live_containers` Durable-Object tracking table) are appended by that facade.
|
|
22
22
|
*/
|
|
23
|
-
export declare const WORKSPACE_SCOPED_TABLES: readonly ['agent_prompt_revisions', 'agent_runs', 'blocks', 'brainstorm_sessions', 'capability_credentials', 'clarity_reviews', 'consensus_groups', 'consensus_sessions', 'custom_manifest_types', 'doc_interview_sessions', 'document_connections', 'documents', 'environment_connections', 'environment_test_runs', 'environment_user_handlers', 'environments', 'gate_outcomes', 'github_branches', 'github_check_runs', 'github_commits', 'github_installations', 'github_issues', 'github_pull_requests', 'github_repos', 'incident_enrichment_connections', 'initiatives', 'kaizen_gradings', 'kaizen_verified_combos', 'mcp_oauth_grants', 'merge_threshold_presets', 'merge_track_records', 'model_presets', 'notification_webhooks', 'notifications', 'observability_connections', 'package_registry_connections', 'pipeline_schedule_runs', 'pipeline_schedules', 'pipelines', 'platform_run_days', 'provider_model_catalog', 'provider_subscription_tokens', 'public_api_keys', 'reference_architectures', 'release_health_configs', 'requirement_reviews', 'review_question_posts', 'runner_pool_connections', 'shared_stacks', 'slack_settings', 'task_connections', 'task_source_settings', 'task_type_suppressions', 'tasks', 'test_secrets', 'tracker_comment_ingests', 'token_usage', 'tracker_settings', 'validation_configs', 'workspace_agent_settings', 'workspace_fragment_defaults', 'workspace_members', 'workspace_settings'];
|
|
23
|
+
export declare const WORKSPACE_SCOPED_TABLES: readonly ['agent_prompt_revisions', 'agent_runs', 'blocks', 'brainstorm_sessions', 'capability_credentials', 'clarity_reviews', 'consensus_groups', 'consensus_sessions', 'custom_manifest_types', 'doc_interview_sessions', 'document_connections', 'documents', 'environment_connections', 'environment_test_runs', 'environment_user_handlers', 'environments', 'gate_outcomes', 'github_branches', 'github_check_runs', 'github_commits', 'github_installations', 'github_issues', 'github_pull_requests', 'github_repos', 'incident_enrichment_connections', 'initiatives', 'kaizen_gradings', 'kaizen_verified_combos', 'mcp_oauth_grants', 'merge_threshold_presets', 'merge_track_records', 'model_presets', 'notification_settings', 'notification_webhooks', 'notifications', 'observability_connections', 'package_registry_connections', 'pipeline_schedule_runs', 'pipeline_schedules', 'pipelines', 'platform_run_days', 'provider_model_catalog', 'provider_subscription_tokens', 'public_api_keys', 'reference_architectures', 'release_health_configs', 'requirement_reviews', 'review_question_posts', 'runner_pool_connections', 'shared_stacks', 'slack_settings', 'task_connections', 'task_source_settings', 'task_type_suppressions', 'tasks', 'test_secrets', 'tracker_comment_ingests', 'token_usage', 'tracker_settings', 'validation_configs', 'workspace_agent_settings', 'workspace_fragment_defaults', 'workspace_members', 'workspace_settings'];
|
|
24
24
|
export type WorkspaceScopedTable = (typeof WORKSPACE_SCOPED_TABLES)[number];
|
|
25
25
|
/**
|
|
26
26
|
* Tables that carry a `workspace_id` column but are NOT in {@link WORKSPACE_SCOPED_TABLES}:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-cascade.d.ts","sourceRoot":"","sources":["../../src/domain/workspace-cascade.ts"],"names":[],"mappings":"AAyBA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,uBAAuB,YAClC,wBAAwB,EACxB,YAAY,EACZ,QAAQ,EACR,qBAAqB,EACrB,wBAAwB,EACxB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,EACtB,WAAW,EACX,yBAAyB,EACzB,uBAAuB,EACvB,2BAA2B,EAC3B,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,eAAe,EACf,sBAAsB,EACtB,cAAc,EACd,iCAAiC,EACjC,aAAa,EACb,iBAAiB,EACjB,wBAAwB,EACxB,kBAAkB,EAClB,yBAAyB,EACzB,qBAAqB,EACrB,eAAe,EACf,uBAAuB,EACvB,eAAe,EACf,2BAA2B,EAC3B,8BAA8B,EAC9B,wBAAwB,EACxB,oBAAoB,EACpB,WAAW,EACX,mBAAmB,EACnB,wBAAwB,EACxB,8BAA8B,EAC9B,iBAAiB,EACjB,yBAAyB,EACzB,wBAAwB,EACxB,qBAAqB,EACrB,uBAAuB,EACvB,yBAAyB,EACzB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,sBAAsB,EACtB,wBAAwB,EACxB,OAAO,EACP,cAAc,EACd,yBAAyB,EACzB,aAAa,EACb,kBAAkB,EAClB,oBAAoB,EACpB,0BAA0B,EAC1B,6BAA6B,EAC7B,mBAAmB,EACnB,oBAAoB,CACZ,CAAA;AAEV,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAA;AAE3E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,gCAAgC,YAC3C,oBAAoB,EACpB,kBAAkB,EAClB,YAAY,CACJ,CAAA"}
|
|
1
|
+
{"version":3,"file":"workspace-cascade.d.ts","sourceRoot":"","sources":["../../src/domain/workspace-cascade.ts"],"names":[],"mappings":"AAyBA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,uBAAuB,YAClC,wBAAwB,EACxB,YAAY,EACZ,QAAQ,EACR,qBAAqB,EACrB,wBAAwB,EACxB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,EACtB,WAAW,EACX,yBAAyB,EACzB,uBAAuB,EACvB,2BAA2B,EAC3B,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,eAAe,EACf,sBAAsB,EACtB,cAAc,EACd,iCAAiC,EACjC,aAAa,EACb,iBAAiB,EACjB,wBAAwB,EACxB,kBAAkB,EAClB,yBAAyB,EACzB,qBAAqB,EACrB,eAAe,EACf,uBAAuB,EACvB,uBAAuB,EACvB,eAAe,EACf,2BAA2B,EAC3B,8BAA8B,EAC9B,wBAAwB,EACxB,oBAAoB,EACpB,WAAW,EACX,mBAAmB,EACnB,wBAAwB,EACxB,8BAA8B,EAC9B,iBAAiB,EACjB,yBAAyB,EACzB,wBAAwB,EACxB,qBAAqB,EACrB,uBAAuB,EACvB,yBAAyB,EACzB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,sBAAsB,EACtB,wBAAwB,EACxB,OAAO,EACP,cAAc,EACd,yBAAyB,EACzB,aAAa,EACb,kBAAkB,EAClB,oBAAoB,EACpB,0BAA0B,EAC1B,6BAA6B,EAC7B,mBAAmB,EACnB,oBAAoB,CACZ,CAAA;AAEV,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAA;AAE3E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,gCAAgC,YAC3C,oBAAoB,EACpB,kBAAkB,EAClB,YAAY,CACJ,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-cascade.js","sourceRoot":"","sources":["../../src/domain/workspace-cascade.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,+EAA+E;AAC/E,2EAA2E;AAC3E,kFAAkF;AAClF,kFAAkF;AAClF,iFAAiF;AACjF,kFAAkF;AAClF,mFAAmF;AACnF,2CAA2C;AAC3C,EAAE;AACF,kFAAkF;AAClF,kFAAkF;AAClF,8EAA8E;AAC9E,0EAA0E;AAC1E,EAAE;AACF,4EAA4E;AAC5E,mFAAmF;AACnF,2EAA2E;AAC3E,+EAA+E;AAC/E,oFAAoF;AACpF,mFAAmF;AACnF,mFAAmF;AACnF,oFAAoF;AACpF,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,wBAAwB;IACxB,YAAY;IACZ,QAAQ;IACR,qBAAqB;IACrB,wBAAwB;IACxB,iBAAiB;IACjB,kBAAkB;IAClB,oBAAoB;IACpB,uBAAuB;IACvB,wBAAwB;IACxB,sBAAsB;IACtB,WAAW;IACX,yBAAyB;IACzB,uBAAuB;IACvB,2BAA2B;IAC3B,cAAc;IACd,eAAe;IACf,iBAAiB;IACjB,mBAAmB;IACnB,gBAAgB;IAChB,sBAAsB;IACtB,eAAe;IACf,sBAAsB;IACtB,cAAc;IACd,iCAAiC;IACjC,aAAa;IACb,iBAAiB;IACjB,wBAAwB;IACxB,kBAAkB;IAClB,yBAAyB;IACzB,qBAAqB;IACrB,eAAe;IACf,uBAAuB;IACvB,eAAe;IACf,2BAA2B;IAC3B,8BAA8B;IAC9B,wBAAwB;IACxB,oBAAoB;IACpB,WAAW;IACX,mBAAmB;IACnB,wBAAwB;IACxB,8BAA8B;IAC9B,iBAAiB;IACjB,yBAAyB;IACzB,wBAAwB;IACxB,qBAAqB;IACrB,uBAAuB;IACvB,yBAAyB;IACzB,eAAe;IACf,gBAAgB;IAChB,kBAAkB;IAClB,sBAAsB;IACtB,wBAAwB;IACxB,OAAO;IACP,cAAc;IACd,yBAAyB;IACzB,aAAa;IACb,kBAAkB;IAClB,oBAAoB;IACpB,0BAA0B;IAC1B,6BAA6B;IAC7B,mBAAmB;IACnB,oBAAoB;CACZ,CAAA;AAIV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC9C,oBAAoB;IACpB,kBAAkB;IAClB,YAAY;CACJ,CAAA"}
|
|
1
|
+
{"version":3,"file":"workspace-cascade.js","sourceRoot":"","sources":["../../src/domain/workspace-cascade.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,+EAA+E;AAC/E,2EAA2E;AAC3E,kFAAkF;AAClF,kFAAkF;AAClF,iFAAiF;AACjF,kFAAkF;AAClF,mFAAmF;AACnF,2CAA2C;AAC3C,EAAE;AACF,kFAAkF;AAClF,kFAAkF;AAClF,8EAA8E;AAC9E,0EAA0E;AAC1E,EAAE;AACF,4EAA4E;AAC5E,mFAAmF;AACnF,2EAA2E;AAC3E,+EAA+E;AAC/E,oFAAoF;AACpF,mFAAmF;AACnF,mFAAmF;AACnF,oFAAoF;AACpF,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,wBAAwB;IACxB,YAAY;IACZ,QAAQ;IACR,qBAAqB;IACrB,wBAAwB;IACxB,iBAAiB;IACjB,kBAAkB;IAClB,oBAAoB;IACpB,uBAAuB;IACvB,wBAAwB;IACxB,sBAAsB;IACtB,WAAW;IACX,yBAAyB;IACzB,uBAAuB;IACvB,2BAA2B;IAC3B,cAAc;IACd,eAAe;IACf,iBAAiB;IACjB,mBAAmB;IACnB,gBAAgB;IAChB,sBAAsB;IACtB,eAAe;IACf,sBAAsB;IACtB,cAAc;IACd,iCAAiC;IACjC,aAAa;IACb,iBAAiB;IACjB,wBAAwB;IACxB,kBAAkB;IAClB,yBAAyB;IACzB,qBAAqB;IACrB,eAAe;IACf,uBAAuB;IACvB,uBAAuB;IACvB,eAAe;IACf,2BAA2B;IAC3B,8BAA8B;IAC9B,wBAAwB;IACxB,oBAAoB;IACpB,WAAW;IACX,mBAAmB;IACnB,wBAAwB;IACxB,8BAA8B;IAC9B,iBAAiB;IACjB,yBAAyB;IACzB,wBAAwB;IACxB,qBAAqB;IACrB,uBAAuB;IACvB,yBAAyB;IACzB,eAAe;IACf,gBAAgB;IAChB,kBAAkB;IAClB,sBAAsB;IACtB,wBAAwB;IACxB,OAAO;IACP,cAAc;IACd,yBAAyB;IACzB,aAAa;IACb,kBAAkB;IAClB,oBAAoB;IACpB,0BAA0B;IAC1B,6BAA6B;IAC7B,mBAAmB;IACnB,oBAAoB;CACZ,CAAA;AAIV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC9C,oBAAoB;IACpB,kBAAkB;IAClB,YAAY;CACJ,CAAA"}
|