assistant-ui 0.0.47 → 0.0.49

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 (91) hide show
  1. package/dist/codemods/utils/createTransformer.js +2 -28
  2. package/dist/codemods/utils/createTransformer.js.map +1 -1
  3. package/dist/codemods/v0-8/ui-package-split.js +6 -28
  4. package/dist/codemods/v0-8/ui-package-split.js.map +1 -1
  5. package/dist/codemods/v0-9/edge-package-split.js +7 -29
  6. package/dist/codemods/v0-9/edge-package-split.js.map +1 -1
  7. package/dist/commands/add.js +7 -33
  8. package/dist/commands/add.js.map +1 -1
  9. package/dist/commands/create.js +7 -43
  10. package/dist/commands/create.js.map +1 -1
  11. package/dist/commands/init.js +15 -51
  12. package/dist/commands/init.js.map +1 -1
  13. package/dist/commands/update.js +20 -56
  14. package/dist/commands/update.js.map +1 -1
  15. package/dist/commands/upgrade.js +15 -52
  16. package/dist/commands/upgrade.js.map +1 -1
  17. package/dist/index.js +13 -16
  18. package/dist/index.js.map +1 -1
  19. package/dist/lib/install-ai-sdk-lib.js +12 -44
  20. package/dist/lib/install-ai-sdk-lib.js.map +1 -1
  21. package/dist/lib/install-edge-lib.js +12 -44
  22. package/dist/lib/install-edge-lib.js.map +1 -1
  23. package/dist/lib/install-ui-lib.js +12 -44
  24. package/dist/lib/install-ui-lib.js.map +1 -1
  25. package/dist/lib/transform-options.js +0 -18
  26. package/dist/lib/transform-options.js.map +1 -1
  27. package/dist/lib/transform.js +18 -57
  28. package/dist/lib/transform.js.map +1 -1
  29. package/dist/lib/upgrade.js +18 -54
  30. package/dist/lib/upgrade.js.map +1 -1
  31. package/package.json +3 -2
  32. package/dist/codemods/utils/createTransformer.d.ts +0 -15
  33. package/dist/codemods/utils/createTransformer.d.ts.map +0 -1
  34. package/dist/codemods/utils/createTransformer.mjs +0 -21
  35. package/dist/codemods/utils/createTransformer.mjs.map +0 -1
  36. package/dist/codemods/v0-8/ui-package-split.d.ts +0 -3
  37. package/dist/codemods/v0-8/ui-package-split.d.ts.map +0 -1
  38. package/dist/codemods/v0-8/ui-package-split.mjs +0 -157
  39. package/dist/codemods/v0-8/ui-package-split.mjs.map +0 -1
  40. package/dist/codemods/v0-9/edge-package-split.d.ts +0 -3
  41. package/dist/codemods/v0-9/edge-package-split.d.ts.map +0 -1
  42. package/dist/codemods/v0-9/edge-package-split.mjs +0 -188
  43. package/dist/codemods/v0-9/edge-package-split.mjs.map +0 -1
  44. package/dist/commands/add.d.ts +0 -3
  45. package/dist/commands/add.d.ts.map +0 -1
  46. package/dist/commands/add.mjs +0 -37
  47. package/dist/commands/add.mjs.map +0 -1
  48. package/dist/commands/create.d.ts +0 -3
  49. package/dist/commands/create.d.ts.map +0 -1
  50. package/dist/commands/create.mjs +0 -73
  51. package/dist/commands/create.mjs.map +0 -1
  52. package/dist/commands/init.d.ts +0 -3
  53. package/dist/commands/init.d.ts.map +0 -1
  54. package/dist/commands/init.mjs +0 -42
  55. package/dist/commands/init.mjs.map +0 -1
  56. package/dist/commands/update.d.ts +0 -3
  57. package/dist/commands/update.d.ts.map +0 -1
  58. package/dist/commands/update.mjs +0 -61
  59. package/dist/commands/update.mjs.map +0 -1
  60. package/dist/commands/upgrade.d.ts +0 -10
  61. package/dist/commands/upgrade.d.ts.map +0 -1
  62. package/dist/commands/upgrade.mjs +0 -40
  63. package/dist/commands/upgrade.mjs.map +0 -1
  64. package/dist/index.d.ts +0 -3
  65. package/dist/index.d.ts.map +0 -1
  66. package/dist/index.mjs +0 -23
  67. package/dist/index.mjs.map +0 -1
  68. package/dist/lib/install-ai-sdk-lib.d.ts +0 -2
  69. package/dist/lib/install-ai-sdk-lib.d.ts.map +0 -1
  70. package/dist/lib/install-ai-sdk-lib.mjs +0 -90
  71. package/dist/lib/install-ai-sdk-lib.mjs.map +0 -1
  72. package/dist/lib/install-edge-lib.d.ts +0 -2
  73. package/dist/lib/install-edge-lib.d.ts.map +0 -1
  74. package/dist/lib/install-edge-lib.mjs +0 -90
  75. package/dist/lib/install-edge-lib.mjs.map +0 -1
  76. package/dist/lib/install-ui-lib.d.ts +0 -2
  77. package/dist/lib/install-ui-lib.d.ts.map +0 -1
  78. package/dist/lib/install-ui-lib.mjs +0 -90
  79. package/dist/lib/install-ui-lib.mjs.map +0 -1
  80. package/dist/lib/transform-options.d.ts +0 -7
  81. package/dist/lib/transform-options.d.ts.map +0 -1
  82. package/dist/lib/transform-options.mjs +0 -1
  83. package/dist/lib/transform-options.mjs.map +0 -1
  84. package/dist/lib/transform.d.ts +0 -21
  85. package/dist/lib/transform.d.ts.map +0 -1
  86. package/dist/lib/transform.mjs +0 -128
  87. package/dist/lib/transform.mjs.map +0 -1
  88. package/dist/lib/upgrade.d.ts +0 -9
  89. package/dist/lib/upgrade.d.ts.map +0 -1
  90. package/dist/lib/upgrade.mjs +0 -64
  91. package/dist/lib/upgrade.mjs.map +0 -1
@@ -1,28 +1,3 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/codemods/utils/createTransformer.ts
21
- var createTransformer_exports = {};
22
- __export(createTransformer_exports, {
23
- createTransformer: () => createTransformer
24
- });
25
- module.exports = __toCommonJS(createTransformer_exports);
26
1
  function createTransformer(transformFn) {
27
2
  return function transformer(fileInfo, api, options) {
28
3
  const j = api.jscodeshift;
@@ -39,8 +14,7 @@ function createTransformer(transformFn) {
39
14
  return isChanged ? root.toSource() : null;
40
15
  };
41
16
  }
42
- // Annotate the CommonJS export names for ESM import in node:
43
- 0 && (module.exports = {
17
+ export {
44
18
  createTransformer
45
- });
19
+ };
46
20
  //# sourceMappingURL=createTransformer.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/codemods/utils/createTransformer.ts"],"sourcesContent":["import { FileInfo, API, JSCodeshift, Collection } from \"jscodeshift\";\n\nexport type TransformerFunction = (\n context: TransformContext,\n fileInfo: FileInfo,\n api: API,\n options: any,\n) => void;\n\nexport interface TransformContext {\n /**\n * The jscodeshift API object.\n */\n j: JSCodeshift;\n\n /**\n * The root collection of the AST.\n */\n root: Collection<any>;\n\n markAsChanged: () => void;\n}\n\nexport function createTransformer(transformFn: TransformerFunction) {\n return function transformer(fileInfo: FileInfo, api: API, options: any) {\n const j = api.jscodeshift;\n const root = j(fileInfo.source);\n\n let isChanged = false;\n const context: TransformContext = {\n j,\n root,\n markAsChanged: () => {\n isChanged = true;\n },\n };\n\n transformFn(context, fileInfo, api, options);\n return isChanged ? root.toSource() : null;\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAuBO,SAAS,kBAAkB,aAAkC;AAClE,SAAO,SAAS,YAAY,UAAoB,KAAU,SAAc;AACtE,UAAM,IAAI,IAAI;AACd,UAAM,OAAO,EAAE,SAAS,MAAM;AAE9B,QAAI,YAAY;AAChB,UAAM,UAA4B;AAAA,MAChC;AAAA,MACA;AAAA,MACA,eAAe,MAAM;AACnB,oBAAY;AAAA,MACd;AAAA,IACF;AAEA,gBAAY,SAAS,UAAU,KAAK,OAAO;AAC3C,WAAO,YAAY,KAAK,SAAS,IAAI;AAAA,EACvC;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../src/codemods/utils/createTransformer.ts"],"sourcesContent":["import { FileInfo, API, JSCodeshift, Collection } from \"jscodeshift\";\n\nexport type TransformerFunction = (\n context: TransformContext,\n fileInfo: FileInfo,\n api: API,\n options: any,\n) => void;\n\nexport interface TransformContext {\n /**\n * The jscodeshift API object.\n */\n j: JSCodeshift;\n\n /**\n * The root collection of the AST.\n */\n root: Collection<any>;\n\n markAsChanged: () => void;\n}\n\nexport function createTransformer(transformFn: TransformerFunction) {\n return function transformer(fileInfo: FileInfo, api: API, options: any) {\n const j = api.jscodeshift;\n const root = j(fileInfo.source);\n\n let isChanged = false;\n const context: TransformContext = {\n j,\n root,\n markAsChanged: () => {\n isChanged = true;\n },\n };\n\n transformFn(context, fileInfo, api, options);\n return isChanged ? root.toSource() : null;\n };\n}\n"],"mappings":"AAuBO,SAAS,kBAAkB,aAAkC;AAClE,SAAO,SAAS,YAAY,UAAoB,KAAU,SAAc;AACtE,UAAM,IAAI,IAAI;AACd,UAAM,OAAO,EAAE,SAAS,MAAM;AAE9B,QAAI,YAAY;AAChB,UAAM,UAA4B;AAAA,MAChC;AAAA,MACA;AAAA,MACA,eAAe,MAAM;AACnB,oBAAY;AAAA,MACd;AAAA,IACF;AAEA,gBAAY,SAAS,UAAU,KAAK,OAAO;AAC3C,WAAO,YAAY,KAAK,SAAS,IAAI;AAAA,EACvC;AACF;","names":[]}
@@ -1,30 +1,5 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/codemods/v0-8/ui-package-split.ts
21
- var ui_package_split_exports = {};
22
- __export(ui_package_split_exports, {
23
- default: () => ui_package_split_default
24
- });
25
- module.exports = __toCommonJS(ui_package_split_exports);
26
- var import_createTransformer = require("../utils/createTransformer.js");
27
- var reactUIExports = [
1
+ import { createTransformer } from "../utils/createTransformer";
2
+ const reactUIExports = [
28
3
  "ThreadConfigProvider",
29
4
  "useThreadConfig",
30
5
  "ThreadConfig",
@@ -51,7 +26,7 @@ var reactUIExports = [
51
26
  "MakeMarkdownTextProps",
52
27
  "CodeHeader"
53
28
  ];
54
- var migrateAssistantUI = (0, import_createTransformer.createTransformer)(({ j, root, markAsChanged }) => {
29
+ const migrateAssistantUI = createTransformer(({ j, root, markAsChanged }) => {
55
30
  const sourcesToMigrate = [
56
31
  "@assistant-ui/react",
57
32
  "@assistant-ui/react-markdown"
@@ -175,4 +150,7 @@ var migrateAssistantUI = (0, import_createTransformer.createTransformer)(({ j, r
175
150
  });
176
151
  });
177
152
  var ui_package_split_default = migrateAssistantUI;
153
+ export {
154
+ ui_package_split_default as default
155
+ };
178
156
  //# sourceMappingURL=ui-package-split.js.map
@@ -1 +1 @@
1
- {"version":3,"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 \"ContentPart\",\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 (\n parent &&\n parent.value &&\n parent.value.type === \"VariableDeclarator\"\n ) {\n const varDecl = parent.parentPath;\n if (\n varDecl &&\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 &&\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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","names":[]}
1
+ {"version":3,"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 \"ContentPart\",\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 (\n parent &&\n parent.value &&\n parent.value.type === \"VariableDeclarator\"\n ) {\n const varDecl = parent.parentPath;\n if (\n varDecl &&\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 &&\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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","names":[]}
@@ -1,30 +1,5 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/codemods/v0-9/edge-package-split.ts
21
- var edge_package_split_exports = {};
22
- __export(edge_package_split_exports, {
23
- default: () => edge_package_split_default
24
- });
25
- module.exports = __toCommonJS(edge_package_split_exports);
26
- var import_createTransformer = require("../utils/createTransformer.js");
27
- var reactEdgeExports = [
1
+ import { createTransformer } from "../utils/createTransformer";
2
+ const reactEdgeExports = [
28
3
  // Edge Runtime
29
4
  "useEdgeRuntime",
30
5
  "EdgeRuntimeOptions",
@@ -47,14 +22,14 @@ var reactEdgeExports = [
47
22
  "toCoreMessages",
48
23
  "toCoreMessage"
49
24
  ];
50
- var reactAiSdkExports = [
25
+ const reactAiSdkExports = [
51
26
  "toLanguageModelMessages",
52
27
  "toLanguageModelTools",
53
28
  "fromLanguageModelMessages",
54
29
  "fromLanguageModelTools",
55
30
  "useDangerousInBrowserRuntime"
56
31
  ];
57
- var migrateToEdgePackage = (0, import_createTransformer.createTransformer)(({ j, root, markAsChanged }) => {
32
+ const migrateToEdgePackage = createTransformer(({ j, root, markAsChanged }) => {
58
33
  const sourcesToMigrate = ["@assistant-ui/react"];
59
34
  const movedEdgeSpecifiers = [];
60
35
  const movedAiSdkSpecifiers = [];
@@ -206,4 +181,7 @@ var migrateToEdgePackage = (0, import_createTransformer.createTransformer)(({ j,
206
181
  });
207
182
  });
208
183
  var edge_package_split_default = migrateToEdgePackage;
184
+ export {
185
+ edge_package_split_default as default
186
+ };
209
187
  //# sourceMappingURL=edge-package-split.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/codemods/v0-9/edge-package-split.ts"],"sourcesContent":["import { createTransformer } from \"../utils/createTransformer\";\n\nconst reactEdgeExports: string[] = [\n // Edge Runtime\n \"useEdgeRuntime\",\n \"EdgeRuntimeOptions\",\n \"EdgeModelAdapter\",\n \"EdgeChatAdapter\",\n \"EdgeRuntimeRequestOptions\",\n \"createEdgeRuntimeAPI\",\n \"getEdgeRuntimeResponse\",\n\n // Core Types\n \"CoreMessage\",\n \"CoreUserMessage\",\n \"CoreAssistantMessage\",\n \"CoreSystemMessage\",\n \"CoreUserContentPart\",\n \"CoreAssistantContentPart\",\n \"CoreToolCallContentPart\",\n\n // Core message converters\n \"fromCoreMessages\",\n \"fromCoreMessage\",\n \"toCoreMessages\",\n \"toCoreMessage\",\n];\n\n// Language model converters to be moved to react-ai-sdk\nconst reactAiSdkExports: string[] = [\n \"toLanguageModelMessages\",\n \"toLanguageModelTools\",\n \"fromLanguageModelMessages\",\n \"fromLanguageModelTools\",\n \"useDangerousInBrowserRuntime\",\n];\n\nconst migrateToEdgePackage = createTransformer(({ j, root, markAsChanged }) => {\n const sourcesToMigrate: string[] = [\"@assistant-ui/react\"];\n const movedEdgeSpecifiers: any[] = [];\n const movedAiSdkSpecifiers: 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 reactEdgeExports.includes(specifier.imported.name as string)\n ) {\n movedEdgeSpecifiers.push(specifier);\n hadMigratedSpecifiers = true;\n } else if (\n j.ImportSpecifier.check(specifier) &&\n reactAiSdkExports.includes(specifier.imported.name as string)\n ) {\n movedAiSdkSpecifiers.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 // Add imports for react-edge\n if (movedEdgeSpecifiers.length > 0) {\n const existingEdgeImport = root.find(j.ImportDeclaration, {\n source: { value: \"@assistant-ui/react-edge\" },\n });\n if (existingEdgeImport.size() > 0) {\n existingEdgeImport.forEach((path: any) => {\n movedEdgeSpecifiers.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 movedEdgeSpecifiers,\n j.literal(\"@assistant-ui/react-edge\"),\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 // Add imports for react-ai-sdk\n if (movedAiSdkSpecifiers.length > 0) {\n const existingAiSdkImport = root.find(j.ImportDeclaration, {\n source: { value: \"@assistant-ui/react-ai-sdk\" },\n });\n if (existingAiSdkImport.size() > 0) {\n existingAiSdkImport.forEach((path: any) => {\n movedAiSdkSpecifiers.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 movedAiSdkSpecifiers,\n j.literal(\"@assistant-ui/react-ai-sdk\"),\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 // Migrate imports from edge/converters\n root.find(j.ImportDeclaration).forEach((path: any) => {\n const sourceValue: string = path.value.source.value;\n if (\n sourceValue.startsWith(\"@assistant-ui/react/\") &&\n (sourceValue.includes(\"edge/\") ||\n sourceValue.includes(\"dangerous-in-browser/\"))\n ) {\n path.value.source = j.literal(\n sourceValue.replace(\n \"@assistant-ui/react/\",\n \"@assistant-ui/react-edge/\",\n ),\n );\n markAsChanged();\n }\n });\n\n // Migrate language model converter imports from react-edge to react-ai-sdk\n root.find(j.ImportDeclaration).forEach((path: any) => {\n const sourceValue: string = path.value.source.value;\n if (sourceValue === \"@assistant-ui/react-edge\") {\n let hasLanguageModelConverters = false;\n const remainingSpecifiers: any[] = [];\n const aiSdkSpecifiers: any[] = [];\n\n path.value.specifiers.forEach((specifier: any) => {\n if (\n j.ImportSpecifier.check(specifier) &&\n reactAiSdkExports.includes(specifier.imported.name as string)\n ) {\n aiSdkSpecifiers.push(specifier);\n hasLanguageModelConverters = true;\n } else {\n remainingSpecifiers.push(specifier);\n }\n });\n\n if (hasLanguageModelConverters) {\n if (remainingSpecifiers.length === 0) {\n j(path).remove();\n } else {\n path.value.specifiers = remainingSpecifiers;\n }\n\n const existingAiSdkImport = root.find(j.ImportDeclaration, {\n source: { value: \"@assistant-ui/react-ai-sdk\" },\n });\n\n if (existingAiSdkImport.size() > 0) {\n existingAiSdkImport.forEach((importPath: any) => {\n aiSdkSpecifiers.forEach((specifier: any) => {\n if (\n !importPath.value.specifiers.some(\n (s: any) => s.imported.name === specifier.imported.name,\n )\n ) {\n importPath.value.specifiers.push(specifier);\n }\n });\n });\n } else {\n const newImport = j.importDeclaration(\n aiSdkSpecifiers,\n j.literal(\"@assistant-ui/react-ai-sdk\"),\n );\n j(path).insertAfter(newImport);\n }\n\n markAsChanged();\n }\n }\n });\n});\n\nexport default migrateToEdgePackage;\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/codemods/v0-9/edge-package-split.ts"],"sourcesContent":["import { createTransformer } from \"../utils/createTransformer\";\n\nconst reactEdgeExports: string[] = [\n // Edge Runtime\n \"useEdgeRuntime\",\n \"EdgeRuntimeOptions\",\n \"EdgeModelAdapter\",\n \"EdgeChatAdapter\",\n \"EdgeRuntimeRequestOptions\",\n \"createEdgeRuntimeAPI\",\n \"getEdgeRuntimeResponse\",\n\n // Core Types\n \"CoreMessage\",\n \"CoreUserMessage\",\n \"CoreAssistantMessage\",\n \"CoreSystemMessage\",\n \"CoreUserContentPart\",\n \"CoreAssistantContentPart\",\n \"CoreToolCallContentPart\",\n\n // Core message converters\n \"fromCoreMessages\",\n \"fromCoreMessage\",\n \"toCoreMessages\",\n \"toCoreMessage\",\n];\n\n// Language model converters to be moved to react-ai-sdk\nconst reactAiSdkExports: string[] = [\n \"toLanguageModelMessages\",\n \"toLanguageModelTools\",\n \"fromLanguageModelMessages\",\n \"fromLanguageModelTools\",\n \"useDangerousInBrowserRuntime\",\n];\n\nconst migrateToEdgePackage = createTransformer(({ j, root, markAsChanged }) => {\n const sourcesToMigrate: string[] = [\"@assistant-ui/react\"];\n const movedEdgeSpecifiers: any[] = [];\n const movedAiSdkSpecifiers: 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 reactEdgeExports.includes(specifier.imported.name as string)\n ) {\n movedEdgeSpecifiers.push(specifier);\n hadMigratedSpecifiers = true;\n } else if (\n j.ImportSpecifier.check(specifier) &&\n reactAiSdkExports.includes(specifier.imported.name as string)\n ) {\n movedAiSdkSpecifiers.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 // Add imports for react-edge\n if (movedEdgeSpecifiers.length > 0) {\n const existingEdgeImport = root.find(j.ImportDeclaration, {\n source: { value: \"@assistant-ui/react-edge\" },\n });\n if (existingEdgeImport.size() > 0) {\n existingEdgeImport.forEach((path: any) => {\n movedEdgeSpecifiers.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 movedEdgeSpecifiers,\n j.literal(\"@assistant-ui/react-edge\"),\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 // Add imports for react-ai-sdk\n if (movedAiSdkSpecifiers.length > 0) {\n const existingAiSdkImport = root.find(j.ImportDeclaration, {\n source: { value: \"@assistant-ui/react-ai-sdk\" },\n });\n if (existingAiSdkImport.size() > 0) {\n existingAiSdkImport.forEach((path: any) => {\n movedAiSdkSpecifiers.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 movedAiSdkSpecifiers,\n j.literal(\"@assistant-ui/react-ai-sdk\"),\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 // Migrate imports from edge/converters\n root.find(j.ImportDeclaration).forEach((path: any) => {\n const sourceValue: string = path.value.source.value;\n if (\n sourceValue.startsWith(\"@assistant-ui/react/\") &&\n (sourceValue.includes(\"edge/\") ||\n sourceValue.includes(\"dangerous-in-browser/\"))\n ) {\n path.value.source = j.literal(\n sourceValue.replace(\n \"@assistant-ui/react/\",\n \"@assistant-ui/react-edge/\",\n ),\n );\n markAsChanged();\n }\n });\n\n // Migrate language model converter imports from react-edge to react-ai-sdk\n root.find(j.ImportDeclaration).forEach((path: any) => {\n const sourceValue: string = path.value.source.value;\n if (sourceValue === \"@assistant-ui/react-edge\") {\n let hasLanguageModelConverters = false;\n const remainingSpecifiers: any[] = [];\n const aiSdkSpecifiers: any[] = [];\n\n path.value.specifiers.forEach((specifier: any) => {\n if (\n j.ImportSpecifier.check(specifier) &&\n reactAiSdkExports.includes(specifier.imported.name as string)\n ) {\n aiSdkSpecifiers.push(specifier);\n hasLanguageModelConverters = true;\n } else {\n remainingSpecifiers.push(specifier);\n }\n });\n\n if (hasLanguageModelConverters) {\n if (remainingSpecifiers.length === 0) {\n j(path).remove();\n } else {\n path.value.specifiers = remainingSpecifiers;\n }\n\n const existingAiSdkImport = root.find(j.ImportDeclaration, {\n source: { value: \"@assistant-ui/react-ai-sdk\" },\n });\n\n if (existingAiSdkImport.size() > 0) {\n existingAiSdkImport.forEach((importPath: any) => {\n aiSdkSpecifiers.forEach((specifier: any) => {\n if (\n !importPath.value.specifiers.some(\n (s: any) => s.imported.name === specifier.imported.name,\n )\n ) {\n importPath.value.specifiers.push(specifier);\n }\n });\n });\n } else {\n const newImport = j.importDeclaration(\n aiSdkSpecifiers,\n j.literal(\"@assistant-ui/react-ai-sdk\"),\n );\n j(path).insertAfter(newImport);\n }\n\n markAsChanged();\n }\n }\n });\n});\n\nexport default migrateToEdgePackage;\n"],"mappings":"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","names":[]}
@@ -1,32 +1,7 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/commands/add.ts
21
- var add_exports = {};
22
- __export(add_exports, {
23
- add: () => add
24
- });
25
- module.exports = __toCommonJS(add_exports);
26
- var import_commander = require("commander");
27
- var import_cross_spawn = require("cross-spawn");
28
- var REGISTRY_BASE_URL = "https://r.assistant-ui.com";
29
- var add = new import_commander.Command().name("add").description("add a component to your project").argument("<components...>", "the components to add").option("-y, --yes", "skip confirmation prompt.", true).option("-o, --overwrite", "overwrite existing files.", false).option(
1
+ import { Command } from "commander";
2
+ import { spawn } from "cross-spawn";
3
+ const REGISTRY_BASE_URL = "https://r.assistant-ui.com";
4
+ const add = new Command().name("add").description("add a component to your project").argument("<components...>", "the components to add").option("-y, --yes", "skip confirmation prompt.", true).option("-o, --overwrite", "overwrite existing files.", false).option(
30
5
  "-c, --cwd <cwd>",
31
6
  "the working directory. defaults to the current directory.",
32
7
  process.cwd()
@@ -42,7 +17,7 @@ var add = new import_commander.Command().name("add").description("add a componen
42
17
  if (opts.overwrite) args.push("--overwrite");
43
18
  if (opts.cwd) args.push("--cwd", opts.cwd);
44
19
  if (opts.path) args.push("--path", opts.path);
45
- const child = (0, import_cross_spawn.spawn)("npx", args, {
20
+ const child = spawn("npx", args, {
46
21
  stdio: "inherit",
47
22
  shell: true
48
23
  });
@@ -55,8 +30,7 @@ var add = new import_commander.Command().name("add").description("add a componen
55
30
  }
56
31
  });
57
32
  });
58
- // Annotate the CommonJS export names for ESM import in node:
59
- 0 && (module.exports = {
33
+ export {
60
34
  add
61
- });
35
+ };
62
36
  //# sourceMappingURL=add.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/commands/add.ts"],"sourcesContent":["import { Command } from \"commander\";\nimport { spawn } from \"cross-spawn\";\n\nconst REGISTRY_BASE_URL = \"https://r.assistant-ui.com\";\n\nexport const add = new Command()\n .name(\"add\")\n .description(\"add a component to your project\")\n .argument(\"<components...>\", \"the components to add\")\n .option(\"-y, --yes\", \"skip confirmation prompt.\", true)\n .option(\"-o, --overwrite\", \"overwrite existing files.\", false)\n .option(\n \"-c, --cwd <cwd>\",\n \"the working directory. defaults to the current directory.\",\n process.cwd(),\n )\n .option(\"-p, --path <path>\", \"the path to add the component to.\")\n .action((components: string[], opts) => {\n const componentsToAdd = components.map((c) => {\n if (!/^[a-zA-Z0-9-\\/]+$/.test(c)) {\n throw new Error(`Invalid component name: ${c}`);\n }\n return `${REGISTRY_BASE_URL}/${encodeURIComponent(c)}`;\n });\n\n const args = [`shadcn@latest`, \"add\", ...componentsToAdd];\n\n if (opts.yes) args.push(\"--yes\");\n if (opts.overwrite) args.push(\"--overwrite\");\n if (opts.cwd) args.push(\"--cwd\", opts.cwd);\n if (opts.path) args.push(\"--path\", opts.path);\n\n const child = spawn(\"npx\", args, {\n stdio: \"inherit\",\n shell: true,\n });\n\n child.on(\"error\", (error) => {\n console.error(`Error: ${error.message}`);\n });\n\n child.on(\"close\", (code) => {\n if (code !== 0) {\n console.log(`other-package-script process exited with code ${code}`);\n }\n });\n });\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAwB;AACxB,yBAAsB;AAEtB,IAAM,oBAAoB;AAEnB,IAAM,MAAM,IAAI,yBAAQ,EAC5B,KAAK,KAAK,EACV,YAAY,iCAAiC,EAC7C,SAAS,mBAAmB,uBAAuB,EACnD,OAAO,aAAa,6BAA6B,IAAI,EACrD,OAAO,mBAAmB,6BAA6B,KAAK,EAC5D;AAAA,EACC;AAAA,EACA;AAAA,EACA,QAAQ,IAAI;AACd,EACC,OAAO,qBAAqB,mCAAmC,EAC/D,OAAO,CAAC,YAAsB,SAAS;AACtC,QAAM,kBAAkB,WAAW,IAAI,CAAC,MAAM;AAC5C,QAAI,CAAC,oBAAoB,KAAK,CAAC,GAAG;AAChC,YAAM,IAAI,MAAM,2BAA2B,CAAC,EAAE;AAAA,IAChD;AACA,WAAO,GAAG,iBAAiB,IAAI,mBAAmB,CAAC,CAAC;AAAA,EACtD,CAAC;AAED,QAAM,OAAO,CAAC,iBAAiB,OAAO,GAAG,eAAe;AAExD,MAAI,KAAK,IAAK,MAAK,KAAK,OAAO;AAC/B,MAAI,KAAK,UAAW,MAAK,KAAK,aAAa;AAC3C,MAAI,KAAK,IAAK,MAAK,KAAK,SAAS,KAAK,GAAG;AACzC,MAAI,KAAK,KAAM,MAAK,KAAK,UAAU,KAAK,IAAI;AAE5C,QAAM,YAAQ,0BAAM,OAAO,MAAM;AAAA,IAC/B,OAAO;AAAA,IACP,OAAO;AAAA,EACT,CAAC;AAED,QAAM,GAAG,SAAS,CAAC,UAAU;AAC3B,YAAQ,MAAM,UAAU,MAAM,OAAO,EAAE;AAAA,EACzC,CAAC;AAED,QAAM,GAAG,SAAS,CAAC,SAAS;AAC1B,QAAI,SAAS,GAAG;AACd,cAAQ,IAAI,iDAAiD,IAAI,EAAE;AAAA,IACrE;AAAA,EACF,CAAC;AACH,CAAC;","names":[]}
1
+ {"version":3,"sources":["../../src/commands/add.ts"],"sourcesContent":["import { Command } from \"commander\";\nimport { spawn } from \"cross-spawn\";\n\nconst REGISTRY_BASE_URL = \"https://r.assistant-ui.com\";\n\nexport const add = new Command()\n .name(\"add\")\n .description(\"add a component to your project\")\n .argument(\"<components...>\", \"the components to add\")\n .option(\"-y, --yes\", \"skip confirmation prompt.\", true)\n .option(\"-o, --overwrite\", \"overwrite existing files.\", false)\n .option(\n \"-c, --cwd <cwd>\",\n \"the working directory. defaults to the current directory.\",\n process.cwd(),\n )\n .option(\"-p, --path <path>\", \"the path to add the component to.\")\n .action((components: string[], opts) => {\n const componentsToAdd = components.map((c) => {\n if (!/^[a-zA-Z0-9-\\/]+$/.test(c)) {\n throw new Error(`Invalid component name: ${c}`);\n }\n return `${REGISTRY_BASE_URL}/${encodeURIComponent(c)}`;\n });\n\n const args = [`shadcn@latest`, \"add\", ...componentsToAdd];\n\n if (opts.yes) args.push(\"--yes\");\n if (opts.overwrite) args.push(\"--overwrite\");\n if (opts.cwd) args.push(\"--cwd\", opts.cwd);\n if (opts.path) args.push(\"--path\", opts.path);\n\n const child = spawn(\"npx\", args, {\n stdio: \"inherit\",\n shell: true,\n });\n\n child.on(\"error\", (error) => {\n console.error(`Error: ${error.message}`);\n });\n\n child.on(\"close\", (code) => {\n if (code !== 0) {\n console.log(`other-package-script process exited with code ${code}`);\n }\n });\n });\n"],"mappings":"AAAA,SAAS,eAAe;AACxB,SAAS,aAAa;AAEtB,MAAM,oBAAoB;AAEnB,MAAM,MAAM,IAAI,QAAQ,EAC5B,KAAK,KAAK,EACV,YAAY,iCAAiC,EAC7C,SAAS,mBAAmB,uBAAuB,EACnD,OAAO,aAAa,6BAA6B,IAAI,EACrD,OAAO,mBAAmB,6BAA6B,KAAK,EAC5D;AAAA,EACC;AAAA,EACA;AAAA,EACA,QAAQ,IAAI;AACd,EACC,OAAO,qBAAqB,mCAAmC,EAC/D,OAAO,CAAC,YAAsB,SAAS;AACtC,QAAM,kBAAkB,WAAW,IAAI,CAAC,MAAM;AAC5C,QAAI,CAAC,oBAAoB,KAAK,CAAC,GAAG;AAChC,YAAM,IAAI,MAAM,2BAA2B,CAAC,EAAE;AAAA,IAChD;AACA,WAAO,GAAG,iBAAiB,IAAI,mBAAmB,CAAC,CAAC;AAAA,EACtD,CAAC;AAED,QAAM,OAAO,CAAC,iBAAiB,OAAO,GAAG,eAAe;AAExD,MAAI,KAAK,IAAK,MAAK,KAAK,OAAO;AAC/B,MAAI,KAAK,UAAW,MAAK,KAAK,aAAa;AAC3C,MAAI,KAAK,IAAK,MAAK,KAAK,SAAS,KAAK,GAAG;AACzC,MAAI,KAAK,KAAM,MAAK,KAAK,UAAU,KAAK,IAAI;AAE5C,QAAM,QAAQ,MAAM,OAAO,MAAM;AAAA,IAC/B,OAAO;AAAA,IACP,OAAO;AAAA,EACT,CAAC;AAED,QAAM,GAAG,SAAS,CAAC,UAAU;AAC3B,YAAQ,MAAM,UAAU,MAAM,OAAO,EAAE;AAAA,EACzC,CAAC;AAED,QAAM,GAAG,SAAS,CAAC,SAAS;AAC1B,QAAI,SAAS,GAAG;AACd,cAAQ,IAAI,iDAAiD,IAAI,EAAE;AAAA,IACrE;AAAA,EACF,CAAC;AACH,CAAC;","names":[]}
@@ -1,42 +1,7 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
-
30
- // src/commands/create.ts
31
- var create_exports = {};
32
- __export(create_exports, {
33
- create: () => create
34
- });
35
- module.exports = __toCommonJS(create_exports);
36
- var import_commander = require("commander");
37
- var import_chalk = __toESM(require("chalk"));
38
- var import_cross_spawn = require("cross-spawn");
39
- var create = new import_commander.Command().name("create").description("create a new project").argument("[project-directory]").usage(`${import_chalk.default.green("[project-directory]")} [options]`).option(
1
+ import { Command } from "commander";
2
+ import chalk from "chalk";
3
+ import { spawn } from "cross-spawn";
4
+ const create = new Command().name("create").description("create a new project").argument("[project-directory]").usage(`${chalk.green("[project-directory]")} [options]`).option(
40
5
  "-t, --template <template>",
41
6
  `
42
7
 
@@ -85,7 +50,7 @@ var create = new import_commander.Command().name("create").description("create a
85
50
  const filteredArgs = process.argv.slice(3).filter((arg, index, arr) => {
86
51
  return !(arg === "-t" || arg === "--template" || arr[index - 1] === "-t" || arr[index - 1] === "--template");
87
52
  });
88
- const child = (0, import_cross_spawn.spawn)(
53
+ const child = spawn(
89
54
  "npx",
90
55
  [`create-next-app@latest`, ...filteredArgs, "-e", templateUrl],
91
56
  {
@@ -101,8 +66,7 @@ var create = new import_commander.Command().name("create").description("create a
101
66
  }
102
67
  });
103
68
  });
104
- // Annotate the CommonJS export names for ESM import in node:
105
- 0 && (module.exports = {
69
+ export {
106
70
  create
107
- });
71
+ };
108
72
  //# sourceMappingURL=create.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/commands/create.ts"],"sourcesContent":["import { Command } from \"commander\";\nimport chalk from \"chalk\";\nimport { spawn } from \"cross-spawn\";\n\nexport const create = new Command()\n .name(\"create\")\n .description(\"create a new project\")\n .argument(\"[project-directory]\")\n .usage(`${chalk.green(\"[project-directory]\")} [options]`)\n .option(\n \"-t, --template <template>\",\n `\n\n The template to use for the project, e.g. default, langgraph\n`,\n )\n .option(\n \"--use-npm\",\n `\n\n Explicitly tell the CLI to bootstrap the application using npm\n`,\n )\n .option(\n \"--use-pnpm\",\n `\n\n Explicitly tell the CLI to bootstrap the application using pnpm\n`,\n )\n .option(\n \"--use-yarn\",\n `\n\n Explicitly tell the CLI to bootstrap the application using Yarn\n`,\n )\n .option(\n \"--use-bun\",\n `\n\n Explicitly tell the CLI to bootstrap the application using Bun\n`,\n )\n .option(\n \"--skip-install\",\n `\n\n Explicitly tell the CLI to skip installing packages\n`,\n )\n .action((_, opts) => {\n const templates = {\n default: \"https://github.com/assistant-ui/assistant-ui-starter\",\n langgraph:\n \"https://github.com/assistant-ui/assistant-ui-starter-langgraph\",\n };\n\n const templateUrl =\n templates[(opts.template as keyof typeof templates) ?? \"default\"];\n if (!templateUrl) {\n console.error(`Unknown template: ${opts.template}`);\n process.exit(1);\n }\n\n const filteredArgs = process.argv.slice(3).filter((arg, index, arr) => {\n return !(\n arg === \"-t\" ||\n arg === \"--template\" ||\n arr[index - 1] === \"-t\" ||\n arr[index - 1] === \"--template\"\n );\n });\n\n const child = spawn(\n \"npx\",\n [`create-next-app@latest`, ...filteredArgs, \"-e\", templateUrl],\n {\n stdio: \"inherit\",\n },\n );\n\n child.on(\"error\", (error) => {\n console.error(`Error: ${error.message}`);\n });\n\n child.on(\"close\", (code) => {\n if (code !== 0) {\n console.log(`other-package-script process exited with code ${code}`);\n }\n });\n });\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAwB;AACxB,mBAAkB;AAClB,yBAAsB;AAEf,IAAM,SAAS,IAAI,yBAAQ,EAC/B,KAAK,QAAQ,EACb,YAAY,sBAAsB,EAClC,SAAS,qBAAqB,EAC9B,MAAM,GAAG,aAAAA,QAAM,MAAM,qBAAqB,CAAC,YAAY,EACvD;AAAA,EACC;AAAA,EACA;AAAA;AAAA;AAAA;AAIF,EACC;AAAA,EACC;AAAA,EACA;AAAA;AAAA;AAAA;AAIF,EACC;AAAA,EACC;AAAA,EACA;AAAA;AAAA;AAAA;AAIF,EACC;AAAA,EACC;AAAA,EACA;AAAA;AAAA;AAAA;AAIF,EACC;AAAA,EACC;AAAA,EACA;AAAA;AAAA;AAAA;AAIF,EACC;AAAA,EACC;AAAA,EACA;AAAA;AAAA;AAAA;AAIF,EACC,OAAO,CAAC,GAAG,SAAS;AACnB,QAAM,YAAY;AAAA,IAChB,SAAS;AAAA,IACT,WACE;AAAA,EACJ;AAEA,QAAM,cACJ,UAAW,KAAK,YAAuC,SAAS;AAClE,MAAI,CAAC,aAAa;AAChB,YAAQ,MAAM,qBAAqB,KAAK,QAAQ,EAAE;AAClD,YAAQ,KAAK,CAAC;AAAA,EAChB;AAEA,QAAM,eAAe,QAAQ,KAAK,MAAM,CAAC,EAAE,OAAO,CAAC,KAAK,OAAO,QAAQ;AACrE,WAAO,EACL,QAAQ,QACR,QAAQ,gBACR,IAAI,QAAQ,CAAC,MAAM,QACnB,IAAI,QAAQ,CAAC,MAAM;AAAA,EAEvB,CAAC;AAED,QAAM,YAAQ;AAAA,IACZ;AAAA,IACA,CAAC,0BAA0B,GAAG,cAAc,MAAM,WAAW;AAAA,IAC7D;AAAA,MACE,OAAO;AAAA,IACT;AAAA,EACF;AAEA,QAAM,GAAG,SAAS,CAAC,UAAU;AAC3B,YAAQ,MAAM,UAAU,MAAM,OAAO,EAAE;AAAA,EACzC,CAAC;AAED,QAAM,GAAG,SAAS,CAAC,SAAS;AAC1B,QAAI,SAAS,GAAG;AACd,cAAQ,IAAI,iDAAiD,IAAI,EAAE;AAAA,IACrE;AAAA,EACF,CAAC;AACH,CAAC;","names":["chalk"]}
1
+ {"version":3,"sources":["../../src/commands/create.ts"],"sourcesContent":["import { Command } from \"commander\";\nimport chalk from \"chalk\";\nimport { spawn } from \"cross-spawn\";\n\nexport const create = new Command()\n .name(\"create\")\n .description(\"create a new project\")\n .argument(\"[project-directory]\")\n .usage(`${chalk.green(\"[project-directory]\")} [options]`)\n .option(\n \"-t, --template <template>\",\n `\n\n The template to use for the project, e.g. default, langgraph\n`,\n )\n .option(\n \"--use-npm\",\n `\n\n Explicitly tell the CLI to bootstrap the application using npm\n`,\n )\n .option(\n \"--use-pnpm\",\n `\n\n Explicitly tell the CLI to bootstrap the application using pnpm\n`,\n )\n .option(\n \"--use-yarn\",\n `\n\n Explicitly tell the CLI to bootstrap the application using Yarn\n`,\n )\n .option(\n \"--use-bun\",\n `\n\n Explicitly tell the CLI to bootstrap the application using Bun\n`,\n )\n .option(\n \"--skip-install\",\n `\n\n Explicitly tell the CLI to skip installing packages\n`,\n )\n .action((_, opts) => {\n const templates = {\n default: \"https://github.com/assistant-ui/assistant-ui-starter\",\n langgraph:\n \"https://github.com/assistant-ui/assistant-ui-starter-langgraph\",\n };\n\n const templateUrl =\n templates[(opts.template as keyof typeof templates) ?? \"default\"];\n if (!templateUrl) {\n console.error(`Unknown template: ${opts.template}`);\n process.exit(1);\n }\n\n const filteredArgs = process.argv.slice(3).filter((arg, index, arr) => {\n return !(\n arg === \"-t\" ||\n arg === \"--template\" ||\n arr[index - 1] === \"-t\" ||\n arr[index - 1] === \"--template\"\n );\n });\n\n const child = spawn(\n \"npx\",\n [`create-next-app@latest`, ...filteredArgs, \"-e\", templateUrl],\n {\n stdio: \"inherit\",\n },\n );\n\n child.on(\"error\", (error) => {\n console.error(`Error: ${error.message}`);\n });\n\n child.on(\"close\", (code) => {\n if (code !== 0) {\n console.log(`other-package-script process exited with code ${code}`);\n }\n });\n });\n"],"mappings":"AAAA,SAAS,eAAe;AACxB,OAAO,WAAW;AAClB,SAAS,aAAa;AAEf,MAAM,SAAS,IAAI,QAAQ,EAC/B,KAAK,QAAQ,EACb,YAAY,sBAAsB,EAClC,SAAS,qBAAqB,EAC9B,MAAM,GAAG,MAAM,MAAM,qBAAqB,CAAC,YAAY,EACvD;AAAA,EACC;AAAA,EACA;AAAA;AAAA;AAAA;AAIF,EACC;AAAA,EACC;AAAA,EACA;AAAA;AAAA;AAAA;AAIF,EACC;AAAA,EACC;AAAA,EACA;AAAA;AAAA;AAAA;AAIF,EACC;AAAA,EACC;AAAA,EACA;AAAA;AAAA;AAAA;AAIF,EACC;AAAA,EACC;AAAA,EACA;AAAA;AAAA;AAAA;AAIF,EACC;AAAA,EACC;AAAA,EACA;AAAA;AAAA;AAAA;AAIF,EACC,OAAO,CAAC,GAAG,SAAS;AACnB,QAAM,YAAY;AAAA,IAChB,SAAS;AAAA,IACT,WACE;AAAA,EACJ;AAEA,QAAM,cACJ,UAAW,KAAK,YAAuC,SAAS;AAClE,MAAI,CAAC,aAAa;AAChB,YAAQ,MAAM,qBAAqB,KAAK,QAAQ,EAAE;AAClD,YAAQ,KAAK,CAAC;AAAA,EAChB;AAEA,QAAM,eAAe,QAAQ,KAAK,MAAM,CAAC,EAAE,OAAO,CAAC,KAAK,OAAO,QAAQ;AACrE,WAAO,EACL,QAAQ,QACR,QAAQ,gBACR,IAAI,QAAQ,CAAC,MAAM,QACnB,IAAI,QAAQ,CAAC,MAAM;AAAA,EAEvB,CAAC;AAED,QAAM,QAAQ;AAAA,IACZ;AAAA,IACA,CAAC,0BAA0B,GAAG,cAAc,MAAM,WAAW;AAAA,IAC7D;AAAA,MACE,OAAO;AAAA,IACT;AAAA,EACF;AAEA,QAAM,GAAG,SAAS,CAAC,UAAU;AAC3B,YAAQ,MAAM,UAAU,MAAM,OAAO,EAAE;AAAA,EACzC,CAAC;AAED,QAAM,GAAG,SAAS,CAAC,SAAS;AAC1B,QAAI,SAAS,GAAG;AACd,cAAQ,IAAI,iDAAiD,IAAI,EAAE;AAAA,IACrE;AAAA,EACF,CAAC;AACH,CAAC;","names":[]}
@@ -1,52 +1,17 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
-
30
- // src/commands/init.ts
31
- var init_exports = {};
32
- __export(init_exports, {
33
- init: () => init
34
- });
35
- module.exports = __toCommonJS(init_exports);
36
- var import_commander = require("commander");
37
- var import_cross_spawn = require("cross-spawn");
38
- var import_fs = __toESM(require("fs"));
39
- var import_path = __toESM(require("path"));
40
- var import_chalk = __toESM(require("chalk"));
41
- var import_create = require("./create.js");
42
- var init = new import_commander.Command().name("init").description("initialize assistant-ui in a new or existing project").action(async () => {
43
- const packageJsonPath = import_path.default.join(process.cwd(), "package.json");
44
- const packageJsonExists = import_fs.default.existsSync(packageJsonPath);
1
+ import { Command } from "commander";
2
+ import { spawn } from "cross-spawn";
3
+ import fs from "fs";
4
+ import path from "path";
5
+ import chalk from "chalk";
6
+ import { create } from "./create";
7
+ const init = new Command().name("init").description("initialize assistant-ui in a new or existing project").action(async () => {
8
+ const packageJsonPath = path.join(process.cwd(), "package.json");
9
+ const packageJsonExists = fs.existsSync(packageJsonPath);
45
10
  if (packageJsonExists) {
46
11
  console.log(
47
- import_chalk.default.blue("Initializing assistant-ui in existing project...")
12
+ chalk.blue("Initializing assistant-ui in existing project...")
48
13
  );
49
- const child = (0, import_cross_spawn.spawn)(
14
+ const child = spawn(
50
15
  "npx",
51
16
  [
52
17
  `shadcn@latest`,
@@ -66,12 +31,11 @@ var init = new import_commander.Command().name("init").description("initialize a
66
31
  }
67
32
  });
68
33
  } else {
69
- console.log(import_chalk.default.blue("Creating a new assistant-ui project..."));
70
- await import_create.create.parseAsync([]);
34
+ console.log(chalk.blue("Creating a new assistant-ui project..."));
35
+ await create.parseAsync([]);
71
36
  }
72
37
  });
73
- // Annotate the CommonJS export names for ESM import in node:
74
- 0 && (module.exports = {
38
+ export {
75
39
  init
76
- });
40
+ };
77
41
  //# sourceMappingURL=init.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/commands/init.ts"],"sourcesContent":["import { Command } from \"commander\";\nimport { spawn } from \"cross-spawn\";\nimport fs from \"fs\";\nimport path from \"path\";\nimport chalk from \"chalk\";\nimport { create } from \"./create\";\n\nexport const init = new Command()\n .name(\"init\")\n .description(\"initialize assistant-ui in a new or existing project\")\n .action(async () => {\n // Check if package.json exists in the current directory\n const packageJsonPath = path.join(process.cwd(), \"package.json\");\n const packageJsonExists = fs.existsSync(packageJsonPath);\n\n if (packageJsonExists) {\n // If package.json exists, run shadcn add command\n console.log(\n chalk.blue(\"Initializing assistant-ui in existing project...\"),\n );\n\n const child = spawn(\n \"npx\",\n [\n `shadcn@latest`,\n \"add\",\n \"https://r.assistant-ui.com/chat/b/ai-sdk-quick-start/json\",\n ],\n {\n stdio: \"inherit\",\n },\n );\n\n child.on(\"error\", (error) => {\n console.error(`Error: ${error.message}`);\n });\n\n child.on(\"close\", (code) => {\n if (code !== 0) {\n console.log(`shadcn process exited with code ${code}`);\n }\n });\n } else {\n // If package.json doesn't exist, use the create command\n console.log(chalk.blue(\"Creating a new assistant-ui project...\"));\n\n // Execute the create command with default template\n await create.parseAsync([]);\n }\n });\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAwB;AACxB,yBAAsB;AACtB,gBAAe;AACf,kBAAiB;AACjB,mBAAkB;AAClB,oBAAuB;AAEhB,IAAM,OAAO,IAAI,yBAAQ,EAC7B,KAAK,MAAM,EACX,YAAY,sDAAsD,EAClE,OAAO,YAAY;AAElB,QAAM,kBAAkB,YAAAA,QAAK,KAAK,QAAQ,IAAI,GAAG,cAAc;AAC/D,QAAM,oBAAoB,UAAAC,QAAG,WAAW,eAAe;AAEvD,MAAI,mBAAmB;AAErB,YAAQ;AAAA,MACN,aAAAC,QAAM,KAAK,kDAAkD;AAAA,IAC/D;AAEA,UAAM,YAAQ;AAAA,MACZ;AAAA,MACA;AAAA,QACE;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA;AAAA,QACE,OAAO;AAAA,MACT;AAAA,IACF;AAEA,UAAM,GAAG,SAAS,CAAC,UAAU;AAC3B,cAAQ,MAAM,UAAU,MAAM,OAAO,EAAE;AAAA,IACzC,CAAC;AAED,UAAM,GAAG,SAAS,CAAC,SAAS;AAC1B,UAAI,SAAS,GAAG;AACd,gBAAQ,IAAI,mCAAmC,IAAI,EAAE;AAAA,MACvD;AAAA,IACF,CAAC;AAAA,EACH,OAAO;AAEL,YAAQ,IAAI,aAAAA,QAAM,KAAK,wCAAwC,CAAC;AAGhE,UAAM,qBAAO,WAAW,CAAC,CAAC;AAAA,EAC5B;AACF,CAAC;","names":["path","fs","chalk"]}
1
+ {"version":3,"sources":["../../src/commands/init.ts"],"sourcesContent":["import { Command } from \"commander\";\nimport { spawn } from \"cross-spawn\";\nimport fs from \"fs\";\nimport path from \"path\";\nimport chalk from \"chalk\";\nimport { create } from \"./create\";\n\nexport const init = new Command()\n .name(\"init\")\n .description(\"initialize assistant-ui in a new or existing project\")\n .action(async () => {\n // Check if package.json exists in the current directory\n const packageJsonPath = path.join(process.cwd(), \"package.json\");\n const packageJsonExists = fs.existsSync(packageJsonPath);\n\n if (packageJsonExists) {\n // If package.json exists, run shadcn add command\n console.log(\n chalk.blue(\"Initializing assistant-ui in existing project...\"),\n );\n\n const child = spawn(\n \"npx\",\n [\n `shadcn@latest`,\n \"add\",\n \"https://r.assistant-ui.com/chat/b/ai-sdk-quick-start/json\",\n ],\n {\n stdio: \"inherit\",\n },\n );\n\n child.on(\"error\", (error) => {\n console.error(`Error: ${error.message}`);\n });\n\n child.on(\"close\", (code) => {\n if (code !== 0) {\n console.log(`shadcn process exited with code ${code}`);\n }\n });\n } else {\n // If package.json doesn't exist, use the create command\n console.log(chalk.blue(\"Creating a new assistant-ui project...\"));\n\n // Execute the create command with default template\n await create.parseAsync([]);\n }\n });\n"],"mappings":"AAAA,SAAS,eAAe;AACxB,SAAS,aAAa;AACtB,OAAO,QAAQ;AACf,OAAO,UAAU;AACjB,OAAO,WAAW;AAClB,SAAS,cAAc;AAEhB,MAAM,OAAO,IAAI,QAAQ,EAC7B,KAAK,MAAM,EACX,YAAY,sDAAsD,EAClE,OAAO,YAAY;AAElB,QAAM,kBAAkB,KAAK,KAAK,QAAQ,IAAI,GAAG,cAAc;AAC/D,QAAM,oBAAoB,GAAG,WAAW,eAAe;AAEvD,MAAI,mBAAmB;AAErB,YAAQ;AAAA,MACN,MAAM,KAAK,kDAAkD;AAAA,IAC/D;AAEA,UAAM,QAAQ;AAAA,MACZ;AAAA,MACA;AAAA,QACE;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA;AAAA,QACE,OAAO;AAAA,MACT;AAAA,IACF;AAEA,UAAM,GAAG,SAAS,CAAC,UAAU;AAC3B,cAAQ,MAAM,UAAU,MAAM,OAAO,EAAE;AAAA,IACzC,CAAC;AAED,UAAM,GAAG,SAAS,CAAC,SAAS;AAC1B,UAAI,SAAS,GAAG;AACd,gBAAQ,IAAI,mCAAmC,IAAI,EAAE;AAAA,MACvD;AAAA,IACF,CAAC;AAAA,EACH,OAAO;AAEL,YAAQ,IAAI,MAAM,KAAK,wCAAwC,CAAC;AAGhE,UAAM,OAAO,WAAW,CAAC,CAAC;AAAA,EAC5B;AACF,CAAC;","names":[]}