hikoutei 0.8.91 → 0.8.97

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 (150) hide show
  1. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingInspection.d.ts +9 -1
  2. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingInspection.d.ts.map +1 -1
  3. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingInspection.js +8 -1
  4. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingInspection.js.map +1 -1
  5. package/dist/adapter/sheets/providers/google-sheets-api/GoogleSheetsApiSyncProvider.d.ts +54 -21
  6. package/dist/adapter/sheets/providers/google-sheets-api/GoogleSheetsApiSyncProvider.d.ts.map +1 -1
  7. package/dist/adapter/sheets/providers/google-sheets-api/GoogleSheetsApiSyncProvider.js +57 -26
  8. package/dist/adapter/sheets/providers/google-sheets-api/GoogleSheetsApiSyncProvider.js.map +1 -1
  9. package/dist/adapter/sheets/providers/google-sheets-api/constants.d.ts +31 -11
  10. package/dist/adapter/sheets/providers/google-sheets-api/constants.d.ts.map +1 -1
  11. package/dist/adapter/sheets/providers/google-sheets-api/constants.js +31 -11
  12. package/dist/adapter/sheets/providers/google-sheets-api/constants.js.map +1 -1
  13. package/dist/adapter/sheets/providers/google-sheets-api/model/observation.d.ts +8 -0
  14. package/dist/adapter/sheets/providers/google-sheets-api/model/observation.d.ts.map +1 -1
  15. package/dist/adapter/sheets/providers/google-sheets-api/model/observation.js +2 -2
  16. package/dist/adapter/sheets/providers/google-sheets-api/model/observation.js.map +1 -1
  17. package/dist/adapter/sheets/providers/google-sheets-api/model/preflightContext.d.ts +2 -0
  18. package/dist/adapter/sheets/providers/google-sheets-api/model/preflightContext.d.ts.map +1 -1
  19. package/dist/adapter/sheets/providers/google-sheets-api/model/preflightContext.js +1 -1
  20. package/dist/adapter/sheets/providers/google-sheets-api/model/preflightContext.js.map +1 -1
  21. package/dist/adapter/sheets/providers/google-sheets-api/model/preflightHeaders.d.ts +7 -1
  22. package/dist/adapter/sheets/providers/google-sheets-api/model/preflightHeaders.d.ts.map +1 -1
  23. package/dist/adapter/sheets/providers/google-sheets-api/model/preflightHeaders.js +12 -3
  24. package/dist/adapter/sheets/providers/google-sheets-api/model/preflightHeaders.js.map +1 -1
  25. package/dist/adapter/sheets/providers/google-sheets-api/model/tableRead.d.ts +2 -0
  26. package/dist/adapter/sheets/providers/google-sheets-api/model/tableRead.d.ts.map +1 -1
  27. package/dist/adapter/sheets/providers/google-sheets-api/model/tableRead.js +1 -1
  28. package/dist/adapter/sheets/providers/google-sheets-api/model/tableRead.js.map +1 -1
  29. package/dist/adapter/sheets/providers/google-sheets-api/operations/anchors.d.ts.map +1 -1
  30. package/dist/adapter/sheets/providers/google-sheets-api/operations/anchors.js +1 -0
  31. package/dist/adapter/sheets/providers/google-sheets-api/operations/anchors.js.map +1 -1
  32. package/dist/adapter/sheets/providers/google-sheets-api/operations/applyEffects.d.ts +77 -3
  33. package/dist/adapter/sheets/providers/google-sheets-api/operations/applyEffects.d.ts.map +1 -1
  34. package/dist/adapter/sheets/providers/google-sheets-api/operations/applyEffects.js +358 -96
  35. package/dist/adapter/sheets/providers/google-sheets-api/operations/applyEffects.js.map +1 -1
  36. package/dist/adapter/sheets/providers/google-sheets-api/operations/fastAppend.d.ts.map +1 -1
  37. package/dist/adapter/sheets/providers/google-sheets-api/operations/fastAppend.js +80 -8
  38. package/dist/adapter/sheets/providers/google-sheets-api/operations/fastAppend.js.map +1 -1
  39. package/dist/adapter/sheets/providers/google-sheets-api/operations/preflightOp.d.ts +39 -7
  40. package/dist/adapter/sheets/providers/google-sheets-api/operations/preflightOp.d.ts.map +1 -1
  41. package/dist/adapter/sheets/providers/google-sheets-api/operations/preflightOp.js +108 -12
  42. package/dist/adapter/sheets/providers/google-sheets-api/operations/preflightOp.js.map +1 -1
  43. package/dist/adapter/sheets/providers/google-sheets-api/operations/provisioning.js +25 -6
  44. package/dist/adapter/sheets/providers/google-sheets-api/operations/provisioning.js.map +1 -1
  45. package/dist/adapter/sheets/providers/google-sheets-api/operations/readRows.d.ts.map +1 -1
  46. package/dist/adapter/sheets/providers/google-sheets-api/operations/readRows.js +2 -0
  47. package/dist/adapter/sheets/providers/google-sheets-api/operations/readRows.js.map +1 -1
  48. package/dist/adapter/sheets/providers/google-sheets-api/operations/shared.d.ts +91 -13
  49. package/dist/adapter/sheets/providers/google-sheets-api/operations/shared.d.ts.map +1 -1
  50. package/dist/adapter/sheets/providers/google-sheets-api/operations/shared.js +73 -24
  51. package/dist/adapter/sheets/providers/google-sheets-api/operations/shared.js.map +1 -1
  52. package/dist/adapter/sheets/providers/google-sheets-api/transport/googleSheetsApiTransport.d.ts +18 -0
  53. package/dist/adapter/sheets/providers/google-sheets-api/transport/googleSheetsApiTransport.d.ts.map +1 -1
  54. package/dist/adapter/sheets/providers/google-sheets-api/transport/googleSheetsApiTransport.js +16 -1
  55. package/dist/adapter/sheets/providers/google-sheets-api/transport/googleSheetsApiTransport.js.map +1 -1
  56. package/dist/adapter/sheets/providers/google-sheets-api/transport/rateLimiter.d.ts +80 -5
  57. package/dist/adapter/sheets/providers/google-sheets-api/transport/rateLimiter.d.ts.map +1 -1
  58. package/dist/adapter/sheets/providers/google-sheets-api/transport/rateLimiter.js +155 -5
  59. package/dist/adapter/sheets/providers/google-sheets-api/transport/rateLimiter.js.map +1 -1
  60. package/dist/adapter/sheets/providers/google-sheets-api/transport/rawErrorSchemas.d.ts.map +1 -1
  61. package/dist/adapter/sheets/providers/google-sheets-api/transport/rawErrorSchemas.js +3 -1
  62. package/dist/adapter/sheets/providers/google-sheets-api/transport/rawErrorSchemas.js.map +1 -1
  63. package/dist/api/Hikoutei.d.ts.map +1 -1
  64. package/dist/api/Hikoutei.js +5 -0
  65. package/dist/api/Hikoutei.js.map +1 -1
  66. package/dist/api/index.d.ts +6 -3
  67. package/dist/api/index.d.ts.map +1 -1
  68. package/dist/api/index.js +5 -3
  69. package/dist/api/index.js.map +1 -1
  70. package/dist/api/syncRuntime.d.ts +161 -0
  71. package/dist/api/syncRuntime.d.ts.map +1 -0
  72. package/dist/api/syncRuntime.js +50 -0
  73. package/dist/api/syncRuntime.js.map +1 -0
  74. package/dist/application/sync/outbound/SheetsEffectDispatcher.d.ts +120 -12
  75. package/dist/application/sync/outbound/SheetsEffectDispatcher.d.ts.map +1 -1
  76. package/dist/application/sync/outbound/SheetsEffectDispatcher.js +477 -23
  77. package/dist/application/sync/outbound/SheetsEffectDispatcher.js.map +1 -1
  78. package/dist/application/sync/service/SyncServiceBootstrap.d.ts.map +1 -1
  79. package/dist/application/sync/service/SyncServiceBootstrap.js +107 -4
  80. package/dist/application/sync/service/SyncServiceBootstrap.js.map +1 -1
  81. package/dist/application/sync/service/adopt/adoptionSeeding.d.ts +116 -0
  82. package/dist/application/sync/service/adopt/adoptionSeeding.d.ts.map +1 -0
  83. package/dist/application/sync/service/adopt/adoptionSeeding.js +401 -0
  84. package/dist/application/sync/service/adopt/adoptionSeeding.js.map +1 -0
  85. package/dist/application/sync/service/adopt/existingSheetAdoption.d.ts +285 -0
  86. package/dist/application/sync/service/adopt/existingSheetAdoption.d.ts.map +1 -0
  87. package/dist/application/sync/service/adopt/existingSheetAdoption.js +787 -0
  88. package/dist/application/sync/service/adopt/existingSheetAdoption.js.map +1 -0
  89. package/dist/application/sync/service/effectSupervisor.js +1 -1
  90. package/dist/application/sync/service/effectSupervisor.js.map +1 -1
  91. package/dist/application/sync/service/errors.d.ts +14 -0
  92. package/dist/application/sync/service/errors.d.ts.map +1 -1
  93. package/dist/application/sync/service/errors.js +14 -0
  94. package/dist/application/sync/service/errors.js.map +1 -1
  95. package/dist/application/sync/service/serviceOptions.d.ts +10 -0
  96. package/dist/application/sync/service/serviceOptions.d.ts.map +1 -1
  97. package/dist/application/sync/service/serviceOptions.js +81 -12
  98. package/dist/application/sync/service/serviceOptions.js.map +1 -1
  99. package/dist/application/sync/service/syncAutoStart.d.ts +69 -15
  100. package/dist/application/sync/service/syncAutoStart.d.ts.map +1 -1
  101. package/dist/application/sync/service/syncAutoStart.js +106 -16
  102. package/dist/application/sync/service/syncAutoStart.js.map +1 -1
  103. package/dist/application/sync/sheetsContract/mutationCoordinator/CoordinatedSheetsProvider.d.ts +43 -1
  104. package/dist/application/sync/sheetsContract/mutationCoordinator/CoordinatedSheetsProvider.d.ts.map +1 -1
  105. package/dist/application/sync/sheetsContract/mutationCoordinator/CoordinatedSheetsProvider.js +96 -0
  106. package/dist/application/sync/sheetsContract/mutationCoordinator/CoordinatedSheetsProvider.js.map +1 -1
  107. package/dist/application/sync/sheetsContract/sheetsProvisioning.d.ts +14 -0
  108. package/dist/application/sync/sheetsContract/sheetsProvisioning.d.ts.map +1 -1
  109. package/dist/application/sync/sheetsContract/sheetsProvisioning.js +1 -0
  110. package/dist/application/sync/sheetsContract/sheetsProvisioning.js.map +1 -1
  111. package/dist/application/sync/sheetsContract/syncSheets.d.ts +28 -0
  112. package/dist/application/sync/sheetsContract/syncSheets.d.ts.map +1 -1
  113. package/dist/application/sync/sheetsContract/syncSheets.js.map +1 -1
  114. package/dist/cli/adoptArgs.d.ts +73 -0
  115. package/dist/cli/adoptArgs.d.ts.map +1 -0
  116. package/dist/cli/adoptArgs.js +254 -0
  117. package/dist/cli/adoptArgs.js.map +1 -0
  118. package/dist/cli/adoptFlow.d.ts +62 -0
  119. package/dist/cli/adoptFlow.d.ts.map +1 -0
  120. package/dist/cli/adoptFlow.js +210 -0
  121. package/dist/cli/adoptFlow.js.map +1 -0
  122. package/dist/cli/adoptMain.d.ts +18 -0
  123. package/dist/cli/adoptMain.d.ts.map +1 -0
  124. package/dist/cli/adoptMain.js +124 -0
  125. package/dist/cli/adoptMain.js.map +1 -0
  126. package/dist/cli/confirm.d.ts +15 -0
  127. package/dist/cli/confirm.d.ts.map +1 -1
  128. package/dist/cli/confirm.js +20 -0
  129. package/dist/cli/confirm.js.map +1 -1
  130. package/dist/cli/index.d.ts +16 -0
  131. package/dist/cli/index.d.ts.map +1 -0
  132. package/dist/cli/index.js +39 -0
  133. package/dist/cli/index.js.map +1 -0
  134. package/dist/cli/setup.d.ts +25 -0
  135. package/dist/cli/setup.d.ts.map +1 -1
  136. package/dist/cli/setup.js +16 -3
  137. package/dist/cli/setup.js.map +1 -1
  138. package/dist/infrastructure/storage/state/observation/observationCanonical.d.ts +3 -1
  139. package/dist/infrastructure/storage/state/observation/observationCanonical.d.ts.map +1 -1
  140. package/dist/infrastructure/storage/state/observation/observationCanonical.js +27 -3
  141. package/dist/infrastructure/storage/state/observation/observationCanonical.js.map +1 -1
  142. package/dist/shared/observability/internalLog.d.ts +2 -0
  143. package/dist/shared/observability/internalLog.d.ts.map +1 -1
  144. package/dist/shared/observability/internalLog.js +7 -0
  145. package/dist/shared/observability/internalLog.js.map +1 -1
  146. package/dist/shared/observability/logEvents.d.ts +1 -1
  147. package/dist/shared/observability/logEvents.d.ts.map +1 -1
  148. package/dist/shared/observability/logEvents.js +5 -0
  149. package/dist/shared/observability/logEvents.js.map +1 -1
  150. package/package.json +3 -3
@@ -1,6 +1,6 @@
1
1
  /** Validates observed User_Input rows and prepares accepted entity changes. */
2
2
  import type { ObservedExistingRowChange } from "../../../../../domain/model/types.js";
3
- import type { SyncSheetsSnapshot, SyncObservedSnapshot, SyncSnapshotRow } from "../../../../../application/sync/sheetsContract/syncSheets.js";
3
+ import type { SyncSheetsSnapshot, SyncObservedSnapshot, SyncSnapshotCell, SyncSnapshotRow } from "../../../../../application/sync/sheetsContract/syncSheets.js";
4
4
  import { type TypedSheetsEntityFieldMapping, type TypedSheetsEntityMapping } from "../../../../../application/orm/mapping/entityMapping.js";
5
5
  import { type EntityStateRecord, type MappedPollingState, type RowBindingStateRecord } from "./MikroOrmUserInputPollingState.js";
6
6
  /** Stable reasons for a User_Input row that cannot enter the evaluator. */
@@ -50,6 +50,14 @@ export interface SheetAccumulator {
50
50
  }
51
51
  /** Inspects one projection snapshot and appends changed rows to the batch. */
52
52
  export declare function inspectSnapshot(mapping: TypedSheetsEntityMapping, observed: SyncObservedSnapshot, state: MappedPollingState, accumulator: SheetAccumulator, preparedRows: PreparedRow[]): readonly InvalidRow[];
53
+ /**
54
+ * Validates one observed snapshot cell against the mapping's declared field
55
+ * contract — the EXACT gate the polling pipeline applies (a violation becomes
56
+ * an `invalid_cell` quarantine there). Exported so the adoption seeding can
57
+ * apply the same gate fail-closed at startup instead of letting the first
58
+ * poll quarantine every adopted row.
59
+ */
60
+ export declare function validateSnapshotCell(field: TypedSheetsEntityFieldMapping, cell: SyncSnapshotCell | undefined): MappedUserInputInvalidReason | undefined;
53
61
  /** Derives duplicate business-key values from one normalized snapshot. */
54
62
  export declare function duplicateBusinessKeysForSnapshot(snapshot: SyncSheetsSnapshot, businessKey: TypedSheetsEntityFieldMapping): ReadonlySet<string>;
55
63
  /** Computes the stable snapshot identity used by observation deduplication. */
@@ -1 +1 @@
1
- {"version":3,"file":"MikroOrmUserInputPollingInspection.d.ts","sourceRoot":"","sources":["../../../../../../src/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingInspection.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAO/E,OAAO,KAAK,EAEV,yBAAyB,EAC1B,MAAM,sCAAsC,CAAC;AAM9C,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EAEpB,eAAe,EAChB,MAAM,8DAA8D,CAAC;AAKtE,OAAO,EAGL,KAAK,6BAA6B,EAClC,KAAK,wBAAwB,EAC9B,MAAM,yDAAyD,CAAC;AAMjE,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAE3B,MAAM,oCAAoC,CAAC;AAM5C,2EAA2E;AAC3E,eAAO,MAAM,iCAAiC;;;;;;;;;;;;CAYpC,CAAC;AAEX,MAAM,MAAM,4BAA4B,GACtC,CAAC,OAAO,iCAAiC,CAAC,CAAC,MAAM,OAAO,iCAAiC,CAAC,CAAC;AAE7F,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,OAAO,EAAE,wBAAwB,CAAC;IAC3C,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC;IACxC,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IACtC,QAAQ,CAAC,GAAG,EAAE,yBAAyB,CAAC;CACzC;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,OAAO,EAAE,wBAAwB,CAAC;IAC3C,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,4BAA4B,CAAC;CAC/C;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,wBAAwB,CAAC;IAC3C,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,wBAAwB,EAAE,MAAM,CAAC;CAClC;AAcD,8EAA8E;AAC9E,wBAAgB,eAAe,CAC7B,OAAO,EAAE,wBAAwB,EACjC,QAAQ,EAAE,oBAAoB,EAC9B,KAAK,EAAE,kBAAkB,EACzB,WAAW,EAAE,gBAAgB,EAC7B,YAAY,EAAE,WAAW,EAAE,GAC1B,SAAS,UAAU,EAAE,CA8CvB;AAoOD,0EAA0E;AAC1E,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,kBAAkB,EAC5B,WAAW,EAAE,6BAA6B,GACzC,WAAW,CAAC,MAAM,CAAC,CAerB;AAED,+EAA+E;AAC/E,wBAAgB,YAAY,CAAC,QAAQ,EAAE,kBAAkB,GAAG,MAAM,CAmBjE"}
1
+ {"version":3,"file":"MikroOrmUserInputPollingInspection.d.ts","sourceRoot":"","sources":["../../../../../../src/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingInspection.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAO/E,OAAO,KAAK,EAEV,yBAAyB,EAC1B,MAAM,sCAAsC,CAAC;AAM9C,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,EAChB,MAAM,8DAA8D,CAAC;AAKtE,OAAO,EAGL,KAAK,6BAA6B,EAClC,KAAK,wBAAwB,EAC9B,MAAM,yDAAyD,CAAC;AAMjE,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAE3B,MAAM,oCAAoC,CAAC;AAM5C,2EAA2E;AAC3E,eAAO,MAAM,iCAAiC;;;;;;;;;;;;CAYpC,CAAC;AAEX,MAAM,MAAM,4BAA4B,GACtC,CAAC,OAAO,iCAAiC,CAAC,CAAC,MAAM,OAAO,iCAAiC,CAAC,CAAC;AAE7F,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,OAAO,EAAE,wBAAwB,CAAC;IAC3C,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC;IACxC,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IACtC,QAAQ,CAAC,GAAG,EAAE,yBAAyB,CAAC;CACzC;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,OAAO,EAAE,wBAAwB,CAAC;IAC3C,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,4BAA4B,CAAC;CAC/C;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,wBAAwB,CAAC;IAC3C,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,wBAAwB,EAAE,MAAM,CAAC;CAClC;AAcD,8EAA8E;AAC9E,wBAAgB,eAAe,CAC7B,OAAO,EAAE,wBAAwB,EACjC,QAAQ,EAAE,oBAAoB,EAC9B,KAAK,EAAE,kBAAkB,EACzB,WAAW,EAAE,gBAAgB,EAC7B,YAAY,EAAE,WAAW,EAAE,GAC1B,SAAS,UAAU,EAAE,CA8CvB;AAuKD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,6BAA6B,EACpC,IAAI,EAAE,gBAAgB,GAAG,SAAS,GACjC,4BAA4B,GAAG,SAAS,CAkC1C;AAwBD,0EAA0E;AAC1E,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,kBAAkB,EAC5B,WAAW,EAAE,6BAA6B,GACzC,WAAW,CAAC,MAAM,CAAC,CAerB;AAED,+EAA+E;AAC/E,wBAAgB,YAAY,CAAC,QAAQ,EAAE,kBAAkB,GAAG,MAAM,CAmBjE"}
@@ -199,7 +199,14 @@ function normalizeExistingRow(mapping, snapshotRow, binding, canonical, visibleS
199
199
  },
200
200
  };
201
201
  }
202
- function validateSnapshotCell(field, cell) {
202
+ /**
203
+ * Validates one observed snapshot cell against the mapping's declared field
204
+ * contract — the EXACT gate the polling pipeline applies (a violation becomes
205
+ * an `invalid_cell` quarantine there). Exported so the adoption seeding can
206
+ * apply the same gate fail-closed at startup instead of letting the first
207
+ * poll quarantine every adopted row.
208
+ */
209
+ export function validateSnapshotCell(field, cell) {
203
210
  if (cell === undefined)
204
211
  return MAPPED_USER_INPUT_INVALID_REASONS.MISSING_CELL;
205
212
  if (cell.cellKind === CELL_OBSERVATION_KINDS.FORMULA) {
@@ -1 +1 @@
1
- {"version":3,"file":"MikroOrmUserInputPollingInspection.js","sourceRoot":"","sources":["../../../../../../src/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingInspection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MikroOrmUserInputPollingInspection.js","sourceRoot":"","sources":["../../../../../../src/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingInspection.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,8 @@
2
2
  * Full sync provider over the Google Sheets REST API.
3
3
  *
4
4
  * Implements every provider capability the sync runtime needs with ONE
5
- * provider instance (one transport, one shared request-start limiter, one
6
- * telemetry sink): the outbound effect worker (fast append, applyEffects,
5
+ * provider instance (one transport, separate read and write request-start
6
+ * limiters, one telemetry sink): the outbound effect worker (fast append, applyEffects,
7
7
  * postcondition recovery), projection provisioning, values-only table reads,
8
8
  * row-anchor assignment, and full metadata snapshots. The service-account
9
9
  * bootstrap mode uses this provider exclusively and needs no Apps Script.
@@ -20,28 +20,44 @@
20
20
  *
21
21
  * Request pacing is per transport call: every `getSpreadsheet` (preflight
22
22
  * enumeration, preflight data, observation reads, post-reads, table reads,
23
- * provisioning reads) and every `batchUpdate` acquires the ONE shared
24
- * request-start limiter and emits one redacted telemetry event. Reads and
25
- * writes serialize against each other, so a combined read+write burst can
26
- * never outpace the interval. Admission is BOUNDED: a request whose slot
27
- * lies more than one interval out is refused before any SDK call with the
28
- * stable delivery-uncertain `google_sheets_api_request_start_refused`
29
- * error, so an arbitrarily long limiter queue can never make a request
30
- * wait past its effect lease the durable worker requeues instead.
23
+ * provisioning reads) and every `batchUpdate` acquires a request-start limiter
24
+ * and emits one redacted telemetry event. Reads serialize only against reads;
25
+ * writes only against writes, so a read and a write can start concurrently
26
+ * (an idempotent get + a committed batchUpdate are safe to overlap) while
27
+ * same-class bursts can never outpace the interval. Admission is bounded
28
+ * SEPARATELY by an independent maximum admission wait
29
+ * (`requestStartMaxWaitMs`, default 5,000 ms not derived from the
30
+ * interval): a request whose PREDICTED WAIT for a slot exceeds that bound
31
+ * is refused before any SDK call with the stable delivery-uncertain
32
+ * `google_sheets_api_request_start_refused` error, so an arbitrarily long
33
+ * limiter queue can never make a request wait past its effect lease — the
34
+ * durable worker requeues instead.
31
35
  */
32
- import type { ApplySyncEffectsRequest, ApplySyncEffectsResult, EnsureSyncRowAnchorsRequest, EnsureSyncRowAnchorsResult, FastAppendRowsRequest, FastAppendRowsResult, ReadSyncEffectPostconditionsRequest, ReadSyncSnapshotRequest, ReadSyncTableRowsRequest, SyncEffectPostcondition, SyncEffectPostconditionResult, SyncEffectWorkerProvider, SyncObservedSnapshot, SyncSheetsObservationBatchProvider, SyncSheetsObservationProvider, SyncSheetsSnapshot, SyncSheetsTableReader, SyncProjectionEffect, SyncTableRowsResult } from "../../../../application/sync/sheetsContract/syncSheets.js";
36
+ import type { ApplySyncEffectsRequest, ApplySyncEffectsResult, EnsureSyncRowAnchorsRequest, EnsureSyncRowAnchorsResult, FastAppendRowsRequest, FastAppendRowsResult, ReadSyncEffectPostconditionsRequest, ReadSyncSnapshotRequest, ReadSyncTableRowsRequest, PreparedApplyEffects, SyncEffectPostcondition, SyncEffectPostconditionResult, SyncEffectWorkerProvider, SyncObservedSnapshot, SyncSheetsObservationBatchProvider, SyncSheetsObservationProvider, SyncSheetsSnapshot, SyncSheetsTableReader, SyncProjectionEffect, SyncTableRowsResult } from "../../../../application/sync/sheetsContract/syncSheets.js";
33
37
  import type { RegisteredSyncProjectionDefinition, SyncSheetsProvisioner, SyncSheetsProvisionRoute } from "../../../../application/sync/sheetsContract/sheetsProvisioning.js";
34
38
  import type { Presence } from "../../../../shared/state/index.js";
35
39
  import { type GoogleSheetsApiTransport } from "./transport/googleSheetsApiTransport.js";
36
40
  /** Redacted telemetry event emitted for every transport request. */
37
41
  export interface GoogleSheetsApiRequestEvent {
38
42
  readonly operation: "getSpreadsheet" | "batchUpdate";
43
+ /** Pacing lane the request-start wait used (`polling`, `preflight`, or `write`). */
44
+ readonly pacing: "polling" | "preflight" | "write";
39
45
  readonly operationCount: number;
40
46
  readonly startedAt: number;
41
47
  readonly durationMs: number;
42
48
  readonly ok: boolean;
43
49
  readonly httpStatus: Presence<number>;
44
50
  readonly code: Presence<string>;
51
+ /** Pacing wait before the request-start slot was granted (0 when none). */
52
+ readonly pacingWaitMs?: number;
53
+ /** Number of batchUpdate requests in the written batch. */
54
+ readonly requestCount?: number;
55
+ /** Serialized batchUpdate body-size estimate in bytes. */
56
+ readonly bodyBytes?: number;
57
+ /** Effects requested for this write batch. */
58
+ readonly requestedEffects?: number;
59
+ /** Effects included in the written batch (the budget-fitting prefix). */
60
+ readonly includedEffects?: number;
45
61
  }
46
62
  /** Provider options without the bootstrap-supplied spreadsheet and routes. */
47
63
  export interface GoogleSheetsApiProviderOptions {
@@ -57,11 +73,20 @@ export interface GoogleSheetsApiProviderOptions {
57
73
  */
58
74
  readonly readTimeoutMs?: number;
59
75
  /**
60
- * Minimum interval between request starts; defaults to 2,500 ms. Also the
61
- * admission bound: a request whose slot lies more than one interval out is
62
- * refused before any SDK call (delivery-uncertain, requeued durably).
76
+ * Minimum interval between request starts per class; defaults to 2,000 ms.
77
+ * This only SPACES request starts; admission is governed by the separate
78
+ * independent bound `requestStartMaxWaitMs`, which refuses a request whose
79
+ * predicted wait exceeds it before any SDK call (delivery-uncertain,
80
+ * requeued durably).
63
81
  */
64
82
  readonly rateLimitIntervalMs?: number;
83
+ /**
84
+ * Maximum admitted wait for one request-start slot before refusal;
85
+ * defaults to `REQUEST_START_MAX_ADMISSION_WAIT_MS` (5 s), independent of
86
+ * the pacing interval. Lets a postcondition read wait a few intervals for
87
+ * the shared write limiter instead of being refused by the read burst.
88
+ */
89
+ readonly requestStartMaxWaitMs?: number;
65
90
  /** Serialized batchUpdate byte budget; defaults to ~2 MB. */
66
91
  readonly maxBatchBytes?: number;
67
92
  /** Injectable clock for limiters and telemetry. */
@@ -80,11 +105,13 @@ export interface GoogleSheetsApiSyncProviderOptions extends GoogleSheetsApiProvi
80
105
  * Full sync provider over the Sheets REST API: outbound effects, provisioning,
81
106
  * table reads, anchors, and snapshots behind the shared provider contracts.
82
107
  *
83
- * All reads and writes share ONE request-start limiter, so combined
84
- * read+write starts are serialized (at most one transport call per
85
- * interval); the worker-level append throttle stays enabled on top in
86
- * service mode via the bootstrap's bulk worker options. Provisioning runs
87
- * at startup before the worker, and observation anchors are the only
108
+ * All reads share ONE request-start timeline (a read QoS scheduler with
109
+ * weighted polling/preflight fairness) and all writes share ONE write
110
+ * request-start limiter, so reads serialize only against reads and writes
111
+ * only against writes (an idempotent read and a committed write may start
112
+ * concurrently); the worker-level append throttle stays enabled on
113
+ * top in service mode via the bootstrap's bulk worker options. Provisioning
114
+ * runs at startup before the worker, and observation anchors are the only
88
115
  * metadata mutations outside effect batches.
89
116
  *
90
117
  * The class is a thin facade: every method body lives in an operation module
@@ -97,8 +124,10 @@ export declare class GoogleSheetsApiSyncProvider implements SyncEffectWorkerProv
97
124
  private readonly transportTimeoutMs;
98
125
  private readonly readTimeoutMs;
99
126
  private readonly maxBatchBytes;
100
- private readonly requestLimiter;
101
- /** Bounded admission: at most one interval of wait per request start. */
127
+ private readonly readScheduler;
128
+ private readonly writeLimiter;
129
+ /** Bounded admission: independent max request-start wait (default 5,000
130
+ * ms), separate from the pacing interval. */
102
131
  private readonly maxRequestStartWaitMs;
103
132
  private readonly now;
104
133
  private readonly onRequest;
@@ -110,6 +139,10 @@ export declare class GoogleSheetsApiSyncProvider implements SyncEffectWorkerProv
110
139
  fastAppendRows(request: FastAppendRowsRequest): Promise<FastAppendRowsResult>;
111
140
  /** Applies regular update/delete/create effects through one atomic batch. */
112
141
  applyEffects(request: ApplySyncEffectsRequest): Promise<ApplySyncEffectsResult>;
142
+ /** Read+plan stage of one apply request; never mutates the sheet. */
143
+ preflightApplyEffects(request: ApplySyncEffectsRequest): Promise<PreparedApplyEffects>;
144
+ /** Write+verify stage that consumes preflight prepared state. */
145
+ applyPreparedEffects(prepared: PreparedApplyEffects): Promise<ApplySyncEffectsResult>;
113
146
  /** Classifies one response-loss effect through a fresh target+receipt read. */
114
147
  readEffectPostcondition(effect: SyncProjectionEffect): Promise<SyncEffectPostcondition>;
115
148
  /** Classifies a recovery batch with one shared target+receipt read. */
@@ -1 +1 @@
1
- {"version":3,"file":"GoogleSheetsApiSyncProvider.d.ts","sourceRoot":"","sources":["../../../../../src/adapter/sheets/providers/google-sheets-api/GoogleSheetsApiSyncProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GoogleSheetsApiSyncProvider.d.ts","sourceRoot":"","sources":["../../../../../src/adapter/sheets/providers/google-sheets-api/GoogleSheetsApiSyncProvider.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,8 @@
2
2
  * Full sync provider over the Google Sheets REST API.
3
3
  *
4
4
  * Implements every provider capability the sync runtime needs with ONE
5
- * provider instance (one transport, one shared request-start limiter, one
6
- * telemetry sink): the outbound effect worker (fast append, applyEffects,
5
+ * provider instance (one transport, separate read and write request-start
6
+ * limiters, one telemetry sink): the outbound effect worker (fast append, applyEffects,
7
7
  * postcondition recovery), projection provisioning, values-only table reads,
8
8
  * row-anchor assignment, and full metadata snapshots. The service-account
9
9
  * bootstrap mode uses this provider exclusively and needs no Apps Script.
@@ -20,22 +20,28 @@
20
20
  *
21
21
  * Request pacing is per transport call: every `getSpreadsheet` (preflight
22
22
  * enumeration, preflight data, observation reads, post-reads, table reads,
23
- * provisioning reads) and every `batchUpdate` acquires the ONE shared
24
- * request-start limiter and emits one redacted telemetry event. Reads and
25
- * writes serialize against each other, so a combined read+write burst can
26
- * never outpace the interval. Admission is BOUNDED: a request whose slot
27
- * lies more than one interval out is refused before any SDK call with the
28
- * stable delivery-uncertain `google_sheets_api_request_start_refused`
29
- * error, so an arbitrarily long limiter queue can never make a request
30
- * wait past its effect lease the durable worker requeues instead.
23
+ * provisioning reads) and every `batchUpdate` acquires a request-start limiter
24
+ * and emits one redacted telemetry event. Reads serialize only against reads;
25
+ * writes only against writes, so a read and a write can start concurrently
26
+ * (an idempotent get + a committed batchUpdate are safe to overlap) while
27
+ * same-class bursts can never outpace the interval. Admission is bounded
28
+ * SEPARATELY by an independent maximum admission wait
29
+ * (`requestStartMaxWaitMs`, default 5,000 ms not derived from the
30
+ * interval): a request whose PREDICTED WAIT for a slot exceeds that bound
31
+ * is refused before any SDK call with the stable delivery-uncertain
32
+ * `google_sheets_api_request_start_refused` error, so an arbitrarily long
33
+ * limiter queue can never make a request wait past its effect lease — the
34
+ * durable worker requeues instead.
31
35
  */
36
+ import { randomUUID } from "node:crypto";
32
37
  import { SYNC_SHEETS_ERROR_CODES, SyncSheetsContractError, } from "../../../../application/sync/sheetsContract/errors.js";
33
38
  import { GOOGLE_SHEETS_API_DEFAULTS, } from "./constants.js";
34
39
  import { invalidProviderRequest } from "./errors.js";
35
40
  import { GoogleSheetsApiHttpTransport, } from "./transport/googleSheetsApiTransport.js";
36
- import { RequestStartLimiter } from "./transport/rateLimiter.js";
41
+ import { RequestStartLimiter, ReadQoSScheduler } from "./transport/rateLimiter.js";
42
+ import { PromiseTailLock } from "./operations/shared.js";
37
43
  import { fastAppendRows, } from "./operations/fastAppend.js";
38
- import { applyEffects, readEffectPostcondition, readEffectPostconditions, } from "./operations/applyEffects.js";
44
+ import { applyEffects, applyPreparedEffects as applyPreparedEffectsOp, preflightApplyEffects as preflightApplyEffectsOp, readEffectPostcondition, readEffectPostconditions, } from "./operations/applyEffects.js";
39
45
  import { observeSnapshot, observeSnapshots, readRows, readRowsBatch, readSnapshot, } from "./operations/readRows.js";
40
46
  import { ensureRowAnchors, } from "./operations/anchors.js";
41
47
  import { provisionRegistry, } from "./operations/provisioning.js";
@@ -43,11 +49,13 @@ import { provisionRegistry, } from "./operations/provisioning.js";
43
49
  * Full sync provider over the Sheets REST API: outbound effects, provisioning,
44
50
  * table reads, anchors, and snapshots behind the shared provider contracts.
45
51
  *
46
- * All reads and writes share ONE request-start limiter, so combined
47
- * read+write starts are serialized (at most one transport call per
48
- * interval); the worker-level append throttle stays enabled on top in
49
- * service mode via the bootstrap's bulk worker options. Provisioning runs
50
- * at startup before the worker, and observation anchors are the only
52
+ * All reads share ONE request-start timeline (a read QoS scheduler with
53
+ * weighted polling/preflight fairness) and all writes share ONE write
54
+ * request-start limiter, so reads serialize only against reads and writes
55
+ * only against writes (an idempotent read and a committed write may start
56
+ * concurrently); the worker-level append throttle stays enabled on
57
+ * top in service mode via the bootstrap's bulk worker options. Provisioning
58
+ * runs at startup before the worker, and observation anchors are the only
51
59
  * metadata mutations outside effect batches.
52
60
  *
53
61
  * The class is a thin facade: every method body lives in an operation module
@@ -60,8 +68,10 @@ export class GoogleSheetsApiSyncProvider {
60
68
  transportTimeoutMs;
61
69
  readTimeoutMs;
62
70
  maxBatchBytes;
63
- requestLimiter;
64
- /** Bounded admission: at most one interval of wait per request start. */
71
+ readScheduler;
72
+ writeLimiter;
73
+ /** Bounded admission: independent max request-start wait (default 5,000
74
+ * ms), separate from the pacing interval. */
65
75
  maxRequestStartWaitMs;
66
76
  now;
67
77
  onRequest;
@@ -92,6 +102,8 @@ export class GoogleSheetsApiSyncProvider {
92
102
  invalidProviderRequest("Google Sheets API sync provider", "maxBatchBytes is invalid");
93
103
  }
94
104
  const intervalMs = options.rateLimitIntervalMs ?? GOOGLE_SHEETS_API_DEFAULTS.REQUEST_START_INTERVAL_MS;
105
+ const maxAdmissionWaitMs = options.requestStartMaxWaitMs
106
+ ?? GOOGLE_SHEETS_API_DEFAULTS.REQUEST_START_MAX_ADMISSION_WAIT_MS;
95
107
  this.spreadsheetId = options.spreadsheetId;
96
108
  this.definitions = options.definitions;
97
109
  this.transport = options.transport ?? new GoogleSheetsApiHttpTransport({ requestTimeoutMs });
@@ -99,24 +111,35 @@ export class GoogleSheetsApiSyncProvider {
99
111
  this.readTimeoutMs = readTimeoutMs;
100
112
  this.maxBatchBytes = maxBatchBytes;
101
113
  this.now = options.now ?? Date.now;
102
- this.requestLimiter = new RequestStartLimiter({
114
+ this.readScheduler = new ReadQoSScheduler({
103
115
  intervalMs,
104
116
  now: this.now,
105
117
  ...(options.sleep === undefined ? {} : { sleep: options.sleep }),
106
118
  });
107
- // Admission bound equals the pacing interval: the immediate slot and the
108
- // slot exactly one interval out are admitted, every deeper reservation is
109
- // refused before any SDK call (delivery-uncertain, requeued by the
110
- // durable worker) instead of waiting out an unbounded queue.
111
- this.maxRequestStartWaitMs = intervalMs;
119
+ this.writeLimiter = new RequestStartLimiter({
120
+ intervalMs,
121
+ now: this.now,
122
+ ...(options.sleep === undefined ? {} : { sleep: options.sleep }),
123
+ });
124
+ // Admission bound is independent of the pacing interval: a postcondition
125
+ // read (paced on the WRITE limiter) is allowed to wait a few intervals for
126
+ // the write slot, while the interval still spaces request STARTS for quota
127
+ // safety. Deeper reservations than the bound are refused before any SDK
128
+ // call (delivery-uncertain, requeued by the durable worker) instead of
129
+ // waiting out an unbounded queue.
130
+ this.maxRequestStartWaitMs = maxAdmissionWaitMs;
112
131
  this.onRequest = options.onRequest;
113
132
  this.deps = {
114
133
  spreadsheetId: this.spreadsheetId,
134
+ providerNonce: "provider:" + randomUUID(),
135
+ preparedStateRegistry: new WeakSet(),
136
+ receiptInitLock: new PromiseTailLock(),
115
137
  definitions: this.definitions,
116
138
  transport: this.transport,
117
139
  readTimeoutMs: this.readTimeoutMs,
118
140
  maxBatchBytes: this.maxBatchBytes,
119
- requestLimiter: this.requestLimiter,
141
+ readScheduler: this.readScheduler,
142
+ writeLimiter: this.writeLimiter,
120
143
  maxRequestStartWaitMs: this.maxRequestStartWaitMs,
121
144
  now: this.now,
122
145
  onRequest: this.onRequest,
@@ -137,6 +160,14 @@ export class GoogleSheetsApiSyncProvider {
137
160
  async applyEffects(request) {
138
161
  return applyEffects(this.deps, request);
139
162
  }
163
+ /** Read+plan stage of one apply request; never mutates the sheet. */
164
+ async preflightApplyEffects(request) {
165
+ return preflightApplyEffectsOp(this.deps, request);
166
+ }
167
+ /** Write+verify stage that consumes preflight prepared state. */
168
+ async applyPreparedEffects(prepared) {
169
+ return applyPreparedEffectsOp(this.deps, prepared);
170
+ }
140
171
  /** Classifies one response-loss effect through a fresh target+receipt read. */
141
172
  async readEffectPostcondition(effect) {
142
173
  return readEffectPostcondition(this.deps, effect);
@@ -1 +1 @@
1
- {"version":3,"file":"GoogleSheetsApiSyncProvider.js","sourceRoot":"","sources":["../../../../../src/adapter/sheets/providers/google-sheets-api/GoogleSheetsApiSyncProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GoogleSheetsApiSyncProvider.js","sourceRoot":"","sources":["../../../../../src/adapter/sheets/providers/google-sheets-api/GoogleSheetsApiSyncProvider.ts"],"names":[],"mappings":"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"}
@@ -30,15 +30,16 @@ export declare const GOOGLE_SHEETS_API_DEFAULTS: {
30
30
  /** Upper bound for read timeouts; reads must stay well under the lease. */
31
31
  readonly MAX_READ_TIMEOUT_MS: 60000;
32
32
  /**
33
- * Minimum interval between request starts of the WHOLE provider: reads and
34
- * writes share ONE request-start limiter, so at most one Sheets API
35
- * request can start per interval regardless of class. Google Sheets quota
36
- * is enforced per 100-second windows; the 2,500 ms default serializes
37
- * combined read+write starts to about 40 starts per 100 s, leaving
38
- * headroom inside the default per-user/per-project 100-second quotas for
39
- * the observation and provisioning reads that run beside the worker. The
40
- * exact quota stays provider and environment dependent, so operators can
41
- * override the interval through the internal sync env key
33
+ * Minimum interval between request starts of the WHOLE provider: reads
34
+ * and writes use independent request-start limiters, so reads serialize
35
+ * only against reads and writes only against writes, and a read and a
36
+ * write can start concurrently. Google Sheets quota is enforced per
37
+ * 100-second windows; the 2,500 ms default paces each class to about 40
38
+ * starts per 100 s, leaving headroom inside the default per-user/
39
+ * per-project 100-second quotas for the observation and provisioning
40
+ * reads that run beside the worker. The exact quota stays provider and
41
+ * environment dependent, so operators can override the interval through
42
+ * the internal sync env key
42
43
  * (HIKOUTEI_SYNC_RATE_LIMIT_INTERVAL_MS) or the internal provider option;
43
44
  * the safe default is intentionally conservative. The interval is part of
44
45
  * the effect-lease headroom contract: a worst-case dispatch (two
@@ -54,7 +55,18 @@ export declare const GOOGLE_SHEETS_API_DEFAULTS: {
54
55
  * requeues), so an arbitrarily long queue of concurrent lock-free polling
55
56
  * reads can never make a write wait past its lease.
56
57
  */
57
- readonly REQUEST_START_INTERVAL_MS: 2500;
58
+ readonly REQUEST_START_INTERVAL_MS: 800;
59
+ /**
60
+ * Maximum admitted wait for ONE request-start slot before the bounded
61
+ * admission refuses it (delivery-uncertain, requeued durably). This is
62
+ * intentionally larger than the pacing interval: a postcondition read
63
+ * that verifies a just-written row shares the write limiter, and it must
64
+ * be allowed to wait a few intervals for the write slot instead of being
65
+ * refused by the read burst. The interval still spaces request STARTS
66
+ * (quota safety); this bound only caps how long a call queued behind a
67
+ * saturated limiter will wait before refusing rather than firing unpaced.
68
+ */
69
+ readonly REQUEST_START_MAX_ADMISSION_WAIT_MS: 5000;
58
70
  /**
59
71
  * The provider stops adding effects to one batchUpdate once the serialized
60
72
  * body would exceed this budget and returns `hasMore` for the suffix. The
@@ -63,11 +75,19 @@ export declare const GOOGLE_SHEETS_API_DEFAULTS: {
63
75
  */
64
76
  readonly MAX_BATCH_REQUEST_BYTES: number;
65
77
  /** Regular effect batch cap, matching the Apps Script MAX_EFFECTS boundary. */
66
- readonly MAX_EFFECTS_PER_REQUEST: 20;
78
+ readonly MAX_EFFECTS_PER_REQUEST: 300;
67
79
  /** Append row cap per request, matching the worker's bulk claim window. */
68
80
  readonly MAX_APPEND_ROWS_PER_REQUEST: 1000;
69
81
  };
70
82
  /** Hidden receipt tab shared with the Apps Script effect operations. */
83
+ /**
84
+ * Canonical Google API remote status that proves a range names a missing
85
+ * tab. The refresh's fixed receipt-tab range is only treated as still-absent
86
+ * when the API rejects it with this exact status; any other 400 (or a 400
87
+ * without a remote status) must fail closed instead of being read as proof
88
+ * the receipt tab is absent.
89
+ */
90
+ export declare const GOOGLE_SHEETS_API_MISSING_RANGE_REMOTE_CODE = "INVALID_ARGUMENT";
71
91
  export declare const GOOGLE_SHEETS_API_RECEIPT_SHEET_NAME = "__typed_sheets_internal_effect_receipts";
72
92
  /** Receipt columns written by both the Apps Script and direct providers. */
73
93
  export declare const GOOGLE_SHEETS_API_RECEIPT_HEADERS: readonly ["effectId", "payloadHash", "status", "visibleHash", "visibleRevision", "updatedAt"];
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/adapter/sheets/providers/google-sheets-api/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,4EAA4E;AAC5E,eAAO,MAAM,wBAAwB,2DAE3B,CAAC;AAEX,wEAAwE;AACxE,eAAO,MAAM,0BAA0B;IACrC,gFAAgF;;;;IAIhF;;;;;OAKG;;IAEH,2EAA2E;;IAE3E;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;;IAEH;;;;;OAKG;;IAEH,+EAA+E;;IAE/E,2EAA2E;;CAEnE,CAAC;AAEX,wEAAwE;AACxE,eAAO,MAAM,oCAAoC,4CACN,CAAC;AAE5C,4EAA4E;AAC5E,eAAO,MAAM,iCAAiC,+FAOpC,CAAC;AAEX;;;;;;;;GAQG;AACH,eAAO,MAAM,+BAA+B,sBAAsB,CAAC;AAEnE;;;;;;GAMG;AACH,eAAO,MAAM,qCAAqC,iBAAiB,CAAC;AAEpE;;;;GAIG;AACH,eAAO,MAAM,oCAAoC,6CACb,CAAC;AAErC;;;;GAIG;AACH,eAAO,MAAM,2CAA2C;;;CAG9C,CAAC;AAEX,qEAAqE;AACrE,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;CAanC,CAAC;AAEX,MAAM,MAAM,2BAA2B,GACrC,CAAC,OAAO,gCAAgC,CAAC,CAAC,MAAM,OAAO,gCAAgC,CAAC,CAAC;AAE3F,+EAA+E;AAC/E,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEhE"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/adapter/sheets/providers/google-sheets-api/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,4EAA4E;AAC5E,eAAO,MAAM,wBAAwB,2DAE3B,CAAC;AAEX,wEAAwE;AACxE,eAAO,MAAM,0BAA0B;IACrC,gFAAgF;;;;IAIhF;;;;;OAKG;;IAEH,2EAA2E;;IAE3E;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;;IAEH;;;;;;;;;OASG;;IAEH;;;;;OAKG;;IAEH,+EAA+E;;IAE/E,2EAA2E;;CAEnE,CAAC;AAEX,wEAAwE;AACxE;;;;;;GAMG;AACH,eAAO,MAAM,2CAA2C,qBAAqB,CAAC;AAE9E,eAAO,MAAM,oCAAoC,4CACN,CAAC;AAE5C,4EAA4E;AAC5E,eAAO,MAAM,iCAAiC,+FAOpC,CAAC;AAEX;;;;;;;;GAQG;AACH,eAAO,MAAM,+BAA+B,sBAAsB,CAAC;AAEnE;;;;;;GAMG;AACH,eAAO,MAAM,qCAAqC,iBAAiB,CAAC;AAEpE;;;;GAIG;AACH,eAAO,MAAM,oCAAoC,6CACb,CAAC;AAErC;;;;GAIG;AACH,eAAO,MAAM,2CAA2C;;;CAG9C,CAAC;AAEX,qEAAqE;AACrE,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;CAanC,CAAC;AAEX,MAAM,MAAM,2BAA2B,GACrC,CAAC,OAAO,gCAAgC,CAAC,CAAC,MAAM,OAAO,gCAAgC,CAAC,CAAC;AAE3F,+EAA+E;AAC/E,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEhE"}
@@ -32,15 +32,16 @@ export const GOOGLE_SHEETS_API_DEFAULTS = {
32
32
  /** Upper bound for read timeouts; reads must stay well under the lease. */
33
33
  MAX_READ_TIMEOUT_MS: 60_000,
34
34
  /**
35
- * Minimum interval between request starts of the WHOLE provider: reads and
36
- * writes share ONE request-start limiter, so at most one Sheets API
37
- * request can start per interval regardless of class. Google Sheets quota
38
- * is enforced per 100-second windows; the 2,500 ms default serializes
39
- * combined read+write starts to about 40 starts per 100 s, leaving
40
- * headroom inside the default per-user/per-project 100-second quotas for
41
- * the observation and provisioning reads that run beside the worker. The
42
- * exact quota stays provider and environment dependent, so operators can
43
- * override the interval through the internal sync env key
35
+ * Minimum interval between request starts of the WHOLE provider: reads
36
+ * and writes use independent request-start limiters, so reads serialize
37
+ * only against reads and writes only against writes, and a read and a
38
+ * write can start concurrently. Google Sheets quota is enforced per
39
+ * 100-second windows; the 2,500 ms default paces each class to about 40
40
+ * starts per 100 s, leaving headroom inside the default per-user/
41
+ * per-project 100-second quotas for the observation and provisioning
42
+ * reads that run beside the worker. The exact quota stays provider and
43
+ * environment dependent, so operators can override the interval through
44
+ * the internal sync env key
44
45
  * (HIKOUTEI_SYNC_RATE_LIMIT_INTERVAL_MS) or the internal provider option;
45
46
  * the safe default is intentionally conservative. The interval is part of
46
47
  * the effect-lease headroom contract: a worst-case dispatch (two
@@ -56,7 +57,18 @@ export const GOOGLE_SHEETS_API_DEFAULTS = {
56
57
  * requeues), so an arbitrarily long queue of concurrent lock-free polling
57
58
  * reads can never make a write wait past its lease.
58
59
  */
59
- REQUEST_START_INTERVAL_MS: 2_500,
60
+ REQUEST_START_INTERVAL_MS: 800,
61
+ /**
62
+ * Maximum admitted wait for ONE request-start slot before the bounded
63
+ * admission refuses it (delivery-uncertain, requeued durably). This is
64
+ * intentionally larger than the pacing interval: a postcondition read
65
+ * that verifies a just-written row shares the write limiter, and it must
66
+ * be allowed to wait a few intervals for the write slot instead of being
67
+ * refused by the read burst. The interval still spaces request STARTS
68
+ * (quota safety); this bound only caps how long a call queued behind a
69
+ * saturated limiter will wait before refusing rather than firing unpaced.
70
+ */
71
+ REQUEST_START_MAX_ADMISSION_WAIT_MS: 5_000,
60
72
  /**
61
73
  * The provider stops adding effects to one batchUpdate once the serialized
62
74
  * body would exceed this budget and returns `hasMore` for the suffix. The
@@ -65,11 +77,19 @@ export const GOOGLE_SHEETS_API_DEFAULTS = {
65
77
  */
66
78
  MAX_BATCH_REQUEST_BYTES: 2 * 1024 * 1024,
67
79
  /** Regular effect batch cap, matching the Apps Script MAX_EFFECTS boundary. */
68
- MAX_EFFECTS_PER_REQUEST: 20,
80
+ MAX_EFFECTS_PER_REQUEST: 300,
69
81
  /** Append row cap per request, matching the worker's bulk claim window. */
70
82
  MAX_APPEND_ROWS_PER_REQUEST: 1_000,
71
83
  };
72
84
  /** Hidden receipt tab shared with the Apps Script effect operations. */
85
+ /**
86
+ * Canonical Google API remote status that proves a range names a missing
87
+ * tab. The refresh's fixed receipt-tab range is only treated as still-absent
88
+ * when the API rejects it with this exact status; any other 400 (or a 400
89
+ * without a remote status) must fail closed instead of being read as proof
90
+ * the receipt tab is absent.
91
+ */
92
+ export const GOOGLE_SHEETS_API_MISSING_RANGE_REMOTE_CODE = "INVALID_ARGUMENT";
73
93
  export const GOOGLE_SHEETS_API_RECEIPT_SHEET_NAME = "__typed_sheets_internal_effect_receipts";
74
94
  /** Receipt columns written by both the Apps Script and direct providers. */
75
95
  export const GOOGLE_SHEETS_API_RECEIPT_HEADERS = [
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../src/adapter/sheets/providers/google-sheets-api/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,4EAA4E;AAC5E,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,8CAA8C;CACtC,CAAC;AAEX,wEAAwE;AACxE,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,gFAAgF;IAChF,kBAAkB,EAAE,MAAM;IAC1B,sBAAsB,EAAE,KAAK;IAC7B,sBAAsB,EAAE,OAAO;IAC/B;;;;;OAKG;IACH,eAAe,EAAE,MAAM;IACvB,2EAA2E;IAC3E,mBAAmB,EAAE,MAAM;IAC3B;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,yBAAyB,EAAE,KAAK;IAChC;;;;;OAKG;IACH,uBAAuB,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI;IACxC,+EAA+E;IAC/E,uBAAuB,EAAE,EAAE;IAC3B,2EAA2E;IAC3E,2BAA2B,EAAE,KAAK;CAC1B,CAAC;AAEX,wEAAwE;AACxE,MAAM,CAAC,MAAM,oCAAoC,GAC/C,yCAAyC,CAAC;AAE5C,4EAA4E;AAC5E,MAAM,CAAC,MAAM,iCAAiC,GAAG;IAC/C,UAAU;IACV,aAAa;IACb,QAAQ;IACR,aAAa;IACb,iBAAiB;IACjB,WAAW;CACH,CAAC;AAEX;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,mBAAmB,CAAC;AAEnE;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,qCAAqC,GAAG,cAAc,CAAC;AAEpE;;;;GAIG;AACH,MAAM,CAAC,MAAM,oCAAoC,GAC/C,kCAAkC,CAAC;AAErC;;;;GAIG;AACH,MAAM,CAAC,MAAM,2CAA2C,GAAG;IACzD,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,oCAAoC;CACrC,CAAC;AAEX,qEAAqE;AACrE,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC9C,uCAAuC,EAAE,yCAAyC;IAClF,sBAAsB,EAAE,wBAAwB;IAChD,6BAA6B,EAAE,+BAA+B;IAC9D,yBAAyB,EAAE,2BAA2B;IACtD,qBAAqB,EAAE,uBAAuB;IAC9C,sCAAsC,EAAE,wCAAwC;IAChF,sBAAsB,EAAE,wBAAwB;IAChD,wBAAwB,EAAE,0BAA0B;IACpD,qBAAqB,EAAE,uBAAuB;IAC9C,sBAAsB,EAAE,wBAAwB;IAChD,2BAA2B,EAAE,6BAA6B;IAC1D,wBAAwB,EAAE,0BAA0B;CAC5C,CAAC;AAKX,+EAA+E;AAC/E,MAAM,UAAU,qBAAqB,CAAC,UAAkB;IACtD,OAAO,GAAG,UAAU,oBAAoB,CAAC;AAC3C,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../src/adapter/sheets/providers/google-sheets-api/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,4EAA4E;AAC5E,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,8CAA8C;CACtC,CAAC;AAEX,wEAAwE;AACxE,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,gFAAgF;IAChF,kBAAkB,EAAE,MAAM;IAC1B,sBAAsB,EAAE,KAAK;IAC7B,sBAAsB,EAAE,OAAO;IAC/B;;;;;OAKG;IACH,eAAe,EAAE,MAAM;IACvB,2EAA2E;IAC3E,mBAAmB,EAAE,MAAM;IAC3B;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,yBAAyB,EAAE,GAAG;IAC9B;;;;;;;;;OASG;IACH,mCAAmC,EAAE,KAAK;IAC1C;;;;;OAKG;IACH,uBAAuB,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI;IACxC,+EAA+E;IAC/E,uBAAuB,EAAE,GAAG;IAC5B,2EAA2E;IAC3E,2BAA2B,EAAE,KAAK;CAC1B,CAAC;AAEX,wEAAwE;AACxE;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,2CAA2C,GAAG,kBAAkB,CAAC;AAE9E,MAAM,CAAC,MAAM,oCAAoC,GAC/C,yCAAyC,CAAC;AAE5C,4EAA4E;AAC5E,MAAM,CAAC,MAAM,iCAAiC,GAAG;IAC/C,UAAU;IACV,aAAa;IACb,QAAQ;IACR,aAAa;IACb,iBAAiB;IACjB,WAAW;CACH,CAAC;AAEX;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,mBAAmB,CAAC;AAEnE;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,qCAAqC,GAAG,cAAc,CAAC;AAEpE;;;;GAIG;AACH,MAAM,CAAC,MAAM,oCAAoC,GAC/C,kCAAkC,CAAC;AAErC;;;;GAIG;AACH,MAAM,CAAC,MAAM,2CAA2C,GAAG;IACzD,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,oCAAoC;CACrC,CAAC;AAEX,qEAAqE;AACrE,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC9C,uCAAuC,EAAE,yCAAyC;IAClF,sBAAsB,EAAE,wBAAwB;IAChD,6BAA6B,EAAE,+BAA+B;IAC9D,yBAAyB,EAAE,2BAA2B;IACtD,qBAAqB,EAAE,uBAAuB;IAC9C,sCAAsC,EAAE,wCAAwC;IAChF,sBAAsB,EAAE,wBAAwB;IAChD,wBAAwB,EAAE,0BAA0B;IACpD,qBAAqB,EAAE,uBAAuB;IAC9C,sBAAsB,EAAE,wBAAwB;IAChD,2BAA2B,EAAE,6BAA6B;IAC1D,wBAAwB,EAAE,0BAA0B;CAC5C,CAAC;AAKX,+EAA+E;AAC/E,MAAM,UAAU,qBAAqB,CAAC,UAAkB;IACtD,OAAO,GAAG,UAAU,oBAAoB,CAAC;AAC3C,CAAC"}