replicas-engine 0.1.974 → 0.1.975

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-BXCLRUIK.js";
9
- import "./chunk-HLLDPEDK.js";
10
- import "./chunk-FEOJV72E.js";
11
- import "./chunk-D4BDGH53.js";
8
+ } from "./chunk-DQFGKWE5.js";
9
+ import "./chunk-TCG5OMQH.js";
10
+ import "./chunk-ZOOJP2HJ.js";
11
+ import "./chunk-X5MYHFWW.js";
12
12
  import "./chunk-UZSNFLDQ.js";
13
- import "./chunk-32UPBL5I.js";
13
+ import "./chunk-NTM575B4.js";
14
14
  import "./chunk-VEQXQN22.js";
15
15
  export {
16
16
  getCodexAspHost,
@@ -5,15 +5,15 @@ import {
5
5
  ENGINE_ENV,
6
6
  monolithRequest,
7
7
  setAgentCredentialSnapshot
8
- } from "./chunk-HLLDPEDK.js";
8
+ } from "./chunk-TCG5OMQH.js";
9
9
  import {
10
10
  AppServerProcess,
11
11
  buildCodexAgentEnv
12
- } from "./chunk-FEOJV72E.js";
12
+ } from "./chunk-ZOOJP2HJ.js";
13
13
  import {
14
14
  SUBPROCESS_MAX_BUFFER,
15
15
  execFileAsync
16
- } from "./chunk-D4BDGH53.js";
16
+ } from "./chunk-X5MYHFWW.js";
17
17
  import {
18
18
  isRecord
19
19
  } from "./chunk-UZSNFLDQ.js";
@@ -27,7 +27,7 @@ import {
27
27
  listOpenAICompatibleModels,
28
28
  readOllamaAuthEnv,
29
29
  resolveOpenAICompatibleModelsUrl
30
- } from "./chunk-32UPBL5I.js";
30
+ } from "./chunk-NTM575B4.js";
31
31
 
32
32
  // src/managers/codex-token-manager.ts
33
33
  import { promises as fs } from "fs";
@@ -260,7 +260,7 @@ var CodexTokenManager = class extends BaseRefreshManager {
260
260
  await this.applyCredentialUpdate(++this.credentialGeneration, async () => {
261
261
  await this.applyCredentialsResponse(data);
262
262
  setAgentCredentialSnapshot("codex", data);
263
- const { restartCodexAspHostIfRunning: restartCodexAspHostIfRunning2 } = await import("./asp-host-QVTM4VFE.js");
263
+ const { restartCodexAspHostIfRunning: restartCodexAspHostIfRunning2 } = await import("./asp-host-SJQEEEQS.js");
264
264
  await restartCodexAspHostIfRunning2();
265
265
  });
266
266
  await this.start(true);
@@ -280,7 +280,7 @@ var CodexTokenManager = class extends BaseRefreshManager {
280
280
  await this.applyCredentialUpdate(generation, async () => {
281
281
  await this.applyCredentialsResponse(data);
282
282
  if (restartOnChange && CODEX_AUTH_ENV_KEYS.some((key, index) => process.env[key] !== previousEnv[index])) {
283
- const { restartCodexAspHostIfRunning: restartCodexAspHostIfRunning2 } = await import("./asp-host-QVTM4VFE.js");
283
+ const { restartCodexAspHostIfRunning: restartCodexAspHostIfRunning2 } = await import("./asp-host-SJQEEEQS.js");
284
284
  await restartCodexAspHostIfRunning2();
285
285
  }
286
286
  setAgentCredentialSnapshot("codex", data);
@@ -5,7 +5,7 @@ import {
5
5
  extractCommandProtectionCommandText,
6
6
  isRecord,
7
7
  parseCodeHostPrUrl
8
- } from "./chunk-32UPBL5I.js";
8
+ } from "./chunk-NTM575B4.js";
9
9
 
10
10
  // src/services/published-pull-request-urls.ts
11
11
  function publishedPullRequestUrls(result) {
@@ -4323,6 +4323,7 @@ Take action *with* Replicas itself \u2014 manage automations, environments (vari
4323
4323
 
4324
4324
  Use this when:
4325
4325
  - The user asks you to create, edit, run, or delete an automation
4326
+ - The user asks you to come back to something later ("check back on this in a week", "remind me tomorrow", "tell me when CI is green") \u2014 schedule a follow-up (see *Follow-ups and reminders*)
4326
4327
  - The user asks you to manage environments, environment variables, or environment files
4327
4328
  - The user asks "what envs / repos / automations do I have?"
4328
4329
  - The user asks you to scaffold a \`replicas.json\` / \`replicas.yaml\` in a repo
@@ -4383,6 +4384,7 @@ In agent mode the CLI hides commands that don't make sense for in-workspace agen
4383
4384
  | "Create a new env for my \`acme/web\` repo" | \`replicas environment create <name> -r acme/web\` |
4384
4385
  | "What automations do I have?" | \`replicas automation list\` |
4385
4386
  | "Run my nightly automation now" | \`replicas automation run <id>\` |
4387
+ | "Check back on this in a week" | \`replicas automation create ... --in 1w --background --personal\` |
4386
4388
  | "Make an automation that runs every weekday at 9am" | \`replicas automation create\` (interactive) or \`--trigger-cron "0 9 * * 1-5"\` |
4387
4389
  | "Make an automation that runs when a PR opens on \`acme/web\`" | \`replicas automation create ... --trigger-github pull_request.opened --trigger-github-repos acme/web\` |
4388
4390
  | "Make an automation that runs when an MR opens on \`acme/web\`" | \`replicas automation create ... --trigger-gitlab merge_request.opened --trigger-gitlab-repos acme/web\` |
@@ -4494,6 +4496,26 @@ replicas automation create ... --lifecycle default --auto-stop-minutes 30
4494
4496
 
4495
4497
  When the user says "make me an automation that...", default to **picking the environment for them by listing the available envs** and asking only when the user hasn't already pinned one. Same for repos in GitHub triggers. Don't pepper the user with questions you can answer by reading the existing config.
4496
4498
 
4499
+ ### Follow-ups and reminders
4500
+
4501
+ You cannot wait days yourself. When the user asks you to come back to something later, schedule a one-time automation that delivers a prompt back into **this workspace's conversation** at that time, then deletes itself:
4502
+
4503
+ \`\`\`bash
4504
+ replicas automation create "Re-check PR #142 CI" \\
4505
+ --in 1w \\
4506
+ --background --personal \\
4507
+ --prompt "A week ago the user asked me to re-check CI on https://github.com/acme/web/pull/142 (flaky e2e job 'checkout'). Check the latest run, fix it if it is still failing, and summarize the result for the user."
4508
+ \`\`\`
4509
+
4510
+ - \`--in <duration>\` (\`30m\`, \`2h\`, \`3d\`, \`1w\`, \`1d12h\`) or \`--at <ISO-8601 with offset>\` (e.g. "tomorrow at 9am" \u2192 \`--at 2026-10-08T09:00:00-07:00\`, using the user's timezone if you know it; otherwise say which timezone you assumed).
4511
+ - Inside a workspace, one-time follow-ups default to \`--workspace current\`, so you resume with this conversation's context. Inside a workspace, \`--environment\` defaults to this workspace's environment (same repositories), including for \`--workspace new\` and \`reuse\`.
4512
+ - Write \`--prompt\` as instructions to your future self: the links, what to check, what "done" looks like, and how to report back (e.g. reply in the original Slack thread). It runs with no memory of why it was scheduled beyond what you write.
4513
+ - \`--background\` keeps offhand reminders out of the user's main automations list (they are still visible under **Background**). Omit it for things the user should see and manage, such as ongoing monitoring they asked for.
4514
+ - \`--personal\` makes the automation the user's own. Omit it only when the follow-up belongs to the organization.
4515
+ - Recurring with an end: \`--trigger-cron "0 9 * * *" --max-runs 5 --workspace current\` runs daily five times, then deletes itself. \`--workspace reuse\` creates one new workspace on the first run and sends every later run to it; \`--workspace new\` (the default for non-one-time automations) creates a fresh workspace per run.
4516
+ - Only schedule when the user asked for a follow-up or clearly agreed to one; not for "maybe I'll look at this later".
4517
+ - Confirm using the **Next Run** time the CLI prints, not your own arithmetic. Cancel with \`replicas automation delete <id> --force\`; find them with \`replicas automation list --background true\`.
4518
+
4497
4519
  ### Edit
4498
4520
 
4499
4521
  \`\`\`bash
@@ -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-HLLDPEDK.js";
6
+ } from "./chunk-TCG5OMQH.js";
7
7
  import {
8
8
  SUBPROCESS_MAX_BUFFER,
9
9
  execFileAsync
10
- } from "./chunk-D4BDGH53.js";
10
+ } from "./chunk-X5MYHFWW.js";
11
11
  import {
12
12
  extractCommandProtectionCommandText,
13
13
  findCommandProtectionGitLookups,
14
14
  findGitCommitSignals,
15
15
  findPrMergeSignals,
16
16
  parseCommandProtectionRequest
17
- } from "./chunk-32UPBL5I.js";
17
+ } from "./chunk-NTM575B4.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-32UPBL5I.js";
17
+ } from "./chunk-NTM575B4.js";
18
18
 
19
19
  // src/runtime-env-loader.ts
20
20
  import { readFileSync } from "fs";
@@ -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-32UPBL5I.js";
6
+ } from "./chunk-NTM575B4.js";
7
7
 
8
8
  // src/utils/exec.ts
9
9
  import { exec, execFile } from "child_process";
@@ -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-D4BDGH53.js";
6
+ } from "./chunk-X5MYHFWW.js";
7
7
  import {
8
8
  isVersionBelow
9
- } from "./chunk-32UPBL5I.js";
9
+ } from "./chunk-NTM575B4.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.974";
243
+ var ENGINE_PACKAGE_VERSION = "0.1.975";
244
244
  var INITIALIZE_METHOD = "initialize";
245
245
  var INITIALIZED_NOTIFICATION = "initialized";
246
246
  var ACCOUNT_LOGIN_START_METHOD = "account/login/start";
@@ -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-ETEMP3CF.js";
7
- import "./chunk-HLLDPEDK.js";
8
- import "./chunk-D4BDGH53.js";
6
+ } from "./chunk-OXFR4PCR.js";
7
+ import "./chunk-TCG5OMQH.js";
8
+ import "./chunk-X5MYHFWW.js";
9
9
  import {
10
10
  isRecord
11
11
  } from "./chunk-UZSNFLDQ.js";
12
- import "./chunk-32UPBL5I.js";
12
+ import "./chunk-NTM575B4.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-FEOJV72E.js";
11
- import "./chunk-D4BDGH53.js";
10
+ } from "./chunk-ZOOJP2HJ.js";
11
+ import "./chunk-X5MYHFWW.js";
12
12
  import {
13
13
  AGENT,
14
14
  headlessAgentRequestSchema
15
- } from "./chunk-32UPBL5I.js";
15
+ } from "./chunk-NTM575B4.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-ETEMP3CF.js";
35
+ } from "./chunk-OXFR4PCR.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-AWKW6SD6.js";
60
+ } from "./chunk-DTKUVZ6U.js";
61
61
  import {
62
62
  BaseRefreshManager,
63
63
  CodexAspAuthMethodChangedError,
@@ -72,7 +72,7 @@ import {
72
72
  refreshDelayMs,
73
73
  restartCodexAspHost,
74
74
  routineRefreshExclusions
75
- } from "./chunk-BXCLRUIK.js";
75
+ } from "./chunk-DQFGKWE5.js";
76
76
  import {
77
77
  ENGINE_ENV,
78
78
  monolithRequest,
@@ -80,16 +80,16 @@ import {
80
80
  readRuntimeEnvFile,
81
81
  reloadEngineEnv,
82
82
  setAgentCredentialSnapshot
83
- } from "./chunk-HLLDPEDK.js";
83
+ } from "./chunk-TCG5OMQH.js";
84
84
  import {
85
85
  AspClient,
86
86
  getCodexModelProvider
87
- } from "./chunk-FEOJV72E.js";
87
+ } from "./chunk-ZOOJP2HJ.js";
88
88
  import {
89
89
  SUBPROCESS_MAX_BUFFER,
90
90
  execAsync,
91
91
  execFileAsync
92
- } from "./chunk-D4BDGH53.js";
92
+ } from "./chunk-X5MYHFWW.js";
93
93
  import {
94
94
  isRecord as isRecord2
95
95
  } from "./chunk-UZSNFLDQ.js";
@@ -310,7 +310,7 @@ import {
310
310
  workspaceCredentialProviderSchema,
311
311
  workspaceTokenRequestSchema,
312
312
  workspaceTokenResponseSchema
313
- } from "./chunk-32UPBL5I.js";
313
+ } from "./chunk-NTM575B4.js";
314
314
  import {
315
315
  cloneMcpConfig,
316
316
  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-AWKW6SD6.js";
6
+ } from "./chunk-DTKUVZ6U.js";
7
7
  import {
8
8
  isRecord
9
9
  } from "./chunk-UZSNFLDQ.js";
10
10
  import {
11
11
  shouldRefreshPullRequests
12
- } from "./chunk-32UPBL5I.js";
12
+ } from "./chunk-NTM575B4.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-32UPBL5I.js";
12
+ } from "./chunk-NTM575B4.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.974",
3
+ "version": "0.1.975",
4
4
  "description": "Lightweight API server for Replicas workspaces",
5
5
  "type": "module",
6
6
  "main": "dist/src/index.js",