hikoutei 0.5.2 → 0.5.4
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.
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmMappedTypedSheets.d.ts +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmMappedTypedSheets.d.ts.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarRuntime.js +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarRuntime.js.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPolling.d.ts +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPolling.d.ts.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPolling.js +2 -2
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPolling.js.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingFastPath.d.ts +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingFastPath.d.ts.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingFastPath.js +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingFastPath.js.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingInspection.d.ts +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingInspection.d.ts.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingInspection.js +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingInspection.js.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingPersistence.js +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingPersistence.js.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingSql.js +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingSql.js.map +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/GoogleSheetsApiSyncProvider.d.ts +2 -2
- package/dist/adapter/sheets/providers/google-sheets-api/GoogleSheetsApiSyncProvider.d.ts.map +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/GoogleSheetsApiSyncProvider.js +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/GoogleSheetsApiSyncProvider.js.map +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/constants.d.ts +26 -7
- package/dist/adapter/sheets/providers/google-sheets-api/constants.d.ts.map +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/constants.js +26 -7
- package/dist/adapter/sheets/providers/google-sheets-api/constants.js.map +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/errors.js +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/errors.js.map +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/model/batchBuilder.d.ts.map +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/model/batchBuilder.js +19 -13
- package/dist/adapter/sheets/providers/google-sheets-api/model/batchBuilder.js.map +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/model/observation.d.ts +17 -10
- package/dist/adapter/sheets/providers/google-sheets-api/model/observation.d.ts.map +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/model/observation.js +41 -15
- package/dist/adapter/sheets/providers/google-sheets-api/model/observation.js.map +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/model/planner.d.ts +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/model/planner.d.ts.map +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/model/planner.js +6 -2
- package/dist/adapter/sheets/providers/google-sheets-api/model/planner.js.map +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/model/plannerDeletion.d.ts +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/model/plannerDeletion.d.ts.map +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/model/plannerReceipt.d.ts +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/model/plannerReceipt.d.ts.map +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/model/plannerReceipt.js +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/model/plannerReceipt.js.map +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/model/plannerWorkingRow.d.ts +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/model/plannerWorkingRow.d.ts.map +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/model/plannerWorkingRow.js +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/model/plannerWorkingRow.js.map +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/model/postcondition.d.ts +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/model/postcondition.d.ts.map +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/model/postcondition.js +3 -1
- package/dist/adapter/sheets/providers/google-sheets-api/model/postcondition.js.map +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/model/preflight.d.ts +9 -6
- package/dist/adapter/sheets/providers/google-sheets-api/model/preflight.d.ts.map +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/model/preflight.js +8 -5
- package/dist/adapter/sheets/providers/google-sheets-api/model/preflight.js.map +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/model/preflightContext.d.ts +7 -7
- package/dist/adapter/sheets/providers/google-sheets-api/model/preflightContext.d.ts.map +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/model/preflightContext.js +10 -5
- package/dist/adapter/sheets/providers/google-sheets-api/model/preflightContext.js.map +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/model/preflightFields.d.ts +7 -7
- package/dist/adapter/sheets/providers/google-sheets-api/model/preflightFields.d.ts.map +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/model/preflightFields.js +7 -10
- package/dist/adapter/sheets/providers/google-sheets-api/model/preflightFields.js.map +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/model/preflightHeaders.d.ts +12 -3
- package/dist/adapter/sheets/providers/google-sheets-api/model/preflightHeaders.d.ts.map +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/model/preflightHeaders.js +41 -10
- package/dist/adapter/sheets/providers/google-sheets-api/model/preflightHeaders.js.map +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/model/preflightParsing.d.ts.map +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/model/preflightParsing.js +1 -39
- package/dist/adapter/sheets/providers/google-sheets-api/model/preflightParsing.js.map +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/model/preflightRows.d.ts +26 -11
- package/dist/adapter/sheets/providers/google-sheets-api/model/preflightRows.d.ts.map +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/model/preflightRows.js +77 -31
- package/dist/adapter/sheets/providers/google-sheets-api/model/preflightRows.js.map +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/model/tableRead.d.ts +6 -3
- package/dist/adapter/sheets/providers/google-sheets-api/model/tableRead.d.ts.map +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/model/tableRead.js +9 -4
- package/dist/adapter/sheets/providers/google-sheets-api/model/tableRead.js.map +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/operations/anchors.d.ts +13 -10
- package/dist/adapter/sheets/providers/google-sheets-api/operations/anchors.d.ts.map +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/operations/anchors.js +23 -15
- package/dist/adapter/sheets/providers/google-sheets-api/operations/anchors.js.map +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/operations/applyEffects.d.ts +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/operations/applyEffects.d.ts.map +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/operations/applyEffects.js +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/operations/applyEffects.js.map +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/operations/fastAppend.d.ts +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/operations/fastAppend.d.ts.map +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/operations/fastAppend.js +3 -3
- package/dist/adapter/sheets/providers/google-sheets-api/operations/fastAppend.js.map +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/operations/preflightOp.d.ts +2 -2
- package/dist/adapter/sheets/providers/google-sheets-api/operations/preflightOp.d.ts.map +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/operations/preflightOp.js +6 -3
- package/dist/adapter/sheets/providers/google-sheets-api/operations/preflightOp.js.map +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/operations/provisioning.d.ts +7 -5
- package/dist/adapter/sheets/providers/google-sheets-api/operations/provisioning.d.ts.map +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/operations/provisioning.js +61 -19
- package/dist/adapter/sheets/providers/google-sheets-api/operations/provisioning.js.map +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/operations/readRows.d.ts +2 -2
- package/dist/adapter/sheets/providers/google-sheets-api/operations/readRows.d.ts.map +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/operations/readRows.js +15 -8
- package/dist/adapter/sheets/providers/google-sheets-api/operations/readRows.js.map +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/operations/shared.d.ts +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/operations/shared.d.ts.map +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/operations/shared.js +2 -2
- package/dist/adapter/sheets/providers/google-sheets-api/operations/shared.js.map +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/transport/googleSheetsApiTransport.d.ts +0 -7
- package/dist/adapter/sheets/providers/google-sheets-api/transport/googleSheetsApiTransport.d.ts.map +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/transport/googleSheetsApiTransport.js +0 -21
- package/dist/adapter/sheets/providers/google-sheets-api/transport/googleSheetsApiTransport.js.map +1 -1
- package/dist/application/orm/mapping/contracts.d.ts +1 -1
- package/dist/application/orm/mapping/contracts.d.ts.map +1 -1
- package/dist/application/orm/mapping/definition.js +1 -1
- package/dist/application/orm/mapping/definition.js.map +1 -1
- package/dist/application/orm/mapping/projection.js +1 -1
- package/dist/application/orm/mapping/projection.js.map +1 -1
- package/dist/application/orm/persistence/flush/flushCoordinator.d.ts +1 -1
- package/dist/application/orm/persistence/flush/flushCoordinator.d.ts.map +1 -1
- package/dist/application/orm/persistence/projection/projectionEffects.js +2 -2
- package/dist/application/orm/persistence/projection/projectionEffects.js.map +1 -1
- package/dist/application/orm/persistence/support/contracts.d.ts +1 -1
- package/dist/application/orm/persistence/support/contracts.d.ts.map +1 -1
- package/dist/application/sync/inbound/autoSystemConflictResolution.js +3 -3
- package/dist/application/sync/inbound/autoSystemConflictResolution.js.map +1 -1
- package/dist/application/sync/inbound/polling/SimpleSheetPolling.d.ts +2 -2
- package/dist/application/sync/inbound/polling/SimpleSheetPolling.d.ts.map +1 -1
- package/dist/application/sync/outbound/SheetsEffectDispatcher.d.ts +1 -1
- package/dist/application/sync/outbound/SheetsEffectDispatcher.d.ts.map +1 -1
- package/dist/application/sync/outbound/SheetsEffectDispatcher.js +3 -3
- package/dist/application/sync/outbound/SheetsEffectDispatcher.js.map +1 -1
- package/dist/application/sync/outbound/projection/ProjectionEffectFactory.d.ts +2 -2
- package/dist/application/sync/outbound/projection/ProjectionEffectFactory.d.ts.map +1 -1
- package/dist/application/sync/outbound/projection/ProjectionEffectFactory.js +2 -2
- package/dist/application/sync/outbound/projection/ProjectionEffectFactory.js.map +1 -1
- package/dist/application/sync/outbound/reconciliation/ReconciliationScanner.d.ts +7 -3
- package/dist/application/sync/outbound/reconciliation/ReconciliationScanner.d.ts.map +1 -1
- package/dist/application/sync/outbound/reconciliation/ReconciliationScanner.js +12 -414
- package/dist/application/sync/outbound/reconciliation/ReconciliationScanner.js.map +1 -1
- package/dist/application/sync/outbound/reconciliation/diff.d.ts +35 -0
- package/dist/application/sync/outbound/reconciliation/diff.d.ts.map +1 -0
- package/dist/application/sync/outbound/reconciliation/diff.js +199 -0
- package/dist/application/sync/outbound/reconciliation/diff.js.map +1 -0
- package/dist/application/sync/outbound/reconciliation/repair.d.ts +30 -0
- package/dist/application/sync/outbound/reconciliation/repair.d.ts.map +1 -0
- package/dist/application/sync/outbound/reconciliation/repair.js +142 -0
- package/dist/application/sync/outbound/reconciliation/repair.js.map +1 -0
- package/dist/application/sync/outbound/reconciliation/shared.d.ts +69 -0
- package/dist/application/sync/outbound/reconciliation/shared.d.ts.map +1 -0
- package/dist/application/sync/outbound/reconciliation/shared.js +111 -0
- package/dist/application/sync/outbound/reconciliation/shared.js.map +1 -0
- package/dist/application/sync/service/SyncServiceBootstrap.d.ts +3 -3
- package/dist/application/sync/service/SyncServiceBootstrap.d.ts.map +1 -1
- package/dist/application/sync/service/SyncServiceBootstrap.js +3 -3
- package/dist/application/sync/service/SyncServiceBootstrap.js.map +1 -1
- package/dist/application/sync/service/syncAutoStart.d.ts +4 -3
- package/dist/application/sync/service/syncAutoStart.d.ts.map +1 -1
- package/dist/application/sync/service/syncAutoStart.js +8 -6
- package/dist/application/sync/service/syncAutoStart.js.map +1 -1
- package/dist/application/sync/sheetsContract/conflictProjection.d.ts.map +1 -0
- package/dist/application/sync/sheetsContract/conflictProjection.js.map +1 -0
- package/dist/application/sync/sheetsContract/conflictProjectionRegistration.d.ts.map +1 -0
- package/dist/application/sync/sheetsContract/conflictProjectionRegistration.js.map +1 -0
- package/dist/application/sync/sheetsContract/constants.d.ts.map +1 -0
- package/dist/application/sync/sheetsContract/constants.js.map +1 -0
- package/dist/application/sync/sheetsContract/errors.d.ts.map +1 -0
- package/dist/application/sync/sheetsContract/errors.js.map +1 -0
- package/dist/application/sync/sheetsContract/mutationCoordinator/CoordinatedSheetsProvider.d.ts.map +1 -0
- package/dist/application/sync/sheetsContract/mutationCoordinator/CoordinatedSheetsProvider.js.map +1 -0
- package/dist/application/sync/sheetsContract/mutationCoordinator/asyncMutex.d.ts.map +1 -0
- package/dist/application/sync/sheetsContract/mutationCoordinator/asyncMutex.js.map +1 -0
- package/dist/application/sync/sheetsContract/mutationCoordinator/laneTelemetry.d.ts.map +1 -0
- package/dist/application/sync/sheetsContract/mutationCoordinator/laneTelemetry.js.map +1 -0
- package/dist/application/sync/sheetsContract/sheetsProvisioning.d.ts.map +1 -0
- package/dist/application/sync/sheetsContract/sheetsProvisioning.js.map +1 -0
- package/dist/application/sync/sheetsContract/syncSheets.d.ts.map +1 -0
- package/dist/application/sync/sheetsContract/syncSheets.js.map +1 -0
- package/dist/application/sync/sheetsContract/transportOutcome.d.ts.map +1 -0
- package/dist/application/sync/sheetsContract/transportOutcome.js.map +1 -0
- package/dist/application/sync/sheetsContract/validation.d.ts.map +1 -0
- package/dist/application/sync/sheetsContract/validation.js.map +1 -0
- package/package.json +1 -1
- package/dist/application/sync/sheets/conflictProjection.d.ts.map +0 -1
- package/dist/application/sync/sheets/conflictProjection.js.map +0 -1
- package/dist/application/sync/sheets/conflictProjectionRegistration.d.ts.map +0 -1
- package/dist/application/sync/sheets/conflictProjectionRegistration.js.map +0 -1
- package/dist/application/sync/sheets/constants.d.ts.map +0 -1
- package/dist/application/sync/sheets/constants.js.map +0 -1
- package/dist/application/sync/sheets/errors.d.ts.map +0 -1
- package/dist/application/sync/sheets/errors.js.map +0 -1
- package/dist/application/sync/sheets/mutationCoordinator/CoordinatedSheetsProvider.d.ts.map +0 -1
- package/dist/application/sync/sheets/mutationCoordinator/CoordinatedSheetsProvider.js.map +0 -1
- package/dist/application/sync/sheets/mutationCoordinator/asyncMutex.d.ts.map +0 -1
- package/dist/application/sync/sheets/mutationCoordinator/asyncMutex.js.map +0 -1
- package/dist/application/sync/sheets/mutationCoordinator/laneTelemetry.d.ts.map +0 -1
- package/dist/application/sync/sheets/mutationCoordinator/laneTelemetry.js.map +0 -1
- package/dist/application/sync/sheets/sheetsProvisioning.d.ts.map +0 -1
- package/dist/application/sync/sheets/sheetsProvisioning.js.map +0 -1
- package/dist/application/sync/sheets/syncSheets.d.ts.map +0 -1
- package/dist/application/sync/sheets/syncSheets.js.map +0 -1
- package/dist/application/sync/sheets/transportOutcome.d.ts.map +0 -1
- package/dist/application/sync/sheets/transportOutcome.js.map +0 -1
- package/dist/application/sync/sheets/validation.d.ts.map +0 -1
- package/dist/application/sync/sheets/validation.js.map +0 -1
- /package/dist/application/sync/{sheets → sheetsContract}/conflictProjection.d.ts +0 -0
- /package/dist/application/sync/{sheets → sheetsContract}/conflictProjection.js +0 -0
- /package/dist/application/sync/{sheets → sheetsContract}/conflictProjectionRegistration.d.ts +0 -0
- /package/dist/application/sync/{sheets → sheetsContract}/conflictProjectionRegistration.js +0 -0
- /package/dist/application/sync/{sheets → sheetsContract}/constants.d.ts +0 -0
- /package/dist/application/sync/{sheets → sheetsContract}/constants.js +0 -0
- /package/dist/application/sync/{sheets → sheetsContract}/errors.d.ts +0 -0
- /package/dist/application/sync/{sheets → sheetsContract}/errors.js +0 -0
- /package/dist/application/sync/{sheets → sheetsContract}/mutationCoordinator/CoordinatedSheetsProvider.d.ts +0 -0
- /package/dist/application/sync/{sheets → sheetsContract}/mutationCoordinator/CoordinatedSheetsProvider.js +0 -0
- /package/dist/application/sync/{sheets → sheetsContract}/mutationCoordinator/asyncMutex.d.ts +0 -0
- /package/dist/application/sync/{sheets → sheetsContract}/mutationCoordinator/asyncMutex.js +0 -0
- /package/dist/application/sync/{sheets → sheetsContract}/mutationCoordinator/laneTelemetry.d.ts +0 -0
- /package/dist/application/sync/{sheets → sheetsContract}/mutationCoordinator/laneTelemetry.js +0 -0
- /package/dist/application/sync/{sheets → sheetsContract}/sheetsProvisioning.d.ts +0 -0
- /package/dist/application/sync/{sheets → sheetsContract}/sheetsProvisioning.js +0 -0
- /package/dist/application/sync/{sheets → sheetsContract}/syncSheets.d.ts +0 -0
- /package/dist/application/sync/{sheets → sheetsContract}/syncSheets.js +0 -0
- /package/dist/application/sync/{sheets → sheetsContract}/transportOutcome.d.ts +0 -0
- /package/dist/application/sync/{sheets → sheetsContract}/transportOutcome.js +0 -0
- /package/dist/application/sync/{sheets → sheetsContract}/validation.d.ts +0 -0
- /package/dist/application/sync/{sheets → sheetsContract}/validation.js +0 -0
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* restricted to the effect's fields, and `rejectionPlan` builds rejection
|
|
9
9
|
* plans with no mutation and no receipt.
|
|
10
10
|
*/
|
|
11
|
-
import { computeSyncVisibleHash } from "../../../../../application/sync/
|
|
11
|
+
import { computeSyncVisibleHash } from "../../../../../application/sync/sheetsContract/syncSheets.js";
|
|
12
12
|
import { EFFECT_KINDS } from "../../../../../domain/model/constants.js";
|
|
13
13
|
import { presentValue, absentValue } from "../../../../../shared/state/index.js";
|
|
14
14
|
import { GOOGLE_SHEETS_API_EFFECT_REASONS } from "../constants.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plannerWorkingRow.js","sourceRoot":"","sources":["../../../../../../src/adapter/sheets/providers/google-sheets-api/model/plannerWorkingRow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,sBAAsB,EAA6B,MAAM,
|
|
1
|
+
{"version":3,"file":"plannerWorkingRow.js","sourceRoot":"","sources":["../../../../../../src/adapter/sheets/providers/google-sheets-api/model/plannerWorkingRow.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* else is `unapplied`, `changed`, or `unavailable` so the worker redrives,
|
|
8
8
|
* fails, or keeps probing instead of closing the outbox on weak evidence.
|
|
9
9
|
*/
|
|
10
|
-
import type { SyncEffectPostcondition, SyncProjectionEffect } from "../../../../../application/sync/
|
|
10
|
+
import type { SyncEffectPostcondition, SyncProjectionEffect } from "../../../../../application/sync/sheetsContract/syncSheets.js";
|
|
11
11
|
import type { PreflightContext, PreflightReceipt } from "./preflight.js";
|
|
12
12
|
/**
|
|
13
13
|
* Classifies one effect's delivery state. `context` must come from the same
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postcondition.d.ts","sourceRoot":"","sources":["../../../../../../src/adapter/sheets/providers/google-sheets-api/model/postcondition.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"postcondition.d.ts","sourceRoot":"","sources":["../../../../../../src/adapter/sheets/providers/google-sheets-api/model/postcondition.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,8DAA8D,CAAC;AAGlI,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAUzE;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,oBAAoB,EAC5B,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAC9C,uBAAuB,CA+DzB"}
|
|
@@ -76,7 +76,9 @@ function findProbeRow(context, effect) {
|
|
|
76
76
|
const byIdentity = new Map();
|
|
77
77
|
for (const row of context.rows) {
|
|
78
78
|
const working = toWorkingRow(row);
|
|
79
|
-
|
|
79
|
+
// Mirrors indexRows: only the FIRST row per anchor value enters the
|
|
80
|
+
// index (duplicated anchors are evidence, never rewritten).
|
|
81
|
+
if (working.anchor.kind === PRESENCE_KINDS.PRESENT && !byAnchor.has(working.anchor.value)) {
|
|
80
82
|
byAnchor.set(working.anchor.value, working);
|
|
81
83
|
}
|
|
82
84
|
if (working.identity.kind === PRESENCE_KINDS.PRESENT) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postcondition.js","sourceRoot":"","sources":["../../../../../../src/adapter/sheets/providers/google-sheets-api/model/postcondition.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"postcondition.js","sourceRoot":"","sources":["../../../../../../src/adapter/sheets/providers/google-sheets-api/model/postcondition.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,11 +4,14 @@
|
|
|
4
4
|
*
|
|
5
5
|
* The provider first enumerates every tab (no ranges, so hidden sheets are
|
|
6
6
|
* returned), then reads the target grid (values, date formats, row-level
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
7
|
+
* anchors) and the hidden receipt tab through the narrow transport. Every
|
|
8
|
+
* untrusted SDK payload is validated with runtime guards and promoted into
|
|
9
|
+
* a typed context the planner can mutate. Any drift — header changes,
|
|
10
|
+
* duplicate identities, malformed receipts, invalid cells — fails closed
|
|
11
|
+
* before a single mutation request is built. Duplicated row anchors do not
|
|
12
|
+
* fail the preflight: the anchor index keeps the first row per value and
|
|
13
|
+
* duplicated rows fall back to identity lookup (the duplicate stays
|
|
14
|
+
* reported as observation evidence).
|
|
12
15
|
*
|
|
13
16
|
* The enumeration and the data read are separate functions so the provider
|
|
14
17
|
* can pace and report each transport request individually; the composite
|
|
@@ -27,7 +30,7 @@
|
|
|
27
30
|
* sheet/grid lookup) are intentionally not re-exported here.
|
|
28
31
|
*/
|
|
29
32
|
export { GOOGLE_SHEETS_API_PREFLIGHT_FIELDS, GOOGLE_SHEETS_API_ENUMERATION_FIELDS, GOOGLE_SHEETS_API_PROVISION_ENUMERATION_FIELDS, GOOGLE_SHEETS_API_PROVISION_FIELDS, GOOGLE_SHEETS_API_VALUES_FIELDS, GOOGLE_SHEETS_API_OBSERVATION_FIELDS, GOOGLE_SHEETS_API_LIGHTWEIGHT_OBSERVATION_FIELDS, } from "./preflightFields.js";
|
|
30
|
-
export type { ParsedMergedCell, PreflightReceipt, PreflightRow, PreflightContext, PreflightRouteOptions, ParsedSheet, ParsedGridData, ParsedRowData,
|
|
33
|
+
export type { ParsedMergedCell, PreflightReceipt, PreflightRow, PreflightContext, PreflightRouteOptions, ParsedSheet, ParsedGridData, ParsedRowData, ParsedCellNumberFormat, } from "./preflightContext.js";
|
|
31
34
|
export { enumerateSheetProperties, readPreflightContext, readPreflightData, readReceipts, } from "./preflightContext.js";
|
|
32
35
|
export { parseSpreadsheetDocument, parseSheetPropertiesDocument, } from "./preflightParsing.js";
|
|
33
36
|
export { requireGridDataByTitle, readAnchorIndex, gridRowCells, apiCellNumberFormat, } from "./preflightRows.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preflight.d.ts","sourceRoot":"","sources":["../../../../../../src/adapter/sheets/providers/google-sheets-api/model/preflight.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"preflight.d.ts","sourceRoot":"","sources":["../../../../../../src/adapter/sheets/providers/google-sheets-api/model/preflight.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,EACL,kCAAkC,EAClC,oCAAoC,EACpC,8CAA8C,EAC9C,kCAAkC,EAClC,+BAA+B,EAC/B,oCAAoC,EACpC,gDAAgD,GACjD,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,qBAAqB,EACrB,WAAW,EACX,cAAc,EACd,aAAa,EACb,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,iBAAiB,EACjB,YAAY,GACb,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,sBAAsB,EACtB,eAAe,EACf,YAAY,EACZ,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,qBAAqB,EACrB,eAAe,GAChB,MAAM,uBAAuB,CAAC"}
|
|
@@ -4,11 +4,14 @@
|
|
|
4
4
|
*
|
|
5
5
|
* The provider first enumerates every tab (no ranges, so hidden sheets are
|
|
6
6
|
* returned), then reads the target grid (values, date formats, row-level
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
7
|
+
* anchors) and the hidden receipt tab through the narrow transport. Every
|
|
8
|
+
* untrusted SDK payload is validated with runtime guards and promoted into
|
|
9
|
+
* a typed context the planner can mutate. Any drift — header changes,
|
|
10
|
+
* duplicate identities, malformed receipts, invalid cells — fails closed
|
|
11
|
+
* before a single mutation request is built. Duplicated row anchors do not
|
|
12
|
+
* fail the preflight: the anchor index keeps the first row per value and
|
|
13
|
+
* duplicated rows fall back to identity lookup (the duplicate stays
|
|
14
|
+
* reported as observation evidence).
|
|
12
15
|
*
|
|
13
16
|
* The enumeration and the data read are separate functions so the provider
|
|
14
17
|
* can pace and report each transport request individually; the composite
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preflight.js","sourceRoot":"","sources":["../../../../../../src/adapter/sheets/providers/google-sheets-api/model/preflight.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"preflight.js","sourceRoot":"","sources":["../../../../../../src/adapter/sheets/providers/google-sheets-api/model/preflight.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,EACL,kCAAkC,EAClC,oCAAoC,EACpC,8CAA8C,EAC9C,kCAAkC,EAClC,+BAA+B,EAC/B,oCAAoC,EACpC,gDAAgD,GACjD,MAAM,sBAAsB,CAAC;AAY9B,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,iBAAiB,EACjB,YAAY,GACb,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,sBAAsB,EACtB,eAAe,EACf,YAAY,EACZ,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,qBAAqB,EACrB,eAAe,GAChB,MAAM,uBAAuB,CAAC"}
|
|
@@ -49,6 +49,11 @@ export interface PreflightContext {
|
|
|
49
49
|
readonly nextAppendRow: number;
|
|
50
50
|
readonly identityField: Presence<string>;
|
|
51
51
|
readonly checkboxHeaders: readonly string[];
|
|
52
|
+
/**
|
|
53
|
+
* 1-based absolute column of the User_Input system row-id column; undefined
|
|
54
|
+
* for projections without one (system_state, sync_conflicts).
|
|
55
|
+
*/
|
|
56
|
+
readonly anchorColumn: number | undefined;
|
|
52
57
|
readonly receiptSheetId: Presence<number>;
|
|
53
58
|
/** Receipt tab last content row; 0 when the tab is absent. */
|
|
54
59
|
readonly receiptLastRow: number;
|
|
@@ -64,6 +69,8 @@ export interface PreflightRouteOptions {
|
|
|
64
69
|
readonly headers: readonly string[];
|
|
65
70
|
readonly identityField: Presence<string>;
|
|
66
71
|
readonly checkboxHeaders: readonly string[];
|
|
72
|
+
/** Registered projection kind; user_input routes carry the system row-id column. */
|
|
73
|
+
readonly projection: string;
|
|
67
74
|
}
|
|
68
75
|
export interface ParsedSheet {
|
|
69
76
|
readonly sheetId: number;
|
|
@@ -81,17 +88,10 @@ export interface ParsedGridData {
|
|
|
81
88
|
readonly startRow: number;
|
|
82
89
|
readonly startColumn: number;
|
|
83
90
|
readonly rowData: readonly ParsedRowData[];
|
|
84
|
-
readonly rowMetadata: readonly ParsedRowMetadata[];
|
|
85
91
|
}
|
|
86
92
|
export interface ParsedRowData {
|
|
87
93
|
readonly values: readonly unknown[];
|
|
88
94
|
}
|
|
89
|
-
export interface ParsedRowMetadata {
|
|
90
|
-
readonly developerMetadata: readonly {
|
|
91
|
-
readonly metadataKey: string;
|
|
92
|
-
readonly metadataValue: string;
|
|
93
|
-
}[];
|
|
94
|
-
}
|
|
95
95
|
/** One validated REST `CellFormat.numberFormat` object from an SDK cell. */
|
|
96
96
|
export interface ParsedCellNumberFormat {
|
|
97
97
|
readonly type: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preflightContext.d.ts","sourceRoot":"","sources":["../../../../../../src/adapter/sheets/providers/google-sheets-api/model/preflightContext.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"preflightContext.d.ts","sourceRoot":"","sources":["../../../../../../src/adapter/sheets/providers/google-sheets-api/model/preflightContext.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,12 +8,12 @@
|
|
|
8
8
|
* the typed context the planner can mutate.
|
|
9
9
|
*/
|
|
10
10
|
import { presentValue, absentValue } from "../../../../../shared/state/index.js";
|
|
11
|
-
import { GOOGLE_SHEETS_API_RECEIPT_HEADERS, GOOGLE_SHEETS_API_RECEIPT_SHEET_NAME, } from "../constants.js";
|
|
11
|
+
import { GOOGLE_SHEETS_API_RECEIPT_HEADERS, GOOGLE_SHEETS_API_RECEIPT_SHEET_NAME, GOOGLE_SHEETS_API_ROW_ID_HEADER, } from "../constants.js";
|
|
12
12
|
import { GOOGLE_SHEETS_API_ENUMERATION_FIELDS, GOOGLE_SHEETS_API_PREFLIGHT_FIELDS, } from "./preflightFields.js";
|
|
13
13
|
import { invalidProviderState } from "../errors.js";
|
|
14
14
|
import { columnLetters, parseRegisteredRange, quoteA1SheetName, } from "./valueNormalization.js";
|
|
15
15
|
import { apiNumberValue, apiStringValue, parseSheetPropertiesDocument, parseSpreadsheetDocument, } from "./preflightParsing.js";
|
|
16
|
-
import { findSheetByTitle, gridRowCells, indexRows, readRows, requireGridDataForSheet, requireSheetByTitle, } from "./preflightRows.js";
|
|
16
|
+
import { anchorColumnFor, findSheetByTitle, gridRowCells, indexRows, readRows, requireGridDataForSheet, requireSheetByTitle, } from "./preflightRows.js";
|
|
17
17
|
import { readRegisteredHeaders, validateCheckboxHeaders, } from "./preflightHeaders.js";
|
|
18
18
|
/**
|
|
19
19
|
* Enumerates every tab of the spreadsheet (no ranges, so hidden tabs are
|
|
@@ -66,12 +66,16 @@ export async function readPreflightData(transport, route, sheets, timeoutMs) {
|
|
|
66
66
|
const dataRaw = await transport.getSpreadsheet(dataRequest);
|
|
67
67
|
const dataDocument = parseSpreadsheetDocument(dataRaw, "grid data");
|
|
68
68
|
const targetData = requireGridDataForSheet(dataDocument, targetSheet.sheetId);
|
|
69
|
-
|
|
69
|
+
// user_input tabs carry the row anchor as the LAST column cell value; the
|
|
70
|
+
// system column is validated as part of the header row (fail-closed on
|
|
71
|
+
// legacy tabs provisioned without it).
|
|
72
|
+
const anchorColumn = anchorColumnFor(route.registeredRange, route.projection);
|
|
73
|
+
const headers = readRegisteredHeaders(targetData, parsedRange, route.headers, anchorColumn === undefined ? undefined : GOOGLE_SHEETS_API_ROW_ID_HEADER);
|
|
70
74
|
const positions = new Map();
|
|
71
75
|
headers.forEach((header, index) => positions.set(header, index));
|
|
72
76
|
const identityField = route.identityField;
|
|
73
|
-
const rows = readRows(targetData, parsedRange, headers, identityField);
|
|
74
|
-
const { byAnchor, byIdentity, nextAppendRow } = indexRows(rows
|
|
77
|
+
const rows = readRows(targetData, parsedRange, headers, identityField, anchorColumn);
|
|
78
|
+
const { byAnchor, byIdentity, nextAppendRow } = indexRows(rows);
|
|
75
79
|
const checkboxHeaders = validateCheckboxHeaders(route.checkboxHeaders, headers);
|
|
76
80
|
let receipts = new Map();
|
|
77
81
|
let receiptLastRow = 0;
|
|
@@ -95,6 +99,7 @@ export async function readPreflightData(transport, route, sheets, timeoutMs) {
|
|
|
95
99
|
nextAppendRow,
|
|
96
100
|
identityField,
|
|
97
101
|
checkboxHeaders,
|
|
102
|
+
anchorColumn,
|
|
98
103
|
receiptSheetId,
|
|
99
104
|
receiptLastRow,
|
|
100
105
|
receipts,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preflightContext.js","sourceRoot":"","sources":["../../../../../../src/adapter/sheets/providers/google-sheets-api/model/preflightContext.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,EACL,iCAAiC,EACjC,oCAAoC,
|
|
1
|
+
{"version":3,"file":"preflightContext.js","sourceRoot":"","sources":["../../../../../../src/adapter/sheets/providers/google-sheets-api/model/preflightContext.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,11 +4,12 @@
|
|
|
4
4
|
* Each mask selects exactly the response fields one read path needs; keeping
|
|
5
5
|
* the masks narrow bounds response size and parse cost. GridData has no
|
|
6
6
|
* `sheetId` of its own; the parent sheet's `sheets.properties.sheetId`
|
|
7
|
-
* identifies the grid
|
|
8
|
-
*
|
|
7
|
+
* identifies the grid. Row anchors are no longer developer metadata: they
|
|
8
|
+
* live as cell values in the User_Input tab's last system column, so no mask
|
|
9
|
+
* requests `rowMetadata.developerMetadata` anymore.
|
|
9
10
|
*/
|
|
10
11
|
/**
|
|
11
|
-
* Preflight field mask: sheet identity plus grid values
|
|
12
|
+
* Preflight field mask: sheet identity plus grid values and formats.
|
|
12
13
|
*/
|
|
13
14
|
export declare const GOOGLE_SHEETS_API_PREFLIGHT_FIELDS: string;
|
|
14
15
|
/**
|
|
@@ -45,13 +46,12 @@ export declare const GOOGLE_SHEETS_API_PROVISION_FIELDS: string;
|
|
|
45
46
|
*/
|
|
46
47
|
export declare const GOOGLE_SHEETS_API_VALUES_FIELDS: string;
|
|
47
48
|
/**
|
|
48
|
-
* Full observation mask: values, computed values, merged ranges
|
|
49
|
+
* Full observation mask: values, computed values, merged ranges.
|
|
49
50
|
*
|
|
50
51
|
* This is the metadata-preserving read used by snapshots and anchor
|
|
51
52
|
* assignment. Merged regions live on the SHEET object as `sheets.merges`
|
|
52
|
-
* (GridRange entries), NOT on GridData
|
|
53
|
-
*
|
|
54
|
-
* `metadataValue` names.
|
|
53
|
+
* (GridRange entries), NOT on GridData. Row anchors are cell values in the
|
|
54
|
+
* User_Input tab's last column, so they arrive with `rowData.values`.
|
|
55
55
|
*/
|
|
56
56
|
export declare const GOOGLE_SHEETS_API_OBSERVATION_FIELDS: string;
|
|
57
57
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preflightFields.d.ts","sourceRoot":"","sources":["../../../../../../src/adapter/sheets/providers/google-sheets-api/model/preflightFields.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"preflightFields.d.ts","sourceRoot":"","sources":["../../../../../../src/adapter/sheets/providers/google-sheets-api/model/preflightFields.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;GAEG;AACH,eAAO,MAAM,kCAAkC,QAIrC,CAAC;AAEX;;;;;;;GAOG;AACH,eAAO,MAAM,oCAAoC,4CACN,CAAC;AAE5C;;;;;;GAMG;AACH,eAAO,MAAM,8CAA8C,iFACqB,CAAC;AAEjF;;;;;GAKG;AACH,eAAO,MAAM,kCAAkC,QAIrC,CAAC;AAEX;;;;;;;GAOG;AACH,eAAO,MAAM,+BAA+B,QAKlC,CAAC;AAEX;;;;;;;GAOG;AACH,eAAO,MAAM,oCAAoC,QAMvC,CAAC;AAEX;;;;;;;;GAQG;AACH,eAAO,MAAM,gDAAgD,QAKnD,CAAC"}
|
|
@@ -4,16 +4,16 @@
|
|
|
4
4
|
* Each mask selects exactly the response fields one read path needs; keeping
|
|
5
5
|
* the masks narrow bounds response size and parse cost. GridData has no
|
|
6
6
|
* `sheetId` of its own; the parent sheet's `sheets.properties.sheetId`
|
|
7
|
-
* identifies the grid
|
|
8
|
-
*
|
|
7
|
+
* identifies the grid. Row anchors are no longer developer metadata: they
|
|
8
|
+
* live as cell values in the User_Input tab's last system column, so no mask
|
|
9
|
+
* requests `rowMetadata.developerMetadata` anymore.
|
|
9
10
|
*/
|
|
10
11
|
/**
|
|
11
|
-
* Preflight field mask: sheet identity plus grid values
|
|
12
|
+
* Preflight field mask: sheet identity plus grid values and formats.
|
|
12
13
|
*/
|
|
13
14
|
export const GOOGLE_SHEETS_API_PREFLIGHT_FIELDS = [
|
|
14
15
|
"sheets.properties(sheetId,title,hidden),",
|
|
15
16
|
"sheets.data(startRow,startColumn,",
|
|
16
|
-
"rowMetadata.developerMetadata(metadataId,metadataKey,metadataValue),",
|
|
17
17
|
"rowData.values(userEnteredValue,userEnteredFormat.numberFormat,effectiveFormat.numberFormat))",
|
|
18
18
|
].join("");
|
|
19
19
|
/**
|
|
@@ -59,19 +59,17 @@ export const GOOGLE_SHEETS_API_VALUES_FIELDS = [
|
|
|
59
59
|
"userEnteredFormat.numberFormat,effectiveFormat.numberFormat,dataValidation))",
|
|
60
60
|
].join("");
|
|
61
61
|
/**
|
|
62
|
-
* Full observation mask: values, computed values, merged ranges
|
|
62
|
+
* Full observation mask: values, computed values, merged ranges.
|
|
63
63
|
*
|
|
64
64
|
* This is the metadata-preserving read used by snapshots and anchor
|
|
65
65
|
* assignment. Merged regions live on the SHEET object as `sheets.merges`
|
|
66
|
-
* (GridRange entries), NOT on GridData
|
|
67
|
-
*
|
|
68
|
-
* `metadataValue` names.
|
|
66
|
+
* (GridRange entries), NOT on GridData. Row anchors are cell values in the
|
|
67
|
+
* User_Input tab's last column, so they arrive with `rowData.values`.
|
|
69
68
|
*/
|
|
70
69
|
export const GOOGLE_SHEETS_API_OBSERVATION_FIELDS = [
|
|
71
70
|
"sheets.properties(sheetId,title,hidden),",
|
|
72
71
|
"sheets.merges,",
|
|
73
72
|
"sheets.data(startRow,startColumn,",
|
|
74
|
-
"rowMetadata.developerMetadata(metadataId,metadataKey,metadataValue),",
|
|
75
73
|
"rowData.values(userEnteredValue,effectiveValue,formattedValue,",
|
|
76
74
|
"userEnteredFormat.numberFormat,effectiveFormat.numberFormat,dataValidation))",
|
|
77
75
|
].join("");
|
|
@@ -87,7 +85,6 @@ export const GOOGLE_SHEETS_API_OBSERVATION_FIELDS = [
|
|
|
87
85
|
export const GOOGLE_SHEETS_API_LIGHTWEIGHT_OBSERVATION_FIELDS = [
|
|
88
86
|
"sheets.properties(sheetId,title,hidden),",
|
|
89
87
|
"sheets.data(startRow,startColumn,",
|
|
90
|
-
"rowMetadata.developerMetadata(metadataId,metadataKey,metadataValue),",
|
|
91
88
|
"rowData.values(userEnteredValue,effectiveValue,formattedValue,",
|
|
92
89
|
"userEnteredFormat.numberFormat,effectiveFormat.numberFormat))",
|
|
93
90
|
].join("");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preflightFields.js","sourceRoot":"","sources":["../../../../../../src/adapter/sheets/providers/google-sheets-api/model/preflightFields.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"preflightFields.js","sourceRoot":"","sources":["../../../../../../src/adapter/sheets/providers/google-sheets-api/model/preflightFields.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG;IAChD,0CAA0C;IAC1C,mCAAmC;IACnC,+FAA+F;CAChG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAEX;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,oCAAoC,GAC/C,yCAAyC,CAAC;AAE5C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,8CAA8C,GACzD,8EAA8E,CAAC;AAEjF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG;IAChD,0CAA0C;IAC1C,mCAAmC;IACnC,+FAA+F;CAChG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAEX;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC7C,0CAA0C;IAC1C,mCAAmC;IACnC,gEAAgE;IAChE,8EAA8E;CAC/E,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAEX;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,oCAAoC,GAAG;IAClD,0CAA0C;IAC1C,gBAAgB;IAChB,mCAAmC;IACnC,gEAAgE;IAChE,8EAA8E;CAC/E,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAEX;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,gDAAgD,GAAG;IAC9D,0CAA0C;IAC1C,mCAAmC;IACnC,gEAAgE;IAChE,+DAA+D;CAChE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC"}
|
|
@@ -3,18 +3,27 @@
|
|
|
3
3
|
*
|
|
4
4
|
* The header row of the target tab must match the registered definition and
|
|
5
5
|
* layout exactly: every cell a non-empty string, no duplicates, exact order
|
|
6
|
-
* and width. Checkbox headers must be registered headers.
|
|
6
|
+
* and width. Checkbox headers must be registered headers. user_input tabs
|
|
7
|
+
* additionally carry the reserved `__hikoutei_row_id` system column as the
|
|
8
|
+
* LAST header: a user property with that name fails closed, and a tab
|
|
9
|
+
* provisioned without the system column (legacy format) fails closed with a
|
|
10
|
+
* re-provision message instead of being silently read or repaired.
|
|
7
11
|
*/
|
|
8
12
|
import type { ParsedGridData } from "./preflightContext.js";
|
|
13
|
+
/** Message used when a user_input tab lacks the system row-id column. */
|
|
14
|
+
export declare const SYSTEM_COLUMN_REPROVISION_MESSAGE = "user input tab is missing the __hikoutei_row_id system column; re-provision the route";
|
|
9
15
|
/**
|
|
10
16
|
* Validates the header row against the registered definition and layout:
|
|
11
17
|
* every cell must be a non-empty string, duplicates fail closed, and the
|
|
12
|
-
* row must match the expected headers exactly.
|
|
18
|
+
* row must match the expected headers exactly. When `systemColumnHeader` is
|
|
19
|
+
* provided the LAST column of the range must carry exactly that header
|
|
20
|
+
* (fail-closed on legacy tabs and on a user property named like the system
|
|
21
|
+
* column).
|
|
13
22
|
*/
|
|
14
23
|
export declare function readRegisteredHeaders(data: ParsedGridData, range: {
|
|
15
24
|
readonly startColumn: number;
|
|
16
25
|
readonly columnCount: number;
|
|
17
|
-
}, expectedHeaders: readonly string[]): readonly string[];
|
|
26
|
+
}, expectedHeaders: readonly string[], systemColumnHeader?: string): readonly string[];
|
|
18
27
|
/** Returns the header cells of one grid as raw API values (no validation). */
|
|
19
28
|
export declare function gridHeaderCells(data: ParsedGridData, range: {
|
|
20
29
|
readonly startColumn: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preflightHeaders.d.ts","sourceRoot":"","sources":["../../../../../../src/adapter/sheets/providers/google-sheets-api/model/preflightHeaders.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"preflightHeaders.d.ts","sourceRoot":"","sources":["../../../../../../src/adapter/sheets/providers/google-sheets-api/model/preflightHeaders.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,yEAAyE;AACzE,eAAO,MAAM,iCAAiC,0FAC4D,CAAC;AAE3G;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,cAAc,EACpB,KAAK,EAAE;IAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAAE,EACrE,eAAe,EAAE,SAAS,MAAM,EAAE,EAClC,kBAAkB,CAAC,EAAE,MAAM,GAC1B,SAAS,MAAM,EAAE,CA6CnB;AAED,8EAA8E;AAC9E,wBAAgB,eAAe,CAC7B,IAAI,EAAE,cAAc,EACpB,KAAK,EAAE;IAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GACpE,SAAS,OAAO,EAAE,CAEpB;AAED,wBAAgB,uBAAuB,CACrC,eAAe,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,EAC9C,OAAO,EAAE,SAAS,MAAM,EAAE,GACzB,SAAS,MAAM,EAAE,CASnB"}
|
|
@@ -3,36 +3,67 @@
|
|
|
3
3
|
*
|
|
4
4
|
* The header row of the target tab must match the registered definition and
|
|
5
5
|
* layout exactly: every cell a non-empty string, no duplicates, exact order
|
|
6
|
-
* and width. Checkbox headers must be registered headers.
|
|
6
|
+
* and width. Checkbox headers must be registered headers. user_input tabs
|
|
7
|
+
* additionally carry the reserved `__hikoutei_row_id` system column as the
|
|
8
|
+
* LAST header: a user property with that name fails closed, and a tab
|
|
9
|
+
* provisioned without the system column (legacy format) fails closed with a
|
|
10
|
+
* re-provision message instead of being silently read or repaired.
|
|
7
11
|
*/
|
|
12
|
+
import { GOOGLE_SHEETS_API_ROW_ID_HEADER } from "../constants.js";
|
|
8
13
|
import { invalidProviderState } from "../errors.js";
|
|
9
14
|
import { apiStringValue } from "./preflightParsing.js";
|
|
10
15
|
import { gridRowCells } from "./preflightRows.js";
|
|
16
|
+
/** Message used when a user_input tab lacks the system row-id column. */
|
|
17
|
+
export const SYSTEM_COLUMN_REPROVISION_MESSAGE = `user input tab is missing the ${GOOGLE_SHEETS_API_ROW_ID_HEADER} system column; re-provision the route`;
|
|
11
18
|
/**
|
|
12
19
|
* Validates the header row against the registered definition and layout:
|
|
13
20
|
* every cell must be a non-empty string, duplicates fail closed, and the
|
|
14
|
-
* row must match the expected headers exactly.
|
|
21
|
+
* row must match the expected headers exactly. When `systemColumnHeader` is
|
|
22
|
+
* provided the LAST column of the range must carry exactly that header
|
|
23
|
+
* (fail-closed on legacy tabs and on a user property named like the system
|
|
24
|
+
* column).
|
|
15
25
|
*/
|
|
16
|
-
export function readRegisteredHeaders(data, range, expectedHeaders) {
|
|
26
|
+
export function readRegisteredHeaders(data, range, expectedHeaders, systemColumnHeader) {
|
|
27
|
+
if (systemColumnHeader !== undefined &&
|
|
28
|
+
expectedHeaders.includes(systemColumnHeader)) {
|
|
29
|
+
invalidProviderState(`registered header ${systemColumnHeader} collides with the system row-id column`);
|
|
30
|
+
}
|
|
17
31
|
const headerValues = gridRowCells(data, 1, range.startColumn, range.columnCount);
|
|
18
|
-
const
|
|
32
|
+
const userFieldCount = expectedHeaders.length;
|
|
33
|
+
const actual = [];
|
|
34
|
+
for (let index = 0; index < headerValues.length; index += 1) {
|
|
35
|
+
const isSystemPosition = systemColumnHeader !== undefined &&
|
|
36
|
+
index === userFieldCount;
|
|
37
|
+
const value = headerValues[index];
|
|
19
38
|
if (value === null) {
|
|
39
|
+
if (isSystemPosition)
|
|
40
|
+
invalidProviderState(SYSTEM_COLUMN_REPROVISION_MESSAGE);
|
|
20
41
|
invalidProviderState(`registered header is missing at column ${index + 1}`);
|
|
21
42
|
}
|
|
22
43
|
const raw = apiStringValue(value);
|
|
23
44
|
if (typeof raw !== "string" || raw.trim() === "") {
|
|
45
|
+
if (isSystemPosition)
|
|
46
|
+
invalidProviderState(SYSTEM_COLUMN_REPROVISION_MESSAGE);
|
|
24
47
|
invalidProviderState(`registered header is invalid at column ${index + 1}`);
|
|
25
48
|
}
|
|
26
|
-
|
|
27
|
-
}
|
|
28
|
-
|
|
49
|
+
actual.push(raw);
|
|
50
|
+
}
|
|
51
|
+
const userHeaders = actual.slice(0, userFieldCount);
|
|
52
|
+
if (new Set(userHeaders).size !== userHeaders.length) {
|
|
29
53
|
invalidProviderState("registered headers contain a duplicate");
|
|
30
54
|
}
|
|
31
|
-
|
|
32
|
-
|
|
55
|
+
const expectedCount = userFieldCount + (systemColumnHeader === undefined ? 0 : 1);
|
|
56
|
+
if (actual.length !== expectedCount ||
|
|
57
|
+
userHeaders.some((header, index) => header !== expectedHeaders[index])) {
|
|
33
58
|
invalidProviderState("registered headers do not match the projected schema");
|
|
34
59
|
}
|
|
35
|
-
|
|
60
|
+
if (systemColumnHeader !== undefined) {
|
|
61
|
+
const systemHeader = actual[userFieldCount];
|
|
62
|
+
if (systemHeader !== systemColumnHeader) {
|
|
63
|
+
invalidProviderState(SYSTEM_COLUMN_REPROVISION_MESSAGE);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return userHeaders;
|
|
36
67
|
}
|
|
37
68
|
/** Returns the header cells of one grid as raw API values (no validation). */
|
|
38
69
|
export function gridHeaderCells(data, range) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preflightHeaders.js","sourceRoot":"","sources":["../../../../../../src/adapter/sheets/providers/google-sheets-api/model/preflightHeaders.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"preflightHeaders.js","sourceRoot":"","sources":["../../../../../../src/adapter/sheets/providers/google-sheets-api/model/preflightHeaders.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preflightParsing.d.ts","sourceRoot":"","sources":["../../../../../../src/adapter/sheets/providers/google-sheets-api/model/preflightParsing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"preflightParsing.d.ts","sourceRoot":"","sources":["../../../../../../src/adapter/sheets/providers/google-sheets-api/model/preflightParsing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAIV,WAAW,EACX,yBAAyB,EAC1B,MAAM,uBAAuB,CAAC;AAE/B,yEAAyE;AACzE,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,GACZ,yBAAyB,CA0B3B;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,GACZ,SAAS,WAAW,EAAE,CAWxB;AA2JD,0EAA0E;AAC1E,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAOjE;AAED,0EAA0E;AAC1E,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAOjE"}
|
|
@@ -115,8 +115,7 @@ function parseGridDataArray(value, sheetId, label, grids) {
|
|
|
115
115
|
const startRow = optionalNonNegativeInteger(data.startRow, `${label}[${index}].startRow`);
|
|
116
116
|
const startColumn = optionalNonNegativeInteger(data.startColumn, `${label}[${index}].startColumn`);
|
|
117
117
|
const rowData = parseRowData(data.rowData, `${label}[${index}].rowData`);
|
|
118
|
-
|
|
119
|
-
grids.set(sheetId, { startRow, startColumn, rowData, rowMetadata });
|
|
118
|
+
grids.set(sheetId, { startRow, startColumn, rowData });
|
|
120
119
|
});
|
|
121
120
|
}
|
|
122
121
|
/** Parses one sheet-level `merges` GridRange array with runtime guards. */
|
|
@@ -169,43 +168,6 @@ function parseRowData(value, label) {
|
|
|
169
168
|
return { values: row.values };
|
|
170
169
|
});
|
|
171
170
|
}
|
|
172
|
-
function parseRowMetadata(value, label) {
|
|
173
|
-
if (value === undefined)
|
|
174
|
-
return [];
|
|
175
|
-
if (!Array.isArray(value))
|
|
176
|
-
invalidProviderState(`${label} must be an array`);
|
|
177
|
-
return value.map((entry, index) => {
|
|
178
|
-
if (entry === null || typeof entry !== "object" || Array.isArray(entry)) {
|
|
179
|
-
invalidProviderState(`${label}[${index}] must be an object`);
|
|
180
|
-
}
|
|
181
|
-
const metadata = entry;
|
|
182
|
-
if (metadata.developerMetadata === undefined)
|
|
183
|
-
return { developerMetadata: [] };
|
|
184
|
-
if (!Array.isArray(metadata.developerMetadata)) {
|
|
185
|
-
invalidProviderState(`${label}[${index}].developerMetadata must be an array`);
|
|
186
|
-
}
|
|
187
|
-
return {
|
|
188
|
-
developerMetadata: metadata.developerMetadata.map((item, itemIndex) => {
|
|
189
|
-
if (item === null || typeof item !== "object" || Array.isArray(item)) {
|
|
190
|
-
invalidProviderState(`${label}[${index}].developerMetadata[${itemIndex}] must be an object`);
|
|
191
|
-
}
|
|
192
|
-
const itemRecord = item;
|
|
193
|
-
if (typeof itemRecord.metadataKey !== "string" ||
|
|
194
|
-
itemRecord.metadataKey.length === 0) {
|
|
195
|
-
invalidProviderState(`${label}[${index}].developerMetadata[${itemIndex}].metadataKey is invalid`);
|
|
196
|
-
}
|
|
197
|
-
if (itemRecord.metadataValue !== undefined &&
|
|
198
|
-
typeof itemRecord.metadataValue !== "string") {
|
|
199
|
-
invalidProviderState(`${label}[${index}].developerMetadata[${itemIndex}].metadataValue is invalid`);
|
|
200
|
-
}
|
|
201
|
-
return {
|
|
202
|
-
metadataKey: itemRecord.metadataKey,
|
|
203
|
-
metadataValue: itemRecord.metadataValue === undefined ? "" : itemRecord.metadataValue,
|
|
204
|
-
};
|
|
205
|
-
}),
|
|
206
|
-
};
|
|
207
|
-
});
|
|
208
|
-
}
|
|
209
171
|
function optionalNonNegativeInteger(value, label) {
|
|
210
172
|
if (value === undefined)
|
|
211
173
|
return 0;
|