@brainpilot/backend-core 0.0.8 → 0.0.10

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.
package/dist/server.d.ts CHANGED
@@ -1,21 +1,30 @@
1
- /**
2
- * server.ts — boots the Hono app via @hono/node-server (§11A.3 / §11A.4 step 4).
3
- * Exported via the package's `./server` entry. The orchestrator's runtime is
4
- * started lazily on the first request that needs it; graceful shutdown stops it.
5
- */
6
1
  import { type ServerType } from "@hono/node-server";
7
2
  import { type CreateAppOptions } from "./app.js";
8
- import type { Orchestrator } from "./orchestrator.js";
3
+ import type { Orchestrator, OrchestratorMode } from "./orchestrator.js";
9
4
  export interface StartServerOptions extends Partial<CreateAppOptions> {
10
5
  /** Backend port. Default 9001 (§11A.5 决策 D). */
11
6
  port?: number;
12
7
  hostname?: string;
13
8
  /** Provide a pre-built orchestrator; otherwise one is created from env. */
14
9
  orchestrator?: Orchestrator;
10
+ /**
11
+ * Force the orchestrator mode. When omitted the mode is resolved from env
12
+ * (BP_ORCHESTRATOR / BP_RUNTIME_URL / BP_MODE). The `brainpilot up` CLI passes
13
+ * this explicitly so a stray BP_RUNTIME_URL can't silently flip a local
14
+ * source-launch into static (sandbox) mode.
15
+ */
16
+ mode?: OrchestratorMode;
15
17
  /** Eagerly ensure the runtime at boot (default false — lazy on first use). */
16
18
  eager?: boolean;
17
19
  /** When true, the runtime child inherits stdio (foreground CLI mode). */
18
20
  stdioInherit?: boolean;
21
+ /**
22
+ * Port the local runtime should bind. Forwarded to the local orchestrator so
23
+ * the foreground (in-process) path honours `--port` (runtime = backend + 1)
24
+ * instead of falling back to AGENT_RUNTIME_PORT/8081 (#171). The detached path
25
+ * injects the same value via the AGENT_RUNTIME_PORT env var (spawn-backend).
26
+ */
27
+ runtimePort?: number;
19
28
  }
20
29
  export interface RunningServer {
21
30
  server: ServerType;
@@ -23,5 +32,16 @@ export interface RunningServer {
23
32
  port: number;
24
33
  stop: () => Promise<void>;
25
34
  }
35
+ /**
36
+ * Build the orchestrator for a server from its options. Exposed (and pure) so
37
+ * the dataDir wiring is unit-testable without binding a socket.
38
+ *
39
+ * Issue #169: the local orchestrator MUST receive `options.dataDir` — it spawns
40
+ * the runtime child with `BP_DATA_DIR=<dataDir>`, and the runtime materializes
41
+ * skills / persists sessions under that root. Dropping it here made the runtime
42
+ * fall back to `./brainpilot` (relative to cwd) while the backend scaffold wrote
43
+ * to the requested `--dir`, splitting one launch across two data dirs.
44
+ */
45
+ export declare function buildServerOrchestrator(options?: StartServerOptions): Orchestrator;
26
46
  export declare function startServer(options?: StartServerOptions): Promise<RunningServer>;
27
47
  //# sourceMappingURL=server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAS,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAa,KAAK,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAG5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,MAAM,WAAW,kBAAmB,SAAQ,OAAO,CAAC,gBAAgB,CAAC;IACnE,gDAAgD;IAChD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2EAA2E;IAC3E,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,8EAA8E;IAC9E,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,yEAAyE;IACzE,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,UAAU,CAAC;IACnB,YAAY,EAAE,YAAY,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED,wBAAsB,WAAW,CAC/B,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,aAAa,CAAC,CAoDxB"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAMA,OAAO,EAAS,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAa,KAAK,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAG5D,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAExE,MAAM,WAAW,kBAAmB,SAAQ,OAAO,CAAC,gBAAgB,CAAC;IACnE,gDAAgD;IAChD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2EAA2E;IAC3E,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B;;;;;OAKG;IACH,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,8EAA8E;IAC9E,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,yEAAyE;IACzE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,UAAU,CAAC;IACnB,YAAY,EAAE,YAAY,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,GAAE,kBAAuB,GAC/B,YAAY,CAgBd;AAED,wBAAsB,WAAW,CAC/B,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,aAAa,CAAC,CA4DxB"}
package/dist/server.js CHANGED
@@ -3,19 +3,42 @@
3
3
  * Exported via the package's `./server` entry. The orchestrator's runtime is
4
4
  * started lazily on the first request that needs it; graceful shutdown stops it.
5
5
  */
6
+ import { pathToFileURL } from "node:url";
6
7
  import { serve } from "@hono/node-server";
7
8
  import { createApp } from "./app.js";
8
9
  import { createOrchestrator } from "./create-orchestrator.js";
9
- import { bootstrapEnvProvider } from "./config.js";
10
+ import { bootstrapEnvProvider, migrateLegacySettings } from "./config.js";
11
+ /**
12
+ * Build the orchestrator for a server from its options. Exposed (and pure) so
13
+ * the dataDir wiring is unit-testable without binding a socket.
14
+ *
15
+ * Issue #169: the local orchestrator MUST receive `options.dataDir` — it spawns
16
+ * the runtime child with `BP_DATA_DIR=<dataDir>`, and the runtime materializes
17
+ * skills / persists sessions under that root. Dropping it here made the runtime
18
+ * fall back to `./brainpilot` (relative to cwd) while the backend scaffold wrote
19
+ * to the requested `--dir`, splitting one launch across two data dirs.
20
+ */
21
+ export function buildServerOrchestrator(options = {}) {
22
+ return (options.orchestrator ??
23
+ createOrchestrator({
24
+ // Pass the mode explicitly when set (the `brainpilot up` CLI does) so a
25
+ // stray BP_RUNTIME_URL/BP_MODE in the environment can't silently flip a
26
+ // local source-launch into static/docker. When omitted, createOrchestrator
27
+ // falls back to env resolution (Docker compose relies on that path).
28
+ ...(options.mode ? { mode: options.mode } : {}),
29
+ local: {
30
+ dataDir: options.dataDir,
31
+ ...(options.runtimePort !== undefined ? { port: options.runtimePort } : {}),
32
+ ...(options.stdioInherit ? { stdioInherit: true } : {}),
33
+ },
34
+ }));
35
+ }
10
36
  export async function startServer(options = {}) {
11
37
  const port = options.port ?? Number(process.env.PORT ?? 9001);
12
38
  // 127.0.0.1 is the safe default for local/CLI use; containers set BP_HOST=0.0.0.0
13
39
  // so the published port (DNAT'd to the container IP) can reach the server.
14
40
  const hostname = options.hostname ?? process.env.BP_HOST ?? "127.0.0.1";
15
- const orchestrator = options.orchestrator ??
16
- createOrchestrator({
17
- local: options.stdioInherit ? { stdioInherit: true } : undefined,
18
- });
41
+ const orchestrator = buildServerOrchestrator(options);
19
42
  const app = createApp({
20
43
  orchestrator,
21
44
  dataDir: options.dataDir,
@@ -24,12 +47,23 @@ export async function startServer(options = {}) {
24
47
  serveWeb: options.serveWeb,
25
48
  env: options.env,
26
49
  });
50
+ const providerDataDir = options.dataDir ?? process.env.BP_DATA_DIR ?? "./brainpilot";
51
+ // #202: migrate a legacy plaintext-key settings.json (pre-rewrite layout) into
52
+ // providers.json before the env fallback runs — settings.json was a user's
53
+ // explicit config, so it outranks env projection. No-op once providers.json
54
+ // has any profile. Best-effort: a failure must not block startup.
55
+ try {
56
+ await migrateLegacySettings(providerDataDir);
57
+ }
58
+ catch {
59
+ // ignore — legacy migration is a convenience, not a startup gate
60
+ }
27
61
  // #51: seed a provider profile from env on first launch so an env-only
28
62
  // quick-start (ANTHROPIC_API_KEY etc.) surfaces an active provider in the Web
29
63
  // UI. No-op once providers.json has any profile. Best-effort: a failure here
30
64
  // must not block the server from starting.
31
65
  try {
32
- await bootstrapEnvProvider(options.dataDir ?? process.env.BP_DATA_DIR ?? "./brainpilot", options.env);
66
+ await bootstrapEnvProvider(providerDataDir, options.env);
33
67
  }
34
68
  catch {
35
69
  // ignore — env projection is a convenience, not a startup gate
@@ -54,8 +88,10 @@ export async function startServer(options = {}) {
54
88
  return { server, orchestrator, port, stop };
55
89
  }
56
90
  // Allow `node dist/server.js` to boot directly.
91
+ // pathToFileURL keeps the main-module check correct on Windows (a naive
92
+ // `file://${argv[1]}` never matches import.meta.url there).
57
93
  const isMain = typeof process.argv[1] === "string" &&
58
- import.meta.url === `file://${process.argv[1]}`;
94
+ import.meta.url === pathToFileURL(process.argv[1]).href;
59
95
  if (isMain) {
60
96
  startServer().then((s) => {
61
97
  // eslint-disable-next-line no-console
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"static-orchestrator.d.ts","sourceRoot":"","sources":["../src/static-orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EACV,oBAAoB,EACpB,YAAY,EACZ,aAAa,EACd,MAAM,mBAAmB,CAAC;AAc3B,MAAM,WAAW,yBAAyB;IACxC,gFAAgF;IAChF,OAAO,EAAE,MAAM,CAAC;IAChB,0EAA0E;IAC1E,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACpD,wEAAwE;IACxE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,wCAAwC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oCAAoC;IACpC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC;AAED,qBAAa,yBAA0B,YAAW,YAAY;IAC5D,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAwC;IACpE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgC;gBAE1C,OAAO,EAAE,yBAAyB;IAW9C,IAAI,OAAO,IAAI,MAAM,CAEpB;IAEK,aAAa,CAAC,KAAK,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,aAAa,CAAC;IAenE,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAI1B,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;CAGnC"}
1
+ {"version":3,"file":"static-orchestrator.d.ts","sourceRoot":"","sources":["../src/static-orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EACV,oBAAoB,EACpB,YAAY,EACZ,aAAa,EACd,MAAM,mBAAmB,CAAC;AAc3B,MAAM,WAAW,yBAAyB;IACxC,gFAAgF;IAChF,OAAO,EAAE,MAAM,CAAC;IAChB,0EAA0E;IAC1E,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACpD,wEAAwE;IACxE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,wCAAwC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oCAAoC;IACpC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC;AAED,qBAAa,yBAA0B,YAAW,YAAY;IAC5D,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAwC;IACpE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgC;gBAE1C,OAAO,EAAE,yBAAyB;IAW9C,IAAI,OAAO,IAAI,MAAM,CAEpB;IAEK,aAAa,CAAC,KAAK,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,aAAa,CAAC;IAqBnE,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAI1B,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;CAGnC"}
@@ -34,8 +34,14 @@ export class StaticRuntimeOrchestrator {
34
34
  return { baseUrl: this.url };
35
35
  if (Date.now() >= deadline) {
36
36
  throw new Error(`static runtime did not become healthy at ${this.url} within ` +
37
- `${this.healthTimeoutMs}ms — is the sandbox container up? ` +
38
- `(check \`docker compose logs sandbox\` and BP_RUNTIME_URL)`);
37
+ `${this.healthTimeoutMs}ms.\n` +
38
+ ` This is STATIC (sandbox) mode: the backend is trying to reach a ` +
39
+ `pre-started runtime container at BP_RUNTIME_URL.\n` +
40
+ ` • If you meant to run a Docker deployment: check it is up ` +
41
+ `(\`docker compose logs sandbox\`) and that BP_RUNTIME_URL is correct.\n` +
42
+ ` • If you meant to run from source: you likely have a stray ` +
43
+ `BP_RUNTIME_URL/BP_ORCHESTRATOR in your environment. Run ` +
44
+ `\`brainpilot up --mode local\` (or \`unset BP_RUNTIME_URL BP_ORCHESTRATOR\`).`);
39
45
  }
40
46
  await this.sleep(this.pollMs);
41
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"static-orchestrator.js","sourceRoot":"","sources":["../src/static-orchestrator.ts"],"names":[],"mappings":"AAiBA,KAAK,UAAU,kBAAkB,CAAC,OAAe;IAC/C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,SAAS,CAAC,CAAC;QAC7C,OAAO,GAAG,CAAC,EAAE,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,YAAY,GAAG,CAAC,EAAU,EAAiB,EAAE,CACjD,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAepD,MAAM,OAAO,yBAAyB;IACnB,GAAG,CAAS;IACZ,WAAW,CAAwC;IACnD,eAAe,CAAS;IACxB,MAAM,CAAS;IACf,KAAK,CAAgC;IAEtD,YAAY,OAAkC;QAC5C,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QACD,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC/C,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,kBAAkB,CAAC;QAC7D,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,MAAM,CAAC;QACzD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC;QACpC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,YAAY,CAAC;IAC7C,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,KAA4B;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC;QACnD,SAAS,CAAC;YACR,IAAI,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC;gBAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;YACnE,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CACb,4CAA4C,IAAI,CAAC,GAAG,UAAU;oBAC5D,GAAG,IAAI,CAAC,eAAe,oCAAoC;oBAC3D,4DAA4D,CAC/D,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM;QACV,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,WAAW;QACf,2DAA2D;IAC7D,CAAC;CACF"}
1
+ {"version":3,"file":"static-orchestrator.js","sourceRoot":"","sources":["../src/static-orchestrator.ts"],"names":[],"mappings":"AAiBA,KAAK,UAAU,kBAAkB,CAAC,OAAe;IAC/C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,SAAS,CAAC,CAAC;QAC7C,OAAO,GAAG,CAAC,EAAE,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,YAAY,GAAG,CAAC,EAAU,EAAiB,EAAE,CACjD,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAepD,MAAM,OAAO,yBAAyB;IACnB,GAAG,CAAS;IACZ,WAAW,CAAwC;IACnD,eAAe,CAAS;IACxB,MAAM,CAAS;IACf,KAAK,CAAgC;IAEtD,YAAY,OAAkC;QAC5C,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QACD,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC/C,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,kBAAkB,CAAC;QAC7D,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,MAAM,CAAC;QACzD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC;QACpC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,YAAY,CAAC;IAC7C,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,KAA4B;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC;QACnD,SAAS,CAAC;YACR,IAAI,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC;gBAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;YACnE,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CACb,4CAA4C,IAAI,CAAC,GAAG,UAAU;oBAC5D,GAAG,IAAI,CAAC,eAAe,OAAO;oBAC9B,oEAAoE;oBACpE,oDAAoD;oBACpD,8DAA8D;oBAC9D,yEAAyE;oBACzE,+DAA+D;oBAC/D,0DAA0D;oBAC1D,+EAA+E,CAClF,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM;QACV,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,WAAW;QACf,2DAA2D;IAC7D,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@brainpilot/backend-core",
3
- "version": "0.0.8",
3
+ "version": "0.0.10",
4
4
  "engines": {
5
5
  "node": ">=22"
6
6
  },
@@ -37,8 +37,8 @@
37
37
  "start": "node ./dist/server.js"
38
38
  },
39
39
  "dependencies": {
40
- "@brainpilot/protocol": "^0.0.8",
41
- "@brainpilot/runtime": "^0.0.8",
40
+ "@brainpilot/protocol": "^0.0.10",
41
+ "@brainpilot/runtime": "^0.0.10",
42
42
  "@hono/node-server": "^1.13.0",
43
43
  "hono": "^4.6.0"
44
44
  },