replicas-engine 0.1.996 → 0.1.998

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.
@@ -5,12 +5,12 @@ import {
5
5
  getCodexAspHost,
6
6
  restartCodexAspHost,
7
7
  restartCodexAspHostIfRunning
8
- } from "./chunk-ZGLMKA4S.js";
9
- import "./chunk-MTPAWHJM.js";
10
- import "./chunk-C52URQYI.js";
11
- import "./chunk-VLPKJ3N5.js";
8
+ } from "./chunk-2REKTW24.js";
9
+ import "./chunk-OMH263GC.js";
10
+ import "./chunk-PY5AEEQ3.js";
11
+ import "./chunk-2T44H6OX.js";
12
12
  import "./chunk-UZSNFLDQ.js";
13
- import "./chunk-M6SMVAFF.js";
13
+ import "./chunk-23ETVAOQ.js";
14
14
  import "./chunk-VEQXQN22.js";
15
15
  export {
16
16
  getCodexAspHost,
@@ -2714,6 +2714,9 @@ var REPLICAS_MCP_TOOLS = {
2714
2714
  relay: "relay_to_workspace",
2715
2715
  linearStart: "start_linear_session",
2716
2716
  linearSessionIntent: "register_linear_session_intent",
2717
+ listChannelSettings: "list_channel_settings",
2718
+ saveChannelPreset: "save_channel_preset",
2719
+ updateChannelSettings: "update_channel_settings",
2717
2720
  spawnSubagent: "spawn_subagent",
2718
2721
  messageSubagent: "message_subagent",
2719
2722
  listSubagents: "list_subagents",
@@ -7569,6 +7572,36 @@ function getGoalCommandObjectiveValidationError(message, goalMode) {
7569
7572
  return `Goal objective must be at most ${MAX_CODEX_GOAL_OBJECTIVE_CHARS} characters (${length} provided). Shorten the /goal objective, or send the extra details as a regular message after setting the goal.`;
7570
7573
  }
7571
7574
 
7575
+ // ../shared/src/mothership.ts
7576
+ var MOTHERSHIP_SOURCE_TYPES = ["slack", "linear"];
7577
+ var MOTHERSHIP_PRESET_NAME_MAX_LENGTH = 50;
7578
+ var MOTHERSHIP_PRESET_ICONS = [
7579
+ "users",
7580
+ "user",
7581
+ "inbox",
7582
+ "building",
7583
+ "bug",
7584
+ "message-circle",
7585
+ "headphones",
7586
+ "heart",
7587
+ "star",
7588
+ "flag",
7589
+ "zap",
7590
+ "shield",
7591
+ "code",
7592
+ "terminal",
7593
+ "rocket",
7594
+ "wrench",
7595
+ "briefcase",
7596
+ "globe",
7597
+ "book-open",
7598
+ "lightbulb",
7599
+ "target",
7600
+ "bell",
7601
+ "layers",
7602
+ "tag"
7603
+ ];
7604
+
7572
7605
  // ../shared/src/replicas-config.ts
7573
7606
  import { parse as parseYaml } from "yaml";
7574
7607
 
@@ -8282,12 +8315,26 @@ var mothershipSlackRelayRequestSchema = z16.object({
8282
8315
  user_id: z16.string().optional().describe("Slack user id of the follow-up's author (the envelope's `user_id`), so it is attributed to them. Defaults to the thread's original requester."),
8283
8316
  queue: z16.boolean().optional().describe("Set true only when the person explicitly asked for this to happen after the current task finishes. Delivers behind the active turn instead of interrupting it.")
8284
8317
  });
8285
- var mothershipAutomationToolInputSchema = automationToolInputSchema.extend({
8286
- confirmation_channel_id: z16.string().describe("`channel_id` from the envelope of the Slack message that accepted the offer."),
8318
+ var mothershipSlackConfirmationSchema = z16.object({
8319
+ confirmation_channel_id: z16.string().describe("`channel_id` from the envelope of the Slack message that asked for or accepted this."),
8287
8320
  confirmation_thread_ts: z16.string().describe("`thread_ts` from that message's envelope."),
8288
8321
  confirmation_message_ts: z16.string().describe("`message_ts` from that message's envelope."),
8289
8322
  confirmation_user_id: z16.string().describe("`user_id` from that message's envelope.")
8290
8323
  });
8324
+ var mothershipAutomationToolInputSchema = automationToolInputSchema.extend(mothershipSlackConfirmationSchema.shape);
8325
+ var mothershipSaveChannelPresetToolInputSchema = mothershipSlackConfirmationSchema.extend({
8326
+ preset_id: z16.string().optional().describe(`Id of the preset to update, from \`${REPLICAS_MCP_TOOLS.listChannelSettings}\`. Omit to create a new preset.`),
8327
+ name: z16.string().trim().min(1).max(MOTHERSHIP_PRESET_NAME_MAX_LENGTH).optional().describe("Preset name. Required when creating."),
8328
+ description: z16.string().optional().describe("One-line summary shown in settings."),
8329
+ icon: z16.enum(MOTHERSHIP_PRESET_ICONS).optional(),
8330
+ instructions: z16.string().optional().describe("Complete preset instructions; replaces the existing text. Required when creating.")
8331
+ });
8332
+ var mothershipUpdateChannelSettingsToolInputSchema = mothershipSlackConfirmationSchema.extend({
8333
+ source: z16.enum(MOTHERSHIP_SOURCE_TYPES).optional().describe("Defaults to `slack`."),
8334
+ external_id: z16.string().describe(`Slack channel id or Linear team id of an already monitored source, from \`${REPLICAS_MCP_TOOLS.listChannelSettings}\`.`),
8335
+ preset_id: z16.string().nullable().optional().describe("Preset to assign; `null` removes the preset. Omit to keep it."),
8336
+ instructions: z16.string().nullable().optional().describe("Complete channel-specific instructions, applied after the preset; replaces the existing text. `null` clears them. Omit to keep them.")
8337
+ });
8291
8338
 
8292
8339
  // ../shared/src/routes/plugin-catalog.ts
8293
8340
  var EXPLICIT_PLUGIN_CATALOG = [
@@ -5,15 +5,15 @@ import {
5
5
  ENGINE_ENV,
6
6
  monolithRequest,
7
7
  setAgentCredentialSnapshot
8
- } from "./chunk-MTPAWHJM.js";
8
+ } from "./chunk-OMH263GC.js";
9
9
  import {
10
10
  AppServerProcess,
11
11
  buildCodexAgentEnv
12
- } from "./chunk-C52URQYI.js";
12
+ } from "./chunk-PY5AEEQ3.js";
13
13
  import {
14
14
  SUBPROCESS_MAX_BUFFER,
15
15
  execFileAsync
16
- } from "./chunk-VLPKJ3N5.js";
16
+ } from "./chunk-2T44H6OX.js";
17
17
  import {
18
18
  isRecord
19
19
  } from "./chunk-UZSNFLDQ.js";
@@ -28,7 +28,7 @@ import {
28
28
  listOpenAICompatibleModels,
29
29
  readOllamaAuthEnv,
30
30
  resolveOpenAICompatibleModelsUrl
31
- } from "./chunk-M6SMVAFF.js";
31
+ } from "./chunk-23ETVAOQ.js";
32
32
 
33
33
  // src/managers/codex-token-manager.ts
34
34
  import { promises as fs } from "fs";
@@ -264,7 +264,7 @@ var CodexTokenManager = class extends BaseRefreshManager {
264
264
  await this.applyCredentialUpdate(++this.credentialGeneration, async () => {
265
265
  await this.applyCredentialsResponse(data);
266
266
  setAgentCredentialSnapshot("codex", data);
267
- const { restartCodexAspHostIfRunning: restartCodexAspHostIfRunning2 } = await import("./asp-host-PLXTCYPP.js");
267
+ const { restartCodexAspHostIfRunning: restartCodexAspHostIfRunning2 } = await import("./asp-host-I3NXF25H.js");
268
268
  await restartCodexAspHostIfRunning2();
269
269
  });
270
270
  await this.start(true);
@@ -285,7 +285,7 @@ var CodexTokenManager = class extends BaseRefreshManager {
285
285
  const accountChanged = ENGINE_ENV.REPLICAS_AGENT_CREDENTIALS.codex?.credentialId !== data.credentialId;
286
286
  await this.applyCredentialsResponse(data);
287
287
  if (restartOnChange && (accountChanged || CODEX_AUTH_ENV_KEYS.some((key, index) => process.env[key] !== previousEnv[index]))) {
288
- const { restartCodexAspHostIfRunning: restartCodexAspHostIfRunning2 } = await import("./asp-host-PLXTCYPP.js");
288
+ const { restartCodexAspHostIfRunning: restartCodexAspHostIfRunning2 } = await import("./asp-host-I3NXF25H.js");
289
289
  await restartCodexAspHostIfRunning2();
290
290
  }
291
291
  setAgentCredentialSnapshot("codex", data);
@@ -3,7 +3,7 @@ import { createRequire as __createRequire } from 'node:module';
3
3
  const require = __createRequire(import.meta.url);
4
4
  import {
5
5
  HOOK_EXEC_MAX_BUFFER_BYTES
6
- } from "./chunk-M6SMVAFF.js";
6
+ } from "./chunk-23ETVAOQ.js";
7
7
 
8
8
  // src/utils/exec.ts
9
9
  import { exec, execFile } from "child_process";
@@ -3,18 +3,18 @@ import { createRequire as __createRequire } from 'node:module';
3
3
  const require = __createRequire(import.meta.url);
4
4
  import {
5
5
  monolithRequest
6
- } from "./chunk-MTPAWHJM.js";
6
+ } from "./chunk-OMH263GC.js";
7
7
  import {
8
8
  SUBPROCESS_MAX_BUFFER,
9
9
  execFileAsync
10
- } from "./chunk-VLPKJ3N5.js";
10
+ } from "./chunk-2T44H6OX.js";
11
11
  import {
12
12
  extractCommandProtectionCommandText,
13
13
  findCommandProtectionGitLookups,
14
14
  findGitCommitSignals,
15
15
  findPrMergeSignals,
16
16
  parseCommandProtectionRequest
17
- } from "./chunk-M6SMVAFF.js";
17
+ } from "./chunk-23ETVAOQ.js";
18
18
 
19
19
  // src/services/command-protection-service.ts
20
20
  import { readFile, stat } from "fs/promises";
@@ -14,7 +14,7 @@ import {
14
14
  isValidAgentProvider,
15
15
  parsePosixEnvFile,
16
16
  readReplicasRuntimeEnv
17
- } from "./chunk-M6SMVAFF.js";
17
+ } from "./chunk-23ETVAOQ.js";
18
18
 
19
19
  // src/runtime-env-loader.ts
20
20
  import { readFileSync } from "fs";
@@ -3,10 +3,10 @@ import { createRequire as __createRequire } from 'node:module';
3
3
  const require = __createRequire(import.meta.url);
4
4
  import {
5
5
  execFileAsync
6
- } from "./chunk-VLPKJ3N5.js";
6
+ } from "./chunk-2T44H6OX.js";
7
7
  import {
8
8
  isVersionBelow
9
- } from "./chunk-M6SMVAFF.js";
9
+ } from "./chunk-23ETVAOQ.js";
10
10
 
11
11
  // src/utils/codex-agent-env.ts
12
12
  function buildCodexAgentEnv(source = process.env) {
@@ -240,7 +240,7 @@ function getCodexModelProvider(method) {
240
240
  if (method === "foundry") return "azure";
241
241
  return method === "ollama" || method === "openai-compatible" ? "replicas_openai_compatible" : "openai";
242
242
  }
243
- var ENGINE_PACKAGE_VERSION = "0.1.996";
243
+ var ENGINE_PACKAGE_VERSION = "0.1.998";
244
244
  var INITIALIZE_METHOD = "initialize";
245
245
  var INITIALIZED_NOTIFICATION = "initialized";
246
246
  var ACCOUNT_LOGIN_START_METHOD = "account/login/start";
@@ -5,7 +5,7 @@ import {
5
5
  extractCommandProtectionCommandText,
6
6
  isRecord,
7
7
  parseCodeHostPrUrl
8
- } from "./chunk-M6SMVAFF.js";
8
+ } from "./chunk-23ETVAOQ.js";
9
9
 
10
10
  // src/services/published-pull-request-urls.ts
11
11
  function publishedPullRequestUrls(result) {
@@ -3,13 +3,13 @@ import { createRequire as __createRequire } from 'node:module';
3
3
  const require = __createRequire(import.meta.url);
4
4
  import {
5
5
  evaluateCommandProtection
6
- } from "./chunk-5VRW4J5P.js";
7
- import "./chunk-MTPAWHJM.js";
8
- import "./chunk-VLPKJ3N5.js";
6
+ } from "./chunk-F5KDHXJO.js";
7
+ import "./chunk-OMH263GC.js";
8
+ import "./chunk-2T44H6OX.js";
9
9
  import {
10
10
  isRecord
11
11
  } from "./chunk-UZSNFLDQ.js";
12
- import "./chunk-M6SMVAFF.js";
12
+ import "./chunk-23ETVAOQ.js";
13
13
  import "./chunk-VEQXQN22.js";
14
14
 
15
15
  // src/command-protection-hook.ts
@@ -7,12 +7,12 @@ import {
7
7
  import {
8
8
  AppServerProcess,
9
9
  buildCodexAgentEnv
10
- } from "./chunk-C52URQYI.js";
11
- import "./chunk-VLPKJ3N5.js";
10
+ } from "./chunk-PY5AEEQ3.js";
11
+ import "./chunk-2T44H6OX.js";
12
12
  import {
13
13
  AGENT,
14
14
  headlessAgentRequestSchema
15
- } from "./chunk-M6SMVAFF.js";
15
+ } from "./chunk-23ETVAOQ.js";
16
16
  import "./chunk-VEQXQN22.js";
17
17
 
18
18
  // src/headless-agent.ts
package/dist/src/index.js CHANGED
@@ -32,7 +32,7 @@ import {
32
32
  reportCommandProtectionBlock,
33
33
  resolveDiffBase,
34
34
  runGitCommand
35
- } from "./chunk-5VRW4J5P.js";
35
+ } from "./chunk-F5KDHXJO.js";
36
36
  import {
37
37
  ACCOUNT_RATE_LIMITS_UPDATED_METHOD,
38
38
  AGENT_MESSAGE_DELTA_METHOD,
@@ -57,7 +57,7 @@ import {
57
57
  } from "./chunk-P73LGPQO.js";
58
58
  import {
59
59
  publishedPullRequestUrls
60
- } from "./chunk-T4CMSGMR.js";
60
+ } from "./chunk-ZZTR4I2H.js";
61
61
  import {
62
62
  BaseRefreshManager,
63
63
  CodexAspAuthMethodChangedError,
@@ -71,7 +71,7 @@ import {
71
71
  refreshDelayMs,
72
72
  restartCodexAspHost,
73
73
  routineRefreshRequest
74
- } from "./chunk-ZGLMKA4S.js";
74
+ } from "./chunk-2REKTW24.js";
75
75
  import {
76
76
  ENGINE_ENV,
77
77
  monolithRequest,
@@ -79,16 +79,16 @@ import {
79
79
  readRuntimeEnvFile,
80
80
  reloadEngineEnv,
81
81
  setAgentCredentialSnapshot
82
- } from "./chunk-MTPAWHJM.js";
82
+ } from "./chunk-OMH263GC.js";
83
83
  import {
84
84
  AspClient,
85
85
  getCodexModelProvider
86
- } from "./chunk-C52URQYI.js";
86
+ } from "./chunk-PY5AEEQ3.js";
87
87
  import {
88
88
  SUBPROCESS_MAX_BUFFER,
89
89
  execAsync,
90
90
  execFileAsync
91
- } from "./chunk-VLPKJ3N5.js";
91
+ } from "./chunk-2T44H6OX.js";
92
92
  import {
93
93
  isRecord as isRecord2
94
94
  } from "./chunk-UZSNFLDQ.js";
@@ -316,7 +316,7 @@ import {
316
316
  workspaceCredentialProviderSchema,
317
317
  workspaceTokenRequestSchema,
318
318
  workspaceTokenResponseSchema
319
- } from "./chunk-M6SMVAFF.js";
319
+ } from "./chunk-23ETVAOQ.js";
320
320
  import {
321
321
  cloneMcpConfig,
322
322
  ensureCompatibilityImports,
@@ -3,13 +3,13 @@ import { createRequire as __createRequire } from 'node:module';
3
3
  const require = __createRequire(import.meta.url);
4
4
  import {
5
5
  publishedPullRequestUrls
6
- } from "./chunk-T4CMSGMR.js";
6
+ } from "./chunk-ZZTR4I2H.js";
7
7
  import {
8
8
  isRecord
9
9
  } from "./chunk-UZSNFLDQ.js";
10
10
  import {
11
11
  shouldRefreshPullRequests
12
- } from "./chunk-M6SMVAFF.js";
12
+ } from "./chunk-23ETVAOQ.js";
13
13
  import "./chunk-VEQXQN22.js";
14
14
 
15
15
  // src/services/post-tool-pr-notifier.ts
@@ -9,7 +9,7 @@ import {
9
9
  spawnSubagentRequestSchema,
10
10
  subagentResponseSchema,
11
11
  waitSubagentRequestSchema
12
- } from "./chunk-M6SMVAFF.js";
12
+ } from "./chunk-23ETVAOQ.js";
13
13
  import "./chunk-VEQXQN22.js";
14
14
 
15
15
  // src/subagent-mcp.ts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "replicas-engine",
3
- "version": "0.1.996",
3
+ "version": "0.1.998",
4
4
  "description": "Lightweight API server for Replicas workspaces",
5
5
  "type": "module",
6
6
  "main": "dist/src/index.js",