looply-cli 0.5.2 → 0.5.4

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 (143) hide show
  1. package/dist/.src-hash +1 -1
  2. package/dist/agent-contained.d.ts +2 -0
  3. package/dist/agent-contained.d.ts.map +1 -1
  4. package/dist/agent-contained.js +22 -5
  5. package/dist/agent-contained.js.map +1 -1
  6. package/dist/agent-exec.d.ts +10 -5
  7. package/dist/agent-exec.d.ts.map +1 -1
  8. package/dist/agent-exec.js +1 -0
  9. package/dist/agent-exec.js.map +1 -1
  10. package/dist/autonomy-tick.d.ts +46 -0
  11. package/dist/autonomy-tick.d.ts.map +1 -1
  12. package/dist/autonomy-tick.js +67 -2
  13. package/dist/autonomy-tick.js.map +1 -1
  14. package/dist/bin.d.ts.map +1 -1
  15. package/dist/bin.js +82 -16
  16. package/dist/bin.js.map +1 -1
  17. package/dist/brain-advice.js +2 -2
  18. package/dist/brain-advice.js.map +1 -1
  19. package/dist/command-runner.d.ts.map +1 -1
  20. package/dist/command-runner.js +1 -0
  21. package/dist/command-runner.js.map +1 -1
  22. package/dist/config.d.ts.map +1 -1
  23. package/dist/config.js +24 -1
  24. package/dist/config.js.map +1 -1
  25. package/dist/connect-node.d.ts.map +1 -1
  26. package/dist/connect-node.js +8 -4
  27. package/dist/connect-node.js.map +1 -1
  28. package/dist/connect.d.ts +8 -0
  29. package/dist/connect.d.ts.map +1 -1
  30. package/dist/connect.js +22 -0
  31. package/dist/connect.js.map +1 -1
  32. package/dist/contained-node.d.ts +51 -0
  33. package/dist/contained-node.d.ts.map +1 -0
  34. package/dist/contained-node.js +116 -0
  35. package/dist/contained-node.js.map +1 -0
  36. package/dist/daemon-cmd.d.ts.map +1 -1
  37. package/dist/daemon-cmd.js +56 -1
  38. package/dist/daemon-cmd.js.map +1 -1
  39. package/dist/daemon.d.ts +23 -0
  40. package/dist/daemon.d.ts.map +1 -1
  41. package/dist/daemon.js +32 -4
  42. package/dist/daemon.js.map +1 -1
  43. package/dist/exec-domains.d.ts +4 -0
  44. package/dist/exec-domains.d.ts.map +1 -1
  45. package/dist/exec-domains.js +7 -2
  46. package/dist/exec-domains.js.map +1 -1
  47. package/dist/gate-draft.d.ts +99 -0
  48. package/dist/gate-draft.d.ts.map +1 -0
  49. package/dist/gate-draft.js +544 -0
  50. package/dist/gate-draft.js.map +1 -0
  51. package/dist/git-driver.d.ts.map +1 -1
  52. package/dist/git-driver.js +1 -0
  53. package/dist/git-driver.js.map +1 -1
  54. package/dist/init-detect.d.ts +20 -10
  55. package/dist/init-detect.d.ts.map +1 -1
  56. package/dist/init-detect.js +28 -86
  57. package/dist/init-detect.js.map +1 -1
  58. package/dist/model-routing.d.ts +52 -7
  59. package/dist/model-routing.d.ts.map +1 -1
  60. package/dist/model-routing.js +84 -14
  61. package/dist/model-routing.js.map +1 -1
  62. package/dist/model-settings.d.ts +67 -0
  63. package/dist/model-settings.d.ts.map +1 -0
  64. package/dist/model-settings.js +177 -0
  65. package/dist/model-settings.js.map +1 -0
  66. package/dist/model-transport.d.ts +8 -0
  67. package/dist/model-transport.d.ts.map +1 -1
  68. package/dist/model-transport.js +31 -11
  69. package/dist/model-transport.js.map +1 -1
  70. package/dist/notify-channel.d.ts.map +1 -1
  71. package/dist/notify-channel.js +1 -0
  72. package/dist/notify-channel.js.map +1 -1
  73. package/dist/provider-cmd.d.ts +65 -0
  74. package/dist/provider-cmd.d.ts.map +1 -0
  75. package/dist/provider-cmd.js +360 -0
  76. package/dist/provider-cmd.js.map +1 -0
  77. package/dist/provider-discovery.d.ts +75 -0
  78. package/dist/provider-discovery.d.ts.map +1 -0
  79. package/dist/provider-discovery.js +235 -0
  80. package/dist/provider-discovery.js.map +1 -0
  81. package/dist/provider-identity.d.ts +3 -3
  82. package/dist/provider-identity.d.ts.map +1 -1
  83. package/dist/provider-identity.js +4 -5
  84. package/dist/provider-identity.js.map +1 -1
  85. package/dist/provider-preflight.d.ts.map +1 -1
  86. package/dist/provider-preflight.js +1 -0
  87. package/dist/provider-preflight.js.map +1 -1
  88. package/dist/provider-ready.d.ts +79 -0
  89. package/dist/provider-ready.d.ts.map +1 -0
  90. package/dist/provider-ready.js +149 -0
  91. package/dist/provider-ready.js.map +1 -0
  92. package/dist/provider-state.d.ts.map +1 -1
  93. package/dist/provider-state.js +1 -0
  94. package/dist/provider-state.js.map +1 -1
  95. package/dist/providers.d.ts.map +1 -1
  96. package/dist/providers.js +4 -0
  97. package/dist/providers.js.map +1 -1
  98. package/dist/refresh-gates.d.ts +47 -0
  99. package/dist/refresh-gates.d.ts.map +1 -0
  100. package/dist/refresh-gates.js +128 -0
  101. package/dist/refresh-gates.js.map +1 -0
  102. package/dist/repo-init.d.ts +5 -1
  103. package/dist/repo-init.d.ts.map +1 -1
  104. package/dist/repo-init.js +19 -3
  105. package/dist/repo-init.js.map +1 -1
  106. package/dist/run-cmd.js +4 -4
  107. package/dist/run-cmd.js.map +1 -1
  108. package/dist/run-launcher.d.ts +13 -0
  109. package/dist/run-launcher.d.ts.map +1 -1
  110. package/dist/run-launcher.js +29 -0
  111. package/dist/run-launcher.js.map +1 -1
  112. package/dist/serve-cmd.d.ts.map +1 -1
  113. package/dist/serve-cmd.js +14 -5
  114. package/dist/serve-cmd.js.map +1 -1
  115. package/dist/serve.d.ts +19 -7
  116. package/dist/serve.d.ts.map +1 -1
  117. package/dist/serve.js +28 -12
  118. package/dist/serve.js.map +1 -1
  119. package/dist/server-client.d.ts +23 -2
  120. package/dist/server-client.d.ts.map +1 -1
  121. package/dist/server-client.js +18 -2
  122. package/dist/server-client.js.map +1 -1
  123. package/dist/session-checkpoint-runtime.d.ts.map +1 -1
  124. package/dist/session-checkpoint-runtime.js +1 -0
  125. package/dist/session-checkpoint-runtime.js.map +1 -1
  126. package/dist/setup.d.ts +7 -1
  127. package/dist/setup.d.ts.map +1 -1
  128. package/dist/setup.js +13 -13
  129. package/dist/setup.js.map +1 -1
  130. package/dist/shared-grants.js +2 -2
  131. package/dist/shared-grants.js.map +1 -1
  132. package/dist/toolchain-mirror.js +1 -1
  133. package/dist/toolchain-mirror.js.map +1 -1
  134. package/dist/untrusted-exec.d.ts +23 -0
  135. package/dist/untrusted-exec.d.ts.map +1 -1
  136. package/dist/untrusted-exec.js +18 -1
  137. package/dist/untrusted-exec.js.map +1 -1
  138. package/dist/untrusted-gate.d.ts.map +1 -1
  139. package/dist/untrusted-gate.js +4 -0
  140. package/dist/untrusted-gate.js.map +1 -1
  141. package/package.json +2 -2
  142. package/win/appcontainer.ps1 +97 -4
  143. package/win/contained-node.cjs +530 -0
@@ -1 +1 @@
1
- {"version":3,"file":"provider-state.js","sourceRoot":"","sources":["../src/provider-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider-state.js","sourceRoot":"","sources":["../src/provider-state.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,wCAAwC;AACxC,MAAM,MAAM,aAAa;AACvB;;;;;;GAMG;AACD,OAAO;AACT,mEAAmE;GACjE,UAAU,CAAC;AAEf;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,EAAE,SAAS,aAAa,EAAc,CAAC;AAE7E,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,UAAU,CAAC;AAElD,MAAM,WAAW,cAAc;IAC7B,oDAAoD;IACpD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,gDAAgD;IAChD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,cAAc,EAwCrD,CAAC;AAEF,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAEjE;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,IAAI,CAAC;IACT,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,cAAc,GAAG,IAAI,CAAC;IAC9B;;;;;;OAMG;IACH,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,KAAK,CAAC;IACV,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE;IACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;CAC1B,GAAG,SAAS,GAAG,UAAU,CA2EzB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE;IACnC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;CAC3B,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAOzF"}
1
+ {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,wCAAwC;AACxC,MAAM,MAAM,aAAa;AACvB;;;;;;GAMG;AACD,OAAO;AACT,mEAAmE;GACjE,UAAU,CAAC;AAEf;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,EAAE,SAAS,aAAa,EAAc,CAAC;AAE7E,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,UAAU,CAAC;AAElD,MAAM,WAAW,cAAc;IAC7B,oDAAoD;IACpD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,gDAAgD;IAChD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,cAAc,EAwCrD,CAAC;AAEF,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAEjE;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,IAAI,CAAC;IACT,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,cAAc,GAAG,IAAI,CAAC;IAC9B;;;;;;OAMG;IACH,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,KAAK,CAAC;IACV,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE;IACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;CAC1B,GAAG,SAAS,GAAG,UAAU,CA+EzB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE;IACnC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;CAC3B,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAOzF"}
package/dist/providers.js CHANGED
@@ -128,6 +128,10 @@ function resolveProvider(input) {
128
128
  ...(input.spec.runtime?.length ? { runtime: input.spec.runtime } : {}),
129
129
  ...(input.spec.env?.length ? { env: input.spec.env } : {}),
130
130
  ...(input.spec.noHostTools?.length ? { noHostTools: input.spec.noHostTools } : {}),
131
+ // Model routing survives a preset too. It is read only on the built-in
132
+ // branch, so carrying it to a configured binary changes nothing there.
133
+ ...(input.spec.models === undefined ? {} : { models: input.spec.models }),
134
+ ...(input.spec.effort === undefined ? {} : { effort: input.spec.effort }),
131
135
  ...(input.spec.declared === undefined ? {} : { declared: input.spec.declared }),
132
136
  },
133
137
  preset,
@@ -1 +1 @@
1
- {"version":3,"file":"providers.js","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"providers.js","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ import type { RepoProfile } from './init-detect';
2
+ /**
3
+ * `looply init --refresh-gates`: re-draft only the gates of an existing
4
+ * `.looply/config.yaml`.
5
+ *
6
+ * For everyone who connected before the drafting learned about sub-apps and
7
+ * slow suites: their gates may be a 30-minute integration suite that discards
8
+ * every round, and nothing checking the app they actually work on. Fixing that
9
+ * by hand means editing YAML; this shows the change and writes it on a yes.
10
+ *
11
+ * 🔴 EVERY OTHER SECTION IS KEPT BYTE FOR BYTE. The rest of the file is the
12
+ * person's — rails, scope, publish policy — and a fresh draft would throw it
13
+ * away, which is why plain `init` refuses to overwrite. Only the `gates:` block
14
+ * and the comment block directly above it are replaced.
15
+ */
16
+ /** Where the gate section sits in the file's lines: [start, end) — end excludes the next section. */
17
+ export declare function gateSectionRange(lines: readonly string[]): {
18
+ start: number;
19
+ end: number;
20
+ } | null;
21
+ export type RefreshResult = {
22
+ readonly kind: 'unchanged';
23
+ } | {
24
+ readonly kind: 'changed';
25
+ readonly next: string;
26
+ readonly diff: string[];
27
+ } | {
28
+ readonly kind: 'refused';
29
+ readonly reason: string;
30
+ };
31
+ /** A line diff of the gate section only: `- ` removed, `+ ` added, ` ` kept. */
32
+ export declare function lineDiff(before: readonly string[], after: readonly string[]): string[];
33
+ export declare function refreshGates(current: string, profile: RepoProfile): RefreshResult;
34
+ export interface RefreshGatesDeps {
35
+ configPath: string;
36
+ profile: RepoProfile;
37
+ readText(path: string): string | null;
38
+ writeText(path: string, text: string): void;
39
+ write(text: string): void;
40
+ /** Write without asking (`--yes`). */
41
+ assumeYes: boolean;
42
+ /** Ask a y/N question; null when there is no terminal to ask on. */
43
+ confirm: ((question: string) => Promise<boolean>) | null;
44
+ }
45
+ /** The command: show the diff, then write on `--yes` or a terminal yes. Exit code. */
46
+ export declare function runRefreshGates(deps: RefreshGatesDeps): Promise<number>;
47
+ //# sourceMappingURL=refresh-gates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refresh-gates.d.ts","sourceRoot":"","sources":["../src/refresh-gates.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAGjD;;;;;;;;;;;;;GAaG;AAEH,qGAAqG;AACrG,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAchG;AAED,MAAM,MAAM,aAAa,GACrB;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GAC9B;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,GAC5E;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1D,iFAAiF;AACjF,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAuBtF;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,aAAa,CAoBjF;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,WAAW,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACtC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,sCAAsC;IACtC,SAAS,EAAE,OAAO,CAAC;IACnB,oEAAoE;IACpE,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;CAC1D;AAED,sFAAsF;AACtF,wBAAsB,eAAe,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CA+B7E"}
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.gateSectionRange = gateSectionRange;
4
+ exports.lineDiff = lineDiff;
5
+ exports.refreshGates = refreshGates;
6
+ exports.runRefreshGates = runRefreshGates;
7
+ const config_1 = require("./config");
8
+ const setup_1 = require("./setup");
9
+ /**
10
+ * `looply init --refresh-gates`: re-draft only the gates of an existing
11
+ * `.looply/config.yaml`.
12
+ *
13
+ * For everyone who connected before the drafting learned about sub-apps and
14
+ * slow suites: their gates may be a 30-minute integration suite that discards
15
+ * every round, and nothing checking the app they actually work on. Fixing that
16
+ * by hand means editing YAML; this shows the change and writes it on a yes.
17
+ *
18
+ * 🔴 EVERY OTHER SECTION IS KEPT BYTE FOR BYTE. The rest of the file is the
19
+ * person's — rails, scope, publish policy — and a fresh draft would throw it
20
+ * away, which is why plain `init` refuses to overwrite. Only the `gates:` block
21
+ * and the comment block directly above it are replaced.
22
+ */
23
+ /** Where the gate section sits in the file's lines: [start, end) — end excludes the next section. */
24
+ function gateSectionRange(lines) {
25
+ const at = lines.findIndex((l) => /^gates\s*:/.test(l));
26
+ if (at < 0)
27
+ return null;
28
+ // The comment block directly above `gates:` (no blank line between) is the
29
+ // section's header, and is re-drafted with it.
30
+ let start = at;
31
+ while (start > 0 && /^#/.test(lines[start - 1]))
32
+ start--;
33
+ // The block runs to the next top-level key...
34
+ let next = at + 1;
35
+ while (next < lines.length && !/^[^\s#]/.test(lines[next]))
36
+ next++;
37
+ // ...minus the blank lines and top-level comments that introduce that key.
38
+ let end = next;
39
+ while (end > at + 1 && (/^#/.test(lines[end - 1]) || lines[end - 1].trim() === ''))
40
+ end--;
41
+ return { start, end };
42
+ }
43
+ /** A line diff of the gate section only: `- ` removed, `+ ` added, ` ` kept. */
44
+ function lineDiff(before, after) {
45
+ const n = before.length;
46
+ const m = after.length;
47
+ const lcs = Array.from({ length: n + 1 }, () => new Array(m + 1).fill(0));
48
+ for (let i = n - 1; i >= 0; i--) {
49
+ for (let j = m - 1; j >= 0; j--) {
50
+ lcs[i][j] = before[i] === after[j] ? lcs[i + 1][j + 1] + 1 : Math.max(lcs[i + 1][j], lcs[i][j + 1]);
51
+ }
52
+ }
53
+ const out = [];
54
+ let i = 0;
55
+ let j = 0;
56
+ while (i < n && j < m) {
57
+ if (before[i] === after[j]) {
58
+ out.push(` ${before[i]}`);
59
+ i++;
60
+ j++;
61
+ }
62
+ else if (lcs[i + 1][j] >= lcs[i][j + 1])
63
+ out.push(`- ${before[i++]}`);
64
+ else
65
+ out.push(`+ ${after[j++]}`);
66
+ }
67
+ while (i < n)
68
+ out.push(`- ${before[i++]}`);
69
+ while (j < m)
70
+ out.push(`+ ${after[j++]}`);
71
+ return out;
72
+ }
73
+ function refreshGates(current, profile) {
74
+ const eol = current.includes('\r\n') ? '\r\n' : '\n';
75
+ const lines = current.split(/\r?\n/);
76
+ const range = gateSectionRange(lines);
77
+ if (!range)
78
+ return { kind: 'refused', reason: 'the config has no top-level `gates:` section to re-draft' };
79
+ const drafted = (0, setup_1.gatesSection)(profile).split('\n');
80
+ const before = lines.slice(range.start, range.end);
81
+ if (before.join('\n') === drafted.join('\n'))
82
+ return { kind: 'unchanged' };
83
+ const nextLines = [...lines.slice(0, range.start), ...drafted, ...lines.slice(range.end)];
84
+ const next = nextLines.join(eol);
85
+ try {
86
+ (0, config_1.parseConfig)(next);
87
+ }
88
+ catch (e) {
89
+ // Most often: nothing runnable was detected. Removing the person's gates
90
+ // and leaving none would be worse than leaving the file alone.
91
+ return { kind: 'refused', reason: `the re-drafted config would not load (${e.message}); nothing was written` };
92
+ }
93
+ return { kind: 'changed', next, diff: lineDiff(before, drafted) };
94
+ }
95
+ /** The command: show the diff, then write on `--yes` or a terminal yes. Exit code. */
96
+ async function runRefreshGates(deps) {
97
+ const current = deps.readText(deps.configPath);
98
+ if (current === null) {
99
+ deps.write(`init --refresh-gates: ${deps.configPath} does not exist — run \`looply init\` to draft one\n`);
100
+ return 1;
101
+ }
102
+ const result = refreshGates(current, deps.profile);
103
+ if (result.kind === 'refused') {
104
+ deps.write(`init --refresh-gates: ${result.reason}\n`);
105
+ return 1;
106
+ }
107
+ if (result.kind === 'unchanged') {
108
+ deps.write('init --refresh-gates: the gates already match what this repository drafts — nothing to change\n');
109
+ return 0;
110
+ }
111
+ deps.write(`gates in ${deps.configPath} (every other section is kept as it is):\n\n${result.diff.join('\n')}\n\n`);
112
+ let yes = deps.assumeYes;
113
+ if (!yes) {
114
+ if (!deps.confirm) {
115
+ deps.write('not written: there is no terminal to confirm on — rerun with --yes to write it\n');
116
+ return 0;
117
+ }
118
+ yes = await deps.confirm('write these gates? [y/N] ');
119
+ }
120
+ if (!yes) {
121
+ deps.write('not written\n');
122
+ return 0;
123
+ }
124
+ deps.writeText(deps.configPath, result.next);
125
+ deps.write(`written: ${deps.configPath}\n`);
126
+ return 0;
127
+ }
128
+ //# sourceMappingURL=refresh-gates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refresh-gates.js","sourceRoot":"","sources":["../src/refresh-gates.ts"],"names":[],"mappings":";;AAoBA,4CAcC;AAQD,4BAuBC;AAED,oCAoBC;AAeD,0CA+BC;AArID,qCAAuC;AAEvC,mCAAuC;AAEvC;;;;;;;;;;;;;GAaG;AAEH,qGAAqG;AACrG,SAAgB,gBAAgB,CAAC,KAAwB;IACvD,MAAM,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,IAAI,EAAE,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACxB,2EAA2E;IAC3E,+CAA+C;IAC/C,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,OAAO,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAE,CAAC;QAAE,KAAK,EAAE,CAAC;IAC1D,8CAA8C;IAC9C,IAAI,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC;IAClB,OAAO,IAAI,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAE,CAAC;QAAE,IAAI,EAAE,CAAC;IACpE,2EAA2E;IAC3E,IAAI,GAAG,GAAG,IAAI,CAAC;IACf,OAAO,GAAG,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAE,CAAC,IAAI,KAAK,CAAC,GAAG,GAAG,CAAC,CAAE,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;QAAE,GAAG,EAAE,CAAC;IAC5F,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AACxB,CAAC;AAOD,iFAAiF;AACjF,SAAgB,QAAQ,CAAC,MAAyB,EAAE,KAAwB;IAC1E,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;IACxB,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;IACvB,MAAM,GAAG,GAAe,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,KAAK,CAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9F,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,GAAG,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,CAAC,GAAG,CAAC,CAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,CAAC,CAAE,EAAE,GAAG,CAAC,CAAC,CAAE,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,CAAC;QAC7G,CAAC;IACH,CAAC;IACD,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACtB,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3B,GAAG,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC3B,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,CAAC;QACN,CAAC;aAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,CAAC,CAAE,IAAI,GAAG,CAAC,CAAC,CAAE,CAAC,CAAC,GAAG,CAAC,CAAE;YAAE,GAAG,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;;YACvE,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,CAAC,GAAG,CAAC;QAAE,GAAG,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC;QAAE,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC1C,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAgB,YAAY,CAAC,OAAe,EAAE,OAAoB;IAChE,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IACrD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,0DAA0D,EAAE,CAAC;IAE3G,MAAM,OAAO,GAAG,IAAA,oBAAY,EAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACnD,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAE3E,MAAM,SAAS,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1F,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,CAAC;QACH,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,yEAAyE;QACzE,+DAA+D;QAC/D,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,yCAA0C,CAAW,CAAC,OAAO,wBAAwB,EAAE,CAAC;IAC5H,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;AACpE,CAAC;AAcD,sFAAsF;AAC/E,KAAK,UAAU,eAAe,CAAC,IAAsB;IAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC/C,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,KAAK,CAAC,yBAAyB,IAAI,CAAC,UAAU,sDAAsD,CAAC,CAAC;QAC3G,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACnD,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC9B,IAAI,CAAC,KAAK,CAAC,yBAAyB,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;QACvD,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAChC,IAAI,CAAC,KAAK,CAAC,iGAAiG,CAAC,CAAC;QAC9G,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,UAAU,+CAA+C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnH,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC;IACzB,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC,KAAK,CAAC,kFAAkF,CAAC,CAAC;YAC/F,OAAO,CAAC,CAAC;QACX,CAAC;QACD,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC5B,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;IAC5C,OAAO,CAAC,CAAC;AACX,CAAC"}
@@ -16,10 +16,14 @@ export interface QuietInitFs {
16
16
  exists(path: string): boolean;
17
17
  /** `null` when it cannot be read; detection treats that as absent. */
18
18
  readText(path: string): string | null;
19
+ /** Child directory names; optional, so sub-apps outside the common folder names are found too. */
20
+ listDirs?(path: string): string[];
19
21
  mkdirp(path: string): void;
20
22
  writeText(path: string, text: string): void;
21
23
  }
22
24
  export declare const nodeQuietInitFs: QuietInitFs;
25
+ /** Child directories of `p`, [] when it cannot be read. */
26
+ export declare function listDirsOf(p: string): string[];
23
27
  export type InitOutcome = {
24
28
  readonly kind: 'initialised';
25
29
  } | {
@@ -29,7 +33,7 @@ export type InitOutcome = {
29
33
  readonly reason: string;
30
34
  };
31
35
  /** What `init` shows before it asks anything; shared so the two read a repository the same way. */
32
- export declare function profileOf(dir: string, readText: (path: string) => string | null): RepoProfile;
36
+ export declare function profileOf(dir: string, readText: (path: string) => string | null, listDirs?: (path: string) => string[]): RepoProfile;
33
37
  /** Why `<dir>/.looply/config.yaml` would not load, or null when it would — the daemon's own parser. */
34
38
  export declare function configProblemOf(dir: string, readText?: (path: string) => string | null): string | null;
35
39
  export declare function initRepoQuietly(dir: string, fs?: QuietInitFs): InitOutcome;
@@ -1 +1 @@
1
- {"version":3,"file":"repo-init.d.ts","sourceRoot":"","sources":["../src/repo-init.ts"],"names":[],"mappings":"AAGA,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAG7D;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9B,sEAAsE;IACtE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACtC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7C;AAED,eAAO,MAAM,eAAe,EAAE,WAc7B,CAAC;AAEF,MAAM,MAAM,WAAW,GACnB;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;CAAE,GAChC;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GAC5B;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzD,mGAAmG;AACnG,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GAAG,WAAW,CAE7F;AAED,uGAAuG;AACvG,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAA+B,GAAG,MAAM,GAAG,IAAI,CAShI;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,GAAE,WAA6B,GAAG,WAAW,CAY3F"}
1
+ {"version":3,"file":"repo-init.d.ts","sourceRoot":"","sources":["../src/repo-init.ts"],"names":[],"mappings":"AAGA,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAG7D;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9B,sEAAsE;IACtE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACtC,kGAAkG;IAClG,QAAQ,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAClC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7C;AAED,eAAO,MAAM,eAAe,EAAE,WAe7B,CAAC;AAEF,2DAA2D;AAC3D,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAQ9C;AAED,MAAM,MAAM,WAAW,GACnB;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;CAAE,GAChC;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GAC5B;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzD,mGAAmG;AACnG,wBAAgB,SAAS,CACvB,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,EACzC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EAAE,GACpC,WAAW,CAQb;AAED,uGAAuG;AACvG,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAA+B,GAAG,MAAM,GAAG,IAAI,CAShI;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,GAAE,WAA6B,GAAG,WAAW,CAY3F"}
package/dist/repo-init.js CHANGED
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.nodeQuietInitFs = void 0;
4
+ exports.listDirsOf = listDirsOf;
4
5
  exports.profileOf = profileOf;
5
6
  exports.configProblemOf = configProblemOf;
6
7
  exports.initRepoQuietly = initRepoQuietly;
@@ -19,15 +20,30 @@ exports.nodeQuietInitFs = {
19
20
  return null;
20
21
  }
21
22
  },
23
+ listDirs: (p) => listDirsOf(p),
22
24
  mkdirp: (p) => {
23
25
  (0, node_fs_1.mkdirSync)(p, { recursive: true });
24
26
  },
25
27
  // `wx`: a config that appeared between the check and the write is kept.
26
28
  writeText: (p, text) => (0, node_fs_1.writeFileSync)(p, text, { flag: 'wx' }),
27
29
  };
30
+ /** Child directories of `p`, [] when it cannot be read. */
31
+ function listDirsOf(p) {
32
+ try {
33
+ return (0, node_fs_1.readdirSync)(p, { withFileTypes: true })
34
+ .filter((d) => d.isDirectory())
35
+ .map((d) => d.name);
36
+ }
37
+ catch {
38
+ return [];
39
+ }
40
+ }
28
41
  /** What `init` shows before it asks anything; shared so the two read a repository the same way. */
29
- function profileOf(dir, readText) {
30
- return (0, init_detect_1.detectRepo)({ readFile: (p) => readText((0, node_path_1.join)(dir, p)) }, (0, node_path_1.basename)(dir));
42
+ function profileOf(dir, readText, listDirs) {
43
+ return (0, init_detect_1.detectRepo)({
44
+ readFile: (p) => readText((0, node_path_1.join)(dir, p)),
45
+ ...(listDirs ? { listDirs: (p) => listDirs((0, node_path_1.join)(dir, p)) } : {}),
46
+ }, (0, node_path_1.basename)(dir));
31
47
  }
32
48
  /** Why `<dir>/.looply/config.yaml` would not load, or null when it would — the daemon's own parser. */
33
49
  function configProblemOf(dir, readText = exports.nodeQuietInitFs.readText) {
@@ -47,7 +63,7 @@ function initRepoQuietly(dir, fs = exports.nodeQuietInitFs) {
47
63
  try {
48
64
  if (fs.exists(target))
49
65
  return { kind: 'already' };
50
- const profile = profileOf(dir, (p) => fs.readText(p));
66
+ const profile = profileOf(dir, (p) => fs.readText(p), fs.listDirs ? (p) => fs.listDirs(p) : undefined);
51
67
  fs.mkdirp((0, node_path_1.join)(dir, '.looply'));
52
68
  fs.writeText(target, (0, setup_1.renderConfig)(profile, { ...setup_1.DEFAULT_ANSWERS }));
53
69
  return { kind: 'initialised' };
@@ -1 +1 @@
1
- {"version":3,"file":"repo-init.js","sourceRoot":"","sources":["../src/repo-init.ts"],"names":[],"mappings":";;;AAkDA,8BAEC;AAGD,0CASC;AAED,0CAYC;AA9ED,qCAA6E;AAC7E,yCAA2C;AAC3C,qCAAuC;AACvC,+CAA6D;AAC7D,mCAAwD;AAwB3C,QAAA,eAAe,GAAgB;IAC1C,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,oBAAU,EAAC,CAAC,CAAC;IAC5B,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;QACd,IAAI,CAAC;YACH,OAAO,IAAA,sBAAY,EAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE;QACZ,IAAA,mBAAS,EAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACpC,CAAC;IACD,wEAAwE;IACxE,SAAS,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAA,uBAAa,EAAC,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;CAC/D,CAAC;AAOF,mGAAmG;AACnG,SAAgB,SAAS,CAAC,GAAW,EAAE,QAAyC;IAC9E,OAAO,IAAA,wBAAU,EAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAA,gBAAI,EAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,IAAA,oBAAQ,EAAC,GAAG,CAAC,CAAC,CAAC;AAChF,CAAC;AAED,uGAAuG;AACvG,SAAgB,eAAe,CAAC,GAAW,EAAE,WAA4C,uBAAe,CAAC,QAAQ;IAC/G,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAA,gBAAI,EAAC,GAAG,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC;IAC3D,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,mBAAmB,CAAC;IAC9C,IAAI,CAAC;QACH,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAQ,CAAW,CAAC,OAAO,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,SAAgB,eAAe,CAAC,GAAW,EAAE,KAAkB,uBAAe;IAC5E,MAAM,MAAM,GAAG,IAAA,gBAAI,EAAC,GAAG,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IACnD,IAAI,CAAC;QACH,IAAI,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAClD,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,EAAE,CAAC,MAAM,CAAC,IAAA,gBAAI,EAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;QAChC,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,IAAA,oBAAY,EAAC,OAAO,EAAE,EAAE,GAAG,uBAAe,EAAE,CAAC,CAAC,CAAC;QACpE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;IACjC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAK,CAA2B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC/E,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC;IAC1D,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"repo-init.js","sourceRoot":"","sources":["../src/repo-init.ts"],"names":[],"mappings":"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"}
package/dist/run-cmd.js CHANGED
@@ -77,7 +77,7 @@ const sibling_repos_1 = require("./sibling-repos");
77
77
  const project_index_facts_1 = require("./project-index-facts");
78
78
  const project_graph_runtime_1 = require("./project-graph-runtime");
79
79
  const provider_identity_store_1 = require("./provider-identity-store");
80
- const agent_contained_1 = require("./agent-contained");
80
+ const provider_discovery_1 = require("./provider-discovery");
81
81
  const core_2 = require("@looply/core");
82
82
  const core_3 = require("@looply/core");
83
83
  const citation_readers_1 = require("./citation-readers");
@@ -2410,9 +2410,9 @@ async function runLoop(opts) {
2410
2410
  * from the thing that will run it.
2411
2411
  */
2412
2412
  const isDefault = resolved.spec.command === agent_exec_1.DEFAULT_AGENT.command;
2413
- const pkg = isDefault ? (0, agent_contained_1.claudePackageDir)() : null;
2413
+ const exe = isDefault ? (0, provider_discovery_1.claudeExecutable)(resolved.spec.executable) : null;
2414
2414
  const note = await (0, provider_identity_store_1.noteProviderIdentity)(new provider_identity_store_1.ProviderIdentityStore(stateDir, ledger_store_1.nodeLedgerFs), isDefault
2415
- ? { kind: 'default', ...(pkg === null ? {} : { executable: (0, node_path_1.join)(pkg, 'bin', 'claude.exe') }) }
2415
+ ? { kind: 'default', ...(exe === null ? {} : { executable: exe }) }
2416
2416
  : { kind: 'configured', command: resolved.spec.command });
2417
2417
  if (note !== null)
2418
2418
  log(`provider: ${note}`);
@@ -2794,7 +2794,7 @@ async function runLoop(opts) {
2794
2794
  * written is a log line, never a refused run.
2795
2795
  */
2796
2796
  const compileReaders = (0, citation_readers_1.nodeCitationReaders)(cwd, stateDir);
2797
- const compileProvider = (0, provider_identity_1.providerRecordFor)(resolved.spec, resolved.spec.command === agent_exec_1.DEFAULT_AGENT.command ? (0, agent_contained_1.claudePackageDir)() : null);
2797
+ const compileProvider = (0, provider_identity_1.providerRecordFor)(resolved.spec, resolved.spec.command === agent_exec_1.DEFAULT_AGENT.command ? (0, provider_discovery_1.claudeExecutable)(resolved.spec.executable) : null);
2798
2798
  const compiles = new compile_store_1.CompileStore(stateDir, ledger_store_1.nodeLedgerFs);
2799
2799
  const recordCompile = async (forGoalId, forGoalVersion, treeSha, outcome, checked) => {
2800
2800
  try {