@cohaku/cli 0.2.6 → 0.2.8

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.
@@ -5,8 +5,8 @@
5
5
  <link rel="icon" type="image/svg+xml" href="/vite.svg" />
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
7
  <title>dashboard</title>
8
- <script type="module" crossorigin src="/assets/index-VgrI7y2q.js"></script>
9
- <link rel="stylesheet" crossorigin href="/assets/index-BbaNHCTp.css">
8
+ <script type="module" crossorigin src="/assets/index-uzAxYmEZ.js"></script>
9
+ <link rel="stylesheet" crossorigin href="/assets/index-BEGYqqtj.css">
10
10
  </head>
11
11
  <body>
12
12
  <div id="root"></div>
package/dist/index.js CHANGED
@@ -5,7 +5,7 @@ import {
5
5
  __commonJS,
6
6
  __require,
7
7
  __toESM
8
- } from "./chunk-2CDNPZUE.js";
8
+ } from "./chunk-ZELLRTG5.js";
9
9
 
10
10
  // ../../node_modules/.pnpm/commander@14.0.3/node_modules/commander/lib/error.js
11
11
  var require_error = __commonJS({
@@ -3461,19 +3461,19 @@ var {
3461
3461
  var program2 = new Command();
3462
3462
  program2.name("cohaku").description("Cohaku AI \u2014 persistent memory layer for coding agents").version(VERSION);
3463
3463
  program2.command("mcp").description("Start MCP server (stdio transport)").action(async () => {
3464
- const { mcpCommand } = await import("./mcp-QOTZLT7H.js");
3464
+ const { mcpCommand } = await import("./mcp-OUXSA2GV.js");
3465
3465
  await mcpCommand();
3466
3466
  });
3467
3467
  program2.command("start").description("Start MCP server + dashboard together").option("-p, --port <port>", "Dashboard port", String(24200)).action(async (opts) => {
3468
- const { startCommand } = await import("./start-VKAEMLQE.js");
3468
+ const { startCommand } = await import("./start-S5JBNPBO.js");
3469
3469
  await startCommand({ port: Number(opts.port) });
3470
3470
  });
3471
3471
  program2.command("serve").description("Start HTTP API server with dashboard (no MCP)").option("-p, --port <port>", "Port number", String(24200)).action(async (opts) => {
3472
- const { serveCommand } = await import("./serve-3QZ3TVQG.js");
3472
+ const { serveCommand } = await import("./serve-2QVCMO3C.js");
3473
3473
  await serveCommand({ port: Number(opts.port) });
3474
3474
  });
3475
3475
  program2.command("status").description("Show current status and memory statistics").action(async () => {
3476
- const { statusCommand } = await import("./status-PG7GHTRM.js");
3476
+ const { statusCommand } = await import("./status-NYW3OOGW.js");
3477
3477
  await statusCommand();
3478
3478
  });
3479
3479
  program2.parse();
@@ -2,15 +2,15 @@ import { createRequire } from 'module'; const require = createRequire(import.met
2
2
  import {
3
3
  StdioServerTransport,
4
4
  createServer
5
- } from "./chunk-2MC3FCZP.js";
5
+ } from "./chunk-MU3X6KBC.js";
6
6
  import {
7
7
  checkForUpdate,
8
8
  printBanner
9
- } from "./chunk-7WYEO45L.js";
9
+ } from "./chunk-SJZY3OAT.js";
10
10
  import {
11
11
  createEngine
12
- } from "./chunk-HMH4HWDA.js";
13
- import "./chunk-2CDNPZUE.js";
12
+ } from "./chunk-HUMYWLCL.js";
13
+ import "./chunk-ZELLRTG5.js";
14
14
 
15
15
  // src/commands/mcp.ts
16
16
  async function mcpCommand() {
@@ -2,15 +2,15 @@ import { createRequire } from 'module'; const require = createRequire(import.met
2
2
  import {
3
3
  createApi,
4
4
  serve
5
- } from "./chunk-437HAVIY.js";
5
+ } from "./chunk-XD75S5BU.js";
6
6
  import {
7
7
  checkForUpdate,
8
8
  printBanner
9
- } from "./chunk-7WYEO45L.js";
9
+ } from "./chunk-SJZY3OAT.js";
10
10
  import {
11
11
  createEngine
12
- } from "./chunk-HMH4HWDA.js";
13
- import "./chunk-2CDNPZUE.js";
12
+ } from "./chunk-HUMYWLCL.js";
13
+ import "./chunk-ZELLRTG5.js";
14
14
 
15
15
  // src/commands/serve.ts
16
16
  import { join, dirname } from "path";
@@ -20,7 +20,7 @@ var DEFAULT_PORT = 24200;
20
20
  async function serveCommand(opts) {
21
21
  const port = opts.port ?? Number(process.env["COHAKU_DASHBOARD_PORT"] ?? DEFAULT_PORT);
22
22
  const { engine, dbPath, projectId } = await createEngine();
23
- const app = createApi(engine);
23
+ const app = createApi(engine, { projectId });
24
24
  const __dirname = dirname(fileURLToPath(import.meta.url));
25
25
  const dashboardDir = join(__dirname, "dashboard");
26
26
  if (existsSync(dashboardDir)) {
@@ -2,19 +2,19 @@ import { createRequire } from 'module'; const require = createRequire(import.met
2
2
  import {
3
3
  StdioServerTransport,
4
4
  createServer
5
- } from "./chunk-2MC3FCZP.js";
5
+ } from "./chunk-MU3X6KBC.js";
6
6
  import {
7
7
  createApi,
8
8
  serve
9
- } from "./chunk-437HAVIY.js";
9
+ } from "./chunk-XD75S5BU.js";
10
10
  import {
11
11
  checkForUpdate,
12
12
  printBanner
13
- } from "./chunk-7WYEO45L.js";
13
+ } from "./chunk-SJZY3OAT.js";
14
14
  import {
15
15
  createEngine
16
- } from "./chunk-HMH4HWDA.js";
17
- import "./chunk-2CDNPZUE.js";
16
+ } from "./chunk-HUMYWLCL.js";
17
+ import "./chunk-ZELLRTG5.js";
18
18
 
19
19
  // src/commands/start.ts
20
20
  import { join, dirname } from "path";
@@ -27,7 +27,7 @@ async function startCommand(opts) {
27
27
  const mcpServer = createServer(engine);
28
28
  const transport = new StdioServerTransport();
29
29
  let dashboardUrl;
30
- const app = createApi(engine);
30
+ const app = createApi(engine, { projectId });
31
31
  const __dirname = dirname(fileURLToPath(import.meta.url));
32
32
  const dashboardDir = join(__dirname, "dashboard");
33
33
  if (existsSync(dashboardDir)) {
@@ -3,10 +3,10 @@ import {
3
3
  createEngine,
4
4
  detectProjectId,
5
5
  getDbPath
6
- } from "./chunk-HMH4HWDA.js";
6
+ } from "./chunk-HUMYWLCL.js";
7
7
  import {
8
8
  VERSION
9
- } from "./chunk-2CDNPZUE.js";
9
+ } from "./chunk-ZELLRTG5.js";
10
10
 
11
11
  // src/commands/status.ts
12
12
  import { existsSync, statSync } from "fs";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cohaku/cli",
3
- "version": "0.2.6",
3
+ "version": "0.2.8",
4
4
  "description": "CLI for Cohaku AI — persistent memory layer for coding agents",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -37,6 +37,7 @@
37
37
  },
38
38
  "devDependencies": {
39
39
  "@cohaku/api": "workspace:*",
40
+ "@cohaku/dashboard": "workspace:*",
40
41
  "@cohaku/core": "workspace:*",
41
42
  "@cohaku/mcp": "workspace:*",
42
43
  "@cohaku/shared": "workspace:*",
@@ -1 +0,0 @@
1
- @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-tracking:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-cyan-300:oklch(86.5% .127 207.078);--color-cyan-400:oklch(78.9% .154 211.53);--color-cyan-500:oklch(71.5% .143 215.221);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-indigo-300:oklch(78.5% .115 274.713);--color-indigo-500:oklch(58.5% .233 277.117);--color-violet-300:oklch(81.1% .111 293.571);--color-violet-500:oklch(60.6% .25 292.717);--color-purple-300:oklch(82.7% .119 306.383);--color-purple-500:oklch(62.7% .265 303.9);--color-zinc-100:oklch(96.7% .001 286.375);--color-zinc-200:oklch(92% .004 286.32);--color-zinc-300:oklch(87.1% .006 286.286);--color-zinc-400:oklch(70.5% .015 286.067);--color-zinc-500:oklch(55.2% .016 285.938);--color-zinc-600:oklch(44.2% .017 285.786);--color-zinc-700:oklch(37% .013 285.805);--color-zinc-800:oklch(27.4% .006 286.033);--color-zinc-900:oklch(21% .006 285.885);--color-zinc-950:oklch(14.1% .005 285.823);--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.end{inset-inline-end:var(--spacing)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-auto{margin-left:auto}.flex{display:flex}.h-2{height:calc(var(--spacing) * 2)}.h-screen{height:100vh}.max-h-60{max-height:calc(var(--spacing) * 60)}.min-h-20{min-height:calc(var(--spacing) * 20)}.w-2{width:calc(var(--spacing) * 2)}.w-40{width:calc(var(--spacing) * 40)}.w-56{width:calc(var(--spacing) * 56)}.w-full{width:100%}.flex-1{flex:1}.shrink-0{flex-shrink:0}.resize-y{resize:vertical}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.gap-1{gap:calc(var(--spacing) * 1)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}.overflow-auto{overflow:auto}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-zinc-700{border-color:var(--color-zinc-700)}.border-zinc-800{border-color:var(--color-zinc-800)}.border-zinc-800\/50{border-color:#27272a80}@supports (color:color-mix(in lab,red,red)){.border-zinc-800\/50{border-color:color-mix(in oklab,var(--color-zinc-800) 50%,transparent)}}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/10{background-color:color-mix(in oklab,var(--color-amber-500) 10%,transparent)}}.bg-amber-600{background-color:var(--color-amber-600)}.bg-blue-500\/20{background-color:#3080ff33}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\/20{background-color:color-mix(in oklab,var(--color-blue-500) 20%,transparent)}}.bg-cyan-500\/10{background-color:#00b7d71a}@supports (color:color-mix(in lab,red,red)){.bg-cyan-500\/10{background-color:color-mix(in oklab,var(--color-cyan-500) 10%,transparent)}}.bg-green-400{background-color:var(--color-green-400)}.bg-green-500\/10{background-color:#00c7581a}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/10{background-color:color-mix(in oklab,var(--color-green-500) 10%,transparent)}}.bg-green-500\/20{background-color:#00c75833}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/20{background-color:color-mix(in oklab,var(--color-green-500) 20%,transparent)}}.bg-indigo-500\/10{background-color:#625fff1a}@supports (color:color-mix(in lab,red,red)){.bg-indigo-500\/10{background-color:color-mix(in oklab,var(--color-indigo-500) 10%,transparent)}}.bg-purple-500\/10{background-color:#ac4bff1a}@supports (color:color-mix(in lab,red,red)){.bg-purple-500\/10{background-color:color-mix(in oklab,var(--color-purple-500) 10%,transparent)}}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/10{background-color:color-mix(in oklab,var(--color-red-500) 10%,transparent)}}.bg-red-500\/20{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/20{background-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.bg-violet-500\/10{background-color:#8d54ff1a}@supports (color:color-mix(in lab,red,red)){.bg-violet-500\/10{background-color:color-mix(in oklab,var(--color-violet-500) 10%,transparent)}}.bg-zinc-500\/10{background-color:#71717b1a}@supports (color:color-mix(in lab,red,red)){.bg-zinc-500\/10{background-color:color-mix(in oklab,var(--color-zinc-500) 10%,transparent)}}.bg-zinc-600{background-color:var(--color-zinc-600)}.bg-zinc-700{background-color:var(--color-zinc-700)}.bg-zinc-800{background-color:var(--color-zinc-800)}.bg-zinc-900{background-color:var(--color-zinc-900)}.bg-zinc-950{background-color:var(--color-zinc-950)}.p-1{padding:calc(var(--spacing) * 1)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-5{padding-block:calc(var(--spacing) * 5)}.font-mono{font-family:var(--font-mono)}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.whitespace-pre-wrap{white-space:pre-wrap}.text-amber-300{color:var(--color-amber-300)}.text-amber-400{color:var(--color-amber-400)}.text-amber-500{color:var(--color-amber-500)}.text-blue-400{color:var(--color-blue-400)}.text-cyan-300{color:var(--color-cyan-300)}.text-cyan-400{color:var(--color-cyan-400)}.text-green-400{color:var(--color-green-400)}.text-indigo-300{color:var(--color-indigo-300)}.text-purple-300{color:var(--color-purple-300)}.text-red-300{color:var(--color-red-300)}.text-red-400{color:var(--color-red-400)}.text-violet-300{color:var(--color-violet-300)}.text-white{color:var(--color-white)}.text-zinc-200{color:var(--color-zinc-200)}.text-zinc-300{color:var(--color-zinc-300)}.text-zinc-400{color:var(--color-zinc-400)}.text-zinc-500{color:var(--color-zinc-500)}.text-zinc-600{color:var(--color-zinc-600)}.opacity-50{opacity:.5}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media(hover:hover){.hover\:border-zinc-700:hover{border-color:var(--color-zinc-700)}.hover\:bg-amber-500:hover{background-color:var(--color-amber-500)}.hover\:bg-zinc-800:hover{background-color:var(--color-zinc-800)}.hover\:text-red-400:hover{color:var(--color-red-400)}.hover\:text-zinc-200:hover{color:var(--color-zinc-200)}.hover\:text-zinc-300:hover{color:var(--color-zinc-300)}}}body{background-color:var(--color-zinc-950);color:var(--color-zinc-100);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;margin:0}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}