@allocator-one/rcl 4.5.7 → 4.5.9

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 (84) hide show
  1. package/README.md +5 -4
  2. package/dist/consensus/semantic-deduper.d.ts +2 -1
  3. package/dist/consensus/semantic-deduper.js +21 -10
  4. package/dist/consensus/semantic-deduper.js.map +1 -1
  5. package/dist/converge/attempt-budget.d.ts +11 -0
  6. package/dist/converge/attempt-budget.js +119 -61
  7. package/dist/converge/attempt-budget.js.map +1 -1
  8. package/dist/converge/delivery-reconciliation.d.ts +2 -1
  9. package/dist/converge/delivery-reconciliation.js +17 -9
  10. package/dist/converge/delivery-reconciliation.js.map +1 -1
  11. package/dist/converge/guarded-input-retention.d.ts +23 -0
  12. package/dist/converge/guarded-input-retention.js +179 -0
  13. package/dist/converge/guarded-input-retention.js.map +1 -0
  14. package/dist/converge/launch-guard.d.ts +3 -0
  15. package/dist/converge/launch-guard.js +53 -17
  16. package/dist/converge/launch-guard.js.map +1 -1
  17. package/dist/converge/ordinary-pending-export.js +74 -40
  18. package/dist/converge/ordinary-pending-export.js.map +1 -1
  19. package/dist/converge/ordinary-pending-package.d.ts +16 -2
  20. package/dist/converge/ordinary-pending-package.js +77 -4
  21. package/dist/converge/ordinary-pending-package.js.map +1 -1
  22. package/dist/converge/recovered-production.d.ts +14 -0
  23. package/dist/converge/recovered-production.js +61 -0
  24. package/dist/converge/recovered-production.js.map +1 -0
  25. package/dist/converge/recovery-launch.js +82 -35
  26. package/dist/converge/recovery-launch.js.map +1 -1
  27. package/dist/converge/run-state.d.ts +2 -0
  28. package/dist/converge/run-state.js +26 -12
  29. package/dist/converge/run-state.js.map +1 -1
  30. package/dist/converge/semantic-state.js +18 -4
  31. package/dist/converge/semantic-state.js.map +1 -1
  32. package/dist/coordination/registry-lock.d.ts +2 -0
  33. package/dist/coordination/registry-lock.js +42 -13
  34. package/dist/coordination/registry-lock.js.map +1 -1
  35. package/dist/evidence/claim-recovery/delivery.d.ts +25 -0
  36. package/dist/evidence/claim-recovery/delivery.js +100 -0
  37. package/dist/evidence/claim-recovery/delivery.js.map +1 -0
  38. package/dist/evidence/claim-recovery/public-adoption.d.ts +31 -0
  39. package/dist/evidence/claim-recovery/public-adoption.js +177 -0
  40. package/dist/evidence/claim-recovery/public-adoption.js.map +1 -0
  41. package/dist/evidence/claim-recovery/public-manifest.d.ts +114 -0
  42. package/dist/evidence/claim-recovery/public-manifest.js +11 -0
  43. package/dist/evidence/claim-recovery/public-manifest.js.map +1 -0
  44. package/dist/evidence/claim-recovery/public-model.d.ts +85 -0
  45. package/dist/evidence/claim-recovery/public-model.js +177 -0
  46. package/dist/evidence/claim-recovery/public-model.js.map +1 -0
  47. package/dist/evidence/original-run/journal.d.ts +10 -0
  48. package/dist/evidence/original-run/journal.js +55 -3
  49. package/dist/evidence/original-run/journal.js.map +1 -1
  50. package/dist/evidence/original-run/lock.js +22 -9
  51. package/dist/evidence/original-run/lock.js.map +1 -1
  52. package/dist/evidence/recover-claim.d.ts +21 -0
  53. package/dist/evidence/recover-claim.js +504 -0
  54. package/dist/evidence/recover-claim.js.map +1 -0
  55. package/dist/index.js +234 -139
  56. package/dist/index.js.map +1 -1
  57. package/dist/report/assembly.d.ts +2 -0
  58. package/dist/report/assembly.js +1 -0
  59. package/dist/report/assembly.js.map +1 -1
  60. package/dist/report/consensus-assembly.d.ts +2 -0
  61. package/dist/report/consensus-assembly.js +6 -3
  62. package/dist/report/consensus-assembly.js.map +1 -1
  63. package/dist/report/reviewer-artifact.js +3 -1
  64. package/dist/report/reviewer-artifact.js.map +1 -1
  65. package/dist/report/run-header.js +2 -0
  66. package/dist/report/run-header.js.map +1 -1
  67. package/dist/telemetry/deliver.d.ts +8 -0
  68. package/dist/telemetry/deliver.js +55 -8
  69. package/dist/telemetry/deliver.js.map +1 -1
  70. package/dist/telemetry/events.js +2 -0
  71. package/dist/telemetry/events.js.map +1 -1
  72. package/dist/telemetry/outbox.d.ts +20 -0
  73. package/dist/telemetry/outbox.js +324 -103
  74. package/dist/telemetry/outbox.js.map +1 -1
  75. package/dist/telemetry/reviewer-delivery.d.ts +95 -3
  76. package/dist/telemetry/reviewer-delivery.js +600 -12
  77. package/dist/telemetry/reviewer-delivery.js.map +1 -1
  78. package/dist/telemetry/sink.d.ts +14 -0
  79. package/dist/telemetry/sink.js +44 -2
  80. package/dist/telemetry/sink.js.map +1 -1
  81. package/dist/telemetry/terminal-reviewer-delivery.d.ts +154 -5
  82. package/dist/telemetry/terminal-reviewer-delivery.js +196 -21
  83. package/dist/telemetry/terminal-reviewer-delivery.js.map +1 -1
  84. package/package.json +1 -1
@@ -33,6 +33,8 @@ export function roundIdentities(findings) {
33
33
  identity_key: key,
34
34
  matched_identity: f.identity,
35
35
  status: f.status,
36
+ ...(f.sighting ? { version: 1, finding_ref: f.sighting.findingRef, report_json_sha256: f.sighting.reportSha256,
37
+ claim_descriptor: f.sighting.claimDescriptor, match_rationale: f.sighting.matchRationale, pending_round: f.sighting.pendingRound } : {}),
36
38
  ...(f.suppressReason ? { suppress_reason: f.suppressReason } : {}),
37
39
  });
38
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/telemetry/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/telemetry/events.ts"],"names":[],"mappings":"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"}
@@ -73,6 +73,14 @@ export interface FlushOptions {
73
73
  /** Flush one entry only. */
74
74
  runId?: string;
75
75
  now?: () => number;
76
+ /** Coordinator-owned run boundary; holds any cross-outbox lock through the entry transfer. */
77
+ entryBoundary?: <T>(entry: Pick<OutboxEntry, 'id' | 'meta'>, work: () => Promise<T>) => Promise<T>;
78
+ /** A batch may retain one fenced entry and continue independent entries. */
79
+ entryRefusalReason?: (error: unknown) => string | undefined;
80
+ /** Coordinator-owned boundary for one event transmission. Per-event scope lets a mixed batch retain protected rows while unrelated rows proceed. */
81
+ eventBoundary?: <T>(event: WireEvent, entry: Pick<OutboxEntry, 'id' | 'meta'> | undefined, work: () => Promise<T>) => Promise<T>;
82
+ /** Coordinator-owned notice or authorization boundary for pending loss transmission. */
83
+ lossBoundary?: <T>(work: () => Promise<T>) => Promise<T>;
76
84
  }
77
85
  export interface FlushSummary {
78
86
  delivered: string[];
@@ -98,20 +106,28 @@ export declare class Outbox {
98
106
  readonly dir: string;
99
107
  private readonly capBytes;
100
108
  private readonly now;
109
+ private readonly entryLocks;
101
110
  constructor(dir?: string, options?: {
102
111
  capBytes?: number;
103
112
  now?: () => number;
104
113
  });
114
+ private withEntryMutation;
105
115
  totalBytes(): Promise<number>;
106
116
  /**
107
117
  * Entry ids are run UUIDs or `events-<uuid>`, lower-cased so one id spelt
108
118
  * two ways is one entry; nothing else becomes a path.
109
119
  */
110
120
  private entryDir;
121
+ private updateMeta;
122
+ private mergeFlushMeta;
123
+ private beginFlush;
124
+ private removeArtifactIfExact;
111
125
  /** Spool a run whose delivery failed (or whose artifacts could not be uploaded). */
112
126
  spoolRun(input: SpoolRunInput): Promise<SpoolResult>;
127
+ private spoolRunLocked;
113
128
  /** Spool events that belong to no run delivery of their own (converge commands). */
114
129
  spoolEvents(events: WireEvent[]): Promise<string>;
130
+ private spoolEventsLocked;
115
131
  /** One file per loss, holding the event that will report it (stable id, no read-modify-write). */
116
132
  private recordLoss;
117
133
  /** The loss events still to report. */
@@ -145,11 +161,15 @@ export declare class Outbox {
145
161
  * files, then the directory — which stays, listed, if another process
146
162
  * put something new into it meanwhile. Returns whether the directory went.
147
163
  */
164
+ private dropDeliveredEvents;
165
+ private recordFailedEvent;
148
166
  private finish;
167
+ private finishLocked;
149
168
  /** Temp files a crashed writer left behind (a live writer's are younger than the grace period). */
150
169
  private sweepTempFiles;
151
170
  /** The organization switched evidence off: nothing in this entry will ever be wanted. */
152
171
  private drop;
172
+ private dropLocked;
153
173
  private markFailed;
154
174
  /**
155
175
  * Report pending losses with their stable ids, in bounded batches. A batch's