@renseiai/agentfactory-cli 0.8.8 → 0.8.9

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.
@@ -1 +1 @@
1
- {"version":3,"file":"worker-runner.d.ts","sourceRoot":"","sources":["../../../src/lib/worker-runner.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAyBH,MAAM,WAAW,kBAAkB;IACjC,0BAA0B;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,iCAAiC;IACjC,MAAM,EAAE,MAAM,CAAA;IACd,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,mDAAmD;IACnD,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,gFAAgF;IAChF,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CACpB;AAyED;;;;;GAKG;AACH,wBAAsB,SAAS,CAC7B,MAAM,EAAE,kBAAkB,EAC1B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC,CA89Bf"}
1
+ {"version":3,"file":"worker-runner.d.ts","sourceRoot":"","sources":["../../../src/lib/worker-runner.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAyBH,MAAM,WAAW,kBAAkB;IACjC,0BAA0B;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,iCAAiC;IACjC,MAAM,EAAE,MAAM,CAAA;IACd,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,mDAAmD;IACnD,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,gFAAgF;IAChF,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CACpB;AA4ED;;;;;GAKG;AACH,wBAAsB,SAAS,CAC7B,MAAM,EAAE,kBAAkB,EAC1B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC,CAi/Bf"}
@@ -245,7 +245,7 @@ export async function runWorker(config, signal) {
245
245
  if (result.data) {
246
246
  consecutiveHeartbeatFailures = 0;
247
247
  if (claimFailureCount > 0) {
248
- log.info('Claim race summary since last heartbeat', { claimFailures: claimFailureCount });
248
+ log.debug('Claim race summary since last heartbeat', { claimFailures: claimFailureCount });
249
249
  claimFailureCount = 0;
250
250
  }
251
251
  log.debug('Heartbeat acknowledged', {
@@ -682,10 +682,27 @@ export async function runWorker(config, signal) {
682
682
  log.info(`Found ${pollResult.work.length} work item(s)`, {
683
683
  activeCount,
684
684
  availableCapacity,
685
+ preClaimed: pollResult.preClaimed ?? false,
685
686
  });
686
687
  for (const item of pollResult.work.slice(0, availableCapacity)) {
687
688
  if (!running)
688
689
  break;
690
+ // Server-side claiming: items are already claimed during poll
691
+ if (pollResult.preClaimed) {
692
+ log.status('claimed', item.issueIdentifier);
693
+ if (workerConfig.dryRun) {
694
+ log.info(`[DRY RUN] Would execute: ${item.issueIdentifier}`);
695
+ }
696
+ else {
697
+ executeWork(item).catch((error) => {
698
+ log.error('Background work execution failed', {
699
+ error: error instanceof Error ? error.message : String(error),
700
+ });
701
+ });
702
+ }
703
+ continue;
704
+ }
705
+ // Legacy client-side claiming (fallback for older servers)
689
706
  const claimResult = await claimWork(item.sessionId);
690
707
  if (claimResult?.claimed) {
691
708
  log.status('claimed', item.issueIdentifier);
@@ -806,8 +823,9 @@ export async function runWorker(config, signal) {
806
823
  error: error instanceof Error ? error.message : String(error),
807
824
  });
808
825
  }
809
- // Wait before next poll
810
- await new Promise((resolve) => setTimeout(resolve, registration.pollInterval));
826
+ // Wait before next poll (with jitter to desynchronize workers)
827
+ const jitter = Math.floor(Math.random() * registration.pollInterval * 0.4);
828
+ await new Promise((resolve) => setTimeout(resolve, registration.pollInterval + jitter));
811
829
  }
812
830
  }
813
831
  finally {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@renseiai/agentfactory-cli",
3
- "version": "0.8.8",
3
+ "version": "0.8.9",
4
4
  "type": "module",
5
5
  "description": "CLI tools for AgentFactory — local orchestrator, remote worker, queue admin",
6
6
  "author": "Rensei AI (https://rensei.ai)",
@@ -107,10 +107,10 @@
107
107
  ],
108
108
  "dependencies": {
109
109
  "dotenv": "^17.2.3",
110
- "@renseiai/agentfactory-code-intelligence": "0.8.8",
111
- "@renseiai/plugin-linear": "0.8.8",
112
- "@renseiai/agentfactory": "0.8.8",
113
- "@renseiai/agentfactory-server": "0.8.8"
110
+ "@renseiai/agentfactory": "0.8.9",
111
+ "@renseiai/plugin-linear": "0.8.9",
112
+ "@renseiai/agentfactory-server": "0.8.9",
113
+ "@renseiai/agentfactory-code-intelligence": "0.8.9"
114
114
  },
115
115
  "devDependencies": {
116
116
  "@types/node": "^22.5.4",