@mastra/editor 0.14.0 → 0.14.1-alpha.2

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 CHANGED
@@ -1,5 +1,33 @@
1
1
  # @mastra/editor
2
2
 
3
+ ## 0.14.1-alpha.2
4
+
5
+ ### Patch Changes
6
+
7
+ - Fixed editor reads to preserve published versions after draft updates and honor draft, version ID, and version number selection. ([#22179](https://github.com/mastra-ai/mastra/pull/22179))
8
+
9
+ - Updated dependencies [[`ae8790c`](https://github.com/mastra-ai/mastra/commit/ae8790c4bfaa088d2ab279d1dcc06f326b9fd109), [`dfb7efa`](https://github.com/mastra-ai/mastra/commit/dfb7efa19e348b5a788be2d954362cbae12379d6), [`ee0c1a0`](https://github.com/mastra-ai/mastra/commit/ee0c1a097de3acebe7dfc8c136479d4cb5b5b451), [`befbfc2`](https://github.com/mastra-ai/mastra/commit/befbfc260d5ec5ece7cdb65a80e94292f428d4c9), [`04a815f`](https://github.com/mastra-ai/mastra/commit/04a815fc8971d29e97fcdcc5008a1eb472fc00ff), [`cced745`](https://github.com/mastra-ai/mastra/commit/cced745a056ec2225c5bc702e32d848847aa8b65)]:
10
+ - @mastra/core@1.62.0-alpha.7
11
+ - @mastra/mcp@1.17.2-alpha.2
12
+ - @mastra/memory@1.28.0-alpha.2
13
+
14
+ ## 0.14.1-alpha.1
15
+
16
+ ### Patch Changes
17
+
18
+ - Updated dependencies [[`65edab1`](https://github.com/mastra-ai/mastra/commit/65edab1c233d17b8f163bad12fca410d0e6f16b1), [`ab20a38`](https://github.com/mastra-ai/mastra/commit/ab20a38d0275f8d85e0f3833bd87ef487bcc609f), [`dbbfeb8`](https://github.com/mastra-ai/mastra/commit/dbbfeb85ec949dc9ebc0755e1ad262e4f5eba8db), [`3cc9d00`](https://github.com/mastra-ai/mastra/commit/3cc9d00b2b4333e0377a5e9df5eff92c17ce7630), [`733a537`](https://github.com/mastra-ai/mastra/commit/733a537489a858b5880b2e98809334fba895a221), [`d55807c`](https://github.com/mastra-ai/mastra/commit/d55807cb9f080f3f5d1db06aca02b8fe0992507e), [`9207dfa`](https://github.com/mastra-ai/mastra/commit/9207dfab8062e5fc68b751684797ff86fe0b4e70), [`12c61d2`](https://github.com/mastra-ai/mastra/commit/12c61d280c8cb208bc3c8dbcbe5dcc60cf9d1cd0), [`9a12ef3`](https://github.com/mastra-ai/mastra/commit/9a12ef3fccf3f4186db0f294f4ee1f02cf4d8db2)]:
19
+ - @mastra/core@1.62.0-alpha.5
20
+ - @mastra/memory@1.28.0-alpha.1
21
+
22
+ ## 0.14.1-alpha.0
23
+
24
+ ### Patch Changes
25
+
26
+ - Updated dependencies [[`2c85f42`](https://github.com/mastra-ai/mastra/commit/2c85f428e04ccd63ea31a7ec80b5b327afdad555), [`11bbeb9`](https://github.com/mastra-ai/mastra/commit/11bbeb9b108ef2264e05acefc6dafb9cbb342921), [`1a485f3`](https://github.com/mastra-ai/mastra/commit/1a485f3538f5ec64d58bd8b5e1e99de0c695c87b), [`0d37487`](https://github.com/mastra-ai/mastra/commit/0d37487d9f349388a3f1cef6a536cf9dcc4b6273), [`8661d7d`](https://github.com/mastra-ai/mastra/commit/8661d7d7179f0a024456aabdd8679bcecd09ac28), [`575e343`](https://github.com/mastra-ai/mastra/commit/575e343900451021d96110916497d334af7bc252), [`cacb839`](https://github.com/mastra-ai/mastra/commit/cacb8392d9e74189b56d857290b0615f98a2683d), [`b47b26e`](https://github.com/mastra-ai/mastra/commit/b47b26e6fe95cb8a3482be2c5e52de157fe59d0b), [`0d37487`](https://github.com/mastra-ai/mastra/commit/0d37487d9f349388a3f1cef6a536cf9dcc4b6273), [`9a3d352`](https://github.com/mastra-ai/mastra/commit/9a3d352a5ba0c2a9e4f7a9cc4f028a393bc74306), [`c46eb09`](https://github.com/mastra-ai/mastra/commit/c46eb09ce4987509af57a0ac582c61241a6dd2f1), [`30ed33e`](https://github.com/mastra-ai/mastra/commit/30ed33ee14084a26019aba15fceadda6d6ddefaf), [`91ad69d`](https://github.com/mastra-ai/mastra/commit/91ad69d64994c89199b0c55399e64ed91c61df2f), [`c4e2364`](https://github.com/mastra-ai/mastra/commit/c4e2364742bc37beebfa995db2d42efce6cfc7b8), [`8dc408d`](https://github.com/mastra-ai/mastra/commit/8dc408d34438f9e13297f792c11a5cfd6cf952e1), [`c92def1`](https://github.com/mastra-ai/mastra/commit/c92def10a13c822972c96f0a4ca6ffc1f4258aed), [`c5eaec5`](https://github.com/mastra-ai/mastra/commit/c5eaec5a860d80d0e3805e67db0414b87ac8cbed), [`e66b2ba`](https://github.com/mastra-ai/mastra/commit/e66b2ba100db63eaeab6e21e1ea34b113f2ec781)]:
27
+ - @mastra/core@1.62.0-alpha.3
28
+ - @mastra/memory@1.27.1-alpha.0
29
+ - @mastra/mcp@1.17.2-alpha.0
30
+
3
31
  ## 0.14.0
4
32
 
5
33
  ### Minor Changes
package/dist/index.cjs CHANGED
@@ -76,6 +76,7 @@ var CrudEditorNamespace = class extends EditorNamespace {
76
76
  }
77
77
  async getById(id, options) {
78
78
  this.ensureRegistered();
79
+ if (options?.versionId && options.versionNumber !== void 0) throw new Error("versionId and versionNumber cannot be used together");
79
80
  const isVersionRequest = options?.versionId || options?.versionNumber || options?.status;
80
81
  if (!isVersionRequest) {
81
82
  const cached = this._cache.get(id);
@@ -479,7 +480,21 @@ var EditorMCPNamespace = class EditorMCPNamespace extends CrudEditorNamespace {
479
480
  if (!store) throw new Error("MCP clients storage domain is not available");
480
481
  return {
481
482
  create: (input) => store.create({ mcpClient: input }),
482
- getByIdResolved: (id) => store.getByIdResolved(id),
483
+ getByIdResolved: async (id, options) => {
484
+ if (options?.versionId || options?.versionNumber !== void 0) {
485
+ const mcpClient = await store.getById(id);
486
+ if (!mcpClient) return null;
487
+ const version = options.versionId ? await store.getVersion(options.versionId) : await store.getVersionByNumber(id, options.versionNumber);
488
+ if (!version || version.mcpClientId !== id) return null;
489
+ const { id: versionId, mcpClientId: _mcpClientId, versionNumber: _versionNumber, changedFields: _changedFields, changeMessage: _changeMessage, createdAt: _createdAt, ...snapshot } = version;
490
+ return {
491
+ ...mcpClient,
492
+ ...snapshot,
493
+ resolvedVersionId: versionId
494
+ };
495
+ }
496
+ return store.getByIdResolved(id, options?.status ? { status: options.status } : void 0);
497
+ },
483
498
  update: (input) => store.update(input),
484
499
  delete: (id) => store.delete(id),
485
500
  list: (args) => store.list(args),
@@ -1709,7 +1724,21 @@ var EditorMCPServerNamespace = class extends CrudEditorNamespace {
1709
1724
  if (!store) throw new Error("MCP servers storage domain is not available");
1710
1725
  return {
1711
1726
  create: (input) => store.create({ mcpServer: input }),
1712
- getByIdResolved: (id) => store.getByIdResolved(id),
1727
+ getByIdResolved: async (id, options) => {
1728
+ if (options?.versionId || options?.versionNumber !== void 0) {
1729
+ const mcpServer = await store.getById(id);
1730
+ if (!mcpServer) return null;
1731
+ const version = options.versionId ? await store.getVersion(options.versionId) : await store.getVersionByNumber(id, options.versionNumber);
1732
+ if (!version || version.mcpServerId !== id) return null;
1733
+ const { id: versionId, mcpServerId: _mcpServerId, versionNumber: _versionNumber, changedFields: _changedFields, changeMessage: _changeMessage, createdAt: _createdAt, ...snapshot } = version;
1734
+ return {
1735
+ ...mcpServer,
1736
+ ...snapshot,
1737
+ resolvedVersionId: versionId
1738
+ };
1739
+ }
1740
+ return store.getByIdResolved(id, options?.status ? { status: options.status } : void 0);
1741
+ },
1713
1742
  update: (input) => store.update(input),
1714
1743
  delete: (id) => store.delete(id),
1715
1744
  list: (args) => store.list(args),
@@ -1810,7 +1839,21 @@ var EditorPromptNamespace = class extends CrudEditorNamespace {
1810
1839
  if (!store) throw new Error("Prompt blocks storage domain is not available");
1811
1840
  return {
1812
1841
  create: (input) => store.create({ promptBlock: input }),
1813
- getByIdResolved: (id) => store.getByIdResolved(id),
1842
+ getByIdResolved: async (id, options) => {
1843
+ if (options?.versionId || options?.versionNumber !== void 0) {
1844
+ const promptBlock = await store.getById(id);
1845
+ if (!promptBlock) return null;
1846
+ const version = options.versionId ? await store.getVersion(options.versionId) : await store.getVersionByNumber(id, options.versionNumber);
1847
+ if (!version || version.blockId !== id) return null;
1848
+ const { id: versionId, blockId: _blockId, versionNumber: _versionNumber, changedFields: _changedFields, changeMessage: _changeMessage, createdAt: _createdAt, ...snapshot } = version;
1849
+ return {
1850
+ ...promptBlock,
1851
+ ...snapshot,
1852
+ resolvedVersionId: versionId
1853
+ };
1854
+ }
1855
+ return store.getByIdResolved(id, options?.status ? { status: options.status } : void 0);
1856
+ },
1814
1857
  update: (input) => store.update(input),
1815
1858
  delete: (id) => store.delete(id),
1816
1859
  list: (args) => store.list(args),
@@ -1832,7 +1875,6 @@ var EditorPromptNamespace = class extends CrudEditorNamespace {
1832
1875
  this.onCacheEvict(input.id);
1833
1876
  const resolved = await store.getByIdResolved(input.id, { status: "draft" });
1834
1877
  if (!resolved) throw new Error(`Failed to resolve entity ${input.id} after update`);
1835
- this._cache.set(input.id, resolved);
1836
1878
  return resolved;
1837
1879
  }
1838
1880
  async preview(blocks, context) {
@@ -1870,7 +1912,21 @@ var EditorScorerNamespace = class extends CrudEditorNamespace {
1870
1912
  if (!store) throw new Error("Scorer definitions storage domain is not available");
1871
1913
  return {
1872
1914
  create: (input) => store.create({ scorerDefinition: input }),
1873
- getByIdResolved: (id) => store.getByIdResolved(id),
1915
+ getByIdResolved: async (id, options) => {
1916
+ if (options?.versionId || options?.versionNumber !== void 0) {
1917
+ const scorerDefinition = await store.getById(id);
1918
+ if (!scorerDefinition) return null;
1919
+ const version = options.versionId ? await store.getVersion(options.versionId) : await store.getVersionByNumber(id, options.versionNumber);
1920
+ if (!version || version.scorerDefinitionId !== id) return null;
1921
+ const { id: versionId, scorerDefinitionId: _scorerDefinitionId, versionNumber: _versionNumber, changedFields: _changedFields, changeMessage: _changeMessage, createdAt: _createdAt, ...snapshot } = version;
1922
+ return {
1923
+ ...scorerDefinition,
1924
+ ...snapshot,
1925
+ resolvedVersionId: versionId
1926
+ };
1927
+ }
1928
+ return store.getByIdResolved(id, options?.status ? { status: options.status } : void 0);
1929
+ },
1874
1930
  update: (input) => store.update(input),
1875
1931
  delete: (id) => store.delete(id),
1876
1932
  list: (args) => store.list(args),
@@ -2064,7 +2120,21 @@ var EditorWorkspaceNamespace = class extends CrudEditorNamespace {
2064
2120
  if (!store) throw new Error("Workspaces storage domain is not available");
2065
2121
  return {
2066
2122
  create: (input) => store.create({ workspace: input }),
2067
- getByIdResolved: (id) => store.getByIdResolved(id),
2123
+ getByIdResolved: async (id, options) => {
2124
+ if (options?.versionId || options?.versionNumber !== void 0) {
2125
+ const workspace = await store.getById(id);
2126
+ if (!workspace) return null;
2127
+ const version = options.versionId ? await store.getVersion(options.versionId) : await store.getVersionByNumber(id, options.versionNumber);
2128
+ if (!version || version.workspaceId !== id) return null;
2129
+ const { id: versionId, workspaceId: _workspaceId, versionNumber: _versionNumber, changedFields: _changedFields, changeMessage: _changeMessage, createdAt: _createdAt, ...snapshot } = version;
2130
+ return {
2131
+ ...workspace,
2132
+ ...snapshot,
2133
+ resolvedVersionId: versionId
2134
+ };
2135
+ }
2136
+ return store.getByIdResolved(id, options?.status ? { status: options.status } : void 0);
2137
+ },
2068
2138
  update: (input) => store.update(input),
2069
2139
  delete: (id) => store.delete(id),
2070
2140
  list: (args) => store.list(args),
@@ -2083,7 +2153,21 @@ var EditorSkillNamespace = class extends CrudEditorNamespace {
2083
2153
  if (!store) throw new Error("Skills storage domain is not available");
2084
2154
  return {
2085
2155
  create: (input) => store.create({ skill: input }),
2086
- getByIdResolved: (id) => store.getByIdResolved(id),
2156
+ getByIdResolved: async (id, options) => {
2157
+ if (options?.versionId || options?.versionNumber !== void 0) {
2158
+ const skill = await store.getById(id);
2159
+ if (!skill) return null;
2160
+ const version = options.versionId ? await store.getVersion(options.versionId) : await store.getVersionByNumber(id, options.versionNumber);
2161
+ if (!version || version.skillId !== id) return null;
2162
+ const { id: versionId, skillId: _skillId, versionNumber: _versionNumber, changedFields: _changedFields, changeMessage: _changeMessage, createdAt: _createdAt, ...snapshot } = version;
2163
+ return {
2164
+ ...skill,
2165
+ ...snapshot,
2166
+ resolvedVersionId: versionId
2167
+ };
2168
+ }
2169
+ return store.getByIdResolved(id, options?.status ? { status: options.status } : void 0);
2170
+ },
2087
2171
  update: (input) => store.update(input),
2088
2172
  delete: (id) => store.delete(id),
2089
2173
  list: (args) => store.list(args),