natroc 0.0.5 → 0.0.7

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.
Files changed (50) hide show
  1. package/package.json +1 -1
  2. package/server/dist/agent/auto-improver.d.ts +33 -0
  3. package/server/dist/agent/auto-improver.js +125 -0
  4. package/server/dist/agent/auto-improver.js.map +1 -0
  5. package/server/dist/agent/home-context.d.ts +11 -1
  6. package/server/dist/agent/home-context.js +124 -14
  7. package/server/dist/agent/home-context.js.map +1 -1
  8. package/server/dist/agent/improvement-engine.d.ts +1 -0
  9. package/server/dist/agent/improvement-engine.js +18 -0
  10. package/server/dist/agent/improvement-engine.js.map +1 -1
  11. package/server/dist/agent/tools/types.d.ts +6 -0
  12. package/server/dist/agent/tools/write-file.js +11 -1
  13. package/server/dist/agent/tools/write-file.js.map +1 -1
  14. package/server/dist/config/natroc-config.d.ts +41 -0
  15. package/server/dist/config/natroc-config.js +160 -0
  16. package/server/dist/config/natroc-config.js.map +1 -0
  17. package/server/dist/gateway/agent-service.d.ts +15 -1
  18. package/server/dist/gateway/agent-service.js +59 -7
  19. package/server/dist/gateway/agent-service.js.map +1 -1
  20. package/server/dist/gateway/gateway.js +9 -1
  21. package/server/dist/gateway/gateway.js.map +1 -1
  22. package/server/dist/gateway/index.js +2 -0
  23. package/server/dist/gateway/index.js.map +1 -1
  24. package/server/dist/gateway/rpc/agent.js +47 -0
  25. package/server/dist/gateway/rpc/agent.js.map +1 -1
  26. package/server/dist/gateway/rpc/auth.js +4 -0
  27. package/server/dist/gateway/rpc/auth.js.map +1 -1
  28. package/server/dist/gateway/rpc/conversations.js +11 -2
  29. package/server/dist/gateway/rpc/conversations.js.map +1 -1
  30. package/server/dist/gateway/rpc/home.d.ts +2 -0
  31. package/server/dist/gateway/rpc/home.js +45 -0
  32. package/server/dist/gateway/rpc/home.js.map +1 -0
  33. package/server/dist/local-runtime.d.ts +2 -0
  34. package/server/dist/local-runtime.js +5 -1
  35. package/server/dist/local-runtime.js.map +1 -1
  36. package/server/dist/runtime.d.ts +5 -1
  37. package/server/dist/runtime.js +2 -1
  38. package/server/dist/runtime.js.map +1 -1
  39. package/server/dist/server.js +6 -3
  40. package/server/dist/server.js.map +1 -1
  41. package/server/dist/storage/auth-repository.d.ts +5 -0
  42. package/server/dist/storage/auth-repository.js +6 -0
  43. package/server/dist/storage/auth-repository.js.map +1 -1
  44. package/server/dist/storage/memory-repository.d.ts +8 -0
  45. package/server/dist/storage/memory-repository.js +49 -26
  46. package/server/dist/storage/memory-repository.js.map +1 -1
  47. package/ui/dist/assets/{index-BiVH3g6R.js → index-C9vuE6UQ.js} +2 -2
  48. package/ui/dist/assets/index-DHIA01cO.css +2 -0
  49. package/ui/dist/index.html +2 -2
  50. package/ui/dist/assets/index-DOfPcjx3.css +0 -2
@@ -0,0 +1,45 @@
1
+ import { z } from "zod";
2
+ import { listHomeFiles, readHomeFile, writeHomeFile, } from "../../agent/home-context.js";
3
+ import { GatewayRpcError, requireAuth, } from "../types.js";
4
+ const HOME_FILE_NAME = z
5
+ .string()
6
+ .min(1)
7
+ .max(120)
8
+ // No traversal segments, no leading slash, no Windows drive letters.
9
+ .refine((value) => !value.includes("..") &&
10
+ !value.startsWith("/") &&
11
+ !/^[A-Za-z]:/.test(value), "Invalid file name.");
12
+ const readSchema = z.object({ name: HOME_FILE_NAME });
13
+ const writeSchema = z.object({
14
+ name: HOME_FILE_NAME,
15
+ content: z.string().max(256 * 1024),
16
+ });
17
+ export function registerHomeMethods(gateway) {
18
+ gateway.registerUnary("home.files.list", handleList);
19
+ gateway.registerUnary("home.file.read", handleRead);
20
+ gateway.registerUnary("home.file.write", handleWrite);
21
+ }
22
+ async function handleList(ctx) {
23
+ requireAuth(ctx);
24
+ const paths = requirePaths(ctx);
25
+ return { files: await listHomeFiles(paths) };
26
+ }
27
+ async function handleRead(ctx, params) {
28
+ requireAuth(ctx);
29
+ const paths = requirePaths(ctx);
30
+ const { name } = readSchema.parse(params);
31
+ return { name, content: await readHomeFile(paths, name) };
32
+ }
33
+ async function handleWrite(ctx, params) {
34
+ requireAuth(ctx);
35
+ const paths = requirePaths(ctx);
36
+ const { name, content } = writeSchema.parse(params);
37
+ return { file: await writeHomeFile(paths, name, content) };
38
+ }
39
+ function requirePaths(ctx) {
40
+ if (!ctx.runtime.paths) {
41
+ throw new GatewayRpcError("Home directory is not configured.", "storage_unavailable");
42
+ }
43
+ return ctx.runtime.paths;
44
+ }
45
+ //# sourceMappingURL=home.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"home.js","sourceRoot":"","sources":["../../../src/gateway/rpc/home.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EACL,aAAa,EACb,YAAY,EACZ,aAAa,GACd,MAAM,6BAA6B,CAAA;AAEpC,OAAO,EACL,eAAe,EACf,WAAW,GAEZ,MAAM,aAAa,CAAA;AAEpB,MAAM,cAAc,GAAG,CAAC;KACrB,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,GAAG,CAAC,GAAG,CAAC;IACT,qEAAqE;KACpE,MAAM,CACL,CAAC,KAAK,EAAE,EAAE,CACR,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;IACrB,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;IACtB,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAC3B,oBAAoB,CACrB,CAAA;AAEH,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAA;AACrD,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC;CACpC,CAAC,CAAA;AAEF,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IAClD,OAAO,CAAC,aAAa,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAA;IACpD,OAAO,CAAC,aAAa,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAA;IACnD,OAAO,CAAC,aAAa,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAA;AACvD,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,GAAsB;IAC9C,WAAW,CAAC,GAAG,CAAC,CAAA;IAChB,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,CAAA;IAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC,KAAK,CAAC,EAAE,CAAA;AAC9C,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,GAAsB,EAAE,MAAe;IAC/D,WAAW,CAAC,GAAG,CAAC,CAAA;IAChB,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,CAAA;IAC/B,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IACzC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAA;AAC3D,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,GAAsB,EAAE,MAAe;IAChE,WAAW,CAAC,GAAG,CAAC,CAAA;IAChB,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,CAAA;IAC/B,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IACnD,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,CAAA;AAC5D,CAAC;AAED,SAAS,YAAY,CAAC,GAAsB;IAC1C,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACvB,MAAM,IAAI,eAAe,CACvB,mCAAmC,EACnC,qBAAqB,CACtB,CAAA;IACH,CAAC;IACD,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,CAAA;AAC1B,CAAC"}
@@ -1,9 +1,11 @@
1
+ import { type NatrocConfig } from "./config/natroc-config.js";
1
2
  import { type DatabaseConnection } from "./storage/database.js";
2
3
  import type { RuntimeState } from "./runtime.js";
3
4
  import type { NatrocPaths } from "./config/natroc-home.js";
4
5
  export type LocalRuntime = {
5
6
  db: DatabaseConnection;
6
7
  paths: NatrocPaths;
8
+ config: NatrocConfig;
7
9
  runtime: RuntimeState;
8
10
  };
9
11
  export declare function createLocalRuntime(): Promise<LocalRuntime>;
@@ -1,15 +1,19 @@
1
1
  import { ensureNatrocHome, getNatrocPaths } from "./config/natroc-home.js";
2
+ import { ensureNatrocConfig, loadNatrocConfig, } from "./config/natroc-config.js";
2
3
  import { createRuntime } from "./runtime.js";
3
4
  import { openDatabase } from "./storage/database.js";
4
5
  import { ensureMasterKey } from "./storage/vault.js";
5
6
  export async function createLocalRuntime() {
6
7
  const paths = await ensureNatrocHome(getNatrocPaths());
8
+ await ensureNatrocConfig(paths);
9
+ const config = await loadNatrocConfig(paths);
7
10
  const masterKey = await ensureMasterKey(paths.masterKeyPath);
8
11
  const db = openDatabase(paths.databasePath);
9
- const runtime = createRuntime(db, masterKey, paths);
12
+ const runtime = createRuntime(db, masterKey, paths, config);
10
13
  return {
11
14
  db,
12
15
  paths,
16
+ config,
13
17
  runtime
14
18
  };
15
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"local-runtime.js","sourceRoot":"","sources":["../src/local-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,YAAY,EAA2B,MAAM,uBAAuB,CAAA;AAG7E,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAQpD,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC,CAAA;IACtD,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;IAC5D,MAAM,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;IAC3C,MAAM,OAAO,GAAG,aAAa,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,CAAA;IAEnD,OAAO;QACL,EAAE;QACF,KAAK;QACL,OAAO;KACR,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"local-runtime.js","sourceRoot":"","sources":["../src/local-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAC1E,OAAO,EACL,kBAAkB,EAClB,gBAAgB,GAEjB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,YAAY,EAA2B,MAAM,uBAAuB,CAAA;AAG7E,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AASpD,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC,CAAA;IACtD,MAAM,kBAAkB,CAAC,KAAK,CAAC,CAAA;IAC/B,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAA;IAC5C,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;IAC5D,MAAM,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;IAC3C,MAAM,OAAO,GAAG,aAAa,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;IAE3D,OAAO;QACL,EAAE;QACF,KAAK;QACL,MAAM;QACN,OAAO;KACR,CAAA;AACH,CAAC"}
@@ -9,6 +9,8 @@ import { ProviderRepository } from "./storage/provider-repository.js";
9
9
  import { ToolCallRepository } from "./storage/tool-call-repository.js";
10
10
  import { UsageRepository } from "./storage/usage-repository.js";
11
11
  import type { NatrocPaths } from "./config/natroc-home.js";
12
+ import type { NatrocConfig } from "./config/natroc-config.js";
13
+ import type { AutoImprover } from "./agent/auto-improver.js";
12
14
  export type RuntimeState = {
13
15
  db: DatabaseConnection;
14
16
  masterKey: Buffer;
@@ -43,5 +45,7 @@ export type RuntimeState = {
43
45
  broadcaster?: {
44
46
  broadcast: (event: string, payload: unknown) => void;
45
47
  };
48
+ config?: NatrocConfig;
49
+ autoImprover?: AutoImprover;
46
50
  };
47
- export declare function createRuntime(db: DatabaseConnection, masterKey: Buffer, paths?: NatrocPaths): RuntimeState;
51
+ export declare function createRuntime(db: DatabaseConnection, masterKey: Buffer, paths?: NatrocPaths, config?: NatrocConfig): RuntimeState;
@@ -8,11 +8,12 @@ import { ProjectRepository } from "./storage/project-repository.js";
8
8
  import { ProviderRepository } from "./storage/provider-repository.js";
9
9
  import { ToolCallRepository } from "./storage/tool-call-repository.js";
10
10
  import { UsageRepository } from "./storage/usage-repository.js";
11
- export function createRuntime(db, masterKey, paths) {
11
+ export function createRuntime(db, masterKey, paths, config) {
12
12
  const runtime = {
13
13
  db,
14
14
  masterKey,
15
15
  paths,
16
+ config,
16
17
  providers: new ProviderRepository(db),
17
18
  agents: new AgentRepository(db),
18
19
  usage: new UsageRepository(db),
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EACL,iBAAiB,GAElB,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAA;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAgD/D,MAAM,UAAU,aAAa,CAC3B,EAAsB,EACtB,SAAiB,EACjB,KAAmB;IAEnB,MAAM,OAAO,GAAiB;QAC5B,EAAE;QACF,SAAS;QACT,KAAK;QACL,SAAS,EAAE,IAAI,kBAAkB,CAAC,EAAE,CAAC;QACrC,MAAM,EAAE,IAAI,eAAe,CAAC,EAAE,CAAC;QAC/B,KAAK,EAAE,IAAI,eAAe,CAAC,EAAE,CAAC;QAC9B,QAAQ,EAAE,IAAI,iBAAiB,CAAC,EAAE,CAAC;QACnC,aAAa,EAAE,IAAI,sBAAsB,CAAC,EAAE,CAAC;QAC7C,QAAQ,EAAE,IAAI,gBAAgB,CAAC,EAAE,CAAC;QAClC,SAAS,EAAE,IAAI,kBAAkB,CAAC,EAAE,CAAC;QACrC,QAAQ,EAAE,IAAI,iBAAiB,CAAC,EAAE,CAAC;QACnC,IAAI,EAAE,IAAI,cAAc,CAAC,EAAE,CAAC;KAC7B,CAAA;IACD,OAAO,CAAC,cAAc,GAAG,IAAI,qBAAqB,CAAC,OAAO,CAAC,CAAA;IAE3D,OAAO,OAAO,CAAA;AAChB,CAAC"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EACL,iBAAiB,GAElB,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAA;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAoD/D,MAAM,UAAU,aAAa,CAC3B,EAAsB,EACtB,SAAiB,EACjB,KAAmB,EACnB,MAAqB;IAErB,MAAM,OAAO,GAAiB;QAC5B,EAAE;QACF,SAAS;QACT,KAAK;QACL,MAAM;QACN,SAAS,EAAE,IAAI,kBAAkB,CAAC,EAAE,CAAC;QACrC,MAAM,EAAE,IAAI,eAAe,CAAC,EAAE,CAAC;QAC/B,KAAK,EAAE,IAAI,eAAe,CAAC,EAAE,CAAC;QAC9B,QAAQ,EAAE,IAAI,iBAAiB,CAAC,EAAE,CAAC;QACnC,aAAa,EAAE,IAAI,sBAAsB,CAAC,EAAE,CAAC;QAC7C,QAAQ,EAAE,IAAI,gBAAgB,CAAC,EAAE,CAAC;QAClC,SAAS,EAAE,IAAI,kBAAkB,CAAC,EAAE,CAAC;QACrC,QAAQ,EAAE,IAAI,iBAAiB,CAAC,EAAE,CAAC;QACnC,IAAI,EAAE,IAAI,cAAc,CAAC,EAAE,CAAC;KAC7B,CAAA;IACD,OAAO,CAAC,cAAc,GAAG,IAAI,qBAAqB,CAAC,OAAO,CAAC,CAAA;IAE3D,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -1,9 +1,12 @@
1
1
  import { buildApp } from "./app.js";
2
2
  import { createLocalRuntime } from "./local-runtime.js";
3
3
  export async function startServer(options = {}) {
4
- const PORT = options.port ?? Number(process.env.NATROC_SERVER_PORT ?? 37789);
5
- const HOST = options.host ?? process.env.NATROC_SERVER_HOST ?? "127.0.0.1";
6
- const { runtime } = await createLocalRuntime();
4
+ const { runtime, config } = await createLocalRuntime();
5
+ const PORT = options.port ??
6
+ (process.env.NATROC_SERVER_PORT
7
+ ? Number(process.env.NATROC_SERVER_PORT)
8
+ : config.server.port);
9
+ const HOST = options.host ?? process.env.NATROC_SERVER_HOST ?? config.server.host;
7
10
  await runtime.channelRuntime?.startEnabledAccounts();
8
11
  const app = buildApp({ runtime });
9
12
  await app.listen({
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AACnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAOvD,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,UAA8B,EAAE;IAChE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,KAAK,CAAC,CAAA;IAC5E,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,WAAW,CAAA;IAC1E,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,kBAAkB,EAAE,CAAA;IAC9C,MAAM,OAAO,CAAC,cAAc,EAAE,oBAAoB,EAAE,CAAA;IACpD,MAAM,GAAG,GAAG,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;IAEjC,MAAM,GAAG,CAAC,MAAM,CAAC;QACf,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,IAAI;KACX,CAAC,CAAA;IAEF,OAAO;QACL,GAAG;QACH,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,IAAI;KACX,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AACnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAOvD,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,UAA8B,EAAE;IAChE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,kBAAkB,EAAE,CAAA;IACtD,MAAM,IAAI,GACR,OAAO,CAAC,IAAI;QACZ,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB;YAC7B,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;YACxC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACzB,MAAM,IAAI,GACR,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAA;IACtE,MAAM,OAAO,CAAC,cAAc,EAAE,oBAAoB,EAAE,CAAA;IACpD,MAAM,GAAG,GAAG,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;IAEjC,MAAM,GAAG,CAAC,MAAM,CAAC;QACf,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,IAAI;KACX,CAAC,CAAA;IAEF,OAAO;QACL,GAAG;QACH,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,IAAI;KACX,CAAA;AACH,CAAC"}
@@ -29,6 +29,11 @@ export declare class AuthRepository {
29
29
  countUsers(): number;
30
30
  /** Returns the id of the earliest-created user, or null if none exist. */
31
31
  getFirstUserId(): string | null;
32
+ /** Lightweight enumeration for background jobs. */
33
+ listUsers(): Array<{
34
+ id: string;
35
+ username: string;
36
+ }>;
32
37
  createUser(input: CreateUserInput): UserRecord;
33
38
  getUserByUsername(username: string): UserWithSecret | null;
34
39
  getUserById(id: string): UserRecord | null;
@@ -19,6 +19,12 @@ export class AuthRepository {
19
19
  .get();
20
20
  return row?.id ?? null;
21
21
  }
22
+ /** Lightweight enumeration for background jobs. */
23
+ listUsers() {
24
+ return this.db
25
+ .prepare("SELECT id, username FROM users ORDER BY created_at ASC")
26
+ .all();
27
+ }
22
28
  createUser(input) {
23
29
  const id = crypto.randomUUID();
24
30
  const now = new Date().toISOString();
@@ -1 +1 @@
1
- {"version":3,"file":"auth-repository.js","sourceRoot":"","sources":["../../src/storage/auth-repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth-repository.js","sourceRoot":"","sources":["../../src/storage/auth-repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEzC,OAAO,EACL,4BAA4B,GAE7B,MAAM,eAAe,CAAA;AAgDtB,MAAM,cAAc,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA,CAAC,UAAU;AAE1D,MAAM,OAAO,cAAc;IACI;IAA7B,YAA6B,EAAsB;QAAtB,OAAE,GAAF,EAAE,CAAoB;IAAG,CAAC;IAEvD,UAAU;QACR,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE;aAChB,OAAO,CAAC,qCAAqC,CAAC;aAC9C,GAAG,EAAuB,CAAA;QAE7B,OAAO,GAAG,CAAC,KAAK,CAAA;IAClB,CAAC;IAED,0EAA0E;IAC1E,cAAc;QACZ,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE;aAChB,OAAO,CAAC,sDAAsD,CAAC;aAC/D,GAAG,EAAiC,CAAA;QAEvC,OAAO,GAAG,EAAE,EAAE,IAAI,IAAI,CAAA;IACxB,CAAC;IAED,mDAAmD;IACnD,SAAS;QACP,OAAO,IAAI,CAAC,EAAE;aACX,OAAO,CAAC,wDAAwD,CAAC;aACjE,GAAG,EAA6C,CAAA;IACrD,CAAC;IAED,UAAU,CAAC,KAAsB;QAC/B,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE,CAAA;QAC9B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;QAEpC,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;;;;;;;;;;;OAWD,CACA;aACA,GAAG,CACF,EAAE,EACF,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,YAAY,EAClB,GAAG,EACH,GAAG,CACJ,CAAA;QAEH,4BAA4B,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAErC,OAAO;YACL,EAAE;YACF,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,cAAc,EAAE,IAAI;YACpB,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,GAAG;SACf,CAAA;IACH,CAAC;IAED,iBAAiB,CAAC,QAAgB;QAChC,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE;aAChB,OAAO,CAAC,wCAAwC,CAAC;aACjD,GAAG,CAAC,QAAQ,CAAwB,CAAA;QAEvC,OAAO,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAC5C,CAAC;IAED,WAAW,CAAC,EAAU;QACpB,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE;aAChB,OAAO,CAAC,kCAAkC,CAAC;aAC3C,GAAG,CAAC,EAAE,CAAwB,CAAA;QAEjC,OAAO,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAClC,CAAC;IAED,qBAAqB,CAAC,EAAU;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE;aAChB,OAAO,CAAC,kCAAkC,CAAC;aAC3C,GAAG,CAAC,EAAE,CAAwB,CAAA;QAEjC,OAAO,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAC5C,CAAC;IAED,cAAc,CAAC,KAId;QACC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;QAEpC,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;;;;OAID,CACA;aACA,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;QAEjE,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IACvC,CAAC;IAED,oBAAoB,CAClB,MAAc,EACd,cAA6B;QAE7B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;QAEpC,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;;;;OAID,CACA;aACA,GAAG,CAAC,cAAc,EAAE,GAAG,EAAE,MAAM,CAAC,CAAA;QAEnC,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;IACjC,CAAC;IAED,aAAa,CAAC,MAAc;QAC1B,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACtB,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAA;QAC7C,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,cAAc,CAAC,CAAC,WAAW,EAAE,CAAA;QAE9D,IAAI,CAAC,EAAE;aACJ,OAAO,CACN,mFAAmF,CACpF;aACA,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;QAE3C,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,CAAA;IAChD,CAAC;IAED,cAAc,CAAC,KAAa;QAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE;aAChB,OAAO,CAAC,wCAAwC,CAAC;aACjD,GAAG,CAAC,KAAK,CAA2B,CAAA;QAEvC,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAA;QAErB,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YACpD,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;YACzB,OAAO,IAAI,CAAA;QACb,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IACtC,CAAC;IAED,aAAa,CAAC,KAAa;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE;aACnB,OAAO,CAAC,sCAAsC,CAAC;aAC/C,GAAG,CAAC,KAAK,CAAC,CAAA;QAEb,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IACnC,CAAC;CACF;AAED,SAAS,OAAO,CAAC,GAAY;IAC3B,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,QAAQ,EAAE,GAAG,CAAC,SAAS;QACvB,cAAc,EAAE,GAAG,CAAC,gBAAgB,IAAI,IAAI;QAC5C,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,SAAS,EAAE,GAAG,CAAC,UAAU;KAC1B,CAAA;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAY;IACrC,OAAO;QACL,GAAG,OAAO,CAAC,GAAG,CAAC;QACf,YAAY,EAAE,GAAG,CAAC,aAAa;QAC/B,YAAY,EAAE,GAAG,CAAC,aAAa;KAChC,CAAA;AACH,CAAC"}
@@ -60,6 +60,14 @@ export declare class MemoryRepository {
60
60
  getProposal(id: string, options?: {
61
61
  userId?: string;
62
62
  }): ImprovementProposal | null;
63
+ /** Insert an active memory entry directly, without a proposal row. */
64
+ createApprovedEntry(input: {
65
+ userId?: string | null;
66
+ kind: AgentMemoryKind;
67
+ title: string;
68
+ content: string;
69
+ sourceConversationId?: string | null;
70
+ }): AgentMemoryEntry;
63
71
  approveProposal(id: string, options?: {
64
72
  userId?: string;
65
73
  }): AgentMemoryEntry;
@@ -106,20 +106,20 @@ export class MemoryRepository {
106
106
  throw new Error("Improvement proposal content cannot be empty.");
107
107
  }
108
108
  this.db
109
- .prepare(`
109
+ .prepare(`
110
110
  INSERT INTO improvement_proposals (
111
111
  id,
112
112
  user_id,
113
113
  kind,
114
- title,
115
- content,
116
- reason,
117
- source_conversation_id,
118
- status,
119
- created_at,
120
- updated_at,
121
- decided_at
122
- )
114
+ title,
115
+ content,
116
+ reason,
117
+ source_conversation_id,
118
+ status,
119
+ created_at,
120
+ updated_at,
121
+ decided_at
122
+ )
123
123
  VALUES (?, ?, ?, ?, ?, ?, ?, 'pending', ?, ?, NULL)
124
124
  `)
125
125
  .run(id, input.userId ?? null, input.kind, title, content, reason || "Generated from agent activity.", input.sourceConversationId ?? null, now, now);
@@ -169,6 +169,29 @@ export class MemoryRepository {
169
169
  .get(id);
170
170
  return row ? mapProposalRow(row) : null;
171
171
  }
172
+ /** Insert an active memory entry directly, without a proposal row. */
173
+ createApprovedEntry(input) {
174
+ const id = crypto.randomUUID();
175
+ const now = new Date().toISOString();
176
+ this.db
177
+ .prepare(`
178
+ INSERT INTO agent_memory_entries (
179
+ id,
180
+ user_id,
181
+ kind,
182
+ title,
183
+ content,
184
+ source_conversation_id,
185
+ status,
186
+ created_at,
187
+ updated_at
188
+ )
189
+ VALUES (?, ?, ?, ?, ?, ?, 'active', ?, ?)
190
+ `)
191
+ .run(id, input.userId ?? null, input.kind, input.title, input.content, input.sourceConversationId ?? null, now, now);
192
+ return (this.getEntry(id, input.userId ? { userId: input.userId } : {}) ??
193
+ failPersisted("Memory entry"));
194
+ }
172
195
  approveProposal(id, options = {}) {
173
196
  const proposal = this.getProposal(id, options);
174
197
  if (!proposal) {
@@ -181,26 +204,26 @@ export class MemoryRepository {
181
204
  const entryId = crypto.randomUUID();
182
205
  runInTransaction(this.db, () => {
183
206
  this.db
184
- .prepare(`
207
+ .prepare(`
185
208
  INSERT INTO agent_memory_entries (
186
209
  id,
187
210
  user_id,
188
211
  kind,
189
- title,
190
- content,
191
- source_conversation_id,
192
- status,
193
- created_at,
194
- updated_at
195
- )
212
+ title,
213
+ content,
214
+ source_conversation_id,
215
+ status,
216
+ created_at,
217
+ updated_at
218
+ )
196
219
  VALUES (?, ?, ?, ?, ?, ?, 'active', ?, ?)
197
220
  `)
198
221
  .run(entryId, proposal.userId, proposal.kind, proposal.title, proposal.content, proposal.sourceConversationId, now, now);
199
222
  this.db
200
- .prepare(`
201
- UPDATE improvement_proposals
202
- SET status = 'approved', updated_at = ?, decided_at = ?
203
- WHERE id = ?
223
+ .prepare(`
224
+ UPDATE improvement_proposals
225
+ SET status = 'approved', updated_at = ?, decided_at = ?
226
+ WHERE id = ?
204
227
  `)
205
228
  .run(now, now, id);
206
229
  });
@@ -216,10 +239,10 @@ export class MemoryRepository {
216
239
  }
217
240
  const now = new Date().toISOString();
218
241
  this.db
219
- .prepare(`
220
- UPDATE improvement_proposals
221
- SET status = 'rejected', updated_at = ?, decided_at = ?
222
- WHERE id = ?
242
+ .prepare(`
243
+ UPDATE improvement_proposals
244
+ SET status = 'rejected', updated_at = ?, decided_at = ?
245
+ WHERE id = ?
223
246
  `)
224
247
  .run(now, now, id);
225
248
  return this.getProposal(id, options) ?? failPersisted("Improvement proposal");
@@ -1 +1 @@
1
- {"version":3,"file":"memory-repository.js","sourceRoot":"","sources":["../../src/storage/memory-repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory-repository.js","sourceRoot":"","sources":["../../src/storage/memory-repository.ts"],"names":[],"mappings":"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"}