botnote 0.1.56 → 0.2.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/dist/cli.js +21 -8
- package/dist/cli.js.map +1 -1
- package/dist/db/client.d.ts +4 -0
- package/dist/db/client.js.map +1 -1
- package/dist/db/migrations/0029_drop_global_uniques.sql +38 -0
- package/dist/db/schema.d.ts +4 -4
- package/dist/db/schema.js +6 -6
- package/dist/db/schema.js.map +1 -1
- package/dist/rest/routes.js +58 -58
- package/dist/rest/routes.js.map +1 -1
- package/dist/rest/server.d.ts +11 -1
- package/dist/rest/server.js +19 -3
- package/dist/rest/server.js.map +1 -1
- package/dist/service/embedding.d.ts +5 -0
- package/dist/service/embedding.js +6 -1
- package/dist/service/embedding.js.map +1 -1
- package/dist/service/embedding_settings.d.ts +4 -3
- package/dist/service/embedding_settings.js +13 -16
- package/dist/service/embedding_settings.js.map +1 -1
- package/dist/service/entities.d.ts +29 -20
- package/dist/service/entities.js +101 -60
- package/dist/service/entities.js.map +1 -1
- package/dist/service/feedback.d.ts +3 -2
- package/dist/service/feedback.js +8 -4
- package/dist/service/feedback.js.map +1 -1
- package/dist/service/locks.d.ts +25 -0
- package/dist/service/locks.js +34 -0
- package/dist/service/locks.js.map +1 -0
- package/dist/service/opening_brief.d.ts +2 -1
- package/dist/service/opening_brief.js +6 -7
- package/dist/service/opening_brief.js.map +1 -1
- package/dist/service/projects.d.ts +6 -5
- package/dist/service/projects.js +25 -13
- package/dist/service/projects.js.map +1 -1
- package/dist/service/recurrence.d.ts +16 -6
- package/dist/service/recurrence.js +102 -53
- package/dist/service/recurrence.js.map +1 -1
- package/dist/service/scope.d.ts +14 -0
- package/dist/service/scope.js +19 -0
- package/dist/service/scope.js.map +1 -0
- package/dist/service/search.d.ts +3 -2
- package/dist/service/search.js +12 -9
- package/dist/service/search.js.map +1 -1
- package/dist/service/sessions.d.ts +7 -8
- package/dist/service/sessions.js +8 -8
- package/dist/service/sessions.js.map +1 -1
- package/dist/service/tasks.d.ts +5 -1
- package/dist/service/tasks.js +17 -22
- package/dist/service/tasks.js.map +1 -1
- package/dist/service/tokens.d.ts +7 -6
- package/dist/service/tokens.js +17 -10
- package/dist/service/tokens.js.map +1 -1
- package/dist/service/workspace_settings.d.ts +3 -2
- package/dist/service/workspace_settings.js +11 -15
- package/dist/service/workspace_settings.js.map +1 -1
- package/package.json +1 -1
package/dist/rest/routes.js
CHANGED
|
@@ -57,16 +57,16 @@ function publicToken(t) {
|
|
|
57
57
|
createdAt: t.createdAt
|
|
58
58
|
};
|
|
59
59
|
}
|
|
60
|
-
async function workspaceSettingsResponse(db) {
|
|
61
|
-
const settings = await getWorkspaceSettings(db);
|
|
60
|
+
async function workspaceSettingsResponse(scope, db) {
|
|
61
|
+
const settings = await getWorkspaceSettings(scope, db);
|
|
62
62
|
return {
|
|
63
63
|
timezone: settings.timezone,
|
|
64
64
|
updatedAt: settings.updatedAt
|
|
65
65
|
};
|
|
66
66
|
}
|
|
67
|
-
async function embeddingSettingsResponse(ctx) {
|
|
68
|
-
const settings = await getEmbeddingSettings(ctx.db);
|
|
69
|
-
const coverage = await embeddingCoverage(ctx.db);
|
|
67
|
+
async function embeddingSettingsResponse(scope, ctx) {
|
|
68
|
+
const settings = await getEmbeddingSettings(scope, ctx.db);
|
|
69
|
+
const coverage = await embeddingCoverage(scope, ctx.db);
|
|
70
70
|
const runtime = ctx.embedding.runtimeStatus();
|
|
71
71
|
return {
|
|
72
72
|
enabled: settings.enabled,
|
|
@@ -109,7 +109,7 @@ export async function registerRoutes(rawApp, ctx) {
|
|
|
109
109
|
tags: ["settings"],
|
|
110
110
|
summary: "Read embedding provider/model/key status and vector coverage"
|
|
111
111
|
}
|
|
112
|
-
}, async () => embeddingSettingsResponse(ctx));
|
|
112
|
+
}, async (req) => embeddingSettingsResponse(req.scope, ctx));
|
|
113
113
|
app.patch("/v1/settings/embedding", {
|
|
114
114
|
config: { rateLimit: { max: 30, timeWindow: "1 hour" } },
|
|
115
115
|
schema: {
|
|
@@ -119,9 +119,9 @@ export async function registerRoutes(rawApp, ctx) {
|
|
|
119
119
|
}
|
|
120
120
|
}, async (req) => {
|
|
121
121
|
const body = UpdateEmbeddingSettingsInput.parse(req.body);
|
|
122
|
-
await updateEmbeddingSettings(ctx.db, body);
|
|
122
|
+
await updateEmbeddingSettings(req.scope, ctx.db, body);
|
|
123
123
|
await ctx.embedding.reloadConfig();
|
|
124
|
-
return embeddingSettingsResponse(ctx);
|
|
124
|
+
return embeddingSettingsResponse(req.scope, ctx);
|
|
125
125
|
});
|
|
126
126
|
app.post("/v1/settings/embedding/backfill", {
|
|
127
127
|
config: { rateLimit: { max: 20, timeWindow: "1 hour" } },
|
|
@@ -132,14 +132,14 @@ export async function registerRoutes(rawApp, ctx) {
|
|
|
132
132
|
}
|
|
133
133
|
}, async (req) => {
|
|
134
134
|
const body = EmbeddingBackfillInput.parse(req.body ?? {});
|
|
135
|
-
const coverage = await embeddingCoverage(ctx.db);
|
|
135
|
+
const coverage = await embeddingCoverage(req.scope, ctx.db);
|
|
136
136
|
const limit = body.limit ?? coverage.missingCount;
|
|
137
137
|
const queued = limit > 0
|
|
138
138
|
? await ctx.embedding.enqueueMissing(limit)
|
|
139
139
|
: { enqueued: 0, pendingCount: ctx.embedding.pendingCount() };
|
|
140
140
|
return {
|
|
141
141
|
...queued,
|
|
142
|
-
settings: await embeddingSettingsResponse(ctx)
|
|
142
|
+
settings: await embeddingSettingsResponse(req.scope, ctx)
|
|
143
143
|
};
|
|
144
144
|
});
|
|
145
145
|
app.get("/v1/settings/workspace", {
|
|
@@ -147,7 +147,7 @@ export async function registerRoutes(rawApp, ctx) {
|
|
|
147
147
|
tags: ["settings"],
|
|
148
148
|
summary: "Read workspace settings (timezone)"
|
|
149
149
|
}
|
|
150
|
-
}, async () => workspaceSettingsResponse(ctx.db));
|
|
150
|
+
}, async (req) => workspaceSettingsResponse(req.scope, ctx.db));
|
|
151
151
|
app.patch("/v1/settings/workspace", {
|
|
152
152
|
config: { rateLimit: { max: 30, timeWindow: "1 hour" } },
|
|
153
153
|
schema: {
|
|
@@ -157,8 +157,8 @@ export async function registerRoutes(rawApp, ctx) {
|
|
|
157
157
|
}
|
|
158
158
|
}, async (req) => {
|
|
159
159
|
const body = UpdateWorkspaceSettingsInput.parse(req.body);
|
|
160
|
-
await updateWorkspaceSettings(ctx.db, body);
|
|
161
|
-
return workspaceSettingsResponse(ctx.db);
|
|
160
|
+
await updateWorkspaceSettings(req.scope, ctx.db, body);
|
|
161
|
+
return workspaceSettingsResponse(req.scope, ctx.db);
|
|
162
162
|
});
|
|
163
163
|
// ----- context -----
|
|
164
164
|
app.get("/v1/context", {
|
|
@@ -166,10 +166,10 @@ export async function registerRoutes(rawApp, ctx) {
|
|
|
166
166
|
tags: ["context"],
|
|
167
167
|
summary: "Server time, workspace timezone, version, and project list for agent date-math"
|
|
168
168
|
}
|
|
169
|
-
}, async () => {
|
|
169
|
+
}, async (req) => {
|
|
170
170
|
const [settings, projects] = await Promise.all([
|
|
171
|
-
getWorkspaceSettings(ctx.db),
|
|
172
|
-
listProjects(ctx.db, { includeArchived: false })
|
|
171
|
+
getWorkspaceSettings(req.scope, ctx.db),
|
|
172
|
+
listProjects(req.scope, ctx.db, { includeArchived: false })
|
|
173
173
|
]);
|
|
174
174
|
return {
|
|
175
175
|
now: new Date().toISOString(),
|
|
@@ -179,7 +179,7 @@ export async function registerRoutes(rawApp, ctx) {
|
|
|
179
179
|
};
|
|
180
180
|
});
|
|
181
181
|
// ----- projects -----
|
|
182
|
-
app.post("/v1/projects", { schema: { tags: ["projects"], summary: "Create a project", body: CreateProjectInput } }, async (req) => createProject(ctx.db, CreateProjectInput.parse(req.body)));
|
|
182
|
+
app.post("/v1/projects", { schema: { tags: ["projects"], summary: "Create a project", body: CreateProjectInput } }, async (req) => createProject(req.scope, ctx.db, CreateProjectInput.parse(req.body)));
|
|
183
183
|
app.get("/v1/projects", {
|
|
184
184
|
schema: {
|
|
185
185
|
tags: ["projects"],
|
|
@@ -188,11 +188,11 @@ export async function registerRoutes(rawApp, ctx) {
|
|
|
188
188
|
}
|
|
189
189
|
}, async (req) => {
|
|
190
190
|
const query = ListProjectsInput.parse(ListProjectsQuery.parse(req.query));
|
|
191
|
-
return listProjects(ctx.db, query);
|
|
191
|
+
return listProjects(req.scope, ctx.db, query);
|
|
192
192
|
});
|
|
193
193
|
app.get("/v1/projects/:id", { schema: { tags: ["projects"], summary: "Fetch a project by id (includes AGENTS.md)", params: IdParams } }, async (req, reply) => {
|
|
194
194
|
const { id } = IdParams.parse(req.params);
|
|
195
|
-
const p = await getProject(ctx.db, id);
|
|
195
|
+
const p = await getProject(req.scope, ctx.db, id);
|
|
196
196
|
if (!p)
|
|
197
197
|
return reply.code(404).send({ error: "not_found" });
|
|
198
198
|
return p;
|
|
@@ -207,11 +207,11 @@ export async function registerRoutes(rawApp, ctx) {
|
|
|
207
207
|
}, async (req) => {
|
|
208
208
|
const { id } = IdParams.parse(req.params);
|
|
209
209
|
const body = UpdateProjectInput.parse(req.body);
|
|
210
|
-
return updateProject(ctx.db, id, body);
|
|
210
|
+
return updateProject(req.scope, ctx.db, id, body);
|
|
211
211
|
});
|
|
212
212
|
app.get("/v1/projects/by-key/:key", { schema: { tags: ["projects"], summary: "Fetch a project by key", params: KeyParams } }, async (req, reply) => {
|
|
213
213
|
const { key } = KeyParams.parse(req.params);
|
|
214
|
-
const p = await getProjectByKey(ctx.db, key);
|
|
214
|
+
const p = await getProjectByKey(req.scope, ctx.db, key);
|
|
215
215
|
if (!p)
|
|
216
216
|
return reply.code(404).send({ error: "not_found" });
|
|
217
217
|
return p;
|
|
@@ -228,7 +228,7 @@ export async function registerRoutes(rawApp, ctx) {
|
|
|
228
228
|
const { id } = IdParams.parse(req.params);
|
|
229
229
|
const bodyOpts = OpeningBriefBody.parse(req.body);
|
|
230
230
|
const input = OpeningBriefInput.parse({ projectId: id, recentLimit: bodyOpts?.recentLimit });
|
|
231
|
-
const brief = await openingBrief(ctx.db, input);
|
|
231
|
+
const brief = await openingBrief(req.scope, ctx.db, input);
|
|
232
232
|
return {
|
|
233
233
|
...brief,
|
|
234
234
|
pinnedNotes: serializeEntities(brief.pinnedNotes),
|
|
@@ -250,7 +250,7 @@ export async function registerRoutes(rawApp, ctx) {
|
|
|
250
250
|
}
|
|
251
251
|
}, async (req) => {
|
|
252
252
|
const input = OpeningBriefInput.parse(req.body ?? {});
|
|
253
|
-
const brief = await openingBrief(ctx.db, input);
|
|
253
|
+
const brief = await openingBrief(req.scope, ctx.db, input);
|
|
254
254
|
return {
|
|
255
255
|
...brief,
|
|
256
256
|
pinnedNotes: serializeEntities(brief.pinnedNotes),
|
|
@@ -263,10 +263,10 @@ export async function registerRoutes(rawApp, ctx) {
|
|
|
263
263
|
// ----- entities (read) -----
|
|
264
264
|
app.get("/v1/entities/:id", { schema: { tags: ["entities"], summary: "Fetch an entity by id", params: EntityIdParams } }, async (req, reply) => {
|
|
265
265
|
const { id } = EntityIdParams.parse(req.params);
|
|
266
|
-
const e = await get(ctx.db, id);
|
|
266
|
+
const e = await get(req.scope, ctx.db, id);
|
|
267
267
|
if (!e)
|
|
268
268
|
return reply.code(404).send({ error: "not_found" });
|
|
269
|
-
await bumpAccess(ctx.db, e.id);
|
|
269
|
+
await bumpAccess(req.scope, ctx.db, e.id);
|
|
270
270
|
return serializeEntity(e);
|
|
271
271
|
});
|
|
272
272
|
app.get("/v1/projects/by-key/:key/entities/by-seq/:seq", {
|
|
@@ -277,10 +277,10 @@ export async function registerRoutes(rawApp, ctx) {
|
|
|
277
277
|
}
|
|
278
278
|
}, async (req, reply) => {
|
|
279
279
|
const { key, seq } = KeySeqParams.parse(req.params);
|
|
280
|
-
const e = await getByKey(ctx.db, key, seq);
|
|
280
|
+
const e = await getByKey(req.scope, ctx.db, key, seq);
|
|
281
281
|
if (!e)
|
|
282
282
|
return reply.code(404).send({ error: "not_found" });
|
|
283
|
-
await bumpAccess(ctx.db, e.id);
|
|
283
|
+
await bumpAccess(req.scope, ctx.db, e.id);
|
|
284
284
|
return serializeEntity(e);
|
|
285
285
|
});
|
|
286
286
|
app.get("/v1/entities/:id/related", {
|
|
@@ -291,7 +291,7 @@ export async function registerRoutes(rawApp, ctx) {
|
|
|
291
291
|
}
|
|
292
292
|
}, async (req) => {
|
|
293
293
|
const { id } = EntityIdParams.parse(req.params);
|
|
294
|
-
return serializeEntities(await listRelated(ctx.db, id));
|
|
294
|
+
return serializeEntities(await listRelated(req.scope, ctx.db, id));
|
|
295
295
|
});
|
|
296
296
|
app.get("/v1/entities/:id/children", {
|
|
297
297
|
schema: {
|
|
@@ -301,7 +301,7 @@ export async function registerRoutes(rawApp, ctx) {
|
|
|
301
301
|
}
|
|
302
302
|
}, async (req) => {
|
|
303
303
|
const { id } = EntityIdParams.parse(req.params);
|
|
304
|
-
return serializeEntities(await listChildren(ctx.db, id));
|
|
304
|
+
return serializeEntities(await listChildren(req.scope, ctx.db, id));
|
|
305
305
|
});
|
|
306
306
|
app.post("/v1/recent", {
|
|
307
307
|
schema: {
|
|
@@ -309,7 +309,7 @@ export async function registerRoutes(rawApp, ctx) {
|
|
|
309
309
|
summary: "Recent entities (filterable by project, kinds, since)",
|
|
310
310
|
body: RecentInput.optional()
|
|
311
311
|
}
|
|
312
|
-
}, async (req) => serializeEntities(await recent(ctx.db, RecentInput.parse(req.body ?? {}))));
|
|
312
|
+
}, async (req) => serializeEntities(await recent(req.scope, ctx.db, RecentInput.parse(req.body ?? {}))));
|
|
313
313
|
app.post("/v1/search", {
|
|
314
314
|
schema: {
|
|
315
315
|
tags: ["search"],
|
|
@@ -320,7 +320,7 @@ export async function registerRoutes(rawApp, ctx) {
|
|
|
320
320
|
}, async (req) => {
|
|
321
321
|
const body = SearchInput.parse(req.body);
|
|
322
322
|
const queryEmbedding = await ctx.embedding.embedQuery(body.query);
|
|
323
|
-
const hits = await search(ctx.db, body, queryEmbedding ? { queryEmbedding } : {});
|
|
323
|
+
const hits = await search(req.scope, ctx.db, body, queryEmbedding ? { queryEmbedding } : {});
|
|
324
324
|
return {
|
|
325
325
|
hits: hits.map((h) => ({ ...h, entity: serializeEntity(h.entity) })),
|
|
326
326
|
embeddingUsed: queryEmbedding != null
|
|
@@ -334,7 +334,7 @@ export async function registerRoutes(rawApp, ctx) {
|
|
|
334
334
|
body: TasksRangeInput
|
|
335
335
|
}
|
|
336
336
|
}, async (req) => {
|
|
337
|
-
const result = await tasksRange(ctx.db, TasksRangeInput.parse(req.body));
|
|
337
|
+
const result = await tasksRange(req.scope, ctx.db, TasksRangeInput.parse(req.body));
|
|
338
338
|
return {
|
|
339
339
|
scheduled: serializeEntities(result.scheduled),
|
|
340
340
|
overdue: serializeEntities(result.overdue),
|
|
@@ -352,7 +352,7 @@ export async function registerRoutes(rawApp, ctx) {
|
|
|
352
352
|
}, async (req) => {
|
|
353
353
|
const { id } = IdParams.parse(req.params);
|
|
354
354
|
const body = RecurrenceInput.parse(req.body);
|
|
355
|
-
return createRecurrenceRule(ctx.db, id, body);
|
|
355
|
+
return createRecurrenceRule(req.scope, ctx.db, id, body);
|
|
356
356
|
});
|
|
357
357
|
app.get("/v1/tasks/:id/recurrence", {
|
|
358
358
|
schema: {
|
|
@@ -362,7 +362,7 @@ export async function registerRoutes(rawApp, ctx) {
|
|
|
362
362
|
}
|
|
363
363
|
}, async (req, reply) => {
|
|
364
364
|
const { id } = IdParams.parse(req.params);
|
|
365
|
-
const recurrence = await getRecurrenceForTask(ctx.db, id);
|
|
365
|
+
const recurrence = await getRecurrenceForTask(req.scope, ctx.db, id);
|
|
366
366
|
if (!recurrence) {
|
|
367
367
|
reply.code(404);
|
|
368
368
|
return { error: "not_found", path: req.url };
|
|
@@ -384,7 +384,7 @@ export async function registerRoutes(rawApp, ctx) {
|
|
|
384
384
|
}, async (req) => {
|
|
385
385
|
const { id } = RuleIdParams.parse(req.params);
|
|
386
386
|
const body = UpdateRecurrenceInput.parse(req.body);
|
|
387
|
-
return updateRecurrenceRule(ctx.db, id, body);
|
|
387
|
+
return updateRecurrenceRule(req.scope, ctx.db, id, body);
|
|
388
388
|
});
|
|
389
389
|
app.post("/v1/tasks/:id/skip-occurrence", {
|
|
390
390
|
schema: {
|
|
@@ -396,7 +396,7 @@ export async function registerRoutes(rawApp, ctx) {
|
|
|
396
396
|
}, async (req) => {
|
|
397
397
|
const { id } = IdParams.parse(req.params);
|
|
398
398
|
const body = SkipOccurrenceInput.parse(req.body ?? {});
|
|
399
|
-
const result = await skipOccurrence(ctx.db, id, body);
|
|
399
|
+
const result = await skipOccurrence(req.scope, ctx.db, id, body);
|
|
400
400
|
return {
|
|
401
401
|
...result,
|
|
402
402
|
skipped: serializeEntity(result.skipped),
|
|
@@ -413,7 +413,7 @@ export async function registerRoutes(rawApp, ctx) {
|
|
|
413
413
|
}, async (req) => {
|
|
414
414
|
const { id } = RuleIdParams.parse(req.params);
|
|
415
415
|
const body = StopRecurrenceInput.parse(req.body ?? {});
|
|
416
|
-
return stopRecurrence(ctx.db, id, body);
|
|
416
|
+
return stopRecurrence(req.scope, ctx.db, id, body);
|
|
417
417
|
});
|
|
418
418
|
app.post("/v1/recurrences/:id/split", {
|
|
419
419
|
schema: {
|
|
@@ -425,7 +425,7 @@ export async function registerRoutes(rawApp, ctx) {
|
|
|
425
425
|
}, async (req) => {
|
|
426
426
|
const { id } = RuleIdParams.parse(req.params);
|
|
427
427
|
const body = SplitRecurrenceInput.parse(req.body);
|
|
428
|
-
return splitRecurrence(ctx.db, id, body);
|
|
428
|
+
return splitRecurrence(req.scope, ctx.db, id, body);
|
|
429
429
|
});
|
|
430
430
|
// ----- entities (write) -----
|
|
431
431
|
app.post("/v1/tasks", {
|
|
@@ -436,7 +436,7 @@ export async function registerRoutes(rawApp, ctx) {
|
|
|
436
436
|
}
|
|
437
437
|
}, async (req) => {
|
|
438
438
|
const body = CreateTaskInput.parse(req.body);
|
|
439
|
-
const entity = await write(ctx.db, { ...body, kind: "task", pinned: false });
|
|
439
|
+
const entity = await write(req.scope, ctx.db, { ...body, kind: "task", pinned: false });
|
|
440
440
|
if (ctx.embedding.isEnabled()) {
|
|
441
441
|
ctx.embedding.enqueue(entity.id, `${entity.title ?? ""}\n${entity.body}`);
|
|
442
442
|
}
|
|
@@ -452,11 +452,11 @@ export async function registerRoutes(rawApp, ctx) {
|
|
|
452
452
|
const { supersedes, ...body } = CreateNoteInput.parse(req.body);
|
|
453
453
|
// Resolve the supersedes target BEFORE writing so a bad reference
|
|
454
454
|
// fails the whole request instead of leaving an orphaned note.
|
|
455
|
-
const supersededId = supersedes ? (await get(ctx.db, supersedes))?.id ?? null : null;
|
|
455
|
+
const supersededId = supersedes ? (await get(req.scope, ctx.db, supersedes))?.id ?? null : null;
|
|
456
456
|
if (supersedes && !supersededId) {
|
|
457
457
|
return reply.code(404).send({ error: `supersedes target ${supersedes} not found` });
|
|
458
458
|
}
|
|
459
|
-
const entity = await write(ctx.db, {
|
|
459
|
+
const entity = await write(req.scope, ctx.db, {
|
|
460
460
|
...body,
|
|
461
461
|
kind: "note",
|
|
462
462
|
status: "open",
|
|
@@ -464,7 +464,7 @@ export async function registerRoutes(rawApp, ctx) {
|
|
|
464
464
|
dueAt: null
|
|
465
465
|
});
|
|
466
466
|
if (supersededId) {
|
|
467
|
-
await markSuperseded(ctx.db, entity.id, supersededId);
|
|
467
|
+
await markSuperseded(req.scope, ctx.db, entity.id, supersededId);
|
|
468
468
|
}
|
|
469
469
|
if (ctx.embedding.isEnabled()) {
|
|
470
470
|
ctx.embedding.enqueue(entity.id, `${entity.title ?? ""}\n${entity.body}`);
|
|
@@ -476,7 +476,7 @@ export async function registerRoutes(rawApp, ctx) {
|
|
|
476
476
|
if (!supersededId) {
|
|
477
477
|
const label = (entity.title ?? entity.body.split("\n")[0] ?? "").trim().slice(0, 200);
|
|
478
478
|
const queryEmbedding = label ? await ctx.embedding.embedQuery(label) : null;
|
|
479
|
-
const hits = await findSimilar(ctx.db, {
|
|
479
|
+
const hits = await findSimilar(req.scope, ctx.db, {
|
|
480
480
|
title: entity.title,
|
|
481
481
|
body: entity.body,
|
|
482
482
|
projectId: entity.projectId,
|
|
@@ -498,7 +498,7 @@ export async function registerRoutes(rawApp, ctx) {
|
|
|
498
498
|
}, async (req) => {
|
|
499
499
|
const { id } = EntityIdParams.parse(req.params);
|
|
500
500
|
const body = CreateCommentInput.parse(req.body);
|
|
501
|
-
const entity = await addComment(ctx.db, id, body);
|
|
501
|
+
const entity = await addComment(req.scope, ctx.db, id, body);
|
|
502
502
|
if (ctx.embedding.isEnabled()) {
|
|
503
503
|
ctx.embedding.enqueue(entity.id, entity.body);
|
|
504
504
|
}
|
|
@@ -512,7 +512,7 @@ export async function registerRoutes(rawApp, ctx) {
|
|
|
512
512
|
}
|
|
513
513
|
}, async (req) => {
|
|
514
514
|
const { id } = EntityIdParams.parse(req.params);
|
|
515
|
-
return serializeEntities(await listComments(ctx.db, id));
|
|
515
|
+
return serializeEntities(await listComments(req.scope, ctx.db, id));
|
|
516
516
|
});
|
|
517
517
|
app.post("/v1/feedback", {
|
|
518
518
|
schema: {
|
|
@@ -522,7 +522,7 @@ export async function registerRoutes(rawApp, ctx) {
|
|
|
522
522
|
}
|
|
523
523
|
}, async (req) => {
|
|
524
524
|
const body = CreateFeedbackInput.parse(req.body);
|
|
525
|
-
const entity = await submitFeedback(ctx.db, body);
|
|
525
|
+
const entity = await submitFeedback(req.scope, ctx.db, body);
|
|
526
526
|
if (ctx.embedding.isEnabled()) {
|
|
527
527
|
ctx.embedding.enqueue(entity.id, `${entity.title ?? ""}\n${entity.body}`);
|
|
528
528
|
}
|
|
@@ -540,7 +540,7 @@ export async function registerRoutes(rawApp, ctx) {
|
|
|
540
540
|
}
|
|
541
541
|
}, async (req) => {
|
|
542
542
|
const query = ListFeedbackInput.parse(req.query);
|
|
543
|
-
return serializeEntities(await listFeedback(ctx.db, query));
|
|
543
|
+
return serializeEntities(await listFeedback(req.scope, ctx.db, query));
|
|
544
544
|
});
|
|
545
545
|
app.patch("/v1/entities/:id", {
|
|
546
546
|
schema: {
|
|
@@ -552,7 +552,7 @@ export async function registerRoutes(rawApp, ctx) {
|
|
|
552
552
|
}, async (req) => {
|
|
553
553
|
const { id } = EntityIdParams.parse(req.params);
|
|
554
554
|
const fields = UpdateInput.parse(req.body);
|
|
555
|
-
const updated = await update(ctx.db, id, fields);
|
|
555
|
+
const updated = await update(req.scope, ctx.db, id, fields);
|
|
556
556
|
if (ctx.embedding.isEnabled() &&
|
|
557
557
|
(fields.body !== undefined || fields.bodyAppend !== undefined || fields.title !== undefined)) {
|
|
558
558
|
ctx.embedding.enqueue(updated.id, `${updated.title ?? ""}\n${updated.body}`);
|
|
@@ -574,7 +574,7 @@ export async function registerRoutes(rawApp, ctx) {
|
|
|
574
574
|
}, async (req, reply) => {
|
|
575
575
|
const { id } = EntityIdParams.parse(req.params);
|
|
576
576
|
const query = DeleteEntityQuery.parse(req.query);
|
|
577
|
-
const ok = query.purge ? await purge(ctx.db, id) : await remove(ctx.db, id);
|
|
577
|
+
const ok = query.purge ? await purge(req.scope, ctx.db, id) : await remove(req.scope, ctx.db, id);
|
|
578
578
|
if (!ok)
|
|
579
579
|
return reply.code(404).send({ error: "not_found" });
|
|
580
580
|
return reply.code(204).send();
|
|
@@ -587,7 +587,7 @@ export async function registerRoutes(rawApp, ctx) {
|
|
|
587
587
|
}
|
|
588
588
|
}, async (req, reply) => {
|
|
589
589
|
const { id } = EntityIdParams.parse(req.params);
|
|
590
|
-
const restored = await restore(ctx.db, id);
|
|
590
|
+
const restored = await restore(req.scope, ctx.db, id);
|
|
591
591
|
if (!restored)
|
|
592
592
|
return reply.code(404).send({ error: "not_found" });
|
|
593
593
|
return serializeEntity(restored);
|
|
@@ -603,7 +603,7 @@ export async function registerRoutes(rawApp, ctx) {
|
|
|
603
603
|
}
|
|
604
604
|
}, async (req) => {
|
|
605
605
|
const query = TrashQuery.parse(req.query);
|
|
606
|
-
return serializeEntities(await listTrash(ctx.db, query.limit));
|
|
606
|
+
return serializeEntities(await listTrash(req.scope, ctx.db, query.limit));
|
|
607
607
|
});
|
|
608
608
|
app.post("/v1/entities/:id/links", {
|
|
609
609
|
schema: {
|
|
@@ -615,7 +615,7 @@ export async function registerRoutes(rawApp, ctx) {
|
|
|
615
615
|
}, async (req) => {
|
|
616
616
|
const { id } = IdParams.parse(req.params);
|
|
617
617
|
const body = LinkBody.parse(req.body);
|
|
618
|
-
return link(ctx.db, { fromId: id, toId: body.toId, kind: body.kind });
|
|
618
|
+
return link(req.scope, ctx.db, { fromId: id, toId: body.toId, kind: body.kind });
|
|
619
619
|
});
|
|
620
620
|
const GetLinksQuery = z.object({
|
|
621
621
|
kind: z.enum(["blocks", "references", "parent_of"]).optional(),
|
|
@@ -632,7 +632,7 @@ export async function registerRoutes(rawApp, ctx) {
|
|
|
632
632
|
const { id } = IdParams.parse(req.params);
|
|
633
633
|
const query = GetLinksQuery.parse(req.query);
|
|
634
634
|
const input = GetLinksInput.parse({ id, kind: query.kind, direction: query.direction ?? "both" });
|
|
635
|
-
const links = await getLinks(ctx.db, input);
|
|
635
|
+
const links = await getLinks(req.scope, ctx.db, input);
|
|
636
636
|
return links.map((l) => ({
|
|
637
637
|
kind: l.kind,
|
|
638
638
|
direction: l.direction,
|
|
@@ -651,7 +651,7 @@ export async function registerRoutes(rawApp, ctx) {
|
|
|
651
651
|
}, async (req) => {
|
|
652
652
|
const query = ListTagsQuery.parse(req.query);
|
|
653
653
|
const input = ListTagsInput.parse({ projectId: query.projectId ?? null });
|
|
654
|
-
return listTags(ctx.db, input);
|
|
654
|
+
return listTags(req.scope, ctx.db, input);
|
|
655
655
|
});
|
|
656
656
|
// ----- auth (browser session cookie) -----
|
|
657
657
|
const LoginBody = z.object({
|
|
@@ -675,7 +675,7 @@ export async function registerRoutes(rawApp, ctx) {
|
|
|
675
675
|
return reply.code(401).send({ error: "invalid_password" });
|
|
676
676
|
}
|
|
677
677
|
const ua = req.headers["user-agent"] ?? null;
|
|
678
|
-
const { plaintext, session } = await createSession(ctx.db, { userAgent: ua });
|
|
678
|
+
const { plaintext, session } = await createSession(req.scope, ctx.db, { userAgent: ua });
|
|
679
679
|
reply.setCookie("botnote_session", plaintext, {
|
|
680
680
|
httpOnly: true,
|
|
681
681
|
secure: process.env.NODE_ENV === "production",
|
|
@@ -717,7 +717,7 @@ export async function registerRoutes(rawApp, ctx) {
|
|
|
717
717
|
return { authenticated: true, via, origin: requestOrigin(req, ctx.auth) };
|
|
718
718
|
});
|
|
719
719
|
// ----- tokens -----
|
|
720
|
-
app.get("/v1/tokens", { schema: { tags: ["tokens"], summary: "List API tokens (no hash; includes recoverable plaintext when available)" } }, async () => (await listTokens(ctx.db)).map(publicToken));
|
|
720
|
+
app.get("/v1/tokens", { schema: { tags: ["tokens"], summary: "List API tokens (no hash; includes recoverable plaintext when available)" } }, async (req) => (await listTokens(req.scope, ctx.db)).map(publicToken));
|
|
721
721
|
// Token write endpoints get a much tighter cap (30/hour per IP). These are
|
|
722
722
|
// low-frequency operations — bumping them limits the blast radius if a token
|
|
723
723
|
// leaks or someone hammers the create endpoint.
|
|
@@ -730,7 +730,7 @@ export async function registerRoutes(rawApp, ctx) {
|
|
|
730
730
|
}
|
|
731
731
|
}, async (req) => {
|
|
732
732
|
const body = CreateTokenInput.parse(req.body);
|
|
733
|
-
const { token, plaintext } = await createToken(ctx.db, body);
|
|
733
|
+
const { token, plaintext } = await createToken(req.scope, ctx.db, body);
|
|
734
734
|
return { ...publicToken(token), plaintext };
|
|
735
735
|
});
|
|
736
736
|
app.delete("/v1/tokens/:id", {
|
|
@@ -738,7 +738,7 @@ export async function registerRoutes(rawApp, ctx) {
|
|
|
738
738
|
schema: { tags: ["tokens"], summary: "Revoke an API token", params: IdParams }
|
|
739
739
|
}, async (req, reply) => {
|
|
740
740
|
const { id } = IdParams.parse(req.params);
|
|
741
|
-
const ok = await revokeToken(ctx.db, id);
|
|
741
|
+
const ok = await revokeToken(req.scope, ctx.db, id);
|
|
742
742
|
if (!ok)
|
|
743
743
|
return reply.code(404).send({ error: "not_found" });
|
|
744
744
|
return reply.code(204).send();
|
package/dist/rest/routes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/rest/routes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/rest/routes.ts"],"names":[],"mappings":"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"}
|
package/dist/rest/server.d.ts
CHANGED
|
@@ -1,15 +1,25 @@
|
|
|
1
1
|
import { type FastifyInstance } from "fastify";
|
|
2
2
|
import type { Database } from "../db/client.js";
|
|
3
3
|
import type { EmbeddingService } from "../service/embedding.js";
|
|
4
|
+
import { type Scope } from "../service/scope.js";
|
|
4
5
|
import { type AuthConfig } from "./auth.js";
|
|
5
6
|
export interface ServerContext {
|
|
6
7
|
db: Database["db"];
|
|
7
8
|
embedding: EmbeddingService;
|
|
8
9
|
auth: AuthConfig;
|
|
10
|
+
/** Scope for requests that carry no credential (single-workspace mode). */
|
|
11
|
+
defaultScope: Scope;
|
|
9
12
|
}
|
|
10
|
-
export interface BuildServerOpts extends Omit<ServerContext, "auth"> {
|
|
13
|
+
export interface BuildServerOpts extends Omit<ServerContext, "auth" | "defaultScope"> {
|
|
11
14
|
logLevel?: string;
|
|
12
15
|
webDist?: string;
|
|
13
16
|
auth?: AuthConfig;
|
|
17
|
+
defaultScope?: Scope;
|
|
18
|
+
}
|
|
19
|
+
declare module "fastify" {
|
|
20
|
+
interface FastifyRequest {
|
|
21
|
+
/** Workspace the request is allowed to touch. Set by onRequest, never by a route. */
|
|
22
|
+
scope: Scope;
|
|
23
|
+
}
|
|
14
24
|
}
|
|
15
25
|
export declare function buildServer(opts: BuildServerOpts): Promise<FastifyInstance>;
|