natroc 0.0.5 → 0.0.6

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "natroc",
3
- "version": "0.0.5",
3
+ "version": "0.0.6",
4
4
  "description": "Ultimate Personal AI Agent that can perform complex tasks and even become a Personal Assistant",
5
5
  "type": "module",
6
6
  "bin": {
@@ -26,4 +26,14 @@ export declare function loadHomeContext(paths: NatrocPaths | undefined, options?
26
26
  }): Promise<HomeContext>;
27
27
  export declare function listHomeContextFiles(paths: NatrocPaths | undefined): Promise<string[]>;
28
28
  export declare function resolveHomeFilePath(paths: NatrocPaths, fileName: string): string;
29
- export declare function buildAgentSystemPrompt(context: HomeContext, memories?: AgentSystemMemory[], conversationThreads?: AgentConversationRecall[]): string;
29
+ export type HomeFileEntry = {
30
+ name: string;
31
+ sizeBytes: number;
32
+ modifiedAt: string;
33
+ };
34
+ export declare function listHomeFiles(paths: NatrocPaths): Promise<HomeFileEntry[]>;
35
+ export declare function readHomeFile(paths: NatrocPaths, fileName: string): Promise<string>;
36
+ export declare function writeHomeFile(paths: NatrocPaths, fileName: string, content: string): Promise<HomeFileEntry>;
37
+ export declare function buildAgentSystemPrompt(context: HomeContext, memories?: AgentSystemMemory[], conversationThreads?: AgentConversationRecall[], options?: {
38
+ workspacePath?: string;
39
+ }): string;
@@ -1,5 +1,5 @@
1
- import { readdir, readFile } from "node:fs/promises";
2
- import { isAbsolute, relative, resolve, sep } from "node:path";
1
+ import { mkdir, readdir, readFile, stat, writeFile } from "node:fs/promises";
2
+ import { dirname, isAbsolute, relative, resolve, sep } from "node:path";
3
3
  import { natrocHomeFileNames } from "../config/natroc-home.js";
4
4
  export const defaultHomeContextFileNames = natrocHomeFileNames;
5
5
  export async function loadHomeContext(paths, options = {}) {
@@ -40,15 +40,58 @@ export function resolveHomeFilePath(paths, fileName) {
40
40
  assertInsideHome(homeDir, absolutePath);
41
41
  return absolutePath;
42
42
  }
43
- export function buildAgentSystemPrompt(context, memories = [], conversationThreads = []) {
43
+ export async function listHomeFiles(paths) {
44
+ const homeDir = resolve(paths.homeDir);
45
+ const files = await listHomeMarkdownFiles(homeDir);
46
+ return await Promise.all(files.map(async ({ absolutePath, name }) => {
47
+ const stats = await stat(absolutePath);
48
+ return {
49
+ name,
50
+ sizeBytes: stats.size,
51
+ modifiedAt: stats.mtime.toISOString(),
52
+ };
53
+ }));
54
+ }
55
+ export async function readHomeFile(paths, fileName) {
56
+ const absolutePath = resolveHomeFilePath(paths, fileName);
57
+ if (!fileName.toLowerCase().endsWith(".md")) {
58
+ throw new Error("Only markdown (.md) files are supported.");
59
+ }
60
+ return await readFile(absolutePath, "utf8");
61
+ }
62
+ export async function writeHomeFile(paths, fileName, content) {
63
+ if (!fileName.toLowerCase().endsWith(".md")) {
64
+ throw new Error("Only markdown (.md) files are supported.");
65
+ }
66
+ const absolutePath = resolveHomeFilePath(paths, fileName);
67
+ await mkdir(dirname(absolutePath), { recursive: true });
68
+ await writeFile(absolutePath, content, "utf8");
69
+ const stats = await stat(absolutePath);
70
+ return {
71
+ name: fileName,
72
+ sizeBytes: stats.size,
73
+ modifiedAt: stats.mtime.toISOString(),
74
+ };
75
+ }
76
+ export function buildAgentSystemPrompt(context, memories = [], conversationThreads = [], options = {}) {
44
77
  const sections = [
45
78
  "## Natroc Runtime",
46
79
  "You are running inside Natroc, a local-first personal AI agent runtime.",
47
80
  "Use the injected home files and approved memory as durable local context.",
48
81
  "Do not claim to have changed memory, knowledge, files, services, commits, or processes unless the runtime actually did it."
49
82
  ];
50
- if (context.files.length > 0) {
51
- sections.push("## Natroc Home");
83
+ if (options.workspacePath || context.files.length > 0) {
84
+ const workspaceLines = ["## Workspace"];
85
+ if (options.workspacePath) {
86
+ workspaceLines.push(`Your personal workspace lives at: ${options.workspacePath}`);
87
+ }
88
+ if (context.files.length > 0) {
89
+ workspaceLines.push("Files currently present (any file here is part of your operating context — read it before acting if its name suggests it might be relevant):", ...context.files.map((file) => `- ${file.name}`));
90
+ }
91
+ workspaceLines.push("Use the `list_directory`, `read_file`, and `write_file` tools to inspect or modify any file in this workspace.", "When a file's instructions imply they are one-time (for example anything that says 'delete me after applying'), follow them and remove the file once you are done.");
92
+ sections.push(workspaceLines.join("\n"));
93
+ sections.push("## Workspace File Snapshots");
94
+ sections.push("These snapshots reflect the workspace at the time this turn started. If you change a file, re-read it before relying on its contents.");
52
95
  for (const file of context.files) {
53
96
  sections.push(`### ${file.name}`, file.content);
54
97
  }
@@ -1 +1 @@
1
- {"version":3,"file":"home-context.js","sourceRoot":"","sources":["../../src/agent/home-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"home-context.js","sourceRoot":"","sources":["../../src/agent/home-context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import type { NatrocPaths } from "./natroc-home.js";
2
+ export type DmPolicy = "pairing" | "allowlist" | "open" | "disabled";
3
+ export type GroupPolicy = "allowlist" | "open" | "disabled";
4
+ export type NatrocConfig = {
5
+ server: {
6
+ host: string;
7
+ port: number;
8
+ };
9
+ gateway: {
10
+ tickIntervalMs: number;
11
+ };
12
+ channels: {
13
+ telegramDefaults: {
14
+ dmPolicy: DmPolicy;
15
+ groupPolicy: GroupPolicy;
16
+ requireMention: boolean;
17
+ textChunkLimit: number;
18
+ };
19
+ whatsappDefaults: {
20
+ dmPolicy: DmPolicy;
21
+ groupPolicy: GroupPolicy;
22
+ requireMention: boolean;
23
+ textChunkLimit: number;
24
+ mediaMaxMb: number;
25
+ sendReadReceipts: boolean;
26
+ };
27
+ };
28
+ };
29
+ export declare const DEFAULT_NATROC_CONFIG: NatrocConfig;
30
+ export declare function getConfigPath(paths: NatrocPaths): string;
31
+ /** Load and merge with defaults. Missing or invalid file returns defaults. */
32
+ export declare function loadNatrocConfig(paths: NatrocPaths): Promise<NatrocConfig>;
33
+ /** Write defaults if the file does not exist yet. */
34
+ export declare function ensureNatrocConfig(paths: NatrocPaths): Promise<void>;
35
+ export declare function writeNatrocConfig(paths: NatrocPaths, config: NatrocConfig): Promise<void>;
@@ -0,0 +1,138 @@
1
+ import { readFile, writeFile } from "node:fs/promises";
2
+ import { join } from "node:path";
3
+ export const DEFAULT_NATROC_CONFIG = {
4
+ server: {
5
+ host: "127.0.0.1",
6
+ port: 37789,
7
+ },
8
+ gateway: {
9
+ tickIntervalMs: 30 * 60 * 1000,
10
+ },
11
+ channels: {
12
+ telegramDefaults: {
13
+ dmPolicy: "allowlist",
14
+ groupPolicy: "disabled",
15
+ requireMention: true,
16
+ textChunkLimit: 4000,
17
+ },
18
+ whatsappDefaults: {
19
+ dmPolicy: "allowlist",
20
+ groupPolicy: "disabled",
21
+ requireMention: true,
22
+ textChunkLimit: 4000,
23
+ mediaMaxMb: 50,
24
+ sendReadReceipts: false,
25
+ },
26
+ },
27
+ };
28
+ export function getConfigPath(paths) {
29
+ return join(paths.root, "natroc.json");
30
+ }
31
+ /** Load and merge with defaults. Missing or invalid file returns defaults. */
32
+ export async function loadNatrocConfig(paths) {
33
+ const filePath = getConfigPath(paths);
34
+ let raw;
35
+ try {
36
+ raw = await readFile(filePath, "utf8");
37
+ }
38
+ catch {
39
+ return cloneDefaults();
40
+ }
41
+ let parsed;
42
+ try {
43
+ parsed = JSON.parse(raw);
44
+ }
45
+ catch {
46
+ return cloneDefaults();
47
+ }
48
+ return mergeWithDefaults(parsed);
49
+ }
50
+ /** Write defaults if the file does not exist yet. */
51
+ export async function ensureNatrocConfig(paths) {
52
+ const filePath = getConfigPath(paths);
53
+ try {
54
+ await readFile(filePath, "utf8");
55
+ return;
56
+ }
57
+ catch {
58
+ await writeFile(filePath, `${JSON.stringify(DEFAULT_NATROC_CONFIG, null, 2)}\n`, "utf8");
59
+ }
60
+ }
61
+ export async function writeNatrocConfig(paths, config) {
62
+ await writeFile(getConfigPath(paths), `${JSON.stringify(config, null, 2)}\n`, "utf8");
63
+ }
64
+ function cloneDefaults() {
65
+ return JSON.parse(JSON.stringify(DEFAULT_NATROC_CONFIG));
66
+ }
67
+ function mergeWithDefaults(input) {
68
+ const config = cloneDefaults();
69
+ if (!input || typeof input !== "object" || Array.isArray(input))
70
+ return config;
71
+ const root = input;
72
+ if (isRecord(root.server)) {
73
+ if (typeof root.server.host === "string") {
74
+ config.server.host = root.server.host;
75
+ }
76
+ if (typeof root.server.port === "number" && root.server.port > 0) {
77
+ config.server.port = Math.floor(root.server.port);
78
+ }
79
+ }
80
+ if (isRecord(root.gateway)) {
81
+ if (typeof root.gateway.tickIntervalMs === "number" &&
82
+ root.gateway.tickIntervalMs > 0) {
83
+ config.gateway.tickIntervalMs = Math.floor(root.gateway.tickIntervalMs);
84
+ }
85
+ }
86
+ if (isRecord(root.channels)) {
87
+ applyTelegramDefaults(config.channels.telegramDefaults, root.channels.telegramDefaults);
88
+ applyWhatsappDefaults(config.channels.whatsappDefaults, root.channels.whatsappDefaults);
89
+ }
90
+ return config;
91
+ }
92
+ function applyTelegramDefaults(target, source) {
93
+ if (!isRecord(source))
94
+ return;
95
+ if (isDmPolicy(source.dmPolicy))
96
+ target.dmPolicy = source.dmPolicy;
97
+ if (isGroupPolicy(source.groupPolicy))
98
+ target.groupPolicy = source.groupPolicy;
99
+ if (typeof source.requireMention === "boolean") {
100
+ target.requireMention = source.requireMention;
101
+ }
102
+ if (typeof source.textChunkLimit === "number" && source.textChunkLimit > 0) {
103
+ target.textChunkLimit = Math.floor(source.textChunkLimit);
104
+ }
105
+ }
106
+ function applyWhatsappDefaults(target, source) {
107
+ if (!isRecord(source))
108
+ return;
109
+ if (isDmPolicy(source.dmPolicy))
110
+ target.dmPolicy = source.dmPolicy;
111
+ if (isGroupPolicy(source.groupPolicy))
112
+ target.groupPolicy = source.groupPolicy;
113
+ if (typeof source.requireMention === "boolean") {
114
+ target.requireMention = source.requireMention;
115
+ }
116
+ if (typeof source.textChunkLimit === "number" && source.textChunkLimit > 0) {
117
+ target.textChunkLimit = Math.floor(source.textChunkLimit);
118
+ }
119
+ if (typeof source.mediaMaxMb === "number" && source.mediaMaxMb > 0) {
120
+ target.mediaMaxMb = source.mediaMaxMb;
121
+ }
122
+ if (typeof source.sendReadReceipts === "boolean") {
123
+ target.sendReadReceipts = source.sendReadReceipts;
124
+ }
125
+ }
126
+ function isRecord(value) {
127
+ return typeof value === "object" && value !== null && !Array.isArray(value);
128
+ }
129
+ function isDmPolicy(value) {
130
+ return (value === "pairing" ||
131
+ value === "allowlist" ||
132
+ value === "open" ||
133
+ value === "disabled");
134
+ }
135
+ function isGroupPolicy(value) {
136
+ return value === "allowlist" || value === "open" || value === "disabled";
137
+ }
138
+ //# sourceMappingURL=natroc-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"natroc-config.js","sourceRoot":"","sources":["../../src/config/natroc-config.ts"],"names":[],"mappings":"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"}
@@ -40,7 +40,7 @@ export async function* runAgentTurn(runtime, input, options) {
40
40
  maxMessageCharacters: 700,
41
41
  maxMessagesPerConversation: 6,
42
42
  });
43
- const sharedSystemPrompt = buildAgentSystemPrompt(homeContext, memories, conversationThreads);
43
+ const sharedSystemPrompt = buildAgentSystemPrompt(homeContext, memories, conversationThreads, { workspacePath: runtime.paths?.homeDir });
44
44
  const baseSystemPrompt = selectedAgent?.systemPrompt
45
45
  ? `${sharedSystemPrompt}\n\nAgent-specific instructions:\n${selectedAgent.systemPrompt}`
46
46
  : sharedSystemPrompt;
@@ -65,7 +65,7 @@ export async function* runAgentTurn(runtime, input, options) {
65
65
  model: selectedModel,
66
66
  thinking: input.thinking,
67
67
  mode: getToolMode(),
68
- context: { cwd: getAgentCwd() },
68
+ context: { cwd: runtime.paths?.homeDir ?? getAgentCwd() },
69
69
  })) {
70
70
  if (event.type === "done") {
71
71
  finalContent = event.content;
@@ -1 +1 @@
1
- {"version":3,"file":"agent-service.js","sourceRoot":"","sources":["../../src/gateway/agent-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-service.js","sourceRoot":"","sources":["../../src/gateway/agent-service.ts"],"names":[],"mappings":"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"}
@@ -27,9 +27,10 @@ export class Gateway {
27
27
  runtime.broadcaster = {
28
28
  broadcast: (event, payload) => this.broadcast(event, payload),
29
29
  };
30
+ const tickIntervalMs = runtime.config?.gateway.tickIntervalMs ?? GATEWAY_POLICY.tickIntervalMs;
30
31
  this.tickTimer = setInterval(() => {
31
32
  this.broadcast("tick", { ts: Date.now() });
32
- }, GATEWAY_POLICY.tickIntervalMs);
33
+ }, tickIntervalMs);
33
34
  // Keep the timer from blocking process exit.
34
35
  if (typeof this.tickTimer.unref === "function") {
35
36
  this.tickTimer.unref();
@@ -1 +1 @@
1
- {"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../src/gateway/gateway.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../src/gateway/gateway.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ import { registerProviderMethods } from "./rpc/providers.js";
6
6
  import { registerAgentMethods } from "./rpc/agent.js";
7
7
  import { registerAgentsMethods } from "./rpc/agents.js";
8
8
  import { registerChannelMethods } from "./rpc/channels.js";
9
+ import { registerHomeMethods } from "./rpc/home.js";
9
10
  import { registerUsageMethods } from "./rpc/usage.js";
10
11
  export function createGateway(runtime) {
11
12
  const gateway = new Gateway(runtime);
@@ -17,6 +18,7 @@ export function createGateway(runtime) {
17
18
  registerAgentsMethods(gateway);
18
19
  registerUsageMethods(gateway);
19
20
  registerChannelMethods(gateway);
21
+ registerHomeMethods(gateway);
20
22
  return gateway;
21
23
  }
22
24
  export { Gateway } from "./gateway.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/gateway/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAA;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAA;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAErD,MAAM,UAAU,aAAa,CAAC,OAAqB;IACjD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;IACpC,mBAAmB,CAAC,OAAO,CAAC,CAAA;IAC5B,2BAA2B,CAAC,OAAO,CAAC,CAAA;IACpC,sBAAsB,CAAC,OAAO,CAAC,CAAA;IAC/B,uBAAuB,CAAC,OAAO,CAAC,CAAA;IAChC,oBAAoB,CAAC,OAAO,CAAC,CAAA;IAC7B,qBAAqB,CAAC,OAAO,CAAC,CAAA;IAC9B,oBAAoB,CAAC,OAAO,CAAC,CAAA;IAC7B,sBAAsB,CAAC,OAAO,CAAC,CAAA;IAC/B,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAO1E,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/gateway/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAA;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAA;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAErD,MAAM,UAAU,aAAa,CAAC,OAAqB;IACjD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;IACpC,mBAAmB,CAAC,OAAO,CAAC,CAAA;IAC5B,2BAA2B,CAAC,OAAO,CAAC,CAAA;IACpC,sBAAsB,CAAC,OAAO,CAAC,CAAA;IAC/B,uBAAuB,CAAC,OAAO,CAAC,CAAA;IAChC,oBAAoB,CAAC,OAAO,CAAC,CAAA;IAC7B,qBAAqB,CAAC,OAAO,CAAC,CAAA;IAC9B,oBAAoB,CAAC,OAAO,CAAC,CAAA;IAC7B,sBAAsB,CAAC,OAAO,CAAC,CAAA;IAC/B,mBAAmB,CAAC,OAAO,CAAC,CAAA;IAC5B,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAO1E,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA"}
@@ -15,6 +15,7 @@ const AVATAR_CONTENT_TYPES = {
15
15
  webp: "image/webp",
16
16
  };
17
17
  export function registerAuthMethods(gateway) {
18
+ gateway.registerUnary("auth.bootstrap", handleBootstrap, { public: true });
18
19
  gateway.registerUnary("auth.register", handleRegister, { public: true });
19
20
  gateway.registerUnary("auth.login", handleLogin, { public: true });
20
21
  gateway.registerUnary("auth.authenticate", handleAuthenticate, {
@@ -25,6 +26,9 @@ export function registerAuthMethods(gateway) {
25
26
  gateway.registerUnary("auth.updatePassword", handleUpdatePassword);
26
27
  gateway.registerUnary("auth.updateAvatar", handleUpdateAvatar);
27
28
  }
29
+ function handleBootstrap(ctx) {
30
+ return { hasUsers: ctx.runtime.auth.countUsers() > 0 };
31
+ }
28
32
  async function handleRegister(ctx, params) {
29
33
  const body = registerSchema.parse(params);
30
34
  const { auth } = ctx.runtime;
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/gateway/rpc/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/gateway/rpc/auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { Gateway } from "../gateway.js";
2
+ export declare function registerHomeMethods(gateway: Gateway): void;
@@ -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,7 @@ 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";
12
13
  export type RuntimeState = {
13
14
  db: DatabaseConnection;
14
15
  masterKey: Buffer;
@@ -43,5 +44,6 @@ export type RuntimeState = {
43
44
  broadcaster?: {
44
45
  broadcast: (event: string, payload: unknown) => void;
45
46
  };
47
+ config?: NatrocConfig;
46
48
  };
47
- export declare function createRuntime(db: DatabaseConnection, masterKey: Buffer, paths?: NatrocPaths): RuntimeState;
49
+ 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),