hikoutei 0.4.2 → 0.4.5

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 (172) hide show
  1. package/README.md +20 -0
  2. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmMappedObservation.d.ts +2 -2
  3. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmMappedObservation.js +2 -2
  4. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPolling.js +1 -0
  5. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPolling.js.map +1 -1
  6. package/dist/api/Hikoutei.d.ts +56 -10
  7. package/dist/api/Hikoutei.d.ts.map +1 -1
  8. package/dist/api/Hikoutei.js +84 -13
  9. package/dist/api/Hikoutei.js.map +1 -1
  10. package/dist/api/entity.d.ts +17 -1
  11. package/dist/api/entity.d.ts.map +1 -1
  12. package/dist/api/entity.js +34 -2
  13. package/dist/api/entity.js.map +1 -1
  14. package/dist/api/errors.d.ts +24 -0
  15. package/dist/api/errors.d.ts.map +1 -1
  16. package/dist/api/errors.js +24 -0
  17. package/dist/api/errors.js.map +1 -1
  18. package/dist/application/orm/api/contracts.d.ts +1 -1
  19. package/dist/application/orm/api/contracts.d.ts.map +1 -1
  20. package/dist/application/orm/persistence/flush/flushCoordinator.d.ts.map +1 -1
  21. package/dist/application/orm/persistence/flush/flushCoordinator.js +2 -0
  22. package/dist/application/orm/persistence/flush/flushCoordinator.js.map +1 -1
  23. package/dist/application/sync/inbound/autoSystemConflictResolution.d.ts.map +1 -1
  24. package/dist/application/sync/inbound/autoSystemConflictResolution.js +3 -0
  25. package/dist/application/sync/inbound/autoSystemConflictResolution.js.map +1 -1
  26. package/dist/application/sync/outbound/SheetsEffectDispatcher.d.ts +64 -0
  27. package/dist/application/sync/outbound/SheetsEffectDispatcher.d.ts.map +1 -0
  28. package/dist/application/sync/outbound/SheetsEffectDispatcher.js +440 -0
  29. package/dist/application/sync/outbound/SheetsEffectDispatcher.js.map +1 -0
  30. package/dist/application/sync/service/SyncServiceBootstrap.d.ts +3 -4
  31. package/dist/application/sync/service/SyncServiceBootstrap.d.ts.map +1 -1
  32. package/dist/application/sync/service/SyncServiceBootstrap.js +91 -6
  33. package/dist/application/sync/service/SyncServiceBootstrap.js.map +1 -1
  34. package/dist/application/sync/service/syncAutoStart.d.ts +127 -0
  35. package/dist/application/sync/service/syncAutoStart.d.ts.map +1 -0
  36. package/dist/application/sync/service/syncAutoStart.js +280 -0
  37. package/dist/application/sync/service/syncAutoStart.js.map +1 -0
  38. package/dist/application/sync/sheets/conflictProjectionRegistration.d.ts.map +1 -1
  39. package/dist/application/sync/sheets/conflictProjectionRegistration.js +1 -0
  40. package/dist/application/sync/sheets/conflictProjectionRegistration.js.map +1 -1
  41. package/dist/application/sync/telemetry/syncTiming.d.ts +20 -33
  42. package/dist/application/sync/telemetry/syncTiming.d.ts.map +1 -1
  43. package/dist/application/sync/telemetry/syncTiming.js +14 -12
  44. package/dist/application/sync/telemetry/syncTiming.js.map +1 -1
  45. package/dist/infrastructure/storage/errors.d.ts +10 -5
  46. package/dist/infrastructure/storage/errors.d.ts.map +1 -1
  47. package/dist/infrastructure/storage/errors.js +10 -7
  48. package/dist/infrastructure/storage/errors.js.map +1 -1
  49. package/dist/infrastructure/storage/index.d.ts +6 -4
  50. package/dist/infrastructure/storage/index.d.ts.map +1 -1
  51. package/dist/infrastructure/storage/index.js +3 -2
  52. package/dist/infrastructure/storage/index.js.map +1 -1
  53. package/dist/infrastructure/storage/sqlite/schema.d.ts +12 -11
  54. package/dist/infrastructure/storage/sqlite/schema.d.ts.map +1 -1
  55. package/dist/infrastructure/storage/sqlite/schema.js +17 -109
  56. package/dist/infrastructure/storage/sqlite/schema.js.map +1 -1
  57. package/dist/infrastructure/storage/state/canonical/canonicalCommit.d.ts +2 -2
  58. package/dist/infrastructure/storage/state/canonical/canonicalCommit.d.ts.map +1 -1
  59. package/dist/infrastructure/storage/state/canonical/canonicalCommit.js +2 -2
  60. package/dist/infrastructure/storage/state/canonical/canonicalCommit.js.map +1 -1
  61. package/dist/infrastructure/storage/state/mapped/mappedPersistenceContext.d.ts +1 -2
  62. package/dist/infrastructure/storage/state/mapped/mappedPersistenceContext.d.ts.map +1 -1
  63. package/dist/infrastructure/storage/state/mapped/mappedPersistenceContext.js +2 -2
  64. package/dist/infrastructure/storage/state/mapped/mappedPersistenceContext.js.map +1 -1
  65. package/dist/infrastructure/storage/state/observation/observationCanonical.d.ts +1 -1
  66. package/dist/infrastructure/storage/state/observation/observationCanonical.d.ts.map +1 -1
  67. package/dist/infrastructure/storage/state/observation/observationQuarantine.d.ts +1 -1
  68. package/dist/infrastructure/storage/state/observation/observationQuarantine.d.ts.map +1 -1
  69. package/dist/infrastructure/storage/state/observation/observationQuarantine.js +1 -1
  70. package/dist/infrastructure/storage/state/observation/observationQuarantine.js.map +1 -1
  71. package/dist/infrastructure/storage/state/observation/observationTypes.d.ts +1 -1
  72. package/dist/infrastructure/storage/state/observation/observationTypes.d.ts.map +1 -1
  73. package/dist/infrastructure/storage/state/observation/observationValidation.d.ts +1 -1
  74. package/dist/infrastructure/storage/state/observation/observationValidation.d.ts.map +1 -1
  75. package/dist/infrastructure/storage/state/observation/observationWriter.d.ts +1 -1
  76. package/dist/infrastructure/storage/state/observation/observationWriter.d.ts.map +1 -1
  77. package/dist/infrastructure/storage/state/observation/observationWriter.js +1 -2
  78. package/dist/infrastructure/storage/state/observation/observationWriter.js.map +1 -1
  79. package/dist/infrastructure/storage/state/resolution/resolutionWriter.d.ts +1 -2
  80. package/dist/infrastructure/storage/state/resolution/resolutionWriter.d.ts.map +1 -1
  81. package/dist/infrastructure/storage/state/resolution/resolutionWriter.js +1 -2
  82. package/dist/infrastructure/storage/state/resolution/resolutionWriter.js.map +1 -1
  83. package/dist/infrastructure/storage/state/resolution/resolutionWriterContracts.d.ts +1 -1
  84. package/dist/infrastructure/storage/state/resolution/resolutionWriterContracts.d.ts.map +1 -1
  85. package/dist/infrastructure/storage/state/resolution/resolutionWriterHelpers.d.ts +1 -1
  86. package/dist/infrastructure/storage/state/resolution/resolutionWriterHelpers.d.ts.map +1 -1
  87. package/dist/infrastructure/storage/state/resolution/resolutionWriterHelpers.js +1 -1
  88. package/dist/infrastructure/storage/state/resolution/resolutionWriterHelpers.js.map +1 -1
  89. package/dist/infrastructure/storage/state/resolution/resolutionWriterSql.d.ts +1 -1
  90. package/dist/infrastructure/storage/state/resolution/resolutionWriterSql.d.ts.map +1 -1
  91. package/dist/infrastructure/storage/state/resolution/resolutionWriterSql.js +2 -2
  92. package/dist/infrastructure/storage/state/resolution/resolutionWriterSql.js.map +1 -1
  93. package/dist/infrastructure/storage/sync/shared/spreadsheetAuthority.d.ts +1 -1
  94. package/dist/infrastructure/storage/sync/shared/spreadsheetAuthority.d.ts.map +1 -1
  95. package/dist/infrastructure/storage/sync/shared/spreadsheetAuthority.js +1 -1
  96. package/dist/infrastructure/storage/sync/shared/spreadsheetAuthority.js.map +1 -1
  97. package/dist/infrastructure/storage/sync/shared/syncRegistry.d.ts +1 -1
  98. package/dist/infrastructure/storage/sync/shared/syncRegistry.js +1 -1
  99. package/package.json +13 -7
  100. package/dist/application/sync/outbound/effects/AdaptiveEffectBatchController.d.ts +0 -66
  101. package/dist/application/sync/outbound/effects/AdaptiveEffectBatchController.d.ts.map +0 -1
  102. package/dist/application/sync/outbound/effects/AdaptiveEffectBatchController.js +0 -123
  103. package/dist/application/sync/outbound/effects/AdaptiveEffectBatchController.js.map +0 -1
  104. package/dist/application/sync/outbound/effects/SyncEffectSupervisor.d.ts +0 -111
  105. package/dist/application/sync/outbound/effects/SyncEffectSupervisor.d.ts.map +0 -1
  106. package/dist/application/sync/outbound/effects/SyncEffectSupervisor.js +0 -369
  107. package/dist/application/sync/outbound/effects/SyncEffectSupervisor.js.map +0 -1
  108. package/dist/application/sync/outbound/effects/SyncEffectWorker.d.ts +0 -127
  109. package/dist/application/sync/outbound/effects/SyncEffectWorker.d.ts.map +0 -1
  110. package/dist/application/sync/outbound/effects/SyncEffectWorker.js +0 -552
  111. package/dist/application/sync/outbound/effects/SyncEffectWorker.js.map +0 -1
  112. package/dist/application/sync/outbound/effects/SyncEffectWorkerConstants.d.ts +0 -85
  113. package/dist/application/sync/outbound/effects/SyncEffectWorkerConstants.d.ts.map +0 -1
  114. package/dist/application/sync/outbound/effects/SyncEffectWorkerConstants.js +0 -74
  115. package/dist/application/sync/outbound/effects/SyncEffectWorkerConstants.js.map +0 -1
  116. package/dist/application/sync/outbound/effects/SyncEffectWorkerDispatch.d.ts +0 -31
  117. package/dist/application/sync/outbound/effects/SyncEffectWorkerDispatch.d.ts.map +0 -1
  118. package/dist/application/sync/outbound/effects/SyncEffectWorkerDispatch.js +0 -222
  119. package/dist/application/sync/outbound/effects/SyncEffectWorkerDispatch.js.map +0 -1
  120. package/dist/application/sync/outbound/effects/SyncEffectWorkerHelpers.d.ts +0 -14
  121. package/dist/application/sync/outbound/effects/SyncEffectWorkerHelpers.d.ts.map +0 -1
  122. package/dist/application/sync/outbound/effects/SyncEffectWorkerHelpers.js +0 -25
  123. package/dist/application/sync/outbound/effects/SyncEffectWorkerHelpers.js.map +0 -1
  124. package/dist/application/sync/outbound/effects/SyncEffectWorkerRouting.d.ts +0 -61
  125. package/dist/application/sync/outbound/effects/SyncEffectWorkerRouting.d.ts.map +0 -1
  126. package/dist/application/sync/outbound/effects/SyncEffectWorkerRouting.js +0 -296
  127. package/dist/application/sync/outbound/effects/SyncEffectWorkerRouting.js.map +0 -1
  128. package/dist/application/sync/outbound/effects/SyncEffectWorkerTiming.d.ts +0 -17
  129. package/dist/application/sync/outbound/effects/SyncEffectWorkerTiming.d.ts.map +0 -1
  130. package/dist/application/sync/outbound/effects/SyncEffectWorkerTiming.js +0 -80
  131. package/dist/application/sync/outbound/effects/SyncEffectWorkerTiming.js.map +0 -1
  132. package/dist/application/sync/outbound/effects/SyncEffectWorkerTransitions.d.ts +0 -13
  133. package/dist/application/sync/outbound/effects/SyncEffectWorkerTransitions.d.ts.map +0 -1
  134. package/dist/application/sync/outbound/effects/SyncEffectWorkerTransitions.js +0 -248
  135. package/dist/application/sync/outbound/effects/SyncEffectWorkerTransitions.js.map +0 -1
  136. package/dist/infrastructure/storage/sync/outbound/effectOutbox.d.ts +0 -141
  137. package/dist/infrastructure/storage/sync/outbound/effectOutbox.d.ts.map +0 -1
  138. package/dist/infrastructure/storage/sync/outbound/effectOutbox.js +0 -318
  139. package/dist/infrastructure/storage/sync/outbound/effectOutbox.js.map +0 -1
  140. package/dist/infrastructure/storage/sync/outbound/effectOutboxContracts.d.ts +0 -143
  141. package/dist/infrastructure/storage/sync/outbound/effectOutboxContracts.d.ts.map +0 -1
  142. package/dist/infrastructure/storage/sync/outbound/effectOutboxContracts.js +0 -16
  143. package/dist/infrastructure/storage/sync/outbound/effectOutboxContracts.js.map +0 -1
  144. package/dist/infrastructure/storage/sync/outbound/effectOutboxSql.d.ts +0 -33
  145. package/dist/infrastructure/storage/sync/outbound/effectOutboxSql.d.ts.map +0 -1
  146. package/dist/infrastructure/storage/sync/outbound/effectOutboxSql.js +0 -259
  147. package/dist/infrastructure/storage/sync/outbound/effectOutboxSql.js.map +0 -1
  148. package/dist/infrastructure/storage/sync/outbound/effectOutboxSupport.d.ts +0 -27
  149. package/dist/infrastructure/storage/sync/outbound/effectOutboxSupport.d.ts.map +0 -1
  150. package/dist/infrastructure/storage/sync/outbound/effectOutboxSupport.js +0 -316
  151. package/dist/infrastructure/storage/sync/outbound/effectOutboxSupport.js.map +0 -1
  152. package/dist/infrastructure/storage/sync/shared/writerLease.d.ts +0 -76
  153. package/dist/infrastructure/storage/sync/shared/writerLease.d.ts.map +0 -1
  154. package/dist/infrastructure/storage/sync/shared/writerLease.js +0 -189
  155. package/dist/infrastructure/storage/sync/shared/writerLease.js.map +0 -1
  156. package/docs/advanced-sheets-gateway-concurrency-problem.md +0 -434
  157. package/docs/architecture.md +0 -224
  158. package/docs/ci.md +0 -293
  159. package/docs/code-guidelines.md +0 -248
  160. package/docs/development.md +0 -74
  161. package/docs/gateway-removal-inventory.md +0 -147
  162. package/docs/git-workflow.md +0 -224
  163. package/docs/google-sheets-sync-scaling-strategy.md +0 -459
  164. package/docs/mikro-orm-adapter-spike.md +0 -89
  165. package/docs/quick-start.md +0 -137
  166. package/docs/sql-layer-plan.md +0 -59
  167. package/docs/sync-bulk-write-benchmark.md +0 -2117
  168. package/docs/sync-observability.md +0 -100
  169. package/docs/task-queue-write-model.md +0 -640
  170. package/docs/typed-sheets-mvp-scope-2026-06-29.md +0 -490
  171. package/docs/typed-sheets-plan.md +0 -417
  172. package/docs/write-and-synchronization-flow.md +0 -179
@@ -1 +1 @@
1
- {"version":3,"file":"SyncServiceBootstrap.js","sourceRoot":"","sources":["../../../../src/application/sync/service/SyncServiceBootstrap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SyncServiceBootstrap.js","sourceRoot":"","sources":["../../../../src/application/sync/service/SyncServiceBootstrap.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,127 @@
1
+ /**
2
+ * Env-driven sync auto-start bridge for the public `createTypedSheets()`.
3
+ *
4
+ * This internal module owns the mapping from environment variables to the
5
+ * sync service bootstrap: spreadsheet URL parsing, service-account credentials
6
+ * file validation, polling interval parsing, projection auto-generation from
7
+ * entity descriptors, and fail-closed startup failure classification. It is
8
+ * never re-exported from `src/index.ts`; the public factory calls it only when
9
+ * `HIKOUTEI_SYNC_SPREADSHEET_URL` is set, so local-only users never load the
10
+ * sync module graph.
11
+ *
12
+ * The env reader, transport, and diagnostic sink are injectable so tests can
13
+ * exercise every startup branch with a stub transport, a fake env, and a
14
+ * captured log without credentials or network access. When no transport is
15
+ * injected, the real Application Default Credentials (ADC) transport is built
16
+ * by the sync service, exactly like the production path.
17
+ *
18
+ * Failures are classified into stable `HikouteiError` codes, logged through
19
+ * the diagnostic sink (console by default), and thrown fail-closed: a startup
20
+ * failure never leaves a half-open runtime behind.
21
+ */
22
+ import { type HikouteiEntity } from "../../../api/entity.js";
23
+ import { type Hikoutei } from "../../../api/Hikoutei.js";
24
+ import { HikouteiError } from "../../../api/errors.js";
25
+ import type { GoogleSheetsApiTransport } from "../../../adapter/sheets/providers/google-sheets-api/index.js";
26
+ import type { InternalSyncProjectionConfig } from "./contracts.js";
27
+ import { type InternalSyncService } from "./SyncServiceBootstrap.js";
28
+ /** Env keys consumed by the sync auto-start bridge. */
29
+ export declare const SYNC_ENV_KEYS: {
30
+ /** Spreadsheet URL; absent means sync stays disabled (local-only). */
31
+ readonly SPREADSHEET_URL: "HIKOUTEI_SYNC_SPREADSHEET_URL";
32
+ /** Service-account key file path (JSON, ADC standard). */
33
+ readonly CREDENTIALS_FILE: "GOOGLE_APPLICATION_CREDENTIALS";
34
+ /** Optional User_Input polling cadence in ms; defaults to 60 seconds. */
35
+ readonly POLLING_INTERVAL_MS: "HIKOUTEI_SYNC_POLLING_INTERVAL_MS";
36
+ /** Optional metadata safety full-scan cadence in ms; defaults to 60 seconds. */
37
+ readonly FULL_SCAN_INTERVAL_MS: "HIKOUTEI_SYNC_FULL_SCAN_INTERVAL_MS";
38
+ };
39
+ /** Default polling cadence applied when the interval env vars are absent. */
40
+ export declare const DEFAULT_SYNC_POLLING_INTERVAL_MS = 60000;
41
+ /** Default safety full-scan cadence applied when the interval env vars are absent. */
42
+ export declare const DEFAULT_SYNC_FULL_SCAN_INTERVAL_MS = 60000;
43
+ /** Diagnostic log levels emitted by the auto-start bridge. */
44
+ export type SyncDiagnosticLevel = "info" | "error";
45
+ /** Diagnostic sink; defaults to console. Never receives secrets or full URLs. */
46
+ export type SyncDiagnostic = (level: SyncDiagnosticLevel, message: string) => void;
47
+ /** Internal auto-start options; none are part of the root application contract. */
48
+ export interface SyncAutoStartOptions {
49
+ readonly dbName: string;
50
+ readonly entities: readonly HikouteiEntity[];
51
+ /** Injectable env reader; defaults to an empty env (sync disabled). */
52
+ readonly env?: Readonly<Record<string, string | undefined>>;
53
+ /** Stub transport for credential-free tests; omitted builds the real ADC client. */
54
+ readonly transport?: GoogleSheetsApiTransport;
55
+ /** Injectable diagnostic sink for tests; defaults to console. */
56
+ readonly onDiagnostic?: SyncDiagnostic;
57
+ }
58
+ /** Local-only result: no sync service was started (env absent or blank). */
59
+ export interface LocalSyncRuntimeResult {
60
+ readonly kind: "local";
61
+ readonly hikoutei: Hikoutei;
62
+ }
63
+ /** Sync result: the running internal service plus its public runtime handle. */
64
+ export interface RunningSyncServiceResult {
65
+ readonly kind: "sync";
66
+ /** Same object as `service.hikoutei`; convenient for the public factory. */
67
+ readonly hikoutei: Hikoutei;
68
+ /** Internal service handle (supervisors, storage) for tests and tooling. */
69
+ readonly service: InternalSyncService;
70
+ }
71
+ export type TypedSheetsWithSyncResult = LocalSyncRuntimeResult | RunningSyncServiceResult;
72
+ /**
73
+ * Extracts the spreadsheet ID from a Google Sheets URL.
74
+ *
75
+ * Supports `https://docs.google.com/spreadsheets/d/<ID>/edit` (with `#gid=`,
76
+ * `?usp=sharing`, `/view`, trailing slashes, and scheme-less forms) and a
77
+ * top-level `/d/<ID>` right after the host. The ID must be its own path
78
+ * segment, so a Docs URL such as `/document/d/<ID>` is rejected instead of
79
+ * being misread as a spreadsheet. Returns `undefined` when no ID segment can
80
+ * be extracted. The ID itself is the only part ever echoed in diagnostics;
81
+ * full URLs are never logged.
82
+ */
83
+ export declare function parseSpreadsheetIdFromUrl(url: string): string | undefined;
84
+ /**
85
+ * Opens the runtime for the declared entities, starting the internal sync
86
+ * service when the env is configured.
87
+ *
88
+ * When `HIKOUTEI_SYNC_SPREADSHEET_URL` is absent the function logs the
89
+ * "sync disabled" info diagnostic and returns the plain local-only runtime —
90
+ * the exact path `createTypedSheets()` uses without sync. When present it
91
+ * validates the URL and the credentials file, auto-generates the projection
92
+ * routes from the entity descriptors, and fails closed with a classified
93
+ * `HikouteiError` on any startup problem.
94
+ */
95
+ export declare function createTypedSheetsWithSync(options: SyncAutoStartOptions): Promise<TypedSheetsWithSyncResult>;
96
+ /**
97
+ * Validates the service-account credentials file and returns its client email.
98
+ *
99
+ * Classifies a missing/unreadable file, a non-object JSON payload, and missing
100
+ * required fields into stable `HikouteiError` codes. The file is validated
101
+ * before any remote contact so a misconfigured deployment fails fast with a
102
+ * precise message instead of an ADC stack trace.
103
+ */
104
+ export declare function validateSyncCredentialsFile(path: string | undefined): Promise<{
105
+ readonly clientEmail: string;
106
+ }>;
107
+ /**
108
+ * Auto-generates the internal projection routes from public entity descriptors.
109
+ *
110
+ * Every entity owns three tabs named `<EntityName>_System`, `<EntityName>_Input`,
111
+ * and `<EntityName>_Conflicts`. The System_State range covers every property
112
+ * plus the `__typed_sheets_deleted` tombstone, the User_Input range covers the
113
+ * user-owned fields (all properties), and Sync_Conflicts uses the fixed
114
+ * 15-header `A:O` audit range. All properties are user-owned so polling can
115
+ * accept human edits on any field.
116
+ */
117
+ export declare function buildSyncProjections(entities: readonly HikouteiEntity[], spreadsheetId: string): InternalSyncProjectionConfig;
118
+ /**
119
+ * Classifies a sync service startup failure into a stable Hikoutei error.
120
+ *
121
+ * Transport rejections with a proven HTTP status map to authentication,
122
+ * access-denied (using the validated client_email), and not-found codes;
123
+ * remote schema/provisioning contract failures map to provisioning; anything
124
+ * else (timeout, network, invalid options) maps to the generic startup code.
125
+ */
126
+ export declare function classifySyncStartupFailure(error: unknown, spreadsheetId: string, clientEmail: string): HikouteiError;
127
+ //# sourceMappingURL=syncAutoStart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"syncAutoStart.d.ts","sourceRoot":"","sources":["../../../../src/application/sync/service/syncAutoStart.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAIH,OAAO,EAEL,KAAK,cAAc,EACpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAGL,KAAK,QAAQ,EACd,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAEL,aAAa,EACd,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,8DAA8D,CAAC;AAU7G,OAAO,KAAK,EAEV,4BAA4B,EAC7B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,2BAA2B,CAAC;AAEnC,uDAAuD;AACvD,eAAO,MAAM,aAAa;IACxB,sEAAsE;;IAEtE,0DAA0D;;IAE1D,yEAAyE;;IAEzE,gFAAgF;;CAExE,CAAC;AAEX,6EAA6E;AAC7E,eAAO,MAAM,gCAAgC,QAAS,CAAC;AACvD,sFAAsF;AACtF,eAAO,MAAM,kCAAkC,QAAS,CAAC;AAEzD,8DAA8D;AAC9D,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,OAAO,CAAC;AAEnD,iFAAiF;AACjF,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;AAEnF,mFAAmF;AACnF,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,SAAS,cAAc,EAAE,CAAC;IAC7C,uEAAuE;IACvE,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;IAC5D,oFAAoF;IACpF,QAAQ,CAAC,SAAS,CAAC,EAAE,wBAAwB,CAAC;IAC9C,iEAAiE;IACjE,QAAQ,CAAC,YAAY,CAAC,EAAE,cAAc,CAAC;CACxC;AAED,4EAA4E;AAC5E,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;CAC7B;AAED,gFAAgF;AAChF,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,4EAA4E;IAC5E,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,4EAA4E;IAC5E,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;CACvC;AAED,MAAM,MAAM,yBAAyB,GAAG,sBAAsB,GAAG,wBAAwB,CAAC;AAQ1F;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAczE;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,yBAAyB,CAAC,CA6DpC;AAED;;;;;;;GAOG;AACH,wBAAsB,2BAA2B,CAC/C,IAAI,EAAE,MAAM,GAAG,SAAS,GACvB,OAAO,CAAC;IAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,CAgD3C;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,SAAS,cAAc,EAAE,EACnC,aAAa,EAAE,MAAM,GACpB,4BAA4B,CAsB9B;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,OAAO,EACd,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,GAClB,aAAa,CA8Cf"}
@@ -0,0 +1,280 @@
1
+ /**
2
+ * Env-driven sync auto-start bridge for the public `createTypedSheets()`.
3
+ *
4
+ * This internal module owns the mapping from environment variables to the
5
+ * sync service bootstrap: spreadsheet URL parsing, service-account credentials
6
+ * file validation, polling interval parsing, projection auto-generation from
7
+ * entity descriptors, and fail-closed startup failure classification. It is
8
+ * never re-exported from `src/index.ts`; the public factory calls it only when
9
+ * `HIKOUTEI_SYNC_SPREADSHEET_URL` is set, so local-only users never load the
10
+ * sync module graph.
11
+ *
12
+ * The env reader, transport, and diagnostic sink are injectable so tests can
13
+ * exercise every startup branch with a stub transport, a fake env, and a
14
+ * captured log without credentials or network access. When no transport is
15
+ * injected, the real Application Default Credentials (ADC) transport is built
16
+ * by the sync service, exactly like the production path.
17
+ *
18
+ * Failures are classified into stable `HikouteiError` codes, logged through
19
+ * the diagnostic sink (console by default), and thrown fail-closed: a startup
20
+ * failure never leaves a half-open runtime behind.
21
+ */
22
+ import { readFile } from "node:fs/promises";
23
+ import { getEntityDescriptor, } from "../../../api/entity.js";
24
+ import { createLocalTypedSheetsRuntime, validateTypedSheetsOptions, } from "../../../api/Hikoutei.js";
25
+ import { HIKOUTEI_ERROR_CODES, HikouteiError, } from "../../../api/errors.js";
26
+ import { GoogleSheetsApiTransportError, } from "../../../adapter/sheets/providers/google-sheets-api/errors.js";
27
+ import { columnLetters } from "../../../adapter/sheets/providers/google-sheets-api/model/valueNormalization.js";
28
+ import { PRESENCE_KINDS } from "../../../shared/state/index.js";
29
+ import { SYNC_CONFLICT_PROJECTION_REGISTERED_RANGE, } from "../sheets/conflictProjection.js";
30
+ import { SyncSheetsContractError } from "../sheets/errors.js";
31
+ import { createInternalSyncService, } from "./SyncServiceBootstrap.js";
32
+ /** Env keys consumed by the sync auto-start bridge. */
33
+ export const SYNC_ENV_KEYS = {
34
+ /** Spreadsheet URL; absent means sync stays disabled (local-only). */
35
+ SPREADSHEET_URL: "HIKOUTEI_SYNC_SPREADSHEET_URL",
36
+ /** Service-account key file path (JSON, ADC standard). */
37
+ CREDENTIALS_FILE: "GOOGLE_APPLICATION_CREDENTIALS",
38
+ /** Optional User_Input polling cadence in ms; defaults to 60 seconds. */
39
+ POLLING_INTERVAL_MS: "HIKOUTEI_SYNC_POLLING_INTERVAL_MS",
40
+ /** Optional metadata safety full-scan cadence in ms; defaults to 60 seconds. */
41
+ FULL_SCAN_INTERVAL_MS: "HIKOUTEI_SYNC_FULL_SCAN_INTERVAL_MS",
42
+ };
43
+ /** Default polling cadence applied when the interval env vars are absent. */
44
+ export const DEFAULT_SYNC_POLLING_INTERVAL_MS = 60_000;
45
+ /** Default safety full-scan cadence applied when the interval env vars are absent. */
46
+ export const DEFAULT_SYNC_FULL_SCAN_INTERVAL_MS = 60_000;
47
+ /** Required service-account fields validated before any remote contact. */
48
+ const REQUIRED_CREDENTIAL_FIELDS = ["type", "client_email", "private_key"];
49
+ const SPREADSHEET_PATH_SEGMENT = "d";
50
+ const SPREADSHEET_PARENT_SEGMENT = "spreadsheets";
51
+ /**
52
+ * Extracts the spreadsheet ID from a Google Sheets URL.
53
+ *
54
+ * Supports `https://docs.google.com/spreadsheets/d/<ID>/edit` (with `#gid=`,
55
+ * `?usp=sharing`, `/view`, trailing slashes, and scheme-less forms) and a
56
+ * top-level `/d/<ID>` right after the host. The ID must be its own path
57
+ * segment, so a Docs URL such as `/document/d/<ID>` is rejected instead of
58
+ * being misread as a spreadsheet. Returns `undefined` when no ID segment can
59
+ * be extracted. The ID itself is the only part ever echoed in diagnostics;
60
+ * full URLs are never logged.
61
+ */
62
+ export function parseSpreadsheetIdFromUrl(url) {
63
+ if (typeof url !== "string" || url.trim() === "")
64
+ return undefined;
65
+ const withoutScheme = url.replace(/^[a-zA-Z][a-zA-Z0-9+.-]*:\/\//, "");
66
+ const path = withoutScheme.split(/[?#]/, 1)[0] ?? "";
67
+ const segments = path.split("/");
68
+ const dIndex = segments.findIndex((segment) => segment === SPREADSHEET_PATH_SEGMENT);
69
+ if (dIndex < 0)
70
+ return undefined;
71
+ const previous = segments[dIndex - 1];
72
+ // Accept /spreadsheets/d/<ID> and a top-level /d/<ID> right after the host;
73
+ // anything deeper (e.g. /document/d/<ID>) is not a spreadsheet URL.
74
+ if (previous !== SPREADSHEET_PARENT_SEGMENT && dIndex !== 1)
75
+ return undefined;
76
+ const id = segments[dIndex + 1];
77
+ if (id === undefined || id.length === 0 || /[\s?#]/.test(id))
78
+ return undefined;
79
+ return id;
80
+ }
81
+ /**
82
+ * Opens the runtime for the declared entities, starting the internal sync
83
+ * service when the env is configured.
84
+ *
85
+ * When `HIKOUTEI_SYNC_SPREADSHEET_URL` is absent the function logs the
86
+ * "sync disabled" info diagnostic and returns the plain local-only runtime —
87
+ * the exact path `createTypedSheets()` uses without sync. When present it
88
+ * validates the URL and the credentials file, auto-generates the projection
89
+ * routes from the entity descriptors, and fails closed with a classified
90
+ * `HikouteiError` on any startup problem.
91
+ */
92
+ export async function createTypedSheetsWithSync(options) {
93
+ validateTypedSheetsOptions(options);
94
+ const env = options.env ?? {};
95
+ const diagnostic = options.onDiagnostic ?? defaultDiagnostic;
96
+ const spreadsheetUrl = env[SYNC_ENV_KEYS.SPREADSHEET_URL];
97
+ if (spreadsheetUrl === undefined || spreadsheetUrl.trim() === "") {
98
+ diagnostic("info", "sync disabled — HIKOUTEI_SYNC_SPREADSHEET_URL is not set (local-only mode)");
99
+ const hikoutei = await createLocalTypedSheetsRuntime(options);
100
+ return { kind: "local", hikoutei };
101
+ }
102
+ const spreadsheetId = parseSpreadsheetIdFromUrl(spreadsheetUrl);
103
+ if (spreadsheetId === undefined) {
104
+ return raiseDiagnosed(diagnostic, new HikouteiError(HIKOUTEI_ERROR_CODES.SYNC_SPREADSHEET_URL_INVALID, "Unable to extract a spreadsheet ID from HIKOUTEI_SYNC_SPREADSHEET_URL — " +
105
+ "expected a URL of the form https://docs.google.com/spreadsheets/d/<SPREADSHEET_ID>/edit"));
106
+ }
107
+ // The client_email read here is retained for the 403 access-denied message.
108
+ let clientEmail = "";
109
+ try {
110
+ ({ clientEmail } = await validateSyncCredentialsFile(env[SYNC_ENV_KEYS.CREDENTIALS_FILE]));
111
+ const pollingIntervalMs = parseIntervalEnv(env, SYNC_ENV_KEYS.POLLING_INTERVAL_MS, DEFAULT_SYNC_POLLING_INTERVAL_MS);
112
+ const pollingFullScanIntervalMs = parseIntervalEnv(env, SYNC_ENV_KEYS.FULL_SCAN_INTERVAL_MS, DEFAULT_SYNC_FULL_SCAN_INTERVAL_MS);
113
+ const projections = buildSyncProjections(options.entities, spreadsheetId);
114
+ const service = await createInternalSyncService({
115
+ dbName: options.dbName,
116
+ entities: [...options.entities],
117
+ projections,
118
+ // Injected transports are a test-only affordance; the fast pacing keeps
119
+ // stub-based suites wall-clock cheap. Production builds the real
120
+ // ADC-backed transport with its default pacing.
121
+ googleSheetsApi: options.transport === undefined
122
+ ? {}
123
+ : { transport: options.transport, rateLimitIntervalMs: 1 },
124
+ pollingIntervalMs,
125
+ pollingFullScanIntervalMs,
126
+ });
127
+ return { kind: "sync", hikoutei: service.hikoutei, service };
128
+ }
129
+ catch (error) {
130
+ const failure = error instanceof HikouteiError
131
+ ? error
132
+ : classifySyncStartupFailure(error, spreadsheetId, clientEmail);
133
+ return raiseDiagnosed(diagnostic, failure);
134
+ }
135
+ }
136
+ /**
137
+ * Validates the service-account credentials file and returns its client email.
138
+ *
139
+ * Classifies a missing/unreadable file, a non-object JSON payload, and missing
140
+ * required fields into stable `HikouteiError` codes. The file is validated
141
+ * before any remote contact so a misconfigured deployment fails fast with a
142
+ * precise message instead of an ADC stack trace.
143
+ */
144
+ export async function validateSyncCredentialsFile(path) {
145
+ if (path === undefined || path.trim() === "") {
146
+ throw new HikouteiError(HIKOUTEI_ERROR_CODES.SYNC_CREDENTIALS_FILE_MISSING, "Credentials file not found: GOOGLE_APPLICATION_CREDENTIALS is not set");
147
+ }
148
+ let raw;
149
+ try {
150
+ raw = await readFile(path, "utf8");
151
+ }
152
+ catch (error) {
153
+ if (isNodeErrorWithCode(error, "ENOENT")) {
154
+ throw new HikouteiError(HIKOUTEI_ERROR_CODES.SYNC_CREDENTIALS_FILE_MISSING, `Credentials file not found: ${path}`);
155
+ }
156
+ throw new HikouteiError(HIKOUTEI_ERROR_CODES.SYNC_STARTUP_FAILED, `Sync start failed: unable to read the credentials file: ${path}`);
157
+ }
158
+ let parsed;
159
+ try {
160
+ parsed = JSON.parse(raw);
161
+ }
162
+ catch {
163
+ throw new HikouteiError(HIKOUTEI_ERROR_CODES.SYNC_CREDENTIALS_INVALID_JSON, `Credentials file is not valid JSON: ${path}`);
164
+ }
165
+ if (parsed === null || typeof parsed !== "object" || Array.isArray(parsed)) {
166
+ throw new HikouteiError(HIKOUTEI_ERROR_CODES.SYNC_CREDENTIALS_INVALID_JSON, `Credentials file is not valid JSON: ${path}`);
167
+ }
168
+ const record = parsed;
169
+ const missing = REQUIRED_CREDENTIAL_FIELDS.filter((field) => typeof record[field] !== "string" || record[field].trim() === "");
170
+ if (missing.length > 0) {
171
+ throw new HikouteiError(HIKOUTEI_ERROR_CODES.SYNC_CREDENTIALS_FIELD_MISSING, `Credentials file is missing required fields: ${missing.join(", ")}`);
172
+ }
173
+ return { clientEmail: record.client_email };
174
+ }
175
+ /**
176
+ * Auto-generates the internal projection routes from public entity descriptors.
177
+ *
178
+ * Every entity owns three tabs named `<EntityName>_System`, `<EntityName>_Input`,
179
+ * and `<EntityName>_Conflicts`. The System_State range covers every property
180
+ * plus the `__typed_sheets_deleted` tombstone, the User_Input range covers the
181
+ * user-owned fields (all properties), and Sync_Conflicts uses the fixed
182
+ * 15-header `A:O` audit range. All properties are user-owned so polling can
183
+ * accept human edits on any field.
184
+ */
185
+ export function buildSyncProjections(entities, spreadsheetId) {
186
+ const entityConfigs = {};
187
+ for (const entity of entities) {
188
+ const descriptor = getEntityDescriptor(entity);
189
+ const propertyCount = descriptor.properties.length;
190
+ entityConfigs[descriptor.name] = {
191
+ systemState: {
192
+ tabName: `${descriptor.name}_System`,
193
+ registeredRange: `A:${columnLetters(propertyCount + 1)}`,
194
+ },
195
+ userInput: {
196
+ tabName: `${descriptor.name}_Input`,
197
+ registeredRange: `A:${columnLetters(propertyCount)}`,
198
+ },
199
+ syncConflicts: {
200
+ tabName: `${descriptor.name}_Conflicts`,
201
+ registeredRange: SYNC_CONFLICT_PROJECTION_REGISTERED_RANGE,
202
+ },
203
+ userOwnedFields: descriptor.properties.map((property) => property.name),
204
+ };
205
+ }
206
+ return { spreadsheetId, entities: entityConfigs };
207
+ }
208
+ /**
209
+ * Classifies a sync service startup failure into a stable Hikoutei error.
210
+ *
211
+ * Transport rejections with a proven HTTP status map to authentication,
212
+ * access-denied (using the validated client_email), and not-found codes;
213
+ * remote schema/provisioning contract failures map to provisioning; anything
214
+ * else (timeout, network, invalid options) maps to the generic startup code.
215
+ */
216
+ export function classifySyncStartupFailure(error, spreadsheetId, clientEmail) {
217
+ if (error instanceof GoogleSheetsApiTransportError) {
218
+ const status = error.status.kind === PRESENCE_KINDS.PRESENT
219
+ ? error.status.value
220
+ : undefined;
221
+ if (status === 401) {
222
+ return new HikouteiError(HIKOUTEI_ERROR_CODES.SYNC_AUTH_FAILED, "Credentials are invalid (authentication failed)");
223
+ }
224
+ if (status === 403) {
225
+ return new HikouteiError(HIKOUTEI_ERROR_CODES.SYNC_SPREADSHEET_ACCESS_DENIED, `Service account ${clientEmail} has not been shared on the spreadsheet or lacks edit permission — add ${clientEmail} to the sheet's sharing`);
226
+ }
227
+ if (status === 404) {
228
+ return new HikouteiError(HIKOUTEI_ERROR_CODES.SYNC_SPREADSHEET_NOT_FOUND, `Spreadsheet not found (ID: ${spreadsheetId})`);
229
+ }
230
+ const remoteCode = error.remoteCode.kind === PRESENCE_KINDS.PRESENT
231
+ ? error.remoteCode.value
232
+ : error.code;
233
+ const reason = status === undefined
234
+ ? remoteCode
235
+ : `HTTP ${status} ${remoteCode}`;
236
+ return new HikouteiError(HIKOUTEI_ERROR_CODES.SYNC_STARTUP_FAILED, `Sync start failed: ${reason} ${error.message}`);
237
+ }
238
+ if (error instanceof SyncSheetsContractError) {
239
+ return new HikouteiError(HIKOUTEI_ERROR_CODES.SYNC_PROVISIONING_FAILED, `Provisioning failed: ${error.message}`);
240
+ }
241
+ const name = error instanceof Error && error.name.length > 0 ? error.name : "UNKNOWN";
242
+ const message = error instanceof Error ? error.message : String(error);
243
+ return new HikouteiError(HIKOUTEI_ERROR_CODES.SYNC_STARTUP_FAILED, `Sync start failed: ${name} ${message}`);
244
+ }
245
+ /** Parses one optional ms interval env var; malformed values fail closed. */
246
+ function parseIntervalEnv(env, key, fallback) {
247
+ const raw = env[key];
248
+ if (raw === undefined || raw.trim() === "")
249
+ return fallback;
250
+ // Decimal-only shape: Number() would also accept hex ("0x10"), exponent
251
+ // ("1e3"), signed ("-1"), and whitespace-padded (" 60000") forms that
252
+ // violate the positive-integer-ms contract, so the raw string must match
253
+ // before conversion.
254
+ if (!/^\d+$/.test(raw)) {
255
+ throw new HikouteiError(HIKOUTEI_ERROR_CODES.SYNC_STARTUP_FAILED, `Sync start failed: ${key} must be a positive integer (ms) — current value: ${raw}`);
256
+ }
257
+ const value = Number(raw);
258
+ if (!Number.isSafeInteger(value) || value < 1) {
259
+ throw new HikouteiError(HIKOUTEI_ERROR_CODES.SYNC_STARTUP_FAILED, `Sync start failed: ${key} must be a positive integer (ms) — current value: ${raw}`);
260
+ }
261
+ return value;
262
+ }
263
+ function raiseDiagnosed(diagnostic, failure) {
264
+ diagnostic("error", failure.message);
265
+ throw failure;
266
+ }
267
+ function defaultDiagnostic(level, message) {
268
+ if (level === "info") {
269
+ console.info(message);
270
+ }
271
+ else {
272
+ console.error(message);
273
+ }
274
+ }
275
+ function isNodeErrorWithCode(error, code) {
276
+ return error !== null &&
277
+ typeof error === "object" &&
278
+ error.code === code;
279
+ }
280
+ //# sourceMappingURL=syncAutoStart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"syncAutoStart.js","sourceRoot":"","sources":["../../../../src/application/sync/service/syncAutoStart.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EACL,mBAAmB,GAEpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,6BAA6B,EAC7B,0BAA0B,GAE3B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,oBAAoB,EACpB,aAAa,GACd,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,6BAA6B,GAC9B,MAAM,+DAA+D,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,iFAAiF,CAAC;AAChH,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EACL,yCAAyC,GAC1C,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAK9D,OAAO,EACL,yBAAyB,GAE1B,MAAM,2BAA2B,CAAC;AAEnC,uDAAuD;AACvD,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,sEAAsE;IACtE,eAAe,EAAE,+BAA+B;IAChD,0DAA0D;IAC1D,gBAAgB,EAAE,gCAAgC;IAClD,yEAAyE;IACzE,mBAAmB,EAAE,mCAAmC;IACxD,gFAAgF;IAChF,qBAAqB,EAAE,qCAAqC;CACpD,CAAC;AAEX,6EAA6E;AAC7E,MAAM,CAAC,MAAM,gCAAgC,GAAG,MAAM,CAAC;AACvD,sFAAsF;AACtF,MAAM,CAAC,MAAM,kCAAkC,GAAG,MAAM,CAAC;AAqCzD,2EAA2E;AAC3E,MAAM,0BAA0B,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,aAAa,CAAU,CAAC;AAEpF,MAAM,wBAAwB,GAAG,GAAG,CAAC;AACrC,MAAM,0BAA0B,GAAG,cAAc,CAAC;AAElD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,yBAAyB,CAAC,GAAW;IACnD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC;IACnE,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC,+BAA+B,EAAE,EAAE,CAAC,CAAC;IACvE,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,wBAAwB,CAAC,CAAC;IACrF,IAAI,MAAM,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IACjC,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACtC,4EAA4E;IAC5E,oEAAoE;IACpE,IAAI,QAAQ,KAAK,0BAA0B,IAAI,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC9E,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAChC,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,OAAO,SAAS,CAAC;IAC/E,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,OAA6B;IAE7B,0BAA0B,CAAC,OAAO,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,EAAE,CAAC;IAC9B,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,IAAI,iBAAiB,CAAC;IAE7D,MAAM,cAAc,GAAG,GAAG,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;IAC1D,IAAI,cAAc,KAAK,SAAS,IAAI,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACjE,UAAU,CAAC,MAAM,EAAE,4EAA4E,CAAC,CAAC;QACjG,MAAM,QAAQ,GAAG,MAAM,6BAA6B,CAAC,OAAO,CAAC,CAAC;QAC9D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;IACrC,CAAC;IAED,MAAM,aAAa,GAAG,yBAAyB,CAAC,cAAc,CAAC,CAAC;IAChE,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,cAAc,CACnB,UAAU,EACV,IAAI,aAAa,CACf,oBAAoB,CAAC,4BAA4B,EACjD,0EAA0E;YACxE,yFAAyF,CAC5F,CACF,CAAC;IACJ,CAAC;IAED,4EAA4E;IAC5E,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,IAAI,CAAC;QACH,CAAC,EAAE,WAAW,EAAE,GAAG,MAAM,2BAA2B,CAClD,GAAG,CAAC,aAAa,CAAC,gBAAgB,CAAC,CACpC,CAAC,CAAC;QACH,MAAM,iBAAiB,GAAG,gBAAgB,CACxC,GAAG,EACH,aAAa,CAAC,mBAAmB,EACjC,gCAAgC,CACjC,CAAC;QACF,MAAM,yBAAyB,GAAG,gBAAgB,CAChD,GAAG,EACH,aAAa,CAAC,qBAAqB,EACnC,kCAAkC,CACnC,CAAC;QACF,MAAM,WAAW,GAAG,oBAAoB,CAAC,OAAO,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QAC1E,MAAM,OAAO,GAAG,MAAM,yBAAyB,CAAC;YAC9C,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,QAAQ,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;YAC/B,WAAW;YACX,wEAAwE;YACxE,iEAAiE;YACjE,gDAAgD;YAChD,eAAe,EAAE,OAAO,CAAC,SAAS,KAAK,SAAS;gBAC9C,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,mBAAmB,EAAE,CAAC,EAAE;YAC5D,iBAAiB;YACjB,yBAAyB;SAC1B,CAAC,CAAC;QACH,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;IAC/D,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,KAAK,YAAY,aAAa;YAC5C,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,0BAA0B,CAAC,KAAK,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;QAClE,OAAO,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,IAAwB;IAExB,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC7C,MAAM,IAAI,aAAa,CACrB,oBAAoB,CAAC,6BAA6B,EAClD,uEAAuE,CACxE,CAAC;IACJ,CAAC;IACD,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,IAAI,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,aAAa,CACrB,oBAAoB,CAAC,6BAA6B,EAClD,+BAA+B,IAAI,EAAE,CACtC,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,aAAa,CACrB,oBAAoB,CAAC,mBAAmB,EACxC,2DAA2D,IAAI,EAAE,CAClE,CAAC;IACJ,CAAC;IAED,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,aAAa,CACrB,oBAAoB,CAAC,6BAA6B,EAClD,uCAAuC,IAAI,EAAE,CAC9C,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3E,MAAM,IAAI,aAAa,CACrB,oBAAoB,CAAC,6BAA6B,EAClD,uCAAuC,IAAI,EAAE,CAC9C,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,MAAiC,CAAC;IACjD,MAAM,OAAO,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAC1D,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,QAAQ,IAAK,MAAM,CAAC,KAAK,CAAY,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAChF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,aAAa,CACrB,oBAAoB,CAAC,8BAA8B,EACnD,gDAAgD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACrE,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,YAAsB,EAAE,CAAC;AACxD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,oBAAoB,CAClC,QAAmC,EACnC,aAAqB;IAErB,MAAM,aAAa,GAA6C,EAAE,CAAC;IACnE,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,aAAa,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC;QACnD,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG;YAC/B,WAAW,EAAE;gBACX,OAAO,EAAE,GAAG,UAAU,CAAC,IAAI,SAAS;gBACpC,eAAe,EAAE,KAAK,aAAa,CAAC,aAAa,GAAG,CAAC,CAAC,EAAE;aACzD;YACD,SAAS,EAAE;gBACT,OAAO,EAAE,GAAG,UAAU,CAAC,IAAI,QAAQ;gBACnC,eAAe,EAAE,KAAK,aAAa,CAAC,aAAa,CAAC,EAAE;aACrD;YACD,aAAa,EAAE;gBACb,OAAO,EAAE,GAAG,UAAU,CAAC,IAAI,YAAY;gBACvC,eAAe,EAAE,yCAAyC;aAC3D;YACD,eAAe,EAAE,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;SACxE,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;AACpD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,0BAA0B,CACxC,KAAc,EACd,aAAqB,EACrB,WAAmB;IAEnB,IAAI,KAAK,YAAY,6BAA6B,EAAE,CAAC;QACnD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,OAAO;YACzD,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK;YACpB,CAAC,CAAC,SAAS,CAAC;QACd,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACnB,OAAO,IAAI,aAAa,CACtB,oBAAoB,CAAC,gBAAgB,EACrC,iDAAiD,CAClD,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACnB,OAAO,IAAI,aAAa,CACtB,oBAAoB,CAAC,8BAA8B,EACnD,mBAAmB,WAAW,0EAA0E,WAAW,yBAAyB,CAC7I,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACnB,OAAO,IAAI,aAAa,CACtB,oBAAoB,CAAC,0BAA0B,EAC/C,8BAA8B,aAAa,GAAG,CAC/C,CAAC;QACJ,CAAC;QACD,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,KAAK,cAAc,CAAC,OAAO;YACjE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK;YACxB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;QACf,MAAM,MAAM,GAAG,MAAM,KAAK,SAAS;YACjC,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,QAAQ,MAAM,IAAI,UAAU,EAAE,CAAC;QACnC,OAAO,IAAI,aAAa,CACtB,oBAAoB,CAAC,mBAAmB,EACxC,sBAAsB,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAChD,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,YAAY,uBAAuB,EAAE,CAAC;QAC7C,OAAO,IAAI,aAAa,CACtB,oBAAoB,CAAC,wBAAwB,EAC7C,wBAAwB,KAAK,CAAC,OAAO,EAAE,CACxC,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACtF,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvE,OAAO,IAAI,aAAa,CACtB,oBAAoB,CAAC,mBAAmB,EACxC,sBAAsB,IAAI,IAAI,OAAO,EAAE,CACxC,CAAC;AACJ,CAAC;AAED,6EAA6E;AAC7E,SAAS,gBAAgB,CACvB,GAAiD,EACjD,GAAW,EACX,QAAgB;IAEhB,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IACrB,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,QAAQ,CAAC;IAC5D,wEAAwE;IACxE,sEAAsE;IACtE,yEAAyE;IACzE,qBAAqB;IACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,aAAa,CACrB,oBAAoB,CAAC,mBAAmB,EACxC,sBAAsB,GAAG,qDAAqD,GAAG,EAAE,CACpF,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,aAAa,CACrB,oBAAoB,CAAC,mBAAmB,EACxC,sBAAsB,GAAG,qDAAqD,GAAG,EAAE,CACpF,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAC,UAA0B,EAAE,OAAsB;IACxE,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,OAAO,CAAC;AAChB,CAAC;AAED,SAAS,iBAAiB,CAAC,KAA0B,EAAE,OAAe;IACpE,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc,EAAE,IAAY;IACvD,OAAO,KAAK,KAAK,IAAI;QACnB,OAAO,KAAK,KAAK,QAAQ;QACxB,KAAqC,CAAC,IAAI,KAAK,IAAI,CAAC;AACzD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"conflictProjectionRegistration.d.ts","sourceRoot":"","sources":["../../../../src/application/sync/sheets/conflictProjectionRegistration.ts"],"names":[],"mappings":"AAAA,oFAAoF;AAEpF,OAAO,EAGL,KAAK,mBAAmB,EAGzB,MAAM,0CAA0C,CAAC;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAQvF,OAAO,KAAK,EACV,qCAAqC,EACrC,8BAA8B,EAC/B,MAAM,4CAA4C,CAAC;AAIpD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AAO5E,OAAO,KAAK,EACV,kCAAkC,EACnC,MAAM,yBAAyB,CAAC;AAEjC,iFAAiF;AACjF,wBAAsB,oCAAoC,CACxD,OAAO,EAAE,iBAAiB,EAC1B,aAAa,EAAE,SAAS,qCAAqC,EAAE,EAC/D,WAAW,EAAE,4BAA4B,EACzC,WAAW,EAAE,8BAA8B,GAC1C,OAAO,CAAC,SAAS,kCAAkC,EAAE,CAAC,CA6DxD;AAED,0EAA0E;AAC1E,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,SAAS,kCAAkC,EAAE,EAC1D,cAAc,EAAE,MAAM,GACrB,mBAAmB,CAYrB"}
1
+ {"version":3,"file":"conflictProjectionRegistration.d.ts","sourceRoot":"","sources":["../../../../src/application/sync/sheets/conflictProjectionRegistration.ts"],"names":[],"mappings":"AAAA,oFAAoF;AAEpF,OAAO,EAGL,KAAK,mBAAmB,EAGzB,MAAM,0CAA0C,CAAC;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAQvF,OAAO,KAAK,EACV,qCAAqC,EACrC,8BAA8B,EAC/B,MAAM,4CAA4C,CAAC;AAIpD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AAO5E,OAAO,KAAK,EACV,kCAAkC,EACnC,MAAM,yBAAyB,CAAC;AAEjC,iFAAiF;AACjF,wBAAsB,oCAAoC,CACxD,OAAO,EAAE,iBAAiB,EAC1B,aAAa,EAAE,SAAS,qCAAqC,EAAE,EAC/D,WAAW,EAAE,4BAA4B,EACzC,WAAW,EAAE,8BAA8B,GAC1C,OAAO,CAAC,SAAS,kCAAkC,EAAE,CAAC,CA8DxD;AAED,0EAA0E;AAC1E,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,SAAS,kCAAkC,EAAE,EAC1D,cAAc,EAAE,MAAM,GACrB,mBAAmB,CAYrB"}
@@ -13,6 +13,7 @@ export async function registerSyncConflictProjectionRoutes(storage, registration
13
13
  uniqueMappings.set(registration.mapping.logicalSheetId, registration);
14
14
  }
15
15
  return storage.transaction(async ({ sql }) => {
16
+ // Mapped-role claim; mirror this site in expireRuntimeWriterLeases (SyncServiceBootstrap).
16
17
  const claim = await claimWriterLeaseWithSql(sql, {
17
18
  role: writer.role,
18
19
  writerId: writer.writerId,
@@ -1 +1 @@
1
- {"version":3,"file":"conflictProjectionRegistration.js","sourceRoot":"","sources":["../../../../src/application/sync/sheets/conflictProjectionRegistration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conflictProjectionRegistration.js","sourceRoot":"","sources":["../../../../src/application/sync/sheets/conflictProjectionRegistration.ts"],"names":[],"mappings":"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"}
@@ -1,54 +1,41 @@
1
1
  /**
2
- * Shared timing(소요 시간) contracts for the SQLite-to-Sheets write pipeline.
2
+ * Shared timing contracts for the SQLite-to-Sheets write pipeline.
3
3
  *
4
- * Timing is diagnostic only: a sink failure must never change persistence or
5
- * provider behavior. The operation kinds describe the public lifecycle while
6
- * phases describe implementation boundaries that can be compared in a trace.
4
+ * The outbox package owns the core timing shapes (events, operation kinds,
5
+ * counts, provider timing, and the worker/provider scopes); this host module
6
+ * re-exports them under the host names and adds the host-only `orm_flush`
7
+ * and `polling` scopes. Timing is diagnostic only: a sink failure must never
8
+ * change persistence or provider behavior. The operation kinds describe the
9
+ * public lifecycle while phases describe implementation boundaries that can
10
+ * be compared in a trace.
7
11
  */
12
+ import { type ProviderTiming, type ProviderTimingPhase, type TimingEvent, type TimingOperationCounts, type TimingOperationKind } from "@hikoutei/outbox";
13
+ /** Host diagnostic scopes: the package worker/provider scopes plus host-only phases. */
8
14
  export declare const SYNC_TIMING_SCOPES: {
9
- readonly ORM_FLUSH: "orm_flush";
10
- readonly WORKER: "worker";
11
- readonly PROVIDER: "provider";
12
15
  /** Inbound User_Input polling phases; diagnostic only and never root-facing. */
13
16
  readonly POLLING: "polling";
17
+ readonly WORKER: "worker";
18
+ readonly PROVIDER: "provider";
19
+ readonly ORM_FLUSH: "orm_flush";
14
20
  };
15
21
  export type SyncTimingScope = (typeof SYNC_TIMING_SCOPES)[keyof typeof SYNC_TIMING_SCOPES];
22
+ /** Lifecycle operation kinds counted by timing events (package-owned). */
16
23
  export declare const SYNC_TIMING_OPERATION_KINDS: {
17
24
  readonly APPEND: "append";
18
25
  readonly UPDATE: "update";
19
26
  readonly DELETE: "delete";
20
27
  };
21
- export type SyncTimingOperationKind = (typeof SYNC_TIMING_OPERATION_KINDS)[keyof typeof SYNC_TIMING_OPERATION_KINDS];
28
+ export type SyncTimingOperationKind = TimingOperationKind;
22
29
  /** Count of lifecycle operations represented by one timing event. */
23
- export interface SyncTimingOperationCounts {
24
- readonly append: number;
25
- readonly update: number;
26
- readonly delete: number;
27
- }
30
+ export type SyncTimingOperationCounts = TimingOperationCounts;
28
31
  /** One measured implementation phase inside a remote provider operation. */
29
- export interface SyncSheetsTimingPhase {
30
- readonly phase: string;
31
- readonly durationMs: number;
32
- }
32
+ export type SyncSheetsTimingPhase = ProviderTimingPhase;
33
33
  /** Timing returned by one remote provider operation. */
34
- export interface SyncSheetsTiming {
35
- readonly operationKinds: readonly SyncTimingOperationKind[];
36
- readonly operationCounts: SyncTimingOperationCounts;
37
- readonly durationMs: number;
38
- readonly phases: readonly SyncSheetsTimingPhase[];
39
- }
34
+ export type SyncSheetsTiming = ProviderTiming;
40
35
  /** One local or remote phase sent to the application's diagnostics sink. */
41
- export interface SyncTimingEvent {
36
+ export type SyncTimingEvent = Omit<TimingEvent, "scope"> & {
42
37
  readonly scope: SyncTimingScope;
43
- readonly phase: string;
44
- readonly durationMs: number;
45
- readonly operationKinds: readonly SyncTimingOperationKind[];
46
- readonly operationCounts: SyncTimingOperationCounts;
47
- /** Optional route/batch diagnostics used by adaptive outbound dispatch. */
48
- readonly routeKey?: string;
49
- readonly batchLimit?: number;
50
- readonly responseSucceeded?: boolean;
51
- }
38
+ };
52
39
  /** Optional observer used by servers and benchmarks to collect timings. */
53
40
  export type SyncTimingSink = (event: SyncTimingEvent) => void;
54
41
  /** Creates a zeroed operation count without sharing mutable state. */
@@ -1 +1 @@
1
- {"version":3,"file":"syncTiming.d.ts","sourceRoot":"","sources":["../../../../src/application/sync/telemetry/syncTiming.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,eAAO,MAAM,kBAAkB;;;;IAI7B,gFAAgF;;CAExE,CAAC;AAEX,MAAM,MAAM,eAAe,GACzB,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,OAAO,kBAAkB,CAAC,CAAC;AAE/D,eAAO,MAAM,2BAA2B;;;;CAI9B,CAAC;AAEX,MAAM,MAAM,uBAAuB,GACjC,CAAC,OAAO,2BAA2B,CAAC,CAAC,MAAM,OAAO,2BAA2B,CAAC,CAAC;AAEjF,qEAAqE;AACrE,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,4EAA4E;AAC5E,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,wDAAwD;AACxD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,cAAc,EAAE,SAAS,uBAAuB,EAAE,CAAC;IAC5D,QAAQ,CAAC,eAAe,EAAE,yBAAyB,CAAC;IACpD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,SAAS,qBAAqB,EAAE,CAAC;CACnD;AAED,4EAA4E;AAC5E,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,SAAS,uBAAuB,EAAE,CAAC;IAC5D,QAAQ,CAAC,eAAe,EAAE,yBAAyB,CAAC;IACpD,2EAA2E;IAC3E,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CACtC;AAED,2EAA2E;AAC3E,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;AAE9D,sEAAsE;AACtE,wBAAgB,8BAA8B,IAAI,yBAAyB,CAE1E"}
1
+ {"version":3,"file":"syncTiming.d.ts","sourceRoot":"","sources":["../../../../src/application/sync/telemetry/syncTiming.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACzB,MAAM,kBAAkB,CAAC;AAE1B,wFAAwF;AACxF,eAAO,MAAM,kBAAkB;IAG7B,gFAAgF;;;;;CAExE,CAAC;AAEX,MAAM,MAAM,eAAe,GACzB,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,OAAO,kBAAkB,CAAC,CAAC;AAE/D,0EAA0E;AAC1E,eAAO,MAAM,2BAA2B;;;;CAAyB,CAAC;AAElE,MAAM,MAAM,uBAAuB,GAAG,mBAAmB,CAAC;AAE1D,qEAAqE;AACrE,MAAM,MAAM,yBAAyB,GAAG,qBAAqB,CAAC;AAE9D,4EAA4E;AAC5E,MAAM,MAAM,qBAAqB,GAAG,mBAAmB,CAAC;AAExD,wDAAwD;AACxD,MAAM,MAAM,gBAAgB,GAAG,cAAc,CAAC;AAE9C,4EAA4E;AAC5E,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG;IACzD,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;CACjC,CAAC;AAEF,2EAA2E;AAC3E,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;AAE9D,sEAAsE;AACtE,wBAAgB,8BAA8B,IAAI,yBAAyB,CAE1E"}