@crewx/sdk 0.9.0-rc.127 → 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;
@@ -3,8 +3,8 @@ 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
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, 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';
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';
@@ -1,5 +1,5 @@
1
1
  import type { JsonObject, UiDefinition, UiDefinitionRef, UiDefinitionDisplayMode, UiDefinitionUsage, UiProjectionPolicy, UiInstance, UiInstanceStatus, UiActionConfirmation, UiActionHandlerRegistration } from '../ui-instance/types.js';
2
- import type { AppDiscoveryFileSystem, ProductAppBundleInput, ProductAppBundleProvenance } from './discovery.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';
@@ -167,6 +167,7 @@ export interface McpAppLocalRegistration {
167
167
  readonly tone?: McpAppTone;
168
168
  readonly builtinOnly: false;
169
169
  readonly definition: UiDefinition;
170
+ readonly provenance?: ProductAppBundleProvenance;
170
171
  readonly resourceBinding: McpAppInstanceResourceBinding;
171
172
  readonly resource: McpAppLocalResource;
172
173
  readonly tools: readonly McpAppLocalToolDescriptor[];
@@ -436,6 +437,7 @@ export type CrewxAppBuiltinCatalog = Pick<McpAppRegistry, 'listMcpApps' | 'listM
436
437
  export interface CrewxAppCatalogOptions {
437
438
  readonly filesystem?: AppDiscoveryFileSystem;
438
439
  readonly productBundle?: ProductAppBundleInput;
440
+ readonly registeredProductBundle?: ProductAppBundleSnapshotMetadata;
439
441
  readonly builtinCatalog?: CrewxAppBuiltinCatalog;
440
442
  readonly installed?: readonly CrewxAppInstalledProjection[];
441
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;