hikoutei 0.4.3 → 0.4.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/README.ja.md +155 -103
  2. package/README.ko.md +151 -107
  3. package/README.md +112 -80
  4. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmMappedObservation.d.ts +2 -2
  5. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmMappedObservation.js +2 -2
  6. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPolling.js +1 -0
  7. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPolling.js.map +1 -1
  8. package/dist/api/Hikoutei.d.ts +56 -10
  9. package/dist/api/Hikoutei.d.ts.map +1 -1
  10. package/dist/api/Hikoutei.js +84 -13
  11. package/dist/api/Hikoutei.js.map +1 -1
  12. package/dist/api/entity.d.ts +17 -1
  13. package/dist/api/entity.d.ts.map +1 -1
  14. package/dist/api/entity.js +34 -2
  15. package/dist/api/entity.js.map +1 -1
  16. package/dist/api/errors.d.ts +24 -0
  17. package/dist/api/errors.d.ts.map +1 -1
  18. package/dist/api/errors.js +24 -0
  19. package/dist/api/errors.js.map +1 -1
  20. package/dist/application/orm/api/contracts.d.ts +1 -1
  21. package/dist/application/orm/api/contracts.d.ts.map +1 -1
  22. package/dist/application/orm/persistence/flush/flushCoordinator.d.ts.map +1 -1
  23. package/dist/application/orm/persistence/flush/flushCoordinator.js +2 -0
  24. package/dist/application/orm/persistence/flush/flushCoordinator.js.map +1 -1
  25. package/dist/application/sync/inbound/autoSystemConflictResolution.d.ts.map +1 -1
  26. package/dist/application/sync/inbound/autoSystemConflictResolution.js +3 -0
  27. package/dist/application/sync/inbound/autoSystemConflictResolution.js.map +1 -1
  28. package/dist/application/sync/service/SyncServiceBootstrap.d.ts.map +1 -1
  29. package/dist/application/sync/service/SyncServiceBootstrap.js +85 -3
  30. package/dist/application/sync/service/SyncServiceBootstrap.js.map +1 -1
  31. package/dist/application/sync/service/syncAutoStart.d.ts +127 -0
  32. package/dist/application/sync/service/syncAutoStart.d.ts.map +1 -0
  33. package/dist/application/sync/service/syncAutoStart.js +280 -0
  34. package/dist/application/sync/service/syncAutoStart.js.map +1 -0
  35. package/dist/application/sync/sheets/conflictProjectionRegistration.d.ts.map +1 -1
  36. package/dist/application/sync/sheets/conflictProjectionRegistration.js +1 -0
  37. package/dist/application/sync/sheets/conflictProjectionRegistration.js.map +1 -1
  38. package/dist/infrastructure/storage/index.d.ts +2 -2
  39. package/dist/infrastructure/storage/index.d.ts.map +1 -1
  40. package/dist/infrastructure/storage/index.js +1 -1
  41. package/dist/infrastructure/storage/index.js.map +1 -1
  42. package/dist/infrastructure/storage/state/mapped/mappedPersistenceContext.d.ts.map +1 -1
  43. package/dist/infrastructure/storage/state/mapped/mappedPersistenceContext.js +1 -0
  44. package/dist/infrastructure/storage/state/mapped/mappedPersistenceContext.js.map +1 -1
  45. package/package.json +1 -1
package/README.md CHANGED
@@ -4,11 +4,16 @@
4
4
 
5
5
  # Hikoutei
6
6
 
7
- **Typed repository and safe write layer for Google Sheets-backed MVPs.**
7
+ **Keep your app fast with SQLite. Keep your workflow visible in Google Sheets.**
8
8
 
9
- <a href="https://www.npmjs.com/package/hikoutei">npm package</a> ·
10
- <a href="https://github.com/ManddarinShop/Hikoutei/issues">Issues</a> ·
11
- <a href="docs/quick-start.md">Quick start</a>
9
+ A typed repository and safe write layer for Google Sheets-backed MVPs: your
10
+ application reads and writes local SQLite through typed entities, and committed
11
+ changes are asynchronously projected to Google Sheets for human review and
12
+ lightweight collaboration.
13
+
14
+ <a href="https://www.npmjs.com/package/hikoutei">npm</a> ·
15
+ <a href="docs/quick-start.md">Quick start</a> ·
16
+ <a href="https://github.com/ManddarinShop/Hikoutei/issues">Issues</a>
12
17
 
13
18
  [![npm version](https://img.shields.io/npm/v/hikoutei?style=flat-square)](https://www.npmjs.com/package/hikoutei)
14
19
  [![license](https://img.shields.io/npm/l/hikoutei?style=flat-square)](LICENSE)
@@ -16,44 +21,23 @@
16
21
 
17
22
  </div>
18
23
 
19
- Hikoutei helps TypeScript and Node.js applications use Google Sheets as a
20
- human-friendly part of an MVP or internal workflow. Your application works
21
- with typed entities and local SQLite; changes can be delivered to Google
22
- Sheets asynchronously through a service-account Google Sheets provider.
23
-
24
- Hikoutei is intentionally focused. It is not a general-purpose database
25
- replacement, a Prisma/JPA clone, or a general Google Sheets API wrapper.
24
+ ## What is Hikoutei?
26
25
 
27
- ## Why Hikoutei?
26
+ Hikoutei gives TypeScript applications a typed entity API backed by local
27
+ SQLite, then asynchronously synchronizes committed changes to Google Sheets.
28
28
 
29
- - Entity-oriented lifecycle: create, find, mutate, persist, remove, and flush.
30
- - Typed scalar entity fields with runtime validation at the local boundary.
31
- - Internal projection mappings with runtime validation for Sheet data.
32
- - Local SQLite reads for application workflows that should not wait on a remote
33
- spreadsheet request.
34
- - Asynchronous Google Sheets views for human review and lightweight
35
- collaboration.
36
- - Protection against common spreadsheet problems such as unexpected schema
37
- changes and accidentally overwriting newer changes.
38
-
39
- ## Installation
40
-
41
- The project and npm package are both called `hikoutei`.
42
-
43
- ```sh
44
- npm install hikoutei @mikro-orm/core @mikro-orm/sql
45
- ```
29
+ Your application does not wait on Google Sheets for normal reads and writes.
30
+ Sheets remains available for inspection, operations, and lightweight human
31
+ collaboration.
46
32
 
47
- The root API does not expose MikroORM types. The current built-in provider uses
48
- those optional peer dependencies internally; a future provider can replace it
49
- without changing the entity lifecycle API.
33
+ > Hikoutei is not a raw Sheets API wrapper, not a replacement for PostgreSQL,
34
+ > and it does not treat Google Sheets as the authoritative application
35
+ > database. SQLite is the source of truth; Sheets is the human-facing view.
50
36
 
51
37
  ## Quick start
52
38
 
53
39
  Define a scalar entity and use the local SQLite authority through a
54
- request-local manager. Sheet routes, provider credentials, provisioning, and
55
- polling belong to the internal service bootstrap rather than the application
56
- API.
40
+ request-local manager.
57
41
 
58
42
  ```ts
59
43
  import { createTypedSheets, defineTypedSheetsEntity } from "hikoutei";
@@ -81,11 +65,20 @@ user.name = "Ada Lovelace";
81
65
  await em.flush();
82
66
  ```
83
67
 
84
- `createTypedSheets()` opens the local entity tables only. The internal sync
85
- service separately registers mappings, provisions remote tabs, starts the
86
- outbound worker, and polls User_Input. In service mode, `flush()` commits the
87
- entity, canonical sync state, and durable Sheet outbox locally; remote delivery
88
- remains asynchronous.
68
+ **What happens to the Sheet?** The write commits to local SQLite immediately —
69
+ the application request never waits on Google. When the sync service is
70
+ enabled, Hikoutei later projects the entity to the registered Google Sheet in
71
+ the background. Human edits made in the sheet are observed, validated, and
72
+ either accepted back into SQLite or recorded as conflicts, never silently
73
+ overwritten.
74
+
75
+ ## Why Hikoutei?
76
+
77
+ - Define typed entities instead of manually converting Sheet rows.
78
+ - Read and write through local SQLite without waiting for Google Sheets.
79
+ - Synchronize committed changes to Sheets in the background.
80
+ - Detect unexpected column changes and duplicate headers.
81
+ - Avoid overwriting newer Sheet edits during conflicting updates.
89
82
 
90
83
  ## When to use Hikoutei
91
84
 
@@ -108,56 +101,88 @@ Use a conventional database and direct Google APIs when you need:
108
101
  - Immediate read-after-write consistency in Google Sheets.
109
102
  - Google Sheets to be the primary database for the application.
110
103
 
104
+ ## Is Hikoutei the right abstraction for you?
105
+
106
+ Hikoutei does not replace `google-spreadsheet` or `@googleapis/sheets` — it
107
+ sits one level above them. If you only need raw spreadsheet access, use the API
108
+ client directly.
109
+
110
+ | Capability | Hikoutei | google-spreadsheet | @googleapis/sheets |
111
+ | --- | :-: | :-: | :-: |
112
+ | Typed entity model | ✅ | ❌ | ❌ |
113
+ | Fast local application reads | ✅ | ❌ | ❌ |
114
+ | Async projection to Sheets | ✅ | ❌ | ❌ |
115
+ | Durable write retry and deduplication | ✅ | ❌ | ❌ |
116
+ | Conflict-aware Sheet updates | ✅ | ❌ | ❌ |
117
+ | Direct row and cell manipulation | Limited | ✅ | ✅ |
118
+ | Full Google Sheets API access | Provider only | Partial | ✅ |
119
+
111
120
  ## Google Sheets setup
112
121
 
113
122
  Google Sheets synchronization is a service-side concern. Applications do not
114
- import a provider client, pass Sheet routes to `createTypedSheets()`, call
115
- `setupSheets()`, or choose an operation for each write.
123
+ import a provider client, pass Sheet routes to `createTypedSheets()`, or choose
124
+ an operation for each write. The sync runtime uses one Google Sheets API
125
+ provider (the internal `googleSheetsApi` bootstrap option) with a service
126
+ account — no Apps Script deployment.
127
+
128
+ ### Env-driven sync auto-start
129
+
130
+ Set the spreadsheet URL in the environment and `createTypedSheets()` starts
131
+ the Sheets sync internally — `flush()` then flows to Google Sheets through
132
+ the outbox worker with no per-call setup:
133
+
134
+ ```sh
135
+ HIKOUTEI_SYNC_SPREADSHEET_URL=https://docs.google.com/spreadsheets/d/<ID>/edit
136
+ GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/service-account.json
137
+ ```
138
+
139
+ ```ts
140
+ const hikoutei = await createTypedSheets({ dbName: "./hikoutei.sqlite", entities: [User] });
141
+ ```
142
+
143
+ Without `HIKOUTEI_SYNC_SPREADSHEET_URL`, `createTypedSheets()` stays
144
+ local-only (SQLite). Startup failures are diagnosed with clear messages:
145
+ invalid URL, missing/invalid credentials file, or a service account not
146
+ shared on the spreadsheet (the error tells you which email to share).
116
147
 
117
148
  ### Service-account provider (googleSheetsApi)
118
149
 
119
- The sync runtime uses one Google Sheets API provider (the internal
120
- `googleSheetsApi` bootstrap option) with a service account — no Apps Script
121
- deployment. The provider provisions the registered tabs, writes outbound
122
- effects (fast append, guarded update/delete, receipts, response-loss
123
- recovery), reads table values, assigns row anchors, and observes human edits:
124
-
125
- 1. Create a Google Cloud service account with the
126
- `https://www.googleapis.com/auth/spreadsheets` scope and share the target
127
- spreadsheet with its email as an Editor: the provider creates tabs, writes
128
- effect rows and receipt records, and manages row anchors, so Viewer access
129
- is not enough. Enable the Google Sheets API for the Cloud project.
130
- 2. Keep the service-account key file path in
131
- `GOOGLE_APPLICATION_CREDENTIALS` on the server, and the spreadsheet ID in
132
- an untracked secret store. Never put the key in browser code or Git.
133
- 3. Start the internal sync bootstrap with `googleSheetsApi` configured. It
150
+ 1. **Create a service account.** Enable the Google Sheets API in a Cloud
151
+ project, create a service account with the
152
+ `https://www.googleapis.com/auth/spreadsheets` scope, and share the target
153
+ spreadsheet with its email as an **Editor**. The provider creates tabs,
154
+ writes effect rows and receipt records, and manages row anchors, so Viewer
155
+ access is not enough.
156
+ 2. **Keep the key server-side.** Put the service-account key path in
157
+ `GOOGLE_APPLICATION_CREDENTIALS` on the server and the spreadsheet ID in an
158
+ untracked secret store. Never put the key in browser code or Git.
159
+ 3. **Start the internal sync bootstrap** with `googleSheetsApi` configured. It
134
160
  creates and verifies headers on the registered tabs, then starts outbox
135
161
  delivery and User_Input polling.
136
162
 
137
- Sheet consistency does not come from cross-request Sheet transactions; it
138
- comes from the hidden effect-receipt tab, effect-id/payload-hash dedupe, the
139
- SQLite durable outbox, fencing, field-level compare-and-set evidence, and
140
- postcondition recovery. The provider never logs credentials, spreadsheet IDs,
141
- URLs, or payloads; it spaces request starts at 1,100 ms per class (reads and
142
- writes separately) to stay inside Google's quota windows, and it keeps the
143
- same SQLite-authoritative model: `flush()` commits locally, delivery is
144
- asynchronous, and every write is receipted and recovered through the same
145
- effect worker.
146
-
147
- The tracked live scenario runs through this provider. The 10,000-row append
148
- and update/delete live evidence recorded in
149
- [docs/sync-bulk-write-benchmark.md](docs/sync-bulk-write-benchmark.md) uses
150
- the same REST path; the raw-transport experiments under `scripts/bench/`
151
- measure the unguarded API path (no receipts, no compare-and-set), so treat
152
- any throughput number as unverified until it is measured through the full
153
- worker. Live Google calls are opt-in; fake providers and SQLite fixtures are
154
- the normal verification path.
155
-
156
- The previous Apps Script gateway and the `appsScript`/`googleApiWorker`
157
- options were removed; the service-account provider above is the only sync
158
- path. The detailed setup and troubleshooting steps are in the
163
+ Hikoutei uses a durable local outbox, idempotent delivery, and conflict-aware
164
+ updates so temporary API failures do not lose committed application writes. The
165
+ provider never logs credentials, spreadsheet IDs, URLs, or payloads, and it
166
+ spaces request starts to stay inside Google's quota windows. See the
167
+ [internal consistency model](docs/internal-consistency-model.md) for the
168
+ detailed state machine and recovery rules.
169
+
170
+ Live Google calls are opt-in; fake providers and SQLite fixtures are the normal
171
+ verification path. The detailed setup and troubleshooting steps are in the
159
172
  [Quick start](docs/quick-start.md).
160
173
 
174
+ ## Installation
175
+
176
+ The project and npm package are both called `hikoutei`. The built-in SQLite
177
+ provider currently requires MikroORM:
178
+
179
+ ```sh
180
+ npm install hikoutei @mikro-orm/core @mikro-orm/sql
181
+ ```
182
+
183
+ MikroORM is an implementation detail and does not appear in Hikoutei's public
184
+ entity API.
185
+
161
186
  ## Documentation
162
187
 
163
188
  - [Quick start](docs/quick-start.md) — installation, ORM lifecycle, and service-side sync setup.
@@ -165,6 +190,8 @@ path. The detailed setup and troubleshooting steps are in the
165
190
  fit together.
166
191
  - [Write and synchronization flow](docs/write-and-synchronization-flow.md) —
167
192
  asynchronous delivery and recovery behavior.
193
+ - [Internal consistency model](docs/internal-consistency-model.md) — durable
194
+ outbox, idempotent delivery, and conflict-aware updates.
168
195
  - [Development](docs/development.md) — local development and test commands.
169
196
  - [Benchmark notes](docs/sync-bulk-write-benchmark.md) — dated measurements
170
197
  and their limitations.
@@ -177,12 +204,17 @@ path. The detailed setup and troubleshooting steps are in the
177
204
  - Schema changes, manual edits, and conflicting updates still need an
178
205
  operational policy from the application.
179
206
 
207
+ ## Project status
208
+
209
+ Hikoutei is in active development. The entity API is usable, while Sheet edit
210
+ ingestion and conflict presentation are still evolving. Review release notes
211
+ before upgrading minor versions.
212
+
180
213
  ## Roadmap
181
214
 
182
215
  - Complete ingestion of intentional user edits from Google Sheets.
183
216
  - Improve update/delete conflict handling and presentation.
184
217
  - Add setup tooling for registry and direct provider deployment.
185
- - Stabilize the public package release.
186
218
 
187
219
  See the [open issues](https://github.com/ManddarinShop/Hikoutei/issues)
188
220
  for current work.
@@ -2,7 +2,7 @@
2
2
  * MikroORM bridge for applying accepted Sheet observations to mapped entities.
3
3
  *
4
4
  * It deliberately uses MikroORM's native write methods rather than the public
5
- * Unit of Work(작업 단위). The observation has already created its canonical and
5
+ * Unit of Work. The observation has already created its canonical and
6
6
  * outbox records, and replaying `onFlush` here would incorrectly schedule a
7
7
  * second outbound Sheets projection.
8
8
  */
@@ -21,7 +21,7 @@ export interface PersistMappedObservedRowOptions {
21
21
  * Persists a normalized observation and the matching MikroORM entity mutation
22
22
  * in one SQLite transaction.
23
23
  *
24
- * Only a `persisted`(저장 완료) observation with a present canonical commit can
24
+ * Only a `persisted` observation with a present canonical commit can
25
25
  * change the entity table. Duplicate, quarantined, stale, fenced-out, and
26
26
  * conflict-only observations leave application entities untouched.
27
27
  */
@@ -2,7 +2,7 @@
2
2
  * MikroORM bridge for applying accepted Sheet observations to mapped entities.
3
3
  *
4
4
  * It deliberately uses MikroORM's native write methods rather than the public
5
- * Unit of Work(작업 단위). The observation has already created its canonical and
5
+ * Unit of Work. The observation has already created its canonical and
6
6
  * outbox records, and replaying `onFlush` here would incorrectly schedule a
7
7
  * second outbound Sheets projection.
8
8
  */
@@ -17,7 +17,7 @@ import { autoResolveMappedConflictsWithSql, } from "../../../../../application/s
17
17
  * Persists a normalized observation and the matching MikroORM entity mutation
18
18
  * in one SQLite transaction.
19
19
  *
20
- * Only a `persisted`(저장 완료) observation with a present canonical commit can
20
+ * Only a `persisted` observation with a present canonical commit can
21
21
  * change the entity table. Duplicate, quarantined, stale, fenced-out, and
22
22
  * conflict-only observations leave application entities untouched.
23
23
  */
@@ -224,6 +224,7 @@ async function retryDeferredConflicts(options, mappings, observedInputs = []) {
224
224
  }
225
225
  async function claimMappedInboundWriterLease(storage, writer) {
226
226
  const now = writer.now();
227
+ // Mapped-role claim; mirror this site in expireRuntimeWriterLeases (SyncServiceBootstrap).
227
228
  const claim = await claimWriterLeaseWithAdapter(storage, {
228
229
  role: writer.role,
229
230
  writerId: writer.writerId,
@@ -1 +1 @@
1
- {"version":3,"file":"MikroOrmUserInputPolling.js","sourceRoot":"","sources":["../../../../../../src/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPolling.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MikroOrmUserInputPolling.js","sourceRoot":"","sources":["../../../../../../src/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPolling.ts"],"names":[],"mappings":"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"}
@@ -2,19 +2,30 @@
2
2
  * Public SQLite-authoritative Hikoutei runtime and the `createTypedSheets()` factory.
3
3
  *
4
4
  * This module intentionally knows nothing about Sheet routes or provider
5
- * provisioning. The internal sync service builds a mapped runtime separately
6
- * and can reuse the internal construction hook below without expanding the
7
- * application-facing contract.
5
+ * provisioning. When `HIKOUTEI_SYNC_SPREADSHEET_URL` is set, the factory
6
+ * delegates to the internal sync auto-start bridge, which builds a mapped
7
+ * runtime and provisions the bound spreadsheet separately; the application-
8
+ * facing contract stays unchanged either way.
8
9
  */
9
10
  import type { ScalarEntityPersistenceProvider } from "../adapter/persistence/contracts/scalar.js";
10
11
  import type { EntityManager } from "./EntityManager.js";
11
12
  import { HikouteiEntity, type ResolvedHikouteiEntityDescriptor } from "./entity.js";
12
13
  /** Options for opening the local Hikoutei runtime. */
13
14
  export interface CreateTypedSheetsOptions {
14
- /** SQLite database path, URI, or `:memory:`. */
15
- readonly dbName: string;
16
- /** Entity tokens produced by `defineTypedSheetsEntity()`. */
17
- readonly entities: readonly HikouteiEntity[];
15
+ /**
16
+ * SQLite database path, URI, or `:memory:`.
17
+ *
18
+ * Defaults to the `HIKOUTEI_DB_PATH` environment variable when it is set to
19
+ * a non-empty value, otherwise `./hikoutei.sqlite`.
20
+ */
21
+ readonly dbName?: string;
22
+ /**
23
+ * Entity tokens produced by `defineTypedSheetsEntity()`.
24
+ *
25
+ * Defaults to the entities registered by `defineTypedSheetsEntity()` at the
26
+ * time of the call, in registration order.
27
+ */
28
+ readonly entities?: readonly HikouteiEntity[];
18
29
  }
19
30
  /**
20
31
  * Root object for the local entity runtime.
@@ -32,11 +43,46 @@ export interface Hikoutei {
32
43
  * without adding worker methods to the public `Hikoutei` contract.
33
44
  */
34
45
  export declare function createInternalHikoutei(provider: ScalarEntityPersistenceProvider, descriptors: ReadonlyMap<string, ResolvedHikouteiEntityDescriptor>, beforeClose?: () => Promise<void>): Hikoutei;
46
+ /**
47
+ * Resolves the default SQLite path for a factory call that omits `dbName`.
48
+ *
49
+ * Prefers the `HIKOUTEI_DB_PATH` environment variable when it is set to a
50
+ * non-empty string, otherwise falls back to `./hikoutei.sqlite`. The `env`
51
+ * parameter defaults to `process.env` and exists so tests can exercise the
52
+ * precedence without mutating the process environment.
53
+ */
54
+ export declare function resolveDefaultDbPath(env?: Readonly<Record<string, string | undefined>>): string;
55
+ /**
56
+ * Validates the public factory options before any runtime is constructed.
57
+ *
58
+ * Fields are optional; each one is validated only when it is provided. The
59
+ * registry/env defaults are applied afterwards by `createTypedSheets()`.
60
+ */
61
+ export declare function validateTypedSheetsOptions(options: CreateTypedSheetsOptions): void;
62
+ /**
63
+ * Opens the plain local-only SQLite runtime with no sync service.
64
+ *
65
+ * Internal construction hook shared by `createTypedSheets()` (env absent) and
66
+ * the sync auto-start bridge (env present but disabled). It deliberately loads
67
+ * the current provider lazily so importing the root package alone never
68
+ * requires MikroORM or the Google SDK module graph. Omitting `dbName` or
69
+ * `entities` here applies the same defaults as `createTypedSheets()`.
70
+ */
71
+ export declare function createLocalTypedSheetsRuntime(options: CreateTypedSheetsOptions): Promise<Hikoutei>;
35
72
  /**
36
73
  * Opens the local SQLite runtime for the declared scalar entities.
37
74
  *
38
- * This call validates entity descriptors and initializes the local provider. It
39
- * never contacts Google Sheets, creates projection tables, or starts a worker.
75
+ * When `dbName` is omitted the `HIKOUTEI_DB_PATH` environment variable or
76
+ * `./hikoutei.sqlite` is used; when `entities` is omitted the tokens registered
77
+ * by `defineTypedSheetsEntity()` are used, in registration order.
78
+ *
79
+ * When `HIKOUTEI_SYNC_SPREADSHEET_URL` is set, the internal sync auto-start
80
+ * bridge provisions the spreadsheet, validates the service-account
81
+ * credentials file, and starts the outbound worker and User_Input polling
82
+ * before returning. Startup failures are classified into stable
83
+ * `HikouteiError` codes and fail closed. Without that env var this call never
84
+ * contacts Google Sheets, creates projection tables, or starts a worker, and
85
+ * the local-only behavior is byte-identical to previous releases.
40
86
  */
41
- export declare function createTypedSheets(options: CreateTypedSheetsOptions): Promise<Hikoutei>;
87
+ export declare function createTypedSheets(options?: CreateTypedSheetsOptions): Promise<Hikoutei>;
42
88
  //# sourceMappingURL=Hikoutei.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Hikoutei.d.ts","sourceRoot":"","sources":["../../src/api/Hikoutei.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,4CAA4C,CAAC;AAClG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGxD,OAAO,EAEL,cAAc,EACd,KAAK,gCAAgC,EACtC,MAAM,aAAa,CAAC;AAErB,sDAAsD;AACtD,MAAM,WAAW,wBAAwB;IACvC,gDAAgD;IAChD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,6DAA6D;IAC7D,QAAQ,CAAC,QAAQ,EAAE,SAAS,cAAc,EAAE,CAAC;CAC9C;AAED;;;;;GAKG;AACH,MAAM,WAAW,QAAQ;IACvB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,EAAE,aAAa,CAAC;IAC3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AA2CD;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,+BAA+B,EACzC,WAAW,EAAE,WAAW,CAAC,MAAM,EAAE,gCAAgC,CAAC,EAClE,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAChC,QAAQ,CAEV;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,QAAQ,CAAC,CAoCnB"}
1
+ {"version":3,"file":"Hikoutei.d.ts","sourceRoot":"","sources":["../../src/api/Hikoutei.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,4CAA4C,CAAC;AAClG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGxD,OAAO,EAGL,cAAc,EACd,KAAK,gCAAgC,EACtC,MAAM,aAAa,CAAC;AAQrB,sDAAsD;AACtD,MAAM,WAAW,wBAAwB;IACvC;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;CAC/C;AAED;;;;;GAKG;AACH,MAAM,WAAW,QAAQ;IACvB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,EAAE,aAAa,CAAC;IAC3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AA2CD;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,+BAA+B,EACzC,WAAW,EAAE,WAAW,CAAC,MAAM,EAAE,gCAAgC,CAAC,EAClE,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAChC,QAAQ,CAEV;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAe,GAC9D,MAAM,CAMR;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,wBAAwB,GAAG,IAAI,CAmBlF;AAED;;;;;;;;GAQG;AACH,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,QAAQ,CAAC,CAmBnB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,QAAQ,CAAC,CA8BnB"}
@@ -2,13 +2,18 @@
2
2
  * Public SQLite-authoritative Hikoutei runtime and the `createTypedSheets()` factory.
3
3
  *
4
4
  * This module intentionally knows nothing about Sheet routes or provider
5
- * provisioning. The internal sync service builds a mapped runtime separately
6
- * and can reuse the internal construction hook below without expanding the
7
- * application-facing contract.
5
+ * provisioning. When `HIKOUTEI_SYNC_SPREADSHEET_URL` is set, the factory
6
+ * delegates to the internal sync auto-start bridge, which builds a mapped
7
+ * runtime and provisions the bound spreadsheet separately; the application-
8
+ * facing contract stays unchanged either way.
8
9
  */
9
10
  import { createEntityManager } from "./internalEntityManager.js";
10
11
  import { HIKOUTEI_ERROR_CODES, HikouteiError } from "./errors.js";
11
- import { getEntityDescriptor, HikouteiEntity, } from "./entity.js";
12
+ import { getEntityDescriptor, getRegisteredEntityTokens, HikouteiEntity, } from "./entity.js";
13
+ /** Environment variable that supplies the default SQLite path. */
14
+ const HIKOUTEI_DB_PATH_ENV = "HIKOUTEI_DB_PATH";
15
+ /** SQLite path used when neither `dbName` nor the env var is set. */
16
+ const DEFAULT_DB_PATH = "./hikoutei.sqlite";
12
17
  class HikouteiImpl {
13
18
  provider;
14
19
  beforeClose;
@@ -53,22 +58,50 @@ export function createInternalHikoutei(provider, descriptors, beforeClose) {
53
58
  return new HikouteiImpl(provider, descriptors, beforeClose);
54
59
  }
55
60
  /**
56
- * Opens the local SQLite runtime for the declared scalar entities.
61
+ * Resolves the default SQLite path for a factory call that omits `dbName`.
62
+ *
63
+ * Prefers the `HIKOUTEI_DB_PATH` environment variable when it is set to a
64
+ * non-empty string, otherwise falls back to `./hikoutei.sqlite`. The `env`
65
+ * parameter defaults to `process.env` and exists so tests can exercise the
66
+ * precedence without mutating the process environment.
67
+ */
68
+ export function resolveDefaultDbPath(env = process.env) {
69
+ const fromEnv = env[HIKOUTEI_DB_PATH_ENV];
70
+ if (typeof fromEnv === "string" && fromEnv.trim() !== "") {
71
+ return fromEnv.trim();
72
+ }
73
+ return DEFAULT_DB_PATH;
74
+ }
75
+ /**
76
+ * Validates the public factory options before any runtime is constructed.
57
77
  *
58
- * This call validates entity descriptors and initializes the local provider. It
59
- * never contacts Google Sheets, creates projection tables, or starts a worker.
78
+ * Fields are optional; each one is validated only when it is provided. The
79
+ * registry/env defaults are applied afterwards by `createTypedSheets()`.
60
80
  */
61
- export async function createTypedSheets(options) {
81
+ export function validateTypedSheetsOptions(options) {
62
82
  if (options === null || typeof options !== "object") {
63
83
  throw new HikouteiError(HIKOUTEI_ERROR_CODES.INVALID_ENTITY_DESCRIPTOR, "createTypedSheets() options must be an object.");
64
84
  }
65
- if (typeof options.dbName !== "string" || options.dbName.trim() === "") {
85
+ if (options.dbName !== undefined && (typeof options.dbName !== "string" || options.dbName.trim() === "")) {
66
86
  throw new HikouteiError(HIKOUTEI_ERROR_CODES.INVALID_ENTITY_DESCRIPTOR, "createTypedSheets() dbName must be a non-empty string.");
67
87
  }
68
- if (!Array.isArray(options.entities)) {
88
+ if (options.entities !== undefined && !Array.isArray(options.entities)) {
69
89
  throw new HikouteiError(HIKOUTEI_ERROR_CODES.INVALID_ENTITY_DESCRIPTOR, "createTypedSheets() entities must be an array.");
70
90
  }
71
- const descriptors = resolveRuntimeDescriptors(options.entities);
91
+ }
92
+ /**
93
+ * Opens the plain local-only SQLite runtime with no sync service.
94
+ *
95
+ * Internal construction hook shared by `createTypedSheets()` (env absent) and
96
+ * the sync auto-start bridge (env present but disabled). It deliberately loads
97
+ * the current provider lazily so importing the root package alone never
98
+ * requires MikroORM or the Google SDK module graph. Omitting `dbName` or
99
+ * `entities` here applies the same defaults as `createTypedSheets()`.
100
+ */
101
+ export async function createLocalTypedSheetsRuntime(options) {
102
+ const dbName = options.dbName ?? resolveDefaultDbPath();
103
+ const entities = options.entities ?? getRegisteredEntityTokens();
104
+ const descriptors = resolveRuntimeDescriptors(entities);
72
105
  // Load the current provider only when a runtime is opened. Importing the
73
106
  // root package alone must not require MikroORM or expose its module graph.
74
107
  const [engineModule, providerModule, runtimeModule] = await Promise.all([
@@ -76,15 +109,53 @@ export async function createTypedSheets(options) {
76
109
  import("../adapter/persistence/providers/mikro-orm/api/MikroOrmScalarPersistenceProvider.js"),
77
110
  import("../adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarEntityRuntime.js"),
78
111
  ]);
79
- const generated = runtimeModule.createMikroOrmScalarEntityRuntime(options.entities);
112
+ const generated = runtimeModule.createMikroOrmScalarEntityRuntime(entities);
80
113
  const orm = await engineModule.initializeTypedSheetsOrm({
81
- dbName: options.dbName,
114
+ dbName,
82
115
  entities: generated.entities,
83
116
  flushCoordinator: { onFlush: async () => undefined },
84
117
  });
85
118
  const provider = new providerModule.MikroOrmScalarPersistenceProvider(orm, generated.bindings);
86
119
  return createInternalHikoutei(provider, descriptors);
87
120
  }
121
+ /**
122
+ * Opens the local SQLite runtime for the declared scalar entities.
123
+ *
124
+ * When `dbName` is omitted the `HIKOUTEI_DB_PATH` environment variable or
125
+ * `./hikoutei.sqlite` is used; when `entities` is omitted the tokens registered
126
+ * by `defineTypedSheetsEntity()` are used, in registration order.
127
+ *
128
+ * When `HIKOUTEI_SYNC_SPREADSHEET_URL` is set, the internal sync auto-start
129
+ * bridge provisions the spreadsheet, validates the service-account
130
+ * credentials file, and starts the outbound worker and User_Input polling
131
+ * before returning. Startup failures are classified into stable
132
+ * `HikouteiError` codes and fail closed. Without that env var this call never
133
+ * contacts Google Sheets, creates projection tables, or starts a worker, and
134
+ * the local-only behavior is byte-identical to previous releases.
135
+ */
136
+ export async function createTypedSheets(options = {}) {
137
+ validateTypedSheetsOptions(options);
138
+ const dbName = options.dbName ?? resolveDefaultDbPath();
139
+ const entities = options.entities ?? getRegisteredEntityTokens();
140
+ if (options.entities === undefined && entities.length === 0) {
141
+ throw new HikouteiError(HIKOUTEI_ERROR_CODES.INVALID_ENTITY_DESCRIPTOR, "createTypedSheets() requires at least one entity; pass `entities` or call defineTypedSheetsEntity() before opening the runtime.");
142
+ }
143
+ const spreadsheetUrl = process.env.HIKOUTEI_SYNC_SPREADSHEET_URL;
144
+ if (spreadsheetUrl === undefined || spreadsheetUrl.trim() === "") {
145
+ // Env absent: the exact local-only path. The sync module graph (MikroORM
146
+ // and the Google SDK) is never imported here.
147
+ return createLocalTypedSheetsRuntime({ dbName, entities });
148
+ }
149
+ // Env present: delegate to the internal sync auto-start bridge. The dynamic
150
+ // import keeps the module graph out of the env-absent path.
151
+ const { createTypedSheetsWithSync } = await import("../application/sync/service/syncAutoStart.js");
152
+ const result = await createTypedSheetsWithSync({
153
+ dbName,
154
+ entities: [...entities],
155
+ env: process.env,
156
+ });
157
+ return result.hikoutei;
158
+ }
88
159
  /** Validates name/table uniqueness and indexes descriptors by entity name. */
89
160
  function resolveRuntimeDescriptors(entities) {
90
161
  const descriptors = new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"Hikoutei.js","sourceRoot":"","sources":["../../src/api/Hikoutei.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Hikoutei.js","sourceRoot":"","sources":["../../src/api/Hikoutei.ts"],"names":[],"mappings":"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"}