assistant-ui 0.0.91 → 0.0.93

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/README.md +32 -108
  2. package/dist/codemods/utils/createTransformer.d.ts +17 -13
  3. package/dist/codemods/utils/createTransformer.d.ts.map +1 -1
  4. package/dist/codemods/utils/createTransformer.js +18 -15
  5. package/dist/codemods/utils/createTransformer.js.map +1 -1
  6. package/dist/codemods/v0-11/content-part-to-message-part.d.ts +3 -1
  7. package/dist/codemods/v0-11/content-part-to-message-part.d.ts.map +1 -1
  8. package/dist/codemods/v0-11/content-part-to-message-part.js +98 -135
  9. package/dist/codemods/v0-11/content-part-to-message-part.js.map +1 -1
  10. package/dist/codemods/v0-12/assistant-api-to-aui.d.ts +3 -1
  11. package/dist/codemods/v0-12/assistant-api-to-aui.d.ts.map +1 -1
  12. package/dist/codemods/v0-12/assistant-api-to-aui.js +126 -213
  13. package/dist/codemods/v0-12/assistant-api-to-aui.js.map +1 -1
  14. package/dist/codemods/v0-12/event-names-to-camelcase.d.ts +3 -1
  15. package/dist/codemods/v0-12/event-names-to-camelcase.d.ts.map +1 -1
  16. package/dist/codemods/v0-12/event-names-to-camelcase.js +33 -38
  17. package/dist/codemods/v0-12/event-names-to-camelcase.js.map +1 -1
  18. package/dist/codemods/v0-12/primitive-if-to-aui-if.d.ts +3 -1
  19. package/dist/codemods/v0-12/primitive-if-to-aui-if.d.ts.map +1 -1
  20. package/dist/codemods/v0-12/primitive-if-to-aui-if.js +212 -297
  21. package/dist/codemods/v0-12/primitive-if-to-aui-if.js.map +1 -1
  22. package/dist/codemods/v0-8/ui-package-split.d.ts +3 -1
  23. package/dist/codemods/v0-8/ui-package-split.d.ts.map +1 -1
  24. package/dist/codemods/v0-8/ui-package-split.js +121 -164
  25. package/dist/codemods/v0-8/ui-package-split.js.map +1 -1
  26. package/dist/codemods/v0-9/edge-package-split.d.ts +3 -1
  27. package/dist/codemods/v0-9/edge-package-split.d.ts.map +1 -1
  28. package/dist/codemods/v0-9/edge-package-split.js +96 -140
  29. package/dist/codemods/v0-9/edge-package-split.js.map +1 -1
  30. package/dist/commands/add.d.ts +18 -1
  31. package/dist/commands/add.d.ts.map +1 -1
  32. package/dist/commands/add.js +54 -49
  33. package/dist/commands/add.js.map +1 -1
  34. package/dist/commands/agent.d.ts +5 -1
  35. package/dist/commands/agent.d.ts.map +1 -1
  36. package/dist/commands/agent.js +16 -25
  37. package/dist/commands/agent.js.map +1 -1
  38. package/dist/commands/create.d.ts +36 -26
  39. package/dist/commands/create.d.ts.map +1 -1
  40. package/dist/commands/create.js +458 -519
  41. package/dist/commands/create.js.map +1 -1
  42. package/dist/commands/info.d.ts +5 -1
  43. package/dist/commands/info.d.ts.map +1 -1
  44. package/dist/commands/info.js +233 -314
  45. package/dist/commands/info.js.map +1 -1
  46. package/dist/commands/init.d.ts +12 -9
  47. package/dist/commands/init.d.ts.map +1 -1
  48. package/dist/commands/init.js +98 -136
  49. package/dist/commands/init.js.map +1 -1
  50. package/dist/commands/mcp.d.ts +5 -1
  51. package/dist/commands/mcp.d.ts.map +1 -1
  52. package/dist/commands/mcp.js +175 -214
  53. package/dist/commands/mcp.js.map +1 -1
  54. package/dist/commands/update.d.ts +5 -1
  55. package/dist/commands/update.d.ts.map +1 -1
  56. package/dist/commands/update.js +46 -55
  57. package/dist/commands/update.js.map +1 -1
  58. package/dist/commands/upgrade.d.ts +11 -7
  59. package/dist/commands/upgrade.d.ts.map +1 -1
  60. package/dist/commands/upgrade.js +26 -38
  61. package/dist/commands/upgrade.js.map +1 -1
  62. package/dist/index.d.ts +1 -3
  63. package/dist/index.js +15 -14
  64. package/dist/index.js.map +1 -1
  65. package/dist/lib/create-project.d.ts +27 -10
  66. package/dist/lib/create-project.d.ts.map +1 -1
  67. package/dist/lib/create-project.js +239 -277
  68. package/dist/lib/create-project.js.map +1 -1
  69. package/dist/lib/install-ai-sdk-lib.d.ts +4 -1
  70. package/dist/lib/install-ai-sdk-lib.d.ts.map +1 -1
  71. package/dist/lib/install-ai-sdk-lib.js +12 -8
  72. package/dist/lib/install-ai-sdk-lib.js.map +1 -1
  73. package/dist/lib/install-edge-lib.d.ts +4 -1
  74. package/dist/lib/install-edge-lib.d.ts.map +1 -1
  75. package/dist/lib/install-edge-lib.js +16 -12
  76. package/dist/lib/install-edge-lib.js.map +1 -1
  77. package/dist/lib/install-ui-lib.d.ts +4 -1
  78. package/dist/lib/install-ui-lib.d.ts.map +1 -1
  79. package/dist/lib/install-ui-lib.js +12 -8
  80. package/dist/lib/install-ui-lib.js.map +1 -1
  81. package/dist/lib/run-spawn.d.ts +9 -0
  82. package/dist/lib/run-spawn.d.ts.map +1 -0
  83. package/dist/lib/run-spawn.js +26 -0
  84. package/dist/lib/run-spawn.js.map +1 -0
  85. package/dist/lib/transform-options.d.ts +8 -5
  86. package/dist/lib/transform-options.d.ts.map +1 -1
  87. package/dist/lib/transform-options.js +0 -2
  88. package/dist/lib/transform.d.ts +15 -11
  89. package/dist/lib/transform.d.ts.map +1 -1
  90. package/dist/lib/transform.js +97 -114
  91. package/dist/lib/transform.js.map +1 -1
  92. package/dist/lib/upgrade.d.ts +6 -2
  93. package/dist/lib/upgrade.d.ts.map +1 -1
  94. package/dist/lib/upgrade.js +62 -64
  95. package/dist/lib/upgrade.js.map +1 -1
  96. package/dist/lib/utils/config.d.ts +21 -18
  97. package/dist/lib/utils/config.d.ts.map +1 -1
  98. package/dist/lib/utils/config.js +24 -28
  99. package/dist/lib/utils/config.js.map +1 -1
  100. package/dist/lib/utils/file-scanner.d.ts +9 -6
  101. package/dist/lib/utils/file-scanner.d.ts.map +1 -1
  102. package/dist/lib/utils/file-scanner.js +44 -51
  103. package/dist/lib/utils/file-scanner.js.map +1 -1
  104. package/dist/lib/utils/logger.d.ts +10 -7
  105. package/dist/lib/utils/logger.d.ts.map +1 -1
  106. package/dist/lib/utils/logger.js +23 -19
  107. package/dist/lib/utils/logger.js.map +1 -1
  108. package/dist/lib/utils/package-installer.d.ts +10 -7
  109. package/dist/lib/utils/package-installer.d.ts.map +1 -1
  110. package/dist/lib/utils/package-installer.js +18 -19
  111. package/dist/lib/utils/package-installer.js.map +1 -1
  112. package/dist/lib/utils/package-manager.d.ts +10 -7
  113. package/dist/lib/utils/package-manager.d.ts.map +1 -1
  114. package/dist/lib/utils/package-manager.js +68 -59
  115. package/dist/lib/utils/package-manager.js.map +1 -1
  116. package/package.json +7 -7
  117. package/plugin/skills/assistant-ui/SKILL.md +2 -2
  118. package/src/commands/add.ts +67 -30
  119. package/src/commands/create.ts +116 -84
  120. package/src/commands/init.ts +9 -42
  121. package/src/lib/create-project.ts +123 -74
  122. package/src/lib/run-spawn.ts +32 -0
  123. package/dist/index.d.ts.map +0 -1
  124. package/dist/lib/transform-options.js.map +0 -1
@@ -1,170 +1,127 @@
1
1
  import { createTransformer } from "../utils/createTransformer.js";
2
+ //#region src/codemods/v0-8/ui-package-split.ts
2
3
  const reactUIExports = [
3
- "ThreadConfigProvider",
4
- "useThreadConfig",
5
- "ThreadConfig",
6
- "ThreadWelcomeConfig",
7
- "UserMessageConfig",
8
- "AssistantMessageConfig",
9
- "StringsConfig",
10
- "SuggestionConfig",
11
- "ThreadConfigProviderProps",
12
- "AssistantActionBar",
13
- "AssistantMessage",
14
- "AssistantModal",
15
- "BranchPicker",
16
- "Composer",
17
- "MessagePart",
18
- "AttachmentUI",
19
- "EditComposer",
20
- "Thread",
21
- "ThreadList",
22
- "ThreadListItem",
23
- "ThreadWelcome",
24
- "UserMessage",
25
- "makeMarkdownText",
26
- "MakeMarkdownTextProps",
27
- "CodeHeader",
4
+ "ThreadConfigProvider",
5
+ "useThreadConfig",
6
+ "ThreadConfig",
7
+ "ThreadWelcomeConfig",
8
+ "UserMessageConfig",
9
+ "AssistantMessageConfig",
10
+ "StringsConfig",
11
+ "SuggestionConfig",
12
+ "ThreadConfigProviderProps",
13
+ "AssistantActionBar",
14
+ "AssistantMessage",
15
+ "AssistantModal",
16
+ "BranchPicker",
17
+ "Composer",
18
+ "MessagePart",
19
+ "AttachmentUI",
20
+ "EditComposer",
21
+ "Thread",
22
+ "ThreadList",
23
+ "ThreadListItem",
24
+ "ThreadWelcome",
25
+ "UserMessage",
26
+ "makeMarkdownText",
27
+ "MakeMarkdownTextProps",
28
+ "CodeHeader"
28
29
  ];
29
30
  const migrateAssistantUI = createTransformer(({ j, root, markAsChanged }) => {
30
- const sourcesToMigrate = [
31
- "@assistant-ui/react",
32
- "@assistant-ui/react-markdown",
33
- ];
34
- const movedSpecifiers = [];
35
- let lastMigratedImportPath = null;
36
- root
37
- .find(j.ImportDeclaration)
38
- .filter((path) => sourcesToMigrate.includes(path.value.source.value))
39
- .forEach((path) => {
40
- let hadMigratedSpecifiers = false;
41
- const remainingSpecifiers = [];
42
- path.value.specifiers.forEach((specifier) => {
43
- if (j.ImportSpecifier.check(specifier) &&
44
- reactUIExports.includes(specifier.imported.name)) {
45
- movedSpecifiers.push(specifier);
46
- hadMigratedSpecifiers = true;
47
- }
48
- else {
49
- remainingSpecifiers.push(specifier);
50
- }
51
- });
52
- if (hadMigratedSpecifiers) {
53
- lastMigratedImportPath = path;
54
- }
55
- if (remainingSpecifiers.length === 0) {
56
- j(path).remove();
57
- markAsChanged();
58
- }
59
- else if (remainingSpecifiers.length !== path.value.specifiers.length) {
60
- path.value.specifiers = remainingSpecifiers;
61
- markAsChanged();
62
- }
63
- });
64
- if (movedSpecifiers.length > 0) {
65
- const existingReactUIImport = root.find(j.ImportDeclaration, {
66
- source: { value: "@assistant-ui/react-ui" },
67
- });
68
- if (existingReactUIImport.size() > 0) {
69
- existingReactUIImport.forEach((path) => {
70
- movedSpecifiers.forEach((specifier) => {
71
- if (!path.value.specifiers.some((s) => s.imported.name === specifier.imported.name)) {
72
- path.value.specifiers.push(specifier);
73
- }
74
- });
75
- });
76
- }
77
- else {
78
- const newImport = j.importDeclaration(movedSpecifiers, j.literal("@assistant-ui/react-ui"));
79
- if (lastMigratedImportPath) {
80
- j(lastMigratedImportPath).insertAfter(newImport);
81
- }
82
- else {
83
- const firstImport = root.find(j.ImportDeclaration).at(0);
84
- if (firstImport.size() > 0) {
85
- firstImport.insertBefore(newImport);
86
- }
87
- else {
88
- root.get().node.program.body.unshift(newImport);
89
- }
90
- }
91
- }
92
- markAsChanged();
93
- }
94
- const cssReplacements = {
95
- "@assistant-ui/react/styles/index.css": "@assistant-ui/react-ui/styles/index.css",
96
- "@assistant-ui/react/styles/modal.css": "@assistant-ui/react-ui/styles/modal.css",
97
- "@assistant-ui/react-markdown/styles/markdown.css": "@assistant-ui/react-ui/styles/markdown.css",
98
- };
99
- root.find(j.ImportDeclaration).forEach((path) => {
100
- const sourceValue = path.value.source.value;
101
- if (cssReplacements[sourceValue]) {
102
- path.value.source = j.literal(cssReplacements[sourceValue]);
103
- markAsChanged();
104
- }
105
- });
106
- let removedMarkdownPlugin = false;
107
- root
108
- .find(j.CallExpression, { callee: { name: "require" } })
109
- .filter((path) => {
110
- const arg = path.value.arguments[0];
111
- return (arg &&
112
- (arg.type === "Literal" || arg.type === "StringLiteral") &&
113
- arg.value === "@assistant-ui/react-markdown/tailwindcss");
114
- })
115
- .forEach((path) => {
116
- removedMarkdownPlugin = true;
117
- const parent = path.parentPath;
118
- if (parent?.value && parent.value.type === "VariableDeclarator") {
119
- const varDecl = parent.parentPath;
120
- if (varDecl?.value.declarations &&
121
- varDecl.value.declarations.length === 1) {
122
- j(varDecl).remove();
123
- }
124
- else {
125
- varDecl.value.declarations = varDecl.value.declarations.filter((decl) => decl !== parent.value);
126
- }
127
- markAsChanged();
128
- }
129
- else {
130
- j(path).remove();
131
- markAsChanged();
132
- }
133
- });
134
- root
135
- .find(j.CallExpression, { callee: { name: "require" } })
136
- .filter((path) => {
137
- const arg = path.value.arguments[0];
138
- return (arg &&
139
- (arg.type === "Literal" || arg.type === "StringLiteral") &&
140
- arg.value === "@assistant-ui/react/tailwindcss");
141
- })
142
- .forEach((path) => {
143
- path.value.arguments[0].value = "@assistant-ui/react-ui/tailwindcss";
144
- markAsChanged();
145
- if (removedMarkdownPlugin) {
146
- if (path.parentPath?.value &&
147
- path.parentPath.value.type === "CallExpression" &&
148
- path.parentPath.value.arguments.length > 0) {
149
- const configObj = path.parentPath.value.arguments[0];
150
- if (configObj && configObj.type === "ObjectExpression") {
151
- const componentsProp = configObj.properties.find((prop) => {
152
- return ((prop.key.name === "components" ||
153
- prop.key.value === "components") &&
154
- prop.value.type === "ArrayExpression");
155
- });
156
- if (componentsProp) {
157
- const componentsArray = componentsProp.value.elements;
158
- const hasMarkdown = componentsArray.some((el) => el.type === "Literal" && el.value === "markdown");
159
- if (!hasMarkdown) {
160
- componentsArray.push(j.literal("markdown"));
161
- markAsChanged();
162
- }
163
- }
164
- }
165
- }
166
- }
167
- });
31
+ const sourcesToMigrate = ["@assistant-ui/react", "@assistant-ui/react-markdown"];
32
+ const movedSpecifiers = [];
33
+ let lastMigratedImportPath = null;
34
+ root.find(j.ImportDeclaration).filter((path) => sourcesToMigrate.includes(path.value.source.value)).forEach((path) => {
35
+ let hadMigratedSpecifiers = false;
36
+ const remainingSpecifiers = [];
37
+ path.value.specifiers.forEach((specifier) => {
38
+ if (j.ImportSpecifier.check(specifier) && reactUIExports.includes(specifier.imported.name)) {
39
+ movedSpecifiers.push(specifier);
40
+ hadMigratedSpecifiers = true;
41
+ } else remainingSpecifiers.push(specifier);
42
+ });
43
+ if (hadMigratedSpecifiers) lastMigratedImportPath = path;
44
+ if (remainingSpecifiers.length === 0) {
45
+ j(path).remove();
46
+ markAsChanged();
47
+ } else if (remainingSpecifiers.length !== path.value.specifiers.length) {
48
+ path.value.specifiers = remainingSpecifiers;
49
+ markAsChanged();
50
+ }
51
+ });
52
+ if (movedSpecifiers.length > 0) {
53
+ const existingReactUIImport = root.find(j.ImportDeclaration, { source: { value: "@assistant-ui/react-ui" } });
54
+ if (existingReactUIImport.size() > 0) existingReactUIImport.forEach((path) => {
55
+ movedSpecifiers.forEach((specifier) => {
56
+ if (!path.value.specifiers.some((s) => s.imported.name === specifier.imported.name)) path.value.specifiers.push(specifier);
57
+ });
58
+ });
59
+ else {
60
+ const newImport = j.importDeclaration(movedSpecifiers, j.literal("@assistant-ui/react-ui"));
61
+ if (lastMigratedImportPath) j(lastMigratedImportPath).insertAfter(newImport);
62
+ else {
63
+ const firstImport = root.find(j.ImportDeclaration).at(0);
64
+ if (firstImport.size() > 0) firstImport.insertBefore(newImport);
65
+ else root.get().node.program.body.unshift(newImport);
66
+ }
67
+ }
68
+ markAsChanged();
69
+ }
70
+ const cssReplacements = {
71
+ "@assistant-ui/react/styles/index.css": "@assistant-ui/react-ui/styles/index.css",
72
+ "@assistant-ui/react/styles/modal.css": "@assistant-ui/react-ui/styles/modal.css",
73
+ "@assistant-ui/react-markdown/styles/markdown.css": "@assistant-ui/react-ui/styles/markdown.css"
74
+ };
75
+ root.find(j.ImportDeclaration).forEach((path) => {
76
+ const sourceValue = path.value.source.value;
77
+ if (cssReplacements[sourceValue]) {
78
+ path.value.source = j.literal(cssReplacements[sourceValue]);
79
+ markAsChanged();
80
+ }
81
+ });
82
+ let removedMarkdownPlugin = false;
83
+ root.find(j.CallExpression, { callee: { name: "require" } }).filter((path) => {
84
+ const arg = path.value.arguments[0];
85
+ return arg && (arg.type === "Literal" || arg.type === "StringLiteral") && arg.value === "@assistant-ui/react-markdown/tailwindcss";
86
+ }).forEach((path) => {
87
+ removedMarkdownPlugin = true;
88
+ const parent = path.parentPath;
89
+ if (parent?.value && parent.value.type === "VariableDeclarator") {
90
+ const varDecl = parent.parentPath;
91
+ if (varDecl?.value.declarations && varDecl.value.declarations.length === 1) j(varDecl).remove();
92
+ else varDecl.value.declarations = varDecl.value.declarations.filter((decl) => decl !== parent.value);
93
+ markAsChanged();
94
+ } else {
95
+ j(path).remove();
96
+ markAsChanged();
97
+ }
98
+ });
99
+ root.find(j.CallExpression, { callee: { name: "require" } }).filter((path) => {
100
+ const arg = path.value.arguments[0];
101
+ return arg && (arg.type === "Literal" || arg.type === "StringLiteral") && arg.value === "@assistant-ui/react/tailwindcss";
102
+ }).forEach((path) => {
103
+ path.value.arguments[0].value = "@assistant-ui/react-ui/tailwindcss";
104
+ markAsChanged();
105
+ if (removedMarkdownPlugin) {
106
+ if (path.parentPath?.value && path.parentPath.value.type === "CallExpression" && path.parentPath.value.arguments.length > 0) {
107
+ const configObj = path.parentPath.value.arguments[0];
108
+ if (configObj && configObj.type === "ObjectExpression") {
109
+ const componentsProp = configObj.properties.find((prop) => {
110
+ return (prop.key.name === "components" || prop.key.value === "components") && prop.value.type === "ArrayExpression";
111
+ });
112
+ if (componentsProp) {
113
+ const componentsArray = componentsProp.value.elements;
114
+ if (!componentsArray.some((el) => el.type === "Literal" && el.value === "markdown")) {
115
+ componentsArray.push(j.literal("markdown"));
116
+ markAsChanged();
117
+ }
118
+ }
119
+ }
120
+ }
121
+ }
122
+ });
168
123
  });
169
- export default migrateAssistantUI;
124
+ //#endregion
125
+ export { migrateAssistantUI as default };
126
+
170
127
  //# sourceMappingURL=ui-package-split.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ui-package-split.js","sourceRoot":"","sources":["../../../src/codemods/v0-8/ui-package-split.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ui-package-split.js","names":[],"sources":["../../../src/codemods/v0-8/ui-package-split.ts"],"sourcesContent":["import { createTransformer } from \"../utils/createTransformer\";\n\nconst reactUIExports: string[] = [\n \"ThreadConfigProvider\",\n \"useThreadConfig\",\n \"ThreadConfig\",\n \"ThreadWelcomeConfig\",\n \"UserMessageConfig\",\n \"AssistantMessageConfig\",\n \"StringsConfig\",\n \"SuggestionConfig\",\n \"ThreadConfigProviderProps\",\n \"AssistantActionBar\",\n \"AssistantMessage\",\n \"AssistantModal\",\n \"BranchPicker\",\n \"Composer\",\n \"MessagePart\",\n \"AttachmentUI\",\n \"EditComposer\",\n \"Thread\",\n \"ThreadList\",\n \"ThreadListItem\",\n \"ThreadWelcome\",\n \"UserMessage\",\n \"makeMarkdownText\",\n \"MakeMarkdownTextProps\",\n \"CodeHeader\",\n];\n\nconst migrateAssistantUI = createTransformer(({ j, root, markAsChanged }) => {\n const sourcesToMigrate: string[] = [\n \"@assistant-ui/react\",\n \"@assistant-ui/react-markdown\",\n ];\n const movedSpecifiers: any[] = [];\n let lastMigratedImportPath: any = null;\n\n root\n .find(j.ImportDeclaration)\n .filter((path: any) => sourcesToMigrate.includes(path.value.source.value))\n .forEach((path: any) => {\n let hadMigratedSpecifiers = false;\n const remainingSpecifiers: any[] = [];\n path.value.specifiers.forEach((specifier: any) => {\n if (\n j.ImportSpecifier.check(specifier) &&\n reactUIExports.includes(specifier.imported.name as string)\n ) {\n movedSpecifiers.push(specifier);\n hadMigratedSpecifiers = true;\n } else {\n remainingSpecifiers.push(specifier);\n }\n });\n if (hadMigratedSpecifiers) {\n lastMigratedImportPath = path;\n }\n if (remainingSpecifiers.length === 0) {\n j(path).remove();\n markAsChanged();\n } else if (remainingSpecifiers.length !== path.value.specifiers.length) {\n path.value.specifiers = remainingSpecifiers;\n markAsChanged();\n }\n });\n\n if (movedSpecifiers.length > 0) {\n const existingReactUIImport = root.find(j.ImportDeclaration, {\n source: { value: \"@assistant-ui/react-ui\" },\n });\n if (existingReactUIImport.size() > 0) {\n existingReactUIImport.forEach((path: any) => {\n movedSpecifiers.forEach((specifier: any) => {\n if (\n !path.value.specifiers.some(\n (s: any) => s.imported.name === specifier.imported.name,\n )\n ) {\n path.value.specifiers.push(specifier);\n }\n });\n });\n } else {\n const newImport = j.importDeclaration(\n movedSpecifiers,\n j.literal(\"@assistant-ui/react-ui\"),\n );\n if (lastMigratedImportPath) {\n j(lastMigratedImportPath).insertAfter(newImport);\n } else {\n const firstImport = root.find(j.ImportDeclaration).at(0);\n if (firstImport.size() > 0) {\n firstImport.insertBefore(newImport);\n } else {\n root.get().node.program.body.unshift(newImport);\n }\n }\n }\n markAsChanged();\n }\n\n const cssReplacements: Record<string, string> = {\n \"@assistant-ui/react/styles/index.css\":\n \"@assistant-ui/react-ui/styles/index.css\",\n \"@assistant-ui/react/styles/modal.css\":\n \"@assistant-ui/react-ui/styles/modal.css\",\n \"@assistant-ui/react-markdown/styles/markdown.css\":\n \"@assistant-ui/react-ui/styles/markdown.css\",\n };\n\n root.find(j.ImportDeclaration).forEach((path: any) => {\n const sourceValue: string = path.value.source.value;\n if (cssReplacements[sourceValue]) {\n path.value.source = j.literal(cssReplacements[sourceValue]);\n markAsChanged();\n }\n });\n\n let removedMarkdownPlugin = false;\n root\n .find(j.CallExpression, { callee: { name: \"require\" } })\n .filter((path: any) => {\n const arg = path.value.arguments[0];\n return (\n arg &&\n (arg.type === \"Literal\" || arg.type === \"StringLiteral\") &&\n arg.value === \"@assistant-ui/react-markdown/tailwindcss\"\n );\n })\n .forEach((path: any) => {\n removedMarkdownPlugin = true;\n const parent = path.parentPath;\n if (parent?.value && parent.value.type === \"VariableDeclarator\") {\n const varDecl = parent.parentPath;\n if (\n varDecl?.value.declarations &&\n varDecl.value.declarations.length === 1\n ) {\n j(varDecl).remove();\n } else {\n varDecl.value.declarations = varDecl.value.declarations.filter(\n (decl: any) => decl !== parent.value,\n );\n }\n markAsChanged();\n } else {\n j(path).remove();\n markAsChanged();\n }\n });\n\n root\n .find(j.CallExpression, { callee: { name: \"require\" } })\n .filter((path: any) => {\n const arg = path.value.arguments[0];\n return (\n arg &&\n (arg.type === \"Literal\" || arg.type === \"StringLiteral\") &&\n arg.value === \"@assistant-ui/react/tailwindcss\"\n );\n })\n .forEach((path: any) => {\n path.value.arguments[0].value = \"@assistant-ui/react-ui/tailwindcss\";\n markAsChanged();\n if (removedMarkdownPlugin) {\n if (\n path.parentPath?.value &&\n path.parentPath.value.type === \"CallExpression\" &&\n path.parentPath.value.arguments.length > 0\n ) {\n const configObj = path.parentPath.value.arguments[0];\n if (configObj && configObj.type === \"ObjectExpression\") {\n const componentsProp = configObj.properties.find((prop: any) => {\n return (\n (prop.key.name === \"components\" ||\n prop.key.value === \"components\") &&\n prop.value.type === \"ArrayExpression\"\n );\n });\n if (componentsProp) {\n const componentsArray = componentsProp.value.elements;\n const hasMarkdown = componentsArray.some(\n (el: any) => el.type === \"Literal\" && el.value === \"markdown\",\n );\n if (!hasMarkdown) {\n componentsArray.push(j.literal(\"markdown\"));\n markAsChanged();\n }\n }\n }\n }\n }\n });\n});\n\nexport default migrateAssistantUI;\n"],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ //#region src/codemods/v0-9/edge-package-split.d.ts
1
2
  declare const migrateToEdgePackage: (fileInfo: import("jscodeshift/src/core").FileInfo, api: import("jscodeshift/src/core").API, options: any) => string | null;
2
- export default migrateToEdgePackage;
3
+ //#endregion
4
+ export { migrateToEdgePackage as default };
3
5
  //# sourceMappingURL=edge-package-split.d.ts.map
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"edge-package-split.d.ts","names":[],"sources":["../../../src/codemods/v0-9/edge-package-split.ts"],"mappings":";cA8BM,oBAAA,GAAoB,QAAA,iCAAA,QAAA,EAAA,GAAA,iCAAA,GAAA,EAAA,OAAA"}
@@ -1,146 +1,102 @@
1
1
  import { createTransformer } from "../utils/createTransformer.js";
2
- // Chat runtime and converter exports moved to react-ai-sdk
2
+ //#region src/codemods/v0-9/edge-package-split.ts
3
3
  const reactAiSdkExports = [
4
- // Chat Runtime (replaces edge runtime)
5
- "useChatRuntime",
6
- // Core Types
7
- "CoreMessage",
8
- "CoreUserMessage",
9
- "CoreAssistantMessage",
10
- "CoreSystemMessage",
11
- "CoreUserMessagePart",
12
- "CoreAssistantMessagePart",
13
- "CoreToolCallMessagePart",
14
- // Core message converters
15
- "fromCoreMessages",
16
- "fromCoreMessage",
17
- "toCoreMessages",
18
- "toCoreMessage",
19
- // Language model converters
20
- "toLanguageModelMessages",
21
- "toLanguageModelTools",
22
- "fromLanguageModelMessages",
23
- "fromLanguageModelTools",
24
- "useDangerousInBrowserRuntime",
4
+ "useChatRuntime",
5
+ "CoreMessage",
6
+ "CoreUserMessage",
7
+ "CoreAssistantMessage",
8
+ "CoreSystemMessage",
9
+ "CoreUserMessagePart",
10
+ "CoreAssistantMessagePart",
11
+ "CoreToolCallMessagePart",
12
+ "fromCoreMessages",
13
+ "fromCoreMessage",
14
+ "toCoreMessages",
15
+ "toCoreMessage",
16
+ "toLanguageModelMessages",
17
+ "toLanguageModelTools",
18
+ "fromLanguageModelMessages",
19
+ "fromLanguageModelTools",
20
+ "useDangerousInBrowserRuntime"
25
21
  ];
26
22
  const migrateToEdgePackage = createTransformer(({ j, root, markAsChanged }) => {
27
- const sourcesToMigrate = ["@assistant-ui/react"];
28
- const movedAiSdkSpecifiers = [];
29
- let lastMigratedImportPath = null;
30
- root
31
- .find(j.ImportDeclaration)
32
- .filter((path) => sourcesToMigrate.includes(path.value.source.value))
33
- .forEach((path) => {
34
- let hadMigratedSpecifiers = false;
35
- const remainingSpecifiers = [];
36
- path.value.specifiers.forEach((specifier) => {
37
- if (j.ImportSpecifier.check(specifier) &&
38
- reactAiSdkExports.includes(specifier.imported.name)) {
39
- movedAiSdkSpecifiers.push(specifier);
40
- hadMigratedSpecifiers = true;
41
- }
42
- else {
43
- remainingSpecifiers.push(specifier);
44
- }
45
- });
46
- if (hadMigratedSpecifiers) {
47
- lastMigratedImportPath = path;
48
- }
49
- if (remainingSpecifiers.length === 0) {
50
- j(path).remove();
51
- markAsChanged();
52
- }
53
- else if (remainingSpecifiers.length !== path.value.specifiers.length) {
54
- path.value.specifiers = remainingSpecifiers;
55
- markAsChanged();
56
- }
57
- });
58
- // Add imports for react-ai-sdk (all edge-related imports now go here)
59
- if (movedAiSdkSpecifiers.length > 0) {
60
- const existingAiSdkImport = root.find(j.ImportDeclaration, {
61
- source: { value: "@assistant-ui/react-ai-sdk" },
62
- });
63
- if (existingAiSdkImport.size() > 0) {
64
- existingAiSdkImport.forEach((path) => {
65
- movedAiSdkSpecifiers.forEach((specifier) => {
66
- if (!path.value.specifiers.some((s) => s.imported.name === specifier.imported.name)) {
67
- path.value.specifiers.push(specifier);
68
- }
69
- });
70
- });
71
- }
72
- else {
73
- const newImport = j.importDeclaration(movedAiSdkSpecifiers, j.literal("@assistant-ui/react-ai-sdk"));
74
- if (lastMigratedImportPath) {
75
- j(lastMigratedImportPath).insertAfter(newImport);
76
- }
77
- else {
78
- const firstImport = root.find(j.ImportDeclaration).at(0);
79
- if (firstImport.size() > 0) {
80
- firstImport.insertBefore(newImport);
81
- }
82
- else {
83
- root.get().node.program.body.unshift(newImport);
84
- }
85
- }
86
- }
87
- markAsChanged();
88
- }
89
- // Migrate imports from edge/converters
90
- root.find(j.ImportDeclaration).forEach((path) => {
91
- const sourceValue = path.value.source.value;
92
- if (sourceValue.startsWith("@assistant-ui/react/") &&
93
- (sourceValue.includes("edge/") ||
94
- sourceValue.includes("dangerous-in-browser/"))) {
95
- path.value.source = j.literal(sourceValue.replace("@assistant-ui/react/", "@assistant-ui/react-ai-sdk/"));
96
- markAsChanged();
97
- }
98
- });
99
- // Migrate language model converter imports from react-edge to react-ai-sdk
100
- root.find(j.ImportDeclaration).forEach((path) => {
101
- const sourceValue = path.value.source.value;
102
- if (sourceValue === "@assistant-ui/react-edge" ||
103
- sourceValue === "@assistant-ui/react") {
104
- let hasLanguageModelConverters = false;
105
- const remainingSpecifiers = [];
106
- const aiSdkSpecifiers = [];
107
- path.value.specifiers.forEach((specifier) => {
108
- if (j.ImportSpecifier.check(specifier) &&
109
- reactAiSdkExports.includes(specifier.imported.name)) {
110
- aiSdkSpecifiers.push(specifier);
111
- hasLanguageModelConverters = true;
112
- }
113
- else {
114
- remainingSpecifiers.push(specifier);
115
- }
116
- });
117
- if (hasLanguageModelConverters) {
118
- if (remainingSpecifiers.length === 0) {
119
- j(path).remove();
120
- }
121
- else {
122
- path.value.specifiers = remainingSpecifiers;
123
- }
124
- const existingAiSdkImport = root.find(j.ImportDeclaration, {
125
- source: { value: "@assistant-ui/react-ai-sdk" },
126
- });
127
- if (existingAiSdkImport.size() > 0) {
128
- existingAiSdkImport.forEach((importPath) => {
129
- aiSdkSpecifiers.forEach((specifier) => {
130
- if (!importPath.value.specifiers.some((s) => s.imported.name === specifier.imported.name)) {
131
- importPath.value.specifiers.push(specifier);
132
- }
133
- });
134
- });
135
- }
136
- else {
137
- const newImport = j.importDeclaration(aiSdkSpecifiers, j.literal("@assistant-ui/react-ai-sdk"));
138
- j(path).insertAfter(newImport);
139
- }
140
- markAsChanged();
141
- }
142
- }
143
- });
23
+ const sourcesToMigrate = ["@assistant-ui/react"];
24
+ const movedAiSdkSpecifiers = [];
25
+ let lastMigratedImportPath = null;
26
+ root.find(j.ImportDeclaration).filter((path) => sourcesToMigrate.includes(path.value.source.value)).forEach((path) => {
27
+ let hadMigratedSpecifiers = false;
28
+ const remainingSpecifiers = [];
29
+ path.value.specifiers.forEach((specifier) => {
30
+ if (j.ImportSpecifier.check(specifier) && reactAiSdkExports.includes(specifier.imported.name)) {
31
+ movedAiSdkSpecifiers.push(specifier);
32
+ hadMigratedSpecifiers = true;
33
+ } else remainingSpecifiers.push(specifier);
34
+ });
35
+ if (hadMigratedSpecifiers) lastMigratedImportPath = path;
36
+ if (remainingSpecifiers.length === 0) {
37
+ j(path).remove();
38
+ markAsChanged();
39
+ } else if (remainingSpecifiers.length !== path.value.specifiers.length) {
40
+ path.value.specifiers = remainingSpecifiers;
41
+ markAsChanged();
42
+ }
43
+ });
44
+ if (movedAiSdkSpecifiers.length > 0) {
45
+ const existingAiSdkImport = root.find(j.ImportDeclaration, { source: { value: "@assistant-ui/react-ai-sdk" } });
46
+ if (existingAiSdkImport.size() > 0) existingAiSdkImport.forEach((path) => {
47
+ movedAiSdkSpecifiers.forEach((specifier) => {
48
+ if (!path.value.specifiers.some((s) => s.imported.name === specifier.imported.name)) path.value.specifiers.push(specifier);
49
+ });
50
+ });
51
+ else {
52
+ const newImport = j.importDeclaration(movedAiSdkSpecifiers, j.literal("@assistant-ui/react-ai-sdk"));
53
+ if (lastMigratedImportPath) j(lastMigratedImportPath).insertAfter(newImport);
54
+ else {
55
+ const firstImport = root.find(j.ImportDeclaration).at(0);
56
+ if (firstImport.size() > 0) firstImport.insertBefore(newImport);
57
+ else root.get().node.program.body.unshift(newImport);
58
+ }
59
+ }
60
+ markAsChanged();
61
+ }
62
+ root.find(j.ImportDeclaration).forEach((path) => {
63
+ const sourceValue = path.value.source.value;
64
+ if (sourceValue.startsWith("@assistant-ui/react/") && (sourceValue.includes("edge/") || sourceValue.includes("dangerous-in-browser/"))) {
65
+ path.value.source = j.literal(sourceValue.replace("@assistant-ui/react/", "@assistant-ui/react-ai-sdk/"));
66
+ markAsChanged();
67
+ }
68
+ });
69
+ root.find(j.ImportDeclaration).forEach((path) => {
70
+ const sourceValue = path.value.source.value;
71
+ if (sourceValue === "@assistant-ui/react-edge" || sourceValue === "@assistant-ui/react") {
72
+ let hasLanguageModelConverters = false;
73
+ const remainingSpecifiers = [];
74
+ const aiSdkSpecifiers = [];
75
+ path.value.specifiers.forEach((specifier) => {
76
+ if (j.ImportSpecifier.check(specifier) && reactAiSdkExports.includes(specifier.imported.name)) {
77
+ aiSdkSpecifiers.push(specifier);
78
+ hasLanguageModelConverters = true;
79
+ } else remainingSpecifiers.push(specifier);
80
+ });
81
+ if (hasLanguageModelConverters) {
82
+ if (remainingSpecifiers.length === 0) j(path).remove();
83
+ else path.value.specifiers = remainingSpecifiers;
84
+ const existingAiSdkImport = root.find(j.ImportDeclaration, { source: { value: "@assistant-ui/react-ai-sdk" } });
85
+ if (existingAiSdkImport.size() > 0) existingAiSdkImport.forEach((importPath) => {
86
+ aiSdkSpecifiers.forEach((specifier) => {
87
+ if (!importPath.value.specifiers.some((s) => s.imported.name === specifier.imported.name)) importPath.value.specifiers.push(specifier);
88
+ });
89
+ });
90
+ else {
91
+ const newImport = j.importDeclaration(aiSdkSpecifiers, j.literal("@assistant-ui/react-ai-sdk"));
92
+ j(path).insertAfter(newImport);
93
+ }
94
+ markAsChanged();
95
+ }
96
+ }
97
+ });
144
98
  });
145
- export default migrateToEdgePackage;
99
+ //#endregion
100
+ export { migrateToEdgePackage as default };
101
+
146
102
  //# sourceMappingURL=edge-package-split.js.map