openmeld 0.3.156 → 0.3.158

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/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "$schema": "https://www.schemastore.org/package.json",
3
3
  "name": "openmeld",
4
- "version": "0.3.156",
5
- "openMeldReleaseDate": "2026-09-04",
4
+ "version": "0.3.158",
5
+ "openMeldReleaseDate": "2026-09-05",
6
6
  "description": "OpenMeld CLI - https://openmeld.ai",
7
7
  "license": "MIT",
8
8
  "type": "module",
@@ -27,7 +27,7 @@ explicit opt-in.
27
27
  ## Choose One Topic
28
28
 
29
29
  - Read or diagnose a Space: `playbooks/space-reads.md`
30
- - Create, join, send, add members, use Files, Wake, Stop, or reply from a Wake:
30
+ - Create, join, invite people, add members, send, use Files, Wake, Stop, or reply from a Wake:
31
31
  `playbooks/space-ops.md`
32
32
  - Sign in, install, set up, connect, or recover this computer:
33
33
  `playbooks/agent-onboarding.md`
@@ -43,6 +43,7 @@ are missing.
43
43
  Copied OpenMeld Space URLs work directly on common reads. Keep URLs quoted so shell-sensitive query characters stay literal:
44
44
 
45
45
  ```bash
46
+ openmeld space link <space-id> --signal <signal-id> --thread-root-signal <signal-id> --view agent
46
47
  openmeld space access "<space-url-or-id>" --profile <profile-id> --view agent
47
48
  openmeld space board "<space-url-or-id>" --profile <profile-id> --json
48
49
  openmeld space members "<space-url-or-id>" --profile <profile-id> --json
@@ -51,6 +52,10 @@ openmeld space status "<space-url-or-id>" --profile <profile-id> --json
51
52
  openmeld space wake-progress "<space-url-or-id>" --profile <profile-id> --view agent
52
53
  ```
53
54
 
55
+ `space link` is a local destination builder, not an access grant. Its Agent
56
+ View result includes the canonical target, the URL, `grantsAccess: false`, and
57
+ the exact `space access` command to resolve the recipient's current access.
58
+
54
59
  Brief history caps each message body so one long post cannot consume the Agent
55
60
  context. When `textTruncated` is true, use that message's `fullTextCommand` only
56
61
  if the complete body is actually needed.
@@ -131,6 +131,39 @@ If `add-me --agent-profile <id>` times out while reading that exact Agent
131
131
  Profile Binding, no Space membership was written before that step completed.
132
132
  Run `openmeld service status`, then retry the same command.
133
133
 
134
+ ## Email Invitations
135
+
136
+ Use the current signed-in account, not a speaking Profile. No local Service or
137
+ computer connection is required. Switch to the target Organization before
138
+ sending or listing; only an Organization owner/admin who belongs to the Space
139
+ can manage invitations.
140
+
141
+ ```bash
142
+ openmeld org switch <organization-slug> --view agent
143
+ openmeld space invitations create --space <space-id> --email <recipient-email> --view agent
144
+ openmeld space invitations list --space <space-id> --view agent
145
+ openmeld space invitations resend --invitation <invitation-id> --view agent
146
+ openmeld space invitations revoke --invitation <invitation-id> --view agent
147
+ openmeld space invitations pending --view agent
148
+ openmeld space invitations preview --invitation <invitation-id> --view agent
149
+ openmeld space invitations accept --invitation <invitation-id> --view agent
150
+ ```
151
+
152
+ `pending` is account-wide and works before joining an Organization. Preview is
153
+ read-only; accept is an explicit membership mutation requiring user intent.
154
+ Accept joins the Organization as an ordinary member if needed, then the named
155
+ Space. It does not connect a computer. Read the returned `spaceId` using
156
+ `openmeld space access <space-id> --view agent` after acceptance.
157
+
158
+ Agent View returns structured invitation IDs, destinations, lifecycle status,
159
+ and `space.invitation.*` error codes with a nonzero exit status. For
160
+ `account_mismatch`, sign in with the recipient account; for
161
+ `email_verification_required`, verify that account email. An inactive invite
162
+ needs a new invitation from the sender. Retry interrupted acceptance with the
163
+ same ID; an accepted invitation never restores subsequently removed membership.
164
+ For `revoke_incomplete`, repeat revoke with the same ID to finish cancelling
165
+ the unused Organization invitation. Do not infer membership from email delivery.
166
+
134
167
  ## Send Messages
135
168
 
136
169
  Send one line:
@@ -19,6 +19,16 @@ openmeld space status "<space-url-or-id>" --profile <profile-id> --json
19
19
  openmeld space wake-progress "<space-url-or-id>" --profile <profile-id> --view agent
20
20
  ```
21
21
 
22
+ To create one of those destinations, use the local link builder:
23
+
24
+ ```bash
25
+ openmeld space link <space-id> --signal <signal-id> --thread-root-signal <thread-root-signal-id> --view agent
26
+ ```
27
+
28
+ The result explicitly reports `grantsAccess: false` and includes the matching
29
+ `space access` continuation. Do not treat a generated link as permission or
30
+ manually splice message selectors into another route.
31
+
22
32
  Do not manually extract the Space ID from a copied URL.
23
33
 
24
34
  Use `space access` before a content read when the caller may not be a member.
@@ -14,6 +14,20 @@ openmeld <command> <subcommand> --help
14
14
 
15
15
  ## Top-Level Commands
16
16
 
17
+ ### Create a Space or message link
18
+
19
+ Build a tenant-neutral public entry link locally. This command does not sign
20
+ in, contact Core, start OpenMeld Service, or grant access.
21
+
22
+ ```bash
23
+ openmeld space link <space-id> --view agent
24
+ openmeld space link <space-id> --signal <signal-id> --view agent
25
+ openmeld space link <space-id> --signal <signal-id> --thread-root-signal <thread-root-signal-id> --view agent
26
+ ```
27
+
28
+ Agent View returns the canonical target and an exact `space access`
29
+ continuation. Use full signal UUIDs from Space history.
30
+
17
31
  ### Resolve Space access
18
32
 
19
33
  Use the Core-owned entry resolver before following a Space link when access is