rivet-design 0.18.2 → 0.18.4

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 (223) hide show
  1. package/README.md +1 -1
  2. package/README.npm.md +1 -1
  3. package/dist/agent-variants/SessionStore.d.ts.map +1 -1
  4. package/dist/agent-variants/SessionStore.js +7 -0
  5. package/dist/agent-variants/SessionStore.js.map +1 -1
  6. package/dist/agent-variants/WorktreeOrchestrator.d.ts +5 -1
  7. package/dist/agent-variants/WorktreeOrchestrator.d.ts.map +1 -1
  8. package/dist/agent-variants/WorktreeOrchestrator.js +193 -39
  9. package/dist/agent-variants/WorktreeOrchestrator.js.map +1 -1
  10. package/dist/cli/client.d.ts.map +1 -1
  11. package/dist/cli/client.js +11 -3
  12. package/dist/cli/client.js.map +1 -1
  13. package/dist/cli/commands/generationPreflight.d.ts +12 -0
  14. package/dist/cli/commands/generationPreflight.d.ts.map +1 -0
  15. package/dist/cli/commands/generationPreflight.js +40 -0
  16. package/dist/cli/commands/generationPreflight.js.map +1 -0
  17. package/dist/cli/commands/libraryOpen.d.ts.map +1 -1
  18. package/dist/cli/commands/libraryOpen.js +5 -1
  19. package/dist/cli/commands/libraryOpen.js.map +1 -1
  20. package/dist/cli/commands/mcpServe.d.ts.map +1 -1
  21. package/dist/cli/commands/mcpServe.js +54 -12
  22. package/dist/cli/commands/mcpServe.js.map +1 -1
  23. package/dist/cli/commands/open.d.ts.map +1 -1
  24. package/dist/cli/commands/open.js +110 -76
  25. package/dist/cli/commands/open.js.map +1 -1
  26. package/dist/cli/commands/profile.d.ts.map +1 -1
  27. package/dist/cli/commands/profile.js +81 -12
  28. package/dist/cli/commands/profile.js.map +1 -1
  29. package/dist/cli/commands/serve.d.ts.map +1 -1
  30. package/dist/cli/commands/serve.js +20 -0
  31. package/dist/cli/commands/serve.js.map +1 -1
  32. package/dist/cli/commands/shared.d.ts.map +1 -1
  33. package/dist/cli/commands/shared.js +2 -2
  34. package/dist/cli/commands/shared.js.map +1 -1
  35. package/dist/cli/commands/stop.d.ts.map +1 -1
  36. package/dist/cli/commands/stop.js +29 -5
  37. package/dist/cli/commands/stop.js.map +1 -1
  38. package/dist/cli/commands/variants.d.ts +8 -1
  39. package/dist/cli/commands/variants.d.ts.map +1 -1
  40. package/dist/cli/commands/variants.js +13 -4
  41. package/dist/cli/commands/variants.js.map +1 -1
  42. package/dist/cli/referenceOnboarding.d.ts +3 -0
  43. package/dist/cli/referenceOnboarding.d.ts.map +1 -0
  44. package/dist/cli/referenceOnboarding.js +82 -0
  45. package/dist/cli/referenceOnboarding.js.map +1 -0
  46. package/dist/cli/router.d.ts.map +1 -1
  47. package/dist/cli/router.js +7 -7
  48. package/dist/cli/router.js.map +1 -1
  49. package/dist/cli/serverHandshake.d.ts +5 -4
  50. package/dist/cli/serverHandshake.d.ts.map +1 -1
  51. package/dist/cli/serverHandshake.js +66 -57
  52. package/dist/cli/serverHandshake.js.map +1 -1
  53. package/dist/cli/serverShutdown.d.ts +4 -0
  54. package/dist/cli/serverShutdown.d.ts.map +1 -0
  55. package/dist/cli/serverShutdown.js +20 -0
  56. package/dist/cli/serverShutdown.js.map +1 -0
  57. package/dist/cli/serverUnavailable.d.ts +1 -1
  58. package/dist/cli/serverUnavailable.d.ts.map +1 -1
  59. package/dist/cli/serverUnavailable.js +4 -0
  60. package/dist/cli/serverUnavailable.js.map +1 -1
  61. package/dist/cli/serverVersion.d.ts +1 -1
  62. package/dist/cli/serverVersion.d.ts.map +1 -1
  63. package/dist/cli/serverVersion.js +5 -23
  64. package/dist/cli/serverVersion.js.map +1 -1
  65. package/dist/install/codexSkill.d.ts +13 -0
  66. package/dist/install/codexSkill.d.ts.map +1 -0
  67. package/dist/install/codexSkill.js +64 -0
  68. package/dist/install/codexSkill.js.map +1 -0
  69. package/dist/install/harnesses.d.ts.map +1 -1
  70. package/dist/install/harnesses.js +25 -4
  71. package/dist/install/harnesses.js.map +1 -1
  72. package/dist/library/HubClient.d.ts +9 -1
  73. package/dist/library/HubClient.d.ts.map +1 -1
  74. package/dist/library/HubClient.js +40 -11
  75. package/dist/library/HubClient.js.map +1 -1
  76. package/dist/routes/agentVariants.d.ts +2 -1
  77. package/dist/routes/agentVariants.d.ts.map +1 -1
  78. package/dist/routes/agentVariants.js +26 -28
  79. package/dist/routes/agentVariants.js.map +1 -1
  80. package/dist/routes/cli.d.ts +3 -0
  81. package/dist/routes/cli.d.ts.map +1 -1
  82. package/dist/routes/cli.js +66 -9
  83. package/dist/routes/cli.js.map +1 -1
  84. package/dist/routes/library/index.d.ts.map +1 -1
  85. package/dist/routes/library/index.js +2 -0
  86. package/dist/routes/library/index.js.map +1 -1
  87. package/dist/routes/library/profiles.d.ts.map +1 -1
  88. package/dist/routes/library/profiles.js +2 -0
  89. package/dist/routes/library/profiles.js.map +1 -1
  90. package/dist/routes/library/referenceOnboarding.d.ts +4 -0
  91. package/dist/routes/library/referenceOnboarding.d.ts.map +1 -0
  92. package/dist/routes/library/referenceOnboarding.js +94 -0
  93. package/dist/routes/library/referenceOnboarding.js.map +1 -0
  94. package/dist/routes/runtimeAdmission.d.ts +13 -0
  95. package/dist/routes/runtimeAdmission.d.ts.map +1 -0
  96. package/dist/routes/runtimeAdmission.js +42 -0
  97. package/dist/routes/runtimeAdmission.js.map +1 -0
  98. package/dist/server.d.ts +1 -0
  99. package/dist/server.d.ts.map +1 -1
  100. package/dist/server.js +7 -4
  101. package/dist/server.js.map +1 -1
  102. package/dist/services/IntegrationsClient.d.ts +77 -0
  103. package/dist/services/IntegrationsClient.d.ts.map +1 -1
  104. package/dist/services/IntegrationsClient.js +123 -6
  105. package/dist/services/IntegrationsClient.js.map +1 -1
  106. package/dist/services/ProjectImport.d.ts.map +1 -1
  107. package/dist/services/ProjectImport.js +5 -12
  108. package/dist/services/ProjectImport.js.map +1 -1
  109. package/dist/services/RuntimeAdmission.d.ts +31 -0
  110. package/dist/services/RuntimeAdmission.d.ts.map +1 -0
  111. package/dist/services/RuntimeAdmission.js +77 -0
  112. package/dist/services/RuntimeAdmission.js.map +1 -0
  113. package/dist/services/TelemetryService.d.ts +1 -1
  114. package/dist/services/TelemetryService.d.ts.map +1 -1
  115. package/dist/services/TelemetryService.js.map +1 -1
  116. package/dist/services/TreeStore.d.ts +7 -0
  117. package/dist/services/TreeStore.d.ts.map +1 -1
  118. package/dist/services/TreeStore.js +18 -0
  119. package/dist/services/TreeStore.js.map +1 -1
  120. package/dist/services/profiles/DesignProfiles.d.ts +231 -16
  121. package/dist/services/profiles/DesignProfiles.d.ts.map +1 -1
  122. package/dist/services/profiles/DesignProfiles.js +140 -0
  123. package/dist/services/profiles/DesignProfiles.js.map +1 -1
  124. package/dist/services/profiles/ProfileImports.d.ts +3 -3
  125. package/dist/services/profiles/ProfileImports.d.ts.map +1 -1
  126. package/dist/services/profiles/ProfileImports.js +25 -1
  127. package/dist/services/profiles/ProfileImports.js.map +1 -1
  128. package/dist/services/profiles/ProfilePlanning.d.ts +96 -0
  129. package/dist/services/profiles/ProfilePlanning.d.ts.map +1 -0
  130. package/dist/services/profiles/ProfilePlanning.js +187 -0
  131. package/dist/services/profiles/ProfilePlanning.js.map +1 -0
  132. package/dist/services/profiles/ReferenceReader.d.ts +75 -0
  133. package/dist/services/profiles/ReferenceReader.d.ts.map +1 -0
  134. package/dist/services/profiles/ReferenceReader.js +97 -0
  135. package/dist/services/profiles/ReferenceReader.js.map +1 -0
  136. package/dist/services/profiles/analysisBatch.js +1 -1
  137. package/dist/services/profiles/analysisBatch.js.map +1 -1
  138. package/dist/services/profiles/boardPage.d.ts +2 -1
  139. package/dist/services/profiles/boardPage.d.ts.map +1 -1
  140. package/dist/services/profiles/boardPage.js.map +1 -1
  141. package/dist/services/profiles/cosmosPage.d.ts +10 -0
  142. package/dist/services/profiles/cosmosPage.d.ts.map +1 -0
  143. package/dist/services/profiles/cosmosPage.js +104 -0
  144. package/dist/services/profiles/cosmosPage.js.map +1 -0
  145. package/dist/services/runtimeActivity.d.ts +3 -0
  146. package/dist/services/runtimeActivity.d.ts.map +1 -0
  147. package/dist/services/runtimeActivity.js +70 -0
  148. package/dist/services/runtimeActivity.js.map +1 -0
  149. package/dist/services/runtimeVersion.d.ts +4 -0
  150. package/dist/services/runtimeVersion.d.ts.map +1 -0
  151. package/dist/services/runtimeVersion.js +30 -0
  152. package/dist/services/runtimeVersion.js.map +1 -0
  153. package/dist/storage/library/ProjectRuntimeRecords.d.ts +15 -0
  154. package/dist/storage/library/ProjectRuntimeRecords.d.ts.map +1 -0
  155. package/dist/storage/library/ProjectRuntimeRecords.js +66 -0
  156. package/dist/storage/library/ProjectRuntimeRecords.js.map +1 -0
  157. package/dist/storage/library/migrations.d.ts +1 -0
  158. package/dist/storage/library/migrations.d.ts.map +1 -1
  159. package/dist/storage/library/migrations.js +9 -1
  160. package/dist/storage/library/migrations.js.map +1 -1
  161. package/dist/storage/library/schema/projectRuntime.d.ts +72 -0
  162. package/dist/storage/library/schema/projectRuntime.d.ts.map +1 -0
  163. package/dist/storage/library/schema/projectRuntime.js +16 -0
  164. package/dist/storage/library/schema/projectRuntime.js.map +1 -0
  165. package/dist/storage/profiles/ProfilePlans.d.ts +320 -0
  166. package/dist/storage/profiles/ProfilePlans.d.ts.map +1 -0
  167. package/dist/storage/profiles/ProfilePlans.js +256 -0
  168. package/dist/storage/profiles/ProfilePlans.js.map +1 -0
  169. package/dist/storage/profiles/ProfileRecords.d.ts +71 -10
  170. package/dist/storage/profiles/ProfileRecords.d.ts.map +1 -1
  171. package/dist/storage/profiles/ProfileRecords.js +152 -62
  172. package/dist/storage/profiles/ProfileRecords.js.map +1 -1
  173. package/dist/storage/profiles/migrations.d.ts +2 -2
  174. package/dist/storage/profiles/migrations.d.ts.map +1 -1
  175. package/dist/storage/profiles/migrations.js +14 -0
  176. package/dist/storage/profiles/migrations.js.map +1 -1
  177. package/dist/storage/profiles/planSchema.d.ts +347 -0
  178. package/dist/storage/profiles/planSchema.d.ts.map +1 -0
  179. package/dist/storage/profiles/planSchema.js +34 -0
  180. package/dist/storage/profiles/planSchema.js.map +1 -0
  181. package/dist/storage/profiles/schema.d.ts +59 -4
  182. package/dist/storage/profiles/schema.d.ts.map +1 -1
  183. package/dist/storage/profiles/schema.js +14 -1
  184. package/dist/storage/profiles/schema.js.map +1 -1
  185. package/dist/types/cosmos-profile.d.ts +130 -0
  186. package/dist/types/cosmos-profile.d.ts.map +1 -0
  187. package/dist/types/cosmos-profile.js +27 -0
  188. package/dist/types/cosmos-profile.js.map +1 -0
  189. package/dist/types/cosmos.d.ts +330 -0
  190. package/dist/types/cosmos.d.ts.map +1 -0
  191. package/dist/types/cosmos.js +157 -0
  192. package/dist/types/cosmos.js.map +1 -0
  193. package/dist/types/design-profile.d.ts +21 -16
  194. package/dist/types/design-profile.d.ts.map +1 -1
  195. package/dist/types/design-profile.js +6 -1
  196. package/dist/types/design-profile.js.map +1 -1
  197. package/dist/types/reference-connectors.d.ts +226 -0
  198. package/dist/types/reference-connectors.d.ts.map +1 -0
  199. package/dist/types/reference-connectors.js +92 -0
  200. package/dist/types/reference-connectors.js.map +1 -0
  201. package/dist/types/reference-onboarding.d.ts +1065 -0
  202. package/dist/types/reference-onboarding.d.ts.map +1 -0
  203. package/dist/types/reference-onboarding.js +108 -0
  204. package/dist/types/reference-onboarding.js.map +1 -0
  205. package/dist/types/reference-pages.d.ts +168 -0
  206. package/dist/types/reference-pages.d.ts.map +1 -0
  207. package/dist/types/reference-pages.js +26 -0
  208. package/dist/types/reference-pages.js.map +1 -0
  209. package/dist/types/x-bookmarks.d.ts +8 -8
  210. package/dist/utils/skills/cli-guidance.d.ts +1 -1
  211. package/dist/utils/skills/cli-guidance.d.ts.map +1 -1
  212. package/dist/utils/skills/cli-guidance.js +6 -2
  213. package/dist/utils/skills/cli-guidance.js.map +1 -1
  214. package/dist/utils/skills/codex-skill.d.ts +3 -0
  215. package/dist/utils/skills/codex-skill.d.ts.map +1 -0
  216. package/dist/utils/skills/codex-skill.js +30 -0
  217. package/dist/utils/skills/codex-skill.js.map +1 -0
  218. package/package.json +2 -1
  219. package/src/ui/dist/assets/{LibraryApp-NAzSe5xc.js → LibraryApp-Cxdyy4oV.js} +1 -1
  220. package/src/ui/dist/assets/main-B-LY2LQB.css +1 -0
  221. package/src/ui/dist/assets/{main-D7LJLJwW.js → main-CPHvvBUN.js} +79 -79
  222. package/src/ui/dist/index.html +2 -2
  223. package/src/ui/dist/assets/main-f2uWt6ZY.css +0 -1
@@ -0,0 +1,320 @@
1
+ import { type ReferenceProvider } from '../../types/reference-connectors';
2
+ import { z } from 'zod';
3
+ import { type openDurableDatabase } from '../library/database';
4
+ import { ReferenceDiscoveryInputSchema, ReferencePlanInputSchema, type ReferenceImportPlan, type ReferenceOnboardingAction } from '../../types/reference-onboarding';
5
+ type Database = Awaited<ReturnType<typeof openDurableDatabase>>;
6
+ export declare class ProfilePlans {
7
+ private readonly db;
8
+ constructor(db: Database);
9
+ saveDiscovery(input: z.input<typeof ReferenceDiscoveryInputSchema>): {
10
+ id: string;
11
+ total: number;
12
+ collections: {
13
+ id: string;
14
+ url: string | null;
15
+ title: string;
16
+ description: string | null;
17
+ children: string[];
18
+ total: number | null;
19
+ parentId: string | null;
20
+ }[];
21
+ profile: {
22
+ id: string;
23
+ url: string;
24
+ title: string;
25
+ username: string;
26
+ };
27
+ createdAt: string;
28
+ };
29
+ discovery(id: string): {
30
+ id: string;
31
+ total: number;
32
+ collections: {
33
+ id: string;
34
+ url: string | null;
35
+ title: string;
36
+ description: string | null;
37
+ children: string[];
38
+ total: number | null;
39
+ parentId: string | null;
40
+ }[];
41
+ profile: {
42
+ id: string;
43
+ url: string;
44
+ title: string;
45
+ username: string;
46
+ };
47
+ createdAt: string;
48
+ };
49
+ discoveries(): {
50
+ id: string;
51
+ total: number;
52
+ collections: {
53
+ id: string;
54
+ url: string | null;
55
+ title: string;
56
+ description: string | null;
57
+ children: string[];
58
+ total: number | null;
59
+ parentId: string | null;
60
+ }[];
61
+ profile: {
62
+ id: string;
63
+ url: string;
64
+ title: string;
65
+ username: string;
66
+ };
67
+ createdAt: string;
68
+ }[];
69
+ savePlan(input: z.input<typeof ReferencePlanInputSchema>): {
70
+ id: string;
71
+ runtime: "claude" | "codex" | "cursor";
72
+ revision: string;
73
+ profile: {
74
+ id: string;
75
+ url: string;
76
+ title: string;
77
+ username: string;
78
+ };
79
+ createdAt: string;
80
+ discoveryId: string;
81
+ sources: {
82
+ references: {
83
+ text: string;
84
+ provider: "arena" | "pinterest" | "x" | "cosmos";
85
+ title: string;
86
+ remoteId: string;
87
+ media: {
88
+ hash: string;
89
+ mimeType: "image/png" | "image/jpeg" | "image/webp" | "image/gif";
90
+ bytes: number;
91
+ representation: "image" | "variant" | "video-cover" | "page";
92
+ page?: number | undefined;
93
+ }[];
94
+ url?: string | undefined;
95
+ variant?: {
96
+ sessionId: string;
97
+ projectId: string;
98
+ variantId: string;
99
+ treeSha?: string | undefined;
100
+ } | undefined;
101
+ note?: string | undefined;
102
+ remoteImages?: string[] | undefined;
103
+ remoteImageRepresentations?: ("image" | "video-cover")[] | undefined;
104
+ unsupportedReason?: string | undefined;
105
+ }[];
106
+ collection: {
107
+ id: string;
108
+ url: string | null;
109
+ title: string;
110
+ description: string | null;
111
+ children: string[];
112
+ total: number | null;
113
+ parentId: string | null;
114
+ };
115
+ collectionIds: string[];
116
+ }[];
117
+ reusableCount: number;
118
+ expiresAt: string;
119
+ approvedAt: string | null;
120
+ jobIds: string[];
121
+ };
122
+ plan(id: string): {
123
+ id: string;
124
+ runtime: "claude" | "codex" | "cursor";
125
+ revision: string;
126
+ profile: {
127
+ id: string;
128
+ url: string;
129
+ title: string;
130
+ username: string;
131
+ };
132
+ createdAt: string;
133
+ discoveryId: string;
134
+ sources: {
135
+ references: {
136
+ text: string;
137
+ provider: "arena" | "pinterest" | "x" | "cosmos";
138
+ title: string;
139
+ remoteId: string;
140
+ media: {
141
+ hash: string;
142
+ mimeType: "image/png" | "image/jpeg" | "image/webp" | "image/gif";
143
+ bytes: number;
144
+ representation: "image" | "variant" | "video-cover" | "page";
145
+ page?: number | undefined;
146
+ }[];
147
+ url?: string | undefined;
148
+ variant?: {
149
+ sessionId: string;
150
+ projectId: string;
151
+ variantId: string;
152
+ treeSha?: string | undefined;
153
+ } | undefined;
154
+ note?: string | undefined;
155
+ remoteImages?: string[] | undefined;
156
+ remoteImageRepresentations?: ("image" | "video-cover")[] | undefined;
157
+ unsupportedReason?: string | undefined;
158
+ }[];
159
+ collection: {
160
+ id: string;
161
+ url: string | null;
162
+ title: string;
163
+ description: string | null;
164
+ children: string[];
165
+ total: number | null;
166
+ parentId: string | null;
167
+ };
168
+ collectionIds: string[];
169
+ }[];
170
+ reusableCount: number;
171
+ expiresAt: string;
172
+ approvedAt: string | null;
173
+ jobIds: string[];
174
+ };
175
+ plans(): {
176
+ id: string;
177
+ runtime: "claude" | "codex" | "cursor";
178
+ revision: string;
179
+ profile: {
180
+ id: string;
181
+ url: string;
182
+ title: string;
183
+ username: string;
184
+ };
185
+ createdAt: string;
186
+ discoveryId: string;
187
+ sources: {
188
+ references: {
189
+ text: string;
190
+ provider: "arena" | "pinterest" | "x" | "cosmos";
191
+ title: string;
192
+ remoteId: string;
193
+ media: {
194
+ hash: string;
195
+ mimeType: "image/png" | "image/jpeg" | "image/webp" | "image/gif";
196
+ bytes: number;
197
+ representation: "image" | "variant" | "video-cover" | "page";
198
+ page?: number | undefined;
199
+ }[];
200
+ url?: string | undefined;
201
+ variant?: {
202
+ sessionId: string;
203
+ projectId: string;
204
+ variantId: string;
205
+ treeSha?: string | undefined;
206
+ } | undefined;
207
+ note?: string | undefined;
208
+ remoteImages?: string[] | undefined;
209
+ remoteImageRepresentations?: ("image" | "video-cover")[] | undefined;
210
+ unsupportedReason?: string | undefined;
211
+ }[];
212
+ collection: {
213
+ id: string;
214
+ url: string | null;
215
+ title: string;
216
+ description: string | null;
217
+ children: string[];
218
+ total: number | null;
219
+ parentId: string | null;
220
+ };
221
+ collectionIds: string[];
222
+ }[];
223
+ reusableCount: number;
224
+ expiresAt: string;
225
+ approvedAt: string | null;
226
+ jobIds: string[];
227
+ }[];
228
+ approve({ id, revision, isApproved, createJobs, }: {
229
+ id: string;
230
+ revision: string;
231
+ isApproved: boolean;
232
+ createJobs: (plan: ReferenceImportPlan) => Array<{
233
+ id: string;
234
+ sourceId: string;
235
+ collectionId: string;
236
+ }>;
237
+ }): {
238
+ id: string;
239
+ runtime: "claude" | "codex" | "cursor";
240
+ revision: string;
241
+ profile: {
242
+ id: string;
243
+ url: string;
244
+ title: string;
245
+ username: string;
246
+ };
247
+ createdAt: string;
248
+ discoveryId: string;
249
+ sources: {
250
+ references: {
251
+ text: string;
252
+ provider: "arena" | "pinterest" | "x" | "cosmos";
253
+ title: string;
254
+ remoteId: string;
255
+ media: {
256
+ hash: string;
257
+ mimeType: "image/png" | "image/jpeg" | "image/webp" | "image/gif";
258
+ bytes: number;
259
+ representation: "image" | "variant" | "video-cover" | "page";
260
+ page?: number | undefined;
261
+ }[];
262
+ url?: string | undefined;
263
+ variant?: {
264
+ sessionId: string;
265
+ projectId: string;
266
+ variantId: string;
267
+ treeSha?: string | undefined;
268
+ } | undefined;
269
+ note?: string | undefined;
270
+ remoteImages?: string[] | undefined;
271
+ remoteImageRepresentations?: ("image" | "video-cover")[] | undefined;
272
+ unsupportedReason?: string | undefined;
273
+ }[];
274
+ collection: {
275
+ id: string;
276
+ url: string | null;
277
+ title: string;
278
+ description: string | null;
279
+ children: string[];
280
+ total: number | null;
281
+ parentId: string | null;
282
+ };
283
+ collectionIds: string[];
284
+ }[];
285
+ reusableCount: number;
286
+ expiresAt: string;
287
+ approvedAt: string | null;
288
+ jobIds: string[];
289
+ };
290
+ sourcePlan(sourceId: string): {
291
+ sourceId: string;
292
+ discoveryId: string;
293
+ collectionId: string;
294
+ } | null;
295
+ sourceByUrl(url: string): {
296
+ sourceId: string;
297
+ } | null;
298
+ isPlannedSource(sourceId: string): boolean;
299
+ onboarding(provider?: ReferenceProvider): {
300
+ provider: "arena" | "pinterest" | "x" | "cosmos";
301
+ state: "pending" | "complete" | "later" | "dismissed";
302
+ offeredAt: string | null;
303
+ remindAt: string | null;
304
+ };
305
+ updateOnboarding(action: ReferenceOnboardingAction, provider?: ReferenceProvider): {
306
+ provider: "arena" | "pinterest" | "x" | "cosmos";
307
+ state: "pending" | "complete" | "later" | "dismissed";
308
+ offeredAt: string | null;
309
+ remindAt: string | null;
310
+ };
311
+ notice(provider?: ReferenceProvider): {
312
+ provider: "arena" | "pinterest" | "x" | "cosmos";
313
+ message: string;
314
+ command: string;
315
+ laterCommand: string;
316
+ dismissCommand: string;
317
+ } | null;
318
+ }
319
+ export {};
320
+ //# sourceMappingURL=ProfilePlans.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProfilePlans.d.ts","sourceRoot":"","sources":["../../../src/storage/profiles/ProfilePlans.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,kCAAkC,CAAC;AAG1C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAe,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAS5E,OAAO,EAKL,6BAA6B,EAE7B,wBAAwB,EAExB,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAC/B,MAAM,kCAAkC,CAAC;AAE1C,KAAK,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC,CAAC;AAEhE,qBAAa,YAAY;IACX,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,QAAQ;IAczC,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC;;;;;;;;;;;;;;;;;;;;IAmBlE,SAAS,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;IAUpB,WAAW;;;;;;;;;;;;;;;;;;;;IAQX,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAsDxD,IAAI,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAUf,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAQL,OAAO,CAAC,EACN,EAAE,EACF,QAAQ,EACR,UAAU,EACV,UAAU,GACX,EAAE;QACD,EAAE,EAAE,MAAM,CAAC;QACX,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,OAAO,CAAC;QACpB,UAAU,EAAE,CACV,IAAI,EAAE,mBAAmB,KACtB,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,YAAY,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACpE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAuDD,UAAU,CAAC,QAAQ,EAAE,MAAM;;;;;IAU3B,WAAW,CAAC,GAAG,EAAE,MAAM;;;IAWvB,eAAe,CAAC,QAAQ,EAAE,MAAM;IAIhC,UAAU,CAAC,QAAQ,GAAE,iBAA4B;;;;;;IAejD,gBAAgB,CACd,MAAM,EAAE,yBAAyB,EACjC,QAAQ,GAAE,iBAA4B;;;;;;IA6BxC,MAAM,CAAC,QAAQ,GAAE,iBAA4B;;;;;;;CA0C9C"}
@@ -0,0 +1,256 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProfilePlans = void 0;
4
+ const reference_connectors_1 = require("../../types/reference-connectors");
5
+ const crypto_1 = require("crypto");
6
+ const drizzle_orm_1 = require("drizzle-orm");
7
+ const database_1 = require("../library/database");
8
+ const planSchema_1 = require("./planSchema");
9
+ const schema_1 = require("./schema");
10
+ const reference_onboarding_1 = require("../../types/reference-onboarding");
11
+ class ProfilePlans {
12
+ db;
13
+ constructor(db) {
14
+ this.db = db;
15
+ const preference = db.select().from(planSchema_1.referenceOnboarding).get();
16
+ if (preference)
17
+ db.insert(planSchema_1.connectorOnboarding)
18
+ .values({
19
+ provider: 'cosmos',
20
+ state: preference.state,
21
+ offeredAt: preference.offeredAt,
22
+ remindAt: preference.remindAt,
23
+ })
24
+ .onConflictDoNothing()
25
+ .run();
26
+ }
27
+ saveDiscovery(input) {
28
+ const parsed = reference_onboarding_1.ReferenceDiscoveryInputSchema.parse(input);
29
+ if (parsed.total !== parsed.collections.length ||
30
+ new Set(parsed.collections.map((item) => item.id)).size !== parsed.total)
31
+ throw new Error('Incomplete profile collection discovery');
32
+ const discovery = reference_onboarding_1.ReferenceDiscoverySchema.parse({
33
+ ...parsed,
34
+ id: (0, crypto_1.randomUUID)(),
35
+ createdAt: new Date().toISOString(),
36
+ });
37
+ this.db
38
+ .insert(planSchema_1.referenceDiscoveries)
39
+ .values({ id: discovery.id, body: discovery })
40
+ .run();
41
+ return discovery;
42
+ }
43
+ discovery(id) {
44
+ const record = this.db
45
+ .select()
46
+ .from(planSchema_1.referenceDiscoveries)
47
+ .where((0, drizzle_orm_1.eq)(planSchema_1.referenceDiscoveries.id, id))
48
+ .get();
49
+ if (!record)
50
+ throw new Error('Unknown reference discovery');
51
+ return reference_onboarding_1.ReferenceDiscoverySchema.parse(record.body);
52
+ }
53
+ discoveries() {
54
+ return this.db
55
+ .select()
56
+ .from(planSchema_1.referenceDiscoveries)
57
+ .all()
58
+ .map((record) => reference_onboarding_1.ReferenceDiscoverySchema.parse(record.body));
59
+ }
60
+ savePlan(input) {
61
+ const parsed = reference_onboarding_1.ReferencePlanInputSchema.parse(input);
62
+ const discovery = this.discovery(parsed.discoveryId);
63
+ const available = new Set(discovery.collections.map((collection) => collection.id));
64
+ if (parsed.sources.some((source) => !available.has(source.collection.id)) ||
65
+ new Set(parsed.sources.map((source) => source.collection.id)).size !==
66
+ parsed.sources.length)
67
+ throw new Error('Choose each collection from this discovery only once');
68
+ if (parsed.sources.some((source) => source.references.some((reference) => reference.provider !== (0, reference_connectors_1.referenceProvider)(discovery.profile))))
69
+ throw new Error('Reference provider does not match the discovered account');
70
+ const unique = new Set(parsed.sources.flatMap((source) => source.references.map((reference) => reference.remoteId)));
71
+ if (unique.size > reference_onboarding_1.REFERENCE_PLAN_LIMIT ||
72
+ parsed.reusableCount > unique.size)
73
+ throw new Error('Reference plan exceeds its coverage limit; select fewer collections');
74
+ const body = JSON.stringify(parsed);
75
+ if (Buffer.byteLength(body) > reference_onboarding_1.REFERENCE_PLAN_BYTES)
76
+ throw new Error('Reference plan is too large; select fewer collections');
77
+ const plan = reference_onboarding_1.ReferencePlanSchema.parse({
78
+ ...parsed,
79
+ id: (0, crypto_1.randomUUID)(),
80
+ profile: discovery.profile,
81
+ revision: (0, crypto_1.createHash)('sha256').update(body).digest('hex'),
82
+ createdAt: new Date().toISOString(),
83
+ expiresAt: new Date(Date.now() + reference_onboarding_1.REFERENCE_PLAN_LIFETIME_MS).toISOString(),
84
+ approvedAt: null,
85
+ jobIds: [],
86
+ });
87
+ this.db.insert(planSchema_1.referencePlans).values({ id: plan.id, body: plan }).run();
88
+ return plan;
89
+ }
90
+ plan(id) {
91
+ const record = this.db
92
+ .select()
93
+ .from(planSchema_1.referencePlans)
94
+ .where((0, drizzle_orm_1.eq)(planSchema_1.referencePlans.id, id))
95
+ .get();
96
+ if (!record)
97
+ throw new Error('Unknown reference import plan');
98
+ return reference_onboarding_1.ReferencePlanSchema.parse(record.body);
99
+ }
100
+ plans() {
101
+ return this.db
102
+ .select()
103
+ .from(planSchema_1.referencePlans)
104
+ .all()
105
+ .map((record) => reference_onboarding_1.ReferencePlanSchema.parse(record.body));
106
+ }
107
+ approve({ id, revision, isApproved, createJobs, }) {
108
+ if (!isApproved)
109
+ throw new Error('Explicit user approval is required');
110
+ return (0, database_1.transaction)(this.db, () => {
111
+ const plan = this.plan(id);
112
+ if (plan.revision !== revision)
113
+ throw new Error('Import plan revision does not match the reviewed plan');
114
+ if (plan.approvedAt)
115
+ return plan;
116
+ if (Date.now() >= Date.parse(plan.expiresAt))
117
+ throw new Error('Import plan expired; prepare and review another plan');
118
+ const jobs = createJobs(plan);
119
+ for (const job of jobs)
120
+ this.db
121
+ .insert(planSchema_1.plannedSources)
122
+ .values({
123
+ sourceId: job.sourceId,
124
+ collectionId: job.collectionId,
125
+ discoveryId: plan.discoveryId,
126
+ })
127
+ .onConflictDoUpdate({
128
+ target: planSchema_1.plannedSources.sourceId,
129
+ set: {
130
+ discoveryId: plan.discoveryId,
131
+ collectionId: job.collectionId,
132
+ },
133
+ })
134
+ .run();
135
+ const approved = {
136
+ ...plan,
137
+ approvedAt: new Date().toISOString(),
138
+ jobIds: jobs.map((job) => job.id),
139
+ };
140
+ this.db
141
+ .update(planSchema_1.referencePlans)
142
+ .set({ body: approved })
143
+ .where((0, drizzle_orm_1.eq)(planSchema_1.referencePlans.id, id))
144
+ .run();
145
+ this.db
146
+ .insert(planSchema_1.connectorOnboarding)
147
+ .values({
148
+ provider: (0, reference_connectors_1.referenceProvider)(plan.profile),
149
+ state: 'complete',
150
+ offeredAt: null,
151
+ remindAt: null,
152
+ })
153
+ .onConflictDoUpdate({
154
+ target: planSchema_1.connectorOnboarding.provider,
155
+ set: { state: 'complete', remindAt: null },
156
+ })
157
+ .run();
158
+ return approved;
159
+ });
160
+ }
161
+ sourcePlan(sourceId) {
162
+ return (this.db
163
+ .select()
164
+ .from(planSchema_1.plannedSources)
165
+ .where((0, drizzle_orm_1.eq)(planSchema_1.plannedSources.sourceId, sourceId))
166
+ .get() ?? null);
167
+ }
168
+ sourceByUrl(url) {
169
+ return (this.db
170
+ .select({ sourceId: planSchema_1.plannedSources.sourceId })
171
+ .from(planSchema_1.plannedSources)
172
+ .innerJoin(schema_1.sources, (0, drizzle_orm_1.eq)(schema_1.sources.id, planSchema_1.plannedSources.sourceId))
173
+ .where((0, drizzle_orm_1.eq)(schema_1.sources.url, url))
174
+ .get() ?? null);
175
+ }
176
+ isPlannedSource(sourceId) {
177
+ return this.sourcePlan(sourceId) !== null;
178
+ }
179
+ onboarding(provider = 'cosmos') {
180
+ return (this.db
181
+ .select()
182
+ .from(planSchema_1.connectorOnboarding)
183
+ .where((0, drizzle_orm_1.eq)(planSchema_1.connectorOnboarding.provider, provider))
184
+ .get() ?? {
185
+ provider,
186
+ state: 'pending',
187
+ offeredAt: null,
188
+ remindAt: null,
189
+ });
190
+ }
191
+ updateOnboarding(action, provider = 'cosmos') {
192
+ const state = action === 'dismiss' ? 'dismissed' : action;
193
+ this.db
194
+ .insert(planSchema_1.connectorOnboarding)
195
+ .values({
196
+ provider,
197
+ state: state === 'reset' ? 'pending' : state,
198
+ offeredAt: null,
199
+ remindAt: action === 'later'
200
+ ? new Date(Date.now() + reference_onboarding_1.REFERENCE_REMINDER_DELAY_MS).toISOString()
201
+ : null,
202
+ })
203
+ .onConflictDoUpdate({
204
+ target: planSchema_1.connectorOnboarding.provider,
205
+ set: {
206
+ state: state === 'reset' ? 'pending' : state,
207
+ offeredAt: null,
208
+ remindAt: action === 'later'
209
+ ? new Date(Date.now() + reference_onboarding_1.REFERENCE_REMINDER_DELAY_MS).toISOString()
210
+ : null,
211
+ },
212
+ })
213
+ .run();
214
+ return this.onboarding(provider);
215
+ }
216
+ notice(provider = 'cosmos') {
217
+ return (0, database_1.transaction)(this.db, () => {
218
+ const state = this.onboarding(provider);
219
+ if (state.state === 'complete' ||
220
+ state.state === 'dismissed' ||
221
+ state.offeredAt ||
222
+ (state.remindAt && Date.now() < Date.parse(state.remindAt)))
223
+ return null;
224
+ this.db
225
+ .insert(planSchema_1.connectorOnboarding)
226
+ .values({
227
+ provider,
228
+ state: 'pending',
229
+ offeredAt: new Date().toISOString(),
230
+ remindAt: null,
231
+ })
232
+ .onConflictDoUpdate({
233
+ target: planSchema_1.connectorOnboarding.provider,
234
+ set: {
235
+ state: 'pending',
236
+ offeredAt: new Date().toISOString(),
237
+ remindAt: null,
238
+ },
239
+ })
240
+ .run();
241
+ return {
242
+ provider,
243
+ message: provider === 'cosmos'
244
+ ? 'Offer to connect a public Cosmos profile. Ask for its URL, discover collections, and present an import plan. Analysis consumes the selected agent usage allowance. Wait for explicit approval before importing.'
245
+ : `Offer to connect ${provider} so Rivet can draw on saved inspiration across projects. Discover collections, complete OAuth if requested, then repeat discovery. Show the import plan and agent usage disclosure, and wait for explicit user approval.`,
246
+ command: provider === 'cosmos'
247
+ ? 'rivet profile discover <public-profile-url>'
248
+ : `rivet profile discover ${provider}`,
249
+ laterCommand: `rivet profile onboarding later --provider ${provider}`,
250
+ dismissCommand: `rivet profile onboarding dismiss --provider ${provider}`,
251
+ };
252
+ });
253
+ }
254
+ }
255
+ exports.ProfilePlans = ProfilePlans;
256
+ //# sourceMappingURL=ProfilePlans.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProfilePlans.js","sourceRoot":"","sources":["../../../src/storage/profiles/ProfilePlans.ts"],"names":[],"mappings":"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"}