orez 0.2.27 → 0.2.30

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 (157) hide show
  1. package/dist/cf-do/worker.d.ts +3 -0
  2. package/dist/cf-do/worker.d.ts.map +1 -1
  3. package/dist/cf-do/worker.js +37 -15
  4. package/dist/cf-do/worker.js.map +1 -1
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +8 -0
  7. package/dist/index.js.map +1 -1
  8. package/package.json +3 -4
  9. package/src/admin/admin-data.test.ts +0 -348
  10. package/src/admin/http-proxy.ts +0 -252
  11. package/src/admin/log-store.ts +0 -192
  12. package/src/admin/server.ts +0 -471
  13. package/src/admin/ui.ts +0 -1322
  14. package/src/bench/proxy-throughput.bench.ts +0 -343
  15. package/src/bench/serial-mutations.bench.ts +0 -270
  16. package/src/browser.ts +0 -203
  17. package/src/cf-do/.wrangler/cache/cf.json +0 -1
  18. package/src/cf-do/.wrangler/state/v3/cache/miniflare-CacheObject/metadata.sqlite +0 -0
  19. package/src/cf-do/.wrangler/state/v3/cache/miniflare-CacheObject/metadata.sqlite-shm +0 -0
  20. package/src/cf-do/.wrangler/state/v3/cache/miniflare-CacheObject/metadata.sqlite-wal +0 -0
  21. package/src/cf-do/.wrangler/state/v3/do/zero-do-ZeroDO/0ffaabee41a60e04dd0eb7db3073f0a40139e6a97ccd26823967acb652b89a7b.sqlite +0 -0
  22. package/src/cf-do/.wrangler/state/v3/do/zero-do-ZeroDO/metadata.sqlite +0 -0
  23. package/src/cf-do/.wrangler/state/v3/do/zero-do-ZeroDO/metadata.sqlite-shm +0 -0
  24. package/src/cf-do/.wrangler/state/v3/do/zero-do-ZeroDO/metadata.sqlite-wal +0 -0
  25. package/src/cf-do/.wrangler/tmp/bundle-0z4CpE/middleware-insertion-facade.js +0 -11
  26. package/src/cf-do/.wrangler/tmp/bundle-0z4CpE/middleware-loader.entry.ts +0 -134
  27. package/src/cf-do/.wrangler/tmp/bundle-vYmw0E/middleware-insertion-facade.js +0 -11
  28. package/src/cf-do/.wrangler/tmp/bundle-vYmw0E/middleware-loader.entry.ts +0 -134
  29. package/src/cf-do/.wrangler/tmp/dev-cbILNo/worker.js +0 -1059
  30. package/src/cf-do/.wrangler/tmp/dev-cbILNo/worker.js.map +0 -8
  31. package/src/cf-do/.wrangler/tmp/dev-qbho19/worker.js +0 -1059
  32. package/src/cf-do/.wrangler/tmp/dev-qbho19/worker.js.map +0 -8
  33. package/src/cf-do/ARCHITECTURE.md +0 -93
  34. package/src/cf-do/CHAT_E2E.md +0 -213
  35. package/src/cf-do/watermark.test.ts +0 -103
  36. package/src/cf-do/watermark.ts +0 -118
  37. package/src/cf-do/worker.ts +0 -1041
  38. package/src/cf-do/wrangler.toml +0 -11
  39. package/src/cf-pglite/README.md +0 -19
  40. package/src/change-tracking.ts +0 -25
  41. package/src/child-process.test.ts +0 -147
  42. package/src/child-process.ts +0 -90
  43. package/src/cli-entry.ts +0 -72
  44. package/src/cli.test.ts +0 -40
  45. package/src/cli.ts +0 -1214
  46. package/src/config.ts +0 -150
  47. package/src/do-sql-tracking.test.ts +0 -19
  48. package/src/do-sql-tracking.ts +0 -19
  49. package/src/index.ts +0 -1215
  50. package/src/integration/integration.test.ts +0 -517
  51. package/src/integration/native-binary.guard.test.ts +0 -13
  52. package/src/integration/native-startup.test.ts +0 -44
  53. package/src/integration/replication-latency.test.ts +0 -428
  54. package/src/integration/restore-live-stress.test.ts +0 -433
  55. package/src/integration/restore-reset.test.ts +0 -400
  56. package/src/integration/restore.test.ts +0 -274
  57. package/src/integration/test-permissions.ts +0 -147
  58. package/src/load-config.ts +0 -46
  59. package/src/log.ts +0 -96
  60. package/src/mutex.ts +0 -47
  61. package/src/pg-proxy-browser.singledb.test.ts +0 -233
  62. package/src/pg-proxy-browser.ts +0 -2022
  63. package/src/pg-proxy-do-backend.test.ts +0 -3890
  64. package/src/pg-proxy-do-backend.ts +0 -7191
  65. package/src/pg-proxy.ts +0 -1087
  66. package/src/pg-sqlite-compiler/README.md +0 -53
  67. package/src/pg-sqlite-compiler/catalog/seed.ts +0 -524
  68. package/src/pg-sqlite-compiler/fixtures/pgsqlite/arithmetic.json +0 -307
  69. package/src/pg-sqlite-compiler/fixtures/pgsqlite/array.json +0 -377
  70. package/src/pg-sqlite-compiler/fixtures/pgsqlite/cast.json +0 -12
  71. package/src/pg-sqlite-compiler/fixtures/pgsqlite/catalog.json +0 -447
  72. package/src/pg-sqlite-compiler/fixtures/pgsqlite/create-table.json +0 -32
  73. package/src/pg-sqlite-compiler/fixtures/pgsqlite/datetime.json +0 -397
  74. package/src/pg-sqlite-compiler/fixtures/pgsqlite/enum.json +0 -337
  75. package/src/pg-sqlite-compiler/fixtures/pgsqlite/insert.json +0 -337
  76. package/src/pg-sqlite-compiler/fixtures/pgsqlite/json.json +0 -537
  77. package/src/pg-sqlite-compiler/fixtures/pgsqlite/misc.json +0 -1837
  78. package/src/pg-sqlite-compiler/index.ts +0 -73
  79. package/src/pg-sqlite-compiler/integration.test.ts +0 -136
  80. package/src/pg-sqlite-compiler/passes/ast-utils.ts +0 -113
  81. package/src/pg-sqlite-compiler/passes/catalog.ts +0 -65
  82. package/src/pg-sqlite-compiler/passes/datetime.ts +0 -74
  83. package/src/pg-sqlite-compiler/passes/index.ts +0 -49
  84. package/src/pg-sqlite-compiler/passes/types.ts +0 -156
  85. package/src/pg-sqlite-compiler/smoke.test.ts +0 -69
  86. package/src/pg-sqlite-compiler/test/catalog.test.ts +0 -171
  87. package/src/pg-sqlite-compiler/test/corpus.test.ts +0 -161
  88. package/src/pg-sqlite-compiler/test/datetime.oracle.test.ts +0 -102
  89. package/src/pg-sqlite-compiler/test/oracle.ts +0 -237
  90. package/src/pg-sqlite-compiler/test/types.test.ts +0 -109
  91. package/src/pg-sqlite-compiler/types.ts +0 -63
  92. package/src/pglite-ipc.test.ts +0 -116
  93. package/src/pglite-ipc.ts +0 -266
  94. package/src/pglite-manager.ts +0 -557
  95. package/src/pglite-web-proxy.test.ts +0 -57
  96. package/src/pglite-web-proxy.ts +0 -221
  97. package/src/pglite-web-worker.ts +0 -152
  98. package/src/pglite-worker-thread.ts +0 -253
  99. package/src/port.ts +0 -25
  100. package/src/process-title.ts +0 -9
  101. package/src/recovery.ts +0 -155
  102. package/src/replication/change-tracker.test.ts +0 -357
  103. package/src/replication/change-tracker.ts +0 -279
  104. package/src/replication/handler.test.ts +0 -511
  105. package/src/replication/handler.ts +0 -1190
  106. package/src/replication/pgoutput-encoder.test.ts +0 -697
  107. package/src/replication/pgoutput-encoder.ts +0 -373
  108. package/src/replication/tcp-replication.test.ts +0 -876
  109. package/src/replication/zero-compat.test.ts +0 -1150
  110. package/src/restore-stress.test.ts +0 -188
  111. package/src/s3-local.ts +0 -203
  112. package/src/shim/hooks.mjs +0 -120
  113. package/src/shim/register.mjs +0 -4
  114. package/src/sqlite-mode/apply-mode.ts +0 -224
  115. package/src/sqlite-mode/index.ts +0 -15
  116. package/src/sqlite-mode/native-binary.ts +0 -89
  117. package/src/sqlite-mode/package-resolve.ts +0 -17
  118. package/src/sqlite-mode/resolve-mode.ts +0 -80
  119. package/src/sqlite-mode/shim-template.ts +0 -159
  120. package/src/sqlite-mode/sqlite-mode.test.ts +0 -427
  121. package/src/sqlite-mode/types.ts +0 -30
  122. package/src/vite-plugin.ts +0 -67
  123. package/src/wasm-sqlite.test.ts +0 -537
  124. package/src/worker/browser-admin.ts +0 -52
  125. package/src/worker/browser-build-config.test.ts +0 -71
  126. package/src/worker/browser-build-config.ts +0 -109
  127. package/src/worker/browser-embed-admin.test.ts +0 -75
  128. package/src/worker/browser-embed.ts +0 -345
  129. package/src/worker/cf-patches.ts +0 -384
  130. package/src/worker/embed-integration.test.ts +0 -321
  131. package/src/worker/index.ts +0 -138
  132. package/src/worker/shims/fastify.test.ts +0 -255
  133. package/src/worker/shims/fastify.ts +0 -306
  134. package/src/worker/shims/http-service.test.ts +0 -355
  135. package/src/worker/shims/http-service.ts +0 -293
  136. package/src/worker/shims/node-stub.ts +0 -290
  137. package/src/worker/shims/oxfmt.ts +0 -3
  138. package/src/worker/shims/postgres-browser.ts +0 -59
  139. package/src/worker/shims/postgres-socket.test.ts +0 -576
  140. package/src/worker/shims/postgres-socket.ts +0 -310
  141. package/src/worker/shims/postgres.test.ts +0 -364
  142. package/src/worker/shims/postgres.ts +0 -1454
  143. package/src/worker/shims/sqlite-browser.test.ts +0 -233
  144. package/src/worker/shims/sqlite-browser.ts +0 -175
  145. package/src/worker/shims/sqlite.test.ts +0 -786
  146. package/src/worker/shims/sqlite.ts +0 -978
  147. package/src/worker/shims/stream-browser.ts +0 -15
  148. package/src/worker/shims/ws-browser.test.ts +0 -205
  149. package/src/worker/shims/ws-browser.ts +0 -248
  150. package/src/worker/shims/ws.test.ts +0 -288
  151. package/src/worker/shims/ws.ts +0 -467
  152. package/src/worker/shims/zero-process-env.ts +0 -11
  153. package/src/worker/types.ts +0 -75
  154. package/src/worker/worker-integration.test.ts +0 -223
  155. package/src/worker/worker.test.ts +0 -136
  156. package/src/worker/zero-cache-embed-cf.ts +0 -463
  157. package/src/worker/zero-cache-embed.ts +0 -277
package/src/config.ts DELETED
@@ -1,150 +0,0 @@
1
- import { availableParallelism } from 'node:os'
2
-
3
- import type { PGliteOptions } from '@electric-sql/pglite'
4
-
5
- export type LogLevel = 'error' | 'warn' | 'info' | 'debug'
6
-
7
- // lifecycle hooks - can be shell command string (CLI) or callback (programmatic)
8
- export type Hook = string | (() => void | Promise<void>)
9
-
10
- export interface ZeroLiteConfig {
11
- dataDir: string
12
- pgPort: number
13
- zeroPort: number
14
- adminPort: number
15
- pgUser: string
16
- pgPassword: string
17
- migrationsDir: string
18
- seedFile: string
19
- skipZeroCache: boolean
20
- disableWasmSqlite: boolean
21
- forceWasmSqlite: boolean
22
- useWorkerThreads: boolean
23
- singleDb: boolean
24
- readReplicas: number
25
- logLevel: LogLevel
26
- pgliteOptions: Partial<PGliteOptions>
27
- zeroPublications?: string
28
- zeroMutateUrl?: string
29
- zeroQueryUrl?: string
30
- // storage controls
31
- checkpointIntervalMs: number // WAL checkpoint interval (default: 5min)
32
- maxLogFileSize: number // log rotation threshold in bytes (default: 2MB)
33
- /** DO backend URL — replaces PGlite with Durable Object SQLite */
34
- doBackendUrl?: string
35
- disableDiskLogs: boolean // skip writing logs to disk (default: false)
36
- // lifecycle hooks
37
- onDbReady?: Hook // after db+proxy ready, before zero-cache
38
- onHealthy?: Hook // after all services ready
39
- }
40
-
41
- /**
42
- * user-facing config for orez.config.ts
43
- *
44
- * mirrors CLI flags in camelCase. all fields optional — defaults
45
- * match the CLI defaults.
46
- */
47
- export interface OrezConfig {
48
- /** data directory (default: ".orez") */
49
- dataDir?: string
50
- /** postgresql proxy port (default: 6434) */
51
- pgPort?: number
52
- /** zero-cache port (default: 5849) */
53
- zeroPort?: number
54
- /** admin dashboard port (default: 6477) */
55
- adminPort?: number
56
- /** s3 server port (default: 9200) */
57
- s3Port?: number
58
- /** postgresql user (default: "user") */
59
- pgUser?: string
60
- /** postgresql password (default: "password") */
61
- pgPassword?: string
62
- /** migrations directory */
63
- migrationsDir?: string
64
- /** alias for migrationsDir */
65
- migrations?: string
66
- /** seed file path */
67
- seedFile?: string
68
- /** alias for seedFile */
69
- seed?: string
70
- /** run pglite + proxy only, skip zero-cache */
71
- skipZeroCache?: boolean
72
- /** also start a local s3-compatible server */
73
- s3?: boolean
74
- /** disable admin dashboard */
75
- disableAdmin?: boolean
76
- /** force native @rocicorp/zero-sqlite3 */
77
- disableWasmSqlite?: boolean
78
- /** force wasm bedrock-sqlite even if native is available */
79
- forceWasmSqlite?: boolean
80
- /** run pglite in-process instead of worker threads */
81
- noWorkerThreads?: boolean
82
- /** use worker threads for pglite (default: true) — inverse of noWorkerThreads */
83
- useWorkerThreads?: boolean
84
- /** single pglite instance for all databases */
85
- singleDb?: boolean
86
- /** log level: error, warn, info, debug (default: "warn") */
87
- logLevel?: LogLevel
88
- /** command to run after db+proxy ready, before zero-cache */
89
- onDbReady?: Hook
90
- /** command to run once all services healthy */
91
- onHealthy?: Hook
92
- /** number of pglite read replicas for postgres (default: auto, 0 to disable) */
93
- readReplicas?: number
94
- /** pglite options */
95
- pgliteOptions?: Partial<PGliteOptions>
96
- /** ZERO_APP_PUBLICATIONS — comma-separated publication names */
97
- zeroPublications?: string
98
- /** ZERO_MUTATE_URL — push/mutate endpoint for zero-cache */
99
- zeroMutateUrl?: string
100
- /** ZERO_QUERY_URL — pull/query endpoint for zero-cache */
101
- zeroQueryUrl?: string
102
- /** WAL checkpoint interval in ms (default: 300000 = 5min, 0 to disable) */
103
- checkpointIntervalMs?: number
104
- /** max log file size in bytes before rotation (default: 2097152 = 2MB) */
105
- maxLogFileSize?: number
106
- /** disable writing logs to disk (default: false) */
107
- disableDiskLogs?: boolean
108
- /** DO backend URL — replaces PGlite with Durable Object SQLite */
109
- doBackendUrl?: string
110
- }
111
-
112
- /** type-safe helper for orez.config.ts */
113
- export function defineConfig(config: OrezConfig): OrezConfig {
114
- return config
115
- }
116
-
117
- export function getConfig(overrides: Partial<ZeroLiteConfig> = {}): ZeroLiteConfig {
118
- return {
119
- dataDir: overrides.dataDir || '.orez',
120
- pgPort: overrides.pgPort || 6434,
121
- zeroPort: overrides.zeroPort || 5849,
122
- adminPort: overrides.adminPort || 0,
123
- pgUser: overrides.pgUser || 'user',
124
- pgPassword: overrides.pgPassword || 'password',
125
- migrationsDir: overrides.migrationsDir || '',
126
- seedFile: overrides.seedFile || 'src/database/seed.sql',
127
- skipZeroCache: overrides.skipZeroCache || false,
128
- disableWasmSqlite: overrides.disableWasmSqlite ?? false,
129
- forceWasmSqlite: overrides.forceWasmSqlite ?? false,
130
- useWorkerThreads: overrides.useWorkerThreads ?? true,
131
- singleDb: overrides.singleDb ?? false,
132
- // singleDb shares one pglite instance for all databases — replicas make no sense
133
- readReplicas: overrides.readReplicas ?? 0,
134
- logLevel: overrides.logLevel || (process.env.OREZ_LOG_LEVEL as LogLevel) || 'warn',
135
- pgliteOptions: overrides.pgliteOptions || {},
136
- zeroPublications: overrides.zeroPublications,
137
- zeroMutateUrl: overrides.zeroMutateUrl,
138
- zeroQueryUrl: overrides.zeroQueryUrl,
139
- checkpointIntervalMs: overrides.checkpointIntervalMs ?? 5 * 60 * 1000,
140
- maxLogFileSize: overrides.maxLogFileSize ?? 2 * 1024 * 1024,
141
- disableDiskLogs: overrides.disableDiskLogs ?? false,
142
- doBackendUrl: overrides.doBackendUrl ?? process.env.DO_BACKEND_URL,
143
- onDbReady: overrides.onDbReady,
144
- onHealthy: overrides.onHealthy,
145
- }
146
- }
147
-
148
- export function getConnectionString(config: ZeroLiteConfig, dbName = 'postgres'): string {
149
- return `postgresql://${config.pgUser}:${config.pgPassword}@127.0.0.1:${config.pgPort}/${dbName}`
150
- }
@@ -1,19 +0,0 @@
1
- import { describe, expect, it } from 'vitest'
2
-
3
- import { trackedChangeRow } from './do-sql-tracking.js'
4
-
5
- describe('trackedChangeRow', () => {
6
- it('keeps only table columns and strips internal returning expressions', () => {
7
- expect(
8
- trackedChangeRow(
9
- {
10
- id: 't1',
11
- body: 'hello',
12
- __orez_returning_1: 'HELLO',
13
- extra: 'client-visible only',
14
- },
15
- { rowColumns: ['id', 'body'] }
16
- )
17
- ).toEqual({ id: 't1', body: 'hello' })
18
- })
19
- })
@@ -1,19 +0,0 @@
1
- export const RETURNING_INTERNAL_PREFIX = '__orez_returning_'
2
-
3
- export interface TrackedRowFilter {
4
- rowColumns?: string[]
5
- }
6
-
7
- export function trackedChangeRow(
8
- row: Record<string, unknown>,
9
- track: TrackedRowFilter
10
- ): Record<string, unknown> {
11
- const allowed = track.rowColumns ? new Set(track.rowColumns) : null
12
- const out: Record<string, unknown> = {}
13
- for (const [key, value] of Object.entries(row)) {
14
- if (key.startsWith(RETURNING_INTERNAL_PREFIX)) continue
15
- if (allowed && !allowed.has(key)) continue
16
- out[key] = value
17
- }
18
- return out
19
- }