@mastra/codemod 0.0.0-allow-to-pass-a-mastra-url-instance-20251105224938 → 0.0.0-client-js-listmessages-agentid-fix-20251119175531
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 +29 -1
- package/README.md +46 -11
- 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 +26 -0
- package/dist/codemods/v1/agent-generate-stream-v-next.js.map +1 -0
- package/dist/codemods/v1/agent-processor-methods.js +28 -0
- package/dist/codemods/v1/agent-processor-methods.js.map +1 -0
- package/dist/codemods/v1/agent-property-access.js +42 -0
- package/dist/codemods/v1/agent-property-access.js.map +1 -0
- package/dist/codemods/v1/agent-voice.js +37 -0
- package/dist/codemods/v1/agent-voice.js.map +1 -0
- 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 +27 -0
- package/dist/codemods/v1/experimental-auth.js.map +1 -0
- 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 +24 -0
- package/dist/codemods/v1/mcp-get-tools.js.map +1 -0
- package/dist/codemods/v1/mcp-get-toolsets.js +24 -0
- package/dist/codemods/v1/mcp-get-toolsets.js.map +1 -0
- 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 +113 -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 +42 -0
- package/dist/codemods/v1/voice-property-names.js.map +1 -0
- 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 +114 -27
- package/dist/index.js.map +1 -1
- package/package.json +9 -5
package/dist/index.js
CHANGED
|
@@ -1,23 +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
|
-
|
|
10
|
-
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
|
-
|
|
12
|
-
var debug__default = /*#__PURE__*/_interopDefault(debug);
|
|
13
|
-
var fs__default = /*#__PURE__*/_interopDefault(fs);
|
|
14
|
-
var path__default = /*#__PURE__*/_interopDefault(path);
|
|
15
|
-
|
|
16
|
-
var log = debug__default.default("codemod:transform");
|
|
17
|
-
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);
|
|
18
16
|
function getJscodeshift() {
|
|
19
|
-
const localJscodeshift =
|
|
20
|
-
return
|
|
17
|
+
const localJscodeshift = path.resolve(__dirname, "../node_modules/.bin/jscodeshift");
|
|
18
|
+
return fs.existsSync(localJscodeshift) ? localJscodeshift : "jscodeshift";
|
|
21
19
|
}
|
|
22
20
|
function buildCommand(codemodPath, targetPath, jscodeshift, options) {
|
|
23
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"`;
|
|
@@ -61,15 +59,15 @@ function parseNotImplementedErrors(transform2, output) {
|
|
|
61
59
|
}
|
|
62
60
|
return notImplementedErrors;
|
|
63
61
|
}
|
|
64
|
-
function transform(codemod, source, transformOptions, options = { logStatus: true }) {
|
|
62
|
+
async function transform(codemod, source, transformOptions, options = { logStatus: true }) {
|
|
65
63
|
if (options.logStatus) {
|
|
66
64
|
log(`Applying codemod '${codemod}': ${source}`);
|
|
67
65
|
}
|
|
68
|
-
const codemodPath =
|
|
69
|
-
const targetPath =
|
|
66
|
+
const codemodPath = path.resolve(__dirname, `./codemods/${codemod}.js`);
|
|
67
|
+
const targetPath = path.resolve(source);
|
|
70
68
|
const jscodeshift = getJscodeshift();
|
|
71
69
|
const command = buildCommand(codemodPath, targetPath, jscodeshift, transformOptions);
|
|
72
|
-
const stdout =
|
|
70
|
+
const { stdout } = await exec(command, { encoding: "utf8" });
|
|
73
71
|
const errors = parseErrors(codemod, stdout);
|
|
74
72
|
const notImplementedErrors = parseNotImplementedErrors(codemod, stdout);
|
|
75
73
|
if (options.logStatus) {
|
|
@@ -90,15 +88,104 @@ function transform(codemod, source, transformOptions, options = { logStatus: tru
|
|
|
90
88
|
return { errors, notImplementedErrors };
|
|
91
89
|
}
|
|
92
90
|
|
|
91
|
+
// src/lib/bundle.ts
|
|
92
|
+
var BUNDLE = [
|
|
93
|
+
"v1/mastra-core-imports",
|
|
94
|
+
"v1/runtime-context",
|
|
95
|
+
"v1/not-implemented/mastra-memory",
|
|
96
|
+
"v1/mastra-plural-apis",
|
|
97
|
+
"v1/not-implemented/mastra-required-id",
|
|
98
|
+
"v1/agent-property-access",
|
|
99
|
+
"v1/agent-voice",
|
|
100
|
+
"v1/agent-processor-methods",
|
|
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",
|
|
105
|
+
"v1/voice-property-names",
|
|
106
|
+
"v1/mcp-get-tools",
|
|
107
|
+
"v1/mcp-get-toolsets",
|
|
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"
|
|
128
|
+
];
|
|
129
|
+
|
|
130
|
+
// src/lib/upgrade.ts
|
|
131
|
+
var log2 = debug("codemod:upgrade");
|
|
132
|
+
var error2 = debug("codemod:upgrade:error");
|
|
133
|
+
var v1Bundle = BUNDLE.filter((codemod) => codemod.startsWith("v1/"));
|
|
134
|
+
async function runCodemods(codemods, options, versionLabel) {
|
|
135
|
+
const cwd = process.cwd();
|
|
136
|
+
intro(`Starting ${versionLabel} codemods`);
|
|
137
|
+
const modCount = codemods.length;
|
|
138
|
+
const s = spinner();
|
|
139
|
+
s.start(`Running ${modCount} ${versionLabel} codemods`);
|
|
140
|
+
const allErrors = [];
|
|
141
|
+
let notImplementedAvailable = false;
|
|
142
|
+
let count = 0;
|
|
143
|
+
for (const [_, codemod] of codemods.entries()) {
|
|
144
|
+
const { errors, notImplementedErrors } = await transform(codemod, cwd, options, {
|
|
145
|
+
logStatus: false
|
|
146
|
+
});
|
|
147
|
+
allErrors.push(...errors);
|
|
148
|
+
if (notImplementedErrors.length > 0) {
|
|
149
|
+
notImplementedAvailable = true;
|
|
150
|
+
}
|
|
151
|
+
count++;
|
|
152
|
+
s.message(`Codemod ${count}/${modCount} (${codemod})`);
|
|
153
|
+
}
|
|
154
|
+
s.stop(`Ran ${count}/${modCount} codemods.`);
|
|
155
|
+
if (allErrors.length > 0) {
|
|
156
|
+
log2(`Some ${versionLabel} codemods did not apply successfully to all files. Details:`);
|
|
157
|
+
allErrors.forEach(({ transform: transform2, filename, summary }) => {
|
|
158
|
+
error2(`codemod=${transform2}, path=${filename}, summary=${summary}`);
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
if (notImplementedAvailable) {
|
|
162
|
+
log2(
|
|
163
|
+
`Some ${versionLabel} codemods require manual changes. Please search your codebase for \`FIXME(mastra): \` comments and follow the instructions to complete the upgrade.`
|
|
164
|
+
);
|
|
165
|
+
}
|
|
166
|
+
outro(`${versionLabel} codemods complete.`);
|
|
167
|
+
}
|
|
168
|
+
async function upgradeV1(options) {
|
|
169
|
+
await runCodemods(v1Bundle, options, "v1");
|
|
170
|
+
}
|
|
171
|
+
|
|
93
172
|
// src/index.ts
|
|
94
|
-
var
|
|
95
|
-
|
|
96
|
-
var program = new
|
|
97
|
-
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) => {
|
|
177
|
+
try {
|
|
178
|
+
await transform(codemod, source, options);
|
|
179
|
+
} catch (err) {
|
|
180
|
+
error3(`Error transforming: ${err}`);
|
|
181
|
+
process.exit(1);
|
|
182
|
+
}
|
|
183
|
+
});
|
|
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) => {
|
|
98
185
|
try {
|
|
99
|
-
|
|
186
|
+
await upgradeV1(options);
|
|
100
187
|
} catch (err) {
|
|
101
|
-
|
|
188
|
+
error3(`Error transforming: ${err}`);
|
|
102
189
|
process.exit(1);
|
|
103
190
|
}
|
|
104
191
|
});
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/lib/transform.ts","../src/index.ts"],"names":["debug","path","fs","transform","execSync","error","Command"],"mappings":";;;;;;;;;;;;;;;AAeA,IAAM,GAAA,GAAMA,uBAAM,mBAAmB,CAAA;AACrC,IAAM,KAAA,GAAQA,uBAAM,yBAAyB,CAAA;AAE7C,SAAS,cAAA,GAAyB;AAChC,EAAA,MAAM,gBAAA,GAAmBC,qBAAA,CAAK,OAAA,CAAQ,SAAA,EAAW,kCAAkC,CAAA;AACnF,EAAA,OAAOC,mBAAA,CAAG,UAAA,CAAW,gBAAgB,CAAA,GAAI,gBAAA,GAAmB,aAAA;AAC9D;AAEA,SAAS,YAAA,CAAa,WAAA,EAAqB,UAAA,EAAoB,WAAA,EAAqB,OAAA,EAAmC;AAGrH,EAAA,IAAI,UAAU,CAAA,EAAG,WAAW,CAAA,IAAA,EAAO,WAAW,IAAI,UAAU,CAAA,yOAAA,CAAA;AAS5D,EAAA,IAAI,QAAQ,GAAA,EAAK;AACf,IAAA,OAAA,IAAW,QAAA;AAAA,EACb;AAEA,EAAA,IAAI,QAAQ,KAAA,EAAO;AACjB,IAAA,OAAA,IAAW,UAAA;AAAA,EACb;AAEA,EAAA,IAAI,QAAQ,OAAA,EAAS;AACnB,IAAA,OAAA,IAAW,YAAA;AAAA,EACb;AAEA,EAAA,IAAI,QAAQ,WAAA,EAAa;AACvB,IAAA,OAAA,IAAW,CAAA,CAAA,EAAI,QAAQ,WAAW,CAAA,CAAA;AAAA,EACpC;AAEA,EAAA,OAAO,OAAA;AACT;AAQA,SAAS,WAAA,CAAYC,YAAmB,MAAA,EAAiC;AACvE,EAAA,MAAM,SAA0B,EAAC;AACjC,EAAA,MAAM,UAAA,GAAa,gCAAA;AACnB,EAAA,MAAM,gBAAA,GAAmB,kBAAA;AAEzB,EAAA,IAAI,KAAA;AACJ,EAAA,OAAA,CAAQ,KAAA,GAAQ,UAAA,CAAW,IAAA,CAAK,MAAM,OAAO,IAAA,EAAM;AACjD,IAAA,MAAM,QAAA,GAAW,MAAM,CAAC,CAAA;AACxB,IAAA,MAAM,gBAAA,GAAmB,gBAAA,CAAiB,IAAA,CAAK,MAAM,CAAA;AACrD,IAAA,IAAI,gBAAA,EAAkB;AACpB,MAAA,MAAM,OAAA,GAAU,iBAAiB,CAAC,CAAA;AAClC,MAAA,MAAA,CAAO,KAAK,EAAE,SAAA,EAAAA,UAAAA,EAAW,QAAA,EAAU,SAAS,CAAA;AAAA,IAC9C;AAAA,EACF;AAEA,EAAA,OAAO,MAAA;AACT;AAEA,SAAS,yBAAA,CAA0BA,YAAmB,MAAA,EAAiC;AACrF,EAAA,MAAM,uBAAwC,EAAC;AAC/C,EAAA,MAAM,mBAAA,GAAsB,6BAAA;AAE5B,EAAA,IAAI,KAAA;AACJ,EAAA,OAAA,CAAQ,KAAA,GAAQ,mBAAA,CAAoB,IAAA,CAAK,MAAM,OAAO,IAAA,EAAM;AAC1D,IAAA,MAAM,QAAA,GAAW,MAAM,CAAC,CAAA;AACxB,IAAA,MAAM,OAAA,GAAU,MAAM,CAAC,CAAA;AACvB,IAAA,oBAAA,CAAqB,KAAK,EAAE,SAAA,EAAAA,UAAAA,EAAW,QAAA,EAAU,SAAS,CAAA;AAAA,EAC5D;AAEA,EAAA,OAAO,oBAAA;AACT;AAEO,SAAS,SAAA,CACd,SACA,MAAA,EACA,gBAAA,EACA,UAAkC,EAAE,SAAA,EAAW,MAAK,EACgB;AACpE,EAAA,IAAI,QAAQ,SAAA,EAAW;AACrB,IAAA,GAAA,CAAI,CAAA,kBAAA,EAAqB,OAAO,CAAA,GAAA,EAAM,MAAM,CAAA,CAAE,CAAA;AAAA,EAChD;AACA,EAAA,MAAM,cAAcF,qBAAA,CAAK,OAAA,CAAQ,SAAA,EAAW,CAAA,WAAA,EAAc,OAAO,CAAA,GAAA,CAAK,CAAA;AACtE,EAAA,MAAM,UAAA,GAAaA,qBAAA,CAAK,OAAA,CAAQ,MAAM,CAAA;AACtC,EAAA,MAAM,cAAc,cAAA,EAAe;AACnC,EAAA,MAAM,OAAA,GAAU,YAAA,CAAa,WAAA,EAAa,UAAA,EAAY,aAAa,gBAAgB,CAAA;AACnF,EAAA,MAAM,MAAA,GAASG,uBAAS,OAAA,EAAS,EAAE,UAAU,MAAA,EAAQ,KAAA,EAAO,QAAQ,CAAA;AACpE,EAAA,MAAM,MAAA,GAAS,WAAA,CAAY,OAAA,EAAS,MAAM,CAAA;AAC1C,EAAA,MAAM,oBAAA,GAAuB,yBAAA,CAA0B,OAAA,EAAS,MAAM,CAAA;AACtE,EAAA,IAAI,QAAQ,SAAA,EAAW;AACrB,IAAA,IAAI,MAAA,CAAO,SAAS,CAAA,EAAG;AACrB,MAAA,MAAA,CAAO,QAAQ,CAAC,EAAE,WAAAD,UAAAA,EAAW,QAAA,EAAU,SAAQ,KAAM;AACnD,QAAA,KAAA,CAAM,mCAAmCA,UAAS,CAAA,OAAA,EAAU,QAAQ,CAAA,UAAA,EAAa,OAAO,CAAA,CAAA,CAAG,CAAA;AAAA,MAC7F,CAAC,CAAA;AAAA,IACH;AAEA,IAAA,IAAI,oBAAA,CAAqB,SAAS,CAAA,EAAG;AACnC,MAAA,GAAA;AAAA,QACE,CAAA,oJAAA;AAAA,OACF;AACA,MAAA,oBAAA,CAAqB,QAAQ,CAAC,EAAE,WAAAA,UAAAA,EAAW,QAAA,EAAU,SAAQ,KAAM;AACjE,QAAA,GAAA,CAAI,4BAA4BA,UAAS,CAAA,OAAA,EAAU,QAAQ,CAAA,UAAA,EAAa,OAAO,CAAA,CAAA,CAAG,CAAA;AAAA,MACpF,CAAC,CAAA;AAAA,IACH;AAAA,EACF;AAEA,EAAA,OAAO,EAAE,QAAQ,oBAAA,EAAqB;AACxC;;;ACxHA,IAAME,MAAAA,GAAQL,uBAAM,eAAe,CAAA;AACnCA,sBAAAA,CAAM,OAAO,WAAW,CAAA;AAExB,IAAM,OAAA,GAAU,IAAIM,iBAAA,EAAQ;AAE5B,OAAA,CACG,IAAA,CAAK,SAAS,CAAA,CACd,WAAA,CAAY,iCAAiC,CAAA,CAC7C,QAAA,CAAS,WAAA,EAAa,gBAAgB,EACtC,QAAA,CAAS,UAAA,EAAY,mCAAmC,CAAA,CACxD,OAAO,WAAA,EAAa,wCAAwC,CAAA,CAC5D,MAAA,CAAO,aAAA,EAAe,mCAAmC,CAAA,CACzD,MAAA,CAAO,aAAa,mDAAmD,CAAA,CACvE,MAAA,CAAO,6BAAA,EAA+B,sCAAsC,CAAA,CAC5E,MAAA,CAAO,CAAC,OAAA,EAAS,QAAQ,OAAA,KAAY;AACpC,EAAA,IAAI;AACF,IAAA,SAAA,CAAU,OAAA,EAAS,QAAQ,OAAO,CAAA;AAAA,EACpC,SAAS,GAAA,EAAU;AACjB,IAAAD,MAAAA,CAAM,CAAA,oBAAA,EAAuB,GAAG,CAAA,CAAE,CAAA;AAClC,IAAA,OAAA,CAAQ,KAAK,CAAC,CAAA;AAAA,EAChB;AACF,CAAC,CAAA;AAEH,OAAA,CAAQ,KAAA,CAAM,QAAQ,IAAI,CAAA","file":"index.js","sourcesContent":["// Adjusted from https://github.com/vercel/ai/blob/main/packages/codemod/src/lib/transform.ts\n// License: Apache-2.0\n\nimport { execSync } from 'child_process';\nimport fs from 'fs';\nimport path from 'path';\nimport debug from 'debug';\n\ninterface TransformOptions {\n dry?: boolean;\n print?: boolean;\n verbose?: boolean;\n jscodeshift?: string;\n}\n\nconst log = debug('codemod:transform');\nconst error = debug('codemod:transform:error');\n\nfunction getJscodeshift(): string {\n const localJscodeshift = path.resolve(__dirname, '../node_modules/.bin/jscodeshift');\n return fs.existsSync(localJscodeshift) ? localJscodeshift : 'jscodeshift';\n}\n\nfunction buildCommand(codemodPath: string, targetPath: string, jscodeshift: string, options: TransformOptions): string {\n // Ignoring everything under `.*/` covers `.mastra/` along with any other\n // framework build related or otherwise intended-to-be-hidden directories.\n let command = `${jscodeshift} -t ${codemodPath} ${targetPath} \\\n --parser tsx \\\n --ignore-pattern=\"**/node_modules/**\" \\\n --ignore-pattern=\"**/.*/**\" \\\n --ignore-pattern=\"**/dist/**\" \\\n --ignore-pattern=\"**/build/**\" \\\n --ignore-pattern=\"**/*.min.js\" \\\n --ignore-pattern=\"**/*.bundle.js\"`;\n\n if (options.dry) {\n command += ' --dry';\n }\n\n if (options.print) {\n command += ' --print';\n }\n\n if (options.verbose) {\n command += ' --verbose';\n }\n\n if (options.jscodeshift) {\n command += ` ${options.jscodeshift}`;\n }\n\n return command;\n}\n\nexport type TransformErrors = {\n transform: string;\n filename: string;\n summary: string;\n}[];\n\nfunction parseErrors(transform: string, output: string): TransformErrors {\n const errors: TransformErrors = [];\n const errorRegex = /ERR (.+) Transformation error/g;\n const syntaxErrorRegex = /SyntaxError: .+/g;\n\n let match;\n while ((match = errorRegex.exec(output)) !== null) {\n const filename = match[1]!;\n const syntaxErrorMatch = syntaxErrorRegex.exec(output);\n if (syntaxErrorMatch) {\n const summary = syntaxErrorMatch[0];\n errors.push({ transform, filename, summary });\n }\n }\n\n return errors;\n}\n\nfunction parseNotImplementedErrors(transform: string, output: string): TransformErrors {\n const notImplementedErrors: TransformErrors = [];\n const notImplementedRegex = /Not Implemented (.+): (.+)/g;\n\n let match;\n while ((match = notImplementedRegex.exec(output)) !== null) {\n const filename = match[1]!;\n const summary = match[2]!;\n notImplementedErrors.push({ transform, filename, summary });\n }\n\n return notImplementedErrors;\n}\n\nexport function transform(\n codemod: string,\n source: string,\n transformOptions: TransformOptions,\n options: { logStatus: boolean } = { logStatus: true },\n): { errors: TransformErrors; notImplementedErrors: TransformErrors } {\n if (options.logStatus) {\n log(`Applying codemod '${codemod}': ${source}`);\n }\n const codemodPath = path.resolve(__dirname, `./codemods/${codemod}.js`);\n const targetPath = path.resolve(source);\n const jscodeshift = getJscodeshift();\n const command = buildCommand(codemodPath, targetPath, jscodeshift, transformOptions);\n const stdout = execSync(command, { encoding: 'utf8', stdio: 'pipe' });\n const errors = parseErrors(codemod, stdout);\n const notImplementedErrors = parseNotImplementedErrors(codemod, stdout);\n if (options.logStatus) {\n if (errors.length > 0) {\n errors.forEach(({ transform, filename, summary }) => {\n error(`Error applying codemod [codemod=${transform}, path=${filename}, summary=${summary}]`);\n });\n }\n\n if (notImplementedErrors.length > 0) {\n log(\n `Some files require manual changes. Please search your codebase for \\`FIXME(mastra): \\` comments and follow the instructions to complete the upgrade.`,\n );\n notImplementedErrors.forEach(({ transform, filename, summary }) => {\n log(`Not Implemented [codemod=${transform}, path=${filename}, summary=${summary}]`);\n });\n }\n }\n\n return { errors, notImplementedErrors };\n}\n","#! /usr/bin/env node\n\nimport { Command } from 'commander';\nimport debug from 'debug';\nimport { transform } from './lib/transform';\n\nconst error = debug('codemod:error');\ndebug.enable('codemod:*');\n\nconst program = new Command();\n\nprogram\n .name('codemod')\n .description('CLI for running Mastra codemods')\n .argument('<codemod>', 'Codemod to run')\n .argument('<source>', 'Path to source files or directory')\n .option('-d, --dry', 'Dry run (no changes are made to files)')\n .option('-p, --print', 'Print transformed files to stdout')\n .option('--verbose', 'Show more information about the transform process')\n .option('-j, --jscodeshift <options>', 'Pass options directly to jscodeshift')\n .action((codemod, source, options) => {\n try {\n transform(codemod, source, options);\n } catch (err: any) {\n error(`Error transforming: ${err}`);\n process.exit(1);\n }\n });\n\nprogram.parse(process.argv);\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/lib/transform.ts","../src/lib/bundle.ts","../src/lib/upgrade.ts","../src/index.ts"],"names":["transform","log","debug","error"],"mappings":"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","file":"index.js","sourcesContent":["import fs from 'fs';\nimport child_process from 'node:child_process';\nimport { fileURLToPath } from 'node:url';\nimport util from 'node:util';\nimport path from 'path';\nimport debug from 'debug';\n\nconst exec = util.promisify(child_process.exec);\n\ninterface TransformOptions {\n dry?: boolean;\n print?: boolean;\n verbose?: boolean;\n jscodeshift?: string;\n}\n\nconst log = debug('codemod:transform');\nconst error = debug('codemod:transform:error');\nconst __filename = fileURLToPath(import.meta.url);\nconst __dirname = path.dirname(__filename);\n\nfunction getJscodeshift(): string {\n const localJscodeshift = path.resolve(__dirname, '../node_modules/.bin/jscodeshift');\n return fs.existsSync(localJscodeshift) ? localJscodeshift : 'jscodeshift';\n}\n\nfunction buildCommand(codemodPath: string, targetPath: string, jscodeshift: string, options: TransformOptions): string {\n // Ignoring everything under `.*/` covers `.mastra/` along with any other\n // framework build related or otherwise intended-to-be-hidden directories.\n let command = `${jscodeshift} -t ${codemodPath} ${targetPath} \\\n --parser tsx \\\n --ignore-pattern=\"**/node_modules/**\" \\\n --ignore-pattern=\"**/.*/**\" \\\n --ignore-pattern=\"**/dist/**\" \\\n --ignore-pattern=\"**/build/**\" \\\n --ignore-pattern=\"**/*.min.js\" \\\n --ignore-pattern=\"**/*.bundle.js\"`;\n\n if (options.dry) {\n command += ' --dry';\n }\n\n if (options.print) {\n command += ' --print';\n }\n\n if (options.verbose) {\n command += ' --verbose';\n }\n\n if (options.jscodeshift) {\n command += ` ${options.jscodeshift}`;\n }\n\n return command;\n}\n\nexport type TransformErrors = {\n transform: string;\n filename: string;\n summary: string;\n}[];\n\nfunction parseErrors(transform: string, output: string): TransformErrors {\n const errors: TransformErrors = [];\n const errorRegex = /ERR (.+) Transformation error/g;\n const syntaxErrorRegex = /SyntaxError: .+/g;\n\n let match;\n while ((match = errorRegex.exec(output)) !== null) {\n const filename = match[1]!;\n const syntaxErrorMatch = syntaxErrorRegex.exec(output);\n if (syntaxErrorMatch) {\n const summary = syntaxErrorMatch[0];\n errors.push({ transform, filename, summary });\n }\n }\n\n return errors;\n}\n\nfunction parseNotImplementedErrors(transform: string, output: string): TransformErrors {\n const notImplementedErrors: TransformErrors = [];\n const notImplementedRegex = /Not Implemented (.+): (.+)/g;\n\n let match;\n while ((match = notImplementedRegex.exec(output)) !== null) {\n const filename = match[1]!;\n const summary = match[2]!;\n notImplementedErrors.push({ transform, filename, summary });\n }\n\n return notImplementedErrors;\n}\n\nexport async function transform(\n codemod: string,\n source: string,\n transformOptions: TransformOptions,\n options: { logStatus: boolean } = { logStatus: true },\n): Promise<{ errors: TransformErrors; notImplementedErrors: TransformErrors }> {\n if (options.logStatus) {\n log(`Applying codemod '${codemod}': ${source}`);\n }\n const codemodPath = path.resolve(__dirname, `./codemods/${codemod}.js`);\n const targetPath = path.resolve(source);\n const jscodeshift = getJscodeshift();\n const command = buildCommand(codemodPath, targetPath, jscodeshift, transformOptions);\n const { stdout } = await exec(command, { encoding: 'utf8' });\n const errors = parseErrors(codemod, stdout);\n const notImplementedErrors = parseNotImplementedErrors(codemod, stdout);\n if (options.logStatus) {\n if (errors.length > 0) {\n errors.forEach(({ transform, filename, summary }) => {\n error(`Error applying codemod [codemod=${transform}, path=${filename}, summary=${summary}]`);\n });\n }\n\n if (notImplementedErrors.length > 0) {\n log(\n `Some files require manual changes. Please search your codebase for \\`FIXME(mastra): \\` comments and follow the instructions to complete the upgrade.`,\n );\n notImplementedErrors.forEach(({ transform, filename, summary }) => {\n log(`Not Implemented [codemod=${transform}, path=${filename}, summary=${summary}]`);\n });\n }\n }\n\n return { errors, notImplementedErrors };\n}\n","// List of all codemods\nexport const BUNDLE = [\n 'v1/mastra-core-imports',\n 'v1/runtime-context',\n 'v1/not-implemented/mastra-memory',\n 'v1/mastra-plural-apis',\n 'v1/not-implemented/mastra-required-id',\n 'v1/agent-property-access',\n 'v1/agent-voice',\n 'v1/agent-processor-methods',\n 'v1/agent-generate-stream-v-next',\n 'v1/agent-abort-signal',\n 'v1/not-implemented/agent-format-parameter',\n 'v1/not-implemented/agent-to-step',\n 'v1/voice-property-names',\n 'v1/mcp-get-tools',\n 'v1/mcp-get-toolsets',\n 'v1/client-sdk-types',\n 'v1/client-to-ai-sdk-format',\n 'v1/client-offset-limit',\n 'v1/client-get-memory-thread',\n 'v1/experimental-auth',\n 'v1/evals-run-experiment',\n 'v1/evals-scorer-by-name',\n 'v1/evals-prebuilt-imports',\n 'v1/workflow-create-run-async',\n 'v1/workflow-run-count',\n 'v1/workflow-list-runs',\n 'v1/memory-query-to-recall',\n 'v1/memory-vector-search-param',\n 'v1/memory-message-v2-type',\n 'v1/storage-get-threads-by-resource',\n 'v1/storage-list-messages-by-id',\n 'v1/storage-postgres-schema-name',\n 'v1/storage-get-messages-paginated',\n 'v1/storage-list-workflow-runs',\n 'v1/vector-pg-constructor',\n];\n","import { spinner, intro, outro } from '@clack/prompts';\nimport debug from 'debug';\nimport { BUNDLE } from './bundle';\nimport type { TransformErrors } from './transform';\nimport { transform } from './transform';\n\ninterface TransformOptions {\n dry?: true;\n print?: true;\n verbose?: true;\n jscodeshift?: string;\n}\n\nconst log = debug('codemod:upgrade');\nconst error = debug('codemod:upgrade:error');\n\n// Extract v1 codemods from the bundle\nconst v1Bundle = BUNDLE.filter(codemod => codemod.startsWith('v1/'));\n\nasync function runCodemods(codemods: string[], options: TransformOptions, versionLabel: string) {\n const cwd = process.cwd();\n intro(`Starting ${versionLabel} codemods`);\n const modCount = codemods.length;\n const s = spinner();\n\n s.start(`Running ${modCount} ${versionLabel} codemods`);\n\n const allErrors: TransformErrors = [];\n let notImplementedAvailable = false;\n let count = 0;\n for (const [_, codemod] of codemods.entries()) {\n const { errors, notImplementedErrors } = await transform(codemod, cwd, options, {\n logStatus: false,\n });\n allErrors.push(...errors);\n if (notImplementedErrors.length > 0) {\n notImplementedAvailable = true;\n }\n count++;\n s.message(`Codemod ${count}/${modCount} (${codemod})`);\n }\n s.stop(`Ran ${count}/${modCount} codemods.`);\n\n if (allErrors.length > 0) {\n log(`Some ${versionLabel} codemods did not apply successfully to all files. Details:`);\n allErrors.forEach(({ transform, filename, summary }) => {\n error(`codemod=${transform}, path=${filename}, summary=${summary}`);\n });\n }\n\n if (notImplementedAvailable) {\n log(\n `Some ${versionLabel} codemods require manual changes. Please search your codebase for \\`FIXME(mastra): \\` comments and follow the instructions to complete the upgrade.`,\n );\n }\n\n outro(`${versionLabel} codemods complete.`);\n}\n\nexport async function upgradeV1(options: TransformOptions) {\n await runCodemods(v1Bundle, options, 'v1');\n}\n","#! /usr/bin/env node\n\nimport { Command } from 'commander';\nimport debug from 'debug';\nimport { transform } from './lib/transform';\nimport { upgradeV1 } from './lib/upgrade';\n\nconst error = debug('codemod:error');\ndebug.enable('codemod:*');\n\nconst program = new Command();\n\nprogram\n .name('codemod')\n .description('CLI for running Mastra codemods')\n .argument('<codemod>', 'Codemod to run')\n .argument('<source>', 'Path to source files or directory')\n .option('-d, --dry', 'Dry run (no changes are made to files)')\n .option('-p, --print', 'Print transformed files to stdout')\n .option('--verbose', 'Show more information about the transform process')\n .option('-j, --jscodeshift <options>', 'Pass options directly to jscodeshift')\n .action(async (codemod, source, options) => {\n try {\n await transform(codemod, source, options);\n } catch (err: any) {\n error(`Error transforming: ${err}`);\n process.exit(1);\n }\n });\n\nprogram\n .command('v1')\n .description('Apply all v1 codemods (v0.x to v1)')\n .option('-d, --dry', 'Dry run (no changes are made to files)')\n .option('-p, --print', 'Print transformed files to stdout')\n .option('--verbose', 'Show more information about the transform process')\n .option('-j, --jscodeshift <options>', 'Pass options directly to jscodeshift')\n .action(async options => {\n try {\n await upgradeV1(options);\n } catch (err: any) {\n error(`Error transforming: ${err}`);\n process.exit(1);\n }\n });\n\nprogram.parse(process.argv);\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mastra/codemod",
|
|
3
|
-
"
|
|
3
|
+
"type": "module",
|
|
4
|
+
"version": "0.0.0-client-js-listmessages-agentid-fix-20251119175531",
|
|
4
5
|
"license": "Apache-2.0",
|
|
5
6
|
"description": "Codemod CLI for Mastra",
|
|
6
7
|
"bin": {
|
|
@@ -17,6 +18,7 @@
|
|
|
17
18
|
"codemod"
|
|
18
19
|
],
|
|
19
20
|
"dependencies": {
|
|
21
|
+
"@clack/prompts": "1.0.0-alpha.6",
|
|
20
22
|
"commander": "^14.0.2",
|
|
21
23
|
"debug": "^4.4.3",
|
|
22
24
|
"jscodeshift": "^17.3.0"
|
|
@@ -25,12 +27,14 @@
|
|
|
25
27
|
"@commander-js/extra-typings": "^14.0.0",
|
|
26
28
|
"@types/debug": "^4.1.12",
|
|
27
29
|
"@types/jscodeshift": "^17.3.0",
|
|
28
|
-
"@types/node": "
|
|
30
|
+
"@types/node": "22.13.17",
|
|
31
|
+
"@vitest/coverage-v8": "4.0.8",
|
|
32
|
+
"@vitest/ui": "4.0.8",
|
|
29
33
|
"eslint": "^9.37.0",
|
|
30
34
|
"tsup": "^8.5.0",
|
|
31
35
|
"typescript": "^5.8.3",
|
|
32
|
-
"vitest": "^
|
|
33
|
-
"@internal/lint": "0.0.0-
|
|
36
|
+
"vitest": "^4.0.8",
|
|
37
|
+
"@internal/lint": "0.0.0-client-js-listmessages-agentid-fix-20251119175531"
|
|
34
38
|
},
|
|
35
39
|
"homepage": "https://mastra.ai",
|
|
36
40
|
"repository": {
|
|
@@ -42,7 +46,7 @@
|
|
|
42
46
|
"url": "https://github.com/mastra-ai/mastra/issues"
|
|
43
47
|
},
|
|
44
48
|
"engines": {
|
|
45
|
-
"node": ">=
|
|
49
|
+
"node": ">=22.13.0"
|
|
46
50
|
},
|
|
47
51
|
"scripts": {
|
|
48
52
|
"dev": "tsup --watch",
|