buckyos 0.7.123 → 0.7.125

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -289,3 +289,37 @@ npm dist-tag add buckyos@<已验证版本> latest
289
289
 
290
290
  回滚 dist-tag 不会改变已经安装的 BuckyOS system Tool;系统 Tool 只随 installer/updater 事务
291
291
  更新或回滚。
292
+
293
+ ### Session inbox addresses (breaking change)
294
+
295
+ MsgCenter queue calls (`getNext`, `peekBox`, `listBoxByTime`) require `mailbox`
296
+ in place of `owner`: `did:bns:alice/session-123` selects exactly that session;
297
+ `did:bns:alice` selects only records without a session. Existing `session_id`
298
+ values define the partitions, including automatically derived `dm:<peer DID>`
299
+ and group sessions. Set `msg.thread.topic` to address a chosen session.
300
+
301
+ ```ts
302
+ import { mailboxAddress } from 'buckyos'
303
+ const record = await client.getNext({
304
+ mailbox: mailboxAddress('did:bns:alice', 'session-123'),
305
+ box_kind: 'INBOX',
306
+ lock_on_take: true,
307
+ })
308
+ ```
309
+
310
+ `listMailboxes(owner, boxKind)` lists inboxes with unread records for an authorized
311
+ owner-wide router. `moveRecord(recordId, mailbox)` moves a record within one
312
+ owner; `updateRecordSession` also moves its inbox. Both source and destination
313
+ require write access. Omitting the session in `moveRecord` selects the default
314
+ inbox. Record responses include their canonical `mailbox` address.
315
+
316
+ RBAC resources are `obj://msg-center/inbox/<did>/<session_id>` (and analogous
317
+ `sent`, `group_inbox`, `request_box` paths). Read access permits non-locking
318
+ reads; consumption and updates require write access. Exact grants do not cover
319
+ other sessions, the default inbox, owner-wide projections, or delivery queues.
320
+
321
+ Use `mailboxResource(mailboxAddress(owner, sessionId), 'INBOX')` to construct
322
+ RBAC policy keys. Resource encoding additionally escapes dots, percent signs,
323
+ and pattern characters so `keyMatch3` cannot expand an exact session grant.
324
+ For example, `did:web:agent.zone/approval.1` maps to
325
+ `obj://msg-center/inbox/did:web:agent%2Ezone/approval%2E1`.
package/cli/dist/cli.mjs CHANGED
@@ -4865,7 +4865,7 @@ function invalid(stage, message, entry) {
4865
4865
  function stableJsonDigest(value) {
4866
4866
  return sha256Bytes(new TextEncoder().encode(ndn.toCanonicalJsonString(value)));
4867
4867
  }
4868
- const PACKAGE_VERSION = "0.7.123";
4868
+ const PACKAGE_VERSION = "0.7.125";
4869
4869
  const TOOL_VERSION = PACKAGE_VERSION;
4870
4870
  const SDK_VERSION = PACKAGE_VERSION;
4871
4871
  const PROTOCOL_VERSION = "1";