primcli 3.0.0-preview.1 → 3.0.0-preview.10

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.
@@ -1,4 +1,4 @@
1
- import { b as retryTransient, c as classifySignalContent, q as isTrustedSender } from "./repeats-Dj_o6c-X-Bf9G0xds.js";
1
+ import { Z as isTrustedSender, b as retryTransient, c as classifySignalContent } from "./repeats-Dj_o6c-X-CDaE-kdZ.js";
2
2
  // src/oclif/presence-provenance.ts
3
3
  function readPresenceProjection(detail) {
4
4
  if (!detail || typeof detail !== "object") return null;
@@ -1,15 +1,15 @@
1
- import { It as getEmail, Pn as sendEmail, _ as describeApiFailure, h as sendPreparedSignal, hn as listSentEmails, p as prepareSignalEmail, pt as createEndpoint } from "./repeats-Dj_o6c-X-Bf9G0xds.js";
2
- import { X as classifySendError, ft as successfulSendOutcome, g as bareAddress, o as extractErrorPayload } from "./api-command-ctHBqTL5.js";
1
+ import { Dn as listSentEmails, Ht as getEmail, Jn as sendEmail, _ as describeApiFailure, h as sendPreparedSignal, p as prepareSignalEmail, vt as createEndpoint } from "./repeats-Dj_o6c-X-CDaE-kdZ.js";
2
+ import { Dt as successfulSendOutcome, dt as classifySendError, j as bareAddress, s as extractErrorPayload } from "./api-command-D0KHkqhA.js";
3
3
  import { recordSentSignal } from "./oclif/auto-signals.js";
4
4
  import { _ as acquireListenLock, c as mailTime, d as readMailJson, f as removeMailFile, h as writeMailJson, i as mailId, l as privateMailDirectory, m as withMailLock, n as invalidSharedMail, o as mailObject, p as syncMailDirectory, r as mailAddress, s as mailString, t as SharedMailStateError, v as compareListenProcessIdentity, x as listenProcessIdentity, y as listenIdentity } from "./shared-mail-files-BAQSGxxz.js";
5
- import { i as readApiBeforeDeadline, n as isPlainChatReply, o as scopedChatSenderTrust } from "./scoped-chat-DZ42V3jq.js";
5
+ import { i as readApiBeforeDeadline, n as isPlainChatReply, o as scopedChatSenderTrust } from "./scoped-chat-C4TDfZND.js";
6
6
  import { n as tryOwnSharedMail, r as waitForSharedMailChange, t as readSharedMailOwner } from "./shared-mail-watch-BAPMsFNv.js";
7
7
  import { Errors } from "@oclif/core";
8
8
  import { opendirSync } from "node:fs";
9
9
  import { createHash, randomUUID, scryptSync } from "node:crypto";
10
10
  import { dirname, join } from "node:path";
11
11
  import { setTimeout as setTimeout$1 } from "node:timers/promises";
12
- // ../sdk-node/dist/api-BKmwTTyX.js
12
+ // ../sdk-node/dist/api-v3fGf2O7.js
13
13
  const jsonBodySerializer = { bodySerializer: (body) => JSON.stringify(body, (_key, value) => typeof value === "bigint" ? value.toString() : value) };
14
14
  function createSseClient({ onRequest, onSseError, onSseEvent, responseTransformer, responseValidator, sseDefaultRetryDelay, sseMaxRetryAttempts, sseMaxRetryDelay, sseSleepFn, url, ...options }) {
15
15
  let lastEventId;
package/man/primitive.1 CHANGED
@@ -207,9 +207,24 @@ profile are bound to one organization and refuse a different one.
207
207
  .PP
208
208
  Run
209
209
  .B primitive keys list
210
- to list API key metadata; it never shows a secret. API keys are created,
211
- rotated and revoked in the dashboard for now. CLI commands for this are
212
- planned.
210
+ or
211
+ .B primitive keys get ID
212
+ to see API keys and their permissions; neither shows a secret.
213
+ .BR "primitive keys create" ,
214
+ .B rotate
215
+ and
216
+ .B update
217
+ run directly. If your organization requires approval, the command prints the
218
+ approval link and waits for the one-time token the page shows, or takes it with
219
+ .BR --step-up-token .
220
+ A new secret is printed once and never saved.
221
+ .B primitive keys update ID --expires-at TIME
222
+ extends a key before it expires; rotating keeps its expiry unless
223
+ .B rotate
224
+ is given
225
+ .BR --expires-at .
226
+ .B primitive keys revoke ID
227
+ revokes a key.
213
228
  .B primitive whoami --check PERMISSION
214
229
  reports whether the current credential may use a permission.
215
230
  .PP
@@ -222,7 +237,8 @@ signed in with
222
237
  can leave; API keys are refused. The only owner of an organization cannot leave
223
238
  it. If the server asks for a dashboard confirmation, open the page it names and
224
239
  paste the token at the prompt, or pass it with --step-up-token. Refusals from
225
- the server are printed as returned.
240
+ the server are printed as returned. Without a terminal and without --yes, it
241
+ exits 2 before anything is sent.
226
242
  .PP
227
243
  Run
228
244
  .B primitive whoami
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "primcli",
3
- "version": "3.0.0-preview.1",
3
+ "version": "3.0.0-preview.10",
4
4
  "publishConfig": {
5
5
  "tag": "preview"
6
6
  },
@@ -42,6 +42,9 @@
42
42
  "identifier": "COMMANDS"
43
43
  },
44
44
  "dirname": "primitive",
45
+ "hooks": {
46
+ "command_not_found": "./dist/oclif/command-not-found.js"
47
+ },
45
48
  "plugins": [
46
49
  "@oclif/plugin-help",
47
50
  "@oclif/plugin-autocomplete",
@@ -92,7 +95,7 @@
92
95
  "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."
93
96
  },
94
97
  "emails": {
95
- "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."
98
+ "description": "List, inspect, and wait for received emails, and see what the classifier read from one. Prefer task aliases like `primitive emails list`, `primitive emails get`, `primitive emails latest`, `primitive emails facts`, `primitive emails wait`, and `primitive emails watch`; generated API names remain available for compatibility."
96
99
  },
97
100
  "search": {
98
101
  "description": "Cross-corpus semantic search. Prefer `primitive search <query>` for lexical inbound search and `primitive semantic-search <query>` for meaning-aware ranking across inbound and outbound.",
@@ -102,10 +105,10 @@
102
105
  "description": "Send outbound emails. Prefer `primitive send` for fresh sends and `primitive reply --id <inbound-id>` for replies. Use `primitive domains list` or `primitive inbox status` to find usable sender domains for --from; `primitive sending permissions` lists recipient-scope destinations you may send to."
103
106
  },
104
107
  "signin": {
105
- "description": "Sign in to an existing Primitive account"
108
+ "description": "Sign in with browser approval or an emailed code"
106
109
  },
107
110
  "login": {
108
- "description": "Log in to an existing Primitive account"
111
+ "description": "Log in with browser approval or an emailed code"
109
112
  },
110
113
  "otp": {
111
114
  "description": "Authenticate with an emailed one-time code"
@@ -144,10 +147,10 @@
144
147
  "description": "Global secrets shared across every function. Use `primitive org secrets list|set|remove`. Changes land in a function on its next redeploy; a function secret of the same name overrides the global."
145
148
  },
146
149
  "keys": {
147
- "description": "List organization API keys (metadata only, never secrets) with `primitive keys list`. API keys are created, rotated and revoked in the dashboard for now. CLI commands for this are planned."
150
+ "description": "Organization API keys: list and show them (metadata only, never secrets), create, rotate and change them (with browser approval where your organization requires it), and revoke them."
148
151
  },
149
152
  "roles": {
150
- "description": "Read roles, groups, mailbox access and the access mode. Use `primitive roles list|groups|mailbox-access|access-mode`; generated API names remain available."
153
+ "description": "Read roles, members, groups, mailbox access and the access mode. Use `primitive roles list|members|groups|mailbox-access|access-mode`; generated API names remain available."
151
154
  },
152
155
  "projects": {
153
156
  "description": "Organization people, shared projects and project invitations"
@@ -164,6 +167,9 @@
164
167
  "organization-settings": {
165
168
  "description": "Your connected apps and CLI logins, the organization's connected apps, name, logo, search settings and billing"
166
169
  },
170
+ "members": {
171
+ "description": "List the organization's members and their roles. Use `primitive members list` (the same as `primitive roles members`)."
172
+ },
167
173
  "roles-and-members": {
168
174
  "description": "Roles, member roles and removal, the mailbox access mode, break-glass, transfers and suspensions, and leaving the organization"
169
175
  },
@@ -179,9 +185,15 @@
179
185
  "stats": {
180
186
  "description": "Received and sent mail per hour, and how webhook deliveries ended"
181
187
  },
188
+ "activity": {
189
+ "description": "What you created, and what other members asked of you, with where each stands now (ids, names and states only)"
190
+ },
182
191
  "email-rules": {
183
192
  "description": "Rules written in plain English that pick out received mail"
184
193
  },
194
+ "email-rule-oversight": {
195
+ "description": "The email rules that reach your own mailboxes, whoever wrote them, read-only, and objections asking a rule's author to turn it off"
196
+ },
185
197
  "routes": {
186
198
  "description": "Manage recipient routes. Bind an address pattern to an endpoint or function: `primitive routes add alice@d --function <id>`, `primitive routes list`, `primitive routes test <recipient>`, `primitive routes remove <id>`."
187
199
  },