@sprinterai/supabase 0.4.1 → 0.6.0

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 (257) hide show
  1. package/dist/auth/adapter.js +3 -3
  2. package/dist/auth/guards.d.ts +27 -0
  3. package/dist/auth/guards.d.ts.map +1 -0
  4. package/dist/auth/guards.js +61 -0
  5. package/dist/auth/guards.js.map +1 -0
  6. package/dist/auth/index.d.ts +6 -4
  7. package/dist/auth/index.d.ts.map +1 -1
  8. package/dist/auth/index.js +5 -3
  9. package/dist/auth/index.js.map +1 -1
  10. package/dist/auth/permissions.d.ts +9 -1
  11. package/dist/auth/permissions.d.ts.map +1 -1
  12. package/dist/auth/permissions.js +13 -0
  13. package/dist/auth/permissions.js.map +1 -1
  14. package/dist/clients/admin.d.ts +3 -1
  15. package/dist/clients/admin.d.ts.map +1 -1
  16. package/dist/clients/admin.js +3 -3
  17. package/dist/clients/admin.js.map +1 -1
  18. package/dist/clients/browser.d.ts +3 -1
  19. package/dist/clients/browser.d.ts.map +1 -1
  20. package/dist/clients/browser.js +3 -3
  21. package/dist/clients/browser.js.map +1 -1
  22. package/dist/clients/index.d.ts +3 -3
  23. package/dist/clients/index.js +3 -3
  24. package/dist/clients/server.d.ts +2 -1
  25. package/dist/clients/server.d.ts.map +1 -1
  26. package/dist/clients/server.js +1 -1
  27. package/dist/clients/server.js.map +1 -1
  28. package/dist/generated/database-types.d.ts +4020 -0
  29. package/dist/generated/database-types.d.ts.map +1 -0
  30. package/dist/generated/database-types.js +97 -0
  31. package/dist/generated/database-types.js.map +1 -0
  32. package/dist/generated/index.d.ts +48 -0
  33. package/dist/generated/index.d.ts.map +1 -0
  34. package/dist/generated/index.js +2 -0
  35. package/dist/generated/index.js.map +1 -0
  36. package/dist/index.d.ts +12 -10
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +7 -5
  39. package/dist/index.js.map +1 -1
  40. package/dist/realtime/index.d.ts +2 -2
  41. package/dist/realtime/index.js +1 -1
  42. package/dist/resolvers.d.ts +23 -0
  43. package/dist/resolvers.d.ts.map +1 -0
  44. package/dist/resolvers.js +57 -0
  45. package/dist/resolvers.js.map +1 -0
  46. package/dist/stores/activity-store.d.ts +21 -0
  47. package/dist/stores/activity-store.d.ts.map +1 -0
  48. package/dist/stores/activity-store.js +122 -0
  49. package/dist/stores/activity-store.js.map +1 -0
  50. package/dist/stores/admin-store.d.ts +27 -0
  51. package/dist/stores/admin-store.d.ts.map +1 -0
  52. package/dist/stores/admin-store.js +171 -0
  53. package/dist/stores/admin-store.js.map +1 -0
  54. package/dist/stores/agent-store.d.ts +6 -2
  55. package/dist/stores/agent-store.d.ts.map +1 -1
  56. package/dist/stores/agent-store.js +83 -6
  57. package/dist/stores/agent-store.js.map +1 -1
  58. package/dist/stores/approval-store.d.ts +19 -0
  59. package/dist/stores/approval-store.d.ts.map +1 -0
  60. package/dist/stores/approval-store.js +108 -0
  61. package/dist/stores/approval-store.js.map +1 -0
  62. package/dist/stores/chat-store.d.ts +3 -1
  63. package/dist/stores/chat-store.d.ts.map +1 -1
  64. package/dist/stores/chat-store.js +47 -36
  65. package/dist/stores/chat-store.js.map +1 -1
  66. package/dist/stores/comment-store.d.ts +13 -0
  67. package/dist/stores/comment-store.d.ts.map +1 -0
  68. package/dist/stores/comment-store.js +67 -0
  69. package/dist/stores/comment-store.js.map +1 -0
  70. package/dist/stores/cost-store.d.ts +15 -0
  71. package/dist/stores/cost-store.d.ts.map +1 -0
  72. package/dist/stores/cost-store.js +69 -0
  73. package/dist/stores/cost-store.js.map +1 -0
  74. package/dist/stores/criteria-set-store.d.ts +16 -0
  75. package/dist/stores/criteria-set-store.d.ts.map +1 -0
  76. package/dist/stores/criteria-set-store.js +127 -0
  77. package/dist/stores/criteria-set-store.js.map +1 -0
  78. package/dist/stores/document-store.d.ts +21 -0
  79. package/dist/stores/document-store.d.ts.map +1 -0
  80. package/dist/stores/document-store.js +191 -0
  81. package/dist/stores/document-store.js.map +1 -0
  82. package/dist/stores/embed-store.d.ts +11 -0
  83. package/dist/stores/embed-store.d.ts.map +1 -0
  84. package/dist/stores/embed-store.js +71 -0
  85. package/dist/stores/embed-store.js.map +1 -0
  86. package/dist/stores/entity-store.d.ts +7 -2
  87. package/dist/stores/entity-store.d.ts.map +1 -1
  88. package/dist/stores/entity-store.js +163 -37
  89. package/dist/stores/entity-store.js.map +1 -1
  90. package/dist/stores/extraction-store.d.ts +18 -0
  91. package/dist/stores/extraction-store.d.ts.map +1 -0
  92. package/dist/stores/extraction-store.js +170 -0
  93. package/dist/stores/extraction-store.js.map +1 -0
  94. package/dist/stores/factory.d.ts +29 -2
  95. package/dist/stores/factory.d.ts.map +1 -1
  96. package/dist/stores/factory.js +60 -9
  97. package/dist/stores/factory.js.map +1 -1
  98. package/dist/stores/favorites-store.d.ts +13 -0
  99. package/dist/stores/favorites-store.d.ts.map +1 -0
  100. package/dist/stores/favorites-store.js +53 -0
  101. package/dist/stores/favorites-store.js.map +1 -0
  102. package/dist/stores/feedback-store.d.ts +12 -0
  103. package/dist/stores/feedback-store.d.ts.map +1 -0
  104. package/dist/stores/feedback-store.js +59 -0
  105. package/dist/stores/feedback-store.js.map +1 -0
  106. package/dist/stores/inbound-store.d.ts +16 -0
  107. package/dist/stores/inbound-store.d.ts.map +1 -0
  108. package/dist/stores/inbound-store.js +133 -0
  109. package/dist/stores/inbound-store.js.map +1 -0
  110. package/dist/stores/index.d.ts +36 -10
  111. package/dist/stores/index.d.ts.map +1 -1
  112. package/dist/stores/index.js +35 -9
  113. package/dist/stores/index.js.map +1 -1
  114. package/dist/stores/member-store.d.ts +23 -0
  115. package/dist/stores/member-store.d.ts.map +1 -0
  116. package/dist/stores/member-store.js +121 -0
  117. package/dist/stores/member-store.js.map +1 -0
  118. package/dist/stores/memory-store.d.ts +4 -1
  119. package/dist/stores/memory-store.d.ts.map +1 -1
  120. package/dist/stores/memory-store.js +31 -3
  121. package/dist/stores/memory-store.js.map +1 -1
  122. package/dist/stores/nav-config-store.d.ts +13 -0
  123. package/dist/stores/nav-config-store.d.ts.map +1 -0
  124. package/dist/stores/nav-config-store.js +104 -0
  125. package/dist/stores/nav-config-store.js.map +1 -0
  126. package/dist/stores/notification-store.d.ts +15 -0
  127. package/dist/stores/notification-store.d.ts.map +1 -0
  128. package/dist/stores/notification-store.js +88 -0
  129. package/dist/stores/notification-store.js.map +1 -0
  130. package/dist/stores/recent-view-store.d.ts +11 -0
  131. package/dist/stores/recent-view-store.d.ts.map +1 -0
  132. package/dist/stores/recent-view-store.js +39 -0
  133. package/dist/stores/recent-view-store.js.map +1 -0
  134. package/dist/stores/response-store.d.ts +15 -0
  135. package/dist/stores/response-store.d.ts.map +1 -0
  136. package/dist/stores/response-store.js +294 -0
  137. package/dist/stores/response-store.js.map +1 -0
  138. package/dist/stores/share-store.d.ts +14 -0
  139. package/dist/stores/share-store.d.ts.map +1 -0
  140. package/dist/stores/share-store.js +153 -0
  141. package/dist/stores/share-store.js.map +1 -0
  142. package/dist/stores/shared-context-store.d.ts +12 -0
  143. package/dist/stores/shared-context-store.d.ts.map +1 -0
  144. package/dist/stores/shared-context-store.js +55 -0
  145. package/dist/stores/shared-context-store.js.map +1 -0
  146. package/dist/stores/skill-store.d.ts +21 -0
  147. package/dist/stores/skill-store.d.ts.map +1 -0
  148. package/dist/stores/skill-store.js +163 -0
  149. package/dist/stores/skill-store.js.map +1 -0
  150. package/dist/stores/source-store.d.ts +23 -0
  151. package/dist/stores/source-store.d.ts.map +1 -0
  152. package/dist/stores/source-store.js +111 -0
  153. package/dist/stores/source-store.js.map +1 -0
  154. package/dist/stores/task-store.d.ts +2 -1
  155. package/dist/stores/task-store.d.ts.map +1 -1
  156. package/dist/stores/task-store.js +58 -6
  157. package/dist/stores/task-store.js.map +1 -1
  158. package/dist/stores/template-store.d.ts +16 -0
  159. package/dist/stores/template-store.d.ts.map +1 -0
  160. package/dist/stores/template-store.js +136 -0
  161. package/dist/stores/template-store.js.map +1 -0
  162. package/dist/stores/tenant-store.d.ts +2 -1
  163. package/dist/stores/tenant-store.d.ts.map +1 -1
  164. package/dist/stores/tenant-store.js +2 -2
  165. package/dist/stores/tenant-store.js.map +1 -1
  166. package/dist/stores/theme-store.d.ts +11 -0
  167. package/dist/stores/theme-store.d.ts.map +1 -0
  168. package/dist/stores/theme-store.js +41 -0
  169. package/dist/stores/theme-store.js.map +1 -0
  170. package/dist/stores/tool-definition-store.d.ts +18 -0
  171. package/dist/stores/tool-definition-store.d.ts.map +1 -0
  172. package/dist/stores/tool-definition-store.js +129 -0
  173. package/dist/stores/tool-definition-store.js.map +1 -0
  174. package/dist/stores/tool-store.d.ts +21 -2
  175. package/dist/stores/tool-store.d.ts.map +1 -1
  176. package/dist/stores/tool-store.js +112 -2
  177. package/dist/stores/tool-store.js.map +1 -1
  178. package/dist/stores/view-store.d.ts +8 -4
  179. package/dist/stores/view-store.d.ts.map +1 -1
  180. package/dist/stores/view-store.js +94 -14
  181. package/dist/stores/view-store.js.map +1 -1
  182. package/dist/stores/webhook-endpoint-store.d.ts +18 -0
  183. package/dist/stores/webhook-endpoint-store.d.ts.map +1 -0
  184. package/dist/stores/webhook-endpoint-store.js +56 -0
  185. package/dist/stores/webhook-endpoint-store.js.map +1 -0
  186. package/dist/stores/workflow-run-store.d.ts +23 -0
  187. package/dist/stores/workflow-run-store.d.ts.map +1 -0
  188. package/dist/stores/workflow-run-store.js +201 -0
  189. package/dist/stores/workflow-run-store.js.map +1 -0
  190. package/dist/tenant/actions.js +1 -1
  191. package/dist/tenant/context.js +1 -1
  192. package/dist/tenant/index.d.ts +5 -5
  193. package/dist/tenant/index.js +4 -4
  194. package/dist/types/index.d.ts +5 -4
  195. package/dist/types/index.d.ts.map +1 -1
  196. package/dist/types/index.js +1 -1
  197. package/package.json +10 -5
  198. package/dist/__test-utils__/mock-supabase.d.ts +0 -18
  199. package/dist/__test-utils__/mock-supabase.d.ts.map +0 -1
  200. package/dist/__test-utils__/mock-supabase.js +0 -89
  201. package/dist/__test-utils__/mock-supabase.js.map +0 -1
  202. package/dist/auth/claims.test.d.ts +0 -2
  203. package/dist/auth/claims.test.d.ts.map +0 -1
  204. package/dist/auth/claims.test.js +0 -32
  205. package/dist/auth/claims.test.js.map +0 -1
  206. package/dist/auth/permissions.test.d.ts +0 -2
  207. package/dist/auth/permissions.test.d.ts.map +0 -1
  208. package/dist/auth/permissions.test.js +0 -40
  209. package/dist/auth/permissions.test.js.map +0 -1
  210. package/dist/clients/admin.test.d.ts +0 -2
  211. package/dist/clients/admin.test.d.ts.map +0 -1
  212. package/dist/clients/admin.test.js +0 -31
  213. package/dist/clients/admin.test.js.map +0 -1
  214. package/dist/clients/browser.test.d.ts +0 -2
  215. package/dist/clients/browser.test.d.ts.map +0 -1
  216. package/dist/clients/browser.test.js +0 -29
  217. package/dist/clients/browser.test.js.map +0 -1
  218. package/dist/clients/server.test.d.ts +0 -2
  219. package/dist/clients/server.test.d.ts.map +0 -1
  220. package/dist/clients/server.test.js +0 -26
  221. package/dist/clients/server.test.js.map +0 -1
  222. package/dist/stores/agent-store.test.d.ts +0 -2
  223. package/dist/stores/agent-store.test.d.ts.map +0 -1
  224. package/dist/stores/agent-store.test.js +0 -64
  225. package/dist/stores/agent-store.test.js.map +0 -1
  226. package/dist/stores/chat-store.test.d.ts +0 -2
  227. package/dist/stores/chat-store.test.d.ts.map +0 -1
  228. package/dist/stores/chat-store.test.js +0 -83
  229. package/dist/stores/chat-store.test.js.map +0 -1
  230. package/dist/stores/entity-store.test.d.ts +0 -2
  231. package/dist/stores/entity-store.test.d.ts.map +0 -1
  232. package/dist/stores/entity-store.test.js +0 -125
  233. package/dist/stores/entity-store.test.js.map +0 -1
  234. package/dist/stores/factory.test.d.ts +0 -2
  235. package/dist/stores/factory.test.d.ts.map +0 -1
  236. package/dist/stores/factory.test.js +0 -41
  237. package/dist/stores/factory.test.js.map +0 -1
  238. package/dist/stores/memory-store.test.d.ts +0 -2
  239. package/dist/stores/memory-store.test.d.ts.map +0 -1
  240. package/dist/stores/memory-store.test.js +0 -70
  241. package/dist/stores/memory-store.test.js.map +0 -1
  242. package/dist/stores/task-store.test.d.ts +0 -2
  243. package/dist/stores/task-store.test.d.ts.map +0 -1
  244. package/dist/stores/task-store.test.js +0 -86
  245. package/dist/stores/task-store.test.js.map +0 -1
  246. package/dist/stores/tool-store.test.d.ts +0 -2
  247. package/dist/stores/tool-store.test.d.ts.map +0 -1
  248. package/dist/stores/tool-store.test.js +0 -56
  249. package/dist/stores/tool-store.test.js.map +0 -1
  250. package/dist/stores/view-store.test.d.ts +0 -2
  251. package/dist/stores/view-store.test.d.ts.map +0 -1
  252. package/dist/stores/view-store.test.js +0 -57
  253. package/dist/stores/view-store.test.js.map +0 -1
  254. package/dist/tenant/constants.test.d.ts +0 -2
  255. package/dist/tenant/constants.test.d.ts.map +0 -1
  256. package/dist/tenant/constants.test.js +0 -25
  257. package/dist/tenant/constants.test.js.map +0 -1
@@ -1,83 +0,0 @@
1
- import { describe, it, expect } from "vitest";
2
- import { SupabaseChatStore } from "./chat-store";
3
- import { createMockClient } from "../__test-utils__/mock-supabase";
4
- describe("SupabaseChatStore", () => {
5
- describe("createChat", () => {
6
- it("creates a chat and returns ConversationListItem", async () => {
7
- const client = createMockClient();
8
- const chat = {
9
- id: "chat-1",
10
- title: "Test Chat",
11
- chat_type: "ai",
12
- created_at: "2026-01-01",
13
- updated_at: "2026-01-01",
14
- };
15
- client.mockTable("chats", { data: chat, error: null });
16
- const store = new SupabaseChatStore(client);
17
- const result = await store.createChat({
18
- title: "Test Chat",
19
- chatType: "ai",
20
- });
21
- expect(result.id).toBe("chat-1");
22
- expect(result.chat_type).toBe("ai");
23
- expect(result.participants).toEqual([]);
24
- });
25
- });
26
- describe("getMessages", () => {
27
- it("returns messages for a chat", async () => {
28
- const client = createMockClient();
29
- const messages = [
30
- {
31
- id: "m-1",
32
- chat_id: "chat-1",
33
- sender_type: "user",
34
- content: "Hello",
35
- created_at: "2026-01-01",
36
- },
37
- {
38
- id: "m-2",
39
- chat_id: "chat-1",
40
- sender_type: "agent",
41
- content: "Hi!",
42
- created_at: "2026-01-02",
43
- },
44
- ];
45
- client.mockTable("messages", { data: messages, error: null });
46
- const store = new SupabaseChatStore(client);
47
- const result = await store.getMessages("chat-1");
48
- expect(result).toHaveLength(2);
49
- });
50
- });
51
- describe("saveMessage", () => {
52
- it("inserts a message and updates chat timestamp", async () => {
53
- const client = createMockClient();
54
- const saved = {
55
- id: "m-new",
56
- chat_id: "chat-1",
57
- sender_type: "user",
58
- content: "Hello",
59
- created_at: "2026-01-01",
60
- };
61
- client.mockTable("messages", { data: saved, error: null });
62
- client.mockTable("chats", { data: null, error: null });
63
- const store = new SupabaseChatStore(client);
64
- const result = await store.saveMessage("chat-1", {
65
- content: "Hello",
66
- senderType: "user",
67
- senderId: "user-1",
68
- });
69
- expect(result.id).toBe("m-new");
70
- expect(result.content).toBe("Hello");
71
- });
72
- });
73
- describe("getChatsByUser", () => {
74
- it("returns empty array when user has no chats", async () => {
75
- const client = createMockClient();
76
- client.mockTable("chat_participants", { data: [], error: null });
77
- const store = new SupabaseChatStore(client);
78
- const result = await store.getChatsByUser("user-1");
79
- expect(result).toEqual([]);
80
- });
81
- });
82
- });
83
- //# sourceMappingURL=chat-store.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chat-store.test.js","sourceRoot":"","sources":["../../src/stores/chat-store.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=entity-store.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"entity-store.test.d.ts","sourceRoot":"","sources":["../../src/stores/entity-store.test.ts"],"names":[],"mappings":""}
@@ -1,125 +0,0 @@
1
- import { describe, it, expect } from "vitest";
2
- import { SupabaseEntityStore } from "./entity-store";
3
- import { createMockClient } from "../__test-utils__/mock-supabase";
4
- describe("SupabaseEntityStore", () => {
5
- describe("getEntityType", () => {
6
- it("returns entity type by slug", async () => {
7
- const client = createMockClient();
8
- const entityType = {
9
- id: "et-1",
10
- slug: "opportunity",
11
- name: "Opportunity",
12
- };
13
- client.mockTable("entity_types", { data: entityType, error: null });
14
- const store = new SupabaseEntityStore(client);
15
- const result = await store.getEntityType("opportunity");
16
- expect(result).toEqual(entityType);
17
- });
18
- it("returns null when entity type not found", async () => {
19
- const client = createMockClient();
20
- client.mockTable("entity_types", { data: null, error: null });
21
- const store = new SupabaseEntityStore(client);
22
- const result = await store.getEntityType("nonexistent");
23
- expect(result).toBeNull();
24
- });
25
- });
26
- describe("listEntityTypes", () => {
27
- it("returns all entity types", async () => {
28
- const client = createMockClient();
29
- const types = [
30
- { id: "et-1", slug: "opportunity", name: "Opportunity" },
31
- { id: "et-2", slug: "company", name: "Company" },
32
- ];
33
- client.mockTable("entity_types", { data: types, error: null });
34
- const store = new SupabaseEntityStore(client);
35
- const result = await store.listEntityTypes();
36
- expect(result).toHaveLength(2);
37
- expect(result[0].slug).toBe("opportunity");
38
- });
39
- });
40
- describe("getEntity", () => {
41
- it("returns entity with joined entity type", async () => {
42
- const client = createMockClient();
43
- const entity = {
44
- id: "e-1",
45
- title: "Test Entity",
46
- entity_type: { slug: "opportunity" },
47
- };
48
- client.mockTable("entities", { data: entity, error: null });
49
- const store = new SupabaseEntityStore(client);
50
- const result = await store.getEntity("e-1");
51
- expect(result).toEqual(entity);
52
- });
53
- it("returns null when entity not found", async () => {
54
- const client = createMockClient();
55
- client.mockTable("entities", { data: null, error: null });
56
- const store = new SupabaseEntityStore(client);
57
- const result = await store.getEntity("nonexistent");
58
- expect(result).toBeNull();
59
- });
60
- });
61
- describe("searchEntities", () => {
62
- it("returns matching entities", async () => {
63
- const client = createMockClient();
64
- const entities = [
65
- { id: "e-1", title: "Alpha" },
66
- { id: "e-2", title: "Also Alpha" },
67
- ];
68
- client.mockTable("entities", { data: entities, error: null });
69
- const store = new SupabaseEntityStore(client);
70
- const result = await store.searchEntities("alpha");
71
- expect(result).toHaveLength(2);
72
- });
73
- it("returns empty array when no matches", async () => {
74
- const client = createMockClient();
75
- client.mockTable("entities", { data: [], error: null });
76
- const store = new SupabaseEntityStore(client);
77
- const result = await store.searchEntities("nonexistent");
78
- expect(result).toEqual([]);
79
- });
80
- });
81
- describe("createEntity", () => {
82
- it("creates an entity and logs activity", async () => {
83
- const client = createMockClient();
84
- const entityType = {
85
- id: "et-1",
86
- slug: "opportunity",
87
- tenant_id: "t-1",
88
- };
89
- const created = {
90
- id: "e-new",
91
- tenant_id: "t-1",
92
- title: "New Entity",
93
- entity_type_slug: "opportunity",
94
- };
95
- // Mock entity_types for getEntityType lookup
96
- client.mockTable("entity_types", { data: entityType, error: null });
97
- const store = new SupabaseEntityStore(client);
98
- // Override entities table to return the created entity
99
- client.mockTable("entities", { data: created, error: null });
100
- // Activities table just needs no error
101
- client.mockTable("activities", { data: null, error: null });
102
- const result = await store.createEntity({
103
- typeSlug: "opportunity",
104
- title: "New Entity",
105
- content: { value: 100 },
106
- });
107
- expect(result.id).toBe("e-new");
108
- });
109
- });
110
- describe("getEntityCounts", () => {
111
- it("counts entities per type slug", async () => {
112
- const client = createMockClient();
113
- const entities = [
114
- { entity_type_slug: "opportunity" },
115
- { entity_type_slug: "opportunity" },
116
- { entity_type_slug: "company" },
117
- ];
118
- client.mockTable("entities", { data: entities, error: null });
119
- const store = new SupabaseEntityStore(client);
120
- const counts = await store.getEntityCounts("t-1");
121
- expect(counts).toEqual({ opportunity: 2, company: 1 });
122
- });
123
- });
124
- });
125
- //# sourceMappingURL=entity-store.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"entity-store.test.js","sourceRoot":"","sources":["../../src/stores/entity-store.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=factory.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"factory.test.d.ts","sourceRoot":"","sources":["../../src/stores/factory.test.ts"],"names":[],"mappings":""}
@@ -1,41 +0,0 @@
1
- import { describe, it, expect } from "vitest";
2
- import { createSupabaseStores } from "./factory";
3
- import { SupabaseEntityStore } from "./entity-store";
4
- import { SupabaseAgentStore } from "./agent-store";
5
- import { SupabaseChatStore } from "./chat-store";
6
- import { SupabaseTenantStore } from "./tenant-store";
7
- import { SupabaseToolStore } from "./tool-store";
8
- import { SupabaseTaskStore } from "./task-store";
9
- import { SupabaseMemoryStore } from "./memory-store";
10
- import { SupabaseViewStore } from "./view-store";
11
- import { createMockClient } from "../__test-utils__/mock-supabase";
12
- describe("createSupabaseStores", () => {
13
- it("creates all store instances from a single client", () => {
14
- const client = createMockClient();
15
- const stores = createSupabaseStores(client);
16
- expect(stores.entities).toBeInstanceOf(SupabaseEntityStore);
17
- expect(stores.agents).toBeInstanceOf(SupabaseAgentStore);
18
- expect(stores.chat).toBeInstanceOf(SupabaseChatStore);
19
- expect(stores.tenant).toBeInstanceOf(SupabaseTenantStore);
20
- expect(stores.tools).toBeInstanceOf(SupabaseToolStore);
21
- expect(stores.tasks).toBeInstanceOf(SupabaseTaskStore);
22
- expect(stores.memory).toBeInstanceOf(SupabaseMemoryStore);
23
- expect(stores.views).toBeInstanceOf(SupabaseViewStore);
24
- });
25
- it("returns all expected store keys", () => {
26
- const client = createMockClient();
27
- const stores = createSupabaseStores(client);
28
- const keys = Object.keys(stores).sort();
29
- expect(keys).toEqual([
30
- "agents",
31
- "chat",
32
- "entities",
33
- "memory",
34
- "tasks",
35
- "tenant",
36
- "tools",
37
- "views",
38
- ]);
39
- });
40
- });
41
- //# sourceMappingURL=factory.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"factory.test.js","sourceRoot":"","sources":["../../src/stores/factory.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAE5C,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;QAC5D,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;QACzD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;QAC1D,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;QAC1D,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAExC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;YACnB,QAAQ;YACR,MAAM;YACN,UAAU;YACV,QAAQ;YACR,OAAO;YACP,QAAQ;YACR,OAAO;YACP,OAAO;SACR,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=memory-store.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memory-store.test.d.ts","sourceRoot":"","sources":["../../src/stores/memory-store.test.ts"],"names":[],"mappings":""}
@@ -1,70 +0,0 @@
1
- import { describe, it, expect } from "vitest";
2
- import { SupabaseMemoryStore } from "./memory-store";
3
- import { createMockClient } from "../__test-utils__/mock-supabase";
4
- describe("SupabaseMemoryStore", () => {
5
- describe("getUserMemories", () => {
6
- it("returns memories for a user", async () => {
7
- const client = createMockClient();
8
- const memories = [
9
- {
10
- id: "m-1",
11
- user_id: "user-1",
12
- content: "Prefers dark mode",
13
- source: "user",
14
- },
15
- {
16
- id: "m-2",
17
- user_id: "user-1",
18
- content: "Focuses on PE deals",
19
- source: "agent",
20
- },
21
- ];
22
- client.mockTable("user_memories", { data: memories, error: null });
23
- const store = new SupabaseMemoryStore(client);
24
- const result = await store.getUserMemories("user-1");
25
- expect(result).toHaveLength(2);
26
- });
27
- });
28
- describe("saveMemory", () => {
29
- it("saves a new memory", async () => {
30
- const client = createMockClient();
31
- const memory = {
32
- id: "m-new",
33
- user_id: "user-1",
34
- content: "New preference",
35
- source: "user",
36
- created_at: "2026-01-01",
37
- updated_at: "2026-01-01",
38
- };
39
- client.mockTable("user_memories", { data: memory, error: null });
40
- const store = new SupabaseMemoryStore(client);
41
- const result = await store.saveMemory({
42
- userId: "user-1",
43
- content: "New preference",
44
- source: "user",
45
- });
46
- expect(result.id).toBe("m-new");
47
- });
48
- });
49
- describe("deleteMemory", () => {
50
- it("deletes a memory without error", async () => {
51
- const client = createMockClient();
52
- client.mockTable("user_memories", { data: null, error: null });
53
- const store = new SupabaseMemoryStore(client);
54
- await expect(store.deleteMemory("m-1")).resolves.not.toThrow();
55
- });
56
- });
57
- describe("searchSimilarMessages", () => {
58
- it("returns matching memories via ilike fallback", async () => {
59
- const client = createMockClient();
60
- const memories = [
61
- { id: "m-1", content: "PE deal analysis", source: "agent" },
62
- ];
63
- client.mockTable("user_memories", { data: memories, error: null });
64
- const store = new SupabaseMemoryStore(client);
65
- const result = await store.searchSimilarMessages("PE deal");
66
- expect(result).toHaveLength(1);
67
- });
68
- });
69
- });
70
- //# sourceMappingURL=memory-store.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memory-store.test.js","sourceRoot":"","sources":["../../src/stores/memory-store.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=task-store.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"task-store.test.d.ts","sourceRoot":"","sources":["../../src/stores/task-store.test.ts"],"names":[],"mappings":""}
@@ -1,86 +0,0 @@
1
- import { describe, it, expect } from "vitest";
2
- import { SupabaseTaskStore } from "./task-store";
3
- import { createMockClient } from "../__test-utils__/mock-supabase";
4
- describe("SupabaseTaskStore", () => {
5
- describe("getTask", () => {
6
- it("returns task by ID", async () => {
7
- const client = createMockClient();
8
- const task = {
9
- id: "task-1",
10
- title: "Review proposal",
11
- status: "pending",
12
- };
13
- client.mockTable("tasks", { data: task, error: null });
14
- const store = new SupabaseTaskStore(client);
15
- const result = await store.getTask("task-1");
16
- expect(result).toEqual(task);
17
- });
18
- it("returns null when not found", async () => {
19
- const client = createMockClient();
20
- client.mockTable("tasks", { data: null, error: null });
21
- const store = new SupabaseTaskStore(client);
22
- const result = await store.getTask("nonexistent");
23
- expect(result).toBeNull();
24
- });
25
- });
26
- describe("listTasks", () => {
27
- it("returns tasks", async () => {
28
- const client = createMockClient();
29
- const tasks = [
30
- { id: "task-1", status: "pending" },
31
- { id: "task-2", status: "completed" },
32
- ];
33
- client.mockTable("tasks", { data: tasks, error: null });
34
- const store = new SupabaseTaskStore(client);
35
- const result = await store.listTasks();
36
- expect(result).toHaveLength(2);
37
- });
38
- });
39
- describe("createTask", () => {
40
- it("creates a task", async () => {
41
- const client = createMockClient();
42
- const task = {
43
- id: "task-new",
44
- title: "New task",
45
- status: "pending",
46
- created_at: "2026-01-01",
47
- updated_at: "2026-01-01",
48
- };
49
- client.mockTable("tasks", { data: task, error: null });
50
- const store = new SupabaseTaskStore(client);
51
- const result = await store.createTask({
52
- tenant_id: "t-1",
53
- title: "New task",
54
- description: null,
55
- status: "pending",
56
- assignee_type: null,
57
- assignee_id: null,
58
- entity_id: null,
59
- parent_task_id: null,
60
- metadata: null,
61
- due_at: null,
62
- completed_at: null,
63
- created_by: "user-1",
64
- });
65
- expect(result.id).toBe("task-new");
66
- });
67
- });
68
- describe("updateTask", () => {
69
- it("updates a task using array pattern", async () => {
70
- const client = createMockClient();
71
- const updated = {
72
- id: "task-1",
73
- title: "Updated task",
74
- status: "completed",
75
- };
76
- client.mockTable("tasks", { data: [updated], error: null });
77
- const store = new SupabaseTaskStore(client);
78
- const result = await store.updateTask("task-1", {
79
- status: "completed",
80
- completed_at: "2026-01-01",
81
- });
82
- expect(result.status).toBe("completed");
83
- });
84
- });
85
- });
86
- //# sourceMappingURL=task-store.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"task-store.test.js","sourceRoot":"","sources":["../../src/stores/task-store.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=tool-store.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tool-store.test.d.ts","sourceRoot":"","sources":["../../src/stores/tool-store.test.ts"],"names":[],"mappings":""}
@@ -1,56 +0,0 @@
1
- import { describe, it, expect } from "vitest";
2
- import { SupabaseToolStore } from "./tool-store";
3
- import { createMockClient } from "../__test-utils__/mock-supabase";
4
- describe("SupabaseToolStore", () => {
5
- describe("recordToolRun", () => {
6
- it("inserts a tool run and returns it", async () => {
7
- const client = createMockClient();
8
- const run = {
9
- id: "tr-1",
10
- tenant_id: "t-1",
11
- tool_slug: "web-search",
12
- user_id: "user-1",
13
- input: { query: "test" },
14
- output: { results: [] },
15
- status: "success",
16
- error: null,
17
- duration_ms: 150,
18
- source: "web",
19
- chat_id: null,
20
- session_id: null,
21
- created_at: "2026-01-01",
22
- };
23
- client.mockTable("tool_runs", { data: run, error: null });
24
- const store = new SupabaseToolStore(client);
25
- const result = await store.recordToolRun({
26
- tenant_id: "t-1",
27
- tool_slug: "web-search",
28
- user_id: "user-1",
29
- input: { query: "test" },
30
- output: { results: [] },
31
- status: "success",
32
- error: null,
33
- duration_ms: 150,
34
- source: "web",
35
- chat_id: null,
36
- session_id: null,
37
- });
38
- expect(result.id).toBe("tr-1");
39
- expect(result.tool_slug).toBe("web-search");
40
- });
41
- });
42
- describe("getToolRuns", () => {
43
- it("returns tool runs", async () => {
44
- const client = createMockClient();
45
- const runs = [
46
- { id: "tr-1", tool_slug: "web-search" },
47
- { id: "tr-2", tool_slug: "web-search" },
48
- ];
49
- client.mockTable("tool_runs", { data: runs, error: null });
50
- const store = new SupabaseToolStore(client);
51
- const result = await store.getToolRuns({ toolSlug: "web-search" });
52
- expect(result).toHaveLength(2);
53
- });
54
- });
55
- });
56
- //# sourceMappingURL=tool-store.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tool-store.test.js","sourceRoot":"","sources":["../../src/stores/tool-store.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;YACjD,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;YAClC,MAAM,GAAG,GAAG;gBACV,EAAE,EAAE,MAAM;gBACV,SAAS,EAAE,KAAK;gBAChB,SAAS,EAAE,YAAY;gBACvB,OAAO,EAAE,QAAQ;gBACjB,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;gBACxB,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;gBACvB,MAAM,EAAE,SAAS;gBACjB,KAAK,EAAE,IAAI;gBACX,WAAW,EAAE,GAAG;gBAChB,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,IAAI;gBAChB,UAAU,EAAE,YAAY;aACzB,CAAC;YACF,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAE1D,MAAM,KAAK,GAAG,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAC5C,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC;gBACvC,SAAS,EAAE,KAAK;gBAChB,SAAS,EAAE,YAAY;gBACvB,OAAO,EAAE,QAAQ;gBACjB,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;gBACxB,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;gBACvB,MAAM,EAAE,SAAS;gBACjB,KAAK,EAAE,IAAI;gBACX,WAAW,EAAE,GAAG;gBAChB,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC/B,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,mBAAmB,EAAE,KAAK,IAAI,EAAE;YACjC,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG;gBACX,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE;gBACvC,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE;aACxC,CAAC;YACF,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAE3D,MAAM,KAAK,GAAG,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAC5C,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC;YAEnE,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=view-store.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"view-store.test.d.ts","sourceRoot":"","sources":["../../src/stores/view-store.test.ts"],"names":[],"mappings":""}
@@ -1,57 +0,0 @@
1
- import { describe, it, expect } from "vitest";
2
- import { SupabaseViewStore } from "./view-store";
3
- import { createMockClient } from "../__test-utils__/mock-supabase";
4
- describe("SupabaseViewStore", () => {
5
- describe("getView", () => {
6
- it("returns view by slug", async () => {
7
- const client = createMockClient();
8
- const view = {
9
- id: "v-1",
10
- slug: "default-list",
11
- name: "Default List",
12
- layout: "list",
13
- };
14
- client.mockTable("views", { data: view, error: null });
15
- const store = new SupabaseViewStore(client);
16
- const result = await store.getView("default-list");
17
- expect(result).toEqual(view);
18
- });
19
- it("returns null when view not found", async () => {
20
- const client = createMockClient();
21
- client.mockTable("views", { data: null, error: null });
22
- const store = new SupabaseViewStore(client);
23
- const result = await store.getView("nonexistent");
24
- expect(result).toBeNull();
25
- });
26
- });
27
- describe("getDefaultView", () => {
28
- it("returns default view for entity type", async () => {
29
- const client = createMockClient();
30
- const view = {
31
- id: "v-1",
32
- slug: "opp-detail",
33
- entity_type_slug: "opportunity",
34
- is_default: true,
35
- layout: "detail",
36
- };
37
- client.mockTable("views", { data: view, error: null });
38
- const store = new SupabaseViewStore(client);
39
- const result = await store.getDefaultView("opportunity", "detail");
40
- expect(result).toEqual(view);
41
- });
42
- });
43
- describe("listViews", () => {
44
- it("returns all views", async () => {
45
- const client = createMockClient();
46
- const views = [
47
- { id: "v-1", slug: "list", layout: "list" },
48
- { id: "v-2", slug: "detail", layout: "detail" },
49
- ];
50
- client.mockTable("views", { data: views, error: null });
51
- const store = new SupabaseViewStore(client);
52
- const result = await store.listViews();
53
- expect(result).toHaveLength(2);
54
- });
55
- });
56
- });
57
- //# sourceMappingURL=view-store.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"view-store.test.js","sourceRoot":"","sources":["../../src/stores/view-store.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=constants.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.test.d.ts","sourceRoot":"","sources":["../../src/tenant/constants.test.ts"],"names":[],"mappings":""}