@jungjaehoon/mama-os 0.75.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 (237) hide show
  1. package/CHANGELOG.md +65 -0
  2. package/README.md +1 -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/member-enrollment.d.ts +7 -3
  12. package/dist/api/member-enrollment.d.ts.map +1 -1
  13. package/dist/api/member-enrollment.js +64 -16
  14. package/dist/api/member-enrollment.js.map +1 -1
  15. package/dist/api/member-export.d.ts.map +1 -1
  16. package/dist/api/member-export.js +14 -6
  17. package/dist/api/member-export.js.map +1 -1
  18. package/dist/api/member-lifecycle.d.ts +23 -4
  19. package/dist/api/member-lifecycle.d.ts.map +1 -1
  20. package/dist/api/member-lifecycle.js +88 -21
  21. package/dist/api/member-lifecycle.js.map +1 -1
  22. package/dist/api/member-notice-actions.d.ts +18 -0
  23. package/dist/api/member-notice-actions.d.ts.map +1 -0
  24. package/dist/api/member-notice-actions.js +184 -0
  25. package/dist/api/member-notice-actions.js.map +1 -0
  26. package/dist/api/member-records.d.ts +17 -2
  27. package/dist/api/member-records.d.ts.map +1 -1
  28. package/dist/api/member-records.js +440 -82
  29. package/dist/api/member-records.js.map +1 -1
  30. package/dist/api/member-share-actions.d.ts +3 -3
  31. package/dist/api/member-share-actions.d.ts.map +1 -1
  32. package/dist/api/member-share-actions.js +47 -20
  33. package/dist/api/member-share-actions.js.map +1 -1
  34. package/dist/api/owner-policy-actions.d.ts +1 -0
  35. package/dist/api/owner-policy-actions.d.ts.map +1 -1
  36. package/dist/api/owner-policy-actions.js +8 -4
  37. package/dist/api/owner-policy-actions.js.map +1 -1
  38. package/dist/api/owner-timezone-actions.d.ts +3 -2
  39. package/dist/api/owner-timezone-actions.d.ts.map +1 -1
  40. package/dist/api/owner-timezone-actions.js +4 -6
  41. package/dist/api/owner-timezone-actions.js.map +1 -1
  42. package/dist/api/personal-job-actions.d.ts +6 -0
  43. package/dist/api/personal-job-actions.d.ts.map +1 -0
  44. package/dist/api/personal-job-actions.js +72 -0
  45. package/dist/api/personal-job-actions.js.map +1 -0
  46. package/dist/api/security-events.d.ts +6 -1
  47. package/dist/api/security-events.d.ts.map +1 -1
  48. package/dist/api/security-events.js +34 -15
  49. package/dist/api/security-events.js.map +1 -1
  50. package/dist/api/skill-actions.d.ts +5 -0
  51. package/dist/api/skill-actions.d.ts.map +1 -0
  52. package/dist/api/skill-actions.js +66 -0
  53. package/dist/api/skill-actions.js.map +1 -0
  54. package/dist/api/source-actions.d.ts.map +1 -1
  55. package/dist/api/source-actions.js +4 -2
  56. package/dist/api/source-actions.js.map +1 -1
  57. package/dist/api/stored-source-reader.d.ts.map +1 -1
  58. package/dist/api/stored-source-reader.js +9 -2
  59. package/dist/api/stored-source-reader.js.map +1 -1
  60. package/dist/api/trello-actions.d.ts.map +1 -1
  61. package/dist/api/trello-actions.js +8 -2
  62. package/dist/api/trello-actions.js.map +1 -1
  63. package/dist/api/work-actions.d.ts +12 -2
  64. package/dist/api/work-actions.d.ts.map +1 -1
  65. package/dist/api/work-actions.js +57 -10
  66. package/dist/api/work-actions.js.map +1 -1
  67. package/dist/cli/commands/daemon.d.ts +12 -2
  68. package/dist/cli/commands/daemon.d.ts.map +1 -1
  69. package/dist/cli/commands/daemon.js +76 -12
  70. package/dist/cli/commands/daemon.js.map +1 -1
  71. package/dist/cli/commands/init.d.ts +4 -0
  72. package/dist/cli/commands/init.d.ts.map +1 -1
  73. package/dist/cli/commands/init.js +23 -0
  74. package/dist/cli/commands/init.js.map +1 -1
  75. package/dist/cli/commands/tools.d.ts +12 -0
  76. package/dist/cli/commands/tools.d.ts.map +1 -0
  77. package/dist/cli/commands/tools.js +109 -0
  78. package/dist/cli/commands/tools.js.map +1 -0
  79. package/dist/cli/index.js +6 -1
  80. package/dist/cli/index.js.map +1 -1
  81. package/dist/connectors/framework/polling-scheduler.d.ts +6 -1
  82. package/dist/connectors/framework/polling-scheduler.d.ts.map +1 -1
  83. package/dist/connectors/framework/polling-scheduler.js +25 -3
  84. package/dist/connectors/framework/polling-scheduler.js.map +1 -1
  85. package/dist/connectors/framework/stored-index-read.d.ts +2 -2
  86. package/dist/connectors/framework/stored-index-read.d.ts.map +1 -1
  87. package/dist/connectors/framework/stored-index-read.js +10 -3
  88. package/dist/connectors/framework/stored-index-read.js.map +1 -1
  89. package/dist/gateways/base-gateway.d.ts +7 -0
  90. package/dist/gateways/base-gateway.d.ts.map +1 -1
  91. package/dist/gateways/base-gateway.js +24 -0
  92. package/dist/gateways/base-gateway.js.map +1 -1
  93. package/dist/gateways/discord.d.ts +4 -0
  94. package/dist/gateways/discord.d.ts.map +1 -1
  95. package/dist/gateways/discord.js +24 -6
  96. package/dist/gateways/discord.js.map +1 -1
  97. package/dist/gateways/slack.d.ts +3 -0
  98. package/dist/gateways/slack.d.ts.map +1 -1
  99. package/dist/gateways/slack.js +15 -2
  100. package/dist/gateways/slack.js.map +1 -1
  101. package/dist/gateways/telegram-errors.d.ts +3 -0
  102. package/dist/gateways/telegram-errors.d.ts.map +1 -1
  103. package/dist/gateways/telegram-errors.js +5 -0
  104. package/dist/gateways/telegram-errors.js.map +1 -1
  105. package/dist/gateways/telegram-message-ledger.d.ts +7 -0
  106. package/dist/gateways/telegram-message-ledger.d.ts.map +1 -1
  107. package/dist/gateways/telegram-message-ledger.js +27 -2
  108. package/dist/gateways/telegram-message-ledger.js.map +1 -1
  109. package/dist/gateways/telegram.d.ts +24 -6
  110. package/dist/gateways/telegram.d.ts.map +1 -1
  111. package/dist/gateways/telegram.js +258 -44
  112. package/dist/gateways/telegram.js.map +1 -1
  113. package/dist/gateways/turn-contract.d.ts +6 -0
  114. package/dist/gateways/turn-contract.d.ts.map +1 -1
  115. package/dist/runtime/action-surface.d.ts +28 -3
  116. package/dist/runtime/action-surface.d.ts.map +1 -1
  117. package/dist/runtime/action-surface.js +310 -34
  118. package/dist/runtime/action-surface.js.map +1 -1
  119. package/dist/runtime/backend-security.d.ts +4 -0
  120. package/dist/runtime/backend-security.d.ts.map +1 -1
  121. package/dist/runtime/backend-security.js +8 -1
  122. package/dist/runtime/backend-security.js.map +1 -1
  123. package/dist/runtime/config.d.ts +1 -0
  124. package/dist/runtime/config.d.ts.map +1 -1
  125. package/dist/runtime/config.js +11 -0
  126. package/dist/runtime/config.js.map +1 -1
  127. package/dist/runtime/connectors.js +1 -1
  128. package/dist/runtime/connectors.js.map +1 -1
  129. package/dist/runtime/egress-proxy.d.ts +3 -3
  130. package/dist/runtime/egress-proxy.d.ts.map +1 -1
  131. package/dist/runtime/egress-proxy.js +16 -3
  132. package/dist/runtime/egress-proxy.js.map +1 -1
  133. package/dist/runtime/member-paths.d.ts +9 -1
  134. package/dist/runtime/member-paths.d.ts.map +1 -1
  135. package/dist/runtime/member-paths.js +67 -5
  136. package/dist/runtime/member-paths.js.map +1 -1
  137. package/dist/runtime/member-session.d.ts +21 -21
  138. package/dist/runtime/member-session.d.ts.map +1 -1
  139. package/dist/runtime/member-session.js +289 -34
  140. package/dist/runtime/member-session.js.map +1 -1
  141. package/dist/runtime/member-system-prompt.d.ts +1 -0
  142. package/dist/runtime/member-system-prompt.d.ts.map +1 -1
  143. package/dist/runtime/member-system-prompt.js +22 -4
  144. package/dist/runtime/member-system-prompt.js.map +1 -1
  145. package/dist/runtime/native-session.d.ts +6 -0
  146. package/dist/runtime/native-session.d.ts.map +1 -1
  147. package/dist/runtime/native-session.js +80 -13
  148. package/dist/runtime/native-session.js.map +1 -1
  149. package/dist/runtime/outbound-attempts.d.ts +5 -2
  150. package/dist/runtime/outbound-attempts.d.ts.map +1 -1
  151. package/dist/runtime/outbound-attempts.js +3 -2
  152. package/dist/runtime/outbound-attempts.js.map +1 -1
  153. package/dist/runtime/owner-authority.d.ts +14 -14
  154. package/dist/runtime/owner-authority.d.ts.map +1 -1
  155. package/dist/runtime/owner-authority.js +159 -7
  156. package/dist/runtime/owner-authority.js.map +1 -1
  157. package/dist/runtime/owner-runtime.d.ts +16 -5
  158. package/dist/runtime/owner-runtime.d.ts.map +1 -1
  159. package/dist/runtime/owner-runtime.js +426 -43
  160. package/dist/runtime/owner-runtime.js.map +1 -1
  161. package/dist/runtime/owner-system-prompt.d.ts +3 -1
  162. package/dist/runtime/owner-system-prompt.d.ts.map +1 -1
  163. package/dist/runtime/owner-system-prompt.js +15 -5
  164. package/dist/runtime/owner-system-prompt.js.map +1 -1
  165. package/dist/runtime/personal-job-cron.d.ts +6 -0
  166. package/dist/runtime/personal-job-cron.d.ts.map +1 -0
  167. package/dist/runtime/personal-job-cron.js +154 -0
  168. package/dist/runtime/personal-job-cron.js.map +1 -0
  169. package/dist/runtime/personal-jobs.d.ts +107 -0
  170. package/dist/runtime/personal-jobs.d.ts.map +1 -0
  171. package/dist/runtime/personal-jobs.js +353 -0
  172. package/dist/runtime/personal-jobs.js.map +1 -0
  173. package/dist/runtime/personal-notices.d.ts +38 -0
  174. package/dist/runtime/personal-notices.d.ts.map +1 -0
  175. package/dist/runtime/personal-notices.js +137 -0
  176. package/dist/runtime/personal-notices.js.map +1 -0
  177. package/dist/runtime/personal-turns.d.ts +23 -0
  178. package/dist/runtime/personal-turns.d.ts.map +1 -0
  179. package/dist/runtime/personal-turns.js +51 -0
  180. package/dist/runtime/personal-turns.js.map +1 -0
  181. package/dist/runtime/principal-access.d.ts +8 -0
  182. package/dist/runtime/principal-access.d.ts.map +1 -1
  183. package/dist/runtime/principal-access.js +69 -2
  184. package/dist/runtime/principal-access.js.map +1 -1
  185. package/dist/runtime/principal-sessions.d.ts +16 -2
  186. package/dist/runtime/principal-sessions.d.ts.map +1 -1
  187. package/dist/runtime/principal-sessions.js +104 -21
  188. package/dist/runtime/principal-sessions.js.map +1 -1
  189. package/dist/runtime/skills.d.ts +86 -0
  190. package/dist/runtime/skills.d.ts.map +1 -0
  191. package/dist/runtime/skills.js +560 -0
  192. package/dist/runtime/skills.js.map +1 -0
  193. package/dist/runtime/stimulus-delivery.d.ts +21 -1
  194. package/dist/runtime/stimulus-delivery.d.ts.map +1 -1
  195. package/dist/runtime/stimulus-delivery.js +185 -18
  196. package/dist/runtime/stimulus-delivery.js.map +1 -1
  197. package/dist/runtime/tools-paths.d.ts +9 -0
  198. package/dist/runtime/tools-paths.d.ts.map +1 -0
  199. package/dist/runtime/tools-paths.js +98 -0
  200. package/dist/runtime/tools-paths.js.map +1 -0
  201. package/dist/runtime/turn-orders.d.ts +22 -2
  202. package/dist/runtime/turn-orders.d.ts.map +1 -1
  203. package/dist/runtime/turn-orders.js +60 -6
  204. package/dist/runtime/turn-orders.js.map +1 -1
  205. package/dist/storage/chat-sources.d.ts +21 -0
  206. package/dist/storage/chat-sources.d.ts.map +1 -1
  207. package/dist/storage/chat-sources.js +65 -3
  208. package/dist/storage/chat-sources.js.map +1 -1
  209. package/dist/tools/command-runner.d.ts +12 -0
  210. package/dist/tools/command-runner.d.ts.map +1 -0
  211. package/dist/tools/command-runner.js +65 -0
  212. package/dist/tools/command-runner.js.map +1 -0
  213. package/dist/tools/document-render.d.ts +24 -0
  214. package/dist/tools/document-render.d.ts.map +1 -0
  215. package/dist/tools/document-render.js +208 -0
  216. package/dist/tools/document-render.js.map +1 -0
  217. package/dist/tools/document-toolkit.d.ts +15 -0
  218. package/dist/tools/document-toolkit.d.ts.map +1 -0
  219. package/dist/tools/document-toolkit.js +501 -0
  220. package/dist/tools/document-toolkit.js.map +1 -0
  221. package/dist/tools/office-render.d.ts +28 -0
  222. package/dist/tools/office-render.d.ts.map +1 -0
  223. package/dist/tools/office-render.js +98 -0
  224. package/dist/tools/office-render.js.map +1 -0
  225. package/dist/tools/toolkit-process.d.ts +9 -0
  226. package/dist/tools/toolkit-process.d.ts.map +1 -0
  227. package/dist/tools/toolkit-process.js +148 -0
  228. package/dist/tools/toolkit-process.js.map +1 -0
  229. package/dist/tools/toolkit-state.d.ts +22 -0
  230. package/dist/tools/toolkit-state.d.ts.map +1 -0
  231. package/dist/tools/toolkit-state.js +116 -0
  232. package/dist/tools/toolkit-state.js.map +1 -0
  233. package/package.json +3 -2
  234. package/toolkit/inspect-office-zip.py +16 -0
  235. package/toolkit/rasterize.py +29 -0
  236. package/toolkit/requirements.lock +664 -0
  237. package/toolkit/smoke.py +32 -0
package/CHANGELOG.md CHANGED
@@ -5,6 +5,71 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.76.0] - 2026-10-14
9
+
10
+ ### Added
11
+
12
+ - Personal jobs (`schedule.job.*`), in a person's own DM turn only. A job is a 5-field cron with
13
+ an IANA time zone and an instruction. Runs must be at least an hour apart across a year of
14
+ daylight-saving shifts, and at most ten jobs may be active. Each due run is a stateless turn
15
+ under the person's current access. `[ack]` sends nothing; any other result goes to the DM once
16
+ and is archived as a job exchange (#481, #482).
17
+ - Event notices: from a record order, the common session names a member with `member.notice`
18
+ (refs only). The member's own stateless turn re-reads the refs under its current access and
19
+ decides whether to tell it. Nothing returns to the common session (#483).
20
+ - A managed document toolkit, installed by `mama tools install` under `tools_root` (on macOS
21
+ also the last step of `mama init`; elsewhere set `tools_root` first):
22
+ - a hash-pinned Python environment with python-pptx, python-docx, openpyxl, PyMuPDF,
23
+ pdfplumber, reportlab and Pillow;
24
+ - LibreOffice;
25
+ - Noto Sans and Serif CJK fonts.
26
+
27
+ Every session gets it first on its shell PATH. On macOS, `document.render` turns a workspace
28
+ document into a PDF and page images under a sandbox, with no network and with size and time
29
+ limits (#484).
30
+
31
+ - Skills per person (#485):
32
+ - A workflow record saved in a DM is that person's skill; one saved in the common channel is a
33
+ common skill.
34
+ - `skills/<name>/SKILL.md` folders are a person's file skills.
35
+ - `skill.publish` and `skill.unpublish` publish common file skills from the common channel.
36
+ - `skill.list` and `skill.read` serve the common session and every member's DM, not a group
37
+ room session. Nobody reads another person's skills.
38
+ - `manage.member.name`: owners name members, and every session shows the names (#479).
39
+ - Members in the common channel (#489):
40
+ - A member without the owner role works in the group in a session of its own for that room,
41
+ under its granted partitions, with no personal records and no skills.
42
+ - Its chat reads start at its enrollment, and its records are bound to it.
43
+ - A queued group message whose sender lost the owner role moves once to that member's room
44
+ session.
45
+
46
+ ### Changed
47
+
48
+ - Owners manage members from their DMs and suspend and resume each other. Self-suspend,
49
+ offboarding an owner and grant changes on an owner are refused (#478).
50
+ - Each person has its own turn chain, so a DM no longer waits for the common session or another
51
+ person's turn. Directory changes take one exclusive lane (#480).
52
+ - Restart recovery is per person: a ready outbound message to an active member's DM recovers
53
+ after a restart, and an uncertain personal input closes or gets one interruption notice (#477).
54
+ - Erasure is a durable job (#486):
55
+ - It resumes after a stop or crash.
56
+ - Nothing is erased until Telegram confirms the export, and only what the export held is
57
+ erased.
58
+ - Only the erasing member waits.
59
+ - The receipt is recovered after a restart.
60
+
61
+ Shutdown stops intake first, lets running work finish or reach a resumable point, then closes
62
+ the transports and the database last.
63
+
64
+ - An owner's DM reads the owner rules, names its person and has web search and fetch. A personal
65
+ session no longer gives the model the owner's account email (#475, #476).
66
+ - A DM is told where its readable sources live, with each source's chat families, on a new session
67
+ and on the first turn after each start. A wrongly named source is refused without reading as a
68
+ permission problem, and `trello.read` names boards next to their keys (#487, #488).
69
+ - Owner policy and rule writes need a message in the common channel, from an owner's turn there
70
+ or from a member's room session, recorded with the member. Another allowed group, a DM, Slack
71
+ and Discord cannot change them (#489).
72
+
8
73
  ## [0.75.0] - 2026-10-12
9
74
 
10
75
  ### Changed
package/README.md CHANGED
@@ -4,7 +4,7 @@ One owner agent on Claude or Codex watches connected work, keeps task revisions
4
4
  answers on Telegram, publishes reports and a board, and recalls corrections.
5
5
  [mama-core](../mama-core/README.md) supplies the shared engine.
6
6
 
7
- Current manifest: **0.75.0**. Install with `npm install -g @jungjaehoon/mama-os` (Node.js 22.13+)
7
+ Current manifest: **0.76.0**. Install with `npm install -g @jungjaehoon/mama-os` (Node.js 22.13+)
8
8
  and follow [owner setup](../../docs/start/owner-setup.md).
9
9
 
10
10
  ## Start and operate
@@ -33,6 +33,8 @@ export declare const CODE_ACT_CONTRACT: ActionContract;
33
33
  * The code_act action over a dispatcher built after it: the functions are the actions the
34
34
  * caller is granted, and each call is dispatched with the caller's own context.
35
35
  */
36
- export declare function codeActRegistration(dispatcher: () => ActionDispatcher): ActionRegistration;
36
+ export declare function codeActRegistration(dispatcher: () => ActionDispatcher): ActionRegistration & {
37
+ releasePrincipal(principalId: string): void;
38
+ };
37
39
  export {};
38
40
  //# sourceMappingURL=code-act-actions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"code-act-actions.d.ts","sourceRoot":"","sources":["../../src/api/code-act-actions.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAEV,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAqFhC,MAAM,WAAW,WAAW;IAC1B,4DAA4D;IAC5D,SAAS,EAAE,SAAS;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACvC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACtD;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,uFAAuF;IACvF,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,KAAK,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAK7C;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,WAAW,EACjB,SAAS,SAAqB,EAC9B,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,aAAa,GAAG;IAAE,OAAO,EAAE,aAAa,CAAA;CAAE,CAAC,CA4GrD;AAED,eAAO,MAAM,iBAAiB,EAAE,cAiB/B,CAAC;AAEF;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,gBAAgB,GAAG,kBAAkB,CA+D1F"}
1
+ {"version":3,"file":"code-act-actions.d.ts","sourceRoot":"","sources":["../../src/api/code-act-actions.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAEV,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAqFhC,MAAM,WAAW,WAAW;IAC1B,4DAA4D;IAC5D,SAAS,EAAE,SAAS;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACvC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACtD;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,uFAAuF;IACvF,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,KAAK,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAK7C;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,WAAW,EACjB,SAAS,SAAqB,EAC9B,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,aAAa,GAAG;IAAE,OAAO,EAAE,aAAa,CAAA;CAAE,CAAC,CA4GrD;AAED,eAAO,MAAM,iBAAiB,EAAE,cAiB/B,CAAC;AAEF;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,gBAAgB,GACjC,kBAAkB,GAAG;IAAE,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAwEtE"}
@@ -100,7 +100,7 @@ process.on('message', async (msg) => {
100
100
  process.send({ type: 'ready' });
101
101
  `;
102
102
  const DEFAULT_TIMEOUT_MS = 300_000;
103
- const CARRIED_RUNS = 4;
103
+ const CARRIED_RUNS_PER_PRINCIPAL = 4;
104
104
  /**
105
105
  * Run the code in a fresh worker process; host calls are answered by `host.call`. `carried` is
106
106
  * what the run's earlier scripts left on globalThis; the result's `carried` is what this one
@@ -216,11 +216,13 @@ exports.CODE_ACT_CONTRACT = {
216
216
  * caller is granted, and each call is dispatched with the caller's own context.
217
217
  */
218
218
  function codeActRegistration(dispatcher) {
219
- // What each run's scripts left on globalThis. Runs are serial in one owner runtime, so the
220
- // latest run is the one that continues; the daemon is long-lived and a script can hold a whole
221
- // ledger, so only the latest few runs keep theirs.
222
- const carriedByRun = new Map();
219
+ // Principals run concurrently; activity in one must not evict another's carried values.
220
+ // Retain the latest four runs per principal; scripts can carry entire ledgers.
221
+ const carriedByPrincipal = new Map();
223
222
  return {
223
+ releasePrincipal: (id) => {
224
+ carriedByPrincipal.delete(id);
225
+ },
224
226
  contract: exports.CODE_ACT_CONTRACT,
225
227
  exec: async (input, context) => {
226
228
  const dispatch = dispatcher();
@@ -235,6 +237,13 @@ function codeActRegistration(dispatcher) {
235
237
  const callable = new Set(functions.map((fn) => fn.name));
236
238
  let calls = 0;
237
239
  const runId = context.session?.modelRunId;
240
+ const principalId = context.access.principalId;
241
+ let carriedByRun = carriedByPrincipal.get(principalId);
242
+ if (!carriedByRun) {
243
+ carriedByRun = new Map();
244
+ if (runId !== undefined)
245
+ carriedByPrincipal.set(principalId, carriedByRun);
246
+ }
238
247
  const before = runId === undefined ? {} : (carriedByRun.get(runId) ?? {});
239
248
  const { carried: after, ...result } = await runCodeAct(input.code, {
240
249
  functions,
@@ -253,7 +262,7 @@ function codeActRegistration(dispatcher) {
253
262
  throw new Error(`${result.error.code}: ${result.error.message}`);
254
263
  },
255
264
  }, DEFAULT_TIMEOUT_MS, before);
256
- if (runId === undefined)
265
+ if (runId === undefined || carriedByPrincipal.get(principalId) !== carriedByRun)
257
266
  return result;
258
267
  // One model message can carry several code_act calls, each started from the same values:
259
268
  // apply only what this call changed, so it does not replace what the others left.
@@ -267,7 +276,7 @@ function codeActRegistration(dispatcher) {
267
276
  carriedByRun.delete(runId);
268
277
  carriedByRun.set(runId, current);
269
278
  for (const oldest of carriedByRun.keys()) {
270
- if (carriedByRun.size <= CARRIED_RUNS)
279
+ if (carriedByRun.size <= CARRIED_RUNS_PER_PRINCIPAL)
271
280
  break;
272
281
  carriedByRun.delete(oldest);
273
282
  }
@@ -1 +1 @@
1
- {"version":3,"file":"code-act-actions.js","sourceRoot":"","sources":["../../src/api/code-act-actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"code-act-actions.js","sourceRoot":"","sources":["../../src/api/code-act-actions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { ActionRegistration } from '@jungjaehoon/mama-core';
2
+ import { type DocumentRenderOptions } from '../tools/document-render.js';
3
+ export interface DocumentActionPorts extends DocumentRenderOptions {
4
+ workspaceDir?: string;
5
+ ownerPrincipalId: string;
6
+ principalPaths?: (principalId: string) => {
7
+ workspaceDir: string;
8
+ runtimeRoot?: string;
9
+ };
10
+ principalDeniedReadPaths?: (principalId: string) => readonly string[];
11
+ }
12
+ export declare function documentActionRegistrations(ports: DocumentActionPorts): ActionRegistration[];
13
+ //# sourceMappingURL=document-actions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-actions.d.ts","sourceRoot":"","sources":["../../src/api/document-actions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAGjE,OAAO,EAA0B,KAAK,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEjG,MAAM,WAAW,mBAAoB,SAAQ,qBAAqB;IAChE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACzF,wBAAwB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,SAAS,MAAM,EAAE,CAAC;CACvE;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,mBAAmB,GAAG,kBAAkB,EAAE,CAiD5F"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.documentActionRegistrations = documentActionRegistrations;
4
+ const node_os_1 = require("node:os");
5
+ const backend_security_js_1 = require("../runtime/backend-security.js");
6
+ const document_render_js_1 = require("../tools/document-render.js");
7
+ function documentActionRegistrations(ports) {
8
+ return [
9
+ {
10
+ contract: {
11
+ name: 'document.render',
12
+ summary: "Render an office document or PDF in the caller's own workspace to PDF and page PNGs. Returns workspace-relative paths, page count and embedded fonts per page. Look at every PNG before sending the document. Requires the host's mama tools install; no packages can be installed by sessions. Maximum 50 MiB and 50 pages; a new output directory beside the input preserves existing files. PDF inputs are rasterized directly.",
13
+ inputSchema: {
14
+ type: 'object',
15
+ required: ['path'],
16
+ additionalProperties: false,
17
+ properties: {
18
+ path: {
19
+ type: 'string',
20
+ pattern: '\\S',
21
+ description: 'Absolute or workspace-relative office/PDF file path inside your own workspace.',
22
+ },
23
+ },
24
+ },
25
+ },
26
+ exec: async (input, context) => {
27
+ const path = input.path;
28
+ if (typeof path !== 'string' || !path.trim())
29
+ throw new Error('document.render requires a path');
30
+ const personal = context.access.principalId !== ports.ownerPrincipalId;
31
+ if (personal && !ports.principalPaths)
32
+ throw new Error('Document render requires the caller workspace');
33
+ const paths = personal
34
+ ? ports.principalPaths(context.access.principalId)
35
+ : { workspaceDir: ports.workspaceDir };
36
+ if (!paths.workspaceDir)
37
+ throw new Error('Document render workspace is not configured');
38
+ const extra = 'runtimeRoot' in paths && typeof paths.runtimeRoot === 'string'
39
+ ? (0, backend_security_js_1.credentialReadPaths)(paths.runtimeRoot)
40
+ : [];
41
+ return (0, document_render_js_1.createDocumentRenderer)({
42
+ ...ports,
43
+ deniedReadPaths: [
44
+ (0, node_os_1.homedir)(),
45
+ ...(personal && ports.principalDeniedReadPaths
46
+ ? ports.principalDeniedReadPaths(context.access.principalId)
47
+ : (ports.deniedReadPaths ?? [])),
48
+ ...extra,
49
+ ],
50
+ }).render(paths.workspaceDir, path);
51
+ },
52
+ },
53
+ ];
54
+ }
55
+ //# sourceMappingURL=document-actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-actions.js","sourceRoot":"","sources":["../../src/api/document-actions.ts"],"names":[],"mappings":";;AAYA,kEAiDC;AA5DD,qCAAkC;AAClC,wEAAqE;AACrE,oEAAiG;AASjG,SAAgB,2BAA2B,CAAC,KAA0B;IACpE,OAAO;QACL;YACE,QAAQ,EAAE;gBACR,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EACL,oaAAoa;gBACta,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,CAAC,MAAM,CAAC;oBAClB,oBAAoB,EAAE,KAAK;oBAC3B,UAAU,EAAE;wBACV,IAAI,EAAE;4BACJ,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,KAAK;4BACd,WAAW,EACT,gFAAgF;yBACnF;qBACF;iBACF;aACF;YACD,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;gBAC7B,MAAM,IAAI,GAAI,KAA4B,CAAC,IAAI,CAAC;gBAChD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;oBAC1C,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;gBACrD,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,KAAK,KAAK,CAAC,gBAAgB,CAAC;gBACvE,IAAI,QAAQ,IAAI,CAAC,KAAK,CAAC,cAAc;oBACnC,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;gBACnE,MAAM,KAAK,GAAG,QAAQ;oBACpB,CAAC,CAAC,KAAK,CAAC,cAAe,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC;oBACnD,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC;gBACzC,IAAI,CAAC,KAAK,CAAC,YAAY;oBAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;gBACxF,MAAM,KAAK,GACT,aAAa,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;oBAC7D,CAAC,CAAC,IAAA,yCAAmB,EAAC,KAAK,CAAC,WAAW,CAAC;oBACxC,CAAC,CAAC,EAAE,CAAC;gBACT,OAAO,IAAA,2CAAsB,EAAC;oBAC5B,GAAG,KAAK;oBACR,eAAe,EAAE;wBACf,IAAA,iBAAO,GAAE;wBACT,GAAG,CAAC,QAAQ,IAAI,KAAK,CAAC,wBAAwB;4BAC5C,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC;4BAC5D,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC;wBAClC,GAAG,KAAK;qBACT;iBACF,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;YACtC,CAAC;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -5,18 +5,22 @@ export interface MemberSelection {
5
5
  sourceMessageRef: string;
6
6
  ownerUserId: string;
7
7
  userId: string;
8
+ /** Optional name supplied by the acting owner in the enrollment action. */
9
+ name?: string;
8
10
  }
9
11
  export interface MemberEnrollmentPorts {
10
12
  memberRoot?: string;
11
- requestSelection(sourceMessageRef: string): Promise<void>;
12
- serveMember?(principalId: string): void;
13
+ requestSelection(sourceMessageRef: string, ownerUserId: string, name?: string): Promise<void>;
14
+ cancelSelection?(principalId: string): void;
15
+ serveMember?(principalId: string): void | 'next_start' | 'after_erasure';
13
16
  }
14
17
  export declare function createMemberEnrollment(options: {
15
18
  adapter: DatabaseInstance;
16
19
  ownerPrincipalId: string;
17
- isOwnerMessageTurn(sourceMessageRef: string): boolean;
20
+ isOwnerMessageTurn(sourceMessageRef: string, principalId: string): boolean;
18
21
  ownerAccess(): JudgmentAccess;
19
22
  ports?: MemberEnrollmentPorts;
23
+ directoryChange?: <T>(work: () => Promise<T>) => Promise<T>;
20
24
  }): {
21
25
  registration: ActionRegistration;
22
26
  complete: (selection: MemberSelection, dispatch: ActionDispatcher) => Promise<import("@jungjaehoon/mama-core").ActionResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"member-enrollment.d.ts","sourceRoot":"","sources":["../../src/api/member-enrollment.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAI1E,+EAA+E;AAC/E,MAAM,WAAW,eAAe;IAC9B,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,WAAW,CAAC,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CACzC;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE;IAC9C,OAAO,EAAE,gBAAgB,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC;IACtD,WAAW,IAAI,cAAc,CAAC;IAC9B,KAAK,CAAC,EAAE,qBAAqB,CAAC;CAC/B;;0BAsG+B,eAAe,YAAY,gBAAgB;EAgB1E"}
1
+ {"version":3,"file":"member-enrollment.d.ts","sourceRoot":"","sources":["../../src/api/member-enrollment.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAM1E,+EAA+E;AAC/E,MAAM,WAAW,eAAe;IAC9B,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,qBAAqB;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9F,eAAe,CAAC,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,WAAW,CAAC,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,YAAY,GAAG,eAAe,CAAC;CAC1E;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE;IAC9C,OAAO,EAAE,gBAAgB,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3E,WAAW,IAAI,cAAc,CAAC;IAC9B,KAAK,CAAC,EAAE,qBAAqB,CAAC;IAC9B,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;CAC7D;;0BAyI+B,eAAe,YAAY,gBAAgB;EAiC1E"}
@@ -4,6 +4,8 @@ exports.createMemberEnrollment = createMemberEnrollment;
4
4
  const node_crypto_1 = require("node:crypto");
5
5
  const mama_core_1 = require("@jungjaehoon/mama-core");
6
6
  const member_smoke_state_js_1 = require("./member-smoke-state.js");
7
+ const member_lifecycle_js_1 = require("./member-lifecycle.js");
8
+ const owner_authority_js_1 = require("../runtime/owner-authority.js");
7
9
  const principal_access_js_1 = require("../runtime/principal-access.js");
8
10
  function createMemberEnrollment(options) {
9
11
  // A completion exists only while a host-issued dispatcher operation is executing.
@@ -11,17 +13,30 @@ function createMemberEnrollment(options) {
11
13
  const registration = {
12
14
  contract: {
13
15
  name: 'manage.member.enroll',
14
- summary: "Enrollment requires the Choose member button in an owner's Telegram DM and is not available now. Requires member_root and a daemon restart after configuring it. The host registers the selected identity; this action accepts no person, chat or grants. Returns pending; enrollment grants no shared access. Active members' own messages are admitted by the registry.",
15
- inputSchema: { type: 'object', additionalProperties: false, properties: {} },
16
+ summary: "Enrollment runs in an active owner-role caller's own message turn (DM or the common channel), sending the Choose member button to the owner's own Telegram DM. Requires member_root and a daemon restart after configuring it. The host registers the selected identity; this action accepts an optional owner supplied name for the new member, but no identity, chat or grants. Telegram names are not used. Returns pending; enrollment grants no shared access. Active members' own messages are admitted by the registry.",
17
+ inputSchema: {
18
+ type: 'object',
19
+ additionalProperties: false,
20
+ properties: {
21
+ name: {
22
+ type: 'string',
23
+ pattern: '\\S',
24
+ description: 'Optional member display name: 1 to 120 characters after trimming.',
25
+ },
26
+ },
27
+ },
16
28
  examples: [{ title: 'Ask the owner to choose a member', input: {} }],
17
29
  },
18
- exec: async (_input, context) => {
30
+ exec: async (input, context) => {
31
+ const name = input.name?.trim();
32
+ if (name !== undefined && !(0, member_lifecycle_js_1.memberNameAllowed)(name))
33
+ throw Object.assign(new Error("A name may use letters, digits, spaces and . - ' · only"), {
34
+ name: 'denied',
35
+ });
19
36
  const ref = context.session?.sourceMessageRef;
20
- if (context.access.principalId !== options.ownerPrincipalId ||
21
- context.session?.replaySourceEndMs !== undefined ||
22
- !ref ||
23
- !options.isOwnerMessageTurn(ref)) {
24
- throw Object.assign(new Error("Enrollment requires the Choose member button in an owner's Telegram DM and is not available now."), { name: 'denied' });
37
+ const caller = (0, owner_authority_js_1.activeOwnerMessageCaller)(context, options);
38
+ if (!caller) {
39
+ throw Object.assign(new Error("Enrollment requires a registered person's message turn from an active owner-role member. Discord and Slack common turns have no registered sender; use Telegram."), { name: 'denied' });
25
40
  }
26
41
  const ports = options.ports;
27
42
  if (!ports)
@@ -34,9 +49,17 @@ function createMemberEnrollment(options) {
34
49
  });
35
50
  const selection = context.operationId ? completions.get(context.operationId) : undefined;
36
51
  if (!selection) {
37
- await ports.requestSelection(ref);
52
+ const callerAccess = (0, principal_access_js_1.resolvePrincipalAccess)(caller, {
53
+ adapter: options.adapter,
54
+ ownerAccess: options.ownerAccess(),
55
+ agentId: `member-agent:${caller}`,
56
+ });
57
+ const dm = callerAccess.destinations.find((destination) => destination.kind === 'telegram');
58
+ await ports.requestSelection(ref, dm.id, name);
38
59
  return { status: 'pending' };
39
60
  }
61
+ if (!context.memberEnrollmentQueued)
62
+ return options.directoryChange(async () => registration.exec(input, { ...context, memberEnrollmentQueued: true }));
40
63
  const repo = (0, mama_core_1.createPrincipalRepository)(options.adapter);
41
64
  const current = repo.resolveByExternal('telegram', 'private', selection.userId);
42
65
  const receipt = (status, principalId, message) => ({
@@ -47,12 +70,16 @@ function createMemberEnrollment(options) {
47
70
  ...(message ? { message } : {}),
48
71
  });
49
72
  if (selection.userId === selection.ownerUserId)
50
- return receipt('refused', options.ownerPrincipalId, "The owner's own identity cannot be enrolled");
73
+ return receipt('refused', caller, "The owner's own identity cannot be enrolled");
51
74
  if (current && current.status !== 'active')
52
75
  return receipt('refused', current.principalId, `The selected principal is ${current.status}`);
53
76
  if (current?.kind === 'member') {
54
- ports.serveMember?.(current.principalId);
55
- return receipt('exists', current.principalId);
77
+ const serving = ports.serveMember?.(current.principalId);
78
+ return receipt('exists', current.principalId, serving === 'next_start'
79
+ ? 'The member is registered and will be served at the next start'
80
+ : serving === 'after_erasure'
81
+ ? "The member's personal records are being erased; it is served again when that ends"
82
+ : undefined);
56
83
  }
57
84
  if (current && current.principalId !== options.ownerPrincipalId)
58
85
  return receipt('refused', current.principalId, 'The selected identity belongs to another owner');
@@ -69,6 +96,8 @@ function createMemberEnrollment(options) {
69
96
  expectedPrincipalId: options.ownerPrincipalId,
70
97
  })
71
98
  : repo.registerMember(identity);
99
+ if (name !== undefined)
100
+ repo.setDisplayName({ principalId: id, displayName: name, now: identity.now });
72
101
  (0, principal_access_js_1.resolvePrincipalAccess)(id, {
73
102
  adapter: options.adapter,
74
103
  ownerAccess: options.ownerAccess(),
@@ -77,18 +106,37 @@ function createMemberEnrollment(options) {
77
106
  (0, member_smoke_state_js_1.clearMemberSmokeState)(ports.memberRoot, id);
78
107
  return id;
79
108
  });
80
- ports.serveMember?.(principalId);
81
- return receipt('created', principalId);
109
+ const serving = ports.serveMember?.(principalId);
110
+ return receipt('created', principalId, serving === 'next_start'
111
+ ? 'The member is registered and will be served at the next start'
112
+ : undefined);
82
113
  },
83
114
  };
84
115
  return {
85
116
  registration,
86
117
  complete: async (selection, dispatch) => {
118
+ const repository = (0, mama_core_1.createPrincipalRepository)(options.adapter);
119
+ const person = repository.resolveByExternal('telegram', 'private', selection.ownerUserId);
120
+ if (person?.kind !== 'member')
121
+ throw new Error('Enrollment caller must be a registered member');
122
+ const personalAccess = (0, principal_access_js_1.resolvePrincipalAccess)(person.principalId, {
123
+ adapter: options.adapter,
124
+ ownerAccess: options.ownerAccess(),
125
+ agentId: `member-agent:${person.principalId}`,
126
+ });
127
+ // The original request may be a common-channel turn; retain that room's host binding.
128
+ const access = options.isOwnerMessageTurn(selection.sourceMessageRef, person.principalId)
129
+ ? personalAccess
130
+ : options.ownerAccess();
87
131
  const operationId = `member-enrollment:${(0, node_crypto_1.randomUUID)()}`;
88
132
  completions.set(operationId, selection);
89
133
  try {
90
- return await dispatch({ action: registration.contract.name, input: {}, operationId }, {
91
- access: options.ownerAccess(),
134
+ return await dispatch({
135
+ action: registration.contract.name,
136
+ input: selection.name === undefined ? {} : { name: selection.name },
137
+ operationId,
138
+ }, {
139
+ access,
92
140
  session: { sourceMessageRef: selection.sourceMessageRef },
93
141
  });
94
142
  }
@@ -1 +1 @@
1
- {"version":3,"file":"member-enrollment.js","sourceRoot":"","sources":["../../src/api/member-enrollment.ts"],"names":[],"mappings":";;AAyBA,wDA4HC;AArJD,6CAAyC;AACzC,sDAMgC;AAEhC,mEAAgE;AAChE,wEAAwE;AAexE,SAAgB,sBAAsB,CAAC,OAMtC;IACC,kFAAkF;IAClF,MAAM,WAAW,GAAG,IAAI,GAAG,EAA2B,CAAC;IACvD,MAAM,YAAY,GAAuB;QACvC,QAAQ,EAAE;YACR,IAAI,EAAE,sBAAsB;YAC5B,OAAO,EACL,2WAA2W;YAC7W,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE;YAC5E,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,kCAAkC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;SACrE;QACD,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAsB,EAAE,EAAE;YAC7C,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,EAAE,gBAAgB,CAAC;YAC9C,IACE,OAAO,CAAC,MAAM,CAAC,WAAW,KAAK,OAAO,CAAC,gBAAgB;gBACvD,OAAO,CAAC,OAAO,EAAE,iBAAiB,KAAK,SAAS;gBAChD,CAAC,GAAG;gBACJ,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAChC,CAAC;gBACD,MAAM,MAAM,CAAC,MAAM,CACjB,IAAI,KAAK,CACP,kGAAkG,CACnG,EACD,EAAE,IAAI,EAAE,QAAQ,EAAE,CACnB,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;YAC5B,IAAI,CAAC,KAAK;gBACR,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,uDAAuD,CAAC,EAAE;oBACtF,IAAI,EAAE,QAAQ;iBACf,CAAC,CAAC;YACL,IAAI,CAAC,KAAK,CAAC,UAAU;gBACnB,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,0DAA0D,CAAC,EAAE;oBACzF,IAAI,EAAE,QAAQ;iBACf,CAAC,CAAC;YACL,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACzF,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;gBAClC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;YAC/B,CAAC;YACD,MAAM,IAAI,GAAG,IAAA,qCAAyB,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACxD,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;YAChF,MAAM,OAAO,GAAG,CACd,MAAwC,EACxC,WAA0B,EAC1B,OAAgB,EAChB,EAAE,CAAC,CAAC;gBACJ,MAAM;gBACN,WAAW;gBACX,SAAS,EAAE,UAAU;gBACrB,SAAS,EAAE,SAAS;gBACpB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAChC,CAAC,CAAC;YACH,IAAI,SAAS,CAAC,MAAM,KAAK,SAAS,CAAC,WAAW;gBAC5C,OAAO,OAAO,CACZ,SAAS,EACT,OAAO,CAAC,gBAAgB,EACxB,6CAA6C,CAC9C,CAAC;YACJ,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ;gBACxC,OAAO,OAAO,CACZ,SAAS,EACT,OAAO,CAAC,WAAW,EACnB,6BAA6B,OAAO,CAAC,MAAM,EAAE,CAC9C,CAAC;YACJ,IAAI,OAAO,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC/B,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBACzC,OAAO,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;YAChD,CAAC;YACD,IAAI,OAAO,IAAI,OAAO,CAAC,WAAW,KAAK,OAAO,CAAC,gBAAgB;gBAC7D,OAAO,OAAO,CACZ,SAAS,EACT,OAAO,CAAC,WAAW,EACnB,gDAAgD,CACjD,CAAC;YACJ,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE;gBACnD,MAAM,QAAQ,GAAG;oBACf,SAAS,EAAE,UAAU;oBACrB,SAAS,EAAE,SAAS;oBACpB,UAAU,EAAE,SAAS,CAAC,MAAM;oBAC5B,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE;iBAChB,CAAC;gBACF,MAAM,EAAE,GAAG,OAAO;oBAChB,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC;wBACxB,GAAG,QAAQ;wBACX,mBAAmB,EAAE,OAAO,CAAC,gBAAgB;qBAC9C,CAAC;oBACJ,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;gBAClC,IAAA,4CAAsB,EAAC,EAAE,EAAE;oBACzB,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE;oBAClC,OAAO,EAAE,gBAAgB,EAAE,EAAE;iBAC9B,CAAC,CAAC;gBACH,IAAA,6CAAqB,EAAC,KAAK,CAAC,UAAW,EAAE,EAAE,CAAC,CAAC;gBAC7C,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;YACH,KAAK,CAAC,WAAW,EAAE,CAAC,WAAW,CAAC,CAAC;YACjC,OAAO,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QACzC,CAAC;KACF,CAAC;IACF,OAAO;QACL,YAAY;QACZ,QAAQ,EAAE,KAAK,EAAE,SAA0B,EAAE,QAA0B,EAAE,EAAE;YACzE,MAAM,WAAW,GAAG,qBAAqB,IAAA,wBAAU,GAAE,EAAE,CAAC;YACxD,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;YACxC,IAAI,CAAC;gBACH,OAAO,MAAM,QAAQ,CACnB,EAAE,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,EAC9D;oBACE,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE;oBAC7B,OAAO,EAAE,EAAE,gBAAgB,EAAE,SAAS,CAAC,gBAAgB,EAAE;iBAC1D,CACF,CAAC;YACJ,CAAC;oBAAS,CAAC;gBACT,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"member-enrollment.js","sourceRoot":"","sources":["../../src/api/member-enrollment.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"member-export.d.ts","sourceRoot":"","sources":["../../src/api/member-export.ts"],"names":[],"mappings":"AAgCA,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,CAmB9D;AACD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;CACzB;AAKD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;;;;;;EA+E3D;AAED,4FAA4F;AAC5F,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,EACjD,YAAY,GAAE,SAAS,MAAM,EAA2B,GACvD,MAAM,CAOR;AAMD,8FAA8F;AAC9F,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;;;;;;;;GAwGhG"}
1
+ {"version":3,"file":"member-export.d.ts","sourceRoot":"","sources":["../../src/api/member-export.ts"],"names":[],"mappings":"AAgCA,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,CAsB9D;AACD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;CACzB;AAKD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;;;;;;EAmF3D;AAED,4FAA4F;AAC5F,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,EACjD,YAAY,GAAE,SAAS,MAAM,EAA2B,GACvD,MAAM,CAOR;AAMD,8FAA8F;AAC9F,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;;;;;;;;GAwGhG"}
@@ -29,11 +29,14 @@ function memberTrees(root, id) {
29
29
  .filter((name) => new RegExp(`^\\.retired-${escaped(identity)}-${archiveSuffix}$`).test(name))
30
30
  .map((name) => (0, node_path_1.join)(parent, name))
31
31
  : [];
32
+ const roomTemp = (0, member_paths_js_1.memberRoomTmpRoot)(id);
32
33
  return [
33
34
  (0, member_paths_js_1.memberPaths)(root, id).runtimeRoot,
34
35
  temp,
36
+ roomTemp,
35
37
  ...archives(root, id),
36
38
  ...archives((0, node_path_1.dirname)(temp), (0, node_path_1.basename)(temp)),
39
+ ...archives((0, node_path_1.dirname)(roomTemp), (0, node_path_1.basename)(roomTemp)),
37
40
  ]
38
41
  .filter(node_fs_1.existsSync)
39
42
  .map((path) => (0, node_path_1.join)((0, backend_security_js_1.physicalReadPath)((0, node_path_1.dirname)(path)), (0, node_path_1.basename)(path)));
@@ -65,16 +68,21 @@ function memberFileInventory(root, id) {
65
68
  let eligible = true;
66
69
  let privateManaged = false;
67
70
  if (local !== undefined) {
68
- if (managedRoots.has(local.split('/')[0])) {
71
+ // A room session keeps the same layout under rooms/<sha256>/, its own account and
72
+ // credential homes included. Its history is the common room's, not a personal record.
73
+ const inRoom = /^rooms\/[0-9a-f]{64}\/(.*)$/.exec(local)?.[1];
74
+ const own = inRoom ?? local;
75
+ if (managedRoots.has(own.split('/')[0])) {
69
76
  eligible =
70
- managedHistoryFiles.has(local) ||
71
- local.startsWith('claude-config/projects/') ||
72
- local.startsWith('.codex/sessions/');
77
+ inRoom === undefined &&
78
+ (managedHistoryFiles.has(own) ||
79
+ own.startsWith('claude-config/projects/') ||
80
+ own.startsWith('.codex/sessions/'));
73
81
  privateManaged = !eligible;
74
82
  }
75
- else if (local === 'workspace/.tmp' || local.startsWith('workspace/.tmp/'))
83
+ else if (own === 'workspace/.tmp' || own.startsWith('workspace/.tmp/'))
76
84
  eligible = false;
77
- else if (new RegExp(`^workspace/files/member-export-${archiveSuffix}\\.zip$`).test(local))
85
+ else if (new RegExp(`^workspace/files/member-export-${archiveSuffix}\\.zip$`).test(own))
78
86
  eligible = false;
79
87
  }
80
88
  allFiles.push({
@@ -1 +1 @@
1
- {"version":3,"file":"member-export.js","sourceRoot":"","sources":["../../src/api/member-export.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"member-export.js","sourceRoot":"","sources":["../../src/api/member-export.ts"],"names":[],"mappings":"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"}