@cat-factory/server 0.162.1 → 0.163.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 (86) hide show
  1. package/dist/agents/ContainerRepoBootstrapper.d.ts.map +1 -1
  2. package/dist/agents/ContainerRepoBootstrapper.js +8 -3
  3. package/dist/agents/ContainerRepoBootstrapper.js.map +1 -1
  4. package/dist/app.d.ts.map +1 -1
  5. package/dist/app.js +2 -0
  6. package/dist/app.js.map +1 -1
  7. package/dist/config/numeric.d.ts.map +1 -1
  8. package/dist/config/numeric.js +5 -1
  9. package/dist/config/numeric.js.map +1 -1
  10. package/dist/crypto/keyDriftSweep.d.ts +2 -3
  11. package/dist/crypto/keyDriftSweep.d.ts.map +1 -1
  12. package/dist/crypto/keyDriftSweep.js.map +1 -1
  13. package/dist/crypto/keyFingerprint.d.ts +2 -7
  14. package/dist/crypto/keyFingerprint.d.ts.map +1 -1
  15. package/dist/crypto/keyFingerprint.js +1 -0
  16. package/dist/crypto/keyFingerprint.js.map +1 -1
  17. package/dist/github/FetchGitHubClient.d.ts.map +1 -1
  18. package/dist/github/FetchGitHubClient.js +5 -43
  19. package/dist/github/FetchGitHubClient.js.map +1 -1
  20. package/dist/github/GitHubIdentityResolver.d.ts +2 -4
  21. package/dist/github/GitHubIdentityResolver.d.ts.map +1 -1
  22. package/dist/github/GitHubIdentityResolver.js.map +1 -1
  23. package/dist/github/GitHubPullRequestMerger.d.ts.map +1 -1
  24. package/dist/github/GitHubPullRequestMerger.js +7 -1
  25. package/dist/github/GitHubPullRequestMerger.js.map +1 -1
  26. package/dist/github/ensureWorkBranch.d.ts.map +1 -1
  27. package/dist/github/ensureWorkBranch.js +18 -5
  28. package/dist/github/ensureWorkBranch.js.map +1 -1
  29. package/dist/github/searchApi.d.ts +20 -0
  30. package/dist/github/searchApi.d.ts.map +1 -0
  31. package/dist/github/searchApi.js +72 -0
  32. package/dist/github/searchApi.js.map +1 -0
  33. package/dist/http/errorHandler.d.ts.map +1 -1
  34. package/dist/http/errorHandler.js +2 -2
  35. package/dist/http/errorHandler.js.map +1 -1
  36. package/dist/index.d.ts +3 -3
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +1 -1
  39. package/dist/index.js.map +1 -1
  40. package/dist/modules/artifacts/HarnessArtifactController.js +10 -4
  41. package/dist/modules/artifacts/HarnessArtifactController.js.map +1 -1
  42. package/dist/modules/bugHunt/BugHuntController.d.ts +4 -0
  43. package/dist/modules/bugHunt/BugHuntController.d.ts.map +1 -0
  44. package/dist/modules/bugHunt/BugHuntController.js +84 -0
  45. package/dist/modules/bugHunt/BugHuntController.js.map +1 -0
  46. package/dist/modules/llmProxy/LlmProxyController.d.ts.map +1 -1
  47. package/dist/modules/llmProxy/LlmProxyController.js +17 -11
  48. package/dist/modules/llmProxy/LlmProxyController.js.map +1 -1
  49. package/dist/modules/notifications/NotificationRelayController.d.ts.map +1 -1
  50. package/dist/modules/notifications/NotificationRelayController.js +5 -5
  51. package/dist/modules/notifications/NotificationRelayController.js.map +1 -1
  52. package/dist/modules/persistence/GitHubDelegationController.d.ts.map +1 -1
  53. package/dist/modules/persistence/GitHubDelegationController.js +12 -5
  54. package/dist/modules/persistence/GitHubDelegationController.js.map +1 -1
  55. package/dist/modules/tasks/TaskWebhookController.js +2 -2
  56. package/dist/modules/tasks/TaskWebhookController.js.map +1 -1
  57. package/dist/modules/webSearch/WebSearchProxyController.js +8 -5
  58. package/dist/modules/webSearch/WebSearchProxyController.js.map +1 -1
  59. package/dist/modules/workspaces/WorkspaceController.d.ts +3 -37
  60. package/dist/modules/workspaces/WorkspaceController.d.ts.map +1 -1
  61. package/dist/modules/workspaces/WorkspaceController.js +39 -2
  62. package/dist/modules/workspaces/WorkspaceController.js.map +1 -1
  63. package/dist/observability/logger.d.ts +36 -5
  64. package/dist/observability/logger.d.ts.map +1 -1
  65. package/dist/observability/logger.js +111 -19
  66. package/dist/observability/logger.js.map +1 -1
  67. package/dist/persistence/binaryArtifactStore.d.ts +2 -4
  68. package/dist/persistence/binaryArtifactStore.d.ts.map +1 -1
  69. package/dist/persistence/binaryArtifactStore.js.map +1 -1
  70. package/dist/persistence/decode.d.ts.map +1 -1
  71. package/dist/persistence/decode.js +16 -5
  72. package/dist/persistence/decode.js.map +1 -1
  73. package/dist/runtime/keyDrift.d.ts +2 -3
  74. package/dist/runtime/keyDrift.d.ts.map +1 -1
  75. package/dist/runtime/keyDrift.js.map +1 -1
  76. package/dist/runtime/platformHealth.d.ts +2 -5
  77. package/dist/runtime/platformHealth.d.ts.map +1 -1
  78. package/dist/runtime/platformHealth.js +17 -2
  79. package/dist/runtime/platformHealth.js.map +1 -1
  80. package/dist/runtime/reconcileStaleRepos.d.ts +1 -2
  81. package/dist/runtime/reconcileStaleRepos.d.ts.map +1 -1
  82. package/dist/runtime/reconcileStaleRepos.js +6 -5
  83. package/dist/runtime/reconcileStaleRepos.js.map +1 -1
  84. package/dist/webhooks/signatureLog.js +4 -1
  85. package/dist/webhooks/signatureLog.js.map +1 -1
  86. package/package.json +8 -8
@@ -1 +1 @@
1
- {"version":3,"file":"WorkspaceController.js","sourceRoot":"","sources":["../../../src/modules/workspaces/WorkspaceController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WorkspaceController.js","sourceRoot":"","sources":["../../../src/modules/workspaces/WorkspaceController.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,40 @@
1
1
  import pino from 'pino';
2
+ import { type LogFields, type LogLevel, type Logger, noopLogger } from '@cat-factory/kernel';
3
+ /** Parse a configured level, falling back to `info` for an absent or unrecognised value. */
4
+ export declare function parseLogLevel(value: string | undefined | null): LogLevel;
2
5
  /**
3
- * Process-wide logger. Prefer `logger.child({ })` (or pass a `fields` object)
4
- * to attach correlation context — workspaceId, executionId, jobId so a run can
5
- * be traced across the request, the workflow and the container.
6
+ * Set the emit threshold. Facades call this once at boot from their resolved config
7
+ * (`LOG_LEVEL` in the Node/local env, a wrangler var on the Worker). Takes effect
8
+ * immediately for every logger already handed out, including children.
6
9
  */
7
- export declare const logger: pino.Logger<never, boolean>;
8
- export type Logger = typeof logger;
10
+ export declare function setLogLevel(level: LogLevel): void;
11
+ /** The active threshold, for a facade that wants to report its own configuration. */
12
+ export declare function getLogLevel(): LogLevel;
13
+ /**
14
+ * Serialise one log object, never throwing. The port promises a logger cannot fail
15
+ * (`kernel/ports/logging.ts`), and a plain `JSON.stringify` breaks that promise on the Worker:
16
+ * a circular field bag or a `BigInt` raises a `TypeError` straight out of the `logger.warn(…)`
17
+ * call, turning observability into the new failure class the port exists to rule out. The Node
18
+ * path never reaches here — pino serialises with its own cycle-safe stringifier — so this is
19
+ * specifically the browser-build writer's obligation.
20
+ *
21
+ * A field bag we cannot render degrades to a line that still carries the message and names the
22
+ * problem, because a dropped line is indistinguishable from a code path that never ran.
23
+ */
24
+ export declare function serialize(o: object): string;
25
+ /**
26
+ * Build a `Logger` over a fresh pino instance. `destination` is a Node-only seam (the browser
27
+ * build the Worker bundles ignores it): pass one to route lines somewhere other than stdout —
28
+ * a file, a capturing stream in a test. Instances built here share the module-level level
29
+ * gate, so they honour `setLogLevel` exactly like the process-wide logger.
30
+ */
31
+ export declare function createPinoLogger(destination?: pino.DestinationStream): Logger;
32
+ /**
33
+ * The process-wide logger. Prefer `logger.child({ … })` to attach correlation context —
34
+ * `workspaceId`, `executionId`, `jobId` — so a run can be traced across the request, the
35
+ * workflow and the container. Patterns: `backend/docs/logging.md`.
36
+ */
37
+ export declare const logger: Logger;
38
+ export { noopLogger };
39
+ export type { LogFields, LogLevel, Logger };
9
40
  //# sourceMappingURL=logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/observability/logger.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AAoBvB;;;;GAIG;AACH,eAAO,MAAM,MAAM,6BAajB,CAAA;AAEF,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAA"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/observability/logger.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,QAAQ,EAAE,KAAK,MAAM,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AA4B5F,4FAA4F;AAC5F,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,QAAQ,CAWxE;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAEjD;AAED,qFAAqF;AACrF,wBAAgB,WAAW,IAAI,QAAQ,CAEtC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAU3C;AAgDD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAE7E;AAED;;;;GAIG;AACH,eAAO,MAAM,MAAM,EAAE,MAA2B,CAAA;AAEhD,OAAO,EAAE,UAAU,EAAE,CAAA;AACrB,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAA"}
@@ -1,15 +1,78 @@
1
1
  import pino from 'pino';
2
- // Structured logging shared by every facade. The default pino transport relies on
3
- // Node worker threads, which workerd doesn't provide, so we use pino's browser API
4
- // with an explicit per-level `write` that emits one JSON line to the matching
5
- // `console` method. Both Cloudflare (via `wrangler tail` / Logpush) and a Node
6
- // process capture `console.*`, so this gives queryable, level-routed structured
7
- // logs on either runtime.
8
- const LEVEL = globalThis.LOG_LEVEL ?? 'info';
2
+ import { noopLogger } from '@cat-factory/kernel';
3
+ // The one place a logging library is named. Everything else in the backend — controllers,
4
+ // facades, and the whole domain engine talks to the kernel `Logger` port, so swapping
5
+ // pino out or adding a second destination is a change here and nowhere else.
6
+ //
7
+ // The default pino transport relies on Node worker threads, which workerd doesn't provide,
8
+ // so the Worker bundle resolves pino's BROWSER build; the `browser.write` map below hands
9
+ // each level's already-serialised log object to the matching `console` method. A Node
10
+ // process takes pino's normal stdout path and never calls those writers at all. Both
11
+ // Cloudflare (via `wrangler tail` / Logpush) and a Node process capture the result, so
12
+ // either runtime yields queryable, level-routed structured logs.
13
+ //
14
+ // The writers emit pino's own object VERBATIM (numeric `level`, epoch `time`, `msg`, then
15
+ // the bound + call-site fields) rather than a hand-built envelope, so a Worker line and a
16
+ // Node line parse identically — only the console method differs.
17
+ const LEVEL_RANK = { debug: 10, info: 20, warn: 30, error: 40 };
18
+ /**
19
+ * The active threshold. Held here rather than on the pino instance because a facade
20
+ * resolves `LOG_LEVEL` from its own config *after* module load (a Worker reads it off
21
+ * `env` on the first request), and pino's child loggers snapshot their parent's level at
22
+ * creation — so a late `logger.level = …` would silently miss every child already derived.
23
+ * One module-level check is dynamic by construction.
24
+ */
25
+ let activeLevel = 'info';
26
+ /** Parse a configured level, falling back to `info` for an absent or unrecognised value. */
27
+ export function parseLogLevel(value) {
28
+ const normalized = value?.trim().toLowerCase();
29
+ if (normalized === 'debug' ||
30
+ normalized === 'info' ||
31
+ normalized === 'warn' ||
32
+ normalized === 'error') {
33
+ return normalized;
34
+ }
35
+ return 'info';
36
+ }
37
+ /**
38
+ * Set the emit threshold. Facades call this once at boot from their resolved config
39
+ * (`LOG_LEVEL` in the Node/local env, a wrangler var on the Worker). Takes effect
40
+ * immediately for every logger already handed out, including children.
41
+ */
42
+ export function setLogLevel(level) {
43
+ activeLevel = level;
44
+ }
45
+ /** The active threshold, for a facade that wants to report its own configuration. */
46
+ export function getLogLevel() {
47
+ return activeLevel;
48
+ }
49
+ /**
50
+ * Serialise one log object, never throwing. The port promises a logger cannot fail
51
+ * (`kernel/ports/logging.ts`), and a plain `JSON.stringify` breaks that promise on the Worker:
52
+ * a circular field bag or a `BigInt` raises a `TypeError` straight out of the `logger.warn(…)`
53
+ * call, turning observability into the new failure class the port exists to rule out. The Node
54
+ * path never reaches here — pino serialises with its own cycle-safe stringifier — so this is
55
+ * specifically the browser-build writer's obligation.
56
+ *
57
+ * A field bag we cannot render degrades to a line that still carries the message and names the
58
+ * problem, because a dropped line is indistinguishable from a code path that never ran.
59
+ */
60
+ export function serialize(o) {
61
+ try {
62
+ return JSON.stringify(o);
63
+ }
64
+ catch (error) {
65
+ const msg = o.msg;
66
+ return JSON.stringify({
67
+ ...(typeof msg === 'string' ? { msg } : {}),
68
+ logSerializationError: error instanceof Error ? error.message : String(error),
69
+ });
70
+ }
71
+ }
9
72
  function write(level) {
10
73
  return (o) => {
11
- const line = JSON.stringify({ level, ...o });
12
- if (level === 'error' || level === 'fatal')
74
+ const line = serialize(o);
75
+ if (level === 'error')
13
76
  console.error(line);
14
77
  else if (level === 'warn')
15
78
  console.warn(line);
@@ -17,23 +80,52 @@ function write(level) {
17
80
  console.log(line);
18
81
  };
19
82
  }
20
- /**
21
- * Process-wide logger. Prefer `logger.child({ })` (or pass a `fields` object)
22
- * to attach correlation context workspaceId, executionId, jobId — so a run can
23
- * be traced across the request, the workflow and the container.
24
- */
25
- export const logger = pino({
26
- level: LEVEL,
83
+ const PINO_OPTIONS = {
84
+ // pino itself never filters: `activeLevel` above is the gate, so a level configured
85
+ // after boot reaches loggers that were already derived.
86
+ level: 'debug',
27
87
  browser: {
28
88
  asObject: true,
29
89
  write: {
30
- trace: write('trace'),
31
90
  debug: write('debug'),
32
91
  info: write('info'),
33
92
  warn: write('warn'),
34
93
  error: write('error'),
35
- fatal: write('fatal'),
94
+ // pino's browser shim wants a writer per level; the port exposes no trace/fatal
95
+ // tier, so these only fire if something reaches past the port.
96
+ trace: write('debug'),
97
+ fatal: write('error'),
36
98
  },
37
99
  },
38
- });
100
+ };
101
+ function adapt(instance) {
102
+ const emit = (level) => (msg, fields) => {
103
+ if (LEVEL_RANK[level] < LEVEL_RANK[activeLevel])
104
+ return;
105
+ instance[level](fields ?? {}, msg);
106
+ };
107
+ return {
108
+ debug: emit('debug'),
109
+ info: emit('info'),
110
+ warn: emit('warn'),
111
+ error: emit('error'),
112
+ child: (bound) => adapt(instance.child(bound)),
113
+ };
114
+ }
115
+ /**
116
+ * Build a `Logger` over a fresh pino instance. `destination` is a Node-only seam (the browser
117
+ * build the Worker bundles ignores it): pass one to route lines somewhere other than stdout —
118
+ * a file, a capturing stream in a test. Instances built here share the module-level level
119
+ * gate, so they honour `setLogLevel` exactly like the process-wide logger.
120
+ */
121
+ export function createPinoLogger(destination) {
122
+ return adapt(destination ? pino(PINO_OPTIONS, destination) : pino(PINO_OPTIONS));
123
+ }
124
+ /**
125
+ * The process-wide logger. Prefer `logger.child({ … })` to attach correlation context —
126
+ * `workspaceId`, `executionId`, `jobId` — so a run can be traced across the request, the
127
+ * workflow and the container. Patterns: `backend/docs/logging.md`.
128
+ */
129
+ export const logger = createPinoLogger();
130
+ export { noopLogger };
39
131
  //# sourceMappingURL=logger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/observability/logger.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AAEvB,kFAAkF;AAClF,mFAAmF;AACnF,8EAA8E;AAC9E,+EAA+E;AAC/E,gFAAgF;AAChF,0BAA0B;AAE1B,MAAM,KAAK,GAAI,UAAqC,CAAC,SAAS,IAAI,MAAM,CAAA;AAExE,SAAS,KAAK,CAAC,KAAa;IAC1B,OAAO,CAAC,CAAS,EAAE,EAAE;QACnB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;QAC5C,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,OAAO;YAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;aAC1D,IAAI,KAAK,KAAK,MAAM;YAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;;YACxC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IACxB,CAAC,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,KAAK;IACZ,OAAO,EAAE;QACP,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE;YACL,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;YACrB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;YACrB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;YACnB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;YACnB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;YACrB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;SACtB;KACF;CACF,CAAC,CAAA"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/observability/logger.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { ContentStorageBackend, ContentStorageConfig, ContentStorageFsConfig, ContentStorageS3Config, S3CredentialsSecret } from '@cat-factory/contracts';
2
- import type { BinaryArtifactMetadataStore, BinaryArtifactStorageKind, BinaryBlobBackend, Clock, IdGenerator, ResolveBinaryArtifactStore } from '@cat-factory/kernel';
2
+ import type { BinaryArtifactMetadataStore, BinaryArtifactStorageKind, BinaryBlobBackend, Clock, IdGenerator, Logger, ResolveBinaryArtifactStore } from '@cat-factory/kernel';
3
3
  /** The non-secret + decrypted content-storage settings the resolver needs (structural). */
4
4
  export interface ContentStorageSettingsResolver {
5
5
  resolve(accountId: string): Promise<{
@@ -40,9 +40,7 @@ export interface MakeResolveBinaryArtifactStoreDeps {
40
40
  /** Backend used when an account has no content-storage config (the runtime default). */
41
41
  defaultBackend: ContentStorageBackend;
42
42
  /** Optional structural logger, forwarded to the composed store to surface partial reclaims. */
43
- logger?: {
44
- warn(obj: Record<string, unknown>, msg?: string): void;
45
- };
43
+ logger?: Logger;
46
44
  }
47
45
  /**
48
46
  * Compose a {@link ResolveBinaryArtifactStore}: workspace → owning account → that account's
@@ -1 +1 @@
1
- {"version":3,"file":"binaryArtifactStore.d.ts","sourceRoot":"","sources":["../../src/persistence/binaryArtifactStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACpB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EACV,2BAA2B,EAC3B,yBAAyB,EAEzB,iBAAiB,EACjB,KAAK,EACL,WAAW,EACX,0BAA0B,EAC3B,MAAM,qBAAqB,CAAA;AAW5B,2FAA2F;AAC3F,MAAM,WAAW,8BAA8B;IAC7C,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAClC,MAAM,EAAE;YAAE,cAAc,CAAC,EAAE,oBAAoB,CAAA;SAAE,CAAA;QACjD,aAAa,CAAC,EAAE,mBAAmB,CAAA;KACpC,CAAC,CAAA;CACH;AAED,+FAA+F;AAC/F,MAAM,WAAW,uBAAuB;IACtC,EAAE,CAAC,EAAE,sBAAsB,CAAA;IAC3B,EAAE,CAAC,EAAE,sBAAsB,CAAA;IAC3B,8EAA8E;IAC9E,aAAa,CAAC,EAAE,mBAAmB,CAAA;CACpC;AAED;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAC7B,IAAI,EAAE,yBAAyB,EAC/B,IAAI,EAAE,uBAAuB,KAC1B,iBAAiB,GAAG,IAAI,CAAA;AAE7B,MAAM,WAAW,kCAAkC;IACjD;;;;OAIG;IACH,eAAe,CAAC,EAAE,8BAA8B,CAAA;IAChD,gFAAgF;IAChF,SAAS,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAA;IACtE,6FAA6F;IAC7F,QAAQ,EAAE,2BAA2B,CAAA;IACrC,WAAW,EAAE,WAAW,CAAA;IACxB,KAAK,EAAE,KAAK,CAAA;IACZ,iGAAiG;IACjG,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,wFAAwF;IACxF,cAAc,EAAE,qBAAqB,CAAA;IACrC,+FAA+F;IAC/F,MAAM,CAAC,EAAE;QAAE,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAA;CACpE;AAoBD;;;;;;;;;GASG;AACH,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,kCAAkC,GACvC,0BAA0B,CA6C5B"}
1
+ {"version":3,"file":"binaryArtifactStore.d.ts","sourceRoot":"","sources":["../../src/persistence/binaryArtifactStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACpB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EACV,2BAA2B,EAC3B,yBAAyB,EAEzB,iBAAiB,EACjB,KAAK,EACL,WAAW,EACX,MAAM,EACN,0BAA0B,EAC3B,MAAM,qBAAqB,CAAA;AAW5B,2FAA2F;AAC3F,MAAM,WAAW,8BAA8B;IAC7C,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAClC,MAAM,EAAE;YAAE,cAAc,CAAC,EAAE,oBAAoB,CAAA;SAAE,CAAA;QACjD,aAAa,CAAC,EAAE,mBAAmB,CAAA;KACpC,CAAC,CAAA;CACH;AAED,+FAA+F;AAC/F,MAAM,WAAW,uBAAuB;IACtC,EAAE,CAAC,EAAE,sBAAsB,CAAA;IAC3B,EAAE,CAAC,EAAE,sBAAsB,CAAA;IAC3B,8EAA8E;IAC9E,aAAa,CAAC,EAAE,mBAAmB,CAAA;CACpC;AAED;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAC7B,IAAI,EAAE,yBAAyB,EAC/B,IAAI,EAAE,uBAAuB,KAC1B,iBAAiB,GAAG,IAAI,CAAA;AAE7B,MAAM,WAAW,kCAAkC;IACjD;;;;OAIG;IACH,eAAe,CAAC,EAAE,8BAA8B,CAAA;IAChD,gFAAgF;IAChF,SAAS,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAA;IACtE,6FAA6F;IAC7F,QAAQ,EAAE,2BAA2B,CAAA;IACrC,WAAW,EAAE,WAAW,CAAA;IACxB,KAAK,EAAE,KAAK,CAAA;IACZ,iGAAiG;IACjG,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,wFAAwF;IACxF,cAAc,EAAE,qBAAqB,CAAA;IACrC,+FAA+F;IAC/F,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAoBD;;;;;;;;;GASG;AACH,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,kCAAkC,GACvC,0BAA0B,CA6C5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"binaryArtifactStore.js","sourceRoot":"","sources":["../../src/persistence/binaryArtifactStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"binaryArtifactStore.js","sourceRoot":"","sources":["../../src/persistence/binaryArtifactStore.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"decode.d.ts","sourceRoot":"","sources":["../../src/persistence/decode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAmB5B;;;;;GAKG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;IAGzC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAF3C,YACE,OAAO,EAAE,MAAM,EACN,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAI1C;CACF;AAQD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAC1B,MAAM,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,EACnC,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,CAAC,CASH;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAC5B,MAAM,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,EACnC,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,CAAC,EACX,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,CAAC,CAQH;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAC1B,MAAM,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,EACnC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,CAAC,CAuBH;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAUxF;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,CAAC,EAChC,IAAI,EAAE,SAAS,CAAC,EAAE,EAClB,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAClB,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3C,CAAC,EAAE,CAOL"}
1
+ {"version":3,"file":"decode.d.ts","sourceRoot":"","sources":["../../src/persistence/decode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAoB5B;;;;;GAKG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;IAGzC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAF3C,YACE,OAAO,EAAE,MAAM,EACN,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAI1C;CACF;AAQD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAC1B,MAAM,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,EACnC,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,CAAC,CASH;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAC5B,MAAM,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,EACnC,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,CAAC,EACX,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,CAAC,CASH;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAC1B,MAAM,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,EACnC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,CAAC,CA0BH;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAUxF;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,CAAC,EAChC,IAAI,EAAE,SAAS,CAAC,EAAE,EAClB,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAClB,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3C,CAAC,EAAE,CAOL"}
@@ -1,4 +1,5 @@
1
1
  import * as v from 'valibot';
2
+ import { describeError } from '@cat-factory/kernel';
2
3
  import { logger } from '../observability/logger.js';
3
4
  // Validate-on-read guards for the persistence boundary.
4
5
  //
@@ -44,7 +45,7 @@ export function decodeEnum(schema, value, context) {
44
45
  if (result.success)
45
46
  return result.output;
46
47
  const ctx = { ...context, value: preview(value) };
47
- logger.error(ctx, 'persistence: stored value is not a valid enum member');
48
+ logger.error('persistence: stored value is not a valid enum member', ctx);
48
49
  throw new DataIntegrityError(`Invalid stored value '${preview(value)}' for ${String(context.column ?? context.field ?? 'enum')}`, ctx);
49
50
  }
50
51
  /**
@@ -56,7 +57,11 @@ export function decodeEnumOr(schema, value, fallback, context) {
56
57
  const result = v.safeParse(schema, value);
57
58
  if (result.success)
58
59
  return result.output;
59
- logger.warn({ ...context, value: preview(value), fallback }, 'persistence: unknown enum value, falling back');
60
+ logger.warn('persistence: unknown enum value, falling back', {
61
+ ...context,
62
+ value: preview(value),
63
+ fallback,
64
+ });
60
65
  return fallback;
61
66
  }
62
67
  /**
@@ -71,14 +76,20 @@ export function decodeJson(schema, raw, context) {
71
76
  }
72
77
  catch (err) {
73
78
  const ctx = { ...context, raw: preview(raw) };
74
- logger.error({ ...ctx, err }, 'persistence: stored JSON failed to parse');
79
+ // `describeError`, not a bare `err`: the Worker's browser build stringifies a raw `Error`
80
+ // to `{}`, which would erase the parse failure's cause on precisely the corrupt-row path
81
+ // that exists to explain it.
82
+ logger.error('persistence: stored JSON failed to parse', { ...ctx, ...describeError(err) });
75
83
  throw new DataIntegrityError(`Malformed JSON for ${String(context.column ?? context.field ?? 'column')}`, ctx);
76
84
  }
77
85
  const result = v.safeParse(schema, parsed);
78
86
  if (result.success)
79
87
  return result.output;
80
88
  const ctx = { ...context, raw: preview(raw) };
81
- logger.error({ ...ctx, issues: result.issues.map((i) => i.message) }, 'persistence: stored JSON does not match its contract');
89
+ logger.error('persistence: stored JSON does not match its contract', {
90
+ ...ctx,
91
+ issues: result.issues.map((i) => i.message),
92
+ });
82
93
  throw new DataIntegrityError(`Stored JSON for ${String(context.column ?? context.field ?? 'column')} violates its contract`, ctx);
83
94
  }
84
95
  /**
@@ -93,7 +104,7 @@ export function tryDecodeRow(map, context) {
93
104
  }
94
105
  catch (err) {
95
106
  if (err instanceof DataIntegrityError) {
96
- logger.error({ ...context, ...err.context }, 'persistence: dropping corrupt row from list');
107
+ logger.error('persistence: dropping corrupt row from list', { ...context, ...err.context });
97
108
  return null;
98
109
  }
99
110
  throw err;
@@ -1 +1 @@
1
- {"version":3,"file":"decode.js","sourceRoot":"","sources":["../../src/persistence/decode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decode.js","sourceRoot":"","sources":["../../src/persistence/decode.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,11 @@
1
- import type { SecretCipher } from '@cat-factory/kernel';
2
- import type { KeyFingerprintLogger } from '../crypto/keyFingerprint.js';
1
+ import type { Logger, SecretCipher } from '@cat-factory/kernel';
3
2
  import type { ServerContainer } from '../http/env.js';
4
3
  /**
5
4
  * Run the drift sweep and reconcile the per-workspace `key_drift` cards. `cipherFor` builds a
6
5
  * cipher for an HKDF info tag (the facade supplies it from its ENCRYPTION_KEY). Returns counts
7
6
  * for logging. Safe to call when unwired — it returns zeros.
8
7
  */
9
- export declare function sweepKeyDriftAndRaise(container: ServerContainer, cipherFor: (info: string) => SecretCipher, logger?: KeyFingerprintLogger): Promise<{
8
+ export declare function sweepKeyDriftAndRaise(container: ServerContainer, cipherFor: (info: string) => SecretCipher, logger?: Logger): Promise<{
10
9
  raised: number;
11
10
  cleared: number;
12
11
  affected: number;
@@ -1 +1 @@
1
- {"version":3,"file":"keyDrift.d.ts","sourceRoot":"","sources":["../../src/runtime/keyDrift.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAExE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AA2CrD;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,eAAe,EAC1B,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,YAAY,EACzC,MAAM,CAAC,EAAE,oBAAoB,GAC5B,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CA+DhE"}
1
+ {"version":3,"file":"keyDrift.d.ts","sourceRoot":"","sources":["../../src/runtime/keyDrift.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAmB,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAEhF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AA2CrD;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,eAAe,EAC1B,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,YAAY,EACzC,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CA+DhE"}
@@ -1 +1 @@
1
- {"version":3,"file":"keyDrift.js","sourceRoot":"","sources":["../../src/runtime/keyDrift.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keyDrift.js","sourceRoot":"","sources":["../../src/runtime/keyDrift.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,5 @@
1
1
  import type { ServerContainer } from '../http/env.js';
2
- /** Minimal structured logger (pino-compatible); optional. */
3
- export interface PlatformHealthSweepLogger {
4
- warn(obj: Record<string, unknown>, msg?: string): void;
5
- }
2
+ import type { Logger } from '@cat-factory/kernel';
6
3
  /**
7
4
  * Run one platform-health alert pass across every account. Returns the number of workspaces a
8
5
  * card was raised on and the number cleared. Enumerates accounts from the workspace projection
@@ -13,7 +10,7 @@ export interface PlatformHealthSweepLogger {
13
10
  * stamp `now` themselves), so this helper takes no `now` — unlike `escalateStaleNotifications`,
14
11
  * whose cutoff is caller-supplied.
15
12
  */
16
- export declare function sweepPlatformHealth(container: ServerContainer, logger?: PlatformHealthSweepLogger): Promise<{
13
+ export declare function sweepPlatformHealth(container: ServerContainer, logger?: Logger): Promise<{
17
14
  raised: number;
18
15
  cleared: number;
19
16
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"platformHealth.d.ts","sourceRoot":"","sources":["../../src/runtime/platformHealth.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAkBrD,6DAA6D;AAC7D,MAAM,WAAW,yBAAyB;IACxC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACvD;AAED;;;;;;;;;GASG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,eAAe,EAC1B,MAAM,CAAC,EAAE,yBAAyB,GACjC,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAsE9C"}
1
+ {"version":3,"file":"platformHealth.d.ts","sourceRoot":"","sources":["../../src/runtime/platformHealth.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAkBjD;;;;;;;;;GASG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,eAAe,EAC1B,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAmE9C"}
@@ -1,4 +1,19 @@
1
1
  import { distinctAccountIds, evaluatePlatformHealth, platformAlertReasons, platformHealthCardContent, } from '@cat-factory/orchestration';
2
+ // Runtime-neutral platform-health ALERT sweep — the push counterpart to the operator dashboard
3
+ // read, shared by both facades' periodic sweeps (the Worker's cron `scheduled` handler and the
4
+ // Node `setInterval` sweeper), exactly like `escalateStaleNotifications`. It evaluates each
5
+ // account's aggregate run-health projection (the SAME `PlatformObservabilityService.summarize`
6
+ // the dashboard reads — no new SQL) against the deployment thresholds and, per account:
7
+ // - raises ONE `platform_health` notification per workspace when a ceiling is crossed, or
8
+ // - clears the open card when the account has recovered.
9
+ // The card de-dupes on (workspace, type) and its content is a pure function of the FIRING
10
+ // reason set, so a persistently-unhealthy deployment re-notifies only when the set changes
11
+ // (the "state-change dedup, not every sweep" requirement), not on every pass.
12
+ //
13
+ // A no-op unless alerting is opted in AND both the notifications module and the platform-
14
+ // observability read are wired (tests / no telemetry DB / mothership local nodes). Best-effort
15
+ // per account: a failed summarize/raise for one account is logged and skipped, never aborting
16
+ // the others — this sweep must not become the silent background failure it exists to catch.
2
17
  /**
3
18
  * Run one platform-health alert pass across every account. Returns the number of workspaces a
4
19
  * card was raised on and the number cleared. Enumerates accounts from the workspace projection
@@ -62,11 +77,11 @@ export async function sweepPlatformHealth(container, logger) {
62
77
  }
63
78
  }
64
79
  catch (err) {
65
- logger?.warn({
80
+ logger?.warn('platform-health: failed to evaluate account', {
66
81
  scope: 'platform-health',
67
82
  accountId,
68
83
  err: err instanceof Error ? err.message : String(err),
69
- }, 'platform-health: failed to evaluate account');
84
+ });
70
85
  }
71
86
  }
72
87
  return { raised, cleared };
@@ -1 +1 @@
1
- {"version":3,"file":"platformHealth.js","sourceRoot":"","sources":["../../src/runtime/platformHealth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platformHealth.js","sourceRoot":"","sources":["../../src/runtime/platformHealth.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
- import type { Clock, GitHubInstallationRepository, RepoProjectionRepository } from '@cat-factory/kernel';
2
- import type { Logger } from '../observability/logger.js';
1
+ import { type Clock, type GitHubInstallationRepository, type Logger, type RepoProjectionRepository } from '@cat-factory/kernel';
3
2
  /**
4
3
  * Default staleness window: a projection not synced for this long is picked up by the
5
4
  * pass. Shared alongside the pass itself so the facades' sweeps can't drift apart.
@@ -1 +1 @@
1
- {"version":3,"file":"reconcileStaleRepos.d.ts","sourceRoot":"","sources":["../../src/runtime/reconcileStaleRepos.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,4BAA4B,EAC5B,wBAAwB,EACzB,MAAM,qBAAqB,CAAA;AAG5B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAgBxD;;;GAGG;AACH,eAAO,MAAM,yBAAyB,QAAiB,CAAA;AAEvD,2FAA2F;AAC3F,MAAM,WAAW,mBAAmB;IAClC,wBAAwB,EAAE,IAAI,CAAC,wBAAwB,EAAE,WAAW,CAAC,CAAA;IACrE,sBAAsB,EAAE,IAAI,CAAC,4BAA4B,EAAE,YAAY,CAAC,CAAA;IACxE;;;;OAIG;IACH,YAAY,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAC3E;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,mBAAmB,EACzB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,MAAM,CAAC,CA4CjB"}
1
+ {"version":3,"file":"reconcileStaleRepos.d.ts","sourceRoot":"","sources":["../../src/runtime/reconcileStaleRepos.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,KAAK,EACV,KAAK,4BAA4B,EACjC,KAAK,MAAM,EACX,KAAK,wBAAwB,EAC9B,MAAM,qBAAqB,CAAA;AAkB5B;;;GAGG;AACH,eAAO,MAAM,yBAAyB,QAAiB,CAAA;AAEvD,2FAA2F;AAC3F,MAAM,WAAW,mBAAmB;IAClC,wBAAwB,EAAE,IAAI,CAAC,wBAAwB,EAAE,WAAW,CAAC,CAAA;IACrE,sBAAsB,EAAE,IAAI,CAAC,4BAA4B,EAAE,YAAY,CAAC,CAAA;IACxE;;;;OAIG;IACH,YAAY,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAC3E;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,mBAAmB,EACzB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,MAAM,CAAC,CA4CjB"}
@@ -1,3 +1,4 @@
1
+ import { describeError, } from '@cat-factory/kernel';
1
2
  import { GitHubApiError } from '../github/FetchGitHubClient.js';
2
3
  import { installationTokenMintStatusOf } from '../github/GitHubAppAuth.js';
3
4
  // The runtime-neutral core of the periodic GitHub reconciliation pass, shared by both
@@ -54,15 +55,15 @@ export async function reconcileStaleRepos(deps, clock, staleMs, log) {
54
55
  // Best-effort: a failed tombstone just means we retry (and warn) next pass.
55
56
  }
56
57
  }
57
- log[gone ? 'warn' : 'error']({
58
+ log[gone ? 'warn' : 'error'](gone
59
+ ? 'skipping stale repo whose GitHub App installation is gone (uninstalled/revoked); reinstall the app to re-enable it'
60
+ : 'repo resync failed', {
58
61
  sweep: 'github-reconcile',
59
62
  workspaceId: repo.workspaceId,
60
63
  repoGithubId: repo.githubId,
61
64
  installationId: repo.installationId,
62
- err: error instanceof Error ? error.message : String(error),
63
- }, gone
64
- ? 'skipping stale repo whose GitHub App installation is gone (uninstalled/revoked); reinstall the app to re-enable it'
65
- : 'repo resync failed');
65
+ ...describeError(error),
66
+ });
66
67
  }
67
68
  }
68
69
  return synced;
@@ -1 +1 @@
1
- {"version":3,"file":"reconcileStaleRepos.js","sourceRoot":"","sources":["../../src/runtime/reconcileStaleRepos.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reconcileStaleRepos.js","sourceRoot":"","sources":["../../src/runtime/reconcileStaleRepos.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,GAKd,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAC/D,OAAO,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAA;AAE1E,sFAAsF;AACtF,iFAAiF;AACjF,kFAAkF;AAClF,oFAAoF;AACpF,iFAAiF;AACjF,6EAA6E;AAC7E,qFAAqF;AACrF,EAAE;AACF,wFAAwF;AACxF,wFAAwF;AACxF,uFAAuF;AACvF,qFAAqF;AACrF,gFAAgF;AAEhF;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;AAcvD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAAyB,EACzB,KAAY,EACZ,OAAe,EACf,GAAW;IAEX,iFAAiF;IACjF,sFAAsF;IACtF,mFAAmF;IACnF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,CAAA;IAClF,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;YACxD,MAAM,IAAI,CAAC,CAAA;QACb,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,gFAAgF;YAChF,+EAA+E;YAC/E,4EAA4E;YAC5E,wEAAwE;YACxE,MAAM,IAAI,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAA;YAC3C,8EAA8E;YAC9E,kFAAkF;YAClF,6EAA6E;YAC7E,iFAAiF;YACjF,+EAA+E;YAC/E,+CAA+C;YAC/C,IAAI,4BAA4B,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxC,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAA;gBAChF,CAAC;gBAAC,MAAM,CAAC;oBACP,4EAA4E;gBAC9E,CAAC;YACH,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAC1B,IAAI;gBACF,CAAC,CAAC,oHAAoH;gBACtH,CAAC,CAAC,oBAAoB,EACxB;gBACE,KAAK,EAAE,kBAAkB;gBACzB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,YAAY,EAAE,IAAI,CAAC,QAAQ;gBAC3B,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,GAAG,aAAa,CAAC,KAAK,CAAC;aACxB,CACF,CAAA;QACH,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,uGAAuG;AACvG,SAAS,YAAY,CAAC,MAAc;IAClC,OAAO,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,CAAA;AAC3D,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,uBAAuB,CAAC,KAAc;IAC7C,MAAM,MAAM,GACV,6BAA6B,CAAC,KAAK,CAAC;QACpC,CAAC,KAAK,YAAY,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IAC9D,OAAO,MAAM,KAAK,SAAS,IAAI,YAAY,CAAC,MAAM,CAAC,CAAA;AACrD,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,4BAA4B,CAAC,KAAc;IAClD,MAAM,UAAU,GAAG,6BAA6B,CAAC,KAAK,CAAC,CAAA;IACvD,OAAO,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,GAAG,CAAA;AACjD,CAAC"}