@neriros/ralphy 3.10.2 → 3.10.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.
Files changed (2) hide show
  1. package/dist/shell/index.js +33 -14
  2. package/package.json +3 -1
@@ -18928,8 +18928,8 @@ import { readFileSync } from "fs";
18928
18928
  import { resolve } from "path";
18929
18929
  function getVersion() {
18930
18930
  try {
18931
- if ("3.10.2")
18932
- return "3.10.2";
18931
+ if ("3.10.3")
18932
+ return "3.10.3";
18933
18933
  } catch {}
18934
18934
  const dirsToTry = [];
18935
18935
  try {
@@ -99057,12 +99057,20 @@ var init_loop_machine = __esm(() => {
99057
99057
  });
99058
99058
  });
99059
99059
 
99060
+ // packages/core/src/machines/mcp-registry.ts
99061
+ var init_mcp_registry = __esm(() => {
99062
+ init_example_machine();
99063
+ init_flow_machine();
99064
+ init_loop_machine();
99065
+ });
99066
+
99060
99067
  // packages/core/src/machines/index.ts
99061
99068
  var init_machines = __esm(() => {
99062
99069
  init_example_machine();
99063
99070
  init_flow_machine();
99064
99071
  init_flow_actor_store();
99065
99072
  init_loop_machine();
99073
+ init_mcp_registry();
99066
99074
  });
99067
99075
 
99068
99076
  // packages/core/src/tasks-md.ts
@@ -101734,7 +101742,7 @@ function findBoundaryViolations(changedFiles, patterns) {
101734
101742
  // apps/agent/src/shared/utils/ralph-comment.ts
101735
101743
  function isRalphComment(body) {
101736
101744
  const trimmed = body.trimStart();
101737
- return /^(\uD83E\uDD16|\uD83D\uDD04|\u2705|\u2717|\u26A0|\uD83D\uDD01|\uD83D\uDCCB)\s*Ralphy?\b/.test(trimmed);
101745
+ return /^(\uD83E\uDD16|\uD83D\uDD04|\u2705|\u2717|\u274C|\u26A0|\uD83D\uDD01|\uD83D\uDCCB|\u23F0)\s*Ralphy?\b/.test(trimmed);
101738
101746
  }
101739
101747
 
101740
101748
  // apps/agent/src/shared/capabilities/linear-client.ts
@@ -105580,6 +105588,10 @@ async function releaseAwaitingMarker(issue2, statePath, deps) {
105580
105588
  deps.onLog(`! persist cleared awaitingMarkerAppliedAt for ${issue2.identifier}: ${err.message}`, "yellow");
105581
105589
  }
105582
105590
  }
105591
+ function confirmationUsesCommentIndicator(cfg) {
105592
+ const { getApproved, getAutoApprove, getConfirmGate } = cfg.linear.indicators;
105593
+ return [getApproved, getAutoApprove, getConfirmGate].some((g) => g?.filter.some((m) => m.type === "comment"));
105594
+ }
105583
105595
  async function processAwaitingForIssue(issue2, deps) {
105584
105596
  try {
105585
105597
  const { cfg, apiKey, indicators } = deps;
@@ -105600,10 +105612,26 @@ async function processAwaitingForIssue(issue2, deps) {
105600
105612
  const tasks2 = await readTextOrNull(join24(changeDir, "tasks.md"));
105601
105613
  const proposal = await readTextOrNull(join24(changeDir, "proposal.md"));
105602
105614
  const design = await readTextOrNull(join24(changeDir, "design.md"));
105615
+ let commentsCache = null;
105616
+ const getComments = async () => {
105617
+ if (commentsCache)
105618
+ return commentsCache;
105619
+ if (!apiKey)
105620
+ return commentsCache = [];
105621
+ try {
105622
+ const cs = await fetchIssueComments(apiKey, issue2.id);
105623
+ commentsCache = cs.map((c) => ({ id: c.id, body: c.body, createdAt: c.createdAt }));
105624
+ } catch {
105625
+ commentsCache = [];
105626
+ }
105627
+ return commentsCache;
105628
+ };
105629
+ const commentBodies = confirmationUsesCommentIndicator(cfg) ? (await getComments()).filter((c) => !isRalphComment(c.body)).map((c) => c.body) : undefined;
105603
105630
  const ticketView = {
105604
105631
  labels: issue2.labels,
105605
105632
  state: issue2.state,
105606
- project: issue2.project
105633
+ project: issue2.project,
105634
+ ...commentBodies ? { commentBodies } : {}
105607
105635
  };
105608
105636
  const { approved: approvalMatches, confirmationGated } = computeConfirmationFlags(cfg, ticketView);
105609
105637
  const { stateObj, confirmation } = await readConfirmationState(statePath);
@@ -105675,16 +105703,7 @@ async function processAwaitingForIssue(issue2, deps) {
105675
105703
  postComments: cfg.linear.postComments !== false && Boolean(apiKey)
105676
105704
  }, {
105677
105705
  approvalMatches,
105678
- fetchComments: async () => {
105679
- if (!apiKey)
105680
- return [];
105681
- try {
105682
- const cs = await fetchIssueComments(apiKey, issue2.id);
105683
- return cs.map((c) => ({ id: c.id, body: c.body, createdAt: c.createdAt }));
105684
- } catch {
105685
- return [];
105686
- }
105687
- },
105706
+ fetchComments: getComments,
105688
105707
  ...indicators.clearApproved ? { clearApproved: indicators.clearApproved } : {},
105689
105708
  applyIndicator: (ind) => deps.applyIndicator(issue2, ind),
105690
105709
  postComment: async (body) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neriros/ralphy",
3
- "version": "3.10.2",
3
+ "version": "3.10.3",
4
4
  "description": "An iterative AI task execution framework. Orchestrates multi-phase autonomous work using Claude or Codex engines.",
5
5
  "keywords": [
6
6
  "agent",
@@ -56,6 +56,8 @@
56
56
  "check:duplicates": "bun scripts/check-duplicate-declarations.ts --diff",
57
57
  "check:duplicates:all": "bun scripts/check-duplicate-declarations.ts --all",
58
58
  "build:architecture": "bun run apps/agent/src/scripts/generate-architecture.ts",
59
+ "build:state-diagrams": "bun scripts/export-state-diagrams.ts",
60
+ "check:state-diagrams:ci": "bun scripts/export-state-diagrams.ts --check",
59
61
  "prepare": "bunx husky",
60
62
  "build:publish": "bunx nx run-many --target=build --projects=shell,mcp --output-style stream && bun run copy-assets",
61
63
  "copy-assets": "bun scripts/copy-assets.ts",