@supawatch/verify 0.8.0 → 0.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/fixture.d.ts +1 -1
- package/dist/fixture.js +10 -0
- package/package.json +31 -29
package/dist/fixture.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { type Snapshot } from "@supawatch/core";
|
|
2
|
-
export declare const FIXTURE_SQL = "\ncreate type parcel_state as enum ('queued', 'shipped', 'lost');\ncreate type dimensions as (width_mm int4, height_mm int4);\ncreate domain tracking_code as text;\ncreate domain weight_grams as int4;\n\ncreate table parcels (\n size dimensions,\n tracking tracking_code not null default 'T-1',\n weight weight_grams not null default 250,\n id serial primary key,\n small int2 not null default 1,\n big int8 not null default 9007199254740993,\n ratio float4 not null default 0.5,\n wide float8 not null default 2.25,\n price numeric(10,2) not null default 19.99,\n ref uuid not null default gen_random_uuid(),\n label text not null default 'x',\n short_code varchar(12) not null default 'abc',\n padded bpchar(4) not null default 'ab',\n active bool not null default true,\n seen_at timestamptz not null default now(),\n local_at timestamp not null default now(),\n blob_j json not null default '{\"a\":1}',\n blob_jb jsonb not null default '{\"b\":2}',\n state parcel_state not null default 'queued',\n shipped_on date not null default '2026-02-03',\n cutoff time not null default '13:45:10',\n cutoff_tz timetz not null default '13:45:10+02',\n transit interval not null default '1 day 02:00:00',\n stamp bytea not null default '\\xdeadbeef',\n source_ip inet not null default '192.168.0.1',\n subnet cidr not null default '10.0.0.0/8',\n device macaddr not null default '08:00:2b:01:02:03',\n tags text[] not null default array['x','y'],\n counts int4[] not null default array[1,2,3],\n amounts numeric[] not null default array['1.50']::numeric[],\n states parcel_state[] not null default array['queued']::parcel_state[],\n grid int4[][] not null default array[array[1,2],array[3,4]],\n note text\n);\n\ninsert into parcels (note, size) values\n ('first', row(100, 40)::dimensions),\n (null, null);\n\ncreate view lost_parcels as\n select id, tracking, state from parcels where state = 'lost';\n";
|
|
2
|
+
export declare const FIXTURE_SQL = "\ncreate type parcel_state as enum ('queued', 'shipped', 'lost');\ncreate type dimensions as (width_mm int4, height_mm int4);\ncreate domain tracking_code as text;\ncreate domain weight_grams as int4;\n\ncreate table parcels (\n size dimensions,\n tracking tracking_code not null default 'T-1',\n weight weight_grams not null default 250,\n id serial primary key,\n small int2 not null default 1,\n big int8 not null default 9007199254740993,\n ratio float4 not null default 0.5,\n wide float8 not null default 2.25,\n price numeric(10,2) not null default 19.99,\n ref uuid not null default gen_random_uuid(),\n label text not null default 'x',\n short_code varchar(12) not null default 'abc',\n padded bpchar(4) not null default 'ab',\n active bool not null default true,\n seen_at timestamptz not null default now(),\n local_at timestamp not null default now(),\n blob_j json not null default '{\"a\":1}',\n blob_jb jsonb not null default '{\"b\":2}',\n state parcel_state not null default 'queued',\n shipped_on date not null default '2026-02-03',\n cutoff time not null default '13:45:10',\n cutoff_tz timetz not null default '13:45:10+02',\n transit interval not null default '1 day 02:00:00',\n stamp bytea not null default '\\xdeadbeef',\n source_ip inet not null default '192.168.0.1',\n subnet cidr not null default '10.0.0.0/8',\n device macaddr not null default '08:00:2b:01:02:03',\n tags text[] not null default array['x','y'],\n counts int4[] not null default array[1,2,3],\n amounts numeric[] not null default array['1.50']::numeric[],\n states parcel_state[] not null default array['queued']::parcel_state[],\n grid int4[][] not null default array[array[1,2],array[3,4]],\n note text\n);\n\ninsert into parcels (note, size) values\n ('first', row(100, 40)::dimensions),\n (null, null);\n\n-- Pathological but REAL values: floats can be NaN and infinities,\n-- temporal columns can be 'infinity' (an Invalid Date at the driver),\n-- and an enum can exist with zero labels. Every target must accept\n-- these rows, because the database holds them.\ncreate type unlabeled as enum ();\ninsert into parcels (note, ratio, wide, seen_at, shipped_on) values\n ('nan-row', 'NaN', 'NaN', 'infinity', 'infinity'),\n ('inf-row', 'Infinity', '-Infinity', '-infinity', '0044-03-15 BC');\nalter table parcels add column phase unlabeled;\n\ncreate view lost_parcels as\n select id, tracking, state from parcels where state = 'lost';\n";
|
|
3
3
|
export declare function assertFixtureCompleteness(snapshot: Snapshot): void;
|
package/dist/fixture.js
CHANGED
|
@@ -48,6 +48,16 @@ insert into parcels (note, size) values
|
|
|
48
48
|
('first', row(100, 40)::dimensions),
|
|
49
49
|
(null, null);
|
|
50
50
|
|
|
51
|
+
-- Pathological but REAL values: floats can be NaN and infinities,
|
|
52
|
+
-- temporal columns can be 'infinity' (an Invalid Date at the driver),
|
|
53
|
+
-- and an enum can exist with zero labels. Every target must accept
|
|
54
|
+
-- these rows, because the database holds them.
|
|
55
|
+
create type unlabeled as enum ();
|
|
56
|
+
insert into parcels (note, ratio, wide, seen_at, shipped_on) values
|
|
57
|
+
('nan-row', 'NaN', 'NaN', 'infinity', 'infinity'),
|
|
58
|
+
('inf-row', 'Infinity', '-Infinity', '-infinity', '0044-03-15 BC');
|
|
59
|
+
alter table parcels add column phase unlabeled;
|
|
60
|
+
|
|
51
61
|
create view lost_parcels as
|
|
52
62
|
select id, tracking, state from parcels where state = 'lost';
|
|
53
63
|
`;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@supawatch/verify",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.1",
|
|
4
4
|
"description": "The supawatch verification harness: ground truth against real rows, cross-target parity, and a must-fire divergence ledger.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"supabase",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
],
|
|
35
35
|
"dependencies": {
|
|
36
36
|
"@electric-sql/pglite": "^0.3.0",
|
|
37
|
-
"@supawatch/core": "0.
|
|
37
|
+
"@supawatch/core": "0.9.1"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"@modelcontextprotocol/sdk": "^1.30.0",
|
|
@@ -49,36 +49,38 @@
|
|
|
49
49
|
"fast-check": "^4.9.0",
|
|
50
50
|
"graphql": "^16.14.2",
|
|
51
51
|
"hono": "^4.13.2",
|
|
52
|
+
"jsdom": "^25.0.1",
|
|
53
|
+
"mermaid": "^11.16.1",
|
|
52
54
|
"typescript": "^5.9.0",
|
|
53
55
|
"valibot": "^1.1.0",
|
|
54
56
|
"zod": "^4.0.0",
|
|
55
|
-
"@supawatch/target-ai-tools": "0.
|
|
56
|
-
"@supawatch/target-arktype": "0.
|
|
57
|
-
"@supawatch/target-dictionary": "0.
|
|
58
|
-
"@supawatch/target-effect": "0.
|
|
59
|
-
"@supawatch/target-erd": "0.
|
|
60
|
-
"@supawatch/target-factories": "0.
|
|
61
|
-
"@supawatch/target-fast-check": "0.
|
|
62
|
-
"@supawatch/target-forms": "0.
|
|
63
|
-
"@supawatch/target-graphql": "0.
|
|
64
|
-
"@supawatch/target-json-schema": "0.
|
|
65
|
-
"@supawatch/target-mcp": "0.
|
|
66
|
-
"@supawatch/target-orpc": "0.
|
|
67
|
-
"@supawatch/target-pgmq": "0.
|
|
68
|
-
"@supawatch/target-pgtap": "0.
|
|
69
|
-
"@supawatch/target-realtime": "0.
|
|
70
|
-
"@supawatch/target-rest": "0.
|
|
71
|
-
"@supawatch/target-rls": "0.
|
|
72
|
-
"@supawatch/target-schema-card": "0.
|
|
73
|
-
"@supawatch/target-schema-lock": "0.
|
|
74
|
-
"@supawatch/target-seed": "0.
|
|
75
|
-
"@supawatch/target-service": "0.
|
|
76
|
-
"@supawatch/target-supabase-types": "0.
|
|
77
|
-
"@supawatch/target-trpc": "0.
|
|
78
|
-
"@supawatch/target-typebox": "0.
|
|
79
|
-
"@supawatch/target-valibot": "0.
|
|
80
|
-
"@supawatch/target-zod": "0.
|
|
81
|
-
"@supawatch/watch": "0.
|
|
57
|
+
"@supawatch/target-ai-tools": "0.9.1",
|
|
58
|
+
"@supawatch/target-arktype": "0.9.1",
|
|
59
|
+
"@supawatch/target-dictionary": "0.9.1",
|
|
60
|
+
"@supawatch/target-effect": "0.9.1",
|
|
61
|
+
"@supawatch/target-erd": "0.9.1",
|
|
62
|
+
"@supawatch/target-factories": "0.9.1",
|
|
63
|
+
"@supawatch/target-fast-check": "0.9.1",
|
|
64
|
+
"@supawatch/target-forms": "0.9.1",
|
|
65
|
+
"@supawatch/target-graphql": "0.9.1",
|
|
66
|
+
"@supawatch/target-json-schema": "0.9.1",
|
|
67
|
+
"@supawatch/target-mcp": "0.9.1",
|
|
68
|
+
"@supawatch/target-orpc": "0.9.1",
|
|
69
|
+
"@supawatch/target-pgmq": "0.9.1",
|
|
70
|
+
"@supawatch/target-pgtap": "0.9.1",
|
|
71
|
+
"@supawatch/target-realtime": "0.9.1",
|
|
72
|
+
"@supawatch/target-rest": "0.9.1",
|
|
73
|
+
"@supawatch/target-rls": "0.9.1",
|
|
74
|
+
"@supawatch/target-schema-card": "0.9.1",
|
|
75
|
+
"@supawatch/target-schema-lock": "0.9.1",
|
|
76
|
+
"@supawatch/target-seed": "0.9.1",
|
|
77
|
+
"@supawatch/target-service": "0.9.1",
|
|
78
|
+
"@supawatch/target-supabase-types": "0.9.1",
|
|
79
|
+
"@supawatch/target-trpc": "0.9.1",
|
|
80
|
+
"@supawatch/target-typebox": "0.9.1",
|
|
81
|
+
"@supawatch/target-valibot": "0.9.1",
|
|
82
|
+
"@supawatch/target-zod": "0.9.1",
|
|
83
|
+
"@supawatch/watch": "0.9.1"
|
|
82
84
|
},
|
|
83
85
|
"scripts": {
|
|
84
86
|
"build": "tsc -p tsconfig.json"
|