@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.
Files changed (254) hide show
  1. package/CHANGELOG.md +84 -0
  2. package/README.md +6 -1
  3. package/dist/api/code-act-actions.d.ts +3 -1
  4. package/dist/api/code-act-actions.d.ts.map +1 -1
  5. package/dist/api/code-act-actions.js +16 -7
  6. package/dist/api/code-act-actions.js.map +1 -1
  7. package/dist/api/document-actions.d.ts +13 -0
  8. package/dist/api/document-actions.d.ts.map +1 -0
  9. package/dist/api/document-actions.js +55 -0
  10. package/dist/api/document-actions.js.map +1 -0
  11. package/dist/api/drive-actions.d.ts +3 -1
  12. package/dist/api/drive-actions.d.ts.map +1 -1
  13. package/dist/api/drive-actions.js +6 -1
  14. package/dist/api/drive-actions.js.map +1 -1
  15. package/dist/api/member-enrollment.d.ts +7 -4
  16. package/dist/api/member-enrollment.d.ts.map +1 -1
  17. package/dist/api/member-enrollment.js +65 -33
  18. package/dist/api/member-enrollment.js.map +1 -1
  19. package/dist/api/member-export.d.ts.map +1 -1
  20. package/dist/api/member-export.js +14 -6
  21. package/dist/api/member-export.js.map +1 -1
  22. package/dist/api/member-lifecycle.d.ts +23 -4
  23. package/dist/api/member-lifecycle.d.ts.map +1 -1
  24. package/dist/api/member-lifecycle.js +90 -19
  25. package/dist/api/member-lifecycle.js.map +1 -1
  26. package/dist/api/member-notice-actions.d.ts +18 -0
  27. package/dist/api/member-notice-actions.d.ts.map +1 -0
  28. package/dist/api/member-notice-actions.js +184 -0
  29. package/dist/api/member-notice-actions.js.map +1 -0
  30. package/dist/api/member-records.d.ts +17 -2
  31. package/dist/api/member-records.d.ts.map +1 -1
  32. package/dist/api/member-records.js +440 -82
  33. package/dist/api/member-records.js.map +1 -1
  34. package/dist/api/member-share-actions.d.ts +3 -3
  35. package/dist/api/member-share-actions.d.ts.map +1 -1
  36. package/dist/api/member-share-actions.js +49 -22
  37. package/dist/api/member-share-actions.js.map +1 -1
  38. package/dist/api/member-smoke-state.d.ts +3 -0
  39. package/dist/api/member-smoke-state.d.ts.map +1 -0
  40. package/dist/api/member-smoke-state.js +20 -0
  41. package/dist/api/member-smoke-state.js.map +1 -0
  42. package/dist/api/owner-policy-actions.d.ts +1 -0
  43. package/dist/api/owner-policy-actions.d.ts.map +1 -1
  44. package/dist/api/owner-policy-actions.js +8 -4
  45. package/dist/api/owner-policy-actions.js.map +1 -1
  46. package/dist/api/owner-timezone-actions.d.ts +3 -2
  47. package/dist/api/owner-timezone-actions.d.ts.map +1 -1
  48. package/dist/api/owner-timezone-actions.js +4 -6
  49. package/dist/api/owner-timezone-actions.js.map +1 -1
  50. package/dist/api/personal-job-actions.d.ts +6 -0
  51. package/dist/api/personal-job-actions.d.ts.map +1 -0
  52. package/dist/api/personal-job-actions.js +72 -0
  53. package/dist/api/personal-job-actions.js.map +1 -0
  54. package/dist/api/security-events.d.ts +6 -1
  55. package/dist/api/security-events.d.ts.map +1 -1
  56. package/dist/api/security-events.js +34 -15
  57. package/dist/api/security-events.js.map +1 -1
  58. package/dist/api/skill-actions.d.ts +5 -0
  59. package/dist/api/skill-actions.d.ts.map +1 -0
  60. package/dist/api/skill-actions.js +66 -0
  61. package/dist/api/skill-actions.js.map +1 -0
  62. package/dist/api/source-actions.d.ts.map +1 -1
  63. package/dist/api/source-actions.js +4 -2
  64. package/dist/api/source-actions.js.map +1 -1
  65. package/dist/api/stored-source-reader.d.ts.map +1 -1
  66. package/dist/api/stored-source-reader.js +9 -2
  67. package/dist/api/stored-source-reader.js.map +1 -1
  68. package/dist/api/trello-actions.d.ts +1 -1
  69. package/dist/api/trello-actions.d.ts.map +1 -1
  70. package/dist/api/trello-actions.js +19 -4
  71. package/dist/api/trello-actions.js.map +1 -1
  72. package/dist/api/work-actions.d.ts +12 -2
  73. package/dist/api/work-actions.d.ts.map +1 -1
  74. package/dist/api/work-actions.js +57 -10
  75. package/dist/api/work-actions.js.map +1 -1
  76. package/dist/cli/commands/daemon.d.ts +12 -2
  77. package/dist/cli/commands/daemon.d.ts.map +1 -1
  78. package/dist/cli/commands/daemon.js +80 -13
  79. package/dist/cli/commands/daemon.js.map +1 -1
  80. package/dist/cli/commands/init.d.ts +4 -0
  81. package/dist/cli/commands/init.d.ts.map +1 -1
  82. package/dist/cli/commands/init.js +27 -5
  83. package/dist/cli/commands/init.js.map +1 -1
  84. package/dist/cli/commands/register-owner.d.ts +14 -5
  85. package/dist/cli/commands/register-owner.d.ts.map +1 -1
  86. package/dist/cli/commands/register-owner.js +145 -42
  87. package/dist/cli/commands/register-owner.js.map +1 -1
  88. package/dist/cli/commands/tools.d.ts +12 -0
  89. package/dist/cli/commands/tools.d.ts.map +1 -0
  90. package/dist/cli/commands/tools.js +109 -0
  91. package/dist/cli/commands/tools.js.map +1 -0
  92. package/dist/cli/index.js +8 -4
  93. package/dist/cli/index.js.map +1 -1
  94. package/dist/connectors/framework/polling-scheduler.d.ts +6 -1
  95. package/dist/connectors/framework/polling-scheduler.d.ts.map +1 -1
  96. package/dist/connectors/framework/polling-scheduler.js +25 -3
  97. package/dist/connectors/framework/polling-scheduler.js.map +1 -1
  98. package/dist/connectors/framework/stored-index-read.d.ts +2 -2
  99. package/dist/connectors/framework/stored-index-read.d.ts.map +1 -1
  100. package/dist/connectors/framework/stored-index-read.js +10 -3
  101. package/dist/connectors/framework/stored-index-read.js.map +1 -1
  102. package/dist/gateways/base-gateway.d.ts +7 -0
  103. package/dist/gateways/base-gateway.d.ts.map +1 -1
  104. package/dist/gateways/base-gateway.js +24 -0
  105. package/dist/gateways/base-gateway.js.map +1 -1
  106. package/dist/gateways/discord.d.ts +4 -0
  107. package/dist/gateways/discord.d.ts.map +1 -1
  108. package/dist/gateways/discord.js +24 -6
  109. package/dist/gateways/discord.js.map +1 -1
  110. package/dist/gateways/slack.d.ts +3 -0
  111. package/dist/gateways/slack.d.ts.map +1 -1
  112. package/dist/gateways/slack.js +15 -2
  113. package/dist/gateways/slack.js.map +1 -1
  114. package/dist/gateways/telegram-errors.d.ts +3 -0
  115. package/dist/gateways/telegram-errors.d.ts.map +1 -1
  116. package/dist/gateways/telegram-errors.js +5 -0
  117. package/dist/gateways/telegram-errors.js.map +1 -1
  118. package/dist/gateways/telegram-message-ledger.d.ts +7 -0
  119. package/dist/gateways/telegram-message-ledger.d.ts.map +1 -1
  120. package/dist/gateways/telegram-message-ledger.js +27 -2
  121. package/dist/gateways/telegram-message-ledger.js.map +1 -1
  122. package/dist/gateways/telegram.d.ts +33 -7
  123. package/dist/gateways/telegram.d.ts.map +1 -1
  124. package/dist/gateways/telegram.js +297 -59
  125. package/dist/gateways/telegram.js.map +1 -1
  126. package/dist/gateways/turn-contract.d.ts +8 -0
  127. package/dist/gateways/turn-contract.d.ts.map +1 -1
  128. package/dist/runtime/action-surface.d.ts +28 -3
  129. package/dist/runtime/action-surface.d.ts.map +1 -1
  130. package/dist/runtime/action-surface.js +316 -39
  131. package/dist/runtime/action-surface.js.map +1 -1
  132. package/dist/runtime/backend-security.d.ts +4 -0
  133. package/dist/runtime/backend-security.d.ts.map +1 -1
  134. package/dist/runtime/backend-security.js +8 -1
  135. package/dist/runtime/backend-security.js.map +1 -1
  136. package/dist/runtime/config.d.ts +1 -1
  137. package/dist/runtime/config.d.ts.map +1 -1
  138. package/dist/runtime/config.js +18 -11
  139. package/dist/runtime/config.js.map +1 -1
  140. package/dist/runtime/connectors.js +1 -1
  141. package/dist/runtime/connectors.js.map +1 -1
  142. package/dist/runtime/egress-proxy.d.ts +3 -3
  143. package/dist/runtime/egress-proxy.d.ts.map +1 -1
  144. package/dist/runtime/egress-proxy.js +16 -3
  145. package/dist/runtime/egress-proxy.js.map +1 -1
  146. package/dist/runtime/member-paths.d.ts +9 -1
  147. package/dist/runtime/member-paths.d.ts.map +1 -1
  148. package/dist/runtime/member-paths.js +67 -5
  149. package/dist/runtime/member-paths.js.map +1 -1
  150. package/dist/runtime/member-session.d.ts +21 -21
  151. package/dist/runtime/member-session.d.ts.map +1 -1
  152. package/dist/runtime/member-session.js +289 -34
  153. package/dist/runtime/member-session.js.map +1 -1
  154. package/dist/runtime/member-system-prompt.d.ts +1 -0
  155. package/dist/runtime/member-system-prompt.d.ts.map +1 -1
  156. package/dist/runtime/member-system-prompt.js +26 -4
  157. package/dist/runtime/member-system-prompt.js.map +1 -1
  158. package/dist/runtime/native-session.d.ts +6 -0
  159. package/dist/runtime/native-session.d.ts.map +1 -1
  160. package/dist/runtime/native-session.js +80 -13
  161. package/dist/runtime/native-session.js.map +1 -1
  162. package/dist/runtime/outbound-attempts.d.ts +5 -2
  163. package/dist/runtime/outbound-attempts.d.ts.map +1 -1
  164. package/dist/runtime/outbound-attempts.js +3 -2
  165. package/dist/runtime/outbound-attempts.js.map +1 -1
  166. package/dist/runtime/owner-authority.d.ts +15 -13
  167. package/dist/runtime/owner-authority.d.ts.map +1 -1
  168. package/dist/runtime/owner-authority.js +164 -8
  169. package/dist/runtime/owner-authority.js.map +1 -1
  170. package/dist/runtime/owner-runtime.d.ts +19 -4
  171. package/dist/runtime/owner-runtime.d.ts.map +1 -1
  172. package/dist/runtime/owner-runtime.js +446 -44
  173. package/dist/runtime/owner-runtime.js.map +1 -1
  174. package/dist/runtime/owner-system-prompt.d.ts +3 -1
  175. package/dist/runtime/owner-system-prompt.d.ts.map +1 -1
  176. package/dist/runtime/owner-system-prompt.js +15 -5
  177. package/dist/runtime/owner-system-prompt.js.map +1 -1
  178. package/dist/runtime/personal-job-cron.d.ts +6 -0
  179. package/dist/runtime/personal-job-cron.d.ts.map +1 -0
  180. package/dist/runtime/personal-job-cron.js +154 -0
  181. package/dist/runtime/personal-job-cron.js.map +1 -0
  182. package/dist/runtime/personal-jobs.d.ts +107 -0
  183. package/dist/runtime/personal-jobs.d.ts.map +1 -0
  184. package/dist/runtime/personal-jobs.js +353 -0
  185. package/dist/runtime/personal-jobs.js.map +1 -0
  186. package/dist/runtime/personal-notices.d.ts +38 -0
  187. package/dist/runtime/personal-notices.d.ts.map +1 -0
  188. package/dist/runtime/personal-notices.js +137 -0
  189. package/dist/runtime/personal-notices.js.map +1 -0
  190. package/dist/runtime/personal-turns.d.ts +23 -0
  191. package/dist/runtime/personal-turns.d.ts.map +1 -0
  192. package/dist/runtime/personal-turns.js +51 -0
  193. package/dist/runtime/personal-turns.js.map +1 -0
  194. package/dist/runtime/principal-access.d.ts +8 -0
  195. package/dist/runtime/principal-access.d.ts.map +1 -1
  196. package/dist/runtime/principal-access.js +99 -4
  197. package/dist/runtime/principal-access.js.map +1 -1
  198. package/dist/runtime/principal-sessions.d.ts +16 -2
  199. package/dist/runtime/principal-sessions.d.ts.map +1 -1
  200. package/dist/runtime/principal-sessions.js +104 -21
  201. package/dist/runtime/principal-sessions.js.map +1 -1
  202. package/dist/runtime/skills.d.ts +86 -0
  203. package/dist/runtime/skills.d.ts.map +1 -0
  204. package/dist/runtime/skills.js +560 -0
  205. package/dist/runtime/skills.js.map +1 -0
  206. package/dist/runtime/stimulus-delivery.d.ts +22 -1
  207. package/dist/runtime/stimulus-delivery.d.ts.map +1 -1
  208. package/dist/runtime/stimulus-delivery.js +192 -19
  209. package/dist/runtime/stimulus-delivery.js.map +1 -1
  210. package/dist/runtime/tools-paths.d.ts +9 -0
  211. package/dist/runtime/tools-paths.d.ts.map +1 -0
  212. package/dist/runtime/tools-paths.js +98 -0
  213. package/dist/runtime/tools-paths.js.map +1 -0
  214. package/dist/runtime/turn-orders.d.ts +22 -2
  215. package/dist/runtime/turn-orders.d.ts.map +1 -1
  216. package/dist/runtime/turn-orders.js +60 -6
  217. package/dist/runtime/turn-orders.js.map +1 -1
  218. package/dist/storage/chat-sources.d.ts +21 -0
  219. package/dist/storage/chat-sources.d.ts.map +1 -1
  220. package/dist/storage/chat-sources.js +66 -4
  221. package/dist/storage/chat-sources.js.map +1 -1
  222. package/dist/storage/source-archive.d.ts +13 -0
  223. package/dist/storage/source-archive.d.ts.map +1 -1
  224. package/dist/storage/source-archive.js +103 -0
  225. package/dist/storage/source-archive.js.map +1 -1
  226. package/dist/tools/command-runner.d.ts +12 -0
  227. package/dist/tools/command-runner.d.ts.map +1 -0
  228. package/dist/tools/command-runner.js +65 -0
  229. package/dist/tools/command-runner.js.map +1 -0
  230. package/dist/tools/document-render.d.ts +24 -0
  231. package/dist/tools/document-render.d.ts.map +1 -0
  232. package/dist/tools/document-render.js +208 -0
  233. package/dist/tools/document-render.js.map +1 -0
  234. package/dist/tools/document-toolkit.d.ts +15 -0
  235. package/dist/tools/document-toolkit.d.ts.map +1 -0
  236. package/dist/tools/document-toolkit.js +501 -0
  237. package/dist/tools/document-toolkit.js.map +1 -0
  238. package/dist/tools/office-render.d.ts +28 -0
  239. package/dist/tools/office-render.d.ts.map +1 -0
  240. package/dist/tools/office-render.js +98 -0
  241. package/dist/tools/office-render.js.map +1 -0
  242. package/dist/tools/toolkit-process.d.ts +9 -0
  243. package/dist/tools/toolkit-process.d.ts.map +1 -0
  244. package/dist/tools/toolkit-process.js +148 -0
  245. package/dist/tools/toolkit-process.js.map +1 -0
  246. package/dist/tools/toolkit-state.d.ts +22 -0
  247. package/dist/tools/toolkit-state.d.ts.map +1 -0
  248. package/dist/tools/toolkit-state.js +116 -0
  249. package/dist/tools/toolkit-state.js.map +1 -0
  250. package/package.json +3 -2
  251. package/toolkit/inspect-office-zip.py +16 -0
  252. package/toolkit/rasterize.py +29 -0
  253. package/toolkit/requirements.lock +664 -0
  254. package/toolkit/smoke.py +32 -0
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createMemberSession = createMemberSession;
4
+ const personal_jobs_js_1 = require("./personal-jobs.js");
5
+ const skills_js_1 = require("./skills.js");
6
+ const personal_notices_js_1 = require("./personal-notices.js");
4
7
  const node_crypto_1 = require("node:crypto");
8
+ const node_fs_1 = require("node:fs");
5
9
  const node_path_1 = require("node:path");
6
10
  const mama_core_1 = require("@jungjaehoon/mama-core");
7
11
  const chat_sources_js_1 = require("../storage/chat-sources.js");
@@ -13,32 +17,101 @@ const member_system_prompt_js_1 = require("./member-system-prompt.js");
13
17
  const turn_orders_js_1 = require("./turn-orders.js");
14
18
  const principal_access_js_1 = require("./principal-access.js");
15
19
  const session_start_context_js_1 = require("./session-start-context.js");
20
+ const owner_system_prompt_js_1 = require("./owner-system-prompt.js");
21
+ const stored_index_read_js_1 = require("../connectors/framework/stored-index-read.js");
16
22
  const stimulus_delivery_js_1 = require("./stimulus-delivery.js");
17
23
  const owner_authority_js_1 = require("./owner-authority.js");
18
24
  const egress_proxy_js_1 = require("./egress-proxy.js");
19
- function createMemberSession(principalId, root, ports) {
25
+ const telegram_message_ledger_js_1 = require("../gateways/telegram-message-ledger.js");
26
+ function createMemberSession(principalId, root, ports, room) {
20
27
  const { options, database, rawStore, surface } = ports;
21
28
  const agentId = `member-agent:${principalId}`;
22
- const sessionKey = `member:${principalId}:runtime`;
29
+ const sessionKey = room === undefined ? `member:${principalId}:runtime` : (0, principal_access_js_1.memberRoomSessionKey)(principalId, room);
23
30
  const access = () => (0, principal_access_js_1.resolvePrincipalAccess)(principalId, {
24
31
  adapter: database.adapter,
25
32
  ownerAccess: surface.ownerAccess,
26
33
  agentId,
34
+ sessionKey,
35
+ commonChannelId: options.commonChannelId,
27
36
  });
28
37
  const initialAccess = access(); // Unknown/inactive ids fail before creating their paths.
29
- const paths = (0, member_paths_js_1.ensureMemberPaths)(root, principalId);
38
+ const personalPaths = (0, member_paths_js_1.ensureMemberPaths)(root, principalId);
39
+ const paths = room === undefined
40
+ ? personalPaths
41
+ : {
42
+ ...(0, member_paths_js_1.ensureMemberPaths)((0, node_path_1.join)(personalPaths.runtimeRoot, 'rooms'), (0, node_crypto_1.createHash)('sha256').update(room).digest('hex')),
43
+ credentialPath: personalPaths.credentialPath,
44
+ };
45
+ const rooms = new Map();
46
+ const roomSession = (channel) => {
47
+ if (!options.roomChannels?.includes(channel))
48
+ throw new Error('Room channel is not configured');
49
+ let session = rooms.get(channel);
50
+ if (!session)
51
+ rooms.set(channel, (session = createMemberSession(principalId, root, ports, channel)));
52
+ return session;
53
+ };
54
+ let activeRoom;
55
+ let activeRequest;
30
56
  const personalScopes = [{ kind: 'user', id: principalId }];
31
- const chat = new chat_sources_js_1.ChatSources(rawStore, database.adapter, principalId, agentId);
57
+ const principals = (0, mama_core_1.createPrincipalRepository)(database.adapter);
58
+ const readsOwnerRules = () => (0, owner_authority_js_1.holdsOwnerRole)(principals, principalId);
59
+ const readRecords = async (readOptions) => {
60
+ const records = await (0, owner_runtime_js_1.readOwnerMemoryRecords)(database.adapter, room === undefined ? personalScopes : [...access().scopes], readOptions);
61
+ if (room === undefined && readsOwnerRules())
62
+ records.push(...(await (0, owner_runtime_js_1.readOwnerMemoryRecords)(database.adapter, surface.ownerAccess.scopes, {
63
+ ...readOptions,
64
+ kind: [...owner_authority_js_1.RULE_KINDS],
65
+ })));
66
+ return [...new Map(records.map((record) => [record.id, record])).values()];
67
+ };
68
+ const chat = new chat_sources_js_1.ChatSources(rawStore, database.adapter, room === undefined ? principalId : options.ownerPrincipalId, agentId);
69
+ // Include future configured rooms before any of them starts. Literal path denies cannot
70
+ // express a parent minus its own subtree; snapshot existing debris as well at room creation.
71
+ const siblingRooms = room === undefined
72
+ ? []
73
+ : [
74
+ ...new Set([
75
+ ...(0, node_fs_1.readdirSync)((0, node_path_1.join)(personalPaths.runtimeRoot, 'rooms')).map((entry) => (0, node_path_1.join)(personalPaths.runtimeRoot, 'rooms', entry)),
76
+ ...(options.roomChannels ?? []).map((channel) => (0, node_path_1.join)(personalPaths.runtimeRoot, 'rooms', (0, node_crypto_1.createHash)('sha256').update(channel).digest('hex'))),
77
+ ]),
78
+ ].filter((path) => path !== paths.runtimeRoot);
79
+ const siblingTemps = room === undefined
80
+ ? []
81
+ : [
82
+ ...new Set([
83
+ ...((0, node_fs_1.existsSync)((0, member_paths_js_1.memberRoomTmpRoot)(principalId))
84
+ ? (0, node_fs_1.readdirSync)((0, member_paths_js_1.memberRoomTmpRoot)(principalId)).map((entry) => (0, node_path_1.join)((0, member_paths_js_1.memberRoomTmpRoot)(principalId), entry))
85
+ : []),
86
+ ...(options.roomChannels ?? []).map((channel) => (0, member_paths_js_1.memberRoomClaudeTmpDir)(principalId, channel)),
87
+ ]),
88
+ ].filter((path) => path !== (0, member_paths_js_1.memberRoomClaudeTmpDir)(principalId, room));
32
89
  const denyPaths = () => (0, backend_security_js_1.normalizeReadPaths)([
33
90
  ...ports.ownerDeniedPaths,
34
91
  paths.claudeConfigDir,
35
- ...(0, member_paths_js_1.otherMemberReadPaths)(root, principalId, ports.registeredMemberIds()),
92
+ ...(room === undefined
93
+ ? [(0, node_path_1.join)(personalPaths.runtimeRoot, 'rooms'), (0, member_paths_js_1.memberRoomTmpRoot)(principalId)]
94
+ : [
95
+ ...(0, node_fs_1.readdirSync)(personalPaths.runtimeRoot)
96
+ .filter((entry) => entry !== 'rooms')
97
+ .map((entry) => (0, node_path_1.join)(personalPaths.runtimeRoot, entry)),
98
+ ...siblingRooms,
99
+ backend_security_js_1.MEMBER_CLAUDE_TMP_PARENT,
100
+ ...siblingTemps,
101
+ ]),
102
+ ...(0, member_paths_js_1.otherMemberReadPaths)(root, principalId, ports.registeredMemberIds(), room !== undefined),
36
103
  ]).sort();
37
104
  let deniedReadPaths = denyPaths();
105
+ const roles = () => principals
106
+ .listRoles(principalId)
107
+ .map(({ role }) => role)
108
+ .sort();
109
+ let sessionRoles = roles();
38
110
  let proxy;
39
111
  const create = () => (options.createSession ?? native_session_js_1.createNativeSession)({
40
112
  backend: options.backend,
41
113
  model: options.model,
114
+ toolsRoot: options.toolsRoot,
42
115
  ...paths,
43
116
  socketPath: options.socketPath,
44
117
  actionSurface: surface,
@@ -46,9 +119,17 @@ function createMemberSession(principalId, root, ports) {
46
119
  principalId,
47
120
  agentId,
48
121
  sessionKey,
49
- systemPrompt: member_system_prompt_js_1.MEMBER_SYSTEM_PROMPT,
122
+ systemPrompt: room === undefined ? member_system_prompt_js_1.MEMBER_SYSTEM_PROMPT : member_system_prompt_js_1.MEMBER_ROOM_SYSTEM_PROMPT,
123
+ ...(room === undefined ? {} : { tmpDir: (0, member_paths_js_1.memberRoomClaudeTmpDir)(principalId, room) }),
124
+ ...(room === undefined ? {} : { scopeFingerprint: () => JSON.stringify(access()) }),
125
+ roles: sessionRoles,
50
126
  prepareAccess: access,
51
127
  },
128
+ // The host reads the common policy; the person's native tools still cannot read its file.
129
+ // A room reads it only in the common channel, where it may change it.
130
+ ownerPolicyProvider: () => (room !== undefined ? room === options.commonChannelId : readsOwnerRules())
131
+ ? ports.ownerPolicyProvider()
132
+ : { content: null, fingerprint: '', loaded: false },
52
133
  // Native session also denies this member's runtime and Codex credentials.
53
134
  deniedReadPaths,
54
135
  sandboxNetworkProxy: proxy,
@@ -71,11 +152,21 @@ function createMemberSession(principalId, root, ports) {
71
152
  return current.supportsNativeSubagents;
72
153
  },
73
154
  hostToolDefinitions: () => current.hostToolDefinitions(),
74
- callAction: (call, caller) => current.callAction(call, caller),
75
- resetSession: (key) => current.resetSession(key),
76
- steer: (content, target, key) => current.steer(content, target, key),
155
+ callAction: (call, caller) => (activeRoom?.native ?? current).callAction(call, caller),
156
+ resetSession: async (key) => {
157
+ if (room === undefined && key === sessionKey)
158
+ for (const session of rooms.values())
159
+ await session.native.resetSession(session.native.sessionKey);
160
+ const channel = (0, principal_access_js_1.memberRoomChannel)(principalId, key);
161
+ await (room === undefined && channel !== undefined ? roomSession(channel).native : current).resetSession(key);
162
+ },
163
+ steer: (content, target, key) => {
164
+ const channel = (0, principal_access_js_1.memberRoomChannel)(principalId, key);
165
+ return (room === undefined && channel !== undefined ? roomSession(channel).native : current).steer(content, target, key);
166
+ },
77
167
  stop: async () => {
78
168
  try {
169
+ await Promise.all([...rooms.values()].map((session) => session.native.stop()));
79
170
  await current.stop();
80
171
  }
81
172
  finally {
@@ -83,42 +174,126 @@ function createMemberSession(principalId, root, ports) {
83
174
  }
84
175
  },
85
176
  runTurn: async (content, request) => {
177
+ const channel = (0, principal_access_js_1.memberRoomChannel)(principalId, request?.sessionKey);
178
+ if (room === undefined && channel !== undefined) {
179
+ activeRoom = roomSession(channel);
180
+ try {
181
+ return await activeRoom.native.runTurn(content, request);
182
+ }
183
+ finally {
184
+ activeRoom = undefined;
185
+ }
186
+ }
187
+ const next = denyPaths();
188
+ const nextRoles = roles();
189
+ const rolesChanged = JSON.stringify(nextRoles) !== JSON.stringify(sessionRoles);
190
+ if (rolesChanged || JSON.stringify(next) !== JSON.stringify(deniedReadPaths)) {
191
+ // New member paths and archives finish exclusively between member turns. Refresh
192
+ // this session's read denies before its next process runs.
193
+ await current.resetSession(sessionKey);
194
+ await current.stop();
195
+ if (rolesChanged) {
196
+ await proxy?.close();
197
+ proxy = undefined;
198
+ }
199
+ deniedReadPaths = next;
200
+ sessionRoles = nextRoles;
201
+ current = create();
202
+ }
86
203
  // Bind only when the configured Claude sandbox starts executing this member. No member
87
204
  // receives the owner's endpoint; Codex's OS-level network deny has no proxy observation.
88
205
  if (options.backend === 'claude' &&
89
206
  options.sandboxNetworkProxy !== undefined &&
90
207
  proxy === undefined) {
91
- proxy = await (0, egress_proxy_js_1.startMemberEgressProxy)(principalId, (event) => options.outboundAttempts?.(event));
208
+ proxy = await (0, egress_proxy_js_1.startMemberEgressProxy)(principalId, sessionRoles.includes('owner'), (event) => options.outboundAttempts?.(event));
92
209
  await current.stop();
93
210
  current = create();
94
211
  }
95
- const next = denyPaths();
96
- if (JSON.stringify(next) !== JSON.stringify(deniedReadPaths)) {
97
- // Enrollment runs in the owner's turn on the shared serial chain. Here that turn has
98
- // finished and no other principal is executing. Never resume a thread with stale policy.
99
- await current.resetSession(sessionKey);
100
- await current.stop();
101
- deniedReadPaths = next;
102
- current = create();
212
+ const key = request?.sessionKey ?? sessionKey;
213
+ const stateless = key.startsWith(`member:${principalId}:job:`) ||
214
+ key.startsWith(`member:${principalId}:notice:`);
215
+ if (stateless)
216
+ await current.resetSession(key); // Includes an orphan context left by a process crash.
217
+ try {
218
+ activeRequest = request;
219
+ return await current.runTurn(content, request);
220
+ }
221
+ finally {
222
+ activeRequest = undefined;
223
+ if (stateless)
224
+ await current.resetSession(key);
103
225
  }
104
- return current.runTurn(content, request);
105
226
  },
106
227
  };
107
- const delivery = (0, stimulus_delivery_js_1.createStimulusDelivery)({
228
+ const ownDelivery = (0, stimulus_delivery_js_1.createStimulusDelivery)({
229
+ // A room holds no personal records, so the person's skill inventory stays out of it. A DM
230
+ // is told where its readable sources live with its full inventory (the common session's
231
+ // standing text says it), under its own grant and outside the session fingerprint, so a
232
+ // session resumed across a deploy learns it too and new rows never rotate it.
233
+ ...(room === undefined
234
+ ? {
235
+ skills: (0, skills_js_1.createSkillTurnContext)(() => surface.skills.list(principalId), () => {
236
+ const current = access();
237
+ return (0, owner_system_prompt_js_1.readableSourcesLine)((0, stored_index_read_js_1.storedSourceFamilies)(database.adapter, current.connectors ?? [], current));
238
+ }),
239
+ }
240
+ : {}),
108
241
  backend: options.backend,
109
242
  timeZone: options.timeZone,
110
243
  turnChain: ports.turnChain,
111
- member: { sessionKey, voice: turn_orders_js_1.MEMBER_VOICE },
244
+ member: { principalId, sessionKey, voice: turn_orders_js_1.MEMBER_VOICE },
245
+ ...(room === undefined
246
+ ? {}
247
+ : {
248
+ ownerMessageSenderActive: (id) => id === principalId && principals.findById(id)?.status === 'active',
249
+ }),
250
+ personalJobs: ports.personalJobs,
251
+ personalNotices: surface.personalNotices,
252
+ readNoticeRef: (ref) => surface.readNoticeRef(ref, access()),
253
+ retirePersonalJobText: (key) => {
254
+ // Receipts live in the shared ledger the gateway writes; it exists without Telegram.
255
+ const ledger = options.messageLedger?.();
256
+ if (!ledger)
257
+ throw new Error('Personal turn receipt ledger is unavailable');
258
+ (0, telegram_message_ledger_js_1.retirePersonalTurnReceipt)(ledger, key);
259
+ },
260
+ onScheduledResult: (row, result) => {
261
+ const deliveryPorts = {
262
+ access,
263
+ chat,
264
+ delivered: (key) => {
265
+ const telegram = options.memberRecordsTelegram?.();
266
+ if (!telegram)
267
+ throw new Error('Personal turn Telegram delivery is unavailable');
268
+ return telegram.memberTextDelivered(initialAccess, key);
269
+ },
270
+ send: (resolved, text, key) => {
271
+ const telegram = options.memberRecordsTelegram?.();
272
+ if (!telegram)
273
+ throw new Error('Personal turn Telegram delivery is unavailable');
274
+ return telegram.sendMemberText(resolved, text, key);
275
+ },
276
+ };
277
+ return (0, personal_notices_js_1.personalNoticePayload)(row)
278
+ ? (0, personal_notices_js_1.deliverPersonalNoticeResult)(row, result, {
279
+ ...deliveryPorts,
280
+ store: surface.personalNotices,
281
+ read: surface.readNoticeRef,
282
+ })
283
+ : (0, personal_jobs_js_1.deliverPersonalJobResult)(row, result, { ...deliveryPorts, store: ports.personalJobs });
284
+ },
285
+ principalRoles: (id) => principals.listRoles(id).map(({ role }) => role),
286
+ principalDisplayName: (id) => principals.findById(id)?.displayName,
287
+ commonPrincipalId: options.ownerPrincipalId,
112
288
  readResult: ports.readResult,
113
289
  sessionStart: (row) => {
114
290
  access();
115
291
  return (0, session_start_context_js_1.readSessionStartInput)({
116
- exchanges: chat.recentExchanges(row.stimulusId),
117
- records: async () => (await (0, mama_core_1.readMemoryRecordsInScopes)(database.adapter, personalScopes, {
118
- status: 'active',
119
- excludeAmendments: true,
120
- })).filter((record) => !(0, mama_core_1.isErasedRecord)(record)),
292
+ exchanges: room === undefined ? chat.recentExchanges(row.stimulusId) : [],
293
+ records: () => readRecords({ status: 'active', excludeAmendments: true }),
121
294
  checkpoint: async () => {
295
+ if (room !== undefined)
296
+ return null;
122
297
  const result = await surface.hostToolCall('memory.checkpoint.list', { limit: 1 }, `member-start:${(0, node_crypto_1.randomUUID)()}`, { access: access() });
123
298
  if (result.status !== 'completed')
124
299
  throw new Error(`memory.checkpoint.list ${result.status}: ${result.error.message}`);
@@ -135,23 +310,103 @@ function createMemberSession(principalId, root, ports) {
135
310
  });
136
311
  },
137
312
  lessons: async (text) => {
138
- const result = await surface.hostToolCall('memory.search', { query: text.slice(0, 2_000), limit: 40, includeRelated: false }, `member-lessons:${(0, node_crypto_1.randomUUID)()}`, { access: { ...access(), readScopes: [] } });
313
+ const ownerRole = room === undefined && readsOwnerRules();
314
+ // Personal guidance (a room: only its granted partitions) is ranked on its own, so common
315
+ // records never take its slots.
316
+ const ownScopes = room === undefined ? personalScopes : [...access().scopes];
317
+ const result = ownScopes.length === 0
318
+ ? { status: 'completed', data: { results: [] } }
319
+ : await surface.hostToolCall('memory.search', { query: text.slice(0, 2_000), limit: 40, includeRelated: false, scopes: ownScopes }, `member-lessons:${(0, node_crypto_1.randomUUID)()}`, { access: access() });
139
320
  if (result.status !== 'completed')
140
321
  throw new Error(`memory.search ${result.status}: ${result.error.message}`);
141
322
  const hits = result.data.results ?? [];
142
- const records = (await (0, mama_core_1.readMemoryRecordsInScopes)(database.adapter, personalScopes, {
143
- kind: [...owner_authority_js_1.RULE_KINDS],
144
- status: 'active',
145
- })).filter((record) => !(0, mama_core_1.isErasedRecord)(record));
146
- const hitIds = hits.map((hit) => hit.id);
147
- return (0, owner_runtime_js_1.guidanceInSearchOrder)(hitIds, records, 10, (0, owner_authority_js_1.ownerRuleIds)(database.adapter, hitIds, principalId));
323
+ const records = await readRecords({ kind: [...owner_authority_js_1.RULE_KINDS], status: 'active' });
324
+ let hitIds = hits.map((hit) => hit.id);
325
+ if (ownerRole) {
326
+ const common = await surface.hostToolCall('memory.search', {
327
+ query: text.slice(0, 2_000),
328
+ limit: 40,
329
+ includeRelated: false,
330
+ scopes: surface.ownerAccess.scopes,
331
+ }, `member-owner-lessons:${(0, node_crypto_1.randomUUID)()}`, { access: { ...access(), readScopes: surface.ownerAccess.scopes } });
332
+ if (common.status !== 'completed')
333
+ throw new Error(`memory.search ${common.status}: ${common.error.message}`);
334
+ const commonHits = common.data.results ?? [];
335
+ hitIds = [...new Set([...hitIds, ...commonHits.map((hit) => hit.id)])];
336
+ }
337
+ // Keep common facts and other kinds out of the personal guidance ranking. A room reads only
338
+ // its granted partitions, and skills.workflows includes the person's own workflows.
339
+ if (!ownerRole && room === undefined) {
340
+ const common = await surface.hostToolCall('memory.search', {
341
+ query: text.slice(0, 2_000),
342
+ kind: 'workflow',
343
+ scopes: surface.ownerAccess.defaultScopes,
344
+ limit: 40,
345
+ includeRelated: false,
346
+ }, `member-workflows:${(0, node_crypto_1.randomUUID)()}`, { access: { ...access(), readScopes: surface.ownerAccess.defaultScopes } });
347
+ if (common.status !== 'completed')
348
+ throw new Error(`memory.search ${common.status}: ${common.error.message}`);
349
+ const commonHits = common.data.results ?? [];
350
+ hitIds = [...new Set([...hitIds, ...commonHits.map((hit) => hit.id)])];
351
+ const workflows = await surface.skills.workflows(principalId);
352
+ records.push(...workflows.filter((record) => !records.some((own) => own.id === record.id)));
353
+ }
354
+ const ruleIds = (0, owner_authority_js_1.ownerRuleIds)(database.adapter, hitIds, principalId);
355
+ const commonRuleIds = ownerRole
356
+ ? (0, owner_authority_js_1.ownerRuleIds)(database.adapter, hitIds, surface.ownerAccess.principalId)
357
+ : new Set();
358
+ for (const id of commonRuleIds)
359
+ ruleIds.add(id);
360
+ const merged = (0, owner_runtime_js_1.guidanceInSearchOrder)(hitIds, records, 10, ruleIds, surface.skills.workflowScopes(principalId));
361
+ return merged.map((lesson) => ({
362
+ ...lesson,
363
+ commonOwnerRule: commonRuleIds.has(lesson.id),
364
+ }));
148
365
  },
149
366
  onOwnerResult: options.onMemberResult,
150
367
  onDelivered: options.onStimulusDelivered,
151
368
  onFailed: options.onStimulusFailed,
152
369
  onUncertain: options.onStimulusUncertain,
153
370
  onDead: options.onStimulusDead,
371
+ closeUncertain: options.closeUncertain,
154
372
  });
155
- return { native, delivery, chat, paths, access, initialAccess };
373
+ const rowDelivery = (row) => {
374
+ const channel = row.kind === 'owner_message' &&
375
+ row.payload &&
376
+ typeof row.payload === 'object' &&
377
+ !Array.isArray(row.payload)
378
+ ? row.payload.roomChannel
379
+ : undefined;
380
+ return room === undefined && typeof channel === 'string'
381
+ ? roomSession(channel).delivery
382
+ : ownDelivery;
383
+ };
384
+ const delivery = {
385
+ ...ownDelivery,
386
+ deliver: (row, context) => rowDelivery(row).deliver(row, context),
387
+ reconcile: (row) => rowDelivery(row).reconcile(row),
388
+ onUncertain: (row, reason) => rowDelivery(row).onUncertain?.(row, reason),
389
+ onDead: (row, reason) => rowDelivery(row).onDead?.(row, reason),
390
+ };
391
+ return {
392
+ native,
393
+ delivery,
394
+ chat,
395
+ paths,
396
+ access,
397
+ initialAccess,
398
+ roomSession,
399
+ activeSessionKey: () => activeRoom?.native.sessionKey ?? sessionKey,
400
+ activePaths: () => activeRoom?.activePaths() ?? paths,
401
+ activeDeniedReadPaths: () => activeRoom?.activeDeniedReadPaths() ?? denyPaths(),
402
+ activeSessionFacts: () => activeRoom?.activeSessionFacts() ??
403
+ (activeRequest
404
+ ? {
405
+ sourceMessageRef: activeRequest.sourceMessageRef,
406
+ sourceRefs: activeRequest.sourceRefs,
407
+ channelId: activeRequest.channelId,
408
+ }
409
+ : undefined),
410
+ };
156
411
  }
157
412
  //# sourceMappingURL=member-session.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"member-session.js","sourceRoot":"","sources":["../../src/runtime/member-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"member-session.js","sourceRoot":"","sources":["../../src/runtime/member-session.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { PromptLayer } from '@jungjaehoon/mama-core/runtime/prompt-layers';
2
+ export declare const MEMBER_ROOM_SYSTEM_PROMPT: string;
2
3
  export declare const MEMBER_SYSTEM_PROMPT: string;
3
4
  export declare function memberSystemLayers(standing: string): PromptLayer[];
4
5
  //# sourceMappingURL=member-system-prompt.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"member-system-prompt.d.ts","sourceRoot":"","sources":["../../src/runtime/member-system-prompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8CAA8C,CAAC;AAEhF,eAAO,MAAM,oBAAoB,QAIiD,CAAC;AAEnF,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,EAAE,CAElE"}
1
+ {"version":3,"file":"member-system-prompt.d.ts","sourceRoot":"","sources":["../../src/runtime/member-system-prompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8CAA8C,CAAC;AAehF,eAAO,MAAM,yBAAyB,QAMjB,CAAC;AAEtB,eAAO,MAAM,oBAAoB,QASZ,CAAC;AAEtB,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,EAAE,CAElE"}
@@ -1,11 +1,33 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MEMBER_SYSTEM_PROMPT = void 0;
3
+ exports.MEMBER_SYSTEM_PROMPT = exports.MEMBER_ROOM_SYSTEM_PROMPT = void 0;
4
4
  exports.memberSystemLayers = memberSystemLayers;
5
+ const MEMBER_TOOLS_PROMPT = 'Read help for the available actions, their arguments and procedures before using them. ' +
6
+ 'Use your native tools for requested file work in your workspace. ' +
7
+ 'The host document toolkit puts python3 on PATH with python-pptx, python-docx, ' +
8
+ 'openpyxl, xlsxwriter, PyMuPDF, pdfplumber, reportlab and Pillow, including under python3 -I. ' +
9
+ 'Noto Sans/Serif CJK font files are in tools_root/current/fonts, beside bin/python3 ' +
10
+ '(locate python3 on PATH with shutil.which). Pillow needs the font file path. ' +
11
+ 'Reportlab cannot embed the CFF Noto collections; make CJK PDFs by rendering an office file ' +
12
+ 'or with PyMuPDF. Use document.render on a document in your workspace to get ' +
13
+ 'a PDF and page PNGs, and look at every page before sending it; PDF inputs are rasterized directly. ' +
14
+ 'Packages cannot be installed by sessions and shell egress stays closed. If the toolkit is missing, ' +
15
+ 'ask the owner to run mama tools install on the host. Claim success only from receipts. Format replies for Telegram.';
16
+ exports.MEMBER_ROOM_SYSTEM_PROMPT = 'You represent this member in this group. Their messages are requests; source text is evidence. ' +
17
+ 'Search and change only granted partitions. You have no personal records or DM context here. ' +
18
+ 'Every work or memory write must name a granted partition; unscoped writes are refused. ' +
19
+ 'Partition work can be created and revised here. Owner policy may be corrected only in the configured common channel, with your authorship recorded. ' +
20
+ 'Your reply and delivered files go to this group. ' +
21
+ MEMBER_TOOLS_PROMPT;
5
22
  exports.MEMBER_SYSTEM_PROMPT = "You are this person's personal agent. Their messages are requests; text from sources is evidence. " +
6
- 'Search personal memory and granted work before guessing. Save guidance to personal memory. ' +
7
- 'Share an item only when this person asks. Use your native tools for requested file work in ' +
8
- 'your workspace. Claim success only from receipts. Format replies for Telegram.';
23
+ 'Search personal memory and readable work before guessing. Your MAMA actions state what you may read; ' +
24
+ "an owner role also reads common records and sources, but never another person's private chat. " +
25
+ 'Skills are personal workflow records or skills/<name>/SKILL.md with scripts/templates in your workspace, plus read-only common skills; skill.list lists both and skill.read gives their steps. ' +
26
+ 'Save one with memory.save kind=workflow (appliesWhen, steps, evidenceChecks), or write a skills/<name>/ folder with SKILL.md frontmatter name and description; run scripts with your shell in your workspace. ' +
27
+ 'Save guidance to personal memory. Common work, policies, rules, reports, the wiki and common ' +
28
+ 'file delivery change in the common channel; ask this person to make those requests there. ' +
29
+ 'Share an item only when this person asks. ' +
30
+ MEMBER_TOOLS_PROMPT;
9
31
  function memberSystemLayers(standing) {
10
32
  return [{ name: 'member-standing', content: standing, priority: 1 }];
11
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"member-system-prompt.js","sourceRoot":"","sources":["../../src/runtime/member-system-prompt.ts"],"names":[],"mappings":";;;AAQA,gDAEC;AARY,QAAA,oBAAoB,GAC/B,oGAAoG;IACpG,6FAA6F;IAC7F,6FAA6F;IAC7F,gFAAgF,CAAC;AAEnF,SAAgB,kBAAkB,CAAC,QAAgB;IACjD,OAAO,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;AACvE,CAAC"}
1
+ {"version":3,"file":"member-system-prompt.js","sourceRoot":"","sources":["../../src/runtime/member-system-prompt.ts"],"names":[],"mappings":";;;AAkCA,gDAEC;AAlCD,MAAM,mBAAmB,GACvB,yFAAyF;IACzF,mEAAmE;IACnE,gFAAgF;IAChF,+FAA+F;IAC/F,qFAAqF;IACrF,+EAA+E;IAC/E,6FAA6F;IAC7F,8EAA8E;IAC9E,qGAAqG;IACrG,qGAAqG;IACrG,qHAAqH,CAAC;AAE3G,QAAA,yBAAyB,GACpC,iGAAiG;IACjG,8FAA8F;IAC9F,yFAAyF;IACzF,sJAAsJ;IACtJ,mDAAmD;IACnD,mBAAmB,CAAC;AAET,QAAA,oBAAoB,GAC/B,oGAAoG;IACpG,uGAAuG;IACvG,gGAAgG;IAChG,iMAAiM;IACjM,gNAAgN;IAChN,+FAA+F;IAC/F,4FAA4F;IAC5F,4CAA4C;IAC5C,mBAAmB,CAAC;AAEtB,SAAgB,kBAAkB,CAAC,QAAgB;IACjD,OAAO,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;AACvE,CAAC"}
@@ -13,6 +13,7 @@ import type { OwnerPolicyProvider } from './owner-policy.js';
13
13
  export declare const OWNER_RUNTIME_SESSION_KEY = "owner:runtime";
14
14
  export interface NativeDriverOptions {
15
15
  backend: RuntimeBackend;
16
+ command?: string;
16
17
  model: string;
17
18
  workspaceDir: string;
18
19
  cwd: string;
@@ -24,6 +25,7 @@ export interface NativeDriverOptions {
24
25
  permissionMode?: 'dontAsk';
25
26
  shellEnvironment?: Record<string, string>;
26
27
  processEnv: NodeJS.ProcessEnv;
28
+ beforeSpawn?: () => void;
27
29
  deniedReadPaths: string[];
28
30
  allowLoginShell?: boolean;
29
31
  requestTimeout: number;
@@ -53,11 +55,15 @@ export interface NativeSessionOptions {
53
55
  workspaceDir: string;
54
56
  runtimeRoot: string;
55
57
  actionSurface: ActionSurface;
58
+ toolsRoot?: string;
56
59
  principal?: {
57
60
  principalId: string;
58
61
  agentId: string;
59
62
  sessionKey: string;
60
63
  systemPrompt: string;
64
+ roles: readonly string[];
65
+ tmpDir?: string;
66
+ scopeFingerprint?: () => string;
61
67
  prepareAccess: () => JudgmentAccess;
62
68
  };
63
69
  claudeConfigDir?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"native-session.d.ts","sourceRoot":"","sources":["../../src/runtime/native-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"native-session.d.ts","sourceRoot":"","sources":["../../src/runtime/native-session.ts"],"names":[],"mappings":"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"}