@crewx/sdk 0.9.0-rc.126 → 0.9.0-rc.128

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.
@@ -5,12 +5,18 @@ import { AppDiscoveryFsError, NodeAppDiscoveryFs, NodeAppDiscoveryFsAdapter, def
5
5
  import type { McpAppRegistry } from './types.js';
6
6
  export type WorkspaceAppSource = 'apps' | 'skills';
7
7
  export type WorkspaceAppDiscoverySource = WorkspaceAppSource | 'bundled';
8
+ export interface ProductAppBundleReservations {
9
+ readonly appIds: readonly string[];
10
+ readonly definitionIds: readonly string[];
11
+ }
8
12
  export interface ProductAppBundleInput {
9
- readonly root: string;
13
+ readonly root: string | null;
10
14
  readonly expectedIndexHash: string;
15
+ readonly reservedIds: ProductAppBundleReservations;
11
16
  }
12
17
  export interface ProductAppBundleProvenance {
13
18
  readonly kind: 'bundled';
19
+ readonly launcher: boolean;
14
20
  readonly indexHash: string;
15
21
  readonly packageDir: string;
16
22
  readonly appId: string;
@@ -30,6 +36,7 @@ export interface ProductAppBundleDefinitionIdentity {
30
36
  }
31
37
  export interface ProductAppBundlePackageIndex {
32
38
  readonly packageDir: string;
39
+ readonly launcher?: false;
33
40
  readonly appId: string;
34
41
  readonly definition: ProductAppBundleDefinitionIdentity;
35
42
  readonly lineage: readonly UiDefinitionLineageEntry[];
@@ -47,6 +54,12 @@ export interface WorkspaceAppDiagnostic {
47
54
  readonly source: WorkspaceAppDiscoverySource;
48
55
  readonly relativePath: string;
49
56
  }
57
+ export interface ProductAppBundleSnapshotMetadata {
58
+ readonly indexHash?: string;
59
+ readonly diagnostics: readonly WorkspaceAppDiagnostic[];
60
+ readonly reservedAppIds: readonly string[];
61
+ readonly reservedDefinitionIds: readonly string[];
62
+ }
50
63
  export type McpAppDiscoveryDiagnostic = WorkspaceAppDiagnostic;
51
64
  export type AppDiscoveryDiagnostic = WorkspaceAppDiagnostic;
52
65
  export type AppDiscoveryDirectoryEntryKind = 'file' | 'directory' | 'symlink' | 'other';
@@ -140,6 +153,7 @@ export interface WorkspaceAppDiscoveryResult {
140
153
  readonly complete: boolean;
141
154
  readonly incompleteReason?: WorkspaceAppDiscoveryIncompleteReason;
142
155
  readonly productBundleIndexHash?: string;
156
+ readonly productBundleSnapshotMetadata?: ProductAppBundleSnapshotMetadata;
143
157
  readonly candidates?: readonly WorkspaceAppCandidate[];
144
158
  }
145
159
  export declare const WORKSPACE_APP_TOOL_PREFIX = "crewx_local_app_";
@@ -147,6 +161,7 @@ export declare const LOCAL_APP_TOOL_PREFIX = "crewx_local_app_";
147
161
  export declare const MCP_APP_WORKSPACE_TOOL_PREFIX = "crewx_local_app_";
148
162
  export declare function deriveWorkspaceAppToolNames(pluginId: string): WorkspaceAppToolNames;
149
163
  export declare function deriveWorkspaceAppToolName(pluginId: string, kind?: 'read' | 'action'): string;
164
+ export declare function productAppBundleReservations(packages: readonly ProductAppBundlePackageIndex[]): ProductAppBundleReservations;
150
165
  export declare function discoverWorkspaceApps(workspaceRoot: string, fs?: AppDiscoveryFileSystem, options?: WorkspaceAppDiscoveryOptions): Promise<WorkspaceAppDiscoveryResult>;
151
166
  export declare function discoverWorkspaceApps(workspaceRoot: string, options?: WorkspaceAppDiscoveryOptions): Promise<WorkspaceAppDiscoveryResult>;
152
167
  export declare const discoverWorkspaceAppCandidates: typeof discoverWorkspaceApps;
@@ -2,9 +2,9 @@ export type { McpAppContractErrorCode } from './errors.js';
2
2
  export { McpAppContractError } from './errors.js';
3
3
  export { INSTALLED_APP_ENTRY, InstalledAppRefError, buildInstalledAppRef, validateInstalledAppRef, } from './installed-app-ref.js';
4
4
  export type { BuildInstalledAppRefInput, InstalledAppPackageFile, InstalledAppRef, InstalledAppRefErrorCode, } from './installed-app-ref.js';
5
- export { MAX_HTML_LENGTH, createMcpAppRegistry, createBuiltinMcpAppRegistry, buildMcpAppLocalRegistration, createMcpAppLocalRegistration, registerLocalMcpApp, createMcpAppWorkspaceRegistry, createWorkspaceAppRegistry, createWorkspaceMcpAppRegistry, registerMcpApp, resolveMcpAppResource, resolveLocalMcpAppResource, requireMcpAppResource, toMcpAppToolRegistration, makeUiUri, buildMcpAppBundleRegistrationInput, buildMcpAppBundleAgentActionDescriptors, resolveMcpAppFixedResultCall, } from './registry.js';
6
- export { AppDiscoveryFsError, NodeAppDiscoveryFs, NodeAppDiscoveryFsAdapter, defaultAppDiscoveryFs, defaultNodeAppDiscoveryFs, deriveWorkspaceAppToolName, deriveWorkspaceAppToolNames, discoverWorkspaceAppCandidates, discoverWorkspaceApps, LOCAL_APP_TOOL_PREFIX, MCP_APP_WORKSPACE_TOOL_PREFIX, scanWorkspaceApps, WORKSPACE_APP_TOOL_PREFIX, } from './discovery.js';
7
- export type { AppDiscoveryBytes, AppDiscoveryDiagnostic, AppDiscoveryDirectoryEntry, AppDiscoveryDirectoryEntryKind, AppDiscoveryDirectoryListing, AppDiscoveryFileSystem, AppDiscoveryFsErrorCode, AppDiscoveryMaybePromise, WorkspaceAppDiscoveryOptions as AppDiscoveryOptions, McpAppDiscoveryDiagnostic, WorkspaceAppBuiltinCatalog, WorkspaceAppCandidate, WorkspaceAppDiscoveryIncompleteReason, WorkspaceAppDiscoveryOptions, WorkspaceAppDiscoveryResult, WorkspaceAppDiagnostic, WorkspaceAppDiagnosticCode, WorkspaceAppDiscoverySource, WorkspaceAppResourceSnapshot, WorkspaceAppReservedCatalog, WorkspaceAppSource, WorkspaceAppToolNames, ProductAppBundleDefinitionIdentity, ProductAppBundleFileHash, ProductAppBundleIndex, ProductAppBundleInput, ProductAppBundlePackageIndex, ProductAppBundleProvenance, } from './discovery.js';
5
+ export { MAX_HTML_LENGTH, createMcpAppRegistry, createBuiltinMcpAppRegistry, buildMcpAppLocalRegistration, createMcpAppLocalRegistration, registerLocalMcpApp, createMcpAppWorkspaceRegistry, createWorkspaceAppRegistry, createWorkspaceMcpAppRegistry, registerMcpApp, resolveMcpAppResource, resolveLocalMcpAppResource, requireMcpAppResource, toMcpAppToolRegistration, makeUiUri, buildMcpAppBundleRegistrationInput, buildMcpAppBundleAgentActionDescriptors, planProductBundleLegacyToolNames, resolveMcpAppFixedResultCall, } from './registry.js';
6
+ export { AppDiscoveryFsError, NodeAppDiscoveryFs, NodeAppDiscoveryFsAdapter, defaultAppDiscoveryFs, defaultNodeAppDiscoveryFs, deriveWorkspaceAppToolName, deriveWorkspaceAppToolNames, discoverWorkspaceAppCandidates, discoverWorkspaceApps, LOCAL_APP_TOOL_PREFIX, MCP_APP_WORKSPACE_TOOL_PREFIX, productAppBundleReservations, scanWorkspaceApps, WORKSPACE_APP_TOOL_PREFIX, } from './discovery.js';
7
+ export type { AppDiscoveryBytes, AppDiscoveryDiagnostic, AppDiscoveryDirectoryEntry, AppDiscoveryDirectoryEntryKind, AppDiscoveryDirectoryListing, AppDiscoveryFileSystem, AppDiscoveryFsErrorCode, AppDiscoveryMaybePromise, WorkspaceAppDiscoveryOptions as AppDiscoveryOptions, McpAppDiscoveryDiagnostic, WorkspaceAppBuiltinCatalog, WorkspaceAppCandidate, WorkspaceAppDiscoveryIncompleteReason, WorkspaceAppDiscoveryOptions, WorkspaceAppDiscoveryResult, WorkspaceAppDiagnostic, WorkspaceAppDiagnosticCode, WorkspaceAppDiscoverySource, WorkspaceAppResourceSnapshot, WorkspaceAppReservedCatalog, WorkspaceAppSource, WorkspaceAppToolNames, ProductAppBundleDefinitionIdentity, ProductAppBundleFileHash, ProductAppBundleIndex, ProductAppBundleInput, ProductAppBundlePackageIndex, ProductAppBundleReservations, ProductAppBundleProvenance, ProductAppBundleSnapshotMetadata, } from './discovery.js';
8
8
  export { createWorkspaceAppCatalog, discoverWorkspaceAppCatalog, hashAppDefinition, hashCrewxAppDefinition, listWorkspaceApps, } from './catalog.js';
9
9
  export type { CrewxAppBuiltinCatalog, CrewxAppCapability, CrewxAppCatalogOptions, CrewxAppCatalogResult, CrewxAppDefinitionHashInput, CrewxAppDefinitionSummary, CrewxAppDiagnostic, CrewxAppDiagnosticCode, CrewxAppDiagnosticSource, CrewxAppInstalledProjection, CrewxAppLocalDefinitionRef, CrewxAppOrigin, CrewxAppOwnership, CrewxAppShareability, CrewxAppSharingAvailability, CrewxAppSummary, } from './types.js';
10
10
  export { MCP_APP_PROJECTION_MAX_BYTES, buildMcpAppStateDescriptor, buildMcpAppStateProjections, buildTerminalMcpAppStateDescriptor, buildTerminalMcpAppStateProjections, createMcpAppToolResult, projectMcpAppSummaryState, serializeMcpAppStateJson, serializeMcpAppStateXml, } from './projection.js';
@@ -20,7 +20,7 @@ export { SKILL_BACKEND_DEFAULT_TIMEOUT_MS, SKILL_BACKEND_INHERITED_ENV_ALLOWLIST
20
20
  export type { SkillBackendChildEnvironment, SkillBackendExecutionPort, SkillBackendExecutionRequest, SkillBackendExecutionResponse, SkillBackendHandlerBuildInput, SkillBackendInfrastructureErrorCode, SkillBackendPayload, VerifiedBundleSkillBackendBuildInput, VerifiedBundleSkillRunnerPort, VerifiedBundleSkillSpawnRequest, } from './skill-backend.js';
21
21
  export { externalResourceCheckItems, inspectSkillBackendOutput, scanExternalResources, } from './dev-checks.js';
22
22
  export type { AppDevCheckItem, ExternalResourceFinding, ExternalResourceKind, InspectSkillBackendOutputOptions, ScanExternalResourcesOptions, } from './dev-checks.js';
23
- export { MCP_APP_HOST_TOOL_ALLOWLIST, MCP_APP_LOCAL_RESOURCE_MIME_TYPE, MCP_APP_RESOURCE_MIME_TYPE, MCP_APP_RESOURCE_URI_PREFIX, } from './types.js';
24
- export type { McpAppActionDispatcherToolInput, McpAppActionToolDescriptor, McpAppActionToolInput, McpAppButtonDescriptor, McpAppButtonInput, McpAppDescriptor, McpAppDescriptorInput, McpAppInputSchema, McpAppTone, McpUiResourceCsp, McpAppRegistry, McpAppResource, McpAppServerStateInput, McpAppStateDescriptor, McpAppStateProjections, McpAppHostToolInput, McpAppHostToolName, McpAppReadToolInput, McpAppSingleActionToolInput, McpAppToolCommonInput, McpAppToolDescriptor, McpAppFixedResult, McpAppFixedResultCall, McpAppFixedResultInvalidParams, McpAppFixedResultResolution, McpAppFixedResultUnavailable, McpAppToolInput, McpAppToolMetadata, McpAppToolRegistration, McpAppToolResult, McpAppToolVisibility, McpAppInstanceResourceBinding, McpAppMcpResourceBinding, McpAppResourceBinding, McpAppLocalResource, McpAppLocalRegistrationInput, McpAppLocalReadToolDescriptor, McpAppLocalActionToolDescriptor, McpAppLocalSingleActionToolDescriptor, McpAppLocalToolDiagnostic, McpAppLocalToolDescriptor, McpAppLocalRegistration, McpAppBuiltinRegistration, McpAppResolvedRegistration, McpAppLocalLauncher, McpAppBuiltinLauncher, McpAppLauncher, WorkspaceAppLauncher, WorkspaceAppResolvedRegistration, McpAppWorkspaceRegistry, WorkspaceAppRegistry, McpAppWorkspaceRegistryInput, McpAppRegistryOptions, McpAppBundleHostToolTemplate, McpAppBundleAgentActionDescriptor, } from './types.js';
23
+ export { MCP_APP_HOST_TOOL_ALLOWLIST, MCP_CORE_TOOL_NAMES, MCP_APP_LOCAL_RESOURCE_MIME_TYPE, MCP_APP_RESOURCE_MIME_TYPE, MCP_APP_RESOURCE_URI_PREFIX, } from './types.js';
24
+ export type { McpAppActionDispatcherToolInput, McpAppActionToolDescriptor, McpAppActionToolInput, McpAppButtonDescriptor, McpAppButtonInput, McpAppDescriptor, McpAppDescriptorInput, McpAppInputSchema, McpAppTone, McpUiResourceCsp, McpAppRegistry, McpAppResource, McpAppServerStateInput, McpAppStateDescriptor, McpAppStateProjections, McpAppHostToolInput, McpAppHostToolName, McpCoreToolName, McpAppReadToolInput, McpAppSingleActionToolInput, McpAppToolCommonInput, McpAppToolDescriptor, McpAppFixedResult, McpAppFixedResultCall, McpAppFixedResultInvalidParams, McpAppFixedResultResolution, McpAppFixedResultUnavailable, McpAppToolInput, McpAppToolMetadata, McpAppToolRegistration, McpAppToolResult, McpAppToolVisibility, McpAppInstanceResourceBinding, McpAppMcpResourceBinding, McpAppResourceBinding, McpAppLocalResource, McpAppLocalRegistrationInput, McpAppLocalReadToolDescriptor, McpAppLocalActionToolDescriptor, McpAppLocalSingleActionToolDescriptor, McpAppLocalToolDiagnostic, McpAppLocalToolDescriptor, McpAppLocalRegistration, McpAppBuiltinRegistration, McpAppResolvedRegistration, McpAppLocalLauncher, McpAppBuiltinLauncher, McpAppLauncher, WorkspaceAppLauncher, WorkspaceAppResolvedRegistration, McpAppWorkspaceRegistry, WorkspaceAppRegistry, McpAppWorkspaceRegistryInput, McpAppRegistryOptions, McpAppBundleHostToolTemplate, McpAppBundleAgentActionDescriptor, } from './types.js';
25
25
  export { buildWorkspaceAppSnapshot, discoverWorkspaceAppSnapshot, reconfirmWorkspaceAppSnapshot, } from './workspace-snapshot.js';
26
26
  export type { WorkspaceAppSnapshot, WorkspaceAppSnapshotBuildOptions, WorkspaceAppSnapshotOptions, WorkspaceAppSnapshotReconfirmResult, WorkspaceAppSnapshotResource, WorkspaceAppSnapshotInitialState, WorkspaceAppInitialState, } from './workspace-snapshot.js';
@@ -1,4 +1,5 @@
1
1
  import type { WorkspaceAppCandidate } from './discovery.js';
2
+ import type { ProductAppBundlePackageIndex } from './discovery.js';
2
3
  import { type McpAppDescriptor, type McpAppDescriptorInput, type McpAppInputSchema, type McpAppLocalRegistration, type McpAppLocalRegistrationInput, type McpAppLocalResource, type McpAppRegistry, type McpAppResource, type McpAppWorkspaceRegistry, type McpAppWorkspaceRegistryInput, type McpAppToolDescriptor, type McpAppToolRegistration, type McpAppRegistryOptions, type McpAppBundleHostToolTemplate, type McpAppFixedResultResolution, type McpAppBundleAgentActionDescriptor } from './types.js';
3
4
  export declare const MAX_HTML_LENGTH: number;
4
5
  export declare function resolveMcpAppFixedResultCall(tool: McpAppToolDescriptor, args: unknown): McpAppFixedResultResolution;
@@ -6,6 +7,7 @@ export declare function buildMcpAppBundleRegistrationInput(candidate: WorkspaceA
6
7
  readonly hostTools?: readonly McpAppBundleHostToolTemplate[];
7
8
  }): McpAppDescriptorInput;
8
9
  export declare function buildMcpAppBundleAgentActionDescriptors(candidate: WorkspaceAppCandidate): readonly McpAppBundleAgentActionDescriptor[];
10
+ export declare function planProductBundleLegacyToolNames(apps: readonly ProductAppBundlePackageIndex[]): Readonly<Record<string, string>>;
9
11
  export declare function makeUiUri(appId: string, entry: string | Uint8Array | readonly number[]): string;
10
12
  export declare function createMcpAppRegistry(options?: McpAppRegistryOptions): McpAppRegistry;
11
13
  export declare function createBuiltinMcpAppRegistry(): McpAppRegistry;
@@ -1,11 +1,13 @@
1
- import type { JsonObject, UiDefinition, UiDefinitionRef, UiDefinitionDisplayMode, UiDefinitionUsage, UiInstance, UiInstanceStatus, UiActionConfirmation, UiActionHandlerRegistration } from '../ui-instance/types.js';
2
- import type { AppDiscoveryFileSystem, ProductAppBundleInput, ProductAppBundleProvenance } from './discovery.js';
1
+ import type { JsonObject, UiDefinition, UiDefinitionRef, UiDefinitionDisplayMode, UiDefinitionUsage, UiProjectionPolicy, UiInstance, UiInstanceStatus, UiActionConfirmation, UiActionHandlerRegistration } from '../ui-instance/types.js';
2
+ import type { AppDiscoveryFileSystem, ProductAppBundleInput, ProductAppBundleProvenance, ProductAppBundleSnapshotMetadata } from './discovery.js';
3
3
  export declare const MCP_APP_RESOURCE_MIME_TYPE: "text/html;profile=mcp-app";
4
4
  export declare const MCP_APP_RESOURCE_URI_PREFIX = "ui://crewx/";
5
5
  export type McpAppToolVisibility = 'model' | 'app';
6
6
  export type McpAppTone = 'blue' | 'violet' | 'emerald' | 'amber' | 'rose' | 'sky' | 'slate' | 'indigo';
7
7
  export declare const MCP_APP_HOST_TOOL_ALLOWLIST: readonly ["crewx_app_terminal_connect", "crewx_app_html_viewer_open"];
8
8
  export type McpAppHostToolName = typeof MCP_APP_HOST_TOOL_ALLOWLIST[number];
9
+ export declare const MCP_CORE_TOOL_NAMES: readonly ["crewx_listWorkspaces", "crewx_queryAgent", "crewx_executeAgent", "crewx_getTaskResult", "crewx_listTasks", "crewx_listAgents", "callBrowser", "openTab", "listTabs", "closeTab"];
10
+ export type McpCoreToolName = typeof MCP_CORE_TOOL_NAMES[number];
9
11
  export interface McpUiResourceCsp {
10
12
  readonly connectDomains?: readonly string[];
11
13
  readonly resourceDomains?: readonly string[];
@@ -165,6 +167,7 @@ export interface McpAppLocalRegistration {
165
167
  readonly tone?: McpAppTone;
166
168
  readonly builtinOnly: false;
167
169
  readonly definition: UiDefinition;
170
+ readonly provenance?: ProductAppBundleProvenance;
168
171
  readonly resourceBinding: McpAppInstanceResourceBinding;
169
172
  readonly resource: McpAppLocalResource;
170
173
  readonly tools: readonly McpAppLocalToolDescriptor[];
@@ -387,6 +390,7 @@ export interface CrewxAppDefinitionSummary extends UiDefinitionRef {
387
390
  readonly usage: UiDefinitionUsage;
388
391
  readonly detailPanel?: boolean;
389
392
  readonly displayModes?: readonly UiDefinitionDisplayMode[];
393
+ readonly summaryProjection?: UiProjectionPolicy;
390
394
  }
391
395
  export interface CrewxAppDefinitionHashInput {
392
396
  readonly screenHash?: string;
@@ -433,6 +437,7 @@ export type CrewxAppBuiltinCatalog = Pick<McpAppRegistry, 'listMcpApps' | 'listM
433
437
  export interface CrewxAppCatalogOptions {
434
438
  readonly filesystem?: AppDiscoveryFileSystem;
435
439
  readonly productBundle?: ProductAppBundleInput;
440
+ readonly registeredProductBundle?: ProductAppBundleSnapshotMetadata;
436
441
  readonly builtinCatalog?: CrewxAppBuiltinCatalog;
437
442
  readonly installed?: readonly CrewxAppInstalledProjection[];
438
443
  }
@@ -1,10 +1,12 @@
1
- import { type AppDiscoveryFileSystem, type WorkspaceAppDiscoveryIncompleteReason, type WorkspaceAppDiagnostic, type WorkspaceAppDiscoveryOptions, type WorkspaceAppDiscoveryResult, type WorkspaceAppSource, type ProductAppBundleProvenance } from './discovery.js';
1
+ import { type AppDiscoveryFileSystem, type WorkspaceAppDiscoveryIncompleteReason, type WorkspaceAppDiagnostic, type WorkspaceAppDiscoveryOptions, type WorkspaceAppDiscoveryResult, type WorkspaceAppSource, type ProductAppBundleProvenance, type ProductAppBundleSnapshotMetadata } from './discovery.js';
2
2
  import { type SkillBackendExecutionPort } from './skill-backend.js';
3
3
  import type { JsonObject, UiActionHandlerRegistration, UiDefinition, UiDefinitionRef } from '../ui-instance/types.js';
4
+ import type { UiPluginManifestV2 } from '../ui-plugin/types.js';
4
5
  import type { McpAppLauncher, McpAppLocalResource, McpAppRegistry, McpAppWorkspaceRegistry } from './types.js';
5
6
  export interface WorkspaceAppSnapshotResource extends McpAppLocalResource {
6
7
  readonly appId: string;
7
8
  readonly definition: UiDefinitionRef;
9
+ readonly runtime?: NonNullable<UiPluginManifestV2['runtime']>;
8
10
  readonly source?: WorkspaceAppSource;
9
11
  readonly provenance?: ProductAppBundleProvenance;
10
12
  }
@@ -20,6 +22,7 @@ export interface WorkspaceAppSnapshotBuildOptions {
20
22
  readonly builtins?: McpAppRegistry;
21
23
  readonly builtin?: McpAppRegistry;
22
24
  readonly registry?: McpAppRegistry;
25
+ readonly registeredProductBundle?: ProductAppBundleSnapshotMetadata;
23
26
  readonly skillBackend?: SkillBackendExecutionPort;
24
27
  }
25
28
  export type WorkspaceAppSnapshotOptions = WorkspaceAppDiscoveryOptions & WorkspaceAppSnapshotBuildOptions;