looply-cli 0.5.27 → 0.5.29

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 (102) hide show
  1. package/dist/account-connect.d.ts +66 -0
  2. package/dist/account-connect.d.ts.map +1 -0
  3. package/dist/account-connect.js +279 -0
  4. package/dist/account-connect.js.map +1 -0
  5. package/dist/bin.d.ts.map +1 -1
  6. package/dist/bin.js +5 -3
  7. package/dist/bin.js.map +1 -1
  8. package/dist/branch-delivery-wiring.d.ts.map +1 -1
  9. package/dist/branch-delivery-wiring.js +2 -0
  10. package/dist/branch-delivery-wiring.js.map +1 -1
  11. package/dist/branch-delivery.d.ts +43 -0
  12. package/dist/branch-delivery.d.ts.map +1 -1
  13. package/dist/branch-delivery.js +106 -3
  14. package/dist/branch-delivery.js.map +1 -1
  15. package/dist/config.d.ts +5 -0
  16. package/dist/config.d.ts.map +1 -1
  17. package/dist/config.js +1 -0
  18. package/dist/config.js.map +1 -1
  19. package/dist/connect-node.d.ts.map +1 -1
  20. package/dist/connect-node.js +23 -1
  21. package/dist/connect-node.js.map +1 -1
  22. package/dist/connect.d.ts +2 -0
  23. package/dist/connect.d.ts.map +1 -1
  24. package/dist/connect.js +13 -5
  25. package/dist/connect.js.map +1 -1
  26. package/dist/daemon-cmd.d.ts +3 -0
  27. package/dist/daemon-cmd.d.ts.map +1 -1
  28. package/dist/daemon-cmd.js +15 -1
  29. package/dist/daemon-cmd.js.map +1 -1
  30. package/dist/daemon.d.ts +5 -0
  31. package/dist/daemon.d.ts.map +1 -1
  32. package/dist/daemon.js +4 -0
  33. package/dist/daemon.js.map +1 -1
  34. package/dist/effective-gates.d.ts +58 -0
  35. package/dist/effective-gates.d.ts.map +1 -0
  36. package/dist/effective-gates.js +153 -0
  37. package/dist/effective-gates.js.map +1 -0
  38. package/dist/environment-hold.d.ts.map +1 -1
  39. package/dist/environment-hold.js +10 -0
  40. package/dist/environment-hold.js.map +1 -1
  41. package/dist/feature-report.d.ts +10 -3
  42. package/dist/feature-report.d.ts.map +1 -1
  43. package/dist/feature-report.js +44 -1
  44. package/dist/feature-report.js.map +1 -1
  45. package/dist/gate-draft.d.ts +16 -0
  46. package/dist/gate-draft.d.ts.map +1 -1
  47. package/dist/gate-draft.js +86 -4
  48. package/dist/gate-draft.js.map +1 -1
  49. package/dist/gate-health.d.ts +157 -0
  50. package/dist/gate-health.d.ts.map +1 -0
  51. package/dist/gate-health.js +432 -0
  52. package/dist/gate-health.js.map +1 -0
  53. package/dist/github-api.d.ts +2 -0
  54. package/dist/github-api.d.ts.map +1 -1
  55. package/dist/github-api.js +1 -0
  56. package/dist/github-api.js.map +1 -1
  57. package/dist/init-detect.d.ts +2 -0
  58. package/dist/init-detect.d.ts.map +1 -1
  59. package/dist/init-detect.js +4 -0
  60. package/dist/init-detect.js.map +1 -1
  61. package/dist/integration-deps.d.ts.map +1 -1
  62. package/dist/integration-deps.js +17 -6
  63. package/dist/integration-deps.js.map +1 -1
  64. package/dist/machine-secrets.d.ts +6 -1
  65. package/dist/machine-secrets.d.ts.map +1 -1
  66. package/dist/machine-secrets.js +13 -1
  67. package/dist/machine-secrets.js.map +1 -1
  68. package/dist/model-transport.d.ts.map +1 -1
  69. package/dist/model-transport.js +18 -1
  70. package/dist/model-transport.js.map +1 -1
  71. package/dist/pair-cmd.d.ts +13 -1
  72. package/dist/pair-cmd.d.ts.map +1 -1
  73. package/dist/pair-cmd.js +30 -13
  74. package/dist/pair-cmd.js.map +1 -1
  75. package/dist/provider-accounts-cmd.d.ts.map +1 -1
  76. package/dist/provider-accounts-cmd.js +11 -2
  77. package/dist/provider-accounts-cmd.js.map +1 -1
  78. package/dist/provider-accounts.d.ts +49 -2
  79. package/dist/provider-accounts.d.ts.map +1 -1
  80. package/dist/provider-accounts.js +149 -7
  81. package/dist/provider-accounts.js.map +1 -1
  82. package/dist/provider-cmd.d.ts +5 -0
  83. package/dist/provider-cmd.d.ts.map +1 -1
  84. package/dist/provider-cmd.js +21 -1
  85. package/dist/provider-cmd.js.map +1 -1
  86. package/dist/provider-ready.js +1 -1
  87. package/dist/provider-ready.js.map +1 -1
  88. package/dist/run-cmd.d.ts.map +1 -1
  89. package/dist/run-cmd.js +104 -7
  90. package/dist/run-cmd.js.map +1 -1
  91. package/dist/server-client.d.ts +10 -0
  92. package/dist/server-client.d.ts.map +1 -1
  93. package/dist/server-client.js +8 -0
  94. package/dist/server-client.js.map +1 -1
  95. package/dist/setup.d.ts.map +1 -1
  96. package/dist/setup.js +5 -1
  97. package/dist/setup.js.map +1 -1
  98. package/dist/workspace-provisioner.d.ts +8 -0
  99. package/dist/workspace-provisioner.d.ts.map +1 -1
  100. package/dist/workspace-provisioner.js +9 -1
  101. package/dist/workspace-provisioner.js.map +1 -1
  102. package/package.json +2 -2
@@ -11,6 +11,7 @@ const node_crypto_1 = require("node:crypto");
11
11
  const node_fs_1 = require("node:fs");
12
12
  const node_os_1 = require("node:os");
13
13
  const node_path_1 = require("node:path");
14
+ const git_driver_1 = require("./git-driver");
14
15
  const core_1 = require("@looply/core");
15
16
  /**
16
17
  * A GOAL HELD FOR A MACHINE FAULT, AND WHEN IT IS TRIED AGAIN.
@@ -115,6 +116,15 @@ function configDigest(projectDir, home = (0, node_os_1.homedir)()) {
115
116
  }
116
117
  h.update('\0');
117
118
  }
119
+ // AutoRyn's gate fixes are config too: a fix made there must release a goal held on a red base.
120
+ try {
121
+ const cached = JSON.parse((0, node_fs_1.readFileSync)((0, node_path_1.join)((0, git_driver_1.projectStateDir)(projectDir), 'feature-settings.json'), 'utf8'));
122
+ if (cached.settings?.gates !== undefined)
123
+ h.update(JSON.stringify(cached.settings.gates));
124
+ }
125
+ catch {
126
+ /* no remote switches: the digest is the files' alone, as before */
127
+ }
118
128
  return h.digest('hex').slice(0, 16);
119
129
  }
120
130
  //# sourceMappingURL=environment-hold.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"environment-hold.js","sourceRoot":"","sources":["../src/environment-hold.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"environment-hold.js","sourceRoot":"","sources":["../src/environment-hold.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,20 @@
1
- import { type ExpoTokenState, type FeatureReport } from '@looply/core';
1
+ import { type ChecksReport, type ExpoTokenState, type FeatureReport } from '@looply/core';
2
2
  import type { LooplyConfig } from './config';
3
+ import { applyRemoteGates } from './effective-gates';
3
4
  import { type EasCliFacts } from './eas-cli-install';
4
5
  /** An Expo app in this repository (so its EAS command line is installed before the first release). */
5
6
  export declare function isExpoProject(projectDir: string): boolean;
6
7
  export declare function expoTokenState(env?: NodeJS.ProcessEnv, home?: string): ExpoTokenState;
8
+ /**
9
+ * WHETHER THIS PC'S CHECKS ARE HEALTHY: the last base check (`gate-health.ts`), the gates in force
10
+ * after AutoRyn's fixes, and what this PC adjusted by itself, so the owner sees "base is red:
11
+ * <tests>" per component instead of finding out from a week of discarded rounds.
12
+ */
13
+ export declare function checksFor(projectDir: string, stateDir: string, config: Pick<LooplyConfig, 'gates' | 'run'> | undefined, remote: Parameters<typeof applyRemoteGates>[1]): ChecksReport;
7
14
  export declare function buildFeatureReport(input: {
8
15
  projectDir: string;
9
16
  stateDir: string;
10
- config: Pick<LooplyConfig, 'preview' | 'deliver' | 'bugRepro'>;
17
+ config: Pick<LooplyConfig, 'preview' | 'deliver' | 'bugRepro'> & Partial<Pick<LooplyConfig, 'gates' | 'run'>>;
11
18
  cliVersion: string;
12
19
  eas: EasCliFacts;
13
20
  browser?: () => string | null;
@@ -16,7 +23,7 @@ export declare function buildFeatureReport(input: {
16
23
  export declare function makeFeatureReporter(deps: {
17
24
  projectDir: string;
18
25
  stateDir: string;
19
- config: Pick<LooplyConfig, 'preview' | 'deliver' | 'bugRepro'>;
26
+ config: Pick<LooplyConfig, 'preview' | 'deliver' | 'bugRepro'> & Partial<Pick<LooplyConfig, 'gates' | 'run'>>;
20
27
  cliVersion: string;
21
28
  send(report: FeatureReport): Promise<unknown>;
22
29
  log(line: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"feature-report.d.ts","sourceRoot":"","sources":["../src/feature-report.ts"],"names":[],"mappings":"AAGA,OAAO,EAAmB,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AACxF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAgB,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAuBnE,sGAAsG;AACtG,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAQzD;AAED,wBAAgB,cAAc,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,cAAc,CAIlG;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC,CAAC;IAC/D,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,WAAW,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;CAC/B,GAAG,aAAa,CAyBhB;AAED,2FAA2F;AAC3F,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC,CAAC;IAC/D,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CA8BtB"}
1
+ {"version":3,"file":"feature-report.d.ts","sourceRoot":"","sources":["../src/feature-report.ts"],"names":[],"mappings":"AAGA,OAAO,EAAmB,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAC3G,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAkC,MAAM,mBAAmB,CAAC;AACrF,OAAO,EAAgB,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AA0BnE,sGAAsG;AACtG,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAQzD;AAED,wBAAgB,cAAc,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,cAAc,CAIlG;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,GAAG,KAAK,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,CAiBrL;AAWD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC;IAC9G,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,WAAW,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;CAC/B,GAAG,aAAa,CA0BhB;AAED,2FAA2F;AAC3F,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC;IAC9G,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CA+BtB"}
@@ -2,13 +2,18 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isExpoProject = isExpoProject;
4
4
  exports.expoTokenState = expoTokenState;
5
+ exports.checksFor = checksFor;
5
6
  exports.buildFeatureReport = buildFeatureReport;
6
7
  exports.makeFeatureReporter = makeFeatureReporter;
7
8
  const node_crypto_1 = require("node:crypto");
8
9
  const node_fs_1 = require("node:fs");
9
10
  const node_path_1 = require("node:path");
10
11
  const core_1 = require("@looply/core");
12
+ const effective_gates_1 = require("./effective-gates");
11
13
  const eas_cli_install_1 = require("./eas-cli-install");
14
+ const gate_health_1 = require("./gate-health");
15
+ const branch_delivery_1 = require("./branch-delivery");
16
+ const repo_init_1 = require("./repo-init");
12
17
  const expo_release_1 = require("./expo-release");
13
18
  const feature_settings_cache_1 = require("./feature-settings-cache");
14
19
  const machine_secrets_1 = require("./machine-secrets");
@@ -46,6 +51,42 @@ function expoTokenState(env = process.env, home) {
46
51
  return 'missing';
47
52
  return (0, machine_secrets_1.isDelivered)('EXPO_TOKEN', home) ? 'delivered' : 'file';
48
53
  }
54
+ /**
55
+ * WHETHER THIS PC'S CHECKS ARE HEALTHY: the last base check (`gate-health.ts`), the gates in force
56
+ * after AutoRyn's fixes, and what this PC adjusted by itself, so the owner sees "base is red:
57
+ * <tests>" per component instead of finding out from a week of discarded rounds.
58
+ */
59
+ function checksFor(projectDir, stateDir, config, remote) {
60
+ const record = (0, gate_health_1.readBaseHealth)(stateDir);
61
+ if (config === undefined || !Array.isArray(config.gates))
62
+ return (0, gate_health_1.checksReport)(record, [], []);
63
+ const effective = (0, effective_gates_1.applyRemoteGates)(config, remote);
64
+ const notes = [...effective.notes];
65
+ if (process.platform === 'win32') {
66
+ const fs = (0, gate_health_1.projectFs)(projectDir);
67
+ for (const g of effective.config.gates) {
68
+ const safe = (0, gate_health_1.sandboxSafeCommand)(g.run, fs);
69
+ if (safe.note !== null)
70
+ notes.push(`gate "${g.name}": ${safe.note}`);
71
+ }
72
+ }
73
+ const fs = { ...(0, gate_health_1.projectFs)(projectDir), listDirs: (p) => (0, repo_init_1.listDirsOf)((0, node_path_1.join)(projectDir, p)) };
74
+ const carried = (0, effective_gates_1.effectiveCarry)(fs, effective.config.run.carryIntoCheckouts ?? []);
75
+ if (carried.added.length)
76
+ notes.push(`carried into checkouts (the root test runner reaches them): ${carried.added.join(', ')}`);
77
+ if (!effective.baseCheck)
78
+ notes.push('the base check is off (AutoRyn)');
79
+ return { ...(0, gate_health_1.checksReport)(record, (0, effective_gates_1.gatesForReport)(effective), notes.slice(0, 10)), ci: ciNow(stateDir) };
80
+ }
81
+ /** The base's own CI as delivery last saw it; never throws. */
82
+ function ciNow(stateDir) {
83
+ try {
84
+ return (0, branch_delivery_1.ciBaseReport)((0, branch_delivery_1.fileDeliveryStore)(stateDir).all());
85
+ }
86
+ catch {
87
+ return null;
88
+ }
89
+ }
49
90
  function buildFeatureReport(input) {
50
91
  const cache = (0, feature_settings_cache_1.readFeatureSettingsCache)(input.stateDir);
51
92
  const remote = cache?.settings ?? null;
@@ -72,6 +113,7 @@ function buildFeatureReport(input) {
72
113
  appRelease: { easCli: input.eas.state, easCliVersion: input.eas.version, easCliProblem: input.eas.problem, expoToken: expoTokenState() },
73
114
  skipped: cache?.skipped ?? [],
74
115
  cliVersion: input.cliVersion,
116
+ checks: checksFor(input.projectDir, input.stateDir, input.config.gates === undefined || input.config.run === undefined ? undefined : { gates: input.config.gates, run: input.config.run }, remote?.gates),
75
117
  };
76
118
  }
77
119
  /** Rebuild when due or when the switches changed; send only what changed. Never throws. */
@@ -83,7 +125,8 @@ function makeFeatureReporter(deps) {
83
125
  return async () => {
84
126
  const now = (deps.now ?? Date.now)();
85
127
  const cache = (0, feature_settings_cache_1.readFeatureSettingsCache)(deps.stateDir);
86
- const switches = JSON.stringify(cache?.settings ?? null);
128
+ // A new base check is news too: AutoRyn shows it per component.
129
+ const switches = JSON.stringify([cache?.settings ?? null, (0, gate_health_1.readBaseHealth)(deps.stateDir)?.checkedAt ?? null, ciNow(deps.stateDir)]);
87
130
  try {
88
131
  if (report === null || now - builtAt >= REBUILD_MS || switches !== builtFor || report.appRelease.easCli === 'installing') {
89
132
  // An Expo repository gets its EAS command line ahead of its first release.
@@ -1 +1 @@
1
- {"version":3,"file":"feature-report.js","sourceRoot":"","sources":["../src/feature-report.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feature-report.js","sourceRoot":"","sources":["../src/feature-report.ts"],"names":[],"mappings":"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"}
@@ -72,7 +72,23 @@ export interface GateDraft {
72
72
  subPackages: string[];
73
73
  /** Every drafted gate in execution order, the left-out ones included. */
74
74
  gates: DraftGate[];
75
+ /**
76
+ * `run.carry_into_checkouts` to write, or [] to leave the key out: the root `node_modules` and
77
+ * the `node_modules` of every sub-app the root test runner reaches (`rootRunnerCarry`).
78
+ */
79
+ carry: string[];
75
80
  }
81
+ /**
82
+ * SUB-APPS WHOSE OWN PACKAGES A ROOT TEST RUNNER NEEDS.
83
+ *
84
+ * RobinBetBackend's root jest collects `admin/src` too (its testMatch begins with a double star),
85
+ * so its admin tests import React from `admin/node_modules` — which no checkout carried, and every
86
+ * round failed on "Cannot find module 'react/jsx-runtime'" (2026-10-20). The carry detection in
87
+ * config.ts only sees `cd <app> && …` gates. This reads what the root runner collects instead: a
88
+ * sub-app (own package.json with dependencies, not a workspace member) is reached unless the
89
+ * runner's `roots` / `testMatch` / `include` keep it out.
90
+ */
91
+ export declare function rootRunnerCarry(fs: DraftFs, workspaces: readonly string[]): string[];
76
92
  export declare function draftGates(fs: DraftFs, opts: {
77
93
  packageManager: PackageManager;
78
94
  workspaces: readonly string[];
@@ -1 +1 @@
1
- {"version":3,"file":"gate-draft.d.ts","sourceRoot":"","sources":["../src/gate-draft.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,MAAM,WAAW,OAAO;IACtB,yEAAyE;IACzE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACtC,oFAAoF;IACpF,QAAQ,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CACnC;AAED,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;AAE7D,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,SAAU,SAAQ,YAAY;IAC7C,gEAAgE;IAChE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,8EAA8E;IAC9E,GAAG,EAAE,MAAM,CAAC;IACZ,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,kEAAkE;AAClE,eAAO,MAAM,mBAAmB,MAAM,CAAC;AACvC,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAiCvC;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA0BlD;AAED,iFAAiF;AACjF,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEhD;AAkFD,oFAAoF;AACpF,eAAO,MAAM,iBAAiB,qEAAsE,CAAC;AA6OrG,sFAAsF;AACtF,wBAAgB,eAAe,CAAC,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CA0BpF;AAID,MAAM,WAAW,SAAS;IACxB,iDAAiD;IACjD,SAAS,EAAE,YAAY,GAAG,IAAI,CAAC;IAC/B,uEAAuE;IACvE,UAAU,EAAE,YAAY,GAAG,IAAI,CAAC;IAChC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,yEAAyE;IACzE,KAAK,EAAE,SAAS,EAAE,CAAC;CACpB;AAED,wBAAgB,UAAU,CACxB,EAAE,EAAE,OAAO,EACX,IAAI,EAAE;IAAE,cAAc,EAAE,cAAc,CAAC;IAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GACtE,SAAS,CAoEX;AAOD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,CAI7C;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,QAYb,CAAC;AAEb;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAiBtF"}
1
+ {"version":3,"file":"gate-draft.d.ts","sourceRoot":"","sources":["../src/gate-draft.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,MAAM,WAAW,OAAO;IACtB,yEAAyE;IACzE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACtC,oFAAoF;IACpF,QAAQ,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CACnC;AAED,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;AAE7D,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,SAAU,SAAQ,YAAY;IAC7C,gEAAgE;IAChE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,8EAA8E;IAC9E,GAAG,EAAE,MAAM,CAAC;IACZ,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,kEAAkE;AAClE,eAAO,MAAM,mBAAmB,MAAM,CAAC;AACvC,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAiCvC;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA0BlD;AAED,iFAAiF;AACjF,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEhD;AAkFD,oFAAoF;AACpF,eAAO,MAAM,iBAAiB,qEAAsE,CAAC;AAiPrG,sFAAsF;AACtF,wBAAgB,eAAe,CAAC,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CA0BpF;AAID,MAAM,WAAW,SAAS;IACxB,iDAAiD;IACjD,SAAS,EAAE,YAAY,GAAG,IAAI,CAAC;IAC/B,uEAAuE;IACvE,UAAU,EAAE,YAAY,GAAG,IAAI,CAAC;IAChC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,yEAAyE;IACzE,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB;;;OAGG;IACH,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CA+BpF;AAED,wBAAgB,UAAU,CACxB,EAAE,EAAE,OAAO,EACX,IAAI,EAAE;IAAE,cAAc,EAAE,cAAc,CAAC;IAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GACtE,SAAS,CAuEX;AA2BD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,CAI7C;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,QAYb,CAAC;AAEb;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAiBtF"}
@@ -4,10 +4,12 @@ exports.GATES_HEADER = exports.TYPECHECK_SCRIPTS = exports.UNIT_TEST_TIMEOUT_S =
4
4
  exports.stripComments = stripComments;
5
5
  exports.parseJsonc = parseJsonc;
6
6
  exports.findSubPackages = findSubPackages;
7
+ exports.rootRunnerCarry = rootRunnerCarry;
7
8
  exports.draftGates = draftGates;
8
9
  exports.gateLine = gateLine;
9
10
  exports.renderGatesSection = renderGatesSection;
10
11
  const glob_1 = require("./glob");
12
+ const gate_health_1 = require("./gate-health");
11
13
  /** Per-step budgets. A gate must finish well inside one round. */
12
14
  exports.TYPECHECK_TIMEOUT_S = 300;
13
15
  exports.UNIT_TEST_TIMEOUT_S = 600;
@@ -358,11 +360,14 @@ function draftTests(fs, pkg, pm) {
358
360
  args = `${args ? `${args} ` : ''}--ci`;
359
361
  // A forked worker needs an IPC pipe, which the Windows gate sandbox cannot
360
362
  // give it (win/contained-node.cjs fails that fast); worker threads and an
361
- // in-band run need none, and behave the same on every platform.
363
+ // in-band run need none, and behave the same on every platform. jest has
364
+ // worker threads from 29.5 and keeps its parallelism with them — a large
365
+ // suite in band can outgrow a round (RobinBetBackend, 2026-10-19).
362
366
  if (runner === 'vitest' && !/(^|\s)--pool(=|\s)/.test(args))
363
367
  args = `${args} --pool=threads`;
364
- if (runner === 'jest' && !/(^|\s)(-i|--runInBand|-w|--maxWorkers)(=|\s|$)/.test(args))
365
- args = `${args} --runInBand`;
368
+ if (runner === 'jest' && !/(^|\s)(-i|--runInBand|--workerThreads|-w|--maxWorkers)(=|\s|$)/.test(args)) {
369
+ args = `${args} ${(0, gate_health_1.jestSandboxFlag)(fs, pkg.dir)}`;
370
+ }
366
371
  const t = toolCommand(fs, pkg.dir, runner, args.trim());
367
372
  run = inDir(pkg.dir, t.cmd);
368
373
  how = text ? `its "${scriptName}" script (\`${text}\`)${t.local ? `, run with its local ${runner}` : ''}` : `${runner}, from its dependencies`;
@@ -420,6 +425,58 @@ function findSubPackages(fs, workspaces) {
420
425
  }
421
426
  return found;
422
427
  }
428
+ /**
429
+ * SUB-APPS WHOSE OWN PACKAGES A ROOT TEST RUNNER NEEDS.
430
+ *
431
+ * RobinBetBackend's root jest collects `admin/src` too (its testMatch begins with a double star),
432
+ * so its admin tests import React from `admin/node_modules` — which no checkout carried, and every
433
+ * round failed on "Cannot find module 'react/jsx-runtime'" (2026-10-20). The carry detection in
434
+ * config.ts only sees `cd <app> && …` gates. This reads what the root runner collects instead: a
435
+ * sub-app (own package.json with dependencies, not a workspace member) is reached unless the
436
+ * runner's `roots` / `testMatch` / `include` keep it out.
437
+ */
438
+ function rootRunnerCarry(fs, workspaces) {
439
+ const root = loadPkg(fs, '');
440
+ let text = script(root, 'test');
441
+ if (text && text.includes('no test specified'))
442
+ text = null;
443
+ const runner = runnerOf(root, text);
444
+ if (runner === null)
445
+ return [];
446
+ const texts = [];
447
+ if (runner === 'jest' && isObj(root.json?.['jest']))
448
+ texts.push(JSON.stringify(root.json['jest']));
449
+ for (const f of runner === 'jest' ? JEST_CONFIGS : VITEST_CONFIGS) {
450
+ const t = fs.readFile(f);
451
+ if (t !== null)
452
+ texts.push(stripComments(t));
453
+ }
454
+ const config = texts.join('\n');
455
+ const listed = (key) => {
456
+ const m = new RegExp(`["']?${key}["']?\\s*:\\s*\\[([^\\]]*)\\]`).exec(config);
457
+ if (!m)
458
+ return null;
459
+ return [...m[1].matchAll(/(['"`])((?:(?!\1).)*)\1/g)].map((x) => x[2].replace(/^<rootDir>\/?/, '').replace(/^\.\//, ''));
460
+ };
461
+ const roots = listed('roots');
462
+ const patterns = [...(listed('testMatch') ?? []), ...(listed('include') ?? [])];
463
+ const out = [];
464
+ for (const dir of findSubPackages(fs, workspaces)) {
465
+ if (dir.includes('/'))
466
+ continue; // the carry rule takes `<top-level>/node_modules` only
467
+ if (workspaces.some((w) => (0, glob_1.matchesGlob)(dir, w.replace(/^\.\//, '').replace(/\/+$/, ''))))
468
+ continue;
469
+ const pkg = loadPkg(fs, dir);
470
+ if (Object.keys(pkg.deps).length === 0)
471
+ continue;
472
+ if (roots !== null && !roots.some((r) => r === '' || r === '.' || r === dir || r.startsWith(`${dir}/`)))
473
+ continue;
474
+ if (patterns.length > 0 && !patterns.some((p) => p.startsWith('**') || p.startsWith(`${dir}/`) || p.startsWith(`${dir}\\`)))
475
+ continue;
476
+ out.push(`${dir}/node_modules`);
477
+ }
478
+ return out;
479
+ }
423
480
  function draftGates(fs, opts) {
424
481
  const root = loadPkg(fs, '');
425
482
  const rootTc = draftTypecheck(fs, root);
@@ -478,13 +535,38 @@ function draftGates(fs, opts) {
478
535
  }
479
536
  // Cheapest first — the order in the file is the execution order (DESIGN §4):
480
537
  // a broken typecheck should not wait on a test suite.
538
+ const gates = requireOne([...typechecks, ...tests]);
539
+ const reached = rootTest && !rootTest.disabled ? rootRunnerCarry(fs, opts.workspaces) : [];
481
540
  return {
482
541
  typecheck: rootTc?.step ?? null,
483
542
  testRunner: rootTest && !rootTest.disabled ? rootTest.step : null,
484
543
  subPackages,
485
- gates: [...typechecks, ...tests],
544
+ gates,
545
+ carry: reached.length ? ['node_modules', ...reached] : [],
486
546
  };
487
547
  }
548
+ /**
549
+ * 🔴 AT LEAST ONE ACTIVE GATE IS REQUIRED, or finished work is never delivered: the run-end
550
+ * delivery is recorded against required steps only, and robinbet's config had none — "delivery:
551
+ * none recorded … mark at least one required step" on every goal. The main test step is
552
+ * preferred; a config whose every gate is filtered gets its first one unfiltered, said in its why.
553
+ */
554
+ function requireOne(gates) {
555
+ const active = gates.filter((g) => !g.disabled);
556
+ if (active.length === 0 || active.some((g) => g.required))
557
+ return gates;
558
+ const open = active.filter((g) => !g.when);
559
+ const isTest = (g) => /(^|:)(jest|vitest|test)$/.test(g.name);
560
+ const pick = open.find(isTest) ?? open[0] ?? active.find(isTest) ?? active[0];
561
+ return gates.map((g) => {
562
+ if (g !== pick)
563
+ return g;
564
+ if (!g.when)
565
+ return { ...g, required: true };
566
+ const { when, ...rest } = g;
567
+ return { ...rest, required: true, why: `${g.why}; runs on every round and is required (was only when ${when}), because finished work is delivered only against a required step` };
568
+ });
569
+ }
488
570
  /* ─────────────────────────────── rendering ─────────────────────────────── */
489
571
  /** YAML double-quoted scalars are a superset of JSON strings, so this is safe. */
490
572
  const yamlStr = (s) => JSON.stringify(s);
@@ -1 +1 @@
1
- {"version":3,"file":"gate-draft.js","sourceRoot":"","sources":["../src/gate-draft.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gate-draft.js","sourceRoot":"","sources":["../src/gate-draft.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,157 @@
1
+ import type { CheckStepState, ChecksReport, ChecksState, QuarantineReason } from '@looply/core';
2
+ import type { CommandRunner, StepSpec } from './gate';
3
+ /**
4
+ * GATES THAT WORK ON ANY PC, AND A BASE THAT IS CHECKED BEFORE IT IS BLAMED.
5
+ *
6
+ * ─────────────────────────────────────────────────────────────────────────────
7
+ * 🔴 WHAT THIS EXISTS FOR (RobinBetBackend, 2026-10-18/20). Every fix below was
8
+ * made by hand in one PC's git-ignored `.looply/config.yaml`, so a second PC
9
+ * would have met every one of them again:
10
+ *
11
+ * - jest's child-process workers need an IPC pipe the Windows AppContainer
12
+ * forbids, so the whole suite crashed in the gate sandbox;
13
+ * - tests that cannot pass in the sandbox (an `lstat C:\` the sandbox refuses)
14
+ * or that flake in the full parallel run made the required gate red on the
15
+ * UNCHANGED base — and every round was thrown away for it (26 rounds), with
16
+ * nobody told that the base itself was red.
17
+ *
18
+ * So, here:
19
+ *
20
+ * - `sandboxSafeCommand` adds `--workerThreads` (jest ≥ 29.5, else
21
+ * `--runInBand`) or `--pool=threads` (vitest) to a test runner the sandbox
22
+ * would otherwise crash, at the moment the step runs — never by editing the
23
+ * person's file — and the step's output says it did;
24
+ * - `checkBase` runs the unconditional gates on the base before a goal's first
25
+ * round. A step red there is split into the test files that failed; each is
26
+ * rerun alone (red alone: red on the base; green alone: flaky in the full
27
+ * run), the step is rerun with them left out, and when that passes they are
28
+ * QUARANTINED for rounds on that base, with a visible note. When nothing can
29
+ * be left out to make it pass, the base is RED: the goal is held as a machine
30
+ * or config fault instead of being charged round after round.
31
+ * ─────────────────────────────────────────────────────────────────────────────
32
+ */
33
+ export type TestKind = 'jest' | 'vitest';
34
+ export interface ReadFs {
35
+ /** The file's text, or null when it does not exist or cannot be read. Paths are relative to the project root. */
36
+ readFile(path: string): string | null;
37
+ }
38
+ /** A test runner call found in a gate line. */
39
+ export interface TestInvocation {
40
+ kind: TestKind;
41
+ /** The folder the runner runs in, relative to the project ('' for the root), from a leading `cd <dir> &&`. */
42
+ dir: string;
43
+ /** How it is reached: the runner itself, or a package script that is exactly one runner call. */
44
+ via: 'direct' | 'npm' | 'pnpm' | 'yarn';
45
+ /** Every argument the runner gets: the script's own and the line's. */
46
+ args: string;
47
+ }
48
+ /**
49
+ * The test runner a gate line runs, or null. Only shapes that can be read with certainty: a
50
+ * runner call (optionally after `cd <dir> &&`), or `npm test` / `npm run <script>` (pnpm, yarn)
51
+ * whose package script is exactly one runner call.
52
+ */
53
+ export declare function testInvocation(cmd: string, fs: ReadFs): TestInvocation | null;
54
+ /** `cmd` with `extra` handed to its runner (after `--` for an npm script). */
55
+ export declare function appendArgs(cmd: string, inv: TestInvocation, extra: string): string;
56
+ /** jest's `--workerThreads` exists from 29.5; before that, or unknown, the suite runs in band. */
57
+ export declare function jestSandboxFlag(fs: ReadFs, dir: string): '--workerThreads' | '--runInBand';
58
+ /**
59
+ * The line as it must run inside the Windows gate sandbox, and why it changed (null: unchanged).
60
+ *
61
+ * A child-process worker needs an IPC pipe the AppContainer does not give (win/contained-node.cjs
62
+ * refuses `fork` fast, and jest then fails every file); worker threads and an in-band run need none.
63
+ */
64
+ export declare function sandboxSafeCommand(cmd: string, fs: ReadFs): {
65
+ cmd: string;
66
+ note: string | null;
67
+ };
68
+ /**
69
+ * The test files a jest or vitest run reports as failed, forward slashes, in the order printed.
70
+ * Empty when the output names none (a crash before any file ran, a config error).
71
+ */
72
+ export declare function failingTestFiles(output: string): string[];
73
+ /** A test file path as a jest `testPathIgnorePatterns` entry: literal, either separator, at the end. */
74
+ export declare function jestPathPattern(file: string): string;
75
+ /** What the project's jest config already ignores, read without running it (best effort). */
76
+ export declare function existingJestIgnores(fs: ReadFs, dir: string): string[];
77
+ /**
78
+ * `cmd` with `files` left out. jest replaces its configured ignore list with one given on the
79
+ * command line, so the default `/node_modules/` and what the config already ignores are kept.
80
+ */
81
+ export declare function withQuarantine(cmd: string, inv: TestInvocation, files: readonly string[], fs: ReadFs): string;
82
+ /** `cmd` narrowed to one test file. */
83
+ export declare function singleFile(cmd: string, inv: TestInvocation, file: string): string;
84
+ /**
85
+ * The gate runner rounds use: sandbox-safe flags (Windows only, where the AppContainer is), then
86
+ * the quarantined tests for that step left out. The step's output starts with what was changed,
87
+ * so nobody reads a red run of a command that is not the one in their file without being told.
88
+ */
89
+ export declare function makeHealthyGateRunner(base: CommandRunner, opts: {
90
+ fs: ReadFs;
91
+ /** True where gates run in the Windows sandbox. */
92
+ sandbox: boolean;
93
+ /** Test files to leave out of this exact configured line, with why, or null. */
94
+ quarantineFor?: (cmd: string) => {
95
+ files: readonly string[];
96
+ why: string;
97
+ } | null;
98
+ }): CommandRunner;
99
+ /** More failing files than this is not a few bad tests: it is a broken check. */
100
+ export declare const MAX_QUARANTINE_FILES = 10;
101
+ /** A red base is checked again after this, even unchanged (a flake, a machine fixed by hand). */
102
+ export declare const RED_RECHECK_MS: number;
103
+ export interface BaseStepCheck {
104
+ name: string;
105
+ state: CheckStepState;
106
+ tests: {
107
+ file: string;
108
+ why: QuarantineReason;
109
+ }[];
110
+ because: string | null;
111
+ }
112
+ export interface BaseHealth {
113
+ version: 1;
114
+ /** What the record is valid for: the base tree and the gate lines (`baseHealthKey`). */
115
+ key: string;
116
+ treeSha: string;
117
+ baseSha: string;
118
+ checkedAt: string;
119
+ state: Exclude<ChecksState, 'unchecked'>;
120
+ steps: BaseStepCheck[];
121
+ }
122
+ export declare const BASE_HEALTH_FILE = "base-health.json";
123
+ /** The gate lines a check result depends on. */
124
+ export declare function gatesDigest(steps: readonly StepSpec[]): string;
125
+ export declare function baseHealthKey(treeSha: string, steps: readonly StepSpec[]): string;
126
+ export declare function readBaseHealth(stateDir: string): BaseHealth | null;
127
+ export declare function writeBaseHealth(stateDir: string, record: BaseHealth): void;
128
+ /** The record may stand in for a new check of the same key: green-ish always, red for an hour. */
129
+ export declare function reusable(record: BaseHealth | null, key: string, now: number): record is BaseHealth;
130
+ /** The files a record quarantines, per configured step line. */
131
+ export declare function quarantineByLine(record: BaseHealth | null, steps: readonly StepSpec[]): Map<string, string[]>;
132
+ /**
133
+ * Run the unconditional gates on the unchanged base and decide: healthy, quarantined, or red.
134
+ *
135
+ * `runner` must already be the sandbox-safe one rounds use (with the quarantine AutoRyn set, but
136
+ * without any earlier base check's — that is what is being decided). Steps with a `when:` filter
137
+ * are not run: no changed path can match on the base, so a round never meets them unasked.
138
+ * The first step that cannot be made green ends the check — what follows it is not reached by a
139
+ * round either.
140
+ */
141
+ export declare function checkBase(input: {
142
+ steps: readonly StepSpec[];
143
+ runner: CommandRunner;
144
+ fs: ReadFs;
145
+ log?: (line: string) => void;
146
+ maxFiles?: number;
147
+ }): Promise<{
148
+ state: BaseHealth['state'];
149
+ steps: BaseStepCheck[];
150
+ }>;
151
+ /** Why a goal is held on a red base, in words the hold record and AutoRyn show (≤ 300 chars). */
152
+ export declare function redBaseReason(record: Pick<BaseHealth, 'steps'>): string;
153
+ /** The report AutoRyn shows per component. */
154
+ export declare function checksReport(record: BaseHealth | null, gates: ChecksReport['gates'], notes: readonly string[]): ChecksReport;
155
+ /** A real filesystem view of a project, for the functions above. */
156
+ export declare function projectFs(projectDir: string): ReadFs;
157
+ //# sourceMappingURL=gate-health.d.ts.map