primcli 3.0.0-preview.12 → 3.0.0-preview.13

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,7 +1,7 @@
1
1
  import { N as agentProfileDirectory, P as agentProfileName, R as loadConnectedAgentProfile, j as AGENT_PROFILE_ENV } from "../cli-config-Ms_0vNjq.js";
2
2
  import { a as backgroundListenStatus, i as backgroundListenRestartable, s as claimBackgroundListenRestart, t as BACKGROUND_LISTEN_RELAUNCH_ENV } from "../listen-background-DyBYca28.js";
3
- import { d as SESSION_UUID, t as notificationScope } from "../notify-session-WKFsaFt3.js";
4
- import { Lt as detectAgentRuntime } from "../api-command-CNCsVNk0.js";
3
+ import { d as SESSION_UUID, t as notificationScope } from "../notify-session-cIUz_kxR.js";
4
+ import { Lt as detectAgentRuntime } from "../api-command-D5Tj9C-K.js";
5
5
  import { d as readMailJson } from "../shared-mail-files-BAQSGxxz.js";
6
6
  import { join } from "node:path";
7
7
  import { spawn } from "node:child_process";
@@ -182,6 +182,7 @@ var sdk_gen_exports = /* @__PURE__ */ __exportAll({
182
182
  getWakeSchedule: () => getWakeSchedule,
183
183
  getWebhookDeliveryStats: () => getWebhookDeliveryStats,
184
184
  getWebhookSecret: () => getWebhookSecret,
185
+ importGoogleMailMessage: () => importGoogleMailMessage,
185
186
  installTemplate: () => installTemplate,
186
187
  inviteAgentConnection: () => inviteAgentConnection,
187
188
  inviteOrganizationMember: () => inviteOrganizationMember,
@@ -213,6 +214,7 @@ var sdk_gen_exports = /* @__PURE__ */ __exportAll({
213
214
  listEmailRuleShareEmails: () => listEmailRuleShareEmails,
214
215
  listEmailRuleShares: () => listEmailRuleShares,
215
216
  listEmailRuleVersions: () => listEmailRuleVersions,
217
+ listEmailRuleVersionsCoveringMe: () => listEmailRuleVersionsCoveringMe,
216
218
  listEmailRules: () => listEmailRules,
217
219
  listEmailRulesCoveringMe: () => listEmailRulesCoveringMe,
218
220
  listEmails: () => listEmails,
@@ -268,6 +270,7 @@ var sdk_gen_exports = /* @__PURE__ */ __exportAll({
268
270
  putContact: () => putContact,
269
271
  putContactPolicy: () => putContactPolicy,
270
272
  reaffirmFunctionRuntimeKey: () => reaffirmFunctionRuntimeKey,
273
+ reconcileGoogleMailImport: () => reconcileGoogleMailImport,
271
274
  redeemCreditCode: () => redeemCreditCode,
272
275
  redeployFunction: () => redeployFunction,
273
276
  releaseSentEmail: () => releaseSentEmail,
@@ -3635,7 +3638,7 @@ const getEmailRuleVocabulary = (options) => (options?.client ?? client).get({
3635
3638
  /**
3636
3639
  * Compile a rule description
3637
3640
  *
3638
- * Turns a plain-English description of which received emails to match into a rule tree over the column contract, with an explanation of what it matches, the assumptions made, and warnings for what the columns cannot express. Where the columns fall short it adds up to five yes/no questions, asked only after the conditions match; they read the subject, the new text and attachment file names, never attachment contents. Nothing is saved. For a rule with no questions, breadth counts, read only, how much of your recent classified mail its conditions match; for a grant rule with questions, conditions_breadth counts its conditions alone. include_sql returns the SQL it renders to. kind do_not_share compiles for recall. Needs mail:read, the email rules feature, and a member's own full-access credential (no API key, agent key or narrowed token).
3641
+ * Turns a plain-English description of which received emails to match into a rule tree over the column contract, with an explanation of what it matches, the assumptions made, and warnings for what the columns cannot express. Where the columns fall short it adds up to five yes/no questions, asked only after the conditions match; they read the subject, the new text and attachment file names, never attachment contents. Nothing is saved. For a rule with no questions, breadth counts, read only, how much of the recent classified mail in evaluation_scope (by default your own mailboxes) its conditions match; for a grant rule with questions, conditions_breadth counts its conditions alone. include_sql returns the SQL it renders to. kind do_not_share compiles for recall. Needs mail:read, the email rules feature, and a member's own full-access credential (no API key, agent key or narrowed token).
3639
3642
  */
3640
3643
  const compileEmailRule = (options) => (options.client ?? client).post({
3641
3644
  security: [{
@@ -3686,7 +3689,7 @@ const generateLookAlikes = (options) => (options.client ?? client).post({
3686
3689
  /**
3687
3690
  * Test a rule against a made-up email
3688
3691
  *
3689
- * Reports what a rule would decide for an email you describe (sender, recipients, subject, plain text, attachment types; optionally automated, from a mailing list, and a spam score), classified and decided as received mail would be. A rule reading a spam score you gave none for decides on none (unset_columns). Nothing is stored. Test an unsaved tree or a saved rule by rule_id. The answer includes what the classifier read. Needs mail:read, the email rules feature, and a member's own full-access credential (no API key, agent key or narrowed token).
3692
+ * Reports what a rule would decide for an email you describe (sender, recipients, subject, plain text, attachment types and file names; optionally automated, from a mailing list, and a spam score), classified and decided as received mail would be. A rule reading a spam score you gave none for decides on none (unset_columns). Nothing is stored. Test an unsaved tree or a saved rule by rule_id. The answer includes what the classifier read. Needs mail:read, the email rules feature, and a member's own full-access credential (no API key, agent key or narrowed token).
3690
3693
  */
3691
3694
  const testEmailRuleOnSample = (options) => (options.client ?? client).post({
3692
3695
  security: [{
@@ -3733,7 +3736,7 @@ const createEmailRule = (options) => (options.client ?? client).post({
3733
3736
  /**
3734
3737
  * Delete a rule
3735
3738
  *
3736
- * Deletes a rule with its versions, its decisions and the access it granted. A share of it ends (end_reason rule_deleted), and the member who shared can still list what it handed over. The answer lists the shares it ended (ended_shares) and the unrevoked keys that still list it, which now read nothing through it (keys, other_keys; left out when they could not be read). The author or a reader of all the organization's mail may delete it; while it is shared, only the author or someone who manages members from the dashboard. Needs mail:read, the email rules feature, and a member's own full-access credential (no API key, agent key or narrowed token).
3739
+ * Deletes a rule with its versions, its decisions and the access it granted. A share of it ends (end_reason rule_deleted), and the member who shared can still list what it handed over. The answer lists the shares it ended (ended_shares), says whom with (share_notice), and lists the unrevoked keys that still list it, which now read nothing through it (keys, other_keys; left out when they could not be read). The author or a reader of all the organization's mail may delete it; while it is shared, only the author or someone who manages members from the dashboard. Needs mail:read, the email rules feature, and a member's own full-access credential (no API key, agent key or narrowed token).
3737
3740
  */
3738
3741
  const deleteEmailRule = (options) => (options.client ?? client).delete({
3739
3742
  security: [{
@@ -4063,9 +4066,22 @@ const listEmailRuleDecisionsOnMyMail = (options) => (options.client ?? client).g
4063
4066
  ...options
4064
4067
  });
4065
4068
  /**
4069
+ * Read versions of a rule over your mail
4070
+ *
4071
+ * The versions of a rule that covers one of your own mailboxes now that applied to your mail: its current version and each earlier one that decided on mail at your own mailboxes, so a decision can be read in the words of the version that made it. Each has what the covering view shows of a version: its wording, tree, explanation and assumptions. A version that did neither is not listed. Without versions, newest first, a page at a time (meta.cursor); with versions, only those named that are listed, oldest first. Needs mail:read, the email rules feature, and a member's own full-access credential (no API key, agent key or narrowed token). Only on your own dashboard session or the Primitive CLI.
4072
+ */
4073
+ const listEmailRuleVersionsCoveringMe = (options) => (options.client ?? client).get({
4074
+ security: [{
4075
+ scheme: "bearer",
4076
+ type: "http"
4077
+ }],
4078
+ url: "/email-rules/covering-me/{id}/versions",
4079
+ ...options
4080
+ });
4081
+ /**
4066
4082
  * List objections
4067
4083
  *
4068
- * Objections you made, objections to rules you wrote, or every objection you can see, newest first. An objection is seen by the member who made it, the rule's author and the organization's owners and admins. It stays pending until the rule's author accepts it, turning the rule off, or declines it, or the member who made it withdraws it, which clears its message. It never changes after that. Needs mail:read, the email rules feature, and a member's own full-access credential (no API key, agent key or narrowed token). Only on your own dashboard session or the Primitive CLI.
4084
+ * Objections you made and objections to rules you wrote (by default), only one of the two, or every objection you can see, newest first. An objection is seen by the member who made it, the rule's author and the organization's owners and admins. It stays pending until the rule's author accepts it, turning the rule off, or declines it, or the member who made it withdraws it, which clears its message. It never changes after that. Needs mail:read, the email rules feature, and a member's own full-access credential (no API key, agent key or narrowed token). Only on your own dashboard session or the Primitive CLI.
4069
4085
  */
4070
4086
  const listEmailRuleObjections = (options) => (options?.client ?? client).get({
4071
4087
  security: [{
@@ -4192,6 +4208,40 @@ const claimVanityInboxName = (options) => (options.client ?? client).post({
4192
4208
  }
4193
4209
  });
4194
4210
  /**
4211
+ * Import one historical Google Workspace message
4212
+ *
4213
+ * Requires the organization email_import entitlement, granted by staff. Only the configured current owner, using a full personal session or verified first-party CLI, may import into the configured primary mailbox. Primitive verifies the transient provider token and fetches RAW content itself. No raw uploads or client provenance are accepted. Sent, draft, spam and trash messages are skipped. Historical mail appears in normal history without live delivery effects. An indeterminate response requires retrying the same provider ID. User provider credentials are never stored or queued.
4214
+ */
4215
+ const importGoogleMailMessage = (options) => (options.client ?? client).post({
4216
+ security: [{
4217
+ scheme: "bearer",
4218
+ type: "http"
4219
+ }],
4220
+ url: "/mail-imports/google/messages",
4221
+ ...options,
4222
+ headers: {
4223
+ ...options.body !== void 0 && { "Content-Type": "application/json" },
4224
+ ...options.headers
4225
+ }
4226
+ });
4227
+ /**
4228
+ * Reconcile scoped historical import attempts
4229
+ *
4230
+ * The same configured owner may recover expired attempts after the email_import entitlement is revoked. Recovery does not require that entitlement. Selects only server-owned manifests for the configured mailbox/account/policy. No provider token, object keys, prefixes or email IDs are accepted. Unsettled uploads remain unresolved and charged; this operation does not promise automatic cleanup after a process dies.
4231
+ */
4232
+ const reconcileGoogleMailImport = (options) => (options.client ?? client).post({
4233
+ security: [{
4234
+ scheme: "bearer",
4235
+ type: "http"
4236
+ }],
4237
+ url: "/mail-imports/google/reconcile",
4238
+ ...options,
4239
+ headers: {
4240
+ ...options.body !== void 0 && { "Content-Type": "application/json" },
4241
+ ...options.headers
4242
+ }
4243
+ });
4244
+ /**
4195
4245
  * Send a read, working or typing signal about an email
4196
4246
  *
4197
4247
  * Builds and sends the standard signal email about this received email: one `interaction.json` part (read/1, working/1 or typing/1 naming the email's Message-ID) plus only the fixed fallback text, threaded to it. It goes only to the email's authenticated sender, never to Reply-To or other recipients. Receivers see it as `fyi: true`, and the sender sees it as `peer_signal_on_my_last` (typing is not reported there). Refused (422) for a signal, interaction or other structured email, for an unauthenticated sender, and while the email is still being processed. Each call is a new signal with fresh ids; a read retried with the same Idempotency-Key rebuilds the identical message and dedupes.
@@ -1,4 +1,4 @@
1
- import { Q as isTrustedSender, b as retryTransient, c as classifySignalContent } from "./repeats-Dj_o6c-X-wjmw2Jbx.js";
1
+ import { Q as isTrustedSender, b as retryTransient, c as classifySignalContent } from "./repeats-Dj_o6c-X-ykfsraq6.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 { On as listSentEmails, Ut as getEmail, Yn as sendEmail, _ as describeApiFailure, h as sendPreparedSignal, p as prepareSignalEmail, yt as createEndpoint } from "./repeats-Dj_o6c-X-wjmw2Jbx.js";
2
- import { Dt as successfulSendOutcome, dt as classifySendError, j as bareAddress, s as extractErrorPayload } from "./api-command-CNCsVNk0.js";
1
+ import { On as listSentEmails, Ut as getEmail, Yn as sendEmail, _ as describeApiFailure, h as sendPreparedSignal, p as prepareSignalEmail, yt as createEndpoint } from "./repeats-Dj_o6c-X-ykfsraq6.js";
2
+ import { Dt as successfulSendOutcome, dt as classifySendError, j as bareAddress, s as extractErrorPayload } from "./api-command-D5Tj9C-K.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-B1Fi6_qM.js";
5
+ import { i as readApiBeforeDeadline, n as isPlainChatReply, o as scopedChatSenderTrust } from "./scoped-chat-DVSsLSRw.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-BOt1IwNR.js
12
+ // ../sdk-node/dist/api-C54bhvOz.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
@@ -43,8 +43,9 @@ line then; add
43
43
  .B --envelope
44
44
  to get the full response envelope, with the pagination cursor in
45
45
  .B meta.cursor
46
- and empty-result hints in
47
- .BR summary .
46
+ and, in
47
+ .BR summary ,
48
+ empty-result hints and what a list's default filters left out.
48
49
  .B primitive listen
49
50
  streams JSONL and is not covered by this rule.
50
51
  .SH LOCAL WEBHOOK EVENTS
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "primcli",
3
- "version": "3.0.0-preview.12",
3
+ "version": "3.0.0-preview.13",
4
4
  "publishConfig": {
5
5
  "tag": "preview"
6
6
  },