@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.
- package/CHANGELOG.md +9 -1
- package/README.md +41 -24
- package/dist/codemods/chunk-JNFQ6J6B.js +21 -0
- package/dist/codemods/chunk-JNFQ6J6B.js.map +1 -0
- package/dist/codemods/chunk-LGW3NUAJ.js +32 -0
- package/dist/codemods/chunk-LGW3NUAJ.js.map +1 -0
- package/dist/codemods/chunk-PKCFDS7J.js +177 -0
- package/dist/codemods/chunk-PKCFDS7J.js.map +1 -0
- package/dist/codemods/lib/add-comment.js +6 -54
- package/dist/codemods/lib/add-comment.js.map +1 -1
- package/dist/codemods/lib/create-transformer.js +5 -43
- package/dist/codemods/lib/create-transformer.js.map +1 -1
- package/dist/codemods/lib/utils.js +23 -0
- package/dist/codemods/lib/utils.js.map +1 -0
- package/dist/codemods/v1/agent-abort-signal.js +61 -0
- package/dist/codemods/v1/agent-abort-signal.js.map +1 -0
- package/dist/codemods/v1/agent-generate-stream-v-next.js +13 -70
- package/dist/codemods/v1/agent-generate-stream-v-next.js.map +1 -1
- package/dist/codemods/v1/agent-processor-methods.js +14 -71
- package/dist/codemods/v1/agent-processor-methods.js.map +1 -1
- package/dist/codemods/v1/agent-property-access.js +11 -50
- package/dist/codemods/v1/agent-property-access.js.map +1 -1
- package/dist/codemods/v1/agent-voice.js +10 -49
- package/dist/codemods/v1/agent-voice.js.map +1 -1
- package/dist/codemods/v1/client-get-memory-thread.js +58 -0
- package/dist/codemods/v1/client-get-memory-thread.js.map +1 -0
- package/dist/codemods/v1/client-offset-limit.js +49 -0
- package/dist/codemods/v1/client-offset-limit.js.map +1 -0
- package/dist/codemods/v1/client-sdk-types.js +56 -0
- package/dist/codemods/v1/client-sdk-types.js.map +1 -0
- package/dist/codemods/v1/client-to-ai-sdk-format.js +20 -0
- package/dist/codemods/v1/client-to-ai-sdk-format.js.map +1 -0
- package/dist/codemods/v1/evals-prebuilt-imports.js +24 -0
- package/dist/codemods/v1/evals-prebuilt-imports.js.map +1 -0
- package/dist/codemods/v1/evals-run-experiment.js +20 -0
- package/dist/codemods/v1/evals-run-experiment.js.map +1 -0
- package/dist/codemods/v1/evals-scorer-by-name.js +22 -0
- package/dist/codemods/v1/evals-scorer-by-name.js.map +1 -0
- package/dist/codemods/v1/experimental-auth.js +7 -43
- package/dist/codemods/v1/experimental-auth.js.map +1 -1
- package/dist/codemods/v1/mastra-core-imports.js +8 -44
- package/dist/codemods/v1/mastra-core-imports.js.map +1 -1
- package/dist/codemods/v1/mastra-plural-apis.js +31 -0
- package/dist/codemods/v1/mastra-plural-apis.js.map +1 -0
- package/dist/codemods/v1/mcp-get-tools.js +14 -66
- package/dist/codemods/v1/mcp-get-tools.js.map +1 -1
- package/dist/codemods/v1/mcp-get-toolsets.js +14 -66
- package/dist/codemods/v1/mcp-get-toolsets.js.map +1 -1
- package/dist/codemods/v1/memory-message-v2-type.js +50 -0
- package/dist/codemods/v1/memory-message-v2-type.js.map +1 -0
- package/dist/codemods/v1/memory-query-to-recall.js +22 -0
- package/dist/codemods/v1/memory-query-to-recall.js.map +1 -0
- package/dist/codemods/v1/memory-vector-search-param.js +31 -0
- package/dist/codemods/v1/memory-vector-search-param.js.map +1 -0
- package/dist/codemods/v1/not-implemented/agent-format-parameter.js +53 -0
- package/dist/codemods/v1/not-implemented/agent-format-parameter.js.map +1 -0
- package/dist/codemods/v1/not-implemented/agent-to-step.js +54 -0
- package/dist/codemods/v1/not-implemented/agent-to-step.js.map +1 -0
- package/dist/codemods/v1/not-implemented/mastra-memory.js +50 -0
- package/dist/codemods/v1/not-implemented/mastra-memory.js.map +1 -0
- package/dist/codemods/v1/not-implemented/mastra-required-id.js +112 -0
- package/dist/codemods/v1/not-implemented/mastra-required-id.js.map +1 -0
- package/dist/codemods/v1/runtime-context.js +6 -42
- package/dist/codemods/v1/runtime-context.js.map +1 -1
- package/dist/codemods/v1/storage-get-messages-paginated.js +41 -0
- package/dist/codemods/v1/storage-get-messages-paginated.js.map +1 -0
- package/dist/codemods/v1/storage-get-threads-by-resource.js +23 -0
- package/dist/codemods/v1/storage-get-threads-by-resource.js.map +1 -0
- package/dist/codemods/v1/storage-list-messages-by-id.js +23 -0
- package/dist/codemods/v1/storage-list-messages-by-id.js.map +1 -0
- package/dist/codemods/v1/storage-list-workflow-runs.js +23 -0
- package/dist/codemods/v1/storage-list-workflow-runs.js.map +1 -0
- package/dist/codemods/v1/storage-postgres-schema-name.js +20 -0
- package/dist/codemods/v1/storage-postgres-schema-name.js.map +1 -0
- package/dist/codemods/v1/vector-pg-constructor.js +27 -0
- package/dist/codemods/v1/vector-pg-constructor.js.map +1 -0
- package/dist/codemods/v1/voice-property-names.js +12 -48
- package/dist/codemods/v1/voice-property-names.js.map +1 -1
- package/dist/codemods/v1/workflow-create-run-async.js +22 -0
- package/dist/codemods/v1/workflow-create-run-async.js.map +1 -0
- package/dist/codemods/v1/workflow-list-runs.js +22 -0
- package/dist/codemods/v1/workflow-list-runs.js.map +1 -0
- package/dist/codemods/v1/workflow-run-count.js +53 -0
- package/dist/codemods/v1/workflow-run-count.js.map +1 -0
- package/dist/index.js +66 -46
- package/dist/index.js.map +1 -1
- package/package.json +4 -3
- package/dist/codemods/v1/agent-get-agents.js +0 -74
- package/dist/codemods/v1/agent-get-agents.js.map +0 -1
- package/dist/codemods/v1/evals-get-scorers.js +0 -74
- package/dist/codemods/v1/evals-get-scorers.js.map +0 -1
- package/dist/codemods/v1/mcp-get-mcp-servers.js +0 -74
- package/dist/codemods/v1/mcp-get-mcp-servers.js.map +0 -1
- package/dist/codemods/v1/workflows-get-workflows.js +0 -74
- 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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
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
|
|
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
|
|
58
|
-
if ((prop.type === "Property" || prop.type === "ObjectProperty") && prop.key
|
|
59
|
-
prop.value.properties
|
|
60
|
-
if ((voiceProp.type === "Property" || voiceProp.type === "ObjectProperty") && voiceProp.key
|
|
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"
|
|
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
|
-
|
|
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
|
|
5
|
-
var
|
|
6
|
-
var
|
|
7
|
-
var
|
|
8
|
-
var
|
|
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 =
|
|
21
|
-
return
|
|
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 =
|
|
70
|
-
const targetPath =
|
|
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 =
|
|
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/
|
|
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/
|
|
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 =
|
|
114
|
-
var error2 =
|
|
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
|
-
|
|
136
|
+
intro(`Starting ${versionLabel} codemods`);
|
|
119
137
|
const modCount = codemods.length;
|
|
120
|
-
const
|
|
121
|
-
|
|
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
|
-
|
|
151
|
+
count++;
|
|
152
|
+
s.message(`Codemod ${count}/${modCount} (${codemod})`);
|
|
133
153
|
}
|
|
134
|
-
|
|
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
|
-
|
|
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 =
|
|
154
|
-
|
|
155
|
-
var program = new
|
|
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);
|