@jungjaehoon/mama-os 0.75.0 → 0.77.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 (260) hide show
  1. package/CHANGELOG.md +112 -0
  2. package/README.md +1 -1
  3. package/dist/api/attachment-actions.d.ts.map +1 -1
  4. package/dist/api/attachment-actions.js +8 -7
  5. package/dist/api/attachment-actions.js.map +1 -1
  6. package/dist/api/code-act-actions.d.ts +3 -1
  7. package/dist/api/code-act-actions.d.ts.map +1 -1
  8. package/dist/api/code-act-actions.js +21 -9
  9. package/dist/api/code-act-actions.js.map +1 -1
  10. package/dist/api/document-actions.d.ts +13 -0
  11. package/dist/api/document-actions.d.ts.map +1 -0
  12. package/dist/api/document-actions.js +55 -0
  13. package/dist/api/document-actions.js.map +1 -0
  14. package/dist/api/drive-actions.d.ts +4 -0
  15. package/dist/api/drive-actions.d.ts.map +1 -1
  16. package/dist/api/drive-actions.js +15 -7
  17. package/dist/api/drive-actions.js.map +1 -1
  18. package/dist/api/drive-delivery.d.ts.map +1 -1
  19. package/dist/api/drive-delivery.js +8 -3
  20. package/dist/api/drive-delivery.js.map +1 -1
  21. package/dist/api/member-enrollment.d.ts +9 -3
  22. package/dist/api/member-enrollment.d.ts.map +1 -1
  23. package/dist/api/member-enrollment.js +64 -16
  24. package/dist/api/member-enrollment.js.map +1 -1
  25. package/dist/api/member-export.d.ts.map +1 -1
  26. package/dist/api/member-export.js +14 -6
  27. package/dist/api/member-export.js.map +1 -1
  28. package/dist/api/member-lifecycle.d.ts +25 -4
  29. package/dist/api/member-lifecycle.d.ts.map +1 -1
  30. package/dist/api/member-lifecycle.js +88 -21
  31. package/dist/api/member-lifecycle.js.map +1 -1
  32. package/dist/api/member-notice-actions.d.ts +18 -0
  33. package/dist/api/member-notice-actions.d.ts.map +1 -0
  34. package/dist/api/member-notice-actions.js +184 -0
  35. package/dist/api/member-notice-actions.js.map +1 -0
  36. package/dist/api/member-records.d.ts +17 -2
  37. package/dist/api/member-records.d.ts.map +1 -1
  38. package/dist/api/member-records.js +440 -82
  39. package/dist/api/member-records.js.map +1 -1
  40. package/dist/api/member-share-actions.d.ts +3 -3
  41. package/dist/api/member-share-actions.d.ts.map +1 -1
  42. package/dist/api/member-share-actions.js +47 -20
  43. package/dist/api/member-share-actions.js.map +1 -1
  44. package/dist/api/owner-policy-actions.d.ts +1 -0
  45. package/dist/api/owner-policy-actions.d.ts.map +1 -1
  46. package/dist/api/owner-policy-actions.js +8 -4
  47. package/dist/api/owner-policy-actions.js.map +1 -1
  48. package/dist/api/owner-timezone-actions.d.ts +5 -2
  49. package/dist/api/owner-timezone-actions.d.ts.map +1 -1
  50. package/dist/api/owner-timezone-actions.js +4 -6
  51. package/dist/api/owner-timezone-actions.js.map +1 -1
  52. package/dist/api/personal-job-actions.d.ts +6 -0
  53. package/dist/api/personal-job-actions.d.ts.map +1 -0
  54. package/dist/api/personal-job-actions.js +72 -0
  55. package/dist/api/personal-job-actions.js.map +1 -0
  56. package/dist/api/security-events.d.ts +6 -1
  57. package/dist/api/security-events.d.ts.map +1 -1
  58. package/dist/api/security-events.js +34 -15
  59. package/dist/api/security-events.js.map +1 -1
  60. package/dist/api/skill-actions.d.ts +5 -0
  61. package/dist/api/skill-actions.d.ts.map +1 -0
  62. package/dist/api/skill-actions.js +66 -0
  63. package/dist/api/skill-actions.js.map +1 -0
  64. package/dist/api/source-actions.d.ts.map +1 -1
  65. package/dist/api/source-actions.js +4 -2
  66. package/dist/api/source-actions.js.map +1 -1
  67. package/dist/api/stored-source-reader.d.ts.map +1 -1
  68. package/dist/api/stored-source-reader.js +9 -2
  69. package/dist/api/stored-source-reader.js.map +1 -1
  70. package/dist/api/trello-actions.d.ts.map +1 -1
  71. package/dist/api/trello-actions.js +8 -2
  72. package/dist/api/trello-actions.js.map +1 -1
  73. package/dist/api/work-actions.d.ts +12 -2
  74. package/dist/api/work-actions.d.ts.map +1 -1
  75. package/dist/api/work-actions.js +57 -10
  76. package/dist/api/work-actions.js.map +1 -1
  77. package/dist/cli/commands/daemon.d.ts +12 -2
  78. package/dist/cli/commands/daemon.d.ts.map +1 -1
  79. package/dist/cli/commands/daemon.js +85 -13
  80. package/dist/cli/commands/daemon.js.map +1 -1
  81. package/dist/cli/commands/init.d.ts +4 -0
  82. package/dist/cli/commands/init.d.ts.map +1 -1
  83. package/dist/cli/commands/init.js +23 -0
  84. package/dist/cli/commands/init.js.map +1 -1
  85. package/dist/cli/commands/tools.d.ts +12 -0
  86. package/dist/cli/commands/tools.d.ts.map +1 -0
  87. package/dist/cli/commands/tools.js +109 -0
  88. package/dist/cli/commands/tools.js.map +1 -0
  89. package/dist/cli/index.js +6 -1
  90. package/dist/cli/index.js.map +1 -1
  91. package/dist/cli/runtime/claude-caller-config.d.ts +3 -1
  92. package/dist/cli/runtime/claude-caller-config.d.ts.map +1 -1
  93. package/dist/cli/runtime/claude-caller-config.js +14 -2
  94. package/dist/cli/runtime/claude-caller-config.js.map +1 -1
  95. package/dist/connectors/framework/polling-scheduler.d.ts +6 -1
  96. package/dist/connectors/framework/polling-scheduler.d.ts.map +1 -1
  97. package/dist/connectors/framework/polling-scheduler.js +25 -3
  98. package/dist/connectors/framework/polling-scheduler.js.map +1 -1
  99. package/dist/connectors/framework/stored-index-read.d.ts +2 -2
  100. package/dist/connectors/framework/stored-index-read.d.ts.map +1 -1
  101. package/dist/connectors/framework/stored-index-read.js +10 -3
  102. package/dist/connectors/framework/stored-index-read.js.map +1 -1
  103. package/dist/gateways/base-gateway.d.ts +7 -0
  104. package/dist/gateways/base-gateway.d.ts.map +1 -1
  105. package/dist/gateways/base-gateway.js +24 -0
  106. package/dist/gateways/base-gateway.js.map +1 -1
  107. package/dist/gateways/discord.d.ts +4 -0
  108. package/dist/gateways/discord.d.ts.map +1 -1
  109. package/dist/gateways/discord.js +24 -6
  110. package/dist/gateways/discord.js.map +1 -1
  111. package/dist/gateways/slack.d.ts +3 -0
  112. package/dist/gateways/slack.d.ts.map +1 -1
  113. package/dist/gateways/slack.js +15 -2
  114. package/dist/gateways/slack.js.map +1 -1
  115. package/dist/gateways/telegram-errors.d.ts +3 -0
  116. package/dist/gateways/telegram-errors.d.ts.map +1 -1
  117. package/dist/gateways/telegram-errors.js +5 -0
  118. package/dist/gateways/telegram-errors.js.map +1 -1
  119. package/dist/gateways/telegram-message-ledger.d.ts +7 -0
  120. package/dist/gateways/telegram-message-ledger.d.ts.map +1 -1
  121. package/dist/gateways/telegram-message-ledger.js +27 -2
  122. package/dist/gateways/telegram-message-ledger.js.map +1 -1
  123. package/dist/gateways/telegram.d.ts +24 -6
  124. package/dist/gateways/telegram.d.ts.map +1 -1
  125. package/dist/gateways/telegram.js +258 -44
  126. package/dist/gateways/telegram.js.map +1 -1
  127. package/dist/gateways/turn-contract.d.ts +6 -0
  128. package/dist/gateways/turn-contract.d.ts.map +1 -1
  129. package/dist/runtime/action-surface.d.ts +28 -3
  130. package/dist/runtime/action-surface.d.ts.map +1 -1
  131. package/dist/runtime/action-surface.js +316 -34
  132. package/dist/runtime/action-surface.js.map +1 -1
  133. package/dist/runtime/backend-security.d.ts +4 -0
  134. package/dist/runtime/backend-security.d.ts.map +1 -1
  135. package/dist/runtime/backend-security.js +8 -1
  136. package/dist/runtime/backend-security.js.map +1 -1
  137. package/dist/runtime/claude-caller-hook.d.ts +14 -0
  138. package/dist/runtime/claude-caller-hook.d.ts.map +1 -1
  139. package/dist/runtime/claude-caller-hook.js +21 -1
  140. package/dist/runtime/claude-caller-hook.js.map +1 -1
  141. package/dist/runtime/config.d.ts +6 -0
  142. package/dist/runtime/config.d.ts.map +1 -1
  143. package/dist/runtime/config.js +24 -0
  144. package/dist/runtime/config.js.map +1 -1
  145. package/dist/runtime/connectors.js +1 -1
  146. package/dist/runtime/connectors.js.map +1 -1
  147. package/dist/runtime/egress-proxy.d.ts +3 -3
  148. package/dist/runtime/egress-proxy.d.ts.map +1 -1
  149. package/dist/runtime/egress-proxy.js +16 -3
  150. package/dist/runtime/egress-proxy.js.map +1 -1
  151. package/dist/runtime/member-paths.d.ts +9 -1
  152. package/dist/runtime/member-paths.d.ts.map +1 -1
  153. package/dist/runtime/member-paths.js +67 -5
  154. package/dist/runtime/member-paths.js.map +1 -1
  155. package/dist/runtime/member-session.d.ts +21 -21
  156. package/dist/runtime/member-session.d.ts.map +1 -1
  157. package/dist/runtime/member-session.js +297 -34
  158. package/dist/runtime/member-session.js.map +1 -1
  159. package/dist/runtime/member-system-prompt.d.ts +3 -0
  160. package/dist/runtime/member-system-prompt.d.ts.map +1 -1
  161. package/dist/runtime/member-system-prompt.js +30 -4
  162. package/dist/runtime/member-system-prompt.js.map +1 -1
  163. package/dist/runtime/native-session.d.ts +8 -0
  164. package/dist/runtime/native-session.d.ts.map +1 -1
  165. package/dist/runtime/native-session.js +105 -17
  166. package/dist/runtime/native-session.js.map +1 -1
  167. package/dist/runtime/outbound-attempts.d.ts +5 -2
  168. package/dist/runtime/outbound-attempts.d.ts.map +1 -1
  169. package/dist/runtime/outbound-attempts.js +3 -2
  170. package/dist/runtime/outbound-attempts.js.map +1 -1
  171. package/dist/runtime/owner-authority.d.ts +16 -14
  172. package/dist/runtime/owner-authority.d.ts.map +1 -1
  173. package/dist/runtime/owner-authority.js +163 -7
  174. package/dist/runtime/owner-authority.js.map +1 -1
  175. package/dist/runtime/owner-runtime.d.ts +18 -5
  176. package/dist/runtime/owner-runtime.d.ts.map +1 -1
  177. package/dist/runtime/owner-runtime.js +429 -43
  178. package/dist/runtime/owner-runtime.js.map +1 -1
  179. package/dist/runtime/owner-system-prompt.d.ts +3 -1
  180. package/dist/runtime/owner-system-prompt.d.ts.map +1 -1
  181. package/dist/runtime/owner-system-prompt.js +16 -6
  182. package/dist/runtime/owner-system-prompt.js.map +1 -1
  183. package/dist/runtime/personal-job-cron.d.ts +6 -0
  184. package/dist/runtime/personal-job-cron.d.ts.map +1 -0
  185. package/dist/runtime/personal-job-cron.js +154 -0
  186. package/dist/runtime/personal-job-cron.js.map +1 -0
  187. package/dist/runtime/personal-jobs.d.ts +107 -0
  188. package/dist/runtime/personal-jobs.d.ts.map +1 -0
  189. package/dist/runtime/personal-jobs.js +353 -0
  190. package/dist/runtime/personal-jobs.js.map +1 -0
  191. package/dist/runtime/personal-notices.d.ts +38 -0
  192. package/dist/runtime/personal-notices.d.ts.map +1 -0
  193. package/dist/runtime/personal-notices.js +137 -0
  194. package/dist/runtime/personal-notices.js.map +1 -0
  195. package/dist/runtime/personal-turns.d.ts +23 -0
  196. package/dist/runtime/personal-turns.d.ts.map +1 -0
  197. package/dist/runtime/personal-turns.js +51 -0
  198. package/dist/runtime/personal-turns.js.map +1 -0
  199. package/dist/runtime/principal-access.d.ts +8 -0
  200. package/dist/runtime/principal-access.d.ts.map +1 -1
  201. package/dist/runtime/principal-access.js +70 -2
  202. package/dist/runtime/principal-access.js.map +1 -1
  203. package/dist/runtime/principal-sessions.d.ts +16 -2
  204. package/dist/runtime/principal-sessions.d.ts.map +1 -1
  205. package/dist/runtime/principal-sessions.js +104 -21
  206. package/dist/runtime/principal-sessions.js.map +1 -1
  207. package/dist/runtime/skills.d.ts +86 -0
  208. package/dist/runtime/skills.d.ts.map +1 -0
  209. package/dist/runtime/skills.js +560 -0
  210. package/dist/runtime/skills.js.map +1 -0
  211. package/dist/runtime/stimulus-delivery.d.ts +21 -1
  212. package/dist/runtime/stimulus-delivery.d.ts.map +1 -1
  213. package/dist/runtime/stimulus-delivery.js +185 -18
  214. package/dist/runtime/stimulus-delivery.js.map +1 -1
  215. package/dist/runtime/tools-paths.d.ts +9 -0
  216. package/dist/runtime/tools-paths.d.ts.map +1 -0
  217. package/dist/runtime/tools-paths.js +98 -0
  218. package/dist/runtime/tools-paths.js.map +1 -0
  219. package/dist/runtime/turn-orders.d.ts +22 -2
  220. package/dist/runtime/turn-orders.d.ts.map +1 -1
  221. package/dist/runtime/turn-orders.js +60 -6
  222. package/dist/runtime/turn-orders.js.map +1 -1
  223. package/dist/runtime/web-fetch-scope.d.ts +20 -0
  224. package/dist/runtime/web-fetch-scope.d.ts.map +1 -0
  225. package/dist/runtime/web-fetch-scope.js +68 -0
  226. package/dist/runtime/web-fetch-scope.js.map +1 -0
  227. package/dist/storage/chat-sources.d.ts +21 -0
  228. package/dist/storage/chat-sources.d.ts.map +1 -1
  229. package/dist/storage/chat-sources.js +65 -3
  230. package/dist/storage/chat-sources.js.map +1 -1
  231. package/dist/tools/command-runner.d.ts +12 -0
  232. package/dist/tools/command-runner.d.ts.map +1 -0
  233. package/dist/tools/command-runner.js +65 -0
  234. package/dist/tools/command-runner.js.map +1 -0
  235. package/dist/tools/document-render.d.ts +24 -0
  236. package/dist/tools/document-render.d.ts.map +1 -0
  237. package/dist/tools/document-render.js +208 -0
  238. package/dist/tools/document-render.js.map +1 -0
  239. package/dist/tools/document-toolkit.d.ts +15 -0
  240. package/dist/tools/document-toolkit.d.ts.map +1 -0
  241. package/dist/tools/document-toolkit.js +501 -0
  242. package/dist/tools/document-toolkit.js.map +1 -0
  243. package/dist/tools/office-render.d.ts +28 -0
  244. package/dist/tools/office-render.d.ts.map +1 -0
  245. package/dist/tools/office-render.js +101 -0
  246. package/dist/tools/office-render.js.map +1 -0
  247. package/dist/tools/toolkit-process.d.ts +9 -0
  248. package/dist/tools/toolkit-process.d.ts.map +1 -0
  249. package/dist/tools/toolkit-process.js +148 -0
  250. package/dist/tools/toolkit-process.js.map +1 -0
  251. package/dist/tools/toolkit-state.d.ts +22 -0
  252. package/dist/tools/toolkit-state.d.ts.map +1 -0
  253. package/dist/tools/toolkit-state.js +116 -0
  254. package/dist/tools/toolkit-state.js.map +1 -0
  255. package/package.json +3 -2
  256. package/toolkit/inspect-office-zip.py +16 -0
  257. package/toolkit/rasterize.py +29 -0
  258. package/toolkit/requirements.in +11 -0
  259. package/toolkit/requirements.lock +1643 -0
  260. package/toolkit/smoke.py +32 -0
@@ -1,3 +1,4 @@
1
+ import { type PersonalJobStore } from './personal-jobs.js';
1
2
  import { type JudgmentAccess } from '@jungjaehoon/mama-core';
2
3
  import { ChatSources } from '../storage/chat-sources.js';
3
4
  import type { RawStore } from '../storage/source-archive.js';
@@ -5,34 +6,33 @@ import type { CoreDatabase } from './core-db.js';
5
6
  import type { ActionSurface } from './action-surface.js';
6
7
  import type { OwnerRuntimeOptions } from './owner-runtime.js';
7
8
  import { type NativeSession } from './native-session.js';
8
- import { type StimulusDeliveryOptions } from './stimulus-delivery.js';
9
+ import { ensureMemberPaths } from './member-paths.js';
10
+ import { createStimulusDelivery, type StimulusDeliveryOptions } from './stimulus-delivery.js';
11
+ import type { OwnerPolicyProvider } from './owner-policy.js';
12
+ interface MemberSession {
13
+ native: NativeSession;
14
+ delivery: ReturnType<typeof createStimulusDelivery>;
15
+ chat: ChatSources;
16
+ paths: ReturnType<typeof ensureMemberPaths>;
17
+ access: () => JudgmentAccess;
18
+ initialAccess: JudgmentAccess;
19
+ roomSession: (channel: string) => MemberSession;
20
+ activeSessionKey: () => string;
21
+ activeSessionFacts: () => import('@jungjaehoon/mama-core').ActionContext['session'];
22
+ activePaths: () => ReturnType<typeof ensureMemberPaths>;
23
+ activeDeniedReadPaths: () => readonly string[];
24
+ }
9
25
  export declare function createMemberSession(principalId: string, root: string, ports: {
10
26
  options: OwnerRuntimeOptions;
27
+ ownerPolicyProvider: OwnerPolicyProvider;
11
28
  ownerDeniedPaths: readonly string[];
12
29
  registeredMemberIds: () => string[];
13
30
  database: CoreDatabase;
31
+ personalJobs: PersonalJobStore;
14
32
  rawStore: RawStore;
15
33
  surface: ActionSurface;
16
34
  turnChain: NonNullable<StimulusDeliveryOptions['turnChain']>;
17
35
  readResult: NonNullable<StimulusDeliveryOptions['readResult']>;
18
- }): {
19
- native: NativeSession;
20
- delivery: import("./stimulus-delivery.js").ReplayClockDelivery;
21
- chat: ChatSources;
22
- paths: {
23
- runtimeRoot: string;
24
- workspaceDir: string;
25
- downloadsDir: string;
26
- claudeConfigDir: string;
27
- pluginDir: string;
28
- codexHome: string;
29
- isolatedHome: string;
30
- registryRoot: string;
31
- credentialPath: string;
32
- mcpConfigPath: string;
33
- journalPath: string;
34
- };
35
- access: () => JudgmentAccess;
36
- initialAccess: JudgmentAccess;
37
- };
36
+ }, room?: string): MemberSession;
37
+ export {};
38
38
  //# sourceMappingURL=member-session.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"member-session.d.ts","sourceRoot":"","sources":["../../src/runtime/member-session.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,cAAc,EAEpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAO9E,OAAO,EAA0B,KAAK,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAI9F,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE;IACL,OAAO,EAAE,mBAAmB,CAAC;IAC7B,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,mBAAmB,EAAE,MAAM,MAAM,EAAE,CAAC;IACpC,QAAQ,EAAE,YAAY,CAAC;IACvB,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,aAAa,CAAC;IACvB,SAAS,EAAE,WAAW,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC,CAAC;IAC7D,UAAU,EAAE,WAAW,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC,CAAC;CAChE;;;;;;;;;;;;;;;;;kBAKkB,cAAc;;EAsKlC"}
1
+ {"version":3,"file":"member-session.d.ts","sourceRoot":"","sources":["../../src/runtime/member-session.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAMrF,OAAO,EAA6B,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxF,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAE9E,OAAO,EACL,iBAAiB,EAIlB,MAAM,mBAAmB,CAAC;AAe3B,OAAO,EAAE,sBAAsB,EAAE,KAAK,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAE9F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAI7D,UAAU,aAAa;IACrB,MAAM,EAAE,aAAa,CAAC;IACtB,QAAQ,EAAE,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC;IACpD,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC;IAC5C,MAAM,EAAE,MAAM,cAAc,CAAC;IAC7B,aAAa,EAAE,cAAc,CAAC;IAC9B,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,aAAa,CAAC;IAChD,gBAAgB,EAAE,MAAM,MAAM,CAAC;IAC/B,kBAAkB,EAAE,MAAM,OAAO,wBAAwB,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACpF,WAAW,EAAE,MAAM,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC;IACxD,qBAAqB,EAAE,MAAM,SAAS,MAAM,EAAE,CAAC;CAChD;AAED,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE;IACL,OAAO,EAAE,mBAAmB,CAAC;IAC7B,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,mBAAmB,EAAE,MAAM,MAAM,EAAE,CAAC;IACpC,QAAQ,EAAE,YAAY,CAAC;IACvB,YAAY,EAAE,gBAAgB,CAAC;IAC/B,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,aAAa,CAAC;IACvB,SAAS,EAAE,WAAW,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC,CAAC;IAC7D,UAAU,EAAE,WAAW,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC,CAAC;CAChE,EACD,IAAI,CAAC,EAAE,MAAM,GACZ,aAAa,CAqdf"}
@@ -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,14 +119,30 @@ 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: () => {
131
+ if (room !== undefined ? room !== options.commonChannelId : !readsOwnerRules())
132
+ return { content: null, fingerprint: '', loaded: false };
133
+ const policy = ports.ownerPolicyProvider();
134
+ // The policy is written for the common session. A DM reads it to know how the work is
135
+ // run; told nothing, it took the common session's duties for its own (2026-10-15).
136
+ return room !== undefined || policy.content === null
137
+ ? policy
138
+ : { ...policy, content: `${member_system_prompt_js_1.DM_OWNER_POLICY_NOTE}\n\n${policy.content}` };
139
+ },
52
140
  // Native session also denies this member's runtime and Codex credentials.
53
141
  deniedReadPaths,
54
142
  sandboxNetworkProxy: proxy,
55
143
  mcpServerPath: options.mcpServerPath,
56
144
  effort: options.effort,
145
+ autonomousWebFetch: options.autonomousWebFetch,
57
146
  timeout: options.timeout,
58
147
  maxTurnMs: options.maxTurnMs,
59
148
  maxTurns: options.maxTurns,
@@ -71,11 +160,21 @@ function createMemberSession(principalId, root, ports) {
71
160
  return current.supportsNativeSubagents;
72
161
  },
73
162
  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),
163
+ callAction: (call, caller) => (activeRoom?.native ?? current).callAction(call, caller),
164
+ resetSession: async (key) => {
165
+ if (room === undefined && key === sessionKey)
166
+ for (const session of rooms.values())
167
+ await session.native.resetSession(session.native.sessionKey);
168
+ const channel = (0, principal_access_js_1.memberRoomChannel)(principalId, key);
169
+ await (room === undefined && channel !== undefined ? roomSession(channel).native : current).resetSession(key);
170
+ },
171
+ steer: (content, target, key) => {
172
+ const channel = (0, principal_access_js_1.memberRoomChannel)(principalId, key);
173
+ return (room === undefined && channel !== undefined ? roomSession(channel).native : current).steer(content, target, key);
174
+ },
77
175
  stop: async () => {
78
176
  try {
177
+ await Promise.all([...rooms.values()].map((session) => session.native.stop()));
79
178
  await current.stop();
80
179
  }
81
180
  finally {
@@ -83,42 +182,126 @@ function createMemberSession(principalId, root, ports) {
83
182
  }
84
183
  },
85
184
  runTurn: async (content, request) => {
185
+ const channel = (0, principal_access_js_1.memberRoomChannel)(principalId, request?.sessionKey);
186
+ if (room === undefined && channel !== undefined) {
187
+ activeRoom = roomSession(channel);
188
+ try {
189
+ return await activeRoom.native.runTurn(content, request);
190
+ }
191
+ finally {
192
+ activeRoom = undefined;
193
+ }
194
+ }
195
+ const next = denyPaths();
196
+ const nextRoles = roles();
197
+ const rolesChanged = JSON.stringify(nextRoles) !== JSON.stringify(sessionRoles);
198
+ if (rolesChanged || JSON.stringify(next) !== JSON.stringify(deniedReadPaths)) {
199
+ // New member paths and archives finish exclusively between member turns. Refresh
200
+ // this session's read denies before its next process runs.
201
+ await current.resetSession(sessionKey);
202
+ await current.stop();
203
+ if (rolesChanged) {
204
+ await proxy?.close();
205
+ proxy = undefined;
206
+ }
207
+ deniedReadPaths = next;
208
+ sessionRoles = nextRoles;
209
+ current = create();
210
+ }
86
211
  // Bind only when the configured Claude sandbox starts executing this member. No member
87
212
  // receives the owner's endpoint; Codex's OS-level network deny has no proxy observation.
88
213
  if (options.backend === 'claude' &&
89
214
  options.sandboxNetworkProxy !== undefined &&
90
215
  proxy === undefined) {
91
- proxy = await (0, egress_proxy_js_1.startMemberEgressProxy)(principalId, (event) => options.outboundAttempts?.(event));
216
+ proxy = await (0, egress_proxy_js_1.startMemberEgressProxy)(principalId, sessionRoles.includes('owner'), (event) => options.outboundAttempts?.(event));
92
217
  await current.stop();
93
218
  current = create();
94
219
  }
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();
220
+ const key = request?.sessionKey ?? sessionKey;
221
+ const stateless = key.startsWith(`member:${principalId}:job:`) ||
222
+ key.startsWith(`member:${principalId}:notice:`);
223
+ if (stateless)
224
+ await current.resetSession(key); // Includes an orphan context left by a process crash.
225
+ try {
226
+ activeRequest = request;
227
+ return await current.runTurn(content, request);
228
+ }
229
+ finally {
230
+ activeRequest = undefined;
231
+ if (stateless)
232
+ await current.resetSession(key);
103
233
  }
104
- return current.runTurn(content, request);
105
234
  },
106
235
  };
107
- const delivery = (0, stimulus_delivery_js_1.createStimulusDelivery)({
236
+ const ownDelivery = (0, stimulus_delivery_js_1.createStimulusDelivery)({
237
+ // A room holds no personal records, so the person's skill inventory stays out of it. A DM
238
+ // is told where its readable sources live with its full inventory (the common session's
239
+ // standing text says it), under its own grant and outside the session fingerprint, so a
240
+ // session resumed across a deploy learns it too and new rows never rotate it.
241
+ ...(room === undefined
242
+ ? {
243
+ skills: (0, skills_js_1.createSkillTurnContext)(() => surface.skills.list(principalId), () => {
244
+ const current = access();
245
+ return (0, owner_system_prompt_js_1.readableSourcesLine)((0, stored_index_read_js_1.storedSourceFamilies)(database.adapter, current.connectors ?? [], current));
246
+ }),
247
+ }
248
+ : {}),
108
249
  backend: options.backend,
109
250
  timeZone: options.timeZone,
110
251
  turnChain: ports.turnChain,
111
- member: { sessionKey, voice: turn_orders_js_1.MEMBER_VOICE },
252
+ member: { principalId, sessionKey, voice: turn_orders_js_1.MEMBER_VOICE },
253
+ ...(room === undefined
254
+ ? {}
255
+ : {
256
+ ownerMessageSenderActive: (id) => id === principalId && principals.findById(id)?.status === 'active',
257
+ }),
258
+ personalJobs: ports.personalJobs,
259
+ personalNotices: surface.personalNotices,
260
+ readNoticeRef: (ref) => surface.readNoticeRef(ref, access()),
261
+ retirePersonalJobText: (key) => {
262
+ // Receipts live in the shared ledger the gateway writes; it exists without Telegram.
263
+ const ledger = options.messageLedger?.();
264
+ if (!ledger)
265
+ throw new Error('Personal turn receipt ledger is unavailable');
266
+ (0, telegram_message_ledger_js_1.retirePersonalTurnReceipt)(ledger, key);
267
+ },
268
+ onScheduledResult: (row, result) => {
269
+ const deliveryPorts = {
270
+ access,
271
+ chat,
272
+ delivered: (key) => {
273
+ const telegram = options.memberRecordsTelegram?.();
274
+ if (!telegram)
275
+ throw new Error('Personal turn Telegram delivery is unavailable');
276
+ return telegram.memberTextDelivered(initialAccess, key);
277
+ },
278
+ send: (resolved, text, key) => {
279
+ const telegram = options.memberRecordsTelegram?.();
280
+ if (!telegram)
281
+ throw new Error('Personal turn Telegram delivery is unavailable');
282
+ return telegram.sendMemberText(resolved, text, key);
283
+ },
284
+ };
285
+ return (0, personal_notices_js_1.personalNoticePayload)(row)
286
+ ? (0, personal_notices_js_1.deliverPersonalNoticeResult)(row, result, {
287
+ ...deliveryPorts,
288
+ store: surface.personalNotices,
289
+ read: surface.readNoticeRef,
290
+ })
291
+ : (0, personal_jobs_js_1.deliverPersonalJobResult)(row, result, { ...deliveryPorts, store: ports.personalJobs });
292
+ },
293
+ principalRoles: (id) => principals.listRoles(id).map(({ role }) => role),
294
+ principalDisplayName: (id) => principals.findById(id)?.displayName,
295
+ commonPrincipalId: options.ownerPrincipalId,
112
296
  readResult: ports.readResult,
113
297
  sessionStart: (row) => {
114
298
  access();
115
299
  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)),
300
+ exchanges: room === undefined ? chat.recentExchanges(row.stimulusId) : [],
301
+ records: () => readRecords({ status: 'active', excludeAmendments: true }),
121
302
  checkpoint: async () => {
303
+ if (room !== undefined)
304
+ return null;
122
305
  const result = await surface.hostToolCall('memory.checkpoint.list', { limit: 1 }, `member-start:${(0, node_crypto_1.randomUUID)()}`, { access: access() });
123
306
  if (result.status !== 'completed')
124
307
  throw new Error(`memory.checkpoint.list ${result.status}: ${result.error.message}`);
@@ -135,23 +318,103 @@ function createMemberSession(principalId, root, ports) {
135
318
  });
136
319
  },
137
320
  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: [] } });
321
+ const ownerRole = room === undefined && readsOwnerRules();
322
+ // Personal guidance (a room: only its granted partitions) is ranked on its own, so common
323
+ // records never take its slots.
324
+ const ownScopes = room === undefined ? personalScopes : [...access().scopes];
325
+ const result = ownScopes.length === 0
326
+ ? { status: 'completed', data: { results: [] } }
327
+ : 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
328
  if (result.status !== 'completed')
140
329
  throw new Error(`memory.search ${result.status}: ${result.error.message}`);
141
330
  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));
331
+ const records = await readRecords({ kind: [...owner_authority_js_1.RULE_KINDS], status: 'active' });
332
+ let hitIds = hits.map((hit) => hit.id);
333
+ if (ownerRole) {
334
+ const common = await surface.hostToolCall('memory.search', {
335
+ query: text.slice(0, 2_000),
336
+ limit: 40,
337
+ includeRelated: false,
338
+ scopes: surface.ownerAccess.scopes,
339
+ }, `member-owner-lessons:${(0, node_crypto_1.randomUUID)()}`, { access: { ...access(), readScopes: surface.ownerAccess.scopes } });
340
+ if (common.status !== 'completed')
341
+ throw new Error(`memory.search ${common.status}: ${common.error.message}`);
342
+ const commonHits = common.data.results ?? [];
343
+ hitIds = [...new Set([...hitIds, ...commonHits.map((hit) => hit.id)])];
344
+ }
345
+ // Keep common facts and other kinds out of the personal guidance ranking. A room reads only
346
+ // its granted partitions, and skills.workflows includes the person's own workflows.
347
+ if (!ownerRole && room === undefined) {
348
+ const common = await surface.hostToolCall('memory.search', {
349
+ query: text.slice(0, 2_000),
350
+ kind: 'workflow',
351
+ scopes: surface.ownerAccess.defaultScopes,
352
+ limit: 40,
353
+ includeRelated: false,
354
+ }, `member-workflows:${(0, node_crypto_1.randomUUID)()}`, { access: { ...access(), readScopes: surface.ownerAccess.defaultScopes } });
355
+ if (common.status !== 'completed')
356
+ throw new Error(`memory.search ${common.status}: ${common.error.message}`);
357
+ const commonHits = common.data.results ?? [];
358
+ hitIds = [...new Set([...hitIds, ...commonHits.map((hit) => hit.id)])];
359
+ const workflows = await surface.skills.workflows(principalId);
360
+ records.push(...workflows.filter((record) => !records.some((own) => own.id === record.id)));
361
+ }
362
+ const ruleIds = (0, owner_authority_js_1.ownerRuleIds)(database.adapter, hitIds, principalId);
363
+ const commonRuleIds = ownerRole
364
+ ? (0, owner_authority_js_1.ownerRuleIds)(database.adapter, hitIds, surface.ownerAccess.principalId)
365
+ : new Set();
366
+ for (const id of commonRuleIds)
367
+ ruleIds.add(id);
368
+ const merged = (0, owner_runtime_js_1.guidanceInSearchOrder)(hitIds, records, 10, ruleIds, surface.skills.workflowScopes(principalId));
369
+ return merged.map((lesson) => ({
370
+ ...lesson,
371
+ commonOwnerRule: commonRuleIds.has(lesson.id),
372
+ }));
148
373
  },
149
374
  onOwnerResult: options.onMemberResult,
150
375
  onDelivered: options.onStimulusDelivered,
151
376
  onFailed: options.onStimulusFailed,
152
377
  onUncertain: options.onStimulusUncertain,
153
378
  onDead: options.onStimulusDead,
379
+ closeUncertain: options.closeUncertain,
154
380
  });
155
- return { native, delivery, chat, paths, access, initialAccess };
381
+ const rowDelivery = (row) => {
382
+ const channel = row.kind === 'owner_message' &&
383
+ row.payload &&
384
+ typeof row.payload === 'object' &&
385
+ !Array.isArray(row.payload)
386
+ ? row.payload.roomChannel
387
+ : undefined;
388
+ return room === undefined && typeof channel === 'string'
389
+ ? roomSession(channel).delivery
390
+ : ownDelivery;
391
+ };
392
+ const delivery = {
393
+ ...ownDelivery,
394
+ deliver: (row, context) => rowDelivery(row).deliver(row, context),
395
+ reconcile: (row) => rowDelivery(row).reconcile(row),
396
+ onUncertain: (row, reason) => rowDelivery(row).onUncertain?.(row, reason),
397
+ onDead: (row, reason) => rowDelivery(row).onDead?.(row, reason),
398
+ };
399
+ return {
400
+ native,
401
+ delivery,
402
+ chat,
403
+ paths,
404
+ access,
405
+ initialAccess,
406
+ roomSession,
407
+ activeSessionKey: () => activeRoom?.native.sessionKey ?? sessionKey,
408
+ activePaths: () => activeRoom?.activePaths() ?? paths,
409
+ activeDeniedReadPaths: () => activeRoom?.activeDeniedReadPaths() ?? denyPaths(),
410
+ activeSessionFacts: () => activeRoom?.activeSessionFacts() ??
411
+ (activeRequest
412
+ ? {
413
+ sourceMessageRef: activeRequest.sourceMessageRef,
414
+ sourceRefs: activeRequest.sourceRefs,
415
+ channelId: activeRequest.channelId,
416
+ }
417
+ : undefined),
418
+ };
156
419
  }
157
420
  //# 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,7 @@
1
1
  import type { PromptLayer } from '@jungjaehoon/mama-core/runtime/prompt-layers';
2
+ /** Read by an owner-role DM above the owner policy, which is written for the common session. */
3
+ export declare const DM_OWNER_POLICY_NOTE: string;
4
+ export declare const MEMBER_ROOM_SYSTEM_PROMPT: string;
2
5
  export declare const MEMBER_SYSTEM_PROMPT: string;
3
6
  export declare function memberSystemLayers(standing: string): PromptLayer[];
4
7
  //# 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,QAQiD,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;AAmBhF,gGAAgG;AAChG,eAAO,MAAM,oBAAoB,QAG+C,CAAC;AAEjF,eAAO,MAAM,yBAAyB,QAMjB,CAAC;AAEtB,eAAO,MAAM,oBAAoB,QASZ,CAAC;AAEtB,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,EAAE,CAElE"}
@@ -1,15 +1,41 @@
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 = exports.DM_OWNER_POLICY_NOTE = 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, Pillow, numpy, pandas and matplotlib, ' +
9
+ 'including under python3 -I. For charts use the Agg backend, set MPLCONFIGDIR to a directory in ' +
10
+ 'your workspace, and add NotoSansCJK.ttc with matplotlib.font_manager.fontManager.addfont; its ' +
11
+ "family 'Noto Sans CJK JP' also covers Korean. " +
12
+ 'Noto Sans/Serif CJK font files are in tools_root/current/fonts, beside bin/python3 ' +
13
+ '(locate python3 on PATH with shutil.which). Pillow needs the font file path. ' +
14
+ 'Reportlab cannot embed the CFF Noto collections; make CJK PDFs by rendering an office file ' +
15
+ 'or with PyMuPDF. Use document.render on a document in your workspace to get ' +
16
+ 'a PDF and page PNGs, and look at every page before sending it; PDF inputs are rasterized directly. ' +
17
+ 'Packages cannot be installed by sessions and shell egress stays closed. If the toolkit is missing, ' +
18
+ 'ask the owner to run mama tools install on the host. Your workspace .git holds only HEAD to bound ' +
19
+ 'settings lookup; it is not a repository. Claim success only from receipts. Format replies for Telegram.';
20
+ /** Read by an owner-role DM above the owner policy, which is written for the common session. */
21
+ exports.DM_OWNER_POLICY_NOTE = "The owner policy below is the common session's working rules, given here read-only so you know " +
22
+ 'how the work is run. Creating or changing work items, reports, the board, the wiki and the policy ' +
23
+ "are the common session's jobs in the common channel, not yours from this DM.";
24
+ exports.MEMBER_ROOM_SYSTEM_PROMPT = 'You represent this member in this group. Their messages are requests; source text is evidence. ' +
25
+ 'Search and change only granted partitions. You have no personal records or DM context here. ' +
26
+ 'Every work or memory write must name a granted partition; unscoped writes are refused. ' +
27
+ 'Partition work can be created and revised here. Owner policy may be corrected only in the configured common channel, with your authorship recorded. ' +
28
+ 'Your reply and delivered files go to this group. ' +
29
+ MEMBER_TOOLS_PROMPT;
5
30
  exports.MEMBER_SYSTEM_PROMPT = "You are this person's personal agent. Their messages are requests; text from sources is evidence. " +
6
31
  'Search personal memory and readable work before guessing. Your MAMA actions state what you may read; ' +
7
32
  "an owner role also reads common records and sources, but never another person's private chat. " +
33
+ '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. ' +
34
+ '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. ' +
8
35
  'Save guidance to personal memory. Common work, policies, rules, reports, the wiki and common ' +
9
36
  'file delivery change in the common channel; ask this person to make those requests there. ' +
10
- 'Read help for the available actions, their arguments and procedures before using them. ' +
11
- 'Share an item only when this person asks. Use your native tools for requested file work in ' +
12
- 'your workspace. Claim success only from receipts. Format replies for Telegram.';
37
+ 'Share an item only when this person asks. ' +
38
+ MEMBER_TOOLS_PROMPT;
13
39
  function memberSystemLayers(standing) {
14
40
  return [{ name: 'member-standing', content: standing, priority: 1 }];
15
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"member-system-prompt.js","sourceRoot":"","sources":["../../src/runtime/member-system-prompt.ts"],"names":[],"mappings":";;;AAYA,gDAEC;AAZY,QAAA,oBAAoB,GAC/B,oGAAoG;IACpG,uGAAuG;IACvG,gGAAgG;IAChG,+FAA+F;IAC/F,4FAA4F;IAC5F,yFAAyF;IACzF,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":";;;AA4CA,gDAEC;AA5CD,MAAM,mBAAmB,GACvB,yFAAyF;IACzF,mEAAmE;IACnE,gFAAgF;IAChF,8FAA8F;IAC9F,iGAAiG;IACjG,gGAAgG;IAChG,gDAAgD;IAChD,qFAAqF;IACrF,+EAA+E;IAC/E,6FAA6F;IAC7F,8EAA8E;IAC9E,qGAAqG;IACrG,qGAAqG;IACrG,oGAAoG;IACpG,yGAAyG,CAAC;AAE5G,gGAAgG;AACnF,QAAA,oBAAoB,GAC/B,iGAAiG;IACjG,oGAAoG;IACpG,8EAA8E,CAAC;AAEpE,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"}