@nacre.work/api 0.34.0 → 0.36.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.
@@ -0,0 +1,30 @@
1
+ import { type AuditWriter, type McpReadTool, type McpWriteTool } from '@nacre.work/core';
2
+ import type { AdminNames } from './admin-names.js';
3
+ import { type NotificationStore } from './notifications.js';
4
+ /**
5
+ * Notifications and alert rules on the administrative MCP. docs/mcp-admin.md,
6
+ * "Notifications".
7
+ *
8
+ * Built only where the installation has a mail relay — a tool that queues a
9
+ * message nothing will send is a tool that says it did something it did not —
10
+ * and composed by both processes that hold the core's writes: the MCP process,
11
+ * which proposes, and the API, which applies from the console.
12
+ *
13
+ * ## T35
14
+ *
15
+ * A recipient is named by address or id and resolved to an **active user of
16
+ * the caller's organization**, or the call is refused naming what did not
17
+ * resolve — before anything is stored, which is "refused before a message is
18
+ * composed". The address is used to find a person and then dropped: what is
19
+ * stored is the id, and the worker reads the address again at sending time.
20
+ * Applying resolves the ids once more, because a person disabled in the ten
21
+ * minutes between is somebody the organization has just decided should not be
22
+ * reached.
23
+ */
24
+ export interface NotifyPorts {
25
+ readonly audit: AuditWriter;
26
+ readonly names: AdminNames;
27
+ readonly notifications: NotificationStore;
28
+ }
29
+ export declare function notificationTools(ports: NotifyPorts): readonly (McpReadTool | McpWriteTool)[];
30
+ //# sourceMappingURL=admin-notify.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-notify.d.ts","sourceRoot":"","sources":["../src/admin-notify.ts"],"names":[],"mappings":"AAAA,OAAO,EASL,KAAK,WAAW,EAChB,KAAK,WAAW,EAEhB,KAAK,YAAY,EAClB,MAAM,kBAAkB,CAAA;AAEzB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAGlD,OAAO,EAAmC,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAE5F;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAA;IAC1B,QAAQ,CAAC,aAAa,EAAE,iBAAiB,CAAA;CAC1C;AAmFD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,CAAC,WAAW,GAAG,YAAY,CAAC,EAAE,CA8Q7F"}
@@ -0,0 +1,335 @@
1
+ import { ALERT_KINDS, ALERT_WINDOW, isAlertKind, McpToolRefusal, NOTIFY_MAX_RECIPIENTS, NOTIFY_PER_HOUR, notificationText, ruleSentence, } from '@nacre.work/core';
2
+ import { isUuid } from './admin-names.js';
3
+ import { MAX_ALERT_RULES } from './notifications.js';
4
+ const auth = (call) => call.auth;
5
+ const RECIPIENT_PROPS = {
6
+ people: {
7
+ type: 'array',
8
+ items: { type: 'string' },
9
+ maxItems: NOTIFY_MAX_RECIPIENTS,
10
+ description: 'People in this organization, by email address or id. Nobody else can be named: there is no way to ' +
11
+ 'send to an address outside the organization.',
12
+ },
13
+ org_admins: { type: 'boolean', description: "Every active organization administrator, whoever they are when it is sent." },
14
+ };
15
+ const count = (n, one, many = `${one}s`) => `${String(n)} ${n === 1 ? one : many}`;
16
+ /** The references a call named, bounded, before anything is looked up. */
17
+ function references(args) {
18
+ const people = args.people;
19
+ if (people !== undefined && !Array.isArray(people))
20
+ throw new McpToolRefusal("'people' is a list of addresses or ids.");
21
+ const refs = (people ?? []);
22
+ if (refs.some((r) => typeof r !== 'string' || r.trim() === '' || r.length > 320)) {
23
+ throw new McpToolRefusal("Each of 'people' is one person's address or id.");
24
+ }
25
+ if (refs.length > NOTIFY_MAX_RECIPIENTS) {
26
+ throw new McpToolRefusal(`At most ${String(NOTIFY_MAX_RECIPIENTS)} people by name; 'org_admins' reaches every administrator.`);
27
+ }
28
+ if (args.org_admins !== undefined && typeof args.org_admins !== 'boolean')
29
+ throw new McpToolRefusal("'org_admins' is true or false.");
30
+ const toOrgAdmins = args.org_admins === true;
31
+ if (refs.length === 0 && !toOrgAdmins)
32
+ throw new McpToolRefusal("Name the people it goes to, or set 'org_admins'.");
33
+ return { refs: refs, toOrgAdmins };
34
+ }
35
+ /**
36
+ * Who it goes to, as ids and as the sentence a person reads — or a refusal
37
+ * naming every reference that is not an active person here. T35.
38
+ */
39
+ async function recipients(ports, a, args) {
40
+ const { refs, toOrgAdmins } = references(args);
41
+ const { found, unknown } = await ports.notifications.people(a, refs);
42
+ if (unknown.length > 0) {
43
+ throw new McpToolRefusal(`${unknown.map((r) => `"${r}"`).join(', ')} ${unknown.length === 1 ? 'is' : 'are'} not an active person in this ` +
44
+ 'organization. A notification goes only to people here, named by their address — nobody outside it, ' +
45
+ 'and nobody disabled.');
46
+ }
47
+ const people = [...new Map([...found.values()].map((p) => [p.id, p])).values()];
48
+ const emails = people.map((p) => p.email);
49
+ const admins = toOrgAdmins ? await ports.notifications.orgAdmins(a) : 0;
50
+ const parts = [...emails, ...(toOrgAdmins ? [`every organization administrator (${String(admins)} now)`] : [])];
51
+ const words = parts.length <= 1 ? (parts[0] ?? '') : `${parts.slice(0, -1).join(', ')} and ${parts[parts.length - 1] ?? ''}`;
52
+ return { ids: people.map((p) => p.id), emails, toOrgAdmins, words };
53
+ }
54
+ /** Ids a stored proposal carries, still active — or the refusal saying who is not. */
55
+ async function stillActive(ports, a, ids) {
56
+ const { unknown } = await ports.notifications.people(a, ids);
57
+ if (unknown.length > 0) {
58
+ throw new McpToolRefusal(`${count(unknown.length, 'person', 'people')} it was addressed to ${unknown.length === 1 ? 'is' : 'are'} no longer active ` +
59
+ 'in this organization. Propose it again to the people who are.');
60
+ }
61
+ }
62
+ const storedIds = (input, key) => {
63
+ const value = input[key];
64
+ if (!Array.isArray(value) || value.some((v) => typeof v !== 'string' || !isUuid(v))) {
65
+ throw new Error(`a stored proposal is missing ${key}`);
66
+ }
67
+ return value;
68
+ };
69
+ export function notificationTools(ports) {
70
+ const record = async (call, action, result, target, detail = {}) => {
71
+ const a = auth(call);
72
+ if (Object.keys(target).length === 0)
73
+ throw new Error(`${action.action} was recorded with no target`);
74
+ await ports.audit.write({
75
+ orgId: a.orgId,
76
+ actor: `${a.principal.type}:${a.principal.id}`,
77
+ ...action,
78
+ result,
79
+ surface: 'mcp-admin',
80
+ target: { ...target },
81
+ detail: { ...detail, ...(call.proposal === undefined ? {} : { proposal: call.proposal.id, through: call.proposal.through }) },
82
+ requestId: call.requestId,
83
+ });
84
+ };
85
+ const describeRule = async (a, rule) => {
86
+ const named = await ports.names.names(a, [...rule.recipients, rule.createdBy]);
87
+ return {
88
+ id: rule.id,
89
+ when: ruleSentence(rule),
90
+ kind: rule.kind,
91
+ ...(rule.layerSlug === null ? {} : { layer: rule.layerSlug }),
92
+ ...(rule.threshold === null ? {} : { threshold: rule.threshold, window_minutes: rule.windowMinutes }),
93
+ notifies: [
94
+ ...rule.recipients.map((id) => named.get(id) ?? id),
95
+ ...(rule.toOrgAdmins ? ['every organization administrator'] : []),
96
+ ],
97
+ created_by: named.get(rule.createdBy) ?? rule.createdBy,
98
+ created_at: rule.createdAt,
99
+ last_fired_at: rule.lastFiredAt,
100
+ };
101
+ };
102
+ return [
103
+ {
104
+ kind: 'write',
105
+ name: 'send_notification',
106
+ title: 'Send a notification',
107
+ description: 'Propose an email to people in this organization — by address, or every organization administrator. ' +
108
+ 'A subject and a plain-text body, no links. It says an agent wrote it and who approved it. Only people ' +
109
+ `in this organization can be named. At most ${String(NOTIFY_PER_HOUR)} an hour per organization.`,
110
+ inputSchema: {
111
+ type: 'object',
112
+ properties: {
113
+ ...RECIPIENT_PROPS,
114
+ subject: { type: 'string', maxLength: 200, description: 'One line.' },
115
+ body: { type: 'string', maxLength: 4000, description: 'Plain text; a blank line starts a paragraph. No links.' },
116
+ },
117
+ required: ['subject', 'body'],
118
+ additionalProperties: false,
119
+ },
120
+ async propose(call, args) {
121
+ const a = auth(call);
122
+ // Recipients first, and refused before the text is even looked at: the
123
+ // question T35 asks is answered before anything is composed.
124
+ const to = await recipients(ports, a, args);
125
+ const text = notificationText(args.subject, args.body);
126
+ if ('refused' in text)
127
+ throw new McpToolRefusal(text.refused);
128
+ const consentId = a.delegation?.id;
129
+ if (consentId === undefined)
130
+ throw new McpToolRefusal('A notification is proposed through an administrative connection.');
131
+ return {
132
+ summary: `Email ${to.words}: "${text.subject}".`,
133
+ details: [
134
+ { label: 'to', value: to.words },
135
+ { label: 'subject', value: text.subject },
136
+ { label: 'body', value: text.body },
137
+ { label: 'note', value: 'The message says an agent wrote it, through which connection, and that you approved it.' },
138
+ ],
139
+ input: { recipients: to.ids, to_org_admins: to.toOrgAdmins, subject: text.subject, body: text.body, consent_id: consentId },
140
+ };
141
+ },
142
+ async apply(call, input) {
143
+ const a = auth(call);
144
+ const ids = storedIds(input, 'recipients');
145
+ const consentId = typeof input.consent_id === 'string' && isUuid(input.consent_id) ? input.consent_id : undefined;
146
+ if (consentId === undefined)
147
+ throw new Error('a stored proposal is missing consent_id');
148
+ const text = notificationText(input.subject, input.body);
149
+ try {
150
+ if ('refused' in text)
151
+ throw new McpToolRefusal(text.refused);
152
+ await stillActive(ports, a, ids);
153
+ }
154
+ catch (error) {
155
+ await record(call, { action: 'send_notification' }, 'deny', { connection: consentId }, { recipients: ids.length });
156
+ throw error;
157
+ }
158
+ const queued = await ports.notifications.enqueue(a, {
159
+ recipients: ids,
160
+ toOrgAdmins: input.to_org_admins === true,
161
+ subject: text.subject,
162
+ body: text.body,
163
+ consentId,
164
+ });
165
+ if (queued.kind === 'limited') {
166
+ await record(call, { action: 'send_notification' }, 'deny', { connection: consentId }, { outcome: 'rate_limited' });
167
+ throw new McpToolRefusal(`This organization has queued ${String(NOTIFY_PER_HOUR)} notifications in the last hour, which is the limit. ` +
168
+ 'Try again later.');
169
+ }
170
+ await record(call, { action: 'send_notification' }, 'allow', { notification: queued.id, connection: consentId }, { recipients: ids.length, to_org_admins: input.to_org_admins === true });
171
+ return { notification: queued.id, status: 'queued: the worker sends it within a minute or two' };
172
+ },
173
+ },
174
+ {
175
+ kind: 'write',
176
+ name: 'create_alert_rule',
177
+ title: 'Create an alert rule',
178
+ description: 'Propose a standing rule the worker checks every minute, emailing people in this organization when it ' +
179
+ 'fires: a skill version written by an agent (skill_by_agent), one adding scripts (skill_scripts), an ' +
180
+ 'administrative connection approved (admin_connection), one principal denied at least `threshold` ' +
181
+ 'times in `window_minutes` (denial_spike), or at least `threshold` documents failing to index in ' +
182
+ '`window_minutes` (documents_failed). A counting rule fires at most once per window.',
183
+ inputSchema: {
184
+ type: 'object',
185
+ properties: {
186
+ kind: { type: 'string', enum: Object.keys(ALERT_KINDS) },
187
+ layer: { type: 'string', description: "A layer's slug, to watch only it — for the skill kinds and documents_failed." },
188
+ threshold: { type: 'integer', minimum: 1, maximum: 100000, description: 'For denial_spike and documents_failed.' },
189
+ window_minutes: {
190
+ type: 'integer',
191
+ minimum: ALERT_WINDOW.min,
192
+ maximum: ALERT_WINDOW.max,
193
+ description: `For denial_spike and documents_failed; ${String(ALERT_WINDOW.default)} by default.`,
194
+ },
195
+ ...RECIPIENT_PROPS,
196
+ },
197
+ required: ['kind'],
198
+ additionalProperties: false,
199
+ },
200
+ async propose(call, args) {
201
+ const a = auth(call);
202
+ if (!isAlertKind(args.kind))
203
+ throw new McpToolRefusal(`'kind' is one of ${Object.keys(ALERT_KINDS).join(', ')}.`);
204
+ const kind = args.kind;
205
+ const shape = ALERT_KINDS[kind];
206
+ const to = await recipients(ports, a, args);
207
+ let layer = null;
208
+ if (typeof args.layer === 'string' && args.layer !== '') {
209
+ if (!shape.layered)
210
+ throw new McpToolRefusal(`A ${kind} rule watches the whole organization; it takes no layer.`);
211
+ layer = await ports.names.layer(a, args.layer);
212
+ }
213
+ let threshold = null;
214
+ let windowMinutes = null;
215
+ if (shape.counts) {
216
+ if (typeof args.threshold !== 'number' || !Number.isInteger(args.threshold) || args.threshold < 1 || args.threshold > 100000) {
217
+ throw new McpToolRefusal(`A ${kind} rule needs a 'threshold': a whole number from 1.`);
218
+ }
219
+ threshold = args.threshold;
220
+ const w = args.window_minutes ?? ALERT_WINDOW.default;
221
+ if (typeof w !== 'number' || !Number.isInteger(w) || w < ALERT_WINDOW.min || w > ALERT_WINDOW.max) {
222
+ throw new McpToolRefusal(`'window_minutes' is from ${String(ALERT_WINDOW.min)} to ${String(ALERT_WINDOW.max)}.`);
223
+ }
224
+ windowMinutes = w;
225
+ }
226
+ else if (args.threshold !== undefined || args.window_minutes !== undefined) {
227
+ throw new McpToolRefusal(`A ${kind} rule fires on each one; it takes no threshold or window.`);
228
+ }
229
+ const when = ruleSentence({ kind, layerSlug: layer?.slug ?? null, threshold, windowMinutes });
230
+ return {
231
+ summary: `Email ${to.words} whenever ${when}.`,
232
+ details: [
233
+ { label: 'when', value: when },
234
+ { label: 'to', value: to.words },
235
+ { label: 'checked', value: 'every minute, by the worker, whether or not an agent is connected' },
236
+ ],
237
+ input: {
238
+ kind,
239
+ layer_id: layer?.id ?? null,
240
+ threshold,
241
+ window_minutes: windowMinutes,
242
+ recipients: to.ids,
243
+ to_org_admins: to.toOrgAdmins,
244
+ },
245
+ };
246
+ },
247
+ async apply(call, input) {
248
+ const a = auth(call);
249
+ if (!isAlertKind(input.kind))
250
+ throw new Error('a stored proposal is missing kind');
251
+ const ids = storedIds(input, 'recipients');
252
+ const layerId = typeof input.layer_id === 'string' && isUuid(input.layer_id) ? input.layer_id : null;
253
+ try {
254
+ await stillActive(ports, a, ids);
255
+ if (layerId !== null)
256
+ await ports.names.layer(a, layerId);
257
+ }
258
+ catch (error) {
259
+ await record(call, { action: 'create_alert_rule' }, 'deny', { kind: input.kind });
260
+ throw error;
261
+ }
262
+ const created = await ports.notifications.createRule(a, {
263
+ kind: input.kind,
264
+ layerId,
265
+ threshold: typeof input.threshold === 'number' ? input.threshold : null,
266
+ windowMinutes: typeof input.window_minutes === 'number' ? input.window_minutes : null,
267
+ recipients: ids,
268
+ toOrgAdmins: input.to_org_admins === true,
269
+ });
270
+ if (created.kind === 'full') {
271
+ await record(call, { action: 'create_alert_rule' }, 'deny', { kind: input.kind }, { outcome: 'limit' });
272
+ throw new McpToolRefusal(`This organization keeps ${String(MAX_ALERT_RULES)} rules, which is the limit. Remove one first.`);
273
+ }
274
+ await record(call, { action: 'create_alert_rule' }, 'allow', { alert_rule: created.id, kind: input.kind }, {
275
+ recipients: ids.length,
276
+ to_org_admins: input.to_org_admins === true,
277
+ ...(layerId === null ? {} : { layer_id: layerId }),
278
+ });
279
+ return { alert_rule: created.id };
280
+ },
281
+ },
282
+ {
283
+ kind: 'write',
284
+ name: 'remove_alert_rule',
285
+ title: 'Remove an alert rule',
286
+ description: 'Propose removing an alert rule, by the id list_alert_rules gives. It stops firing once applied.',
287
+ inputSchema: {
288
+ type: 'object',
289
+ properties: { rule: { type: 'string', description: 'The rule id, from list_alert_rules.' } },
290
+ required: ['rule'],
291
+ additionalProperties: false,
292
+ },
293
+ async propose(call, args) {
294
+ const a = auth(call);
295
+ const id = typeof args.rule === 'string' ? args.rule.trim() : '';
296
+ const rule = id === '' ? undefined : await ports.notifications.rule(a, id);
297
+ if (rule === undefined)
298
+ throw new McpToolRefusal(`No alert rule "${id}" in this organization.`);
299
+ const described = await describeRule(a, rule);
300
+ const to = described.notifies.join(', ');
301
+ return {
302
+ summary: `Stop emailing ${to} whenever ${ruleSentence(rule)}.`,
303
+ details: [
304
+ { label: 'when', value: ruleSentence(rule) },
305
+ { label: 'to', value: to },
306
+ ],
307
+ input: { rule_id: rule.id },
308
+ };
309
+ },
310
+ async apply(call, input) {
311
+ const id = typeof input.rule_id === 'string' && isUuid(input.rule_id) ? input.rule_id : undefined;
312
+ if (id === undefined)
313
+ throw new Error('a stored proposal is missing rule_id');
314
+ const removed = await ports.notifications.removeRule(auth(call), id);
315
+ await record(call, { action: 'remove_alert_rule' }, removed ? 'allow' : 'deny', { alert_rule: id });
316
+ if (!removed)
317
+ throw new McpToolRefusal('That rule is already gone.');
318
+ return { removed: true };
319
+ },
320
+ },
321
+ {
322
+ kind: 'read',
323
+ name: 'list_alert_rules',
324
+ title: 'List alert rules',
325
+ description: 'The alert rules this organization keeps: what each watches, whom it emails, and when it last fired.',
326
+ inputSchema: { type: 'object', properties: {}, additionalProperties: false },
327
+ async run(call) {
328
+ const a = auth(call);
329
+ const rules = await ports.notifications.rules(a);
330
+ return { rules: await Promise.all(rules.map((r) => describeRule(a, r))) };
331
+ },
332
+ },
333
+ ];
334
+ }
335
+ //# sourceMappingURL=admin-notify.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-notify.js","sourceRoot":"","sources":["../src/admin-notify.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -12,6 +12,10 @@ export { AdminNames, isUuid } from './admin-names.js';
12
12
  export type { NamedLayer, PrincipalKind } from './admin-names.js';
13
13
  export { coreAdminWrites } from './admin-writes.js';
14
14
  export type { AdminWritePorts } from './admin-writes.js';
15
+ export { notificationTools } from './admin-notify.js';
16
+ export type { NotifyPorts } from './admin-notify.js';
17
+ export { MAX_ALERT_RULES, PostgresNotifications } from './notifications.js';
18
+ export type { AlertRule, Enqueued, NewAlertRule, NotificationStore } from './notifications.js';
15
19
  export { applyProposal, cancelProposal, PostgresProposals, PROPOSAL_TTL_MS, recordProposal, recordRefusedProposal, writeLookup, } from './proposals.js';
16
20
  export type { DecideDeps, DecideOutcome, ProposalDecider, ProposalView, WriteLookup } from './proposals.js';
17
21
  export type { AccessSubject, EffectiveAccess, Reach } from './access.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -7,6 +7,8 @@ export { Problem, badRequest, forbidden, internal, notFound, unauthorized } from
7
7
  export { MAX_REACH_LAYERS, PostgresAccess } from './access.js';
8
8
  export { AdminNames, isUuid } from './admin-names.js';
9
9
  export { coreAdminWrites } from './admin-writes.js';
10
+ export { notificationTools } from './admin-notify.js';
11
+ export { MAX_ALERT_RULES, PostgresNotifications } from './notifications.js';
10
12
  export { applyProposal, cancelProposal, PostgresProposals, PROPOSAL_TTL_MS, recordProposal, recordRefusedProposal, writeLookup, } from './proposals.js';
11
13
  export { AUDIT_GROUPINGS, contextFor, HttpEmbedder, NacreIngest, NacreSearchService, PostgresAudit, PostgresAuditReader, PostgresDocuments, PostgresGrants, PostgresJobs, PostgresEmbeddingProviders, PostgresLayers, PostgresWorkspaces, PostgresReferenceQueries, PostgresReindex, } from './adapters.js';
12
14
  export { PostgresGroups, PostgresUsers, looksLikeEmail } from './principals.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAmCvC,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,gBAAgB,GACjB,MAAM,WAAW,CAAA;AAElB,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EACL,mBAAmB,EACnB,2BAA2B,EAC3B,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,kBAAkB,CAAA;AAczB,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC9F,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAErD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD,OAAO,EACL,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,qBAAqB,EACrB,WAAW,GACZ,MAAM,gBAAgB,CAAA;AAGvB,OAAO,EACL,eAAe,EACf,UAAU,EACV,YAAY,EACZ,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,0BAA0B,EAC1B,cAAc,EACd,kBAAkB,EAClB,wBAAwB,EACxB,eAAe,GAChB,MAAM,eAAe,CAAA;AAWtB,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAC/E,OAAO,EAAE,wBAAwB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACtE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAElF,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAWvE,6EAA6E;AAC7E,+EAA+E;AAC/E,0DAA0D;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAEnD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAErE,OAAO,EACL,WAAW,EACX,MAAM,EACN,UAAU,EACV,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,EACnB,QAAQ,GACT,MAAM,mBAAmB,CAAA;AAE1B,8EAA8E;AAC9E,4EAA4E;AAC5E,8EAA8E;AAC9E,+CAA+C;AAC/C,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAE3F,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEvD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAElC,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAmCvC,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,gBAAgB,GACjB,MAAM,WAAW,CAAA;AAElB,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EACL,mBAAmB,EACnB,2BAA2B,EAC3B,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,kBAAkB,CAAA;AAczB,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC9F,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAErD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAErD,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAE3E,OAAO,EACL,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,qBAAqB,EACrB,WAAW,GACZ,MAAM,gBAAgB,CAAA;AAGvB,OAAO,EACL,eAAe,EACf,UAAU,EACV,YAAY,EACZ,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,0BAA0B,EAC1B,cAAc,EACd,kBAAkB,EAClB,wBAAwB,EACxB,eAAe,GAChB,MAAM,eAAe,CAAA;AAWtB,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAC/E,OAAO,EAAE,wBAAwB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACtE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAElF,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAWvE,6EAA6E;AAC7E,+EAA+E;AAC/E,0DAA0D;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAEnD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAErE,OAAO,EACL,WAAW,EACX,MAAM,EACN,UAAU,EACV,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,EACnB,QAAQ,GACT,MAAM,mBAAmB,CAAA;AAE1B,8EAA8E;AAC9E,4EAA4E;AAC5E,8EAA8E;AAC9E,+CAA+C;AAC/C,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAE3F,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEvD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAElC,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA"}
package/dist/main.js CHANGED
@@ -11,6 +11,9 @@ import { RedisUploadTickets } from './uploads.js';
11
11
  import { PostgresGroups, PostgresUsers } from './principals.js';
12
12
  import { PostgresSkills } from './skills.js';
13
13
  import { coreAdminWrites } from './admin-writes.js';
14
+ import { notificationTools } from './admin-notify.js';
15
+ import { AdminNames } from './admin-names.js';
16
+ import { PostgresNotifications } from './notifications.js';
14
17
  import { PostgresProposals, writeLookup } from './proposals.js';
15
18
  import { PostgresServiceAccounts } from './service-keys.js';
16
19
  import { postgresVerification } from './verification.js';
@@ -160,6 +163,19 @@ async function main() {
160
163
  * off the screen rather than showing one that answers 404.
161
164
  */
162
165
  const mailer = createMailer(loadMailConfig());
166
+ /*
167
+ * The audit port the administrative writes hold. They record their own
168
+ * events, so the sinks are wrapped here rather than by `createApi` —
169
+ * `withAuditSinks` marks what it wrapped, so the two never fan an event out
170
+ * twice.
171
+ */
172
+ const adminAudit = withAuditSinks(new PostgresAudit(pool, APP_ROLE), (sink, event, error) => {
173
+ logger.warn('audit sink failed; the event is still in the table', {
174
+ sink,
175
+ action: event.action,
176
+ error: String(error).slice(0, 200),
177
+ });
178
+ });
163
179
  const recovery = mailer === undefined
164
180
  ? undefined
165
181
  : new PasswordRecovery({
@@ -388,24 +404,30 @@ async function main() {
388
404
  */
389
405
  proposals: {
390
406
  store: new PostgresProposals(pool, APP_ROLE),
391
- writes: writeLookup(coreAdminWrites({
392
- pool,
393
- role: APP_ROLE,
394
- audit: withAuditSinks(new PostgresAudit(pool, APP_ROLE), (sink, event, error) => {
395
- logger.warn('audit sink failed; the event is still in the table', {
396
- sink,
397
- action: event.action,
398
- error: String(error).slice(0, 200),
399
- });
407
+ writes: writeLookup([
408
+ ...coreAdminWrites({
409
+ pool,
410
+ role: APP_ROLE,
411
+ audit: adminAudit,
412
+ grants: new PostgresGrants(pool, APP_ROLE, principalsCache),
413
+ groups: new PostgresGroups(pool, APP_ROLE),
414
+ users: new PostgresUsers(pool, APP_ROLE),
415
+ workspaces: new PostgresWorkspaces(pool, APP_ROLE, principalsCache),
416
+ layers: new PostgresLayers(pool, vectors, APP_ROLE, principalsCache),
417
+ skills: new PostgresSkills(pool, APP_ROLE, principalsCache),
418
+ consents: new PostgresOAuthConsents(pool, APP_ROLE),
400
419
  }),
401
- grants: new PostgresGrants(pool, APP_ROLE, principalsCache),
402
- groups: new PostgresGroups(pool, APP_ROLE),
403
- users: new PostgresUsers(pool, APP_ROLE),
404
- workspaces: new PostgresWorkspaces(pool, APP_ROLE, principalsCache),
405
- layers: new PostgresLayers(pool, vectors, APP_ROLE, principalsCache),
406
- skills: new PostgresSkills(pool, APP_ROLE, principalsCache),
407
- consents: new PostgresOAuthConsents(pool, APP_ROLE),
408
- })),
420
+ // Only where there is a relay, as on the MCP process: a proposal made
421
+ // while one was configured and applied after it was removed finds no
422
+ // tool here, and is refused rather than queued for nobody to send.
423
+ ...(mailer === undefined
424
+ ? []
425
+ : notificationTools({
426
+ audit: adminAudit,
427
+ names: new AdminNames(pool, APP_ROLE),
428
+ notifications: new PostgresNotifications(pool, APP_ROLE),
429
+ }).filter((t) => t.kind === 'write')),
430
+ ]),
409
431
  },
410
432
  /**
411
433
  * The authorization server.
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
@@ -46,6 +46,11 @@ export declare function secondFactorMessage(to: string, what: 'enrolled' | 'remo
46
46
  * All of them, for anything that has to reason about the set rather than about
47
47
  * one — the preview, and whatever comes after it.
48
48
  *
49
+ * Including the notification, which is written in the core because the worker
50
+ * sends it and cannot import this package. Listed here all the same, in both
51
+ * of its forms: the set is what the preview renders, and a message missing
52
+ * from it is a message nobody looked at in a mail client.
53
+ *
49
54
  * A list rather than a count, because a count is the thing that goes stale.
50
55
  */
51
56
  export declare const everyMessage: (to: string, consoleBase: string) => readonly Message[];
@@ -1 +1 @@
1
- {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../src/messages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAEpE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,+DAA+D;AAC/D,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,GACjB,OAAO,CAcT;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,GAAG,eAAe,GAAG,OAAO,CAyB5F;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,SAAS,GAAG,OAAO,CAoBrF;AAED;;;;;GAKG;AACH,eAAO,MAAM,YAAY,GAAI,IAAI,MAAM,EAAE,aAAa,MAAM,KAAG,SAAS,OAAO,EAM9E,CAAA"}
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../src/messages.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0D,KAAK,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAEvG;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,+DAA+D;AAC/D,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,GACjB,OAAO,CAcT;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,GAAG,eAAe,GAAG,OAAO,CAyB5F;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,SAAS,GAAG,OAAO,CAoBrF;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,YAAY,GAAI,IAAI,MAAM,EAAE,aAAa,MAAM,KAAG,SAAS,OAAO,EAgC9E,CAAA"}