@jungjaehoon/mama-os 0.74.0 → 0.76.0
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/CHANGELOG.md +84 -0
- package/README.md +6 -1
- package/dist/api/code-act-actions.d.ts +3 -1
- package/dist/api/code-act-actions.d.ts.map +1 -1
- package/dist/api/code-act-actions.js +16 -7
- package/dist/api/code-act-actions.js.map +1 -1
- package/dist/api/document-actions.d.ts +13 -0
- package/dist/api/document-actions.d.ts.map +1 -0
- package/dist/api/document-actions.js +55 -0
- package/dist/api/document-actions.js.map +1 -0
- package/dist/api/drive-actions.d.ts +3 -1
- package/dist/api/drive-actions.d.ts.map +1 -1
- package/dist/api/drive-actions.js +6 -1
- package/dist/api/drive-actions.js.map +1 -1
- package/dist/api/member-enrollment.d.ts +7 -4
- package/dist/api/member-enrollment.d.ts.map +1 -1
- package/dist/api/member-enrollment.js +65 -33
- package/dist/api/member-enrollment.js.map +1 -1
- package/dist/api/member-export.d.ts.map +1 -1
- package/dist/api/member-export.js +14 -6
- package/dist/api/member-export.js.map +1 -1
- package/dist/api/member-lifecycle.d.ts +23 -4
- package/dist/api/member-lifecycle.d.ts.map +1 -1
- package/dist/api/member-lifecycle.js +90 -19
- package/dist/api/member-lifecycle.js.map +1 -1
- package/dist/api/member-notice-actions.d.ts +18 -0
- package/dist/api/member-notice-actions.d.ts.map +1 -0
- package/dist/api/member-notice-actions.js +184 -0
- package/dist/api/member-notice-actions.js.map +1 -0
- package/dist/api/member-records.d.ts +17 -2
- package/dist/api/member-records.d.ts.map +1 -1
- package/dist/api/member-records.js +440 -82
- package/dist/api/member-records.js.map +1 -1
- package/dist/api/member-share-actions.d.ts +3 -3
- package/dist/api/member-share-actions.d.ts.map +1 -1
- package/dist/api/member-share-actions.js +49 -22
- package/dist/api/member-share-actions.js.map +1 -1
- package/dist/api/member-smoke-state.d.ts +3 -0
- package/dist/api/member-smoke-state.d.ts.map +1 -0
- package/dist/api/member-smoke-state.js +20 -0
- package/dist/api/member-smoke-state.js.map +1 -0
- package/dist/api/owner-policy-actions.d.ts +1 -0
- package/dist/api/owner-policy-actions.d.ts.map +1 -1
- package/dist/api/owner-policy-actions.js +8 -4
- package/dist/api/owner-policy-actions.js.map +1 -1
- package/dist/api/owner-timezone-actions.d.ts +3 -2
- package/dist/api/owner-timezone-actions.d.ts.map +1 -1
- package/dist/api/owner-timezone-actions.js +4 -6
- package/dist/api/owner-timezone-actions.js.map +1 -1
- package/dist/api/personal-job-actions.d.ts +6 -0
- package/dist/api/personal-job-actions.d.ts.map +1 -0
- package/dist/api/personal-job-actions.js +72 -0
- package/dist/api/personal-job-actions.js.map +1 -0
- package/dist/api/security-events.d.ts +6 -1
- package/dist/api/security-events.d.ts.map +1 -1
- package/dist/api/security-events.js +34 -15
- package/dist/api/security-events.js.map +1 -1
- package/dist/api/skill-actions.d.ts +5 -0
- package/dist/api/skill-actions.d.ts.map +1 -0
- package/dist/api/skill-actions.js +66 -0
- package/dist/api/skill-actions.js.map +1 -0
- package/dist/api/source-actions.d.ts.map +1 -1
- package/dist/api/source-actions.js +4 -2
- package/dist/api/source-actions.js.map +1 -1
- package/dist/api/stored-source-reader.d.ts.map +1 -1
- package/dist/api/stored-source-reader.js +9 -2
- package/dist/api/stored-source-reader.js.map +1 -1
- package/dist/api/trello-actions.d.ts +1 -1
- package/dist/api/trello-actions.d.ts.map +1 -1
- package/dist/api/trello-actions.js +19 -4
- package/dist/api/trello-actions.js.map +1 -1
- package/dist/api/work-actions.d.ts +12 -2
- package/dist/api/work-actions.d.ts.map +1 -1
- package/dist/api/work-actions.js +57 -10
- package/dist/api/work-actions.js.map +1 -1
- package/dist/cli/commands/daemon.d.ts +12 -2
- package/dist/cli/commands/daemon.d.ts.map +1 -1
- package/dist/cli/commands/daemon.js +80 -13
- package/dist/cli/commands/daemon.js.map +1 -1
- package/dist/cli/commands/init.d.ts +4 -0
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +27 -5
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/register-owner.d.ts +14 -5
- package/dist/cli/commands/register-owner.d.ts.map +1 -1
- package/dist/cli/commands/register-owner.js +145 -42
- package/dist/cli/commands/register-owner.js.map +1 -1
- package/dist/cli/commands/tools.d.ts +12 -0
- package/dist/cli/commands/tools.d.ts.map +1 -0
- package/dist/cli/commands/tools.js +109 -0
- package/dist/cli/commands/tools.js.map +1 -0
- package/dist/cli/index.js +8 -4
- package/dist/cli/index.js.map +1 -1
- package/dist/connectors/framework/polling-scheduler.d.ts +6 -1
- package/dist/connectors/framework/polling-scheduler.d.ts.map +1 -1
- package/dist/connectors/framework/polling-scheduler.js +25 -3
- package/dist/connectors/framework/polling-scheduler.js.map +1 -1
- package/dist/connectors/framework/stored-index-read.d.ts +2 -2
- package/dist/connectors/framework/stored-index-read.d.ts.map +1 -1
- package/dist/connectors/framework/stored-index-read.js +10 -3
- package/dist/connectors/framework/stored-index-read.js.map +1 -1
- package/dist/gateways/base-gateway.d.ts +7 -0
- package/dist/gateways/base-gateway.d.ts.map +1 -1
- package/dist/gateways/base-gateway.js +24 -0
- package/dist/gateways/base-gateway.js.map +1 -1
- package/dist/gateways/discord.d.ts +4 -0
- package/dist/gateways/discord.d.ts.map +1 -1
- package/dist/gateways/discord.js +24 -6
- package/dist/gateways/discord.js.map +1 -1
- package/dist/gateways/slack.d.ts +3 -0
- package/dist/gateways/slack.d.ts.map +1 -1
- package/dist/gateways/slack.js +15 -2
- package/dist/gateways/slack.js.map +1 -1
- package/dist/gateways/telegram-errors.d.ts +3 -0
- package/dist/gateways/telegram-errors.d.ts.map +1 -1
- package/dist/gateways/telegram-errors.js +5 -0
- package/dist/gateways/telegram-errors.js.map +1 -1
- package/dist/gateways/telegram-message-ledger.d.ts +7 -0
- package/dist/gateways/telegram-message-ledger.d.ts.map +1 -1
- package/dist/gateways/telegram-message-ledger.js +27 -2
- package/dist/gateways/telegram-message-ledger.js.map +1 -1
- package/dist/gateways/telegram.d.ts +33 -7
- package/dist/gateways/telegram.d.ts.map +1 -1
- package/dist/gateways/telegram.js +297 -59
- package/dist/gateways/telegram.js.map +1 -1
- package/dist/gateways/turn-contract.d.ts +8 -0
- package/dist/gateways/turn-contract.d.ts.map +1 -1
- package/dist/runtime/action-surface.d.ts +28 -3
- package/dist/runtime/action-surface.d.ts.map +1 -1
- package/dist/runtime/action-surface.js +316 -39
- package/dist/runtime/action-surface.js.map +1 -1
- package/dist/runtime/backend-security.d.ts +4 -0
- package/dist/runtime/backend-security.d.ts.map +1 -1
- package/dist/runtime/backend-security.js +8 -1
- package/dist/runtime/backend-security.js.map +1 -1
- package/dist/runtime/config.d.ts +1 -1
- package/dist/runtime/config.d.ts.map +1 -1
- package/dist/runtime/config.js +18 -11
- package/dist/runtime/config.js.map +1 -1
- package/dist/runtime/connectors.js +1 -1
- package/dist/runtime/connectors.js.map +1 -1
- package/dist/runtime/egress-proxy.d.ts +3 -3
- package/dist/runtime/egress-proxy.d.ts.map +1 -1
- package/dist/runtime/egress-proxy.js +16 -3
- package/dist/runtime/egress-proxy.js.map +1 -1
- package/dist/runtime/member-paths.d.ts +9 -1
- package/dist/runtime/member-paths.d.ts.map +1 -1
- package/dist/runtime/member-paths.js +67 -5
- package/dist/runtime/member-paths.js.map +1 -1
- package/dist/runtime/member-session.d.ts +21 -21
- package/dist/runtime/member-session.d.ts.map +1 -1
- package/dist/runtime/member-session.js +289 -34
- package/dist/runtime/member-session.js.map +1 -1
- package/dist/runtime/member-system-prompt.d.ts +1 -0
- package/dist/runtime/member-system-prompt.d.ts.map +1 -1
- package/dist/runtime/member-system-prompt.js +26 -4
- package/dist/runtime/member-system-prompt.js.map +1 -1
- package/dist/runtime/native-session.d.ts +6 -0
- package/dist/runtime/native-session.d.ts.map +1 -1
- package/dist/runtime/native-session.js +80 -13
- package/dist/runtime/native-session.js.map +1 -1
- package/dist/runtime/outbound-attempts.d.ts +5 -2
- package/dist/runtime/outbound-attempts.d.ts.map +1 -1
- package/dist/runtime/outbound-attempts.js +3 -2
- package/dist/runtime/outbound-attempts.js.map +1 -1
- package/dist/runtime/owner-authority.d.ts +15 -13
- package/dist/runtime/owner-authority.d.ts.map +1 -1
- package/dist/runtime/owner-authority.js +164 -8
- package/dist/runtime/owner-authority.js.map +1 -1
- package/dist/runtime/owner-runtime.d.ts +19 -4
- package/dist/runtime/owner-runtime.d.ts.map +1 -1
- package/dist/runtime/owner-runtime.js +446 -44
- package/dist/runtime/owner-runtime.js.map +1 -1
- package/dist/runtime/owner-system-prompt.d.ts +3 -1
- package/dist/runtime/owner-system-prompt.d.ts.map +1 -1
- package/dist/runtime/owner-system-prompt.js +15 -5
- package/dist/runtime/owner-system-prompt.js.map +1 -1
- package/dist/runtime/personal-job-cron.d.ts +6 -0
- package/dist/runtime/personal-job-cron.d.ts.map +1 -0
- package/dist/runtime/personal-job-cron.js +154 -0
- package/dist/runtime/personal-job-cron.js.map +1 -0
- package/dist/runtime/personal-jobs.d.ts +107 -0
- package/dist/runtime/personal-jobs.d.ts.map +1 -0
- package/dist/runtime/personal-jobs.js +353 -0
- package/dist/runtime/personal-jobs.js.map +1 -0
- package/dist/runtime/personal-notices.d.ts +38 -0
- package/dist/runtime/personal-notices.d.ts.map +1 -0
- package/dist/runtime/personal-notices.js +137 -0
- package/dist/runtime/personal-notices.js.map +1 -0
- package/dist/runtime/personal-turns.d.ts +23 -0
- package/dist/runtime/personal-turns.d.ts.map +1 -0
- package/dist/runtime/personal-turns.js +51 -0
- package/dist/runtime/personal-turns.js.map +1 -0
- package/dist/runtime/principal-access.d.ts +8 -0
- package/dist/runtime/principal-access.d.ts.map +1 -1
- package/dist/runtime/principal-access.js +99 -4
- package/dist/runtime/principal-access.js.map +1 -1
- package/dist/runtime/principal-sessions.d.ts +16 -2
- package/dist/runtime/principal-sessions.d.ts.map +1 -1
- package/dist/runtime/principal-sessions.js +104 -21
- package/dist/runtime/principal-sessions.js.map +1 -1
- package/dist/runtime/skills.d.ts +86 -0
- package/dist/runtime/skills.d.ts.map +1 -0
- package/dist/runtime/skills.js +560 -0
- package/dist/runtime/skills.js.map +1 -0
- package/dist/runtime/stimulus-delivery.d.ts +22 -1
- package/dist/runtime/stimulus-delivery.d.ts.map +1 -1
- package/dist/runtime/stimulus-delivery.js +192 -19
- package/dist/runtime/stimulus-delivery.js.map +1 -1
- package/dist/runtime/tools-paths.d.ts +9 -0
- package/dist/runtime/tools-paths.d.ts.map +1 -0
- package/dist/runtime/tools-paths.js +98 -0
- package/dist/runtime/tools-paths.js.map +1 -0
- package/dist/runtime/turn-orders.d.ts +22 -2
- package/dist/runtime/turn-orders.d.ts.map +1 -1
- package/dist/runtime/turn-orders.js +60 -6
- package/dist/runtime/turn-orders.js.map +1 -1
- package/dist/storage/chat-sources.d.ts +21 -0
- package/dist/storage/chat-sources.d.ts.map +1 -1
- package/dist/storage/chat-sources.js +66 -4
- package/dist/storage/chat-sources.js.map +1 -1
- package/dist/storage/source-archive.d.ts +13 -0
- package/dist/storage/source-archive.d.ts.map +1 -1
- package/dist/storage/source-archive.js +103 -0
- package/dist/storage/source-archive.js.map +1 -1
- package/dist/tools/command-runner.d.ts +12 -0
- package/dist/tools/command-runner.d.ts.map +1 -0
- package/dist/tools/command-runner.js +65 -0
- package/dist/tools/command-runner.js.map +1 -0
- package/dist/tools/document-render.d.ts +24 -0
- package/dist/tools/document-render.d.ts.map +1 -0
- package/dist/tools/document-render.js +208 -0
- package/dist/tools/document-render.js.map +1 -0
- package/dist/tools/document-toolkit.d.ts +15 -0
- package/dist/tools/document-toolkit.d.ts.map +1 -0
- package/dist/tools/document-toolkit.js +501 -0
- package/dist/tools/document-toolkit.js.map +1 -0
- package/dist/tools/office-render.d.ts +28 -0
- package/dist/tools/office-render.d.ts.map +1 -0
- package/dist/tools/office-render.js +98 -0
- package/dist/tools/office-render.js.map +1 -0
- package/dist/tools/toolkit-process.d.ts +9 -0
- package/dist/tools/toolkit-process.d.ts.map +1 -0
- package/dist/tools/toolkit-process.js +148 -0
- package/dist/tools/toolkit-process.js.map +1 -0
- package/dist/tools/toolkit-state.d.ts +22 -0
- package/dist/tools/toolkit-state.d.ts.map +1 -0
- package/dist/tools/toolkit-state.js +116 -0
- package/dist/tools/toolkit-state.js.map +1 -0
- package/package.json +3 -2
- package/toolkit/inspect-office-zip.py +16 -0
- package/toolkit/rasterize.py +29 -0
- package/toolkit/requirements.lock +664 -0
- package/toolkit/smoke.py +32 -0
|
@@ -6,7 +6,10 @@ exports.createNativeSession = createNativeSession;
|
|
|
6
6
|
const member_system_prompt_js_1 = require("./member-system-prompt.js");
|
|
7
7
|
const backend_security_js_1 = require("./backend-security.js");
|
|
8
8
|
const member_paths_js_1 = require("./member-paths.js");
|
|
9
|
+
const tools_paths_js_1 = require("./tools-paths.js");
|
|
10
|
+
const launch_files_js_1 = require("../cli/launch-files.js");
|
|
9
11
|
const untrusted_content_js_1 = require("../utils/untrusted-content.js");
|
|
12
|
+
const node_crypto_1 = require("node:crypto");
|
|
10
13
|
const node_fs_1 = require("node:fs");
|
|
11
14
|
const node_path_1 = require("node:path");
|
|
12
15
|
const native_turn_1 = require("@jungjaehoon/mama-core/runtime/native-turn");
|
|
@@ -52,15 +55,26 @@ function modelToolResult(name, result) {
|
|
|
52
55
|
error: (0, untrusted_content_js_1.untrustedToolData)(name, result.error),
|
|
53
56
|
};
|
|
54
57
|
}
|
|
55
|
-
function driverOptions(options, deniedReadPaths, bridge) {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
+
function driverOptions(options, deniedReadPaths, bridge, webTools) {
|
|
59
|
+
if (options.toolsRoot)
|
|
60
|
+
(0, tools_paths_js_1.assertToolsOwnership)(options.toolsRoot);
|
|
61
|
+
// Pin the stable path once the host owns the root; installation can fill it later.
|
|
62
|
+
const path = options.toolsRoot && (0, node_fs_1.existsSync)(options.toolsRoot)
|
|
63
|
+
? `${(0, node_path_1.join)(options.toolsRoot, 'current', 'bin')}:${process.env.PATH ?? ''}`
|
|
64
|
+
: process.env.PATH;
|
|
65
|
+
const configDir = options.claudeConfigDir;
|
|
66
|
+
if (options.backend === 'codex' && !process.env.PATH?.trim()) {
|
|
58
67
|
throw new Error('Owner Codex shell requires the host PATH');
|
|
59
68
|
}
|
|
60
69
|
return {
|
|
61
70
|
backend: options.backend,
|
|
71
|
+
command: (0, launch_files_js_1.findExecutable)(options.backend),
|
|
72
|
+
...(options.principal !== undefined && options.backend === 'claude' && configDir !== undefined
|
|
73
|
+
? { beforeSpawn: () => removePersonalClaudeEmail(configDir) }
|
|
74
|
+
: {}),
|
|
62
75
|
processEnv: {
|
|
63
76
|
...(0, backend_security_js_1.backendEnvironment)(),
|
|
77
|
+
...(path === undefined ? {} : { PATH: path }),
|
|
64
78
|
...(options.principal === undefined ? {} : { TMPDIR: (0, node_path_1.join)(options.workspaceDir, '.tmp') }),
|
|
65
79
|
// A member's own config dir keeps its sessions and CLI state out of the owner's. The
|
|
66
80
|
// credential store follows the CLI's own key rule: an explicit store dir, else the config
|
|
@@ -83,7 +97,7 @@ function driverOptions(options, deniedReadPaths, bridge) {
|
|
|
83
97
|
...(options.backend === 'codex'
|
|
84
98
|
? {
|
|
85
99
|
shellTool: true,
|
|
86
|
-
webSearch:
|
|
100
|
+
webSearch: webTools,
|
|
87
101
|
// macOS login shells run path_helper and put the system Python before Homebrew.
|
|
88
102
|
// Keep the daemon's toolchain PATH and the driver's isolated HOME; no user profiles.
|
|
89
103
|
shellEnvironment: {
|
|
@@ -113,11 +127,51 @@ function driverOptions(options, deniedReadPaths, bridge) {
|
|
|
113
127
|
function claudeTmpDir(options) {
|
|
114
128
|
return options.principal === undefined
|
|
115
129
|
? (0, node_path_1.join)(options.workspaceDir, '.tmp')
|
|
116
|
-
: (0, member_paths_js_1.memberClaudeTmpDir)(options.principal.principalId);
|
|
130
|
+
: (options.principal.tmpDir ?? (0, member_paths_js_1.memberClaudeTmpDir)(options.principal.principalId));
|
|
117
131
|
}
|
|
118
|
-
|
|
132
|
+
/** The shared login is not the person in this session; the CLI reads this profile at startup. */
|
|
133
|
+
function removePersonalClaudeEmail(configDir) {
|
|
134
|
+
const configPath = (0, node_path_1.join)(configDir, '.claude.json');
|
|
135
|
+
let text;
|
|
136
|
+
try {
|
|
137
|
+
text = (0, node_fs_1.readFileSync)(configPath, 'utf8');
|
|
138
|
+
}
|
|
139
|
+
catch (error) {
|
|
140
|
+
if (error.code === 'ENOENT')
|
|
141
|
+
return;
|
|
142
|
+
throw error;
|
|
143
|
+
}
|
|
144
|
+
let config;
|
|
145
|
+
try {
|
|
146
|
+
config = JSON.parse(text);
|
|
147
|
+
}
|
|
148
|
+
catch (error) {
|
|
149
|
+
throw new Error(`Cannot remove the account email: ${configPath} is not valid JSON`, {
|
|
150
|
+
cause: error,
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
if (!config.oauthAccount || !Object.hasOwn(config.oauthAccount, 'emailAddress'))
|
|
154
|
+
return;
|
|
155
|
+
delete config.oauthAccount.emailAddress;
|
|
156
|
+
const temporary = (0, node_path_1.join)(configDir, `.claude-${(0, node_crypto_1.randomUUID)()}.tmp`);
|
|
157
|
+
try {
|
|
158
|
+
(0, node_fs_1.writeFileSync)(temporary, JSON.stringify(config, null, 2), {
|
|
159
|
+
encoding: 'utf8',
|
|
160
|
+
flag: 'wx',
|
|
161
|
+
mode: 0o600,
|
|
162
|
+
});
|
|
163
|
+
(0, node_fs_1.renameSync)(temporary, configPath);
|
|
164
|
+
}
|
|
165
|
+
finally {
|
|
166
|
+
(0, node_fs_1.rmSync)(temporary, { force: true });
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
function createDriver(options, nativeOptions, bridge, webTools) {
|
|
170
|
+
if (!nativeOptions.command)
|
|
171
|
+
throw new Error(`${options.backend} is missing from the host PATH`);
|
|
119
172
|
if (options.backend === 'codex') {
|
|
120
173
|
return new runtime_process_1.CodexRuntimeProcess({
|
|
174
|
+
command: nativeOptions.command,
|
|
121
175
|
hostRootDir: options.runtimeRoot,
|
|
122
176
|
model: options.model,
|
|
123
177
|
cwd: nativeOptions.cwd,
|
|
@@ -151,16 +205,18 @@ function createDriver(options, nativeOptions, bridge) {
|
|
|
151
205
|
allowedActions: options.principal?.prepareAccess().actions,
|
|
152
206
|
});
|
|
153
207
|
return new persistent_cli_adapter_1.PersistentCLIAdapter({
|
|
208
|
+
command: nativeOptions.command,
|
|
154
209
|
workspaceDir: options.workspaceDir,
|
|
155
210
|
model: options.model,
|
|
156
211
|
mcpConfigPath,
|
|
157
212
|
permissionMode: nativeOptions.permissionMode,
|
|
158
|
-
allowedTools: (0, claude_native_tool_policy_js_1.claudeOwnerAllowedTools)(options.workspaceDir).filter((tool) =>
|
|
213
|
+
allowedTools: (0, claude_native_tool_policy_js_1.claudeOwnerAllowedTools)(options.workspaceDir).filter((tool) => webTools || !['WebFetch', 'WebSearch'].includes(tool)),
|
|
159
214
|
disallowedTools: (options.principal === undefined
|
|
160
215
|
? claude_native_tool_policy_js_1.claudeOwnerDisallowedTools
|
|
161
216
|
: claude_native_tool_policy_js_1.claudeMemberDisallowedTools)(nativeOptions.deniedReadPaths, options.workspaceDir),
|
|
162
217
|
processEnv: nativeOptions.processEnv,
|
|
163
218
|
env: { CLAUDE_CODE_TMPDIR: claudeTmpDir(options) },
|
|
219
|
+
beforeSpawn: nativeOptions.beforeSpawn,
|
|
164
220
|
pluginDir: nativeOptions.pluginDir,
|
|
165
221
|
requestTimeout: nativeOptions.requestTimeout,
|
|
166
222
|
...(nativeOptions.requestMaxMs === undefined
|
|
@@ -196,6 +252,10 @@ function createNativeSession(options) {
|
|
|
196
252
|
const deniedReadPaths = options.principal === undefined
|
|
197
253
|
? [...new Set([...readPaths.map((path) => (0, node_path_1.resolve)(path)), ...(0, backend_security_js_1.normalizeReadPaths)(readPaths)])]
|
|
198
254
|
: (0, backend_security_js_1.normalizeReadPaths)(readPaths);
|
|
255
|
+
if (options.toolsRoot)
|
|
256
|
+
(0, tools_paths_js_1.assertToolsReadable)(options.toolsRoot, deniedReadPaths);
|
|
257
|
+
if (options.backend === 'claude' && options.principal !== undefined)
|
|
258
|
+
(0, member_paths_js_1.ensureMemberClaudeTmpDir)(claudeTmpDir(options));
|
|
199
259
|
if (options.backend === 'claude')
|
|
200
260
|
(0, claude_caller_config_js_1.ensureClaudeCallerHook)(options.workspaceDir, deniedReadPaths, options.sandboxNetworkProxy, claudeTmpDir(options));
|
|
201
261
|
const sessionKey = options.principal?.sessionKey ?? exports.OWNER_RUNTIME_SESSION_KEY;
|
|
@@ -231,13 +291,15 @@ function createNativeSession(options) {
|
|
|
231
291
|
allowedActions: configuredMcpOptions.principal?.prepareAccess().actions,
|
|
232
292
|
});
|
|
233
293
|
}
|
|
234
|
-
|
|
294
|
+
// Snapshot the registry roles supplied when this session is built; a new session reads them again.
|
|
295
|
+
const webTools = options.principal === undefined || options.principal.roles.includes('owner');
|
|
296
|
+
const nativeOptions = driverOptions(configuredMcpOptions, deniedReadPaths, bridge, webTools);
|
|
235
297
|
const agent = configuredMcpOptions.agent ??
|
|
236
298
|
configuredMcpOptions.createAgent?.(nativeOptions) ??
|
|
237
|
-
createDriver(configuredMcpOptions, nativeOptions, bridge);
|
|
299
|
+
createDriver(configuredMcpOptions, nativeOptions, bridge, webTools);
|
|
238
300
|
const sessionPool = options.sessionPool ?? (0, session_pool_1.getSessionPool)();
|
|
239
301
|
const standingPrompt = options.principal?.systemPrompt ?? options.ownerSystemPrompt ?? '';
|
|
240
|
-
const ownerPolicyProvider = options.
|
|
302
|
+
const ownerPolicyProvider = options.ownerPolicyProvider;
|
|
241
303
|
const emptyOwnerPolicy = {
|
|
242
304
|
content: null,
|
|
243
305
|
fingerprint: '',
|
|
@@ -258,7 +320,7 @@ function createNativeSession(options) {
|
|
|
258
320
|
const systemPrompt = current?.systemPrompt ?? standingPrompt;
|
|
259
321
|
const ownerPolicy = ownerPolicyProvider?.() ?? emptyOwnerPolicy;
|
|
260
322
|
const requestedRole = current?.nativeRole ?? defaultRole;
|
|
261
|
-
const role =
|
|
323
|
+
const role = webTools
|
|
262
324
|
? requestedRole
|
|
263
325
|
: {
|
|
264
326
|
...requestedRole,
|
|
@@ -267,7 +329,7 @@ function createNativeSession(options) {
|
|
|
267
329
|
const nativeTools = options.backend === 'claude' ? (0, claude_native_tool_policy_js_1.projectClaudeNativeTools)(role) : undefined;
|
|
268
330
|
const layers = (policy) => options.principal === undefined
|
|
269
331
|
? ownerSystemLayers(systemPrompt, policy)
|
|
270
|
-
: (0, member_system_prompt_js_1.memberSystemLayers)(systemPrompt);
|
|
332
|
+
: [...(0, member_system_prompt_js_1.memberSystemLayers)(systemPrompt), ...ownerSystemLayers('', policy)];
|
|
271
333
|
const systemLayers = layers(ownerPolicy.content);
|
|
272
334
|
const buildSystemLayers = async () => layers((ownerPolicyProvider?.() ?? emptyOwnerPolicy).content);
|
|
273
335
|
return {
|
|
@@ -281,6 +343,11 @@ function createNativeSession(options) {
|
|
|
281
343
|
nativeTools: nativeTools ?? null,
|
|
282
344
|
systemPrompt,
|
|
283
345
|
ownerPolicyFingerprint: ownerPolicy.fingerprint,
|
|
346
|
+
...(options.principal?.scopeFingerprint === undefined
|
|
347
|
+
? {}
|
|
348
|
+
: {
|
|
349
|
+
scopeFingerprint: options.principal.scopeFingerprint(),
|
|
350
|
+
}),
|
|
284
351
|
}),
|
|
285
352
|
...(options.backend === 'codex' ? { nativeCwd: options.workspaceDir } : {}),
|
|
286
353
|
...(nativeTools === undefined ? {} : { nativeTools }),
|
|
@@ -320,7 +387,7 @@ function createNativeSession(options) {
|
|
|
320
387
|
throw new Error('Native action call is missing its tool-call identity');
|
|
321
388
|
}
|
|
322
389
|
return modelToolResult(name, await options.actionSurface.hostToolCall(name, input, facts.gatewayCallId, {
|
|
323
|
-
...(options.principal === undefined ? {} : { access:
|
|
390
|
+
...(options.principal === undefined ? {} : { access: options.principal.prepareAccess() }),
|
|
324
391
|
session: {
|
|
325
392
|
...(facts.modelRunId === undefined ? {} : { modelRunId: facts.modelRunId }),
|
|
326
393
|
gatewayCallId: facts.gatewayCallId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native-session.js","sourceRoot":"","sources":["../../src/runtime/native-session.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"native-session.js","sourceRoot":"","sources":["../../src/runtime/native-session.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,8 +7,10 @@
|
|
|
7
7
|
* clients in command position, not URL literals: a
|
|
8
8
|
* script that reads a sheet full of links is not an attempt. They are a heuristic: a client they do
|
|
9
9
|
* not name, or a script file written first and run after, is missed.
|
|
10
|
-
*
|
|
11
|
-
*
|
|
10
|
+
* Plain-member shell starts stay in tool_traces only: they are not proof of a refused connection.
|
|
11
|
+
* Plain members have no web tools. Their bound sandbox proxy alone reports refusals to the
|
|
12
|
+
* common channel. Owner-role personal sessions have web tools; fetches and shell attempts alert
|
|
13
|
+
* only that person's DM. Shared storage keeps only who, what kind and when (2026-10-12).
|
|
12
14
|
*/
|
|
13
15
|
import type { NativeEffectObserver } from '@jungjaehoon/mama-core/runtime/native-effect-observer';
|
|
14
16
|
import type { OutboundAttemptEvent } from '../api/security-events.js';
|
|
@@ -21,5 +23,6 @@ export declare function outboundAttempt(name: string, input: Record<string, unkn
|
|
|
21
23
|
export declare function withOutboundAttempts(inner: NativeEffectObserver, modelRunId: string, sink: (event: OutboundAttemptEvent) => void, principal?: {
|
|
22
24
|
principalId: string;
|
|
23
25
|
ownerPrincipalId: string;
|
|
26
|
+
ownerRole: boolean;
|
|
24
27
|
}): NativeEffectObserver;
|
|
25
28
|
//# sourceMappingURL=outbound-attempts.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outbound-attempts.d.ts","sourceRoot":"","sources":["../../src/runtime/outbound-attempts.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"outbound-attempts.d.ts","sourceRoot":"","sources":["../../src/runtime/outbound-attempts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uDAAuD,CAAC;AAGlG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAwDtE,iFAAiF;AACjF,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,UAAU,EAAE,MAAM,GACjB,oBAAoB,GAAG,IAAI,CA4B7B;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,oBAAoB,EAC3B,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,EAC3C,SAAS,CAAC,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,GAChF,oBAAoB,CAqBtB"}
|
|
@@ -96,7 +96,8 @@ function withOutboundAttempts(inner, modelRunId, sink, principal) {
|
|
|
96
96
|
return {
|
|
97
97
|
started(name, input) {
|
|
98
98
|
inner.started(name, input);
|
|
99
|
-
|
|
99
|
+
const personal = principal !== undefined && principal.principalId !== principal.ownerPrincipalId;
|
|
100
|
+
if (personal && !principal.ownerRole)
|
|
100
101
|
return;
|
|
101
102
|
const event = outboundAttempt(name, input, modelRunId);
|
|
102
103
|
if (event === null)
|
|
@@ -106,7 +107,7 @@ function withOutboundAttempts(inner, modelRunId, sink, principal) {
|
|
|
106
107
|
return;
|
|
107
108
|
seen.add(event.callId);
|
|
108
109
|
}
|
|
109
|
-
sink(event);
|
|
110
|
+
sink(personal ? { ...event, principalId: principal.principalId } : event);
|
|
110
111
|
},
|
|
111
112
|
settled: (name, toolUseId, isError, outcome) => inner.settled(name, toolUseId, isError, outcome),
|
|
112
113
|
interrupted: () => inner.interrupted(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outbound-attempts.js","sourceRoot":"","sources":["../../src/runtime/outbound-attempts.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"outbound-attempts.js","sourceRoot":"","sources":["../../src/runtime/outbound-attempts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,26 +1,28 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Whose word a rule is (owner, 2026-10-01): the owner's own conversation carries authority, and
|
|
3
|
-
* every connector message is observation, including the owner's own lines in a client room. A
|
|
4
|
-
* rule (lesson, preference, constraint, workflow) written in an owner-chat turn is an owner rule,
|
|
5
|
-
* and only an owner-chat turn replaces or retires it. Rules learned in other turns are memory too,
|
|
6
|
-
* and any turn may add or change them.
|
|
7
|
-
*
|
|
8
|
-
* Authorship comes from the durable judgment command binding, and the message ref identifies
|
|
9
|
-
* the chat turn. The mailbox drops handled rows after seven days while a rule lasts. A
|
|
10
|
-
* subagent's calls carry `subagent:<thread>`: the agent that heard the owner records the correction.
|
|
11
|
-
*/
|
|
12
1
|
import type { ActionContext, ActionRegistration, DatabaseInstance } from '@jungjaehoon/mama-core';
|
|
2
|
+
import { type PrincipalRepository } from '@jungjaehoon/mama-core';
|
|
3
|
+
export declare function holdsOwnerRole(repository: Pick<PrincipalRepository, 'listRoles'>, principalId: string): boolean;
|
|
13
4
|
export declare const RULE_KINDS: readonly ["lesson", "preference", "constraint", "workflow"];
|
|
14
5
|
export declare const POLICY_UPDATE_ACTION = "manage.policy.update";
|
|
15
6
|
export declare function isOwnerChatRef(ref: unknown): boolean;
|
|
7
|
+
export interface OwnerMessageAuthority {
|
|
8
|
+
adapter: DatabaseInstance;
|
|
9
|
+
ownerPrincipalId: string;
|
|
10
|
+
isOwnerMessageTurn(sourceMessageRef: string, principalId: string): boolean;
|
|
11
|
+
}
|
|
12
|
+
/** The host's message binding names the person; the common session itself is no person. */
|
|
13
|
+
export declare function messageTurnCaller(context: ActionContext, ports: OwnerMessageAuthority): string | undefined;
|
|
14
|
+
/** Re-read status and role when the action executes, including after a target-chain wait. */
|
|
15
|
+
export declare function activeOwnerMessageCaller(context: ActionContext, ports: OwnerMessageAuthority): string | undefined;
|
|
16
16
|
/**
|
|
17
17
|
* Owner-authored chat rules among these ids. Migration 075 left earlier records without command
|
|
18
18
|
* bindings; without authenticated authorship they remain learned rules, even with a chat ref.
|
|
19
19
|
*/
|
|
20
20
|
export declare function ownerRuleIds(adapter: DatabaseInstance, ids: readonly string[], ownerPrincipalId: string): Set<string>;
|
|
21
|
-
export declare function ownerSpeaking(context: ActionContext, ownerPrincipalId: string): boolean;
|
|
21
|
+
export declare function ownerSpeaking(context: ActionContext, ownerPrincipalId: string, commonChannelId?: string): boolean;
|
|
22
22
|
/** The records a memory.save replaces, or the one a memory.retire retires. */
|
|
23
23
|
export declare function amendedRecordIds(action: string, input: unknown): string[];
|
|
24
24
|
/** Policy revisions have one writer; other owner rules change only in owner chat. */
|
|
25
|
-
export declare function guardOwnerRules(registration: ActionRegistration, adapter: DatabaseInstance, ownerPrincipalId: string
|
|
25
|
+
export declare function guardOwnerRules(registration: ActionRegistration, adapter: DatabaseInstance, ownerPrincipalId: string, commonChannelId?: string,
|
|
26
|
+
/** Whether the caller's own source reads (channels, enrollment floor) reach an observation. */
|
|
27
|
+
observationVisible?: (observationId: string, context: ActionContext) => boolean): ActionRegistration;
|
|
26
28
|
//# sourceMappingURL=owner-authority.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"owner-authority.d.ts","sourceRoot":"","sources":["../../src/runtime/owner-authority.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"owner-authority.d.ts","sourceRoot":"","sources":["../../src/runtime/owner-authority.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EACV,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAEjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAA6B,KAAK,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7F,wBAAgB,cAAc,CAC5B,UAAU,EAAE,IAAI,CAAC,mBAAmB,EAAE,WAAW,CAAC,EAClD,WAAW,EAAE,MAAM,GAClB,OAAO,CAET;AAED,eAAO,MAAM,UAAU,6DAA8D,CAAC;AAGtF,eAAO,MAAM,oBAAoB,yBAAyB,CAAC;AAI3D,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAEpD;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,gBAAgB,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;CAC5E;AAED,2FAA2F;AAC3F,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,qBAAqB,GAC3B,MAAM,GAAG,SAAS,CAkBpB;AAED,6FAA6F;AAC7F,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,qBAAqB,GAC3B,MAAM,GAAG,SAAS,CAUpB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,gBAAgB,EACzB,GAAG,EAAE,SAAS,MAAM,EAAE,EACtB,gBAAgB,EAAE,MAAM,GACvB,GAAG,CAAC,MAAM,CAAC,CAkCb;AAED,wBAAgB,aAAa,CAC3B,OAAO,EAAE,aAAa,EACtB,gBAAgB,EAAE,MAAM,EACxB,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAWT;AAED,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAWzE;AAED,qFAAqF;AACrF,wBAAgB,eAAe,CAC7B,YAAY,EAAE,kBAAkB,EAChC,OAAO,EAAE,gBAAgB,EACzB,gBAAgB,EAAE,MAAM,EACxB,eAAe,CAAC,EAAE,MAAM;AACxB,+FAA+F;AAC/F,kBAAkB,GAAE,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,KAAK,OAAqB,GAC3F,kBAAkB,CAkLpB"}
|
|
@@ -1,17 +1,68 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.POLICY_UPDATE_ACTION = exports.RULE_KINDS = void 0;
|
|
4
|
+
exports.holdsOwnerRole = holdsOwnerRole;
|
|
4
5
|
exports.isOwnerChatRef = isOwnerChatRef;
|
|
6
|
+
exports.messageTurnCaller = messageTurnCaller;
|
|
7
|
+
exports.activeOwnerMessageCaller = activeOwnerMessageCaller;
|
|
5
8
|
exports.ownerRuleIds = ownerRuleIds;
|
|
6
9
|
exports.ownerSpeaking = ownerSpeaking;
|
|
7
10
|
exports.amendedRecordIds = amendedRecordIds;
|
|
8
11
|
exports.guardOwnerRules = guardOwnerRules;
|
|
12
|
+
/**
|
|
13
|
+
* Whose word a rule is (owner, 2026-10-01): the owner's own conversation carries authority, and
|
|
14
|
+
* every connector message is observation, including the owner's own lines in a client room. A
|
|
15
|
+
* rule (lesson, preference, constraint, workflow) written in an owner-chat turn is an owner rule,
|
|
16
|
+
* and only an owner-chat turn replaces or retires it. Rules learned in other turns are memory too,
|
|
17
|
+
* and any turn may add or change them.
|
|
18
|
+
*
|
|
19
|
+
* Authorship comes from the durable judgment command binding, and the message ref identifies
|
|
20
|
+
* the chat turn. The mailbox drops handled rows after seven days while a rule lasts. A
|
|
21
|
+
* subagent's calls carry `subagent:<thread>`: the agent that heard the owner records the correction.
|
|
22
|
+
*/
|
|
23
|
+
const knowledge_1 = require("@jungjaehoon/mama-core/knowledge");
|
|
24
|
+
const principal_access_js_1 = require("./principal-access.js");
|
|
25
|
+
const mama_core_1 = require("@jungjaehoon/mama-core");
|
|
26
|
+
function holdsOwnerRole(repository, principalId) {
|
|
27
|
+
return repository.listRoles(principalId).some(({ role }) => role === 'owner');
|
|
28
|
+
}
|
|
9
29
|
exports.RULE_KINDS = ['lesson', 'preference', 'constraint', 'workflow'];
|
|
30
|
+
const COMMON_RULE_TOOL = 'common-channel-rule';
|
|
10
31
|
exports.POLICY_UPDATE_ACTION = 'manage.policy.update';
|
|
11
32
|
const OWNER_CHAT_REF = /^(?:telegram|discord|slack):[^:]+:[^:]+$/;
|
|
12
33
|
function isOwnerChatRef(ref) {
|
|
13
34
|
return typeof ref === 'string' && OWNER_CHAT_REF.test(ref);
|
|
14
35
|
}
|
|
36
|
+
/** The host's message binding names the person; the common session itself is no person. */
|
|
37
|
+
function messageTurnCaller(context, ports) {
|
|
38
|
+
const ref = context.session?.sourceMessageRef;
|
|
39
|
+
const principalId = context.access.principalId;
|
|
40
|
+
if (context.session?.replaySourceEndMs !== undefined ||
|
|
41
|
+
!isOwnerChatRef(ref) ||
|
|
42
|
+
!ports.isOwnerMessageTurn(ref, principalId))
|
|
43
|
+
return undefined;
|
|
44
|
+
if (principalId !== ports.ownerPrincipalId)
|
|
45
|
+
return principalId;
|
|
46
|
+
const row = ports.adapter
|
|
47
|
+
.prepare(`SELECT json_extract(payload_json, '$.senderPrincipalId') AS sender
|
|
48
|
+
FROM mailbox_inputs WHERE stimulus_id=? AND principal_id=? AND kind='owner_message'
|
|
49
|
+
ORDER BY id DESC LIMIT 1`)
|
|
50
|
+
.get(ref, principalId);
|
|
51
|
+
return row?.sender ?? undefined;
|
|
52
|
+
}
|
|
53
|
+
/** Re-read status and role when the action executes, including after a target-chain wait. */
|
|
54
|
+
function activeOwnerMessageCaller(context, ports) {
|
|
55
|
+
const caller = messageTurnCaller(context, ports);
|
|
56
|
+
if (!caller)
|
|
57
|
+
return undefined;
|
|
58
|
+
const repository = (0, mama_core_1.createPrincipalRepository)(ports.adapter);
|
|
59
|
+
const principal = repository.findById(caller);
|
|
60
|
+
return principal?.kind === 'member' &&
|
|
61
|
+
principal.status === 'active' &&
|
|
62
|
+
holdsOwnerRole(repository, caller)
|
|
63
|
+
? caller
|
|
64
|
+
: undefined;
|
|
65
|
+
}
|
|
15
66
|
/**
|
|
16
67
|
* Owner-authored chat rules among these ids. Migration 075 left earlier records without command
|
|
17
68
|
* bindings; without authenticated authorship they remain learned rules, even with a chat ref.
|
|
@@ -26,21 +77,27 @@ function ownerRuleIds(adapter, ids, ownerPrincipalId) {
|
|
|
26
77
|
AND EXISTS (
|
|
27
78
|
SELECT 1 FROM judgment_commands j
|
|
28
79
|
JOIN command_bindings b ON b.command_id = j.command_id
|
|
29
|
-
WHERE j.record_id = d.id AND b.principal_id = ?
|
|
80
|
+
WHERE j.record_id = d.id AND (b.principal_id = ? OR
|
|
81
|
+
json_extract(d.provenance_json, '$.tool_name') = ?)
|
|
30
82
|
AND b.action = 'judgment.append' AND b.receipt_kind = 'judgment'
|
|
31
83
|
AND b.receipt_key = d.id
|
|
32
84
|
)`)
|
|
33
|
-
.all(...ids, ownerPrincipalId);
|
|
85
|
+
.all(...ids, ownerPrincipalId, COMMON_RULE_TOOL);
|
|
34
86
|
return new Set(rows
|
|
35
87
|
.filter((row) => exports.RULE_KINDS.includes(row.kind) &&
|
|
36
88
|
row.provenance_json !== null &&
|
|
37
89
|
isOwnerChatRef(JSON.parse(row.provenance_json).source_message_ref))
|
|
38
90
|
.map((row) => row.id));
|
|
39
91
|
}
|
|
40
|
-
function ownerSpeaking(context, ownerPrincipalId) {
|
|
41
|
-
|
|
92
|
+
function ownerSpeaking(context, ownerPrincipalId, commonChannelId) {
|
|
93
|
+
const ref = context.session?.sourceMessageRef;
|
|
94
|
+
// With a common channel configured, owner policy changes come only from its messages: the
|
|
95
|
+
// common session's turn or a room session there, never another allowed group.
|
|
96
|
+
return ((context.access.principalId === ownerPrincipalId ||
|
|
97
|
+
(commonChannelId !== undefined && (0, principal_access_js_1.roomChannel)(context.access) === commonChannelId)) &&
|
|
98
|
+
(commonChannelId === undefined || ref?.startsWith(`telegram:${commonChannelId}:`) === true) &&
|
|
42
99
|
context.session?.replaySourceEndMs === undefined &&
|
|
43
|
-
isOwnerChatRef(
|
|
100
|
+
isOwnerChatRef(ref));
|
|
44
101
|
}
|
|
45
102
|
/** The records a memory.save replaces, or the one a memory.retire retires. */
|
|
46
103
|
function amendedRecordIds(action, input) {
|
|
@@ -55,7 +112,9 @@ function amendedRecordIds(action, input) {
|
|
|
55
112
|
return named.filter((id) => typeof id === 'string');
|
|
56
113
|
}
|
|
57
114
|
/** Policy revisions have one writer; other owner rules change only in owner chat. */
|
|
58
|
-
function guardOwnerRules(registration, adapter, ownerPrincipalId
|
|
115
|
+
function guardOwnerRules(registration, adapter, ownerPrincipalId, commonChannelId,
|
|
116
|
+
/** Whether the caller's own source reads (channels, enrollment floor) reach an observation. */
|
|
117
|
+
observationVisible = () => false) {
|
|
59
118
|
const action = registration.contract.name;
|
|
60
119
|
return {
|
|
61
120
|
...registration,
|
|
@@ -78,14 +137,111 @@ function guardOwnerRules(registration, adapter, ownerPrincipalId) {
|
|
|
78
137
|
error.name = 'denied';
|
|
79
138
|
throw error;
|
|
80
139
|
}
|
|
140
|
+
// Core checks only that a linked observation exists. Any caller other than the common
|
|
141
|
+
// session links an observation, or an edge with one at either end, only if its own source
|
|
142
|
+
// reads reach it.
|
|
143
|
+
if (context.access.principalId !== ownerPrincipalId) {
|
|
144
|
+
const links = input.links ?? [];
|
|
145
|
+
const linkedObservations = links.flatMap((link) => {
|
|
146
|
+
if (link.target.kind === 'observation')
|
|
147
|
+
return [link.target.id];
|
|
148
|
+
if (link.target.kind !== 'edge')
|
|
149
|
+
return [];
|
|
150
|
+
const edge = adapter
|
|
151
|
+
.prepare('SELECT subject_kind, subject_id, object_kind, object_id FROM twin_edges WHERE edge_id = ?')
|
|
152
|
+
.get(link.target.id);
|
|
153
|
+
if (!edge)
|
|
154
|
+
return [];
|
|
155
|
+
return [
|
|
156
|
+
...(edge.subject_kind === 'observation' ? [edge.subject_id] : []),
|
|
157
|
+
...(edge.object_kind === 'observation' ? [edge.object_id] : []),
|
|
158
|
+
];
|
|
159
|
+
});
|
|
160
|
+
for (const id of linkedObservations) {
|
|
161
|
+
if (!observationVisible(id, context)) {
|
|
162
|
+
const error = new Error(`A judgment reference is unavailable: observation ${id}`);
|
|
163
|
+
error.name = 'denied';
|
|
164
|
+
throw error;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
81
168
|
const owned = ownerRuleIds(adapter, ids, ownerPrincipalId);
|
|
82
|
-
if (owned.size > 0 && !ownerSpeaking(context, ownerPrincipalId)) {
|
|
169
|
+
if (owned.size > 0 && !ownerSpeaking(context, ownerPrincipalId, commonChannelId)) {
|
|
83
170
|
const error = new Error(`${[...owned].join(', ')} ${owned.size === 1 ? 'is an owner rule' : 'are owner rules'}: ` +
|
|
84
|
-
'
|
|
171
|
+
'change it in the common channel. Save what you learned as a personal lesson ' +
|
|
85
172
|
'without replacing it, or ask the owner in your reply or report.');
|
|
86
173
|
error.name = 'denied';
|
|
87
174
|
throw error;
|
|
88
175
|
}
|
|
176
|
+
if (owned.size > 0 &&
|
|
177
|
+
context.access.principalId !== ownerPrincipalId &&
|
|
178
|
+
ownerSpeaking(context, ownerPrincipalId, commonChannelId)) {
|
|
179
|
+
const command = input;
|
|
180
|
+
if (ids.some((id) => !owned.has(id)) ||
|
|
181
|
+
(action === 'memory.save' && !exports.RULE_KINDS.includes(command.kind))) {
|
|
182
|
+
const error = new Error('Common rule corrections may replace or retire only owner rules and must keep a rule kind');
|
|
183
|
+
error.name = 'denied';
|
|
184
|
+
throw error;
|
|
185
|
+
}
|
|
186
|
+
// Check references under the original authority before admitting the rule targets.
|
|
187
|
+
// The common scope below authorizes only the named owner rules and the new rule.
|
|
188
|
+
for (const [refs, scopeIds] of [
|
|
189
|
+
[(command.links ?? []).map((link) => link.target), (0, knowledge_1.readableScopeIds)(context.access)],
|
|
190
|
+
[
|
|
191
|
+
(command.amends ?? []).map((amendment) => amendment.target),
|
|
192
|
+
(0, knowledge_1.admittedScopeIds)(context.access),
|
|
193
|
+
],
|
|
194
|
+
]) {
|
|
195
|
+
for (const ref of refs) {
|
|
196
|
+
if (!(0, knowledge_1.referenceExists)(adapter, ref, scopeIds)) {
|
|
197
|
+
const error = new Error(`A judgment reference is unavailable: ${ref.kind} ${ref.id}`);
|
|
198
|
+
error.name = 'denied';
|
|
199
|
+
throw error;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
// A common rule's correction is common; a rule saved only in a partition keeps that
|
|
204
|
+
// partition instead of being promoted into the common records.
|
|
205
|
+
const common = { kind: 'user', id: ownerPrincipalId };
|
|
206
|
+
const bound = adapter
|
|
207
|
+
.prepare(`SELECT DISTINCT s.kind, s.external_id FROM memory_scope_bindings b
|
|
208
|
+
JOIN memory_scopes s ON s.id = b.scope_id
|
|
209
|
+
WHERE b.memory_id IN (${[...owned].map(() => '?').join(',')})`)
|
|
210
|
+
.all(...owned).map((row) => ({ kind: row.kind, id: row.external_id }));
|
|
211
|
+
const scopes = bound.length === 0 ||
|
|
212
|
+
bound.some((scope) => scope.kind === common.kind && scope.id === common.id)
|
|
213
|
+
? [common]
|
|
214
|
+
: bound;
|
|
215
|
+
// A partition rule is corrected only by a room that still holds that partition.
|
|
216
|
+
if (scopes === bound &&
|
|
217
|
+
!bound.every((target) => context.access.scopes.some((scope) => scope.kind === target.kind && scope.id === target.id))) {
|
|
218
|
+
const error = new Error('The rule is bound to a project outside your grants');
|
|
219
|
+
error.name = 'denied';
|
|
220
|
+
throw error;
|
|
221
|
+
}
|
|
222
|
+
return await registration.exec(action === 'memory.save' ? { ...input, scopes } : input, {
|
|
223
|
+
...context,
|
|
224
|
+
session: { ...context.session, toolName: COMMON_RULE_TOOL },
|
|
225
|
+
access: {
|
|
226
|
+
...context.access,
|
|
227
|
+
scopes: [
|
|
228
|
+
...context.access.scopes.filter((scope) => !scopes.some((target) => target.kind === scope.kind && target.id === scope.id)),
|
|
229
|
+
...scopes,
|
|
230
|
+
],
|
|
231
|
+
defaultScopes: scopes,
|
|
232
|
+
},
|
|
233
|
+
});
|
|
234
|
+
}
|
|
235
|
+
// Stamp the host-selected common-channel rule path, never a scope supplied by the caller.
|
|
236
|
+
const kind = input.kind;
|
|
237
|
+
if (action === 'memory.save' &&
|
|
238
|
+
exports.RULE_KINDS.includes(kind) &&
|
|
239
|
+
ownerSpeaking(context, ownerPrincipalId, commonChannelId)) {
|
|
240
|
+
return await registration.exec(input, {
|
|
241
|
+
...context,
|
|
242
|
+
session: { ...context.session, toolName: COMMON_RULE_TOOL },
|
|
243
|
+
});
|
|
244
|
+
}
|
|
89
245
|
return await registration.exec(input, context);
|
|
90
246
|
},
|
|
91
247
|
};
|