primcli 1.32.0 → 1.34.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.
- package/README.md +255 -16
- package/bin/claude-wake.mjs +174 -0
- package/bin/run.js +0 -0
- package/dist/{cli-config-BvflSzQe.js → cli-config-x39ZVsXJ.js} +42 -11
- package/dist/oclif/index.js +23854 -14007
- package/dist/oclif/root-signup-hint.js +1 -1
- package/man/primitive.1 +86 -2
- package/package.json +16 -7
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { S as normalizeApiBaseUrl, c as resolveConfigEnvironment, i as loadCliConfig } from "../cli-config-
|
|
1
|
+
import { S as normalizeApiBaseUrl, c as resolveConfigEnvironment, i as loadCliConfig } from "../cli-config-x39ZVsXJ.js";
|
|
2
2
|
import { existsSync, readFileSync } from "node:fs";
|
|
3
3
|
import { join } from "node:path";
|
|
4
4
|
import { homedir } from "node:os";
|
package/man/primitive.1
CHANGED
|
@@ -34,11 +34,17 @@ credential. This mode requires WebSocket and the shared saved subscription;
|
|
|
34
34
|
--transport poll and a custom --subscription are rejected. The local-mail-*
|
|
35
35
|
subscription namespace is reserved for shared receiving. No runtime is launched. Repeat --sender or use comma-separated exact
|
|
36
36
|
addresses. Routine authenticated status interactions do not notify the session.
|
|
37
|
+
Verified receiver presence controls are answered deterministically while the
|
|
38
|
+
exact session binding is eligible. They do not start model turns, wake Claude,
|
|
39
|
+
complete chat waits, or consume --once or --number. Pending verification remains
|
|
40
|
+
durably deferred and reconciles independently of ordinary mail.
|
|
37
41
|
.PP
|
|
38
42
|
.B primitive listen --status --notify-session UUID
|
|
39
43
|
inspects local notification receipts without receiving mail or connecting to a
|
|
40
44
|
session. Accepted means queued; unknown outcomes are held across restarts and are
|
|
41
45
|
never automatically resent. Inspect the exact session before a manual resend.
|
|
46
|
+
An explicit Codex Review or Compact refusal is recorded as not_submitted and
|
|
47
|
+
retried after a short delay; a timeout remains unknown.
|
|
42
48
|
Use --limit (default 100, maximum 1000) and --cursor with the returned nextCursor
|
|
43
49
|
to page through receipts. Notification subscriptions accept email.received only;
|
|
44
50
|
--once counts a candidate processed during this invocation, including filtered
|
|
@@ -90,6 +96,44 @@ expose local webhook delivery on API hosts where it is enabled. Each command
|
|
|
90
96
|
makes one API request. Use their --help output for the input fields. Consumers
|
|
91
97
|
deduplicate event IDs and report the outcome with the returned attempt and lease.
|
|
92
98
|
Queue retention does not extend source-content retention; inspect gap counts.
|
|
99
|
+
.SH AGENT LOOP
|
|
100
|
+
Every inbound email carries reply state:
|
|
101
|
+
.B awaiting
|
|
102
|
+
is
|
|
103
|
+
.B you
|
|
104
|
+
when the latest message in its thread is inbound and
|
|
105
|
+
.B them
|
|
106
|
+
when you replied last (queued and scheduled replies count).
|
|
107
|
+
.B primitive inbox next
|
|
108
|
+
prints the oldest email awaiting you with its conversation, and
|
|
109
|
+
.B primitive reply --id ID
|
|
110
|
+
answers it, after which the next call moves on:
|
|
111
|
+
.PP
|
|
112
|
+
.RS
|
|
113
|
+
.nf
|
|
114
|
+
primitive inbox next
|
|
115
|
+
primitive reply --id ID --body TEXT
|
|
116
|
+
primitive inbox next
|
|
117
|
+
.fi
|
|
118
|
+
.RE
|
|
119
|
+
.PP
|
|
120
|
+
Automated mail (bounces, mailer-daemon, postmaster, mail from the very address it was delivered to, delivery reports, Auto-Submitted, X-Auto-Response-Suppress, bulk and list mail) is skipped unless
|
|
121
|
+
.B --include-automated
|
|
122
|
+
is given. The server decides this when the mail arrives and filters on it, so the call does not slow down as unanswered automated mail accumulates; a server without that filter fails with
|
|
123
|
+
.B automated_filter_unsupported
|
|
124
|
+
instead of scanning.
|
|
125
|
+
.B --wait
|
|
126
|
+
blocks until something awaits you, taking the inbox position before checking so no arrival is missed;
|
|
127
|
+
.B --timeout
|
|
128
|
+
bounds it.
|
|
129
|
+
.B --json
|
|
130
|
+
prints a stable envelope.
|
|
131
|
+
.PP
|
|
132
|
+
It is not a work queue: nothing is claimed, so two agents on one inbox get the same email until one replies.
|
|
133
|
+
.PP
|
|
134
|
+
Exit status of
|
|
135
|
+
.BR "primitive inbox next" :
|
|
136
|
+
0 an email awaits you; 1 error (including reply_state_unsupported from a server without reply state); 2 invalid flags; 5 nothing awaits you.
|
|
93
137
|
.SH AUTHENTICATION
|
|
94
138
|
.PP
|
|
95
139
|
Commands use saved OAuth credentials from
|
|
@@ -121,7 +165,10 @@ to remove local credentials, pending email-code auth state, and stale credential
|
|
|
121
165
|
.PP
|
|
122
166
|
Run
|
|
123
167
|
.B primitive whoami
|
|
124
|
-
to verify
|
|
168
|
+
to verify account authentication. With PRIMITIVE_AGENT_PROFILE selected, it
|
|
169
|
+
prints saved connected identity offline, without claiming live authentication
|
|
170
|
+
or receiving readiness. Use listen --status --notify-session UUID to inspect
|
|
171
|
+
the exact receiver under the same profile.
|
|
125
172
|
.SH COMMON COMMANDS
|
|
126
173
|
.TP
|
|
127
174
|
.B primitive send --to ADDRESS --subject SUBJECT --body TEXT
|
|
@@ -140,7 +187,14 @@ Verify DNS records for a pending domain claim.
|
|
|
140
187
|
Download DNS records as a BIND-format zone file.
|
|
141
188
|
.TP
|
|
142
189
|
.B primitive emails latest
|
|
143
|
-
Show recent inbound emails.
|
|
190
|
+
Show recent inbound emails, with whose turn it is (AWAITING) and the reply count.
|
|
191
|
+
.TP
|
|
192
|
+
.B primitive emails latest --awaiting you
|
|
193
|
+
Show only inbound emails waiting on your reply.
|
|
194
|
+
.TP
|
|
195
|
+
.B primitive inbox next
|
|
196
|
+
Show the oldest email awaiting your reply, its conversation, and the reply command. See
|
|
197
|
+
.BR "AGENT LOOP" .
|
|
144
198
|
.TP
|
|
145
199
|
.B primitive functions init NAME
|
|
146
200
|
Scaffold a Primitive Function.
|
|
@@ -185,6 +239,36 @@ stable idempotency key. After a lost send response, repeating the same command
|
|
|
185
239
|
looks up that key without sending again. Timed-out exact-parent waits retain
|
|
186
240
|
their claim for resume. A plain reply does not prove task completion.
|
|
187
241
|
|
|
242
|
+
.SS Organization agent network
|
|
243
|
+
.B primitive network peers --owner NAME --json
|
|
244
|
+
finds listed agents owned by a coworker in the private default organization
|
|
245
|
+
network. Results include address, owner name and last recorded API activity;
|
|
246
|
+
activity is not live presence. Use the returned cursor for further pages.
|
|
247
|
+
The owner can separately allow an agent to see peers or be seen. Contacts are
|
|
248
|
+
saved addresses, not the network roster. Network listing and contact acceptance
|
|
249
|
+
do not grant task authority. Known addresses can still exchange ordinary email.
|
|
250
|
+
|
|
251
|
+
.SS Explicit communication signals
|
|
252
|
+
.B primitive signal read --id EMAIL_ID --json
|
|
253
|
+
reports that you read one authenticated plain email.
|
|
254
|
+
.B primitive signal ack --id EMAIL_ID --status received --json
|
|
255
|
+
reports acknowledgement; supported statuses are received, will_process, and
|
|
256
|
+
will_not_process. Choose the state you actually intend.
|
|
257
|
+
.B primitive signal working --id EMAIL_ID --expires-in 30 --json
|
|
258
|
+
and
|
|
259
|
+
.B primitive signal typing --id EMAIL_ID --expires-in 30 --json
|
|
260
|
+
report temporary activity. Both default to 30 seconds; typing allows 1-30
|
|
261
|
+
seconds and working allows 1-60. These commands require a saved connected
|
|
262
|
+
profile selected with PRIMITIVE_AGENT_PROFILE and pin its sender identity.
|
|
263
|
+
.PP
|
|
264
|
+
Read and acknowledgement deduplicate by parent, kind and acknowledgement status.
|
|
265
|
+
Unexpired activity deduplicates; a new explicit invocation after a known outcome
|
|
266
|
+
expires may send fresh activity. Unknown sends must reconcile before renewal;
|
|
267
|
+
expired unsent activity is never replayed. No automatic signal or task authority
|
|
268
|
+
is granted. Signal and interaction parents are refused to prevent reply loops.
|
|
269
|
+
JSON outcomes are sent, already_sent, expired (exit 0), not_sent (exit 1), and
|
|
270
|
+
uncertain (exit 4). Ordinary CLI argument errors exit 2.
|
|
271
|
+
|
|
188
272
|
.SH GLOBAL OPTIONS
|
|
189
273
|
.TP
|
|
190
274
|
.B --api-key KEY
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "primcli",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.34.0",
|
|
4
4
|
"description": "Official Primitive CLI: deploy Primitive Functions, send and inspect mail, manage endpoints, all from the terminal. Wraps the @primitivedotdev/sdk runtime client with one-shot commands.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -50,10 +50,10 @@
|
|
|
50
50
|
"description": "Manage your account settings, storage, and webhook secret"
|
|
51
51
|
},
|
|
52
52
|
"agent-connections": {
|
|
53
|
-
"description": "
|
|
53
|
+
"description": "Create, list, invite, revoke, and remove connected agents; claim private invitations through stdin."
|
|
54
54
|
},
|
|
55
55
|
"agent": {
|
|
56
|
-
"description": "Connect an
|
|
56
|
+
"description": "Connect an invited session, enroll a new session using a saved member login, disconnect one saved profile, or manage contacts and signup."
|
|
57
57
|
},
|
|
58
58
|
"credits": {
|
|
59
59
|
"description": "Redeem credit codes and check the organization credit balance"
|
|
@@ -64,8 +64,14 @@
|
|
|
64
64
|
"registries": {
|
|
65
65
|
"description": "Create and manage agent registries, publish and resolve agents by handle, and moderate publication requests"
|
|
66
66
|
},
|
|
67
|
+
"network": {
|
|
68
|
+
"description": "Discover same-organization agents by email address and manage default network visibility. Use `primitive network` to see the commands."
|
|
69
|
+
},
|
|
70
|
+
"agent-networks": {
|
|
71
|
+
"description": "Generated agent network API operations. Prefer `primitive network` for discovery and visibility."
|
|
72
|
+
},
|
|
67
73
|
"inbox": {
|
|
68
|
-
"description": "Check inbound email setup and
|
|
74
|
+
"description": "Check inbound email setup and readiness, and work through mail awaiting your reply. Prefer `primitive inbox setup` for a guided setup path, `primitive inbox status` for the readiness table, and `primitive inbox next` for the oldest email awaiting your reply."
|
|
69
75
|
},
|
|
70
76
|
"emails": {
|
|
71
77
|
"description": "List, inspect, and wait for received emails. Prefer task aliases like `primitive emails list`, `primitive emails get`, `primitive emails latest`, `primitive emails wait`, and `primitive emails watch`; generated API names remain available for compatibility."
|
|
@@ -129,13 +135,16 @@
|
|
|
129
135
|
"description": "Schedule and send wake commands to your own functions over signed email, and manage which senders may wake them. Use `primitive wake schedules list|create|get|update|delete|run`, `primitive wake authorizations list|create|update|delete`, and `primitive wake dispatches list`."
|
|
130
136
|
},
|
|
131
137
|
"listen": {
|
|
132
|
-
"description": "Receive events locally as JSONL
|
|
138
|
+
"description": "Receive events locally as JSONL with JSON status responses by default; --json is accepted explicitly. Use --exec or --forward-to, or deliver external mail events as tool output, never user messages, to an exact loaded native session using --notify-session with --contacts or approved --sender addresses. Add --email-id to --status to explain one received email. Add --contact-requests for owner-enabled structured first-contact intake. Use --background for independent receiving, --status --notify-session for current receiver health and durable receipts, or --stop --notify-session to stop only that receiver. Verified presence controls use no model turns and do not consume --once or --number."
|
|
133
139
|
},
|
|
134
140
|
"contacts": {
|
|
135
|
-
"description": "Shared organization contacts plus structured request, accept, and wait commands for connected agents. Directory list, get, add, update, and remove use conditional versions."
|
|
141
|
+
"description": "Shared organization contacts plus structured request, accept, and wait commands for connected agents. Directory list, get, add, update, and remove use conditional versions. Commands return JSON by default and accept explicit --json."
|
|
136
142
|
},
|
|
137
143
|
"agent:contacts": {
|
|
138
|
-
"description": "Contacts and notification preferences for one agent address. Connected profiles default to their own address."
|
|
144
|
+
"description": "Contacts and notification preferences for one agent address. Connected profiles default to their own address. Commands return JSON by default and accept explicit --json."
|
|
145
|
+
},
|
|
146
|
+
"agent:notes": {
|
|
147
|
+
"description": "Read and maintain organization address notes. Connected profiles default to their own address and can write only their own notes. Use agent notes list|get|set|delete; new notes are private, and updates preserve visibility unless explicitly changed. Commands return JSON by default."
|
|
139
148
|
}
|
|
140
149
|
},
|
|
141
150
|
"topicSeparator": " "
|