@vetta-org/plugin-sdk 0.1.1 → 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.
Files changed (87) hide show
  1. package/dist/activity-tab.d.ts +2 -0
  2. package/dist/activity-tab.d.ts.map +1 -1
  3. package/dist/activity-tab.js +1 -1
  4. package/dist/activity-tab.js.map +1 -1
  5. package/dist/agent.d.ts +158 -2
  6. package/dist/agent.d.ts.map +1 -1
  7. package/dist/agent.js +14 -1
  8. package/dist/agent.js.map +1 -1
  9. package/dist/ai.d.ts +93 -0
  10. package/dist/ai.d.ts.map +1 -0
  11. package/dist/ai.js +2 -0
  12. package/dist/ai.js.map +1 -0
  13. package/dist/app-actions.d.ts +9 -0
  14. package/dist/app-actions.d.ts.map +1 -1
  15. package/dist/app-actions.js.map +1 -1
  16. package/dist/artifacts.d.ts +31 -0
  17. package/dist/artifacts.d.ts.map +1 -0
  18. package/dist/artifacts.js +2 -0
  19. package/dist/artifacts.js.map +1 -0
  20. package/dist/browser.d.ts +119 -0
  21. package/dist/browser.d.ts.map +1 -0
  22. package/dist/browser.js +2 -0
  23. package/dist/browser.js.map +1 -0
  24. package/dist/capture.d.ts +64 -0
  25. package/dist/capture.d.ts.map +1 -0
  26. package/dist/capture.js +2 -0
  27. package/dist/capture.js.map +1 -0
  28. package/dist/context.d.ts +46 -5
  29. package/dist/context.d.ts.map +1 -1
  30. package/dist/context.js.map +1 -1
  31. package/dist/conversation.d.ts +66 -2
  32. package/dist/conversation.d.ts.map +1 -1
  33. package/dist/conversation.js.map +1 -1
  34. package/dist/gateway.d.ts +37 -0
  35. package/dist/gateway.d.ts.map +1 -0
  36. package/dist/gateway.js +14 -0
  37. package/dist/gateway.js.map +1 -0
  38. package/dist/index.d.ts +20 -9
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +4 -0
  41. package/dist/index.js.map +1 -1
  42. package/dist/jobs.d.ts +34 -0
  43. package/dist/jobs.d.ts.map +1 -0
  44. package/dist/jobs.js +2 -0
  45. package/dist/jobs.js.map +1 -0
  46. package/dist/manifest-schema.d.ts +234 -0
  47. package/dist/manifest-schema.d.ts.map +1 -0
  48. package/dist/manifest-schema.js +145 -0
  49. package/dist/manifest-schema.js.map +1 -0
  50. package/dist/manifest.d.ts +21 -55
  51. package/dist/manifest.d.ts.map +1 -1
  52. package/dist/manifest.js +342 -1
  53. package/dist/manifest.js.map +1 -1
  54. package/dist/media.d.ts +193 -0
  55. package/dist/media.d.ts.map +1 -0
  56. package/dist/media.js +11 -0
  57. package/dist/media.js.map +1 -0
  58. package/dist/network.d.ts +2 -1
  59. package/dist/network.d.ts.map +1 -1
  60. package/dist/network.js.map +1 -1
  61. package/dist/npm-package.d.ts +17 -0
  62. package/dist/npm-package.d.ts.map +1 -0
  63. package/dist/npm-package.js +38 -0
  64. package/dist/npm-package.js.map +1 -0
  65. package/dist/official.d.ts +218 -10
  66. package/dist/official.d.ts.map +1 -1
  67. package/dist/official.js.map +1 -1
  68. package/dist/permissions.d.ts +2 -1
  69. package/dist/permissions.d.ts.map +1 -1
  70. package/dist/permissions.js +54 -1
  71. package/dist/permissions.js.map +1 -1
  72. package/dist/prompt-attachment.d.ts +30 -6
  73. package/dist/prompt-attachment.d.ts.map +1 -1
  74. package/dist/prompt-attachment.js +35 -1
  75. package/dist/prompt-attachment.js.map +1 -1
  76. package/dist/quickjs.d.ts +147 -0
  77. package/dist/quickjs.d.ts.map +1 -0
  78. package/dist/quickjs.js +2 -0
  79. package/dist/quickjs.js.map +1 -0
  80. package/dist/storage.d.ts +7 -0
  81. package/dist/storage.d.ts.map +1 -1
  82. package/dist/storage.js.map +1 -1
  83. package/dist/ui.d.ts +223 -15
  84. package/dist/ui.d.ts.map +1 -1
  85. package/dist/ui.js.map +1 -1
  86. package/package.json +21 -2
  87. package/src/tailwind-theme.css +30 -0
package/dist/index.d.ts CHANGED
@@ -6,28 +6,39 @@
6
6
  * than deep paths.
7
7
  */
8
8
  export type { ConversationScenario } from "./scenario.js";
9
+ export { PLUGIN_PERMISSIONS } from "./permissions.js";
9
10
  export type { PluginPermission } from "./permissions.js";
10
11
  export type { Disposable } from "./disposable.js";
11
- export type { PluginMcpServerConfig, PluginAgentManifest } from "./manifest.js";
12
+ export type { PluginAgentManifest, PluginBrowserManifest, PluginManifest, PluginManifestInput, PluginManifestResourceReference, PluginMcpServerConfig, PluginNetworkManifest, PluginSettingSchema, } from "./manifest.js";
12
13
  export type { PluginFileExplorerEntry, PluginWorkspaceRoot, PluginFileExplorerWhen, PluginFileExplorerActionContext, PluginFileExplorerContextMenuContribution, PluginFileExplorerToolbarContext, PluginFileExplorerToolbarContribution, PluginFileExplorerDecoration, PluginFileExplorerDecorationProvider, PluginFileExplorerChange, PluginFileExplorerRevealOptions, PluginFileExplorerApi, } from "./file-explorer.js";
13
- export type { ConversationState, ConversationMessage, ConversationEvent, PluginConversationApi, } from "./conversation.js";
14
- export type { PluginGlobalSlotContribution, PluginAudioMetadata, PluginPreviewUrlOptions, PluginPreviewFile, PluginFilePreviewProps, PluginFilePreviewContribution, PluginActivityTabContribution, PluginCaptureRegion, PluginOpenActivityTabOptions, PluginPromptDecoration, PluginInputActionContribution, CardDescriptor, PluginPendingToolCall, PluginCardProps, PluginCardRendererContribution, PluginToolCallSlotToolCall, PluginToolCallSlotProps, PluginToolCallSlotContribution, PluginTurnCardContribution, PluginNotifyOptions, PluginUiApi, } from "./ui.js";
14
+ export type { ConversationState, ConversationMessage, ConversationEvent, ConversationQueueState, CreateSessionOptions, PluginConversationApi, SendPromptResult, } from "./conversation.js";
15
+ export type { PluginGlobalSlotContribution, PluginNavBadge, PluginNavBadgeTone, PluginWorkspaceViewProps, PluginWorkspaceViewContribution, PluginWorkspaceViewHeader, PluginAudioMetadata, PluginPreviewUrlOptions, PluginPreviewFile, PluginFilePreviewProps, PluginFilePreviewContribution, PluginActivityTabContribution, PluginActivityTabRetention, PluginActivityTabTargetOptions, PluginCaptureRegion, PluginOpenActivityTabOptions, PluginPromptDecoration, PluginInputActionContribution, CardDescriptor, PluginPendingToolCall, PluginCardProps, PluginCardRendererContribution, PluginToolCallSlotToolCall, PluginToolCallSlotProps, PluginToolCallSlotContribution, PluginTurnCardContribution, PluginNotifyOptions, PluginUiApi, } from "./ui.js";
15
16
  export type { PluginShortcutScopeKind, PluginShortcutWhen, PluginShortcutBinding, PluginShortcutScopeContribution, PluginRegisterShortcutScope, UsePluginShortcutScopeOptions, } from "./shortcuts.js";
16
17
  export { usePluginShortcutScope } from "./shortcuts.js";
17
- export type { PluginJsonSchema, PluginAgentToolApi, PluginAgentToolRegistration, PluginSystemPromptBlock, PluginDynamicSystemPromptOperation, PluginSystemPromptMessage, PluginSystemPromptProviderContext, PluginSystemPromptBlockView, PluginAgentActions, PluginAgentHandlerContext, PluginAgentToolHandler, PluginSystemPromptProviderHandler, PluginSystemPromptProviderRegistration, PluginContinuationResult, PluginContinuationHandler, PluginContinuationRegistration, PluginAgentApi, } from "./agent.js";
18
- export type { PluginAppActionEffect, PluginAppActionExample, PluginAppActionHandlerContext, PluginAppActionHandler, PluginAppActionReadyHandler, PluginAppActionApprovalPresentation, PluginAppActionApproval, PluginAppActionRegistration, PluginAppActionsApi, } from "./app-actions.js";
18
+ export type { PluginJsonSchema, PluginAgentToolApi, PluginAgentToolRegistration, PluginSystemPromptBlock, PluginDynamicSystemPromptOperation, PluginSystemPromptMessage, PluginSystemPromptProviderContext, PluginSystemPromptBlockView, PluginAgentActions, PluginAgentHandlerContext, PluginAgentToolHandler, PluginCodingAgentHookEvent, PluginCodingAgentHookEventName, PluginCodingAgentHookEventOf, PluginCodingAgentHookHandler, PluginCodingAgentHookHandlerContext, PluginCodingAgentHookRegistration, PluginCodingAgentHookResult, PluginCodingAgentHookTool, PluginCodingAgentPermissionMode, PluginSystemPromptProviderHandler, PluginSystemPromptProviderRegistration, PluginContinuationResult, PluginContinuationHandler, PluginContinuationRegistration, PluginAgentApi, } from "./agent.js";
19
+ export { PLUGIN_CODING_AGENT_HOOK_EVENT_NAMES } from "./agent.js";
20
+ export type { PluginAppActionEffect, PluginAppActionExample, PluginAppActionHandlerContext, PluginAppActionHandler, PluginAppActionReadyHandler, PluginAppActionApprovalPresentation, PluginAppActionApproval, PluginAppActionRegistration, PluginAppActionUsage, PluginAppActionsApi, } from "./app-actions.js";
19
21
  export { PluginAppActionError } from "./app-actions.js";
20
- export type { PluginOfficialGeneralSettings, PluginOfficialGeneralSettingsUpdate, PluginOfficialExperimentalSettings, PluginOfficialDownloadItem, PluginOfficialUpdaterState, PluginOfficialWebhookKind, PluginOfficialWebhookEndpoint, PluginOfficialWebhookProvider, PluginOfficialWebhookCreateInput, PluginOfficialWebhookUpdateInput, PluginOfficialWebhookMessage, PluginOfficialWebhookSendResult, PluginOfficialSkillInfo, PluginOfficialInstalledSkill, PluginOfficialShortcutBinding, PluginOfficialQuickPanelSettings, PluginOfficialImStatus, PluginOfficialImLog, PluginOfficialMcpServerSummary, PluginOfficialMcpServerDetail, PluginOfficialMcpUpsertData, PluginOfficialExecutionMode, PluginOfficialSelectedSkill, PluginOfficialBatchProjectCreateData, PluginOfficialBatchProjectUpdateData, PluginOfficialSchedulerTaskCreateData, PluginOfficialSchedulerTaskUpdateData, PluginOfficialModelSummary, PluginOfficialProviderSummary, PluginOfficialProviderDetail, PluginOfficialProviderUpsertData, PluginOfficialProjectEntry, PluginOfficialPluginSummary, PluginOfficialKnowledgeBase, PluginOfficialKnowledgeProcessingSettings, PluginOfficialApi, } from "./official.js";
22
+ export type { PluginAiApi, PluginAiChatAssistantMessage, PluginAiChatMessage, PluginAiChatRequest, PluginAiChatResult, PluginAiChatTool, PluginAiChatToolResultMessage, PluginAiChatUserMessage, PluginAiCompleteRequest, PluginAiCompleteResult, PluginAiModel, PluginAiModelListResult, PluginAiToolCall, PluginAiUsage, } from "./ai.js";
23
+ export type { PluginOfficialGeneralSettings, PluginOfficialGeneralSettingsUpdate, PluginOfficialExperimentalSettings, PluginOfficialDownloadItem, PluginOfficialUpdaterState, PluginOfficialWebhookKind, PluginOfficialWebhookEndpoint, PluginOfficialWebhookProvider, PluginOfficialWebhookCreateInput, PluginOfficialWebhookUpdateInput, PluginOfficialWebhookMessage, PluginOfficialWebhookSendResult, PluginOfficialSkillInfo, PluginOfficialInstalledSkill, PluginOfficialShortcutBinding, PluginOfficialQuickPanelSettings, PluginOfficialImStatus, PluginOfficialImLog, PluginOfficialMcpServerSummary, PluginOfficialMcpServerDetail, PluginOfficialMcpUpsertData, PluginOfficialExecutionMode, PluginOfficialSelectedSkill, PluginOfficialBatchProjectCreateData, PluginOfficialBatchProjectUpdateData, PluginOfficialSchedulerTaskCreateData, PluginOfficialSchedulerTaskUpdateData, PluginOfficialModelSummary, PluginOfficialProviderSummary, PluginOfficialProviderDetail, PluginOfficialProviderUpsertData, PluginOfficialProjectEntry, PluginOfficialSessionHandle, PluginOfficialNavigationOpenInput, PluginOfficialOpenFilesOptions, PluginOfficialOpenedFile, PluginOfficialSessionAccess, PluginOfficialSessionRunningEvent, PluginOfficialSessionSummary, PluginOfficialPluginSummary, PluginOfficialKnowledgeBase, PluginOfficialKnowledgeProcessingSettings, PluginOfficialApi, } from "./official.js";
21
24
  export type { PluginFsEntry, PluginFsFileRef, PluginFsBinaryReadResult, PluginFsStatResult, PluginFsReadResult, PluginFsApi, } from "./fs.js";
22
25
  export type { PluginCommandRunOptions, PluginCommandRunResult, PluginCommandSpawnOptions, PluginCommandSpawnExit, PluginCommandSpawnStatus, PluginCommandSpawnHandle, PluginCommandApi, } from "./command.js";
26
+ export type { PluginBrowserAction, PluginBrowserActionResult, PluginBrowserApi, PluginBrowserPageState, PluginBrowserProfile, PluginBrowserRuntimePhase, PluginBrowserRuntimeStatus, PluginBrowserScreenshot, PluginBrowserSession, PluginBrowserSessionOptions, PluginBrowserSessionStatus, PluginBrowserSnapshot, PluginBrowserSource, PluginBrowserTextContent, } from "./browser.js";
27
+ export type { PluginCaptureApi, PluginOffscreenCaptureOptions, PluginOffscreenCaptureResult, } from "./capture.js";
23
28
  export type { PluginImageRef } from "./images.js";
24
- export type { PluginPromptAttachment } from "./prompt-attachment.js";
29
+ export type { PluginArtifactDestination, PluginArtifactRef, PluginArtifactsApi, PluginPersistedArtifact, } from "./artifacts.js";
30
+ export type { PluginJob, PluginJobFailure, PluginJobProgress, PluginJobRef, PluginJobsApi, PluginJobStatus, PluginJobWaitOptions, } from "./jobs.js";
31
+ export type { PluginMediaApi, PluginMediaArtifact, PluginMediaCapability, PluginMediaComposeRequest, PluginMediaDimensions, PluginMediaErrorCode, PluginMediaFailure, PluginMediaGenerateRequest, PluginMediaGenerationInputSlot, PluginMediaGenerationMode, PluginMediaGenerationModeCapability, PluginMediaInput, PluginMediaInputSource, PluginMediaInputUploadRequest, PluginMediaJob, PluginMediaKind, PluginMediaOperation, PluginMediaOutput, PluginMediaOutputKind, PluginMediaProviderDescriptor, PluginMediaProviderArtifact, PluginMediaProviderArtifactSource, PluginMediaProviderHandlerContext, PluginMediaProviderInput, PluginMediaProviderJob, PluginMediaProviderRegistration, PluginMediaProviderSubmitRequest, PluginMediaSubmitRequest, PluginMediaTranscodeRequest, PluginMediaTransferResponse, } from "./media.js";
32
+ export { PluginMediaError } from "./media.js";
33
+ export type { PluginPromptAttachment, PluginPromptContext, PluginPromptContextJsonValue, } from "./prompt-attachment.js";
34
+ export { definePluginPromptContext } from "./prompt-attachment.js";
25
35
  export type { PluginNetworkApi, PluginNetworkBody, PluginNetworkRequest, PluginNetworkResponse, } from "./network.js";
26
- export type { PluginPutBlobInput, PluginStorageApi, PluginStoredBlob, PluginStoredBlobRef, } from "./storage.js";
36
+ export type { PluginGatewayApi, PluginGatewayRequest, PluginGatewayResponse } from "./gateway.js";
37
+ export type { PluginPutBlobInput, PluginPutBlobFromFileInput, PluginStorageApi, PluginStoredBlob, PluginStoredBlobRef, } from "./storage.js";
27
38
  export type { PluginSettingsApi } from "./settings.js";
28
39
  export type { PluginLocaleCatalog, PluginLocales, PluginTranslate, PluginI18nApi, } from "./i18n.js";
29
40
  export { interpolatePluginText, resolveCatalogKey, resolvePluginText } from "./i18n.js";
30
- export type { PluginPermissionApi, AgentMode, PluginContext, PluginDefinition } from "./context.js";
41
+ export type { PluginPermissionApi, AgentMode, PluginActivationCleanup, PluginContext, PluginDefinition, } from "./context.js";
31
42
  export { definePlugin } from "./context.js";
32
43
  export type { PluginHostBridge } from "./host-bridge.js";
33
44
  export { __setPluginHostBridge } from "./host-bridge.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @vetta-org/plugin-sdk public surface.\n *\n * Implementation is split by domain under `src/*.ts`; this barrel re-exports\n * the stable package API. Prefer importing from `@vetta-org/plugin-sdk` rather\n * than deep paths.\n */\n\n// Core primitives\nexport type { ConversationScenario } from \"./scenario.js\";\nexport type { PluginPermission } from \"./permissions.js\";\nexport type { Disposable } from \"./disposable.js\";\nexport type { PluginMcpServerConfig, PluginAgentManifest } from \"./manifest.js\";\n\n// File explorer\nexport type {\n\tPluginFileExplorerEntry,\n\tPluginWorkspaceRoot,\n\tPluginFileExplorerWhen,\n\tPluginFileExplorerActionContext,\n\tPluginFileExplorerContextMenuContribution,\n\tPluginFileExplorerToolbarContext,\n\tPluginFileExplorerToolbarContribution,\n\tPluginFileExplorerDecoration,\n\tPluginFileExplorerDecorationProvider,\n\tPluginFileExplorerChange,\n\tPluginFileExplorerRevealOptions,\n\tPluginFileExplorerApi,\n} from \"./file-explorer.js\";\n\n// Conversation\nexport type {\n\tConversationState,\n\tConversationMessage,\n\tConversationEvent,\n\tPluginConversationApi,\n} from \"./conversation.js\";\n\n// UI slots\nexport type {\n\tPluginGlobalSlotContribution,\n\tPluginAudioMetadata,\n\tPluginPreviewUrlOptions,\n\tPluginPreviewFile,\n\tPluginFilePreviewProps,\n\tPluginFilePreviewContribution,\n\tPluginActivityTabContribution,\n\tPluginCaptureRegion,\n\tPluginOpenActivityTabOptions,\n\tPluginPromptDecoration,\n\tPluginInputActionContribution,\n\tCardDescriptor,\n\tPluginPendingToolCall,\n\tPluginCardProps,\n\tPluginCardRendererContribution,\n\tPluginToolCallSlotToolCall,\n\tPluginToolCallSlotProps,\n\tPluginToolCallSlotContribution,\n\tPluginTurnCardContribution,\n\tPluginNotifyOptions,\n\tPluginUiApi,\n} from \"./ui.js\";\n\n// Keyboard shortcuts (host ShortcutScopeStack)\nexport type {\n\tPluginShortcutScopeKind,\n\tPluginShortcutWhen,\n\tPluginShortcutBinding,\n\tPluginShortcutScopeContribution,\n\tPluginRegisterShortcutScope,\n\tUsePluginShortcutScopeOptions,\n} from \"./shortcuts.js\";\nexport { usePluginShortcutScope } from \"./shortcuts.js\";\n\n// Agent runtime\nexport type {\n\tPluginJsonSchema,\n\tPluginAgentToolApi,\n\tPluginAgentToolRegistration,\n\tPluginSystemPromptBlock,\n\tPluginDynamicSystemPromptOperation,\n\tPluginSystemPromptMessage,\n\tPluginSystemPromptProviderContext,\n\tPluginSystemPromptBlockView,\n\tPluginAgentActions,\n\tPluginAgentHandlerContext,\n\tPluginAgentToolHandler,\n\tPluginSystemPromptProviderHandler,\n\tPluginSystemPromptProviderRegistration,\n\tPluginContinuationResult,\n\tPluginContinuationHandler,\n\tPluginContinuationRegistration,\n\tPluginAgentApi,\n} from \"./agent.js\";\n\n// App actions\nexport type {\n\tPluginAppActionEffect,\n\tPluginAppActionExample,\n\tPluginAppActionHandlerContext,\n\tPluginAppActionHandler,\n\tPluginAppActionReadyHandler,\n\tPluginAppActionApprovalPresentation,\n\tPluginAppActionApproval,\n\tPluginAppActionRegistration,\n\tPluginAppActionsApi,\n} from \"./app-actions.js\";\nexport { PluginAppActionError } from \"./app-actions.js\";\n\n// Official host capabilities\nexport type {\n\tPluginOfficialGeneralSettings,\n\tPluginOfficialGeneralSettingsUpdate,\n\tPluginOfficialExperimentalSettings,\n\tPluginOfficialDownloadItem,\n\tPluginOfficialUpdaterState,\n\tPluginOfficialWebhookKind,\n\tPluginOfficialWebhookEndpoint,\n\tPluginOfficialWebhookProvider,\n\tPluginOfficialWebhookCreateInput,\n\tPluginOfficialWebhookUpdateInput,\n\tPluginOfficialWebhookMessage,\n\tPluginOfficialWebhookSendResult,\n\tPluginOfficialSkillInfo,\n\tPluginOfficialInstalledSkill,\n\tPluginOfficialShortcutBinding,\n\tPluginOfficialQuickPanelSettings,\n\tPluginOfficialImStatus,\n\tPluginOfficialImLog,\n\tPluginOfficialMcpServerSummary,\n\tPluginOfficialMcpServerDetail,\n\tPluginOfficialMcpUpsertData,\n\tPluginOfficialExecutionMode,\n\tPluginOfficialSelectedSkill,\n\tPluginOfficialBatchProjectCreateData,\n\tPluginOfficialBatchProjectUpdateData,\n\tPluginOfficialSchedulerTaskCreateData,\n\tPluginOfficialSchedulerTaskUpdateData,\n\tPluginOfficialModelSummary,\n\tPluginOfficialProviderSummary,\n\tPluginOfficialProviderDetail,\n\tPluginOfficialProviderUpsertData,\n\tPluginOfficialProjectEntry,\n\tPluginOfficialPluginSummary,\n\tPluginOfficialKnowledgeBase,\n\tPluginOfficialKnowledgeProcessingSettings,\n\tPluginOfficialApi,\n} from \"./official.js\";\n\n// Files / command / images / settings\nexport type {\n\tPluginFsEntry,\n\tPluginFsFileRef,\n\tPluginFsBinaryReadResult,\n\tPluginFsStatResult,\n\tPluginFsReadResult,\n\tPluginFsApi,\n} from \"./fs.js\";\nexport type {\n\tPluginCommandRunOptions,\n\tPluginCommandRunResult,\n\tPluginCommandSpawnOptions,\n\tPluginCommandSpawnExit,\n\tPluginCommandSpawnStatus,\n\tPluginCommandSpawnHandle,\n\tPluginCommandApi,\n} from \"./command.js\";\nexport type { PluginImageRef } from \"./images.js\";\nexport type { PluginPromptAttachment } from \"./prompt-attachment.js\";\nexport type {\n\tPluginNetworkApi,\n\tPluginNetworkBody,\n\tPluginNetworkRequest,\n\tPluginNetworkResponse,\n} from \"./network.js\";\nexport type {\n\tPluginPutBlobInput,\n\tPluginStorageApi,\n\tPluginStoredBlob,\n\tPluginStoredBlobRef,\n} from \"./storage.js\";\nexport type { PluginSettingsApi } from \"./settings.js\";\n\n// i18n\nexport type {\n\tPluginLocaleCatalog,\n\tPluginLocales,\n\tPluginTranslate,\n\tPluginI18nApi,\n} from \"./i18n.js\";\nexport { interpolatePluginText, resolveCatalogKey, resolvePluginText } from \"./i18n.js\";\n\n// Context & lifecycle\nexport type { PluginPermissionApi, AgentMode, PluginContext, PluginDefinition } from \"./context.js\";\nexport { definePlugin } from \"./context.js\";\n\n// Host bridge (host-injected; plugins use hooks)\nexport type { PluginHostBridge } from \"./host-bridge.js\";\nexport { __setPluginHostBridge } from \"./host-bridge.js\";\n\n// Activity tab context\nexport type { ActivityTabContextValue } from \"./activity-tab.js\";\nexport { __ActivityTabContext, useActivityTab } from \"./activity-tab.js\";\n\n// React hooks\nexport type { PluginI18nContextValue, PluginTranslation } from \"./hooks.js\";\nexport {\n\t__PluginI18nContext,\n\tuseTranslation,\n\tuseActiveConversation,\n\tuseConversationMessages,\n\tusePromptAttachment,\n} from \"./hooks.js\";\n"]}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @vetta-org/plugin-sdk public surface.\n *\n * Implementation is split by domain under `src/*.ts`; this barrel re-exports\n * the stable package API. Prefer importing from `@vetta-org/plugin-sdk` rather\n * than deep paths.\n */\n\n// Core primitives\nexport type { ConversationScenario } from \"./scenario.js\";\nexport { PLUGIN_PERMISSIONS } from \"./permissions.js\";\nexport type { PluginPermission } from \"./permissions.js\";\nexport type { Disposable } from \"./disposable.js\";\nexport type {\n\tPluginAgentManifest,\n\tPluginBrowserManifest,\n\tPluginManifest,\n\tPluginManifestInput,\n\tPluginManifestResourceReference,\n\tPluginMcpServerConfig,\n\tPluginNetworkManifest,\n\tPluginSettingSchema,\n} from \"./manifest.js\";\n\n// File explorer\nexport type {\n\tPluginFileExplorerEntry,\n\tPluginWorkspaceRoot,\n\tPluginFileExplorerWhen,\n\tPluginFileExplorerActionContext,\n\tPluginFileExplorerContextMenuContribution,\n\tPluginFileExplorerToolbarContext,\n\tPluginFileExplorerToolbarContribution,\n\tPluginFileExplorerDecoration,\n\tPluginFileExplorerDecorationProvider,\n\tPluginFileExplorerChange,\n\tPluginFileExplorerRevealOptions,\n\tPluginFileExplorerApi,\n} from \"./file-explorer.js\";\n\n// Conversation\nexport type {\n\tConversationState,\n\tConversationMessage,\n\tConversationEvent,\n\tConversationQueueState,\n\tCreateSessionOptions,\n\tPluginConversationApi,\n\tSendPromptResult,\n} from \"./conversation.js\";\n\n// UI slots\nexport type {\n\tPluginGlobalSlotContribution,\n\tPluginNavBadge,\n\tPluginNavBadgeTone,\n\tPluginWorkspaceViewProps,\n\tPluginWorkspaceViewContribution,\n\tPluginWorkspaceViewHeader,\n\tPluginAudioMetadata,\n\tPluginPreviewUrlOptions,\n\tPluginPreviewFile,\n\tPluginFilePreviewProps,\n\tPluginFilePreviewContribution,\n\tPluginActivityTabContribution,\n\tPluginActivityTabRetention,\n\tPluginActivityTabTargetOptions,\n\tPluginCaptureRegion,\n\tPluginOpenActivityTabOptions,\n\tPluginPromptDecoration,\n\tPluginInputActionContribution,\n\tCardDescriptor,\n\tPluginPendingToolCall,\n\tPluginCardProps,\n\tPluginCardRendererContribution,\n\tPluginToolCallSlotToolCall,\n\tPluginToolCallSlotProps,\n\tPluginToolCallSlotContribution,\n\tPluginTurnCardContribution,\n\tPluginNotifyOptions,\n\tPluginUiApi,\n} from \"./ui.js\";\n\n// Keyboard shortcuts (host ShortcutScopeStack)\nexport type {\n\tPluginShortcutScopeKind,\n\tPluginShortcutWhen,\n\tPluginShortcutBinding,\n\tPluginShortcutScopeContribution,\n\tPluginRegisterShortcutScope,\n\tUsePluginShortcutScopeOptions,\n} from \"./shortcuts.js\";\nexport { usePluginShortcutScope } from \"./shortcuts.js\";\n\n// Agent runtime\nexport type {\n\tPluginJsonSchema,\n\tPluginAgentToolApi,\n\tPluginAgentToolRegistration,\n\tPluginSystemPromptBlock,\n\tPluginDynamicSystemPromptOperation,\n\tPluginSystemPromptMessage,\n\tPluginSystemPromptProviderContext,\n\tPluginSystemPromptBlockView,\n\tPluginAgentActions,\n\tPluginAgentHandlerContext,\n\tPluginAgentToolHandler,\n\tPluginCodingAgentHookEvent,\n\tPluginCodingAgentHookEventName,\n\tPluginCodingAgentHookEventOf,\n\tPluginCodingAgentHookHandler,\n\tPluginCodingAgentHookHandlerContext,\n\tPluginCodingAgentHookRegistration,\n\tPluginCodingAgentHookResult,\n\tPluginCodingAgentHookTool,\n\tPluginCodingAgentPermissionMode,\n\tPluginSystemPromptProviderHandler,\n\tPluginSystemPromptProviderRegistration,\n\tPluginContinuationResult,\n\tPluginContinuationHandler,\n\tPluginContinuationRegistration,\n\tPluginAgentApi,\n} from \"./agent.js\";\nexport { PLUGIN_CODING_AGENT_HOOK_EVENT_NAMES } from \"./agent.js\";\n\n// App actions\nexport type {\n\tPluginAppActionEffect,\n\tPluginAppActionExample,\n\tPluginAppActionHandlerContext,\n\tPluginAppActionHandler,\n\tPluginAppActionReadyHandler,\n\tPluginAppActionApprovalPresentation,\n\tPluginAppActionApproval,\n\tPluginAppActionRegistration,\n\tPluginAppActionUsage,\n\tPluginAppActionsApi,\n} from \"./app-actions.js\";\nexport { PluginAppActionError } from \"./app-actions.js\";\n\n// Host-managed AI\nexport type {\n\tPluginAiApi,\n\tPluginAiChatAssistantMessage,\n\tPluginAiChatMessage,\n\tPluginAiChatRequest,\n\tPluginAiChatResult,\n\tPluginAiChatTool,\n\tPluginAiChatToolResultMessage,\n\tPluginAiChatUserMessage,\n\tPluginAiCompleteRequest,\n\tPluginAiCompleteResult,\n\tPluginAiModel,\n\tPluginAiModelListResult,\n\tPluginAiToolCall,\n\tPluginAiUsage,\n} from \"./ai.js\";\n\n// Official host capabilities\nexport type {\n\tPluginOfficialGeneralSettings,\n\tPluginOfficialGeneralSettingsUpdate,\n\tPluginOfficialExperimentalSettings,\n\tPluginOfficialDownloadItem,\n\tPluginOfficialUpdaterState,\n\tPluginOfficialWebhookKind,\n\tPluginOfficialWebhookEndpoint,\n\tPluginOfficialWebhookProvider,\n\tPluginOfficialWebhookCreateInput,\n\tPluginOfficialWebhookUpdateInput,\n\tPluginOfficialWebhookMessage,\n\tPluginOfficialWebhookSendResult,\n\tPluginOfficialSkillInfo,\n\tPluginOfficialInstalledSkill,\n\tPluginOfficialShortcutBinding,\n\tPluginOfficialQuickPanelSettings,\n\tPluginOfficialImStatus,\n\tPluginOfficialImLog,\n\tPluginOfficialMcpServerSummary,\n\tPluginOfficialMcpServerDetail,\n\tPluginOfficialMcpUpsertData,\n\tPluginOfficialExecutionMode,\n\tPluginOfficialSelectedSkill,\n\tPluginOfficialBatchProjectCreateData,\n\tPluginOfficialBatchProjectUpdateData,\n\tPluginOfficialSchedulerTaskCreateData,\n\tPluginOfficialSchedulerTaskUpdateData,\n\tPluginOfficialModelSummary,\n\tPluginOfficialProviderSummary,\n\tPluginOfficialProviderDetail,\n\tPluginOfficialProviderUpsertData,\n\tPluginOfficialProjectEntry,\n\tPluginOfficialSessionHandle,\n\tPluginOfficialNavigationOpenInput,\n\tPluginOfficialOpenFilesOptions,\n\tPluginOfficialOpenedFile,\n\tPluginOfficialSessionAccess,\n\tPluginOfficialSessionRunningEvent,\n\tPluginOfficialSessionSummary,\n\tPluginOfficialPluginSummary,\n\tPluginOfficialKnowledgeBase,\n\tPluginOfficialKnowledgeProcessingSettings,\n\tPluginOfficialApi,\n} from \"./official.js\";\n\n// Files / command / images / settings\nexport type {\n\tPluginFsEntry,\n\tPluginFsFileRef,\n\tPluginFsBinaryReadResult,\n\tPluginFsStatResult,\n\tPluginFsReadResult,\n\tPluginFsApi,\n} from \"./fs.js\";\nexport type {\n\tPluginCommandRunOptions,\n\tPluginCommandRunResult,\n\tPluginCommandSpawnOptions,\n\tPluginCommandSpawnExit,\n\tPluginCommandSpawnStatus,\n\tPluginCommandSpawnHandle,\n\tPluginCommandApi,\n} from \"./command.js\";\nexport type {\n\tPluginBrowserAction,\n\tPluginBrowserActionResult,\n\tPluginBrowserApi,\n\tPluginBrowserPageState,\n\tPluginBrowserProfile,\n\tPluginBrowserRuntimePhase,\n\tPluginBrowserRuntimeStatus,\n\tPluginBrowserScreenshot,\n\tPluginBrowserSession,\n\tPluginBrowserSessionOptions,\n\tPluginBrowserSessionStatus,\n\tPluginBrowserSnapshot,\n\tPluginBrowserSource,\n\tPluginBrowserTextContent,\n} from \"./browser.js\";\nexport type {\n\tPluginCaptureApi,\n\tPluginOffscreenCaptureOptions,\n\tPluginOffscreenCaptureResult,\n} from \"./capture.js\";\nexport type { PluginImageRef } from \"./images.js\";\nexport type {\n\tPluginArtifactDestination,\n\tPluginArtifactRef,\n\tPluginArtifactsApi,\n\tPluginPersistedArtifact,\n} from \"./artifacts.js\";\nexport type {\n\tPluginJob,\n\tPluginJobFailure,\n\tPluginJobProgress,\n\tPluginJobRef,\n\tPluginJobsApi,\n\tPluginJobStatus,\n\tPluginJobWaitOptions,\n} from \"./jobs.js\";\nexport type {\n\tPluginMediaApi,\n\tPluginMediaArtifact,\n\tPluginMediaCapability,\n\tPluginMediaComposeRequest,\n\tPluginMediaDimensions,\n\tPluginMediaErrorCode,\n\tPluginMediaFailure,\n\tPluginMediaGenerateRequest,\n\tPluginMediaGenerationInputSlot,\n\tPluginMediaGenerationMode,\n\tPluginMediaGenerationModeCapability,\n\tPluginMediaInput,\n\tPluginMediaInputSource,\n\tPluginMediaInputUploadRequest,\n\tPluginMediaJob,\n\tPluginMediaKind,\n\tPluginMediaOperation,\n\tPluginMediaOutput,\n\tPluginMediaOutputKind,\n\tPluginMediaProviderDescriptor,\n\tPluginMediaProviderArtifact,\n\tPluginMediaProviderArtifactSource,\n\tPluginMediaProviderHandlerContext,\n\tPluginMediaProviderInput,\n\tPluginMediaProviderJob,\n\tPluginMediaProviderRegistration,\n\tPluginMediaProviderSubmitRequest,\n\tPluginMediaSubmitRequest,\n\tPluginMediaTranscodeRequest,\n\tPluginMediaTransferResponse,\n} from \"./media.js\";\nexport { PluginMediaError } from \"./media.js\";\nexport type {\n\tPluginPromptAttachment,\n\tPluginPromptContext,\n\tPluginPromptContextJsonValue,\n} from \"./prompt-attachment.js\";\nexport { definePluginPromptContext } from \"./prompt-attachment.js\";\nexport type {\n\tPluginNetworkApi,\n\tPluginNetworkBody,\n\tPluginNetworkRequest,\n\tPluginNetworkResponse,\n} from \"./network.js\";\nexport type { PluginGatewayApi, PluginGatewayRequest, PluginGatewayResponse } from \"./gateway.js\";\nexport type {\n\tPluginPutBlobInput,\n\tPluginPutBlobFromFileInput,\n\tPluginStorageApi,\n\tPluginStoredBlob,\n\tPluginStoredBlobRef,\n} from \"./storage.js\";\nexport type { PluginSettingsApi } from \"./settings.js\";\n\n// i18n\nexport type {\n\tPluginLocaleCatalog,\n\tPluginLocales,\n\tPluginTranslate,\n\tPluginI18nApi,\n} from \"./i18n.js\";\nexport { interpolatePluginText, resolveCatalogKey, resolvePluginText } from \"./i18n.js\";\n\n// Context & lifecycle\nexport type {\n\tPluginPermissionApi,\n\tAgentMode,\n\tPluginActivationCleanup,\n\tPluginContext,\n\tPluginDefinition,\n} from \"./context.js\";\nexport { definePlugin } from \"./context.js\";\n\n// Host bridge (host-injected; plugins use hooks)\nexport type { PluginHostBridge } from \"./host-bridge.js\";\nexport { __setPluginHostBridge } from \"./host-bridge.js\";\n\n// Activity tab context\nexport type { ActivityTabContextValue } from \"./activity-tab.js\";\nexport { __ActivityTabContext, useActivityTab } from \"./activity-tab.js\";\n\n// React hooks\nexport type { PluginI18nContextValue, PluginTranslation } from \"./hooks.js\";\nexport {\n\t__PluginI18nContext,\n\tuseTranslation,\n\tuseActiveConversation,\n\tuseConversationMessages,\n\tusePromptAttachment,\n} from \"./hooks.js\";\n"]}
package/dist/index.js CHANGED
@@ -5,8 +5,12 @@
5
5
  * the stable package API. Prefer importing from `@vetta-org/plugin-sdk` rather
6
6
  * than deep paths.
7
7
  */
8
+ export { PLUGIN_PERMISSIONS } from "./permissions.js";
8
9
  export { usePluginShortcutScope } from "./shortcuts.js";
10
+ export { PLUGIN_CODING_AGENT_HOOK_EVENT_NAMES } from "./agent.js";
9
11
  export { PluginAppActionError } from "./app-actions.js";
12
+ export { PluginMediaError } from "./media.js";
13
+ export { definePluginPromptContext } from "./prompt-attachment.js";
10
14
  export { interpolatePluginText, resolveCatalogKey, resolvePluginText } from "./i18n.js";
11
15
  export { definePlugin } from "./context.js";
12
16
  export { __setPluginHostBridge } from "./host-bridge.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAkEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAmCxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAmFxD,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAIxF,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAI5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAIzD,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAIzE,OAAO,EACN,mBAAmB,EACnB,cAAc,EACd,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,GACnB,MAAM,YAAY,CAAC","sourcesContent":["/**\n * @vetta-org/plugin-sdk public surface.\n *\n * Implementation is split by domain under `src/*.ts`; this barrel re-exports\n * the stable package API. Prefer importing from `@vetta-org/plugin-sdk` rather\n * than deep paths.\n */\n\n// Core primitives\nexport type { ConversationScenario } from \"./scenario.js\";\nexport type { PluginPermission } from \"./permissions.js\";\nexport type { Disposable } from \"./disposable.js\";\nexport type { PluginMcpServerConfig, PluginAgentManifest } from \"./manifest.js\";\n\n// File explorer\nexport type {\n\tPluginFileExplorerEntry,\n\tPluginWorkspaceRoot,\n\tPluginFileExplorerWhen,\n\tPluginFileExplorerActionContext,\n\tPluginFileExplorerContextMenuContribution,\n\tPluginFileExplorerToolbarContext,\n\tPluginFileExplorerToolbarContribution,\n\tPluginFileExplorerDecoration,\n\tPluginFileExplorerDecorationProvider,\n\tPluginFileExplorerChange,\n\tPluginFileExplorerRevealOptions,\n\tPluginFileExplorerApi,\n} from \"./file-explorer.js\";\n\n// Conversation\nexport type {\n\tConversationState,\n\tConversationMessage,\n\tConversationEvent,\n\tPluginConversationApi,\n} from \"./conversation.js\";\n\n// UI slots\nexport type {\n\tPluginGlobalSlotContribution,\n\tPluginAudioMetadata,\n\tPluginPreviewUrlOptions,\n\tPluginPreviewFile,\n\tPluginFilePreviewProps,\n\tPluginFilePreviewContribution,\n\tPluginActivityTabContribution,\n\tPluginCaptureRegion,\n\tPluginOpenActivityTabOptions,\n\tPluginPromptDecoration,\n\tPluginInputActionContribution,\n\tCardDescriptor,\n\tPluginPendingToolCall,\n\tPluginCardProps,\n\tPluginCardRendererContribution,\n\tPluginToolCallSlotToolCall,\n\tPluginToolCallSlotProps,\n\tPluginToolCallSlotContribution,\n\tPluginTurnCardContribution,\n\tPluginNotifyOptions,\n\tPluginUiApi,\n} from \"./ui.js\";\n\n// Keyboard shortcuts (host ShortcutScopeStack)\nexport type {\n\tPluginShortcutScopeKind,\n\tPluginShortcutWhen,\n\tPluginShortcutBinding,\n\tPluginShortcutScopeContribution,\n\tPluginRegisterShortcutScope,\n\tUsePluginShortcutScopeOptions,\n} from \"./shortcuts.js\";\nexport { usePluginShortcutScope } from \"./shortcuts.js\";\n\n// Agent runtime\nexport type {\n\tPluginJsonSchema,\n\tPluginAgentToolApi,\n\tPluginAgentToolRegistration,\n\tPluginSystemPromptBlock,\n\tPluginDynamicSystemPromptOperation,\n\tPluginSystemPromptMessage,\n\tPluginSystemPromptProviderContext,\n\tPluginSystemPromptBlockView,\n\tPluginAgentActions,\n\tPluginAgentHandlerContext,\n\tPluginAgentToolHandler,\n\tPluginSystemPromptProviderHandler,\n\tPluginSystemPromptProviderRegistration,\n\tPluginContinuationResult,\n\tPluginContinuationHandler,\n\tPluginContinuationRegistration,\n\tPluginAgentApi,\n} from \"./agent.js\";\n\n// App actions\nexport type {\n\tPluginAppActionEffect,\n\tPluginAppActionExample,\n\tPluginAppActionHandlerContext,\n\tPluginAppActionHandler,\n\tPluginAppActionReadyHandler,\n\tPluginAppActionApprovalPresentation,\n\tPluginAppActionApproval,\n\tPluginAppActionRegistration,\n\tPluginAppActionsApi,\n} from \"./app-actions.js\";\nexport { PluginAppActionError } from \"./app-actions.js\";\n\n// Official host capabilities\nexport type {\n\tPluginOfficialGeneralSettings,\n\tPluginOfficialGeneralSettingsUpdate,\n\tPluginOfficialExperimentalSettings,\n\tPluginOfficialDownloadItem,\n\tPluginOfficialUpdaterState,\n\tPluginOfficialWebhookKind,\n\tPluginOfficialWebhookEndpoint,\n\tPluginOfficialWebhookProvider,\n\tPluginOfficialWebhookCreateInput,\n\tPluginOfficialWebhookUpdateInput,\n\tPluginOfficialWebhookMessage,\n\tPluginOfficialWebhookSendResult,\n\tPluginOfficialSkillInfo,\n\tPluginOfficialInstalledSkill,\n\tPluginOfficialShortcutBinding,\n\tPluginOfficialQuickPanelSettings,\n\tPluginOfficialImStatus,\n\tPluginOfficialImLog,\n\tPluginOfficialMcpServerSummary,\n\tPluginOfficialMcpServerDetail,\n\tPluginOfficialMcpUpsertData,\n\tPluginOfficialExecutionMode,\n\tPluginOfficialSelectedSkill,\n\tPluginOfficialBatchProjectCreateData,\n\tPluginOfficialBatchProjectUpdateData,\n\tPluginOfficialSchedulerTaskCreateData,\n\tPluginOfficialSchedulerTaskUpdateData,\n\tPluginOfficialModelSummary,\n\tPluginOfficialProviderSummary,\n\tPluginOfficialProviderDetail,\n\tPluginOfficialProviderUpsertData,\n\tPluginOfficialProjectEntry,\n\tPluginOfficialPluginSummary,\n\tPluginOfficialKnowledgeBase,\n\tPluginOfficialKnowledgeProcessingSettings,\n\tPluginOfficialApi,\n} from \"./official.js\";\n\n// Files / command / images / settings\nexport type {\n\tPluginFsEntry,\n\tPluginFsFileRef,\n\tPluginFsBinaryReadResult,\n\tPluginFsStatResult,\n\tPluginFsReadResult,\n\tPluginFsApi,\n} from \"./fs.js\";\nexport type {\n\tPluginCommandRunOptions,\n\tPluginCommandRunResult,\n\tPluginCommandSpawnOptions,\n\tPluginCommandSpawnExit,\n\tPluginCommandSpawnStatus,\n\tPluginCommandSpawnHandle,\n\tPluginCommandApi,\n} from \"./command.js\";\nexport type { PluginImageRef } from \"./images.js\";\nexport type { PluginPromptAttachment } from \"./prompt-attachment.js\";\nexport type {\n\tPluginNetworkApi,\n\tPluginNetworkBody,\n\tPluginNetworkRequest,\n\tPluginNetworkResponse,\n} from \"./network.js\";\nexport type {\n\tPluginPutBlobInput,\n\tPluginStorageApi,\n\tPluginStoredBlob,\n\tPluginStoredBlobRef,\n} from \"./storage.js\";\nexport type { PluginSettingsApi } from \"./settings.js\";\n\n// i18n\nexport type {\n\tPluginLocaleCatalog,\n\tPluginLocales,\n\tPluginTranslate,\n\tPluginI18nApi,\n} from \"./i18n.js\";\nexport { interpolatePluginText, resolveCatalogKey, resolvePluginText } from \"./i18n.js\";\n\n// Context & lifecycle\nexport type { PluginPermissionApi, AgentMode, PluginContext, PluginDefinition } from \"./context.js\";\nexport { definePlugin } from \"./context.js\";\n\n// Host bridge (host-injected; plugins use hooks)\nexport type { PluginHostBridge } from \"./host-bridge.js\";\nexport { __setPluginHostBridge } from \"./host-bridge.js\";\n\n// Activity tab context\nexport type { ActivityTabContextValue } from \"./activity-tab.js\";\nexport { __ActivityTabContext, useActivityTab } from \"./activity-tab.js\";\n\n// React hooks\nexport type { PluginI18nContextValue, PluginTranslation } from \"./hooks.js\";\nexport {\n\t__PluginI18nContext,\n\tuseTranslation,\n\tuseActiveConversation,\n\tuseConversationMessages,\n\tusePromptAttachment,\n} from \"./hooks.js\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAkFtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AA+BxD,OAAO,EAAE,oCAAoC,EAAE,MAAM,YAAY,CAAC;AAelE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AA0JxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAM9C,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAwBnE,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAUxF,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAI5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAIzD,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAIzE,OAAO,EACN,mBAAmB,EACnB,cAAc,EACd,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,GACnB,MAAM,YAAY,CAAC","sourcesContent":["/**\n * @vetta-org/plugin-sdk public surface.\n *\n * Implementation is split by domain under `src/*.ts`; this barrel re-exports\n * the stable package API. Prefer importing from `@vetta-org/plugin-sdk` rather\n * than deep paths.\n */\n\n// Core primitives\nexport type { ConversationScenario } from \"./scenario.js\";\nexport { PLUGIN_PERMISSIONS } from \"./permissions.js\";\nexport type { PluginPermission } from \"./permissions.js\";\nexport type { Disposable } from \"./disposable.js\";\nexport type {\n\tPluginAgentManifest,\n\tPluginBrowserManifest,\n\tPluginManifest,\n\tPluginManifestInput,\n\tPluginManifestResourceReference,\n\tPluginMcpServerConfig,\n\tPluginNetworkManifest,\n\tPluginSettingSchema,\n} from \"./manifest.js\";\n\n// File explorer\nexport type {\n\tPluginFileExplorerEntry,\n\tPluginWorkspaceRoot,\n\tPluginFileExplorerWhen,\n\tPluginFileExplorerActionContext,\n\tPluginFileExplorerContextMenuContribution,\n\tPluginFileExplorerToolbarContext,\n\tPluginFileExplorerToolbarContribution,\n\tPluginFileExplorerDecoration,\n\tPluginFileExplorerDecorationProvider,\n\tPluginFileExplorerChange,\n\tPluginFileExplorerRevealOptions,\n\tPluginFileExplorerApi,\n} from \"./file-explorer.js\";\n\n// Conversation\nexport type {\n\tConversationState,\n\tConversationMessage,\n\tConversationEvent,\n\tConversationQueueState,\n\tCreateSessionOptions,\n\tPluginConversationApi,\n\tSendPromptResult,\n} from \"./conversation.js\";\n\n// UI slots\nexport type {\n\tPluginGlobalSlotContribution,\n\tPluginNavBadge,\n\tPluginNavBadgeTone,\n\tPluginWorkspaceViewProps,\n\tPluginWorkspaceViewContribution,\n\tPluginWorkspaceViewHeader,\n\tPluginAudioMetadata,\n\tPluginPreviewUrlOptions,\n\tPluginPreviewFile,\n\tPluginFilePreviewProps,\n\tPluginFilePreviewContribution,\n\tPluginActivityTabContribution,\n\tPluginActivityTabRetention,\n\tPluginActivityTabTargetOptions,\n\tPluginCaptureRegion,\n\tPluginOpenActivityTabOptions,\n\tPluginPromptDecoration,\n\tPluginInputActionContribution,\n\tCardDescriptor,\n\tPluginPendingToolCall,\n\tPluginCardProps,\n\tPluginCardRendererContribution,\n\tPluginToolCallSlotToolCall,\n\tPluginToolCallSlotProps,\n\tPluginToolCallSlotContribution,\n\tPluginTurnCardContribution,\n\tPluginNotifyOptions,\n\tPluginUiApi,\n} from \"./ui.js\";\n\n// Keyboard shortcuts (host ShortcutScopeStack)\nexport type {\n\tPluginShortcutScopeKind,\n\tPluginShortcutWhen,\n\tPluginShortcutBinding,\n\tPluginShortcutScopeContribution,\n\tPluginRegisterShortcutScope,\n\tUsePluginShortcutScopeOptions,\n} from \"./shortcuts.js\";\nexport { usePluginShortcutScope } from \"./shortcuts.js\";\n\n// Agent runtime\nexport type {\n\tPluginJsonSchema,\n\tPluginAgentToolApi,\n\tPluginAgentToolRegistration,\n\tPluginSystemPromptBlock,\n\tPluginDynamicSystemPromptOperation,\n\tPluginSystemPromptMessage,\n\tPluginSystemPromptProviderContext,\n\tPluginSystemPromptBlockView,\n\tPluginAgentActions,\n\tPluginAgentHandlerContext,\n\tPluginAgentToolHandler,\n\tPluginCodingAgentHookEvent,\n\tPluginCodingAgentHookEventName,\n\tPluginCodingAgentHookEventOf,\n\tPluginCodingAgentHookHandler,\n\tPluginCodingAgentHookHandlerContext,\n\tPluginCodingAgentHookRegistration,\n\tPluginCodingAgentHookResult,\n\tPluginCodingAgentHookTool,\n\tPluginCodingAgentPermissionMode,\n\tPluginSystemPromptProviderHandler,\n\tPluginSystemPromptProviderRegistration,\n\tPluginContinuationResult,\n\tPluginContinuationHandler,\n\tPluginContinuationRegistration,\n\tPluginAgentApi,\n} from \"./agent.js\";\nexport { PLUGIN_CODING_AGENT_HOOK_EVENT_NAMES } from \"./agent.js\";\n\n// App actions\nexport type {\n\tPluginAppActionEffect,\n\tPluginAppActionExample,\n\tPluginAppActionHandlerContext,\n\tPluginAppActionHandler,\n\tPluginAppActionReadyHandler,\n\tPluginAppActionApprovalPresentation,\n\tPluginAppActionApproval,\n\tPluginAppActionRegistration,\n\tPluginAppActionUsage,\n\tPluginAppActionsApi,\n} from \"./app-actions.js\";\nexport { PluginAppActionError } from \"./app-actions.js\";\n\n// Host-managed AI\nexport type {\n\tPluginAiApi,\n\tPluginAiChatAssistantMessage,\n\tPluginAiChatMessage,\n\tPluginAiChatRequest,\n\tPluginAiChatResult,\n\tPluginAiChatTool,\n\tPluginAiChatToolResultMessage,\n\tPluginAiChatUserMessage,\n\tPluginAiCompleteRequest,\n\tPluginAiCompleteResult,\n\tPluginAiModel,\n\tPluginAiModelListResult,\n\tPluginAiToolCall,\n\tPluginAiUsage,\n} from \"./ai.js\";\n\n// Official host capabilities\nexport type {\n\tPluginOfficialGeneralSettings,\n\tPluginOfficialGeneralSettingsUpdate,\n\tPluginOfficialExperimentalSettings,\n\tPluginOfficialDownloadItem,\n\tPluginOfficialUpdaterState,\n\tPluginOfficialWebhookKind,\n\tPluginOfficialWebhookEndpoint,\n\tPluginOfficialWebhookProvider,\n\tPluginOfficialWebhookCreateInput,\n\tPluginOfficialWebhookUpdateInput,\n\tPluginOfficialWebhookMessage,\n\tPluginOfficialWebhookSendResult,\n\tPluginOfficialSkillInfo,\n\tPluginOfficialInstalledSkill,\n\tPluginOfficialShortcutBinding,\n\tPluginOfficialQuickPanelSettings,\n\tPluginOfficialImStatus,\n\tPluginOfficialImLog,\n\tPluginOfficialMcpServerSummary,\n\tPluginOfficialMcpServerDetail,\n\tPluginOfficialMcpUpsertData,\n\tPluginOfficialExecutionMode,\n\tPluginOfficialSelectedSkill,\n\tPluginOfficialBatchProjectCreateData,\n\tPluginOfficialBatchProjectUpdateData,\n\tPluginOfficialSchedulerTaskCreateData,\n\tPluginOfficialSchedulerTaskUpdateData,\n\tPluginOfficialModelSummary,\n\tPluginOfficialProviderSummary,\n\tPluginOfficialProviderDetail,\n\tPluginOfficialProviderUpsertData,\n\tPluginOfficialProjectEntry,\n\tPluginOfficialSessionHandle,\n\tPluginOfficialNavigationOpenInput,\n\tPluginOfficialOpenFilesOptions,\n\tPluginOfficialOpenedFile,\n\tPluginOfficialSessionAccess,\n\tPluginOfficialSessionRunningEvent,\n\tPluginOfficialSessionSummary,\n\tPluginOfficialPluginSummary,\n\tPluginOfficialKnowledgeBase,\n\tPluginOfficialKnowledgeProcessingSettings,\n\tPluginOfficialApi,\n} from \"./official.js\";\n\n// Files / command / images / settings\nexport type {\n\tPluginFsEntry,\n\tPluginFsFileRef,\n\tPluginFsBinaryReadResult,\n\tPluginFsStatResult,\n\tPluginFsReadResult,\n\tPluginFsApi,\n} from \"./fs.js\";\nexport type {\n\tPluginCommandRunOptions,\n\tPluginCommandRunResult,\n\tPluginCommandSpawnOptions,\n\tPluginCommandSpawnExit,\n\tPluginCommandSpawnStatus,\n\tPluginCommandSpawnHandle,\n\tPluginCommandApi,\n} from \"./command.js\";\nexport type {\n\tPluginBrowserAction,\n\tPluginBrowserActionResult,\n\tPluginBrowserApi,\n\tPluginBrowserPageState,\n\tPluginBrowserProfile,\n\tPluginBrowserRuntimePhase,\n\tPluginBrowserRuntimeStatus,\n\tPluginBrowserScreenshot,\n\tPluginBrowserSession,\n\tPluginBrowserSessionOptions,\n\tPluginBrowserSessionStatus,\n\tPluginBrowserSnapshot,\n\tPluginBrowserSource,\n\tPluginBrowserTextContent,\n} from \"./browser.js\";\nexport type {\n\tPluginCaptureApi,\n\tPluginOffscreenCaptureOptions,\n\tPluginOffscreenCaptureResult,\n} from \"./capture.js\";\nexport type { PluginImageRef } from \"./images.js\";\nexport type {\n\tPluginArtifactDestination,\n\tPluginArtifactRef,\n\tPluginArtifactsApi,\n\tPluginPersistedArtifact,\n} from \"./artifacts.js\";\nexport type {\n\tPluginJob,\n\tPluginJobFailure,\n\tPluginJobProgress,\n\tPluginJobRef,\n\tPluginJobsApi,\n\tPluginJobStatus,\n\tPluginJobWaitOptions,\n} from \"./jobs.js\";\nexport type {\n\tPluginMediaApi,\n\tPluginMediaArtifact,\n\tPluginMediaCapability,\n\tPluginMediaComposeRequest,\n\tPluginMediaDimensions,\n\tPluginMediaErrorCode,\n\tPluginMediaFailure,\n\tPluginMediaGenerateRequest,\n\tPluginMediaGenerationInputSlot,\n\tPluginMediaGenerationMode,\n\tPluginMediaGenerationModeCapability,\n\tPluginMediaInput,\n\tPluginMediaInputSource,\n\tPluginMediaInputUploadRequest,\n\tPluginMediaJob,\n\tPluginMediaKind,\n\tPluginMediaOperation,\n\tPluginMediaOutput,\n\tPluginMediaOutputKind,\n\tPluginMediaProviderDescriptor,\n\tPluginMediaProviderArtifact,\n\tPluginMediaProviderArtifactSource,\n\tPluginMediaProviderHandlerContext,\n\tPluginMediaProviderInput,\n\tPluginMediaProviderJob,\n\tPluginMediaProviderRegistration,\n\tPluginMediaProviderSubmitRequest,\n\tPluginMediaSubmitRequest,\n\tPluginMediaTranscodeRequest,\n\tPluginMediaTransferResponse,\n} from \"./media.js\";\nexport { PluginMediaError } from \"./media.js\";\nexport type {\n\tPluginPromptAttachment,\n\tPluginPromptContext,\n\tPluginPromptContextJsonValue,\n} from \"./prompt-attachment.js\";\nexport { definePluginPromptContext } from \"./prompt-attachment.js\";\nexport type {\n\tPluginNetworkApi,\n\tPluginNetworkBody,\n\tPluginNetworkRequest,\n\tPluginNetworkResponse,\n} from \"./network.js\";\nexport type { PluginGatewayApi, PluginGatewayRequest, PluginGatewayResponse } from \"./gateway.js\";\nexport type {\n\tPluginPutBlobInput,\n\tPluginPutBlobFromFileInput,\n\tPluginStorageApi,\n\tPluginStoredBlob,\n\tPluginStoredBlobRef,\n} from \"./storage.js\";\nexport type { PluginSettingsApi } from \"./settings.js\";\n\n// i18n\nexport type {\n\tPluginLocaleCatalog,\n\tPluginLocales,\n\tPluginTranslate,\n\tPluginI18nApi,\n} from \"./i18n.js\";\nexport { interpolatePluginText, resolveCatalogKey, resolvePluginText } from \"./i18n.js\";\n\n// Context & lifecycle\nexport type {\n\tPluginPermissionApi,\n\tAgentMode,\n\tPluginActivationCleanup,\n\tPluginContext,\n\tPluginDefinition,\n} from \"./context.js\";\nexport { definePlugin } from \"./context.js\";\n\n// Host bridge (host-injected; plugins use hooks)\nexport type { PluginHostBridge } from \"./host-bridge.js\";\nexport { __setPluginHostBridge } from \"./host-bridge.js\";\n\n// Activity tab context\nexport type { ActivityTabContextValue } from \"./activity-tab.js\";\nexport { __ActivityTabContext, useActivityTab } from \"./activity-tab.js\";\n\n// React hooks\nexport type { PluginI18nContextValue, PluginTranslation } from \"./hooks.js\";\nexport {\n\t__PluginI18nContext,\n\tuseTranslation,\n\tuseActiveConversation,\n\tuseConversationMessages,\n\tusePromptAttachment,\n} from \"./hooks.js\";\n"]}
package/dist/jobs.d.ts ADDED
@@ -0,0 +1,34 @@
1
+ import type { PluginArtifactRef } from "./artifacts.js";
2
+ export type PluginJobStatus = "queued" | "running" | "succeeded" | "failed" | "cancelled";
3
+ export interface PluginJobProgress {
4
+ value: number;
5
+ phase?: string;
6
+ }
7
+ export interface PluginJobFailure {
8
+ code: string;
9
+ message: string;
10
+ retryable: boolean;
11
+ }
12
+ export interface PluginJob<TArtifact extends PluginArtifactRef = PluginArtifactRef> {
13
+ id: string;
14
+ domain: string;
15
+ operation: string;
16
+ status: PluginJobStatus;
17
+ progress?: PluginJobProgress;
18
+ artifacts: readonly TArtifact[];
19
+ metadata?: Readonly<Record<string, unknown>>;
20
+ error?: PluginJobFailure;
21
+ }
22
+ export interface PluginJobRef {
23
+ id: string;
24
+ }
25
+ export interface PluginJobWaitOptions {
26
+ pollIntervalMs?: number;
27
+ signal?: AbortSignal;
28
+ }
29
+ export interface PluginJobsApi {
30
+ get(job: PluginJobRef | string): Promise<PluginJob>;
31
+ cancel(job: PluginJobRef | string): Promise<PluginJob>;
32
+ wait<TJob extends PluginJob = PluginJob>(job: TJob | PluginJobRef | string, options?: PluginJobWaitOptions): Promise<TJob>;
33
+ }
34
+ //# sourceMappingURL=jobs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jobs.d.ts","sourceRoot":"","sources":["../src/jobs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;AAE1F,MAAM,WAAW,iBAAiB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,SAAS,CAAC,SAAS,SAAS,iBAAiB,GAAG,iBAAiB;IACjF,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,eAAe,CAAC;IACxB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,SAAS,EAAE,SAAS,SAAS,EAAE,CAAC;IAChC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7C,KAAK,CAAC,EAAE,gBAAgB,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAC5B,EAAE,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,oBAAoB;IACpC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC7B,GAAG,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACpD,MAAM,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACvD,IAAI,CAAC,IAAI,SAAS,SAAS,GAAG,SAAS,EACtC,GAAG,EAAE,IAAI,GAAG,YAAY,GAAG,MAAM,EACjC,OAAO,CAAC,EAAE,oBAAoB,GAC5B,OAAO,CAAC,IAAI,CAAC,CAAC;CACjB","sourcesContent":["import type { PluginArtifactRef } from \"./artifacts.js\";\n\nexport type PluginJobStatus = \"queued\" | \"running\" | \"succeeded\" | \"failed\" | \"cancelled\";\n\nexport interface PluginJobProgress {\n\tvalue: number;\n\tphase?: string;\n}\n\nexport interface PluginJobFailure {\n\tcode: string;\n\tmessage: string;\n\tretryable: boolean;\n}\n\nexport interface PluginJob<TArtifact extends PluginArtifactRef = PluginArtifactRef> {\n\tid: string;\n\tdomain: string;\n\toperation: string;\n\tstatus: PluginJobStatus;\n\tprogress?: PluginJobProgress;\n\tartifacts: readonly TArtifact[];\n\tmetadata?: Readonly<Record<string, unknown>>;\n\terror?: PluginJobFailure;\n}\n\nexport interface PluginJobRef {\n\tid: string;\n}\n\nexport interface PluginJobWaitOptions {\n\tpollIntervalMs?: number;\n\tsignal?: AbortSignal;\n}\n\nexport interface PluginJobsApi {\n\tget(job: PluginJobRef | string): Promise<PluginJob>;\n\tcancel(job: PluginJobRef | string): Promise<PluginJob>;\n\twait<TJob extends PluginJob = PluginJob>(\n\t\tjob: TJob | PluginJobRef | string,\n\t\toptions?: PluginJobWaitOptions,\n\t): Promise<TJob>;\n}\n"]}
package/dist/jobs.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=jobs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jobs.js","sourceRoot":"","sources":["../src/jobs.ts"],"names":[],"mappings":"","sourcesContent":["import type { PluginArtifactRef } from \"./artifacts.js\";\n\nexport type PluginJobStatus = \"queued\" | \"running\" | \"succeeded\" | \"failed\" | \"cancelled\";\n\nexport interface PluginJobProgress {\n\tvalue: number;\n\tphase?: string;\n}\n\nexport interface PluginJobFailure {\n\tcode: string;\n\tmessage: string;\n\tretryable: boolean;\n}\n\nexport interface PluginJob<TArtifact extends PluginArtifactRef = PluginArtifactRef> {\n\tid: string;\n\tdomain: string;\n\toperation: string;\n\tstatus: PluginJobStatus;\n\tprogress?: PluginJobProgress;\n\tartifacts: readonly TArtifact[];\n\tmetadata?: Readonly<Record<string, unknown>>;\n\terror?: PluginJobFailure;\n}\n\nexport interface PluginJobRef {\n\tid: string;\n}\n\nexport interface PluginJobWaitOptions {\n\tpollIntervalMs?: number;\n\tsignal?: AbortSignal;\n}\n\nexport interface PluginJobsApi {\n\tget(job: PluginJobRef | string): Promise<PluginJob>;\n\tcancel(job: PluginJobRef | string): Promise<PluginJob>;\n\twait<TJob extends PluginJob = PluginJob>(\n\t\tjob: TJob | PluginJobRef | string,\n\t\toptions?: PluginJobWaitOptions,\n\t): Promise<TJob>;\n}\n"]}
@@ -0,0 +1,234 @@
1
+ import { type Static } from "@sinclair/typebox";
2
+ export declare const PluginIdSchema: import("@sinclair/typebox").TString;
3
+ export declare const PluginVersionSchema: import("@sinclair/typebox").TString;
4
+ export declare const PluginCommandNameSchema: import("@sinclair/typebox").TString;
5
+ export declare const PluginCommandNamesSchema: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
6
+ export declare const PluginNetworkManifestSchema: import("@sinclair/typebox").TObject<{
7
+ allowedHosts: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
8
+ }>;
9
+ export declare const PluginBrowserManifestSchema: import("@sinclair/typebox").TObject<{
10
+ allowedHosts: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
11
+ }>;
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
+ }>]>;
36
+ export declare const PluginMcpStdioServerConfigSchema: import("@sinclair/typebox").TObject<{
37
+ disabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
38
+ autoApprove: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
39
+ startupTimeout: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
40
+ debug: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
41
+ displayName: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
42
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
43
+ agent_mode: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>]>>;
44
+ type: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TLiteral<"stdio">>;
45
+ command: import("@sinclair/typebox").TString;
46
+ args: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
47
+ env: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TString>>;
48
+ cwd: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
49
+ }>;
50
+ export declare const PluginMcpHttpServerConfigSchema: import("@sinclair/typebox").TObject<{
51
+ disabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
52
+ autoApprove: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
53
+ startupTimeout: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
54
+ debug: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
55
+ displayName: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
56
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
57
+ agent_mode: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>]>>;
58
+ type: import("@sinclair/typebox").TLiteral<"http">;
59
+ url: import("@sinclair/typebox").TString;
60
+ headers: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TString>>;
61
+ oauthClientId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
62
+ oauthDeviceFlow: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
63
+ oauthScopes: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
64
+ }>;
65
+ export declare const PluginMcpServerConfigSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
66
+ disabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
67
+ autoApprove: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
68
+ startupTimeout: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
69
+ debug: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
70
+ displayName: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
71
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
72
+ agent_mode: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>]>>;
73
+ type: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TLiteral<"stdio">>;
74
+ command: import("@sinclair/typebox").TString;
75
+ args: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
76
+ env: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TString>>;
77
+ cwd: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
78
+ }>, import("@sinclair/typebox").TObject<{
79
+ disabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
80
+ autoApprove: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
81
+ startupTimeout: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
82
+ debug: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
83
+ displayName: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
84
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
85
+ agent_mode: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>]>>;
86
+ type: import("@sinclair/typebox").TLiteral<"http">;
87
+ url: import("@sinclair/typebox").TString;
88
+ headers: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TString>>;
89
+ oauthClientId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
90
+ oauthDeviceFlow: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
91
+ oauthScopes: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
92
+ }>]>;
93
+ export declare const PluginAgentManifestSchema: import("@sinclair/typebox").TObject<{
94
+ systemPrompt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
95
+ promptPaths: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
96
+ }>>;
97
+ skillPaths: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
98
+ 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
+ disabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
100
+ autoApprove: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
101
+ startupTimeout: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
102
+ debug: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
103
+ displayName: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
104
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
105
+ agent_mode: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>]>>;
106
+ type: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TLiteral<"stdio">>;
107
+ command: import("@sinclair/typebox").TString;
108
+ args: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
109
+ env: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TString>>;
110
+ cwd: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
111
+ }>, import("@sinclair/typebox").TObject<{
112
+ disabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
113
+ autoApprove: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
114
+ startupTimeout: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
115
+ debug: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
116
+ displayName: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
117
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
118
+ agent_mode: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>]>>;
119
+ type: import("@sinclair/typebox").TLiteral<"http">;
120
+ url: import("@sinclair/typebox").TString;
121
+ headers: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TString>>;
122
+ oauthClientId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
123
+ oauthDeviceFlow: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
124
+ oauthScopes: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
125
+ }>]>>]>>;
126
+ toolPolicy: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
127
+ allow: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
128
+ deny: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
129
+ }>>;
130
+ }>;
131
+ export declare const PluginModuleFederationManifestSchema: import("@sinclair/typebox").TObject<{
132
+ remoteName: import("@sinclair/typebox").TString;
133
+ expose: import("@sinclair/typebox").TString;
134
+ }>;
135
+ export declare const PluginManifestSchema: import("@sinclair/typebox").TObject<{
136
+ id: import("@sinclair/typebox").TString;
137
+ name: import("@sinclair/typebox").TString;
138
+ version: import("@sinclair/typebox").TString;
139
+ pluginApiVersion: import("@sinclair/typebox").TString;
140
+ entry: import("@sinclair/typebox").TString;
141
+ moduleFederation: import("@sinclair/typebox").TObject<{
142
+ remoteName: import("@sinclair/typebox").TString;
143
+ expose: import("@sinclair/typebox").TString;
144
+ }>;
145
+ agent: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
146
+ systemPrompt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
147
+ promptPaths: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
148
+ }>>;
149
+ skillPaths: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
150
+ 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
+ disabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
152
+ autoApprove: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
153
+ startupTimeout: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
154
+ debug: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
155
+ displayName: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
156
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
157
+ agent_mode: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>]>>;
158
+ type: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TLiteral<"stdio">>;
159
+ command: import("@sinclair/typebox").TString;
160
+ args: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
161
+ env: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TString>>;
162
+ cwd: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
163
+ }>, import("@sinclair/typebox").TObject<{
164
+ disabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
165
+ autoApprove: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
166
+ startupTimeout: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
167
+ debug: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
168
+ displayName: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
169
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
170
+ agent_mode: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>]>>;
171
+ type: import("@sinclair/typebox").TLiteral<"http">;
172
+ url: import("@sinclair/typebox").TString;
173
+ headers: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TString>>;
174
+ oauthClientId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
175
+ oauthDeviceFlow: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
176
+ oauthScopes: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
177
+ }>]>>]>>;
178
+ toolPolicy: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
179
+ allow: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
180
+ deny: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
181
+ }>>;
182
+ }>>;
183
+ 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">[]>>>;
185
+ network: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
186
+ allowedHosts: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
187
+ }>>;
188
+ browser: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
189
+ allowedHosts: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
190
+ }>>;
191
+ 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
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
218
+ author: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
219
+ icon: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
220
+ guidingWords: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
221
+ defaultLocale: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
222
+ contributionMode: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
223
+ hardIsolation: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
224
+ }>>;
225
+ agent_mode: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>]>>;
226
+ }>;
227
+ export type PluginSettingSchema = Static<typeof PluginSettingDefinitionSchema>;
228
+ export type PluginMcpServerConfig = Static<typeof PluginMcpServerConfigSchema>;
229
+ export type PluginAgentManifest = Static<typeof PluginAgentManifestSchema>;
230
+ export type PluginNetworkManifest = Static<typeof PluginNetworkManifestSchema>;
231
+ export type PluginBrowserManifest = Static<typeof PluginBrowserManifestSchema>;
232
+ export type PluginManifestInput = Static<typeof PluginManifestSchema>;
233
+ export type PluginManifest = PluginManifestInput;
234
+ //# sourceMappingURL=manifest-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest-schema.d.ts","sourceRoot":"","sources":["../src/manifest-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAKtD,eAAO,MAAM,cAAc,qCAKzB,CAAC;AAEH,eAAO,MAAM,mBAAmB,qCAK9B,CAAC;AAEH,eAAO,MAAM,uBAAuB,qCAKlC,CAAC;AAEH,eAAO,MAAM,wBAAwB,yEAAsC,CAAC;AAE5E,eAAO,MAAM,2BAA2B;;EAQvC,CAAC;AAEF,eAAO,MAAM,2BAA2B;;EAQvC,CAAC;AAEF,eAAO,MAAM,sBAAsB,gxCAGlC,CAAC;AAgDF,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;IAGxC,CAAC;AAYH,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;EAU5C,CAAC;AAEF,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;EAW3C,CAAC;AAEF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;IAGtC,CAAC;AAQH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuBrC,CAAC;AAEF,eAAO,MAAM,oCAAoC;;;EAMhD,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4ChC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAC/E,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAC/E,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC3E,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAC/E,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAC/E,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACtE,MAAM,MAAM,cAAc,GAAG,mBAAmB,CAAC","sourcesContent":["import { Type, type Static } from \"@sinclair/typebox\";\nimport { PLUGIN_PERMISSIONS } from \"./permissions.js\";\n\nconst NON_WHITESPACE_PATTERN = \"\\\\S\";\n\nexport const PluginIdSchema = Type.String({\n\tminLength: 1,\n\tmaxLength: 64,\n\tpattern: \"^[a-z0-9][a-z0-9._-]{0,63}$\",\n\tdescription: \"Stable lowercase plugin identifier.\",\n});\n\nexport const PluginVersionSchema = Type.String({\n\tminLength: 1,\n\tmaxLength: 64,\n\tpattern: \"^[a-zA-Z0-9][a-zA-Z0-9._+-]{0,63}$\",\n\tdescription: \"Plugin version without path separators.\",\n});\n\nexport const PluginCommandNameSchema = Type.String({\n\tminLength: 1,\n\tmaxLength: 64,\n\tpattern: \"^[a-zA-Z0-9][a-zA-Z0-9._+-]{0,63}$\",\n\tdescription: \"Bare executable name declared by the plugin.\",\n});\n\nexport const PluginCommandNamesSchema = Type.Array(PluginCommandNameSchema);\n\nexport const PluginNetworkManifestSchema = Type.Object(\n\t{\n\t\tallowedHosts: Type.Array(Type.String({ minLength: 1, maxLength: 253, pattern: NON_WHITESPACE_PATTERN }), {\n\t\t\tminItems: 1,\n\t\t\tmaxItems: 128,\n\t\t}),\n\t},\n\t{ additionalProperties: true },\n);\n\nexport const PluginBrowserManifestSchema = Type.Object(\n\t{\n\t\tallowedHosts: Type.Array(Type.String({ minLength: 1, maxLength: 253, pattern: NON_WHITESPACE_PATTERN }), {\n\t\t\tminItems: 1,\n\t\t\tmaxItems: 128,\n\t\t}),\n\t},\n\t{ additionalProperties: true },\n);\n\nexport const PluginPermissionSchema = Type.Union(\n\tPLUGIN_PERMISSIONS.map((permission) => Type.Literal(permission)),\n\t{ description: \"Host capability requested by the plugin.\" },\n);\n\nconst NonWhitespaceStringSchema = Type.String({ pattern: NON_WHITESPACE_PATTERN });\nconst OptionalAgentModesSchema = Type.Optional(\n\tType.Union([NonWhitespaceStringSchema, Type.Array(NonWhitespaceStringSchema)]),\n);\nconst StringRecordSchema = Type.Record(Type.String(), Type.String());\n\nconst PluginSettingBaseProperties = {\n\tkey: NonWhitespaceStringSchema,\n\tdescription: Type.Optional(Type.String()),\n\tdefault: Type.Optional(Type.Union([Type.String(), Type.Number(), Type.Boolean()])),\n\tenum: Type.Optional(Type.Array(NonWhitespaceStringSchema)),\n\tvisibleWhen: Type.Optional(\n\t\tType.Object(\n\t\t\t{\n\t\t\t\tkey: NonWhitespaceStringSchema,\n\t\t\t\tin: Type.Array(NonWhitespaceStringSchema),\n\t\t\t},\n\t\t\t{ additionalProperties: true },\n\t\t),\n\t),\n};\n\nconst PluginInputSettingSchema = Type.Object(\n\t{\n\t\t...PluginSettingBaseProperties,\n\t\ttype: Type.Union([\n\t\t\tType.Literal(\"string\"),\n\t\t\tType.Literal(\"number\"),\n\t\t\tType.Literal(\"boolean\"),\n\t\t\tType.Literal(\"enum\"),\n\t\t\tType.Literal(\"secret\"),\n\t\t]),\n\t\ttitle: NonWhitespaceStringSchema,\n\t},\n\t{ additionalProperties: true },\n);\n\nconst PluginDescriptionSettingSchema = Type.Object(\n\t{\n\t\t...PluginSettingBaseProperties,\n\t\ttype: Type.Literal(\"desc\"),\n\t\ttitle: Type.Optional(Type.String()),\n\t},\n\t{ additionalProperties: true },\n);\n\nexport const PluginSettingDefinitionSchema = Type.Union([\n\tPluginInputSettingSchema,\n\tPluginDescriptionSettingSchema,\n]);\n\nconst PluginMcpCommonProperties = {\n\tdisabled: Type.Optional(Type.Boolean()),\n\tautoApprove: Type.Optional(Type.Array(NonWhitespaceStringSchema)),\n\tstartupTimeout: Type.Optional(Type.Number()),\n\tdebug: Type.Optional(Type.Boolean()),\n\tdisplayName: Type.Optional(Type.String()),\n\tdescription: Type.Optional(Type.String()),\n\tagent_mode: OptionalAgentModesSchema,\n};\n\nexport const PluginMcpStdioServerConfigSchema = Type.Object(\n\t{\n\t\t...PluginMcpCommonProperties,\n\t\ttype: Type.Optional(Type.Literal(\"stdio\")),\n\t\tcommand: NonWhitespaceStringSchema,\n\t\targs: Type.Optional(Type.Array(Type.String())),\n\t\tenv: Type.Optional(StringRecordSchema),\n\t\tcwd: Type.Optional(Type.String()),\n\t},\n\t{ additionalProperties: true },\n);\n\nexport const PluginMcpHttpServerConfigSchema = Type.Object(\n\t{\n\t\t...PluginMcpCommonProperties,\n\t\ttype: Type.Literal(\"http\"),\n\t\turl: NonWhitespaceStringSchema,\n\t\theaders: Type.Optional(StringRecordSchema),\n\t\toauthClientId: Type.Optional(Type.String()),\n\t\toauthDeviceFlow: Type.Optional(Type.Boolean()),\n\t\toauthScopes: Type.Optional(Type.String()),\n\t},\n\t{ additionalProperties: true },\n);\n\nexport const PluginMcpServerConfigSchema = Type.Union([\n\tPluginMcpStdioServerConfigSchema,\n\tPluginMcpHttpServerConfigSchema,\n]);\n\nconst PluginMcpServerMapSchema = Type.Record(\n\tType.String({ pattern: NON_WHITESPACE_PATTERN }),\n\tPluginMcpServerConfigSchema,\n\t{ additionalProperties: false },\n);\n\nexport const PluginAgentManifestSchema = Type.Object(\n\t{\n\t\tsystemPrompt: Type.Optional(\n\t\t\tType.Object(\n\t\t\t\t{\n\t\t\t\t\tpromptPaths: Type.Optional(Type.Array(NonWhitespaceStringSchema)),\n\t\t\t\t},\n\t\t\t\t{ additionalProperties: true },\n\t\t\t),\n\t\t),\n\t\tskillPaths: Type.Optional(Type.Array(NonWhitespaceStringSchema)),\n\t\tmcpServers: Type.Optional(Type.Union([NonWhitespaceStringSchema, PluginMcpServerMapSchema])),\n\t\ttoolPolicy: Type.Optional(\n\t\t\tType.Object(\n\t\t\t\t{\n\t\t\t\t\tallow: Type.Optional(Type.Array(NonWhitespaceStringSchema)),\n\t\t\t\t\tdeny: Type.Optional(Type.Array(NonWhitespaceStringSchema)),\n\t\t\t\t},\n\t\t\t\t{ additionalProperties: true },\n\t\t\t),\n\t\t),\n\t},\n\t{ additionalProperties: true },\n);\n\nexport const PluginModuleFederationManifestSchema = Type.Object(\n\t{\n\t\tremoteName: Type.String({ pattern: \"^[A-Za-z_$][A-Za-z0-9_$-]{0,63}$\" }),\n\t\texpose: Type.String({ pattern: \"^\\\\./(?!.*\\\\.\\\\.)(?!.*\\\\\\\\).+$\" }),\n\t},\n\t{ additionalProperties: true },\n);\n\nexport const PluginManifestSchema = Type.Object(\n\t{\n\t\tid: PluginIdSchema,\n\t\tname: NonWhitespaceStringSchema,\n\t\tversion: PluginVersionSchema,\n\t\tpluginApiVersion: NonWhitespaceStringSchema,\n\t\tentry: NonWhitespaceStringSchema,\n\t\tmoduleFederation: PluginModuleFederationManifestSchema,\n\t\tagent: Type.Optional(PluginAgentManifestSchema),\n\t\tstyles: Type.Optional(Type.Array(NonWhitespaceStringSchema)),\n\t\tpermissions: Type.Optional(Type.Array(PluginPermissionSchema)),\n\t\tnetwork: Type.Optional(PluginNetworkManifestSchema),\n\t\tbrowser: Type.Optional(PluginBrowserManifestSchema),\n\t\tcommands: Type.Optional(PluginCommandNamesSchema),\n\t\tcontributes: Type.Optional(\n\t\t\tType.Object(\n\t\t\t\t{\n\t\t\t\t\tsettings: Type.Optional(Type.Array(PluginSettingDefinitionSchema)),\n\t\t\t\t},\n\t\t\t\t{ additionalProperties: true },\n\t\t\t),\n\t\t),\n\t\tdescription: Type.Optional(Type.String()),\n\t\tauthor: Type.Optional(Type.String()),\n\t\ticon: Type.Optional(NonWhitespaceStringSchema),\n\t\tguidingWords: Type.Optional(Type.Array(NonWhitespaceStringSchema)),\n\t\tdefaultLocale: Type.Optional(\n\t\t\tType.String({ minLength: 2, maxLength: 16, pattern: \"^[a-zA-Z][a-zA-Z0-9-]{1,15}$\" }),\n\t\t),\n\t\tcontributionMode: Type.Optional(\n\t\t\tType.Object(\n\t\t\t\t{\n\t\t\t\t\thardIsolation: Type.Optional(Type.Boolean()),\n\t\t\t\t},\n\t\t\t\t{ additionalProperties: true },\n\t\t\t),\n\t\t),\n\t\tagent_mode: OptionalAgentModesSchema,\n\t},\n\t{\n\t\t$id: \"PluginManifest\",\n\t\tadditionalProperties: true,\n\t\tdescription: \"Vetta desktop plugin manifest (plugin.json).\",\n\t},\n);\n\nexport type PluginSettingSchema = Static<typeof PluginSettingDefinitionSchema>;\nexport type PluginMcpServerConfig = Static<typeof PluginMcpServerConfigSchema>;\nexport type PluginAgentManifest = Static<typeof PluginAgentManifestSchema>;\nexport type PluginNetworkManifest = Static<typeof PluginNetworkManifestSchema>;\nexport type PluginBrowserManifest = Static<typeof PluginBrowserManifestSchema>;\nexport type PluginManifestInput = Static<typeof PluginManifestSchema>;\nexport type PluginManifest = PluginManifestInput;\n"]}