orez 0.2.27 → 0.2.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (150) hide show
  1. package/package.json +3 -4
  2. package/src/admin/admin-data.test.ts +0 -348
  3. package/src/admin/http-proxy.ts +0 -252
  4. package/src/admin/log-store.ts +0 -192
  5. package/src/admin/server.ts +0 -471
  6. package/src/admin/ui.ts +0 -1322
  7. package/src/bench/proxy-throughput.bench.ts +0 -343
  8. package/src/bench/serial-mutations.bench.ts +0 -270
  9. package/src/browser.ts +0 -203
  10. package/src/cf-do/.wrangler/cache/cf.json +0 -1
  11. package/src/cf-do/.wrangler/state/v3/cache/miniflare-CacheObject/metadata.sqlite +0 -0
  12. package/src/cf-do/.wrangler/state/v3/cache/miniflare-CacheObject/metadata.sqlite-shm +0 -0
  13. package/src/cf-do/.wrangler/state/v3/cache/miniflare-CacheObject/metadata.sqlite-wal +0 -0
  14. package/src/cf-do/.wrangler/state/v3/do/zero-do-ZeroDO/0ffaabee41a60e04dd0eb7db3073f0a40139e6a97ccd26823967acb652b89a7b.sqlite +0 -0
  15. package/src/cf-do/.wrangler/state/v3/do/zero-do-ZeroDO/metadata.sqlite +0 -0
  16. package/src/cf-do/.wrangler/state/v3/do/zero-do-ZeroDO/metadata.sqlite-shm +0 -0
  17. package/src/cf-do/.wrangler/state/v3/do/zero-do-ZeroDO/metadata.sqlite-wal +0 -0
  18. package/src/cf-do/.wrangler/tmp/bundle-0z4CpE/middleware-insertion-facade.js +0 -11
  19. package/src/cf-do/.wrangler/tmp/bundle-0z4CpE/middleware-loader.entry.ts +0 -134
  20. package/src/cf-do/.wrangler/tmp/bundle-vYmw0E/middleware-insertion-facade.js +0 -11
  21. package/src/cf-do/.wrangler/tmp/bundle-vYmw0E/middleware-loader.entry.ts +0 -134
  22. package/src/cf-do/.wrangler/tmp/dev-cbILNo/worker.js +0 -1059
  23. package/src/cf-do/.wrangler/tmp/dev-cbILNo/worker.js.map +0 -8
  24. package/src/cf-do/.wrangler/tmp/dev-qbho19/worker.js +0 -1059
  25. package/src/cf-do/.wrangler/tmp/dev-qbho19/worker.js.map +0 -8
  26. package/src/cf-do/ARCHITECTURE.md +0 -93
  27. package/src/cf-do/CHAT_E2E.md +0 -213
  28. package/src/cf-do/watermark.test.ts +0 -103
  29. package/src/cf-do/watermark.ts +0 -118
  30. package/src/cf-do/worker.ts +0 -1041
  31. package/src/cf-do/wrangler.toml +0 -11
  32. package/src/cf-pglite/README.md +0 -19
  33. package/src/change-tracking.ts +0 -25
  34. package/src/child-process.test.ts +0 -147
  35. package/src/child-process.ts +0 -90
  36. package/src/cli-entry.ts +0 -72
  37. package/src/cli.test.ts +0 -40
  38. package/src/cli.ts +0 -1214
  39. package/src/config.ts +0 -150
  40. package/src/do-sql-tracking.test.ts +0 -19
  41. package/src/do-sql-tracking.ts +0 -19
  42. package/src/index.ts +0 -1215
  43. package/src/integration/integration.test.ts +0 -517
  44. package/src/integration/native-binary.guard.test.ts +0 -13
  45. package/src/integration/native-startup.test.ts +0 -44
  46. package/src/integration/replication-latency.test.ts +0 -428
  47. package/src/integration/restore-live-stress.test.ts +0 -433
  48. package/src/integration/restore-reset.test.ts +0 -400
  49. package/src/integration/restore.test.ts +0 -274
  50. package/src/integration/test-permissions.ts +0 -147
  51. package/src/load-config.ts +0 -46
  52. package/src/log.ts +0 -96
  53. package/src/mutex.ts +0 -47
  54. package/src/pg-proxy-browser.singledb.test.ts +0 -233
  55. package/src/pg-proxy-browser.ts +0 -2022
  56. package/src/pg-proxy-do-backend.test.ts +0 -3890
  57. package/src/pg-proxy-do-backend.ts +0 -7191
  58. package/src/pg-proxy.ts +0 -1087
  59. package/src/pg-sqlite-compiler/README.md +0 -53
  60. package/src/pg-sqlite-compiler/catalog/seed.ts +0 -524
  61. package/src/pg-sqlite-compiler/fixtures/pgsqlite/arithmetic.json +0 -307
  62. package/src/pg-sqlite-compiler/fixtures/pgsqlite/array.json +0 -377
  63. package/src/pg-sqlite-compiler/fixtures/pgsqlite/cast.json +0 -12
  64. package/src/pg-sqlite-compiler/fixtures/pgsqlite/catalog.json +0 -447
  65. package/src/pg-sqlite-compiler/fixtures/pgsqlite/create-table.json +0 -32
  66. package/src/pg-sqlite-compiler/fixtures/pgsqlite/datetime.json +0 -397
  67. package/src/pg-sqlite-compiler/fixtures/pgsqlite/enum.json +0 -337
  68. package/src/pg-sqlite-compiler/fixtures/pgsqlite/insert.json +0 -337
  69. package/src/pg-sqlite-compiler/fixtures/pgsqlite/json.json +0 -537
  70. package/src/pg-sqlite-compiler/fixtures/pgsqlite/misc.json +0 -1837
  71. package/src/pg-sqlite-compiler/index.ts +0 -73
  72. package/src/pg-sqlite-compiler/integration.test.ts +0 -136
  73. package/src/pg-sqlite-compiler/passes/ast-utils.ts +0 -113
  74. package/src/pg-sqlite-compiler/passes/catalog.ts +0 -65
  75. package/src/pg-sqlite-compiler/passes/datetime.ts +0 -74
  76. package/src/pg-sqlite-compiler/passes/index.ts +0 -49
  77. package/src/pg-sqlite-compiler/passes/types.ts +0 -156
  78. package/src/pg-sqlite-compiler/smoke.test.ts +0 -69
  79. package/src/pg-sqlite-compiler/test/catalog.test.ts +0 -171
  80. package/src/pg-sqlite-compiler/test/corpus.test.ts +0 -161
  81. package/src/pg-sqlite-compiler/test/datetime.oracle.test.ts +0 -102
  82. package/src/pg-sqlite-compiler/test/oracle.ts +0 -237
  83. package/src/pg-sqlite-compiler/test/types.test.ts +0 -109
  84. package/src/pg-sqlite-compiler/types.ts +0 -63
  85. package/src/pglite-ipc.test.ts +0 -116
  86. package/src/pglite-ipc.ts +0 -266
  87. package/src/pglite-manager.ts +0 -557
  88. package/src/pglite-web-proxy.test.ts +0 -57
  89. package/src/pglite-web-proxy.ts +0 -221
  90. package/src/pglite-web-worker.ts +0 -152
  91. package/src/pglite-worker-thread.ts +0 -253
  92. package/src/port.ts +0 -25
  93. package/src/process-title.ts +0 -9
  94. package/src/recovery.ts +0 -155
  95. package/src/replication/change-tracker.test.ts +0 -357
  96. package/src/replication/change-tracker.ts +0 -279
  97. package/src/replication/handler.test.ts +0 -511
  98. package/src/replication/handler.ts +0 -1190
  99. package/src/replication/pgoutput-encoder.test.ts +0 -697
  100. package/src/replication/pgoutput-encoder.ts +0 -373
  101. package/src/replication/tcp-replication.test.ts +0 -876
  102. package/src/replication/zero-compat.test.ts +0 -1150
  103. package/src/restore-stress.test.ts +0 -188
  104. package/src/s3-local.ts +0 -203
  105. package/src/shim/hooks.mjs +0 -120
  106. package/src/shim/register.mjs +0 -4
  107. package/src/sqlite-mode/apply-mode.ts +0 -224
  108. package/src/sqlite-mode/index.ts +0 -15
  109. package/src/sqlite-mode/native-binary.ts +0 -89
  110. package/src/sqlite-mode/package-resolve.ts +0 -17
  111. package/src/sqlite-mode/resolve-mode.ts +0 -80
  112. package/src/sqlite-mode/shim-template.ts +0 -159
  113. package/src/sqlite-mode/sqlite-mode.test.ts +0 -427
  114. package/src/sqlite-mode/types.ts +0 -30
  115. package/src/vite-plugin.ts +0 -67
  116. package/src/wasm-sqlite.test.ts +0 -537
  117. package/src/worker/browser-admin.ts +0 -52
  118. package/src/worker/browser-build-config.test.ts +0 -71
  119. package/src/worker/browser-build-config.ts +0 -109
  120. package/src/worker/browser-embed-admin.test.ts +0 -75
  121. package/src/worker/browser-embed.ts +0 -345
  122. package/src/worker/cf-patches.ts +0 -384
  123. package/src/worker/embed-integration.test.ts +0 -321
  124. package/src/worker/index.ts +0 -138
  125. package/src/worker/shims/fastify.test.ts +0 -255
  126. package/src/worker/shims/fastify.ts +0 -306
  127. package/src/worker/shims/http-service.test.ts +0 -355
  128. package/src/worker/shims/http-service.ts +0 -293
  129. package/src/worker/shims/node-stub.ts +0 -290
  130. package/src/worker/shims/oxfmt.ts +0 -3
  131. package/src/worker/shims/postgres-browser.ts +0 -59
  132. package/src/worker/shims/postgres-socket.test.ts +0 -576
  133. package/src/worker/shims/postgres-socket.ts +0 -310
  134. package/src/worker/shims/postgres.test.ts +0 -364
  135. package/src/worker/shims/postgres.ts +0 -1454
  136. package/src/worker/shims/sqlite-browser.test.ts +0 -233
  137. package/src/worker/shims/sqlite-browser.ts +0 -175
  138. package/src/worker/shims/sqlite.test.ts +0 -786
  139. package/src/worker/shims/sqlite.ts +0 -978
  140. package/src/worker/shims/stream-browser.ts +0 -15
  141. package/src/worker/shims/ws-browser.test.ts +0 -205
  142. package/src/worker/shims/ws-browser.ts +0 -248
  143. package/src/worker/shims/ws.test.ts +0 -288
  144. package/src/worker/shims/ws.ts +0 -467
  145. package/src/worker/shims/zero-process-env.ts +0 -11
  146. package/src/worker/types.ts +0 -75
  147. package/src/worker/worker-integration.test.ts +0 -223
  148. package/src/worker/worker.test.ts +0 -136
  149. package/src/worker/zero-cache-embed-cf.ts +0 -463
  150. 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
- }