@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/app.d.ts.map +1 -1
- package/dist/app.js +148 -1
- package/dist/app.js.map +1 -1
- package/dist/config.d.ts +10 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +54 -2
- package/dist/config.js.map +1 -1
- package/dist/docker-orchestrator.d.ts.map +1 -1
- package/dist/docker-orchestrator.js +19 -1
- package/dist/docker-orchestrator.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/kb-builder.d.ts +89 -0
- package/dist/kb-builder.d.ts.map +1 -0
- package/dist/kb-builder.js +423 -0
- package/dist/kb-builder.js.map +1 -0
- package/dist/local-orchestrator.d.ts.map +1 -1
- package/dist/local-orchestrator.js +8 -1
- package/dist/local-orchestrator.js.map +1 -1
- package/dist/provider-probe.d.ts.map +1 -1
- package/dist/provider-probe.js +9 -2
- package/dist/provider-probe.js.map +1 -1
- package/dist/server.d.ts +26 -6
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +43 -7
- package/dist/server.js.map +1 -1
- package/dist/static-orchestrator.d.ts.map +1 -1
- package/dist/static-orchestrator.js +8 -2
- package/dist/static-orchestrator.js.map +1 -1
- package/package.json +3 -3
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
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"
|
|
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
|
|
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(
|
|
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 ===
|
|
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
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,KAAK,EAAmB,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAyB,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;
|
|
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;
|
|
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
|
|
38
|
-
`(
|
|
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,
|
|
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.
|
|
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.
|
|
41
|
-
"@brainpilot/runtime": "^0.0.
|
|
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
|
},
|