@nacre.work/api 0.33.0 → 0.34.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.
- package/dist/admin-names.d.ts +52 -0
- package/dist/admin-names.d.ts.map +1 -0
- package/dist/admin-names.js +127 -0
- package/dist/admin-names.js.map +1 -0
- package/dist/admin-writes.d.ts +40 -0
- package/dist/admin-writes.d.ts.map +1 -0
- package/dist/admin-writes.js +724 -0
- package/dist/admin-writes.js.map +1 -0
- package/dist/index.d.ts +7 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/main.js +56 -1
- package/dist/main.js.map +1 -1
- package/dist/oauth-store.d.ts +2 -2
- package/dist/oauth-store.d.ts.map +1 -1
- package/dist/oauth-store.js +27 -1
- package/dist/oauth-store.js.map +1 -1
- package/dist/proposals.d.ts +166 -0
- package/dist/proposals.d.ts.map +1 -0
- package/dist/proposals.js +289 -0
- package/dist/proposals.js.map +1 -0
- package/dist/server.d.ts +41 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +103 -0
- package/dist/server.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import { type AuditWriter, type McpProposal, type McpProposalDetail, type McpWriteTool } from '@nacre.work/core';
|
|
2
|
+
import type { Pool } from 'pg';
|
|
3
|
+
import type { AuthContext } from './auth.js';
|
|
4
|
+
/**
|
|
5
|
+
* Proposals: a change on the administrative MCP, waiting for a person.
|
|
6
|
+
* docs/mcp-admin.md, "A change is proposed, and a person applies it".
|
|
7
|
+
*
|
|
8
|
+
* A write tool on `/mcp/admin` stores what it would do here and answers with
|
|
9
|
+
* that. It happens when the person who approved the connection presses Apply —
|
|
10
|
+
* in the panel the host renders beside the tool's result, or on the console's
|
|
11
|
+
* Proposals screen under their own session — and at no other time and by no
|
|
12
|
+
* other hand. Never the model's, in any client: the panel's Apply is a tool the
|
|
13
|
+
* host leaves out of what the model is offered, and the console is a screen the
|
|
14
|
+
* model cannot reach at all. That second door is why a client that renders no
|
|
15
|
+
* panel still works, and why there is no "apply directly" setting for one.
|
|
16
|
+
*
|
|
17
|
+
* Three properties are this table's rather than the code's: single use (the
|
|
18
|
+
* UPDATE that claims a row is the only way to apply it), expiry (the database's
|
|
19
|
+
* clock, ten minutes), and a record of what nobody applied.
|
|
20
|
+
*/
|
|
21
|
+
export declare const PROPOSAL_TTL_MS: number;
|
|
22
|
+
/** Who is deciding: the connection's panel, or the person in the console. */
|
|
23
|
+
export type ProposalDecider =
|
|
24
|
+
/** The change panel: this connection, holding the key the panel was handed. */
|
|
25
|
+
{
|
|
26
|
+
readonly through: 'panel';
|
|
27
|
+
readonly consentId: string;
|
|
28
|
+
readonly key: string;
|
|
29
|
+
}
|
|
30
|
+
/** The console: the person's own session, which is its own proof. */
|
|
31
|
+
| {
|
|
32
|
+
readonly through: 'console';
|
|
33
|
+
readonly personId: string;
|
|
34
|
+
};
|
|
35
|
+
export interface ProposalView {
|
|
36
|
+
readonly id: string;
|
|
37
|
+
readonly tool: string;
|
|
38
|
+
readonly module: string | null;
|
|
39
|
+
readonly summary: string;
|
|
40
|
+
readonly details: readonly McpProposalDetail[];
|
|
41
|
+
readonly createdAt: string;
|
|
42
|
+
readonly expiresAt: string;
|
|
43
|
+
readonly connection: {
|
|
44
|
+
readonly id: string;
|
|
45
|
+
readonly application: string | null;
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
interface Claimed {
|
|
49
|
+
readonly tool: string;
|
|
50
|
+
readonly module: string | null;
|
|
51
|
+
readonly input: Record<string, unknown>;
|
|
52
|
+
readonly consentId: string;
|
|
53
|
+
}
|
|
54
|
+
/** Literal, so `lint:audit-actions` can see each is recorded. */
|
|
55
|
+
/** What revoking a connection records for each proposal it ends. oauth-store.ts. */
|
|
56
|
+
export declare const CANCELLED_BY_REVOCATION: {
|
|
57
|
+
readonly action: "proposal.cancelled";
|
|
58
|
+
};
|
|
59
|
+
export declare class PostgresProposals {
|
|
60
|
+
private readonly pool;
|
|
61
|
+
private readonly role;
|
|
62
|
+
constructor(pool: Pool, role: string);
|
|
63
|
+
private inOrg;
|
|
64
|
+
/**
|
|
65
|
+
* Store one. The connection and the person come from the token — the
|
|
66
|
+
* administrative connection this call arrived on — and never from anything
|
|
67
|
+
* the tool or the model said.
|
|
68
|
+
*/
|
|
69
|
+
create(auth: AuthContext, entry: {
|
|
70
|
+
readonly tool: string;
|
|
71
|
+
readonly module: string | null;
|
|
72
|
+
readonly proposal: McpProposal;
|
|
73
|
+
}): Promise<{
|
|
74
|
+
readonly id: string;
|
|
75
|
+
readonly expiresAt: string;
|
|
76
|
+
readonly panelKey: string;
|
|
77
|
+
}>;
|
|
78
|
+
/**
|
|
79
|
+
* Take one for applying, or `undefined`. One answer for absent, another
|
|
80
|
+
* organization's, another connection's or person's, already decided, expired,
|
|
81
|
+
* and proposed through a connection revoked since — the caller learns
|
|
82
|
+
* nothing about a proposal that is not theirs to apply.
|
|
83
|
+
*
|
|
84
|
+
* The UPDATE is the single use: two presses, two tabs, or the panel and the
|
|
85
|
+
* console at once each run it, and exactly one gets a row.
|
|
86
|
+
*/
|
|
87
|
+
claim(auth: AuthContext, id: string, by: ProposalDecider): Promise<Claimed | undefined>;
|
|
88
|
+
/** Record how applying went. */
|
|
89
|
+
settle(auth: AuthContext, id: string, outcome: {
|
|
90
|
+
readonly ok: true;
|
|
91
|
+
} | {
|
|
92
|
+
readonly ok: false;
|
|
93
|
+
readonly error: string;
|
|
94
|
+
}): Promise<void>;
|
|
95
|
+
/** Decline one. The same single answer as `claim` for anything not the caller's. */
|
|
96
|
+
cancel(auth: AuthContext, id: string, by: ProposalDecider): Promise<{
|
|
97
|
+
readonly tool: string;
|
|
98
|
+
readonly module: string | null;
|
|
99
|
+
readonly consentId: string;
|
|
100
|
+
} | undefined>;
|
|
101
|
+
/** What is waiting for this person, newest first. Their own and nobody else's. */
|
|
102
|
+
pending(auth: AuthContext): Promise<readonly ProposalView[]>;
|
|
103
|
+
}
|
|
104
|
+
/** Where a proposal's tool is found again when it is applied. */
|
|
105
|
+
export type WriteLookup = (tool: string, module: string | null) => McpWriteTool | undefined;
|
|
106
|
+
/**
|
|
107
|
+
* The core's own writes and every module's, by the name and module a proposal
|
|
108
|
+
* stored. A module's tool is found only under the module that registered it,
|
|
109
|
+
* so a proposal cannot be applied by a different module's tool of the same
|
|
110
|
+
* name — and a module unloaded since leaves nothing that can apply it.
|
|
111
|
+
*/
|
|
112
|
+
export declare function writeLookup(core: readonly McpWriteTool[]): WriteLookup;
|
|
113
|
+
export type DecideOutcome = {
|
|
114
|
+
readonly kind: 'applied';
|
|
115
|
+
readonly result: unknown;
|
|
116
|
+
} | {
|
|
117
|
+
readonly kind: 'refused';
|
|
118
|
+
readonly reason: string;
|
|
119
|
+
} | {
|
|
120
|
+
readonly kind: 'failed';
|
|
121
|
+
} | {
|
|
122
|
+
readonly kind: 'gone';
|
|
123
|
+
} | {
|
|
124
|
+
readonly kind: 'cancelled';
|
|
125
|
+
};
|
|
126
|
+
export interface DecideDeps {
|
|
127
|
+
readonly proposals: PostgresProposals;
|
|
128
|
+
readonly audit: AuditWriter;
|
|
129
|
+
readonly writes: WriteLookup;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Apply one, as the person deciding. The panel and the console both come
|
|
133
|
+
* here, so there is one answer to what applying means.
|
|
134
|
+
*
|
|
135
|
+
* `apply` runs under the decider's own authority — the administrative
|
|
136
|
+
* connection, or the person's session — and re-checks whatever it needs to: a
|
|
137
|
+
* role lost or a grant revoked in the minutes since the proposal is what
|
|
138
|
+
* decides. A refusal from it is the person's to read and is recorded; anything
|
|
139
|
+
* else is the generic failure and is logged by the caller.
|
|
140
|
+
*/
|
|
141
|
+
export declare function applyProposal(deps: DecideDeps, auth: AuthContext, id: string, by: ProposalDecider, requestId: string): Promise<DecideOutcome>;
|
|
142
|
+
/** Decline one. Recorded, because a proposal nobody wanted is part of the story. */
|
|
143
|
+
export declare function cancelProposal(deps: Pick<DecideDeps, 'proposals' | 'audit'>, auth: AuthContext, id: string, by: ProposalDecider, requestId: string): Promise<DecideOutcome>;
|
|
144
|
+
/** Store one and record that an agent asked for it. */
|
|
145
|
+
/**
|
|
146
|
+
* A write that could not be proposed — a name that matched nothing, a value the
|
|
147
|
+
* tool will not take, or a failure. Recorded as `proposal.created` with `deny`
|
|
148
|
+
* or `error`, because the stream of what an agent *tried* is the part of the
|
|
149
|
+
* log an injection shows up in, and a model probing names leaves nothing
|
|
150
|
+
* otherwise.
|
|
151
|
+
*/
|
|
152
|
+
export declare function recordRefusedProposal(deps: Pick<DecideDeps, 'audit'>, auth: AuthContext, entry: {
|
|
153
|
+
readonly tool: string;
|
|
154
|
+
readonly module: string | null;
|
|
155
|
+
}, reason: string | undefined, requestId: string): Promise<void>;
|
|
156
|
+
export declare function recordProposal(deps: Pick<DecideDeps, 'proposals' | 'audit'>, auth: AuthContext, entry: {
|
|
157
|
+
readonly tool: string;
|
|
158
|
+
readonly module: string | null;
|
|
159
|
+
readonly proposal: McpProposal;
|
|
160
|
+
}, requestId: string): Promise<{
|
|
161
|
+
readonly id: string;
|
|
162
|
+
readonly expiresAt: string;
|
|
163
|
+
readonly panelKey: string;
|
|
164
|
+
}>;
|
|
165
|
+
export {};
|
|
166
|
+
//# sourceMappingURL=proposals.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proposals.d.ts","sourceRoot":"","sources":["../src/proposals.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,289 @@
|
|
|
1
|
+
import { createHash, randomBytes } from 'node:crypto';
|
|
2
|
+
import { mcpTools, McpToolRefusal, withOrg, } from '@nacre.work/core';
|
|
3
|
+
import { isUuid } from './admin-names.js';
|
|
4
|
+
/**
|
|
5
|
+
* Proposals: a change on the administrative MCP, waiting for a person.
|
|
6
|
+
* docs/mcp-admin.md, "A change is proposed, and a person applies it".
|
|
7
|
+
*
|
|
8
|
+
* A write tool on `/mcp/admin` stores what it would do here and answers with
|
|
9
|
+
* that. It happens when the person who approved the connection presses Apply —
|
|
10
|
+
* in the panel the host renders beside the tool's result, or on the console's
|
|
11
|
+
* Proposals screen under their own session — and at no other time and by no
|
|
12
|
+
* other hand. Never the model's, in any client: the panel's Apply is a tool the
|
|
13
|
+
* host leaves out of what the model is offered, and the console is a screen the
|
|
14
|
+
* model cannot reach at all. That second door is why a client that renders no
|
|
15
|
+
* panel still works, and why there is no "apply directly" setting for one.
|
|
16
|
+
*
|
|
17
|
+
* Three properties are this table's rather than the code's: single use (the
|
|
18
|
+
* UPDATE that claims a row is the only way to apply it), expiry (the database's
|
|
19
|
+
* clock, ten minutes), and a record of what nobody applied.
|
|
20
|
+
*/
|
|
21
|
+
export const PROPOSAL_TTL_MS = 10 * 60_000;
|
|
22
|
+
/** The panel key as stored: its SHA-256, so a database read hands over nothing that applies. */
|
|
23
|
+
const keyHash = (key) => createHash('sha256').update(key, 'utf8').digest();
|
|
24
|
+
/** Literal, so `lint:audit-actions` can see each is recorded. */
|
|
25
|
+
/** What revoking a connection records for each proposal it ends. oauth-store.ts. */
|
|
26
|
+
export const CANCELLED_BY_REVOCATION = { action: 'proposal.cancelled' };
|
|
27
|
+
const RECORDED = {
|
|
28
|
+
created: { action: 'proposal.created' },
|
|
29
|
+
applied: { action: 'proposal.applied' },
|
|
30
|
+
cancelled: { action: 'proposal.cancelled' },
|
|
31
|
+
};
|
|
32
|
+
export class PostgresProposals {
|
|
33
|
+
pool;
|
|
34
|
+
role;
|
|
35
|
+
constructor(pool, role) {
|
|
36
|
+
this.pool = pool;
|
|
37
|
+
this.role = role;
|
|
38
|
+
}
|
|
39
|
+
inOrg(auth, run) {
|
|
40
|
+
return withOrg(this.pool, auth.orgId, run, { role: this.role });
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Store one. The connection and the person come from the token — the
|
|
44
|
+
* administrative connection this call arrived on — and never from anything
|
|
45
|
+
* the tool or the model said.
|
|
46
|
+
*/
|
|
47
|
+
async create(auth, entry) {
|
|
48
|
+
const consentId = auth.delegation?.id;
|
|
49
|
+
if (consentId === undefined || auth.delegation?.surface !== 'admin' || auth.principal.type !== 'user') {
|
|
50
|
+
throw new Error('a proposal is made on an administrative connection, by a person');
|
|
51
|
+
}
|
|
52
|
+
// Handed to the panel once, in `_meta`, and kept here only as a hash.
|
|
53
|
+
const panelKey = randomBytes(32).toString('base64url');
|
|
54
|
+
return this.inOrg(auth, async (client) => {
|
|
55
|
+
const { rows } = await client.query(`INSERT INTO admin_proposals (org_id, consent_id, proposed_by, tool, module, summary, details, input, expires_at, panel_key_hash)
|
|
56
|
+
VALUES ($1, $2, $3, $4, $5, $6, $7::jsonb, $8::jsonb, now() + make_interval(secs => $9), $10)
|
|
57
|
+
RETURNING id, to_char(expires_at AT TIME ZONE 'UTC', 'YYYY-MM-DD"T"HH24:MI:SS.MS"Z"') AS expires_at`, [
|
|
58
|
+
auth.orgId,
|
|
59
|
+
consentId,
|
|
60
|
+
auth.principal.id,
|
|
61
|
+
entry.tool,
|
|
62
|
+
entry.module,
|
|
63
|
+
entry.proposal.summary.slice(0, 1000),
|
|
64
|
+
JSON.stringify(entry.proposal.details),
|
|
65
|
+
JSON.stringify(entry.proposal.input),
|
|
66
|
+
PROPOSAL_TTL_MS / 1000,
|
|
67
|
+
keyHash(panelKey),
|
|
68
|
+
]);
|
|
69
|
+
const row = rows[0];
|
|
70
|
+
return { id: row.id, expiresAt: row.expires_at, panelKey };
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Take one for applying, or `undefined`. One answer for absent, another
|
|
75
|
+
* organization's, another connection's or person's, already decided, expired,
|
|
76
|
+
* and proposed through a connection revoked since — the caller learns
|
|
77
|
+
* nothing about a proposal that is not theirs to apply.
|
|
78
|
+
*
|
|
79
|
+
* The UPDATE is the single use: two presses, two tabs, or the panel and the
|
|
80
|
+
* console at once each run it, and exactly one gets a row.
|
|
81
|
+
*/
|
|
82
|
+
async claim(auth, id, by) {
|
|
83
|
+
if (!isUuid(id) || (by.through === 'panel' && by.key === ''))
|
|
84
|
+
return undefined;
|
|
85
|
+
return this.inOrg(auth, async (client) => {
|
|
86
|
+
const { rows } = await client.query(`UPDATE admin_proposals p
|
|
87
|
+
SET status = 'applying', decided_at = now(), decided_through = $3
|
|
88
|
+
WHERE p.org_id = $1 AND p.id = $2::uuid
|
|
89
|
+
AND p.status = 'open' AND p.expires_at > now()
|
|
90
|
+
AND ${by.through === 'panel' ? 'p.consent_id = $4::uuid AND p.panel_key_hash = $5' : 'p.proposed_by = $4::uuid'}
|
|
91
|
+
AND EXISTS (SELECT 1 FROM oauth_consents c
|
|
92
|
+
WHERE c.org_id = p.org_id AND c.id = p.consent_id AND c.revoked_at IS NULL)
|
|
93
|
+
RETURNING p.tool, p.module, p.input, p.consent_id`, by.through === 'panel'
|
|
94
|
+
? [auth.orgId, id, by.through, by.consentId, keyHash(by.key)]
|
|
95
|
+
: [auth.orgId, id, by.through, by.personId]);
|
|
96
|
+
const row = rows[0];
|
|
97
|
+
return row === undefined ? undefined : { tool: row.tool, module: row.module, input: row.input, consentId: row.consent_id };
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
/** Record how applying went. */
|
|
101
|
+
async settle(auth, id, outcome) {
|
|
102
|
+
await this.inOrg(auth, async (client) => {
|
|
103
|
+
await client.query(`UPDATE admin_proposals SET status = $3, error = $4
|
|
104
|
+
WHERE org_id = $1 AND id = $2::uuid AND status = 'applying'`, [auth.orgId, id, outcome.ok ? 'applied' : 'failed', outcome.ok ? null : outcome.error.slice(0, 1000)]);
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
/** Decline one. The same single answer as `claim` for anything not the caller's. */
|
|
108
|
+
async cancel(auth, id, by) {
|
|
109
|
+
if (!isUuid(id) || (by.through === 'panel' && by.key === ''))
|
|
110
|
+
return undefined;
|
|
111
|
+
return this.inOrg(auth, async (client) => {
|
|
112
|
+
const { rows } = await client.query(`UPDATE admin_proposals
|
|
113
|
+
SET status = 'cancelled', decided_at = now(), decided_through = $3
|
|
114
|
+
WHERE org_id = $1 AND id = $2::uuid AND status = 'open' AND expires_at > now()
|
|
115
|
+
AND ${by.through === 'panel' ? 'consent_id = $4::uuid AND panel_key_hash = $5' : 'proposed_by = $4::uuid'}
|
|
116
|
+
RETURNING tool, module, consent_id`, by.through === 'panel'
|
|
117
|
+
? [auth.orgId, id, by.through, by.consentId, keyHash(by.key)]
|
|
118
|
+
: [auth.orgId, id, by.through, by.personId]);
|
|
119
|
+
const row = rows[0];
|
|
120
|
+
return row === undefined ? undefined : { tool: row.tool, module: row.module, consentId: row.consent_id };
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
/** What is waiting for this person, newest first. Their own and nobody else's. */
|
|
124
|
+
async pending(auth) {
|
|
125
|
+
return this.inOrg(auth, async (client) => {
|
|
126
|
+
const { rows } = await client.query(`SELECT p.id, p.tool, p.module, p.summary, p.details,
|
|
127
|
+
to_char(p.created_at AT TIME ZONE 'UTC', 'YYYY-MM-DD"T"HH24:MI:SS.MS"Z"') AS created_at,
|
|
128
|
+
to_char(p.expires_at AT TIME ZONE 'UTC', 'YYYY-MM-DD"T"HH24:MI:SS.MS"Z"') AS expires_at,
|
|
129
|
+
p.consent_id, oc.client_name AS application
|
|
130
|
+
FROM admin_proposals p
|
|
131
|
+
JOIN oauth_consents c ON c.org_id = p.org_id AND c.id = p.consent_id AND c.revoked_at IS NULL
|
|
132
|
+
LEFT JOIN oauth_clients oc ON oc.client_id = c.client_id
|
|
133
|
+
WHERE p.org_id = $1 AND p.proposed_by = $2 AND p.status = 'open' AND p.expires_at > now()
|
|
134
|
+
ORDER BY p.created_at DESC
|
|
135
|
+
LIMIT 100`, [auth.orgId, auth.principal.id]);
|
|
136
|
+
return rows.map((r) => ({
|
|
137
|
+
id: r.id,
|
|
138
|
+
tool: r.tool,
|
|
139
|
+
module: r.module,
|
|
140
|
+
summary: r.summary,
|
|
141
|
+
details: r.details,
|
|
142
|
+
createdAt: r.created_at,
|
|
143
|
+
expiresAt: r.expires_at,
|
|
144
|
+
connection: { id: r.consent_id, application: r.application },
|
|
145
|
+
}));
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* The core's own writes and every module's, by the name and module a proposal
|
|
151
|
+
* stored. A module's tool is found only under the module that registered it,
|
|
152
|
+
* so a proposal cannot be applied by a different module's tool of the same
|
|
153
|
+
* name — and a module unloaded since leaves nothing that can apply it.
|
|
154
|
+
*/
|
|
155
|
+
export function writeLookup(core) {
|
|
156
|
+
return (tool, module) => {
|
|
157
|
+
if (module === null)
|
|
158
|
+
return core.find((t) => t.name === tool);
|
|
159
|
+
const found = mcpTools('admin').find((t) => t.module === module && t.tool.name === tool)?.tool;
|
|
160
|
+
return found?.kind === 'write' ? found : undefined;
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
const surfaceOf = (by) => (by.through === 'panel' ? 'mcp-admin' : 'api');
|
|
164
|
+
/**
|
|
165
|
+
* A press on something that was not there to press: decided already, expired,
|
|
166
|
+
* another connection's, or — from the panel — without the key the panel was
|
|
167
|
+
* handed. Recorded as a `deny`, since a model applying an id it read out of the
|
|
168
|
+
* access log arrives exactly here.
|
|
169
|
+
*/
|
|
170
|
+
async function recordGone(deps, auth, action, id, by, requestId) {
|
|
171
|
+
await deps.audit.write({
|
|
172
|
+
orgId: auth.orgId,
|
|
173
|
+
actor: `${auth.principal.type}:${auth.principal.id}`,
|
|
174
|
+
...action,
|
|
175
|
+
result: 'deny',
|
|
176
|
+
surface: surfaceOf(by),
|
|
177
|
+
target: { proposal: isUuid(id) ? id : 'not a proposal id' },
|
|
178
|
+
detail: { through: by.through, reason: 'not open, or not this caller\'s to decide' },
|
|
179
|
+
requestId,
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Apply one, as the person deciding. The panel and the console both come
|
|
184
|
+
* here, so there is one answer to what applying means.
|
|
185
|
+
*
|
|
186
|
+
* `apply` runs under the decider's own authority — the administrative
|
|
187
|
+
* connection, or the person's session — and re-checks whatever it needs to: a
|
|
188
|
+
* role lost or a grant revoked in the minutes since the proposal is what
|
|
189
|
+
* decides. A refusal from it is the person's to read and is recorded; anything
|
|
190
|
+
* else is the generic failure and is logged by the caller.
|
|
191
|
+
*/
|
|
192
|
+
export async function applyProposal(deps, auth, id, by, requestId) {
|
|
193
|
+
const claimed = await deps.proposals.claim(auth, id, by);
|
|
194
|
+
if (claimed === undefined) {
|
|
195
|
+
await recordGone(deps, auth, RECORDED.applied, id, by, requestId);
|
|
196
|
+
return { kind: 'gone' };
|
|
197
|
+
}
|
|
198
|
+
const record = (result, detail) => deps.audit.write({
|
|
199
|
+
orgId: auth.orgId,
|
|
200
|
+
actor: `${auth.principal.type}:${auth.principal.id}`,
|
|
201
|
+
...RECORDED.applied,
|
|
202
|
+
result,
|
|
203
|
+
surface: surfaceOf(by),
|
|
204
|
+
client: `connection:${claimed.consentId}`,
|
|
205
|
+
target: { proposal: id, tool: claimed.tool, ...(claimed.module === null ? {} : { module: claimed.module }) },
|
|
206
|
+
detail: { through: by.through, ...detail },
|
|
207
|
+
requestId,
|
|
208
|
+
});
|
|
209
|
+
const tool = deps.writes(claimed.tool, claimed.module);
|
|
210
|
+
if (tool === undefined) {
|
|
211
|
+
const reason = `${claimed.tool} is no longer offered here, so this proposal cannot be applied.`;
|
|
212
|
+
await deps.proposals.settle(auth, id, { ok: false, error: reason });
|
|
213
|
+
await record('deny', { reason });
|
|
214
|
+
return { kind: 'refused', reason };
|
|
215
|
+
}
|
|
216
|
+
try {
|
|
217
|
+
const result = await tool.apply({ auth, requestId, proposal: { id, through: by.through } }, claimed.input);
|
|
218
|
+
await deps.proposals.settle(auth, id, { ok: true });
|
|
219
|
+
await record('allow', {});
|
|
220
|
+
return { kind: 'applied', result };
|
|
221
|
+
}
|
|
222
|
+
catch (error) {
|
|
223
|
+
if (error instanceof McpToolRefusal) {
|
|
224
|
+
await deps.proposals.settle(auth, id, { ok: false, error: error.message });
|
|
225
|
+
await record('deny', { reason: error.message });
|
|
226
|
+
return { kind: 'refused', reason: error.message };
|
|
227
|
+
}
|
|
228
|
+
await deps.proposals.settle(auth, id, { ok: false, error: 'internal' });
|
|
229
|
+
await record('error', {});
|
|
230
|
+
throw error;
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
/** Decline one. Recorded, because a proposal nobody wanted is part of the story. */
|
|
234
|
+
export async function cancelProposal(deps, auth, id, by, requestId) {
|
|
235
|
+
const cancelled = await deps.proposals.cancel(auth, id, by);
|
|
236
|
+
if (cancelled === undefined) {
|
|
237
|
+
await recordGone(deps, auth, RECORDED.cancelled, id, by, requestId);
|
|
238
|
+
return { kind: 'gone' };
|
|
239
|
+
}
|
|
240
|
+
await deps.audit.write({
|
|
241
|
+
orgId: auth.orgId,
|
|
242
|
+
actor: `${auth.principal.type}:${auth.principal.id}`,
|
|
243
|
+
...RECORDED.cancelled,
|
|
244
|
+
result: 'allow',
|
|
245
|
+
surface: surfaceOf(by),
|
|
246
|
+
client: `connection:${cancelled.consentId}`,
|
|
247
|
+
target: { proposal: id, tool: cancelled.tool, ...(cancelled.module === null ? {} : { module: cancelled.module }) },
|
|
248
|
+
detail: { through: by.through },
|
|
249
|
+
requestId,
|
|
250
|
+
});
|
|
251
|
+
return { kind: 'cancelled' };
|
|
252
|
+
}
|
|
253
|
+
/** Store one and record that an agent asked for it. */
|
|
254
|
+
/**
|
|
255
|
+
* A write that could not be proposed — a name that matched nothing, a value the
|
|
256
|
+
* tool will not take, or a failure. Recorded as `proposal.created` with `deny`
|
|
257
|
+
* or `error`, because the stream of what an agent *tried* is the part of the
|
|
258
|
+
* log an injection shows up in, and a model probing names leaves nothing
|
|
259
|
+
* otherwise.
|
|
260
|
+
*/
|
|
261
|
+
export async function recordRefusedProposal(deps, auth, entry, reason, requestId) {
|
|
262
|
+
await deps.audit.write({
|
|
263
|
+
orgId: auth.orgId,
|
|
264
|
+
actor: `${auth.principal.type}:${auth.principal.id}`,
|
|
265
|
+
...RECORDED.created,
|
|
266
|
+
result: reason === undefined ? 'error' : 'deny',
|
|
267
|
+
surface: 'mcp-admin',
|
|
268
|
+
target: { tool: entry.tool, ...(entry.module === null ? {} : { module: entry.module }) },
|
|
269
|
+
detail: reason === undefined ? {} : { reason: reason.slice(0, 300) },
|
|
270
|
+
requestId,
|
|
271
|
+
});
|
|
272
|
+
}
|
|
273
|
+
export async function recordProposal(deps, auth, entry, requestId) {
|
|
274
|
+
const stored = await deps.proposals.create(auth, entry);
|
|
275
|
+
await deps.audit.write({
|
|
276
|
+
orgId: auth.orgId,
|
|
277
|
+
actor: `${auth.principal.type}:${auth.principal.id}`,
|
|
278
|
+
...RECORDED.created,
|
|
279
|
+
result: 'allow',
|
|
280
|
+
surface: 'mcp-admin',
|
|
281
|
+
target: { proposal: stored.id, tool: entry.tool, ...(entry.module === null ? {} : { module: entry.module }) },
|
|
282
|
+
// The sentence and the facts, which are what a person reads — never the
|
|
283
|
+
// input, which may carry a skill's text.
|
|
284
|
+
detail: { summary: entry.proposal.summary, expires_at: stored.expiresAt },
|
|
285
|
+
requestId,
|
|
286
|
+
});
|
|
287
|
+
return stored;
|
|
288
|
+
}
|
|
289
|
+
//# sourceMappingURL=proposals.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proposals.js","sourceRoot":"","sources":["../src/proposals.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts
CHANGED
|
@@ -12,6 +12,7 @@ import type { MintRequest, OAuthAuthorizations, OAuthClients, OAuthConsents, OAu
|
|
|
12
12
|
import { type Groups, type Users } from './principals.js';
|
|
13
13
|
import { type Page, type PageResult } from './pagination.js';
|
|
14
14
|
import type { Skills } from './skills.js';
|
|
15
|
+
import { type PostgresProposals, type WriteLookup } from './proposals.js';
|
|
15
16
|
export type { Page, PageResult };
|
|
16
17
|
/**
|
|
17
18
|
* What the API needs from the rest of the system, as ports.
|
|
@@ -878,6 +879,21 @@ export interface OAuthServer {
|
|
|
878
879
|
expiresIn: number;
|
|
879
880
|
}>;
|
|
880
881
|
}
|
|
882
|
+
/**
|
|
883
|
+
* Where this installation is reached — what `GET /v1/endpoints` answers with.
|
|
884
|
+
* docs/openapi.yaml, `Endpoints`.
|
|
885
|
+
*/
|
|
886
|
+
export interface ServedEndpoints {
|
|
887
|
+
/** The REST API's base, ending in `/v1`. */
|
|
888
|
+
readonly api: string;
|
|
889
|
+
/** The MCP endpoint, Streamable HTTP. */
|
|
890
|
+
readonly mcp: string;
|
|
891
|
+
/** The administrative MCP endpoint, beside it. */
|
|
892
|
+
readonly mcpAdmin: string;
|
|
893
|
+
/** The OpenAPI document describing this release. */
|
|
894
|
+
readonly contract: string;
|
|
895
|
+
readonly version: string;
|
|
896
|
+
}
|
|
881
897
|
export interface ApiOptions {
|
|
882
898
|
readonly verify: VerifyOptions;
|
|
883
899
|
/** Rendered at /metrics. Absent means the endpoint answers 404. */
|
|
@@ -943,6 +959,16 @@ export interface ApiOptions {
|
|
|
943
959
|
* neither agreed on.
|
|
944
960
|
*/
|
|
945
961
|
readonly resourceMetadata?: ProtectedResourceMetadata;
|
|
962
|
+
/**
|
|
963
|
+
* Where a client reaches this installation, served at `/v1/endpoints`.
|
|
964
|
+
*
|
|
965
|
+
* Built once from `NACRE_CANONICAL_URL` and `NACRE_MCP_CANONICAL_URL` — the
|
|
966
|
+
* values every token's issuer and every discovery document are already made
|
|
967
|
+
* of — so the console says the address an operator configured rather than
|
|
968
|
+
* guessing one from the page it happens to be served on. Absent, the route
|
|
969
|
+
* answers `404`, which is what a server built without it should say.
|
|
970
|
+
*/
|
|
971
|
+
readonly endpoints?: ServedEndpoints;
|
|
946
972
|
/**
|
|
947
973
|
* The public keys served at `/.well-known/jwks.json`.
|
|
948
974
|
*
|
|
@@ -1016,6 +1042,21 @@ export interface ApiOptions {
|
|
|
1016
1042
|
readonly jobs?: Jobs;
|
|
1017
1043
|
readonly layers?: Layers;
|
|
1018
1044
|
readonly grants?: Grants;
|
|
1045
|
+
/**
|
|
1046
|
+
* Changes proposed on the administrative MCP, decided on the console's
|
|
1047
|
+
* Proposals screen. Absent means `/v1/proposals` answers 404.
|
|
1048
|
+
*
|
|
1049
|
+
* The console is the second place a person presses Apply, beside the panel a
|
|
1050
|
+
* host renders — and the one that works in a client that renders none. Only
|
|
1051
|
+
* the person's own session reaches it: a connected application's token,
|
|
1052
|
+
* administrative or not, is answered as if the path did not exist, or a
|
|
1053
|
+
* client could approve its own proposals and the person would never be in
|
|
1054
|
+
* front of them.
|
|
1055
|
+
*/
|
|
1056
|
+
readonly proposals?: {
|
|
1057
|
+
readonly store: PostgresProposals;
|
|
1058
|
+
readonly writes: WriteLookup;
|
|
1059
|
+
};
|
|
1019
1060
|
readonly serviceAccounts?: ServiceAccountPort;
|
|
1020
1061
|
/** Absent means `/v1/users` answers 404, like any capability a surface lacks. */
|
|
1021
1062
|
readonly users?: Users;
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|