@crewx/sdk 0.9.0-rc.178 → 0.9.0-rc.179

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.
@@ -1,4 +1,4 @@
1
1
  import type { WorkspaceAppCandidate } from './discovery.js';
2
- import type { McpAppLocalRegistration } from './types.js';
3
- export declare function buildWorkspaceCandidateRegistration(candidate: WorkspaceAppCandidate): McpAppLocalRegistration;
2
+ import type { McpAppHostToolOptions, McpAppLocalRegistration } from './types.js';
3
+ export declare function buildWorkspaceCandidateRegistration(candidate: WorkspaceAppCandidate, hostTools?: McpAppHostToolOptions): McpAppLocalRegistration;
4
4
  export declare function validateWorkspaceCandidateRegistration(candidate: WorkspaceAppCandidate): void;
@@ -1,13 +1,13 @@
1
1
  import type { JsonObject, UiDefinition, UiDefinitionRef, UiDefinitionDisplayMode, UiDefinitionUsage, UiProjectionPolicy, UiInstance, UiInstanceStatus, UiActionConfirmation, UiActionHandlerRegistration } from '../ui-instance/types.js';
2
2
  import type { AppDiscoveryFileSystem, ProductAppBundleInput, ProductAppBundleProvenance, ProductAppBundleSnapshotMetadata } from './discovery.js';
3
- import type { UiPluginManifestV2 } from '../ui-plugin/types.js';
3
+ import type { UiPluginFilesRequest, UiPluginManifestV2, UiPluginShareRequest } from '../ui-plugin/types.js';
4
4
  import type { AppManifestFileName, AppManifestReason } from '../ui-plugin/app-manifest.js';
5
5
  import type { McpAppAgentAccess } from './agent-access.js';
6
6
  export declare const MCP_APP_RESOURCE_MIME_TYPE: "text/html;profile=mcp-app";
7
7
  export declare const MCP_APP_RESOURCE_URI_PREFIX = "ui://crewx/";
8
8
  export type McpAppToolVisibility = 'model' | 'app';
9
9
  export type McpAppTone = 'blue' | 'violet' | 'emerald' | 'amber' | 'rose' | 'sky' | 'slate' | 'indigo';
10
- export declare const MCP_APP_HOST_TOOL_ALLOWLIST: readonly ["crewx_app_terminal_connect", "crewx_app_html_viewer_open", "crewx_app_browser"];
10
+ export declare const MCP_APP_HOST_TOOL_ALLOWLIST: readonly ["crewx_app_terminal_connect", "crewx_app_html_viewer_open", "crewx_app_browser", "crewx_files_list", "crewx_files_read", "crewx_files_write", "crewx_docs_share"];
11
11
  export type McpAppHostToolName = typeof MCP_APP_HOST_TOOL_ALLOWLIST[number];
12
12
  export declare const MCP_CORE_TOOL_NAMES: readonly ["crewx_listWorkspaces", "crewx_queryAgent", "crewx_executeAgent", "crewx_getTaskResult", "crewx_listTasks", "crewx_listAgents", "callBrowser", "openTab", "listTabs", "closeTab"];
13
13
  export type McpCoreToolName = typeof MCP_CORE_TOOL_NAMES[number];
@@ -106,6 +106,10 @@ export interface McpAppLocalResource {
106
106
  readonly bytes: readonly number[];
107
107
  };
108
108
  }
109
+ export interface McpAppHostToolOptions {
110
+ readonly appFiles?: boolean;
111
+ readonly resultShare?: boolean;
112
+ }
109
113
  export interface McpAppLocalRegistrationInput {
110
114
  readonly appId: string;
111
115
  readonly name: string;
@@ -116,6 +120,9 @@ export interface McpAppLocalRegistrationInput {
116
120
  readonly runtime?: NonNullable<UiPluginManifestV2['runtime']>;
117
121
  readonly deviceFeatures?: readonly string[];
118
122
  readonly downloads?: true;
123
+ readonly share?: UiPluginShareRequest;
124
+ readonly files?: UiPluginFilesRequest;
125
+ readonly hostTools?: McpAppHostToolOptions;
119
126
  readonly definition: UiDefinition;
120
127
  readonly html: string;
121
128
  readonly entryHash: string;
@@ -183,6 +190,8 @@ export interface McpAppLocalRegistration {
183
190
  readonly runtime?: NonNullable<UiPluginManifestV2['runtime']>;
184
191
  readonly deviceFeatures?: readonly string[];
185
192
  readonly downloads?: true;
193
+ readonly share?: UiPluginShareRequest;
194
+ readonly files?: UiPluginFilesRequest;
186
195
  readonly provenance?: ProductAppBundleProvenance;
187
196
  readonly resourceBinding: McpAppInstanceResourceBinding;
188
197
  readonly resource: McpAppLocalResource;
@@ -3,8 +3,8 @@ import { type SkillBackendExecutionPort } from './skill-backend.js';
3
3
  import { type WorkspaceAppAssetCatalog } from './workspace-app-assets.js';
4
4
  import type { AppIconDiagnostic, AppIconFile } from '../ui-plugin/app-icon.js';
5
5
  import type { JsonObject, UiActionHandlerRegistration, UiDefinition, UiDefinitionRef } from '../ui-instance/types.js';
6
- import type { UiPluginManifestV2 } from '../ui-plugin/types.js';
7
- import type { McpAppLauncher, McpAppLocalResource, McpAppRegistry, McpAppWorkspaceRegistry } from './types.js';
6
+ import type { UiPluginFilesRequest, UiPluginManifestV2, UiPluginShareRequest } from '../ui-plugin/types.js';
7
+ import type { McpAppHostToolOptions, McpAppLauncher, McpAppLocalResource, McpAppRegistry, McpAppWorkspaceRegistry } from './types.js';
8
8
  export interface WorkspaceAppSnapshotResource extends McpAppLocalResource {
9
9
  readonly appId: string;
10
10
  readonly definition: UiDefinitionRef;
@@ -15,6 +15,8 @@ export interface WorkspaceAppSnapshotResource extends McpAppLocalResource {
15
15
  readonly csp?: NonNullable<UiPluginManifestV2['csp']>;
16
16
  readonly deviceFeatures?: readonly string[];
17
17
  readonly downloads?: true;
18
+ readonly share?: UiPluginShareRequest;
19
+ readonly files?: UiPluginFilesRequest;
18
20
  readonly source?: WorkspaceAppSource;
19
21
  readonly provenance?: ProductAppBundleProvenance;
20
22
  readonly assetCatalogId?: string;
@@ -33,6 +35,7 @@ export interface WorkspaceAppSnapshotBuildOptions {
33
35
  readonly registry?: McpAppRegistry;
34
36
  readonly registeredProductBundle?: ProductAppBundleSnapshotMetadata;
35
37
  readonly skillBackend?: SkillBackendExecutionPort;
38
+ readonly hostTools?: McpAppHostToolOptions;
36
39
  }
37
40
  export type WorkspaceAppSnapshotOptions = WorkspaceAppDiscoveryOptions & WorkspaceAppSnapshotBuildOptions;
38
41
  export interface WorkspaceAppSnapshot {