@cat-factory/server 0.248.0 → 0.250.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/dist/app.d.ts +30 -0
  2. package/dist/app.d.ts.map +1 -1
  3. package/dist/app.js +36 -21
  4. package/dist/app.js.map +1 -1
  5. package/dist/config/types.d.ts +24 -12
  6. package/dist/config/types.d.ts.map +1 -1
  7. package/dist/config/vcsWebUrls.d.ts +21 -0
  8. package/dist/config/vcsWebUrls.d.ts.map +1 -0
  9. package/dist/config/vcsWebUrls.js +29 -0
  10. package/dist/config/vcsWebUrls.js.map +1 -0
  11. package/dist/github/state.d.ts +11 -0
  12. package/dist/github/state.d.ts.map +1 -1
  13. package/dist/github/state.js.map +1 -1
  14. package/dist/http/authGate.d.ts +1 -0
  15. package/dist/http/authGate.d.ts.map +1 -1
  16. package/dist/http/authGate.js +14 -1
  17. package/dist/http/authGate.js.map +1 -1
  18. package/dist/index.d.ts +2 -1
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +3 -0
  21. package/dist/index.js.map +1 -1
  22. package/dist/modules/documents/DocumentSourceController.d.ts +15 -0
  23. package/dist/modules/documents/DocumentSourceController.d.ts.map +1 -1
  24. package/dist/modules/documents/DocumentSourceController.js +96 -7
  25. package/dist/modules/documents/DocumentSourceController.js.map +1 -1
  26. package/dist/modules/persistence/SecretDelegationController.d.ts.map +1 -1
  27. package/dist/modules/persistence/SecretDelegationController.js +1 -1
  28. package/dist/modules/persistence/SecretDelegationController.js.map +1 -1
  29. package/dist/modules/vcs/VcsConnectController.d.ts.map +1 -1
  30. package/dist/modules/vcs/VcsConnectController.js +9 -3
  31. package/dist/modules/vcs/VcsConnectController.js.map +1 -1
  32. package/dist/modules/vcs/VcsWebhookController.js +2 -2
  33. package/dist/modules/vcs/VcsWebhookController.js.map +1 -1
  34. package/dist/persistence/rpc-allowlist.d.ts.map +1 -1
  35. package/dist/persistence/rpc-allowlist.js +63 -7
  36. package/dist/persistence/rpc-allowlist.js.map +1 -1
  37. package/dist/persistence/secretDelegation.d.ts +6 -2
  38. package/dist/persistence/secretDelegation.d.ts.map +1 -1
  39. package/dist/persistence/secretDelegation.js.map +1 -1
  40. package/dist/secrets/sealedSecretSources.d.ts +14 -8
  41. package/dist/secrets/sealedSecretSources.d.ts.map +1 -1
  42. package/dist/secrets/sealedSecretSources.js +24 -7
  43. package/dist/secrets/sealedSecretSources.js.map +1 -1
  44. package/package.json +7 -7
@@ -3,8 +3,12 @@ import type { DelegatedSealRef, DelegatedSecretRef, OrgSecretSource, SecretDeleg
3
3
  export interface DelegatedUnsealRequest {
4
4
  source: OrgSecretSource;
5
5
  workspaceId: string;
6
- /** Trailing identifier args of the source's declared read (see `SEALED_SECRET_SOURCES`). */
7
- key?: (string | null)[];
6
+ /**
7
+ * Trailing identifier args of the source's declared read, in declaration order. How many the
8
+ * source takes is kernel's `ORG_SECRET_KEY_ARITY`, which both halves read: the node builds this
9
+ * through `orgSecretRef` and the endpoint rejects a list that disagrees.
10
+ */
11
+ key?: readonly (string | null)[];
8
12
  }
9
13
  export interface DelegatedUnsealResponse {
10
14
  ok: true;
@@ -1 +1 @@
1
- {"version":3,"file":"secretDelegation.d.ts","sourceRoot":"","sources":["../../src/persistence/secretDelegation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,cAAc,EACf,MAAM,qBAAqB,CAAA;AAa5B,iFAAiF;AACjF,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,eAAe,CAAA;IACvB,WAAW,EAAE,MAAM,CAAA;IACnB,4FAA4F;IAC5F,GAAG,CAAC,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAA;CACxB;AAED,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,IAAI,CAAA;IACR,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,kGAAkG;AAClG,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,eAAe,CAAA;IACvB,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,IAAI,CAAA;IACR,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,MAAM,CAAA;IACf,6FAA6F;IAC7F,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC,CAAA;IACrC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;IACxB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAID;;;;;;;GAOG;AACH,qBAAa,uCAAwC,SAAQ,KAAK;IAChE,YAAY,OAAO,SAA+D,EAGjF;CACF;AAED;;;;;;;;;GASG;AACH,qBAAa,kBAAmB,YAAW,cAAc;IAC3C,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,yBAAyB,EAAI;IAE1D,MAAM,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CAWrD;IAEK,IAAI,CAAC,GAAG,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAWpE;YAEa,IAAI;CAqBnB"}
1
+ {"version":3,"file":"secretDelegation.d.ts","sourceRoot":"","sources":["../../src/persistence/secretDelegation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,cAAc,EACf,MAAM,qBAAqB,CAAA;AAa5B,iFAAiF;AACjF,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,eAAe,CAAA;IACvB,WAAW,EAAE,MAAM,CAAA;IACnB;;;;OAIG;IACH,GAAG,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAA;CACjC;AAED,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,IAAI,CAAA;IACR,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,kGAAkG;AAClG,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,eAAe,CAAA;IACvB,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,IAAI,CAAA;IACR,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,MAAM,CAAA;IACf,6FAA6F;IAC7F,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC,CAAA;IACrC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;IACxB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAID;;;;;;;GAOG;AACH,qBAAa,uCAAwC,SAAQ,KAAK;IAChE,YAAY,OAAO,SAA+D,EAGjF;CACF;AAED;;;;;;;;;GASG;AACH,qBAAa,kBAAmB,YAAW,cAAc;IAC3C,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,yBAAyB,EAAI;IAE1D,MAAM,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CAWrD;IAEK,IAAI,CAAC,GAAG,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAWpE;YAEa,IAAI;CAqBnB"}
@@ -1 +1 @@
1
- {"version":3,"file":"secretDelegation.js","sourceRoot":"","sources":["../../src/persistence/secretDelegation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"secretDelegation.js","sourceRoot":"","sources":["../../src/persistence/secretDelegation.ts"],"names":[],"mappings":"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"}
@@ -9,13 +9,6 @@ export interface SealedSecretSourceSpec {
9
9
  * caller a choice the scope check never saw.
10
10
  */
11
11
  method: string;
12
- /**
13
- * How many trailing identifier args the read takes after `workspaceId`. The request's `key` must
14
- * supply EXACTLY this many. Arity is part of the shape because the args are spread into the
15
- * call, so a short list would read a different row than the caller named (and a long one would
16
- * pass an argument the port never declared).
17
- */
18
- keyArity: number;
19
12
  /** The record field holding the sealed envelope. */
20
13
  field: string;
21
14
  /** The HKDF `info` domain-separation tag the envelope was sealed under. */
@@ -29,12 +22,25 @@ export interface SealedSecretSourceSpec {
29
22
  * infrastructure, it probes the monitor), not merely the row.
30
23
  */
31
24
  export declare const SEALED_SECRET_SOURCES: Record<OrgSecretSource, SealedSecretSourceSpec>;
25
+ /**
26
+ * A resolved binding: the mothership-side spec plus the source's own name and its declared key
27
+ * arity, READ from kernel's `ORG_SECRET_KEY_ARITY` rather than restated here.
28
+ *
29
+ * Arity belongs to the source, not to this table, and both halves of the delegation need it: the
30
+ * node to build a well-formed `key`, this endpoint to reject one that disagrees. Kept in one
31
+ * declaration so the check and the call site cannot drift into disagreeing about a row.
32
+ */
33
+ export interface SealedSecretSourceBinding extends SealedSecretSourceSpec {
34
+ source: OrgSecretSource;
35
+ /** How many trailing args the read takes after `workspaceId`; the request's `key` must match. */
36
+ keyArity: number;
37
+ }
32
38
  /**
33
39
  * Look a source up by its wire value. OWN-PROPERTY only, exactly like the persistence allow-list:
34
40
  * an attacker-supplied `__proto__` / `constructor` / `toString` must not reach a prototype member
35
41
  * and be treated as a spec.
36
42
  */
37
- export declare function sealedSecretSourceSpec(source: unknown): SealedSecretSourceSpec | undefined;
43
+ export declare function sealedSecretSourceSpec(source: unknown): SealedSecretSourceBinding | undefined;
38
44
  /** The declared vocabulary, for tests and for the boot-time completeness assertions. */
39
45
  export declare const SEALED_SECRET_SOURCE_NAMES: readonly OrgSecretSource[];
40
46
  //# sourceMappingURL=sealedSecretSources.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sealedSecretSources.d.ts","sourceRoot":"","sources":["../../src/secrets/sealedSecretSources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAe9E,iFAAiF;AACjF,MAAM,WAAW,sBAAsB;IACrC,gFAAgF;IAChF,IAAI,EAAE,MAAM,CAAA;IACZ;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAA;IACd;;;;;OAKG;IACH,QAAQ,EAAE,MAAM,CAAA;IAChB,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAA;IACb,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAA;IACZ,oFAAoF;IACpF,KAAK,EAAE,MAAM,CAAA;CACd;AAED;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,eAAe,EAAE,sBAAsB,CAmDjF,CAAA;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,OAAO,GAAG,sBAAsB,GAAG,SAAS,CAI1F;AAED,wFAAwF;AACxF,eAAO,MAAM,0BAA0B,EAAE,SAAS,eAAe,EAAuB,CAAA"}
1
+ {"version":3,"file":"sealedSecretSources.d.ts","sourceRoot":"","sources":["../../src/secrets/sealedSecretSources.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4C,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAepG,iFAAiF;AACjF,MAAM,WAAW,sBAAsB;IACrC,gFAAgF;IAChF,IAAI,EAAE,MAAM,CAAA;IACZ;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAA;IACd,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAA;IACb,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAA;IACZ,oFAAoF;IACpF,KAAK,EAAE,MAAM,CAAA;CACd;AAED;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,eAAe,EAAE,sBAAsB,CAmEjF,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,yBAA0B,SAAQ,sBAAsB;IACvE,MAAM,EAAE,eAAe,CAAA;IACvB,iGAAiG;IACjG,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,OAAO,GAAG,yBAAyB,GAAG,SAAS,CAK7F;AAED,wFAAwF;AACxF,eAAO,MAAM,0BAA0B,EAAE,SAAS,eAAe,EAAuB,CAAA"}
@@ -1,4 +1,4 @@
1
- import { ORG_SECRET_SOURCES } from '@cat-factory/kernel';
1
+ import { ORG_SECRET_KEY_ARITY, ORG_SECRET_SOURCES } from '@cat-factory/kernel';
2
2
  /**
3
3
  * Every source, bound. Each entry admits ONE org credential to a mothership-mode laptop, so the
4
4
  * bar for adding one is that a run genuinely needs the PLAINTEXT on the node (it provisions the
@@ -10,7 +10,6 @@ export const SEALED_SECRET_SOURCES = {
10
10
  environment_access: {
11
11
  repo: 'environmentRegistryRepository',
12
12
  method: 'get',
13
- keyArity: 1,
14
13
  field: 'accessCipher',
15
14
  info: 'cat-factory:environments',
16
15
  label: 'environment access handle',
@@ -20,7 +19,6 @@ export const SEALED_SECRET_SOURCES = {
20
19
  environment_provision_fields: {
21
20
  repo: 'environmentRegistryRepository',
22
21
  method: 'get',
23
- keyArity: 1,
24
22
  field: 'provisionFieldsCipher',
25
23
  info: 'cat-factory:environments',
26
24
  label: 'environment provision fields',
@@ -30,7 +28,6 @@ export const SEALED_SECRET_SOURCES = {
30
28
  environment_connection: {
31
29
  repo: 'environmentConnectionRepository',
32
30
  method: 'getByWorkspaceAndType',
33
- keyArity: 2,
34
31
  field: 'secretsCipher',
35
32
  info: 'cat-factory:environments',
36
33
  label: 'environment connection secrets',
@@ -40,7 +37,6 @@ export const SEALED_SECRET_SOURCES = {
40
37
  observability_connection: {
41
38
  repo: 'observabilityConnectionRepository',
42
39
  method: 'get',
43
- keyArity: 0,
44
40
  field: 'credentials',
45
41
  info: 'cat-factory:observability',
46
42
  label: 'observability connection credentials',
@@ -50,11 +46,31 @@ export const SEALED_SECRET_SOURCES = {
50
46
  incident_enrichment_connection: {
51
47
  repo: 'incidentEnrichmentConnectionRepository',
52
48
  method: 'get',
53
- keyArity: 0,
54
49
  field: 'credentials',
55
50
  info: 'cat-factory:incident-enrichment',
56
51
  label: 'incident enrichment credentials',
57
52
  },
53
+ // A workspace's document-source credential bag (a Figma/Confluence/Notion token), keyed by
54
+ // `source`. The node needs the PLAINTEXT rather than the row: the dispatch-time freshness
55
+ // refresh authenticates against the source on the run path, and an import is the node's own
56
+ // outbound call. Until the row carried an envelope at all there was nothing here to name, which
57
+ // is why this integration was the last one parked off the persistence RPC.
58
+ document_source_connection: {
59
+ repo: 'documentConnectionRepository',
60
+ method: 'getByWorkspace',
61
+ field: 'credentialsCipher',
62
+ info: 'cat-factory:documents',
63
+ label: 'document source credentials',
64
+ },
65
+ // The tracker sibling, keyed the same way. Same argument: the `tracker` step files a real
66
+ // ticket from wherever the run runs.
67
+ task_source_connection: {
68
+ repo: 'taskConnectionRepository',
69
+ method: 'getByWorkspace',
70
+ field: 'credentialsCipher',
71
+ info: 'cat-factory:tasks',
72
+ label: 'task source credentials',
73
+ },
58
74
  };
59
75
  /**
60
76
  * Look a source up by its wire value. OWN-PROPERTY only, exactly like the persistence allow-list:
@@ -66,7 +82,8 @@ export function sealedSecretSourceSpec(source) {
66
82
  return undefined;
67
83
  if (!Object.prototype.hasOwnProperty.call(SEALED_SECRET_SOURCES, source))
68
84
  return undefined;
69
- return SEALED_SECRET_SOURCES[source];
85
+ const name = source;
86
+ return { ...SEALED_SECRET_SOURCES[name], source: name, keyArity: ORG_SECRET_KEY_ARITY[name] };
70
87
  }
71
88
  /** The declared vocabulary, for tests and for the boot-time completeness assertions. */
72
89
  export const SEALED_SECRET_SOURCE_NAMES = ORG_SECRET_SOURCES;
@@ -1 +1 @@
1
- {"version":3,"file":"sealedSecretSources.js","sourceRoot":"","sources":["../../src/secrets/sealedSecretSources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAwB,MAAM,qBAAqB,CAAA;AAwC9E;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAoD;IACpF,8FAA8F;IAC9F,oFAAoF;IACpF,kBAAkB,EAAE;QAClB,IAAI,EAAE,+BAA+B;QACrC,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,CAAC;QACX,KAAK,EAAE,cAAc;QACrB,IAAI,EAAE,0BAA0B;QAChC,KAAK,EAAE,2BAA2B;KACnC;IACD,6FAA6F;IAC7F,0FAA0F;IAC1F,4BAA4B,EAAE;QAC5B,IAAI,EAAE,+BAA+B;QACrC,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,CAAC;QACX,KAAK,EAAE,uBAAuB;QAC9B,IAAI,EAAE,0BAA0B;QAChC,KAAK,EAAE,8BAA8B;KACtC;IACD,yFAAyF;IACzF,+EAA+E;IAC/E,sBAAsB,EAAE;QACtB,IAAI,EAAE,iCAAiC;QACvC,MAAM,EAAE,uBAAuB;QAC/B,QAAQ,EAAE,CAAC;QACX,KAAK,EAAE,eAAe;QACtB,IAAI,EAAE,0BAA0B;QAChC,KAAK,EAAE,gCAAgC;KACxC;IACD,6FAA6F;IAC7F,sEAAsE;IACtE,wBAAwB,EAAE;QACxB,IAAI,EAAE,mCAAmC;QACzC,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,CAAC;QACX,KAAK,EAAE,aAAa;QACpB,IAAI,EAAE,2BAA2B;QACjC,KAAK,EAAE,sCAAsC;KAC9C;IACD,4FAA4F;IAC5F,0CAA0C;IAC1C,8BAA8B,EAAE;QAC9B,IAAI,EAAE,wCAAwC;QAC9C,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,CAAC;QACX,KAAK,EAAE,aAAa;QACpB,IAAI,EAAE,iCAAiC;QACvC,KAAK,EAAE,iCAAiC;KACzC;CACF,CAAA;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAe;IACpD,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAA;IAChD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC;QAAE,OAAO,SAAS,CAAA;IAC1F,OAAO,qBAAqB,CAAC,MAAyB,CAAC,CAAA;AACzD,CAAC;AAED,wFAAwF;AACxF,MAAM,CAAC,MAAM,0BAA0B,GAA+B,kBAAkB,CAAA"}
1
+ {"version":3,"file":"sealedSecretSources.js","sourceRoot":"","sources":["../../src/secrets/sealedSecretSources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAwB,MAAM,qBAAqB,CAAA;AAiCpG;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAoD;IACpF,8FAA8F;IAC9F,oFAAoF;IACpF,kBAAkB,EAAE;QAClB,IAAI,EAAE,+BAA+B;QACrC,MAAM,EAAE,KAAK;QACb,KAAK,EAAE,cAAc;QACrB,IAAI,EAAE,0BAA0B;QAChC,KAAK,EAAE,2BAA2B;KACnC;IACD,6FAA6F;IAC7F,0FAA0F;IAC1F,4BAA4B,EAAE;QAC5B,IAAI,EAAE,+BAA+B;QACrC,MAAM,EAAE,KAAK;QACb,KAAK,EAAE,uBAAuB;QAC9B,IAAI,EAAE,0BAA0B;QAChC,KAAK,EAAE,8BAA8B;KACtC;IACD,yFAAyF;IACzF,+EAA+E;IAC/E,sBAAsB,EAAE;QACtB,IAAI,EAAE,iCAAiC;QACvC,MAAM,EAAE,uBAAuB;QAC/B,KAAK,EAAE,eAAe;QACtB,IAAI,EAAE,0BAA0B;QAChC,KAAK,EAAE,gCAAgC;KACxC;IACD,6FAA6F;IAC7F,sEAAsE;IACtE,wBAAwB,EAAE;QACxB,IAAI,EAAE,mCAAmC;QACzC,MAAM,EAAE,KAAK;QACb,KAAK,EAAE,aAAa;QACpB,IAAI,EAAE,2BAA2B;QACjC,KAAK,EAAE,sCAAsC;KAC9C;IACD,4FAA4F;IAC5F,0CAA0C;IAC1C,8BAA8B,EAAE;QAC9B,IAAI,EAAE,wCAAwC;QAC9C,MAAM,EAAE,KAAK;QACb,KAAK,EAAE,aAAa;QACpB,IAAI,EAAE,iCAAiC;QACvC,KAAK,EAAE,iCAAiC;KACzC;IACD,2FAA2F;IAC3F,0FAA0F;IAC1F,4FAA4F;IAC5F,gGAAgG;IAChG,2EAA2E;IAC3E,0BAA0B,EAAE;QAC1B,IAAI,EAAE,8BAA8B;QACpC,MAAM,EAAE,gBAAgB;QACxB,KAAK,EAAE,mBAAmB;QAC1B,IAAI,EAAE,uBAAuB;QAC7B,KAAK,EAAE,6BAA6B;KACrC;IACD,0FAA0F;IAC1F,qCAAqC;IACrC,sBAAsB,EAAE;QACtB,IAAI,EAAE,0BAA0B;QAChC,MAAM,EAAE,gBAAgB;QACxB,KAAK,EAAE,mBAAmB;QAC1B,IAAI,EAAE,mBAAmB;QACzB,KAAK,EAAE,yBAAyB;KACjC;CACF,CAAA;AAgBD;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAe;IACpD,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAA;IAChD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC;QAAE,OAAO,SAAS,CAAA;IAC1F,MAAM,IAAI,GAAG,MAAyB,CAAA;IACtC,OAAO,EAAE,GAAG,qBAAqB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAA;AAC/F,CAAC;AAED,wFAAwF;AACxF,MAAM,CAAC,MAAM,0BAA0B,GAA+B,kBAAkB,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cat-factory/server",
3
- "version": "0.248.0",
3
+ "version": "0.250.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/contracts": "0.270.0",
35
- "@cat-factory/integrations": "0.146.0",
36
- "@cat-factory/kernel": "0.268.0",
34
+ "@cat-factory/agents": "0.117.10",
35
+ "@cat-factory/contracts": "0.272.0",
36
+ "@cat-factory/integrations": "0.148.0",
37
+ "@cat-factory/kernel": "0.270.0",
37
38
  "@cat-factory/mcp-server": "0.22.0",
38
- "@cat-factory/agents": "0.117.8",
39
- "@cat-factory/orchestration": "0.236.0",
40
- "@cat-factory/spend": "0.15.36"
39
+ "@cat-factory/orchestration": "0.238.0",
40
+ "@cat-factory/spend": "0.15.38"
41
41
  },
42
42
  "devDependencies": {
43
43
  "@types/node": "^26.1.2",