@snagset/server 0.0.4 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -3
- package/dist/app.js +82 -9
- package/dist/app.js.map +1 -1
- package/dist/bin.js +85 -11
- package/dist/bin.js.map +1 -1
- package/dist/boot.js +67 -51
- package/dist/boot.js.map +1 -1
- package/dist/config.generated.js +5 -2
- package/dist/config.generated.js.map +1 -1
- package/dist/db/connect.js +7 -0
- package/dist/db/connect.js.map +1 -1
- package/dist/db/migrations/0005_studio_reviewers.sql +45 -0
- package/dist/db/migrations/0006_instance_settings.sql +69 -0
- package/dist/db/migrations/0007_jira_provider.no-txn.sql +13 -0
- package/dist/domain.js +129 -0
- package/dist/domain.js.map +1 -0
- package/dist/instance/settings.js +54 -0
- package/dist/instance/settings.js.map +1 -0
- package/dist/integrations/github.js +112 -0
- package/dist/integrations/github.js.map +1 -0
- package/dist/integrations/inbound.js +88 -0
- package/dist/integrations/inbound.js.map +1 -0
- package/dist/integrations/jira.js +129 -0
- package/dist/integrations/jira.js.map +1 -0
- package/dist/integrations/linear.js +111 -0
- package/dist/integrations/linear.js.map +1 -0
- package/dist/integrations/outbox.js +305 -0
- package/dist/integrations/outbox.js.map +1 -0
- package/dist/integrations/slack.js +135 -0
- package/dist/integrations/slack.js.map +1 -0
- package/dist/integrations/store.js +101 -0
- package/dist/integrations/store.js.map +1 -0
- package/dist/listen.js +58 -0
- package/dist/listen.js.map +1 -0
- package/dist/mail/index.js +21 -11
- package/dist/mail/index.js.map +1 -1
- package/dist/mail/resolve.js +80 -0
- package/dist/mail/resolve.js.map +1 -0
- package/dist/platform.js +27 -0
- package/dist/platform.js.map +1 -0
- package/dist/projectCache.js +3 -2
- package/dist/projectCache.js.map +1 -1
- package/dist/projects.js +8 -2
- package/dist/projects.js.map +1 -1
- package/dist/routes/account.js +59 -0
- package/dist/routes/account.js.map +1 -0
- package/dist/routes/activity.js +111 -0
- package/dist/routes/activity.js.map +1 -0
- package/dist/routes/assignees.js +139 -0
- package/dist/routes/assignees.js.map +1 -0
- package/dist/routes/attachments.js +2 -2
- package/dist/routes/attachments.js.map +1 -1
- package/dist/routes/comments.js +27 -17
- package/dist/routes/comments.js.map +1 -1
- package/dist/routes/cors.js +10 -1
- package/dist/routes/cors.js.map +1 -1
- package/dist/routes/instance.js +164 -0
- package/dist/routes/instance.js.map +1 -0
- package/dist/routes/integrations.js +610 -0
- package/dist/routes/integrations.js.map +1 -0
- package/dist/routes/jobs.js +15 -3
- package/dist/routes/jobs.js.map +1 -1
- package/dist/routes/mcpTokens.js +119 -0
- package/dist/routes/mcpTokens.js.map +1 -0
- package/dist/routes/members.js +177 -0
- package/dist/routes/members.js.map +1 -0
- package/dist/routes/owner.js +64 -7
- package/dist/routes/owner.js.map +1 -1
- package/dist/routes/sites.js +181 -8
- package/dist/routes/sites.js.map +1 -1
- package/dist/routes/threads.js +276 -9
- package/dist/routes/threads.js.map +1 -1
- package/dist/serverless.js +41 -6
- package/dist/serverless.js.map +1 -1
- package/dist/studioReviewers.js +67 -0
- package/dist/studioReviewers.js.map +1 -0
- package/dist/vendor/adapters/outbound/sanitise.js +18 -3
- package/dist/vendor/types/brief.js +121 -0
- package/package.json +1 -1
- package/static/dashboard/assets/CompositeItem-DnLNS57f.js +1 -0
- package/static/dashboard/assets/ConfirmDialog-CCAJDc_P.js +1 -0
- package/static/dashboard/assets/CopyButton-exuJDdXj.js +1 -0
- package/static/dashboard/assets/FieldItemContext-jf0Is3j7.js +1 -0
- package/static/dashboard/assets/InstallTag-CkeGLk1a.js +1 -0
- package/static/dashboard/assets/SaveState-BsrfwjoH.js +6 -0
- package/static/dashboard/assets/_app-CiDKmy_a.js +1 -0
- package/static/dashboard/assets/_app-xxJ7UG34.js +56 -0
- package/static/dashboard/assets/activity-mwHb7ir7.js +1 -0
- package/static/dashboard/assets/arrow-left-D08BSlJU.js +6 -0
- package/static/dashboard/assets/avatar-BITl2vTh.js +1 -0
- package/static/dashboard/assets/badge-CGEswzew.js +1 -0
- package/static/dashboard/assets/card-8T0wnIiU.js +1 -0
- package/static/dashboard/assets/check-CiLHTeII.js +6 -0
- package/static/dashboard/assets/chevron-right-BokKbPOn.js +6 -0
- package/static/dashboard/assets/copy-CKgsZbj1.js +6 -0
- package/static/dashboard/assets/createBaseUIEventDetails-CEmaecLi.js +1 -0
- package/static/dashboard/assets/createLucideIcon-llnWWh0E.js +36 -0
- package/static/dashboard/assets/dialog-DrrnCoT5.js +6 -0
- package/static/dashboard/assets/dropdown-menu-DIE2xmL5.js +11 -0
- package/static/dashboard/assets/image-off-CgUC8krg.js +6 -0
- package/static/dashboard/assets/index-BRTBtV91.css +1 -0
- package/static/dashboard/assets/index-C87aqO18.js +129 -0
- package/static/dashboard/assets/label-BfMHjFA7.js +1 -0
- package/static/dashboard/assets/labels--UUyt9uB.js +1 -0
- package/static/dashboard/assets/layout-grid-B7mn7n3K.js +6 -0
- package/static/dashboard/assets/me-D1prnPpY.js +1 -0
- package/static/dashboard/assets/parts-B-HQayFH.js +1 -0
- package/static/dashboard/assets/plus-CuMhvZUZ.js +6 -0
- package/static/dashboard/assets/s._site-Ccc7pzT-.js +1 -0
- package/static/dashboard/assets/s._site.comments-nJZLYDQh.js +39 -0
- package/static/dashboard/assets/s._site.reviewers-BmRPiC0a.js +1 -0
- package/static/dashboard/assets/s._site.settings-DNv5ovrJ.js +1 -0
- package/static/dashboard/assets/setup-B_VsIyK2.js +1 -0
- package/static/dashboard/assets/sign-in-sWUNd3Lp.js +1 -0
- package/static/dashboard/assets/sites-CSzUAHV6.js +1 -0
- package/static/dashboard/assets/studio-DVFn025O.js +1 -0
- package/static/dashboard/assets/studio-DzBapfQK.js +1 -0
- package/static/dashboard/assets/studio.index-Cp7lBb8S.js +1 -0
- package/static/dashboard/assets/studio.integrations-DD2EWaL-.js +1 -0
- package/static/dashboard/assets/studio.members-CVu-eP6p.js +1 -0
- package/static/dashboard/assets/sun-DTI4O-GM.js +16 -0
- package/static/dashboard/assets/table-DkqScFZb.js +1 -0
- package/static/dashboard/assets/update-duXzIzFS.js +1 -0
- package/static/dashboard/assets/useBaseQuery-0OqUJMfc.js +1 -0
- package/static/dashboard/assets/useQuery-COJ09EkU.js +1 -0
- package/static/dashboard/assets/useRender-dtgBGlgC.js +1 -0
- package/static/dashboard/assets/users-O11swHBQ.js +6 -0
- package/static/dashboard/assets/welcome-CT6oH0I8.js +11 -0
- package/static/dashboard/assets/you-_yIPqa_9.js +1 -0
- package/static/dashboard/assets/zod-iC-UhR5u.js +1 -0
- package/static/dashboard/index.html +17 -2
- package/static/widget/snag.capture.js +1 -1
- package/static/widget/snag.dock.js +1 -1
- package/static/widget/snag.panels.js +1 -1
- package/static/widget/snag.runtime.js +2 -2
- package/static/widget/snag.text.js +1 -1
- package/vercel.json +4 -0
- package/static/dashboard/assets/index-CATItBzT.js +0 -1
- package/static/dashboard/assets/index-DsUJ96yc.css +0 -1
package/dist/routes/sites.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Hono } from "hono";
|
|
2
2
|
import { createProject, validateOrigins } from "../projects.js";
|
|
3
|
+
import { normaliseDomain } from "../domain.js";
|
|
3
4
|
/**
|
|
4
5
|
* NO CACHE INVALIDATION HOOK, deliberately.
|
|
5
6
|
*
|
|
@@ -51,6 +52,17 @@ export function siteRoutes(deps) {
|
|
|
51
52
|
catch (e) {
|
|
52
53
|
return fail(c, 400, "validation_failed", e instanceof Error ? e.message : String(e));
|
|
53
54
|
}
|
|
55
|
+
// D92 — the site's DOMAIN, the one field most sites need: its host, every
|
|
56
|
+
// subdomain, any scheme and port, and localhost. Exact origins stay for
|
|
57
|
+
// the addresses a domain cannot say.
|
|
58
|
+
const rawDomain = body?.["domain"];
|
|
59
|
+
let domain = null;
|
|
60
|
+
if (typeof rawDomain === "string" && rawDomain.trim()) {
|
|
61
|
+
const r = normaliseDomain(rawDomain);
|
|
62
|
+
if ("error" in r)
|
|
63
|
+
return fail(c, 400, "validation_failed", r.error);
|
|
64
|
+
domain = r.domain;
|
|
65
|
+
}
|
|
54
66
|
// A site with no allowed origin cannot be talked to by anything — CORS
|
|
55
67
|
// refuses every request from the tag the operator is about to paste. It is
|
|
56
68
|
// ALLOWED (an origin can be added later, and `snagset allow-origin`
|
|
@@ -63,14 +75,16 @@ export function siteRoutes(deps) {
|
|
|
63
75
|
name,
|
|
64
76
|
createdBy: owner.userId,
|
|
65
77
|
origins,
|
|
78
|
+
domain,
|
|
66
79
|
graceHours: deps.graceHours,
|
|
67
80
|
});
|
|
68
81
|
});
|
|
69
82
|
return c.json({
|
|
70
83
|
uid: created.uid,
|
|
71
84
|
name: created.name,
|
|
85
|
+
domain,
|
|
72
86
|
origins: validateOrigins(origins),
|
|
73
|
-
...(origins.length
|
|
87
|
+
...(origins.length || domain
|
|
74
88
|
? {}
|
|
75
89
|
: {
|
|
76
90
|
warning: "No origins allowed yet, so no site can talk to this project. " +
|
|
@@ -149,27 +163,184 @@ export function siteRoutes(deps) {
|
|
|
149
163
|
if (!owner)
|
|
150
164
|
return fail(c, 401, "unauthorized", "Sign in to the dashboard first.");
|
|
151
165
|
const [project] = await sql `
|
|
152
|
-
SELECT id, org_id
|
|
166
|
+
SELECT id, org_id, settings->>'domain' AS domain
|
|
167
|
+
FROM projects WHERE uid = ${c.req.param("uid")} AND deleted_at IS NULL
|
|
153
168
|
`;
|
|
154
169
|
if (!project || project.org_id !== owner.orgId) {
|
|
155
170
|
return fail(c, 404, "project_not_found", "No project with that uid.");
|
|
156
171
|
}
|
|
157
172
|
const body = (await c.req.json().catch(() => null));
|
|
173
|
+
/**
|
|
174
|
+
* THREE FIELDS NOW, NOT ONE. D66 mounted this route for `writeMode` alone,
|
|
175
|
+
* and a site was create-once ever after: a typo in the name was permanent
|
|
176
|
+
* and a staging URL that moved could only be ADDED to, never corrected.
|
|
177
|
+
* Eurico, using it: *"the sites we should be able to edit the url and name
|
|
178
|
+
* and delete or edit it, right now is just one time."*
|
|
179
|
+
*
|
|
180
|
+
* Each is optional and absent means unchanged, so the existing
|
|
181
|
+
* `{ writeMode }` callers keep working unaltered.
|
|
182
|
+
*/
|
|
158
183
|
const mode = body?.["writeMode"];
|
|
159
|
-
|
|
184
|
+
const rawName = body?.["name"];
|
|
185
|
+
const rawOrigins = body?.["origins"];
|
|
186
|
+
const rawDomain = body?.["domain"];
|
|
187
|
+
const rawStatus = body?.["status"];
|
|
188
|
+
if (mode === undefined &&
|
|
189
|
+
rawName === undefined &&
|
|
190
|
+
rawOrigins === undefined &&
|
|
191
|
+
rawDomain === undefined &&
|
|
192
|
+
rawStatus === undefined) {
|
|
193
|
+
return fail(c, 400, "validation_failed", "Send at least one of name, origins, domain, status or writeMode.");
|
|
194
|
+
}
|
|
195
|
+
if (mode !== undefined && mode !== "open" && mode !== "link-required" && mode !== "verified-only") {
|
|
160
196
|
return fail(c, 400, "validation_failed", "writeMode must be open, link-required or verified-only.");
|
|
161
197
|
}
|
|
198
|
+
let name;
|
|
199
|
+
if (rawName !== undefined) {
|
|
200
|
+
name = String(rawName).trim();
|
|
201
|
+
if (!name)
|
|
202
|
+
return fail(c, 400, "validation_failed", "A site needs a name.");
|
|
203
|
+
if (name.length > 120) {
|
|
204
|
+
return fail(c, 400, "validation_failed", "That name is longer than 120 characters.");
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
// D92 — the domain: a string to set, null (or empty) to clear.
|
|
208
|
+
let domain;
|
|
209
|
+
if (rawDomain !== undefined) {
|
|
210
|
+
if (rawDomain === null || (typeof rawDomain === "string" && !rawDomain.trim())) {
|
|
211
|
+
domain = null;
|
|
212
|
+
}
|
|
213
|
+
else if (typeof rawDomain === "string") {
|
|
214
|
+
const r = normaliseDomain(rawDomain);
|
|
215
|
+
if ("error" in r)
|
|
216
|
+
return fail(c, 400, "validation_failed", r.error);
|
|
217
|
+
domain = r.domain;
|
|
218
|
+
}
|
|
219
|
+
else {
|
|
220
|
+
return fail(c, 400, "validation_failed", "domain must be a string, or null to clear it.");
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
// D91 — the switch, 05 §4.9 layer 6's kill switch with a dashboard
|
|
224
|
+
// control: paused refuses the widget's writes and hides the toolbar;
|
|
225
|
+
// reads and the studio's own triage go on.
|
|
226
|
+
let status;
|
|
227
|
+
if (rawStatus !== undefined) {
|
|
228
|
+
if (rawStatus !== "active" && rawStatus !== "paused") {
|
|
229
|
+
return fail(c, 400, "validation_failed", "status must be active or paused.");
|
|
230
|
+
}
|
|
231
|
+
status = rawStatus;
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Origins are REPLACED, not merged, because this is an edit form and the
|
|
235
|
+
* only way to correct a wrong one is to be able to remove it. `POST
|
|
236
|
+
* /origins` keeps its additive shape for the add-one case.
|
|
237
|
+
*/
|
|
238
|
+
let origins;
|
|
239
|
+
if (rawOrigins !== undefined) {
|
|
240
|
+
try {
|
|
241
|
+
origins = validateOrigins(Array.isArray(rawOrigins)
|
|
242
|
+
? rawOrigins.map(String)
|
|
243
|
+
: typeof rawOrigins === "string"
|
|
244
|
+
? rawOrigins.split(",")
|
|
245
|
+
: []);
|
|
246
|
+
}
|
|
247
|
+
catch (e) {
|
|
248
|
+
return fail(c, 400, "validation_failed", e instanceof Error ? e.message : String(e));
|
|
249
|
+
}
|
|
250
|
+
if (!origins.length && !(domain === undefined ? project.domain : domain)) {
|
|
251
|
+
// A site with neither a domain nor an address accepts nothing from
|
|
252
|
+
// anywhere, which is a confusing way to discover you have switched
|
|
253
|
+
// your own widget off. (The switch is `status`, one field down.)
|
|
254
|
+
return fail(c, 400, "validation_failed", "A site needs a domain or at least one address.");
|
|
255
|
+
}
|
|
256
|
+
}
|
|
162
257
|
await sql.begin(async (tx) => {
|
|
163
258
|
await tx `SELECT set_config('app.org_id', ${owner.orgId}, true)`;
|
|
164
259
|
await tx `
|
|
165
260
|
UPDATE projects
|
|
166
|
-
SET
|
|
167
|
-
|
|
261
|
+
SET name = ${name === undefined ? tx `name` : tx `${name}`},
|
|
262
|
+
status = ${status === undefined ? tx `status` : tx `${status}::snag_project_status`},
|
|
263
|
+
paused_reason = ${status === undefined ? tx `paused_reason` : status === "paused" ? tx `'dashboard'` : tx `NULL`},
|
|
264
|
+
settings = ${domain === undefined
|
|
265
|
+
? tx `settings`
|
|
266
|
+
: domain === null
|
|
267
|
+
? tx `settings - 'domain'`
|
|
268
|
+
: tx `settings || jsonb_build_object('domain', ${domain}::text)`},
|
|
269
|
+
write_mode = ${mode === undefined ? tx `write_mode` : tx `${mode}::snag_write_mode`},
|
|
270
|
+
write_mode_downgrade_at = ${mode === undefined
|
|
271
|
+
? tx `write_mode_downgrade_at`
|
|
272
|
+
: mode === "open"
|
|
273
|
+
? null
|
|
274
|
+
: tx `write_mode_downgrade_at`},
|
|
275
|
+
-- Bumped on every edit, not only a mode change: the widget
|
|
276
|
+
-- polls this to learn its config changed, and a renamed site
|
|
277
|
+
-- whose origins moved is exactly when it needs to.
|
|
168
278
|
config_version = config_version + 1
|
|
169
279
|
WHERE id = ${project.id}::uuid
|
|
170
280
|
`;
|
|
281
|
+
if (origins) {
|
|
282
|
+
// Replace, in one transaction, so a site is never briefly origin-less
|
|
283
|
+
// — which would refuse every write from its own staging URL.
|
|
284
|
+
await tx `DELETE FROM project_origins WHERE project_id = ${project.id}::uuid`;
|
|
285
|
+
for (const origin of origins) {
|
|
286
|
+
await tx `
|
|
287
|
+
INSERT INTO project_origins (id, org_id, project_id, pattern, is_wildcard)
|
|
288
|
+
VALUES (gen_random_uuid(), ${owner.orgId}, ${project.id}, ${origin}, ${origin.includes("*.")})
|
|
289
|
+
`;
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
});
|
|
293
|
+
// The bootstrap reads the project through the 10-second cache; an edit
|
|
294
|
+
// made on the dashboard should be true on the next page load, not the
|
|
295
|
+
// one after.
|
|
296
|
+
deps.projects?.invalidate(c.req.param("uid"));
|
|
297
|
+
const [row] = await sql `
|
|
298
|
+
SELECT name, write_mode, status, settings->>'domain' AS domain FROM projects WHERE id = ${project.id}::uuid
|
|
299
|
+
`;
|
|
300
|
+
const all = await sql `
|
|
301
|
+
SELECT pattern FROM project_origins WHERE project_id = ${project.id}::uuid ORDER BY pattern
|
|
302
|
+
`;
|
|
303
|
+
return c.json({
|
|
304
|
+
uid: c.req.param("uid"),
|
|
305
|
+
name: row?.name,
|
|
306
|
+
writeMode: row?.write_mode,
|
|
307
|
+
status: row?.status,
|
|
308
|
+
domain: row?.domain ?? null,
|
|
309
|
+
origins: all.map((r) => r.pattern),
|
|
171
310
|
});
|
|
172
|
-
|
|
311
|
+
});
|
|
312
|
+
/**
|
|
313
|
+
* `DELETE /api/v1/projects/{uid}` — SOFT, and that is the whole design.
|
|
314
|
+
*
|
|
315
|
+
* A site holds a client's words. `deleted_at` has been on the row since
|
|
316
|
+
* `0001` and every read already filters on it, so this is the delete the
|
|
317
|
+
* schema was built for: the site stops appearing, its widget stops being
|
|
318
|
+
* served, and nothing a reviewer wrote is destroyed. An operator who deletes
|
|
319
|
+
* the wrong site has a database row to restore rather than an apology to
|
|
320
|
+
* write.
|
|
321
|
+
*
|
|
322
|
+
* The name is freed for reuse, because a studio that deletes "Kilnwork" and
|
|
323
|
+
* makes a new "Kilnwork" is doing something ordinary — and `uid` is what
|
|
324
|
+
* anything durable actually points at.
|
|
325
|
+
*/
|
|
326
|
+
app.delete("/api/v1/projects/:uid", async (c) => {
|
|
327
|
+
const owner = c.get("owner");
|
|
328
|
+
if (!owner)
|
|
329
|
+
return fail(c, 401, "unauthorized", "Sign in to the dashboard first.");
|
|
330
|
+
const [project] = await sql `
|
|
331
|
+
SELECT id, org_id FROM projects WHERE uid = ${c.req.param("uid")} AND deleted_at IS NULL
|
|
332
|
+
`;
|
|
333
|
+
if (!project || project.org_id !== owner.orgId) {
|
|
334
|
+
return fail(c, 404, "project_not_found", "No project with that uid.");
|
|
335
|
+
}
|
|
336
|
+
await sql.begin(async (tx) => {
|
|
337
|
+
await tx `SELECT set_config('app.org_id', ${owner.orgId}, true)`;
|
|
338
|
+
await tx `
|
|
339
|
+
UPDATE projects SET deleted_at = now(), config_version = config_version + 1
|
|
340
|
+
WHERE id = ${project.id}::uuid
|
|
341
|
+
`;
|
|
342
|
+
});
|
|
343
|
+
return c.body(null, 204);
|
|
173
344
|
});
|
|
174
345
|
/** The origins on a site — what the dashboard shows beside the script tag. */
|
|
175
346
|
app.get("/api/v1/projects/:uid/origins", async (c) => {
|
|
@@ -177,7 +348,8 @@ export function siteRoutes(deps) {
|
|
|
177
348
|
if (!owner)
|
|
178
349
|
return fail(c, 401, "unauthorized", "Sign in to the dashboard first.");
|
|
179
350
|
const [project] = await sql `
|
|
180
|
-
SELECT id, org_id
|
|
351
|
+
SELECT id, org_id, settings->>'domain' AS domain
|
|
352
|
+
FROM projects WHERE uid = ${c.req.param("uid")} AND deleted_at IS NULL
|
|
181
353
|
`;
|
|
182
354
|
if (!project || project.org_id !== owner.orgId) {
|
|
183
355
|
return fail(c, 404, "project_not_found", "No project with that uid.");
|
|
@@ -185,7 +357,8 @@ export function siteRoutes(deps) {
|
|
|
185
357
|
const all = await sql `
|
|
186
358
|
SELECT pattern FROM project_origins WHERE project_id = ${project.id} ORDER BY pattern
|
|
187
359
|
`;
|
|
188
|
-
|
|
360
|
+
// D92: where the widget may run is the domain AND the exact addresses.
|
|
361
|
+
return c.json({ domain: project.domain, origins: all.map((r) => r.pattern) });
|
|
189
362
|
});
|
|
190
363
|
return app;
|
|
191
364
|
}
|
package/dist/routes/sites.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sites.js","sourceRoot":"","sources":["../../src/routes/sites.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sites.js","sourceRoot":"","sources":["../../src/routes/sites.ts"],"names":[],"mappings":"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"}
|