@qnote/q-ai-note 1.0.6 → 1.0.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.
Files changed (50) hide show
  1. package/README.md +11 -14
  2. package/dist/cli.js +18 -31
  3. package/dist/cli.js.map +1 -1
  4. package/dist/server/accessControl.d.ts +29 -0
  5. package/dist/server/accessControl.d.ts.map +1 -0
  6. package/dist/server/accessControl.js +161 -0
  7. package/dist/server/accessControl.js.map +1 -0
  8. package/dist/server/api/accessHelpers.d.ts +11 -0
  9. package/dist/server/api/accessHelpers.d.ts.map +1 -0
  10. package/dist/server/api/accessHelpers.js +45 -0
  11. package/dist/server/api/accessHelpers.js.map +1 -0
  12. package/dist/server/api/chat.d.ts.map +1 -1
  13. package/dist/server/api/chat.js +31 -0
  14. package/dist/server/api/chat.js.map +1 -1
  15. package/dist/server/api/diary.d.ts.map +1 -1
  16. package/dist/server/api/diary.js +61 -1
  17. package/dist/server/api/diary.js.map +1 -1
  18. package/dist/server/api/nodeEntities.d.ts.map +1 -1
  19. package/dist/server/api/nodeEntities.js +31 -0
  20. package/dist/server/api/nodeEntities.js.map +1 -1
  21. package/dist/server/api/projectSettings.d.ts +3 -0
  22. package/dist/server/api/projectSettings.d.ts.map +1 -0
  23. package/dist/server/api/projectSettings.js +29 -0
  24. package/dist/server/api/projectSettings.js.map +1 -0
  25. package/dist/server/api/sandbox.d.ts.map +1 -1
  26. package/dist/server/api/sandbox.js +35 -1
  27. package/dist/server/api/sandbox.js.map +1 -1
  28. package/dist/server/api/settings.d.ts.map +1 -1
  29. package/dist/server/api/settings.js +25 -1
  30. package/dist/server/api/settings.js.map +1 -1
  31. package/dist/server/api/workItem.d.ts.map +1 -1
  32. package/dist/server/api/workItem.js +59 -0
  33. package/dist/server/api/workItem.js.map +1 -1
  34. package/dist/server/config.d.ts +3 -2
  35. package/dist/server/config.d.ts.map +1 -1
  36. package/dist/server/config.js +6 -1
  37. package/dist/server/config.js.map +1 -1
  38. package/dist/server/index.d.ts +2 -1
  39. package/dist/server/index.d.ts.map +1 -1
  40. package/dist/server/index.js +51 -11
  41. package/dist/server/index.js.map +1 -1
  42. package/dist/server/projectConfig.d.ts +37 -0
  43. package/dist/server/projectConfig.d.ts.map +1 -0
  44. package/dist/server/projectConfig.js +180 -0
  45. package/dist/server/projectConfig.js.map +1 -0
  46. package/dist/web/app.js +618 -39
  47. package/dist/web/index.html +103 -59
  48. package/dist/web/styles.css +194 -4
  49. package/dist/web/vueRenderers.js +7 -5
  50. package/package.json +2 -3
package/README.md CHANGED
@@ -25,7 +25,6 @@ Install globally:
25
25
  npm i -g @qnote/q-ai-note
26
26
  q-ai-note
27
27
  q-ai-note-server
28
- q-ai-note-my-server
29
28
  ```
30
29
 
31
30
  ## Usage
@@ -42,7 +41,6 @@ Then open `http://localhost:3200`.
42
41
 
43
42
  - `q-ai-note`: local-first, defaults `127.0.0.1:3000`
44
43
  - `q-ai-note-server`: public server, defaults `0.0.0.0:8614`
45
- - `q-ai-note-my-server`: mixed policy server, defaults `0.0.0.0:3000`
46
44
 
47
45
  ### Public server mode
48
46
 
@@ -59,21 +57,19 @@ Defaults:
59
57
 
60
58
  Then open `http://<server-ip>:8614`.
61
59
 
62
- ### My server mode
60
+ ### Access control model
63
61
 
64
- If you want one server with mixed access policy, use:
62
+ The app now uses two-level configuration:
65
63
 
66
- ```bash
67
- q-ai-note-my-server
68
- ```
69
-
70
- Defaults:
71
- - host: `0.0.0.0`
72
- - port: `3000`
64
+ - system config (`~/.q-ai-note/config.json`): model settings + `editable_ip_allowlist`
65
+ - project config (`<data-dir>/project-config.json`): `users` / `profiles` / `bindings`
73
66
 
74
- Policy:
75
- - access from `localhost` / `127.0.0.1` / local machine IP -> full features (readwrite)
76
- - access from other IPs -> readonly (both UI and write APIs)
67
+ Rules:
68
+ - IP matching is exact match only (no CIDR)
69
+ - local loopback and local NIC IPs are system-admin by default
70
+ - system-admin IPs can access all pages and full read/write (unless global `--readonly`)
71
+ - non-admin IPs are controlled by project profiles (page visibility + sandbox-level read/write)
72
+ - `/api/settings` (system settings) is only accessible to system-admin IPs
77
73
 
78
74
  ### Readonly mode
79
75
 
@@ -89,6 +85,7 @@ Use `--readonly` (or env `Q_AI_NOTE_READONLY=true`) to start in readonly mode:
89
85
 
90
86
  - Config: `~/.q-ai-note/config.json`
91
87
  - Data dir: `~/.q-ai-note/data/`
88
+ - `project-config.json`
92
89
  - `sandboxes.json`
93
90
  - `work-items.json`
94
91
  - `diaries.json`
package/dist/cli.js CHANGED
@@ -5,12 +5,11 @@ import { startServer } from './server/index.js';
5
5
  function resolveCliDefaults(argv0) {
6
6
  const commandName = basename(argv0 || 'q-ai-note');
7
7
  const isServerMode = commandName === 'q-ai-note-server';
8
- const isMyServerMode = commandName === 'q-ai-note-my-server';
9
8
  return {
10
9
  commandName,
11
- defaultPort: isMyServerMode ? 3000 : isServerMode ? 8614 : 3000,
12
- defaultHost: (isServerMode || isMyServerMode) ? '0.0.0.0' : '127.0.0.1',
13
- localWriteOnly: isMyServerMode,
10
+ defaultPort: isServerMode ? 8614 : 3000,
11
+ defaultHost: isServerMode ? '0.0.0.0' : '127.0.0.1',
12
+ localWriteOnly: false,
14
13
  };
15
14
  }
16
15
  function parseArgs(argv, defaults) {
@@ -58,30 +57,22 @@ function parseArgs(argv, defaults) {
58
57
  }
59
58
  function printHelp(defaults) {
60
59
  const isServerMode = defaults.commandName === 'q-ai-note-server';
61
- const isMyServerMode = defaults.commandName === 'q-ai-note-my-server';
62
- const defaultPortText = isMyServerMode ? '3000 or PORT env' : isServerMode ? '8614' : '3000 or PORT env';
63
- const examples = isMyServerMode
60
+ const defaultPortText = isServerMode ? '8614' : '3000 or PORT env';
61
+ const examples = isServerMode
64
62
  ? [
65
- ' q-ai-note-my-server',
66
- ' q-ai-note-my-server --port 3000',
67
- ' q-ai-note-my-server --host 0.0.0.0 --port 3000',
68
- ' q-ai-note-my-server ./my-data --port 3000',
63
+ ' q-ai-note-server',
64
+ ' q-ai-note-server --port 8614',
65
+ ' q-ai-note-server --host 0.0.0.0 --port 8614',
66
+ ' q-ai-note-server ./my-data --port 8614',
69
67
  ]
70
- : isServerMode
71
- ? [
72
- ' q-ai-note-server',
73
- ' q-ai-note-server --port 8614',
74
- ' q-ai-note-server --host 0.0.0.0 --port 8614',
75
- ' q-ai-note-server ./my-data --port 8614',
76
- ]
77
- : [
78
- ' npx @qnote/q-ai-note',
79
- ' q-ai-note .',
80
- ' q-ai-note --port 3200',
81
- ' q-ai-note --host 127.0.0.1 --port 3200',
82
- ' q-ai-note ./my-data --port 3200',
83
- ' PORT=3200 q-ai-note',
84
- ];
68
+ : [
69
+ ' npx @qnote/q-ai-note',
70
+ ' q-ai-note .',
71
+ ' q-ai-note --port 3200',
72
+ ' q-ai-note --host 127.0.0.1 --port 3200',
73
+ ' q-ai-note ./my-data --port 3200',
74
+ ' PORT=3200 q-ai-note',
75
+ ];
85
76
  console.log(`
86
77
  ${defaults.commandName}
87
78
 
@@ -97,8 +88,6 @@ Options:
97
88
 
98
89
  Examples:
99
90
  ${examples.join('\n')}
100
-
101
- ${isMyServerMode ? 'Behavior:\n local access (localhost/127.0.0.1/local machine IP) => readwrite\n non-local access => readonly' : ''}
102
91
  `);
103
92
  }
104
93
  function bootstrap() {
@@ -119,9 +108,7 @@ function bootstrap() {
119
108
  console.log(`listen: ${options.host}:${options.port}`);
120
109
  const modeText = options.readonly
121
110
  ? 'readonly'
122
- : defaults.localWriteOnly
123
- ? 'local-write-only'
124
- : 'readwrite';
111
+ : 'readwrite';
125
112
  console.log(`mode: ${modeText}`);
126
113
  if (options.dataDir) {
127
114
  console.log(`data dir: ${options.dataDir}`);
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import type { AccessPolicy } from './index.js';
2
+ import { type PageKey, type SandboxAccessLevel } from './projectConfig.js';
3
+ export interface RequestAccessContext {
4
+ ip: string;
5
+ readonly: boolean;
6
+ full_access: boolean;
7
+ can_access_system_settings: boolean;
8
+ page_access: Record<PageKey, boolean>;
9
+ sandbox_access_all: SandboxAccessLevel;
10
+ sandbox_read_ids: string[];
11
+ sandbox_write_ids: string[];
12
+ project_config_version: number;
13
+ }
14
+ export declare function invalidateAccessCache(): void;
15
+ export declare function normalizeIpAddress(ip: string): string;
16
+ export declare function computeAccessContext(params: {
17
+ ip: string;
18
+ policy: Required<AccessPolicy>;
19
+ localIpSet: Set<string>;
20
+ }): RequestAccessContext;
21
+ export declare function getAccessContext(params: {
22
+ ip: string;
23
+ policy: Required<AccessPolicy>;
24
+ localIpSet: Set<string>;
25
+ }): RequestAccessContext;
26
+ export declare function canReadSandbox(ctx: RequestAccessContext, sandboxId: string): boolean;
27
+ export declare function canWriteSandbox(ctx: RequestAccessContext, sandboxId: string): boolean;
28
+ export declare function canCreateSandbox(ctx: RequestAccessContext): boolean;
29
+ //# sourceMappingURL=accessControl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accessControl.d.ts","sourceRoot":"","sources":["../../src/server/accessControl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,EAAqB,KAAK,OAAO,EAAsB,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAElH,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,0BAA0B,EAAE,OAAO,CAAC;IACpC,WAAW,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACtC,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,sBAAsB,EAAE,MAAM,CAAC;CAChC;AASD,wBAAgB,qBAAqB,SAEpC;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAIrD;AA0ED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE;IAC3C,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC/B,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACzB,GAAG,oBAAoB,CA0DvB;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC/B,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACzB,GAAG,oBAAoB,CASvB;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAIpF;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAKrF;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,oBAAoB,GAAG,OAAO,CAEnE"}
@@ -0,0 +1,161 @@
1
+ import { getSetting } from './config.js';
2
+ import { readProjectConfig } from './projectConfig.js';
3
+ let accessCache = new Map();
4
+ export function invalidateAccessCache() {
5
+ accessCache = new Map();
6
+ }
7
+ export function normalizeIpAddress(ip) {
8
+ const raw = String(ip || '').trim();
9
+ if (!raw)
10
+ return '';
11
+ return raw.startsWith('::ffff:') ? raw.slice(7) : raw;
12
+ }
13
+ function normalizeIpList(values) {
14
+ if (!Array.isArray(values))
15
+ return [];
16
+ return values
17
+ .map((value) => normalizeIpAddress(String(value || '').trim()))
18
+ .filter((value) => Boolean(value) && !value.includes('/'));
19
+ }
20
+ function buildSystemEditableIps(localIps) {
21
+ const configured = normalizeIpList(getSetting('editable_ip_allowlist'));
22
+ const result = new Set(Array.from(localIps).map((ip) => normalizeIpAddress(ip)));
23
+ configured.forEach((ip) => result.add(ip));
24
+ return result;
25
+ }
26
+ function mergeLevel(a, b) {
27
+ const rank = { none: 0, read: 1, write: 2 };
28
+ return rank[b] > rank[a] ? b : a;
29
+ }
30
+ function resolveProfileContext(ip, projectConfig) {
31
+ const normalizedIp = normalizeIpAddress(ip);
32
+ const matchedUserIds = projectConfig.users
33
+ .filter((user) => user.ips.includes(normalizedIp))
34
+ .map((user) => user.id);
35
+ const boundProfileIds = new Set();
36
+ projectConfig.bindings.forEach((binding) => {
37
+ if (matchedUserIds.includes(binding.user_id)) {
38
+ binding.profile_ids.forEach((id) => boundProfileIds.add(id));
39
+ }
40
+ });
41
+ const selectedProfiles = projectConfig.profiles.filter((profile) => {
42
+ if (profile.apply_to_all_users)
43
+ return true;
44
+ return boundProfileIds.has(profile.id);
45
+ });
46
+ const pages = {
47
+ sandboxes: false,
48
+ diaries: false,
49
+ changes: false,
50
+ settings: false,
51
+ };
52
+ let sandboxAll = 'none';
53
+ const sandboxItemAccess = new Map();
54
+ selectedProfiles.forEach((profile) => {
55
+ pages.sandboxes = pages.sandboxes || profile.page_access.sandboxes;
56
+ pages.diaries = pages.diaries || profile.page_access.diaries;
57
+ pages.changes = pages.changes || profile.page_access.changes;
58
+ pages.settings = pages.settings || profile.page_access.settings;
59
+ sandboxAll = mergeLevel(sandboxAll, profile.sandbox_access.all);
60
+ profile.sandbox_access.items.forEach((item) => {
61
+ const prev = sandboxItemAccess.get(item.sandbox_id) || 'none';
62
+ sandboxItemAccess.set(item.sandbox_id, mergeLevel(prev, item.access));
63
+ });
64
+ });
65
+ const readSet = new Set();
66
+ const writeSet = new Set();
67
+ sandboxItemAccess.forEach((access, sandboxId) => {
68
+ if (access === 'read' || access === 'write')
69
+ readSet.add(sandboxId);
70
+ if (access === 'write')
71
+ writeSet.add(sandboxId);
72
+ });
73
+ return { pages, sandboxAll, readSet, writeSet };
74
+ }
75
+ export function computeAccessContext(params) {
76
+ const normalizedIp = normalizeIpAddress(params.ip);
77
+ const projectConfig = readProjectConfig();
78
+ const systemEditableIps = buildSystemEditableIps(params.localIpSet);
79
+ const canAccessSystemSettings = !params.policy.readonly && systemEditableIps.has(normalizedIp);
80
+ const fullAccess = canAccessSystemSettings;
81
+ if (params.policy.readonly) {
82
+ return {
83
+ ip: normalizedIp,
84
+ readonly: true,
85
+ full_access: false,
86
+ can_access_system_settings: false,
87
+ page_access: {
88
+ sandboxes: true,
89
+ diaries: true,
90
+ changes: true,
91
+ settings: false,
92
+ },
93
+ sandbox_access_all: 'read',
94
+ sandbox_read_ids: [],
95
+ sandbox_write_ids: [],
96
+ project_config_version: projectConfig.version,
97
+ };
98
+ }
99
+ if (fullAccess) {
100
+ return {
101
+ ip: normalizedIp,
102
+ readonly: false,
103
+ full_access: true,
104
+ can_access_system_settings: true,
105
+ page_access: {
106
+ sandboxes: true,
107
+ diaries: true,
108
+ changes: true,
109
+ settings: true,
110
+ },
111
+ sandbox_access_all: 'write',
112
+ sandbox_read_ids: [],
113
+ sandbox_write_ids: [],
114
+ project_config_version: projectConfig.version,
115
+ };
116
+ }
117
+ const profileContext = resolveProfileContext(normalizedIp, projectConfig);
118
+ const readonly = profileContext.sandboxAll !== 'write' && profileContext.writeSet.size === 0;
119
+ return {
120
+ ip: normalizedIp,
121
+ readonly,
122
+ full_access: false,
123
+ can_access_system_settings: false,
124
+ page_access: profileContext.pages,
125
+ sandbox_access_all: profileContext.sandboxAll,
126
+ sandbox_read_ids: Array.from(profileContext.readSet),
127
+ sandbox_write_ids: Array.from(profileContext.writeSet),
128
+ project_config_version: projectConfig.version,
129
+ };
130
+ }
131
+ export function getAccessContext(params) {
132
+ const normalizedIp = normalizeIpAddress(params.ip);
133
+ const projectVersion = readProjectConfig().version;
134
+ const cacheKey = `${normalizedIp}|${params.policy.readonly ? '1' : '0'}|${params.policy.localWriteOnly ? '1' : '0'}|${projectVersion}`;
135
+ const cached = accessCache.get(cacheKey);
136
+ if (cached)
137
+ return cached.context;
138
+ const context = computeAccessContext(params);
139
+ accessCache.set(cacheKey, { key: cacheKey, context });
140
+ return context;
141
+ }
142
+ export function canReadSandbox(ctx, sandboxId) {
143
+ if (ctx.full_access)
144
+ return true;
145
+ if (ctx.sandbox_access_all === 'read' || ctx.sandbox_access_all === 'write')
146
+ return true;
147
+ return ctx.sandbox_read_ids.includes(sandboxId) || ctx.sandbox_write_ids.includes(sandboxId);
148
+ }
149
+ export function canWriteSandbox(ctx, sandboxId) {
150
+ if (ctx.readonly)
151
+ return false;
152
+ if (ctx.full_access)
153
+ return true;
154
+ if (ctx.sandbox_access_all === 'write')
155
+ return true;
156
+ return ctx.sandbox_write_ids.includes(sandboxId);
157
+ }
158
+ export function canCreateSandbox(ctx) {
159
+ return !ctx.readonly && ctx.full_access;
160
+ }
161
+ //# sourceMappingURL=accessControl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accessControl.js","sourceRoot":"","sources":["../../src/server/accessControl.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { Response } from 'express';
2
+ import type { RequestAccessContext } from '../accessControl.js';
3
+ export declare function getAccessContextFromResponse(res: Response): RequestAccessContext;
4
+ export declare function getSandboxIdByWorkItemId(workItemId: string): string | null;
5
+ export declare function getSandboxIdByDiaryId(diaryId: string): string | null;
6
+ export declare function getSandboxIdByOperationId(operationId: string): string | null;
7
+ export declare function forbid(res: Response, message?: string): Response<any, Record<string, any>>;
8
+ export declare function ensurePageAccess(res: Response, page: 'sandboxes' | 'diaries' | 'changes' | 'settings'): boolean;
9
+ export declare function ensureSandboxReadAccess(res: Response, sandboxId: string): boolean;
10
+ export declare function ensureSandboxWriteAccess(res: Response, sandboxId: string): boolean;
11
+ //# sourceMappingURL=accessHelpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accessHelpers.d.ts","sourceRoot":"","sources":["../../../src/server/api/accessHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAGhE,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,QAAQ,GAAG,oBAAoB,CAYhF;AAED,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAG1E;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAIpE;AAED,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAG5E;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,SAAc,sCAE1D;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,CAG/G;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAGjF;AAED,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAGlF"}
@@ -0,0 +1,45 @@
1
+ import { db } from '../db.js';
2
+ import { canReadSandbox, canWriteSandbox } from '../accessControl.js';
3
+ export function getAccessContextFromResponse(res) {
4
+ return (res.locals.accessContext || {
5
+ readonly: true,
6
+ full_access: false,
7
+ page_access: { sandboxes: false, diaries: false, changes: false, settings: false },
8
+ sandbox_access_all: 'none',
9
+ sandbox_read_ids: [],
10
+ sandbox_write_ids: [],
11
+ can_access_system_settings: false,
12
+ project_config_version: 0,
13
+ ip: '',
14
+ });
15
+ }
16
+ export function getSandboxIdByWorkItemId(workItemId) {
17
+ const row = db.prepare('SELECT * FROM work_items WHERE id = ?').get(workItemId);
18
+ return row?.sandbox_id ? String(row.sandbox_id) : null;
19
+ }
20
+ export function getSandboxIdByDiaryId(diaryId) {
21
+ const row = db.prepare('SELECT * FROM diaries WHERE id = ?').get(diaryId);
22
+ if (!row)
23
+ return null;
24
+ return row.sandbox_id ? String(row.sandbox_id) : '';
25
+ }
26
+ export function getSandboxIdByOperationId(operationId) {
27
+ const row = db.prepare('SELECT * FROM operations WHERE id = ?').get(operationId);
28
+ return row?.sandbox_id ? String(row.sandbox_id) : null;
29
+ }
30
+ export function forbid(res, message = 'Forbidden') {
31
+ return res.status(403).json({ success: false, error: message });
32
+ }
33
+ export function ensurePageAccess(res, page) {
34
+ const access = getAccessContextFromResponse(res);
35
+ return access.full_access || Boolean(access.page_access?.[page]);
36
+ }
37
+ export function ensureSandboxReadAccess(res, sandboxId) {
38
+ const access = getAccessContextFromResponse(res);
39
+ return canReadSandbox(access, sandboxId);
40
+ }
41
+ export function ensureSandboxWriteAccess(res, sandboxId) {
42
+ const access = getAccessContextFromResponse(res);
43
+ return canWriteSandbox(access, sandboxId);
44
+ }
45
+ //# sourceMappingURL=accessHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accessHelpers.js","sourceRoot":"","sources":["../../../src/server/api/accessHelpers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAE9B,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtE,MAAM,UAAU,4BAA4B,CAAC,GAAa;IACxD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI;QAClC,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,KAAK;QAClB,WAAW,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;QAClF,kBAAkB,EAAE,MAAM;QAC1B,gBAAgB,EAAE,EAAE;QACpB,iBAAiB,EAAE,EAAE;QACrB,0BAA0B,EAAE,KAAK;QACjC,sBAAsB,EAAE,CAAC;QACzB,EAAE,EAAE,EAAE;KACP,CAAyB,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,UAAkB;IACzD,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAwC,CAAC;IACvH,OAAO,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAe;IACnD,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC,GAAG,CAAC,OAAO,CAA+C,CAAC;IACxH,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,OAAO,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,WAAmB;IAC3D,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAwC,CAAC;IACxH,OAAO,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,GAAa,EAAE,OAAO,GAAG,WAAW;IACzD,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAa,EAAE,IAAsD;IACpG,MAAM,MAAM,GAAG,4BAA4B,CAAC,GAAG,CAAC,CAAC;IACjD,OAAO,MAAM,CAAC,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,GAAa,EAAE,SAAiB;IACtE,MAAM,MAAM,GAAG,4BAA4B,CAAC,GAAG,CAAC,CAAC;IACjD,OAAO,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,GAAa,EAAE,SAAiB;IACvE,MAAM,MAAM,GAAG,4BAA4B,CAAC,GAAG,CAAC,CAAC;IACjD,OAAO,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAC5C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../../src/server/api/chat.ts"],"names":[],"mappings":"AAQA,QAAA,MAAM,MAAM,4CAAW,CAAC;AAkaxB,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../../src/server/api/chat.ts"],"names":[],"mappings":"AASA,QAAA,MAAM,MAAM,4CAAW,CAAC;AAgcxB,eAAe,MAAM,CAAC"}
@@ -4,6 +4,7 @@ import { db } from '../db.js';
4
4
  import { processMessage } from '../react/agent.js';
5
5
  import { callAiText } from '../aiClient.js';
6
6
  import { supplementBatchCreateActionsByContent } from './batchRecovery.js';
7
+ import { ensurePageAccess, ensureSandboxReadAccess, ensureSandboxWriteAccess, forbid } from './accessHelpers.js';
7
8
  const router = Router();
8
9
  function isExecuteIntent(text) {
9
10
  const normalized = text.trim().toLowerCase();
@@ -30,11 +31,17 @@ router.post('/', (_req, res) => {
30
31
  });
31
32
  router.post('/react', async (req, res) => {
32
33
  try {
34
+ if (!ensurePageAccess(res, 'sandboxes')) {
35
+ return forbid(res, 'No permission to use sandbox chat');
36
+ }
33
37
  const { content, sandbox_id, history, pending_action } = req.body;
34
38
  if (!content) {
35
39
  const response = { success: false, error: 'Content is required' };
36
40
  return res.status(400).json(response);
37
41
  }
42
+ if (!sandbox_id || !ensureSandboxWriteAccess(res, String(sandbox_id))) {
43
+ return forbid(res, 'No permission to write sandbox chat');
44
+ }
38
45
  const timestamp = now();
39
46
  const chatId = uuidv4();
40
47
  db.prepare('INSERT INTO chats (id, role, content, created_at) VALUES (?, ?, ?, ?)').run(chatId, 'user', content, timestamp);
@@ -202,11 +209,17 @@ router.post('/react', async (req, res) => {
202
209
  });
203
210
  router.post('/confirm', async (req, res) => {
204
211
  try {
212
+ if (!ensurePageAccess(res, 'sandboxes')) {
213
+ return forbid(res, 'No permission to confirm sandbox actions');
214
+ }
205
215
  const { sandbox_id, confirm_items } = req.body;
206
216
  if (!sandbox_id || !confirm_items || !Array.isArray(confirm_items)) {
207
217
  const response = { success: false, error: 'Invalid parameters' };
208
218
  return res.status(400).json(response);
209
219
  }
220
+ if (!ensureSandboxWriteAccess(res, String(sandbox_id))) {
221
+ return forbid(res, 'No permission to confirm sandbox actions');
222
+ }
210
223
  const { executeTool } = await import('../react/tools.js');
211
224
  const results = [];
212
225
  for (const item of confirm_items) {
@@ -258,11 +271,17 @@ router.post('/confirm', async (req, res) => {
258
271
  });
259
272
  router.post('/execute', async (req, res) => {
260
273
  try {
274
+ if (!ensurePageAccess(res, 'sandboxes')) {
275
+ return forbid(res, 'No permission to execute sandbox actions');
276
+ }
261
277
  const { sandbox_id, operations } = req.body;
262
278
  if (!sandbox_id || !operations || !Array.isArray(operations)) {
263
279
  const response = { success: false, error: 'Invalid parameters' };
264
280
  return res.status(400).json(response);
265
281
  }
282
+ if (!ensureSandboxWriteAccess(res, String(sandbox_id))) {
283
+ return forbid(res, 'No permission to execute sandbox actions');
284
+ }
266
285
  const timestamp = now();
267
286
  const results = [];
268
287
  for (const op of operations) {
@@ -305,7 +324,13 @@ router.post('/execute', async (req, res) => {
305
324
  });
306
325
  router.get('/sandbox/:sandboxId/insight', async (req, res) => {
307
326
  try {
327
+ if (!ensurePageAccess(res, 'sandboxes')) {
328
+ return forbid(res, 'No permission to view sandbox insight');
329
+ }
308
330
  const { sandboxId } = req.params;
331
+ if (!ensureSandboxReadAccess(res, sandboxId)) {
332
+ return forbid(res, 'No permission to view sandbox insight');
333
+ }
309
334
  const sandbox = db.prepare('SELECT id, name FROM sandboxes WHERE id = ?').get(sandboxId);
310
335
  if (!sandbox) {
311
336
  const response = { success: false, error: 'Sandbox not found' };
@@ -347,7 +372,13 @@ router.get('/sandbox/:sandboxId/insight', async (req, res) => {
347
372
  });
348
373
  router.get('/sandbox/:sandboxId', (req, res) => {
349
374
  try {
375
+ if (!ensurePageAccess(res, 'sandboxes')) {
376
+ return forbid(res, 'No permission to view sandbox chat');
377
+ }
350
378
  const { sandboxId } = req.params;
379
+ if (!ensureSandboxReadAccess(res, sandboxId)) {
380
+ return forbid(res, 'No permission to view sandbox chat');
381
+ }
351
382
  const relations = db.prepare('SELECT chat_id FROM chat_sandbox_relations WHERE sandbox_id = ?').all(sandboxId);
352
383
  const chatIds = relations.map(r => r.chat_id);
353
384
  if (chatIds.length === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../../src/server/api/chat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../../src/server/api/chat.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"diary.d.ts","sourceRoot":"","sources":["../../../src/server/api/diary.ts"],"names":[],"mappings":"AAKA,QAAA,MAAM,MAAM,4CAAW,CAAC;AA0IxB,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"diary.d.ts","sourceRoot":"","sources":["../../../src/server/api/diary.ts"],"names":[],"mappings":"AAOA,QAAA,MAAM,MAAM,4CAAW,CAAC;AAmMxB,eAAe,MAAM,CAAC"}