omp-conductor 0.15.8 → 0.15.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.
- package/package.json +1 -1
- package/src/setup.ts +17 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "omp-conductor",
|
|
3
|
-
"version": "0.15.
|
|
3
|
+
"version": "0.15.9",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "A 24/7 dispatcher that takes ready GitHub issues to green, mergeable PRs using omp coding sessions, with tiered escalation first to an orchestrator session and then to a human.",
|
package/src/setup.ts
CHANGED
|
@@ -146,6 +146,12 @@ export interface SetupAnswers {
|
|
|
146
146
|
* pinned one.
|
|
147
147
|
*/
|
|
148
148
|
workerModel?: string;
|
|
149
|
+
/**
|
|
150
|
+
* Routable-candidate count below which the tick prompt says to groom. The
|
|
151
|
+
* wizard never asks for it — it is hand-edited — so it exists here only to
|
|
152
|
+
* survive an amend of some other area (#369).
|
|
153
|
+
*/
|
|
154
|
+
groomBelow?: number;
|
|
149
155
|
telegramChatId?: string;
|
|
150
156
|
/** Forum topic for tier-2 Telegram pages; absent keeps flat-chat 0.13 behaviour. */
|
|
151
157
|
telegramTopicId?: number;
|
|
@@ -743,9 +749,16 @@ export function buildProject(a: SetupAnswers): ProjectConfig {
|
|
|
743
749
|
// `planUsage` is the one cap that is not a number, and the wizard does not
|
|
744
750
|
// ask for it: naming a provider allowance window means reading
|
|
745
751
|
// `omp usage --json` on the fleet host first, so it stays a documented
|
|
746
|
-
// hand-edited key (#110). Skipped here to keep this numeric loop honest
|
|
752
|
+
// hand-edited key (#110). Skipped here to keep this numeric loop honest,
|
|
753
|
+
// and carried below instead — an unrelated amend that deleted the weekly
|
|
754
|
+
// allowance guard would be exactly the silent loss #369 is about.
|
|
747
755
|
if (key !== "planUsage" && typeof value === "number") caps[key] = value;
|
|
748
756
|
}
|
|
757
|
+
// `null` is a spelling in its own right — "no allowance guard" — so both it
|
|
758
|
+
// and a configured window survive an amend unchanged.
|
|
759
|
+
if (a.caps.planUsage !== undefined) {
|
|
760
|
+
caps.planUsage = a.caps.planUsage === null ? null : { ...a.caps.planUsage };
|
|
761
|
+
}
|
|
749
762
|
|
|
750
763
|
return {
|
|
751
764
|
name: a.projectName,
|
|
@@ -757,6 +770,8 @@ export function buildProject(a: SetupAnswers): ProjectConfig {
|
|
|
757
770
|
...(a.workerModel !== undefined && a.workerModel.trim().length > 0
|
|
758
771
|
? { workerModel: a.workerModel.trim() }
|
|
759
772
|
: {}),
|
|
773
|
+
// A documented hand-edited key, so an unrelated amend must not delete it.
|
|
774
|
+
...(a.groomBelow === undefined ? {} : { groomBelow: a.groomBelow }),
|
|
760
775
|
escalation,
|
|
761
776
|
authority: { ...a.authority },
|
|
762
777
|
// Written out in full, never as the legacy string: the file then says which
|
|
@@ -957,6 +972,7 @@ export function answersFromProject(p: ProjectConfig): SetupAnswers {
|
|
|
957
972
|
// Set only when present, never as an explicit `undefined`: an absent key is
|
|
958
973
|
// what keeps the rewritten config identical to the one that was read.
|
|
959
974
|
if (p.workerModel !== undefined) answers.workerModel = p.workerModel;
|
|
975
|
+
if (p.groomBelow !== undefined) answers.groomBelow = p.groomBelow;
|
|
960
976
|
if (p.escalation.telegramChatId !== undefined) answers.telegramChatId = p.escalation.telegramChatId;
|
|
961
977
|
if (p.escalation.telegramTopicId !== undefined) answers.telegramTopicId = p.escalation.telegramTopicId;
|
|
962
978
|
if (p.recoveryMerges !== undefined) {
|