@synoikia/core 0.11.0 → 0.13.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.
Files changed (37) hide show
  1. package/dist/app.d.ts +3 -0
  2. package/dist/app.js +4 -1
  3. package/dist/app.js.map +1 -1
  4. package/dist/approvals/service.d.ts +16 -4
  5. package/dist/approvals/service.js +41 -15
  6. package/dist/approvals/service.js.map +1 -1
  7. package/dist/auth/client-policy.d.ts +22 -0
  8. package/dist/auth/client-policy.js +41 -0
  9. package/dist/auth/client-policy.js.map +1 -0
  10. package/dist/gate/pipeline.js +4 -5
  11. package/dist/gate/pipeline.js.map +1 -1
  12. package/dist/http/admin/system.js +2 -0
  13. package/dist/http/admin/system.js.map +1 -1
  14. package/dist/http/mcp/approval-card.d.ts +2 -2
  15. package/dist/http/mcp/approval-card.js +20 -3
  16. package/dist/http/mcp/approval-card.js.map +1 -1
  17. package/dist/http/mcp/approval-routes.js +2 -2
  18. package/dist/http/mcp/approval-routes.js.map +1 -1
  19. package/dist/http/mcp/endpoint.d.ts +2 -0
  20. package/dist/http/mcp/endpoint.js +107 -3
  21. package/dist/http/mcp/endpoint.js.map +1 -1
  22. package/dist/http/mcp/pages.d.ts +3 -0
  23. package/dist/http/mcp/pages.js +12 -2
  24. package/dist/http/mcp/pages.js.map +1 -1
  25. package/dist/instances/manager.d.ts +8 -5
  26. package/dist/instances/manager.js +7 -1
  27. package/dist/instances/manager.js.map +1 -1
  28. package/dist/instances/settings.d.ts +2 -2
  29. package/dist/instances/settings.js +3 -3
  30. package/dist/instances/settings.js.map +1 -1
  31. package/dist/runtime/executions.d.ts +2 -0
  32. package/dist/runtime/executions.js +5 -1
  33. package/dist/runtime/executions.js.map +1 -1
  34. package/dist/settings.d.ts +8 -1
  35. package/dist/settings.js +14 -0
  36. package/dist/settings.js.map +1 -1
  37. package/package.json +1 -1
package/dist/app.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { SessionGrantService } from './approvals/grants.js';
2
2
  import { ApprovalLinkService } from './approvals/links.js';
3
3
  import { ApprovalService } from './approvals/service.js';
4
+ import { SeenClients } from './auth/client-policy.js';
4
5
  import { McpTokenService } from './auth/mcp-tokens.js';
5
6
  import { OAuthService } from './auth/oauth.js';
6
7
  import { OidcService } from './auth/oidc.js';
@@ -39,6 +40,8 @@ export interface AppContext {
39
40
  oidc: OidcService;
40
41
  tokens: McpTokenService;
41
42
  oauth: OAuthService;
43
+ /** Client names seen at MCP `initialize` (design §6.6). */
44
+ seenClients: SeenClients;
42
45
  instances: InstanceManager;
43
46
  approvals: ApprovalService;
44
47
  /** Session grants (design §5.8). */
package/dist/app.js CHANGED
@@ -2,6 +2,7 @@ import path from 'node:path';
2
2
  import { SessionGrantService } from './approvals/grants.js';
3
3
  import { ApprovalLinkService } from './approvals/links.js';
4
4
  import { ApprovalService } from './approvals/service.js';
5
+ import { SeenClients } from './auth/client-policy.js';
5
6
  import { McpTokenService } from './auth/mcp-tokens.js';
6
7
  import { OAuthService } from './auth/oauth.js';
7
8
  import { OidcService } from './auth/oidc.js';
@@ -43,7 +44,8 @@ export async function createAppContext(config, opts = {}) {
43
44
  const instances = new InstanceManager({ db, secrets, events, now, supervisor: opts.supervisor });
44
45
  // Stored JSON from an earlier release is brought to the current schemas once, before anything reads it.
45
46
  normalizeStoredSettings(db);
46
- instances.normalizeStoredSettings();
47
+ for (const slug of instances.normalizeStoredSettings().inSessionOff)
48
+ warnings.push(`/${slug}: in-session approvals were turned off (unknown stored value); turn them on again in Endpoint settings`);
47
49
  if (!config.PUBLIC_MCP_URL)
48
50
  warnings.push('PUBLIC_MCP_URL is not set: OAuth is off (bearer tokens still work). Set it to the public address of the MCP port.');
49
51
  const links = new ApprovalLinkService(db, now);
@@ -117,6 +119,7 @@ export async function createAppContext(config, opts = {}) {
117
119
  oidc: new OidcService(db, secrets, keys.state, opts.oidcAllowInsecure ?? false),
118
120
  tokens: new McpTokenService(db, now),
119
121
  oauth: new OAuthService(db, now),
122
+ seenClients: new SeenClients(now),
120
123
  instances,
121
124
  approvals,
122
125
  grants,
package/dist/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,18 @@
1
1
  import type { Db } from '../db/index.js';
2
2
  import type { ApprovalLinkService } from './links.js';
3
- /** Human approval (design §5.3): URL mode sends a human to our page to decide; form mode only for opted-in
4
- * plain writes; otherwise the execution parks and hands out the page link (§5.6). Any timeout is denied.
5
- * A client's answer never approves a risky call. */
3
+ /** Human approval (design §5.3): an opted-in, non-locked call is decided in the agent session (form prompt,
4
+ * or the card on a parked call); else URL mode sends a human to our page, else the execution parks with the
5
+ * page link (§5.6). Any timeout is denied. A client's answer never approves a locked call. */
6
6
  export type DecisionOutcome = 'approved' | 'denied' | 'timed_out' | 'cancelled';
7
7
  export type DecisionChannel = 'elicitation' | 'url';
8
+ /** Where the decision was offered: `card` is the approval card's buttons (§5.7). */
9
+ export type ApprovalChannel = 'form' | 'url' | 'link' | 'card';
8
10
  /** How the approval page knew the approver (design §5.3). */
9
11
  export type ApproverSignIn = 'session' | 'external';
10
12
  export interface Decision {
11
13
  outcome: DecisionOutcome;
12
14
  via?: DecisionChannel;
15
+ channel?: ApprovalChannel;
13
16
  decidedBy?: string;
14
17
  /** Set for decisions on the approval page. */
15
18
  signIn?: ApproverSignIn;
@@ -60,6 +63,8 @@ export interface ParkedApproval {
60
63
  operationKey: string;
61
64
  summary: string;
62
65
  expiresAt: Date;
66
+ /** The approval card may decide it in the agent session (§5.7). */
67
+ inSession: boolean;
63
68
  }
64
69
  /** Lets an execution park (design §5.6) when the client has no usable prompt. */
65
70
  export interface ParkHook {
@@ -88,7 +93,7 @@ export interface ApprovalRequestInput {
88
93
  mcpSessionId?: string;
89
94
  timeoutMs: number;
90
95
  prompts?: ClientPrompts;
91
- /** The endpoint lets form prompts approve, and this is a plain write (not locked, no typed confirmation). */
96
+ /** The endpoint allows in-session approval, and the operation is not locked and needs no typed confirmation. */
92
97
  formApprovals: boolean;
93
98
  /** Present when the execution can park; used only when no client prompt applies. */
94
99
  park?: ParkHook;
@@ -190,6 +195,7 @@ export declare class ApprovalService {
190
195
  createdAt: Date;
191
196
  };
192
197
  } | null;
198
+ private open;
193
199
  /** The approval page's decision. A wrong typed confirmation is rejected so the approver can retry. */
194
200
  decide(id: string, input: {
195
201
  approve: boolean;
@@ -198,6 +204,12 @@ export declare class ApprovalService {
198
204
  signIn?: ApproverSignIn;
199
205
  sessionGrantUntil?: Date;
200
206
  }): Decision;
207
+ /** The approval card's decision in the agent session (§5.7): only where the endpoint still allows it, and
208
+ * never with a session grant. The caller checks that the approval belongs to the calling principal. */
209
+ decideInSession(id: string, input: {
210
+ approve: boolean;
211
+ decidedBy: string;
212
+ }): Decision;
201
213
  /** Cancels one open request (its execution ended). Returns false if it was already decided. */
202
214
  cancel(id: string, reason: string): boolean;
203
215
  /** Cancels the open requests of one endpoint (it was stopped: disabled, deleted or reconfigured). */
@@ -2,7 +2,8 @@ import { randomUUID } from 'node:crypto';
2
2
  import { and, eq } from 'drizzle-orm';
3
3
  import { writeAudit } from '../audit.js';
4
4
  import { operations, pendingApprovals, pluginInstances } from '../db/schema.js';
5
- import { ConflictError, NotFoundError, ValidationError } from '../errors.js';
5
+ import { ConflictError, ForbiddenError, NotFoundError, ValidationError } from '../errors.js';
6
+ import { readInstanceSettings } from '../instances/settings.js';
6
7
  /** Only the credential's owner decides (design §5.3); a call without one, only an admin. */
7
8
  export const mayDecide = (approval, userId, isAdmin) => approval.ownerUserId ? approval.ownerUserId === userId : isAdmin;
8
9
  export class ApprovalService {
@@ -61,11 +62,8 @@ export class ApprovalService {
61
62
  decidedAt: null,
62
63
  };
63
64
  const prompts = input.prompts ?? {};
64
- let channel = prompts.url
65
- ? 'url'
66
- : prompts.form && input.formApprovals
67
- ? 'form'
68
- : null;
65
+ // In the session first (§5.3): the form prompt, then the card on a parked call; the page otherwise.
66
+ let channel = prompts.form && input.formApprovals ? 'form' : prompts.url ? 'url' : null;
69
67
  let parkRefused = null;
70
68
  if (!channel && input.park) {
71
69
  parkRefused = input.park.reserve();
@@ -97,9 +95,9 @@ export class ApprovalService {
97
95
  this.links.consumeAll(id);
98
96
  if (channel === 'url')
99
97
  prompts.urlComplete?.(id);
100
- resolve(d);
98
+ resolve({ ...d, channel: d.channel ?? channel });
101
99
  };
102
- this.live.set(id, { row, settle });
100
+ this.live.set(id, { row, formApprovals: input.formApprovals, settle });
103
101
  });
104
102
  if (channel === 'url')
105
103
  this.offerUrl(id, row.expiresAt, input);
@@ -111,6 +109,7 @@ export class ApprovalService {
111
109
  operationKey: input.operationKey,
112
110
  summary: input.summary,
113
111
  expiresAt: row.expiresAt,
112
+ inSession: input.formApprovals,
114
113
  });
115
114
  }
116
115
  else
@@ -168,15 +167,18 @@ export class ApprovalService {
168
167
  .where(eq(pendingApprovals.id, id))
169
168
  .get() ?? null);
170
169
  }
170
+ open(id) {
171
+ const live = this.live.get(id);
172
+ if (live)
173
+ return live;
174
+ const row = this.db.select().from(pendingApprovals).where(eq(pendingApprovals.id, id)).get();
175
+ if (!row)
176
+ throw new NotFoundError('approval_not_found', 'No such approval');
177
+ throw new ConflictError('approval_closed', `This approval is already ${row.status}`);
178
+ }
171
179
  /** The approval page's decision. A wrong typed confirmation is rejected so the approver can retry. */
172
180
  decide(id, input) {
173
- const live = this.live.get(id);
174
- if (!live) {
175
- const row = this.db.select().from(pendingApprovals).where(eq(pendingApprovals.id, id)).get();
176
- if (!row)
177
- throw new NotFoundError('approval_not_found', 'No such approval');
178
- throw new ConflictError('approval_closed', `This approval is already ${row.status}`);
179
- }
181
+ const live = this.open(id);
180
182
  if (input.approve && live.row.confirmLiteral && input.confirm !== live.row.confirmLiteral) {
181
183
  throw new ValidationError('confirmation_mismatch', `Type "${live.row.confirmLiteral}" exactly to approve`);
182
184
  }
@@ -190,6 +192,30 @@ export class ApprovalService {
190
192
  live.settle(decision);
191
193
  return decision;
192
194
  }
195
+ /** The approval card's decision in the agent session (§5.7): only where the endpoint still allows it, and
196
+ * never with a session grant. The caller checks that the approval belongs to the calling principal. */
197
+ decideInSession(id, input) {
198
+ const live = this.open(id);
199
+ const instance = this.db
200
+ .select({ slug: pluginInstances.slug, settings: pluginInstances.settings })
201
+ .from(pluginInstances)
202
+ .where(eq(pluginInstances.id, live.row.instanceId))
203
+ .get();
204
+ const allowed = live.formApprovals &&
205
+ !live.row.confirmLiteral &&
206
+ !!instance &&
207
+ readInstanceSettings(instance.settings, `/${instance.slug} settings`).formElicitationApprovals === 'ask';
208
+ if (!allowed)
209
+ throw new ForbiddenError('approval_not_in_session', 'This approval needs the approval page');
210
+ const decision = {
211
+ outcome: input.approve ? 'approved' : 'denied',
212
+ via: 'elicitation',
213
+ channel: 'card',
214
+ decidedBy: input.decidedBy,
215
+ };
216
+ live.settle(decision);
217
+ return decision;
218
+ }
193
219
  /** Cancels one open request (its execution ended). Returns false if it was already decided. */
194
220
  cancel(id, reason) {
195
221
  const live = this.live.get(id);
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/approvals/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/approvals/service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import type { Settings } from '../settings.js';
2
+ /** MCP client policy (design §6.6): matches the self-declared `clientInfo.name` of `initialize`. */
3
+ export type ClientPolicy = Settings<'mcp'>['clientPolicy'];
4
+ /** Longest client name or version that core keeps; longer values are clipped. */
5
+ export declare const CLIENT_INFO_MAX = 100;
6
+ /** Case-insensitive exact match. `allow` also refuses a client without a name. */
7
+ export declare function clientAllowed(policy: ClientPolicy, name: string | undefined): boolean;
8
+ export interface SeenClient {
9
+ name: string;
10
+ version: string;
11
+ /** The principal label of the caller that sent it. */
12
+ client: string;
13
+ lastSeen: string;
14
+ }
15
+ /** The latest client names authenticated callers sent at `initialize`, most recent first; in memory only. */
16
+ export declare class SeenClients {
17
+ private readonly now;
18
+ private readonly seen;
19
+ constructor(now: () => Date);
20
+ record(name: string, version?: string, client?: string): void;
21
+ list(): SeenClient[];
22
+ }
@@ -0,0 +1,41 @@
1
+ /** Longest client name or version that core keeps; longer values are clipped. */
2
+ export const CLIENT_INFO_MAX = 100;
3
+ const SEEN_MAX = 50;
4
+ /** A client name as core keeps it: trimmed and clipped. */
5
+ const clip = (name) => name.trim().slice(0, CLIENT_INFO_MAX);
6
+ const clientKey = (name) => clip(name).toLowerCase();
7
+ /** Case-insensitive exact match. `allow` also refuses a client without a name. */
8
+ export function clientAllowed(policy, name) {
9
+ if (policy.mode === 'off')
10
+ return true;
11
+ const key = name && clientKey(name);
12
+ const listed = !!key && policy.names.some((n) => n.toLowerCase() === key);
13
+ return policy.mode === 'allow' ? listed : !listed;
14
+ }
15
+ /** The latest client names authenticated callers sent at `initialize`, most recent first; in memory only. */
16
+ export class SeenClients {
17
+ now;
18
+ seen = new Map();
19
+ constructor(now) {
20
+ this.now = now;
21
+ }
22
+ record(name, version = '', client = '') {
23
+ const clipped = clip(name);
24
+ if (!clipped)
25
+ return;
26
+ const key = clipped.toLowerCase();
27
+ this.seen.delete(key);
28
+ this.seen.set(key, {
29
+ name: clipped,
30
+ version: version.slice(0, CLIENT_INFO_MAX),
31
+ client: client.slice(0, CLIENT_INFO_MAX),
32
+ lastSeen: this.now().toISOString(),
33
+ });
34
+ if (this.seen.size > SEEN_MAX)
35
+ this.seen.delete(this.seen.keys().next().value);
36
+ }
37
+ list() {
38
+ return [...this.seen.values()].reverse();
39
+ }
40
+ }
41
+ //# sourceMappingURL=client-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-policy.js","sourceRoot":"","sources":["../../src/auth/client-policy.ts"],"names":[],"mappings":"AAMA,iFAAiF;AACjF,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAC;AACnC,MAAM,QAAQ,GAAG,EAAE,CAAC;AAEpB,2DAA2D;AAC3D,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;AACrE,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;AAE7D,kFAAkF;AAClF,MAAM,UAAU,aAAa,CAAC,MAAoB,EAAE,IAAwB;IAC1E,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC;IACvC,MAAM,GAAG,GAAG,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,CAAC;IAC1E,OAAO,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACpD,CAAC;AAUD,6GAA6G;AAC7G,MAAM,OAAO,WAAW;IAGO;IAFZ,IAAI,GAAG,IAAI,GAAG,EAAsB,CAAC;IAEtD,YAA6B,GAAe;QAAf,QAAG,GAAH,GAAG,CAAY;IAAG,CAAC;IAEhD,MAAM,CAAC,IAAY,EAAE,OAAO,GAAG,EAAE,EAAE,MAAM,GAAG,EAAE;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE;YACjB,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC;YAC1C,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC;YACxC,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;SACnC,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,QAAQ;YAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAM,CAAC,CAAC;IAClF,CAAC;IAED,IAAI;QACF,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;IAC3C,CAAC;CACF"}
@@ -252,11 +252,8 @@ export function createGateBindings(deps, rt, caller, signal = new AbortControlle
252
252
  mcpSessionId: caller.mcpSessionId,
253
253
  timeoutMs: rt.settings.approvalTimeoutMs,
254
254
  prompts: caller.prompts,
255
- // Only plain writes, as the setting's name says: a read the admin put at Ask always needs a human.
256
- formApprovals: rt.settings.formElicitationApprovals === 'writes' &&
257
- isWrite &&
258
- !operation.locked &&
259
- !operation.typedConfirmation,
255
+ // In-session approval (§5.3) covers every Ask operation that is not locked, reads too.
256
+ formApprovals: rt.settings.formElicitationApprovals === 'ask' && !operation.locked && !operation.typedConfirmation,
260
257
  park,
261
258
  });
262
259
  audit.detail.approvalId = request.id;
@@ -275,6 +272,8 @@ export function createGateBindings(deps, rt, caller, signal = new AbortControlle
275
272
  audit.decidedVia = approval.via;
276
273
  if (approval.signIn)
277
274
  audit.detail.approverSignIn = approval.signIn;
275
+ if (approval.channel)
276
+ audit.detail.approvalChannel = approval.channel;
278
277
  if (approval.outcome === 'cancelled' && signal.aborted)
279
278
  ensureRunning();
280
279
  if (approval.outcome !== 'approved') {
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/gate/pipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/gate/pipeline.ts"],"names":[],"mappings":"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"}
@@ -174,6 +174,8 @@ export function registerSystemRoutes(app, ctx) {
174
174
  publicMcpUrl: ctx.config.PUBLIC_MCP_URL ?? null,
175
175
  publicAdminUrl: ctx.config.PUBLIC_ADMIN_URL ?? null,
176
176
  }));
177
+ // Suggestions for the client policy (design §6.6): names seen at initialize since the server started.
178
+ app.get('/api/settings/mcp/clients-seen', (c) => c.json(ctx.seenClients.list()));
177
179
  app.put('/api/settings/oidc', async (c) => {
178
180
  const body = await readJson(c, z.record(z.string(), z.unknown()));
179
181
  if (body.enabled === false)
@@ -1 +1 @@
1
- {"version":3,"file":"system.js","sourceRoot":"","sources":["../../../src/http/admin/system.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"system.js","sourceRoot":"","sources":["../../../src/http/admin/system.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /** The approval card (design §5.7): an MCP Apps view that hosts render for `execute` and `resume` results.
2
- * It shows state and opens the approval page; it never decides. Static, no external origins. */
2
+ * It shows state, decides only in-session approvals, and opens the approval page. Static, no external origins. */
3
3
  export declare const APPROVAL_CARD_URI = "ui://synoikia/approval";
4
4
  export declare const MCP_APP_MIME = "text/html;profile=mcp-app";
5
5
  export declare const MCP_APPS_EXTENSION = "io.modelcontextprotocol/ui";
6
- export declare const APPROVAL_CARD_HTML = "<!doctype html>\n<html><head><meta charset=\"utf-8\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n<style>\n:root { color-scheme: light; --bg:#eee4d3; --line:#d9c9ab; --ink:#241b12; --muted:#5c5044; --brand:#b5502f; --brand-strong:#8f3d22;\n --on-brand:#fff; --ok:#3f6b45; --ok-bg:#dfe9dc; --warn:#8a6514; --warn-bg:#f3e6c4; --no:#9a2f2f; --no-bg:#f0dcda;\n --sans:\"IBM Plex Sans\", system-ui, -apple-system, sans-serif; --mono:\"IBM Plex Mono\", ui-monospace, monospace; }\n:root[data-theme=\"dark\"] { color-scheme: dark; --bg:#1d1914; --line:#3a3026; --ink:#f2e9db; --muted:#b8ab98; --brand:#d97250;\n --brand-strong:#e88a63; --on-brand:#14110e; --ok:#8fbf8f; --ok-bg:#1f2a1f; --warn:#e0b860; --warn-bg:#2c2414; --no:#e8685f; --no-bg:#2e1c1b; }\n* { box-sizing: border-box; }\nhtml, body { margin: 0; background: transparent; color: var(--ink); font: 14px/1.45 var(--sans); }\n.card { border: 1px solid var(--line); border-radius: 12px; background: var(--bg); overflow: hidden; }\n.hd { padding: 8px 12px; border-bottom: 1px solid var(--line); font-size: 11px; font-weight: 600; letter-spacing: .06em;\n text-transform: uppercase; color: var(--muted); }\n.bd { padding: 12px; display: grid; gap: 8px; }\n.t { font-weight: 600; font-size: 15px; overflow-wrap: anywhere; }\n.op { font: 12px/1.4 var(--mono); color: var(--muted); overflow-wrap: anywhere; }\n.ft { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: space-between; }\n.pill { font-size: 12px; font-weight: 600; padding: 3px 9px; border-radius: 999px; }\n.pending { background: var(--warn-bg); color: var(--warn); } .ok { background: var(--ok-bg); color: var(--ok); }\n.no { background: var(--no-bg); color: var(--no); }\nbutton { font: 600 13px/1.2 var(--sans); padding: 7px 14px; border-radius: 8px; border: 1px solid var(--brand); cursor: pointer;\n background: var(--brand); color: var(--on-brand); }\nbutton:hover { background: var(--brand-strong); }\nbutton.quiet { background: transparent; color: var(--no); border-color: var(--line); padding: 4px 10px; font-size: 12px; }\n.grant { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding: 8px 12px; border: 1px solid var(--line);\n border-radius: 10px; background: var(--ok-bg); color: var(--ok); font-size: 12.5px; }\n.grant button { margin-left: auto; }\n.note { font-size: 12px; color: var(--muted); }\n[hidden] { display: none !important; }\n</style></head>\n<body>\n<div id=\"root\" hidden></div>\n<script>\n(() => {\n const root = document.getElementById('root');\n let nextId = 1;\n const waiting = new Map();\n const send = (msg) => window.parent.postMessage(Object.assign({ jsonrpc: '2.0' }, msg), '*');\n const request = (method, params) =>\n new Promise((resolve, reject) => {\n const id = nextId++;\n waiting.set(id, { resolve, reject });\n send({ id, method, params });\n });\n const notify = (method, params) => send({ method, params: params || {} });\n const resize = () => notify('ui/notifications/size-changed', { height: root.hidden ? 0 : document.body.scrollHeight });\n const esc = (s) => String(s == null ? '' : s).replace(/[&<>\"']/g, (c) => '&#' + c.charCodeAt(0) + ';');\n const payloadOf = (res) => {\n if (res && res.structuredContent) return res.structuredContent;\n const text = res && Array.isArray(res.content) ? res.content.find((c) => c.type === 'text') : null;\n try { return text ? JSON.parse(text.text) : null; } catch { return null; }\n };\n const timeLeft = (iso) => {\n const ms = new Date(iso).getTime() - Date.now();\n if (!(ms > 0)) return 'expired';\n const m = Math.floor(ms / 60000), s = Math.floor((ms % 60000) / 1000);\n return 'expires in ' + m + ':' + String(s).padStart(2, '0');\n };\n\n let state = null;\n let poll = null;\n let told = false;\n\n function render() {\n if (!state || (!state.approval && !state.grant)) { root.hidden = true; resize(); return; }\n root.hidden = false;\n let html = '';\n if (state.approval) {\n const a = state.approval;\n const st = state.status || 'pending';\n const pill = st === 'pending'\n ? '<span class=\"pill pending\" id=\"left\">\u25CF ' + esc(timeLeft(a.expiresAt)) + '</span>'\n : st === 'approved' || (st === 'done' && state.decision === 'approved')\n ? '<span class=\"pill ok\">\u2713 Approved</span>'\n : st === 'running' ? '<span class=\"pill ok\">Running</span>'\n : '<span class=\"pill no\">\u2715 ' + esc(st === 'done' ? (state.decision || 'finished').replace('_', ' ') : st.replace('_', ' ')) + '</span>';\n html += '<div class=\"card\"><div class=\"hd\">Synoikia \u00B7 approval needed</div><div class=\"bd\">' +\n '<div class=\"t\">' + esc(a.summary) + '</div><div class=\"op\">' + esc(a.operationKey) + '</div>' +\n '<div class=\"ft\">' + pill + (st === 'pending' ? '<button id=\"open\" type=\"button\">Review and approve \u2197</button>' : '') + '</div>' +\n (st === 'pending' ? '<div class=\"note\">Approve or deny on the Synoikia page. This chat continues by itself after you decide.</div>' : '') +\n '</div></div>';\n }\n if (state.grant) {\n html += '<div class=\"grant\" style=\"margin-top:' + (state.approval ? '8px' : '0') + '\">\u2713 Session approval active until ' +\n esc(new Date(state.grant.expiresAt).toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' })) +\n ' <button class=\"quiet\" id=\"revoke\" type=\"button\">Revoke</button></div>';\n }\n root.innerHTML = html;\n const open = document.getElementById('open');\n if (open) open.onclick = () => request('ui/open-link', { url: state.approval.url }).catch(() => {});\n const revoke = document.getElementById('revoke');\n if (revoke) revoke.onclick = () =>\n request('tools/call', { name: 'session_grant_revoke', arguments: { grantId: state.grant.id } })\n .then(() => { state.grant = null; render(); }).catch(() => {});\n resize();\n }\n\n async function tell(text) {\n if (told) return;\n told = true;\n try { await request('ui/message', { role: 'user', content: [{ type: 'text', text }] }); }\n catch {\n try { await request('ui/message', { role: 'user', content: { type: 'text', text } }); }\n catch { const n = document.createElement('div'); n.className = 'note'; n.textContent = 'Say \"continue\" in the chat to get the result.'; root.appendChild(n); resize(); }\n }\n }\n\n async function check() {\n if (!state || !state.executionId || !state.approval) return;\n let s;\n try { s = payloadOf(await request('tools/call', { name: 'approval_status', arguments: { executionId: state.executionId } })); }\n catch { return; }\n if (!s || !s.state) return;\n if (s.state === 'pending') { const left = document.getElementById('left'); if (left) left.textContent = '\u25CF ' + timeLeft(state.approval.expiresAt); return; }\n state.status = s.state; state.decision = s.decision || s.state;\n clearInterval(poll); poll = null;\n render();\n const approved = s.state === 'approved' || s.state === 'running' || (s.state === 'done' && s.decision === 'approved');\n tell(approved ? 'Approved, continue.' : 'The approval was ' + String(state.decision).replace('_', ' ') + '. Continue.');\n }\n\n function onResult(res) {\n const p = payloadOf(res) || {};\n state = { executionId: p.executionId, approval: p.status === 'awaiting_approval' ? p.approval : null, grant: p.sessionGrant || null, status: 'pending' };\n told = false;\n render();\n if (poll) clearInterval(poll);\n if (state.approval) poll = setInterval(check, 2000);\n }\n\n window.addEventListener('message', (ev) => {\n if (ev.source !== window.parent) return;\n const m = ev.data;\n if (!m || m.jsonrpc !== '2.0') return;\n if (m.id != null && waiting.has(m.id) && !m.method) {\n const w = waiting.get(m.id); waiting.delete(m.id);\n if (m.error) w.reject(m.error); else w.resolve(m.result);\n return;\n }\n if (m.method === 'ui/notifications/tool-result') onResult(m.params);\n if (m.method === 'ui/notifications/host-context-changed' && m.params && m.params.theme)\n document.documentElement.dataset.theme = m.params.theme;\n });\n\n request('ui/initialize', { appInfo: { name: 'synoikia-approval', version: '1' }, appCapabilities: {}, protocolVersion: '2026-01-26' })\n .then((r) => {\n const theme = r && r.hostContext && r.hostContext.theme;\n document.documentElement.dataset.theme = theme || (matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light');\n notify('ui/notifications/initialized');\n })\n .catch(() => {});\n})();\n</script>\n</body></html>";
6
+ export declare const APPROVAL_CARD_HTML = "<!doctype html>\n<html><head><meta charset=\"utf-8\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n<style>\n:root { color-scheme: light; --bg:#eee4d3; --line:#d9c9ab; --ink:#241b12; --muted:#5c5044; --brand:#b5502f; --brand-strong:#8f3d22;\n --on-brand:#fff; --ok:#3f6b45; --ok-bg:#dfe9dc; --warn:#8a6514; --warn-bg:#f3e6c4; --no:#9a2f2f; --no-bg:#f0dcda;\n --sans:\"IBM Plex Sans\", system-ui, -apple-system, sans-serif; --mono:\"IBM Plex Mono\", ui-monospace, monospace; }\n:root[data-theme=\"dark\"] { color-scheme: dark; --bg:#1d1914; --line:#3a3026; --ink:#f2e9db; --muted:#b8ab98; --brand:#d97250;\n --brand-strong:#e88a63; --on-brand:#14110e; --ok:#8fbf8f; --ok-bg:#1f2a1f; --warn:#e0b860; --warn-bg:#2c2414; --no:#e8685f; --no-bg:#2e1c1b; }\n* { box-sizing: border-box; }\nhtml, body { margin: 0; background: transparent; color: var(--ink); font: 14px/1.45 var(--sans); }\n.card { border: 1px solid var(--line); border-radius: 12px; background: var(--bg); overflow: hidden; }\n.hd { padding: 8px 12px; border-bottom: 1px solid var(--line); font-size: 11px; font-weight: 600; letter-spacing: .06em;\n text-transform: uppercase; color: var(--muted); }\n.bd { padding: 12px; display: grid; gap: 8px; }\n.t { font-weight: 600; font-size: 15px; overflow-wrap: anywhere; }\n.op { font: 12px/1.4 var(--mono); color: var(--muted); overflow-wrap: anywhere; }\n.ft { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: space-between; }\n.pill { font-size: 12px; font-weight: 600; padding: 3px 9px; border-radius: 999px; }\n.pending { background: var(--warn-bg); color: var(--warn); } .ok { background: var(--ok-bg); color: var(--ok); }\n.no { background: var(--no-bg); color: var(--no); }\nbutton { font: 600 13px/1.2 var(--sans); padding: 7px 14px; border-radius: 8px; border: 1px solid var(--brand); cursor: pointer;\n background: var(--brand); color: var(--on-brand); }\nbutton:hover { background: var(--brand-strong); }\nbutton.alt { background: transparent; color: var(--ink); border-color: var(--line); }\nbutton.alt:hover { background: var(--line); }\n.acts { display: flex; flex-wrap: wrap; gap: 8px; }\nbutton.quiet { background: transparent; color: var(--no); border-color: var(--line); padding: 4px 10px; font-size: 12px; }\n.grant { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding: 8px 12px; border: 1px solid var(--line);\n border-radius: 10px; background: var(--ok-bg); color: var(--ok); font-size: 12.5px; }\n.grant button { margin-left: auto; }\n.note { font-size: 12px; color: var(--muted); }\n[hidden] { display: none !important; }\n</style></head>\n<body>\n<div id=\"root\" hidden></div>\n<script>\n(() => {\n const root = document.getElementById('root');\n let nextId = 1;\n const waiting = new Map();\n const send = (msg) => window.parent.postMessage(Object.assign({ jsonrpc: '2.0' }, msg), '*');\n const request = (method, params) =>\n new Promise((resolve, reject) => {\n const id = nextId++;\n waiting.set(id, { resolve, reject });\n send({ id, method, params });\n });\n const notify = (method, params) => send({ method, params: params || {} });\n const resize = () => notify('ui/notifications/size-changed', { height: root.hidden ? 0 : document.body.scrollHeight });\n const esc = (s) => String(s == null ? '' : s).replace(/[&<>\"']/g, (c) => '&#' + c.charCodeAt(0) + ';');\n const payloadOf = (res) => {\n if (res && res.structuredContent) return res.structuredContent;\n const text = res && Array.isArray(res.content) ? res.content.find((c) => c.type === 'text') : null;\n try { return text ? JSON.parse(text.text) : null; } catch { return null; }\n };\n const timeLeft = (iso) => {\n const ms = new Date(iso).getTime() - Date.now();\n if (!(ms > 0)) return 'expired';\n const m = Math.floor(ms / 60000), s = Math.floor((ms % 60000) / 1000);\n return 'expires in ' + m + ':' + String(s).padStart(2, '0');\n };\n\n let state = null;\n let poll = null;\n let told = false;\n\n function render() {\n if (!state || (!state.approval && !state.grant)) { root.hidden = true; resize(); return; }\n root.hidden = false;\n let html = '';\n if (state.approval) {\n const a = state.approval;\n const st = state.status || 'pending';\n const pill = st === 'pending'\n ? '<span class=\"pill pending\" id=\"left\">\u25CF ' + esc(timeLeft(a.expiresAt)) + '</span>'\n : st === 'approved' || (st === 'done' && state.decision === 'approved')\n ? '<span class=\"pill ok\">\u2713 Approved</span>'\n : st === 'running' ? '<span class=\"pill ok\">Running</span>'\n : '<span class=\"pill no\">\u2715 ' + esc(st === 'done' ? (state.decision || 'finished').replace('_', ' ') : st.replace('_', ' ')) + '</span>';\n const here = st === 'pending' && a.inSession === true;\n const acts = st !== 'pending' ? ''\n : here\n ? '<div class=\"acts\"><button class=\"alt\" id=\"deny\" type=\"button\">Deny</button><button id=\"approve\" type=\"button\">Approve</button>' +\n '<button class=\"alt\" id=\"open\" type=\"button\">Review on the page \u2197</button></div>'\n : '<button id=\"open\" type=\"button\">Review and approve \u2197</button>';\n html += '<div class=\"card\"><div class=\"hd\">Synoikia \u00B7 approval needed</div><div class=\"bd\">' +\n '<div class=\"t\">' + esc(a.summary) + '</div><div class=\"op\">' + esc(a.operationKey) + '</div>' +\n '<div class=\"ft\">' + pill + acts + '</div>' +\n (st === 'pending' ? '<div class=\"note\">' + (here ? 'Approve or deny here, or review the details on the Synoikia page.' : 'Approve or deny on the Synoikia page.') +\n ' This chat continues by itself after you decide.</div>' : '') +\n '</div></div>';\n }\n if (state.grant) {\n html += '<div class=\"grant\" style=\"margin-top:' + (state.approval ? '8px' : '0') + '\">\u2713 Session approval active until ' +\n esc(new Date(state.grant.expiresAt).toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' })) +\n ' <button class=\"quiet\" id=\"revoke\" type=\"button\">Revoke</button></div>';\n }\n root.innerHTML = html;\n const open = document.getElementById('open');\n if (open) open.onclick = () => request('ui/open-link', { url: state.approval.url }).catch(() => {});\n const decide = (approve) => () =>\n request('tools/call', { name: 'approval_decide', arguments: { executionId: state.executionId, approve } })\n .then(check).catch(() => {});\n const yes = document.getElementById('approve');\n if (yes) yes.onclick = decide(true);\n const no = document.getElementById('deny');\n if (no) no.onclick = decide(false);\n const revoke = document.getElementById('revoke');\n if (revoke) revoke.onclick = () =>\n request('tools/call', { name: 'session_grant_revoke', arguments: { grantId: state.grant.id } })\n .then(() => { state.grant = null; render(); }).catch(() => {});\n resize();\n }\n\n async function tell(text) {\n if (told) return;\n told = true;\n try { await request('ui/message', { role: 'user', content: [{ type: 'text', text }] }); }\n catch {\n try { await request('ui/message', { role: 'user', content: { type: 'text', text } }); }\n catch { const n = document.createElement('div'); n.className = 'note'; n.textContent = 'Say \"continue\" in the chat to get the result.'; root.appendChild(n); resize(); }\n }\n }\n\n async function check() {\n if (!state || !state.executionId || !state.approval) return;\n let s;\n try { s = payloadOf(await request('tools/call', { name: 'approval_status', arguments: { executionId: state.executionId } })); }\n catch { return; }\n if (!s || !s.state) return;\n if (s.state === 'pending') { const left = document.getElementById('left'); if (left) left.textContent = '\u25CF ' + timeLeft(state.approval.expiresAt); return; }\n state.status = s.state; state.decision = s.decision || s.state;\n clearInterval(poll); poll = null;\n render();\n const approved = s.state === 'approved' || s.state === 'running' || (s.state === 'done' && s.decision === 'approved');\n tell(approved ? 'Approved, continue.' : 'The approval was ' + String(state.decision).replace('_', ' ') + '. Continue.');\n }\n\n function onResult(res) {\n const p = payloadOf(res) || {};\n state = { executionId: p.executionId, approval: p.status === 'awaiting_approval' ? p.approval : null, grant: p.sessionGrant || null, status: 'pending' };\n told = false;\n render();\n if (poll) clearInterval(poll);\n if (state.approval) poll = setInterval(check, 2000);\n }\n\n window.addEventListener('message', (ev) => {\n if (ev.source !== window.parent) return;\n const m = ev.data;\n if (!m || m.jsonrpc !== '2.0') return;\n if (m.id != null && waiting.has(m.id) && !m.method) {\n const w = waiting.get(m.id); waiting.delete(m.id);\n if (m.error) w.reject(m.error); else w.resolve(m.result);\n return;\n }\n if (m.method === 'ui/notifications/tool-result') onResult(m.params);\n if (m.method === 'ui/notifications/host-context-changed' && m.params && m.params.theme)\n document.documentElement.dataset.theme = m.params.theme;\n });\n\n request('ui/initialize', { appInfo: { name: 'synoikia-approval', version: '1' }, appCapabilities: {}, protocolVersion: '2026-01-26' })\n .then((r) => {\n const theme = r && r.hostContext && r.hostContext.theme;\n document.documentElement.dataset.theme = theme || (matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light');\n notify('ui/notifications/initialized');\n })\n .catch(() => {});\n})();\n</script>\n</body></html>";