@mastra/codemod 0.0.0-main-test-05-11-2025-2-20251106053353 → 0.1.0-beta.1

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 (95) hide show
  1. package/CHANGELOG.md +9 -1
  2. package/README.md +41 -24
  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 +14 -66
  46. package/dist/codemods/v1/mcp-get-tools.js.map +1 -1
  47. package/dist/codemods/v1/mcp-get-toolsets.js +14 -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 +112 -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/index.js +66 -46
  86. package/dist/index.js.map +1 -1
  87. package/package.json +4 -3
  88. package/dist/codemods/v1/agent-get-agents.js +0 -74
  89. package/dist/codemods/v1/agent-get-agents.js.map +0 -1
  90. package/dist/codemods/v1/evals-get-scorers.js +0 -74
  91. package/dist/codemods/v1/evals-get-scorers.js.map +0 -1
  92. package/dist/codemods/v1/mcp-get-mcp-servers.js +0 -74
  93. package/dist/codemods/v1/mcp-get-mcp-servers.js.map +0 -1
  94. package/dist/codemods/v1/workflows-get-workflows.js +0 -74
  95. package/dist/codemods/v1/workflows-get-workflows.js.map +0 -1
@@ -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-get-threads-by-resource.ts
10
+ var storage_get_threads_by_resource_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, "getThreadsByResourceId", "listThreadsByResourceId");
15
+ if (count > 0) {
16
+ context.hasChanges = true;
17
+ context.messages.push("Renamed getThreadsByResourceId to listThreadsByResourceId on storage instances");
18
+ }
19
+ });
20
+ export {
21
+ storage_get_threads_by_resource_default as default
22
+ };
23
+ //# sourceMappingURL=storage-get-threads-by-resource.js.map
@@ -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":[]}
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 fs from 'fs';
5
+ import child_process from 'child_process';
6
+ import { fileURLToPath } from 'url';
7
+ import util from 'util';
8
+ import path from 'path';
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,66 @@ 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/memory-query-to-recall",
120
+ "v1/memory-vector-search-param",
121
+ "v1/memory-message-v2-type",
122
+ "v1/storage-get-threads-by-resource",
123
+ "v1/storage-list-messages-by-id",
124
+ "v1/storage-postgres-schema-name",
125
+ "v1/storage-get-messages-paginated",
126
+ "v1/storage-list-workflow-runs",
127
+ "v1/vector-pg-constructor"
110
128
  ];
111
129
 
112
130
  // src/lib/upgrade.ts
113
- var log2 = debug__default.default("codemod:upgrade");
114
- var error2 = debug__default.default("codemod:upgrade:error");
131
+ var log2 = debug("codemod:upgrade");
132
+ var error2 = debug("codemod:upgrade:error");
115
133
  var v1Bundle = BUNDLE.filter((codemod) => codemod.startsWith("v1/"));
116
- function runCodemods(codemods, options, versionLabel) {
134
+ async function runCodemods(codemods, options, versionLabel) {
117
135
  const cwd = process.cwd();
118
- log2(`Starting ${versionLabel} codemods...`);
136
+ intro(`Starting ${versionLabel} codemods`);
119
137
  const modCount = codemods.length;
120
- const p = prompts.progress({ size: modCount });
121
- p.start("Starting...");
138
+ const s = spinner();
139
+ s.start(`Running ${modCount} ${versionLabel} codemods`);
122
140
  const allErrors = [];
123
141
  let notImplementedAvailable = false;
142
+ let count = 0;
124
143
  for (const [_, codemod] of codemods.entries()) {
125
- const { errors, notImplementedErrors } = transform(codemod, cwd, options, {
144
+ const { errors, notImplementedErrors } = await transform(codemod, cwd, options, {
126
145
  logStatus: false
127
146
  });
128
147
  allErrors.push(...errors);
129
148
  if (notImplementedErrors.length > 0) {
130
149
  notImplementedAvailable = true;
131
150
  }
132
- p.advance(1, `Codemod: ${codemod}`);
151
+ count++;
152
+ s.message(`Codemod ${count}/${modCount} (${codemod})`);
133
153
  }
134
- p.stop("Ran all codemods.");
154
+ s.stop(`Ran ${count}/${modCount} codemods.`);
135
155
  if (allErrors.length > 0) {
136
156
  log2(`Some ${versionLabel} codemods did not apply successfully to all files. Details:`);
137
157
  allErrors.forEach(({ transform: transform2, filename, summary }) => {
@@ -143,27 +163,27 @@ function runCodemods(codemods, options, versionLabel) {
143
163
  `Some ${versionLabel} codemods require manual changes. Please search your codebase for \`FIXME(mastra): \` comments and follow the instructions to complete the upgrade.`
144
164
  );
145
165
  }
146
- log2(`${versionLabel} codemods complete.`);
166
+ outro(`${versionLabel} codemods complete.`);
147
167
  }
148
- function upgradeV1(options) {
149
- runCodemods(v1Bundle, options, "v1");
168
+ async function upgradeV1(options) {
169
+ await runCodemods(v1Bundle, options, "v1");
150
170
  }
151
171
 
152
172
  // 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) => {
173
+ var error3 = debug("codemod:error");
174
+ debug.enable("codemod:*");
175
+ var program = new Command();
176
+ 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
177
  try {
158
- transform(codemod, source, options);
178
+ await transform(codemod, source, options);
159
179
  } catch (err) {
160
180
  error3(`Error transforming: ${err}`);
161
181
  process.exit(1);
162
182
  }
163
183
  });
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) => {
184
+ 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
185
  try {
166
- upgradeV1(options);
186
+ await upgradeV1(options);
167
187
  } catch (err) {
168
188
  error3(`Error transforming: ${err}`);
169
189
  process.exit(1);