archondev 2.19.31 → 2.19.32

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/index.js +61 -7
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -3784,16 +3784,70 @@ Showing latest planned atom (${latest.externalId})...
3784
3784
  await show2(latest.externalId);
3785
3785
  }
3786
3786
  function isPlanApprovalDirective(input) {
3787
- const normalized = input.trim().toLowerCase();
3788
- return normalized === "approve" || normalized === "approve plan" || normalized === "approved" || normalized === "yes" || normalized === "yes, proceed" || normalized === "proceed";
3787
+ const normalized = normalizeDirectiveInput(input);
3788
+ if (!normalized) return false;
3789
+ const directApprovals = /* @__PURE__ */ new Set([
3790
+ "approve",
3791
+ "approve plan",
3792
+ "approved",
3793
+ "yes",
3794
+ "yes proceed",
3795
+ "y",
3796
+ "ok",
3797
+ "okay",
3798
+ "proceed",
3799
+ "go ahead",
3800
+ "continue",
3801
+ "do it",
3802
+ "sounds good",
3803
+ "looks good"
3804
+ ]);
3805
+ if (directApprovals.has(normalized)) return true;
3806
+ if (normalized.startsWith("yes ")) return true;
3807
+ if (/\b(approve|approved)\b/.test(normalized)) return true;
3808
+ const hasProceedSignal = /\b(go ahead|proceed|continue|do it|move forward|keep going)\b/.test(normalized);
3809
+ const hasPlanReference = /\b(plan|proposal|that|this|capsule|capsules)\b/.test(normalized);
3810
+ return hasProceedSignal && hasPlanReference;
3789
3811
  }
3790
3812
  function isExecutionDirective(input) {
3791
- const normalized = input.trim().toLowerCase();
3792
- return normalized === "execute" || normalized === "execute atom" || normalized === "run atom" || normalized === "run it now" || normalized === "implement now" || normalized === "start execution" || normalized === "go ahead and execute";
3813
+ const normalized = normalizeDirectiveInput(input);
3814
+ if (!normalized) return false;
3815
+ const directExecution = /* @__PURE__ */ new Set([
3816
+ "execute",
3817
+ "execute atom",
3818
+ "run atom",
3819
+ "run it now",
3820
+ "implement now",
3821
+ "start execution",
3822
+ "go ahead and execute",
3823
+ "execute now",
3824
+ "run now",
3825
+ "start now"
3826
+ ]);
3827
+ if (directExecution.has(normalized)) return true;
3828
+ return /\b(execute|run|implement|start)\b/.test(normalized) && /\b(atom|task|plan|it|now)\b/.test(normalized);
3793
3829
  }
3794
3830
  function isCreateAtomDirective(input) {
3795
- const normalized = input.trim().toLowerCase();
3796
- return normalized === "create atom" || normalized === "save this" || normalized === "make atom" || normalized === "save as atom" || normalized === "turn this into a task" || normalized === "create task";
3831
+ const normalized = normalizeDirectiveInput(input);
3832
+ if (!normalized) return false;
3833
+ const directCreate = /* @__PURE__ */ new Set([
3834
+ "create",
3835
+ "create atom",
3836
+ "save this",
3837
+ "make atom",
3838
+ "save as atom",
3839
+ "turn this into a task",
3840
+ "create task",
3841
+ "save it",
3842
+ "go ahead",
3843
+ "proceed",
3844
+ "yes"
3845
+ ]);
3846
+ if (directCreate.has(normalized)) return true;
3847
+ return /\b(create|save|make|turn)\b/.test(normalized) && /\b(atom|task|plan|this|it)\b/.test(normalized);
3848
+ }
3849
+ function normalizeDirectiveInput(input) {
3850
+ return input.trim().toLowerCase().replace(/[^\w\s]/g, " ").replace(/\s+/g, " ").trim();
3797
3851
  }
3798
3852
  function shouldDoAnalysisBeforeAtom(input) {
3799
3853
  const normalized = input.toLowerCase();
@@ -3863,7 +3917,7 @@ async function provideAnalysisFirstPlan(cwd, request) {
3863
3917
  }
3864
3918
  pendingAnalysisToAtomRequest = request;
3865
3919
  console.log();
3866
- console.log(chalk5.dim('Reply "save this" (or "create atom") if you want me to implement this in governed mode.'));
3920
+ console.log(chalk5.dim('Reply with "yes", "go ahead", or "create atom" when you want me to implement this in governed mode.'));
3867
3921
  }
3868
3922
  function collectMarkdownFiles(cwd) {
3869
3923
  const results = [];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "archondev",
3
- "version": "2.19.31",
3
+ "version": "2.19.32",
4
4
  "description": "Local-first AI-powered development governance system",
5
5
  "main": "dist/index.js",
6
6
  "bin": {