agenr 0.8.32 → 0.8.34

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.8.34] - 2026-02-24
4
+
5
+ ### Fixed
6
+ - rebuild dist - --force flag missing from 0.8.33 artifact (stale build)
7
+
8
+ ## [0.8.33] - 2026-02-24
9
+
10
+ ### Fixed
11
+ - retire --force flag skips confirmation prompts for programmatic retirement (#225)
12
+ - runRetireTool now passes --force so high-importance handoff entries (imp >= 8) are properly retired (#225)
13
+
3
14
  ## [0.8.32] - 2026-02-24
4
15
 
5
16
  ### Fixed
package/dist/cli-main.js CHANGED
@@ -16557,22 +16557,24 @@ async function runRetireCommand(subject, options, deps) {
16557
16557
  clack7.outro(void 0, clackOutput);
16558
16558
  return { exitCode: 0 };
16559
16559
  }
16560
- const requiresGuardrail = candidates.some((candidate) => candidate.importance >= 8);
16561
- let confirmed = false;
16562
- if (requiresGuardrail) {
16563
- const typed = await resolvedDeps.textInputFn("Type CONFIRM to retire high-importance entries");
16564
- confirmed = typed === "CONFIRM";
16565
- if (!confirmed) {
16566
- clack7.log.warn("Retirement canceled.", clackOutput);
16567
- clack7.outro(void 0, clackOutput);
16568
- return { exitCode: 1 };
16569
- }
16570
- } else {
16571
- confirmed = await resolvedDeps.confirmFn(`Retire ${candidates.length} matching entr${candidates.length === 1 ? "y" : "ies"}?`);
16572
- if (!confirmed) {
16573
- clack7.log.warn("Retirement canceled.", clackOutput);
16574
- clack7.outro(void 0, clackOutput);
16575
- return { exitCode: 1 };
16560
+ if (options.force !== true) {
16561
+ const requiresGuardrail = candidates.some((candidate) => candidate.importance >= 8);
16562
+ if (requiresGuardrail) {
16563
+ const typed = await resolvedDeps.textInputFn("Type CONFIRM to retire high-importance entries");
16564
+ if (typed !== "CONFIRM") {
16565
+ clack7.log.warn("Retirement canceled.", clackOutput);
16566
+ clack7.outro(void 0, clackOutput);
16567
+ return { exitCode: 1 };
16568
+ }
16569
+ } else {
16570
+ const confirmed = await resolvedDeps.confirmFn(
16571
+ `Retire ${candidates.length} matching entr${candidates.length === 1 ? "y" : "ies"}?`
16572
+ );
16573
+ if (!confirmed) {
16574
+ clack7.log.warn("Retirement canceled.", clackOutput);
16575
+ clack7.outro(void 0, clackOutput);
16576
+ return { exitCode: 1 };
16577
+ }
16576
16578
  }
16577
16579
  }
16578
16580
  const retireSubject = queryId ? candidates[0]?.subject ?? queryId : querySubject;
@@ -18858,7 +18860,7 @@ function createProgram() {
18858
18860
  });
18859
18861
  process.exitCode = result.exitCode;
18860
18862
  });
18861
- program.command("retire [subject]").description("Retire a stale entry from active recall (entry is hidden, not deleted)").option("--persist", "Write to retirements ledger so retirement survives re-ingest").option("--contains", "Use substring matching instead of exact match").option("--dry-run", "Preview matches without retiring").option("--reason <text>", "Reason for retirement").option("--db <path>", "Path to database file").option("--id <id>", "Retire a specific entry by its ID (overrides subject matching)").action(async (subject, opts) => {
18863
+ program.command("retire [subject]").description("Retire a stale entry from active recall (entry is hidden, not deleted)").option("--persist", "Write to retirements ledger so retirement survives re-ingest").option("--contains", "Use substring matching instead of exact match").option("--dry-run", "Preview matches without retiring").option("--force", "Skip confirmation prompts (for programmatic use)").option("--reason <text>", "Reason for retirement").option("--db <path>", "Path to database file").option("--id <id>", "Retire a specific entry by its ID (overrides subject matching)").action(async (subject, opts) => {
18862
18864
  const entryId = opts.id;
18863
18865
  if (!entryId && !subject) {
18864
18866
  console.error("Error: provide a subject or --id <id>");
@@ -18874,6 +18876,7 @@ function createProgram() {
18874
18876
  persist: opts.persist === true,
18875
18877
  contains: opts.contains === true,
18876
18878
  dryRun: opts.dryRun === true,
18879
+ force: opts.force === true,
18877
18880
  reason: opts.reason,
18878
18881
  db: opts.db,
18879
18882
  id: entryId
@@ -890,7 +890,8 @@ async function runRetireTool(agenrPath, params) {
890
890
  if (persist) {
891
891
  args.push("--persist");
892
892
  }
893
- const result = await runAgenrCommand(agenrPath, args, "y\n");
893
+ args.push("--force");
894
+ const result = await runAgenrCommand(agenrPath, args);
894
895
  if (result.timedOut) {
895
896
  return {
896
897
  content: [{ type: "text", text: "agenr_retire failed: command timed out" }]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agenr",
3
- "version": "0.8.32",
3
+ "version": "0.8.34",
4
4
  "openclaw": {
5
5
  "extensions": [
6
6
  "dist/openclaw-plugin/index.js"