primcli 3.0.0-preview.2 → 3.0.0-preview.3
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 +1 -1
- package/dist/{api-command-B37DPKFA.js → api-command-DWjtyqH9.js} +52 -11
- package/dist/{json-output-BzSBR-KX.js → json-output-DWrJMakZ.js} +7 -1
- package/dist/{machine-session-g-xPd3X0.js → machine-session-BG4getHB.js} +4 -4
- package/dist/{notify-session-Bo8WgG3q.js → notify-session-8Jv4jJzI.js} +2 -2
- package/dist/oclif/auto-signal-worker.js +3 -3
- package/dist/oclif/auto-signals.js +1 -1
- package/dist/oclif/index.js +506 -90
- package/dist/oclif/proxy-auto-detect.js +1 -1
- package/dist/oclif/receiver-heal.js +2 -2
- package/dist/{repeats-Dj_o6c-X-BzXj5ICh.js → repeats-Dj_o6c-X-BKHiZsYv.js} +25 -25
- package/dist/{scoped-chat-TJlyUTi7.js → scoped-chat-_AEpylPV.js} +1 -1
- package/dist/{signal-command-BO93dM2Q.js → signal-command-CBHAR7zj.js} +4 -4
- package/man/primitive.1 +4 -3
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -261,7 +261,7 @@ primitive keys revoke <id>
|
|
|
261
261
|
|
|
262
262
|
`keys create` needs you to say what the key can do: a `--preset`, or `--permission` with the mail it reaches (`--address`, `--domain`, `--rule`, each repeatable, or `--all-mailboxes`). There is no default, and a super admin key needs `--preset super_admin`. A key never holds more than you do, and your organization's credential policy applies. `keys update` adds or removes permissions (`--add`, `--remove`) or replaces the key's email rules (`--rule`); the key keeps its id and secret. A request already held open with that key, such as a long poll or a wait, ends once when its permissions change.
|
|
263
263
|
|
|
264
|
-
Creating, rotating and changing a key
|
|
264
|
+
Creating, rotating and changing a key run directly. If your organization requires approval, the command prints the approval link, opens it where it can, and waits for the one-time token the page shows. In a script it prints the link and exits: approve, then run it again with `--step-up-token`. The new secret is printed once, alone on stdout (or in the JSON with `--json`), and the CLI never saves it, so store it right away. `keys revoke` asks for confirmation; pass `--yes` in scripts.
|
|
265
265
|
|
|
266
266
|
`primitive roles list`, `primitive roles groups`, `primitive roles mailbox-access` and `primitive roles access-mode` read roles, groups, mailbox access and the access mode. Where the server has not enabled them, they print `feature_disabled`. The built-in roles are `owner`, `admin`, `operator` and `member`. `operator` has every permission `admin` has except managing members, changing roles, sending invitations and billing. By default, owners, admins and operators may use the CLI. An organization can open it to every member by setting `cli_access` to `all_members` in its credential policy.
|
|
267
267
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $ as AutomatedFilterUnsupportedError, F as assertAwaitingFilterRows, G as WEBHOOK_EVENT_TYPES, I as awaitingRejectedError, Jt as getThread, L as ensureSearchReportsReplyState, Lt as getEmail, P as ReplyStateUnsupportedError, Pn as sdk_gen_exports, U as replyStateSurfaceForOperation, V as isAwaitingRejectedError, W as SENT_EMAIL_EVENT_TYPES, et as assertAutomatedVerdict, it as expectedAutomatedVerdicts, nt as automatedSurfaceForOperation, ot as isAutomatedRejectedError, rt as ensureSearchReportsAutomated, sn as listEndpoints, tt as automatedRejectedError, v as parseRetryAfter } from "./repeats-Dj_o6c-X-
|
|
1
|
+
import { $ as AutomatedFilterUnsupportedError, F as assertAwaitingFilterRows, G as WEBHOOK_EVENT_TYPES, I as awaitingRejectedError, Jt as getThread, L as ensureSearchReportsReplyState, Lt as getEmail, P as ReplyStateUnsupportedError, Pn as sdk_gen_exports, U as replyStateSurfaceForOperation, V as isAwaitingRejectedError, W as SENT_EMAIL_EVENT_TYPES, et as assertAutomatedVerdict, it as expectedAutomatedVerdicts, nt as automatedSurfaceForOperation, ot as isAutomatedRejectedError, rt as ensureSearchReportsAutomated, sn as listEndpoints, tt as automatedRejectedError, v as parseRetryAfter } from "./repeats-Dj_o6c-X-BKHiZsYv.js";
|
|
2
2
|
import { C as saveCliCredentials, F as agentProfilesDirectory, H as requireDefaultLoginProfile, N as agentProfileDirectory, R as loadConnectedAgentProfile, S as resolveCliAuth, W as PrimitiveApiClient, _ as deleteCliCredentials, b as loadCliCredentials, c as resolveConfigEnvironment, d as validateCliHeaderName, f as validateCliHeaderValue, i as loadCliConfig, j as AGENT_PROFILE_ENV, m as cliAccessTokenExpiresAt, p as acquireCliCredentialsLock, w as saveSignupCredentials, x as normalizeApiBaseUrl, y as detectPrimitiveKeyEnvMisname } from "./cli-config-Ms_0vNjq.js";
|
|
3
3
|
import "./oclif/global-org-flag.js";
|
|
4
4
|
import { d as readMailJson, h as writeMailJson, m as withMailLock, p as syncMailDirectory, u as privateMailPermissions } from "./shared-mail-files-BAQSGxxz.js";
|
|
@@ -2735,7 +2735,7 @@ function savedConnectedProfiles(configDir, exclude) {
|
|
|
2735
2735
|
*/
|
|
2736
2736
|
async function otherProfiles(configDir, session, current) {
|
|
2737
2737
|
if (session) try {
|
|
2738
|
-
const { connectedProfilesForSession } = await import("./machine-session-
|
|
2738
|
+
const { connectedProfilesForSession } = await import("./machine-session-BG4getHB.js").then((n) => n.s);
|
|
2739
2739
|
return {
|
|
2740
2740
|
inSession: true,
|
|
2741
2741
|
profiles: connectedProfilesForSession(configDir, session, current)
|
|
@@ -2896,6 +2896,43 @@ function collectHeaderFlags(parsedFlags, headerFlagToName) {
|
|
|
2896
2896
|
function flagDescription(parameter) {
|
|
2897
2897
|
return parameter.description ?? parameter.name;
|
|
2898
2898
|
}
|
|
2899
|
+
const EMAIL_ID_NOT_SENT = "The id of the received email (from `primitive emails list`), not a sent email id. --id is accepted too.";
|
|
2900
|
+
const OPERATION_PATH_FLAGS = {
|
|
2901
|
+
listEmailRuleResults: { id: {
|
|
2902
|
+
flag: "email-id",
|
|
2903
|
+
description: "The id of the email (from `primitive emails list`), not a rule id: lists what every rule you can see decided about this email, and why a rule did not run. --id is accepted too."
|
|
2904
|
+
} },
|
|
2905
|
+
replyToEmail: { id: {
|
|
2906
|
+
flag: "email-id",
|
|
2907
|
+
description: EMAIL_ID_NOT_SENT
|
|
2908
|
+
} },
|
|
2909
|
+
signalEmail: { id: {
|
|
2910
|
+
flag: "email-id",
|
|
2911
|
+
description: EMAIL_ID_NOT_SENT
|
|
2912
|
+
} },
|
|
2913
|
+
stopRepeatFromEmail: { id: {
|
|
2914
|
+
flag: "email-id",
|
|
2915
|
+
description: EMAIL_ID_NOT_SENT
|
|
2916
|
+
} }
|
|
2917
|
+
};
|
|
2918
|
+
/** The flag a path or query parameter is read from. */
|
|
2919
|
+
function parameterFlagName(sdkName, parameterName) {
|
|
2920
|
+
return (sdkName ? OPERATION_PATH_FLAGS[sdkName]?.[parameterName]?.flag : void 0) ?? flagName(parameterName);
|
|
2921
|
+
}
|
|
2922
|
+
/**
|
|
2923
|
+
* Paging help for a list operation whose data is an array and whose next
|
|
2924
|
+
* cursor is meta.cursor: the page cap on --limit, and where the next cursor is
|
|
2925
|
+
* printed, since the --json output of such a list is the data array alone.
|
|
2926
|
+
* The spec's own text is kept. A list that returns its cursor inside the data
|
|
2927
|
+
* (next_cursor) prints it already and is left as the spec describes it.
|
|
2928
|
+
*/
|
|
2929
|
+
function pagingFlagOverride(operation, parameter) {
|
|
2930
|
+
if (!operation.queryParams.some((p) => p.name === "cursor")) return void 0;
|
|
2931
|
+
if (operation.responseSchema?.type !== "array") return void 0;
|
|
2932
|
+
const described = flagDescription(parameter).trim().replace(/\.$/, "");
|
|
2933
|
+
if (parameter.name === "cursor") return { description: `${described}. The next page's cursor is meta.cursor, null on the last page: without --json it is printed on stderr as \`next cursor: <value>\`; with --json, add --envelope to get it, since the bare --json output is the data array alone.` };
|
|
2934
|
+
if (parameter.name === "limit" && typeof parameter.maximum === "number") return { description: `${described}.${described.includes(String(parameter.maximum)) ? "" : ` At most ${parameter.maximum} per page;`} for more, page with --cursor.`.replace(". for more", ". For more") };
|
|
2935
|
+
}
|
|
2899
2936
|
const numberFlag = Flags.custom({ async parse(input, _context, options) {
|
|
2900
2937
|
const trimmed = input.trim();
|
|
2901
2938
|
if (trimmed === "") throw new Errors.CLIError(`Expected a number but received: ${input}`);
|
|
@@ -3006,10 +3043,11 @@ function renderRequestSchemaSummary(schema) {
|
|
|
3006
3043
|
lines.push("(* = required. Scalar body fields are exposed as individual --flag-name flags; see FLAGS above.)");
|
|
3007
3044
|
return lines.join("\n");
|
|
3008
3045
|
}
|
|
3009
|
-
function flagForParameter(parameter) {
|
|
3046
|
+
function flagForParameter(parameter, override) {
|
|
3010
3047
|
const common = {
|
|
3011
|
-
description: flagDescription(parameter),
|
|
3012
|
-
required: parameter.required
|
|
3048
|
+
description: override?.description ?? flagDescription(parameter),
|
|
3049
|
+
required: parameter.required,
|
|
3050
|
+
...override?.flag ? { aliases: [flagName(parameter.name)] } : {}
|
|
3013
3051
|
};
|
|
3014
3052
|
if (parameter.type === "boolean") return Flags.boolean(common);
|
|
3015
3053
|
if (parameter.type === "integer") return Flags.integer({
|
|
@@ -3278,7 +3316,10 @@ function buildFlags(operation) {
|
|
|
3278
3316
|
flags.json = Flags.boolean({ description: "Print exactly one JSON document on stdout, on success and on failure, and nothing on stderr. Stdout keeps its usual shape: the data payload, or with --envelope the full response envelope (data plus meta, including meta.cursor, and empty-result hints in summary). The next-cursor line is not printed; use --envelope to page. A failure prints the error with exit_code. Without --json, the cursor and notices go to stderr." });
|
|
3279
3317
|
flags.envelope = Flags.boolean({ description: "Print the full response envelope, including pagination metadata such as meta.cursor. Defaults to printing only the data payload for backward compatibility." });
|
|
3280
3318
|
}
|
|
3281
|
-
for (const parameter of [...operation.pathParams, ...operation.queryParams])
|
|
3319
|
+
for (const parameter of [...operation.pathParams, ...operation.queryParams]) {
|
|
3320
|
+
const override = OPERATION_PATH_FLAGS[operation.sdkName]?.[parameter.name];
|
|
3321
|
+
flags[parameterFlagName(operation.sdkName, parameter.name)] = flagForParameter(parameter, override ?? pagingFlagOverride(operation, parameter));
|
|
3322
|
+
}
|
|
3282
3323
|
const bodyFieldFlagToProperty = /* @__PURE__ */ new Map();
|
|
3283
3324
|
if (operation.hasJsonBody) {
|
|
3284
3325
|
flags["raw-body"] = Flags.string({ description: "Full request body as raw JSON. Escape hatch for nested or complex fields (e.g. arrays); prefer per-field flags (e.g. --to, --from, --body-text) when available." });
|
|
@@ -3346,10 +3387,10 @@ async function applyEventTypesFlag(params) {
|
|
|
3346
3387
|
throw error;
|
|
3347
3388
|
}
|
|
3348
3389
|
}
|
|
3349
|
-
function collectValues(parameters, flags) {
|
|
3390
|
+
function collectValues(parameters, flags, sdkName) {
|
|
3350
3391
|
const values = {};
|
|
3351
3392
|
for (const parameter of parameters) {
|
|
3352
|
-
const value = coerceParameterValue(parameter, flags[
|
|
3393
|
+
const value = coerceParameterValue(parameter, flags[parameterFlagName(sdkName, parameter.name)]);
|
|
3353
3394
|
if (value !== void 0) values[parameter.name] = value;
|
|
3354
3395
|
}
|
|
3355
3396
|
return values;
|
|
@@ -3488,7 +3529,7 @@ function createOperationCommand(operation) {
|
|
|
3488
3529
|
});
|
|
3489
3530
|
if (operation.bodyRequired && body === void 0) throw new Errors.CLIError(`Operation ${operation.operationId} requires a body. Pass each field as a --flag (see --help) or supply JSON via --raw-body / --body-file.`);
|
|
3490
3531
|
const operationFn = sdk_gen_exports[operation.sdkName];
|
|
3491
|
-
const query = collectValues(operation.queryParams, parsedFlags);
|
|
3532
|
+
const query = collectValues(operation.queryParams, parsedFlags, operation.sdkName);
|
|
3492
3533
|
const replyStateSurface = replyStateSurfaceForOperation(operation.sdkName, query);
|
|
3493
3534
|
const automatedSurface = automatedSurfaceForOperation(operation.sdkName, query);
|
|
3494
3535
|
const fromVerified = fromVerifiedExpectation(operation.sdkName, query);
|
|
@@ -3497,7 +3538,7 @@ function createOperationCommand(operation) {
|
|
|
3497
3538
|
client: apiClient.client,
|
|
3498
3539
|
...Object.keys(headers).length > 0 ? { headers } : {},
|
|
3499
3540
|
parseAs: operation.binaryResponse ? "blob" : "auto",
|
|
3500
|
-
path: collectValues(operation.pathParams, parsedFlags),
|
|
3541
|
+
path: collectValues(operation.pathParams, parsedFlags, operation.sdkName),
|
|
3501
3542
|
query,
|
|
3502
3543
|
responseStyle: "fields"
|
|
3503
3544
|
});
|
|
@@ -3631,4 +3672,4 @@ const EMPTY_RESULT_HINTS = {
|
|
|
3631
3672
|
function canonicalizeCliReferences(description) {
|
|
3632
3673
|
return description.replaceAll("`primitive emails:latest`", "`primitive emails latest`").replaceAll("`primitive describe emails:get-email | jq '.responseSchema.properties'`", "`primitive describe emails:get | jq '.responseSchema.properties'`");
|
|
3633
3674
|
}
|
|
3634
|
-
export {
|
|
3675
|
+
export { deriveSendIdempotencyKey as $, wakeRelationship as A, ATTACHMENT_WAIT_MAX_MS as At, readEmailInteraction as B, CliOrgRefusedError as Bt, readThreadContext as C, currentMailSessionKey as Ct, skillFirstLine as D, formatAlreadySentNotice as Dt, serverRelationship as E, runtimeSessionVariableList as Et, readPendingMail as F, createCliApiClient as Ft, MAX_SEND_WAIT_TIMEOUT_MS as G, replyInteractionWarning as H, fetchCliOrgs as Ht, recordPendingMail as I, refreshStoredCliCredentials as It, assertValidIdempotencyKey as J, SEND_OUTCOME_HELP as K, removePendingMail as L, refuseOrgSelectionForProfile as Lt, clearConsumedPendingMail as M, ConnectedAgentKeyRequiredError as Mt, clearReadPendingMail as N, SAVED_CLI_OAUTH_SESSION_EXPIRED_MESSAGE as Nt, wakeReadCommand as O, withFlagSuggestion as Ot, pendingMailPath as P, createAuthenticatedCliApiClient as Pt, classifySendError as Q, interactionHumanLine as R, resolveCliApiRequestConfig as Rt, latestOwnOutbound as S, loadSkillLine as St, serverMuted as T, detectRuntimeSession as Tt, wakeInteractionSentence as U, revokeUserLogin as Ut, replyExpectation as V, credentialsFromUserLogin as Vt, IDEMPOTENCY_KEY_FLAG_DESCRIPTION as W, switchCurrentOrg as Wt, buildThrownSendFailureEnvelope as X, buildFollowUpCommand as Y, checkPriorReplies as Z, explainPendingMailNotFound as _, cliInvocation as _t, createOperationCommand as a, formatSendFailureSummary as at, displayAddress as b, generatedAgentName as bt, formatErrorPayload as c, reportSendCommandResult as ct, isGrantRefusal as d, sendWaitClampNotice as dt, excludeSignalReplies as et, parameterFlagName as f, sentHistoryWindowStart as ft, writeErrorWithHints as g, DEFAULT_ENROLL_NAME as gt, surfaceUnauthorizedHint as h, thrownErrorExitCode as ht, TIME_FLAG_DESCRIPTION as i, formatPriorRepliesWarning as it, claimPendingMail as j, withAttachmentWait as jt, wakeRecipientField as k, ATTACHMENT_WAIT_FLAG_DESCRIPTION as kt, hasControlCharacter as l, sendIdentityFields as lt, runWithTiming as m, successfulSendOutcome as mt, API_ERROR_CODES as n, formatDeletedEarlierSendNotice as nt, extractErrorCode as o, formatSendRecordFailureSummary as ot, readTextFileFlag as p, serializeErrorPayload as pt, apiResultHttpStatus as q, OPERATION_PATH_FLAGS as r, formatPriorRepliesCheckSkipped as rt, extractErrorPayload as s, priorRepliesThatWentOut as st, API_BASE_URL_FLAG_DESCRIPTION as t, followUpCommandPrefix as tt, headerFlagName as u, sendOutcomeExitCode as ut, bareAddress$1 as v, connectNextSteps as vt, sentInThread as w, detectAgentRuntime as wt, formatMailWakeLine as x, identitySuggestions as xt, describeWake as y, defaultConnectionName as yt, interactionNextActions as z, selectedOrgFromEnv as zt };
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Flags } from "@oclif/core";
|
|
1
2
|
import { format } from "node:util";
|
|
2
3
|
// src/oclif/json-output.ts
|
|
3
4
|
/**
|
|
@@ -22,6 +23,11 @@ import { format } from "node:util";
|
|
|
22
23
|
* line per result on stdout, and on failure one more JSON line carrying
|
|
23
24
|
* `error` and `exit_code`.
|
|
24
25
|
*/
|
|
26
|
+
/**
|
|
27
|
+
* The `--json` flag for a hand-rolled command whose output is already JSON.
|
|
28
|
+
* Declaring it is enough: the registry guards every command that has it.
|
|
29
|
+
*/
|
|
30
|
+
const JSON_OUTPUT_FLAG = Flags.boolean({ description: "Print exactly one JSON document on stdout, on success and on failure, and nothing on stderr. A failure prints the error with exit_code." });
|
|
25
31
|
const GUARDED = Symbol.for("primitive.cli.jsonOutputGuard");
|
|
26
32
|
/** True when `--json` appears before any `--` separator. */
|
|
27
33
|
function jsonOutputRequested(argv) {
|
|
@@ -318,4 +324,4 @@ function guardJsonOutputCommands(commands) {
|
|
|
318
324
|
if (flags && "json" in flags || enableJsonFlag === true) guardJsonOutput(command);
|
|
319
325
|
}
|
|
320
326
|
}
|
|
321
|
-
export {
|
|
327
|
+
export { runStreamingJson as i, guardJsonOutputCommands as n, jsonOutputRequested as r, JSON_OUTPUT_FLAG as t };
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { B as parseOwnerMemberAddress, F as agentProfilesDirectory, I as connectedAgentIdentity, L as connectedApiBaseUrl, M as AgentConnectionSetupError, N as agentProfileDirectory, P as agentProfileName, R as loadConnectedAgentProfile, U as saveConnectedAgentProfile, V as profileAlreadyConnectedMessage, W as PrimitiveApiClient, b as loadCliCredentials, j as AGENT_PROFILE_ENV, z as parseConnectedAgentProfile } from "./cli-config-Ms_0vNjq.js";
|
|
2
|
-
import { $t as listAgentContacts, Cn as putAgentContact, Fn as searchEmails, Lt as getEmail, Mt as getAgentContactPolicy, Nt as getContact, Qt as listAgentConnections, Rn as sendEmail, Tn as putContact, Xt as inviteAgentConnection, _n as listSentEmails, bt as deleteContact, in as listDomains, ir as __exportAll, tn as listContacts, wn as putAgentContactPolicy, yt as deleteAgentContact } from "./repeats-Dj_o6c-X-
|
|
3
|
-
import {
|
|
2
|
+
import { $t as listAgentContacts, Cn as putAgentContact, Fn as searchEmails, Lt as getEmail, Mt as getAgentContactPolicy, Nt as getContact, Qt as listAgentConnections, Rn as sendEmail, Tn as putContact, Xt as inviteAgentConnection, _n as listSentEmails, bt as deleteContact, in as listDomains, ir as __exportAll, tn as listContacts, wn as putAgentContactPolicy, yt as deleteAgentContact } from "./repeats-Dj_o6c-X-BKHiZsYv.js";
|
|
3
|
+
import { It as refreshStoredCliCredentials, Lt as refuseOrgSelectionForProfile, _t as cliInvocation, wt as detectAgentRuntime, yt as defaultConnectionName } from "./api-command-DWjtyqH9.js";
|
|
4
4
|
import { _ as acquireListenLock, b as listenLockHeld, c as mailTime, d as readMailJson, f as removeMailFile, g as ListenStateError, h as writeMailJson, i as mailId, l as privateMailDirectory, o as mailObject, p as syncMailDirectory, r as mailAddress, s as mailString } from "./shared-mail-files-BAQSGxxz.js";
|
|
5
|
-
import { S as readBundledConnectSkill, a as NotificationRetryError, d as SESSION_UUID, f as connectNativeSession, m as NativeSessionDisconnectedError, p as defaultSessionSocket, t as notificationScope, y as installConnectSkill } from "./notify-session-
|
|
5
|
+
import { S as readBundledConnectSkill, a as NotificationRetryError, d as SESSION_UUID, f as connectNativeSession, m as NativeSessionDisconnectedError, p as defaultSessionSocket, t as notificationScope, y as installConnectSkill } from "./notify-session-8Jv4jJzI.js";
|
|
6
6
|
import { l as stopBackgroundListen, r as backgroundListenStatus } from "./listen-background-C0F9gNDD.js";
|
|
7
7
|
import { t as readSharedMailOwner } from "./shared-mail-watch-BAPMsFNv.js";
|
|
8
8
|
import { withoutOrgSelection } from "./oclif/global-org-flag.js";
|
|
9
|
-
import { o as scopedChatSenderTrust } from "./scoped-chat-
|
|
9
|
+
import { o as scopedChatSenderTrust } from "./scoped-chat-_AEpylPV.js";
|
|
10
10
|
import { accessSync, chmodSync, closeSync, constants, copyFileSync, existsSync, fsyncSync, lstatSync, mkdirSync, openSync, readFileSync, readdirSync, realpathSync, renameSync, rmSync, rmdirSync, statSync, unlinkSync, writeFileSync } from "node:fs";
|
|
11
11
|
import { createHash, randomUUID } from "node:crypto";
|
|
12
12
|
import { basename, delimiter, dirname, isAbsolute, join, resolve } from "node:path";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Dt as downloadEmailAttachmentPart, J as parseWebhookEvent, K as isEmailReceivedEvent, c as classifySignalContent, q as isTrustedSender } from "./repeats-Dj_o6c-X-
|
|
2
|
-
import {
|
|
1
|
+
import { Dt as downloadEmailAttachmentPart, J as parseWebhookEvent, K as isEmailReceivedEvent, c as classifySignalContent, q as isTrustedSender } from "./repeats-Dj_o6c-X-BKHiZsYv.js";
|
|
2
|
+
import { D as skillFirstLine, O as wakeReadCommand, U as wakeInteractionSentence } from "./api-command-DWjtyqH9.js";
|
|
3
3
|
import { _ as acquireListenLock, g as ListenStateError, y as listenIdentity } from "./shared-mail-files-BAQSGxxz.js";
|
|
4
4
|
import { closeSync, copyFileSync, existsSync, fsyncSync, lstatSync, mkdirSync, openSync, opendirSync, readFileSync, readdirSync, readlinkSync, renameSync, rmSync, statSync, symlinkSync, unlinkSync, writeFileSync } from "node:fs";
|
|
5
5
|
import { createHash, randomUUID, scryptSync } from "node:crypto";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { qt as getSentEmail } from "../repeats-Dj_o6c-X-
|
|
2
|
-
import {
|
|
1
|
+
import { qt as getSentEmail } from "../repeats-Dj_o6c-X-BKHiZsYv.js";
|
|
2
|
+
import { C as readThreadContext, Pt as createAuthenticatedCliApiClient } from "../api-command-DWjtyqH9.js";
|
|
3
3
|
import { AUTO_SIGNAL_KIND_ENV, AUTO_WORKING_RENEW_MS, autoSignalsDisabled, clearWorkingSending, markWorkingSending, readAutoClaim, readWorkingLease, recordRenewer, stopWorkingLease, writeWorkingLease } from "./auto-signals.js";
|
|
4
4
|
import { _ as acquireListenLock } from "../shared-mail-files-BAQSGxxz.js";
|
|
5
|
-
import { t as sendSignal } from "../signal-command-
|
|
5
|
+
import { t as sendSignal } from "../signal-command-CBHAR7zj.js";
|
|
6
6
|
import { join } from "node:path";
|
|
7
7
|
import { homedir } from "node:os";
|
|
8
8
|
// src/oclif/auto-signal-worker.ts
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as isPlainChatReply, o as scopedChatSenderTrust } from "../scoped-chat-
|
|
1
|
+
import { n as isPlainChatReply, o as scopedChatSenderTrust } from "../scoped-chat-_AEpylPV.js";
|
|
2
2
|
import { d as readMailJson, h as writeMailJson, i as mailId, l as privateMailDirectory, r as mailAddress } from "../shared-mail-files-BAQSGxxz.js";
|
|
3
3
|
import { existsSync, readFileSync, readdirSync, unlinkSync, writeFileSync } from "node:fs";
|
|
4
4
|
import { randomUUID } from "node:crypto";
|