lurqrun 0.1.6 → 0.1.7

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 (206) hide show
  1. package/README.md +18 -10
  2. package/dist/auditHandler-JCOJSUYW.js +23 -0
  3. package/dist/bin/lurq.js +3090 -23306
  4. package/dist/browserAuth-B6G27USY.js +95 -0
  5. package/dist/cache-DKI34SVS.js +12 -0
  6. package/dist/check-2FDGUOV7.js +192 -0
  7. package/dist/checkUpgrade-F2WESBPM.js +103 -0
  8. package/dist/chunk-2VMOWSRY.js +300 -0
  9. package/dist/chunk-3GHJR7XR.js +2049 -0
  10. package/dist/chunk-3N3Q3DSW.js +214 -0
  11. package/dist/chunk-4ESO33J6.js +34 -0
  12. package/dist/chunk-4F7ZESPO.js +132 -0
  13. package/dist/chunk-4KCPOMG6.js +68 -0
  14. package/dist/chunk-4ZYCIMY4.js +155 -0
  15. package/dist/chunk-63MUJNZL.js +318 -0
  16. package/dist/chunk-6AAEVQ7I.js +6336 -0
  17. package/dist/chunk-6EQ3ARXA.js +304 -0
  18. package/dist/chunk-6L3U7DZ5.js +23 -0
  19. package/dist/chunk-AHBP533R.js +220 -0
  20. package/dist/chunk-B43LCXBM.js +223 -0
  21. package/dist/chunk-BCANRN5B.js +33 -0
  22. package/dist/chunk-BUALU27S.js +123 -0
  23. package/dist/chunk-BULZAX2U.js +1554 -0
  24. package/dist/chunk-BV32UNLL.js +154 -0
  25. package/dist/chunk-C6GLE626.js +160 -0
  26. package/dist/chunk-CIDWNUAP.js +145 -0
  27. package/dist/chunk-CUP36ND3.js +2126 -0
  28. package/dist/chunk-CW5HJ3LX.js +96 -0
  29. package/dist/chunk-DB2VF5UD.js +315 -0
  30. package/dist/chunk-DWAGCNEL.js +210 -0
  31. package/dist/chunk-EA3DP5HG.js +293 -0
  32. package/dist/chunk-ELGCAM7P.js +184 -0
  33. package/dist/chunk-FW6BD2NO.js +1915 -0
  34. package/dist/chunk-GE37NVLN.js +15 -0
  35. package/dist/chunk-GPTKSNR6.js +171 -0
  36. package/dist/chunk-GRJXQBQZ.js +793 -0
  37. package/dist/chunk-HWBBVLOT.js +92 -0
  38. package/dist/chunk-I2JUKN6Z.js +24 -0
  39. package/dist/chunk-I3M2KJXB.js +56 -0
  40. package/dist/chunk-IQ4SDKKY.js +733 -0
  41. package/dist/chunk-J5FZYN4A.js +116 -0
  42. package/dist/chunk-L6N4JFW2.js +263 -0
  43. package/dist/chunk-LBFGSSF2.js +126 -0
  44. package/dist/chunk-LEGPB7DO.js +81 -0
  45. package/dist/chunk-LO35HLQZ.js +219 -0
  46. package/dist/chunk-LRD4GBYE.js +73 -0
  47. package/dist/chunk-LUAKDHLZ.js +40 -0
  48. package/dist/chunk-LYMPYETA.js +965 -0
  49. package/dist/chunk-M6NYEXCW.js +38 -0
  50. package/dist/chunk-MHUEVBVO.js +35 -0
  51. package/dist/chunk-MYGSLK44.js +37 -0
  52. package/dist/chunk-NH5I4KHH.js +201 -0
  53. package/dist/chunk-OQS4GUSI.js +1391 -0
  54. package/dist/chunk-PSX3GIAN.js +176 -0
  55. package/dist/chunk-Q5VPF4WI.js +26 -0
  56. package/dist/chunk-QKGYDMWB.js +7409 -0
  57. package/dist/chunk-QSL6QN5X.js +115 -0
  58. package/dist/chunk-SHCEBP3J.js +107 -0
  59. package/dist/chunk-SJOVFF7B.js +201 -0
  60. package/dist/chunk-ST2X2GYN.js +373 -0
  61. package/dist/chunk-TNTXWSYA.js +19 -0
  62. package/dist/chunk-U5AT3TD4.js +2128 -0
  63. package/dist/chunk-UDVNA7EA.js +483 -0
  64. package/dist/chunk-VL2E5T2A.js +109 -0
  65. package/dist/chunk-VLRHFMGJ.js +58 -0
  66. package/dist/chunk-WHX2ZFCG.js +4048 -0
  67. package/dist/chunk-WQ23REYT.js +37 -0
  68. package/dist/chunk-XBIDMHSK.js +15425 -0
  69. package/dist/chunk-Y5GI7RL3.js +66 -0
  70. package/dist/client-IRKAMDYZ.js +15 -0
  71. package/dist/commands-FIL5ET6P.js +911 -0
  72. package/dist/compat-R3UTFQ5Q.js +201 -0
  73. package/dist/dashboardIssue-WYYMBFIB.js +192 -0
  74. package/dist/diff-GZA2774U.js +13 -0
  75. package/dist/dist-4XXIXHHZ.js +12945 -0
  76. package/dist/e2b-FVPHDULZ.js +172 -0
  77. package/dist/extract-NKGKLIVT.js +444 -0
  78. package/dist/fetch-QYTUJVG2.js +22 -0
  79. package/dist/firstTouch-QQTJH4QX.js +55 -0
  80. package/dist/handlers-GEJAVZDK.js +53 -0
  81. package/dist/http-ETPYMBGD.js +5360 -0
  82. package/dist/ingestQueue-VKN4KBIF.js +35 -0
  83. package/dist/install-EK3W2COX.js +20 -0
  84. package/dist/installSkill-VQJWJVCL.js +52 -0
  85. package/dist/inventory-5AWSLJYU.js +31 -0
  86. package/dist/local-XPZMRH5R.js +13 -0
  87. package/dist/mcp-3JHD5SUZ.js +472 -0
  88. package/dist/mcpHandlers-QFN4MCFL.js +22 -0
  89. package/dist/mcpScan-QZHWENIP.js +1871 -0
  90. package/dist/mcpScanWorkflow-JPYCBGC4.js +81 -0
  91. package/dist/mcpStack-BYJCZNIV.js +20 -0
  92. package/dist/packages-THVFMWFP.js +42 -0
  93. package/dist/plan-V4OEI3J4.js +463 -0
  94. package/dist/planView-JRXGCG2N.js +79 -0
  95. package/dist/policy-3P6BGRDN.js +115 -0
  96. package/dist/references-6N7VEPHT.js +14 -0
  97. package/dist/release-4U4ABNSJ.js +128 -0
  98. package/dist/remote-YGCXYI4V.js +32 -0
  99. package/dist/reportRuns-CKQQYLY4.js +64 -0
  100. package/dist/sandbox-MEZLAODF.js +39 -0
  101. package/dist/server-KFUD5X57.js +55 -0
  102. package/dist/surface-V62GE554.js +141 -0
  103. package/dist/surface-YL6O67W3.js +36 -0
  104. package/dist/surfaceHandlers-X2IZKA3E.js +20 -0
  105. package/dist/typecheck-X7U5ELMR.js +268 -0
  106. package/dist/types-M5JP2W3D.js +10 -0
  107. package/dist/uninstall-P7RGBX6G.js +174 -0
  108. package/dist/upgrade-NQ5IWFZB.js +596 -0
  109. package/dist/upgradePlan-A4LRKLEG.js +146 -0
  110. package/dist/userConfig-Z3GQE776.js +20 -0
  111. package/dist/watch-DGFMWUDL.js +214 -0
  112. package/package.json +26 -21
  113. package/templates/agent-rules.md +4 -4
  114. package/templates/skill-instructions.md +13 -14
  115. package/dist/bin/lurq.js.map +0 -1
  116. package/dist/index.d.ts +0 -805
  117. package/dist/index.js +0 -23570
  118. package/dist/index.js.map +0 -1
  119. package/drizzle/0000_confused_fabian_cortez.sql +0 -54
  120. package/drizzle/0001_aspiring_timeslip.sql +0 -15
  121. package/drizzle/0002_lyrical_lila_cheney.sql +0 -14
  122. package/drizzle/0003_violet_giant_girl.sql +0 -14
  123. package/drizzle/0004_slim_valeria_richards.sql +0 -15
  124. package/drizzle/0005_petite_luke_cage.sql +0 -12
  125. package/drizzle/0006_calm_nighthawk.sql +0 -3
  126. package/drizzle/0007_slimy_naoko.sql +0 -1
  127. package/drizzle/0008_peaceful_tigra.sql +0 -1
  128. package/drizzle/0009_smooth_harrier.sql +0 -10
  129. package/drizzle/0010_curved_amphibian.sql +0 -2
  130. package/drizzle/0011_compat_provenance_closures.sql +0 -11
  131. package/drizzle/0012_api_surfaces.sql +0 -9
  132. package/drizzle/0013_nice_thanos.sql +0 -1
  133. package/drizzle/0014_luxuriant_malcolm_colcord.sql +0 -10
  134. package/drizzle/0015_past_fat_cobra.sql +0 -11
  135. package/drizzle/0016_futuristic_junta.sql +0 -50
  136. package/drizzle/0017_absent_grandmaster.sql +0 -20
  137. package/drizzle/0018_rainy_proemial_gods.sql +0 -1
  138. package/drizzle/0019_dashing_korvac.sql +0 -11
  139. package/drizzle/0020_normal_vulture.sql +0 -3
  140. package/drizzle/0021_dazzling_blue_shield.sql +0 -17
  141. package/drizzle/0022_massive_ghost_rider.sql +0 -24
  142. package/drizzle/0023_next_shatterstar.sql +0 -1
  143. package/drizzle/0024_dusty_maelstrom.sql +0 -15
  144. package/drizzle/0025_gifted_harpoon.sql +0 -5
  145. package/drizzle/0026_awesome_mordo.sql +0 -1
  146. package/drizzle/0027_charming_ulik.sql +0 -2
  147. package/drizzle/0028_romantic_loners.sql +0 -2
  148. package/drizzle/0029_busy_korvac.sql +0 -16
  149. package/drizzle/0030_steady_mathemanic.sql +0 -6
  150. package/drizzle/0031_redundant_maginty.sql +0 -2
  151. package/drizzle/0032_stack_resolutions.sql +0 -14
  152. package/drizzle/0033_graceful_tyger_tiger.sql +0 -3
  153. package/drizzle/0034_uneven_thunderbird.sql +0 -1
  154. package/drizzle/0035_api_key_scopes.sql +0 -1
  155. package/drizzle/0036_policy_audit.sql +0 -21
  156. package/drizzle/0037_subscription_seats.sql +0 -1
  157. package/drizzle/0038_symbol_offsets.sql +0 -2
  158. package/drizzle/0039_mcp_runtime_scans.sql +0 -80
  159. package/drizzle/0040_subscription_overage_and_interval.sql +0 -4
  160. package/drizzle/0041_account_email.sql +0 -38
  161. package/drizzle/0042_alert_channels.sql +0 -21
  162. package/drizzle/meta/0000_snapshot.json +0 -370
  163. package/drizzle/meta/0001_snapshot.json +0 -482
  164. package/drizzle/meta/0002_snapshot.json +0 -575
  165. package/drizzle/meta/0003_snapshot.json +0 -667
  166. package/drizzle/meta/0004_snapshot.json +0 -769
  167. package/drizzle/meta/0005_snapshot.json +0 -864
  168. package/drizzle/meta/0006_snapshot.json +0 -882
  169. package/drizzle/meta/0007_snapshot.json +0 -876
  170. package/drizzle/meta/0008_snapshot.json +0 -882
  171. package/drizzle/meta/0009_snapshot.json +0 -948
  172. package/drizzle/meta/0010_snapshot.json +0 -969
  173. package/drizzle/meta/0011_snapshot.json +0 -1049
  174. package/drizzle/meta/0012_snapshot.json +0 -1115
  175. package/drizzle/meta/0013_snapshot.json +0 -1121
  176. package/drizzle/meta/0014_snapshot.json +0 -1190
  177. package/drizzle/meta/0015_snapshot.json +0 -1280
  178. package/drizzle/meta/0016_snapshot.json +0 -1683
  179. package/drizzle/meta/0017_snapshot.json +0 -1834
  180. package/drizzle/meta/0018_snapshot.json +0 -1834
  181. package/drizzle/meta/0019_snapshot.json +0 -1909
  182. package/drizzle/meta/0020_snapshot.json +0 -1921
  183. package/drizzle/meta/0021_snapshot.json +0 -2045
  184. package/drizzle/meta/0022_snapshot.json +0 -2246
  185. package/drizzle/meta/0023_snapshot.json +0 -2252
  186. package/drizzle/meta/0024_snapshot.json +0 -2375
  187. package/drizzle/meta/0025_snapshot.json +0 -2407
  188. package/drizzle/meta/0026_snapshot.json +0 -2413
  189. package/drizzle/meta/0027_snapshot.json +0 -2425
  190. package/drizzle/meta/0028_snapshot.json +0 -2438
  191. package/drizzle/meta/0029_snapshot.json +0 -2546
  192. package/drizzle/meta/0030_snapshot.json +0 -2586
  193. package/drizzle/meta/0031_snapshot.json +0 -2598
  194. package/drizzle/meta/0032_snapshot.json +0 -2699
  195. package/drizzle/meta/0033_snapshot.json +0 -2712
  196. package/drizzle/meta/0034_snapshot.json +0 -2719
  197. package/drizzle/meta/0035_snapshot.json +0 -2726
  198. package/drizzle/meta/0036_snapshot.json +0 -2876
  199. package/drizzle/meta/0037_snapshot.json +0 -2883
  200. package/drizzle/meta/0038_snapshot.json +0 -2895
  201. package/drizzle/meta/0039_snapshot.json +0 -3501
  202. package/drizzle/meta/0040_snapshot.json +0 -3527
  203. package/drizzle/meta/0041_snapshot.json +0 -3824
  204. package/drizzle/meta/0042_snapshot.json +0 -3960
  205. package/drizzle/meta/_journal.json +0 -307
  206. package/src/data/seed.json +0 -253
@@ -1,54 +0,0 @@
1
- CREATE TABLE "packages" (
2
- "id" serial PRIMARY KEY NOT NULL,
3
- "name" text NOT NULL,
4
- "ecosystem" text DEFAULT 'npm' NOT NULL,
5
- "category" text,
6
- "description" text,
7
- "summary" text,
8
- "repo_url" text,
9
- "homepage" text,
10
- "latest_version" text,
11
- "license" text,
12
- "deprecated" boolean DEFAULT false NOT NULL,
13
- "archived" boolean DEFAULT false NOT NULL,
14
- "first_published_at" timestamp with time zone,
15
- "last_release_at" timestamp with time zone,
16
- "weekly_downloads" bigint,
17
- "download_growth_90d" real,
18
- "dependents_count" integer,
19
- "stars" integer,
20
- "open_issues" integer,
21
- "closed_issues" integer,
22
- "scorecard" real,
23
- "bundle_min_gzip_kb" real,
24
- "advisories" jsonb,
25
- "health_score" integer,
26
- "confidence" text,
27
- "score_breakdown" jsonb,
28
- "usage_guide" jsonb,
29
- "embedding" vector(1536),
30
- "data_as_of" timestamp with time zone,
31
- "created_at" timestamp with time zone DEFAULT now() NOT NULL,
32
- "updated_at" timestamp with time zone DEFAULT now() NOT NULL,
33
- CONSTRAINT "packages_name_unique" UNIQUE("name")
34
- );
35
- --> statement-breakpoint
36
- CREATE TABLE "seed_packages" (
37
- "name" text PRIMARY KEY NOT NULL,
38
- "category" text,
39
- "added_at" timestamp with time zone DEFAULT now() NOT NULL
40
- );
41
- --> statement-breakpoint
42
- CREATE TABLE "sync_runs" (
43
- "id" serial PRIMARY KEY NOT NULL,
44
- "started_at" timestamp with time zone DEFAULT now() NOT NULL,
45
- "finished_at" timestamp with time zone,
46
- "packages_seen" integer DEFAULT 0 NOT NULL,
47
- "packages_updated" integer DEFAULT 0 NOT NULL,
48
- "errors" jsonb DEFAULT '[]'::jsonb NOT NULL,
49
- "status" text DEFAULT 'running' NOT NULL
50
- );
51
- --> statement-breakpoint
52
- CREATE INDEX "packages_category_idx" ON "packages" USING btree ("category");--> statement-breakpoint
53
- CREATE INDEX "packages_health_score_idx" ON "packages" USING btree ("health_score");--> statement-breakpoint
54
- CREATE INDEX "packages_embedding_idx" ON "packages" USING hnsw ("embedding" vector_cosine_ops);
@@ -1,15 +0,0 @@
1
- CREATE TABLE "discovery_queue" (
2
- "id" serial PRIMARY KEY NOT NULL,
3
- "name" text NOT NULL,
4
- "discovered_via" text NOT NULL,
5
- "pre_score" integer,
6
- "status" text DEFAULT 'pending' NOT NULL,
7
- "discovered_at" timestamp with time zone DEFAULT now() NOT NULL,
8
- CONSTRAINT "discovery_queue_name_unique" UNIQUE("name")
9
- );
10
- --> statement-breakpoint
11
- ALTER TABLE "packages" ADD COLUMN "category_source" text;--> statement-breakpoint
12
- ALTER TABLE "packages" ADD COLUMN "quality_score" integer;--> statement-breakpoint
13
- ALTER TABLE "packages" ADD COLUMN "search_vector" "tsvector" GENERATED ALWAYS AS (setweight(to_tsvector('english', coalesce(name, '')), 'A') || setweight(to_tsvector('english', coalesce(category, '')), 'B') || setweight(to_tsvector('english', coalesce(summary, description, '')), 'C')) STORED;--> statement-breakpoint
14
- CREATE INDEX "discovery_queue_status_idx" ON "discovery_queue" USING btree ("status");--> statement-breakpoint
15
- CREATE INDEX "packages_search_vector_idx" ON "packages" USING gin ("search_vector");
@@ -1,14 +0,0 @@
1
- CREATE TABLE "api_keys" (
2
- "id" serial PRIMARY KEY NOT NULL,
3
- "key_hash" text NOT NULL,
4
- "prefix" text NOT NULL,
5
- "label" text,
6
- "owner_id" text,
7
- "tier" text DEFAULT 'free' NOT NULL,
8
- "created_at" timestamp with time zone DEFAULT now() NOT NULL,
9
- "last_used_at" timestamp with time zone,
10
- "revoked_at" timestamp with time zone,
11
- CONSTRAINT "api_keys_key_hash_unique" UNIQUE("key_hash")
12
- );
13
- --> statement-breakpoint
14
- CREATE INDEX "api_keys_owner_idx" ON "api_keys" USING btree ("owner_id");
@@ -1,14 +0,0 @@
1
- CREATE TABLE "package_versions" (
2
- "package_name" text NOT NULL,
3
- "version" text NOT NULL,
4
- "published_at" timestamp with time zone,
5
- CONSTRAINT "package_versions_package_name_version_pk" PRIMARY KEY("package_name","version")
6
- );
7
- --> statement-breakpoint
8
- CREATE TABLE "watch_state" (
9
- "id" text PRIMARY KEY NOT NULL,
10
- "seq" text NOT NULL,
11
- "updated_at" timestamp with time zone
12
- );
13
- --> statement-breakpoint
14
- CREATE INDEX "package_versions_name_published_idx" ON "package_versions" USING btree ("package_name","published_at");
@@ -1,15 +0,0 @@
1
- CREATE TABLE "verification_runs" (
2
- "id" serial PRIMARY KEY NOT NULL,
3
- "package_name" text NOT NULL,
4
- "version" text NOT NULL,
5
- "driver" text NOT NULL,
6
- "module_system" text NOT NULL,
7
- "installed" boolean NOT NULL,
8
- "imported" boolean,
9
- "ran_scripts" boolean DEFAULT false NOT NULL,
10
- "duration_ms" integer,
11
- "error" text,
12
- "ran_at" timestamp with time zone
13
- );
14
- --> statement-breakpoint
15
- CREATE INDEX "verification_runs_pkg_idx" ON "verification_runs" USING btree ("package_name","version");
@@ -1,12 +0,0 @@
1
- CREATE TABLE "compat_edges" (
2
- "id" serial PRIMARY KEY NOT NULL,
3
- "package_a" text NOT NULL,
4
- "version_a" text NOT NULL,
5
- "package_b" text NOT NULL,
6
- "version_b" text NOT NULL,
7
- "status" text NOT NULL,
8
- "driver" text NOT NULL,
9
- "ran_at" timestamp with time zone
10
- );
11
- --> statement-breakpoint
12
- CREATE UNIQUE INDEX "compat_edges_pair_idx" ON "compat_edges" USING btree ("package_a","version_a","package_b","version_b");
@@ -1,3 +0,0 @@
1
- ALTER TABLE "packages" ADD COLUMN "peer_dependencies" jsonb;--> statement-breakpoint
2
- ALTER TABLE "packages" ADD COLUMN "peer_dependencies_meta" jsonb;--> statement-breakpoint
3
- ALTER TABLE "packages" ADD COLUMN "engines" jsonb;
@@ -1 +0,0 @@
1
- ALTER TABLE "packages" DROP COLUMN "dependents_count";
@@ -1 +0,0 @@
1
- ALTER TABLE "packages" ADD COLUMN "embedding_provider" text;
@@ -1,10 +0,0 @@
1
- CREATE TABLE "recommendation_outcomes" (
2
- "id" serial PRIMARY KEY NOT NULL,
3
- "package_name" text NOT NULL,
4
- "accepted" boolean NOT NULL,
5
- "build_signal" text,
6
- "need" text,
7
- "created_at" timestamp with time zone DEFAULT now() NOT NULL
8
- );
9
- --> statement-breakpoint
10
- CREATE INDEX "recommendation_outcomes_pkg_idx" ON "recommendation_outcomes" USING btree ("package_name");
@@ -1,2 +0,0 @@
1
- ALTER TABLE "recommendation_outcomes" ADD COLUMN "owner_id" text;--> statement-breakpoint
2
- CREATE INDEX "recommendation_outcomes_owner_idx" ON "recommendation_outcomes" USING btree ("owner_id");
@@ -1,11 +0,0 @@
1
- CREATE TABLE "resolved_closures" (
2
- "id" serial PRIMARY KEY NOT NULL,
3
- "package_name" text NOT NULL,
4
- "version" text NOT NULL,
5
- "nodes" jsonb NOT NULL,
6
- "fetched_at" timestamp with time zone DEFAULT now() NOT NULL
7
- );
8
- --> statement-breakpoint
9
- ALTER TABLE "compat_edges" ADD COLUMN "provenance" text DEFAULT 'verified' NOT NULL;--> statement-breakpoint
10
- ALTER TABLE "compat_edges" ADD COLUMN "witness_count" integer DEFAULT 0 NOT NULL;--> statement-breakpoint
11
- CREATE UNIQUE INDEX "resolved_closures_pkg_idx" ON "resolved_closures" USING btree ("package_name","version");
@@ -1,9 +0,0 @@
1
- CREATE TABLE "api_surfaces" (
2
- "id" serial PRIMARY KEY NOT NULL,
3
- "package_name" text NOT NULL,
4
- "version" text NOT NULL,
5
- "surface" jsonb NOT NULL,
6
- "extracted_at" timestamp with time zone DEFAULT now() NOT NULL
7
- );
8
- --> statement-breakpoint
9
- CREATE UNIQUE INDEX "api_surfaces_pkg_idx" ON "api_surfaces" USING btree ("package_name","version");
@@ -1 +0,0 @@
1
- ALTER TABLE "packages" ADD COLUMN "graph_scanned_version" text;
@@ -1,10 +0,0 @@
1
- CREATE TABLE "compat_verify_queue" (
2
- "id" serial PRIMARY KEY NOT NULL,
3
- "set_key" text NOT NULL,
4
- "packages" jsonb NOT NULL,
5
- "attempts" integer DEFAULT 0 NOT NULL,
6
- "requested_at" timestamp with time zone DEFAULT now() NOT NULL,
7
- CONSTRAINT "compat_verify_queue_set_key_unique" UNIQUE("set_key")
8
- );
9
- --> statement-breakpoint
10
- CREATE INDEX "compat_verify_queue_requested_idx" ON "compat_verify_queue" USING btree ("requested_at");
@@ -1,11 +0,0 @@
1
- CREATE TABLE "owner_usage_daily" (
2
- "owner_id" text NOT NULL,
3
- "date" date NOT NULL,
4
- "tool" text NOT NULL,
5
- "count" integer DEFAULT 0 NOT NULL,
6
- CONSTRAINT "owner_usage_daily_owner_id_date_tool_pk" PRIMARY KEY("owner_id","date","tool")
7
- );
8
- --> statement-breakpoint
9
- ALTER TABLE "packages" ADD COLUMN "first_requested_by_owner_id" text;--> statement-breakpoint
10
- CREATE INDEX "owner_usage_daily_owner_date_idx" ON "owner_usage_daily" USING btree ("owner_id","date");--> statement-breakpoint
11
- CREATE INDEX "packages_first_requested_by_idx" ON "packages" USING btree ("first_requested_by_owner_id");
@@ -1,50 +0,0 @@
1
- CREATE TABLE "claims" (
2
- "id" serial PRIMARY KEY NOT NULL,
3
- "subject_id" integer NOT NULL,
4
- "object_id" integer,
5
- "relation" text NOT NULL,
6
- "environment_id" integer NOT NULL,
7
- "tenant_id" bigint DEFAULT 0 NOT NULL
8
- );
9
- --> statement-breakpoint
10
- CREATE TABLE "entities" (
11
- "id" serial PRIMARY KEY NOT NULL,
12
- "kind" text NOT NULL,
13
- "namespace" text NOT NULL,
14
- "name" text NOT NULL,
15
- "version" text,
16
- "canonical_key" text NOT NULL,
17
- "tenant_id" bigint DEFAULT 0 NOT NULL,
18
- "first_seen" timestamp with time zone DEFAULT now() NOT NULL
19
- );
20
- --> statement-breakpoint
21
- CREATE TABLE "environments" (
22
- "id" serial PRIMARY KEY NOT NULL,
23
- "os" text NOT NULL,
24
- "arch" text NOT NULL,
25
- "runtime" text NOT NULL,
26
- "runtime_ver" text NOT NULL,
27
- "resolver" text,
28
- "fingerprint" text NOT NULL,
29
- CONSTRAINT "environments_fingerprint_unique" UNIQUE("fingerprint")
30
- );
31
- --> statement-breakpoint
32
- CREATE TABLE "observations" (
33
- "id" serial PRIMARY KEY NOT NULL,
34
- "claim_id" integer NOT NULL,
35
- "verdict" text NOT NULL,
36
- "evidence" text,
37
- "oracle_id" text NOT NULL,
38
- "oracle_ver" text NOT NULL,
39
- "cost_millis" integer,
40
- "observed_at" timestamp with time zone DEFAULT now() NOT NULL
41
- );
42
- --> statement-breakpoint
43
- ALTER TABLE "claims" ADD CONSTRAINT "claims_subject_id_entities_id_fk" FOREIGN KEY ("subject_id") REFERENCES "public"."entities"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
44
- ALTER TABLE "claims" ADD CONSTRAINT "claims_object_id_entities_id_fk" FOREIGN KEY ("object_id") REFERENCES "public"."entities"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
45
- ALTER TABLE "claims" ADD CONSTRAINT "claims_environment_id_environments_id_fk" FOREIGN KEY ("environment_id") REFERENCES "public"."environments"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
46
- ALTER TABLE "observations" ADD CONSTRAINT "observations_claim_id_claims_id_fk" FOREIGN KEY ("claim_id") REFERENCES "public"."claims"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
47
- CREATE UNIQUE INDEX "claims_tuple_idx" ON "claims" USING btree ("subject_id","object_id","relation","environment_id","tenant_id");--> statement-breakpoint
48
- CREATE UNIQUE INDEX "entities_canonical_idx" ON "entities" USING btree ("canonical_key","tenant_id");--> statement-breakpoint
49
- CREATE INDEX "entities_kind_idx" ON "entities" USING btree ("kind","namespace","name");--> statement-breakpoint
50
- CREATE INDEX "observations_claim_idx" ON "observations" USING btree ("claim_id","observed_at");
@@ -1,20 +0,0 @@
1
- CREATE TABLE "symbols" (
2
- "id" serial PRIMARY KEY NOT NULL,
3
- "entity_id" integer NOT NULL,
4
- "path" text NOT NULL,
5
- "kind" text NOT NULL,
6
- "arity" integer,
7
- "origin" text DEFAULT 'local' NOT NULL,
8
- "deprecated" boolean DEFAULT false NOT NULL,
9
- "tier" text NOT NULL,
10
- "source_file" text,
11
- "source_line" integer
12
- );
13
- --> statement-breakpoint
14
- ALTER TABLE "entities" ADD COLUMN "artifact_hash" text;--> statement-breakpoint
15
- ALTER TABLE "entities" ADD COLUMN "in_degree" integer;--> statement-breakpoint
16
- ALTER TABLE "observations" ADD COLUMN "class" text DEFAULT 'executed' NOT NULL;--> statement-breakpoint
17
- ALTER TABLE "observations" ADD COLUMN "tier" text;--> statement-breakpoint
18
- ALTER TABLE "symbols" ADD CONSTRAINT "symbols_entity_id_entities_id_fk" FOREIGN KEY ("entity_id") REFERENCES "public"."entities"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
19
- CREATE UNIQUE INDEX "symbols_entity_path_idx" ON "symbols" USING btree ("entity_id","path");--> statement-breakpoint
20
- CREATE INDEX "entities_artifact_idx" ON "entities" USING btree ("artifact_hash");
@@ -1 +0,0 @@
1
- ALTER TABLE "claims" ALTER COLUMN "environment_id" DROP NOT NULL;
@@ -1,11 +0,0 @@
1
- CREATE TABLE "surface_queue" (
2
- "id" serial PRIMARY KEY NOT NULL,
3
- "package_name" text NOT NULL,
4
- "version" text,
5
- "spec_key" text NOT NULL,
6
- "attempts" integer DEFAULT 0 NOT NULL,
7
- "requested_at" timestamp with time zone DEFAULT now() NOT NULL,
8
- CONSTRAINT "surface_queue_spec_key_unique" UNIQUE("spec_key")
9
- );
10
- --> statement-breakpoint
11
- CREATE INDEX "surface_queue_requested_idx" ON "surface_queue" USING btree ("requested_at");
@@ -1,3 +0,0 @@
1
- DROP INDEX "symbols_entity_path_idx";--> statement-breakpoint
2
- ALTER TABLE "symbols" ADD COLUMN "signature" text;--> statement-breakpoint
3
- CREATE UNIQUE INDEX "symbols_entity_path_tier_idx" ON "symbols" USING btree ("entity_id","path","tier");
@@ -1,17 +0,0 @@
1
- CREATE TABLE "repos" (
2
- "id" serial PRIMARY KEY NOT NULL,
3
- "owner_id" text NOT NULL,
4
- "installation_id" bigint NOT NULL,
5
- "full_name" text NOT NULL,
6
- "default_branch" text,
7
- "is_private" boolean DEFAULT false NOT NULL,
8
- "policy" jsonb NOT NULL,
9
- "manifests" jsonb,
10
- "drift" jsonb,
11
- "last_scan_at" timestamp with time zone,
12
- "last_scan_error" text,
13
- "created_at" timestamp with time zone DEFAULT now() NOT NULL
14
- );
15
- --> statement-breakpoint
16
- CREATE UNIQUE INDEX "repos_owner_full_name_idx" ON "repos" USING btree ("owner_id","full_name");--> statement-breakpoint
17
- CREATE INDEX "repos_installation_idx" ON "repos" USING btree ("installation_id");
@@ -1,24 +0,0 @@
1
- CREATE TABLE "upgrade_runs" (
2
- "id" serial PRIMARY KEY NOT NULL,
3
- "owner_id" text NOT NULL,
4
- "repo_id" integer,
5
- "repo_full_name" text NOT NULL,
6
- "package_name" text NOT NULL,
7
- "from_version" text NOT NULL,
8
- "to_version" text NOT NULL,
9
- "severity" text NOT NULL,
10
- "status" text NOT NULL,
11
- "symbols_affected" jsonb DEFAULT '[]'::jsonb NOT NULL,
12
- "call_sites" integer DEFAULT 0 NOT NULL,
13
- "call_site_files" jsonb,
14
- "files_changed" integer,
15
- "tests_passed" boolean,
16
- "pr_url" text,
17
- "run_url" text DEFAULT '' NOT NULL,
18
- "created_at" timestamp with time zone DEFAULT now() NOT NULL
19
- );
20
- --> statement-breakpoint
21
- ALTER TABLE "repos" ADD COLUMN "install_command" text;--> statement-breakpoint
22
- CREATE INDEX "upgrade_runs_owner_created_idx" ON "upgrade_runs" USING btree ("owner_id","created_at");--> statement-breakpoint
23
- CREATE INDEX "upgrade_runs_repo_idx" ON "upgrade_runs" USING btree ("repo_id");--> statement-breakpoint
24
- CREATE UNIQUE INDEX "upgrade_runs_dedup_idx" ON "upgrade_runs" USING btree ("owner_id","repo_full_name","package_name","to_version","run_url");
@@ -1 +0,0 @@
1
- ALTER TABLE "sync_runs" ADD COLUMN "origin" text;
@@ -1,15 +0,0 @@
1
- CREATE TABLE "repo_alerts" (
2
- "id" serial PRIMARY KEY NOT NULL,
3
- "owner_id" text NOT NULL,
4
- "repo_id" integer NOT NULL,
5
- "repo_full_name" text NOT NULL,
6
- "package_name" text NOT NULL,
7
- "range" text NOT NULL,
8
- "from_version" text,
9
- "to_version" text NOT NULL,
10
- "in_range" boolean NOT NULL,
11
- "created_at" timestamp with time zone DEFAULT now() NOT NULL
12
- );
13
- --> statement-breakpoint
14
- CREATE INDEX "repo_alerts_owner_created_idx" ON "repo_alerts" USING btree ("owner_id","created_at");--> statement-breakpoint
15
- CREATE UNIQUE INDEX "repo_alerts_dedup_idx" ON "repo_alerts" USING btree ("repo_id","package_name","to_version");
@@ -1,5 +0,0 @@
1
- CREATE TABLE "selection_policies" (
2
- "owner_id" text PRIMARY KEY NOT NULL,
3
- "policy" jsonb NOT NULL,
4
- "updated_at" timestamp with time zone DEFAULT now() NOT NULL
5
- );
@@ -1 +0,0 @@
1
- ALTER TABLE "packages" ADD COLUMN "runtime_target" text;
@@ -1,2 +0,0 @@
1
- ALTER TABLE "package_versions" ADD COLUMN "peer_dependencies" jsonb;--> statement-breakpoint
2
- ALTER TABLE "package_versions" ADD COLUMN "engines" jsonb;
@@ -1,2 +0,0 @@
1
- ALTER TABLE "packages" DROP CONSTRAINT "packages_name_unique";--> statement-breakpoint
2
- CREATE UNIQUE INDEX "packages_ecosystem_name_idx" ON "packages" USING btree ("ecosystem","name");
@@ -1,16 +0,0 @@
1
- CREATE TABLE "subscriptions" (
2
- "owner_id" text PRIMARY KEY NOT NULL,
3
- "stripe_customer_id" text NOT NULL,
4
- "stripe_subscription_id" text,
5
- "tier" text DEFAULT 'free' NOT NULL,
6
- "status" text,
7
- "current_period_end" timestamp with time zone,
8
- "cancel_at_period_end" boolean DEFAULT false NOT NULL,
9
- "last_event_at" timestamp with time zone,
10
- "created_at" timestamp with time zone DEFAULT now() NOT NULL,
11
- "updated_at" timestamp with time zone DEFAULT now() NOT NULL,
12
- CONSTRAINT "subscriptions_stripe_customer_id_unique" UNIQUE("stripe_customer_id"),
13
- CONSTRAINT "subscriptions_stripe_subscription_id_unique" UNIQUE("stripe_subscription_id")
14
- );
15
- --> statement-breakpoint
16
- CREATE INDEX "subscriptions_customer_idx" ON "subscriptions" USING btree ("stripe_customer_id");
@@ -1,6 +0,0 @@
1
- CREATE TABLE "ask_spend_daily" (
2
- "owner_id" text NOT NULL,
3
- "date" date NOT NULL,
4
- "usd_micros" bigint DEFAULT 0 NOT NULL,
5
- CONSTRAINT "ask_spend_daily_owner_id_date_pk" PRIMARY KEY("owner_id","date")
6
- );
@@ -1,2 +0,0 @@
1
- ALTER TABLE "packages" ADD COLUMN IF NOT EXISTS "direct_dependents" integer;--> statement-breakpoint
2
- ALTER TABLE "packages" ADD COLUMN IF NOT EXISTS "indirect_dependents" integer;
@@ -1,14 +0,0 @@
1
- CREATE TABLE "stack_resolutions" (
2
- "id" serial PRIMARY KEY NOT NULL,
3
- "set_key" text NOT NULL,
4
- "packages" jsonb NOT NULL,
5
- "names" text[] NOT NULL,
6
- "resolved" boolean NOT NULL,
7
- "reason" text,
8
- "detail" text,
9
- "resolved_at" timestamp with time zone DEFAULT now() NOT NULL,
10
- CONSTRAINT "stack_resolutions_set_key_unique" UNIQUE("set_key")
11
- );
12
- --> statement-breakpoint
13
- CREATE INDEX "stack_resolutions_names_idx" ON "stack_resolutions" USING gin ("names");--> statement-breakpoint
14
- CREATE INDEX "stack_resolutions_resolved_at_idx" ON "stack_resolutions" USING btree ("resolved_at");
@@ -1,3 +0,0 @@
1
- DROP INDEX "surface_queue_requested_idx";--> statement-breakpoint
2
- ALTER TABLE "surface_queue" ADD COLUMN "kind" text DEFAULT 'package_surface' NOT NULL;--> statement-breakpoint
3
- CREATE INDEX "surface_queue_requested_idx" ON "surface_queue" USING btree ("kind","requested_at");
@@ -1 +0,0 @@
1
- ALTER TABLE "discovery_queue" ADD COLUMN "attempts" integer DEFAULT 0 NOT NULL;
@@ -1 +0,0 @@
1
- ALTER TABLE "api_keys" ADD COLUMN "scopes" text[] DEFAULT '{}'::text[] NOT NULL;
@@ -1,21 +0,0 @@
1
- CREATE TABLE "policy_decisions" (
2
- "id" serial PRIMARY KEY NOT NULL,
3
- "owner_id" text NOT NULL,
4
- "package_name" text NOT NULL,
5
- "rule" text NOT NULL,
6
- "action" text NOT NULL,
7
- "tool" text NOT NULL,
8
- "created_at" timestamp with time zone DEFAULT now() NOT NULL
9
- );
10
- --> statement-breakpoint
11
- CREATE TABLE "selection_policy_changes" (
12
- "id" serial PRIMARY KEY NOT NULL,
13
- "owner_id" text NOT NULL,
14
- "actor" text NOT NULL,
15
- "before" jsonb NOT NULL,
16
- "after" jsonb NOT NULL,
17
- "created_at" timestamp with time zone DEFAULT now() NOT NULL
18
- );
19
- --> statement-breakpoint
20
- CREATE INDEX "policy_decisions_owner_idx" ON "policy_decisions" USING btree ("owner_id","created_at");--> statement-breakpoint
21
- CREATE INDEX "selection_policy_changes_owner_idx" ON "selection_policy_changes" USING btree ("owner_id","created_at");
@@ -1 +0,0 @@
1
- ALTER TABLE "subscriptions" ADD COLUMN "seats" integer DEFAULT 1 NOT NULL;
@@ -1,2 +0,0 @@
1
- ALTER TABLE "symbols" ADD COLUMN "source_offset" integer;--> statement-breakpoint
2
- ALTER TABLE "symbols" ADD COLUMN "max_arity" integer;
@@ -1,80 +0,0 @@
1
- CREATE TABLE "mcp_change_events" (
2
- "id" serial PRIMARY KEY NOT NULL,
3
- "deployment_id" integer NOT NULL,
4
- "owner_id" text NOT NULL,
5
- "from_hash" text NOT NULL,
6
- "to_hash" text NOT NULL,
7
- "severity" text NOT NULL,
8
- "summary" text NOT NULL,
9
- "diff" jsonb NOT NULL,
10
- "created_at" timestamp with time zone DEFAULT now() NOT NULL,
11
- "acknowledged_at" timestamp with time zone
12
- );
13
- --> statement-breakpoint
14
- CREATE TABLE "mcp_contracts" (
15
- "content_hash" text PRIMARY KEY NOT NULL,
16
- "contract_hash" text NOT NULL,
17
- "tools" jsonb NOT NULL,
18
- "prompts" jsonb NOT NULL,
19
- "resource_templates" jsonb NOT NULL,
20
- "instructions" text,
21
- "tool_count" integer NOT NULL,
22
- "bytes" integer NOT NULL,
23
- "analysis" jsonb NOT NULL,
24
- "analyzer_version" text NOT NULL,
25
- "created_at" timestamp with time zone DEFAULT now() NOT NULL
26
- );
27
- --> statement-breakpoint
28
- CREATE TABLE "mcp_deployments" (
29
- "id" serial PRIMARY KEY NOT NULL,
30
- "owner_id" text NOT NULL,
31
- "server_key" text NOT NULL,
32
- "config_fingerprint" text NOT NULL,
33
- "alias" text NOT NULL,
34
- "registry" text NOT NULL,
35
- "package_name" text,
36
- "transport" text NOT NULL,
37
- "server_name" text,
38
- "server_version" text,
39
- "last_status" text NOT NULL,
40
- "last_error" text,
41
- "last_content_hash" text,
42
- "worst_severity" text,
43
- "first_seen_at" timestamp with time zone DEFAULT now() NOT NULL,
44
- "last_scanned_at" timestamp with time zone DEFAULT now() NOT NULL,
45
- "last_changed_at" timestamp with time zone
46
- );
47
- --> statement-breakpoint
48
- CREATE TABLE "mcp_observations" (
49
- "id" serial PRIMARY KEY NOT NULL,
50
- "deployment_id" integer NOT NULL,
51
- "owner_id" text NOT NULL,
52
- "status" text NOT NULL,
53
- "content_hash" text,
54
- "server_version" text,
55
- "error" text,
56
- "source" text NOT NULL,
57
- "scan_count" integer DEFAULT 1 NOT NULL,
58
- "first_seen_at" timestamp with time zone DEFAULT now() NOT NULL,
59
- "last_seen_at" timestamp with time zone DEFAULT now() NOT NULL
60
- );
61
- --> statement-breakpoint
62
- CREATE TABLE "mcp_public_reports" (
63
- "registry" text NOT NULL,
64
- "package_name" text NOT NULL,
65
- "version" text NOT NULL,
66
- "content_hash" text NOT NULL,
67
- "owner_id" text NOT NULL,
68
- "reported_at" timestamp with time zone DEFAULT now() NOT NULL,
69
- CONSTRAINT "mcp_public_reports_registry_package_name_version_content_hash_owner_id_pk" PRIMARY KEY("registry","package_name","version","content_hash","owner_id")
70
- );
71
- --> statement-breakpoint
72
- ALTER TABLE "mcp_change_events" ADD CONSTRAINT "mcp_change_events_deployment_id_mcp_deployments_id_fk" FOREIGN KEY ("deployment_id") REFERENCES "public"."mcp_deployments"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
73
- ALTER TABLE "mcp_observations" ADD CONSTRAINT "mcp_observations_deployment_id_mcp_deployments_id_fk" FOREIGN KEY ("deployment_id") REFERENCES "public"."mcp_deployments"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
74
- CREATE UNIQUE INDEX "mcp_change_events_pair_idx" ON "mcp_change_events" USING btree ("deployment_id","from_hash","to_hash");--> statement-breakpoint
75
- CREATE INDEX "mcp_change_events_owner_idx" ON "mcp_change_events" USING btree ("owner_id","created_at");--> statement-breakpoint
76
- CREATE INDEX "mcp_contracts_contract_idx" ON "mcp_contracts" USING btree ("contract_hash");--> statement-breakpoint
77
- CREATE UNIQUE INDEX "mcp_deployments_identity_idx" ON "mcp_deployments" USING btree ("owner_id","server_key","config_fingerprint");--> statement-breakpoint
78
- CREATE INDEX "mcp_deployments_owner_idx" ON "mcp_deployments" USING btree ("owner_id","last_scanned_at");--> statement-breakpoint
79
- CREATE INDEX "mcp_observations_deployment_idx" ON "mcp_observations" USING btree ("deployment_id","first_seen_at");--> statement-breakpoint
80
- CREATE INDEX "mcp_public_reports_version_idx" ON "mcp_public_reports" USING btree ("registry","package_name","version");
@@ -1,4 +0,0 @@
1
- ALTER TABLE "subscriptions" ADD COLUMN "overage_enabled" boolean DEFAULT false NOT NULL;--> statement-breakpoint
2
- ALTER TABLE "subscriptions" ADD COLUMN "overage_month" text;--> statement-breakpoint
3
- ALTER TABLE "subscriptions" ADD COLUMN "overage_reported" integer DEFAULT 0 NOT NULL;--> statement-breakpoint
4
- ALTER TABLE "subscriptions" ADD COLUMN "billing_interval" text;
@@ -1,38 +0,0 @@
1
- CREATE TABLE "notification_deliveries" (
2
- "id" serial PRIMARY KEY NOT NULL,
3
- "owner_id" text NOT NULL,
4
- "kind" text NOT NULL,
5
- "status" text NOT NULL,
6
- "idempotency_key" text NOT NULL,
7
- "attempts" integer DEFAULT 0 NOT NULL,
8
- "error" text,
9
- "provider_id" text,
10
- "created_at" timestamp with time zone DEFAULT now() NOT NULL,
11
- "sent_at" timestamp with time zone,
12
- CONSTRAINT "notification_deliveries_idempotency_key_unique" UNIQUE("idempotency_key")
13
- );
14
- --> statement-breakpoint
15
- CREATE TABLE "notification_items" (
16
- "item_key" text PRIMARY KEY NOT NULL,
17
- "owner_id" text NOT NULL,
18
- "delivery_id" integer NOT NULL,
19
- "created_at" timestamp with time zone DEFAULT now() NOT NULL
20
- );
21
- --> statement-breakpoint
22
- CREATE TABLE "notification_preferences" (
23
- "owner_id" text PRIMARY KEY NOT NULL,
24
- "urgent_email" boolean DEFAULT true NOT NULL,
25
- "weekly_digest" boolean DEFAULT false NOT NULL,
26
- "unsubscribe_token" text NOT NULL,
27
- "last_digest_at" timestamp with time zone,
28
- "created_at" timestamp with time zone DEFAULT now() NOT NULL,
29
- "updated_at" timestamp with time zone DEFAULT now() NOT NULL,
30
- CONSTRAINT "notification_preferences_unsubscribe_token_unique" UNIQUE("unsubscribe_token")
31
- );
32
- --> statement-breakpoint
33
- ALTER TABLE "notification_items" ADD CONSTRAINT "notification_items_delivery_id_notification_deliveries_id_fk" FOREIGN KEY ("delivery_id") REFERENCES "public"."notification_deliveries"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
34
- CREATE INDEX "notification_deliveries_owner_idx" ON "notification_deliveries" USING btree ("owner_id","kind","created_at");--> statement-breakpoint
35
- CREATE INDEX "notification_deliveries_status_idx" ON "notification_deliveries" USING btree ("status","created_at");--> statement-breakpoint
36
- CREATE INDEX "notification_items_delivery_idx" ON "notification_items" USING btree ("delivery_id");--> statement-breakpoint
37
- CREATE INDEX "mcp_change_events_created_idx" ON "mcp_change_events" USING btree ("created_at");--> statement-breakpoint
38
- CREATE INDEX "repo_alerts_created_idx" ON "repo_alerts" USING btree ("created_at");
@@ -1,21 +0,0 @@
1
- CREATE TABLE "notification_channels" (
2
- "id" serial PRIMARY KEY NOT NULL,
3
- "owner_id" text NOT NULL,
4
- "kind" text NOT NULL,
5
- "label" text,
6
- "url_ciphertext" text NOT NULL,
7
- "url_hint" text NOT NULL,
8
- "signing_secret_ciphertext" text,
9
- "min_severity" text DEFAULT 'high' NOT NULL,
10
- "enabled" boolean DEFAULT true NOT NULL,
11
- "consecutive_failures" integer DEFAULT 0 NOT NULL,
12
- "disabled_reason" text,
13
- "last_delivered_at" timestamp with time zone,
14
- "last_error" text,
15
- "created_at" timestamp with time zone DEFAULT now() NOT NULL,
16
- "updated_at" timestamp with time zone DEFAULT now() NOT NULL,
17
- "deleted_at" timestamp with time zone
18
- );
19
- --> statement-breakpoint
20
- ALTER TABLE "notification_deliveries" ADD COLUMN "channel_id" integer;--> statement-breakpoint
21
- CREATE INDEX "notification_channels_owner_idx" ON "notification_channels" USING btree ("owner_id");