@mastra/editor 0.13.4 → 0.13.5-alpha.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.
- package/CHANGELOG.md +33 -0
- package/dist/index.cjs +21 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +12 -1
- package/dist/index.d.ts +12 -1
- package/dist/index.js +21 -0
- package/dist/index.js.map +1 -1
- package/package.json +5 -5
package/dist/index.d.cts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Mastra } from '@mastra/core';
|
|
2
2
|
import { IAgentBuilder } from '@mastra/core/agent-builder/ee';
|
|
3
|
-
import { GetByIdOptions, IEditorFavoritesNamespace, EditorFavoriteTargetInput, EditorFavoriteToggleResult, EditorIsFavoritedBatchInput, EditorListFavoritedIdsInput, FilesystemProvider, SandboxProvider, IMastraEditor, BlobStoreProvider, BrowserProvider, MastraEditorConfig } from '@mastra/core/editor';
|
|
3
|
+
import { GetByIdOptions, IEditorFavoritesNamespace, EditorFavoriteTargetInput, EditorFavoriteToggleResult, EditorIsFavoritedBatchInput, EditorListFavoritedIdsInput, FilesystemProvider, SandboxProvider, IMastraEditor, BlobStoreProvider, BrowserProvider, WorkspaceProvider, MastraEditorConfig } from '@mastra/core/editor';
|
|
4
4
|
export { BrowserProvider, MastraEditorConfig } from '@mastra/core/editor';
|
|
5
5
|
import { IMastraLogger } from '@mastra/core/logger';
|
|
6
6
|
import { ProcessorProvider } from '@mastra/core/processor-provider';
|
|
@@ -324,6 +324,11 @@ declare class EditorWorkspaceNamespace extends CrudEditorNamespace<StorageCreate
|
|
|
324
324
|
* Looks up the provider by ID in the editor's registry (which includes built-in providers).
|
|
325
325
|
*/
|
|
326
326
|
private resolveSandbox;
|
|
327
|
+
/**
|
|
328
|
+
* Resolve a stored workspace provider config to a complete runtime Workspace instance.
|
|
329
|
+
* Looks up the provider by ID in the editor's workspace provider registry.
|
|
330
|
+
*/
|
|
331
|
+
resolveWorkspaceProvider(providerId: string, config: Record<string, unknown>): Promise<Workspace<any, any, any>>;
|
|
327
332
|
protected getStorageAdapter(): Promise<StorageAdapter<StorageCreateWorkspaceInput, StorageUpdateWorkspaceInput, StorageListWorkspacesInput, StorageListWorkspacesOutput, StorageListWorkspacesResolvedOutput, StorageResolvedWorkspaceType>>;
|
|
328
333
|
}
|
|
329
334
|
|
|
@@ -478,6 +483,12 @@ declare class MastraEditor implements IMastraEditor {
|
|
|
478
483
|
* No built-in providers — browser packages must be registered via config.
|
|
479
484
|
*/
|
|
480
485
|
readonly __browsers: Map<string, BrowserProvider>;
|
|
486
|
+
/**
|
|
487
|
+
* @internal — exposed for namespace classes to hydrate stored workspace configs.
|
|
488
|
+
* Maps provider ID to the provider descriptor.
|
|
489
|
+
* No built-in providers — workspace providers must be registered via config.
|
|
490
|
+
*/
|
|
491
|
+
readonly __workspaces: Map<string, WorkspaceProvider>;
|
|
481
492
|
readonly agent: EditorAgentNamespace;
|
|
482
493
|
readonly mcp: EditorMCPNamespace;
|
|
483
494
|
readonly mcpServer: EditorMCPServerNamespace;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Mastra } from '@mastra/core';
|
|
2
2
|
import { IAgentBuilder } from '@mastra/core/agent-builder/ee';
|
|
3
|
-
import { GetByIdOptions, IEditorFavoritesNamespace, EditorFavoriteTargetInput, EditorFavoriteToggleResult, EditorIsFavoritedBatchInput, EditorListFavoritedIdsInput, FilesystemProvider, SandboxProvider, IMastraEditor, BlobStoreProvider, BrowserProvider, MastraEditorConfig } from '@mastra/core/editor';
|
|
3
|
+
import { GetByIdOptions, IEditorFavoritesNamespace, EditorFavoriteTargetInput, EditorFavoriteToggleResult, EditorIsFavoritedBatchInput, EditorListFavoritedIdsInput, FilesystemProvider, SandboxProvider, IMastraEditor, BlobStoreProvider, BrowserProvider, WorkspaceProvider, MastraEditorConfig } from '@mastra/core/editor';
|
|
4
4
|
export { BrowserProvider, MastraEditorConfig } from '@mastra/core/editor';
|
|
5
5
|
import { IMastraLogger } from '@mastra/core/logger';
|
|
6
6
|
import { ProcessorProvider } from '@mastra/core/processor-provider';
|
|
@@ -324,6 +324,11 @@ declare class EditorWorkspaceNamespace extends CrudEditorNamespace<StorageCreate
|
|
|
324
324
|
* Looks up the provider by ID in the editor's registry (which includes built-in providers).
|
|
325
325
|
*/
|
|
326
326
|
private resolveSandbox;
|
|
327
|
+
/**
|
|
328
|
+
* Resolve a stored workspace provider config to a complete runtime Workspace instance.
|
|
329
|
+
* Looks up the provider by ID in the editor's workspace provider registry.
|
|
330
|
+
*/
|
|
331
|
+
resolveWorkspaceProvider(providerId: string, config: Record<string, unknown>): Promise<Workspace<any, any, any>>;
|
|
327
332
|
protected getStorageAdapter(): Promise<StorageAdapter<StorageCreateWorkspaceInput, StorageUpdateWorkspaceInput, StorageListWorkspacesInput, StorageListWorkspacesOutput, StorageListWorkspacesResolvedOutput, StorageResolvedWorkspaceType>>;
|
|
328
333
|
}
|
|
329
334
|
|
|
@@ -478,6 +483,12 @@ declare class MastraEditor implements IMastraEditor {
|
|
|
478
483
|
* No built-in providers — browser packages must be registered via config.
|
|
479
484
|
*/
|
|
480
485
|
readonly __browsers: Map<string, BrowserProvider>;
|
|
486
|
+
/**
|
|
487
|
+
* @internal — exposed for namespace classes to hydrate stored workspace configs.
|
|
488
|
+
* Maps provider ID to the provider descriptor.
|
|
489
|
+
* No built-in providers — workspace providers must be registered via config.
|
|
490
|
+
*/
|
|
491
|
+
readonly __workspaces: Map<string, WorkspaceProvider>;
|
|
481
492
|
readonly agent: EditorAgentNamespace;
|
|
482
493
|
readonly mcp: EditorMCPNamespace;
|
|
483
494
|
readonly mcpServer: EditorMCPServerNamespace;
|
package/dist/index.js
CHANGED
|
@@ -837,6 +837,7 @@ var EditorAgentNamespace = class extends CrudEditorNamespace {
|
|
|
837
837
|
...workspaceRef.config
|
|
838
838
|
});
|
|
839
839
|
this.logger?.debug(`[ensureStoredWorkspace] Persisted inline workspace '${workspaceId}' to DB`);
|
|
840
|
+
} else if (workspaceRef.type === "provider") {
|
|
840
841
|
}
|
|
841
842
|
} catch (error) {
|
|
842
843
|
this.logger?.warn("[ensureStoredWorkspace] Failed to persist workspace", { error });
|
|
@@ -1746,6 +1747,9 @@ var EditorAgentNamespace = class extends CrudEditorNamespace {
|
|
|
1746
1747
|
const configHash = createHash("sha256").update(JSON.stringify(workspaceRef.config)).digest("hex").slice(0, 12);
|
|
1747
1748
|
return workspaceNs.hydrateSnapshotToWorkspace(`inline-${configHash}`, workspaceRef.config, hydrateOptions);
|
|
1748
1749
|
}
|
|
1750
|
+
if (workspaceRef.type === "provider") {
|
|
1751
|
+
return workspaceNs.resolveWorkspaceProvider(workspaceRef.provider, workspaceRef.config);
|
|
1752
|
+
}
|
|
1749
1753
|
return void 0;
|
|
1750
1754
|
}
|
|
1751
1755
|
/**
|
|
@@ -2339,6 +2343,19 @@ var EditorWorkspaceNamespace = class extends CrudEditorNamespace {
|
|
|
2339
2343
|
}
|
|
2340
2344
|
return await provider.createSandbox(sandboxConfig.config);
|
|
2341
2345
|
}
|
|
2346
|
+
/**
|
|
2347
|
+
* Resolve a stored workspace provider config to a complete runtime Workspace instance.
|
|
2348
|
+
* Looks up the provider by ID in the editor's workspace provider registry.
|
|
2349
|
+
*/
|
|
2350
|
+
async resolveWorkspaceProvider(providerId, config) {
|
|
2351
|
+
const provider = this.editor.__workspaces.get(providerId);
|
|
2352
|
+
if (!provider) {
|
|
2353
|
+
throw new Error(
|
|
2354
|
+
`Workspace provider "${providerId}" is not registered. Register it via new MastraEditor({ workspaces: { '${providerId}': yourProvider } })`
|
|
2355
|
+
);
|
|
2356
|
+
}
|
|
2357
|
+
return await provider.createWorkspace(config);
|
|
2358
|
+
}
|
|
2342
2359
|
async getStorageAdapter() {
|
|
2343
2360
|
const storage = this.mastra?.getStorage();
|
|
2344
2361
|
if (!storage) throw new Error("Storage is not configured");
|
|
@@ -2573,6 +2590,10 @@ var MastraEditor = class {
|
|
|
2573
2590
|
for (const [id, provider] of Object.entries(config?.browsers ?? {})) {
|
|
2574
2591
|
this.__browsers.set(id, provider);
|
|
2575
2592
|
}
|
|
2593
|
+
this.__workspaces = /* @__PURE__ */ new Map();
|
|
2594
|
+
for (const [id, provider] of Object.entries(config?.workspaces ?? {})) {
|
|
2595
|
+
this.__workspaces.set(id, provider);
|
|
2596
|
+
}
|
|
2576
2597
|
this.agent = new EditorAgentNamespace(this);
|
|
2577
2598
|
this.mcp = new EditorMCPNamespace(this);
|
|
2578
2599
|
this.mcpServer = new EditorMCPServerNamespace(this);
|