@cat-factory/server 0.285.0 → 0.286.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.
@@ -1 +1 @@
1
- {"version":3,"file":"BugHuntController.d.ts","sourceRoot":"","sources":["../../../src/modules/bugHunt/BugHuntController.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAI3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAuC/C,wBAAgB,iBAAiB,IAAI,IAAI,CAAC,MAAM,CAAC,CA0EhD"}
1
+ {"version":3,"file":"BugHuntController.d.ts","sourceRoot":"","sources":["../../../src/modules/bugHunt/BugHuntController.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAI3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AA+C/C,wBAAgB,iBAAiB,IAAI,IAAI,CAAC,MAAM,CAAC,CAqFhD"}
@@ -8,11 +8,19 @@ import { runInitiatorRole } from '../../http/runAdmission.js';
8
8
  import { blockEditAuthority } from '../../http/workspaceAccess.js';
9
9
  import { personalGateForBlock, readPersonalPassword } from '../providers/personalCredentialGate.js';
10
10
  import { requireCapability } from '../../http/guards.js';
11
+ import { resolveHuntBoard } from '../tasks/sourceRepoScope.js';
11
12
  // ---------------------------------------------------------------------------
12
- // Bug hunt: pick a connected tracker, pick one of its boards, get its open + unassigned bugs
13
- // ranked by impact against implementation complexity, confirm one, and have it adopted onto
14
- // the board and driven through the bug-fix pipeline. The interactive dual of the recurring
15
- // `bug-intake` step. See `backend/docs/bug-hunt.md`.
13
+ // Bug hunt: pick a connected tracker, scope the scan, get its open + unassigned bugs ranked by
14
+ // impact against implementation complexity, confirm one, and have it adopted onto the board and
15
+ // driven through the bug-fix pipeline. The interactive dual of the recurring `bug-intake` step.
16
+ // See `backend/docs/bug-hunt.md`.
17
+ //
18
+ // What SCOPES the scan is decided here rather than in the service, because it is the one part of
19
+ // a hunt that depends on the board: a REPO-BACKED source (GitHub Issues, GitLab Issues) hunts the
20
+ // repository the run's own service frame is linked to, which is the `resolveRepoTarget` ancestry
21
+ // walk the request container carries; every other source names a board of its own. Both resolve
22
+ // through the same helper the issue search scopes with, so the two surfaces cannot disagree about
23
+ // which sources have a board to pick.
16
24
  //
17
25
  // Member-tier by design, and deliberately NOT mounted alongside the admin-gated
18
26
  // `TaskSourceController`: a hunt neither reads nor edits a connection (the service resolves the
@@ -39,9 +47,10 @@ function sourceParam(c) {
39
47
  }
40
48
  export function bugHuntController() {
41
49
  const app = new Hono();
42
- // The boards a hunt can be scoped to (Jira projects / Linear teams / GitHub repos). A source
43
- // whose provider can't enumerate them raises a ValidationError the SPA turns into "type the
44
- // board in yourself", which is a usable answer; an empty list would not be.
50
+ // The boards a hunt can be scoped to (Jira projects / Linear teams). A source whose provider
51
+ // can't enumerate them raises a ValidationError the SPA turns into "type the board in
52
+ // yourself", which is a usable answer; an empty list would not be. A repo-backed source is
53
+ // refused with its own reason, because there is nothing to type either.
45
54
  buildHonoRoute(app, listTrackerBoardsContract, async (c) => {
46
55
  const tasks = requireTasks(c);
47
56
  const source = sourceParam(c);
@@ -53,7 +62,21 @@ export function bugHuntController() {
53
62
  // the ranked board scan, and the user picks from it.
54
63
  buildHonoRoute(app, runBugHuntContract, async (c) => {
55
64
  const tasks = requireTasks(c);
56
- const result = await tasks.bugHuntService.hunt(param(c, 'workspaceId'), sourceParam(c), c.req.valid('json'));
65
+ const source = sourceParam(c);
66
+ const { containerId, board, ...predicates } = c.req.valid('json');
67
+ // The source is settled FIRST, on the registry the service owns: what a hunt's board even is
68
+ // depends on the provider, so a source this deployment cannot hunt has no board question to
69
+ // answer and gets the refusal that names the capability instead.
70
+ const provider = tasks.bugHuntService.requireProvider(source);
71
+ // Resolved BEFORE the scan, and it can refuse: a repo-backed source whose service frame has
72
+ // no linked repository has no issues to hunt, and answering that with an unscoped vendor
73
+ // search would read every repository the credential can reach.
74
+ const resolvedBoard = await resolveHuntBoard(c, provider, { containerId, board });
75
+ const result = await tasks.bugHuntService.hunt(param(c, 'workspaceId'), source, {
76
+ board: resolvedBoard,
77
+ containerId,
78
+ ...predicates,
79
+ });
57
80
  return c.json(result, 200);
58
81
  });
59
82
  // Adopt the confirmed candidate: import the issue, materialise it as a `bug` task in the
@@ -1 +1 @@
1
- {"version":3,"file":"BugHuntController.js","sourceRoot":"","sources":["../../../src/modules/bugHunt/BugHuntController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BugHuntController.js","sourceRoot":"","sources":["../../../src/modules/bugHunt/BugHuntController.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"TaskSourceController.d.ts","sourceRoot":"","sources":["../../../src/modules/tasks/TaskSourceController.ts"],"names":[],"mappings":"AAyBA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAW3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAwG/C;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAAC,MAAM,CAAC,CAwOnD;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAAC,MAAM,CAAC,CAiCpD"}
1
+ {"version":3,"file":"TaskSourceController.d.ts","sourceRoot":"","sources":["../../../src/modules/tasks/TaskSourceController.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAW3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAsD/C;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAAC,MAAM,CAAC,CAwOnD;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAAC,MAAM,CAAC,CAiCpD"}
@@ -8,6 +8,7 @@ import { StateSigner } from '../../github/state.js';
8
8
  import { blockEditAuthority, mountWorkspacePermission } from '../../http/workspaceAccess.js';
9
9
  import { param } from '../../http/params.js';
10
10
  import { requireCapability } from '../../http/guards.js';
11
+ import { resolveSourceRepoScope } from './sourceRepoScope.js';
11
12
  /** Resolve the tasks module, or refuse with a 503 naming what isn't wired. */
12
13
  function requireTasks(c) {
13
14
  return requireCapability(c.get('container').tasks, 'Task-source integration is not configured');
@@ -28,54 +29,9 @@ function sourceParam(c) {
28
29
  }
29
30
  return source;
30
31
  }
31
- /**
32
- * Resolve the repository a REPO-BACKED source's search runs against, from the search's
33
- * originating block (a service frame or a task/module under one). A service is always created
34
- * from (or with) a repo, so such a search REQUIRES the link: if it can't be resolved we refuse
35
- * rather than silently widening it (the task couldn't run against an unlinked service anyway,
36
- * and an unscoped vendor issue search reaches every repository the credential can see, which
37
- * under a PAT is all of public GitHub, or every project on the GitLab instance). `blockId` is
38
- * required by the contract, so there is no unscoped surface left to skip.
39
- *
40
- * Which sources are repo-backed is read off the provider's declared `repoScope`, never a source
41
- * id compared here. A list in this function is a second authority that has to be edited in step
42
- * with the registry, and the failure when it is not is silent in exactly the wrong direction:
43
- * the provider refuses every search for want of a scope this function decided not to resolve,
44
- * so a source that imports fine can never be searched. An UNREGISTERED source resolves no scope
45
- * and reaches `importService.search`, which is where an unconfigured source is refused (the same
46
- * division of labour {@link sourceParam} documents).
47
- */
48
- async function resolveSearchScope(c, tasks, source, blockId) {
49
- const provider = tasks.registry.get(source);
50
- if (!provider?.repoScope)
51
- return null;
52
- const resolve = c.get('container').resolveRepoTarget;
53
- let target = null;
54
- try {
55
- target = resolve ? await resolve(param(c, 'workspaceId'), blockId) : null;
56
- }
57
- catch (err) {
58
- // `resolveRepoTarget` throws a ValidationError precisely when the block isn't under a
59
- // repo-linked service — the case this endpoint refuses below. Anything else (an
60
- // unexpected repo/DB failure) is NOT a "link a repo" problem, so let it propagate
61
- // rather than mislabel it; only the documented not-linked outcome falls through.
62
- if (!(err instanceof ValidationError))
63
- throw err;
64
- target = null;
65
- }
66
- if (!target) {
67
- // A machine-readable reason so the SPA can render a localized message; the prose is the
68
- // untranslated last resort (CLAUDE.md "Backend strings"). It names no vendor, because the
69
- // link that is missing is the board's own service→repo link and the source asking for it
70
- // may be any repo-backed one: naming GitHub here sends a GitLab deployment to an
71
- // integration it does not run.
72
- throw new ValidationError('This service is not linked to a repository. Link it to a repo before creating tasks from issues.', { reason: 'repo_not_linked' });
73
- }
74
- return { owner: target.owner, repo: target.name };
75
- }
76
32
  /**
77
33
  * Resolve the repo scope for the imported-issue LIST from an optional block. Unlike
78
- * {@link resolveSearchScope} this NEVER throws: the list spans every source, so a
34
+ * {@link resolveSourceRepoScope} this NEVER throws: the list spans every source, so a
79
35
  * repo-less service (or an unwired repo resolver) simply yields no scope and the list
80
36
  * is returned unfiltered rather than refused: the search endpoint is where an
81
37
  * unlinked service is rejected. A resolved scope narrows the rows of every repo-backed
@@ -232,7 +188,7 @@ export function taskSourceController() {
232
188
  const tasks = requireTasks(c);
233
189
  const source = sourceParam(c);
234
190
  const { query, blockId } = c.req.valid('json');
235
- const scope = await resolveSearchScope(c, tasks, source, blockId);
191
+ const scope = await resolveSourceRepoScope(c, tasks, source, blockId);
236
192
  const results = await tasks.importService.search(param(c, 'workspaceId'), source, query, scope);
237
193
  return c.json({ results }, 200);
238
194
  });
@@ -1 +1 @@
1
- {"version":3,"file":"TaskSourceController.js","sourceRoot":"","sources":["../../../src/modules/tasks/TaskSourceController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TaskSourceController.js","sourceRoot":"","sources":["../../../src/modules/tasks/TaskSourceController.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ import type { TaskSourceKind } from '@cat-factory/contracts';
2
+ import { type TaskSearchRepoScope, type TaskSourceProvider } from '@cat-factory/kernel';
3
+ import type { Context } from 'hono';
4
+ import type { TasksModule } from '@cat-factory/orchestration';
5
+ import type { AppEnv } from '../../http/env.js';
6
+ /**
7
+ * Resolve the repository a REPO-BACKED source reads for, from the block the surface runs on (a
8
+ * service frame, or a task/module under one). A service is always created from (or with) a repo,
9
+ * so this REQUIRES the link: if it can't be resolved we refuse rather than silently widening
10
+ * (the task couldn't run against an unlinked service anyway, and an unscoped vendor issue search
11
+ * reaches every repository the credential can see, which under a PAT is all of public GitHub, or
12
+ * every project on the GitLab instance).
13
+ *
14
+ * `null` means the SOURCE has no repository notion (Jira, Linear), never that this block has no
15
+ * repo, which throws instead. Callers depend on the two being distinguishable: a repo-less source
16
+ * is scoped by its own board, a repo-backed one by this.
17
+ *
18
+ * Which sources are repo-backed is read off the provider's declared `repoScope`, never a source id
19
+ * compared here. A list in this function is a second authority that has to be edited in step with
20
+ * the registry, and the failure when it is not is silent in exactly the wrong direction: the
21
+ * provider refuses every search for want of a scope this function decided not to resolve, so a
22
+ * source that imports fine can never be searched. An UNREGISTERED source resolves no scope and
23
+ * reaches the service, which is where an unconfigured source is refused. That works for a SEARCH,
24
+ * whose scope is an optional narrowing; a hunt cannot borrow it, because there the same `null`
25
+ * would decide the board itself, so {@link resolveHuntBoard} takes a resolved provider instead.
26
+ */
27
+ export declare function resolveSourceRepoScope<E extends AppEnv>(c: Context<E>, tasks: TasksModule, source: TaskSourceKind, blockId: string): Promise<TaskSearchRepoScope | null>;
28
+ /**
29
+ * The board a hunt scans: the repository the container's service frame is linked to for a
30
+ * repo-backed source, else the board the caller named.
31
+ *
32
+ * Takes the RESOLVED provider rather than a source id, because "no provider" is not a board
33
+ * question at all: an unregistered or unwired source is refused by the service that owns the
34
+ * registry, naming the capability this deployment lacks. Answering here instead told the caller
35
+ * to pick a board on a surface that renders none.
36
+ *
37
+ * Both mismatches are REFUSED rather than reconciled, because each one means the caller and the
38
+ * platform disagree about what is being scanned. A board named for a repo-backed source would be
39
+ * ignored in favour of the service's repository, which answers a request to scan one place with a
40
+ * scan of another; and a repo-less source with no board has nothing to narrow at all, which is the
41
+ * unscoped vendor search every layer of this path exists to prevent. Both are decidable from the
42
+ * request BODY, so both land before the repository read: a stale client that names a board AND
43
+ * sits on an unlinked service would otherwise be sent to fix the link, retry, and only then be
44
+ * told the board it named was never allowed.
45
+ *
46
+ * A repository becomes a board scope as its `owner/name` slug on BOTH repo-backed vendors: it is
47
+ * exactly what their intake query legs (`githubRepo`, a GitLab `path_with_namespace`) are split
48
+ * back out of, and a GitLab owner carrying a nested group path composes into the same shape.
49
+ */
50
+ export declare function resolveHuntBoard<E extends AppEnv>(c: Context<E>, provider: TaskSourceProvider, input: {
51
+ containerId: string;
52
+ board: string | null;
53
+ }): Promise<string>;
54
+ //# sourceMappingURL=sourceRepoScope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sourceRepoScope.d.ts","sourceRoot":"","sources":["../../../src/modules/tasks/sourceRepoScope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAwB,MAAM,wBAAwB,CAAA;AAClF,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACxB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAW/C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,sBAAsB,CAAC,CAAC,SAAS,MAAM,EAC3D,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EACb,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAIrC;AAqCD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,gBAAgB,CAAC,CAAC,SAAS,MAAM,EACrD,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EACb,QAAQ,EAAE,kBAAkB,EAC5B,KAAK,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GACnD,OAAO,CAAC,MAAM,CAAC,CAiBjB"}
@@ -0,0 +1,104 @@
1
+ import { ValidationError, } from '@cat-factory/kernel';
2
+ import { param } from '../../http/params.js';
3
+ // Where a REPO-BACKED task source's repository comes from, for every surface that needs one.
4
+ //
5
+ // It lives here rather than in either controller because two of them ask the same question about
6
+ // the same fact: an issue search scopes its vendor query to the searching service's repository,
7
+ // and a bug hunt takes that repository AS its board. A second copy would be a second authority on
8
+ // which sources are repo-backed and on what an unlinked service means, and the drift is silent in
9
+ // the direction that matters: one surface refusing what the other scopes.
10
+ /**
11
+ * Resolve the repository a REPO-BACKED source reads for, from the block the surface runs on (a
12
+ * service frame, or a task/module under one). A service is always created from (or with) a repo,
13
+ * so this REQUIRES the link: if it can't be resolved we refuse rather than silently widening
14
+ * (the task couldn't run against an unlinked service anyway, and an unscoped vendor issue search
15
+ * reaches every repository the credential can see, which under a PAT is all of public GitHub, or
16
+ * every project on the GitLab instance).
17
+ *
18
+ * `null` means the SOURCE has no repository notion (Jira, Linear), never that this block has no
19
+ * repo, which throws instead. Callers depend on the two being distinguishable: a repo-less source
20
+ * is scoped by its own board, a repo-backed one by this.
21
+ *
22
+ * Which sources are repo-backed is read off the provider's declared `repoScope`, never a source id
23
+ * compared here. A list in this function is a second authority that has to be edited in step with
24
+ * the registry, and the failure when it is not is silent in exactly the wrong direction: the
25
+ * provider refuses every search for want of a scope this function decided not to resolve, so a
26
+ * source that imports fine can never be searched. An UNREGISTERED source resolves no scope and
27
+ * reaches the service, which is where an unconfigured source is refused. That works for a SEARCH,
28
+ * whose scope is an optional narrowing; a hunt cannot borrow it, because there the same `null`
29
+ * would decide the board itself, so {@link resolveHuntBoard} takes a resolved provider instead.
30
+ */
31
+ export async function resolveSourceRepoScope(c, tasks, source, blockId) {
32
+ const provider = tasks.registry.get(source);
33
+ if (!provider?.repoScope)
34
+ return null;
35
+ return requireRepoScope(c, blockId);
36
+ }
37
+ /**
38
+ * The repository a block reads for, or the refusal naming the link that is missing. Split out
39
+ * from {@link resolveSourceRepoScope} so a caller that has ALREADY established the source is
40
+ * repo-backed gets a total answer rather than one it has to re-narrow.
41
+ */
42
+ async function requireRepoScope(c, blockId) {
43
+ const resolve = c.get('container').resolveRepoTarget;
44
+ let target = null;
45
+ try {
46
+ target = resolve ? await resolve(param(c, 'workspaceId'), blockId) : null;
47
+ }
48
+ catch (err) {
49
+ // `resolveRepoTarget` throws a ValidationError precisely when the block isn't under a
50
+ // repo-linked service, the case this refuses below. Anything else (an unexpected repo/DB
51
+ // failure) is NOT a "link a repo" problem, so let it propagate rather than mislabel it; only
52
+ // the documented not-linked outcome falls through.
53
+ if (!(err instanceof ValidationError))
54
+ throw err;
55
+ target = null;
56
+ }
57
+ if (!target) {
58
+ // A machine-readable reason so the SPA can render a localized message; the prose is the
59
+ // untranslated last resort (CLAUDE.md "Backend strings"). It names no vendor, because the
60
+ // link that is missing is the board's own service→repo link and the source asking for it
61
+ // may be any repo-backed one: naming GitHub here sends a GitLab deployment to an
62
+ // integration it does not run.
63
+ throw new ValidationError('This service is not linked to a repository. Link it to a repo before reading its issues.', { reason: 'repo_not_linked' });
64
+ }
65
+ return { owner: target.owner, repo: target.name };
66
+ }
67
+ /**
68
+ * The board a hunt scans: the repository the container's service frame is linked to for a
69
+ * repo-backed source, else the board the caller named.
70
+ *
71
+ * Takes the RESOLVED provider rather than a source id, because "no provider" is not a board
72
+ * question at all: an unregistered or unwired source is refused by the service that owns the
73
+ * registry, naming the capability this deployment lacks. Answering here instead told the caller
74
+ * to pick a board on a surface that renders none.
75
+ *
76
+ * Both mismatches are REFUSED rather than reconciled, because each one means the caller and the
77
+ * platform disagree about what is being scanned. A board named for a repo-backed source would be
78
+ * ignored in favour of the service's repository, which answers a request to scan one place with a
79
+ * scan of another; and a repo-less source with no board has nothing to narrow at all, which is the
80
+ * unscoped vendor search every layer of this path exists to prevent. Both are decidable from the
81
+ * request BODY, so both land before the repository read: a stale client that names a board AND
82
+ * sits on an unlinked service would otherwise be sent to fix the link, retry, and only then be
83
+ * told the board it named was never allowed.
84
+ *
85
+ * A repository becomes a board scope as its `owner/name` slug on BOTH repo-backed vendors: it is
86
+ * exactly what their intake query legs (`githubRepo`, a GitLab `path_with_namespace`) are split
87
+ * back out of, and a GitLab owner carrying a nested group path composes into the same shape.
88
+ */
89
+ export async function resolveHuntBoard(c, provider, input) {
90
+ if (!provider.repoScope) {
91
+ if (input.board === null) {
92
+ throw new ValidationError('Pick the board to hunt for bugs on.', {
93
+ reason: 'missing_board',
94
+ });
95
+ }
96
+ return input.board;
97
+ }
98
+ if (input.board !== null) {
99
+ throw new ValidationError('This source hunts the repository its service is linked to, so it cannot be given a board.', { reason: 'board_from_service' });
100
+ }
101
+ const scope = await requireRepoScope(c, input.containerId);
102
+ return `${scope.owner}/${scope.repo}`;
103
+ }
104
+ //# sourceMappingURL=sourceRepoScope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sourceRepoScope.js","sourceRoot":"","sources":["../../../src/modules/tasks/sourceRepoScope.ts"],"names":[],"mappings":"AACA,OAAO,EACL,eAAe,GAGhB,MAAM,qBAAqB,CAAA;AAI5B,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAE5C,6FAA6F;AAC7F,EAAE;AACF,iGAAiG;AACjG,gGAAgG;AAChG,kGAAkG;AAClG,kGAAkG;AAClG,0EAA0E;AAE1E;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,CAAa,EACb,KAAkB,EAClB,MAAsB,EACtB,OAAe;IAEf,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAC3C,IAAI,CAAC,QAAQ,EAAE,SAAS;QAAE,OAAO,IAAI,CAAA;IACrC,OAAO,gBAAgB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;AACrC,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,gBAAgB,CAC7B,CAAa,EACb,OAAe;IAEf,MAAM,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,iBAAiB,CAAA;IACpD,IAAI,MAAM,GAAqD,IAAI,CAAA;IACnE,IAAI,CAAC;QACH,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAC3E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,sFAAsF;QACtF,yFAAyF;QACzF,6FAA6F;QAC7F,mDAAmD;QACnD,IAAI,CAAC,CAAC,GAAG,YAAY,eAAe,CAAC;YAAE,MAAM,GAAG,CAAA;QAChD,MAAM,GAAG,IAAI,CAAA;IACf,CAAC;IACD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,wFAAwF;QACxF,0FAA0F;QAC1F,yFAAyF;QACzF,iFAAiF;QACjF,+BAA+B;QAC/B,MAAM,IAAI,eAAe,CACvB,0FAA0F,EAC1F,EAAE,MAAM,EAAE,iBAAgD,EAAE,CAC7D,CAAA;IACH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAA;AACnD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,CAAa,EACb,QAA4B,EAC5B,KAAoD;IAEpD,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;QACxB,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACzB,MAAM,IAAI,eAAe,CAAC,qCAAqC,EAAE;gBAC/D,MAAM,EAAE,eAA8C;aACvD,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,KAAK,CAAC,KAAK,CAAA;IACpB,CAAC;IACD,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QACzB,MAAM,IAAI,eAAe,CACvB,2FAA2F,EAC3F,EAAE,MAAM,EAAE,oBAAmD,EAAE,CAChE,CAAA;IACH,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAA;IAC1D,OAAO,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAA;AACvC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cat-factory/server",
3
- "version": "0.285.0",
3
+ "version": "0.286.0",
4
4
  "description": "Runtime-neutral HTTP layer for the Agent Architecture Board: the Hono controllers, middleware (auth/authz/CORS/error), request helpers and the gateway seams shared by every deployment facade (Cloudflare Worker, Node service).",
5
5
  "repository": {
6
6
  "type": "git",
@@ -31,13 +31,13 @@
31
31
  "jose": "^6.2.8",
32
32
  "pino": "^10.3.1",
33
33
  "valibot": "^1.4.2",
34
- "@cat-factory/agents": "0.130.0",
35
- "@cat-factory/contracts": "0.310.0",
36
- "@cat-factory/kernel": "0.299.0",
34
+ "@cat-factory/agents": "0.130.1",
35
+ "@cat-factory/contracts": "0.311.0",
36
+ "@cat-factory/integrations": "0.161.0",
37
+ "@cat-factory/kernel": "0.299.1",
37
38
  "@cat-factory/mcp-server": "0.39.0",
38
- "@cat-factory/integrations": "0.160.17",
39
- "@cat-factory/orchestration": "0.271.0",
40
- "@cat-factory/spend": "0.15.92"
39
+ "@cat-factory/orchestration": "0.271.1",
40
+ "@cat-factory/spend": "0.15.93"
41
41
  },
42
42
  "devDependencies": {
43
43
  "@types/node": "^26.2.0",