assistant-ui 0.0.116 → 0.0.118
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/dist/codemods/utils/createTransformer.d.ts +13 -16
- package/dist/codemods/utils/createTransformer.d.ts.map +1 -1
- package/dist/codemods/utils/resolveBinding.d.ts +3 -0
- package/dist/codemods/utils/resolveBinding.d.ts.map +1 -0
- package/dist/codemods/utils/resolveBinding.js +78 -0
- package/dist/codemods/utils/resolveBinding.js.map +1 -0
- package/dist/codemods/v0-11/content-part-to-message-part.d.ts +1 -3
- package/dist/codemods/v0-11/content-part-to-message-part.d.ts.map +1 -1
- package/dist/codemods/v0-12/assistant-api-to-aui.d.ts +1 -3
- package/dist/codemods/v0-12/assistant-api-to-aui.d.ts.map +1 -1
- package/dist/codemods/v0-12/assistant-api-to-aui.js +51 -99
- package/dist/codemods/v0-12/assistant-api-to-aui.js.map +1 -1
- package/dist/codemods/v0-12/event-names-to-camelcase.d.ts +1 -3
- package/dist/codemods/v0-12/event-names-to-camelcase.d.ts.map +1 -1
- package/dist/codemods/v0-12/primitive-if-to-aui-if.d.ts +1 -3
- package/dist/codemods/v0-12/primitive-if-to-aui-if.d.ts.map +1 -1
- package/dist/codemods/v0-15/aui-accessor-calls-to-properties.d.ts +1 -3
- package/dist/codemods/v0-15/aui-accessor-calls-to-properties.d.ts.map +1 -1
- package/dist/codemods/v0-15/aui-accessor-calls-to-properties.js +33 -5
- package/dist/codemods/v0-15/aui-accessor-calls-to-properties.js.map +1 -1
- package/dist/codemods/v0-8/ui-package-split.d.ts +1 -3
- package/dist/codemods/v0-8/ui-package-split.d.ts.map +1 -1
- package/dist/codemods/v0-9/edge-package-split.d.ts +1 -3
- package/dist/codemods/v0-9/edge-package-split.d.ts.map +1 -1
- package/dist/commands/add.d.ts +13 -16
- package/dist/commands/add.d.ts.map +1 -1
- package/dist/commands/add.js +3 -3
- package/dist/commands/agent.d.ts +1 -4
- package/dist/commands/agent.d.ts.map +1 -1
- package/dist/commands/agent.js +16 -13
- package/dist/commands/agent.js.map +1 -1
- package/dist/commands/create.d.ts +43 -39
- package/dist/commands/create.d.ts.map +1 -1
- package/dist/commands/create.js +40 -26
- package/dist/commands/create.js.map +1 -1
- package/dist/commands/doctor.d.ts +17 -20
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/info.d.ts +4 -6
- package/dist/commands/info.d.ts.map +1 -1
- package/dist/commands/info.js +3 -3
- package/dist/commands/init.d.ts +8 -10
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +3 -4
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/mcp.d.ts +1 -4
- package/dist/commands/mcp.d.ts.map +1 -1
- package/dist/commands/mcp.js +2 -2
- package/dist/commands/update.d.ts +1 -4
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +1 -1
- package/dist/commands/upgrade.d.ts +7 -10
- package/dist/commands/upgrade.d.ts.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -0
- package/dist/lib/agent-skill.d.ts +11 -10
- package/dist/lib/agent-skill.d.ts.map +1 -1
- package/dist/lib/agent-skill.js +78 -2
- package/dist/lib/agent-skill.js.map +1 -1
- package/dist/lib/create-project.d.ts +33 -32
- package/dist/lib/create-project.d.ts.map +1 -1
- package/dist/lib/create-project.js +91 -5
- package/dist/lib/create-project.js.map +1 -1
- package/dist/lib/handle-cli-error.d.ts +1 -4
- package/dist/lib/handle-cli-error.d.ts.map +1 -1
- package/dist/lib/install-ai-sdk-lib.d.ts +1 -4
- package/dist/lib/install-ai-sdk-lib.d.ts.map +1 -1
- package/dist/lib/install-edge-lib.d.ts +1 -4
- package/dist/lib/install-edge-lib.d.ts.map +1 -1
- package/dist/lib/run-spawn.d.ts +17 -19
- package/dist/lib/run-spawn.d.ts.map +1 -1
- package/dist/lib/run-spawn.js +25 -10
- package/dist/lib/run-spawn.js.map +1 -1
- package/dist/lib/transform-options.d.ts +5 -8
- package/dist/lib/transform-options.d.ts.map +1 -1
- package/dist/lib/transform.d.ts +13 -16
- package/dist/lib/transform.d.ts.map +1 -1
- package/dist/lib/transform.js +19 -35
- package/dist/lib/transform.js.map +1 -1
- package/dist/lib/upgrade.d.ts +3 -6
- package/dist/lib/upgrade.d.ts.map +1 -1
- package/dist/lib/upgrade.js +6 -11
- package/dist/lib/upgrade.js.map +1 -1
- package/dist/lib/utils/config.d.ts +18 -21
- package/dist/lib/utils/config.d.ts.map +1 -1
- package/dist/lib/utils/file-scanner.d.ts +12 -15
- package/dist/lib/utils/file-scanner.d.ts.map +1 -1
- package/dist/lib/utils/logger.d.ts +7 -10
- package/dist/lib/utils/logger.d.ts.map +1 -1
- package/dist/lib/utils/package-installer.d.ts +7 -10
- package/dist/lib/utils/package-installer.d.ts.map +1 -1
- package/dist/lib/utils/package-json.d.ts +1 -4
- package/dist/lib/utils/package-json.d.ts.map +1 -1
- package/dist/lib/utils/package-manager.d.ts +9 -12
- package/dist/lib/utils/package-manager.d.ts.map +1 -1
- package/dist/lib/utils/package-manager.js +13 -2
- package/dist/lib/utils/package-manager.js.map +1 -1
- package/dist/lib/utils/registry.d.ts +5 -8
- package/dist/lib/utils/registry.d.ts.map +1 -1
- package/dist/lib/utils/workspace.d.ts +2 -5
- package/dist/lib/utils/workspace.d.ts.map +1 -1
- package/dist/program.d.ts +1 -4
- package/dist/program.d.ts.map +1 -1
- package/dist/program.js +6 -6
- package/dist/run.d.ts +1 -4
- package/dist/run.d.ts.map +1 -1
- package/package.json +8 -8
- package/src/codemods/utils/resolveBinding.test.ts +107 -0
- package/src/codemods/utils/resolveBinding.ts +130 -0
- package/src/codemods/v0-12/__tests__/assistant-api-to-aui.test.ts +256 -0
- package/src/codemods/v0-12/assistant-api-to-aui.ts +125 -225
- package/src/codemods/v0-15/__tests__/aui-accessor-calls-to-properties.test.ts +101 -0
- package/src/codemods/v0-15/aui-accessor-calls-to-properties.ts +60 -5
- package/src/commands/agent.ts +15 -22
- package/src/commands/create.ts +53 -20
- package/src/commands/init.ts +1 -2
- package/src/lib/agent-skill.ts +103 -1
- package/src/lib/create-project.ts +99 -4
- package/src/lib/run-spawn.test.ts +47 -0
- package/src/lib/run-spawn.ts +29 -17
- package/src/lib/transform-files.test.ts +71 -0
- package/src/lib/transform.test.ts +69 -1
- package/src/lib/transform.ts +23 -38
- package/src/lib/upgrade.ts +9 -13
- package/src/lib/utils/package-manager.ts +24 -1
- package/plugin/.claude-plugin/plugin.json +0 -8
- package/plugin/skills/assistant-ui/SKILL.md +0 -199
- package/plugin/skills/assistant-ui/shipables.json +0 -22
|
@@ -1,18 +1,15 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
markAsChanged: () => void;
|
|
1
|
+
import type { FileInfo, API, JSCodeshift, Collection } from "jscodeshift";
|
|
2
|
+
export type TransformerFunction = (context: TransformContext, fileInfo: FileInfo, api: API, options: any) => void;
|
|
3
|
+
export interface TransformContext {
|
|
4
|
+
/**
|
|
5
|
+
* The jscodeshift API object.
|
|
6
|
+
*/
|
|
7
|
+
j: JSCodeshift;
|
|
8
|
+
/**
|
|
9
|
+
* The root collection of the AST.
|
|
10
|
+
*/
|
|
11
|
+
root: Collection<any>;
|
|
12
|
+
markAsChanged: () => void;
|
|
14
13
|
}
|
|
15
|
-
declare function createTransformer(transformFn: TransformerFunction): (fileInfo: FileInfo, api: API, options: any) => string | null;
|
|
16
|
-
//#endregion
|
|
17
|
-
export { TransformContext, TransformerFunction, createTransformer };
|
|
14
|
+
export declare function createTransformer(transformFn: TransformerFunction): (fileInfo: FileInfo, api: API, options: any) => string | null;
|
|
18
15
|
//# sourceMappingURL=createTransformer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createTransformer.d.ts","
|
|
1
|
+
{"version":3,"file":"createTransformer.d.ts","sourceRoot":"","sources":["../../../src/codemods/utils/createTransformer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE1E,MAAM,MAAM,mBAAmB,GAAG,CAChC,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,GAAG,KACT,IAAI,CAAC;AAEV,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,CAAC,EAAE,WAAW,CAAC;IAEf;;OAEG;IACH,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;IAEtB,aAAa,EAAE,MAAM,IAAI,CAAC;CAC3B;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,mBAAmB,IACpC,UAAU,QAAQ,EAAE,KAAK,GAAG,EAAE,SAAS,GAAG,mBAgBvE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveBinding.d.ts","sourceRoot":"","sources":["../../../src/codemods/utils/resolveBinding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AA0E/C,eAAO,MAAM,cAAc,GACzB,GAAG,WAAW,EACd,MAAM,GAAG,EACT,MAAM,MAAM,KACX,GAmDF,CAAC"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
//#region src/codemods/utils/resolveBinding.ts
|
|
2
|
+
const patternBinding = (node, name) => {
|
|
3
|
+
switch (node?.type) {
|
|
4
|
+
case "Identifier": return node.name === name ? node : void 0;
|
|
5
|
+
case "TSParameterProperty": return patternBinding(node.parameter, name);
|
|
6
|
+
case "AssignmentPattern": return patternBinding(node.left, name);
|
|
7
|
+
case "RestElement": return patternBinding(node.argument, name);
|
|
8
|
+
case "ObjectPattern": return node.properties.map((p) => patternBinding(p.value ?? p.argument, name)).find(Boolean);
|
|
9
|
+
case "ArrayPattern": return node.elements.map((p) => patternBinding(p, name)).find(Boolean);
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
const declarationBinding = (node, name) => {
|
|
13
|
+
switch (node?.type) {
|
|
14
|
+
case "ExportNamedDeclaration":
|
|
15
|
+
case "ExportDefaultDeclaration": return declarationBinding(node.declaration, name);
|
|
16
|
+
case "VariableDeclaration": return node.declarations.map((d) => patternBinding(d.id, name)).find(Boolean);
|
|
17
|
+
case "ImportDeclaration":
|
|
18
|
+
if (node.importKind === "type") return;
|
|
19
|
+
return node.specifiers?.filter((s) => s.importKind !== "type").map((s) => patternBinding(s.local, name)).find(Boolean);
|
|
20
|
+
case "TSTypeAliasDeclaration":
|
|
21
|
+
case "TSInterfaceDeclaration":
|
|
22
|
+
case "TSDeclareFunction": return;
|
|
23
|
+
default: return patternBinding(node?.id, name);
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
const hoistedBinding = (j, body, name) => {
|
|
27
|
+
let binding;
|
|
28
|
+
j.types.visit(body, {
|
|
29
|
+
visitFunction() {
|
|
30
|
+
return false;
|
|
31
|
+
},
|
|
32
|
+
visitClassDeclaration() {
|
|
33
|
+
return false;
|
|
34
|
+
},
|
|
35
|
+
visitClassExpression() {
|
|
36
|
+
return false;
|
|
37
|
+
},
|
|
38
|
+
visitTSModuleBlock(path) {
|
|
39
|
+
if (path.node !== body) return false;
|
|
40
|
+
this.traverse(path);
|
|
41
|
+
},
|
|
42
|
+
visitVariableDeclaration(path) {
|
|
43
|
+
if (path.node.kind === "var") binding ??= declarationBinding(path.node, name);
|
|
44
|
+
this.traverse(path);
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
return binding;
|
|
48
|
+
};
|
|
49
|
+
const resolveBinding = (j, path, name) => {
|
|
50
|
+
let child = path;
|
|
51
|
+
for (let current = path.parent; current; child = current, current = current.parent) {
|
|
52
|
+
const node = current.value;
|
|
53
|
+
let binding;
|
|
54
|
+
if (Array.isArray(node.params)) binding = node.params.map((p) => patternBinding(p, name)).find(Boolean) ?? patternBinding(node.id, name) ?? (child.value === node.body ? hoistedBinding(j, node.body, name) : void 0);
|
|
55
|
+
else if (node.type === "CatchClause") binding = patternBinding(node.param, name);
|
|
56
|
+
else if (node.type === "ClassExpression") binding = patternBinding(node.id, name);
|
|
57
|
+
else if (node.type === "ForStatement") binding = declarationBinding(node.init, name);
|
|
58
|
+
else if (node.type === "ForInStatement" || node.type === "ForOfStatement") binding = declarationBinding(node.left, name);
|
|
59
|
+
else {
|
|
60
|
+
binding = (node.type === "SwitchStatement" && child.value !== node.discriminant ? node.cases.flatMap((c) => c.consequent) : [
|
|
61
|
+
"BlockStatement",
|
|
62
|
+
"Program",
|
|
63
|
+
"StaticBlock",
|
|
64
|
+
"TSModuleBlock"
|
|
65
|
+
].includes(node.type) ? node.body : []).map((s) => declarationBinding(s, name)).find(Boolean);
|
|
66
|
+
if (!binding && [
|
|
67
|
+
"Program",
|
|
68
|
+
"StaticBlock",
|
|
69
|
+
"TSModuleBlock"
|
|
70
|
+
].includes(node.type)) binding = hoistedBinding(j, node, name);
|
|
71
|
+
}
|
|
72
|
+
if (binding) return binding;
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
//#endregion
|
|
76
|
+
export { resolveBinding };
|
|
77
|
+
|
|
78
|
+
//# sourceMappingURL=resolveBinding.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveBinding.js","names":[],"sources":["../../../src/codemods/utils/resolveBinding.ts"],"sourcesContent":["import type { JSCodeshift } from \"jscodeshift\";\n\nconst patternBinding = (node: any, name: string): any => {\n switch (node?.type) {\n case \"Identifier\":\n return node.name === name ? node : undefined;\n case \"TSParameterProperty\":\n return patternBinding(node.parameter, name);\n case \"AssignmentPattern\":\n return patternBinding(node.left, name);\n case \"RestElement\":\n return patternBinding(node.argument, name);\n case \"ObjectPattern\":\n return node.properties\n .map((p: any) => patternBinding(p.value ?? p.argument, name))\n .find(Boolean);\n case \"ArrayPattern\":\n return node.elements\n .map((p: any) => patternBinding(p, name))\n .find(Boolean);\n }\n};\n\nconst declarationBinding = (node: any, name: string): any => {\n switch (node?.type) {\n case \"ExportNamedDeclaration\":\n case \"ExportDefaultDeclaration\":\n return declarationBinding(node.declaration, name);\n case \"VariableDeclaration\":\n return node.declarations\n .map((d: any) => patternBinding(d.id, name))\n .find(Boolean);\n case \"ImportDeclaration\":\n if (node.importKind === \"type\") return;\n return node.specifiers\n ?.filter((s: any) => s.importKind !== \"type\")\n .map((s: any) => patternBinding(s.local, name))\n .find(Boolean);\n case \"TSTypeAliasDeclaration\":\n case \"TSInterfaceDeclaration\":\n case \"TSDeclareFunction\":\n return;\n default:\n return patternBinding(node?.id, name);\n }\n};\n\nconst hoistedBinding = (j: JSCodeshift, body: any, name: string): any => {\n let binding: any;\n j.types.visit(body, {\n visitFunction() {\n return false;\n },\n visitClassDeclaration() {\n return false;\n },\n visitClassExpression() {\n return false;\n },\n visitTSModuleBlock(path) {\n if (path.node !== body) return false;\n this.traverse(path);\n return undefined;\n },\n visitVariableDeclaration(path) {\n if (path.node.kind === \"var\")\n binding ??= declarationBinding(path.node, name);\n this.traverse(path);\n },\n });\n return binding;\n};\n\n// ast-types scopes do not distinguish block-scoped declarations.\nexport const resolveBinding = (\n j: JSCodeshift,\n path: any,\n name: string,\n): any => {\n let child = path;\n for (\n let current = path.parent;\n current;\n child = current, current = current.parent\n ) {\n const node = current.value;\n let binding: any;\n if (Array.isArray(node.params)) {\n binding =\n node.params.map((p: any) => patternBinding(p, name)).find(Boolean) ??\n patternBinding(node.id, name) ??\n (child.value === node.body\n ? hoistedBinding(j, node.body, name)\n : undefined);\n } else if (node.type === \"CatchClause\") {\n binding = patternBinding(node.param, name);\n } else if (node.type === \"ClassExpression\") {\n binding = patternBinding(node.id, name);\n } else if (node.type === \"ForStatement\") {\n binding = declarationBinding(node.init, name);\n } else if (\n node.type === \"ForInStatement\" ||\n node.type === \"ForOfStatement\"\n ) {\n binding = declarationBinding(node.left, name);\n } else {\n const statements =\n node.type === \"SwitchStatement\" && child.value !== node.discriminant\n ? node.cases.flatMap((c: any) => c.consequent)\n : [\n \"BlockStatement\",\n \"Program\",\n \"StaticBlock\",\n \"TSModuleBlock\",\n ].includes(node.type)\n ? node.body\n : [];\n binding = statements\n .map((s: any) => declarationBinding(s, name))\n .find(Boolean);\n if (\n !binding &&\n [\"Program\", \"StaticBlock\", \"TSModuleBlock\"].includes(node.type)\n ) {\n binding = hoistedBinding(j, node, name);\n }\n }\n if (binding) return binding;\n }\n};\n"],"mappings":"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"}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
//#region src/codemods/v0-11/content-part-to-message-part.d.ts
|
|
2
1
|
declare const migrateContentPartToMessagePart: (fileInfo: import("jscodeshift/src/core").FileInfo, api: import("jscodeshift/src/core").API, options: any) => string | null;
|
|
3
|
-
|
|
4
|
-
export { migrateContentPartToMessagePart as default };
|
|
2
|
+
export default migrateContentPartToMessagePart;
|
|
5
3
|
//# sourceMappingURL=content-part-to-message-part.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-part-to-message-part.d.ts","
|
|
1
|
+
{"version":3,"file":"content-part-to-message-part.d.ts","sourceRoot":"","sources":["../../../src/codemods/v0-11/content-part-to-message-part.ts"],"names":[],"mappings":"AAuEA,QAAA,MAAM,+BAA+B,6HAiGpC,CAAC;AAEF,eAAe,+BAA+B,CAAC"}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
//#region src/codemods/v0-12/assistant-api-to-aui.d.ts
|
|
2
1
|
declare const migrateAssistantApiToAui: (fileInfo: import("jscodeshift/src/core").FileInfo, api: import("jscodeshift/src/core").API, options: any) => string | null;
|
|
3
|
-
|
|
4
|
-
export { migrateAssistantApiToAui as default };
|
|
2
|
+
export default migrateAssistantApiToAui;
|
|
5
3
|
//# sourceMappingURL=assistant-api-to-aui.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assistant-api-to-aui.d.ts","
|
|
1
|
+
{"version":3,"file":"assistant-api-to-aui.d.ts","sourceRoot":"","sources":["../../../src/codemods/v0-12/assistant-api-to-aui.ts"],"names":[],"mappings":"AAgBA,QAAA,MAAM,wBAAwB,6HA2P7B,CAAC;AAEF,eAAe,wBAAwB,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { createTransformer } from "../utils/createTransformer.js";
|
|
2
|
+
import { resolveBinding } from "../utils/resolveBinding.js";
|
|
2
3
|
//#region src/codemods/v0-12/assistant-api-to-aui.ts
|
|
3
4
|
const hookRenamingMap = {
|
|
4
5
|
useAssistantApi: "useAui",
|
|
@@ -9,85 +10,65 @@ const componentRenamingMap = {
|
|
|
9
10
|
AssistantIf: "AuiIf",
|
|
10
11
|
AssistantProvider: "AuiProvider"
|
|
11
12
|
};
|
|
12
|
-
const isUseAuiCall = (j, node) => {
|
|
13
|
-
return node && j.CallExpression.check(node) && j.Identifier.check(node.callee) && (node.callee.name === "useAui" || node.callee.name === "useAssistantApi");
|
|
14
|
-
};
|
|
15
13
|
const migrateAssistantApiToAui = createTransformer(({ j, root, markAsChanged }) => {
|
|
16
14
|
root.find(j.ImportDeclaration).forEach((path) => {
|
|
17
15
|
const source = path.value.source.value;
|
|
18
|
-
if (typeof source
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
if (
|
|
31
|
-
|
|
16
|
+
if (typeof source !== "string" || !source.startsWith("@assistant-ui/")) return;
|
|
17
|
+
path.value.specifiers?.forEach((specifier, index) => {
|
|
18
|
+
if (!j.ImportSpecifier.check(specifier) || !j.Identifier.check(specifier.imported)) return;
|
|
19
|
+
const oldName = specifier.imported.name;
|
|
20
|
+
const importKind = specifier.importKind;
|
|
21
|
+
const newName = hookRenamingMap[oldName] ?? componentRenamingMap[oldName];
|
|
22
|
+
if (!newName) return;
|
|
23
|
+
if (specifier.local?.name === oldName && path.value.importKind !== "type" && importKind !== "type") {
|
|
24
|
+
const references = root.find(j.Identifier, { name: oldName }).paths().filter((reference) => {
|
|
25
|
+
const parent = reference.parent.value;
|
|
26
|
+
const node = reference.value;
|
|
27
|
+
if (parent.type.startsWith("Import") || parent.id === node) return false;
|
|
28
|
+
if (parent.key === node && !parent.computed && parent.value !== node) return false;
|
|
29
|
+
if (parent.property === node && !parent.computed) return false;
|
|
30
|
+
if (j.TSQualifiedName.check(parent) && parent.right === node) return false;
|
|
31
|
+
if (j.JSXAttribute.check(parent) || j.JSXNamespacedName.check(parent)) return false;
|
|
32
|
+
if (j.ExportSpecifier.check(parent)) {
|
|
33
|
+
if (reference.parent.parent.value.source || parent.local !== node) return false;
|
|
34
|
+
}
|
|
35
|
+
return resolveBinding(j, reference, oldName) === specifier.local;
|
|
36
|
+
});
|
|
37
|
+
if (!resolveBinding(j, path, newName) && references.every((reference) => !resolveBinding(j, reference, newName))) {
|
|
38
|
+
for (const reference of references) {
|
|
39
|
+
const parent = reference.parent.value;
|
|
40
|
+
if ((j.Property.check(parent) || j.ObjectProperty.check(parent)) && parent.shorthand) {
|
|
41
|
+
parent.shorthand = false;
|
|
42
|
+
parent.key = j.identifier(oldName);
|
|
43
|
+
parent.value = j.identifier(newName);
|
|
44
|
+
} else if (j.ExportSpecifier.check(parent)) reference.parent.replace(j.exportSpecifier.from({
|
|
45
|
+
local: j.identifier(newName),
|
|
46
|
+
exported: j.Identifier.check(parent.exported) ? j.identifier(parent.exported.name) : parent.exported
|
|
47
|
+
}));
|
|
48
|
+
else reference.value.name = newName;
|
|
49
|
+
}
|
|
50
|
+
specifier.local.name = newName;
|
|
32
51
|
}
|
|
33
52
|
}
|
|
53
|
+
const replacement = j.importSpecifier(j.identifier(newName), j.Identifier.check(specifier.local) ? j.identifier(specifier.local.name) : null);
|
|
54
|
+
replacement.importKind = importKind;
|
|
55
|
+
replacement.comments = specifier.comments;
|
|
56
|
+
path.get("specifiers", index).replace(replacement);
|
|
57
|
+
markAsChanged();
|
|
34
58
|
});
|
|
35
59
|
});
|
|
60
|
+
const hookBindings = /* @__PURE__ */ new Set();
|
|
61
|
+
root.find(j.ImportDeclaration).forEach((path) => {
|
|
62
|
+
if (!String(path.value.source.value).startsWith("@assistant-ui/") || path.value.importKind === "type") return;
|
|
63
|
+
for (const specifier of path.value.specifiers ?? []) if (j.ImportSpecifier.check(specifier) && j.Identifier.check(specifier.imported) && specifier.imported.name === "useAui" && specifier.importKind !== "type" && j.Identifier.check(specifier.local)) hookBindings.add(specifier.local);
|
|
64
|
+
});
|
|
36
65
|
const renamedDeclaratorIds = /* @__PURE__ */ new Set();
|
|
37
66
|
root.find(j.VariableDeclarator).forEach((path) => {
|
|
38
|
-
|
|
67
|
+
const { id, init } = path.value;
|
|
68
|
+
if (j.Identifier.check(id) && id.name === "api" && j.CallExpression.check(init) && j.Identifier.check(init.callee) && hookBindings.has(resolveBinding(j, path.get("init", "callee"), init.callee.name)) && !resolveBinding(j, path, "aui")) renamedDeclaratorIds.add(id);
|
|
39
69
|
});
|
|
40
70
|
if (renamedDeclaratorIds.size > 0) {
|
|
41
|
-
const
|
|
42
|
-
if (id && (id.type === "TSParameterProperty" || j.TSParameterProperty?.check?.(id))) return patternBindsApi(id.parameter);
|
|
43
|
-
if (j.Identifier.check(id)) return id.name === "api";
|
|
44
|
-
if (j.ObjectPattern.check(id)) return id.properties.some((prop) => patternBindsApi(prop.value ?? prop.argument ?? prop));
|
|
45
|
-
if (j.ArrayPattern.check(id)) return id.elements.some((el) => el && patternBindsApi(el));
|
|
46
|
-
if (j.AssignmentPattern.check(id)) return patternBindsApi(id.left);
|
|
47
|
-
if (j.RestElement.check(id)) return patternBindsApi(id.argument);
|
|
48
|
-
return false;
|
|
49
|
-
};
|
|
50
|
-
const declaredApi = (statement) => {
|
|
51
|
-
if (!statement) return void 0;
|
|
52
|
-
if (j.ExportNamedDeclaration.check(statement) || j.ExportDefaultDeclaration.check(statement)) return declaredApi(statement.declaration);
|
|
53
|
-
if (j.VariableDeclaration.check(statement)) {
|
|
54
|
-
for (const declarator of statement.declarations) {
|
|
55
|
-
if (!j.VariableDeclarator.check(declarator)) continue;
|
|
56
|
-
if (j.Identifier.check(declarator.id) && declarator.id.name === "api") return declarator.id;
|
|
57
|
-
if (patternBindsApi(declarator.id)) return "foreign";
|
|
58
|
-
}
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
61
|
-
if (statement.type === "TSTypeAliasDeclaration" || statement.type === "TSInterfaceDeclaration" || statement.type === "TSDeclareFunction") return void 0;
|
|
62
|
-
if (statement.id && j.Identifier.check(statement.id) && statement.id.name === "api") return "foreign";
|
|
63
|
-
};
|
|
64
|
-
const scanStatements = (statements) => {
|
|
65
|
-
for (const statement of statements) {
|
|
66
|
-
const found = declaredApi(statement);
|
|
67
|
-
if (found !== void 0) return found;
|
|
68
|
-
}
|
|
69
|
-
};
|
|
70
|
-
const governingApiBinding = (path) => {
|
|
71
|
-
let current = path.parent;
|
|
72
|
-
while (current) {
|
|
73
|
-
const node = current.value;
|
|
74
|
-
if (Array.isArray(node.params) && node.params.some(patternBindsApi)) return "foreign";
|
|
75
|
-
if ((j.FunctionExpression.check(node) || j.ClassExpression.check(node)) && node.id?.name === "api") return "foreign";
|
|
76
|
-
if (j.CatchClause.check(node) && node.param && patternBindsApi(node.param)) return "foreign";
|
|
77
|
-
let found;
|
|
78
|
-
if (j.BlockStatement.check(node) || j.Program.check(node)) found = scanStatements(node.body);
|
|
79
|
-
else if (j.ForStatement.check(node)) found = declaredApi(node.init);
|
|
80
|
-
else if (j.ForOfStatement.check(node) || j.ForInStatement.check(node)) found = declaredApi(node.left);
|
|
81
|
-
else if (j.SwitchStatement.check(node)) found = scanStatements(node.cases.flatMap((c) => c.consequent));
|
|
82
|
-
else if (j.StaticBlock?.check?.(node)) found = scanStatements(node.body);
|
|
83
|
-
if (found !== void 0) return found;
|
|
84
|
-
current = current.parent;
|
|
85
|
-
}
|
|
86
|
-
};
|
|
87
|
-
const bindsToRenamedApi = (path) => {
|
|
88
|
-
const governing = governingApiBinding(path);
|
|
89
|
-
return governing !== "foreign" && renamedDeclaratorIds.has(governing);
|
|
90
|
-
};
|
|
71
|
+
const bindsToRenamedApi = (path) => renamedDeclaratorIds.has(resolveBinding(j, path, "api"));
|
|
91
72
|
const referencePaths = [];
|
|
92
73
|
root.find(j.Identifier, { name: "api" }).forEach((path) => {
|
|
93
74
|
const parent = path.parent.value;
|
|
@@ -110,7 +91,9 @@ const migrateAssistantApiToAui = createTransformer(({ j, root, markAsChanged })
|
|
|
110
91
|
if (!bindsToRenamedApi(path)) return;
|
|
111
92
|
referencePaths.push(path);
|
|
112
93
|
});
|
|
94
|
+
for (const path of referencePaths) if (resolveBinding(j, path, "aui")) renamedDeclaratorIds.delete(resolveBinding(j, path, "api"));
|
|
113
95
|
for (const path of referencePaths) {
|
|
96
|
+
if (!bindsToRenamedApi(path)) continue;
|
|
114
97
|
const parent = path.parent.value;
|
|
115
98
|
if ((j.Property.check(parent) || j.ObjectProperty.check(parent)) && parent.shorthand && parent.value === path.value) {
|
|
116
99
|
parent.shorthand = false;
|
|
@@ -128,37 +111,6 @@ const migrateAssistantApiToAui = createTransformer(({ j, root, markAsChanged })
|
|
|
128
111
|
markAsChanged();
|
|
129
112
|
}
|
|
130
113
|
}
|
|
131
|
-
Object.entries(hookRenamingMap).forEach(([oldName, newName]) => {
|
|
132
|
-
root.find(j.Identifier).forEach((path) => {
|
|
133
|
-
if (path.value.name === oldName) {
|
|
134
|
-
if (j.ImportSpecifier.check(path.parent.value)) return;
|
|
135
|
-
path.value.name = newName;
|
|
136
|
-
markAsChanged();
|
|
137
|
-
}
|
|
138
|
-
});
|
|
139
|
-
});
|
|
140
|
-
Object.entries(componentRenamingMap).forEach(([oldName, newName]) => {
|
|
141
|
-
root.find(j.JSXOpeningElement).forEach((path) => {
|
|
142
|
-
if (j.JSXIdentifier.check(path.value.name) && path.value.name.name === oldName) {
|
|
143
|
-
path.value.name.name = newName;
|
|
144
|
-
markAsChanged();
|
|
145
|
-
}
|
|
146
|
-
});
|
|
147
|
-
root.find(j.JSXClosingElement).forEach((path) => {
|
|
148
|
-
if (j.JSXIdentifier.check(path.value.name) && path.value.name.name === oldName) {
|
|
149
|
-
path.value.name.name = newName;
|
|
150
|
-
markAsChanged();
|
|
151
|
-
}
|
|
152
|
-
});
|
|
153
|
-
root.find(j.Identifier).forEach((path) => {
|
|
154
|
-
if (path.value.name === oldName) {
|
|
155
|
-
if (j.ImportSpecifier.check(path.parent.value)) return;
|
|
156
|
-
if (j.JSXIdentifier.check(path.value)) return;
|
|
157
|
-
path.value.name = newName;
|
|
158
|
-
markAsChanged();
|
|
159
|
-
}
|
|
160
|
-
});
|
|
161
|
-
});
|
|
162
114
|
});
|
|
163
115
|
//#endregion
|
|
164
116
|
export { migrateAssistantApiToAui as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assistant-api-to-aui.js","names":[],"sources":["../../../src/codemods/v0-12/assistant-api-to-aui.ts"],"sourcesContent":["import { createTransformer } from \"../utils/createTransformer\";\n\n// Map of old hook names to new hook names\nconst hookRenamingMap: Record<string, string> = {\n useAssistantApi: \"useAui\",\n useAssistantState: \"useAuiState\",\n useAssistantEvent: \"useAuiEvent\",\n};\n\n// Map of old component names to new component names\nconst componentRenamingMap: Record<string, string> = {\n AssistantIf: \"AuiIf\",\n AssistantProvider: \"AuiProvider\",\n};\n\nconst isUseAuiCall = (j: any, node: any): boolean => {\n return (\n node &&\n j.CallExpression.check(node) &&\n j.Identifier.check(node.callee) &&\n (node.callee.name === \"useAui\" || node.callee.name === \"useAssistantApi\")\n );\n};\n\nconst migrateAssistantApiToAui = createTransformer(\n ({ j, root, markAsChanged }) => {\n // 1. Update imports\n root.find(j.ImportDeclaration).forEach((path: any) => {\n const source = path.value.source.value;\n\n // Only process imports from @assistant-ui packages\n if (typeof source === \"string\" && source.startsWith(\"@assistant-ui/\")) {\n path.value.specifiers?.forEach((specifier: any) => {\n if (j.ImportSpecifier.check(specifier)) {\n const oldName = specifier.imported.name as string;\n\n // Rename hooks\n if (hookRenamingMap[oldName]) {\n const newName = hookRenamingMap[oldName];\n specifier.imported.name = newName;\n if (specifier.local && specifier.local.name === oldName) {\n specifier.local.name = newName;\n }\n markAsChanged();\n }\n\n // Rename components\n if (componentRenamingMap[oldName]) {\n const newName = componentRenamingMap[oldName];\n specifier.imported.name = newName;\n if (specifier.local && specifier.local.name === oldName) {\n specifier.local.name = newName;\n }\n markAsChanged();\n }\n }\n });\n }\n });\n\n // 2. Collect `api` declarators initialized from useAui / useAssistantApi.\n // References are renamed by binding resolution, so an `api` bound\n // elsewhere (function params, `const { api } = other()`) is never touched.\n const renamedDeclaratorIds = new Set<any>();\n root.find(j.VariableDeclarator).forEach((path: any) => {\n if (\n isUseAuiCall(j, path.value.init) &&\n j.Identifier.check(path.value.id) &&\n path.value.id.name === \"api\"\n ) {\n renamedDeclaratorIds.add(path.value.id);\n }\n });\n\n // 3. Rename references governed by one of those declarators. Resolution\n // is lexical (nearest enclosing declaration wins) rather than via\n // ast-types scopes, which have no block granularity: a block-scoped\n // `const api = other()` inside the same function must shadow.\n if (renamedDeclaratorIds.size > 0) {\n const patternBindsApi = (id: any): boolean => {\n if (\n id &&\n (id.type === \"TSParameterProperty\" ||\n j.TSParameterProperty?.check?.(id))\n ) {\n return patternBindsApi(id.parameter);\n }\n if (j.Identifier.check(id)) return id.name === \"api\";\n if (j.ObjectPattern.check(id)) {\n return id.properties.some((prop: any) =>\n patternBindsApi(prop.value ?? prop.argument ?? prop),\n );\n }\n if (j.ArrayPattern.check(id)) {\n return id.elements.some((el: any) => el && patternBindsApi(el));\n }\n if (j.AssignmentPattern.check(id)) return patternBindsApi(id.left);\n if (j.RestElement.check(id)) return patternBindsApi(id.argument);\n return false;\n };\n\n // What a statement-level node declares for `api`: the declarator id\n // node when it is a plain `const/let/var api = ...`, \"foreign\" for any\n // other binding of the name (patterns, functions, classes, enums), or\n // undefined when it does not bind `api` at all.\n const declaredApi = (statement: any): any => {\n if (!statement) return undefined;\n if (\n j.ExportNamedDeclaration.check(statement) ||\n j.ExportDefaultDeclaration.check(statement)\n ) {\n return declaredApi(statement.declaration);\n }\n if (j.VariableDeclaration.check(statement)) {\n for (const declarator of statement.declarations) {\n if (!j.VariableDeclarator.check(declarator)) continue;\n if (\n j.Identifier.check(declarator.id) &&\n declarator.id.name === \"api\"\n )\n return declarator.id;\n if (patternBindsApi(declarator.id)) return \"foreign\";\n }\n return undefined;\n }\n // Type-only declarations do not shadow the value binding.\n if (\n statement.type === \"TSTypeAliasDeclaration\" ||\n statement.type === \"TSInterfaceDeclaration\" ||\n statement.type === \"TSDeclareFunction\"\n )\n return undefined;\n // FunctionDeclaration, ClassDeclaration, TS enums/namespaces, …\n if (\n statement.id &&\n j.Identifier.check(statement.id) &&\n statement.id.name === \"api\"\n )\n return \"foreign\";\n return undefined;\n };\n\n const scanStatements = (statements: any[]): any => {\n for (const statement of statements) {\n const found = declaredApi(statement);\n if (found !== undefined) return found;\n }\n return undefined;\n };\n\n // Returns the declarator id node governing `api` here, or \"foreign\"\n // when any other binding of the name shadows it first.\n const governingApiBinding = (path: any): any => {\n let current = path.parent;\n while (current) {\n const node = current.value;\n\n // Anything function-like (declarations, expressions, arrows,\n // object/class methods) binds its params.\n if (Array.isArray(node.params) && node.params.some(patternBindsApi))\n return \"foreign\";\n // A named function/class expression binds its own name in its body.\n if (\n (j.FunctionExpression.check(node) ||\n j.ClassExpression.check(node)) &&\n node.id?.name === \"api\"\n )\n return \"foreign\";\n if (\n j.CatchClause.check(node) &&\n node.param &&\n patternBindsApi(node.param)\n )\n return \"foreign\";\n\n let found: any;\n if (j.BlockStatement.check(node) || j.Program.check(node)) {\n found = scanStatements(node.body);\n } else if (j.ForStatement.check(node)) {\n found = declaredApi(node.init);\n } else if (\n j.ForOfStatement.check(node) ||\n j.ForInStatement.check(node)\n ) {\n found = declaredApi(node.left);\n } else if (j.SwitchStatement.check(node)) {\n found = scanStatements(\n node.cases.flatMap((c: any) => c.consequent),\n );\n } else if (j.StaticBlock?.check?.(node)) {\n found = scanStatements(node.body);\n }\n if (found !== undefined) return found;\n\n current = current.parent;\n }\n return undefined;\n };\n\n const bindsToRenamedApi = (path: any): boolean => {\n const governing = governingApiBinding(path);\n return governing !== \"foreign\" && renamedDeclaratorIds.has(governing);\n };\n\n const referencePaths: any[] = [];\n root.find(j.Identifier, { name: \"api\" }).forEach((path: any) => {\n const parent = path.parent.value;\n if (j.ImportSpecifier.check(parent)) return;\n // Declaration names (variable, function, class, type alias,\n // interface) and TS type positions are not value references.\n if (parent.id === path.value) return;\n if (j.TSTypeReference?.check?.(parent)) return;\n if (j.TSQualifiedName?.check?.(parent)) return;\n // Any non-computed key position is a name, not a reference: object\n // properties, object/class methods, class properties, TS signatures.\n // Esprima-style shorthand reuses one node as key and value, so the\n // value position must survive the guard.\n if (\n parent.key === path.value &&\n !parent.computed &&\n parent.value !== path.value\n )\n return;\n if (\n j.MemberExpression.check(parent) &&\n parent.property === path.value &&\n !parent.computed\n )\n return;\n // JSXIdentifier extends Identifier, so JSX positions land here too:\n // member properties (<config.api/>), namespace names, and lowercase\n // element names (<api/> is an intrinsic tag) are not references.\n if (\n j.JSXMemberExpression?.check?.(parent) &&\n parent.property === path.value\n )\n return;\n if (j.JSXNamespacedName?.check?.(parent)) return;\n if (\n (j.JSXOpeningElement?.check?.(parent) ||\n j.JSXClosingElement?.check?.(parent)) &&\n parent.name === path.value\n )\n return;\n if (j.JSXAttribute.check(parent)) return;\n // The exported name of `export { api }` is the public alias, not a\n // reference; only the local side is renamed (to `aui as api`). A\n // source-bearing re-export binds in the other module, never here.\n if (j.ExportSpecifier.check(parent)) {\n const grandparent = path.parent.parent?.value;\n if (\n j.ExportNamedDeclaration.check(grandparent) &&\n grandparent.source != null\n )\n return;\n // Babel emits exportKind on ExportSpecifier for inline\n // `export { type api }`; ast-types' typings omit it.\n if (\n grandparent?.exportKind === \"type\" ||\n (parent as { exportKind?: string }).exportKind === \"type\"\n )\n return;\n if (parent.exported === path.value && parent.local !== path.value)\n return;\n }\n if (!bindsToRenamedApi(path)) return;\n referencePaths.push(path);\n });\n\n for (const path of referencePaths) {\n const parent = path.parent.value;\n if (\n (j.Property.check(parent) || j.ObjectProperty.check(parent)) &&\n parent.shorthand &&\n parent.value === path.value\n ) {\n // `{ api }` in an object literal: keep the key, rename the value\n parent.shorthand = false;\n parent.key = j.identifier(\"api\");\n parent.value = j.identifier(\"aui\");\n } else if (\n j.ExportSpecifier.check(parent) &&\n parent.local === path.value\n ) {\n // `export { api }` / `export { api as name }`: rename the local\n // binding, keep the public name. Replaced wholesale — recast keeps\n // the shorthand form (dropping the alias) when only the fields of\n // the original node change.\n path.parent.replace(\n j.exportSpecifier.from({\n local: j.identifier(\"aui\"),\n exported: j.Identifier.check(parent.exported)\n ? j.identifier(parent.exported.name)\n : parent.exported,\n }),\n );\n } else {\n path.value.name = \"aui\";\n }\n markAsChanged();\n }\n for (const idNode of renamedDeclaratorIds) {\n idNode.name = \"aui\";\n markAsChanged();\n }\n }\n\n // 4. Update hook call references (in case they're used as values)\n Object.entries(hookRenamingMap).forEach(([oldName, newName]) => {\n root.find(j.Identifier).forEach((path: any) => {\n if (path.value.name === oldName) {\n // Skip if already handled in imports\n if (j.ImportSpecifier.check(path.parent.value)) {\n return;\n }\n\n // This might be a reference to the hook as a value\n path.value.name = newName;\n markAsChanged();\n }\n });\n });\n\n // 5. Update JSX component names\n Object.entries(componentRenamingMap).forEach(([oldName, newName]) => {\n // Update JSX opening elements\n root.find(j.JSXOpeningElement).forEach((path: any) => {\n if (\n j.JSXIdentifier.check(path.value.name) &&\n path.value.name.name === oldName\n ) {\n path.value.name.name = newName;\n markAsChanged();\n }\n });\n\n // Update JSX closing elements\n root.find(j.JSXClosingElement).forEach((path: any) => {\n if (\n j.JSXIdentifier.check(path.value.name) &&\n path.value.name.name === oldName\n ) {\n path.value.name.name = newName;\n markAsChanged();\n }\n });\n\n // Update regular identifier references (for component references)\n root.find(j.Identifier).forEach((path: any) => {\n if (path.value.name === oldName) {\n // Skip if already handled in imports\n if (j.ImportSpecifier.check(path.parent.value)) {\n return;\n }\n\n // Skip JSX identifiers (already handled above)\n if (j.JSXIdentifier.check(path.value)) {\n return;\n }\n\n // This might be a reference to the component as a value\n path.value.name = newName;\n markAsChanged();\n }\n });\n });\n },\n);\n\nexport default migrateAssistantApiToAui;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"assistant-api-to-aui.js","names":[],"sources":["../../../src/codemods/v0-12/assistant-api-to-aui.ts"],"sourcesContent":["import { createTransformer } from \"../utils/createTransformer\";\nimport { resolveBinding } from \"../utils/resolveBinding\";\n\n// Map of old hook names to new hook names\nconst hookRenamingMap: Record<string, string> = {\n useAssistantApi: \"useAui\",\n useAssistantState: \"useAuiState\",\n useAssistantEvent: \"useAuiEvent\",\n};\n\n// Map of old component names to new component names\nconst componentRenamingMap: Record<string, string> = {\n AssistantIf: \"AuiIf\",\n AssistantProvider: \"AuiProvider\",\n};\n\nconst migrateAssistantApiToAui = createTransformer(\n ({ j, root, markAsChanged }) => {\n root.find(j.ImportDeclaration).forEach((path: any) => {\n const source = path.value.source.value;\n if (typeof source !== \"string\" || !source.startsWith(\"@assistant-ui/\"))\n return;\n path.value.specifiers?.forEach((specifier: any, index: number) => {\n if (\n !j.ImportSpecifier.check(specifier) ||\n !j.Identifier.check(specifier.imported)\n )\n return;\n const oldName = specifier.imported.name;\n const importKind = (specifier as { importKind?: string }).importKind;\n const newName =\n hookRenamingMap[oldName] ?? componentRenamingMap[oldName];\n if (!newName) return;\n if (\n specifier.local?.name === oldName &&\n path.value.importKind !== \"type\" &&\n importKind !== \"type\"\n ) {\n const references = root\n .find(j.Identifier, { name: oldName })\n .paths()\n .filter((reference: any) => {\n const parent = reference.parent.value;\n const node = reference.value;\n if (parent.type.startsWith(\"Import\") || parent.id === node)\n return false;\n if (\n parent.key === node &&\n !parent.computed &&\n parent.value !== node\n )\n return false;\n if (parent.property === node && !parent.computed) return false;\n if (j.TSQualifiedName.check(parent) && parent.right === node)\n return false;\n if (\n j.JSXAttribute.check(parent) ||\n j.JSXNamespacedName.check(parent)\n )\n return false;\n if (j.ExportSpecifier.check(parent)) {\n if (\n reference.parent.parent.value.source ||\n parent.local !== node\n )\n return false;\n }\n return resolveBinding(j, reference, oldName) === specifier.local;\n });\n const canRename =\n !resolveBinding(j, path, newName) &&\n references.every(\n (reference: any) => !resolveBinding(j, reference, newName),\n );\n if (canRename) {\n for (const reference of references) {\n const parent = reference.parent.value;\n if (\n (j.Property.check(parent) || j.ObjectProperty.check(parent)) &&\n parent.shorthand\n ) {\n parent.shorthand = false;\n parent.key = j.identifier(oldName);\n parent.value = j.identifier(newName);\n } else if (j.ExportSpecifier.check(parent)) {\n reference.parent.replace(\n j.exportSpecifier.from({\n local: j.identifier(newName),\n exported: j.Identifier.check(parent.exported)\n ? j.identifier(parent.exported.name)\n : parent.exported,\n }),\n );\n } else {\n reference.value.name = newName;\n }\n }\n specifier.local.name = newName;\n }\n }\n const replacement: any = j.importSpecifier(\n j.identifier(newName),\n j.Identifier.check(specifier.local)\n ? j.identifier(specifier.local.name)\n : null,\n );\n replacement.importKind = importKind;\n replacement.comments = specifier.comments;\n path.get(\"specifiers\", index).replace(replacement);\n markAsChanged();\n });\n });\n\n const hookBindings = new Set<any>();\n root.find(j.ImportDeclaration).forEach((path) => {\n if (\n !String(path.value.source.value).startsWith(\"@assistant-ui/\") ||\n path.value.importKind === \"type\"\n )\n return;\n for (const specifier of path.value.specifiers ?? []) {\n if (\n j.ImportSpecifier.check(specifier) &&\n j.Identifier.check(specifier.imported) &&\n specifier.imported.name === \"useAui\" &&\n (specifier as { importKind?: string }).importKind !== \"type\" &&\n j.Identifier.check(specifier.local)\n )\n hookBindings.add(specifier.local);\n }\n });\n\n const renamedDeclaratorIds = new Set<any>();\n root.find(j.VariableDeclarator).forEach((path: any) => {\n const { id, init } = path.value;\n if (\n j.Identifier.check(id) &&\n id.name === \"api\" &&\n j.CallExpression.check(init) &&\n j.Identifier.check(init.callee) &&\n hookBindings.has(\n resolveBinding(j, path.get(\"init\", \"callee\"), init.callee.name),\n ) &&\n !resolveBinding(j, path, \"aui\")\n ) {\n renamedDeclaratorIds.add(id);\n }\n });\n\n // 3. Rename references governed by one of those declarators. Resolution\n // is lexical (nearest enclosing declaration wins) rather than via\n // ast-types scopes, which have no block granularity: a block-scoped\n // `const api = other()` inside the same function must shadow.\n if (renamedDeclaratorIds.size > 0) {\n const bindsToRenamedApi = (path: any): boolean =>\n renamedDeclaratorIds.has(resolveBinding(j, path, \"api\"));\n\n const referencePaths: any[] = [];\n root.find(j.Identifier, { name: \"api\" }).forEach((path: any) => {\n const parent = path.parent.value;\n if (j.ImportSpecifier.check(parent)) return;\n // Declaration names (variable, function, class, type alias,\n // interface) and TS type positions are not value references.\n if (parent.id === path.value) return;\n if (j.TSTypeReference?.check?.(parent)) return;\n if (j.TSQualifiedName?.check?.(parent)) return;\n // Any non-computed key position is a name, not a reference: object\n // properties, object/class methods, class properties, TS signatures.\n // Esprima-style shorthand reuses one node as key and value, so the\n // value position must survive the guard.\n if (\n parent.key === path.value &&\n !parent.computed &&\n parent.value !== path.value\n )\n return;\n if (\n j.MemberExpression.check(parent) &&\n parent.property === path.value &&\n !parent.computed\n )\n return;\n // JSXIdentifier extends Identifier, so JSX positions land here too:\n // member properties (<config.api/>), namespace names, and lowercase\n // element names (<api/> is an intrinsic tag) are not references.\n if (\n j.JSXMemberExpression?.check?.(parent) &&\n parent.property === path.value\n )\n return;\n if (j.JSXNamespacedName?.check?.(parent)) return;\n if (\n (j.JSXOpeningElement?.check?.(parent) ||\n j.JSXClosingElement?.check?.(parent)) &&\n parent.name === path.value\n )\n return;\n if (j.JSXAttribute.check(parent)) return;\n // The exported name of `export { api }` is the public alias, not a\n // reference; only the local side is renamed (to `aui as api`). A\n // source-bearing re-export binds in the other module, never here.\n if (j.ExportSpecifier.check(parent)) {\n const grandparent = path.parent.parent?.value;\n if (\n j.ExportNamedDeclaration.check(grandparent) &&\n grandparent.source != null\n )\n return;\n // Babel emits exportKind on ExportSpecifier for inline\n // `export { type api }`; ast-types' typings omit it.\n if (\n grandparent?.exportKind === \"type\" ||\n (parent as { exportKind?: string }).exportKind === \"type\"\n )\n return;\n if (parent.exported === path.value && parent.local !== path.value)\n return;\n }\n if (!bindsToRenamedApi(path)) return;\n referencePaths.push(path);\n });\n\n for (const path of referencePaths) {\n if (resolveBinding(j, path, \"aui\")) {\n renamedDeclaratorIds.delete(resolveBinding(j, path, \"api\"));\n }\n }\n\n for (const path of referencePaths) {\n if (!bindsToRenamedApi(path)) continue;\n const parent = path.parent.value;\n if (\n (j.Property.check(parent) || j.ObjectProperty.check(parent)) &&\n parent.shorthand &&\n parent.value === path.value\n ) {\n // `{ api }` in an object literal: keep the key, rename the value\n parent.shorthand = false;\n parent.key = j.identifier(\"api\");\n parent.value = j.identifier(\"aui\");\n } else if (\n j.ExportSpecifier.check(parent) &&\n parent.local === path.value\n ) {\n // `export { api }` / `export { api as name }`: rename the local\n // binding, keep the public name. Replaced wholesale — recast keeps\n // the shorthand form (dropping the alias) when only the fields of\n // the original node change.\n path.parent.replace(\n j.exportSpecifier.from({\n local: j.identifier(\"aui\"),\n exported: j.Identifier.check(parent.exported)\n ? j.identifier(parent.exported.name)\n : parent.exported,\n }),\n );\n } else {\n path.value.name = \"aui\";\n }\n markAsChanged();\n }\n for (const idNode of renamedDeclaratorIds) {\n idNode.name = \"aui\";\n markAsChanged();\n }\n }\n },\n);\n\nexport default migrateAssistantApiToAui;\n"],"mappings":"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"}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
//#region src/codemods/v0-12/event-names-to-camelcase.d.ts
|
|
2
1
|
declare const migrateEventNamesToCamelCase: (fileInfo: import("jscodeshift/src/core").FileInfo, api: import("jscodeshift/src/core").API, options: any) => string | null;
|
|
3
|
-
|
|
4
|
-
export { migrateEventNamesToCamelCase as default };
|
|
2
|
+
export default migrateEventNamesToCamelCase;
|
|
5
3
|
//# sourceMappingURL=event-names-to-camelcase.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-names-to-camelcase.d.ts","
|
|
1
|
+
{"version":3,"file":"event-names-to-camelcase.d.ts","sourceRoot":"","sources":["../../../src/codemods/v0-12/event-names-to-camelcase.ts"],"names":[],"mappings":"AAYA,QAAA,MAAM,4BAA4B,6HAsCjC,CAAC;AAEF,eAAe,4BAA4B,CAAC"}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
//#region src/codemods/v0-12/primitive-if-to-aui-if.d.ts
|
|
2
1
|
declare const migratePrimitiveIfToAuiIf: (fileInfo: import("jscodeshift/src/core").FileInfo, api: import("jscodeshift/src/core").API, options: any) => string | null;
|
|
3
|
-
|
|
4
|
-
export { migratePrimitiveIfToAuiIf as default };
|
|
2
|
+
export default migratePrimitiveIfToAuiIf;
|
|
5
3
|
//# sourceMappingURL=primitive-if-to-aui-if.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"primitive-if-to-aui-if.d.ts","
|
|
1
|
+
{"version":3,"file":"primitive-if-to-aui-if.d.ts","sourceRoot":"","sources":["../../../src/codemods/v0-12/primitive-if-to-aui-if.ts"],"names":[],"mappings":"AAsLA,QAAA,MAAM,yBAAyB,6HAyJ9B,CAAC;AAEF,eAAe,yBAAyB,CAAC"}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
//#region src/codemods/v0-15/aui-accessor-calls-to-properties.d.ts
|
|
2
1
|
declare const auiAccessorCallsToProperties: (fileInfo: import("jscodeshift/src/core").FileInfo, api: import("jscodeshift/src/core").API, options: any) => string | null;
|
|
3
|
-
|
|
4
|
-
export { auiAccessorCallsToProperties as default };
|
|
2
|
+
export default auiAccessorCallsToProperties;
|
|
5
3
|
//# sourceMappingURL=aui-accessor-calls-to-properties.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aui-accessor-calls-to-properties.d.ts","
|
|
1
|
+
{"version":3,"file":"aui-accessor-calls-to-properties.d.ts","sourceRoot":"","sources":["../../../src/codemods/v0-15/aui-accessor-calls-to-properties.ts"],"names":[],"mappings":"AA6BA,QAAA,MAAM,4BAA4B,6HA0GjC,CAAC;AAEF,eAAe,4BAA4B,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { createTransformer } from "../utils/createTransformer.js";
|
|
2
|
+
import { resolveBinding } from "../utils/resolveBinding.js";
|
|
2
3
|
//#region src/codemods/v0-15/aui-accessor-calls-to-properties.ts
|
|
3
4
|
const NULLARY_SCOPES = /* @__PURE__ */ new Set([
|
|
4
5
|
"threads",
|
|
@@ -23,19 +24,45 @@ const NULLARY_SCOPES = /* @__PURE__ */ new Set([
|
|
|
23
24
|
]);
|
|
24
25
|
const AUI_HOOKS = /* @__PURE__ */ new Set(["useAui", "useAssistantApi"]);
|
|
25
26
|
const auiAccessorCallsToProperties = createTransformer(({ j, root, markAsChanged }) => {
|
|
26
|
-
const
|
|
27
|
+
const auiBindings = /* @__PURE__ */ new Set();
|
|
28
|
+
const hookBindings = /* @__PURE__ */ new Set();
|
|
29
|
+
const hookNames = new Set(AUI_HOOKS);
|
|
30
|
+
root.find(j.ImportDeclaration).forEach((path) => {
|
|
31
|
+
if (!String(path.value.source.value).startsWith("@assistant-ui/")) return;
|
|
32
|
+
for (const specifier of path.value.specifiers ?? []) if (j.ImportSpecifier.check(specifier) && j.Identifier.check(specifier.imported) && AUI_HOOKS.has(specifier.imported.name)) {
|
|
33
|
+
hookBindings.add(specifier.local);
|
|
34
|
+
if (j.Identifier.check(specifier.local)) hookNames.add(specifier.local.name);
|
|
35
|
+
}
|
|
36
|
+
});
|
|
27
37
|
root.find(j.VariableDeclarator).forEach((path) => {
|
|
28
38
|
const { id, init } = path.value;
|
|
29
|
-
if (j.Identifier.check(id) && init && j.CallExpression.check(init) && j.Identifier.check(init.callee) &&
|
|
39
|
+
if (j.Identifier.check(id) && init && j.CallExpression.check(init) && j.Identifier.check(init.callee) && hookNames.has(init.callee.name) && (() => {
|
|
40
|
+
const binding = resolveBinding(j, path.get("init", "callee"), init.callee.name);
|
|
41
|
+
return binding ? hookBindings.has(binding) : AUI_HOOKS.has(init.callee.name);
|
|
42
|
+
})()) auiBindings.add(id);
|
|
30
43
|
});
|
|
31
44
|
const collectParam = (param) => {
|
|
45
|
+
if (param?.type === "TSParameterProperty") return collectParam(param.parameter);
|
|
46
|
+
if (j.AssignmentPattern.check(param)) return collectParam(param.left);
|
|
47
|
+
if (j.RestElement.check(param)) return collectParam(param.argument);
|
|
48
|
+
if (j.ObjectPattern.check(param)) {
|
|
49
|
+
param.properties.forEach((p) => collectParam(p.value ?? p.argument));
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
if (j.ArrayPattern.check(param)) {
|
|
53
|
+
param.elements.forEach(collectParam);
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
32
56
|
const annotation = param?.typeAnnotation?.typeAnnotation;
|
|
33
|
-
if (j.Identifier.check(param) && annotation && j.TSTypeReference.check(annotation) && j.Identifier.check(annotation.typeName) && annotation.typeName.name === "AssistantClient")
|
|
57
|
+
if (j.Identifier.check(param) && annotation && j.TSTypeReference.check(annotation) && j.Identifier.check(annotation.typeName) && annotation.typeName.name === "AssistantClient") auiBindings.add(param);
|
|
58
|
+
else if (j.Identifier.check(param) && param.name === "aui" && !annotation) auiBindings.add(param);
|
|
34
59
|
};
|
|
35
60
|
for (const fnType of [
|
|
36
61
|
j.FunctionDeclaration,
|
|
37
62
|
j.FunctionExpression,
|
|
38
|
-
j.ArrowFunctionExpression
|
|
63
|
+
j.ArrowFunctionExpression,
|
|
64
|
+
j.ObjectMethod,
|
|
65
|
+
j.ClassMethod
|
|
39
66
|
]) root.find(fnType).forEach((path) => {
|
|
40
67
|
path.value.params.forEach(collectParam);
|
|
41
68
|
});
|
|
@@ -47,7 +74,8 @@ const auiAccessorCallsToProperties = createTransformer(({ j, root, markAsChanged
|
|
|
47
74
|
if (!j.Identifier.check(callee.property)) return;
|
|
48
75
|
if (!NULLARY_SCOPES.has(callee.property.name)) return;
|
|
49
76
|
if (!j.Identifier.check(callee.object)) return;
|
|
50
|
-
|
|
77
|
+
const binding = resolveBinding(j, path.get("callee", "object"), callee.object.name);
|
|
78
|
+
if (binding ? !auiBindings.has(binding) : callee.object.name !== "aui") return;
|
|
51
79
|
j(path).replaceWith(callee);
|
|
52
80
|
markAsChanged();
|
|
53
81
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aui-accessor-calls-to-properties.js","names":[],"sources":["../../../src/codemods/v0-15/aui-accessor-calls-to-properties.ts"],"sourcesContent":["import { createTransformer } from \"../utils/createTransformer\";\n\n// Nullary scope accessors that became properties in v0.15. Parameterized\n// lookups (e.g. `aui.thread.message({ id })`) stay as real calls.\nconst NULLARY_SCOPES = new Set([\n \"threads\",\n \"threadListItem\",\n \"thread\",\n \"message\",\n \"part\",\n \"composer\",\n \"attachment\",\n \"modelContext\",\n \"suggestions\",\n \"suggestion\",\n \"chainOfThought\",\n \"queueItem\",\n \"tools\",\n \"dataRenderers\",\n \"interactables\",\n \"unstable_interactables\",\n \"mcp\",\n \"mcpServer\",\n \"span\",\n]);\n\nconst AUI_HOOKS = new Set([\"useAui\", \"useAssistantApi\"]);\n\nconst auiAccessorCallsToProperties = createTransformer(\n ({ j, root, markAsChanged }) => {\n const
|
|
1
|
+
{"version":3,"file":"aui-accessor-calls-to-properties.js","names":[],"sources":["../../../src/codemods/v0-15/aui-accessor-calls-to-properties.ts"],"sourcesContent":["import { createTransformer } from \"../utils/createTransformer\";\nimport { resolveBinding } from \"../utils/resolveBinding\";\n\n// Nullary scope accessors that became properties in v0.15. Parameterized\n// lookups (e.g. `aui.thread.message({ id })`) stay as real calls.\nconst NULLARY_SCOPES = new Set([\n \"threads\",\n \"threadListItem\",\n \"thread\",\n \"message\",\n \"part\",\n \"composer\",\n \"attachment\",\n \"modelContext\",\n \"suggestions\",\n \"suggestion\",\n \"chainOfThought\",\n \"queueItem\",\n \"tools\",\n \"dataRenderers\",\n \"interactables\",\n \"unstable_interactables\",\n \"mcp\",\n \"mcpServer\",\n \"span\",\n]);\n\nconst AUI_HOOKS = new Set([\"useAui\", \"useAssistantApi\"]);\n\nconst auiAccessorCallsToProperties = createTransformer(\n ({ j, root, markAsChanged }) => {\n const auiBindings = new Set<any>();\n const hookBindings = new Set<any>();\n const hookNames = new Set(AUI_HOOKS);\n root.find(j.ImportDeclaration).forEach((path) => {\n if (!String(path.value.source.value).startsWith(\"@assistant-ui/\")) return;\n for (const specifier of path.value.specifiers ?? []) {\n if (\n j.ImportSpecifier.check(specifier) &&\n j.Identifier.check(specifier.imported) &&\n AUI_HOOKS.has(specifier.imported.name)\n ) {\n hookBindings.add(specifier.local);\n if (j.Identifier.check(specifier.local))\n hookNames.add(specifier.local.name);\n }\n }\n });\n\n root.find(j.VariableDeclarator).forEach((path: any) => {\n const { id, init } = path.value;\n if (\n j.Identifier.check(id) &&\n init &&\n j.CallExpression.check(init) &&\n j.Identifier.check(init.callee) &&\n hookNames.has(init.callee.name) &&\n (() => {\n const binding = resolveBinding(\n j,\n path.get(\"init\", \"callee\"),\n init.callee.name,\n );\n return binding\n ? hookBindings.has(binding)\n : AUI_HOOKS.has(init.callee.name);\n })()\n ) {\n auiBindings.add(id);\n }\n });\n\n const collectParam = (param: any) => {\n if (param?.type === \"TSParameterProperty\")\n return collectParam(param.parameter);\n if (j.AssignmentPattern.check(param)) return collectParam(param.left);\n if (j.RestElement.check(param)) return collectParam(param.argument);\n if (j.ObjectPattern.check(param)) {\n param.properties.forEach((p: any) =>\n collectParam(p.value ?? p.argument),\n );\n return;\n }\n if (j.ArrayPattern.check(param)) {\n param.elements.forEach(collectParam);\n return;\n }\n const annotation = param?.typeAnnotation?.typeAnnotation;\n if (\n j.Identifier.check(param) &&\n annotation &&\n j.TSTypeReference.check(annotation) &&\n j.Identifier.check(annotation.typeName) &&\n annotation.typeName.name === \"AssistantClient\"\n ) {\n auiBindings.add(param);\n } else if (\n j.Identifier.check(param) &&\n param.name === \"aui\" &&\n !annotation\n ) {\n auiBindings.add(param);\n }\n };\n for (const fnType of [\n j.FunctionDeclaration,\n j.FunctionExpression,\n j.ArrowFunctionExpression,\n j.ObjectMethod,\n j.ClassMethod,\n ] as const) {\n root.find(fnType as typeof j.FunctionDeclaration).forEach((path: any) => {\n path.value.params.forEach(collectParam);\n });\n }\n\n root.find(j.CallExpression).forEach((path: any) => {\n const node = path.value;\n if (node.arguments.length !== 0) return;\n const callee = node.callee;\n if (!j.MemberExpression.check(callee) || callee.computed) return;\n if (!j.Identifier.check(callee.property)) return;\n if (!NULLARY_SCOPES.has(callee.property.name)) return;\n if (!j.Identifier.check(callee.object)) return;\n const binding = resolveBinding(\n j,\n path.get(\"callee\", \"object\"),\n callee.object.name,\n );\n if (binding ? !auiBindings.has(binding) : callee.object.name !== \"aui\")\n return;\n j(path).replaceWith(callee);\n markAsChanged();\n });\n },\n);\n\nexport default auiAccessorCallsToProperties;\n"],"mappings":"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"}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
//#region src/codemods/v0-8/ui-package-split.d.ts
|
|
2
1
|
declare const migrateAssistantUI: (fileInfo: import("jscodeshift/src/core").FileInfo, api: import("jscodeshift/src/core").API, options: any) => string | null;
|
|
3
|
-
|
|
4
|
-
export { migrateAssistantUI as default };
|
|
2
|
+
export default migrateAssistantUI;
|
|
5
3
|
//# sourceMappingURL=ui-package-split.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui-package-split.d.ts","
|
|
1
|
+
{"version":3,"file":"ui-package-split.d.ts","sourceRoot":"","sources":["../../../src/codemods/v0-8/ui-package-split.ts"],"names":[],"mappings":"AA8BA,QAAA,MAAM,kBAAkB,6HAoKtB,CAAC;AAEH,eAAe,kBAAkB,CAAC"}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
//#region src/codemods/v0-9/edge-package-split.d.ts
|
|
2
1
|
declare const migrateToEdgePackage: (fileInfo: import("jscodeshift/src/core").FileInfo, api: import("jscodeshift/src/core").API, options: any) => string | null;
|
|
3
|
-
|
|
4
|
-
export { migrateToEdgePackage as default };
|
|
2
|
+
export default migrateToEdgePackage;
|
|
5
3
|
//# sourceMappingURL=edge-package-split.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edge-package-split.d.ts","
|
|
1
|
+
{"version":3,"file":"edge-package-split.d.ts","sourceRoot":"","sources":["../../../src/codemods/v0-9/edge-package-split.ts"],"names":[],"mappings":"AA8BA,QAAA,MAAM,oBAAoB,6HAkJxB,CAAC;AAEH,eAAe,oBAAoB,CAAC"}
|