@mastra/codemod 0.0.0-cloud-storage-adapter-20251106204059 → 0.0.0-cloud-604-map-nested-flow-details-to-side-panel-20251212192149

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.
Files changed (97) hide show
  1. package/CHANGELOG.md +39 -1
  2. package/README.md +34 -16
  3. package/dist/codemods/chunk-JNFQ6J6B.js +21 -0
  4. package/dist/codemods/chunk-JNFQ6J6B.js.map +1 -0
  5. package/dist/codemods/chunk-LGW3NUAJ.js +32 -0
  6. package/dist/codemods/chunk-LGW3NUAJ.js.map +1 -0
  7. package/dist/codemods/chunk-PKCFDS7J.js +177 -0
  8. package/dist/codemods/chunk-PKCFDS7J.js.map +1 -0
  9. package/dist/codemods/lib/add-comment.js +6 -54
  10. package/dist/codemods/lib/add-comment.js.map +1 -1
  11. package/dist/codemods/lib/create-transformer.js +5 -43
  12. package/dist/codemods/lib/create-transformer.js.map +1 -1
  13. package/dist/codemods/lib/utils.js +23 -0
  14. package/dist/codemods/lib/utils.js.map +1 -0
  15. package/dist/codemods/v1/agent-abort-signal.js +61 -0
  16. package/dist/codemods/v1/agent-abort-signal.js.map +1 -0
  17. package/dist/codemods/v1/agent-generate-stream-v-next.js +13 -70
  18. package/dist/codemods/v1/agent-generate-stream-v-next.js.map +1 -1
  19. package/dist/codemods/v1/agent-processor-methods.js +14 -71
  20. package/dist/codemods/v1/agent-processor-methods.js.map +1 -1
  21. package/dist/codemods/v1/agent-property-access.js +11 -50
  22. package/dist/codemods/v1/agent-property-access.js.map +1 -1
  23. package/dist/codemods/v1/agent-voice.js +10 -49
  24. package/dist/codemods/v1/agent-voice.js.map +1 -1
  25. package/dist/codemods/v1/client-get-memory-thread.js +58 -0
  26. package/dist/codemods/v1/client-get-memory-thread.js.map +1 -0
  27. package/dist/codemods/v1/client-offset-limit.js +49 -0
  28. package/dist/codemods/v1/client-offset-limit.js.map +1 -0
  29. package/dist/codemods/v1/client-sdk-types.js +56 -0
  30. package/dist/codemods/v1/client-sdk-types.js.map +1 -0
  31. package/dist/codemods/v1/client-to-ai-sdk-format.js +20 -0
  32. package/dist/codemods/v1/client-to-ai-sdk-format.js.map +1 -0
  33. package/dist/codemods/v1/evals-prebuilt-imports.js +24 -0
  34. package/dist/codemods/v1/evals-prebuilt-imports.js.map +1 -0
  35. package/dist/codemods/v1/evals-run-experiment.js +20 -0
  36. package/dist/codemods/v1/evals-run-experiment.js.map +1 -0
  37. package/dist/codemods/v1/evals-scorer-by-name.js +22 -0
  38. package/dist/codemods/v1/evals-scorer-by-name.js.map +1 -0
  39. package/dist/codemods/v1/experimental-auth.js +7 -43
  40. package/dist/codemods/v1/experimental-auth.js.map +1 -1
  41. package/dist/codemods/v1/mastra-core-imports.js +8 -44
  42. package/dist/codemods/v1/mastra-core-imports.js.map +1 -1
  43. package/dist/codemods/v1/mastra-plural-apis.js +31 -0
  44. package/dist/codemods/v1/mastra-plural-apis.js.map +1 -0
  45. package/dist/codemods/v1/mcp-get-tools.js +16 -66
  46. package/dist/codemods/v1/mcp-get-tools.js.map +1 -1
  47. package/dist/codemods/v1/mcp-get-toolsets.js +16 -66
  48. package/dist/codemods/v1/mcp-get-toolsets.js.map +1 -1
  49. package/dist/codemods/v1/memory-message-v2-type.js +50 -0
  50. package/dist/codemods/v1/memory-message-v2-type.js.map +1 -0
  51. package/dist/codemods/v1/memory-query-to-recall.js +22 -0
  52. package/dist/codemods/v1/memory-query-to-recall.js.map +1 -0
  53. package/dist/codemods/v1/memory-vector-search-param.js +31 -0
  54. package/dist/codemods/v1/memory-vector-search-param.js.map +1 -0
  55. package/dist/codemods/v1/not-implemented/agent-format-parameter.js +53 -0
  56. package/dist/codemods/v1/not-implemented/agent-format-parameter.js.map +1 -0
  57. package/dist/codemods/v1/not-implemented/agent-to-step.js +54 -0
  58. package/dist/codemods/v1/not-implemented/agent-to-step.js.map +1 -0
  59. package/dist/codemods/v1/not-implemented/mastra-memory.js +50 -0
  60. package/dist/codemods/v1/not-implemented/mastra-memory.js.map +1 -0
  61. package/dist/codemods/v1/not-implemented/mastra-required-id.js +96 -0
  62. package/dist/codemods/v1/not-implemented/mastra-required-id.js.map +1 -0
  63. package/dist/codemods/v1/runtime-context.js +6 -42
  64. package/dist/codemods/v1/runtime-context.js.map +1 -1
  65. package/dist/codemods/v1/storage-get-messages-paginated.js +41 -0
  66. package/dist/codemods/v1/storage-get-messages-paginated.js.map +1 -0
  67. package/dist/codemods/v1/storage-get-threads-by-resource.js +23 -0
  68. package/dist/codemods/v1/storage-get-threads-by-resource.js.map +1 -0
  69. package/dist/codemods/v1/storage-list-messages-by-id.js +23 -0
  70. package/dist/codemods/v1/storage-list-messages-by-id.js.map +1 -0
  71. package/dist/codemods/v1/storage-list-workflow-runs.js +23 -0
  72. package/dist/codemods/v1/storage-list-workflow-runs.js.map +1 -0
  73. package/dist/codemods/v1/storage-postgres-schema-name.js +20 -0
  74. package/dist/codemods/v1/storage-postgres-schema-name.js.map +1 -0
  75. package/dist/codemods/v1/vector-pg-constructor.js +27 -0
  76. package/dist/codemods/v1/vector-pg-constructor.js.map +1 -0
  77. package/dist/codemods/v1/voice-property-names.js +12 -48
  78. package/dist/codemods/v1/voice-property-names.js.map +1 -1
  79. package/dist/codemods/v1/workflow-create-run-async.js +22 -0
  80. package/dist/codemods/v1/workflow-create-run-async.js.map +1 -0
  81. package/dist/codemods/v1/workflow-list-runs.js +22 -0
  82. package/dist/codemods/v1/workflow-list-runs.js.map +1 -0
  83. package/dist/codemods/v1/workflow-run-count.js +53 -0
  84. package/dist/codemods/v1/workflow-run-count.js.map +1 -0
  85. package/dist/codemods/v1/workflow-stream-vnext.js +36 -0
  86. package/dist/codemods/v1/workflow-stream-vnext.js.map +1 -0
  87. package/dist/index.js +67 -46
  88. package/dist/index.js.map +1 -1
  89. package/package.json +8 -5
  90. package/dist/codemods/v1/agent-get-agents.js +0 -74
  91. package/dist/codemods/v1/agent-get-agents.js.map +0 -1
  92. package/dist/codemods/v1/evals-get-scorers.js +0 -74
  93. package/dist/codemods/v1/evals-get-scorers.js.map +0 -1
  94. package/dist/codemods/v1/mcp-get-mcp-servers.js +0 -74
  95. package/dist/codemods/v1/mcp-get-mcp-servers.js.map +0 -1
  96. package/dist/codemods/v1/workflows-get-workflows.js +0 -74
  97. package/dist/codemods/v1/workflows-get-workflows.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/codemods/v1/storage-get-threads-by-resource.ts"],"sourcesContent":["import { createTransformer } from '../lib/create-transformer';\nimport { trackMultipleClassInstances, renameMethod } from '../lib/utils';\n\n/**\n * Renames storage.getThreadsByResourceId() to storage.listThreadsByResourceId().\n * This aligns with the convention that list* methods return collections.\n *\n * Before:\n * const threads = await storage.getThreadsByResourceId({ resourceId: 'res-123' });\n *\n * After:\n * const threads = await storage.listThreadsByResourceId({ resourceId: 'res-123' });\n */\nexport default createTransformer((_fileInfo, _api, _options, context) => {\n const { j, root } = context;\n\n const storeTypes = ['PostgresStore', 'LibSQLStore', 'PgStore', 'DynamoDBStore', 'MongoDBStore', 'MSSQLStore'];\n\n // Track all store instances in a single optimized pass\n const storageInstances = trackMultipleClassInstances(j, root, storeTypes);\n const count = renameMethod(j, root, storageInstances, 'getThreadsByResourceId', 'listThreadsByResourceId');\n\n if (count > 0) {\n context.hasChanges = true;\n context.messages.push('Renamed getThreadsByResourceId to listThreadsByResourceId on storage instances');\n }\n});\n"],"mappings":";;;;;;;;;AAaA,IAAO,0CAAQ,kBAAkB,CAAC,WAAW,MAAM,UAAU,YAAY;AACvE,QAAM,EAAE,GAAG,KAAK,IAAI;AAEpB,QAAM,aAAa,CAAC,iBAAiB,eAAe,WAAW,iBAAiB,gBAAgB,YAAY;AAG5G,QAAM,mBAAmB,4BAA4B,GAAG,MAAM,UAAU;AACxE,QAAM,QAAQ,aAAa,GAAG,MAAM,kBAAkB,0BAA0B,yBAAyB;AAEzG,MAAI,QAAQ,GAAG;AACb,YAAQ,aAAa;AACrB,YAAQ,SAAS,KAAK,gFAAgF;AAAA,EACxG;AACF,CAAC;","names":[]}
@@ -0,0 +1,23 @@
1
+ import {
2
+ createTransformer
3
+ } from "../chunk-JNFQ6J6B.js";
4
+ import {
5
+ renameMethod,
6
+ trackMultipleClassInstances
7
+ } from "../chunk-PKCFDS7J.js";
8
+
9
+ // src/codemods/v1/storage-list-messages-by-id.ts
10
+ var storage_list_messages_by_id_default = createTransformer((_fileInfo, _api, _options, context) => {
11
+ const { j, root } = context;
12
+ const storeTypes = ["PostgresStore", "LibSQLStore", "PgStore", "DynamoDBStore", "MongoDBStore", "MSSQLStore"];
13
+ const storageInstances = trackMultipleClassInstances(j, root, storeTypes);
14
+ const count = renameMethod(j, root, storageInstances, "getMessagesById", "listMessagesById");
15
+ if (count > 0) {
16
+ context.hasChanges = true;
17
+ context.messages.push("Renamed getMessagesById to listMessagesById on storage instances");
18
+ }
19
+ });
20
+ export {
21
+ storage_list_messages_by_id_default as default
22
+ };
23
+ //# sourceMappingURL=storage-list-messages-by-id.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/codemods/v1/storage-list-messages-by-id.ts"],"sourcesContent":["import { createTransformer } from '../lib/create-transformer';\nimport { trackMultipleClassInstances, renameMethod } from '../lib/utils';\n\n/**\n * Renames storage.getMessagesById() to storage.listMessagesById().\n * This aligns with the convention that list* methods return collections.\n *\n * Before:\n * const result = await storage.getMessagesById({\n * messageIds: ['msg-1', 'msg-2'],\n * });\n *\n * After:\n * const result = await storage.listMessagesById({\n * messageIds: ['msg-1', 'msg-2'],\n * });\n */\nexport default createTransformer((_fileInfo, _api, _options, context) => {\n const { j, root } = context;\n\n const storeTypes = ['PostgresStore', 'LibSQLStore', 'PgStore', 'DynamoDBStore', 'MongoDBStore', 'MSSQLStore'];\n\n // Track all store instances in a single optimized pass\n const storageInstances = trackMultipleClassInstances(j, root, storeTypes);\n const count = renameMethod(j, root, storageInstances, 'getMessagesById', 'listMessagesById');\n\n if (count > 0) {\n context.hasChanges = true;\n context.messages.push('Renamed getMessagesById to listMessagesById on storage instances');\n }\n});\n"],"mappings":";;;;;;;;;AAiBA,IAAO,sCAAQ,kBAAkB,CAAC,WAAW,MAAM,UAAU,YAAY;AACvE,QAAM,EAAE,GAAG,KAAK,IAAI;AAEpB,QAAM,aAAa,CAAC,iBAAiB,eAAe,WAAW,iBAAiB,gBAAgB,YAAY;AAG5G,QAAM,mBAAmB,4BAA4B,GAAG,MAAM,UAAU;AACxE,QAAM,QAAQ,aAAa,GAAG,MAAM,kBAAkB,mBAAmB,kBAAkB;AAE3F,MAAI,QAAQ,GAAG;AACb,YAAQ,aAAa;AACrB,YAAQ,SAAS,KAAK,kEAAkE;AAAA,EAC1F;AACF,CAAC;","names":[]}
@@ -0,0 +1,23 @@
1
+ import {
2
+ createTransformer
3
+ } from "../chunk-JNFQ6J6B.js";
4
+ import {
5
+ renameMethod,
6
+ trackMultipleClassInstances
7
+ } from "../chunk-PKCFDS7J.js";
8
+
9
+ // src/codemods/v1/storage-list-workflow-runs.ts
10
+ var storage_list_workflow_runs_default = createTransformer((_fileInfo, _api, _options, context) => {
11
+ const { j, root } = context;
12
+ const storeTypes = ["PostgresStore", "LibSQLStore", "PgStore", "DynamoDBStore", "MongoDBStore", "MSSQLStore"];
13
+ const storageInstances = trackMultipleClassInstances(j, root, storeTypes);
14
+ const count = renameMethod(j, root, storageInstances, "getWorkflowRuns", "listWorkflowRuns");
15
+ if (count > 0) {
16
+ context.hasChanges = true;
17
+ context.messages.push("Renamed getWorkflowRuns to listWorkflowRuns on storage instances");
18
+ }
19
+ });
20
+ export {
21
+ storage_list_workflow_runs_default as default
22
+ };
23
+ //# sourceMappingURL=storage-list-workflow-runs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/codemods/v1/storage-list-workflow-runs.ts"],"sourcesContent":["import { createTransformer } from '../lib/create-transformer';\nimport { trackMultipleClassInstances, renameMethod } from '../lib/utils';\n\n/**\n * Renames storage.getWorkflowRuns() to storage.listWorkflowRuns().\n * This aligns with the convention that list* methods return collections.\n *\n * Before:\n * const runs = await storage.getWorkflowRuns({ fromDate, toDate });\n *\n * After:\n * const runs = await storage.listWorkflowRuns({ fromDate, toDate });\n */\nexport default createTransformer((_fileInfo, _api, _options, context) => {\n const { j, root } = context;\n\n const storeTypes = ['PostgresStore', 'LibSQLStore', 'PgStore', 'DynamoDBStore', 'MongoDBStore', 'MSSQLStore'];\n\n // Track all store instances in a single optimized pass\n const storageInstances = trackMultipleClassInstances(j, root, storeTypes);\n const count = renameMethod(j, root, storageInstances, 'getWorkflowRuns', 'listWorkflowRuns');\n\n if (count > 0) {\n context.hasChanges = true;\n context.messages.push('Renamed getWorkflowRuns to listWorkflowRuns on storage instances');\n }\n});\n"],"mappings":";;;;;;;;;AAaA,IAAO,qCAAQ,kBAAkB,CAAC,WAAW,MAAM,UAAU,YAAY;AACvE,QAAM,EAAE,GAAG,KAAK,IAAI;AAEpB,QAAM,aAAa,CAAC,iBAAiB,eAAe,WAAW,iBAAiB,gBAAgB,YAAY;AAG5G,QAAM,mBAAmB,4BAA4B,GAAG,MAAM,UAAU;AACxE,QAAM,QAAQ,aAAa,GAAG,MAAM,kBAAkB,mBAAmB,kBAAkB;AAE3F,MAAI,QAAQ,GAAG;AACb,YAAQ,aAAa;AACrB,YAAQ,SAAS,KAAK,kEAAkE;AAAA,EAC1F;AACF,CAAC;","names":[]}
@@ -0,0 +1,20 @@
1
+ import {
2
+ createTransformer
3
+ } from "../chunk-JNFQ6J6B.js";
4
+ import {
5
+ transformConstructorProperties
6
+ } from "../chunk-PKCFDS7J.js";
7
+
8
+ // src/codemods/v1/storage-postgres-schema-name.ts
9
+ var storage_postgres_schema_name_default = createTransformer((_fileInfo, _api, _options, context) => {
10
+ const { j, root } = context;
11
+ const count = transformConstructorProperties(j, root, "PostgresStore", { schema: "schemaName" });
12
+ if (count > 0) {
13
+ context.hasChanges = true;
14
+ context.messages.push("Renamed schema to schemaName in PostgresStore constructor");
15
+ }
16
+ });
17
+ export {
18
+ storage_postgres_schema_name_default as default
19
+ };
20
+ //# sourceMappingURL=storage-postgres-schema-name.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/codemods/v1/storage-postgres-schema-name.ts"],"sourcesContent":["import { createTransformer } from '../lib/create-transformer';\nimport { transformConstructorProperties } from '../lib/utils';\n\n/**\n * Renames schema parameter to schemaName in PostgresStore constructor.\n * This provides clearer naming to avoid confusion with database schema concepts.\n *\n * Before:\n * const pgStore = new PostgresStore({\n * connectionString: process.env.POSTGRES_CONNECTION_STRING,\n * schema: customSchema,\n * });\n *\n * After:\n * const pgStore = new PostgresStore({\n * connectionString: process.env.POSTGRES_CONNECTION_STRING,\n * schemaName: customSchema,\n * });\n */\nexport default createTransformer((_fileInfo, _api, _options, context) => {\n const { j, root } = context;\n\n const count = transformConstructorProperties(j, root, 'PostgresStore', { schema: 'schemaName' });\n\n if (count > 0) {\n context.hasChanges = true;\n context.messages.push('Renamed schema to schemaName in PostgresStore constructor');\n }\n});\n"],"mappings":";;;;;;;;AAmBA,IAAO,uCAAQ,kBAAkB,CAAC,WAAW,MAAM,UAAU,YAAY;AACvE,QAAM,EAAE,GAAG,KAAK,IAAI;AAEpB,QAAM,QAAQ,+BAA+B,GAAG,MAAM,iBAAiB,EAAE,QAAQ,aAAa,CAAC;AAE/F,MAAI,QAAQ,GAAG;AACb,YAAQ,aAAa;AACrB,YAAQ,SAAS,KAAK,2DAA2D;AAAA,EACnF;AACF,CAAC;","names":[]}
@@ -0,0 +1,27 @@
1
+ import {
2
+ createTransformer
3
+ } from "../chunk-JNFQ6J6B.js";
4
+
5
+ // src/codemods/v1/vector-pg-constructor.ts
6
+ var vector_pg_constructor_default = createTransformer((fileInfo, api, options, context) => {
7
+ const { j, root } = context;
8
+ root.find(j.NewExpression, {
9
+ callee: { type: "Identifier", name: "PgVector" }
10
+ }).forEach((path) => {
11
+ const args = path.value.arguments;
12
+ const firstArg = args[0];
13
+ if (args.length === 1 && firstArg && firstArg.type !== "ObjectExpression") {
14
+ path.value.arguments = [
15
+ j.objectExpression([j.objectProperty(j.identifier("connectionString"), firstArg)])
16
+ ];
17
+ context.hasChanges = true;
18
+ }
19
+ });
20
+ if (context.hasChanges) {
21
+ context.messages.push("Converted PgVector constructor from positional to object parameter");
22
+ }
23
+ });
24
+ export {
25
+ vector_pg_constructor_default as default
26
+ };
27
+ //# sourceMappingURL=vector-pg-constructor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/codemods/v1/vector-pg-constructor.ts"],"sourcesContent":["import { createTransformer } from '../lib/create-transformer';\n\n/**\n * Converts PgVector constructor from positional string argument to object parameter.\n * This provides a more consistent API across all storage adapters.\n *\n * Before:\n * const pgVector = new PgVector(process.env.POSTGRES_CONNECTION_STRING!);\n *\n * After:\n * const pgVector = new PgVector({\n * connectionString: process.env.POSTGRES_CONNECTION_STRING\n * });\n */\nexport default createTransformer((fileInfo, api, options, context) => {\n const { j, root } = context;\n\n root\n .find(j.NewExpression, {\n callee: { type: 'Identifier', name: 'PgVector' },\n })\n .forEach(path => {\n const args = path.value.arguments;\n const firstArg = args[0];\n\n if (args.length === 1 && firstArg && firstArg.type !== 'ObjectExpression') {\n path.value.arguments = [\n j.objectExpression([j.objectProperty(j.identifier('connectionString'), firstArg as any)]),\n ];\n\n context.hasChanges = true;\n }\n });\n\n if (context.hasChanges) {\n context.messages.push('Converted PgVector constructor from positional to object parameter');\n }\n});\n"],"mappings":";;;;;AAcA,IAAO,gCAAQ,kBAAkB,CAAC,UAAU,KAAK,SAAS,YAAY;AACpE,QAAM,EAAE,GAAG,KAAK,IAAI;AAEpB,OACG,KAAK,EAAE,eAAe;AAAA,IACrB,QAAQ,EAAE,MAAM,cAAc,MAAM,WAAW;AAAA,EACjD,CAAC,EACA,QAAQ,UAAQ;AACf,UAAM,OAAO,KAAK,MAAM;AACxB,UAAM,WAAW,KAAK,CAAC;AAEvB,QAAI,KAAK,WAAW,KAAK,YAAY,SAAS,SAAS,oBAAoB;AACzE,WAAK,MAAM,YAAY;AAAA,QACrB,EAAE,iBAAiB,CAAC,EAAE,eAAe,EAAE,WAAW,kBAAkB,GAAG,QAAe,CAAC,CAAC;AAAA,MAC1F;AAEA,cAAQ,aAAa;AAAA,IACvB;AAAA,EACF,CAAC;AAEH,MAAI,QAAQ,YAAY;AACtB,YAAQ,SAAS,KAAK,oEAAoE;AAAA,EAC5F;AACF,CAAC;","names":[]}
@@ -1,48 +1,9 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
1
+ import {
2
+ createTransformer
3
+ } from "../chunk-JNFQ6J6B.js";
19
4
 
20
5
  // src/codemods/v1/voice-property-names.ts
21
- var voice_property_names_exports = {};
22
- __export(voice_property_names_exports, {
23
- default: () => voice_property_names_default
24
- });
25
- module.exports = __toCommonJS(voice_property_names_exports);
26
-
27
- // src/codemods/lib/create-transformer.ts
28
- function createTransformer(transformFn) {
29
- return function transformer(fileInfo, api, options) {
30
- const j = api.jscodeshift;
31
- const root = j(fileInfo.source);
32
- const context = {
33
- j,
34
- root,
35
- hasChanges: false,
36
- messages: []
37
- };
38
- transformFn(fileInfo, api, options, context);
39
- context.messages.forEach((message) => api.report(message));
40
- return context.hasChanges ? root.toSource({ quote: "single" }) : null;
41
- };
42
- }
43
-
44
- // src/codemods/v1/voice-property-names.ts
45
- var voice_property_names_default = createTransformer((fileInfo, api, options, context) => {
6
+ var voice_property_names_default = createTransformer((_fileInfo, _api, _options, context) => {
46
7
  const { j, root } = context;
47
8
  const propertyRenames = {
48
9
  speakProvider: "output",
@@ -53,11 +14,11 @@ var voice_property_names_default = createTransformer((fileInfo, api, options, co
53
14
  callee: { type: "Identifier", name: "Agent" }
54
15
  }).forEach((agentPath) => {
55
16
  const configArg = agentPath.node.arguments[0];
56
- if (!configArg || configArg.type !== "ObjectExpression") return;
57
- configArg.properties?.forEach((prop) => {
58
- if ((prop.type === "Property" || prop.type === "ObjectProperty") && prop.key.type === "Identifier" && prop.key.name === "voice" && prop.value.type === "ObjectExpression") {
59
- prop.value.properties?.forEach((voiceProp) => {
60
- if ((voiceProp.type === "Property" || voiceProp.type === "ObjectProperty") && voiceProp.key.type === "Identifier") {
17
+ if (!configArg || configArg.type !== "ObjectExpression" || !configArg.properties) return;
18
+ configArg.properties.forEach((prop) => {
19
+ if ((prop.type === "Property" || prop.type === "ObjectProperty") && prop.key?.type === "Identifier" && prop.key.name === "voice" && prop.value?.type === "ObjectExpression" && prop.value.properties) {
20
+ prop.value.properties.forEach((voiceProp) => {
21
+ if ((voiceProp.type === "Property" || voiceProp.type === "ObjectProperty") && voiceProp.key?.type === "Identifier") {
61
22
  const oldName = voiceProp.key.name;
62
23
  const newName = propertyRenames[oldName];
63
24
  if (newName) {
@@ -75,4 +36,7 @@ var voice_property_names_default = createTransformer((fileInfo, api, options, co
75
36
  );
76
37
  }
77
38
  });
39
+ export {
40
+ voice_property_names_default as default
41
+ };
78
42
  //# sourceMappingURL=voice-property-names.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/codemods/v1/voice-property-names.ts","../../../src/codemods/lib/create-transformer.ts"],"sourcesContent":["import { createTransformer } from '../lib/create-transformer';\n\n/**\n * Transforms voice property names in Agent configuration:\n * - speakProvider → output\n * - listenProvider → input\n * - realtimeProvider → realtime\n *\n * Only transforms properties within new Agent({ voice: { ... } })\n */\nexport default createTransformer((fileInfo, api, options, context) => {\n const { j, root } = context;\n\n // Map of old property names to new property names\n const propertyRenames: Record<string, string> = {\n speakProvider: 'output',\n listenProvider: 'input',\n realtimeProvider: 'realtime',\n };\n\n // Find all new Agent({ ... }) expressions\n root\n .find(j.NewExpression, {\n callee: { type: 'Identifier', name: 'Agent' },\n })\n .forEach(agentPath => {\n const configArg = agentPath.node.arguments[0];\n if (!configArg || configArg.type !== 'ObjectExpression') return;\n\n // Find the voice property in the Agent config object\n configArg.properties?.forEach((prop: any) => {\n if (\n (prop.type === 'Property' || prop.type === 'ObjectProperty') &&\n prop.key.type === 'Identifier' &&\n prop.key.name === 'voice' &&\n prop.value.type === 'ObjectExpression'\n ) {\n // Now rename properties within the voice object\n prop.value.properties?.forEach((voiceProp: any) => {\n if (\n (voiceProp.type === 'Property' || voiceProp.type === 'ObjectProperty') &&\n voiceProp.key.type === 'Identifier'\n ) {\n const oldName = voiceProp.key.name;\n const newName = propertyRenames[oldName];\n\n if (newName) {\n voiceProp.key.name = newName;\n context.hasChanges = true;\n }\n }\n });\n }\n });\n });\n\n if (context.hasChanges) {\n context.messages.push(\n `Transformed voice property names: speakProvider/listenProvider/realtimeProvider → output/input/realtime`,\n );\n }\n});\n","// Copied from https://github.com/vercel/ai/blob/main/packages/codemod/src/codemods/lib/create-transformer.ts\n// License: Apache-2.0\n\nimport type { FileInfo, API, JSCodeshift, Collection } from 'jscodeshift';\n\ntype TransformerFunction = (fileInfo: FileInfo, api: API, options: any, context: TransformContext) => void;\n\nexport interface TransformContext {\n /**\n * The jscodeshift API object.\n */\n j: JSCodeshift;\n\n /**\n * The root collection of the AST.\n */\n root: Collection<any>;\n\n /**\n * Codemods should set this to true if they make any changes to the AST.\n */\n hasChanges: boolean;\n\n /**\n * Codemods can append messages to this array to report information to the user.\n */\n messages: string[];\n}\n\nexport function createTransformer(transformFn: TransformerFunction) {\n // Note the return type of this function is explicitly designed to conform to\n // the signature expected by jscodeshift. For more see\n // https://github.com/facebook/jscodeshift\n return function transformer(fileInfo: FileInfo, api: API, options: any) {\n const j = api.jscodeshift;\n const root = j(fileInfo.source);\n const context: TransformContext = {\n j,\n root,\n hasChanges: false,\n messages: [],\n };\n\n // Execute the transformation\n transformFn(fileInfo, api, options, context);\n\n // Report any messages\n context.messages.forEach(message => api.report(message));\n\n // Return the transformed source code if changes were made\n return context.hasChanges ? root.toSource({ quote: 'single' }) : null;\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;AC6BO,SAAS,kBAAkB,aAAkC;AAIlE,SAAO,SAAS,YAAY,UAAoB,KAAU,SAAc;AACtE,UAAM,IAAI,IAAI;AACd,UAAM,OAAO,EAAE,SAAS,MAAM;AAC9B,UAAM,UAA4B;AAAA,MAChC;AAAA,MACA;AAAA,MACA,YAAY;AAAA,MACZ,UAAU,CAAC;AAAA,IACb;AAGA,gBAAY,UAAU,KAAK,SAAS,OAAO;AAG3C,YAAQ,SAAS,QAAQ,aAAW,IAAI,OAAO,OAAO,CAAC;AAGvD,WAAO,QAAQ,aAAa,KAAK,SAAS,EAAE,OAAO,SAAS,CAAC,IAAI;AAAA,EACnE;AACF;;;AD1CA,IAAO,+BAAQ,kBAAkB,CAAC,UAAU,KAAK,SAAS,YAAY;AACpE,QAAM,EAAE,GAAG,KAAK,IAAI;AAGpB,QAAM,kBAA0C;AAAA,IAC9C,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,kBAAkB;AAAA,EACpB;AAGA,OACG,KAAK,EAAE,eAAe;AAAA,IACrB,QAAQ,EAAE,MAAM,cAAc,MAAM,QAAQ;AAAA,EAC9C,CAAC,EACA,QAAQ,eAAa;AACpB,UAAM,YAAY,UAAU,KAAK,UAAU,CAAC;AAC5C,QAAI,CAAC,aAAa,UAAU,SAAS,mBAAoB;AAGzD,cAAU,YAAY,QAAQ,CAAC,SAAc;AAC3C,WACG,KAAK,SAAS,cAAc,KAAK,SAAS,qBAC3C,KAAK,IAAI,SAAS,gBAClB,KAAK,IAAI,SAAS,WAClB,KAAK,MAAM,SAAS,oBACpB;AAEA,aAAK,MAAM,YAAY,QAAQ,CAAC,cAAmB;AACjD,eACG,UAAU,SAAS,cAAc,UAAU,SAAS,qBACrD,UAAU,IAAI,SAAS,cACvB;AACA,kBAAM,UAAU,UAAU,IAAI;AAC9B,kBAAM,UAAU,gBAAgB,OAAO;AAEvC,gBAAI,SAAS;AACX,wBAAU,IAAI,OAAO;AACrB,sBAAQ,aAAa;AAAA,YACvB;AAAA,UACF;AAAA,QACF,CAAC;AAAA,MACH;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AAEH,MAAI,QAAQ,YAAY;AACtB,YAAQ,SAAS;AAAA,MACf;AAAA,IACF;AAAA,EACF;AACF,CAAC;","names":[]}
1
+ {"version":3,"sources":["../../../src/codemods/v1/voice-property-names.ts"],"sourcesContent":["import { createTransformer } from '../lib/create-transformer';\n\n/**\n * Transforms voice property names in Agent configuration:\n * - speakProvider → output\n * - listenProvider → input\n * - realtimeProvider → realtime\n *\n * Only transforms properties within new Agent({ voice: { ... } })\n */\nexport default createTransformer((_fileInfo, _api, _options, context) => {\n const { j, root } = context;\n\n // Map of old property names to new property names\n const propertyRenames: Record<string, string> = {\n speakProvider: 'output',\n listenProvider: 'input',\n realtimeProvider: 'realtime',\n };\n\n // Find all new Agent({ ... }) expressions and transform in one pass\n root\n .find(j.NewExpression, {\n callee: { type: 'Identifier', name: 'Agent' },\n })\n .forEach(agentPath => {\n const configArg = agentPath.node.arguments[0];\n if (!configArg || configArg.type !== 'ObjectExpression' || !configArg.properties) return;\n\n // Find the voice property in the Agent config object\n configArg.properties.forEach((prop: any) => {\n if (\n (prop.type === 'Property' || prop.type === 'ObjectProperty') &&\n prop.key?.type === 'Identifier' &&\n prop.key.name === 'voice' &&\n prop.value?.type === 'ObjectExpression' &&\n prop.value.properties\n ) {\n // Now rename properties within the voice object\n prop.value.properties.forEach((voiceProp: any) => {\n if (\n (voiceProp.type === 'Property' || voiceProp.type === 'ObjectProperty') &&\n voiceProp.key?.type === 'Identifier'\n ) {\n const oldName = voiceProp.key.name;\n const newName = propertyRenames[oldName];\n\n if (newName) {\n voiceProp.key.name = newName;\n context.hasChanges = true;\n }\n }\n });\n }\n });\n });\n\n if (context.hasChanges) {\n context.messages.push(\n `Transformed voice property names: speakProvider/listenProvider/realtimeProvider → output/input/realtime`,\n );\n }\n});\n"],"mappings":";;;;;AAUA,IAAO,+BAAQ,kBAAkB,CAAC,WAAW,MAAM,UAAU,YAAY;AACvE,QAAM,EAAE,GAAG,KAAK,IAAI;AAGpB,QAAM,kBAA0C;AAAA,IAC9C,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,kBAAkB;AAAA,EACpB;AAGA,OACG,KAAK,EAAE,eAAe;AAAA,IACrB,QAAQ,EAAE,MAAM,cAAc,MAAM,QAAQ;AAAA,EAC9C,CAAC,EACA,QAAQ,eAAa;AACpB,UAAM,YAAY,UAAU,KAAK,UAAU,CAAC;AAC5C,QAAI,CAAC,aAAa,UAAU,SAAS,sBAAsB,CAAC,UAAU,WAAY;AAGlF,cAAU,WAAW,QAAQ,CAAC,SAAc;AAC1C,WACG,KAAK,SAAS,cAAc,KAAK,SAAS,qBAC3C,KAAK,KAAK,SAAS,gBACnB,KAAK,IAAI,SAAS,WAClB,KAAK,OAAO,SAAS,sBACrB,KAAK,MAAM,YACX;AAEA,aAAK,MAAM,WAAW,QAAQ,CAAC,cAAmB;AAChD,eACG,UAAU,SAAS,cAAc,UAAU,SAAS,qBACrD,UAAU,KAAK,SAAS,cACxB;AACA,kBAAM,UAAU,UAAU,IAAI;AAC9B,kBAAM,UAAU,gBAAgB,OAAO;AAEvC,gBAAI,SAAS;AACX,wBAAU,IAAI,OAAO;AACrB,sBAAQ,aAAa;AAAA,YACvB;AAAA,UACF;AAAA,QACF,CAAC;AAAA,MACH;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AAEH,MAAI,QAAQ,YAAY;AACtB,YAAQ,SAAS;AAAA,MACf;AAAA,IACF;AAAA,EACF;AACF,CAAC;","names":[]}
@@ -0,0 +1,22 @@
1
+ import {
2
+ createTransformer
3
+ } from "../chunk-JNFQ6J6B.js";
4
+ import {
5
+ renameMethod,
6
+ trackClassInstances
7
+ } from "../chunk-PKCFDS7J.js";
8
+
9
+ // src/codemods/v1/workflow-create-run-async.ts
10
+ var workflow_create_run_async_default = createTransformer((_fileInfo, _api, _options, context) => {
11
+ const { j, root } = context;
12
+ const workflowInstances = trackClassInstances(j, root, "Workflow");
13
+ const count = renameMethod(j, root, workflowInstances, "createRunAsync", "createRun");
14
+ if (count > 0) {
15
+ context.hasChanges = true;
16
+ context.messages.push("Renamed createRunAsync to createRun on Workflow instances");
17
+ }
18
+ });
19
+ export {
20
+ workflow_create_run_async_default as default
21
+ };
22
+ //# sourceMappingURL=workflow-create-run-async.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/codemods/v1/workflow-create-run-async.ts"],"sourcesContent":["import { createTransformer } from '../lib/create-transformer';\nimport { trackClassInstances, renameMethod } from '../lib/utils';\n\n/**\n * Renames workflow.createRunAsync() to workflow.createRun().\n * This simplifies the API by removing the redundant \"Async\" suffix.\n *\n * Before:\n * await workflow.createRunAsync({ input: { ... } });\n *\n * After:\n * await workflow.createRun({ input: { ... } });\n */\nexport default createTransformer((_fileInfo, _api, _options, context) => {\n const { j, root } = context;\n\n // Track Workflow instances and rename method in a single optimized pass\n const workflowInstances = trackClassInstances(j, root, 'Workflow');\n const count = renameMethod(j, root, workflowInstances, 'createRunAsync', 'createRun');\n\n if (count > 0) {\n context.hasChanges = true;\n context.messages.push('Renamed createRunAsync to createRun on Workflow instances');\n }\n});\n"],"mappings":";;;;;;;;;AAaA,IAAO,oCAAQ,kBAAkB,CAAC,WAAW,MAAM,UAAU,YAAY;AACvE,QAAM,EAAE,GAAG,KAAK,IAAI;AAGpB,QAAM,oBAAoB,oBAAoB,GAAG,MAAM,UAAU;AACjE,QAAM,QAAQ,aAAa,GAAG,MAAM,mBAAmB,kBAAkB,WAAW;AAEpF,MAAI,QAAQ,GAAG;AACb,YAAQ,aAAa;AACrB,YAAQ,SAAS,KAAK,2DAA2D;AAAA,EACnF;AACF,CAAC;","names":[]}
@@ -0,0 +1,22 @@
1
+ import {
2
+ createTransformer
3
+ } from "../chunk-JNFQ6J6B.js";
4
+ import {
5
+ renameMethod,
6
+ trackClassInstances
7
+ } from "../chunk-PKCFDS7J.js";
8
+
9
+ // src/codemods/v1/workflow-list-runs.ts
10
+ var workflow_list_runs_default = createTransformer((_fileInfo, _api, _options, context) => {
11
+ const { j, root } = context;
12
+ const workflowInstances = trackClassInstances(j, root, "Workflow");
13
+ const count = renameMethod(j, root, workflowInstances, "getWorkflowRuns", "listWorkflowRuns");
14
+ if (count > 0) {
15
+ context.hasChanges = true;
16
+ context.messages.push("Renamed getWorkflowRuns to listWorkflowRuns on Workflow instances");
17
+ }
18
+ });
19
+ export {
20
+ workflow_list_runs_default as default
21
+ };
22
+ //# sourceMappingURL=workflow-list-runs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/codemods/v1/workflow-list-runs.ts"],"sourcesContent":["import { createTransformer } from '../lib/create-transformer';\nimport { trackClassInstances, renameMethod } from '../lib/utils';\n\n/**\n * Renames workflow.getWorkflowRuns() to workflow.listWorkflowRuns().\n * This aligns with the convention that list* methods return collections.\n *\n * Before:\n * const runs = await workflow.getWorkflowRuns({ fromDate, toDate });\n *\n * After:\n * const runs = await workflow.listWorkflowRuns({ fromDate, toDate });\n */\nexport default createTransformer((_fileInfo, _api, _options, context) => {\n const { j, root } = context;\n\n // Track Workflow instances and rename method in a single optimized pass\n const workflowInstances = trackClassInstances(j, root, 'Workflow');\n const count = renameMethod(j, root, workflowInstances, 'getWorkflowRuns', 'listWorkflowRuns');\n\n if (count > 0) {\n context.hasChanges = true;\n context.messages.push('Renamed getWorkflowRuns to listWorkflowRuns on Workflow instances');\n }\n});\n"],"mappings":";;;;;;;;;AAaA,IAAO,6BAAQ,kBAAkB,CAAC,WAAW,MAAM,UAAU,YAAY;AACvE,QAAM,EAAE,GAAG,KAAK,IAAI;AAGpB,QAAM,oBAAoB,oBAAoB,GAAG,MAAM,UAAU;AACjE,QAAM,QAAQ,aAAa,GAAG,MAAM,mBAAmB,mBAAmB,kBAAkB;AAE5F,MAAI,QAAQ,GAAG;AACb,YAAQ,aAAa;AACrB,YAAQ,SAAS,KAAK,mEAAmE;AAAA,EAC3F;AACF,CAAC;","names":[]}
@@ -0,0 +1,53 @@
1
+ import {
2
+ createTransformer
3
+ } from "../chunk-JNFQ6J6B.js";
4
+
5
+ // src/codemods/v1/workflow-run-count.ts
6
+ var workflow_run_count_default = createTransformer((fileInfo, api, options, context) => {
7
+ const { j, root } = context;
8
+ const oldPropertyName = "runCount";
9
+ const newPropertyName = "retryCount";
10
+ const contextParamNames = /* @__PURE__ */ new Set();
11
+ root.find(j.CallExpression, {
12
+ callee: {
13
+ type: "Identifier",
14
+ name: "createStep"
15
+ }
16
+ }).forEach((path) => {
17
+ const args = path.value.arguments;
18
+ if (args.length === 0 || args[0]?.type !== "ObjectExpression") return;
19
+ const configObj = args[0];
20
+ if (!configObj.properties) return;
21
+ configObj.properties.forEach((prop) => {
22
+ if ((prop.type === "Property" || prop.type === "ObjectProperty") && prop.key && prop.key.type === "Identifier" && prop.key.name === "execute") {
23
+ const value = prop.value;
24
+ if (value && (value.type === "ArrowFunctionExpression" || value.type === "FunctionExpression")) {
25
+ const params = value.params;
26
+ const secondParam = params && params.length >= 2 ? params[1] : null;
27
+ if (secondParam && secondParam.type === "Identifier") {
28
+ contextParamNames.add(secondParam.name);
29
+ }
30
+ }
31
+ }
32
+ });
33
+ });
34
+ const renameMemberProperty = (node) => {
35
+ if (node.object.type === "Identifier" && contextParamNames.has(node.object.name) && node.property.type === "Identifier" && node.property.name === oldPropertyName) {
36
+ node.property.name = newPropertyName;
37
+ context.hasChanges = true;
38
+ }
39
+ };
40
+ root.find(j.MemberExpression).forEach((path) => {
41
+ renameMemberProperty(path.value);
42
+ });
43
+ root.find(j.OptionalMemberExpression).forEach((path) => {
44
+ renameMemberProperty(path.value);
45
+ });
46
+ if (context.hasChanges) {
47
+ context.messages.push("Renamed context.runCount to context.retryCount in step execution functions");
48
+ }
49
+ });
50
+ export {
51
+ workflow_run_count_default as default
52
+ };
53
+ //# sourceMappingURL=workflow-run-count.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/codemods/v1/workflow-run-count.ts"],"sourcesContent":["import { createTransformer } from '../lib/create-transformer';\n\n/**\n * Renames context.runCount to context.retryCount in step execution functions.\n * This provides clearer naming that better describes retry behavior.\n *\n * Before:\n * createStep({\n * execute: async (inputData, context) => {\n * console.log(`Step run ${context.runCount} times`);\n * },\n * });\n *\n * After:\n * createStep({\n * execute: async (inputData, context) => {\n * console.log(`Step retry count: ${context.retryCount}`);\n * },\n * });\n */\nexport default createTransformer((fileInfo, api, options, context) => {\n const { j, root } = context;\n\n const oldPropertyName = 'runCount';\n const newPropertyName = 'retryCount';\n\n // Track context parameter names in createStep execute functions\n const contextParamNames = new Set<string>();\n\n // Find createStep calls and extract context parameter names\n root\n .find(j.CallExpression, {\n callee: {\n type: 'Identifier',\n name: 'createStep',\n },\n })\n .forEach(path => {\n const args = path.value.arguments;\n if (args.length === 0 || args[0]?.type !== 'ObjectExpression') return;\n\n const configObj = args[0];\n if (!configObj.properties) return;\n\n // Find the execute property\n configObj.properties.forEach(prop => {\n if (\n (prop.type === 'Property' || prop.type === 'ObjectProperty') &&\n prop.key &&\n prop.key.type === 'Identifier' &&\n prop.key.name === 'execute'\n ) {\n const value = prop.value;\n if (value && (value.type === 'ArrowFunctionExpression' || value.type === 'FunctionExpression')) {\n // Extract the second parameter name (context)\n const params = value.params;\n const secondParam = params && params.length >= 2 ? params[1] : null;\n if (secondParam && secondParam.type === 'Identifier') {\n contextParamNames.add(secondParam.name);\n }\n }\n }\n });\n });\n\n // Rename context.runCount to context.retryCount\n const renameMemberProperty = (\n node: ReturnType<typeof j.memberExpression> | ReturnType<typeof j.optionalMemberExpression>,\n ) => {\n // Check if accessing .runCount on a context parameter\n if (\n node.object.type === 'Identifier' &&\n contextParamNames.has(node.object.name) &&\n node.property.type === 'Identifier' &&\n node.property.name === oldPropertyName\n ) {\n node.property.name = newPropertyName;\n context.hasChanges = true;\n }\n };\n\n // Handle regular member expressions (context.runCount)\n root.find(j.MemberExpression).forEach(path => {\n renameMemberProperty(path.value);\n });\n\n // Handle optional member expressions (context?.runCount)\n root.find(j.OptionalMemberExpression).forEach(path => {\n renameMemberProperty(path.value);\n });\n\n if (context.hasChanges) {\n context.messages.push('Renamed context.runCount to context.retryCount in step execution functions');\n }\n});\n"],"mappings":";;;;;AAoBA,IAAO,6BAAQ,kBAAkB,CAAC,UAAU,KAAK,SAAS,YAAY;AACpE,QAAM,EAAE,GAAG,KAAK,IAAI;AAEpB,QAAM,kBAAkB;AACxB,QAAM,kBAAkB;AAGxB,QAAM,oBAAoB,oBAAI,IAAY;AAG1C,OACG,KAAK,EAAE,gBAAgB;AAAA,IACtB,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,IACR;AAAA,EACF,CAAC,EACA,QAAQ,UAAQ;AACf,UAAM,OAAO,KAAK,MAAM;AACxB,QAAI,KAAK,WAAW,KAAK,KAAK,CAAC,GAAG,SAAS,mBAAoB;AAE/D,UAAM,YAAY,KAAK,CAAC;AACxB,QAAI,CAAC,UAAU,WAAY;AAG3B,cAAU,WAAW,QAAQ,UAAQ;AACnC,WACG,KAAK,SAAS,cAAc,KAAK,SAAS,qBAC3C,KAAK,OACL,KAAK,IAAI,SAAS,gBAClB,KAAK,IAAI,SAAS,WAClB;AACA,cAAM,QAAQ,KAAK;AACnB,YAAI,UAAU,MAAM,SAAS,6BAA6B,MAAM,SAAS,uBAAuB;AAE9F,gBAAM,SAAS,MAAM;AACrB,gBAAM,cAAc,UAAU,OAAO,UAAU,IAAI,OAAO,CAAC,IAAI;AAC/D,cAAI,eAAe,YAAY,SAAS,cAAc;AACpD,8BAAkB,IAAI,YAAY,IAAI;AAAA,UACxC;AAAA,QACF;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AAGH,QAAM,uBAAuB,CAC3B,SACG;AAEH,QACE,KAAK,OAAO,SAAS,gBACrB,kBAAkB,IAAI,KAAK,OAAO,IAAI,KACtC,KAAK,SAAS,SAAS,gBACvB,KAAK,SAAS,SAAS,iBACvB;AACA,WAAK,SAAS,OAAO;AACrB,cAAQ,aAAa;AAAA,IACvB;AAAA,EACF;AAGA,OAAK,KAAK,EAAE,gBAAgB,EAAE,QAAQ,UAAQ;AAC5C,yBAAqB,KAAK,KAAK;AAAA,EACjC,CAAC;AAGD,OAAK,KAAK,EAAE,wBAAwB,EAAE,QAAQ,UAAQ;AACpD,yBAAqB,KAAK,KAAK;AAAA,EACjC,CAAC;AAED,MAAI,QAAQ,YAAY;AACtB,YAAQ,SAAS,KAAK,4EAA4E;AAAA,EACpG;AACF,CAAC;","names":[]}
@@ -0,0 +1,36 @@
1
+ import {
2
+ createTransformer
3
+ } from "../chunk-JNFQ6J6B.js";
4
+
5
+ // src/codemods/v1/workflow-stream-vnext.ts
6
+ var workflow_stream_vnext_default = createTransformer((fileInfo, api, options, context) => {
7
+ const { j, root } = context;
8
+ const methodRenames = {
9
+ streamVNext: "stream",
10
+ resumeStreamVNext: "resumeStream",
11
+ observeStreamVNext: "observeStream"
12
+ };
13
+ let count = 0;
14
+ root.find(j.CallExpression).forEach((path) => {
15
+ const { callee } = path.value;
16
+ if (callee.type !== "MemberExpression") return;
17
+ if (callee.property.type !== "Identifier") return;
18
+ const oldName = callee.property.name;
19
+ if (!Object.hasOwn(methodRenames, oldName)) return;
20
+ const newName = methodRenames[oldName];
21
+ if (newName) {
22
+ callee.property.name = newName;
23
+ count++;
24
+ }
25
+ });
26
+ if (count > 0) {
27
+ context.hasChanges = true;
28
+ context.messages.push(
29
+ `Renamed workflow run VNext methods: streamVNext/resumeStreamVNext/observeStreamVNext \u2192 stream/resumeStream/observeStream`
30
+ );
31
+ }
32
+ });
33
+ export {
34
+ workflow_stream_vnext_default as default
35
+ };
36
+ //# sourceMappingURL=workflow-stream-vnext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/codemods/v1/workflow-stream-vnext.ts"],"sourcesContent":["import { createTransformer } from '../lib/create-transformer';\n\n/**\n * Transforms workflow run VNext methods to their standard names:\n * - run.streamVNext() → run.stream()\n * - run.resumeStreamVNext() → run.resumeStream()\n * - run.observeStreamVNext() → run.observeStream()\n *\n * These methods are called on the result of workflow.createRun().\n */\nexport default createTransformer((fileInfo, api, options, context) => {\n const { j, root } = context;\n\n // Map of old method names to new method names\n const methodRenames: Record<string, string> = {\n streamVNext: 'stream',\n resumeStreamVNext: 'resumeStream',\n observeStreamVNext: 'observeStream',\n };\n\n let count = 0;\n\n // Find all call expressions and rename VNext methods\n // These method names are unique enough to Mastra workflow runs\n // that we can safely rename them globally\n root.find(j.CallExpression).forEach(path => {\n const { callee } = path.value;\n if (callee.type !== 'MemberExpression') return;\n if (callee.property.type !== 'Identifier') return;\n\n const oldName = callee.property.name;\n if (!Object.hasOwn(methodRenames, oldName)) return;\n\n const newName = methodRenames[oldName];\n if (newName) {\n callee.property.name = newName;\n count++;\n }\n });\n\n if (count > 0) {\n context.hasChanges = true;\n context.messages.push(\n `Renamed workflow run VNext methods: streamVNext/resumeStreamVNext/observeStreamVNext → stream/resumeStream/observeStream`,\n );\n }\n});\n"],"mappings":";;;;;AAUA,IAAO,gCAAQ,kBAAkB,CAAC,UAAU,KAAK,SAAS,YAAY;AACpE,QAAM,EAAE,GAAG,KAAK,IAAI;AAGpB,QAAM,gBAAwC;AAAA,IAC5C,aAAa;AAAA,IACb,mBAAmB;AAAA,IACnB,oBAAoB;AAAA,EACtB;AAEA,MAAI,QAAQ;AAKZ,OAAK,KAAK,EAAE,cAAc,EAAE,QAAQ,UAAQ;AAC1C,UAAM,EAAE,OAAO,IAAI,KAAK;AACxB,QAAI,OAAO,SAAS,mBAAoB;AACxC,QAAI,OAAO,SAAS,SAAS,aAAc;AAE3C,UAAM,UAAU,OAAO,SAAS;AAChC,QAAI,CAAC,OAAO,OAAO,eAAe,OAAO,EAAG;AAE5C,UAAM,UAAU,cAAc,OAAO;AACrC,QAAI,SAAS;AACX,aAAO,SAAS,OAAO;AACvB;AAAA,IACF;AAAA,EACF,CAAC;AAED,MAAI,QAAQ,GAAG;AACb,YAAQ,aAAa;AACrB,YAAQ,SAAS;AAAA,MACf;AAAA,IACF;AAAA,EACF;AACF,CAAC;","names":[]}
package/dist/index.js CHANGED
@@ -1,24 +1,21 @@
1
1
  #! /usr/bin/env node
2
- 'use strict';
2
+ import { Command } from 'commander';
3
+ import debug from 'debug';
4
+ import child_process from 'child_process';
5
+ import fs from 'fs';
6
+ import path from 'path';
7
+ import { fileURLToPath } from 'url';
8
+ import util from 'util';
9
+ import { intro, spinner, outro } from '@clack/prompts';
3
10
 
4
- var commander = require('commander');
5
- var debug = require('debug');
6
- var child_process = require('child_process');
7
- var fs = require('fs');
8
- var path = require('path');
9
- var prompts = require('@clack/prompts');
10
-
11
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
12
-
13
- var debug__default = /*#__PURE__*/_interopDefault(debug);
14
- var fs__default = /*#__PURE__*/_interopDefault(fs);
15
- var path__default = /*#__PURE__*/_interopDefault(path);
16
-
17
- var log = debug__default.default("codemod:transform");
18
- var error = debug__default.default("codemod:transform:error");
11
+ var exec = util.promisify(child_process.exec);
12
+ var log = debug("codemod:transform");
13
+ var error = debug("codemod:transform:error");
14
+ var __filename = fileURLToPath(import.meta.url);
15
+ var __dirname = path.dirname(__filename);
19
16
  function getJscodeshift() {
20
- const localJscodeshift = path__default.default.resolve(__dirname, "../node_modules/.bin/jscodeshift");
21
- return fs__default.default.existsSync(localJscodeshift) ? localJscodeshift : "jscodeshift";
17
+ const localJscodeshift = path.resolve(__dirname, "../node_modules/.bin/jscodeshift");
18
+ return fs.existsSync(localJscodeshift) ? localJscodeshift : "jscodeshift";
22
19
  }
23
20
  function buildCommand(codemodPath, targetPath, jscodeshift, options) {
24
21
  let command = `${jscodeshift} -t ${codemodPath} ${targetPath} --parser tsx --ignore-pattern="**/node_modules/**" --ignore-pattern="**/.*/**" --ignore-pattern="**/dist/**" --ignore-pattern="**/build/**" --ignore-pattern="**/*.min.js" --ignore-pattern="**/*.bundle.js"`;
@@ -62,15 +59,15 @@ function parseNotImplementedErrors(transform2, output) {
62
59
  }
63
60
  return notImplementedErrors;
64
61
  }
65
- function transform(codemod, source, transformOptions, options = { logStatus: true }) {
62
+ async function transform(codemod, source, transformOptions, options = { logStatus: true }) {
66
63
  if (options.logStatus) {
67
64
  log(`Applying codemod '${codemod}': ${source}`);
68
65
  }
69
- const codemodPath = path__default.default.resolve(__dirname, `./codemods/${codemod}.js`);
70
- const targetPath = path__default.default.resolve(source);
66
+ const codemodPath = path.resolve(__dirname, `./codemods/${codemod}.js`);
67
+ const targetPath = path.resolve(source);
71
68
  const jscodeshift = getJscodeshift();
72
69
  const command = buildCommand(codemodPath, targetPath, jscodeshift, transformOptions);
73
- const stdout = child_process.execSync(command, { encoding: "utf8", stdio: "pipe" });
70
+ const { stdout } = await exec(command, { encoding: "utf8" });
74
71
  const errors = parseErrors(codemod, stdout);
75
72
  const notImplementedErrors = parseNotImplementedErrors(codemod, stdout);
76
73
  if (options.logStatus) {
@@ -95,43 +92,67 @@ function transform(codemod, source, transformOptions, options = { logStatus: tru
95
92
  var BUNDLE = [
96
93
  "v1/mastra-core-imports",
97
94
  "v1/runtime-context",
98
- "v1/experimental-auth",
95
+ "v1/not-implemented/mastra-memory",
96
+ "v1/mastra-plural-apis",
97
+ "v1/not-implemented/mastra-required-id",
99
98
  "v1/agent-property-access",
100
99
  "v1/agent-voice",
101
100
  "v1/agent-processor-methods",
102
101
  "v1/agent-generate-stream-v-next",
102
+ "v1/agent-abort-signal",
103
+ "v1/not-implemented/agent-format-parameter",
104
+ "v1/not-implemented/agent-to-step",
103
105
  "v1/voice-property-names",
104
- "v1/agent-get-agents",
105
- "v1/evals-get-scorers",
106
- "v1/mcp-get-mcp-servers",
107
106
  "v1/mcp-get-tools",
108
107
  "v1/mcp-get-toolsets",
109
- "v1/workflows-get-workflows"
108
+ "v1/client-sdk-types",
109
+ "v1/client-to-ai-sdk-format",
110
+ "v1/client-offset-limit",
111
+ "v1/client-get-memory-thread",
112
+ "v1/experimental-auth",
113
+ "v1/evals-run-experiment",
114
+ "v1/evals-scorer-by-name",
115
+ "v1/evals-prebuilt-imports",
116
+ "v1/workflow-create-run-async",
117
+ "v1/workflow-run-count",
118
+ "v1/workflow-list-runs",
119
+ "v1/workflow-stream-vnext",
120
+ "v1/memory-query-to-recall",
121
+ "v1/memory-vector-search-param",
122
+ "v1/memory-message-v2-type",
123
+ "v1/storage-get-threads-by-resource",
124
+ "v1/storage-list-messages-by-id",
125
+ "v1/storage-postgres-schema-name",
126
+ "v1/storage-get-messages-paginated",
127
+ "v1/storage-list-workflow-runs",
128
+ "v1/vector-pg-constructor"
110
129
  ];
111
130
 
112
131
  // src/lib/upgrade.ts
113
- var log2 = debug__default.default("codemod:upgrade");
114
- var error2 = debug__default.default("codemod:upgrade:error");
132
+ var log2 = debug("codemod:upgrade");
133
+ var error2 = debug("codemod:upgrade:error");
115
134
  var v1Bundle = BUNDLE.filter((codemod) => codemod.startsWith("v1/"));
116
- function runCodemods(codemods, options, versionLabel) {
135
+ async function runCodemods(codemods, options, versionLabel) {
117
136
  const cwd = process.cwd();
118
- log2(`Starting ${versionLabel} codemods...`);
137
+ intro(`Starting ${versionLabel} codemods`);
119
138
  const modCount = codemods.length;
120
- const p = prompts.progress({ size: modCount });
121
- p.start("Starting...");
139
+ const s = spinner();
140
+ s.start(`Running ${modCount} ${versionLabel} codemods`);
122
141
  const allErrors = [];
123
142
  let notImplementedAvailable = false;
143
+ let count = 0;
124
144
  for (const [_, codemod] of codemods.entries()) {
125
- const { errors, notImplementedErrors } = transform(codemod, cwd, options, {
145
+ const { errors, notImplementedErrors } = await transform(codemod, cwd, options, {
126
146
  logStatus: false
127
147
  });
128
148
  allErrors.push(...errors);
129
149
  if (notImplementedErrors.length > 0) {
130
150
  notImplementedAvailable = true;
131
151
  }
132
- p.advance(1, `Codemod: ${codemod}`);
152
+ count++;
153
+ s.message(`Codemod ${count}/${modCount} (${codemod})`);
133
154
  }
134
- p.stop("Ran all codemods.");
155
+ s.stop(`Ran ${count}/${modCount} codemods.`);
135
156
  if (allErrors.length > 0) {
136
157
  log2(`Some ${versionLabel} codemods did not apply successfully to all files. Details:`);
137
158
  allErrors.forEach(({ transform: transform2, filename, summary }) => {
@@ -143,27 +164,27 @@ function runCodemods(codemods, options, versionLabel) {
143
164
  `Some ${versionLabel} codemods require manual changes. Please search your codebase for \`FIXME(mastra): \` comments and follow the instructions to complete the upgrade.`
144
165
  );
145
166
  }
146
- log2(`${versionLabel} codemods complete.`);
167
+ outro(`${versionLabel} codemods complete.`);
147
168
  }
148
- function upgradeV1(options) {
149
- runCodemods(v1Bundle, options, "v1");
169
+ async function upgradeV1(options) {
170
+ await runCodemods(v1Bundle, options, "v1");
150
171
  }
151
172
 
152
173
  // src/index.ts
153
- var error3 = debug__default.default("codemod:error");
154
- debug__default.default.enable("codemod:*");
155
- var program = new commander.Command();
156
- program.name("codemod").description("CLI for running Mastra codemods").argument("<codemod>", "Codemod to run").argument("<source>", "Path to source files or directory").option("-d, --dry", "Dry run (no changes are made to files)").option("-p, --print", "Print transformed files to stdout").option("--verbose", "Show more information about the transform process").option("-j, --jscodeshift <options>", "Pass options directly to jscodeshift").action((codemod, source, options) => {
174
+ var error3 = debug("codemod:error");
175
+ debug.enable("codemod:*");
176
+ var program = new Command();
177
+ program.name("codemod").description("CLI for running Mastra codemods").argument("<codemod>", "Codemod to run").argument("<source>", "Path to source files or directory").option("-d, --dry", "Dry run (no changes are made to files)").option("-p, --print", "Print transformed files to stdout").option("--verbose", "Show more information about the transform process").option("-j, --jscodeshift <options>", "Pass options directly to jscodeshift").action(async (codemod, source, options) => {
157
178
  try {
158
- transform(codemod, source, options);
179
+ await transform(codemod, source, options);
159
180
  } catch (err) {
160
181
  error3(`Error transforming: ${err}`);
161
182
  process.exit(1);
162
183
  }
163
184
  });
164
- program.command("v1").description("Apply all v1 codemods (v0.x to v1)").option("-d, --dry", "Dry run (no changes are made to files)").option("-p, --print", "Print transformed files to stdout").option("--verbose", "Show more information about the transform process").option("-j, --jscodeshift <options>", "Pass options directly to jscodeshift").action((options) => {
185
+ program.command("v1").description("Apply all v1 codemods (v0.x to v1)").option("-d, --dry", "Dry run (no changes are made to files)").option("-p, --print", "Print transformed files to stdout").option("--verbose", "Show more information about the transform process").option("-j, --jscodeshift <options>", "Pass options directly to jscodeshift").action(async (options) => {
165
186
  try {
166
- upgradeV1(options);
187
+ await upgradeV1(options);
167
188
  } catch (err) {
168
189
  error3(`Error transforming: ${err}`);
169
190
  process.exit(1);