@vetta-org/plugin-sdk 0.2.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/dist/agent.d.ts +0 -12
  2. package/dist/agent.d.ts.map +1 -1
  3. package/dist/agent.js.map +1 -1
  4. package/dist/ai.d.ts +13 -0
  5. package/dist/ai.d.ts.map +1 -1
  6. package/dist/ai.js.map +1 -1
  7. package/dist/app-actions.d.ts +0 -1
  8. package/dist/app-actions.d.ts.map +1 -1
  9. package/dist/app-actions.js.map +1 -1
  10. package/dist/cli-provider.d.ts +18 -0
  11. package/dist/cli-provider.d.ts.map +1 -0
  12. package/dist/cli-provider.js +2 -0
  13. package/dist/cli-provider.js.map +1 -0
  14. package/dist/context.d.ts +13 -2
  15. package/dist/context.d.ts.map +1 -1
  16. package/dist/context.js.map +1 -1
  17. package/dist/index.d.ts +10 -5
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +1 -0
  20. package/dist/index.js.map +1 -1
  21. package/dist/manifest-schema.d.ts +454 -51
  22. package/dist/manifest-schema.d.ts.map +1 -1
  23. package/dist/manifest-schema.js +139 -33
  24. package/dist/manifest-schema.js.map +1 -1
  25. package/dist/manifest.d.ts +2 -2
  26. package/dist/manifest.d.ts.map +1 -1
  27. package/dist/manifest.js +164 -38
  28. package/dist/manifest.js.map +1 -1
  29. package/dist/models.d.ts +35 -0
  30. package/dist/models.d.ts.map +1 -0
  31. package/dist/models.js +2 -0
  32. package/dist/models.js.map +1 -0
  33. package/dist/ocr.d.ts +78 -0
  34. package/dist/ocr.d.ts.map +1 -0
  35. package/dist/ocr.js +2 -0
  36. package/dist/ocr.js.map +1 -0
  37. package/dist/official.d.ts +1 -0
  38. package/dist/official.d.ts.map +1 -1
  39. package/dist/official.js.map +1 -1
  40. package/dist/permissions.d.ts +1 -1
  41. package/dist/permissions.d.ts.map +1 -1
  42. package/dist/permissions.js +8 -0
  43. package/dist/permissions.js.map +1 -1
  44. package/dist/secrets.d.ts +27 -0
  45. package/dist/secrets.d.ts.map +1 -0
  46. package/dist/secrets.js +2 -0
  47. package/dist/secrets.js.map +1 -0
  48. package/dist/service-provider.d.ts +62 -0
  49. package/dist/service-provider.d.ts.map +1 -0
  50. package/dist/service-provider.js +2 -0
  51. package/dist/service-provider.js.map +1 -0
  52. package/dist/storage.d.ts +39 -6
  53. package/dist/storage.d.ts.map +1 -1
  54. package/dist/storage.js +8 -1
  55. package/dist/storage.js.map +1 -1
  56. package/dist/ui.d.ts +118 -7
  57. package/dist/ui.d.ts.map +1 -1
  58. package/dist/ui.js.map +1 -1
  59. package/docs/.source.json +22 -0
  60. package/docs/README.md +104 -0
  61. package/docs/ability-details.md +424 -0
  62. package/docs/ai.md +121 -0
  63. package/docs/app-actions.md +111 -0
  64. package/docs/browser.md +80 -0
  65. package/docs/conversation-and-agent.md +619 -0
  66. package/docs/file-explorer.md +118 -0
  67. package/docs/getting-started.md +295 -0
  68. package/docs/guiding-the-agent.md +183 -0
  69. package/docs/manifest.md +296 -0
  70. package/docs/mcp.md +152 -0
  71. package/docs/media.md +141 -0
  72. package/docs/message-cards.md +188 -0
  73. package/docs/permissions.md +145 -0
  74. package/docs/styling-and-pitfalls.md +254 -0
  75. package/docs/system-plugins.md +58 -0
  76. package/docs/ui-slots.md +628 -0
  77. package/package.json +7 -3
  78. package/dist/settings.d.ts +0 -13
  79. package/dist/settings.d.ts.map +0 -1
  80. package/dist/settings.js +0 -2
  81. package/dist/settings.js.map +0 -1
@@ -3,36 +3,138 @@ export declare const PluginIdSchema: import("@sinclair/typebox").TString;
3
3
  export declare const PluginVersionSchema: import("@sinclair/typebox").TString;
4
4
  export declare const PluginCommandNameSchema: import("@sinclair/typebox").TString;
5
5
  export declare const PluginCommandNamesSchema: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
6
+ export declare const PluginCliProviderManifestSchema: import("@sinclair/typebox").TObject<{
7
+ id: import("@sinclair/typebox").TString;
8
+ command: import("@sinclair/typebox").TString;
9
+ probe: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
10
+ args: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
11
+ timeoutMs: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
12
+ }>>;
13
+ install: import("@sinclair/typebox").TObject<{
14
+ command: import("@sinclair/typebox").TString;
15
+ args: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
16
+ timeoutMs: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
17
+ }>;
18
+ }>;
19
+ export declare const PluginServiceArtifactSchema: import("@sinclair/typebox").TObject<{
20
+ sha256: import("@sinclair/typebox").TString;
21
+ archive: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"file">, import("@sinclair/typebox").TLiteral<"zip">, import("@sinclair/typebox").TLiteral<"tar.gz">]>;
22
+ /** Relative file (archive=file) or directory (archive=zip/tar.gz) below the managed runtime root. */
23
+ destination: import("@sinclair/typebox").TString;
24
+ }>;
25
+ export declare const PluginServicePlatformSchema: import("@sinclair/typebox").TObject<{
26
+ executable: import("@sinclair/typebox").TString;
27
+ artifacts: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
28
+ sha256: import("@sinclair/typebox").TString;
29
+ archive: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"file">, import("@sinclair/typebox").TLiteral<"zip">, import("@sinclair/typebox").TLiteral<"tar.gz">]>;
30
+ /** Relative file (archive=file) or directory (archive=zip/tar.gz) below the managed runtime root. */
31
+ destination: import("@sinclair/typebox").TString;
32
+ }>>;
33
+ }>;
34
+ export declare const PluginServiceProviderManifestSchema: import("@sinclair/typebox").TObject<{
35
+ id: import("@sinclair/typebox").TString;
36
+ runtime: import("@sinclair/typebox").TObject<{
37
+ /** `managed-binary` is the backwards-compatible default. */
38
+ kind: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"managed-binary">, import("@sinclair/typebox").TLiteral<"host-node">]>>;
39
+ version: import("@sinclair/typebox").TString;
40
+ /** Entry script relative to the installed runtime (required for host-node). */
41
+ entry: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
42
+ platforms: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
43
+ executable: import("@sinclair/typebox").TString;
44
+ artifacts: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
45
+ sha256: import("@sinclair/typebox").TString;
46
+ archive: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"file">, import("@sinclair/typebox").TLiteral<"zip">, import("@sinclair/typebox").TLiteral<"tar.gz">]>;
47
+ /** Relative file (archive=file) or directory (archive=zip/tar.gz) below the managed runtime root. */
48
+ destination: import("@sinclair/typebox").TString;
49
+ }>>;
50
+ }>>;
51
+ }>;
52
+ credentials: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
53
+ id: import("@sinclair/typebox").TString;
54
+ bytes: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
55
+ }>>>;
56
+ templates: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
57
+ source: import("@sinclair/typebox").TString;
58
+ destination: import("@sinclair/typebox").TString;
59
+ /** create preserves a data file; render regenerates a cache file on every start. */
60
+ mode: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"create">, import("@sinclair/typebox").TLiteral<"render">]>;
61
+ }>>>;
62
+ process: import("@sinclair/typebox").TObject<{
63
+ args: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
64
+ env: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TString>>;
65
+ }>;
66
+ health: import("@sinclair/typebox").TObject<{
67
+ path: import("@sinclair/typebox").TString;
68
+ credentialId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
69
+ timeoutMs: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
70
+ readiness: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
71
+ mode: import("@sinclair/typebox").TLiteral<"plugin">;
72
+ }>>;
73
+ }>;
74
+ }>;
75
+ export declare const PluginProvidersManifestSchema: import("@sinclair/typebox").TObject<{
76
+ cli: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
77
+ id: import("@sinclair/typebox").TString;
78
+ command: import("@sinclair/typebox").TString;
79
+ probe: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
80
+ args: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
81
+ timeoutMs: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
82
+ }>>;
83
+ install: import("@sinclair/typebox").TObject<{
84
+ command: import("@sinclair/typebox").TString;
85
+ args: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
86
+ timeoutMs: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
87
+ }>;
88
+ }>>>;
89
+ services: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
90
+ id: import("@sinclair/typebox").TString;
91
+ runtime: import("@sinclair/typebox").TObject<{
92
+ /** `managed-binary` is the backwards-compatible default. */
93
+ kind: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"managed-binary">, import("@sinclair/typebox").TLiteral<"host-node">]>>;
94
+ version: import("@sinclair/typebox").TString;
95
+ /** Entry script relative to the installed runtime (required for host-node). */
96
+ entry: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
97
+ platforms: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
98
+ executable: import("@sinclair/typebox").TString;
99
+ artifacts: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
100
+ sha256: import("@sinclair/typebox").TString;
101
+ archive: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"file">, import("@sinclair/typebox").TLiteral<"zip">, import("@sinclair/typebox").TLiteral<"tar.gz">]>;
102
+ /** Relative file (archive=file) or directory (archive=zip/tar.gz) below the managed runtime root. */
103
+ destination: import("@sinclair/typebox").TString;
104
+ }>>;
105
+ }>>;
106
+ }>;
107
+ credentials: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
108
+ id: import("@sinclair/typebox").TString;
109
+ bytes: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
110
+ }>>>;
111
+ templates: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
112
+ source: import("@sinclair/typebox").TString;
113
+ destination: import("@sinclair/typebox").TString;
114
+ /** create preserves a data file; render regenerates a cache file on every start. */
115
+ mode: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"create">, import("@sinclair/typebox").TLiteral<"render">]>;
116
+ }>>>;
117
+ process: import("@sinclair/typebox").TObject<{
118
+ args: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
119
+ env: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TString>>;
120
+ }>;
121
+ health: import("@sinclair/typebox").TObject<{
122
+ path: import("@sinclair/typebox").TString;
123
+ credentialId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
124
+ timeoutMs: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
125
+ readiness: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
126
+ mode: import("@sinclair/typebox").TLiteral<"plugin">;
127
+ }>>;
128
+ }>;
129
+ }>>>;
130
+ }>;
6
131
  export declare const PluginNetworkManifestSchema: import("@sinclair/typebox").TObject<{
7
132
  allowedHosts: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
8
133
  }>;
9
134
  export declare const PluginBrowserManifestSchema: import("@sinclair/typebox").TObject<{
10
135
  allowedHosts: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
11
136
  }>;
12
- export declare const PluginPermissionSchema: import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TLiteral<"agent.command.run" | "agent.command.spawn" | "agent.continuation.register" | "agent.hookHandler.execute" | "agent.hooks.register" | "agent.mcp.control" | "agent.runtime.configure" | "agent.session.read" | "agent.session.write" | "agent.skills.control" | "agent.state.read" | "agent.state.write" | "agent.systemPrompt.fullControl" | "agent.systemPrompt.read" | "agent.systemPrompt.write" | "agent.toolHandler.execute" | "agent.tools.control" | "agent.tools.register" | "ai.complete" | "ai.models.list" | "app.actionHandler.execute" | "app.actions.register" | "browser.attach" | "browser.interact" | "browser.open" | "browser.profile.persist" | "browser.read" | "browser.runtime.manage" | "capture.offscreen" | "fs.read" | "fs.write" | "media.generate" | "media.provider.register" | "network.fetch" | "settings.read" | "settings.write" | "shell.openExternal" | "storage.read" | "storage.write" | "ui.file-explorer.context-menu" | "ui.file-explorer.decorations" | "ui.file-explorer.toolbar" | "ui.shortcuts.register" | "ui.slot.activity-tab" | "ui.slot.file-preview" | "ui.slot.global" | "ui.slot.input-action" | "ui.slot.message" | "ui.slot.tool-call" | "ui.slot.turn-card" | "ui.slot.workspace-view" | "workspace.read">[]>;
13
- export declare const PluginSettingDefinitionSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
14
- key: import("@sinclair/typebox").TString;
15
- description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
16
- default: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TBoolean]>>;
17
- enum: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
18
- visibleWhen: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
19
- key: import("@sinclair/typebox").TString;
20
- in: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
21
- }>>;
22
- type: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"string">, import("@sinclair/typebox").TLiteral<"number">, import("@sinclair/typebox").TLiteral<"boolean">, import("@sinclair/typebox").TLiteral<"enum">, import("@sinclair/typebox").TLiteral<"secret">]>;
23
- title: import("@sinclair/typebox").TString;
24
- }>, import("@sinclair/typebox").TObject<{
25
- key: import("@sinclair/typebox").TString;
26
- description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
27
- default: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TBoolean]>>;
28
- enum: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
29
- visibleWhen: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
30
- key: import("@sinclair/typebox").TString;
31
- in: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
32
- }>>;
33
- type: import("@sinclair/typebox").TLiteral<"desc">;
34
- title: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
35
- }>]>;
137
+ export declare const PluginPermissionSchema: import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TLiteral<"agent.command.run" | "agent.command.spawn" | "agent.continuation.register" | "agent.hookHandler.execute" | "agent.hooks.register" | "agent.mcp.control" | "agent.runtime.configure" | "agent.session.read" | "agent.session.write" | "agent.skills.control" | "agent.state.read" | "agent.state.write" | "agent.systemPrompt.fullControl" | "agent.systemPrompt.read" | "agent.systemPrompt.write" | "agent.toolHandler.execute" | "agent.tools.control" | "agent.tools.register" | "ai.complete" | "ai.models.list" | "ai.ocr.provider.register" | "ai.ocr.recognize" | "app.actionHandler.execute" | "app.actions.register" | "browser.attach" | "browser.interact" | "browser.open" | "browser.profile.persist" | "browser.read" | "browser.runtime.manage" | "capture.offscreen" | "conversation.draft.read" | "fs.read" | "fs.write" | "media.generate" | "media.provider.register" | "models.manage" | "network.fetch" | "secrets.read" | "secrets.write" | "settings.read" | "settings.write" | "shell.openExternal" | "storage.read" | "storage.write" | "ui.file-explorer.context-menu" | "ui.file-explorer.decorations" | "ui.file-explorer.toolbar" | "ui.shortcuts.register" | "ui.slot.ability-detail" | "ui.slot.activity-tab" | "ui.slot.file-preview" | "ui.slot.global" | "ui.slot.input-action" | "ui.slot.message" | "ui.slot.new-session-context" | "ui.slot.tool-call" | "ui.slot.turn-card" | "ui.slot.workspace-view" | "workspace.read">[]>;
36
138
  export declare const PluginMcpStdioServerConfigSchema: import("@sinclair/typebox").TObject<{
37
139
  disabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
38
140
  autoApprove: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
@@ -62,6 +164,19 @@ export declare const PluginMcpHttpServerConfigSchema: import("@sinclair/typebox"
62
164
  oauthDeviceFlow: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
63
165
  oauthScopes: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
64
166
  }>;
167
+ /** HTTP MCP served by one of this plugin's managed local services. */
168
+ export declare const PluginMcpServiceServerConfigSchema: import("@sinclair/typebox").TObject<{
169
+ disabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
170
+ autoApprove: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
171
+ startupTimeout: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
172
+ debug: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
173
+ displayName: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
174
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
175
+ agent_mode: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>]>>;
176
+ type: import("@sinclair/typebox").TLiteral<"service">;
177
+ serviceId: import("@sinclair/typebox").TString;
178
+ path: import("@sinclair/typebox").TString;
179
+ }>;
65
180
  export declare const PluginMcpServerConfigSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
66
181
  disabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
67
182
  autoApprove: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
@@ -89,12 +204,174 @@ export declare const PluginMcpServerConfigSchema: import("@sinclair/typebox").TU
89
204
  oauthClientId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
90
205
  oauthDeviceFlow: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
91
206
  oauthScopes: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
207
+ }>, import("@sinclair/typebox").TObject<{
208
+ disabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
209
+ autoApprove: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
210
+ startupTimeout: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
211
+ debug: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
212
+ displayName: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
213
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
214
+ agent_mode: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>]>>;
215
+ type: import("@sinclair/typebox").TLiteral<"service">;
216
+ serviceId: import("@sinclair/typebox").TString;
217
+ path: import("@sinclair/typebox").TString;
92
218
  }>]>;
219
+ export declare const PluginSkillPresentationRuleSchema: import("@sinclair/typebox").TObject<{
220
+ defaultVisibility: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"visible">, import("@sinclair/typebox").TLiteral<"hidden">]>>;
221
+ surfaces: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
222
+ abilityCatalog: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"visible">, import("@sinclair/typebox").TLiteral<"hidden">]>>;
223
+ agentConfiguration: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"visible">, import("@sinclair/typebox").TLiteral<"hidden">]>>;
224
+ commandPalette: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"visible">, import("@sinclair/typebox").TLiteral<"hidden">]>>;
225
+ skillPicker: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"visible">, import("@sinclair/typebox").TLiteral<"hidden">]>>;
226
+ pluginDetail: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"visible">, import("@sinclair/typebox").TLiteral<"hidden">]>>;
227
+ }>>;
228
+ displayName: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
229
+ displayDescription: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
230
+ }>;
231
+ export declare const PluginSkillPresentationSchema: import("@sinclair/typebox").TObject<{
232
+ defaultVisibility: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"visible">, import("@sinclair/typebox").TLiteral<"hidden">]>>;
233
+ surfaces: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
234
+ abilityCatalog: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"visible">, import("@sinclair/typebox").TLiteral<"hidden">]>>;
235
+ agentConfiguration: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"visible">, import("@sinclair/typebox").TLiteral<"hidden">]>>;
236
+ commandPalette: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"visible">, import("@sinclair/typebox").TLiteral<"hidden">]>>;
237
+ skillPicker: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"visible">, import("@sinclair/typebox").TLiteral<"hidden">]>>;
238
+ pluginDetail: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"visible">, import("@sinclair/typebox").TLiteral<"hidden">]>>;
239
+ }>>;
240
+ skills: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
241
+ defaultVisibility: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"visible">, import("@sinclair/typebox").TLiteral<"hidden">]>>;
242
+ surfaces: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
243
+ abilityCatalog: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"visible">, import("@sinclair/typebox").TLiteral<"hidden">]>>;
244
+ agentConfiguration: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"visible">, import("@sinclair/typebox").TLiteral<"hidden">]>>;
245
+ commandPalette: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"visible">, import("@sinclair/typebox").TLiteral<"hidden">]>>;
246
+ skillPicker: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"visible">, import("@sinclair/typebox").TLiteral<"hidden">]>>;
247
+ pluginDetail: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"visible">, import("@sinclair/typebox").TLiteral<"hidden">]>>;
248
+ }>>;
249
+ displayName: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
250
+ displayDescription: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
251
+ }>>>;
252
+ }>;
253
+ /** 插件贡献的智能体(blueprint)。人设、头像、职责都由插件提供,宿主只负责铺档案。 */
254
+ export declare const PluginAgentProfileManifestSchema: import("@sinclair/typebox").TObject<{
255
+ /** 插件内唯一;全局 id 由宿主拼成 `plugin:<pluginId>:<id>`。 */
256
+ id: import("@sinclair/typebox").TString;
257
+ /** 支持 `%key%` 占位,按插件 locales 解析。 */
258
+ name: import("@sinclair/typebox").TString;
259
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
260
+ /** @ 提及用的短名;缺省用 `id`。 */
261
+ mentionHandle: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
262
+ /** 插件包内的相对路径,指向头像图片。 */
263
+ avatar: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
264
+ /** 插件包内的相对路径,指向系统提示词 Markdown。与 `systemPrompt` 二选一。 */
265
+ systemPromptPath: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
266
+ systemPrompt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
267
+ /**
268
+ * `all`(默认)继承宿主全部已启用能力;`own` 只用本插件的能力。
269
+ * 两种模式下本插件的能力都强制激活,用户关不掉。
270
+ */
271
+ abilities: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"all">, import("@sinclair/typebox").TLiteral<"own">]>>;
272
+ /**
273
+ * 本智能体接管的历史 blueprint id。
274
+ *
275
+ * 用于「人设从别处迁进插件」:宿主解析不到这些 id 时折算到本智能体,回填时也据此
276
+ * 认领用户已有的同角色档案,而不是再铺一份新的。宿主因此不必知道是哪个插件接管了
277
+ * 哪个老角色。
278
+ */
279
+ legacyIds: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
280
+ }>;
281
+ /**
282
+ * 插件贡献的团队成员。
283
+ *
284
+ * `agent` 只能写本插件 `agents[]` 里的智能体 id。刻意不支持引用别的插件——那会让一个插件的
285
+ * 可用性取决于另一个插件是否安装;宿主也没有内置人设可引用,装机自带的那几位同样由预置
286
+ * 插件提供。引用不到的成员会让这一支团队整体被跳过。
287
+ */
288
+ export declare const PluginAgentTeamMemberManifestSchema: import("@sinclair/typebox").TObject<{
289
+ agent: import("@sinclair/typebox").TString;
290
+ responsibility: import("@sinclair/typebox").TString;
291
+ }>;
292
+ /** 插件贡献的团队。第一个成员即队长,也是用户在会话里唯一的对话入口。 */
293
+ export declare const PluginAgentTeamManifestSchema: import("@sinclair/typebox").TObject<{
294
+ id: import("@sinclair/typebox").TString;
295
+ name: import("@sinclair/typebox").TString;
296
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
297
+ members: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
298
+ agent: import("@sinclair/typebox").TString;
299
+ responsibility: import("@sinclair/typebox").TString;
300
+ }>>;
301
+ /** 队长的团队任务书:把这支团队的固定流水线写死。与 `workflowPath` 二选一。 */
302
+ workflow: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
303
+ workflowPath: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
304
+ /** 本团队接管的历史团队 id,语义同 `agents[].legacyIds`。 */
305
+ legacyIds: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
306
+ }>;
93
307
  export declare const PluginAgentManifestSchema: import("@sinclair/typebox").TObject<{
94
308
  systemPrompt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
95
309
  promptPaths: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
96
310
  }>>;
97
311
  skillPaths: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
312
+ skillPresentation: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
313
+ defaultVisibility: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"visible">, import("@sinclair/typebox").TLiteral<"hidden">]>>;
314
+ surfaces: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
315
+ abilityCatalog: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"visible">, import("@sinclair/typebox").TLiteral<"hidden">]>>;
316
+ agentConfiguration: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"visible">, import("@sinclair/typebox").TLiteral<"hidden">]>>;
317
+ commandPalette: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"visible">, import("@sinclair/typebox").TLiteral<"hidden">]>>;
318
+ skillPicker: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"visible">, import("@sinclair/typebox").TLiteral<"hidden">]>>;
319
+ pluginDetail: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"visible">, import("@sinclair/typebox").TLiteral<"hidden">]>>;
320
+ }>>;
321
+ skills: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
322
+ defaultVisibility: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"visible">, import("@sinclair/typebox").TLiteral<"hidden">]>>;
323
+ surfaces: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
324
+ abilityCatalog: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"visible">, import("@sinclair/typebox").TLiteral<"hidden">]>>;
325
+ agentConfiguration: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"visible">, import("@sinclair/typebox").TLiteral<"hidden">]>>;
326
+ commandPalette: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"visible">, import("@sinclair/typebox").TLiteral<"hidden">]>>;
327
+ skillPicker: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"visible">, import("@sinclair/typebox").TLiteral<"hidden">]>>;
328
+ pluginDetail: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"visible">, import("@sinclair/typebox").TLiteral<"hidden">]>>;
329
+ }>>;
330
+ displayName: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
331
+ displayDescription: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
332
+ }>>>;
333
+ }>>;
334
+ agents: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
335
+ /** 插件内唯一;全局 id 由宿主拼成 `plugin:<pluginId>:<id>`。 */
336
+ id: import("@sinclair/typebox").TString;
337
+ /** 支持 `%key%` 占位,按插件 locales 解析。 */
338
+ name: import("@sinclair/typebox").TString;
339
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
340
+ /** @ 提及用的短名;缺省用 `id`。 */
341
+ mentionHandle: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
342
+ /** 插件包内的相对路径,指向头像图片。 */
343
+ avatar: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
344
+ /** 插件包内的相对路径,指向系统提示词 Markdown。与 `systemPrompt` 二选一。 */
345
+ systemPromptPath: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
346
+ systemPrompt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
347
+ /**
348
+ * `all`(默认)继承宿主全部已启用能力;`own` 只用本插件的能力。
349
+ * 两种模式下本插件的能力都强制激活,用户关不掉。
350
+ */
351
+ abilities: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"all">, import("@sinclair/typebox").TLiteral<"own">]>>;
352
+ /**
353
+ * 本智能体接管的历史 blueprint id。
354
+ *
355
+ * 用于「人设从别处迁进插件」:宿主解析不到这些 id 时折算到本智能体,回填时也据此
356
+ * 认领用户已有的同角色档案,而不是再铺一份新的。宿主因此不必知道是哪个插件接管了
357
+ * 哪个老角色。
358
+ */
359
+ legacyIds: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
360
+ }>>>;
361
+ teams: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
362
+ id: import("@sinclair/typebox").TString;
363
+ name: import("@sinclair/typebox").TString;
364
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
365
+ members: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
366
+ agent: import("@sinclair/typebox").TString;
367
+ responsibility: import("@sinclair/typebox").TString;
368
+ }>>;
369
+ /** 队长的团队任务书:把这支团队的固定流水线写死。与 `workflowPath` 二选一。 */
370
+ workflow: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
371
+ workflowPath: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
372
+ /** 本团队接管的历史团队 id,语义同 `agents[].legacyIds`。 */
373
+ legacyIds: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
374
+ }>>>;
98
375
  mcpServers: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
99
376
  disabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
100
377
  autoApprove: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
@@ -122,6 +399,17 @@ export declare const PluginAgentManifestSchema: import("@sinclair/typebox").TObj
122
399
  oauthClientId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
123
400
  oauthDeviceFlow: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
124
401
  oauthScopes: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
402
+ }>, import("@sinclair/typebox").TObject<{
403
+ disabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
404
+ autoApprove: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
405
+ startupTimeout: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
406
+ debug: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
407
+ displayName: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
408
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
409
+ agent_mode: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>]>>;
410
+ type: import("@sinclair/typebox").TLiteral<"service">;
411
+ serviceId: import("@sinclair/typebox").TString;
412
+ path: import("@sinclair/typebox").TString;
125
413
  }>]>>]>>;
126
414
  toolPolicy: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
127
415
  allow: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
@@ -147,6 +435,69 @@ export declare const PluginManifestSchema: import("@sinclair/typebox").TObject<{
147
435
  promptPaths: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
148
436
  }>>;
149
437
  skillPaths: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
438
+ skillPresentation: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
439
+ defaultVisibility: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"visible">, import("@sinclair/typebox").TLiteral<"hidden">]>>;
440
+ surfaces: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
441
+ abilityCatalog: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"visible">, import("@sinclair/typebox").TLiteral<"hidden">]>>;
442
+ agentConfiguration: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"visible">, import("@sinclair/typebox").TLiteral<"hidden">]>>;
443
+ commandPalette: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"visible">, import("@sinclair/typebox").TLiteral<"hidden">]>>;
444
+ skillPicker: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"visible">, import("@sinclair/typebox").TLiteral<"hidden">]>>;
445
+ pluginDetail: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"visible">, import("@sinclair/typebox").TLiteral<"hidden">]>>;
446
+ }>>;
447
+ skills: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
448
+ defaultVisibility: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"visible">, import("@sinclair/typebox").TLiteral<"hidden">]>>;
449
+ surfaces: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
450
+ abilityCatalog: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"visible">, import("@sinclair/typebox").TLiteral<"hidden">]>>;
451
+ agentConfiguration: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"visible">, import("@sinclair/typebox").TLiteral<"hidden">]>>;
452
+ commandPalette: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"visible">, import("@sinclair/typebox").TLiteral<"hidden">]>>;
453
+ skillPicker: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"visible">, import("@sinclair/typebox").TLiteral<"hidden">]>>;
454
+ pluginDetail: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"visible">, import("@sinclair/typebox").TLiteral<"hidden">]>>;
455
+ }>>;
456
+ displayName: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
457
+ displayDescription: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
458
+ }>>>;
459
+ }>>;
460
+ agents: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
461
+ /** 插件内唯一;全局 id 由宿主拼成 `plugin:<pluginId>:<id>`。 */
462
+ id: import("@sinclair/typebox").TString;
463
+ /** 支持 `%key%` 占位,按插件 locales 解析。 */
464
+ name: import("@sinclair/typebox").TString;
465
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
466
+ /** @ 提及用的短名;缺省用 `id`。 */
467
+ mentionHandle: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
468
+ /** 插件包内的相对路径,指向头像图片。 */
469
+ avatar: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
470
+ /** 插件包内的相对路径,指向系统提示词 Markdown。与 `systemPrompt` 二选一。 */
471
+ systemPromptPath: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
472
+ systemPrompt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
473
+ /**
474
+ * `all`(默认)继承宿主全部已启用能力;`own` 只用本插件的能力。
475
+ * 两种模式下本插件的能力都强制激活,用户关不掉。
476
+ */
477
+ abilities: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"all">, import("@sinclair/typebox").TLiteral<"own">]>>;
478
+ /**
479
+ * 本智能体接管的历史 blueprint id。
480
+ *
481
+ * 用于「人设从别处迁进插件」:宿主解析不到这些 id 时折算到本智能体,回填时也据此
482
+ * 认领用户已有的同角色档案,而不是再铺一份新的。宿主因此不必知道是哪个插件接管了
483
+ * 哪个老角色。
484
+ */
485
+ legacyIds: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
486
+ }>>>;
487
+ teams: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
488
+ id: import("@sinclair/typebox").TString;
489
+ name: import("@sinclair/typebox").TString;
490
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
491
+ members: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
492
+ agent: import("@sinclair/typebox").TString;
493
+ responsibility: import("@sinclair/typebox").TString;
494
+ }>>;
495
+ /** 队长的团队任务书:把这支团队的固定流水线写死。与 `workflowPath` 二选一。 */
496
+ workflow: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
497
+ workflowPath: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
498
+ /** 本团队接管的历史团队 id,语义同 `agents[].legacyIds`。 */
499
+ legacyIds: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
500
+ }>>>;
150
501
  mcpServers: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
151
502
  disabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
152
503
  autoApprove: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
@@ -174,14 +525,81 @@ export declare const PluginManifestSchema: import("@sinclair/typebox").TObject<{
174
525
  oauthClientId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
175
526
  oauthDeviceFlow: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
176
527
  oauthScopes: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
528
+ }>, import("@sinclair/typebox").TObject<{
529
+ disabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
530
+ autoApprove: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
531
+ startupTimeout: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
532
+ debug: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
533
+ displayName: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
534
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
535
+ agent_mode: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>]>>;
536
+ type: import("@sinclair/typebox").TLiteral<"service">;
537
+ serviceId: import("@sinclair/typebox").TString;
538
+ path: import("@sinclair/typebox").TString;
177
539
  }>]>>]>>;
178
540
  toolPolicy: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
179
541
  allow: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
180
542
  deny: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
181
543
  }>>;
182
544
  }>>;
545
+ providers: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
546
+ cli: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
547
+ id: import("@sinclair/typebox").TString;
548
+ command: import("@sinclair/typebox").TString;
549
+ probe: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
550
+ args: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
551
+ timeoutMs: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
552
+ }>>;
553
+ install: import("@sinclair/typebox").TObject<{
554
+ command: import("@sinclair/typebox").TString;
555
+ args: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
556
+ timeoutMs: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
557
+ }>;
558
+ }>>>;
559
+ services: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
560
+ id: import("@sinclair/typebox").TString;
561
+ runtime: import("@sinclair/typebox").TObject<{
562
+ /** `managed-binary` is the backwards-compatible default. */
563
+ kind: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"managed-binary">, import("@sinclair/typebox").TLiteral<"host-node">]>>;
564
+ version: import("@sinclair/typebox").TString;
565
+ /** Entry script relative to the installed runtime (required for host-node). */
566
+ entry: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
567
+ platforms: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
568
+ executable: import("@sinclair/typebox").TString;
569
+ artifacts: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
570
+ sha256: import("@sinclair/typebox").TString;
571
+ archive: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"file">, import("@sinclair/typebox").TLiteral<"zip">, import("@sinclair/typebox").TLiteral<"tar.gz">]>;
572
+ /** Relative file (archive=file) or directory (archive=zip/tar.gz) below the managed runtime root. */
573
+ destination: import("@sinclair/typebox").TString;
574
+ }>>;
575
+ }>>;
576
+ }>;
577
+ credentials: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
578
+ id: import("@sinclair/typebox").TString;
579
+ bytes: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
580
+ }>>>;
581
+ templates: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
582
+ source: import("@sinclair/typebox").TString;
583
+ destination: import("@sinclair/typebox").TString;
584
+ /** create preserves a data file; render regenerates a cache file on every start. */
585
+ mode: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"create">, import("@sinclair/typebox").TLiteral<"render">]>;
586
+ }>>>;
587
+ process: import("@sinclair/typebox").TObject<{
588
+ args: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
589
+ env: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TString>>;
590
+ }>;
591
+ health: import("@sinclair/typebox").TObject<{
592
+ path: import("@sinclair/typebox").TString;
593
+ credentialId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
594
+ timeoutMs: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
595
+ readiness: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
596
+ mode: import("@sinclair/typebox").TLiteral<"plugin">;
597
+ }>>;
598
+ }>;
599
+ }>>>;
600
+ }>>;
183
601
  styles: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
184
- permissions: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TLiteral<"agent.command.run" | "agent.command.spawn" | "agent.continuation.register" | "agent.hookHandler.execute" | "agent.hooks.register" | "agent.mcp.control" | "agent.runtime.configure" | "agent.session.read" | "agent.session.write" | "agent.skills.control" | "agent.state.read" | "agent.state.write" | "agent.systemPrompt.fullControl" | "agent.systemPrompt.read" | "agent.systemPrompt.write" | "agent.toolHandler.execute" | "agent.tools.control" | "agent.tools.register" | "ai.complete" | "ai.models.list" | "app.actionHandler.execute" | "app.actions.register" | "browser.attach" | "browser.interact" | "browser.open" | "browser.profile.persist" | "browser.read" | "browser.runtime.manage" | "capture.offscreen" | "fs.read" | "fs.write" | "media.generate" | "media.provider.register" | "network.fetch" | "settings.read" | "settings.write" | "shell.openExternal" | "storage.read" | "storage.write" | "ui.file-explorer.context-menu" | "ui.file-explorer.decorations" | "ui.file-explorer.toolbar" | "ui.shortcuts.register" | "ui.slot.activity-tab" | "ui.slot.file-preview" | "ui.slot.global" | "ui.slot.input-action" | "ui.slot.message" | "ui.slot.tool-call" | "ui.slot.turn-card" | "ui.slot.workspace-view" | "workspace.read">[]>>>;
602
+ permissions: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TLiteral<"agent.command.run" | "agent.command.spawn" | "agent.continuation.register" | "agent.hookHandler.execute" | "agent.hooks.register" | "agent.mcp.control" | "agent.runtime.configure" | "agent.session.read" | "agent.session.write" | "agent.skills.control" | "agent.state.read" | "agent.state.write" | "agent.systemPrompt.fullControl" | "agent.systemPrompt.read" | "agent.systemPrompt.write" | "agent.toolHandler.execute" | "agent.tools.control" | "agent.tools.register" | "ai.complete" | "ai.models.list" | "ai.ocr.provider.register" | "ai.ocr.recognize" | "app.actionHandler.execute" | "app.actions.register" | "browser.attach" | "browser.interact" | "browser.open" | "browser.profile.persist" | "browser.read" | "browser.runtime.manage" | "capture.offscreen" | "conversation.draft.read" | "fs.read" | "fs.write" | "media.generate" | "media.provider.register" | "models.manage" | "network.fetch" | "secrets.read" | "secrets.write" | "settings.read" | "settings.write" | "shell.openExternal" | "storage.read" | "storage.write" | "ui.file-explorer.context-menu" | "ui.file-explorer.decorations" | "ui.file-explorer.toolbar" | "ui.shortcuts.register" | "ui.slot.ability-detail" | "ui.slot.activity-tab" | "ui.slot.file-preview" | "ui.slot.global" | "ui.slot.input-action" | "ui.slot.message" | "ui.slot.new-session-context" | "ui.slot.tool-call" | "ui.slot.turn-card" | "ui.slot.workspace-view" | "workspace.read">[]>>>;
185
603
  network: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
186
604
  allowedHosts: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
187
605
  }>>;
@@ -189,31 +607,6 @@ export declare const PluginManifestSchema: import("@sinclair/typebox").TObject<{
189
607
  allowedHosts: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
190
608
  }>>;
191
609
  commands: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
192
- contributes: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
193
- settings: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
194
- key: import("@sinclair/typebox").TString;
195
- description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
196
- default: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TBoolean]>>;
197
- enum: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
198
- visibleWhen: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
199
- key: import("@sinclair/typebox").TString;
200
- in: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
201
- }>>;
202
- type: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"string">, import("@sinclair/typebox").TLiteral<"number">, import("@sinclair/typebox").TLiteral<"boolean">, import("@sinclair/typebox").TLiteral<"enum">, import("@sinclair/typebox").TLiteral<"secret">]>;
203
- title: import("@sinclair/typebox").TString;
204
- }>, import("@sinclair/typebox").TObject<{
205
- key: import("@sinclair/typebox").TString;
206
- description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
207
- default: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TBoolean]>>;
208
- enum: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
209
- visibleWhen: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
210
- key: import("@sinclair/typebox").TString;
211
- in: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
212
- }>>;
213
- type: import("@sinclair/typebox").TLiteral<"desc">;
214
- title: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
215
- }>]>>>;
216
- }>>;
217
610
  description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
218
611
  author: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
219
612
  icon: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
@@ -224,9 +617,19 @@ export declare const PluginManifestSchema: import("@sinclair/typebox").TObject<{
224
617
  }>>;
225
618
  agent_mode: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>]>>;
226
619
  }>;
227
- export type PluginSettingSchema = Static<typeof PluginSettingDefinitionSchema>;
228
620
  export type PluginMcpServerConfig = Static<typeof PluginMcpServerConfigSchema>;
229
621
  export type PluginAgentManifest = Static<typeof PluginAgentManifestSchema>;
622
+ export type PluginAgentProfileManifest = Static<typeof PluginAgentProfileManifestSchema>;
623
+ export type PluginAgentTeamManifest = Static<typeof PluginAgentTeamManifestSchema>;
624
+ export type PluginAgentTeamMemberManifest = Static<typeof PluginAgentTeamMemberManifestSchema>;
625
+ export type PluginSkillPresentation = Static<typeof PluginSkillPresentationSchema>;
626
+ export type PluginSkillPresentationRule = Static<typeof PluginSkillPresentationRuleSchema>;
627
+ export type PluginCliProviderManifest = Static<typeof PluginCliProviderManifestSchema>;
628
+ export type PluginServiceArtifact = Static<typeof PluginServiceArtifactSchema>;
629
+ export type PluginServicePlatform = Static<typeof PluginServicePlatformSchema>;
630
+ export type PluginServiceProviderManifest = Static<typeof PluginServiceProviderManifestSchema>;
631
+ export type PluginServiceRuntimeKind = "managed-binary" | "host-node";
632
+ export type PluginProvidersManifest = Static<typeof PluginProvidersManifestSchema>;
230
633
  export type PluginNetworkManifest = Static<typeof PluginNetworkManifestSchema>;
231
634
  export type PluginBrowserManifest = Static<typeof PluginBrowserManifestSchema>;
232
635
  export type PluginManifestInput = Static<typeof PluginManifestSchema>;