@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
@@ -3,19 +3,70 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.POLICY_UPDATE_ACTION = exports.RULE_KINDS = void 0;
4
4
  exports.holdsOwnerRole = holdsOwnerRole;
5
5
  exports.isOwnerChatRef = isOwnerChatRef;
6
+ exports.messageTurnCaller = messageTurnCaller;
7
+ exports.activeOwnerMessageCaller = activeOwnerMessageCaller;
6
8
  exports.ownerRuleIds = ownerRuleIds;
7
9
  exports.ownerSpeaking = ownerSpeaking;
8
10
  exports.amendedRecordIds = amendedRecordIds;
9
11
  exports.guardOwnerRules = guardOwnerRules;
12
+ /**
13
+ * Whose word a rule is (owner, 2026-10-01): the owner's own conversation carries authority, and
14
+ * every connector message is observation, including the owner's own lines in a client room. A
15
+ * rule (lesson, preference, constraint, workflow) written in an owner-chat turn is an owner rule,
16
+ * and only an owner-chat turn replaces or retires it. Rules learned in other turns are memory too,
17
+ * and any turn may add or change them.
18
+ *
19
+ * Authorship comes from the durable judgment command binding, and the message ref identifies
20
+ * the chat turn. The mailbox drops handled rows after seven days while a rule lasts. A
21
+ * subagent's calls carry `subagent:<thread>`: the agent that heard the owner records the correction.
22
+ */
23
+ const knowledge_1 = require("@jungjaehoon/mama-core/knowledge");
24
+ const principal_access_js_1 = require("./principal-access.js");
25
+ const mama_core_1 = require("@jungjaehoon/mama-core");
10
26
  function holdsOwnerRole(repository, principalId) {
11
27
  return repository.listRoles(principalId).some(({ role }) => role === 'owner');
12
28
  }
13
29
  exports.RULE_KINDS = ['lesson', 'preference', 'constraint', 'workflow'];
30
+ const COMMON_RULE_TOOL = 'common-channel-rule';
14
31
  exports.POLICY_UPDATE_ACTION = 'manage.policy.update';
15
32
  const OWNER_CHAT_REF = /^(?:telegram|discord|slack):[^:]+:[^:]+$/;
16
33
  function isOwnerChatRef(ref) {
17
34
  return typeof ref === 'string' && OWNER_CHAT_REF.test(ref);
18
35
  }
36
+ /** The host's message binding names the person; the common session itself is no person. */
37
+ function messageTurnCaller(context, ports) {
38
+ const ref = context.session?.sourceMessageRef;
39
+ const principalId = context.access.principalId;
40
+ if (context.session?.replaySourceEndMs !== undefined ||
41
+ !isOwnerChatRef(ref) ||
42
+ !ports.isOwnerMessageTurn(ref, principalId))
43
+ return undefined;
44
+ if (principalId !== ports.ownerPrincipalId)
45
+ return principalId;
46
+ // Another allowed group reaches the common session too, but management, enrollment, the time
47
+ // zone and common skills change only from the common channel, as owner policy does.
48
+ if (ports.commonChannelId !== undefined && !ref.startsWith(`telegram:${ports.commonChannelId}:`))
49
+ return undefined;
50
+ const row = ports.adapter
51
+ .prepare(`SELECT json_extract(payload_json, '$.senderPrincipalId') AS sender
52
+ FROM mailbox_inputs WHERE stimulus_id=? AND principal_id=? AND kind='owner_message'
53
+ ORDER BY id DESC LIMIT 1`)
54
+ .get(ref, principalId);
55
+ return row?.sender ?? undefined;
56
+ }
57
+ /** Re-read status and role when the action executes, including after a target-chain wait. */
58
+ function activeOwnerMessageCaller(context, ports) {
59
+ const caller = messageTurnCaller(context, ports);
60
+ if (!caller)
61
+ return undefined;
62
+ const repository = (0, mama_core_1.createPrincipalRepository)(ports.adapter);
63
+ const principal = repository.findById(caller);
64
+ return principal?.kind === 'member' &&
65
+ principal.status === 'active' &&
66
+ holdsOwnerRole(repository, caller)
67
+ ? caller
68
+ : undefined;
69
+ }
19
70
  /**
20
71
  * Owner-authored chat rules among these ids. Migration 075 left earlier records without command
21
72
  * bindings; without authenticated authorship they remain learned rules, even with a chat ref.
@@ -30,21 +81,27 @@ function ownerRuleIds(adapter, ids, ownerPrincipalId) {
30
81
  AND EXISTS (
31
82
  SELECT 1 FROM judgment_commands j
32
83
  JOIN command_bindings b ON b.command_id = j.command_id
33
- WHERE j.record_id = d.id AND b.principal_id = ?
84
+ WHERE j.record_id = d.id AND (b.principal_id = ? OR
85
+ json_extract(d.provenance_json, '$.tool_name') = ?)
34
86
  AND b.action = 'judgment.append' AND b.receipt_kind = 'judgment'
35
87
  AND b.receipt_key = d.id
36
88
  )`)
37
- .all(...ids, ownerPrincipalId);
89
+ .all(...ids, ownerPrincipalId, COMMON_RULE_TOOL);
38
90
  return new Set(rows
39
91
  .filter((row) => exports.RULE_KINDS.includes(row.kind) &&
40
92
  row.provenance_json !== null &&
41
93
  isOwnerChatRef(JSON.parse(row.provenance_json).source_message_ref))
42
94
  .map((row) => row.id));
43
95
  }
44
- function ownerSpeaking(context, ownerPrincipalId) {
45
- return (context.access.principalId === ownerPrincipalId &&
96
+ function ownerSpeaking(context, ownerPrincipalId, commonChannelId) {
97
+ const ref = context.session?.sourceMessageRef;
98
+ // With a common channel configured, owner policy changes come only from its messages: the
99
+ // common session's turn or a room session there, never another allowed group.
100
+ return ((context.access.principalId === ownerPrincipalId ||
101
+ (commonChannelId !== undefined && (0, principal_access_js_1.roomChannel)(context.access) === commonChannelId)) &&
102
+ (commonChannelId === undefined || ref?.startsWith(`telegram:${commonChannelId}:`) === true) &&
46
103
  context.session?.replaySourceEndMs === undefined &&
47
- isOwnerChatRef(context.session?.sourceMessageRef));
104
+ isOwnerChatRef(ref));
48
105
  }
49
106
  /** The records a memory.save replaces, or the one a memory.retire retires. */
50
107
  function amendedRecordIds(action, input) {
@@ -59,7 +116,9 @@ function amendedRecordIds(action, input) {
59
116
  return named.filter((id) => typeof id === 'string');
60
117
  }
61
118
  /** Policy revisions have one writer; other owner rules change only in owner chat. */
62
- function guardOwnerRules(registration, adapter, ownerPrincipalId) {
119
+ function guardOwnerRules(registration, adapter, ownerPrincipalId, commonChannelId,
120
+ /** Whether the caller's own source reads (channels, enrollment floor) reach an observation. */
121
+ observationVisible = () => false) {
63
122
  const action = registration.contract.name;
64
123
  return {
65
124
  ...registration,
@@ -82,14 +141,111 @@ function guardOwnerRules(registration, adapter, ownerPrincipalId) {
82
141
  error.name = 'denied';
83
142
  throw error;
84
143
  }
144
+ // Core checks only that a linked observation exists. Any caller other than the common
145
+ // session links an observation, or an edge with one at either end, only if its own source
146
+ // reads reach it.
147
+ if (context.access.principalId !== ownerPrincipalId) {
148
+ const links = input.links ?? [];
149
+ const linkedObservations = links.flatMap((link) => {
150
+ if (link.target.kind === 'observation')
151
+ return [link.target.id];
152
+ if (link.target.kind !== 'edge')
153
+ return [];
154
+ const edge = adapter
155
+ .prepare('SELECT subject_kind, subject_id, object_kind, object_id FROM twin_edges WHERE edge_id = ?')
156
+ .get(link.target.id);
157
+ if (!edge)
158
+ return [];
159
+ return [
160
+ ...(edge.subject_kind === 'observation' ? [edge.subject_id] : []),
161
+ ...(edge.object_kind === 'observation' ? [edge.object_id] : []),
162
+ ];
163
+ });
164
+ for (const id of linkedObservations) {
165
+ if (!observationVisible(id, context)) {
166
+ const error = new Error(`A judgment reference is unavailable: observation ${id}`);
167
+ error.name = 'denied';
168
+ throw error;
169
+ }
170
+ }
171
+ }
85
172
  const owned = ownerRuleIds(adapter, ids, ownerPrincipalId);
86
- if (owned.size > 0 && !ownerSpeaking(context, ownerPrincipalId)) {
173
+ if (owned.size > 0 && !ownerSpeaking(context, ownerPrincipalId, commonChannelId)) {
87
174
  const error = new Error(`${[...owned].join(', ')} ${owned.size === 1 ? 'is an owner rule' : 'are owner rules'}: ` +
88
175
  'change it in the common channel. Save what you learned as a personal lesson ' +
89
176
  'without replacing it, or ask the owner in your reply or report.');
90
177
  error.name = 'denied';
91
178
  throw error;
92
179
  }
180
+ if (owned.size > 0 &&
181
+ context.access.principalId !== ownerPrincipalId &&
182
+ ownerSpeaking(context, ownerPrincipalId, commonChannelId)) {
183
+ const command = input;
184
+ if (ids.some((id) => !owned.has(id)) ||
185
+ (action === 'memory.save' && !exports.RULE_KINDS.includes(command.kind))) {
186
+ const error = new Error('Common rule corrections may replace or retire only owner rules and must keep a rule kind');
187
+ error.name = 'denied';
188
+ throw error;
189
+ }
190
+ // Check references under the original authority before admitting the rule targets.
191
+ // The common scope below authorizes only the named owner rules and the new rule.
192
+ for (const [refs, scopeIds] of [
193
+ [(command.links ?? []).map((link) => link.target), (0, knowledge_1.readableScopeIds)(context.access)],
194
+ [
195
+ (command.amends ?? []).map((amendment) => amendment.target),
196
+ (0, knowledge_1.admittedScopeIds)(context.access),
197
+ ],
198
+ ]) {
199
+ for (const ref of refs) {
200
+ if (!(0, knowledge_1.referenceExists)(adapter, ref, scopeIds)) {
201
+ const error = new Error(`A judgment reference is unavailable: ${ref.kind} ${ref.id}`);
202
+ error.name = 'denied';
203
+ throw error;
204
+ }
205
+ }
206
+ }
207
+ // A common rule's correction is common; a rule saved only in a partition keeps that
208
+ // partition instead of being promoted into the common records.
209
+ const common = { kind: 'user', id: ownerPrincipalId };
210
+ const bound = adapter
211
+ .prepare(`SELECT DISTINCT s.kind, s.external_id FROM memory_scope_bindings b
212
+ JOIN memory_scopes s ON s.id = b.scope_id
213
+ WHERE b.memory_id IN (${[...owned].map(() => '?').join(',')})`)
214
+ .all(...owned).map((row) => ({ kind: row.kind, id: row.external_id }));
215
+ const scopes = bound.length === 0 ||
216
+ bound.some((scope) => scope.kind === common.kind && scope.id === common.id)
217
+ ? [common]
218
+ : bound;
219
+ // A partition rule is corrected only by a room that still holds that partition.
220
+ if (scopes === bound &&
221
+ !bound.every((target) => context.access.scopes.some((scope) => scope.kind === target.kind && scope.id === target.id))) {
222
+ const error = new Error('The rule is bound to a project outside your grants');
223
+ error.name = 'denied';
224
+ throw error;
225
+ }
226
+ return await registration.exec(action === 'memory.save' ? { ...input, scopes } : input, {
227
+ ...context,
228
+ session: { ...context.session, toolName: COMMON_RULE_TOOL },
229
+ access: {
230
+ ...context.access,
231
+ scopes: [
232
+ ...context.access.scopes.filter((scope) => !scopes.some((target) => target.kind === scope.kind && target.id === scope.id)),
233
+ ...scopes,
234
+ ],
235
+ defaultScopes: scopes,
236
+ },
237
+ });
238
+ }
239
+ // Stamp the host-selected common-channel rule path, never a scope supplied by the caller.
240
+ const kind = input.kind;
241
+ if (action === 'memory.save' &&
242
+ exports.RULE_KINDS.includes(kind) &&
243
+ ownerSpeaking(context, ownerPrincipalId, commonChannelId)) {
244
+ return await registration.exec(input, {
245
+ ...context,
246
+ session: { ...context.session, toolName: COMMON_RULE_TOOL },
247
+ });
248
+ }
93
249
  return await registration.exec(input, context);
94
250
  },
95
251
  };
@@ -1 +1 @@
1
- {"version":3,"file":"owner-authority.js","sourceRoot":"","sources":["../../src/runtime/owner-authority.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"owner-authority.js","sourceRoot":"","sources":["../../src/runtime/owner-authority.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
+ import { createPersonalJobScheduler } from './personal-jobs.js';
1
2
  import type { MemberEnrollmentPorts, MemberSelection } from '../api/member-enrollment.js';
2
3
  import type { ActionResult } from '@jungjaehoon/mama-core';
3
4
  import type { MemberRecordsTelegram } from '../api/member-records.js';
4
- import type { OwnerMessageLedger } from '../gateways/telegram-message-ledger.js';
5
+ import { type OwnerMessageLedger } from '../gateways/telegram-message-ledger.js';
5
6
  import { beginModelRun, readMemoryRecordsInScopes, type Knowledge, type KnowledgeOptions, type RuntimeHandle, type MemoryRecord, type MemoryScopeRef } from '@jungjaehoon/mama-core';
6
7
  import type { ServerResponse } from 'node:http';
7
8
  import type { NativeSessionHandle } from '@jungjaehoon/mama-core/runtime/runtime';
@@ -16,10 +17,12 @@ import type { SandboxNetworkProxy } from '../cli/runtime/claude-caller-config.js
16
17
  import { createNativeSession, type NativeSession } from './native-session.js';
17
18
  import type { TimeZoneSetting } from './timezone.js';
18
19
  import { type OwnerPolicyProvider } from './owner-policy.js';
19
- import type { OwnerHostExchangeInput } from '../gateways/turn-contract.js';
20
+ import type { OwnerMessageInput, OwnerHostExchangeInput, TurnIntake } from '../gateways/turn-contract.js';
20
21
  import { type RecordOrderEvent } from './record-orders.js';
21
22
  import { type StimulusDeliveryOptions, type StimulusIntake, type TurnLesson } from './stimulus-delivery.js';
22
23
  export interface OwnerRuntimeOptions {
24
+ prepareDeferredMemberInput?(id: string, input: OwnerMessageInput): Promise<OwnerMessageInput>;
25
+ onPersonalJobError?: (error: unknown) => void;
23
26
  messageLedger?: () => OwnerMessageLedger | undefined;
24
27
  memberRecordsTelegram?: () => MemberRecordsTelegram | undefined;
25
28
  /** Native shell commands that open a network connection, reported as they start (W35). */
@@ -33,12 +36,15 @@ export interface OwnerRuntimeOptions {
33
36
  timeZone: TimeZoneSetting;
34
37
  workspaceDir: string;
35
38
  ownerPrincipalId: string;
39
+ commonChannelId?: string;
40
+ roomChannels?: readonly string[];
36
41
  agentId: string;
37
42
  scopes: readonly MemoryScopeRef[];
38
43
  connectors?: readonly string[];
39
44
  rawPath: string;
40
45
  embedder?: NonNullable<KnowledgeOptions['embedder']>;
41
46
  memberRoot?: string;
47
+ toolsRoot?: string;
42
48
  memberEnrollment?: Omit<MemberEnrollmentPorts, 'memberRoot' | 'serveMember'>;
43
49
  /** Additional configured owner locations (config, logging, custom MCP), denied only to members. */
44
50
  ownerDeniedReadPaths?: readonly string[];
@@ -47,6 +53,8 @@ export interface OwnerRuntimeOptions {
47
53
  nativeSession?: NativeSessionHandle & Partial<Pick<NativeSession, 'callAction'>>;
48
54
  modelRun?: NativeModelRunPort;
49
55
  effort?: RuntimeEffort;
56
+ /** Hosts a turn with no person in it may WebFetch (`agent.autonomous_web_fetch`). */
57
+ autonomousWebFetch?: readonly string[];
50
58
  timeout: number;
51
59
  maxTurnMs?: number;
52
60
  runTokenBudget?: number;
@@ -102,6 +110,7 @@ export interface OwnerRuntimeOptions {
102
110
  };
103
111
  }
104
112
  export interface OwnerRuntime {
113
+ personalJobs: ReturnType<typeof createPersonalJobScheduler>;
105
114
  readonly runtime: RuntimeHandle;
106
115
  readonly database: CoreDatabase;
107
116
  readonly knowledge: Knowledge;
@@ -111,19 +120,23 @@ export interface OwnerRuntime {
111
120
  readonly wikiRoot: string | null;
112
121
  readonly intake: StimulusIntake;
113
122
  readonly acceptSourceDelta: StimulusIntake['acceptSourceDelta'];
114
- serveMember(principalId: string): StimulusIntake;
115
- principalPaths(principalId: string): {
123
+ serveMember(principalId: string): Promise<StimulusIntake>;
124
+ /** `deferIncoming` is set while an erasure has the member retired. */
125
+ memberIntake(principalId: string, roomChannel?: string): StimulusIntake & Pick<TurnIntake, 'deferIncoming'>;
126
+ principalPaths(principalId: string, roomChannel?: string): {
116
127
  workspaceDir: string;
117
128
  downloadsDir: string;
118
129
  };
119
130
  completeMemberEnrollment(selection: MemberSelection): Promise<ActionResult>;
120
131
  recordHostExchange(input: OwnerHostExchangeInput): void;
132
+ beginStop(): void;
133
+ drain(): Promise<void>;
121
134
  stop(): Promise<void>;
122
135
  }
123
136
  export declare function readOwnerMemoryRecords(adapter: Parameters<typeof readMemoryRecordsInScopes>[0], scopes: readonly MemoryScopeRef[], options?: Parameters<typeof readMemoryRecordsInScopes>[2]): Promise<MemoryRecord[]>;
124
137
  export declare function runtimeModelRun(options: OwnerRuntimeOptions, adapter: Parameters<typeof beginModelRun>[0]): NativeModelRunPort;
125
138
  /** Active guidance among the search hits, in the search's own order. */
126
- export declare function guidanceInSearchOrder(hitIds: readonly string[], records: readonly MemoryRecord[], limit: number, ownerRuleRecordIds: ReadonlySet<string>): TurnLesson[];
139
+ export declare function guidanceInSearchOrder(hitIds: readonly string[], records: readonly MemoryRecord[], limit: number, ownerRuleRecordIds: ReadonlySet<string>, skillScopes?: readonly MemoryScopeRef[]): TurnLesson[];
127
140
  /** Assemble the one owner database, catalog, native session and mailbox runtime. */
128
141
  export declare function createOwnerRuntime(options: OwnerRuntimeOptions): Promise<OwnerRuntime>;
129
142
  //# sourceMappingURL=owner-runtime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"owner-runtime.d.ts","sourceRoot":"","sources":["../../src/runtime/owner-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"owner-runtime.d.ts","sourceRoot":"","sources":["../../src/runtime/owner-runtime.ts"],"names":[],"mappings":"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"}