@cleocode/core 2026.10.18 → 2026.10.19

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 (259) hide show
  1. package/dist/build-provenance.json +2 -2
  2. package/dist/check/pr-gate.js +1 -1
  3. package/dist/check/pr-gate.js.map +1 -1
  4. package/dist/cloud/nexus-vault.d.ts +4 -3
  5. package/dist/cloud/nexus-vault.d.ts.map +1 -1
  6. package/dist/cloud/nexus-vault.js +62 -22
  7. package/dist/cloud/nexus-vault.js.map +1 -1
  8. package/dist/config.d.ts.map +1 -1
  9. package/dist/config.js +11 -0
  10. package/dist/config.js.map +1 -1
  11. package/dist/docs/conduit-history-backfill.d.ts +210 -0
  12. package/dist/docs/conduit-history-backfill.d.ts.map +1 -0
  13. package/dist/docs/conduit-history-backfill.js +451 -0
  14. package/dist/docs/conduit-history-backfill.js.map +1 -0
  15. package/dist/docs/docs-ops.d.ts +33 -0
  16. package/dist/docs/docs-ops.d.ts.map +1 -1
  17. package/dist/docs/docs-ops.js +72 -0
  18. package/dist/docs/docs-ops.js.map +1 -1
  19. package/dist/docs/docs-update.d.ts.map +1 -1
  20. package/dist/docs/docs-update.js +71 -0
  21. package/dist/docs/docs-update.js.map +1 -1
  22. package/dist/docs/doctor.d.ts +18 -4
  23. package/dist/docs/doctor.d.ts.map +1 -1
  24. package/dist/docs/doctor.js +124 -3
  25. package/dist/docs/doctor.js.map +1 -1
  26. package/dist/docs/section-merge.d.ts +70 -9
  27. package/dist/docs/section-merge.d.ts.map +1 -1
  28. package/dist/docs/section-merge.js +167 -10
  29. package/dist/docs/section-merge.js.map +1 -1
  30. package/dist/docs/section-write-path.d.ts.map +1 -1
  31. package/dist/docs/section-write-path.js +23 -8
  32. package/dist/docs/section-write-path.js.map +1 -1
  33. package/dist/gateway-client/generated/types.gen.d.ts +4 -0
  34. package/dist/gateway-client/generated/types.gen.d.ts.map +1 -1
  35. package/dist/go/driver.d.ts +29 -145
  36. package/dist/go/driver.d.ts.map +1 -1
  37. package/dist/go/driver.js +75 -168
  38. package/dist/go/driver.js.map +1 -1
  39. package/dist/go/index.d.ts +1 -1
  40. package/dist/go/index.d.ts.map +1 -1
  41. package/dist/go/index.js +1 -1
  42. package/dist/go/index.js.map +1 -1
  43. package/dist/goal/close.d.ts +1 -1
  44. package/dist/goal/close.js +2 -2
  45. package/dist/goal/close.js.map +1 -1
  46. package/dist/goal/draft.d.ts +10 -3
  47. package/dist/goal/draft.d.ts.map +1 -1
  48. package/dist/goal/draft.js +14 -9
  49. package/dist/goal/draft.js.map +1 -1
  50. package/dist/goal/index.d.ts +9 -12
  51. package/dist/goal/index.d.ts.map +1 -1
  52. package/dist/goal/index.js +9 -12
  53. package/dist/goal/index.js.map +1 -1
  54. package/dist/goal/runtime.d.ts +126 -0
  55. package/dist/goal/runtime.d.ts.map +1 -0
  56. package/dist/goal/runtime.js +289 -0
  57. package/dist/goal/runtime.js.map +1 -0
  58. package/dist/goal/status.d.ts +39 -0
  59. package/dist/goal/status.d.ts.map +1 -0
  60. package/dist/goal/status.js +101 -0
  61. package/dist/goal/status.js.map +1 -0
  62. package/dist/hooks/project-runner.d.ts +8 -3
  63. package/dist/hooks/project-runner.d.ts.map +1 -1
  64. package/dist/hooks/project-runner.js +104 -14
  65. package/dist/hooks/project-runner.js.map +1 -1
  66. package/dist/hooks/project-state.js +1 -1
  67. package/dist/hooks/project-state.js.map +1 -1
  68. package/dist/internal.d.ts +7 -3
  69. package/dist/internal.d.ts.map +1 -1
  70. package/dist/internal.js +5 -3
  71. package/dist/internal.js.map +1 -1
  72. package/dist/lifecycle/engine-ops.d.ts.map +1 -1
  73. package/dist/lifecycle/engine-ops.js +9 -6
  74. package/dist/lifecycle/engine-ops.js.map +1 -1
  75. package/dist/memory/retrieval/observe.d.ts.map +1 -1
  76. package/dist/memory/retrieval/observe.js +4 -8
  77. package/dist/memory/retrieval/observe.js.map +1 -1
  78. package/dist/paths.d.ts.map +1 -1
  79. package/dist/paths.js +4 -1
  80. package/dist/paths.js.map +1 -1
  81. package/dist/playbooks/cantbook-profile.d.ts +3 -3
  82. package/dist/playbooks/cantbook-profile.js +3 -3
  83. package/dist/playbooks/pi-runner-wiring.d.ts +3 -3
  84. package/dist/playbooks/pi-runner-wiring.js +3 -3
  85. package/dist/release/ci-evidence.d.ts +28 -0
  86. package/dist/release/ci-evidence.d.ts.map +1 -1
  87. package/dist/release/ci-evidence.js +76 -20
  88. package/dist/release/ci-evidence.js.map +1 -1
  89. package/dist/release/open.d.ts +11 -0
  90. package/dist/release/open.d.ts.map +1 -1
  91. package/dist/release/open.js +49 -10
  92. package/dist/release/open.js.map +1 -1
  93. package/dist/release/preflight-skip.d.ts +50 -0
  94. package/dist/release/preflight-skip.d.ts.map +1 -1
  95. package/dist/release/preflight-skip.js +151 -34
  96. package/dist/release/preflight-skip.js.map +1 -1
  97. package/dist/release/reconcile.d.ts.map +1 -1
  98. package/dist/release/reconcile.js +6 -3
  99. package/dist/release/reconcile.js.map +1 -1
  100. package/dist/scaffold/ensure-config.d.ts +1 -1
  101. package/dist/scaffold/ensure-config.d.ts.map +1 -1
  102. package/dist/scaffold/ensure-config.js +2 -0
  103. package/dist/scaffold/ensure-config.js.map +1 -1
  104. package/dist/security/index.d.ts +1 -1
  105. package/dist/security/index.d.ts.map +1 -1
  106. package/dist/security/index.js +1 -1
  107. package/dist/security/index.js.map +1 -1
  108. package/dist/security/override-cap-setting.d.ts +180 -0
  109. package/dist/security/override-cap-setting.d.ts.map +1 -0
  110. package/dist/security/override-cap-setting.js +657 -0
  111. package/dist/security/override-cap-setting.js.map +1 -0
  112. package/dist/security/override-cap.d.ts +20 -29
  113. package/dist/security/override-cap.d.ts.map +1 -1
  114. package/dist/security/override-cap.js +47 -71
  115. package/dist/security/override-cap.js.map +1 -1
  116. package/dist/security/owner-override-auth.d.ts +58 -0
  117. package/dist/security/owner-override-auth.d.ts.map +1 -1
  118. package/dist/security/owner-override-auth.js +82 -1
  119. package/dist/security/owner-override-auth.js.map +1 -1
  120. package/dist/security/owner-override-authority.d.ts +67 -0
  121. package/dist/security/owner-override-authority.d.ts.map +1 -0
  122. package/dist/security/owner-override-authority.js +100 -0
  123. package/dist/security/owner-override-authority.js.map +1 -0
  124. package/dist/sessions/handoff.d.ts.map +1 -1
  125. package/dist/sessions/handoff.js +4 -5
  126. package/dist/sessions/handoff.js.map +1 -1
  127. package/dist/sessions/index.d.ts.map +1 -1
  128. package/dist/sessions/index.js +22 -25
  129. package/dist/sessions/index.js.map +1 -1
  130. package/dist/store/conduit-doc-history.d.ts +39 -7
  131. package/dist/store/conduit-doc-history.d.ts.map +1 -1
  132. package/dist/store/conduit-doc-history.js +62 -12
  133. package/dist/store/conduit-doc-history.js.map +1 -1
  134. package/dist/store/data-safety-central.d.ts.map +1 -1
  135. package/dist/store/data-safety-central.js +3 -2
  136. package/dist/store/data-safety-central.js.map +1 -1
  137. package/dist/store/json.d.ts.map +1 -1
  138. package/dist/store/json.js +7 -7
  139. package/dist/store/json.js.map +1 -1
  140. package/dist/store/portable-bundle-scan.d.ts +23 -1
  141. package/dist/store/portable-bundle-scan.d.ts.map +1 -1
  142. package/dist/store/portable-bundle-scan.js +85 -3
  143. package/dist/store/portable-bundle-scan.js.map +1 -1
  144. package/dist/store/portable-bundle.d.ts.map +1 -1
  145. package/dist/store/portable-bundle.js +6 -1
  146. package/dist/store/portable-bundle.js.map +1 -1
  147. package/dist/store/row-identity-registry.d.ts +5 -3
  148. package/dist/store/row-identity-registry.d.ts.map +1 -1
  149. package/dist/store/row-identity-registry.js +54 -38
  150. package/dist/store/row-identity-registry.js.map +1 -1
  151. package/dist/store/schema/cleo-project/conduit.d.ts.map +1 -1
  152. package/dist/store/schema/cleo-project/conduit.js +4 -3
  153. package/dist/store/schema/cleo-project/conduit.js.map +1 -1
  154. package/dist/store/schema/cleo-project/runtime.d.ts +32 -0
  155. package/dist/store/schema/cleo-project/runtime.d.ts.map +1 -1
  156. package/dist/store/schema/cleo-project/runtime.js +7 -3
  157. package/dist/store/schema/cleo-project/runtime.js.map +1 -1
  158. package/dist/store/session-store.d.ts +45 -0
  159. package/dist/store/session-store.d.ts.map +1 -1
  160. package/dist/store/session-store.js +96 -1
  161. package/dist/store/session-store.js.map +1 -1
  162. package/dist/store/sqlite.d.ts +2 -0
  163. package/dist/store/sqlite.d.ts.map +1 -1
  164. package/dist/store/sqlite.js +12 -0
  165. package/dist/store/sqlite.js.map +1 -1
  166. package/dist/store/sync/merge/rules.d.ts.map +1 -1
  167. package/dist/store/sync/merge/rules.js +0 -16
  168. package/dist/store/sync/merge/rules.js.map +1 -1
  169. package/dist/store/sync/sealer.d.ts.map +1 -1
  170. package/dist/store/sync/sealer.js +27 -1
  171. package/dist/store/sync/sealer.js.map +1 -1
  172. package/dist/store/sync/sequencing.d.ts +3 -1
  173. package/dist/store/sync/sequencing.d.ts.map +1 -1
  174. package/dist/store/sync/sequencing.js +5 -3
  175. package/dist/store/sync/sequencing.js.map +1 -1
  176. package/dist/store/sync/timestamp-canon.d.ts.map +1 -1
  177. package/dist/store/sync/timestamp-canon.js +4 -0
  178. package/dist/store/sync/timestamp-canon.js.map +1 -1
  179. package/dist/store/table-classification.d.ts.map +1 -1
  180. package/dist/store/table-classification.js +12 -8
  181. package/dist/store/table-classification.js.map +1 -1
  182. package/dist/store/twin-collapse.d.ts +21 -0
  183. package/dist/store/twin-collapse.d.ts.map +1 -1
  184. package/dist/store/twin-collapse.js +235 -18
  185. package/dist/store/twin-collapse.js.map +1 -1
  186. package/dist/system/health.d.ts +17 -0
  187. package/dist/system/health.d.ts.map +1 -1
  188. package/dist/system/health.js +96 -0
  189. package/dist/system/health.js.map +1 -1
  190. package/dist/tasks/affected-packages.d.ts +67 -2
  191. package/dist/tasks/affected-packages.d.ts.map +1 -1
  192. package/dist/tasks/affected-packages.js +149 -21
  193. package/dist/tasks/affected-packages.js.map +1 -1
  194. package/dist/tasks/affected-scope.d.ts.map +1 -1
  195. package/dist/tasks/affected-scope.js +91 -5
  196. package/dist/tasks/affected-scope.js.map +1 -1
  197. package/dist/tasks/changeset-plan.d.ts +33 -0
  198. package/dist/tasks/changeset-plan.d.ts.map +1 -0
  199. package/dist/tasks/changeset-plan.js +152 -0
  200. package/dist/tasks/changeset-plan.js.map +1 -0
  201. package/dist/tasks/complete.d.ts.map +1 -1
  202. package/dist/tasks/complete.js +9 -1
  203. package/dist/tasks/complete.js.map +1 -1
  204. package/dist/tasks/done-plan.d.ts.map +1 -1
  205. package/dist/tasks/done-plan.js +28 -14
  206. package/dist/tasks/done-plan.js.map +1 -1
  207. package/dist/tasks/done-record.d.ts.map +1 -1
  208. package/dist/tasks/done-record.js +5 -1
  209. package/dist/tasks/done-record.js.map +1 -1
  210. package/dist/tasks/evidence.d.ts.map +1 -1
  211. package/dist/tasks/evidence.js +149 -18
  212. package/dist/tasks/evidence.js.map +1 -1
  213. package/dist/tasks/gate-runner.d.ts.map +1 -1
  214. package/dist/tasks/gate-runner.js +76 -4
  215. package/dist/tasks/gate-runner.js.map +1 -1
  216. package/dist/tasks/qa-run-binding.d.ts +18 -0
  217. package/dist/tasks/qa-run-binding.d.ts.map +1 -1
  218. package/dist/tasks/qa-run-binding.js +41 -1
  219. package/dist/tasks/qa-run-binding.js.map +1 -1
  220. package/dist/tasks/test-run-binding.d.ts +62 -0
  221. package/dist/tasks/test-run-binding.d.ts.map +1 -1
  222. package/dist/tasks/test-run-binding.js +126 -21
  223. package/dist/tasks/test-run-binding.js.map +1 -1
  224. package/dist/tasks/tool-resolver.d.ts +7 -0
  225. package/dist/tasks/tool-resolver.d.ts.map +1 -1
  226. package/dist/tasks/tool-resolver.js +3 -1
  227. package/dist/tasks/tool-resolver.js.map +1 -1
  228. package/dist/validation/engine-ops.d.ts.map +1 -1
  229. package/dist/validation/engine-ops.js +24 -29
  230. package/dist/validation/engine-ops.js.map +1 -1
  231. package/migrations/drizzle-cleo-project/20261016120000_t12535-playbook-row-uids/migration.sql +24 -0
  232. package/package.json +13 -13
  233. package/schemas/project-context.schema.json +5 -0
  234. package/templates/CLEO-INJECTION.md +1 -1
  235. package/templates/CLEO-REFERENCE.md +42 -1
  236. package/templates/cleo-gitignore +3 -0
  237. package/templates/git-hooks/legacy-hashes.json +1 -0
  238. package/templates/git-hooks/pre-push +35 -7
  239. package/templates/workflows/release-prepare.yml.tmpl +82 -4
  240. package/dist/goal/advance-with-persist.d.ts +0 -80
  241. package/dist/goal/advance-with-persist.d.ts.map +0 -1
  242. package/dist/goal/advance-with-persist.js +0 -105
  243. package/dist/goal/advance-with-persist.js.map +0 -1
  244. package/dist/goal/arm.d.ts +0 -61
  245. package/dist/goal/arm.d.ts.map +0 -1
  246. package/dist/goal/arm.js +0 -65
  247. package/dist/goal/arm.js.map +0 -1
  248. package/dist/goal/continuation.d.ts +0 -66
  249. package/dist/goal/continuation.d.ts.map +0 -1
  250. package/dist/goal/continuation.js +0 -111
  251. package/dist/goal/continuation.js.map +0 -1
  252. package/dist/goal/judge.d.ts +0 -113
  253. package/dist/goal/judge.d.ts.map +0 -1
  254. package/dist/goal/judge.js +0 -193
  255. package/dist/goal/judge.js.map +0 -1
  256. package/dist/goal/loop.d.ts +0 -75
  257. package/dist/goal/loop.d.ts.map +0 -1
  258. package/dist/goal/loop.js +0 -132
  259. package/dist/goal/loop.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"override-cap-setting.js","sourceRoot":"","sources":["../../src/security/override-cap-setting.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,12 @@
1
1
  /**
2
- * Per-session CLEO_OWNER_OVERRIDE cap with waiver-doc requirement (T1501 / P0-5).
2
+ * Per-session CLEO_OWNER_OVERRIDE cap (T1501 / P0-5).
3
3
  *
4
- * Enforces a hard cap (default: 10) on how many times `CLEO_OWNER_OVERRIDE` may
5
- * be used within a single session. Above the cap the call is rejected with
6
- * `E_OVERRIDE_CAP_EXCEEDED` unless the operator sets:
7
- *
8
- * `CLEO_OWNER_OVERRIDE_WAIVER=<absolute path to waiver doc>`
9
- *
10
- * The waiver file must exist and contain `cap-waiver: true` (YAML front-matter
11
- * or a plain line in the file).
4
+ * Enforces a hard cap (default: 10, or the owner's sealed
5
+ * `evidence.overrideCapPerSession`, T13787) on how many times
6
+ * `CLEO_OWNER_OVERRIDE` may be used within a single session. Above the cap the
7
+ * call is rejected with `E_OVERRIDE_CAP_EXCEEDED`. The former
8
+ * `CLEO_OWNER_OVERRIDE_WAIVER` file no longer lifts the cap (T13787): any agent
9
+ * could write one; a set waiver is ignored and audited.
12
10
  *
13
11
  * The running count is persisted in
14
12
  * `.cleo/audit/session-override-count.<sessionId>.json` so it survives across
@@ -36,6 +34,15 @@
36
34
  * workers that each re-verify, so the original 3 was too low.
37
35
  */
38
36
  export declare const DEFAULT_OVERRIDE_CAP_PER_SESSION = 10;
37
+ /**
38
+ * The per-project setting that replaces the default cap (T13787). Only the
39
+ * owner path in `override-cap-setting.ts` may change it.
40
+ */
41
+ export declare const OVERRIDE_CAP_SETTING = "evidence.overrideCapPerSession";
42
+ /** The largest cap the owner may set; a larger value is clamped to it (T13787). */
43
+ export declare const MAX_OVERRIDE_CAP_PER_SESSION = 100;
44
+ /** The owner command that changes the cap, named in every refusal (T13787). */
45
+ export declare const OVERRIDE_CAP_OWNER_COMMAND = "cleo config set evidence.overrideCapPerSession <n>";
39
46
  /**
40
47
  * Canonical worktree path segment used to detect worktree-orchestrate context
41
48
  * (T1504 / ADR-059 §D3).
@@ -114,23 +121,6 @@ export declare function writeSessionOverrideCount(projectRoot: string, sessionId
114
121
  * @task T9505
115
122
  */
116
123
  export declare function clearSessionOverrideCount(projectRoot: string, sessionId: string): void;
117
- /**
118
- * Validate that a waiver document exists and contains the required marker.
119
- *
120
- * The waiver file must:
121
- * 1. Exist at the absolute path specified by `CLEO_OWNER_OVERRIDE_WAIVER`.
122
- * 2. Contain the string `cap-waiver: true` (any position in the file).
123
- *
124
- * @param waiverPath - Absolute path to the waiver document.
125
- * @returns `{ valid: true }` when the waiver is accepted, or
126
- * `{ valid: false, reason: string }` when it is rejected.
127
- *
128
- * @task T1501
129
- */
130
- export declare function validateWaiverDoc(waiverPath: string): {
131
- valid: boolean;
132
- reason?: string;
133
- };
134
124
  /** Result of the override cap check. */
135
125
  export interface OverrideCapResult {
136
126
  /** Whether the override is permitted. */
@@ -152,8 +142,8 @@ export interface OverrideCapResult {
152
142
  /**
153
143
  * Check and enforce the per-session CLEO_OWNER_OVERRIDE cap.
154
144
  *
155
- * Reads the persisted count, checks it against the cap, validates the waiver
156
- * doc when required, increments the count on success, and returns the ordinal.
145
+ * Reads the persisted count, checks it against the cap, increments the count
146
+ * on success, and returns the ordinal.
157
147
  *
158
148
  * ## Worktree-context exemption (T1504 / ADR-059 §D3)
159
149
  *
@@ -163,7 +153,8 @@ export interface OverrideCapResult {
163
153
  *
164
154
  * @param projectRoot - Absolute path to the project root.
165
155
  * @param sessionId - Active session ID ("global" when no session is active).
166
- * @param cap - Maximum overrides allowed per session (default: 10).
156
+ * @param cap - Maximum overrides allowed per session (default: 10); callers pass
157
+ * the project's owner setting from `resolveOverrideCap` (T13787).
167
158
  * @param command - CLI command string used for worktree-context detection (optional).
168
159
  * @returns `OverrideCapResult` indicating whether the override is permitted.
169
160
  *
@@ -1 +1 @@
1
- {"version":3,"file":"override-cap.d.ts","sourceRoot":"","sources":["../../src/security/override-cap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAWH;;;;;GAKG;AACH,eAAO,MAAM,gCAAgC,KAAK,CAAC;AAEnD;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,gBAAgB,CAAC;AAEnD;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,IAAI,OAAO,CAIpD;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE1D;AAMD;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAG1F;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAiBvF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GACZ,IAAI,CAUN;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAStF;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CA8BzF;AAMD,wCAAwC;AACxC,MAAM,WAAW,iBAAiB;IAChC,yCAAyC;IACzC,OAAO,EAAE,OAAO,CAAC;IACjB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8BAA8B;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kFAAkF;IAClF,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC;;;;;OAKG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,4BAA4B,CAC1C,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,GAAG,GAAE,MAAyC,EAC9C,OAAO,CAAC,EAAE,MAAM,GACf,iBAAiB,CA6CnB"}
1
+ {"version":3,"file":"override-cap.d.ts","sourceRoot":"","sources":["../../src/security/override-cap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAYH;;;;;GAKG;AACH,eAAO,MAAM,gCAAgC,KAAK,CAAC;AAEnD;;;GAGG;AACH,eAAO,MAAM,oBAAoB,mCAAmC,CAAC;AAErE,mFAAmF;AACnF,eAAO,MAAM,4BAA4B,MAAM,CAAC;AAEhD,+EAA+E;AAC/E,eAAO,MAAM,0BAA0B,uDAAgD,CAAC;AAExF;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,gBAAgB,CAAC;AAEnD;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,IAAI,OAAO,CAIpD;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE1D;AAMD;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAG1F;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAiBvF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GACZ,IAAI,CAUN;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAStF;AAMD,wCAAwC;AACxC,MAAM,WAAW,iBAAiB;IAChC,yCAAyC;IACzC,OAAO,EAAE,OAAO,CAAC;IACjB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8BAA8B;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kFAAkF;IAClF,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC;;;;;OAKG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,4BAA4B,CAC1C,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,GAAG,GAAE,MAAyC,EAC9C,OAAO,CAAC,EAAE,MAAM,GACf,iBAAiB,CAqDnB"}
@@ -1,14 +1,12 @@
1
1
  /**
2
- * Per-session CLEO_OWNER_OVERRIDE cap with waiver-doc requirement (T1501 / P0-5).
2
+ * Per-session CLEO_OWNER_OVERRIDE cap (T1501 / P0-5).
3
3
  *
4
- * Enforces a hard cap (default: 10) on how many times `CLEO_OWNER_OVERRIDE` may
5
- * be used within a single session. Above the cap the call is rejected with
6
- * `E_OVERRIDE_CAP_EXCEEDED` unless the operator sets:
7
- *
8
- * `CLEO_OWNER_OVERRIDE_WAIVER=<absolute path to waiver doc>`
9
- *
10
- * The waiver file must exist and contain `cap-waiver: true` (YAML front-matter
11
- * or a plain line in the file).
4
+ * Enforces a hard cap (default: 10, or the owner's sealed
5
+ * `evidence.overrideCapPerSession`, T13787) on how many times
6
+ * `CLEO_OWNER_OVERRIDE` may be used within a single session. Above the cap the
7
+ * call is rejected with `E_OVERRIDE_CAP_EXCEEDED`. The former
8
+ * `CLEO_OWNER_OVERRIDE_WAIVER` file no longer lifts the cap (T13787): any agent
9
+ * could write one; a set waiver is ignored and audited.
12
10
  *
13
11
  * The running count is persisted in
14
12
  * `.cleo/audit/session-override-count.<sessionId>.json` so it survives across
@@ -32,6 +30,7 @@
32
30
  import { existsSync, mkdirSync, readFileSync, rmSync, writeFileSync } from 'node:fs';
33
31
  import { dirname, join } from 'node:path';
34
32
  import { BRANCH_LOCK_ERROR_CODES } from '@cleocode/contracts/branch-lock.js';
33
+ import { appendOwnerOverrideAudit, isTtyPresent } from './owner-override-auth.js';
35
34
  // ---------------------------------------------------------------------------
36
35
  // Constants
37
36
  // ---------------------------------------------------------------------------
@@ -42,6 +41,15 @@ import { BRANCH_LOCK_ERROR_CODES } from '@cleocode/contracts/branch-lock.js';
42
41
  * workers that each re-verify, so the original 3 was too low.
43
42
  */
44
43
  export const DEFAULT_OVERRIDE_CAP_PER_SESSION = 10;
44
+ /**
45
+ * The per-project setting that replaces the default cap (T13787). Only the
46
+ * owner path in `override-cap-setting.ts` may change it.
47
+ */
48
+ export const OVERRIDE_CAP_SETTING = 'evidence.overrideCapPerSession';
49
+ /** The largest cap the owner may set; a larger value is clamped to it (T13787). */
50
+ export const MAX_OVERRIDE_CAP_PER_SESSION = 100;
51
+ /** The owner command that changes the cap, named in every refusal (T13787). */
52
+ export const OVERRIDE_CAP_OWNER_COMMAND = `cleo config set ${OVERRIDE_CAP_SETTING} <n>`;
45
53
  /**
46
54
  * Canonical worktree path segment used to detect worktree-orchestrate context
47
55
  * (T1504 / ADR-059 §D3).
@@ -169,54 +177,11 @@ export function clearSessionOverrideCount(projectRoot, sessionId) {
169
177
  // Non-fatal — clearing the counter file must never block session end.
170
178
  }
171
179
  }
172
- // ---------------------------------------------------------------------------
173
- // Waiver validation
174
- // ---------------------------------------------------------------------------
175
- /**
176
- * Validate that a waiver document exists and contains the required marker.
177
- *
178
- * The waiver file must:
179
- * 1. Exist at the absolute path specified by `CLEO_OWNER_OVERRIDE_WAIVER`.
180
- * 2. Contain the string `cap-waiver: true` (any position in the file).
181
- *
182
- * @param waiverPath - Absolute path to the waiver document.
183
- * @returns `{ valid: true }` when the waiver is accepted, or
184
- * `{ valid: false, reason: string }` when it is rejected.
185
- *
186
- * @task T1501
187
- */
188
- export function validateWaiverDoc(waiverPath) {
189
- if (!waiverPath) {
190
- return { valid: false, reason: 'CLEO_OWNER_OVERRIDE_WAIVER is empty' };
191
- }
192
- if (!existsSync(waiverPath)) {
193
- return {
194
- valid: false,
195
- reason: `Waiver document not found at: ${waiverPath}`,
196
- };
197
- }
198
- let content;
199
- try {
200
- content = readFileSync(waiverPath, 'utf-8');
201
- }
202
- catch (err) {
203
- const msg = err instanceof Error ? err.message : String(err);
204
- return { valid: false, reason: `Cannot read waiver document: ${msg}` };
205
- }
206
- if (!content.includes('cap-waiver: true')) {
207
- return {
208
- valid: false,
209
- reason: "Waiver document must contain 'cap-waiver: true' (YAML front-matter or plain line). " +
210
- `File: ${waiverPath}`,
211
- };
212
- }
213
- return { valid: true };
214
- }
215
180
  /**
216
181
  * Check and enforce the per-session CLEO_OWNER_OVERRIDE cap.
217
182
  *
218
- * Reads the persisted count, checks it against the cap, validates the waiver
219
- * doc when required, increments the count on success, and returns the ordinal.
183
+ * Reads the persisted count, checks it against the cap, increments the count
184
+ * on success, and returns the ordinal.
220
185
  *
221
186
  * ## Worktree-context exemption (T1504 / ADR-059 §D3)
222
187
  *
@@ -226,7 +191,8 @@ export function validateWaiverDoc(waiverPath) {
226
191
  *
227
192
  * @param projectRoot - Absolute path to the project root.
228
193
  * @param sessionId - Active session ID ("global" when no session is active).
229
- * @param cap - Maximum overrides allowed per session (default: 10).
194
+ * @param cap - Maximum overrides allowed per session (default: 10); callers pass
195
+ * the project's owner setting from `resolveOverrideCap` (T13787).
230
196
  * @param command - CLI command string used for worktree-context detection (optional).
231
197
  * @returns `OverrideCapResult` indicating whether the override is permitted.
232
198
  *
@@ -256,22 +222,32 @@ export function checkAndIncrementOverrideCap(projectRoot, sessionId, cap = DEFAU
256
222
  writeSessionOverrideCount(projectRoot, sessionId, ordinal);
257
223
  return { allowed: true, sessionOverrideOrdinal: ordinal };
258
224
  }
259
- // Above cap — check for waiver.
225
+ // T13787: the waiver file is gone — any agent could write one, a back door
226
+ // around a cap only the owner may raise. A set waiver is ignored, and audited.
260
227
  const waiverPath = (process.env['CLEO_OWNER_OVERRIDE_WAIVER'] ?? '').trim();
261
- const waiver = validateWaiverDoc(waiverPath);
262
- if (!waiver.valid) {
263
- return {
264
- allowed: false,
265
- errorCode: BRANCH_LOCK_ERROR_CODES.E_OVERRIDE_CAP_EXCEEDED,
266
- errorMessage: `Per-session CLEO_OWNER_OVERRIDE cap exceeded: ${current} of ${cap} overrides used. ` +
267
- `To proceed above the cap, set CLEO_OWNER_OVERRIDE_WAIVER=<path> to a file containing ` +
268
- `'cap-waiver: true'. ` +
269
- (waiver.reason ? `Waiver rejected: ${waiver.reason}` : ''),
270
- };
271
- }
272
- // Waiver accepted — permit and increment beyond cap.
273
- const ordinal = current + 1;
274
- writeSessionOverrideCount(projectRoot, sessionId, ordinal);
275
- return { allowed: true, sessionOverrideOrdinal: ordinal };
228
+ if (waiverPath)
229
+ appendOwnerOverrideAudit(projectRoot, {
230
+ timestamp: new Date().toISOString(),
231
+ taskId: '*',
232
+ gate: OVERRIDE_CAP_SETTING,
233
+ action: 'override-waiver-ignored',
234
+ agent_id: process.env['CLEO_AGENT_ID'] ?? 'unknown',
235
+ session_id: sessionId,
236
+ token_validated: false,
237
+ tty_present: isTtyPresent(),
238
+ override_count: current,
239
+ reason: `CLEO_OWNER_OVERRIDE_WAIVER=${waiverPath} no longer lifts the cap (removed by T13787)`,
240
+ pid: process.pid,
241
+ setting: OVERRIDE_CAP_SETTING,
242
+ });
243
+ return {
244
+ allowed: false,
245
+ errorCode: BRANCH_LOCK_ERROR_CODES.E_OVERRIDE_CAP_EXCEEDED,
246
+ errorMessage: `Per-session CLEO_OWNER_OVERRIDE cap exceeded: ${current} of ${cap} overrides used ` +
247
+ `(${OVERRIDE_CAP_SETTING} = ${cap}). Only the owner can raise it, with ` +
248
+ `\`${OVERRIDE_CAP_OWNER_COMMAND}\` in an interactive terminal, in a session started ` +
249
+ `with \`cleo session start --scope global --name owner --owner-auth\` (T13787). ` +
250
+ `CLEO_OWNER_OVERRIDE_WAIVER no longer lifts the cap.`,
251
+ };
276
252
  }
277
253
  //# sourceMappingURL=override-cap.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"override-cap.js","sourceRoot":"","sources":["../../src/security/override-cap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACrF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAE7E,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,EAAE,CAAC;AAEnD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,aAAa,CAAC;AAEnD;;;;;;;GAOG;AACH,MAAM,UAAU,0BAA0B;IACxC,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACtF,uDAAuD;IACvD,OAAO,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,OAAO,CAAC;AACxC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,OAAO,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;AACjD,CAAC;AAED,8EAA8E;AAC9E,sBAAsB;AACtB,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,MAAM,UAAU,2BAA2B,CAAC,WAAmB,EAAE,SAAiB;IAChF,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;IACzD,OAAO,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,0BAA0B,MAAM,OAAO,CAAC,CAAC;AACtF,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,wBAAwB,CAAC,WAAmB,EAAE,SAAiB;IAC7E,MAAM,IAAI,GAAG,2BAA2B,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACjE,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACxC,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,IACE,OAAO,MAAM,KAAK,QAAQ;YAC1B,MAAM,KAAK,IAAI;YACf,OAAO,IAAI,MAAM;YACjB,OAAQ,MAAkC,CAAC,OAAO,CAAC,KAAK,QAAQ,EAChE,CAAC;YACD,OAAQ,MAA4B,CAAC,KAAK,CAAC;QAC7C,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,yCAAyC;IAC3C,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,yBAAyB,CACvC,WAAmB,EACnB,SAAiB,EACjB,KAAa;IAEb,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,2BAA2B,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QACjE,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9C,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE;YAC7F,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,uDAAuD;IACzD,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,yBAAyB,CAAC,WAAmB,EAAE,SAAiB;IAC9E,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,2BAA2B,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QACjE,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,sEAAsE;IACxE,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,iBAAiB,CAAC,UAAkB;IAClD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,qCAAqC,EAAE,CAAC;IACzE,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,iCAAiC,UAAU,EAAE;SACtD,CAAC;IACJ,CAAC;IAED,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,gCAAgC,GAAG,EAAE,EAAE,CAAC;IACzE,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC1C,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,MAAM,EACJ,qFAAqF;gBACrF,SAAS,UAAU,EAAE;SACxB,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACzB,CAAC;AAyBD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,4BAA4B,CAC1C,WAAmB,EACnB,SAAiB,EACjB,MAAc,gCAAgC,EAC9C,OAAgB;IAEhB,uEAAuE;IACvE,yEAAyE;IACzE,mFAAmF;IACnF,IAAI,OAAO,KAAK,SAAS,IAAI,0BAA0B,EAAE,IAAI,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;QACxF,sEAAsE;QACtE,qEAAqE;QACrE,2EAA2E;QAC3E,MAAM,OAAO,GAAG,wBAAwB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QACjE,OAAO;YACL,OAAO,EAAE,IAAI;YACb,sBAAsB,EAAE,OAAO,GAAG,CAAC,EAAE,oCAAoC;YACzE,eAAe,EAAE,IAAI;SACtB,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,wBAAwB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAEjE,IAAI,OAAO,GAAG,GAAG,EAAE,CAAC;QAClB,qCAAqC;QACrC,MAAM,OAAO,GAAG,OAAO,GAAG,CAAC,CAAC;QAC5B,yBAAyB,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAC3D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,CAAC;IAC5D,CAAC;IAED,gCAAgC;IAChC,MAAM,UAAU,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5E,MAAM,MAAM,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAE7C,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,SAAS,EAAE,uBAAuB,CAAC,uBAAuB;YAC1D,YAAY,EACV,iDAAiD,OAAO,OAAO,GAAG,mBAAmB;gBACrF,uFAAuF;gBACvF,sBAAsB;gBACtB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,oBAAoB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7D,CAAC;IACJ,CAAC;IAED,qDAAqD;IACrD,MAAM,OAAO,GAAG,OAAO,GAAG,CAAC,CAAC;IAC5B,yBAAyB,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAC3D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,CAAC;AAC5D,CAAC"}
1
+ {"version":3,"file":"override-cap.js","sourceRoot":"","sources":["../../src/security/override-cap.ts"],"names":[],"mappings":"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"}
@@ -56,6 +56,64 @@ export declare function deriveOwnerAuthToken(sessionId: string, password: string
56
56
  * @task T1123
57
57
  */
58
58
  export declare function verifyOwnerAuthToken(callerToken: string, storedToken: string): boolean;
59
+ /**
60
+ * The owner mark of `cleo session start --owner` (T13790), stored in
61
+ * `sessions.owner_auth_token`: alone, or as `<mark>|<verifier>` when the
62
+ * session was also started with `--owner-auth`. Password-free; only the
63
+ * interactive session start writes it.
64
+ */
65
+ export declare const OWNER_SESSION_MARK = "owner-mark$v1";
66
+ /**
67
+ * Whether a stored `sessions.owner_auth_token` carries the owner mark
68
+ * ({@link OWNER_SESSION_MARK}); an `--owner-auth` verifier alone does not.
69
+ *
70
+ * @param stored - The stored value, or null.
71
+ * @returns True for an owner-marked session.
72
+ * @task T13790
73
+ */
74
+ export declare function isOwnerSessionMark(stored: string | null | undefined): boolean;
75
+ /**
76
+ * Why this process may not mark its session as the owner's, or null (T13790):
77
+ * `cleo session start --owner` is password-free, so it is refused when any
78
+ * `CLEO_AGENT_ROLE` is set or stdin/stderr are not an interactive terminal.
79
+ *
80
+ * @param env - Process env.
81
+ * @returns The refusal, or null when the mark may be set.
82
+ * @task T13790
83
+ */
84
+ export declare function ownerMarkRefusal(env?: NodeJS.ProcessEnv): string | null;
85
+ /**
86
+ * scrypt cost for the owner-auth password (T13787 review MEDIUM 4): ~0.1 s per
87
+ * guess, against ~1M/s for the bare HMAC token it replaces.
88
+ */
89
+ export declare const OWNER_SCRYPT_PARAMS: {
90
+ readonly N: number;
91
+ readonly r: 8;
92
+ readonly p: 1;
93
+ readonly maxmem: number;
94
+ };
95
+ /**
96
+ * A slow verifier for the owner-auth password, stored in
97
+ * `sessions.owner_auth_token` by `cleo session start --owner-auth` in place of
98
+ * the bare `HMAC(password, name)` (T13787): `scrypt$v1$<salt>$<hash>`.
99
+ *
100
+ * @param password - The password the owner typed.
101
+ * @returns The verifier record.
102
+ * @task T13787
103
+ */
104
+ export declare function createOwnerAuthVerifier(password: string): string;
105
+ /**
106
+ * Whether `password` matches a session's stored owner-auth record: a
107
+ * {@link createOwnerAuthVerifier} verifier, or a legacy `HMAC(password, name)`
108
+ * token from sessions started before T13787.
109
+ *
110
+ * @param password - The password typed now.
111
+ * @param stored - `sessions.owner_auth_token`.
112
+ * @param sessionName - The session's name (the legacy HMAC key).
113
+ * @returns True when it matches.
114
+ * @task T13787
115
+ */
116
+ export declare function verifyOwnerAuthPassword(password: string, stored: string, sessionName: string): boolean;
59
117
  /**
60
118
  * Check that stdin and stderr are both connected to a TTY.
61
119
  *
@@ -1 +1 @@
1
- {"version":3,"file":"owner-override-auth.d.ts","sourceRoot":"","sources":["../../src/security/owner-override-auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAMH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAqBpE;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAe9C;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEhF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAatF;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAEtC;AASD;;;GAGG;AACH,eAAO,MAAM,gCAAgC,IAAI,CAAC;AAElD;;;;;;;;;GASG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,MAAM,EACjB,aAAa,GAAE,MAAyC,GACvD,OAAO,CAKT;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAE1D;AAMD;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,wBAAwB,GAC/B,IAAI,CAQN;AAMD;;;;;;;;;;;GAWG;AACH,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,wBAAwB,GAC/B,OAAO,CAAC,OAAO,CAAC,CAelB;AAMD,4CAA4C;AAC5C,MAAM,WAAW,wBAAwB;IACvC,yCAAyC;IACzC,OAAO,EAAE,OAAO,CAAC;IACjB,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,GAAG,wBAAwB,CAsD3B"}
1
+ {"version":3,"file":"owner-override-auth.d.ts","sourceRoot":"","sources":["../../src/security/owner-override-auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAMH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAqBpE;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAe9C;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEhF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAatF;AAED;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,kBAAkB,CAAC;AAElD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAE7E;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,GAAG,IAAI,CAMpF;AAKD;;;GAGG;AACH,eAAO,MAAM,mBAAmB;;;;;CAAgE,CAAC;AAEjG;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAIhE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAClB,OAAO,CAqBT;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAEtC;AASD;;;GAGG;AACH,eAAO,MAAM,gCAAgC,IAAI,CAAC;AAElD;;;;;;;;;GASG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,MAAM,EACjB,aAAa,GAAE,MAAyC,GACvD,OAAO,CAKT;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAE1D;AAMD;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,wBAAwB,GAC/B,IAAI,CAQN;AAMD;;;;;;;;;;;GAWG;AACH,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,wBAAwB,GAC/B,OAAO,CAAC,OAAO,CAAC,CAelB;AAMD,4CAA4C;AAC5C,MAAM,WAAW,wBAAwB;IACvC,yCAAyC;IACzC,OAAO,EAAE,OAAO,CAAC;IACjB,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,GAAG,wBAAwB,CAsD3B"}
@@ -15,7 +15,7 @@
15
15
  * @task T1123
16
16
  * @adr ADR-055
17
17
  */
18
- import { createHmac } from 'node:crypto';
18
+ import { createHmac, randomBytes, scryptSync, timingSafeEqual } from 'node:crypto';
19
19
  import { appendFileSync, mkdirSync } from 'node:fs';
20
20
  import { dirname } from 'node:path';
21
21
  import { BRANCH_LOCK_ERROR_CODES } from '@cleocode/contracts/branch-lock.js';
@@ -104,6 +104,87 @@ export function verifyOwnerAuthToken(callerToken, storedToken) {
104
104
  }
105
105
  return diff === 0;
106
106
  }
107
+ /**
108
+ * The owner mark of `cleo session start --owner` (T13790), stored in
109
+ * `sessions.owner_auth_token`: alone, or as `<mark>|<verifier>` when the
110
+ * session was also started with `--owner-auth`. Password-free; only the
111
+ * interactive session start writes it.
112
+ */
113
+ export const OWNER_SESSION_MARK = 'owner-mark$v1';
114
+ /**
115
+ * Whether a stored `sessions.owner_auth_token` carries the owner mark
116
+ * ({@link OWNER_SESSION_MARK}); an `--owner-auth` verifier alone does not.
117
+ *
118
+ * @param stored - The stored value, or null.
119
+ * @returns True for an owner-marked session.
120
+ * @task T13790
121
+ */
122
+ export function isOwnerSessionMark(stored) {
123
+ return stored === OWNER_SESSION_MARK || (stored ?? '').startsWith(`${OWNER_SESSION_MARK}|`);
124
+ }
125
+ /**
126
+ * Why this process may not mark its session as the owner's, or null (T13790):
127
+ * `cleo session start --owner` is password-free, so it is refused when any
128
+ * `CLEO_AGENT_ROLE` is set or stdin/stderr are not an interactive terminal.
129
+ *
130
+ * @param env - Process env.
131
+ * @returns The refusal, or null when the mark may be set.
132
+ * @task T13790
133
+ */
134
+ export function ownerMarkRefusal(env = process.env) {
135
+ if ((env['CLEO_AGENT_ROLE'] ?? '').trim() !== '')
136
+ return `--owner is refused: CLEO_AGENT_ROLE is set (${env['CLEO_AGENT_ROLE']}); only the owner, in their own terminal, marks a session.`;
137
+ if (!isTtyPresent())
138
+ return '--owner is refused: stdin and stderr must be an interactive terminal; only the owner, in their own terminal, marks a session.';
139
+ return null;
140
+ }
141
+ /** Prefix of a {@link createOwnerAuthVerifier} record. */
142
+ const VERIFIER_PREFIX = 'scrypt$v1$';
143
+ /**
144
+ * scrypt cost for the owner-auth password (T13787 review MEDIUM 4): ~0.1 s per
145
+ * guess, against ~1M/s for the bare HMAC token it replaces.
146
+ */
147
+ export const OWNER_SCRYPT_PARAMS = { N: 2 ** 15, r: 8, p: 1, maxmem: 64 * 1024 * 1024 };
148
+ /**
149
+ * A slow verifier for the owner-auth password, stored in
150
+ * `sessions.owner_auth_token` by `cleo session start --owner-auth` in place of
151
+ * the bare `HMAC(password, name)` (T13787): `scrypt$v1$<salt>$<hash>`.
152
+ *
153
+ * @param password - The password the owner typed.
154
+ * @returns The verifier record.
155
+ * @task T13787
156
+ */
157
+ export function createOwnerAuthVerifier(password) {
158
+ const salt = randomBytes(16);
159
+ const hash = scryptSync(password, salt, 32, OWNER_SCRYPT_PARAMS);
160
+ return `${VERIFIER_PREFIX}${salt.toString('hex')}$${hash.toString('hex')}`;
161
+ }
162
+ /**
163
+ * Whether `password` matches a session's stored owner-auth record: a
164
+ * {@link createOwnerAuthVerifier} verifier, or a legacy `HMAC(password, name)`
165
+ * token from sessions started before T13787.
166
+ *
167
+ * @param password - The password typed now.
168
+ * @param stored - `sessions.owner_auth_token`.
169
+ * @param sessionName - The session's name (the legacy HMAC key).
170
+ * @returns True when it matches.
171
+ * @task T13787
172
+ */
173
+ export function verifyOwnerAuthPassword(password, stored, sessionName) {
174
+ // T13790: an owner-marked session stores `<mark>|<verifier>`; a bare mark has no password.
175
+ if (stored.startsWith(`${OWNER_SESSION_MARK}|`))
176
+ return verifyOwnerAuthPassword(password, stored.slice(OWNER_SESSION_MARK.length + 1), sessionName);
177
+ if (stored === OWNER_SESSION_MARK)
178
+ return false;
179
+ if (!stored.startsWith(VERIFIER_PREFIX))
180
+ return verifyOwnerAuthToken(deriveOwnerAuthToken(sessionName, password), stored);
181
+ const [saltHex, hashHex] = stored.slice(VERIFIER_PREFIX.length).split('$');
182
+ if (!saltHex || !hashHex)
183
+ return false;
184
+ const expected = Buffer.from(hashHex, 'hex');
185
+ const actual = scryptSync(password, Buffer.from(saltHex, 'hex'), expected.length, OWNER_SCRYPT_PARAMS);
186
+ return expected.length === actual.length && timingSafeEqual(expected, actual);
187
+ }
107
188
  // ---------------------------------------------------------------------------
108
189
  // L4c — TTY requirement
109
190
  // ---------------------------------------------------------------------------
@@ -1 +1 @@
1
- {"version":3,"file":"owner-override-auth.js","sourceRoot":"","sources":["../../src/security/owner-override-auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAE7E,8EAA8E;AAC9E,+BAA+B;AAC/B,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,MAAM,oBAAoB,GAAuB,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAEhF,+DAA+D;AAC/D,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;AAEzE;;;;;;;;;;GAUG;AACH,MAAM,UAAU,oBAAoB;IAClC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAEnD,wEAAwE;IACxE,IAAI,oBAAoB,IAAI,wBAAwB,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,CAAC;QAC/E,OAAO,IAAI,CAAC;IACd,CAAC;IAED,4EAA4E;IAC5E,sDAAsD;IACtD,IAAI,oBAAoB,KAAK,WAAW,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,8EAA8E;AAC9E,2BAA2B;AAC3B,8EAA8E;AAE9E;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,oBAAoB,CAAC,SAAiB,EAAE,QAAgB;IACtE,OAAO,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACxE,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,oBAAoB,CAAC,WAAmB,EAAE,WAAmB;IAC3E,IAAI,WAAW,CAAC,MAAM,KAAK,WAAW,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAE5D,gDAAgD;IAChD,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC5C,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC5C,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAExC,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,IAAI,KAAK,CAAC,CAAC;AACpB,CAAC;AAED,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E;;;;;;;;;;GAUG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACvE,CAAC;AAED,8EAA8E;AAC9E,2BAA2B;AAC3B,8EAA8E;AAE9E,sDAAsD;AACtD,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAkB,CAAC;AAEzD;;;GAGG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAC;AAElD;;;;;;;;;GASG;AACH,MAAM,UAAU,2BAA2B,CACzC,SAAiB,EACjB,gBAAwB,gCAAgC;IAExD,MAAM,OAAO,GAAG,sBAAsB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC3D,IAAI,OAAO,IAAI,aAAa;QAAE,OAAO,KAAK,CAAC;IAC3C,sBAAsB,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;IACnD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAAiB;IAChD,OAAO,sBAAsB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AACpD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAiB;IAClD,sBAAsB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAC3C,CAAC;AAED,8EAA8E;AAC9E,yBAAyB;AACzB,8EAA8E;AAE9E;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,wBAAwB,CACtC,WAAmB,EACnB,MAAgC;IAEhC,MAAM,UAAU,GAAG,GAAG,WAAW,iCAAiC,CAAC;IACnE,IAAI,CAAC;QACH,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACpD,cAAc,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IACnF,CAAC;IAAC,MAAM,CAAC;QACP,2DAA2D;IAC7D,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,kCAAkC;AAClC,8EAA8E;AAE9E;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,UAAkB,EAClB,MAAgC;IAEhC,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC;QAC5D,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE;YACnC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,GAAG,MAAM,EAAE,CAAC;YAC5D,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC,CAAC;QACH,YAAY,CAAC,OAAO,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC,EAAE,CAAC;IACjB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAgBD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAOrC;IACC,oBAAoB;IACpB,IAAI,oBAAoB,EAAE,EAAE,CAAC;QAC3B,OAAO;YACL,OAAO,EAAE,KAAK;YACd,SAAS,EAAE,uBAAuB,CAAC,+BAA+B;YAClE,YAAY,EACV,gEAAgE;gBAChE,oEAAoE;SACvE,CAAC;IACJ,CAAC;IAED,yBAAyB;IACzB,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;QAC1C,OAAO;YACL,OAAO,EAAE,KAAK;YACd,SAAS,EAAE,uBAAuB,CAAC,oBAAoB;YACvD,YAAY,EACV,wCAAwC;gBACxC,0FAA0F;SAC7F,CAAC;IACJ,CAAC;IAED,iCAAiC;IACjC,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QAC3D,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;QAC3C,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YACzD,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,SAAS,EAAE,uBAAuB,CAAC,wBAAwB;gBAC3D,YAAY,EACV,8DAA8D;oBAC9D,8DAA8D;aACjE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,oBAAoB;IACpB,MAAM,WAAW,GAAG,2BAA2B,CAC7C,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,aAAa,IAAI,gCAAgC,CACvD,CAAC;IACF,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/C,OAAO;YACL,OAAO,EAAE,KAAK;YACd,SAAS,EAAE,uBAAuB,CAAC,qBAAqB;YACxD,YAAY,EACV,iCAAiC,KAAK,OAAO,IAAI,CAAC,aAAa,IAAI,gCAAgC,GAAG;gBACtG,+DAA+D;SAClE,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"owner-override-auth.js","sourceRoot":"","sources":["../../src/security/owner-override-auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Who may use `CLEO_OWNER_OVERRIDE=1` (T13790, owner decision 2026-10-16).
3
+ *
4
+ * The override stays an env var with no password prompt of its own, but it is
5
+ * honoured only for the owner:
6
+ * 1. **Role fence** (T1118 L4b): a process whose `CLEO_AGENT_ROLE` was
7
+ * `worker`, `lead` or `subagent` at bootstrap, or changed since, is refused.
8
+ * 2. **Owner-marked session**: the bound session was started interactively
9
+ * with `cleo session start --scope global --name <n> --owner` — no
10
+ * password (owner decision: lighter), but refused unless stdin and stderr
11
+ * are a terminal and no `CLEO_AGENT_ROLE` is set ({@link ownerMarkRefusal}).
12
+ * No env var marks a session as the owner's, so a parent cannot hand the
13
+ * mark down. An agent session with no `CLEO_AGENT_ROLE` is therefore
14
+ * fenced like a worker: it has no mark. (`--owner-auth` and its password
15
+ * are only for the T13787 cap enrollment; they do not mark a session.)
16
+ * 3. **The owner's own terminal**: the override call itself runs on a TTY
17
+ * (stdin and stderr). An agent spawned from the owner's session binds to
18
+ * that same session (it inherits the harness session id or
19
+ * `CLEO_SESSION_ID`), but its tool shell has no TTY, so it is not the owner
20
+ * by default.
21
+ * Every refusal is appended to `.cleo/audit/force-bypass.jsonl`.
22
+ *
23
+ * Limits: these are same-OS-user checks. They fence default and accidental
24
+ * agent use; a process that emulates a terminal (`script`, `expect`) can mark a
25
+ * session and pass the TTY check, and a process that writes the session row
26
+ * directly is not stopped. The owner accepted that trade-off for a
27
+ * password-free switch.
28
+ *
29
+ * @task T13790
30
+ */
31
+ /** How the owner marks a session, named in every refusal. */
32
+ export declare const OWNER_SESSION_COMMAND = "cleo session start --scope global --name owner --owner";
33
+ export { ownerMarkRefusal } from './owner-override-auth.js';
34
+ /** Whether `CLEO_OWNER_OVERRIDE` asks for an override. */
35
+ export declare function isOwnerOverrideRequested(env?: NodeJS.ProcessEnv): boolean;
36
+ /** What {@link resolveOwnerOverride} decided. */
37
+ export type OwnerOverrideAuthority = {
38
+ requested: false;
39
+ } | {
40
+ requested: true;
41
+ allowed: true;
42
+ /** `CLEO_OWNER_OVERRIDE_REASON`, or `unspecified`. */
43
+ reason: string;
44
+ /** The owner-marked session. */
45
+ sessionId: string;
46
+ } | {
47
+ requested: true;
48
+ allowed: false;
49
+ code: string;
50
+ message: string;
51
+ };
52
+ /**
53
+ * Decide whether this process may use `CLEO_OWNER_OVERRIDE=1` (see the module
54
+ * doc), auditing a refusal.
55
+ *
56
+ * @param projectRoot - Project root (session store and audit log).
57
+ * @param opts - The surface asking (named in the audit line), and the session
58
+ * the caller already resolved; otherwise the bound session is resolved.
59
+ * @returns Not requested, allowed with the reason, or refused with why.
60
+ * @task T13790
61
+ */
62
+ export declare function resolveOwnerOverride(projectRoot: string, opts: {
63
+ surface: string;
64
+ taskId?: string;
65
+ sessionId?: string | null;
66
+ }): Promise<OwnerOverrideAuthority>;
67
+ //# sourceMappingURL=owner-override-authority.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"owner-override-authority.d.ts","sourceRoot":"","sources":["../../src/security/owner-override-authority.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAUH,6DAA6D;AAC7D,eAAO,MAAM,qBAAqB,2DAA2D,CAAC;AAE9F,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,0DAA0D;AAC1D,wBAAgB,wBAAwB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAGtF;AAED,iDAAiD;AACjD,MAAM,MAAM,sBAAsB,GAC9B;IAAE,SAAS,EAAE,KAAK,CAAA;CAAE,GACpB;IACE,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,IAAI,CAAC;IACd,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAC;IACf,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAC;CACnB,GACD;IAAE,SAAS,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvE;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CACxC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GACpE,OAAO,CAAC,sBAAsB,CAAC,CAwDjC"}