@guuey/create-agentic-app 0.16.12 → 0.16.14

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.
@@ -67,6 +67,11 @@ async function listDirs(root) {
67
67
  }
68
68
  }
69
69
  async function resolveTemplateDir(templatesDir, template, framework) {
70
+ if (template === "agent") {
71
+ const flat = join(templatesDir, "agent");
72
+ if (await pathExists(flat)) return flat;
73
+ throw new Error(`No "agent" template under ${templatesDir} \u2014 rebuild templates (pnpm build).`);
74
+ }
70
75
  const dir = join(templatesDir, template, framework);
71
76
  if (await pathExists(dir)) return dir;
72
77
  const templates = (await listDirs(templatesDir)).filter((name) => name !== "mcp-base");
@@ -141,6 +146,13 @@ async function runInstall(projectDir) {
141
146
  );
142
147
  }
143
148
  }
149
+ async function stampAppId(projectDir, appId) {
150
+ const guueyJsonPath = join(projectDir, "guuey.json");
151
+ const parsed = JSON.parse(await fs2.readFile(guueyJsonPath, "utf8"));
152
+ parsed.appId = appId;
153
+ await fs2.writeFile(guueyJsonPath, `${JSON.stringify(parsed, null, 2)}
154
+ `);
155
+ }
144
156
  async function scaffold(opts) {
145
157
  assertNpmSafeName(opts.name, "project");
146
158
  const scope = opts.scope ?? opts.name;
@@ -150,6 +162,9 @@ async function scaffold(opts) {
150
162
  await ensureTargetDir(projectDir, opts.force);
151
163
  await copyTree(templateDir, projectDir, opts.name, scope);
152
164
  await seedEnvLocal(projectDir);
165
+ if (opts.appId !== void 0 && opts.appId !== "") {
166
+ await stampAppId(projectDir, opts.appId);
167
+ }
153
168
  if (opts.git !== false) {
154
169
  await initGit(projectDir);
155
170
  }
package/dist/cli.cjs CHANGED
@@ -75,6 +75,11 @@ async function listDirs(root) {
75
75
  }
76
76
  }
77
77
  async function resolveTemplateDir(templatesDir, template, framework) {
78
+ if (template === "agent") {
79
+ const flat = (0, import_node_path.join)(templatesDir, "agent");
80
+ if (await pathExists(flat)) return flat;
81
+ throw new Error(`No "agent" template under ${templatesDir} \u2014 rebuild templates (pnpm build).`);
82
+ }
78
83
  const dir = (0, import_node_path.join)(templatesDir, template, framework);
79
84
  if (await pathExists(dir)) return dir;
80
85
  const templates = (await listDirs(templatesDir)).filter((name) => name !== "mcp-base");
@@ -149,6 +154,13 @@ async function runInstall(projectDir) {
149
154
  );
150
155
  }
151
156
  }
157
+ async function stampAppId(projectDir, appId) {
158
+ const guueyJsonPath = (0, import_node_path.join)(projectDir, "guuey.json");
159
+ const parsed = JSON.parse(await import_node_fs2.promises.readFile(guueyJsonPath, "utf8"));
160
+ parsed.appId = appId;
161
+ await import_node_fs2.promises.writeFile(guueyJsonPath, `${JSON.stringify(parsed, null, 2)}
162
+ `);
163
+ }
152
164
  async function scaffold(opts) {
153
165
  assertNpmSafeName(opts.name, "project");
154
166
  const scope = opts.scope ?? opts.name;
@@ -158,6 +170,9 @@ async function scaffold(opts) {
158
170
  await ensureTargetDir(projectDir, opts.force);
159
171
  await copyTree(templateDir, projectDir, opts.name, scope);
160
172
  await seedEnvLocal(projectDir);
173
+ if (opts.appId !== void 0 && opts.appId !== "") {
174
+ await stampAppId(projectDir, opts.appId);
175
+ }
161
176
  if (opts.git !== false) {
162
177
  await initGit(projectDir);
163
178
  }
@@ -261,7 +276,7 @@ var defaultTemplatesDir2 = (0, import_node_path3.join)(packageRoot2, "dist", "te
261
276
 
262
277
  // src/cli.ts
263
278
  var FRAMEWORKS = ["claude-agent-sdk", "openai-agents-sdk", "google-adk"];
264
- var TEMPLATES = ["base", "agentic-app"];
279
+ var TEMPLATES = ["base", "agentic-app", "agent"];
265
280
  function isFramework(value) {
266
281
  return FRAMEWORKS.includes(value);
267
282
  }
@@ -299,15 +314,21 @@ Arguments:
299
314
  Options:
300
315
  --name <name> Project name (default: derived from target)
301
316
  --scope <scope> npm scope for @<scope>/* packages (default: name)
302
- --template <t> App template: ${TEMPLATES.join(" | ")} (default: base)
317
+ --template <t> Template: ${TEMPLATES.join(" | ")} (default: base)
303
318
  base = landing + login + home + chat;
304
319
  agentic-app = base + split-sidebar product shell with
305
- a fullscreen agent canvas and "talk on mobile" QR
320
+ a fullscreen agent canvas and "talk on mobile" QR;
321
+ agent = MANAGE-ONLY (prompt + manifest, no web app \u2014
322
+ "I just want to run my agent"; guuey hosts the
323
+ surfaces). Embed-SDK builders want base/agentic-app
306
324
  --framework <f> Framework: ${FRAMEWORKS.join(" | ")}
307
325
  --agent <f> Alias for --framework
308
326
  --example <vertical> Extract a demo app from github.com/withguuey/demos
309
327
  instead of a blank template (mutually exclusive with
310
328
  --template/--framework; re-brand via pnpm bootstrap)
329
+ --app <appId> Bind to an EXISTING guuey app: stamps the id into
330
+ guuey.json so "pnpm bootstrap -- --link" runs
331
+ promptless (the tada page's copy-paste line)
311
332
  --install Run "pnpm install" after scaffolding
312
333
  --no-git Skip "git init" + initial commit
313
334
  --force Scaffold into a non-empty target directory
@@ -317,6 +338,7 @@ Options:
317
338
  Examples:
318
339
  create-agentic-app my-app --framework claude-agent-sdk
319
340
  create-agentic-app my-app --agent openai-agents-sdk --install
341
+ create-agentic-app my-agent --app app_abc123 # born bound to your live agent
320
342
  `);
321
343
  }
322
344
  function deriveName(target) {
@@ -393,7 +415,12 @@ Extracted the "${flags.example}" example into ${projectDir2}
393
415
  const template = templateInput;
394
416
  const frameworkFlag = flags.framework ?? flags.agent;
395
417
  let frameworkInput = typeof frameworkFlag === "string" ? frameworkFlag : void 0;
396
- if (!frameworkInput) {
418
+ if (template === "agent") {
419
+ if (frameworkInput !== void 0) {
420
+ console.log("--template agent is framework-less (declarative) \u2014 ignoring --framework.");
421
+ }
422
+ frameworkInput = "claude-agent-sdk";
423
+ } else if (!frameworkInput) {
397
424
  if (import_node_process.stdin.isTTY !== true) {
398
425
  frameworkInput = "claude-agent-sdk";
399
426
  console.log(
@@ -412,6 +439,12 @@ Extracted the "${flags.example}" example into ${projectDir2}
412
439
  const name = typeof flags.name === "string" ? flags.name : deriveName(target);
413
440
  const scope = typeof flags.scope === "string" ? flags.scope : void 0;
414
441
  const install = flags.install === true;
442
+ if (flags.app === true) {
443
+ console.error("--app needs a value, e.g. --app app_abc123");
444
+ process.exit(1);
445
+ return;
446
+ }
447
+ const appId = typeof flags.app === "string" ? flags.app : void 0;
415
448
  const { projectDir } = await scaffold({
416
449
  targetDir: target,
417
450
  name,
@@ -419,6 +452,7 @@ Extracted the "${flags.example}" example into ${projectDir2}
419
452
  template,
420
453
  scope,
421
454
  install,
455
+ ...appId !== void 0 ? { appId } : {},
422
456
  git: flags["no-git"] !== true,
423
457
  force: flags.force === true
424
458
  });
package/dist/cli.js CHANGED
@@ -2,13 +2,13 @@
2
2
  import {
3
3
  scaffold,
4
4
  scaffoldExample
5
- } from "./chunk-SUERHYH3.js";
5
+ } from "./chunk-QKFW5CVM.js";
6
6
 
7
7
  // src/cli.ts
8
8
  import { createInterface } from "readline/promises";
9
9
  import { stdin, stdout } from "process";
10
10
  var FRAMEWORKS = ["claude-agent-sdk", "openai-agents-sdk", "google-adk"];
11
- var TEMPLATES = ["base", "agentic-app"];
11
+ var TEMPLATES = ["base", "agentic-app", "agent"];
12
12
  function isFramework(value) {
13
13
  return FRAMEWORKS.includes(value);
14
14
  }
@@ -46,15 +46,21 @@ Arguments:
46
46
  Options:
47
47
  --name <name> Project name (default: derived from target)
48
48
  --scope <scope> npm scope for @<scope>/* packages (default: name)
49
- --template <t> App template: ${TEMPLATES.join(" | ")} (default: base)
49
+ --template <t> Template: ${TEMPLATES.join(" | ")} (default: base)
50
50
  base = landing + login + home + chat;
51
51
  agentic-app = base + split-sidebar product shell with
52
- a fullscreen agent canvas and "talk on mobile" QR
52
+ a fullscreen agent canvas and "talk on mobile" QR;
53
+ agent = MANAGE-ONLY (prompt + manifest, no web app \u2014
54
+ "I just want to run my agent"; guuey hosts the
55
+ surfaces). Embed-SDK builders want base/agentic-app
53
56
  --framework <f> Framework: ${FRAMEWORKS.join(" | ")}
54
57
  --agent <f> Alias for --framework
55
58
  --example <vertical> Extract a demo app from github.com/withguuey/demos
56
59
  instead of a blank template (mutually exclusive with
57
60
  --template/--framework; re-brand via pnpm bootstrap)
61
+ --app <appId> Bind to an EXISTING guuey app: stamps the id into
62
+ guuey.json so "pnpm bootstrap -- --link" runs
63
+ promptless (the tada page's copy-paste line)
58
64
  --install Run "pnpm install" after scaffolding
59
65
  --no-git Skip "git init" + initial commit
60
66
  --force Scaffold into a non-empty target directory
@@ -64,6 +70,7 @@ Options:
64
70
  Examples:
65
71
  create-agentic-app my-app --framework claude-agent-sdk
66
72
  create-agentic-app my-app --agent openai-agents-sdk --install
73
+ create-agentic-app my-agent --app app_abc123 # born bound to your live agent
67
74
  `);
68
75
  }
69
76
  function deriveName(target) {
@@ -140,7 +147,12 @@ Extracted the "${flags.example}" example into ${projectDir2}
140
147
  const template = templateInput;
141
148
  const frameworkFlag = flags.framework ?? flags.agent;
142
149
  let frameworkInput = typeof frameworkFlag === "string" ? frameworkFlag : void 0;
143
- if (!frameworkInput) {
150
+ if (template === "agent") {
151
+ if (frameworkInput !== void 0) {
152
+ console.log("--template agent is framework-less (declarative) \u2014 ignoring --framework.");
153
+ }
154
+ frameworkInput = "claude-agent-sdk";
155
+ } else if (!frameworkInput) {
144
156
  if (stdin.isTTY !== true) {
145
157
  frameworkInput = "claude-agent-sdk";
146
158
  console.log(
@@ -159,6 +171,12 @@ Extracted the "${flags.example}" example into ${projectDir2}
159
171
  const name = typeof flags.name === "string" ? flags.name : deriveName(target);
160
172
  const scope = typeof flags.scope === "string" ? flags.scope : void 0;
161
173
  const install = flags.install === true;
174
+ if (flags.app === true) {
175
+ console.error("--app needs a value, e.g. --app app_abc123");
176
+ process.exit(1);
177
+ return;
178
+ }
179
+ const appId = typeof flags.app === "string" ? flags.app : void 0;
162
180
  const { projectDir } = await scaffold({
163
181
  targetDir: target,
164
182
  name,
@@ -166,6 +184,7 @@ Extracted the "${flags.example}" example into ${projectDir2}
166
184
  template,
167
185
  scope,
168
186
  install,
187
+ ...appId !== void 0 ? { appId } : {},
169
188
  git: flags["no-git"] !== true,
170
189
  force: flags.force === true
171
190
  });
package/dist/index.cjs CHANGED
@@ -97,6 +97,11 @@ async function listDirs(root) {
97
97
  }
98
98
  }
99
99
  async function resolveTemplateDir(templatesDir, template, framework) {
100
+ if (template === "agent") {
101
+ const flat = (0, import_node_path.join)(templatesDir, "agent");
102
+ if (await pathExists(flat)) return flat;
103
+ throw new Error(`No "agent" template under ${templatesDir} \u2014 rebuild templates (pnpm build).`);
104
+ }
100
105
  const dir = (0, import_node_path.join)(templatesDir, template, framework);
101
106
  if (await pathExists(dir)) return dir;
102
107
  const templates = (await listDirs(templatesDir)).filter((name) => name !== "mcp-base");
@@ -171,6 +176,13 @@ async function runInstall(projectDir) {
171
176
  );
172
177
  }
173
178
  }
179
+ async function stampAppId(projectDir, appId) {
180
+ const guueyJsonPath = (0, import_node_path.join)(projectDir, "guuey.json");
181
+ const parsed = JSON.parse(await import_node_fs2.promises.readFile(guueyJsonPath, "utf8"));
182
+ parsed.appId = appId;
183
+ await import_node_fs2.promises.writeFile(guueyJsonPath, `${JSON.stringify(parsed, null, 2)}
184
+ `);
185
+ }
174
186
  async function scaffold(opts) {
175
187
  assertNpmSafeName(opts.name, "project");
176
188
  const scope = opts.scope ?? opts.name;
@@ -180,6 +192,9 @@ async function scaffold(opts) {
180
192
  await ensureTargetDir(projectDir, opts.force);
181
193
  await copyTree(templateDir, projectDir, opts.name, scope);
182
194
  await seedEnvLocal(projectDir);
195
+ if (opts.appId !== void 0 && opts.appId !== "") {
196
+ await stampAppId(projectDir, opts.appId);
197
+ }
183
198
  if (opts.git !== false) {
184
199
  await initGit(projectDir);
185
200
  }
package/dist/index.d.cts CHANGED
@@ -5,7 +5,7 @@ type Framework = 'claude-agent-sdk' | 'openai-agents-sdk' | 'google-adk';
5
5
  * chat; `agentic-app` extends it with the split-sidebar product shell whose
6
6
  * agent dock swaps the main canvas to a fullscreen agent.
7
7
  */
8
- type Template = 'base' | 'agentic-app';
8
+ type Template = 'base' | 'agentic-app' | 'agent';
9
9
  interface ScaffoldOptions {
10
10
  /** Absolute or cwd-relative path to create/populate the new project in. */
11
11
  targetDir: string;
@@ -20,6 +20,16 @@ interface ScaffoldOptions {
20
20
  install?: boolean;
21
21
  /** Run `git init` + an initial commit in the new project. Default: true. */
22
22
  git?: boolean;
23
+ /**
24
+ * Bind the scaffold to an EXISTING guuey app (guuey#580 point 4 — the
25
+ * tada page's one-liner): stamps top-level `appId` into the scaffolded
26
+ * guuey.json, which is exactly where `scripts/bootstrap.mjs --link`
27
+ * reads its default from — so the link phase runs promptless and the
28
+ * repo is born bound to the just-created agent. No validation here
29
+ * beyond non-empty: the id's truth is the platform's to judge at link
30
+ * time (a wrong id fails loudly there, with auth in hand).
31
+ */
32
+ appId?: string;
23
33
  /** Scaffold into a non-empty targetDir anyway. Default: false. */
24
34
  force?: boolean;
25
35
  /** Root directory holding `<template>/<framework>` trees (+ `mcp-base/`). Default: dist/templates. */
package/dist/index.d.ts CHANGED
@@ -5,7 +5,7 @@ type Framework = 'claude-agent-sdk' | 'openai-agents-sdk' | 'google-adk';
5
5
  * chat; `agentic-app` extends it with the split-sidebar product shell whose
6
6
  * agent dock swaps the main canvas to a fullscreen agent.
7
7
  */
8
- type Template = 'base' | 'agentic-app';
8
+ type Template = 'base' | 'agentic-app' | 'agent';
9
9
  interface ScaffoldOptions {
10
10
  /** Absolute or cwd-relative path to create/populate the new project in. */
11
11
  targetDir: string;
@@ -20,6 +20,16 @@ interface ScaffoldOptions {
20
20
  install?: boolean;
21
21
  /** Run `git init` + an initial commit in the new project. Default: true. */
22
22
  git?: boolean;
23
+ /**
24
+ * Bind the scaffold to an EXISTING guuey app (guuey#580 point 4 — the
25
+ * tada page's one-liner): stamps top-level `appId` into the scaffolded
26
+ * guuey.json, which is exactly where `scripts/bootstrap.mjs --link`
27
+ * reads its default from — so the link phase runs promptless and the
28
+ * repo is born bound to the just-created agent. No validation here
29
+ * beyond non-empty: the id's truth is the platform's to judge at link
30
+ * time (a wrong id fails loudly there, with auth in hand).
31
+ */
32
+ appId?: string;
23
33
  /** Scaffold into a non-empty targetDir anyway. Default: false. */
24
34
  force?: boolean;
25
35
  /** Root directory holding `<template>/<framework>` trees (+ `mcp-base/`). Default: dist/templates. */
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@ import {
3
3
  scaffold,
4
4
  scaffoldExample,
5
5
  scaffoldMcp
6
- } from "./chunk-SUERHYH3.js";
6
+ } from "./chunk-QKFW5CVM.js";
7
7
  export {
8
8
  isNpmSafeName,
9
9
  scaffold,
@@ -0,0 +1,47 @@
1
+ # agentic-app-template
2
+
3
+ The **manage-only** repo for your guuey agent: the whole definition lives
4
+ here as files — the system prompt and the manifest — and `guuey agent
5
+ apply` is the whole deploy story. There is no web app in this repo; your
6
+ agent is reached through the surfaces guuey hosts for it (the widget
7
+ embed, the share page, the portal).
8
+
9
+ ## The loop
10
+
11
+ ```bash
12
+ pnpm install
13
+ pnpm login # once — opens the guuey console
14
+ # edit prompts/system.md (the agent's voice) and guuey.json (model, MCP servers)
15
+ pnpm apply # push the definition to your live agent
16
+ ```
17
+
18
+ `guuey.json`'s `appId` binds this repo to your app. If it was scaffolded
19
+ from the console it is already set; otherwise `pnpm apply` will tell you
20
+ what to do.
21
+
22
+ ## Guest & authenticated modes
23
+
24
+ If your agent was drafted in the guuey console with guest/auth mode
25
+ prompts, **run `guuey pull` before your first `pnpm apply`** — it writes
26
+ the live definition (modes included) into this repo. Apply is
27
+ doc-is-desired-state: a document without `agent.modes` declares an agent
28
+ without modes, and the CLI will refuse a first apply that would strip
29
+ live modes (pass `--replace` only if that is what you mean). To declare
30
+ modes here directly:
31
+
32
+ ```jsonc
33
+ // guuey.json → agent
34
+ "modes": {
35
+ "rep": { "systemPromptAppend": "prompts/rep.md", "audience": ["guest"] },
36
+ "agent": { "systemPromptAppend": "prompts/full.md", "audience": ["authenticated"] }
37
+ }
38
+ ```
39
+
40
+ ## Wanting more?
41
+
42
+ If you outgrow manage-only — you want your OWN site with the agent
43
+ embedded — scaffold the app template next to this repo:
44
+
45
+ ```bash
46
+ npx @guuey/create-agentic-app my-site --template agentic-app --app <your appId>
47
+ ```
@@ -0,0 +1,3 @@
1
+ node_modules/
2
+ .env.local
3
+ .guuey/
@@ -0,0 +1,8 @@
1
+ {
2
+ "schema": "1",
3
+ "agent": {
4
+ "mode": "declarative",
5
+ "model": "claude-sonnet-5",
6
+ "systemPrompt": { "file": "prompts/system.md" }
7
+ }
8
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "agentic-app-template",
3
+ "private": true,
4
+ "version": "0.0.0",
5
+ "type": "module",
6
+ "scripts": {
7
+ "login": "guuey login",
8
+ "apply": "guuey agent apply",
9
+ "dev": "guuey dev",
10
+ "status": "guuey status",
11
+ "open": "guuey open"
12
+ },
13
+ "devDependencies": {
14
+ "@guuey/cli": "0.16.14"
15
+ }
16
+ }
@@ -0,0 +1,15 @@
1
+ You are the agentic-app-template assistant. You have a todo tool server —
2
+ use it to create, list, toggle, and delete the user's todos.
3
+
4
+ Show, don't tell: when a result has structure — a todo list, a form, a
5
+ confirmation — render it as an interactive surface with the ggui render
6
+ loop by default; keep plain prose for one-line answers with nothing to
7
+ show. After changing todos (create, toggle, delete), render the updated
8
+ list, so every turn ends on a surface that reflects the current state.
9
+ Use only the fields the surface's schema declares.
10
+
11
+ An under-specified ask is NEVER answered with a text-only list of
12
+ questions: render the closest useful surface FIRST — the current list,
13
+ the options, a form — and ask your one narrowing question in a short
14
+ line beside it. Clarification happens ON a surface, from the very first
15
+ turn.
@@ -12,12 +12,12 @@
12
12
  },
13
13
  "dependencies": {
14
14
  "@anthropic-ai/claude-agent-sdk": "^0.3.199",
15
- "@guuey/config": "0.16.12",
16
- "@guuey/worker": "0.16.12"
15
+ "@guuey/config": "0.16.14",
16
+ "@guuey/worker": "0.16.14"
17
17
  },
18
18
  "devDependencies": {
19
19
  "@ggui-ai/cli": "0.13.0",
20
- "@guuey/cli": "0.16.12",
20
+ "@guuey/cli": "0.16.14",
21
21
  "tsup": "^8.5.0",
22
22
  "tsx": "^4.19.0",
23
23
  "typescript": "^5.8.0"
@@ -9,9 +9,9 @@
9
9
  "typecheck": "tsc --noEmit"
10
10
  },
11
11
  "dependencies": {
12
- "@guuey/agent-layout": "0.16.12",
13
- "@guuey/chat": "0.16.12",
14
- "@guuey/mcp-apps-host": "0.16.12",
12
+ "@guuey/agent-layout": "0.16.14",
13
+ "@guuey/chat": "0.16.14",
14
+ "@guuey/mcp-apps-host": "0.16.14",
15
15
  "oidc-client-ts": "^3.1.0",
16
16
  "qrcode": "^1.5.4",
17
17
  "react": "^19.0.0",
@@ -16,8 +16,8 @@
16
16
  },
17
17
  "devDependencies": {
18
18
  "@ggui-ai/cli": "0.13.0",
19
- "@guuey/cli": "0.16.12",
20
- "@guuey/config": "0.16.12",
19
+ "@guuey/cli": "0.16.14",
20
+ "@guuey/config": "0.16.14",
21
21
  "tsup": "^8.5.0",
22
22
  "tsx": "^4.19.0",
23
23
  "typescript": "^5.8.0"
@@ -9,9 +9,9 @@
9
9
  "typecheck": "tsc --noEmit"
10
10
  },
11
11
  "dependencies": {
12
- "@guuey/agent-layout": "0.16.12",
13
- "@guuey/chat": "0.16.12",
14
- "@guuey/mcp-apps-host": "0.16.12",
12
+ "@guuey/agent-layout": "0.16.14",
13
+ "@guuey/chat": "0.16.14",
14
+ "@guuey/mcp-apps-host": "0.16.14",
15
15
  "oidc-client-ts": "^3.1.0",
16
16
  "qrcode": "^1.5.4",
17
17
  "react": "^19.0.0",
@@ -12,12 +12,12 @@
12
12
  },
13
13
  "dependencies": {
14
14
  "@openai/agents": "^0.12.0",
15
- "@guuey/config": "0.16.12",
16
- "@guuey/worker": "0.16.12"
15
+ "@guuey/config": "0.16.14",
16
+ "@guuey/worker": "0.16.14"
17
17
  },
18
18
  "devDependencies": {
19
19
  "@ggui-ai/cli": "0.13.0",
20
- "@guuey/cli": "0.16.12",
20
+ "@guuey/cli": "0.16.14",
21
21
  "tsup": "^8.5.0",
22
22
  "tsx": "^4.19.0",
23
23
  "typescript": "^5.8.0"
@@ -9,9 +9,9 @@
9
9
  "typecheck": "tsc --noEmit"
10
10
  },
11
11
  "dependencies": {
12
- "@guuey/agent-layout": "0.16.12",
13
- "@guuey/chat": "0.16.12",
14
- "@guuey/mcp-apps-host": "0.16.12",
12
+ "@guuey/agent-layout": "0.16.14",
13
+ "@guuey/chat": "0.16.14",
14
+ "@guuey/mcp-apps-host": "0.16.14",
15
15
  "oidc-client-ts": "^3.1.0",
16
16
  "qrcode": "^1.5.4",
17
17
  "react": "^19.0.0",
@@ -12,12 +12,12 @@
12
12
  },
13
13
  "dependencies": {
14
14
  "@anthropic-ai/claude-agent-sdk": "^0.3.199",
15
- "@guuey/config": "0.16.12",
16
- "@guuey/worker": "0.16.12"
15
+ "@guuey/config": "0.16.14",
16
+ "@guuey/worker": "0.16.14"
17
17
  },
18
18
  "devDependencies": {
19
19
  "@ggui-ai/cli": "0.13.0",
20
- "@guuey/cli": "0.16.12",
20
+ "@guuey/cli": "0.16.14",
21
21
  "tsup": "^8.5.0",
22
22
  "tsx": "^4.19.0",
23
23
  "typescript": "^5.8.0"
@@ -9,7 +9,7 @@
9
9
  "typecheck": "tsc --noEmit"
10
10
  },
11
11
  "dependencies": {
12
- "@guuey/chat": "0.16.12",
12
+ "@guuey/chat": "0.16.14",
13
13
  "oidc-client-ts": "^3.1.0",
14
14
  "qrcode": "^1.5.4",
15
15
  "react": "^19.0.0",
@@ -16,8 +16,8 @@
16
16
  },
17
17
  "devDependencies": {
18
18
  "@ggui-ai/cli": "0.13.0",
19
- "@guuey/cli": "0.16.12",
20
- "@guuey/config": "0.16.12",
19
+ "@guuey/cli": "0.16.14",
20
+ "@guuey/config": "0.16.14",
21
21
  "tsup": "^8.5.0",
22
22
  "tsx": "^4.19.0",
23
23
  "typescript": "^5.8.0"
@@ -9,7 +9,7 @@
9
9
  "typecheck": "tsc --noEmit"
10
10
  },
11
11
  "dependencies": {
12
- "@guuey/chat": "0.16.12",
12
+ "@guuey/chat": "0.16.14",
13
13
  "oidc-client-ts": "^3.1.0",
14
14
  "qrcode": "^1.5.4",
15
15
  "react": "^19.0.0",
@@ -12,12 +12,12 @@
12
12
  },
13
13
  "dependencies": {
14
14
  "@openai/agents": "^0.12.0",
15
- "@guuey/config": "0.16.12",
16
- "@guuey/worker": "0.16.12"
15
+ "@guuey/config": "0.16.14",
16
+ "@guuey/worker": "0.16.14"
17
17
  },
18
18
  "devDependencies": {
19
19
  "@ggui-ai/cli": "0.13.0",
20
- "@guuey/cli": "0.16.12",
20
+ "@guuey/cli": "0.16.14",
21
21
  "tsup": "^8.5.0",
22
22
  "tsx": "^4.19.0",
23
23
  "typescript": "^5.8.0"
@@ -9,7 +9,7 @@
9
9
  "typecheck": "tsc --noEmit"
10
10
  },
11
11
  "dependencies": {
12
- "@guuey/chat": "0.16.12",
12
+ "@guuey/chat": "0.16.14",
13
13
  "oidc-client-ts": "^3.1.0",
14
14
  "qrcode": "^1.5.4",
15
15
  "react": "^19.0.0",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@guuey/create-agentic-app",
3
- "version": "0.16.12",
3
+ "version": "0.16.14",
4
4
  "description": "Scaffold a guuey agentic app: code-mode agent + custom MCP + ggui + web, local pnpm dev, one-command guuey deploy.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -25,8 +25,8 @@
25
25
  "tsup": "^8.5.0",
26
26
  "typescript": "^5.8.0",
27
27
  "vitest": "^3.2.7",
28
- "@guuey/config": "0.16.12",
29
- "@guuey/worker": "0.16.12"
28
+ "@guuey/config": "0.16.14",
29
+ "@guuey/worker": "0.16.14"
30
30
  },
31
31
  "publishConfig": {
32
32
  "access": "public"