@cat-factory/integrations 0.138.3 → 0.140.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,4 +1,4 @@
1
- import type { AuditEvent, AuditEventPage, AuditEventRepository, AuditRecorder, Clock, IdGenerator, Logger } from '@cat-factory/kernel';
1
+ import type { AuditEvent, AuditEventPage, AuditEventRepository, AuditLogReader, AuditRecorder, Clock, IdGenerator, Logger } from '@cat-factory/kernel';
2
2
  export interface AuditServiceDependencies {
3
3
  auditEventRepository: AuditEventRepository;
4
4
  idGenerator: IdGenerator;
@@ -9,7 +9,7 @@ export interface AuditServiceDependencies {
9
9
  */
10
10
  logger?: Logger;
11
11
  }
12
- export declare class AuditService implements AuditRecorder {
12
+ export declare class AuditService implements AuditRecorder, AuditLogReader {
13
13
  private readonly deps;
14
14
  private readonly log;
15
15
  constructor(deps: AuditServiceDependencies);
@@ -1 +1 @@
1
- {"version":3,"file":"AuditService.d.ts","sourceRoot":"","sources":["../../../src/modules/audit/AuditService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,oBAAoB,EACpB,aAAa,EACb,KAAK,EACL,WAAW,EACX,MAAM,EACP,MAAM,qBAAqB,CAAA;AAwB5B,MAAM,WAAW,wBAAwB;IACvC,oBAAoB,EAAE,oBAAoB,CAAA;IAC1C,WAAW,EAAE,WAAW,CAAA;IACxB,KAAK,EAAE,KAAK,CAAA;IACZ;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,qBAAa,YAAa,YAAW,aAAa;IAGpC,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFjC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAE5B,YAA6B,IAAI,EAAE,wBAAwB,EAE1D;IAED;;;;;;OAMG;IACG,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB7C;IAED;;;;;;OAMG;IACH,aAAa,CACX,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GACnD,OAAO,CAAC,cAAc,CAAC,CAEzB;CACF"}
1
+ {"version":3,"file":"AuditService.d.ts","sourceRoot":"","sources":["../../../src/modules/audit/AuditService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,aAAa,EACb,KAAK,EACL,WAAW,EACX,MAAM,EACP,MAAM,qBAAqB,CAAA;AAwB5B,MAAM,WAAW,wBAAwB;IACvC,oBAAoB,EAAE,oBAAoB,CAAA;IAC1C,WAAW,EAAE,WAAW,CAAA;IACxB,KAAK,EAAE,KAAK,CAAA;IACZ;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,qBAAa,YAAa,YAAW,aAAa,EAAE,cAAc;IAGpD,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFjC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAE5B,YAA6B,IAAI,EAAE,wBAAwB,EAE1D;IAED;;;;;;OAMG;IACG,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB7C;IAED;;;;;;OAMG;IACH,aAAa,CACX,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GACnD,OAAO,CAAC,cAAc,CAAC,CAEzB;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"AuditService.js","sourceRoot":"","sources":["../../../src/modules/audit/AuditService.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAkC/D,MAAM,OAAO,YAAY;IAGM,IAAI;IAFhB,GAAG,CAAQ;IAE5B,YAA6B,IAA8B;oBAA9B,IAAI;QAC/B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,UAAU,CAAA;IACtC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,CAAC,KAAiB;QAC5B,MAAM,MAAM,GAAG;YACb,GAAG,KAAK;YACR,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;YACrC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;SAC1B,CAAA;QACD,MAAM,aAAa,CACjB,IAAI,CAAC,GAAG,EACR,cAAc,EACd,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,EACnD;YACE,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI;SAC5B,CACF,CAAA;IACH,CAAC;IAED;;;;;;OAMG;IACH,aAAa,CACX,SAAiB,EACjB,OAAoD;QAEpD,OAAO,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IACzE,CAAC;CACF"}
1
+ {"version":3,"file":"AuditService.js","sourceRoot":"","sources":["../../../src/modules/audit/AuditService.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAkC/D,MAAM,OAAO,YAAY;IAGM,IAAI;IAFhB,GAAG,CAAQ;IAE5B,YAA6B,IAA8B;oBAA9B,IAAI;QAC/B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,UAAU,CAAA;IACtC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,CAAC,KAAiB;QAC5B,MAAM,MAAM,GAAG;YACb,GAAG,KAAK;YACR,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;YACrC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;SAC1B,CAAA;QACD,MAAM,aAAa,CACjB,IAAI,CAAC,GAAG,EACR,cAAc,EACd,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,EACnD;YACE,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI;SAC5B,CACF,CAAA;IACH,CAAC;IAED;;;;;;OAMG;IACH,aAAa,CACX,SAAiB,EACjB,OAAoD;QAEpD,OAAO,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IACzE,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentImportService.d.ts","sourceRoot":"","sources":["../../../src/modules/documents/DocumentImportService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DocumentImportService.d.ts","sourceRoot":"","sources":["../../../src/modules/documents/DocumentImportService.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { contentHash, redactSecrets, ValidationError } from '@cat-factory/kernel';
2
2
  import { orderSourcesByClaimConfidence, } from '@cat-factory/contracts';
3
3
  import { requireWorkspace } from '@cat-factory/kernel';
4
- import { buildExcerpt, probeCacheKey } from './documents.logic.js';
4
+ import { buildExcerpt, probeCacheKey, sameAgentVisibleProjection } from './documents.logic.js';
5
5
  /**
6
6
  * The excerpt an uploaded body yields, or a refusal when it yields none.
7
7
  *
@@ -157,24 +157,20 @@ export class DocumentImportService {
157
157
  // Preserve any existing block link across a re-import.
158
158
  const existing = await this.deps.documentRepository.get(workspaceId, source, content.externalId);
159
159
  const hash = contentHash(content.body);
160
- // Idempotent re-import: skip the write only when NOTHING that reaches an agent has
161
- // changed the body (by hash) AND the title/url metadata (which feed the prompt's
162
- // summary index and the materialised file's `Source:` header). A renamed/moved page
163
- // whose body is unchanged still re-projects so the stale title/url don't linger.
164
- //
165
- // `sourceVersion` is part of that comparison even though no agent reads it, because it is what
166
- // the refresh COMPARES: a page whose version bumped without changing a byte of its Markdown (a
167
- // Figma file version moves on any edit in the file, including a frame this document doesn't
168
- // cover) would otherwise keep the old token on the row and be re-fetched on every single
169
- // dispatch forever, which is the cost the version probe exists to avoid.
170
- if (existing &&
160
+ // Idempotent re-import: skip the write entirely when NOTHING that reaches an agent has changed
161
+ // (`sameAgentVisibleProjection` owns what that means) AND the version token the refresh compares
162
+ // against is the one already on the row. A renamed/moved page whose body is unchanged still
163
+ // re-projects, so the stale title/url don't linger.
164
+ const unchangedForReaders = !!existing &&
171
165
  existing.deletedAt === null &&
172
- existing.contentHash === hash &&
173
- existing.title === content.title &&
174
- existing.url === content.url &&
175
- existing.sourceVersion === version) {
166
+ sameAgentVisibleProjection(existing, { ...content, contentHash: hash });
167
+ if (existing && unchangedForReaders && existing.sourceVersion === version)
176
168
  return existing;
177
- }
169
+ // The write that remains, when `unchangedForReaders` still holds, exists ONLY to record the
170
+ // moved token: a page whose version bumped without changing a byte (a Figma file version moves
171
+ // on any edit in the file, including frames this document does not cover) would otherwise keep
172
+ // the old token and be re-fetched on every dispatch forever, which is the cost the version probe
173
+ // exists to avoid.
178
174
  const record = {
179
175
  workspaceId,
180
176
  source,
@@ -192,7 +188,10 @@ export class DocumentImportService {
192
188
  // any existing tag across a re-import (the repo's upsert also leaves these columns alone).
193
189
  role: existing?.role ?? null,
194
190
  docKind: existing?.docKind ?? null,
195
- syncedAt: this.deps.clock.now(),
191
+ // `syncedAt` is "when the body was last written", which is what every reader renders it as,
192
+ // so a token-only write must NOT move it. Moving it would put a fresh timestamp on bytes
193
+ // nobody changed, and the person reading it would conclude their edit had landed.
194
+ syncedAt: unchangedForReaders ? existing.syncedAt : this.deps.clock.now(),
196
195
  deletedAt: null,
197
196
  };
198
197
  await this.deps.documentRepository.upsert(record);
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentImportService.js","sourceRoot":"","sources":["../../../src/modules/documents/DocumentImportService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DocumentImportService.js","sourceRoot":"","sources":["../../../src/modules/documents/DocumentImportService.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { DocKind, DocumentBoardPlan, DocumentLinkRole, DocumentRef, SourceDocument, DocumentOrigin } from '@cat-factory/kernel';
2
- import type { BlockEditActor } from '@cat-factory/contracts';
2
+ import type { BlockEditAuthority } from '@cat-factory/contracts';
3
3
  import type { BlockRepository } from '@cat-factory/kernel';
4
4
  import type { DocumentRepository } from '@cat-factory/kernel';
5
5
  import type { BoardWritePort } from '@cat-factory/kernel';
@@ -24,9 +24,9 @@ export declare class DocumentLinkService {
24
24
  *
25
25
  * `editor` is whose authority every block below is written under. The STRUCTURE comes from an
26
26
  * imported document, but the write is still made by whoever asked for the spawn, so the tier
27
- * comes from the caller rather than being decided here (see {@link BlockEditActor}).
27
+ * comes from the caller rather than being decided here (see {@link BlockEditAuthority}).
28
28
  */
29
- spawn(workspaceId: string, plan: DocumentBoardPlan, editor: BlockEditActor, frameId?: string): Promise<SpawnResult>;
29
+ spawn(workspaceId: string, plan: DocumentBoardPlan, editor: BlockEditAuthority, frameId?: string): Promise<SpawnResult>;
30
30
  /** Add a planned frame's modules and tasks inside an existing frame. */
31
31
  private spawnInto;
32
32
  private addTask;
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentLinkService.d.ts","sourceRoot":"","sources":["../../../src/modules/documents/DocumentLinkService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,OAAO,EACP,iBAAiB,EACjB,gBAAgB,EAEhB,WAAW,EACX,cAAc,EACd,cAAc,EAEf,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAE5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAczD,MAAM,WAAW,+BAA+B;IAC9C,YAAY,EAAE,cAAc,CAAA;IAC5B,eAAe,EAAE,eAAe,CAAA;IAChC,kBAAkB,EAAE,kBAAkB,CAAA;CACvC;AAED,iEAAiE;AACjE,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;CACd;AAED,qBAAa,mBAAmB;IAClB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,+BAA+B,EAAI;IAEtE;;;;;;;;OAQG;IACG,KAAK,CACT,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,iBAAiB,EACvB,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,WAAW,CAAC,CAmCtB;IAED,wEAAwE;YAC1D,SAAS;YAqBT,OAAO;IA4BrB,yFAAyF;IACnF,WAAW,CACf,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,cAAc,EACtB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,cAAc,CAAC,CAGzB;IAED;;;;;;;;OAQG;IACG,eAAe,CACnB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,WAAW,EAAE,GAC3B,OAAO,CAAC,cAAc,EAAE,CAAC,CAqB3B;IAED;;;;;;;;;;;;OAYG;IACG,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAErE;IAED;;;;;;;;;;;;OAYG;YACW,sBAAsB;IA0BpC;;;;;;OAMG;IACG,WAAW,CACf,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,cAAc,EACtB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,cAAc,CAAC,CAWzB;IAED,oGAAoG;IAC9F,aAAa,CACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,cAAc,EACtB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAEf;IAED,gGAAgG;IAC1F,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAGlE;CACF"}
1
+ {"version":3,"file":"DocumentLinkService.d.ts","sourceRoot":"","sources":["../../../src/modules/documents/DocumentLinkService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,OAAO,EACP,iBAAiB,EACjB,gBAAgB,EAEhB,WAAW,EACX,cAAc,EACd,cAAc,EAEf,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAEhE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAczD,MAAM,WAAW,+BAA+B;IAC9C,YAAY,EAAE,cAAc,CAAA;IAC5B,eAAe,EAAE,eAAe,CAAA;IAChC,kBAAkB,EAAE,kBAAkB,CAAA;CACvC;AAED,iEAAiE;AACjE,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;CACd;AAED,qBAAa,mBAAmB;IAClB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,+BAA+B,EAAI;IAEtE;;;;;;;;OAQG;IACG,KAAK,CACT,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,iBAAiB,EACvB,MAAM,EAAE,kBAAkB,EAC1B,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,WAAW,CAAC,CAmCtB;IAED,wEAAwE;YAC1D,SAAS;YAqBT,OAAO;IA4BrB,yFAAyF;IACnF,WAAW,CACf,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,cAAc,EACtB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,cAAc,CAAC,CAGzB;IAED;;;;;;;;OAQG;IACG,eAAe,CACnB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,WAAW,EAAE,GAC3B,OAAO,CAAC,cAAc,EAAE,CAAC,CAqB3B;IAED;;;;;;;;;;;;OAYG;IACG,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAErE;IAED;;;;;;;;;;;;OAYG;YACW,sBAAsB;IA0BpC;;;;;;OAMG;IACG,WAAW,CACf,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,cAAc,EACtB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,cAAc,CAAC,CAWzB;IAED,oGAAoG;IAC9F,aAAa,CACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,cAAc,EACtB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAEf;IAED,gGAAgG;IAC1F,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAGlE;CACF"}
@@ -16,7 +16,7 @@ export class DocumentLinkService {
16
16
  *
17
17
  * `editor` is whose authority every block below is written under. The STRUCTURE comes from an
18
18
  * imported document, but the write is still made by whoever asked for the spawn, so the tier
19
- * comes from the caller rather than being decided here (see {@link BlockEditActor}).
19
+ * comes from the caller rather than being decided here (see {@link BlockEditAuthority}).
20
20
  */
21
21
  async spawn(workspaceId, plan, editor, frameId) {
22
22
  const result = { frames: 0, modules: 0, tasks: 0 };
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentLinkService.js","sourceRoot":"","sources":["../../../src/modules/documents/DocumentLinkService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DocumentLinkService.js","sourceRoot":"","sources":["../../../src/modules/documents/DocumentLinkService.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAIjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAE7D,mGAAmG;AACnG,SAAS,MAAM,CAAC,GAAgB;IAC9B,OAAO,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,EAAE,CAAA;AAC1C,CAAC;AAqBD,MAAM,OAAO,mBAAmB;IACD,IAAI;IAAjC,YAA6B,IAAqC;oBAArC,IAAI;IAAoC,CAAC;IAEtE;;;;;;;;OAQG;IACH,KAAK,CAAC,KAAK,CACT,WAAmB,EACnB,IAAuB,EACvB,MAA0B,EAC1B,OAAgB;QAEhB,MAAM,MAAM,GAAgB,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAA;QAE/D,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,MAAM,GAAG,WAAW,CACxB,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,EACzD,OAAO,EACP,OAAO,CACR,CAAA;YACD,IAAI,MAAM,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;gBAC7B,MAAM,IAAI,eAAe,CAAC,6DAA6D,CAAC,CAAA;YAC1F,CAAC;YACD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChC,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;YACrE,CAAC;YACD,OAAO,MAAM,CAAA;QACf,CAAC;QAED,IAAI,MAAM,GAAG,CAAC,CAAA;QACd,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,EAAE;gBACjE,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE;aAC1C,CAAC,CAAA;YACF,MAAM,IAAI,CAAC,CAAA;YACX,MAAM,CAAC,MAAM,IAAI,CAAC,CAAA;YAClB,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CACtC,WAAW,EACX,OAAO,CAAC,EAAE,EACV,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EACxF,MAAM,CACP,CAAA;YACD,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;QACtE,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAED,wEAAwE;IAChE,KAAK,CAAC,SAAS,CACrB,WAAmB,EACnB,OAAe,EACf,KAAgB,EAChB,MAAmB,EACnB,MAA0B;QAE1B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAC/B,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;QAChE,CAAC;QACD,KAAK,MAAM,UAAU,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACvC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,WAAW,EAAE,OAAO,EAAE;gBAC1E,IAAI,EAAE,UAAU,CAAC,IAAI;aACtB,CAAC,CAAA;YACF,MAAM,CAAC,OAAO,IAAI,CAAC,CAAA;YACnB,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;gBACpC,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;YAClE,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,OAAO,CACnB,WAAmB,EACnB,WAAmB,EACnB,IAA6C,EAC7C,MAAmB,EACnB,MAA0B;QAE1B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAClD,WAAW,EACX,WAAW,EACX,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EACrB,MAAM,CACP,CAAA;QACD,MAAM,CAAC,KAAK,IAAI,CAAC,CAAA;QACjB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CACtC,WAAW,EACX,OAAO,CAAC,EAAE,EACV,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,EACjC,MAAM,CACP,CAAA;QACH,CAAC;IACH,CAAC;IAED,0FAA0F;IAC1F,gGAAgG;IAChG,oFAAoF;IAEpF,yFAAyF;IACzF,KAAK,CAAC,WAAW,CACf,WAAmB,EACnB,OAAe,EACf,MAAsB,EACtB,UAAkB;QAElB,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,CAAA;QAC3F,OAAO,MAAO,CAAA;IAChB,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,eAAe,CACnB,WAAmB,EACnB,OAAe,EACf,IAA4B;QAE5B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAA;QAChC,MAAM,KAAK,GAAU,WAAW,CAC9B,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,EACzD,OAAO,EACP,OAAO,CACR,CAAA;QACD,MAAM,KAAK,GAAG,IAAI,GAAG,CACnB,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;YAC9E,MAAM,CAAC,GAAG,CAAC;YACX,GAAG;SACJ,CAAC,CACH,CAAA;QACD,yFAAyF;QACzF,mFAAmF;QACnF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACjC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CACxE,CAAA;QACD,MAAM,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,EAAE,SAAS,CAAC,CAAA;QACnE,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAA;QAC7E,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAAE,GAAG,GAAG,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;IACtF,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,WAAW,CAAC,WAAmB,EAAE,OAAe;QACpD,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;IACzE,CAAC;IAED;;;;;;;;;;;;OAYG;IACK,KAAK,CAAC,sBAAsB,CAClC,WAAmB,EACnB,OAAe,EACf,SAAoC;QAEpC,MAAM,OAAO,GAAG,SAAS;aACtB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC;aAC/B,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,KAAK,OAAO,CAAC,CAAA;QAC/D,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE,OAAM;QAC3B,yFAAyF;QACzF,gCAAgC;QAChC,MAAM,IAAI,GAAG,IAAI,GAAG,CAClB,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAC9F,CAAA;QACD,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAC7B,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,aAAa,KAAK,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAC3F,CAAA;QACD,IAAI,CAAC,QAAQ;YAAE,OAAM;QACrB,MAAM,IAAI,aAAa,CACrB,aAAa,QAAQ,CAAC,KAAK,iCAAiC,QAAQ,CAAC,aAAa,IAAI;YACpF,mDAAmD,EACrD,yBAAyB,EACzB,EAAE,MAAM,EAAE,QAAQ,CAAC,aAAa,EAAE,CACnC,CAAA;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,WAAW,CACf,WAAmB,EACnB,MAAsB,EACtB,UAAkB,EAClB,IAAsB,EACtB,OAAgB;QAEhB,MAAM,QAAQ,GAAG,WAAW,CAC1B,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC,EACvE,UAAU,EACV,UAAU,CACX,CAAA;QACD,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,WAAW,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;QACvF,CAAC;QACD,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;QAC1F,OAAO,gBAAgB,CAAC,EAAE,GAAG,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;IACzD,CAAC;IAED,oGAAoG;IACpG,KAAK,CAAC,aAAa,CACjB,WAAmB,EACnB,MAAsB,EACtB,UAAkB;QAElB,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC,CAAA;IAC/E,CAAC;IAED,gGAAgG;IAChG,KAAK,CAAC,aAAa,CAAC,WAAmB;QACrC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAA;QACrF,OAAO,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;IACnC,CAAC;CACF"}
@@ -1,6 +1,7 @@
1
- import type { DocumentRecord, DocumentSourceRegistry, GroupCacheHandle, LinkedDocumentRefreshOutcome, LinkedDocumentRefresher, Logger, OperationalMetrics, RefreshedDocument } from '@cat-factory/kernel';
1
+ import type { DocumentRecord, DocumentSourceKind, DocumentSourceRegistry, GroupCacheHandle, LinkedDocumentRefreshOutcome, LinkedDocumentRefresher, Logger, OperationalMetrics, RefreshedDocument } from '@cat-factory/kernel';
2
+ import { type RefreshedDocumentView } from '@cat-factory/contracts';
2
3
  import type { DocumentConnectionService } from './DocumentConnectionService.js';
3
- import type { DocumentImportService } from './DocumentImportService.js';
4
+ import { type DocumentImportService } from './DocumentImportService.js';
4
5
  export interface LinkedDocumentRefreshServiceDependencies {
5
6
  registry: DocumentSourceRegistry;
6
7
  connectionService: DocumentConnectionService;
@@ -35,6 +36,23 @@ export declare class LinkedDocumentRefreshService implements LinkedDocumentRefre
35
36
  * and handed down, rather than re-read per document and then again inside each probe.
36
37
  */
37
38
  refresh(workspaceId: string, documents: readonly DocumentRecord[]): Promise<readonly RefreshedDocument[]>;
39
+ /**
40
+ * Confirm ONE stored document because a PERSON asked, not because a dispatch did.
41
+ *
42
+ * Same ladder, run under the `manual` trigger. The cached verdict is dropped first: the cache
43
+ * exists so a burst of step dispatches costs one round trip, and it deliberately remembers a
44
+ * failure so an outage is not re-probed by every dispatch. Both are exactly wrong for a human
45
+ * clicking Refresh: the click IS the request for a new answer, and the most common reason to
46
+ * click is that the last answer said the source was unreachable, so a refresh served from that
47
+ * cache would report the very outage the person is retrying past.
48
+ *
49
+ * A SUCCESSFUL outcome is still stored, so the dispatches that follow a manual refresh inherit it
50
+ * rather than re-asking the source. A failed one is not, which is the asymmetry {@link runLadder}
51
+ * exists to hold: dropping the entry and then re-filling it with whatever one click found would
52
+ * let a person retrying past a flaky source install an `unreachable` verdict that every dispatch
53
+ * for the next TTL window reads, degrading the run path with a failure no dispatch observed.
54
+ */
55
+ refreshNow(workspaceId: string, source: DocumentSourceKind, externalId: string): Promise<RefreshedDocumentView>;
38
56
  /**
39
57
  * The live connection per source this corpus actually needs, in ONE read.
40
58
  *
@@ -55,13 +73,33 @@ export declare class LinkedDocumentRefreshService implements LinkedDocumentRefre
55
73
  /** The probe → compare → re-import ladder for a source-backed document. */
56
74
  private confirm;
57
75
  /**
58
- * Run the ladder through the short-TTL cache, turning a failure into a cached VALUE.
76
+ * Run the ladder, turning ANY failure into the `unreachable` outcome the caller can render.
59
77
  *
60
- * The catch is INSIDE the loader on purpose: a loader that throws caches nothing, so a rate-limited
61
- * or unreachable source would be re-asked (and its changed documents re-downloaded) by every step
62
- * dispatch for as long as it stayed down. Remembering the failure for the TTL is what bounds that,
63
- * and it costs a run at most one TTL window of reading the stored body after the source recovers.
78
+ * Whether that failure is also REMEMBERED by the shared cache is {@link runLadder}'s call, so this
79
+ * stays the one place a failure becomes a verdict however it got here.
64
80
  */
65
81
  private attempt;
82
+ /**
83
+ * The ladder under the short-TTL cache, with the trigger's failure rule applied. The rule is
84
+ * ASYMMETRIC, and each half is load-bearing.
85
+ *
86
+ * A DISPATCH's failure is REMEMBERED: its loader catches and returns `unreachable` as a value, so
87
+ * the cache stores it. A loader that throws caches nothing, and without this a rate-limited or
88
+ * unreachable source would be re-asked (and its changed documents re-downloaded) by every step
89
+ * dispatch for as long as it stayed down. Remembering it bounds an outage to one probe per TTL
90
+ * window, at a cost of at most one window of reading the stored body after the source recovers.
91
+ *
92
+ * A PERSON's failure is NOT remembered: their loader rethrows. `refreshNow` has just DROPPED the
93
+ * cached entry, precisely because the commonest reason to click is that the last answer said the
94
+ * source was down, so re-filling it with whatever the click found would put an `unreachable`
95
+ * verdict in front of every dispatch for the next TTL window: a human retrying past a flaky source
96
+ * would degrade the run path with a failure no dispatch ever observed, and each further click
97
+ * would renew it. Leaving the entry empty is the honest state, and it costs the next dispatch one
98
+ * probe. A SUCCESS is cached on both paths, so the dispatches after a manual refresh still inherit
99
+ * it rather than re-asking the source.
100
+ */
101
+ private runLadder;
102
+ /** The ONE place a failed confirmation is logged and named, however the pass reached it. */
103
+ private unreachable;
66
104
  }
67
105
  //# sourceMappingURL=LinkedDocumentRefreshService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LinkedDocumentRefreshService.d.ts","sourceRoot":"","sources":["../../../src/modules/documents/LinkedDocumentRefreshService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,cAAc,EAGd,sBAAsB,EACtB,gBAAgB,EAChB,4BAA4B,EAC5B,uBAAuB,EACvB,MAAM,EACN,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,qBAAqB,CAAA;AAI5B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAC/E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAwCvE,MAAM,WAAW,wCAAwC;IACvD,QAAQ,EAAE,sBAAsB,CAAA;IAChC,iBAAiB,EAAE,yBAAyB,CAAA;IAC5C,sEAAsE;IACtE,aAAa,EAAE,qBAAqB,CAAA;IACpC;;;;OAIG;IACH,YAAY,CAAC,EAAE,gBAAgB,CAAC,4BAA4B,CAAC,CAAA;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,kGAAkG;IAClG,OAAO,CAAC,EAAE,kBAAkB,CAAA;CAC7B;AAED,qBAAa,4BAA6B,YAAW,uBAAuB;IAI9D,OAAO,CAAC,QAAQ,CAAC,IAAI;IAHjC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAE5C,YAA6B,IAAI,EAAE,wCAAwC,EAG1E;IAED;;;;;;;;;;;;OAYG;IACG,OAAO,CACX,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,SAAS,cAAc,EAAE,GACnC,OAAO,CAAC,SAAS,iBAAiB,EAAE,CAAC,CAKvC;IAED;;;;;;;;;OASG;YACW,kBAAkB;IA8BhC;;;OAGG;YACW,UAAU;YAiBV,UAAU;IAgCxB,2EAA2E;YAC7D,OAAO;IAmErB;;;;;;;OAOG;YACW,OAAO;CAwBtB"}
1
+ {"version":3,"file":"LinkedDocumentRefreshService.d.ts","sourceRoot":"","sources":["../../../src/modules/documents/LinkedDocumentRefreshService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,cAAc,EACd,kBAAkB,EAElB,sBAAsB,EACtB,gBAAgB,EAChB,4BAA4B,EAC5B,uBAAuB,EACvB,MAAM,EACN,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAuB,KAAK,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAExF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAC/E,OAAO,EAAE,KAAK,qBAAqB,EAAoB,MAAM,4BAA4B,CAAA;AAsDzF,MAAM,WAAW,wCAAwC;IACvD,QAAQ,EAAE,sBAAsB,CAAA;IAChC,iBAAiB,EAAE,yBAAyB,CAAA;IAC5C,sEAAsE;IACtE,aAAa,EAAE,qBAAqB,CAAA;IACpC;;;;OAIG;IACH,YAAY,CAAC,EAAE,gBAAgB,CAAC,4BAA4B,CAAC,CAAA;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,kGAAkG;IAClG,OAAO,CAAC,EAAE,kBAAkB,CAAA;CAC7B;AAED,qBAAa,4BAA6B,YAAW,uBAAuB;IAI9D,OAAO,CAAC,QAAQ,CAAC,IAAI;IAHjC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAE5C,YAA6B,IAAI,EAAE,wCAAwC,EAG1E;IAED;;;;;;;;;;;;OAYG;IACG,OAAO,CACX,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,SAAS,cAAc,EAAE,GACnC,OAAO,CAAC,SAAS,iBAAiB,EAAE,CAAC,CAOvC;IAED;;;;;;;;;;;;;;;OAeG;IACG,UAAU,CACd,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,kBAAkB,EAC1B,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,qBAAqB,CAAC,CAUhC;IAED;;;;;;;;;OASG;YACW,kBAAkB;IA8BhC;;;OAGG;YACW,UAAU;YA0BV,UAAU;IAiCxB,2EAA2E;YAC7D,OAAO;IAuFrB;;;;;OAKG;YACW,OAAO;IAkBrB;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAO,CAAC,SAAS;IAsBjB,4FAA4F;IAC5F,OAAO,CAAC,WAAW;CAgBpB"}
@@ -1,7 +1,8 @@
1
1
  import { describeError, noopLogger, noopOperationalMetrics } from '@cat-factory/kernel';
2
2
  import { isConnectableSource } from '@cat-factory/contracts';
3
3
  import pMap from 'p-map';
4
- import { probeCacheKey } from './documents.logic.js';
4
+ import { toSourceDocument } from './DocumentImportService.js';
5
+ import { probeCacheKey, sameAgentVisibleProjection } from './documents.logic.js';
5
6
  // LinkedDocumentRefreshService: the {@link LinkedDocumentRefresher} implementation — the
6
7
  // dispatch-time half of document freshness.
7
8
  //
@@ -57,9 +58,34 @@ export class LinkedDocumentRefreshService {
57
58
  */
58
59
  async refresh(workspaceId, documents) {
59
60
  const connections = await this.resolveConnections(workspaceId, documents);
60
- return pMap(documents, (record) => this.refreshOne(workspaceId, record, connections), {
61
- concurrency: REFRESH_CONCURRENCY,
62
- });
61
+ return pMap(documents, (record) => this.refreshOne(workspaceId, record, connections, 'dispatch'), { concurrency: REFRESH_CONCURRENCY });
62
+ }
63
+ /**
64
+ * Confirm ONE stored document because a PERSON asked, not because a dispatch did.
65
+ *
66
+ * Same ladder, run under the `manual` trigger. The cached verdict is dropped first: the cache
67
+ * exists so a burst of step dispatches costs one round trip, and it deliberately remembers a
68
+ * failure so an outage is not re-probed by every dispatch. Both are exactly wrong for a human
69
+ * clicking Refresh: the click IS the request for a new answer, and the most common reason to
70
+ * click is that the last answer said the source was unreachable, so a refresh served from that
71
+ * cache would report the very outage the person is retrying past.
72
+ *
73
+ * A SUCCESSFUL outcome is still stored, so the dispatches that follow a manual refresh inherit it
74
+ * rather than re-asking the source. A failed one is not, which is the asymmetry {@link runLadder}
75
+ * exists to hold: dropping the entry and then re-filling it with whatever one click found would
76
+ * let a person retrying past a flaky source install an `unreachable` verdict that every dispatch
77
+ * for the next TTL window reads, degrading the run path with a failure no dispatch observed.
78
+ */
79
+ async refreshNow(workspaceId, source, externalId) {
80
+ const stored = await this.deps.importService.requireDocument(workspaceId, source, externalId);
81
+ await this.deps.versionCache?.invalidate(probeCacheKey(source, externalId), workspaceId);
82
+ const connections = await this.resolveConnections(workspaceId, [stored]);
83
+ const { record, freshness } = await this.refreshOne(workspaceId, stored, connections, 'manual');
84
+ // BOTH halves, because neither answers alone: the row carries the title/excerpt/`syncedAt` the
85
+ // caller re-renders, and only the verdict says whether it was confirmed current. An unchanged
86
+ // row under a `confirmed` verdict and the same row under an `unconfirmed` one are identical
87
+ // bytes and opposite facts.
88
+ return { document: toSourceDocument(record), freshness };
63
89
  }
64
90
  /**
65
91
  * The live connection per source this corpus actually needs, in ONE read.
@@ -98,11 +124,19 @@ export class LinkedDocumentRefreshService {
98
124
  * One document's verdict. NEVER throws (the port's best-effort contract): a source outage costs the
99
125
  * run a stale body and a stated warning, never the run.
100
126
  */
101
- async refreshOne(workspaceId, record, connections) {
102
- const refreshed = await this.verdictFor(workspaceId, record, connections);
103
- if (refreshed.freshness.status === 'unconfirmed') {
104
- // ONE increment site for every gap, whichever branch produced it, so the rate cannot drift
105
- // from the verdicts actually rendered. Both dimensions are closed vocabularies.
127
+ async refreshOne(workspaceId, record, connections, trigger) {
128
+ const refreshed = await this.verdictFor(workspaceId, record, connections, trigger);
129
+ // ONE increment site for every gap, whichever branch produced it, so the rate cannot drift from
130
+ // the verdicts actually rendered. Both dimensions are closed vocabularies.
131
+ //
132
+ // DISPATCHES ONLY, and that is the counter's contract rather than a sampling shortcut: it counts
133
+ // runs that read a copy the source has moved past. A person clicking Refresh hands no body to
134
+ // any agent, and the commonest reason to click is that the source was down a moment ago, so
135
+ // counting the click would let one person retrying an outage move a deployment-wide rate as far
136
+ // as they have patience for, in the exact direction that reads as "agents are being handed more
137
+ // stale designs than they were". The click is not invisible: it is logged like every other pass,
138
+ // with its `trigger`.
139
+ if (trigger === 'dispatch' && refreshed.freshness.status === 'unconfirmed') {
106
140
  this.metrics.increment('document.freshness_gap', {
107
141
  reason: refreshed.freshness.reason,
108
142
  source: record.source,
@@ -110,7 +144,7 @@ export class LinkedDocumentRefreshService {
110
144
  }
111
145
  return refreshed;
112
146
  }
113
- async verdictFor(workspaceId, record, connections) {
147
+ async verdictFor(workspaceId, record, connections, trigger) {
114
148
  // An `upload` has no provider to ask, and a source this deployment never wired has no provider
115
149
  // either. Both are "nothing fresher exists to compare against", which is NOT a degradation —
116
150
  // distinct from the gaps below, which are.
@@ -126,7 +160,7 @@ export class LinkedDocumentRefreshService {
126
160
  if (!connection)
127
161
  return unconfirmed(record, 'not_connected');
128
162
  try {
129
- return await this.confirm(workspaceId, source, provider, connection, record);
163
+ return await this.confirm(workspaceId, source, provider, connection, record, trigger);
130
164
  }
131
165
  catch (error) {
132
166
  // The ladder catches its own failures inside the cache loader (so they are REMEMBERED rather
@@ -143,12 +177,12 @@ export class LinkedDocumentRefreshService {
143
177
  }
144
178
  }
145
179
  /** The probe → compare → re-import ladder for a source-backed document. */
146
- async confirm(workspaceId, source, provider, connection, record) {
180
+ async confirm(workspaceId, source, provider, connection, record, trigger) {
147
181
  // Set by the ladder when THIS call ran the re-import; left undefined on a cache HIT, where the
148
182
  // download already happened (on an earlier dispatch, or on a concurrent one this call deduped
149
183
  // onto) and the row we were handed may not carry it yet.
150
184
  let reimported;
151
- const outcome = await this.attempt(workspaceId, source, record.externalId, async () => {
185
+ const outcome = await this.attempt(workspaceId, source, record.externalId, trigger, async () => {
152
186
  const probed = await provider.probeVersion(connection.credentials, record.externalId, workspaceId);
153
187
  // The source answered but has no version to compare. Not an error and not fixable, but the
154
188
  // copy still cannot be called confirmed, and claiming otherwise is the one lie this feature
@@ -163,10 +197,11 @@ export class LinkedDocumentRefreshService {
163
197
  reimported = await this.deps.importService.reimport(workspaceId, source, record.externalId, {
164
198
  fallbackVersion: probed,
165
199
  });
166
- this.log.debug('linked document re-imported at dispatch', {
200
+ this.log.debug('linked document re-imported', {
167
201
  workspaceId,
168
202
  source,
169
203
  externalId: record.externalId,
204
+ trigger,
170
205
  });
171
206
  // The version of the body ACTUALLY STORED, read off the written row rather than reusing the
172
207
  // probed token: the fetch that followed the probe can legitimately land a newer revision than
@@ -179,56 +214,99 @@ export class LinkedDocumentRefreshService {
179
214
  return unconfirmed(record, 'source_unreachable');
180
215
  if (outcome.status === 'unversioned')
181
216
  return unconfirmed(record, 'unversioned');
182
- // The row this dispatch was handed already carries the token the source last answered with.
217
+ // The row this pass was handed already carries the token the source last answered with, so
218
+ // nothing was fetched and nothing was written.
183
219
  if (record.sourceVersion === outcome.version) {
184
220
  return {
185
221
  record,
186
- freshness: { status: 'confirmed', version: outcome.version, reimported: false },
222
+ freshness: { status: 'confirmed', version: outcome.version, change: 'unchanged' },
187
223
  };
188
224
  }
189
- // It does not, so the current body is not the one in hand: either this call just re-imported it,
190
- // or a concurrent dispatch did and this call deduped onto its cached outcome, in which case the
191
- // row moved AFTER our corpus read. Re-read it rather than labelling a stale body with a fresh
192
- // revision, which is the exact lie the whole feature exists to prevent.
225
+ // It does not, so the source has moved past the token in hand: either this call just re-imported
226
+ // it, or a concurrent dispatch did and this call deduped onto its cached outcome, in which case
227
+ // the row moved AFTER our corpus read. Re-read it rather than labelling a stale body with a
228
+ // fresh revision, which is the exact lie the whole feature exists to prevent.
193
229
  const current = reimported ??
194
230
  (await this.deps.importService.requireDocument(workspaceId, source, record.externalId));
231
+ // A MOVED TOKEN IS NOT A CHANGED DOCUMENT, and collapsing the two is the same class of lie in
232
+ // the other direction. A Figma file's version bumps on any edit anywhere in it, so the common
233
+ // case for a document covering one frame is that the token moved and not one byte a reader sees
234
+ // did. Calling that `reimported` would tell a person their design had been pulled in when their
235
+ // own edit may be in a frame nothing here covers. The comparison is `reimport`'s own
236
+ // ("what reaches an agent"), shared rather than restated so the two cannot disagree.
195
237
  return {
196
238
  record: current,
197
239
  freshness: {
198
240
  status: 'confirmed',
199
241
  version: current.sourceVersion ?? outcome.version,
200
- reimported: true,
242
+ change: sameAgentVisibleProjection(record, current) ? 'revision_only' : 'reimported',
201
243
  },
202
244
  };
203
245
  }
204
246
  /**
205
- * Run the ladder through the short-TTL cache, turning a failure into a cached VALUE.
247
+ * Run the ladder, turning ANY failure into the `unreachable` outcome the caller can render.
206
248
  *
207
- * The catch is INSIDE the loader on purpose: a loader that throws caches nothing, so a rate-limited
208
- * or unreachable source would be re-asked (and its changed documents re-downloaded) by every step
209
- * dispatch for as long as it stayed down. Remembering the failure for the TTL is what bounds that,
210
- * and it costs a run at most one TTL window of reading the stored body after the source recovers.
249
+ * Whether that failure is also REMEMBERED by the shared cache is {@link runLadder}'s call, so this
250
+ * stays the one place a failure becomes a verdict however it got here.
211
251
  */
212
- async attempt(workspaceId, source, externalId, ladder) {
213
- const guarded = async () => {
252
+ async attempt(workspaceId, source, externalId, trigger, ladder) {
253
+ try {
254
+ return await this.runLadder(workspaceId, source, externalId, trigger, ladder);
255
+ }
256
+ catch (error) {
257
+ // A `manual` pass routes its failures here BY DESIGN (its loader rethrows, so the cache stores
258
+ // nothing); a `dispatch` reaches it only if the cache handle itself failed. Bespoke rather
259
+ // than `runBestEffort` because the swallow has to produce a VALUE: the caller needs a verdict,
260
+ // so there is nothing to return `undefined` for.
261
+ return this.unreachable(workspaceId, source, externalId, trigger, error);
262
+ }
263
+ }
264
+ /**
265
+ * The ladder under the short-TTL cache, with the trigger's failure rule applied. The rule is
266
+ * ASYMMETRIC, and each half is load-bearing.
267
+ *
268
+ * A DISPATCH's failure is REMEMBERED: its loader catches and returns `unreachable` as a value, so
269
+ * the cache stores it. A loader that throws caches nothing, and without this a rate-limited or
270
+ * unreachable source would be re-asked (and its changed documents re-downloaded) by every step
271
+ * dispatch for as long as it stayed down. Remembering it bounds an outage to one probe per TTL
272
+ * window, at a cost of at most one window of reading the stored body after the source recovers.
273
+ *
274
+ * A PERSON's failure is NOT remembered: their loader rethrows. `refreshNow` has just DROPPED the
275
+ * cached entry, precisely because the commonest reason to click is that the last answer said the
276
+ * source was down, so re-filling it with whatever the click found would put an `unreachable`
277
+ * verdict in front of every dispatch for the next TTL window: a human retrying past a flaky source
278
+ * would degrade the run path with a failure no dispatch ever observed, and each further click
279
+ * would renew it. Leaving the entry empty is the honest state, and it costs the next dispatch one
280
+ * probe. A SUCCESS is cached on both paths, so the dispatches after a manual refresh still inherit
281
+ * it rather than re-asking the source.
282
+ */
283
+ runLadder(workspaceId, source, externalId, trigger, ladder) {
284
+ const cache = this.deps.versionCache;
285
+ if (!cache)
286
+ return ladder();
287
+ const remembering = async () => {
214
288
  try {
215
289
  return await ladder();
216
290
  }
217
291
  catch (error) {
218
- this.log.warn('linked document could not be confirmed against its source', {
219
- workspaceId,
220
- source,
221
- externalId,
222
- ...describeError(error),
223
- });
224
- return { status: 'unreachable' };
292
+ return this.unreachable(workspaceId, source, externalId, trigger, error);
225
293
  }
226
294
  };
227
- if (!this.deps.versionCache)
228
- return guarded();
229
295
  // Grouped by workspace so a workspace's connection change can drop every verdict it authorised in
230
296
  // one call, and keyed per document within it — the same shape as the fragment body cache.
231
- return this.deps.versionCache.get(probeCacheKey(source, externalId), workspaceId, guarded);
297
+ const key = probeCacheKey(source, externalId);
298
+ return cache.get(key, workspaceId, trigger === 'dispatch' ? remembering : ladder);
299
+ }
300
+ /** The ONE place a failed confirmation is logged and named, however the pass reached it. */
301
+ unreachable(workspaceId, source, externalId, trigger, error) {
302
+ this.log.warn('linked document could not be confirmed against its source', {
303
+ workspaceId,
304
+ source,
305
+ externalId,
306
+ trigger,
307
+ ...describeError(error),
308
+ });
309
+ return { status: 'unreachable' };
232
310
  }
233
311
  }
234
312
  function notApplicable(record) {
@@ -1 +1 @@
1
- {"version":3,"file":"LinkedDocumentRefreshService.js","sourceRoot":"","sources":["../../../src/modules/documents/LinkedDocumentRefreshService.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AACvF,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,IAAI,MAAM,OAAO,CAAA;AAGxB,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEpD,yFAAyF;AACzF,4CAA4C;AAC5C,EAAE;AACF,mGAAmG;AACnG,mGAAmG;AACnG,mGAAmG;AACnG,sFAAsF;AACtF,EAAE;AACF,8FAA8F;AAC9F,iGAAiG;AACjG,+FAA+F;AAC/F,6DAA6D;AAC7D,EAAE;AACF,gGAAgG;AAChG,oGAAoG;AACpG,iGAAiG;AACjG,wFAAwF;AACxF,oGAAoG;AACpG,gGAAgG;AAChG,+FAA+F;AAC/F,uFAAuF;AACvF,mGAAmG;AACnG,gDAAgD;AAEhD,kEAAkE;AAClE,MAAM,mBAAmB,GAAG,CAAC,CAAA;AAE7B;;;;GAIG;AACH,MAAM,qBAAqB,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAA;AAqB7D,MAAM,OAAO,4BAA4B;IAIV,IAAI;IAHhB,GAAG,CAAQ;IACX,OAAO,CAAoB;IAE5C,YAA6B,IAA8C;oBAA9C,IAAI;QAC/B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,UAAU,CAAA;QACpC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,sBAAsB,CAAA;IACvD,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,OAAO,CACX,WAAmB,EACnB,SAAoC;QAEpC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;QACzE,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE;YACpF,WAAW,EAAE,mBAAmB;SACjC,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;;;OASG;IACK,KAAK,CAAC,kBAAkB,CAC9B,WAAmB,EACnB,SAAoC;QAEpC,MAAM,OAAO,GAAG;YACd,GAAG,IAAI,GAAG,CACR,SAAS;iBACN,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;iBAC9B,MAAM,CAAC,CAAC,MAAM,EAAgC,EAAE,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;iBAC7E,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CACtD;SACF,CAAA;QACD,IAAI,CAAC;YACH,OAAO,IAAI,GAAG,CACZ,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,WAAW,EAAE,OAAO,CAAC,CAC3E,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,sFAAsF;YACtF,4FAA4F;YAC5F,yFAAyF;YACzF,4FAA4F;YAC5F,0CAA0C;YAC1C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,iEAAiE,EAAE;gBAC/E,WAAW;gBACX,GAAG,aAAa,CAAC,KAAK,CAAC;aACxB,CAAC,CAAA;YACF,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAA;QAC1E,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,UAAU,CACtB,WAAmB,EACnB,MAAsB,EACtB,WAAwD;QAExD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,CAAA;QACzE,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;YACjD,2FAA2F;YAC3F,gFAAgF;YAChF,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,wBAAwB,EAAE;gBAC/C,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM;gBAClC,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAEO,KAAK,CAAC,UAAU,CACtB,WAAmB,EACnB,MAAsB,EACtB,WAAwD;QAExD,+FAA+F;QAC/F,6FAA6F;QAC7F,2CAA2C;QAC3C,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC;YAAE,OAAO,aAAa,CAAC,MAAM,CAAC,CAAA;QACrE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAC/C,IAAI,CAAC,QAAQ;YAAE,OAAO,aAAa,CAAC,MAAM,CAAC,CAAA;QAC3C,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAC1C,IAAI,UAAU,KAAK,qBAAqB;YAAE,OAAO,WAAW,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAA;QAC9F,IAAI,CAAC,UAAU;YAAE,OAAO,WAAW,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;QAC5D,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,CAAA;QAC9E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,6FAA6F;YAC7F,2FAA2F;YAC3F,6FAA6F;YAC7F,0FAA0F;YAC1F,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,sEAAsE,EAAE;gBACpF,WAAW;gBACX,MAAM;gBACN,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,GAAG,aAAa,CAAC,KAAK,CAAC;aACxB,CAAC,CAAA;YACF,OAAO,WAAW,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;QAClD,CAAC;IACH,CAAC;IAED,2EAA2E;IACnE,KAAK,CAAC,OAAO,CACnB,WAAmB,EACnB,MAA0B,EAC1B,QAAgC,EAChC,UAAoC,EACpC,MAAsB;QAEtB,+FAA+F;QAC/F,8FAA8F;QAC9F,yDAAyD;QACzD,IAAI,UAAsC,CAAA;QAC1C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE;YACpF,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,YAAY,CACxC,UAAU,CAAC,WAAW,EACtB,MAAM,CAAC,UAAU,EACjB,WAAW,CACZ,CAAA;YACD,2FAA2F;YAC3F,4FAA4F;YAC5F,8CAA8C;YAC9C,IAAI,CAAC,MAAM;gBAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAA;YAC7C,IAAI,MAAM,KAAK,MAAM,CAAC,aAAa;gBAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,CAAA;YACpF,+FAA+F;YAC/F,gGAAgG;YAChG,gFAAgF;YAChF,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE;gBAC1F,eAAe,EAAE,MAAM;aACxB,CAAC,CAAA;YACF,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,yCAAyC,EAAE;gBACxD,WAAW;gBACX,MAAM;gBACN,UAAU,EAAE,MAAM,CAAC,UAAU;aAC9B,CAAC,CAAA;YACF,4FAA4F;YAC5F,8FAA8F;YAC9F,+FAA+F;YAC/F,6FAA6F;YAC7F,mFAAmF;YACnF,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,CAAC,aAAa,IAAI,MAAM,EAAE,CAAA;QAC7E,CAAC,CAAC,CAAA;QAEF,IAAI,OAAO,CAAC,MAAM,KAAK,aAAa;YAAE,OAAO,WAAW,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;QACtF,IAAI,OAAO,CAAC,MAAM,KAAK,aAAa;YAAE,OAAO,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;QAC/E,4FAA4F;QAC5F,IAAI,MAAM,CAAC,aAAa,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC;YAC7C,OAAO;gBACL,MAAM;gBACN,SAAS,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE;aAChF,CAAA;QACH,CAAC;QACD,iGAAiG;QACjG,gGAAgG;QAChG,8FAA8F;QAC9F,wEAAwE;QACxE,MAAM,OAAO,GACX,UAAU;YACV,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAA;QACzF,OAAO;YACL,MAAM,EAAE,OAAO;YACf,SAAS,EAAE;gBACT,MAAM,EAAE,WAAW;gBACnB,OAAO,EAAE,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,OAAO;gBACjD,UAAU,EAAE,IAAI;aACjB;SACF,CAAA;IACH,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,OAAO,CACnB,WAAmB,EACnB,MAA0B,EAC1B,UAAkB,EAClB,MAAmD;QAEnD,MAAM,OAAO,GAAG,KAAK,IAA2C,EAAE;YAChE,IAAI,CAAC;gBACH,OAAO,MAAM,MAAM,EAAE,CAAA;YACvB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,2DAA2D,EAAE;oBACzE,WAAW;oBACX,MAAM;oBACN,UAAU;oBACV,GAAG,aAAa,CAAC,KAAK,CAAC;iBACxB,CAAC,CAAA;gBACF,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAA;YAClC,CAAC;QACH,CAAC,CAAA;QACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO,OAAO,EAAE,CAAA;QAC7C,kGAAkG;QAClG,0FAA0F;QAC1F,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;IAC5F,CAAC;CACF;AAED,SAAS,aAAa,CAAC,MAAsB;IAC3C,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,CAAA;AAC5D,CAAC;AAED,SAAS,WAAW,CAAC,MAAsB,EAAE,MAA4B;IACvE,MAAM,SAAS,GAAsB,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,CAAA;IACtE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAA;AAC9B,CAAC"}
1
+ {"version":3,"file":"LinkedDocumentRefreshService.js","sourceRoot":"","sources":["../../../src/modules/documents/LinkedDocumentRefreshService.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,28 @@ export { buildExcerpt, markdownToText };
12
12
  * differ, and an invalidation that targets a key nothing reads fails silently.
13
13
  */
14
14
  export declare function probeCacheKey(source: DocumentSourceKind, externalId: string): string;
15
+ /** The part of a stored document projection that an agent (or a reader of the board) actually sees. */
16
+ export interface AgentVisibleProjection {
17
+ readonly contentHash: string;
18
+ readonly title: string;
19
+ readonly url: string;
20
+ }
21
+ /**
22
+ * Whether two projections of the same page carry the same thing for a reader.
23
+ *
24
+ * ONE definition, because two callers have to agree about it and they reach opposite conclusions
25
+ * from disagreeing. `DocumentImportService.reimport` uses it to decide whether a fetch is worth a
26
+ * WRITE (and therefore whether `syncedAt`, "when the body was last written", may move);
27
+ * `LinkedDocumentRefreshService` uses it to classify a confirmed check as `reimported` or
28
+ * `revision_only`. A second copy that drifted would render "pulled the newer version" over a row
29
+ * whose bytes the import path had just decided were identical.
30
+ *
31
+ * `sourceVersion` is deliberately NOT part of it. The token is bookkeeping the refresh compares
32
+ * against and no reader ever sees, and the whole point of the `revision_only` verdict is that a
33
+ * moved token with an unmoved body is a real, common state (a Figma file version bumps on any edit
34
+ * in the file). Both callers add their own `sourceVersion` rule around this.
35
+ */
36
+ export declare function sameAgentVisibleProjection(a: AgentVisibleProjection, b: AgentVisibleProjection): boolean;
15
37
  /** A trivial in-memory provider registry built from the wired providers. */
16
38
  export declare class MapDocumentSourceRegistry extends MapSourceRegistry<DocumentSourceKind, DocumentSourceProvider> implements DocumentSourceRegistry {
17
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"documents.logic.d.ts","sourceRoot":"","sources":["../../../src/modules/documents/documents.logic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAa,cAAc,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACxF,OAAO,KAAK,EAAE,iBAAiB,EAAmC,MAAM,qBAAqB,CAAA;AAC7F,OAAO,KAAK,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AACzF,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAKrF,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,CAAA;AAmBvC;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAEpF;AAED,4EAA4E;AAC5E,qBAAa,yBACX,SAAQ,iBAAiB,CAAC,kBAAkB,EAAE,sBAAsB,CACpE,YAAW,sBAAsB;CAAG;AAmBtC;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,cAAc,EACtB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GACX,iBAAiB,CAiCnB;AAiBD;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,cAAc,EACtB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,OAAO,GACd,iBAAiB,GAAG,IAAI,CAiC1B"}
1
+ {"version":3,"file":"documents.logic.d.ts","sourceRoot":"","sources":["../../../src/modules/documents/documents.logic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAa,cAAc,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACxF,OAAO,KAAK,EAAE,iBAAiB,EAAmC,MAAM,qBAAqB,CAAA;AAC7F,OAAO,KAAK,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AACzF,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAKrF,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,CAAA;AAmBvC;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAEpF;AAED,uGAAuG;AACvG,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CACrB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,0BAA0B,CACxC,CAAC,EAAE,sBAAsB,EACzB,CAAC,EAAE,sBAAsB,GACxB,OAAO,CAET;AAED,4EAA4E;AAC5E,qBAAa,yBACX,SAAQ,iBAAiB,CAAC,kBAAkB,EAAE,sBAAsB,CACpE,YAAW,sBAAsB;CAAG;AAmBtC;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,cAAc,EACtB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GACX,iBAAiB,CAiCnB;AAiBD;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,cAAc,EACtB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,OAAO,GACd,iBAAiB,GAAG,IAAI,CAiC1B"}
@@ -29,6 +29,24 @@ const BLOCK_TYPES = [
29
29
  export function probeCacheKey(source, externalId) {
30
30
  return `${source}:${externalId}`;
31
31
  }
32
+ /**
33
+ * Whether two projections of the same page carry the same thing for a reader.
34
+ *
35
+ * ONE definition, because two callers have to agree about it and they reach opposite conclusions
36
+ * from disagreeing. `DocumentImportService.reimport` uses it to decide whether a fetch is worth a
37
+ * WRITE (and therefore whether `syncedAt`, "when the body was last written", may move);
38
+ * `LinkedDocumentRefreshService` uses it to classify a confirmed check as `reimported` or
39
+ * `revision_only`. A second copy that drifted would render "pulled the newer version" over a row
40
+ * whose bytes the import path had just decided were identical.
41
+ *
42
+ * `sourceVersion` is deliberately NOT part of it. The token is bookkeeping the refresh compares
43
+ * against and no reader ever sees, and the whole point of the `revision_only` verdict is that a
44
+ * moved token with an unmoved body is a real, common state (a Figma file version bumps on any edit
45
+ * in the file). Both callers add their own `sourceVersion` rule around this.
46
+ */
47
+ export function sameAgentVisibleProjection(a, b) {
48
+ return a.contentHash === b.contentHash && a.title === b.title && a.url === b.url;
49
+ }
32
50
  /** A trivial in-memory provider registry built from the wired providers. */
33
51
  export class MapDocumentSourceRegistry extends MapSourceRegistry {
34
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"documents.logic.js","sourceRoot":"","sources":["../../../src/modules/documents/documents.logic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"documents.logic.js","sourceRoot":"","sources":["../../../src/modules/documents/documents.logic.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { BlockEditActor } from '@cat-factory/contracts';
1
+ import type { BlockEditAuthority } from '@cat-factory/contracts';
2
2
  import type { BugHuntAssessor, BugHuntResult, RunBugHuntInput, TaskConnectionRepository, TaskRepository, TaskSourceKind, TaskSourceRegistry, TrackerBoard } from '@cat-factory/kernel';
3
3
  import type { TaskImportService } from './TaskImportService.js';
4
4
  import type { TaskFromIssue, TaskLinkService } from './TaskLinkService.js';
@@ -71,7 +71,7 @@ export declare class BugHuntService {
71
71
  source: TaskSourceKind;
72
72
  externalId: string;
73
73
  containerId: string;
74
- editor: BlockEditActor;
74
+ editor: BlockEditAuthority;
75
75
  createdBy: string | null;
76
76
  pipelineId: string;
77
77
  }): Promise<TaskFromIssue>;
@@ -1 +1 @@
1
- {"version":3,"file":"BugHuntService.d.ts","sourceRoot":"","sources":["../../../src/modules/tasks/BugHuntService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,KAAK,EAGV,eAAe,EAEf,aAAa,EAEb,eAAe,EACf,wBAAwB,EACxB,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,YAAY,EACb,MAAM,qBAAqB,CAAA;AAQ5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAkB1E,MAAM,WAAW,0BAA0B;IACzC,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,wBAAwB,EAAE,wBAAwB,CAAA;IAClD,cAAc,EAAE,cAAc,CAAA;IAC9B,aAAa,EAAE,iBAAiB,CAAA;IAChC,WAAW,EAAE,eAAe,CAAA;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAA;IAC1B;;;;;;;;;OASG;IACH,YAAY,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CACzD;AAED;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,KAAK,CAAA;AAKrC,qBAAa,cAAc;IACb,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,0BAA0B,EAAI;IAEjE;;;;OAIG;IACG,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAarF;IAED;;;;;;;;OAQG;IACG,IAAI,CACR,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,aAAa,CAAC,CA0CxB;IAED;;;;;;;;;;;;OAYG;IACG,KAAK,CAAC,KAAK,EAAE;QACjB,WAAW,EAAE,MAAM,CAAA;QACnB,MAAM,EAAE,cAAc,CAAA;QACtB,UAAU,EAAE,MAAM,CAAA;QAClB,WAAW,EAAE,MAAM,CAAA;QACnB,MAAM,EAAE,cAAc,CAAA;QACtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;QACxB,UAAU,EAAE,MAAM,CAAA;KACnB,GAAG,OAAO,CAAC,aAAa,CAAC,CAezB;IAED;;;;OAIG;YACW,IAAI;IAgDlB,gGAAgG;YAClF,cAAc;CAO7B"}
1
+ {"version":3,"file":"BugHuntService.d.ts","sourceRoot":"","sources":["../../../src/modules/tasks/BugHuntService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAChE,OAAO,KAAK,EAGV,eAAe,EAEf,aAAa,EAEb,eAAe,EACf,wBAAwB,EACxB,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,YAAY,EACb,MAAM,qBAAqB,CAAA;AAQ5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAkB1E,MAAM,WAAW,0BAA0B;IACzC,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,wBAAwB,EAAE,wBAAwB,CAAA;IAClD,cAAc,EAAE,cAAc,CAAA;IAC9B,aAAa,EAAE,iBAAiB,CAAA;IAChC,WAAW,EAAE,eAAe,CAAA;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAA;IAC1B;;;;;;;;;OASG;IACH,YAAY,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CACzD;AAED;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,KAAK,CAAA;AAKrC,qBAAa,cAAc;IACb,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,0BAA0B,EAAI;IAEjE;;;;OAIG;IACG,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAarF;IAED;;;;;;;;OAQG;IACG,IAAI,CACR,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,aAAa,CAAC,CA0CxB;IAED;;;;;;;;;;;;OAYG;IACG,KAAK,CAAC,KAAK,EAAE;QACjB,WAAW,EAAE,MAAM,CAAA;QACnB,MAAM,EAAE,cAAc,CAAA;QACtB,UAAU,EAAE,MAAM,CAAA;QAClB,WAAW,EAAE,MAAM,CAAA;QACnB,MAAM,EAAE,kBAAkB,CAAA;QAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;QACxB,UAAU,EAAE,MAAM,CAAA;KACnB,GAAG,OAAO,CAAC,aAAa,CAAC,CAezB;IAED;;;;OAIG;YACW,IAAI;IAgDlB,gGAAgG;YAClF,cAAc;CAO7B"}
@@ -1,5 +1,5 @@
1
1
  import type { Block, CreateTaskType, Position, SourceTask, TaskSourceKind } from '@cat-factory/kernel';
2
- import type { BlockEditActor } from '@cat-factory/contracts';
2
+ import type { BlockEditAuthority } from '@cat-factory/contracts';
3
3
  import type { BlockRepository } from '@cat-factory/kernel';
4
4
  import type { BoardWritePort } from '@cat-factory/kernel';
5
5
  import type { TaskRepository } from '@cat-factory/kernel';
@@ -83,7 +83,7 @@ export declare class TaskLinkService {
83
83
  * because only the caller knows: filing an issue from the SPA is a member acting on their own
84
84
  * board, while the tracker reconciliation sweep behind the same method holds no tier at all.
85
85
  * Deciding it here would pick one of those and be wrong about the other (see
86
- * {@link BlockEditActor}).
86
+ * {@link BlockEditAuthority}).
87
87
  *
88
88
  * Takes an input OBJECT: `editor` was the seventh thing to identify (which board, which
89
89
  * container, which issue, on whose authority, filed by whom, shaped how), and past a handful a
@@ -95,7 +95,7 @@ export declare class TaskLinkService {
95
95
  containerId: string;
96
96
  source: TaskSourceKind;
97
97
  externalId: string;
98
- editor: BlockEditActor;
98
+ editor: BlockEditAuthority;
99
99
  createdBy?: string | null;
100
100
  shape?: {
101
101
  taskType?: CreateTaskType;
@@ -121,7 +121,7 @@ export declare class TaskLinkService {
121
121
  source: TaskSourceKind;
122
122
  epicRef: string;
123
123
  containerId: string;
124
- editor: BlockEditActor;
124
+ editor: BlockEditAuthority;
125
125
  createdBy?: string | null;
126
126
  position?: Position;
127
127
  }): Promise<SpawnedEpic>;
@@ -1 +1 @@
1
- {"version":3,"file":"TaskLinkService.d.ts","sourceRoot":"","sources":["../../../src/modules/tasks/TaskLinkService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TaskLinkService.d.ts","sourceRoot":"","sources":["../../../src/modules/tasks/TaskLinkService.ts"],"names":[],"mappings":"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"}
@@ -89,7 +89,7 @@ export class TaskLinkService {
89
89
  * because only the caller knows: filing an issue from the SPA is a member acting on their own
90
90
  * board, while the tracker reconciliation sweep behind the same method holds no tier at all.
91
91
  * Deciding it here would pick one of those and be wrong about the other (see
92
- * {@link BlockEditActor}).
92
+ * {@link BlockEditAuthority}).
93
93
  *
94
94
  * Takes an input OBJECT: `editor` was the seventh thing to identify (which board, which
95
95
  * container, which issue, on whose authority, filed by whom, shaped how), and past a handful a
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cat-factory/integrations",
3
- "version": "0.138.3",
3
+ "version": "0.140.0",
4
4
  "description": "External-system integration domain logic for the Agent Architecture Board (GitHub, documents, tasks, environments, runners).",
5
5
  "repository": {
6
6
  "type": "git",
@@ -27,15 +27,15 @@
27
27
  "ai": "^7.0.51",
28
28
  "p-map": "^7.0.6",
29
29
  "yaml": "^2.9.0",
30
- "@cat-factory/contracts": "0.259.0",
31
- "@cat-factory/kernel": "0.257.0"
30
+ "@cat-factory/contracts": "0.261.0",
31
+ "@cat-factory/kernel": "0.259.0"
32
32
  },
33
33
  "devDependencies": {
34
34
  "typescript": "7.0.2",
35
35
  "undici": "^8.10.0",
36
36
  "valibot": "^1.4.2",
37
37
  "vitest": "^4.1.10",
38
- "@cat-factory/caching": "0.16.6"
38
+ "@cat-factory/caching": "0.17.0"
39
39
  },
40
40
  "scripts": {
41
41
  "build": "tsc -b tsconfig.build.json",