superceo 0.3.9 → 0.3.11

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 (194) hide show
  1. package/dist/index.js +5016 -3155
  2. package/dist/index.js.map +4 -4
  3. package/dist/migrations/0086_blushing_cerebro.sql +1 -0
  4. package/dist/migrations/0087_smart_zuras.sql +65 -0
  5. package/dist/migrations/0088_lead_kinds.sql +32 -0
  6. package/dist/migrations/meta/0086_snapshot.json +18074 -0
  7. package/dist/migrations/meta/0087_snapshot.json +18551 -0
  8. package/dist/migrations/meta/_journal.json +21 -0
  9. package/dist/ui-dist/android-chrome-192x192.png +0 -0
  10. package/dist/ui-dist/android-chrome-512x512.png +0 -0
  11. package/dist/ui-dist/apple-touch-icon.png +0 -0
  12. package/dist/ui-dist/assets/_basePickBy-C249Trf_.js +1 -0
  13. package/dist/ui-dist/assets/_baseUniq-CTvApBUJ.js +1 -0
  14. package/dist/ui-dist/assets/apl-B4CMkyY2.js +1 -0
  15. package/dist/ui-dist/assets/arc-BYA6teu5.js +1 -0
  16. package/dist/ui-dist/assets/architectureDiagram-VXUJARFQ-eXB6QfnC.js +36 -0
  17. package/dist/ui-dist/assets/asciiarmor-Df11BRmG.js +1 -0
  18. package/dist/ui-dist/assets/asn1-EdZsLKOL.js +1 -0
  19. package/dist/ui-dist/assets/asterisk-B-8jnY81.js +1 -0
  20. package/dist/ui-dist/assets/blockDiagram-VD42YOAC-DMIzX_AO.js +122 -0
  21. package/dist/ui-dist/assets/brainfuck-C4LP7Hcl.js +1 -0
  22. package/dist/ui-dist/assets/c4Diagram-YG6GDRKO-C80xMgwJ.js +10 -0
  23. package/dist/ui-dist/assets/channel-Kt9mAvNi.js +1 -0
  24. package/dist/ui-dist/assets/chunk-4BX2VUAB-DKXvVYvA.js +1 -0
  25. package/dist/ui-dist/assets/chunk-55IACEB6-D7O50kd1.js +1 -0
  26. package/dist/ui-dist/assets/chunk-B4BG7PRW-BU5sraLo.js +165 -0
  27. package/dist/ui-dist/assets/chunk-DI55MBZ5-DFWgzS-Q.js +220 -0
  28. package/dist/ui-dist/assets/chunk-FMBD7UC4-Ca_9o5bl.js +15 -0
  29. package/dist/ui-dist/assets/chunk-QN33PNHL-0UwO6Gni.js +1 -0
  30. package/dist/ui-dist/assets/chunk-QZHKN3VN-DGWw0Cd_.js +1 -0
  31. package/dist/ui-dist/assets/chunk-TZMSLE5B-D1laE8TU.js +1 -0
  32. package/dist/ui-dist/assets/classDiagram-2ON5EDUG-CrzcGMuR.js +1 -0
  33. package/dist/ui-dist/assets/classDiagram-v2-WZHVMYZB-CrzcGMuR.js +1 -0
  34. package/dist/ui-dist/assets/clike-B9uivgTg.js +1 -0
  35. package/dist/ui-dist/assets/clojure-BMjYHr_A.js +1 -0
  36. package/dist/ui-dist/assets/clone-DhtyeTi3.js +1 -0
  37. package/dist/ui-dist/assets/cmake-BQqOBYOt.js +1 -0
  38. package/dist/ui-dist/assets/cobol-CWcv1MsR.js +1 -0
  39. package/dist/ui-dist/assets/coffeescript-S37ZYGWr.js +1 -0
  40. package/dist/ui-dist/assets/commonlisp-DBKNyK5s.js +1 -0
  41. package/dist/ui-dist/assets/cose-bilkent-S5V4N54A-y8dU8mjf.js +1 -0
  42. package/dist/ui-dist/assets/crystal-SjHAIU92.js +1 -0
  43. package/dist/ui-dist/assets/css-BnMrqG3P.js +1 -0
  44. package/dist/ui-dist/assets/cypher-C_CwsFkJ.js +1 -0
  45. package/dist/ui-dist/assets/cytoscape.esm-jbPEKk2Y.js +321 -0
  46. package/dist/ui-dist/assets/d-pRatUO7H.js +1 -0
  47. package/dist/ui-dist/assets/dagre-6UL2VRFP-B6dcqfp3.js +4 -0
  48. package/dist/ui-dist/assets/defaultLocale-DX6XiGOO.js +1 -0
  49. package/dist/ui-dist/assets/diagram-PSM6KHXK-IeQCXN28.js +24 -0
  50. package/dist/ui-dist/assets/diagram-QEK2KX5R-BnK9g2ZV.js +43 -0
  51. package/dist/ui-dist/assets/diagram-S2PKOQOG-E0gOOmgp.js +24 -0
  52. package/dist/ui-dist/assets/diff-DbItnlRl.js +1 -0
  53. package/dist/ui-dist/assets/dockerfile-BKs6k2Af.js +1 -0
  54. package/dist/ui-dist/assets/dtd-DF_7sFjM.js +1 -0
  55. package/dist/ui-dist/assets/dylan-DwRh75JA.js +1 -0
  56. package/dist/ui-dist/assets/ebnf-CDyGwa7X.js +1 -0
  57. package/dist/ui-dist/assets/ecl-Cabwm37j.js +1 -0
  58. package/dist/ui-dist/assets/eiffel-CnydiIhH.js +1 -0
  59. package/dist/ui-dist/assets/elm-vLlmbW-K.js +1 -0
  60. package/dist/ui-dist/assets/erDiagram-Q2GNP2WA-L6tsRO7_.js +60 -0
  61. package/dist/ui-dist/assets/erlang-BNw1qcRV.js +1 -0
  62. package/dist/ui-dist/assets/factor-kuTfRLto.js +1 -0
  63. package/dist/ui-dist/assets/fcl-Kvtd6kyn.js +1 -0
  64. package/dist/ui-dist/assets/flowDiagram-NV44I4VS-DSCF8l5y.js +162 -0
  65. package/dist/ui-dist/assets/forth-Ffai-XNe.js +1 -0
  66. package/dist/ui-dist/assets/fortran-DYz_wnZ1.js +1 -0
  67. package/dist/ui-dist/assets/ganttDiagram-JELNMOA3-BMi4KHYr.js +267 -0
  68. package/dist/ui-dist/assets/gas-Bneqetm1.js +1 -0
  69. package/dist/ui-dist/assets/gherkin-heZmZLOM.js +1 -0
  70. package/dist/ui-dist/assets/gitGraphDiagram-V2S2FVAM-VWUlait1.js +65 -0
  71. package/dist/ui-dist/assets/graph-BkLhHGvA.js +1 -0
  72. package/dist/ui-dist/assets/groovy-D9Dt4D0W.js +1 -0
  73. package/dist/ui-dist/assets/haskell-Cw1EW3IL.js +1 -0
  74. package/dist/ui-dist/assets/haxe-H-WmDvRZ.js +1 -0
  75. package/dist/ui-dist/assets/http-DBlCnlav.js +1 -0
  76. package/dist/ui-dist/assets/idl-BEugSyMb.js +1 -0
  77. package/dist/ui-dist/assets/index-8z_amSP8.js +13 -0
  78. package/dist/ui-dist/assets/index-B44_Ufp1.js +1 -0
  79. package/dist/ui-dist/assets/index-BO_CwIEi.js +1 -0
  80. package/dist/ui-dist/assets/index-C49iJjtK.js +1 -0
  81. package/dist/ui-dist/assets/index-C4H63FOl.js +6 -0
  82. package/dist/ui-dist/assets/index-CqPKryHo.js +3 -0
  83. package/dist/ui-dist/assets/index-Cr0yomNi.js +695 -0
  84. package/dist/ui-dist/assets/index-CsxGT9oF.js +1 -0
  85. package/dist/ui-dist/assets/index-D0kQZyqp.js +1 -0
  86. package/dist/ui-dist/assets/index-D12ZhCQn.js +1 -0
  87. package/dist/ui-dist/assets/index-D1fW-KBm.js +2 -0
  88. package/dist/ui-dist/assets/index-DAqMGxyt.js +1 -0
  89. package/dist/ui-dist/assets/index-DDafGMZD.js +1 -0
  90. package/dist/ui-dist/assets/index-DJ0sopR2.js +7 -0
  91. package/dist/ui-dist/assets/index-DKLhgppN.js +1 -0
  92. package/dist/ui-dist/assets/index-DWLL5wfa.css +1 -0
  93. package/dist/ui-dist/assets/index-Db3ILatz.js +1 -0
  94. package/dist/ui-dist/assets/index-DcIq-XSz.js +1 -0
  95. package/dist/ui-dist/assets/index-Dsc0nyfB.js +1 -0
  96. package/dist/ui-dist/assets/index-JaMVMSa5.js +1 -0
  97. package/dist/ui-dist/assets/index-Z_Q1PiZK.js +1 -0
  98. package/dist/ui-dist/assets/index-cLSOW2sv.js +1 -0
  99. package/dist/ui-dist/assets/index-gBwC1Di-.js +1 -0
  100. package/dist/ui-dist/assets/index-t-1Meejd.js +1 -0
  101. package/dist/ui-dist/assets/infoDiagram-HS3SLOUP-rWeZYbAw.js +2 -0
  102. package/dist/ui-dist/assets/init-Gi6I4Gst.js +1 -0
  103. package/dist/ui-dist/assets/javascript-iXu5QeM3.js +1 -0
  104. package/dist/ui-dist/assets/journeyDiagram-XKPGCS4Q-Dyp5viM4.js +139 -0
  105. package/dist/ui-dist/assets/julia-DuME0IfC.js +1 -0
  106. package/dist/ui-dist/assets/kanban-definition-3W4ZIXB7-DlNGXRZC.js +89 -0
  107. package/dist/ui-dist/assets/katex-B95LWT_Q.js +261 -0
  108. package/dist/ui-dist/assets/layout-DMJwpl6V.js +1 -0
  109. package/dist/ui-dist/assets/linear-Kfsxpfkr.js +1 -0
  110. package/dist/ui-dist/assets/livescript-BwQOo05w.js +1 -0
  111. package/dist/ui-dist/assets/lua-BgMRiT3U.js +1 -0
  112. package/dist/ui-dist/assets/mathematica-DTrFuWx2.js +1 -0
  113. package/dist/ui-dist/assets/mbox-CNhZ1qSd.js +1 -0
  114. package/dist/ui-dist/assets/mermaid.core-BtiUU7W0.js +250 -0
  115. package/dist/ui-dist/assets/mindmap-definition-VGOIOE7T-JDTJSzUM.js +68 -0
  116. package/dist/ui-dist/assets/mirc-CjQqDB4T.js +1 -0
  117. package/dist/ui-dist/assets/mllike-CXdrOF99.js +1 -0
  118. package/dist/ui-dist/assets/modelica-Dc1JOy9r.js +1 -0
  119. package/dist/ui-dist/assets/mscgen-BA5vi2Kp.js +1 -0
  120. package/dist/ui-dist/assets/mumps-BT43cFF4.js +1 -0
  121. package/dist/ui-dist/assets/nginx-DdIZxoE0.js +1 -0
  122. package/dist/ui-dist/assets/nsis-LdVXkNf5.js +1 -0
  123. package/dist/ui-dist/assets/ntriples-BfvgReVJ.js +1 -0
  124. package/dist/ui-dist/assets/octave-Ck1zUtKM.js +1 -0
  125. package/dist/ui-dist/assets/ordinal-Cboi1Yqb.js +1 -0
  126. package/dist/ui-dist/assets/oz-BzwKVEFT.js +1 -0
  127. package/dist/ui-dist/assets/pascal--L3eBynH.js +1 -0
  128. package/dist/ui-dist/assets/perl-CdXCOZ3F.js +1 -0
  129. package/dist/ui-dist/assets/pieDiagram-ADFJNKIX-DKBlnQj4.js +30 -0
  130. package/dist/ui-dist/assets/pig-CevX1Tat.js +1 -0
  131. package/dist/ui-dist/assets/powershell-CFHJl5sT.js +1 -0
  132. package/dist/ui-dist/assets/properties-C78fOPTZ.js +1 -0
  133. package/dist/ui-dist/assets/protobuf-ChK-085T.js +1 -0
  134. package/dist/ui-dist/assets/pug-DeIclll2.js +1 -0
  135. package/dist/ui-dist/assets/puppet-DMA9R1ak.js +1 -0
  136. package/dist/ui-dist/assets/python-BuPzkPfP.js +1 -0
  137. package/dist/ui-dist/assets/q-pXgVlZs6.js +1 -0
  138. package/dist/ui-dist/assets/quadrantDiagram-AYHSOK5B-DY-rSPWn.js +7 -0
  139. package/dist/ui-dist/assets/r-B6wPVr8A.js +1 -0
  140. package/dist/ui-dist/assets/requirementDiagram-UZGBJVZJ-N_qgViLJ.js +64 -0
  141. package/dist/ui-dist/assets/rpm-CTu-6PCP.js +1 -0
  142. package/dist/ui-dist/assets/ruby-B2Rjki9n.js +1 -0
  143. package/dist/ui-dist/assets/sankeyDiagram-TZEHDZUN-DeaHu7Vu.js +10 -0
  144. package/dist/ui-dist/assets/sas-B4kiWyti.js +1 -0
  145. package/dist/ui-dist/assets/scheme-C41bIUwD.js +1 -0
  146. package/dist/ui-dist/assets/sequenceDiagram-WL72ISMW-DPdnahqv.js +145 -0
  147. package/dist/ui-dist/assets/shell-CjFT_Tl9.js +1 -0
  148. package/dist/ui-dist/assets/sieve-C3Gn_uJK.js +1 -0
  149. package/dist/ui-dist/assets/simple-mode-GW_nhZxv.js +1 -0
  150. package/dist/ui-dist/assets/smalltalk-CnHTOXQT.js +1 -0
  151. package/dist/ui-dist/assets/solr-DehyRSwq.js +1 -0
  152. package/dist/ui-dist/assets/sparql-DkYu6x3z.js +1 -0
  153. package/dist/ui-dist/assets/spreadsheet-BCZA_wO0.js +1 -0
  154. package/dist/ui-dist/assets/sql-D0XecflT.js +1 -0
  155. package/dist/ui-dist/assets/stateDiagram-FKZM4ZOC-DZ-wCMkK.js +1 -0
  156. package/dist/ui-dist/assets/stateDiagram-v2-4FDKWEC3-DEbMyOKZ.js +1 -0
  157. package/dist/ui-dist/assets/stex-C3f8Ysf7.js +1 -0
  158. package/dist/ui-dist/assets/stylus-B533Al4x.js +1 -0
  159. package/dist/ui-dist/assets/swift-BzpIVaGY.js +1 -0
  160. package/dist/ui-dist/assets/tcl-DVfN8rqt.js +1 -0
  161. package/dist/ui-dist/assets/textile-CnDTJFAw.js +1 -0
  162. package/dist/ui-dist/assets/tiddlywiki-DO-Gjzrf.js +1 -0
  163. package/dist/ui-dist/assets/tiki-DGYXhP31.js +1 -0
  164. package/dist/ui-dist/assets/timeline-definition-IT6M3QCI-C8-Fsp5u.js +61 -0
  165. package/dist/ui-dist/assets/toml-Bm5Em-hy.js +1 -0
  166. package/dist/ui-dist/assets/treemap-GDKQZRPO-IJhOKCM2.js +154 -0
  167. package/dist/ui-dist/assets/troff-wAsdV37c.js +1 -0
  168. package/dist/ui-dist/assets/ttcn-CfJYG6tj.js +1 -0
  169. package/dist/ui-dist/assets/ttcn-cfg-B9xdYoR4.js +1 -0
  170. package/dist/ui-dist/assets/turtle-B1tBg_DP.js +1 -0
  171. package/dist/ui-dist/assets/vb-CmGdzxic.js +1 -0
  172. package/dist/ui-dist/assets/vbscript-BuJXcnF6.js +1 -0
  173. package/dist/ui-dist/assets/velocity-D8B20fx6.js +1 -0
  174. package/dist/ui-dist/assets/verilog-C6RDOZhf.js +1 -0
  175. package/dist/ui-dist/assets/vhdl-lSbBsy5d.js +1 -0
  176. package/dist/ui-dist/assets/webidl-ZXfAyPTL.js +1 -0
  177. package/dist/ui-dist/assets/xquery-DzFWVndE.js +1 -0
  178. package/dist/ui-dist/assets/xychartDiagram-PRI3JC2R-DFq2CfSA.js +7 -0
  179. package/dist/ui-dist/assets/yacas-BJ4BC0dw.js +1 -0
  180. package/dist/ui-dist/assets/z80-Hz9HOZM7.js +1 -0
  181. package/dist/ui-dist/brands/opencode-logo-dark-square.svg +18 -0
  182. package/dist/ui-dist/brands/opencode-logo-light-square.svg +18 -0
  183. package/dist/ui-dist/favicon-16x16.png +0 -0
  184. package/dist/ui-dist/favicon-32x32.png +0 -0
  185. package/dist/ui-dist/favicon.ico +0 -0
  186. package/dist/ui-dist/favicon.svg +9 -0
  187. package/dist/ui-dist/index.html +61 -0
  188. package/dist/ui-dist/site.webmanifest +30 -0
  189. package/dist/ui-dist/sw.js +42 -0
  190. package/dist/ui-dist/worktree-favicon-16x16.png +0 -0
  191. package/dist/ui-dist/worktree-favicon-32x32.png +0 -0
  192. package/dist/ui-dist/worktree-favicon.ico +0 -0
  193. package/dist/ui-dist/worktree-favicon.svg +9 -0
  194. package/package.json +5 -4
@@ -0,0 +1 @@
1
+ ALTER TABLE "companies" ADD COLUMN "metadata" jsonb;
@@ -0,0 +1,65 @@
1
+ CREATE TABLE "email_messages" (
2
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
3
+ "thread_id" uuid NOT NULL,
4
+ "agent_id" uuid,
5
+ "provider" text NOT NULL,
6
+ "external_message_id" text NOT NULL,
7
+ "direction" text NOT NULL,
8
+ "from_address" text NOT NULL,
9
+ "to_addresses" text[] DEFAULT ARRAY[]::text[] NOT NULL,
10
+ "cc_addresses" text[] DEFAULT ARRAY[]::text[] NOT NULL,
11
+ "bcc_addresses" text[] DEFAULT ARRAY[]::text[] NOT NULL,
12
+ "subject" text,
13
+ "body_text" text,
14
+ "body_html" text,
15
+ "labels" text[] DEFAULT ARRAY[]::text[] NOT NULL,
16
+ "sent_at" timestamp with time zone NOT NULL,
17
+ "delivered_at" timestamp with time zone,
18
+ "failed_at" timestamp with time zone,
19
+ "failure_reason" text,
20
+ "raw" jsonb DEFAULT '{}'::jsonb NOT NULL,
21
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL
22
+ );
23
+ --> statement-breakpoint
24
+ CREATE TABLE "email_threads" (
25
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
26
+ "company_id" uuid NOT NULL,
27
+ "agent_id" uuid,
28
+ "provider" text NOT NULL,
29
+ "external_thread_id" text NOT NULL,
30
+ "subject" text,
31
+ "lead_id" uuid,
32
+ "issue_id" uuid,
33
+ "last_message_at" timestamp with time zone NOT NULL,
34
+ "unread" boolean DEFAULT true NOT NULL,
35
+ "archived_at" timestamp with time zone,
36
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
37
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL
38
+ );
39
+ --> statement-breakpoint
40
+ ALTER TABLE "agents" ADD COLUMN "email" text;--> statement-breakpoint
41
+ ALTER TABLE "agents" ADD COLUMN "inbox_id" text;--> statement-breakpoint
42
+ ALTER TABLE "agents" ADD COLUMN "email_provider" text;--> statement-breakpoint
43
+ ALTER TABLE "agents" ADD COLUMN "email_provider_config" jsonb DEFAULT '{}'::jsonb NOT NULL;--> statement-breakpoint
44
+ UPDATE "agents"
45
+ SET
46
+ "email" = "adapter_config"->'env'->>'AGENT_EMAIL',
47
+ "inbox_id" = "adapter_config"->'env'->>'AGENT_INBOX_ID',
48
+ "email_provider" = CASE
49
+ WHEN "adapter_config"->'env'->>'AGENT_EMAIL' IS NOT NULL THEN 'agentmail'
50
+ ELSE NULL
51
+ END
52
+ WHERE "adapter_config"->'env'->>'AGENT_EMAIL' IS NOT NULL;--> statement-breakpoint
53
+ ALTER TABLE "email_messages" ADD CONSTRAINT "email_messages_thread_id_email_threads_id_fk" FOREIGN KEY ("thread_id") REFERENCES "public"."email_threads"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
54
+ ALTER TABLE "email_messages" ADD CONSTRAINT "email_messages_agent_id_agents_id_fk" FOREIGN KEY ("agent_id") REFERENCES "public"."agents"("id") ON DELETE set null ON UPDATE no action;--> statement-breakpoint
55
+ ALTER TABLE "email_threads" ADD CONSTRAINT "email_threads_company_id_companies_id_fk" FOREIGN KEY ("company_id") REFERENCES "public"."companies"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
56
+ ALTER TABLE "email_threads" ADD CONSTRAINT "email_threads_agent_id_agents_id_fk" FOREIGN KEY ("agent_id") REFERENCES "public"."agents"("id") ON DELETE set null ON UPDATE no action;--> statement-breakpoint
57
+ ALTER TABLE "email_threads" ADD CONSTRAINT "email_threads_lead_id_leads_id_fk" FOREIGN KEY ("lead_id") REFERENCES "public"."leads"("id") ON DELETE set null ON UPDATE no action;--> statement-breakpoint
58
+ ALTER TABLE "email_threads" ADD CONSTRAINT "email_threads_issue_id_issues_id_fk" FOREIGN KEY ("issue_id") REFERENCES "public"."issues"("id") ON DELETE set null ON UPDATE no action;--> statement-breakpoint
59
+ CREATE UNIQUE INDEX "email_messages_provider_external_message_idx" ON "email_messages" USING btree ("provider","external_message_id");--> statement-breakpoint
60
+ CREATE INDEX "email_messages_thread_sent_at_idx" ON "email_messages" USING btree ("thread_id","sent_at");--> statement-breakpoint
61
+ CREATE UNIQUE INDEX "email_threads_provider_external_thread_idx" ON "email_threads" USING btree ("provider","external_thread_id");--> statement-breakpoint
62
+ CREATE INDEX "email_threads_company_last_message_idx" ON "email_threads" USING btree ("company_id","last_message_at");--> statement-breakpoint
63
+ CREATE INDEX "email_threads_agent_last_message_idx" ON "email_threads" USING btree ("agent_id","last_message_at");--> statement-breakpoint
64
+ CREATE INDEX "email_threads_lead_idx" ON "email_threads" USING btree ("lead_id");--> statement-breakpoint
65
+ CREATE INDEX "agents_email_idx" ON "agents" USING btree ("email");
@@ -0,0 +1,32 @@
1
+ -- 0088_lead_kinds: per-company configurable lead kinds.
2
+ -- Replaces the hardcoded TS enum (editor | brand | journalist | partner | investor | other).
3
+ -- Seeds the existing values into every company so historical leads keep validating.
4
+
5
+ CREATE TABLE IF NOT EXISTS "lead_kinds" (
6
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid(),
7
+ "company_id" uuid NOT NULL REFERENCES "companies"("id") ON DELETE CASCADE,
8
+ "key" text NOT NULL,
9
+ "label" text NOT NULL,
10
+ "color" text NOT NULL,
11
+ "is_default" boolean NOT NULL DEFAULT false,
12
+ "sort_order" integer NOT NULL DEFAULT 0,
13
+ "created_at" timestamptz NOT NULL DEFAULT now(),
14
+ "updated_at" timestamptz NOT NULL DEFAULT now()
15
+ );
16
+
17
+ CREATE INDEX IF NOT EXISTS "lead_kinds_company_idx" ON "lead_kinds" ("company_id");
18
+ CREATE UNIQUE INDEX IF NOT EXISTS "lead_kinds_company_key_idx" ON "lead_kinds" ("company_id", "key");
19
+
20
+ -- Seed default kinds into every existing company.
21
+ INSERT INTO "lead_kinds" ("company_id", "key", "label", "color", "is_default", "sort_order")
22
+ SELECT c.id, v.key, v.label, v.color, v.is_default, v.sort_order
23
+ FROM "companies" c
24
+ CROSS JOIN (VALUES
25
+ ('editor', 'Editor', '#a78bfa', true, 0),
26
+ ('brand', 'Brand', '#f472b6', false, 1),
27
+ ('journalist', 'Journalist', '#60a5fa', false, 2),
28
+ ('partner', 'Partner', '#34d399', false, 3),
29
+ ('investor', 'Investor', '#fbbf24', false, 4),
30
+ ('other', 'Other', '#9ca3af', false, 5)
31
+ ) AS v(key, label, color, is_default, sort_order)
32
+ ON CONFLICT ("company_id", "key") DO NOTHING;