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