assistant-ui 0.0.83 → 0.0.85

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.
@@ -34,9 +34,12 @@ export async function downloadProject(repoPath, destDir, ref) {
34
34
  const source = ref
35
35
  ? `gh:assistant-ui/assistant-ui/${repoPath}#${ref}`
36
36
  : `gh:assistant-ui/assistant-ui/${repoPath}`;
37
- // Suppress giget's console.debug output
38
- const origDebug = console.debug;
39
- console.debug = () => { };
37
+ // Suppress giget's debug output. The `debug` package (used by the upgrade
38
+ // command) sets process.env.DEBUG at module-load time, and giget logs to
39
+ // console.debug whenever that env var is truthy — even for unrelated
40
+ // namespaces. Temporarily unsetting it targets the root cause.
41
+ const origDebug = process.env.DEBUG;
42
+ delete process.env.DEBUG;
40
43
  try {
41
44
  const downloadPromise = downloadTemplate(source, {
42
45
  dir: destDir,
@@ -55,7 +58,9 @@ export async function downloadProject(repoPath, destDir, ref) {
55
58
  }
56
59
  }
57
60
  finally {
58
- console.debug = origDebug;
61
+ if (origDebug !== undefined) {
62
+ process.env.DEBUG = origDebug;
63
+ }
59
64
  }
60
65
  }
61
66
  export async function resolvePackageManagerName(projectDir, packageManager) {
@@ -76,19 +81,19 @@ export async function transformProject(projectDir, opts) {
76
81
  let shadcnUI;
77
82
  if (!opts.hasLocalComponents) {
78
83
  logger.step("Transforming project files...");
79
- // 2–5. Transform tsconfig, CSS, scan components, and remove workspace
80
- // components — all independent, run in parallel
84
+ // 2–4. Transform tsconfig, CSS, and scan components in parallel
81
85
  const [, , components] = await Promise.all([
82
86
  transformTsConfig(projectDir),
83
87
  transformCssFiles(projectDir),
84
88
  scanRequiredComponents(projectDir),
85
- removeWorkspaceComponents(projectDir),
86
89
  ]);
87
90
  assistantUI = components.assistantUI;
88
91
  shadcnUI = components.shadcnUI;
92
+ // 5. Remove workspace components (after scan completes — scan reads these files)
93
+ await removeWorkspaceComponents(projectDir);
89
94
  }
90
95
  // 6. Install dependencies
91
- const pm = opts.packageManager ?? (await resolvePackageManagerName(projectDir));
96
+ const pm = opts.packageManager;
92
97
  if (!opts.skipInstall) {
93
98
  logger.step("Installing dependencies...");
94
99
  await installDependencies(projectDir, pm);
@@ -111,7 +116,7 @@ export async function transformProject(projectDir, opts) {
111
116
  async function transformPackageJson(projectDir) {
112
117
  const pkgPath = path.join(projectDir, "package.json");
113
118
  const pkg = JSON.parse(fs.readFileSync(pkgPath, "utf-8"));
114
- // Remove @assistant-ui/ui (workspace-only package)
119
+ // Remove @assistant-ui/react-ui (workspace-only package)
115
120
  if (pkg.dependencies?.["@assistant-ui/ui"]) {
116
121
  delete pkg.dependencies["@assistant-ui/ui"];
117
122
  }
@@ -189,9 +194,11 @@ async function transformCssFiles(projectDir) {
189
194
  for (const file of cssFiles) {
190
195
  const fullPath = path.join(projectDir, file);
191
196
  try {
192
- let content = fs.readFileSync(fullPath, "utf-8");
193
- content = content.replace(/@source\s+["'][^"']*packages\/ui\/src[^"']*["'];\s*\n?/g, "");
194
- fs.writeFileSync(fullPath, content);
197
+ const content = fs.readFileSync(fullPath, "utf-8");
198
+ const newContent = content.replace(/@source\s+["'][^"']*packages\/ui\/src[^"']*["'];\s*\n?/g, "");
199
+ if (newContent !== content) {
200
+ fs.writeFileSync(fullPath, newContent);
201
+ }
195
202
  }
196
203
  catch {
197
204
  // Ignore files that cannot be read/written
@@ -1 +1 @@
1
- {"version":3,"file":"create-project.js","sourceRoot":"","sources":["../../src/lib/create-project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-project.js","sourceRoot":"","sources":["../../src/lib/create-project.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,0BAAuB;AAIxC,MAAM,UAAU,UAAU,CAAC,EAAsB;IAC/C,QAAQ,EAAE,EAAE,CAAC;QACX,KAAK,MAAM;YACT,OAAO,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3B,KAAK,MAAM;YACT,OAAO,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3B,KAAK,KAAK;YACR,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACtB,KAAK,KAAK;YACR,OAAO,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC;AAQD,MAAM,CAAC,KAAK,UAAU,uBAAuB;IAC3C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CACrB,wEAAwE,CACzE,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,SAAS,CAAC;QAC9B,MAAM,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAyB,CAAC;QAC3D,OAAO,OAAO,CAAC,QAAQ,IAAI,SAAS,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAEnC,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,QAAgB,EAChB,OAAe,EACf,GAAY;IAEZ,MAAM,MAAM,GAAG,GAAG;QAChB,CAAC,CAAC,gCAAgC,QAAQ,IAAI,GAAG,EAAE;QACnD,CAAC,CAAC,gCAAgC,QAAQ,EAAE,CAAC;IAE/C,0EAA0E;IAC1E,yEAAyE;IACzE,qEAAqE;IACrE,+DAA+D;IAC/D,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;IACpC,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;IACzB,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,gBAAgB,CAAC,MAAM,EAAE;YAC/C,GAAG,EAAE,OAAO;YACZ,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,IAAI;SACb,CAAC,CAAC;QAEH,IAAI,KAAoC,CAAC;QACzC,MAAM,cAAc,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;YACtD,KAAK,GAAG,UAAU,CAChB,GAAG,EAAE,CACH,MAAM,CACJ,IAAI,KAAK,CACP,6GAA6G,CAC9G,CACF,EACH,mBAAmB,CACpB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC,CAAC;QACxD,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAM,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;YAAS,CAAC;QACT,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,SAAS,CAAC;QAChC,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,UAAkB,EAClB,cAAmC;IAEnC,IAAI,cAAc;QAAE,OAAO,cAAc,CAAC;IAC1C,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,UAAkB,EAClB,IAAsB;IAEtB,qCAAqC;IACrC,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IAC5C,MAAM,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAEvC,IAAI,WAAiC,CAAC;IACtC,IAAI,QAA8B,CAAC;IAEnC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAE7C,gEAAgE;QAChE,MAAM,CAAC,EAAE,AAAD,EAAG,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACzC,iBAAiB,CAAC,UAAU,CAAC;YAC7B,iBAAiB,CAAC,UAAU,CAAC;YAC7B,sBAAsB,CAAC,UAAU,CAAC;SACnC,CAAC,CAAC;QACH,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;QACrC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;QAE/B,iFAAiF;QACjF,MAAM,yBAAyB,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC;IAED,0BAA0B;IAC1B,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;IAC/B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAC1C,MAAM,mBAAmB,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,kBAAkB,IAAI,QAAQ,IAAI,WAAW,EAAE,CAAC;QACxD,kCAAkC;QAClC,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC1C,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,oCAAoC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3E,MAAM,qBAAqB,CAAC,UAAU,EAAE,SAAS,EAAE,mBAAmB,EAAE,EAAE,CAAC,CAAC;QAE5E,qCAAqC;QACrC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;YACnE,MAAM,CAAC,IAAI,CACT,uCAAuC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CACnE,CAAC;YACF,MAAM,qBAAqB,CAAC,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,UAAkB;IACpD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IACtD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAE1D,yDAAyD;IACzD,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC3C,OAAO,GAAG,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC;IAC9C,CAAC;IAED,6CAA6C;IAC7C,KAAK,MAAM,OAAO,IAAI,CAAC,cAAc,EAAE,iBAAiB,CAAU,EAAE,CAAC;QACnE,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI;YAAE,SAAS;QAEpB,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACnD,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC3C,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IAED,iDAAiD;IACjD,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC,4BAA4B,CAAC,EAAE,CAAC;QACxD,OAAO,GAAG,CAAC,eAAe,CAAC,4BAA4B,CAAC,CAAC;IAC3D,CAAC;IAED,mCAAmC;IACnC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC1C,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC;IAEnB,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AACjE,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,UAAkB;IACjD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IAE5D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAErC,yBAAyB;IACzB,IAAI,QAAQ,CAAC,eAAe,EAAE,KAAK,EAAE,CAAC;QACpC,OAAO,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACrE,OAAO,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC3D,OAAO,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACrD,OAAO,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAE5D,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7D,OAAO,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC;QACxC,CAAC;IACH,CAAC;IAED,yEAAyE;IACzE,IAAI,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,4BAA4B,CAAC,EAAE,CAAC;QAC7D,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACpD,OAAO,QAAQ,CAAC,OAAO,CAAC;QAExB,MAAM,sBAAsB,GAAG;YAC7B,MAAM,EAAE,QAAQ;YAChB,GAAG,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,CAAC;YACtC,YAAY,EAAE,IAAI;YAClB,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,IAAI;YACZ,eAAe,EAAE,IAAI;YACrB,MAAM,EAAE,QAAQ;YAChB,gBAAgB,EAAE,SAAS;YAC3B,iBAAiB,EAAE,IAAI;YACvB,eAAe,EAAE,IAAI;YACrB,GAAG,EAAE,WAAW;YAChB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnD,CAAC;QAEF,QAAQ,CAAC,eAAe,GAAG;YACzB,GAAG,sBAAsB;YACzB,GAAG,QAAQ,CAAC,eAAe;YAC3B,KAAK,EAAE;gBACL,KAAK,EAAE,CAAC,KAAK,CAAC;gBACd,GAAG,CAAC,QAAQ,CAAC,eAAe,EAAE,KAAK,IAAI,EAAE,CAAC;aAC3C;SACF,CAAC;IACJ,CAAC;IAED,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AAC3E,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,UAAkB;IACjD,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,EAAE;QACpC,GAAG,EAAE,UAAU;QACf,MAAM,EAAE,CAAC,oBAAoB,EAAE,YAAY,EAAE,aAAa,CAAC;KAC5D,CAAC,CAAC;IAEH,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAEnD,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAChC,yDAAyD,EACzD,EAAE,CACH,CAAC;YAEF,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;gBAC3B,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,2CAA2C;QAC7C,CAAC;IACH,CAAC;AACH,CAAC;AAOD,KAAK,UAAU,sBAAsB,CACnC,UAAkB;IAElB,MAAM,KAAK,GAAG,QAAQ,CAAC,eAAe,EAAE;QACtC,GAAG,EAAE,UAAU;QACf,MAAM,EAAE,CAAC,oBAAoB,EAAE,YAAY,EAAE,aAAa,CAAC;KAC5D,CAAC,CAAC;IAEH,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAU,CAAC;IAChD,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;IAE7C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAEnD,MAAM,gBAAgB,GACpB,uDAAuD,CAAC;YAC1D,IAAI,KAAK,CAAC;YACV,OAAO,CAAC,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBACzD,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;YACvC,CAAC;YAED,MAAM,OAAO,GAAG,6CAA6C,CAAC;YAC9D,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBAChD,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,mCAAmC;QACrC,CAAC;IACH,CAAC;IAED,OAAO;QACL,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC;QAC9C,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC;KACzC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,yBAAyB,CAAC,UAAkB;IACzD,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;IAC1E,EAAE,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC7D,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,UAAkB,EAClB,EAAsB;IAEtB,MAAM,IAAI,GAAG,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAE9C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,KAAK,GAAG,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE;YAC5B,GAAG,EAAE,UAAU;YACf,KAAK,EAAE,SAAS;SACjB,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC1B,MAAM,CAAC,IAAI,KAAK,CAAC,mCAAmC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,EAAE,6BAA6B,IAAI,EAAE,CAAC,CAAC,CAAC;YAC9D,CAAC;iBAAM,CAAC;gBACN,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,UAAkB,EAClB,UAAoB,EACpB,KAAa,EACb,EAAsB;IAEtB,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;IACtC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,KAAK,GAAG,KAAK,CACjB,GAAG,EACH,CAAC,GAAG,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,GAAG,UAAU,EAAE,OAAO,CAAC,EAC5D;YACE,GAAG,EAAE,UAAU;YACf,KAAK,EAAE,SAAS;SACjB,CACF,CAAC;QAEF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC1B,MAAM,CAAC,IAAI,KAAK,CAAC,qBAAqB,KAAK,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CACT,2BAA2B,IAAI,oCAAoC,GAAG,IAAI,CAAC,GAAG,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAC1I,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "assistant-ui",
3
- "version": "0.0.83",
3
+ "version": "0.0.85",
4
4
  "description": "CLI for assistant-ui",
5
5
  "keywords": [
6
6
  "cli",
@@ -36,17 +36,17 @@
36
36
  "giget": "^3.1.2",
37
37
  "glob": "^13.0.6",
38
38
  "jscodeshift": "^17.3.0",
39
- "@assistant-ui/agent-launcher": "0.1.0"
39
+ "@assistant-ui/agent-launcher": "0.1.1"
40
40
  },
41
41
  "devDependencies": {
42
42
  "@types/cli-progress": "^3.11.6",
43
43
  "@types/cross-spawn": "^6.0.6",
44
- "@types/debug": "^4.1.12",
44
+ "@types/debug": "^4.1.13",
45
45
  "@types/jscodeshift": "^17.3.0",
46
- "@types/node": "^25.3.3",
47
- "@vitest/coverage-v8": "^4.0.18",
48
- "vitest": "^4.0.18",
49
- "@assistant-ui/x-buildutils": "0.0.2"
46
+ "@types/node": "^25.5.0",
47
+ "@vitest/coverage-v8": "^4.1.0",
48
+ "vitest": "^4.1.0",
49
+ "@assistant-ui/x-buildutils": "0.0.3"
50
50
  },
51
51
  "publishConfig": {
52
52
  "access": "public",
@@ -16,7 +16,9 @@ function getPluginPath(): string {
16
16
  for (const candidate of candidates) {
17
17
  if (existsSync(candidate)) return candidate;
18
18
  }
19
- return candidates[0]!;
19
+ throw new Error(
20
+ `Could not locate the assistant-ui plugin directory. Checked:\n${candidates.map((c) => ` ${c}`).join("\n")}`,
21
+ );
20
22
  }
21
23
 
22
24
  export const agent = new Command()
@@ -82,6 +82,14 @@ export const PROJECT_METADATA: ProjectMetadata[] = [
82
82
  path: "examples/with-ag-ui",
83
83
  hasLocalComponents: false,
84
84
  },
85
+ {
86
+ name: "with-google-adk",
87
+ label: "Google ADK",
88
+ description: "Google ADK agent integration",
89
+ category: "example",
90
+ path: "examples/with-google-adk",
91
+ hasLocalComponents: false,
92
+ },
85
93
  {
86
94
  name: "with-ai-sdk-v6",
87
95
  label: "AI SDK v6",
@@ -397,12 +405,17 @@ export const create = new Command()
397
405
  .option("--use-yarn", "explicitly use yarn")
398
406
  .option("--use-bun", "explicitly use bun")
399
407
  .option("--native", "create an Expo / React Native project")
408
+ .option("--ink", "create a React Ink terminal project")
400
409
  .option("--skip-install", "skip installing packages")
401
410
  .action(async (projectDirectory, opts) => {
402
411
  if (opts.native) {
403
412
  opts.example = "with-expo";
404
413
  }
405
414
 
415
+ if (opts.ink) {
416
+ opts.example = "with-react-ink";
417
+ }
418
+
406
419
  if (opts.example && opts.preset) {
407
420
  logger.error("Cannot use --preset with --example.");
408
421
  process.exit(1);
@@ -455,18 +468,19 @@ export const create = new Command()
455
468
  );
456
469
  process.exit(1);
457
470
  }
458
- } catch (err: any) {
459
- if (err.code === "ENOENT") {
471
+ } catch (err: unknown) {
472
+ const code =
473
+ err instanceof Error ? (err as NodeJS.ErrnoException).code : undefined;
474
+ if (code === "ENOENT") {
460
475
  // Directory doesn't exist — good, proceed
461
- } else if (err.code === "ENOTDIR") {
476
+ } else if (code === "ENOTDIR") {
462
477
  logger.error(
463
478
  `${resolvedProjectDirectory} already exists and is not a directory`,
464
479
  );
465
480
  process.exit(1);
466
481
  } else {
467
- logger.error(
468
- `Cannot access ${resolvedProjectDirectory}: ${err.message}`,
469
- );
482
+ const message = err instanceof Error ? err.message : String(err);
483
+ logger.error(`Cannot access ${resolvedProjectDirectory}: ${message}`);
470
484
  process.exit(1);
471
485
  }
472
486
  }
@@ -0,0 +1,455 @@
1
+ import { Command } from "commander";
2
+ import * as fs from "node:fs";
3
+ import * as os from "node:os";
4
+ import * as path from "node:path";
5
+ import { spawnSync } from "node:child_process";
6
+ import chalk from "chalk";
7
+ import { detect } from "detect-package-manager";
8
+
9
+ const ASSISTANT_UI_PACKAGES = [
10
+ // Distribution
11
+ "@assistant-ui/react",
12
+ "@assistant-ui/react-native",
13
+ "@assistant-ui/react-ink",
14
+ // Core (should not be installed directly)
15
+ "@assistant-ui/core",
16
+ "@assistant-ui/store",
17
+ "@assistant-ui/tap",
18
+ // Streaming & Cloud
19
+ "assistant-stream",
20
+ "assistant-cloud",
21
+ "@assistant-ui/cloud-ai-sdk",
22
+ // Adapters
23
+ "@assistant-ui/react-ai-sdk",
24
+ "@assistant-ui/react-langgraph",
25
+ "@assistant-ui/react-ag-ui",
26
+ "@assistant-ui/react-a2a",
27
+ "@assistant-ui/react-data-stream",
28
+ "@assistant-ui/react-google-adk",
29
+ // UI / Rendering
30
+ "@assistant-ui/react-markdown",
31
+ "@assistant-ui/react-streamdown",
32
+ "@assistant-ui/react-lexical",
33
+ "@assistant-ui/react-syntax-highlighter",
34
+ "@assistant-ui/react-hook-form",
35
+ // Observability & DevTools
36
+ "@assistant-ui/react-o11y",
37
+ "@assistant-ui/react-devtools",
38
+ ];
39
+
40
+ const ECOSYSTEM_PACKAGES = [
41
+ "react",
42
+ "react-dom",
43
+ "react-native",
44
+ "next",
45
+ "vite",
46
+ "expo",
47
+ "ai",
48
+ "zod",
49
+ "zustand",
50
+ "typescript",
51
+ ];
52
+
53
+ // Packages that users should NOT install directly — they are internal
54
+ // dependencies pulled in automatically by distribution packages.
55
+ const SHOULD_NOT_DIRECT_INSTALL = new Set([
56
+ "@assistant-ui/core",
57
+ "@assistant-ui/store",
58
+ "@assistant-ui/tap",
59
+ ]);
60
+
61
+ // ---------------------------------------------------------------------------
62
+ // Helpers
63
+ // ---------------------------------------------------------------------------
64
+
65
+ function resolvePackageJson(pkg: string, cwd: string): string | null {
66
+ let dir = cwd;
67
+ const root = path.parse(dir).root;
68
+ while (dir !== root) {
69
+ const candidate = path.join(
70
+ dir,
71
+ "node_modules",
72
+ ...pkg.split("/"),
73
+ "package.json",
74
+ );
75
+ if (fs.existsSync(candidate)) return candidate;
76
+ dir = path.dirname(dir);
77
+ }
78
+ return null;
79
+ }
80
+
81
+ function getInstalledVersion(pkg: string, cwd: string): string | null {
82
+ try {
83
+ const pkgJsonPath = resolvePackageJson(pkg, cwd);
84
+ if (pkgJsonPath) {
85
+ const pkgJson = JSON.parse(fs.readFileSync(pkgJsonPath, "utf8"));
86
+ return pkgJson.version ?? null;
87
+ }
88
+ } catch {
89
+ // ignore
90
+ }
91
+ return null;
92
+ }
93
+
94
+ function findWorkspaceRoot(cwd: string): string | null {
95
+ let dir = path.dirname(cwd);
96
+ const root = path.parse(dir).root;
97
+ while (dir !== root) {
98
+ if (fs.existsSync(path.join(dir, "pnpm-workspace.yaml"))) return dir;
99
+ const pkgPath = path.join(dir, "package.json");
100
+ if (fs.existsSync(pkgPath)) {
101
+ try {
102
+ const pkg = JSON.parse(fs.readFileSync(pkgPath, "utf8"));
103
+ if (pkg.workspaces) return dir;
104
+ } catch {
105
+ // ignore
106
+ }
107
+ }
108
+ dir = path.dirname(dir);
109
+ }
110
+ return null;
111
+ }
112
+
113
+ function readProjectDeps(
114
+ projectPkg: Record<string, unknown>,
115
+ ): Record<string, string> {
116
+ return {
117
+ ...((projectPkg.dependencies ?? {}) as Record<string, string>),
118
+ ...((projectPkg.devDependencies ?? {}) as Record<string, string>),
119
+ };
120
+ }
121
+
122
+ function getSpecifiedRange(
123
+ pkg: string,
124
+ projectPkg: Record<string, unknown>,
125
+ ): string | null {
126
+ const deps = (projectPkg.dependencies ?? {}) as Record<string, string>;
127
+ const devDeps = (projectPkg.devDependencies ?? {}) as Record<string, string>;
128
+ return deps[pkg] ?? devDeps[pkg] ?? null;
129
+ }
130
+
131
+ function getPeerDeps(pkg: string, cwd: string): Record<string, string> | null {
132
+ try {
133
+ const pkgJsonPath = resolvePackageJson(pkg, cwd);
134
+ if (pkgJsonPath) {
135
+ const pkgJson = JSON.parse(fs.readFileSync(pkgJsonPath, "utf8"));
136
+ return (pkgJson.peerDependencies as Record<string, string>) ?? null;
137
+ }
138
+ } catch {
139
+ // ignore
140
+ }
141
+ return null;
142
+ }
143
+
144
+ function detectFramework(
145
+ projectPkg: Record<string, unknown>,
146
+ cwd: string,
147
+ ): string {
148
+ const deps = readProjectDeps(projectPkg);
149
+
150
+ if (deps["next"]) {
151
+ const v = getInstalledVersion("next", cwd);
152
+ return `Next.js ${v ?? deps["next"]}`;
153
+ }
154
+ if (deps["expo"]) {
155
+ const v = getInstalledVersion("expo", cwd);
156
+ return `Expo ${v ?? deps["expo"]}`;
157
+ }
158
+ if (deps["vite"]) {
159
+ const v = getInstalledVersion("vite", cwd);
160
+ return `Vite ${v ?? deps["vite"]}`;
161
+ }
162
+ if (deps["@remix-run/react"] || deps["remix"]) return "Remix";
163
+ if (deps["gatsby"]) return "Gatsby";
164
+ if (deps["astro"]) return "Astro";
165
+ return "Unknown";
166
+ }
167
+
168
+ function getOsInfo(): string {
169
+ const platform = os.platform();
170
+ const arch = os.arch();
171
+ const release = os.release();
172
+
173
+ switch (platform) {
174
+ case "darwin": {
175
+ const result = spawnSync("sw_vers", ["-productVersion"], {
176
+ encoding: "utf8",
177
+ });
178
+ const macVer = result.stdout?.trim();
179
+ return macVer
180
+ ? `macOS ${macVer} (${arch})`
181
+ : `macOS ${release} (${arch})`;
182
+ }
183
+ case "win32":
184
+ return `Windows ${release} (${arch})`;
185
+ case "linux":
186
+ return `Linux ${release} (${arch})`;
187
+ default:
188
+ return `${platform} ${release} (${arch})`;
189
+ }
190
+ }
191
+
192
+ async function getPackageManagerInfo(
193
+ cwd: string,
194
+ ): Promise<{ name: string; version: string }> {
195
+ const pm = await detect({ cwd });
196
+ const result = spawnSync(pm, ["--version"], {
197
+ encoding: "utf8",
198
+ cwd,
199
+ });
200
+ const version = result.stdout?.trim() ?? "unknown";
201
+ return { name: pm, version };
202
+ }
203
+
204
+ function satisfiesRange(version: string, range: string): boolean {
205
+ if (range === "*" || range === "any") return true;
206
+
207
+ const clean = (v: string) => v.replace(/^[^\d]*/, "");
208
+ const major = (v: string) => parseInt(clean(v).split(".")[0]!, 10);
209
+
210
+ if (range.includes("||")) {
211
+ return range
212
+ .split("||")
213
+ .some((part) => satisfiesRange(version, part.trim()));
214
+ }
215
+
216
+ const rangeMajor = major(range);
217
+ const versionMajor = major(version);
218
+
219
+ if (Number.isNaN(rangeMajor) || Number.isNaN(versionMajor)) return true;
220
+
221
+ if (range.startsWith("^")) return versionMajor >= rangeMajor;
222
+ if (range.startsWith(">=")) return versionMajor >= rangeMajor;
223
+
224
+ return versionMajor >= rangeMajor;
225
+ }
226
+
227
+ // ---------------------------------------------------------------------------
228
+ // Data collection
229
+ // ---------------------------------------------------------------------------
230
+
231
+ interface PackageInfo {
232
+ name: string;
233
+ version: string;
234
+ range: string | null;
235
+ }
236
+
237
+ interface InfoData {
238
+ os: string;
239
+ node: string;
240
+ pm: { name: string; version: string };
241
+ framework: string;
242
+ isMonorepo: boolean;
243
+ packages: PackageInfo[];
244
+ ecosystem: PackageInfo[];
245
+ warnings: string[];
246
+ }
247
+
248
+ function collectPackages(
249
+ names: string[],
250
+ cwd: string,
251
+ projectPkg: Record<string, unknown>,
252
+ ): PackageInfo[] {
253
+ const result: PackageInfo[] = [];
254
+ const deps = readProjectDeps(projectPkg);
255
+
256
+ for (const name of names) {
257
+ const version = getInstalledVersion(name, cwd);
258
+ if (version) {
259
+ result.push({
260
+ name,
261
+ version,
262
+ range: getSpecifiedRange(name, projectPkg),
263
+ });
264
+ } else {
265
+ // Fallback: no node_modules, show range from package.json
266
+ const range = deps[name];
267
+ if (range && !range.startsWith("workspace:")) {
268
+ result.push({ name, version: `${range} (not installed)`, range });
269
+ }
270
+ }
271
+ }
272
+ return result;
273
+ }
274
+
275
+ function collectWarnings(
276
+ packages: PackageInfo[],
277
+ cwd: string,
278
+ projectPkg: Record<string, unknown>,
279
+ ): string[] {
280
+ const warnings: string[] = [];
281
+ const deps = readProjectDeps(projectPkg);
282
+
283
+ // Check peer dependency mismatches
284
+ for (const pkg of packages) {
285
+ const peerDeps = getPeerDeps(pkg.name, cwd);
286
+ if (!peerDeps) continue;
287
+
288
+ for (const [peerName, peerRange] of Object.entries(peerDeps)) {
289
+ const peerVersion = getInstalledVersion(peerName, cwd);
290
+ if (!peerVersion) continue;
291
+ if (!satisfiesRange(peerVersion, peerRange)) {
292
+ warnings.push(
293
+ `${pkg.name} requires ${peerName} ${peerRange}, found ${peerVersion}`,
294
+ );
295
+ }
296
+ }
297
+ }
298
+
299
+ // Check for direct install of internal packages
300
+ for (const name of SHOULD_NOT_DIRECT_INSTALL) {
301
+ if (deps[name]) {
302
+ warnings.push(
303
+ `${name} should not be installed directly — it is an internal dependency`,
304
+ );
305
+ }
306
+ }
307
+
308
+ return warnings;
309
+ }
310
+
311
+ async function collectInfo(
312
+ cwd: string,
313
+ projectPkg: Record<string, unknown>,
314
+ ): Promise<InfoData> {
315
+ const pm = await getPackageManagerInfo(cwd);
316
+ const packages = collectPackages(ASSISTANT_UI_PACKAGES, cwd, projectPkg);
317
+ const ecosystem = collectPackages(ECOSYSTEM_PACKAGES, cwd, projectPkg);
318
+ const warnings = collectWarnings(packages, cwd, projectPkg);
319
+
320
+ return {
321
+ os: getOsInfo(),
322
+ node: process.version,
323
+ pm,
324
+ framework: detectFramework(projectPkg, cwd),
325
+ isMonorepo: findWorkspaceRoot(cwd) !== null,
326
+ packages,
327
+ ecosystem,
328
+ warnings,
329
+ };
330
+ }
331
+
332
+ // ---------------------------------------------------------------------------
333
+ // Rendering
334
+ // ---------------------------------------------------------------------------
335
+
336
+ function formatSection(label: string, items: PackageInfo[]): string[] {
337
+ if (items.length === 0) return [];
338
+ const lines: string[] = [];
339
+ lines.push("");
340
+ lines.push(`${label}:`);
341
+ const maxLen = Math.max(...items.map((p) => p.name.length));
342
+ for (const pkg of items) {
343
+ lines.push(` ${pkg.name.padEnd(maxLen)} ${pkg.version}`);
344
+ }
345
+ return lines;
346
+ }
347
+
348
+ function renderPlain(data: InfoData): string[] {
349
+ const lines: string[] = [];
350
+
351
+ lines.push("Environment:");
352
+ lines.push(` OS: ${data.os}`);
353
+ lines.push(` Node.js: ${data.node}`);
354
+ lines.push(` Package Manager: ${data.pm.name} ${data.pm.version}`);
355
+ lines.push(` Framework: ${data.framework}`);
356
+ if (data.isMonorepo) {
357
+ lines.push(` Monorepo: yes`);
358
+ }
359
+
360
+ lines.push(...formatSection("Packages", data.packages));
361
+ lines.push(...formatSection("Ecosystem", data.ecosystem));
362
+
363
+ if (data.warnings.length > 0) {
364
+ lines.push("");
365
+ lines.push("Warnings:");
366
+ for (const w of data.warnings) {
367
+ lines.push(` ! ${w}`);
368
+ }
369
+ }
370
+
371
+ return lines;
372
+ }
373
+
374
+ function renderColored(data: InfoData): string[] {
375
+ const lines: string[] = [];
376
+
377
+ lines.push(chalk.bold("Environment:"));
378
+ lines.push(` OS: ${data.os}`);
379
+ lines.push(` Node.js: ${data.node}`);
380
+ lines.push(` Package Manager: ${data.pm.name} ${data.pm.version}`);
381
+ lines.push(` Framework: ${data.framework}`);
382
+ if (data.isMonorepo) {
383
+ lines.push(` Monorepo: yes`);
384
+ }
385
+
386
+ if (data.packages.length > 0) {
387
+ const section = formatSection("Packages", data.packages);
388
+ section[0] = "";
389
+ section[1] = chalk.bold("Packages:");
390
+ lines.push(...section);
391
+ } else {
392
+ lines.push("");
393
+ lines.push(chalk.yellow(" No assistant-ui packages found."));
394
+ }
395
+
396
+ if (data.ecosystem.length > 0) {
397
+ const section = formatSection("Ecosystem", data.ecosystem);
398
+ section[0] = "";
399
+ section[1] = chalk.bold("Ecosystem:");
400
+ lines.push(...section);
401
+ }
402
+
403
+ if (data.warnings.length > 0) {
404
+ lines.push("");
405
+ lines.push(chalk.yellow.bold("Warnings:"));
406
+ for (const w of data.warnings) {
407
+ lines.push(chalk.yellow(` ! ${w}`));
408
+ }
409
+ }
410
+
411
+ return lines;
412
+ }
413
+
414
+ // ---------------------------------------------------------------------------
415
+ // Command
416
+ // ---------------------------------------------------------------------------
417
+
418
+ export const info = new Command()
419
+ .name("info")
420
+ .description("Print environment and package information for bug reports.")
421
+ .option(
422
+ "-c, --cwd <cwd>",
423
+ "the working directory. defaults to the current directory.",
424
+ process.cwd(),
425
+ )
426
+ .action(async (opts) => {
427
+ const cwd = path.resolve(opts.cwd);
428
+ const packageJsonPath = path.join(cwd, "package.json");
429
+
430
+ if (!fs.existsSync(packageJsonPath)) {
431
+ console.error(
432
+ chalk.red("No package.json found in the current directory."),
433
+ );
434
+ process.exit(1);
435
+ }
436
+
437
+ const projectPkg = JSON.parse(fs.readFileSync(packageJsonPath, "utf8"));
438
+ const data = await collectInfo(cwd, projectPkg);
439
+
440
+ // Colored output for terminal
441
+ console.log("");
442
+ for (const line of renderColored(data)) {
443
+ console.log(line);
444
+ }
445
+ console.log("");
446
+
447
+ // Copyable plain text
448
+ const plain = renderPlain(data);
449
+ const block = ["```", ...plain, "```"].join("\n");
450
+
451
+ console.log(chalk.dim("— Copy the text below into your bug report —"));
452
+ console.log("");
453
+ console.log(block);
454
+ console.log("");
455
+ });