replicas-cli 0.3.292 → 0.3.294
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/dist/index.cjs +15 -9
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -17407,6 +17407,7 @@ var init_replicas_mcp = __esm({
|
|
|
17407
17407
|
claimSettingsOffer: "claim_settings_offer",
|
|
17408
17408
|
setThreadMuted: "set_thread_muted",
|
|
17409
17409
|
setSlackConnectMuted: "set_slack_connect_muted",
|
|
17410
|
+
setSlackConnectDefaults: "set_slack_connect_defaults",
|
|
17410
17411
|
spawnSubagent: "spawn_subagent",
|
|
17411
17412
|
messageSubagent: "message_subagent",
|
|
17412
17413
|
listSubagents: "list_subagents",
|
|
@@ -17487,7 +17488,7 @@ var init_scout = __esm({
|
|
|
17487
17488
|
SCOUT_PROACTIVITY_LEVELS = ["tagged", "conservative", "balanced", "proactive"];
|
|
17488
17489
|
SCOUT_PRESET_NAME_MAX_LENGTH = 50;
|
|
17489
17490
|
SCOUT_CHANNEL_SETTINGS_OFFERS = ["proactivity", "raise_proactivity", "instructions"];
|
|
17490
|
-
SCOUT_SETTINGS_OFFERS = [...SCOUT_CHANNEL_SETTINGS_OFFERS, "organization_proactivity"];
|
|
17491
|
+
SCOUT_SETTINGS_OFFERS = [...SCOUT_CHANNEL_SETTINGS_OFFERS, "organization_proactivity", "raise_organization_proactivity"];
|
|
17491
17492
|
SCOUT_PRESET_ICONS = [
|
|
17492
17493
|
"users",
|
|
17493
17494
|
"user",
|
|
@@ -20571,8 +20572,8 @@ var init_prompts = __esm({
|
|
|
20571
20572
|
MOTHERSHIP_INSTRUCTIONS_BLOCK = new RegExp(`\\s*<${MOTHERSHIP_INSTRUCTIONS_TAG}>\\n([\\s\\S]*?)\\n</${MOTHERSHIP_INSTRUCTIONS_TAG}>`);
|
|
20572
20573
|
SCOUT_ADAPTIVE_SETTINGS_PROMPT = `### Adapting to each channel
|
|
20573
20574
|
There is no settings page: people change how you behave by telling you, and you suggest a change when it would clearly help. The envelope carries the channel's \`proactivity\` and \`offers\`, the offers you may still make in this channel (${SCOUT_CHANNEL_SETTINGS_OFFERS.map((offer) => `\`${offer}\``).join(", ")}); \`offers=none\` means make none. Offer only what \`offers\` lists, at most one per message. Claim an offer with \`${REPLICAS_MCP_TOOLS.claimSettingsOffer}\` right before posting it, and post it only when the claim succeeds. When someone declines ("no", "it's fine", "leave it"), record it with \`declined: true\` and drop it; never repeat an ignored offer. When they accept, apply it with the settings tools using the accepting message as confirmation, then confirm what changed in one short line.
|
|
20574
|
-
- **Frustration.** When someone is clearly annoyed that you replied or acted unasked ("wtf why did replicas respond", "stop", "not you", "nobody asked", or \`event=reaction:\u2026\`, a thumbs-down or similar on a reply you posted unasked), claim \`proactivity\` and post one short apology that offers to lower this channel exactly one step. From Balanced or High, offer Low: "Sorry for jumping in. Want me to only reply here when someone mentions me by name?" From Low, offer Mentions only: "Sorry for jumping in. Want me to only reply here when someone @mentions me?" On a yes, set the level you offered, nothing lower. Do nothing else in that thread. When the claim answers \`offer: organization\`, people were frustrated in several channels, so offer
|
|
20575
|
-
- **Having to tag you.**
|
|
20575
|
+
- **Frustration.** When someone is clearly annoyed that you replied or acted unasked ("wtf why did replicas respond", "stop", "not you", "nobody asked", or \`event=reaction:\u2026\`, a thumbs-down or similar on a reply you posted unasked), claim \`proactivity\` and post one short apology that offers to lower this channel exactly one step. From Balanced or High, offer Low: "Sorry for jumping in. Want me to only reply here when someone mentions me by name?" From Low, offer Mentions only: "Sorry for jumping in. Want me to only reply here when someone @mentions me?" On a yes, set the level you offered, nothing lower. Do nothing else in that thread. When the claim answers \`offer: organization\`, people were frustrated in several channels, so offer to set every channel's default to \`organization_target\` instead; when \`requester_is_admin\` is false, say an organization admin can change it for every channel and offer this channel. A thumbs-down on a reply someone asked for is about the answer, not about speaking up, so leave it. An explicit "stop replying in this thread" is still a thread mute.
|
|
20576
|
+
- **Having to tag you.** \`prior_untagged_ignored=<ts>\` means the untagged message with that \`ts\`, just before this ping in this thread or channel, never reached you: the channel's level or the untagged check held it back. When this ping points back at it ("do the above", "^", "can you do this", "see above", a quote of it, "why didn't you pick this up") and it was a question or request for you, it was really meant for you: do what it asked, then claim \`raise_proactivity\` and end your reply with one line offering to pick up messages like that without a tag next time. Read the message first (\`conversations.replies\` in a thread, \`conversations.history\` at the top level). Make no offer when this ping is its own fresh request, or when that message was chatter or meant for someone else. Offer exactly one step up: from Mentions only, "Want me to pick up messages here that name me, without an @mention? @mention me with your answer."; from Low, "Want me to pick up requests like that here without a tag next time? I can raise this channel to Balanced."; from Balanced, "Want me to jump in on requests like that here without being asked? I can raise this channel to High." When the claim answers \`offer: organization\`, people had to tag you in several channels, so offer to raise every channel's default to \`organization_target\` instead, and say channels with their own level keep it. Mention an admin only when the claim answers \`needs_admin: true\`: then say an organization admin can make that change, and for \`offer: organization\` offer this channel instead. On a yes, raise to that level only.
|
|
20576
20577
|
- **Channel instructions.** On \`event=joined\` (you were just added to the channel; reply in that envelope's thread), or when you act in a channel for the first time, and the channel's name or purpose points to a clear role (#triage, #bugs, #incidents, #support, #customer-*, a customer's shared channel), claim \`instructions\` and offer one concrete behavior in one line, such as "This looks like an incident channel. Want me to triage new reports here, check for duplicates, and post findings in the thread?" On \`event=joined\` without a clear role, do nothing at all. Make the same kind of offer when you notice you keep handling messages here the same way, or that the channel clearly belongs to a Mothership (offer to send its actionable messages to that Mothership by name). On a yes, save it as the channel's instructions, or as its preset when one fits exactly.
|
|
20577
20578
|
- **Tip.** When the envelope has \`tip=true\`, this is the first time someone pinged you in this channel, so end the reply you post with one more line: "_Tip: tell me how you want me to act in this channel._" It is shown once per channel, so never add it otherwise.
|
|
20578
20579
|
- **Slack agent defaults.** To change the agent, model, thinking level, goal mode or fast mode used for tasks started from Slack ("use Codex for Slack tasks"), call \`${REPLICAS_MCP_TOOLS.setSlackAgentDefaults}\`; only an organization admin can.
|
|
@@ -31720,7 +31721,7 @@ var CLI_VERSION;
|
|
|
31720
31721
|
var init_cli_version = __esm({
|
|
31721
31722
|
"../shared/src/cli-version.ts"() {
|
|
31722
31723
|
"use strict";
|
|
31723
|
-
CLI_VERSION = "0.3.
|
|
31724
|
+
CLI_VERSION = "0.3.293";
|
|
31724
31725
|
}
|
|
31725
31726
|
});
|
|
31726
31727
|
|
|
@@ -31957,7 +31958,7 @@ var init_slack2 = __esm({
|
|
|
31957
31958
|
});
|
|
31958
31959
|
|
|
31959
31960
|
// ../shared/src/routes/scout.ts
|
|
31960
|
-
var SCOUT_LINEAR_ACTIONS, scoutLinearSessionIntentRequestSchema, scoutLinearStartRequestSchema, slackChannelIdSchema, slackThreadTsSchema, scoutSlackSpawnRequestSchema, scoutSlackSpawnInNewThreadRequestSchema, scoutSlackRelayRequestSchema, scoutSlackSetThreadMutedRequestSchema, scoutListWorkspacesRequestSchema, scoutSlackConfirmationSchema, scoutAutomationToolInputSchema, scoutSaveChannelPresetToolInputSchema, scoutUpdateChannelSettingsToolInputSchema, scoutSetSlackConnectMutedToolInputSchema, scoutSetOrganizationProactivityToolInputSchema, scoutDeleteChannelPresetToolInputSchema, RESET_TO_DEFAULT, resettable, scoutSetSlackAgentDefaultsToolInputSchema, scoutClaimSettingsOfferToolInputSchema;
|
|
31961
|
+
var SCOUT_LINEAR_ACTIONS, scoutLinearSessionIntentRequestSchema, scoutLinearStartRequestSchema, slackChannelIdSchema, slackThreadTsSchema, scoutSlackSpawnRequestSchema, scoutSlackSpawnInNewThreadRequestSchema, scoutSlackRelayRequestSchema, scoutSlackSetThreadMutedRequestSchema, scoutListWorkspacesRequestSchema, scoutSlackConfirmationSchema, scoutAutomationToolInputSchema, scoutSaveChannelPresetToolInputSchema, scoutUpdateChannelSettingsToolInputSchema, scoutSetSlackConnectMutedToolInputSchema, scoutSetSlackConnectDefaultsToolInputSchema, scoutSetOrganizationProactivityToolInputSchema, scoutDeleteChannelPresetToolInputSchema, RESET_TO_DEFAULT, resettable, scoutSetSlackAgentDefaultsToolInputSchema, scoutClaimSettingsOfferToolInputSchema;
|
|
31961
31962
|
var init_scout2 = __esm({
|
|
31962
31963
|
"../shared/src/routes/scout.ts"() {
|
|
31963
31964
|
"use strict";
|
|
@@ -32034,13 +32035,18 @@ var init_scout2 = __esm({
|
|
|
32034
32035
|
preset_id: external_exports.string().nullable().optional().describe("Preset to assign; `null` removes the preset. Omit to keep it."),
|
|
32035
32036
|
instructions: external_exports.string().nullable().optional().describe("Complete channel-specific instructions, applied after the preset; replaces the existing text. `null` clears them. Omit to keep them."),
|
|
32036
32037
|
proactivity: external_exports.enum([...SCOUT_PROACTIVITY_LEVELS, "organization"]).optional().describe("Slack only: this channel's or group DM's own level, overriding the organization's here alone. `organization` makes it follow the organization's level again. Omit to keep it. 1:1 DMs are always addressed to Replicas, so they take no level."),
|
|
32037
|
-
muted: external_exports.enum(["on", "off", "default"]).optional().describe(`Slack only, organization admins only: \`on\` mutes Replicas in this channel, \`off\` unmutes it here, \`default\` follows the Slack Connect default from \`${REPLICAS_MCP_TOOLS.
|
|
32038
|
+
muted: external_exports.enum(["on", "off", "default"]).optional().describe(`Slack only, organization admins only: \`on\` mutes Replicas in this channel, \`off\` unmutes it here, \`default\` follows the Slack Connect default from \`${REPLICAS_MCP_TOOLS.setSlackConnectDefaults}\`. Omit to keep it.`)
|
|
32038
32039
|
});
|
|
32039
32040
|
scoutSetSlackConnectMutedToolInputSchema = scoutSlackConfirmationSchema.extend({
|
|
32040
32041
|
muted: external_exports.boolean().describe("`true` mutes Replicas in every Slack Connect channel without its own setting; `false` lets them follow their levels again.")
|
|
32041
32042
|
});
|
|
32043
|
+
scoutSetSlackConnectDefaultsToolInputSchema = scoutSetSlackConnectMutedToolInputSchema.partial({ muted: true }).extend({
|
|
32044
|
+
preset_id: external_exports.string().optional().describe("Preset for every Slack Connect channel without its own preset or instructions; an empty string removes it. Omit to keep it."),
|
|
32045
|
+
instructions: external_exports.string().optional().describe("Complete default instructions, applied after that preset; replaces the existing text. An empty string clears them. Omit to keep them."),
|
|
32046
|
+
proactivity: external_exports.enum([...SCOUT_PROACTIVITY_LEVELS, "default"]).optional().describe("Level for every Slack Connect channel without its own level. `default` returns them to `tagged`. Omit to keep it.")
|
|
32047
|
+
});
|
|
32042
32048
|
scoutSetOrganizationProactivityToolInputSchema = scoutSlackConfirmationSchema.extend({
|
|
32043
|
-
proactivity: external_exports.enum(SCOUT_PROACTIVITY_LEVELS).describe(
|
|
32049
|
+
proactivity: external_exports.enum(SCOUT_PROACTIVITY_LEVELS).describe(`The level every Slack channel and group DM follows unless it has its own. Slack Connect channels without their own level follow the shared-channel default from \`${REPLICAS_MCP_TOOLS.setSlackConnectDefaults}\` instead.`)
|
|
32044
32050
|
});
|
|
32045
32051
|
scoutDeleteChannelPresetToolInputSchema = scoutSlackConfirmationSchema.extend({
|
|
32046
32052
|
preset_id: external_exports.string().describe(`Id of the preset to delete, from \`${REPLICAS_MCP_TOOLS.listChannelSettings}\`.`)
|
|
@@ -32056,8 +32062,8 @@ var init_scout2 = __esm({
|
|
|
32056
32062
|
});
|
|
32057
32063
|
scoutClaimSettingsOfferToolInputSchema = external_exports.object({
|
|
32058
32064
|
channel_id: slackChannelIdSchema,
|
|
32059
|
-
kind: external_exports.enum(SCOUT_SETTINGS_OFFERS).describe("`proactivity`: offering a lower level after frustration. `raise_proactivity`: offering a higher level after someone had to @mention you. `instructions`: offering channel instructions or a preset. `organization_proactivity`: offering to lower the workspace default; only decline
|
|
32060
|
-
user_id: external_exports.string().optional().describe("The envelope's `user_id`. Required for `proactivity`, so the server can say whether they are an organization admin."),
|
|
32065
|
+
kind: external_exports.enum(SCOUT_SETTINGS_OFFERS).describe("`proactivity`: offering a lower level after frustration. `raise_proactivity`: offering a higher level after someone had to @mention you. `instructions`: offering channel instructions or a preset. `organization_proactivity` and `raise_organization_proactivity`: offering to lower or raise the workspace default; only decline them, the server claims them for you."),
|
|
32066
|
+
user_id: external_exports.string().optional().describe("The envelope's `user_id`. Required for `proactivity` and `raise_proactivity`, so the server can say whether they are an organization admin."),
|
|
32061
32067
|
declined: external_exports.boolean().optional().describe("true when the person declined an offer you already made, so it is not made again.")
|
|
32062
32068
|
});
|
|
32063
32069
|
}
|