@ryuhq/sdk 0.1.13 → 0.2.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/README.md +19 -6
- package/dist/agent-plugin.cjs +46 -0
- package/dist/agent-plugin.d.cts +42 -32
- package/dist/agent-plugin.d.ts +42 -32
- package/dist/agent-plugin.js +1 -1
- package/dist/agent.cjs +9 -0
- package/dist/agent.d.cts +377 -1
- package/dist/agent.d.ts +377 -1
- package/dist/agent.js +4 -2
- package/dist/app-Bkw7LlCK.d.ts +129 -0
- package/dist/app-DNaGmLVf.d.cts +129 -0
- package/dist/builder.cjs +1095 -0
- package/dist/builder.d.cts +212 -0
- package/dist/builder.d.ts +212 -0
- package/dist/builder.js +28 -0
- package/dist/chunk-A3RGEPDG.js +250 -0
- package/dist/chunk-FZSFZOIN.js +200 -0
- package/dist/{chunk-ODFEUVPW.js → chunk-HACAGK65.js} +1 -18
- package/dist/{chunk-AO2KJRDD.js → chunk-IEUQ3CDG.js} +125 -2
- package/dist/chunk-IKEDLLFY.js +19 -0
- package/dist/chunk-IOLP5FFE.js +354 -0
- package/dist/{chunk-G6FLVEC4.js → chunk-JX6DDRXV.js} +46 -0
- package/dist/chunk-T5676WL2.js +240 -0
- package/dist/chunk-TLDPEGC7.js +21 -0
- package/dist/chunk-TXSHHZF2.js +0 -0
- package/dist/{chunk-MTUBUPIV.js → chunk-ULSVL7EC.js} +8 -227
- package/dist/chunk-VLIRNNAE.js +154 -0
- package/dist/chunk-W3KPP4WN.js +135 -0
- package/dist/cli.cjs +258 -14
- package/dist/cli.js +96 -16
- package/dist/client-D5U6ssPc.d.cts +84 -0
- package/dist/client-D5U6ssPc.d.ts +84 -0
- package/dist/index.cjs +519 -5
- package/dist/index.d.cts +16 -632
- package/dist/index.d.ts +16 -632
- package/dist/index.js +63 -695
- package/dist/manifest.cjs +129 -3
- package/dist/manifest.d.cts +105 -2
- package/dist/manifest.d.ts +105 -2
- package/dist/manifest.js +7 -1
- package/dist/mcp/client.cjs +180 -0
- package/dist/mcp/client.d.cts +49 -0
- package/dist/mcp/client.d.ts +49 -0
- package/dist/mcp/client.js +10 -0
- package/dist/mcp/server.cjs +370 -0
- package/dist/mcp/server.d.cts +126 -0
- package/dist/mcp/server.d.ts +126 -0
- package/dist/mcp/server.js +9 -0
- package/dist/mcp.cjs +376 -0
- package/dist/mcp.d.cts +2 -0
- package/dist/mcp.d.ts +2 -0
- package/dist/mcp.js +17 -0
- package/dist/model.cjs +141 -0
- package/dist/model.d.cts +33 -0
- package/dist/model.d.ts +33 -0
- package/dist/model.js +18 -0
- package/dist/plugin.cjs +46 -0
- package/dist/plugin.d.cts +215 -0
- package/dist/plugin.d.ts +215 -0
- package/dist/plugin.js +8 -0
- package/dist/runnable.cjs +1230 -0
- package/dist/runnable.d.cts +271 -0
- package/dist/runnable.d.ts +271 -0
- package/dist/runnable.js +28 -0
- package/dist/{index-B6SkaAjJ.d.ts → tool-DSx2bFx8.d.ts} +35 -458
- package/dist/{index-BvAB5eMk.d.cts → tool-u-VR0fLF.d.cts} +35 -458
- package/package.json +38 -2
- package/src/agent/loop.test.ts +4 -4
- package/src/agent/tools.ts +3 -3
- package/src/agent-plugin.test.ts +58 -0
- package/src/agent-plugin.ts +108 -35
- package/src/cli/dev.test.ts +26 -47
- package/src/cli/dev.ts +10 -2
- package/src/cli.ts +98 -15
- package/src/exports-lockstep.test.ts +92 -0
- package/src/generated/plugin-manifest.ts +243 -27
- package/src/index.ts +35 -0
- package/src/manifest-schema.test.ts +30 -1
- package/src/manifest.fixtures.test.ts +13 -3
- package/src/manifest.test.ts +96 -10
- package/src/manifest.ts +334 -187
- package/src/mcp/index.ts +18 -0
- package/src/model/index.ts +22 -0
- package/src/plugin/ryu-plugin.ts +82 -0
- package/src/runnable/app.test.ts +2 -0
- package/src/runnable/app.ts +5 -2
- package/src/runnable/index.ts +2 -0
- package/src/runnable/primitives.ts +57 -0
- package/src/runnable/tool.ts +1 -1
- package/src/runnable/turn-hook.ts +4 -1
package/dist/manifest.cjs
CHANGED
|
@@ -22,10 +22,13 @@ var manifest_exports = {};
|
|
|
22
22
|
__export(manifest_exports, {
|
|
23
23
|
AppDependencySchema: () => AppDependencySchema,
|
|
24
24
|
CapabilityReqSchema: () => CapabilityReqSchema,
|
|
25
|
+
ChatWidgetTemplateSchema: () => ChatWidgetTemplateSchema,
|
|
25
26
|
CompanionSurfaceSchema: () => CompanionSurfaceSchema,
|
|
26
27
|
ContributesSchema: () => ContributesSchema,
|
|
27
28
|
EnginesReqSchema: () => EnginesReqSchema,
|
|
28
29
|
HookEventContributionSchema: () => HookEventContributionSchema,
|
|
30
|
+
McpServerAuthSchema: () => McpServerAuthSchema,
|
|
31
|
+
McpServerDeclSchema: () => McpServerDeclSchema,
|
|
29
32
|
OutputStyleContributionSchema: () => OutputStyleContributionSchema,
|
|
30
33
|
PiExtensionContributionSchema: () => PiExtensionContributionSchema,
|
|
31
34
|
PluginManifestSchema: () => PluginManifestSchema,
|
|
@@ -44,7 +47,7 @@ __export(manifest_exports, {
|
|
|
44
47
|
});
|
|
45
48
|
module.exports = __toCommonJS(manifest_exports);
|
|
46
49
|
|
|
47
|
-
// ../../node_modules/.bun/tsup@8.5.1+
|
|
50
|
+
// ../../node_modules/.bun/tsup@8.5.1+276f2dd5f44b8d39/node_modules/tsup/assets/cjs_shims.js
|
|
48
51
|
var getImportMetaUrl = () => typeof document === "undefined" ? new URL(`file:${__filename}`).href : document.currentScript && document.currentScript.tagName.toUpperCase() === "SCRIPT" ? document.currentScript.src : new URL("main.js", document.baseURI).href;
|
|
49
52
|
var importMetaUrl = /* @__PURE__ */ getImportMetaUrl();
|
|
50
53
|
|
|
@@ -196,8 +199,30 @@ var WidgetContributionSchema = import_zod.z.object({
|
|
|
196
199
|
/** Default display mode (`inline` | `fullscreen` | `pip`). */
|
|
197
200
|
default_display_mode: import_zod.z.string().default(DEFAULT_WIDGET_DISPLAY_MODE)
|
|
198
201
|
});
|
|
202
|
+
var ChatWidgetTemplateSchema = import_zod.z.object({
|
|
203
|
+
id: import_zod.z.string().regex(/^[a-z0-9][a-z0-9._:-]*$/),
|
|
204
|
+
title: import_zod.z.string().min(1),
|
|
205
|
+
description: import_zod.z.string().optional(),
|
|
206
|
+
triggers: import_zod.z.array(import_zod.z.string()).default([]),
|
|
207
|
+
examples: import_zod.z.array(import_zod.z.string()).default([]),
|
|
208
|
+
backing: import_zod.z.object({
|
|
209
|
+
tool_id: import_zod.z.string().regex(/^[A-Za-z0-9][A-Za-z0-9._:/-]*$/).optional(),
|
|
210
|
+
view_id: import_zod.z.string().regex(/^[a-z0-9][a-z0-9._:-]*$/).optional()
|
|
211
|
+
}),
|
|
212
|
+
display_mode: import_zod.z.string().min(1),
|
|
213
|
+
safe_action_ids: import_zod.z.array(import_zod.z.string().regex(/^[a-z0-9][a-z0-9._-]*$/)).default([]),
|
|
214
|
+
availability: import_zod.z.string().default("available")
|
|
215
|
+
}).superRefine((value, ctx) => {
|
|
216
|
+
const count = Number(Boolean(value.backing.tool_id)) + Number(Boolean(value.backing.view_id));
|
|
217
|
+
if (count !== 1 && value.availability === "available") {
|
|
218
|
+
ctx.addIssue({ code: "custom", path: ["backing"], message: "available templates need exactly one backing tool_id or view_id" });
|
|
219
|
+
}
|
|
220
|
+
if (count > 1) {
|
|
221
|
+
ctx.addIssue({ code: "custom", path: ["backing"], message: "backing must declare at most one of tool_id or view_id" });
|
|
222
|
+
}
|
|
223
|
+
});
|
|
199
224
|
var ToolAppConfigSchema = import_zod.z.object({
|
|
200
|
-
/** MCP tool slug this runnable wraps — the fully-qualified `<server
|
|
225
|
+
/** MCP tool slug this runnable wraps — the fully-qualified `<server>.<name>` id. */
|
|
201
226
|
slug: import_zod.z.string().min(1),
|
|
202
227
|
/** The tool description the model reads when choosing it. Carried here because a
|
|
203
228
|
* packed app's manifest is the only channel (there is no `generated.rs`); Core's
|
|
@@ -224,6 +249,11 @@ var ContributesSchema = import_zod.z.object({
|
|
|
224
249
|
* signing, leaving an app that emits events nothing is allowed to subscribe to. */
|
|
225
250
|
hook_events: import_zod.z.array(HookEventContributionSchema).default([]),
|
|
226
251
|
composer_controls: import_zod.z.array(import_zod.z.record(import_zod.z.string(), import_zod.z.unknown())).default([]),
|
|
252
|
+
/** Chat feature descriptors whose behavior is implemented by the host shell.
|
|
253
|
+
* Mirrors the Rust-side `Contributes.chat_features`; keeping this field in the
|
|
254
|
+
* authoring schema prevents `ryu pack` from silently deleting a plugin's chat
|
|
255
|
+
* feature declaration before signing. */
|
|
256
|
+
chat_features: import_zod.z.array(import_zod.z.record(import_zod.z.string(), import_zod.z.unknown())).default([]),
|
|
227
257
|
settings_tabs: import_zod.z.array(import_zod.z.record(import_zod.z.string(), import_zod.z.unknown())).default([]),
|
|
228
258
|
slash_commands: import_zod.z.array(import_zod.z.record(import_zod.z.string(), import_zod.z.unknown())).default([]),
|
|
229
259
|
/** App widgets (Ryu Apps). Each binds a render tool id to its
|
|
@@ -231,6 +261,8 @@ var ContributesSchema = import_zod.z.object({
|
|
|
231
261
|
* `Contributes.widgets` field, without which the CLI's zod parse would strip
|
|
232
262
|
* every widget an app authored here declares. */
|
|
233
263
|
widgets: import_zod.z.array(WidgetContributionSchema).default([]),
|
|
264
|
+
/** Metadata-only chat widget templates. */
|
|
265
|
+
chat_widget_templates: import_zod.z.array(ChatWidgetTemplateSchema).optional(),
|
|
234
266
|
/** App-registered sidebar sections (header + live list) and buttons (single nav
|
|
235
267
|
* rows). Loosely typed here — the shell owns the spec vocabulary — matching how
|
|
236
268
|
* `composer_controls`/`settings_tabs` are declared. Mirrors the Rust-side
|
|
@@ -243,6 +275,13 @@ var ContributesSchema = import_zod.z.object({
|
|
|
243
275
|
* Rust-side `Contributes.dock_panels`; without it the CLI's zod parse would
|
|
244
276
|
* strip the dock panel an app declares here. */
|
|
245
277
|
dock_panels: import_zod.z.array(import_zod.z.record(import_zod.z.string(), import_zod.z.unknown())).default([]),
|
|
278
|
+
/** App-registered live activities (the desktop "Dynamic Island" cards). Loosely
|
|
279
|
+
* typed for the same reason as the surfaces above — the shell owns the
|
|
280
|
+
* `spec` vocabulary. Mirrors the Rust-side `Contributes.live_activities`;
|
|
281
|
+
* without it the CLI's zod parse would strip every live activity an app
|
|
282
|
+
* declares here, so a packed bundle would ship a dock that silently stays
|
|
283
|
+
* empty. */
|
|
284
|
+
live_activities: import_zod.z.array(import_zod.z.record(import_zod.z.string(), import_zod.z.unknown())).default([]),
|
|
246
285
|
/** Deletable data categories the app owns — one "Delete all X" row in Settings
|
|
247
286
|
* → Danger Zone. Mirrors the Rust-side `Contributes.data_categories`; without
|
|
248
287
|
* it the CLI's zod parse would strip the declaration before signing, and the
|
|
@@ -280,7 +319,10 @@ var ContributesSchema = import_zod.z.object({
|
|
|
280
319
|
* bug: the styles' `.md` files are not carried by the bundle either, so there
|
|
281
320
|
* would be no residue to notice — the plugin would install clean and contribute
|
|
282
321
|
* nothing. */
|
|
283
|
-
output_styles: import_zod.z.array(OutputStyleContributionSchema).default([])
|
|
322
|
+
output_styles: import_zod.z.array(OutputStyleContributionSchema).default([]),
|
|
323
|
+
/** Per-message actions contributed by an enabled plugin. Kept as loose records
|
|
324
|
+
* so renderer-specific `kind`/`args` payloads survive `ryu pack` unchanged. */
|
|
325
|
+
message_actions: import_zod.z.array(import_zod.z.record(import_zod.z.string(), import_zod.z.unknown())).default([])
|
|
284
326
|
});
|
|
285
327
|
var SetupStepSchema = import_zod.z.object({
|
|
286
328
|
/** Card heading (e.g. the companion app name). */
|
|
@@ -361,6 +403,61 @@ var EnginesReqSchema = import_zod.z.object({
|
|
|
361
403
|
/** Floor for the Next.js web app. */
|
|
362
404
|
web: import_zod.z.string().optional()
|
|
363
405
|
});
|
|
406
|
+
var McpServerAuthSchema = import_zod.z.object({
|
|
407
|
+
client_id: import_zod.z.string().min(1).optional(),
|
|
408
|
+
type: import_zod.z.literal("oauth")
|
|
409
|
+
}).strict();
|
|
410
|
+
var McpServerDeclSchema = import_zod.z.object({
|
|
411
|
+
args: import_zod.z.array(import_zod.z.string()).default([]),
|
|
412
|
+
auth: McpServerAuthSchema.optional(),
|
|
413
|
+
command: import_zod.z.string().optional(),
|
|
414
|
+
command_env: import_zod.z.string().optional(),
|
|
415
|
+
description: import_zod.z.string().optional(),
|
|
416
|
+
enabled: import_zod.z.boolean().default(true),
|
|
417
|
+
env: import_zod.z.record(import_zod.z.string(), import_zod.z.string()).default({}),
|
|
418
|
+
headers: import_zod.z.record(import_zod.z.string(), import_zod.z.string()).default({}),
|
|
419
|
+
type: import_zod.z.enum(["stdio", "http", "streamable-http", "streamable_http", "sse"]).optional(),
|
|
420
|
+
url: import_zod.z.url().optional()
|
|
421
|
+
}).superRefine((server, context) => {
|
|
422
|
+
if (!(server.command || server.url)) {
|
|
423
|
+
context.addIssue({
|
|
424
|
+
code: "custom",
|
|
425
|
+
message: "an MCP server requires command or url"
|
|
426
|
+
});
|
|
427
|
+
}
|
|
428
|
+
if (!server.auth) {
|
|
429
|
+
return;
|
|
430
|
+
}
|
|
431
|
+
if (server.command || server.type === "stdio" || !server.url) {
|
|
432
|
+
context.addIssue({
|
|
433
|
+
code: "custom",
|
|
434
|
+
message: "OAuth is supported only for remote HTTP MCP servers"
|
|
435
|
+
});
|
|
436
|
+
return;
|
|
437
|
+
}
|
|
438
|
+
if (Object.keys(server.headers).some(
|
|
439
|
+
(name) => name.toLowerCase() === "authorization"
|
|
440
|
+
)) {
|
|
441
|
+
context.addIssue({
|
|
442
|
+
code: "custom",
|
|
443
|
+
message: "OAuth cannot be combined with a static Authorization header"
|
|
444
|
+
});
|
|
445
|
+
}
|
|
446
|
+
const url = new URL(server.url);
|
|
447
|
+
const loopback = url.hostname === "localhost" || url.hostname.startsWith("127.") || url.hostname === "[::1]" || url.hostname === "::1";
|
|
448
|
+
if (url.username || url.password || url.hash) {
|
|
449
|
+
context.addIssue({
|
|
450
|
+
code: "custom",
|
|
451
|
+
message: "OAuth MCP URLs cannot contain credentials or fragments"
|
|
452
|
+
});
|
|
453
|
+
}
|
|
454
|
+
if (url.protocol !== "https:" && !(url.protocol === "http:" && loopback)) {
|
|
455
|
+
context.addIssue({
|
|
456
|
+
code: "custom",
|
|
457
|
+
message: "OAuth MCP URLs must use HTTPS except on loopback"
|
|
458
|
+
});
|
|
459
|
+
}
|
|
460
|
+
});
|
|
364
461
|
var PluginManifestSchema = import_zod.z.object({
|
|
365
462
|
/** Reverse-domain unique identifier (e.g. `"com.example.my-plugin"`). */
|
|
366
463
|
id: import_zod.z.string().min(1, "id is required"),
|
|
@@ -392,6 +489,8 @@ var PluginManifestSchema = import_zod.z.object({
|
|
|
392
489
|
* Declarations only — grant enforcement is the Gateway's responsibility.
|
|
393
490
|
*/
|
|
394
491
|
permission_grants: import_zod.z.array(import_zod.z.string()).default([]),
|
|
492
|
+
/** Remote or stdio MCP servers registered by this plugin. */
|
|
493
|
+
mcp_servers: import_zod.z.record(import_zod.z.string(), McpServerDeclSchema).optional(),
|
|
395
494
|
/**
|
|
396
495
|
* Optional Companion surface (an in-desktop overlay or sidebar panel).
|
|
397
496
|
* Absent when the plugin has no Companion surface.
|
|
@@ -485,10 +584,16 @@ var PluginManifestSchema = import_zod.z.object({
|
|
|
485
584
|
url: import_zod.z.string().optional()
|
|
486
585
|
})
|
|
487
586
|
]).optional(),
|
|
587
|
+
/** Public source repository URL (Claude/Codex `repository`). */
|
|
588
|
+
repository: import_zod.z.string().url().optional(),
|
|
589
|
+
/** True when the provider operates outside the local Ryu runtime. */
|
|
590
|
+
external: import_zod.z.boolean().optional(),
|
|
488
591
|
/** Project/marketing homepage — maps to the listing `website` (Claude field). */
|
|
489
592
|
homepage: import_zod.z.string().optional(),
|
|
490
593
|
/** Free-text search keywords (Claude field). */
|
|
491
594
|
keywords: import_zod.z.array(import_zod.z.string()).optional(),
|
|
595
|
+
/** Stable Marketplace filter labels (Ryu extension). */
|
|
596
|
+
tags: import_zod.z.array(import_zod.z.string()).optional(),
|
|
492
597
|
/** Taxonomy category beyond the runnable kinds (Claude field). */
|
|
493
598
|
category: import_zod.z.string().optional(),
|
|
494
599
|
/** SPDX-ish license identifier (Claude field). */
|
|
@@ -502,6 +607,8 @@ var PluginManifestSchema = import_zod.z.object({
|
|
|
502
607
|
* from `iconUrl` (a raster logo). Falls back to `iconUrl` when omitted.
|
|
503
608
|
*/
|
|
504
609
|
icon: import_zod.z.string().optional(),
|
|
610
|
+
/** Optional detail-page hero banner metadata forwarded to the marketplace. */
|
|
611
|
+
banner: import_zod.z.record(import_zod.z.string(), import_zod.z.unknown()).optional(),
|
|
505
612
|
/**
|
|
506
613
|
* Dithered-gradient background for the card's icon square (Ryu extension),
|
|
507
614
|
* mirroring dither-kit's `DitherGradient` props. `from`/`to` are a palette-colour
|
|
@@ -533,6 +640,22 @@ var PluginManifestSchema = import_zod.z.object({
|
|
|
533
640
|
* array of steps guiding the user through post-install configuration.
|
|
534
641
|
*/
|
|
535
642
|
setup: import_zod.z.union([SetupStepSchema, import_zod.z.array(SetupStepSchema)]).optional()
|
|
643
|
+
}).superRefine((manifest, context) => {
|
|
644
|
+
const hasOAuthServer = Object.values(manifest.mcp_servers ?? {}).some(
|
|
645
|
+
(server) => server.auth?.type === "oauth"
|
|
646
|
+
);
|
|
647
|
+
if (!hasOAuthServer) {
|
|
648
|
+
return;
|
|
649
|
+
}
|
|
650
|
+
for (const grant of ["mcp:server", "identity.read"]) {
|
|
651
|
+
if (!manifest.permission_grants.includes(grant)) {
|
|
652
|
+
context.addIssue({
|
|
653
|
+
code: "custom",
|
|
654
|
+
message: `OAuth MCP servers require the ${grant} permission grant`,
|
|
655
|
+
path: ["permission_grants"]
|
|
656
|
+
});
|
|
657
|
+
}
|
|
658
|
+
}
|
|
536
659
|
});
|
|
537
660
|
function validatePluginId(id) {
|
|
538
661
|
loadNative().validatePluginId(id);
|
|
@@ -547,10 +670,13 @@ function coreManifestJsonSchema() {
|
|
|
547
670
|
0 && (module.exports = {
|
|
548
671
|
AppDependencySchema,
|
|
549
672
|
CapabilityReqSchema,
|
|
673
|
+
ChatWidgetTemplateSchema,
|
|
550
674
|
CompanionSurfaceSchema,
|
|
551
675
|
ContributesSchema,
|
|
552
676
|
EnginesReqSchema,
|
|
553
677
|
HookEventContributionSchema,
|
|
678
|
+
McpServerAuthSchema,
|
|
679
|
+
McpServerDeclSchema,
|
|
554
680
|
OutputStyleContributionSchema,
|
|
555
681
|
PiExtensionContributionSchema,
|
|
556
682
|
PluginManifestSchema,
|
package/dist/manifest.d.cts
CHANGED
|
@@ -182,6 +182,23 @@ declare const WidgetContributionSchema: z.ZodObject<{
|
|
|
182
182
|
default_display_mode: z.ZodDefault<z.ZodString>;
|
|
183
183
|
}, z.core.$strip>;
|
|
184
184
|
type WidgetContribution = z.infer<typeof WidgetContributionSchema>;
|
|
185
|
+
/** Metadata-only chat affordance. The host owns rendering and dispatch; the
|
|
186
|
+
* manifest carries identifiers and copy only. */
|
|
187
|
+
declare const ChatWidgetTemplateSchema: z.ZodObject<{
|
|
188
|
+
id: z.ZodString;
|
|
189
|
+
title: z.ZodString;
|
|
190
|
+
description: z.ZodOptional<z.ZodString>;
|
|
191
|
+
triggers: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
192
|
+
examples: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
193
|
+
backing: z.ZodObject<{
|
|
194
|
+
tool_id: z.ZodOptional<z.ZodString>;
|
|
195
|
+
view_id: z.ZodOptional<z.ZodString>;
|
|
196
|
+
}, z.core.$strip>;
|
|
197
|
+
display_mode: z.ZodString;
|
|
198
|
+
safe_action_ids: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
199
|
+
availability: z.ZodDefault<z.ZodString>;
|
|
200
|
+
}, z.core.$strip>;
|
|
201
|
+
type ChatWidgetTemplate = z.infer<typeof ChatWidgetTemplateSchema>;
|
|
185
202
|
/**
|
|
186
203
|
* The `config` blob carried by a Ryu App's `kind:"tool"` runnable. Core's strict
|
|
187
204
|
* `ToolConfig` (`apps/core/src/plugin_manifest/schema.rs`) requires `slug` and
|
|
@@ -203,7 +220,7 @@ type ToolAppConfig = z.infer<typeof ToolAppConfigSchema>;
|
|
|
203
220
|
/**
|
|
204
221
|
* The `contributes` block. Mirrors `Contributes` in
|
|
205
222
|
* `apps/core/src/plugin_manifest/mod.rs`. The declarative UI surfaces
|
|
206
|
-
* (`composer_controls` / `settings_tabs` / `slash_commands`) are passed verbatim
|
|
223
|
+
* (`composer_controls` / `chat_features` / `settings_tabs` / `slash_commands`) are passed verbatim
|
|
207
224
|
* to the desktop renderer, so they are typed loosely here (records).
|
|
208
225
|
*/
|
|
209
226
|
declare const ContributesSchema: z.ZodObject<{
|
|
@@ -226,6 +243,7 @@ declare const ContributesSchema: z.ZodObject<{
|
|
|
226
243
|
payload_example: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
227
244
|
}, z.core.$strip>>>;
|
|
228
245
|
composer_controls: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
246
|
+
chat_features: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
229
247
|
settings_tabs: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
230
248
|
slash_commands: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
231
249
|
widgets: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
@@ -235,9 +253,24 @@ declare const ContributesSchema: z.ZodObject<{
|
|
|
235
253
|
mime: z.ZodDefault<z.ZodString>;
|
|
236
254
|
default_display_mode: z.ZodDefault<z.ZodString>;
|
|
237
255
|
}, z.core.$strip>>>;
|
|
256
|
+
chat_widget_templates: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
257
|
+
id: z.ZodString;
|
|
258
|
+
title: z.ZodString;
|
|
259
|
+
description: z.ZodOptional<z.ZodString>;
|
|
260
|
+
triggers: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
261
|
+
examples: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
262
|
+
backing: z.ZodObject<{
|
|
263
|
+
tool_id: z.ZodOptional<z.ZodString>;
|
|
264
|
+
view_id: z.ZodOptional<z.ZodString>;
|
|
265
|
+
}, z.core.$strip>;
|
|
266
|
+
display_mode: z.ZodString;
|
|
267
|
+
safe_action_ids: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
268
|
+
availability: z.ZodDefault<z.ZodString>;
|
|
269
|
+
}, z.core.$strip>>>;
|
|
238
270
|
sidebar_sections: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
239
271
|
sidebar_buttons: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
240
272
|
dock_panels: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
273
|
+
live_activities: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
241
274
|
data_categories: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
242
275
|
lsp_servers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
243
276
|
pi_extensions: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
@@ -250,6 +283,7 @@ declare const ContributesSchema: z.ZodObject<{
|
|
|
250
283
|
file: z.ZodOptional<z.ZodString>;
|
|
251
284
|
source: z.ZodOptional<z.ZodString>;
|
|
252
285
|
}, z.core.$strip>>>;
|
|
286
|
+
message_actions: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
253
287
|
}, z.core.$strip>;
|
|
254
288
|
type Contributes = z.infer<typeof ContributesSchema>;
|
|
255
289
|
/**
|
|
@@ -359,6 +393,33 @@ declare const EnginesReqSchema: z.ZodObject<{
|
|
|
359
393
|
web: z.ZodOptional<z.ZodString>;
|
|
360
394
|
}, z.core.$strip>;
|
|
361
395
|
type EnginesReq = z.infer<typeof EnginesReqSchema>;
|
|
396
|
+
declare const McpServerAuthSchema: z.ZodObject<{
|
|
397
|
+
client_id: z.ZodOptional<z.ZodString>;
|
|
398
|
+
type: z.ZodLiteral<"oauth">;
|
|
399
|
+
}, z.core.$strict>;
|
|
400
|
+
declare const McpServerDeclSchema: z.ZodObject<{
|
|
401
|
+
args: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
402
|
+
auth: z.ZodOptional<z.ZodObject<{
|
|
403
|
+
client_id: z.ZodOptional<z.ZodString>;
|
|
404
|
+
type: z.ZodLiteral<"oauth">;
|
|
405
|
+
}, z.core.$strict>>;
|
|
406
|
+
command: z.ZodOptional<z.ZodString>;
|
|
407
|
+
command_env: z.ZodOptional<z.ZodString>;
|
|
408
|
+
description: z.ZodOptional<z.ZodString>;
|
|
409
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
410
|
+
env: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
411
|
+
headers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
412
|
+
type: z.ZodOptional<z.ZodEnum<{
|
|
413
|
+
stdio: "stdio";
|
|
414
|
+
http: "http";
|
|
415
|
+
"streamable-http": "streamable-http";
|
|
416
|
+
streamable_http: "streamable_http";
|
|
417
|
+
sse: "sse";
|
|
418
|
+
}>>;
|
|
419
|
+
url: z.ZodOptional<z.ZodURL>;
|
|
420
|
+
}, z.core.$strip>;
|
|
421
|
+
type McpServerAuth = z.infer<typeof McpServerAuthSchema>;
|
|
422
|
+
type McpServerDecl = z.infer<typeof McpServerDeclSchema>;
|
|
362
423
|
/**
|
|
363
424
|
* Full schema for a `manifest.json` Plugin manifest. Mirrors `PluginManifest` in
|
|
364
425
|
* `apps/core/src/plugin_manifest/mod.rs`.
|
|
@@ -387,6 +448,27 @@ declare const PluginManifestSchema: z.ZodObject<{
|
|
|
387
448
|
config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
388
449
|
}, z.core.$strip>>>;
|
|
389
450
|
permission_grants: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
451
|
+
mcp_servers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
452
|
+
args: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
453
|
+
auth: z.ZodOptional<z.ZodObject<{
|
|
454
|
+
client_id: z.ZodOptional<z.ZodString>;
|
|
455
|
+
type: z.ZodLiteral<"oauth">;
|
|
456
|
+
}, z.core.$strict>>;
|
|
457
|
+
command: z.ZodOptional<z.ZodString>;
|
|
458
|
+
command_env: z.ZodOptional<z.ZodString>;
|
|
459
|
+
description: z.ZodOptional<z.ZodString>;
|
|
460
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
461
|
+
env: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
462
|
+
headers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
463
|
+
type: z.ZodOptional<z.ZodEnum<{
|
|
464
|
+
stdio: "stdio";
|
|
465
|
+
http: "http";
|
|
466
|
+
"streamable-http": "streamable-http";
|
|
467
|
+
streamable_http: "streamable_http";
|
|
468
|
+
sse: "sse";
|
|
469
|
+
}>>;
|
|
470
|
+
url: z.ZodOptional<z.ZodURL>;
|
|
471
|
+
}, z.core.$strip>>>;
|
|
390
472
|
companion: z.ZodOptional<z.ZodObject<{
|
|
391
473
|
label: z.ZodString;
|
|
392
474
|
icon: z.ZodOptional<z.ZodString>;
|
|
@@ -413,6 +495,7 @@ declare const PluginManifestSchema: z.ZodObject<{
|
|
|
413
495
|
payload_example: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
414
496
|
}, z.core.$strip>>>;
|
|
415
497
|
composer_controls: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
498
|
+
chat_features: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
416
499
|
settings_tabs: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
417
500
|
slash_commands: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
418
501
|
widgets: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
@@ -422,9 +505,24 @@ declare const PluginManifestSchema: z.ZodObject<{
|
|
|
422
505
|
mime: z.ZodDefault<z.ZodString>;
|
|
423
506
|
default_display_mode: z.ZodDefault<z.ZodString>;
|
|
424
507
|
}, z.core.$strip>>>;
|
|
508
|
+
chat_widget_templates: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
509
|
+
id: z.ZodString;
|
|
510
|
+
title: z.ZodString;
|
|
511
|
+
description: z.ZodOptional<z.ZodString>;
|
|
512
|
+
triggers: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
513
|
+
examples: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
514
|
+
backing: z.ZodObject<{
|
|
515
|
+
tool_id: z.ZodOptional<z.ZodString>;
|
|
516
|
+
view_id: z.ZodOptional<z.ZodString>;
|
|
517
|
+
}, z.core.$strip>;
|
|
518
|
+
display_mode: z.ZodString;
|
|
519
|
+
safe_action_ids: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
520
|
+
availability: z.ZodDefault<z.ZodString>;
|
|
521
|
+
}, z.core.$strip>>>;
|
|
425
522
|
sidebar_sections: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
426
523
|
sidebar_buttons: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
427
524
|
dock_panels: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
525
|
+
live_activities: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
428
526
|
data_categories: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
429
527
|
lsp_servers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
430
528
|
pi_extensions: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
@@ -437,6 +535,7 @@ declare const PluginManifestSchema: z.ZodObject<{
|
|
|
437
535
|
file: z.ZodOptional<z.ZodString>;
|
|
438
536
|
source: z.ZodOptional<z.ZodString>;
|
|
439
537
|
}, z.core.$strip>>>;
|
|
538
|
+
message_actions: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
440
539
|
}, z.core.$strip>>;
|
|
441
540
|
requires: z.ZodOptional<z.ZodObject<{
|
|
442
541
|
apps: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
@@ -492,12 +591,16 @@ declare const PluginManifestSchema: z.ZodObject<{
|
|
|
492
591
|
email: z.ZodOptional<z.ZodString>;
|
|
493
592
|
url: z.ZodOptional<z.ZodString>;
|
|
494
593
|
}, z.core.$strip>]>>;
|
|
594
|
+
repository: z.ZodOptional<z.ZodString>;
|
|
595
|
+
external: z.ZodOptional<z.ZodBoolean>;
|
|
495
596
|
homepage: z.ZodOptional<z.ZodString>;
|
|
496
597
|
keywords: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
598
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
497
599
|
category: z.ZodOptional<z.ZodString>;
|
|
498
600
|
license: z.ZodOptional<z.ZodString>;
|
|
499
601
|
iconUrl: z.ZodOptional<z.ZodString>;
|
|
500
602
|
icon: z.ZodOptional<z.ZodString>;
|
|
603
|
+
banner: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
501
604
|
iconDither: z.ZodOptional<z.ZodObject<{
|
|
502
605
|
from: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
|
|
503
606
|
to: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
@@ -543,4 +646,4 @@ declare function validateManifestStrict(manifestJson: string): string;
|
|
|
543
646
|
*/
|
|
544
647
|
declare function coreManifestJsonSchema(): unknown;
|
|
545
648
|
|
|
546
|
-
export { type AppDependency, AppDependencySchema, type CapabilityReq, CapabilityReqSchema, type CompanionSurface, CompanionSurfaceSchema, type Contributes, ContributesSchema, type EnginesReq, EnginesReqSchema, type HookEventContribution, HookEventContributionSchema, type OutputStyleContribution, OutputStyleContributionSchema, type PiExtensionContribution, PiExtensionContributionSchema, type PluginManifest, PluginManifestSchema, type Requires, RequiresSchema, type RunnableKind, RunnableKindSchema, type RunnableMeta, RunnableMetaSchema, type SetupStep, SetupStepSchema, type Surface, SurfaceSchema, type ToolAppConfig, ToolAppConfigSchema, type TurnHookContribution, TurnHookContributionSchema, type WidgetContribution, WidgetContributionSchema, coreManifestJsonSchema, labelImpersonatesSystemChrome, validateManifestStrict, validatePluginId };
|
|
649
|
+
export { type AppDependency, AppDependencySchema, type CapabilityReq, CapabilityReqSchema, type ChatWidgetTemplate, ChatWidgetTemplateSchema, type CompanionSurface, CompanionSurfaceSchema, type Contributes, ContributesSchema, type EnginesReq, EnginesReqSchema, type HookEventContribution, HookEventContributionSchema, type McpServerAuth, McpServerAuthSchema, type McpServerDecl, McpServerDeclSchema, type OutputStyleContribution, OutputStyleContributionSchema, type PiExtensionContribution, PiExtensionContributionSchema, type PluginManifest, PluginManifestSchema, type Requires, RequiresSchema, type RunnableKind, RunnableKindSchema, type RunnableMeta, RunnableMetaSchema, type SetupStep, SetupStepSchema, type Surface, SurfaceSchema, type ToolAppConfig, ToolAppConfigSchema, type TurnHookContribution, TurnHookContributionSchema, type WidgetContribution, WidgetContributionSchema, coreManifestJsonSchema, labelImpersonatesSystemChrome, validateManifestStrict, validatePluginId };
|
package/dist/manifest.d.ts
CHANGED
|
@@ -182,6 +182,23 @@ declare const WidgetContributionSchema: z.ZodObject<{
|
|
|
182
182
|
default_display_mode: z.ZodDefault<z.ZodString>;
|
|
183
183
|
}, z.core.$strip>;
|
|
184
184
|
type WidgetContribution = z.infer<typeof WidgetContributionSchema>;
|
|
185
|
+
/** Metadata-only chat affordance. The host owns rendering and dispatch; the
|
|
186
|
+
* manifest carries identifiers and copy only. */
|
|
187
|
+
declare const ChatWidgetTemplateSchema: z.ZodObject<{
|
|
188
|
+
id: z.ZodString;
|
|
189
|
+
title: z.ZodString;
|
|
190
|
+
description: z.ZodOptional<z.ZodString>;
|
|
191
|
+
triggers: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
192
|
+
examples: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
193
|
+
backing: z.ZodObject<{
|
|
194
|
+
tool_id: z.ZodOptional<z.ZodString>;
|
|
195
|
+
view_id: z.ZodOptional<z.ZodString>;
|
|
196
|
+
}, z.core.$strip>;
|
|
197
|
+
display_mode: z.ZodString;
|
|
198
|
+
safe_action_ids: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
199
|
+
availability: z.ZodDefault<z.ZodString>;
|
|
200
|
+
}, z.core.$strip>;
|
|
201
|
+
type ChatWidgetTemplate = z.infer<typeof ChatWidgetTemplateSchema>;
|
|
185
202
|
/**
|
|
186
203
|
* The `config` blob carried by a Ryu App's `kind:"tool"` runnable. Core's strict
|
|
187
204
|
* `ToolConfig` (`apps/core/src/plugin_manifest/schema.rs`) requires `slug` and
|
|
@@ -203,7 +220,7 @@ type ToolAppConfig = z.infer<typeof ToolAppConfigSchema>;
|
|
|
203
220
|
/**
|
|
204
221
|
* The `contributes` block. Mirrors `Contributes` in
|
|
205
222
|
* `apps/core/src/plugin_manifest/mod.rs`. The declarative UI surfaces
|
|
206
|
-
* (`composer_controls` / `settings_tabs` / `slash_commands`) are passed verbatim
|
|
223
|
+
* (`composer_controls` / `chat_features` / `settings_tabs` / `slash_commands`) are passed verbatim
|
|
207
224
|
* to the desktop renderer, so they are typed loosely here (records).
|
|
208
225
|
*/
|
|
209
226
|
declare const ContributesSchema: z.ZodObject<{
|
|
@@ -226,6 +243,7 @@ declare const ContributesSchema: z.ZodObject<{
|
|
|
226
243
|
payload_example: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
227
244
|
}, z.core.$strip>>>;
|
|
228
245
|
composer_controls: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
246
|
+
chat_features: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
229
247
|
settings_tabs: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
230
248
|
slash_commands: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
231
249
|
widgets: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
@@ -235,9 +253,24 @@ declare const ContributesSchema: z.ZodObject<{
|
|
|
235
253
|
mime: z.ZodDefault<z.ZodString>;
|
|
236
254
|
default_display_mode: z.ZodDefault<z.ZodString>;
|
|
237
255
|
}, z.core.$strip>>>;
|
|
256
|
+
chat_widget_templates: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
257
|
+
id: z.ZodString;
|
|
258
|
+
title: z.ZodString;
|
|
259
|
+
description: z.ZodOptional<z.ZodString>;
|
|
260
|
+
triggers: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
261
|
+
examples: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
262
|
+
backing: z.ZodObject<{
|
|
263
|
+
tool_id: z.ZodOptional<z.ZodString>;
|
|
264
|
+
view_id: z.ZodOptional<z.ZodString>;
|
|
265
|
+
}, z.core.$strip>;
|
|
266
|
+
display_mode: z.ZodString;
|
|
267
|
+
safe_action_ids: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
268
|
+
availability: z.ZodDefault<z.ZodString>;
|
|
269
|
+
}, z.core.$strip>>>;
|
|
238
270
|
sidebar_sections: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
239
271
|
sidebar_buttons: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
240
272
|
dock_panels: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
273
|
+
live_activities: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
241
274
|
data_categories: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
242
275
|
lsp_servers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
243
276
|
pi_extensions: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
@@ -250,6 +283,7 @@ declare const ContributesSchema: z.ZodObject<{
|
|
|
250
283
|
file: z.ZodOptional<z.ZodString>;
|
|
251
284
|
source: z.ZodOptional<z.ZodString>;
|
|
252
285
|
}, z.core.$strip>>>;
|
|
286
|
+
message_actions: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
253
287
|
}, z.core.$strip>;
|
|
254
288
|
type Contributes = z.infer<typeof ContributesSchema>;
|
|
255
289
|
/**
|
|
@@ -359,6 +393,33 @@ declare const EnginesReqSchema: z.ZodObject<{
|
|
|
359
393
|
web: z.ZodOptional<z.ZodString>;
|
|
360
394
|
}, z.core.$strip>;
|
|
361
395
|
type EnginesReq = z.infer<typeof EnginesReqSchema>;
|
|
396
|
+
declare const McpServerAuthSchema: z.ZodObject<{
|
|
397
|
+
client_id: z.ZodOptional<z.ZodString>;
|
|
398
|
+
type: z.ZodLiteral<"oauth">;
|
|
399
|
+
}, z.core.$strict>;
|
|
400
|
+
declare const McpServerDeclSchema: z.ZodObject<{
|
|
401
|
+
args: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
402
|
+
auth: z.ZodOptional<z.ZodObject<{
|
|
403
|
+
client_id: z.ZodOptional<z.ZodString>;
|
|
404
|
+
type: z.ZodLiteral<"oauth">;
|
|
405
|
+
}, z.core.$strict>>;
|
|
406
|
+
command: z.ZodOptional<z.ZodString>;
|
|
407
|
+
command_env: z.ZodOptional<z.ZodString>;
|
|
408
|
+
description: z.ZodOptional<z.ZodString>;
|
|
409
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
410
|
+
env: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
411
|
+
headers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
412
|
+
type: z.ZodOptional<z.ZodEnum<{
|
|
413
|
+
stdio: "stdio";
|
|
414
|
+
http: "http";
|
|
415
|
+
"streamable-http": "streamable-http";
|
|
416
|
+
streamable_http: "streamable_http";
|
|
417
|
+
sse: "sse";
|
|
418
|
+
}>>;
|
|
419
|
+
url: z.ZodOptional<z.ZodURL>;
|
|
420
|
+
}, z.core.$strip>;
|
|
421
|
+
type McpServerAuth = z.infer<typeof McpServerAuthSchema>;
|
|
422
|
+
type McpServerDecl = z.infer<typeof McpServerDeclSchema>;
|
|
362
423
|
/**
|
|
363
424
|
* Full schema for a `manifest.json` Plugin manifest. Mirrors `PluginManifest` in
|
|
364
425
|
* `apps/core/src/plugin_manifest/mod.rs`.
|
|
@@ -387,6 +448,27 @@ declare const PluginManifestSchema: z.ZodObject<{
|
|
|
387
448
|
config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
388
449
|
}, z.core.$strip>>>;
|
|
389
450
|
permission_grants: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
451
|
+
mcp_servers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
452
|
+
args: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
453
|
+
auth: z.ZodOptional<z.ZodObject<{
|
|
454
|
+
client_id: z.ZodOptional<z.ZodString>;
|
|
455
|
+
type: z.ZodLiteral<"oauth">;
|
|
456
|
+
}, z.core.$strict>>;
|
|
457
|
+
command: z.ZodOptional<z.ZodString>;
|
|
458
|
+
command_env: z.ZodOptional<z.ZodString>;
|
|
459
|
+
description: z.ZodOptional<z.ZodString>;
|
|
460
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
461
|
+
env: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
462
|
+
headers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
463
|
+
type: z.ZodOptional<z.ZodEnum<{
|
|
464
|
+
stdio: "stdio";
|
|
465
|
+
http: "http";
|
|
466
|
+
"streamable-http": "streamable-http";
|
|
467
|
+
streamable_http: "streamable_http";
|
|
468
|
+
sse: "sse";
|
|
469
|
+
}>>;
|
|
470
|
+
url: z.ZodOptional<z.ZodURL>;
|
|
471
|
+
}, z.core.$strip>>>;
|
|
390
472
|
companion: z.ZodOptional<z.ZodObject<{
|
|
391
473
|
label: z.ZodString;
|
|
392
474
|
icon: z.ZodOptional<z.ZodString>;
|
|
@@ -413,6 +495,7 @@ declare const PluginManifestSchema: z.ZodObject<{
|
|
|
413
495
|
payload_example: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
414
496
|
}, z.core.$strip>>>;
|
|
415
497
|
composer_controls: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
498
|
+
chat_features: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
416
499
|
settings_tabs: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
417
500
|
slash_commands: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
418
501
|
widgets: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
@@ -422,9 +505,24 @@ declare const PluginManifestSchema: z.ZodObject<{
|
|
|
422
505
|
mime: z.ZodDefault<z.ZodString>;
|
|
423
506
|
default_display_mode: z.ZodDefault<z.ZodString>;
|
|
424
507
|
}, z.core.$strip>>>;
|
|
508
|
+
chat_widget_templates: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
509
|
+
id: z.ZodString;
|
|
510
|
+
title: z.ZodString;
|
|
511
|
+
description: z.ZodOptional<z.ZodString>;
|
|
512
|
+
triggers: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
513
|
+
examples: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
514
|
+
backing: z.ZodObject<{
|
|
515
|
+
tool_id: z.ZodOptional<z.ZodString>;
|
|
516
|
+
view_id: z.ZodOptional<z.ZodString>;
|
|
517
|
+
}, z.core.$strip>;
|
|
518
|
+
display_mode: z.ZodString;
|
|
519
|
+
safe_action_ids: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
520
|
+
availability: z.ZodDefault<z.ZodString>;
|
|
521
|
+
}, z.core.$strip>>>;
|
|
425
522
|
sidebar_sections: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
426
523
|
sidebar_buttons: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
427
524
|
dock_panels: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
525
|
+
live_activities: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
428
526
|
data_categories: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
429
527
|
lsp_servers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
430
528
|
pi_extensions: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
@@ -437,6 +535,7 @@ declare const PluginManifestSchema: z.ZodObject<{
|
|
|
437
535
|
file: z.ZodOptional<z.ZodString>;
|
|
438
536
|
source: z.ZodOptional<z.ZodString>;
|
|
439
537
|
}, z.core.$strip>>>;
|
|
538
|
+
message_actions: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
440
539
|
}, z.core.$strip>>;
|
|
441
540
|
requires: z.ZodOptional<z.ZodObject<{
|
|
442
541
|
apps: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
@@ -492,12 +591,16 @@ declare const PluginManifestSchema: z.ZodObject<{
|
|
|
492
591
|
email: z.ZodOptional<z.ZodString>;
|
|
493
592
|
url: z.ZodOptional<z.ZodString>;
|
|
494
593
|
}, z.core.$strip>]>>;
|
|
594
|
+
repository: z.ZodOptional<z.ZodString>;
|
|
595
|
+
external: z.ZodOptional<z.ZodBoolean>;
|
|
495
596
|
homepage: z.ZodOptional<z.ZodString>;
|
|
496
597
|
keywords: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
598
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
497
599
|
category: z.ZodOptional<z.ZodString>;
|
|
498
600
|
license: z.ZodOptional<z.ZodString>;
|
|
499
601
|
iconUrl: z.ZodOptional<z.ZodString>;
|
|
500
602
|
icon: z.ZodOptional<z.ZodString>;
|
|
603
|
+
banner: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
501
604
|
iconDither: z.ZodOptional<z.ZodObject<{
|
|
502
605
|
from: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
|
|
503
606
|
to: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
@@ -543,4 +646,4 @@ declare function validateManifestStrict(manifestJson: string): string;
|
|
|
543
646
|
*/
|
|
544
647
|
declare function coreManifestJsonSchema(): unknown;
|
|
545
648
|
|
|
546
|
-
export { type AppDependency, AppDependencySchema, type CapabilityReq, CapabilityReqSchema, type CompanionSurface, CompanionSurfaceSchema, type Contributes, ContributesSchema, type EnginesReq, EnginesReqSchema, type HookEventContribution, HookEventContributionSchema, type OutputStyleContribution, OutputStyleContributionSchema, type PiExtensionContribution, PiExtensionContributionSchema, type PluginManifest, PluginManifestSchema, type Requires, RequiresSchema, type RunnableKind, RunnableKindSchema, type RunnableMeta, RunnableMetaSchema, type SetupStep, SetupStepSchema, type Surface, SurfaceSchema, type ToolAppConfig, ToolAppConfigSchema, type TurnHookContribution, TurnHookContributionSchema, type WidgetContribution, WidgetContributionSchema, coreManifestJsonSchema, labelImpersonatesSystemChrome, validateManifestStrict, validatePluginId };
|
|
649
|
+
export { type AppDependency, AppDependencySchema, type CapabilityReq, CapabilityReqSchema, type ChatWidgetTemplate, ChatWidgetTemplateSchema, type CompanionSurface, CompanionSurfaceSchema, type Contributes, ContributesSchema, type EnginesReq, EnginesReqSchema, type HookEventContribution, HookEventContributionSchema, type McpServerAuth, McpServerAuthSchema, type McpServerDecl, McpServerDeclSchema, type OutputStyleContribution, OutputStyleContributionSchema, type PiExtensionContribution, PiExtensionContributionSchema, type PluginManifest, PluginManifestSchema, type Requires, RequiresSchema, type RunnableKind, RunnableKindSchema, type RunnableMeta, RunnableMetaSchema, type SetupStep, SetupStepSchema, type Surface, SurfaceSchema, type ToolAppConfig, ToolAppConfigSchema, type TurnHookContribution, TurnHookContributionSchema, type WidgetContribution, WidgetContributionSchema, coreManifestJsonSchema, labelImpersonatesSystemChrome, validateManifestStrict, validatePluginId };
|
package/dist/manifest.js
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
AppDependencySchema,
|
|
3
3
|
CapabilityReqSchema,
|
|
4
|
+
ChatWidgetTemplateSchema,
|
|
4
5
|
CompanionSurfaceSchema,
|
|
5
6
|
ContributesSchema,
|
|
6
7
|
EnginesReqSchema,
|
|
7
8
|
HookEventContributionSchema,
|
|
9
|
+
McpServerAuthSchema,
|
|
10
|
+
McpServerDeclSchema,
|
|
8
11
|
OutputStyleContributionSchema,
|
|
9
12
|
PiExtensionContributionSchema,
|
|
10
13
|
PluginManifestSchema,
|
|
@@ -20,14 +23,17 @@ import {
|
|
|
20
23
|
labelImpersonatesSystemChrome,
|
|
21
24
|
validateManifestStrict,
|
|
22
25
|
validatePluginId
|
|
23
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-IEUQ3CDG.js";
|
|
24
27
|
export {
|
|
25
28
|
AppDependencySchema,
|
|
26
29
|
CapabilityReqSchema,
|
|
30
|
+
ChatWidgetTemplateSchema,
|
|
27
31
|
CompanionSurfaceSchema,
|
|
28
32
|
ContributesSchema,
|
|
29
33
|
EnginesReqSchema,
|
|
30
34
|
HookEventContributionSchema,
|
|
35
|
+
McpServerAuthSchema,
|
|
36
|
+
McpServerDeclSchema,
|
|
31
37
|
OutputStyleContributionSchema,
|
|
32
38
|
PiExtensionContributionSchema,
|
|
33
39
|
PluginManifestSchema,
|