@neriros/ralphy 2.9.0 → 2.9.1

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/cli/index.js +15 -2
  2. package/package.json +1 -1
package/dist/cli/index.js CHANGED
@@ -56407,7 +56407,7 @@ function log(msg) {
56407
56407
  // package.json
56408
56408
  var package_default = {
56409
56409
  name: "@neriros/ralphy",
56410
- version: "2.9.0",
56410
+ version: "2.9.1",
56411
56411
  description: "An iterative AI task execution framework. Orchestrates multi-phase autonomous work using Claude or Codex engines.",
56412
56412
  keywords: [
56413
56413
  "agent",
@@ -70066,12 +70066,19 @@ async function fetchOpenIssues(apiKey, filter2) {
70066
70066
  state { name type }
70067
70067
  assignee { id email name }
70068
70068
  labels { nodes { name } }
70069
+ relations(first: 50) {
70070
+ nodes {
70071
+ type
70072
+ relatedIssue { id state { type } }
70073
+ }
70074
+ }
70069
70075
  }
70070
70076
  }
70071
70077
  }`;
70072
70078
  const data = await linearRequest(apiKey, query, {
70073
70079
  filter: where
70074
70080
  });
70081
+ const DONE_STATE_TYPES = new Set(["completed", "cancelled"]);
70075
70082
  return data.issues.nodes.map((n) => ({
70076
70083
  id: n.id,
70077
70084
  identifier: n.identifier,
@@ -70081,7 +70088,8 @@ async function fetchOpenIssues(apiKey, filter2) {
70081
70088
  state: n.state,
70082
70089
  assignee: n.assignee,
70083
70090
  labels: n.labels.nodes.map((l) => l.name),
70084
- priority: n.priority
70091
+ priority: n.priority,
70092
+ blockedByIds: (n.relations?.nodes ?? []).filter((r) => r.type === "blocked_by" && !DONE_STATE_TYPES.has(r.relatedIssue.state.type)).map((r) => r.relatedIssue.id)
70085
70093
  }));
70086
70094
  }
70087
70095
  async function linearRequest(apiKey, query, variables) {
@@ -70379,6 +70387,11 @@ class AgentCoordinator {
70379
70387
  continue;
70380
70388
  if (this.pendingIds.has(issue.id))
70381
70389
  continue;
70390
+ const blocker = issue.blockedByIds.find((bid) => !seen.has(bid));
70391
+ if (blocker !== undefined) {
70392
+ this.deps.onLog(` \u23F8 ${issue.identifier} skipped \u2014 blocked by unresolved dependency`, "yellow");
70393
+ continue;
70394
+ }
70382
70395
  this.queue.push(issue);
70383
70396
  added += 1;
70384
70397
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neriros/ralphy",
3
- "version": "2.9.0",
3
+ "version": "2.9.1",
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",